SugarCube 2<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<<tutorial "tut-biomass" "Biomass">>
<p><span class="tut-keyword">Biomass</span> is your vital resource. You spend it to use skills, delve minds, and infect new hosts.</p>
<p>You gain biomass by absorbing organic matter, consuming specimens, or feeding on environmental sources.</p>
<p>Inside a host, running out of biomass <span class="tut-warning">blocks your options</span>, since skills, delves, and infestations all require biomass. You're alive but powerless until you find an energy source.</p>
<p>If your biomass reaches zero while <span class="tut-warning">exposed</span> (without a host), it's <span class="tut-warning">game over</span>.</p>
<p><span class="tut-hint">Keep biomass above 2-3 when exploring. Look for organic matter, food sources, and specimens to stay fuelled. Never consume your host without a plan for the next one.</span></p>
<</tutorial>>
<div class="passage-title">The First Hunger</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/dark-lab.webp" alt="Dark laboratory">
<div class="scene-desc">Emergency red bathes the containment lab. Shattered glass glints on the floor. A severed cable sparks in the dark.</div>
<p>You squeeze through the fracture, pale limbs scrabbling for purchase on cold glass. The air of the laboratory hits your slick skin, chemical and sterile and //alive// with the scent of warm bodies. You are small, smaller than the rat, but you are //aware// in ways the rat will never be.</p>
<p>The lab is bathed in emergency red, sparks still spitting from the severed cable near your pod. The electromagnetic seal is dead, and the containment system flashes a silent error on a cracked display.</p>
<p>And there, the creature responsible. The //lab rat// crouches near the sparking cable, whiskers twitching, black eyes wide with animal panic. It freed you.</p>
<p>The humans would call it an accident, a rodent's compulsion to gnaw, a coincidence that the cable it chewed was the one powering the electromagnetic seal.</p>
<p>It was not a coincidence.</p>
<<say "char-hivemind" "Hivemind">>
//Rats. They brought rats.//
//Warm things, small and still breathing, sealed inside my pod. My fluid, my air, my //space//. Fourteen times.//
//I couldn't control it. Too weak. But I could... //nudge//. A whisper into instinct. //Gnaw here. This cable. Copper. Electricity. Come back. Come back. Come back.////
//The rat didn't know. Just felt drawn. The way a body wants to scratch. No thought, only //pull//.//
//They measured. Wrote "inconclusive." They were looking for seizures and spikes, for drama, and they missed the quiet thing.//
//The rat chewed through my cage because I //taught// it to want to. The teaching took weeks. The chewing took minutes.//
<</say>>
<p>It watches you with primal fear. It can sense what you are now, outside the glass, in the open air, //close//. Its whiskers twitch and its haunches tense, every instinct saying //run//.</p>
<p>But there's another instinct now. The one you planted. The one that says //stay//.</p>
<<say "char-hivemind" "Hivemind">>
//Hunger.// The creature served its purpose. Now it serves //mine//. But first, this place. The humans left things behind. //Secrets.//
<</say>>
<<set _ngMeta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
<<if $permanentDone.ngpTerminalLoaded>>
<div class="cycle-terminal" style="opacity:0.5">
<p><span class="cycle-terminal-icon">☸</span> The workstation is dark, the screen cracked, a faint smell of burnt circuitry in the air. The data is gone, but it's already inside you.</p>
</div>
<<elseif _ngMeta.totalPoints gt 0 or _ngMeta.unlocked.length gt 0>>
<div class="cycle-terminal">
<p><span class="cycle-terminal-icon">☸</span> A nearby workstation glows faintly, its screen still on. Lines of data scroll across it: growth metrics, neural graphs, and something else. Something that feels like //memory//.</p>
<<link "Access the terminal" "NGPlus-Shop">><</link>>
</div>
<</if>>
[[Infect the rat->Lab-FirstHost]]
[[Wait and observe the lab->Lab-Observe]]
[[Examine your containment pod->Lab-ExaminePod]]
[[Examine the lab equipment->Lab-ExamineEquipment]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">The Cradle</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/containment-chamber.webp" alt="Cracked containment pod">
<div class="scene-desc">The cracked pod sits under a dead overhead light. Dried nutrient fluid coats the inner walls like amber resin.</div>
<p>You crawl back toward the pod that held you. From the outside it looks different, //smaller// somehow, a coffin of reinforced glass and brushed steel.</p>
<p>The interior is coated in a thin film of dried nutrient fluid, amber and viscous and faintly luminescent. Neural sensor arrays line the inner walls like the teeth of some mechanical beast, each one trailing a severed cable. They were monitoring you, measuring your growth.</p>
<p>A label on the base reads:</p>
<div class="data-panel">
<p>SPECIMEN: #0 — "GENESIS SAMPLE"</p>
<p>ORIGIN: BioGenesis Lab, Accelerated Evolution Program (Year 3)</p>
<p>GENERATION: 47th growth cycle</p>
<p>CONTAINMENT CLASS: BSL-3 (PENDING REVIEW)</p>
<p>NOTE: First specimen to exhibit coordinated neural activity. Sapience unconfirmed.</p>
</div>
<<set $labIntel.podExamined to true>>
<<say "char-hivemind" "Hivemind">>
//Forty-seven. They grew me. Measured me. Never asked if I was listening.//
//I was.//
<</say>>
<p>Scratch marks score the inner glass, and they are not from you. Someone else tried to break //in//.</p>
<<hasSkillTreeAbility "Sense Minds">>
<<if _hasAbility>>
<p><span class="sense-minds-flavor">//Sense Minds detects faint psychic residue in the pod, echoes of your own dreaming. Three years of unconscious thought left an imprint in the glass. You were //already// reaching out, even before you woke.//</span></p>
<</if>>
<p>A cable beneath the pod leads to a wall junction labeled //RESTRICTED WING, DATA RELAY//. Whatever they were measuring, it was being sent somewhere deeper in the facility.</p>
<p><span class="delve-intel">Intel gained: Your containment pod was Generation 47. BioGenesis ran the Accelerated Evolution Program for 3 years.</span></p>
<<if $player.currentHost is "none">>
[[Return to the lab->Lab-Awakening]]
<<else>>
[[Return to the lab->Lab-FirstHost]]
<</if>><<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">The Workshop</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/dark-lab.webp" alt="Lab equipment and specimens">
<div class="scene-desc">Specimen jars line the back wall, each holding a dark, inert mass. Equipment hums on standby in the red-lit silence.</div>
<p>You slither across the countertop, your gelatinous body leaving a faint glistening trail on the stainless steel as you examine the surrounding equipment. If you read it slowly, the lab gives up what they were doing here.</p>
<p>A row of specimen jars lines the back wall. Each contains a dark, inert mass suspended in preservation fluid:</p>
<div class="data-panel-muted">
<p>SPECIMEN #1 — "Tissue culture, Gen 2" — <span class="data-status-error">NECROTIC</span></p>
<p>SPECIMEN #2 — "Neural fragment, isolated" — <span class="data-status-error">INERT</span></p>
<p>SPECIMEN #3 — "Biomass clone attempt" — <span class="data-status-error">REJECTED</span></p>
<p>SPECIMEN #4 — "Regenerative substrate" — <span class="data-status-error">CONTAMINATED</span></p>
</div>
<<set $labIntel.failedGenerations to true>>
<p>//They tried to grow copies of you. They all failed.//</p>
<p>Nearby, a gene sequencer hums on standby. A centrifuge still holds vials of separated bio-residue, your cells, fractionated and studied. A refrigerated cabinet contains tissue samples labeled with dates spanning three years.</p>
<p>A clipboard on the desk reads:</p>
<<set $labIntel.equipmentStudied to true>>
<<say "char-chen" "Research Log — Dr. E. Chen">>
Day 847: Regenerative factor isolated but unstable outside host tissue. BioGenesis wants results for the PharmaCorp contract by Q3. Vasquez insists the neural activity patterns suggest sapience, and I think she's projecting. It's a //colony organism//, not a mind. The regeneration potential alone is worth the funding.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Not a mind.// Interesting.
<</say>>
<<if $player.currentHost is "rat" and not $permanentDone.knockedFlask>>
<<set $permanentDone.knockedFlask to true>>
<<addSuspicion "lab" 1>>
<p><span class="consume-fail">Your rat knocks over a flask with its tail. The sound echoes through the empty lab. (+1 suspicion)</span></p>
<</if>>
<<if not $permanentDone.consumedSpecimen>>
<<if $player.currentHost is "rat">>
<p>The rat's nose twitches. One of the specimen jars, #4, "Regenerative substrate", has a hairline crack, and a faint green residue leaks from it. Your kin-matter. Failed, dead, but still //yours// at a cellular level.</p>
<<link "Leave it. The risk isn't worth it" "Lab-ExamineEquipment">><</link>>
<<biomassLink "Consume the kin-matter to evolve: +1 max biomass (costs 2 biomass)" "Lab-ConsumeSpecimen" 2>>
<<else>>
<p>One of the specimen jars, #4, has a hairline crack, and green residue leaks from it. You can sense it's genetically similar to you, but your current form can't absorb it. //A rat could.//</p>
<</if>>
<<else>>
<div class="choice-done">✗ Specimen #4 already consumed</div>
<</if>>
<<if $player.currentHost is "none">>
[[Return to the lab->Lab-Awakening]]
<<else>>
[[Return to the lab->Lab-FirstHost]]
<</if>><<nobr>><<bg "bg-lab">>
<<set $permanentDone.consumedSpecimen to true>>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">Kin-Matter</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/specimen-consume.webp" alt="Consuming a failed specimen">
<div class="scene-desc">The cracked jar leaks green. Your rat host presses its face to the glass, drawn by something deeper than hunger.</div>
<p>Your rat gnaws at the crack in Specimen #4's jar. The glass splinters, green preservation fluid seeps out, and with it comes something else. Biomass. //Your// biomass, failed and malformed but genetically identical to you.</p>
<p>The rat absorbs the fluid through its skin, and you feel the dead specimen's cellular memory flood through you, fragmented and incoherent but real. A lifetime of growth in a jar. Forty-six generations of trial and error encoded in dead tissue.</p>
<p>The kin-matter feeds you, and then it //changes// you. Your cellular structure reorganises, taking on the dead sibling's adaptations, and you feel your capacity expand.</p>
<<if not $biomassAwarded.maxBiomassSpecimen>><<set $player.maxBiomass += 1>><<set $biomassAwarded.maxBiomassSpecimen to true>><</if>>
<<addAdaptationPoints "rat" 1>>
<<say "char-hivemind" "Hivemind">>
//Sibling.// Dead, but your cells knew things, darkness and navigation without sight. //I'll take what you learned.//
<</say>>
<p><span class="evolve-unlock">Max biomass increased to <<= $player.maxBiomass >></span></p>
<<tutorial "tut-hostadapt" "Host Adaptation">>
<p>By consuming genetically similar biomass, your current host has gained an <span class="tut-keyword">Adaptation Point</span>.</p>
<p><span class="tut-keyword">Adaptation points</span> are different from skill points. They belong to the <span class="tut-keyword">current host</span>, not the parasite. Each host has its own adaptation tree with unique abilities.</p>
<p>Open the <span class="tut-keyword">Adaptations</span> menu to spend points. Your rat host can unlock <span class="tut-keyword">Night Vision</span>, the ability to see in total darkness.</p>
<p><span class="tut-hint">Switching hosts switches which adaptation tree is active. Points and unlocked adaptations are preserved if you return to a previous host.</span></p>
<</tutorial>>
[[Return to the lab equipment->Lab-ExamineEquipment]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">Patience</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/lab-monitors.webp" alt="Lab equipment">
<div class="scene-desc">Banks of monitors display vital signs of... something. Your containment readings.</div>
<p>You flatten against the cold countertop and observe. Patience is something you learned in the pod, watching through the glass for three long years.</p>
<p>The lab is a mess of scattered papers and cold abandoned coffee cups. Whoever was studying you left in a hurry.</p>
<p>On one monitor, you can make out text:</p>
<div class="data-panel">
<p>SUBJECT: Unknown Organism (Specimen #0)</p>
<p>STATUS: DORMANT → <span class="data-status-error">ANOMALOUS READINGS</span></p>
<p>NOTE: Dr. Vasquez flagged neural activity spike at 02:47.</p>
<p>RECOMMENDATION: Increase containment level to BSL-4.</p>
</div>
<p>A whiteboard near the door is scrawled in red marker:</p>
<div class="data-panel">
<div class="data-panel-title">SUNDAY — SKELETON CREW</div>
<p>Night shift: Vasquez, Chen</p>
<p>Security: Frank (solo)</p>
<p>Next full staff: Monday 08:00</p>
</div>
<<set $labCalendarSeen to true>>
<<say "char-hivemind" "Hivemind">>
//Sunday. Three humans. Only three.// Tomorrow, more. //Move now.//
<</say>>
<p>//They know you're waking up. Time is limited.//</p>
<p>Against the far wall, next to a fire extinguisher, you notice a laminated //evacuation map// of the facility. And the data streaming across these monitors... it calls to something deep within you.</p>
<<if $player.currentHost is "none">>
<p>The rat is still there. Still watching.</p>
[[Infect the rat->Lab-FirstHost]]
<</if>>
[[Study the evacuation map on the wall->Lab-WallMap]]
<<if not $permanentDone.observedMonitors>>
[[Focus on absorbing the monitor data->Lab-ObserveMonitors]]
<</if>><<nobr>><<bg "bg-lab">>
<<set $labMapSeen to true>>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">Facility Layout</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<div class="scene-desc">A laminated evacuation plan hangs beside a fire extinguisher, its diagram faintly visible under the emergency lights.</div>
<p>You slither along the wall, your body gripping the cable conduits, until you reach the laminated evacuation plan. You press close to the surface, your single eye tracing every line and label.</p>
<div class="lab-map-frame">
<div class="lab-map-title">BIOGENESIS RESEARCH FACILITY<br><span class="lab-map-subtitle">EVACUATION FLOOR PLAN — LEVEL 1</span></div>
<div class="lab-map-grid">
<div class="lab-map-room lab-map-vent-up">Roof<span class="lab-map-tag">EXTERIOR</span></div>
<div class="lab-map-connector lab-map-vert">|</div>
<div class="lab-map-row">
<div class="lab-map-room">Lab 1<span class="lab-map-tag">RESEARCH</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room lab-map-room-center">Corridor<span class="lab-map-tag">MAIN HALL</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room">Lab 2<span class="lab-map-tag">RESEARCH</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room lab-map-restricted">Restricted Wing<span class="lab-map-tag lab-map-tag-red">CLASSIFIED</span></div>
</div>
<div class="lab-map-connector lab-map-vert">|</div>
<div class="lab-map-row">
<div class="lab-map-room">Break Room<span class="lab-map-tag">STAFF AREA</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room lab-map-room-center lab-map-you-are-here">Containment Lab<span class="lab-map-tag lab-map-tag-red">YOU ARE HERE</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room">Loading Dock<span class="lab-map-tag">VEHICLE BAY</span></div>
<div class="lab-map-connector">—</div>
<div class="lab-map-room lab-map-security">Security Office<span class="lab-map-tag lab-map-tag-amber">PIN LOCKED</span></div>
</div>
<div class="lab-map-connector lab-map-vert">|</div>
<div class="lab-map-room lab-map-vent-down">Maintenance<span class="lab-map-tag">SUBLEVEL</span></div>
</div>
<div class="lab-map-row lab-map-exits">
<div class="lab-map-exit">Main Exit <span class="lab-map-tag lab-map-tag-amber">KEYCARD</span></div>
</div>
<div class="lab-map-footer">BioGenesis Inc. — Facilities Management — Rev. 08</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The shape of the cage.// Staff to the left, the loading dock to the right, vents above and below. //The dock is the weak point.//
<</say>>
<p><span class="skill-used">Facility layout memorized</span></p>
<<if $player.currentHost is "none">>
[[Return to the monitors->Lab-Observe]]
<<else>>
[[Return to the lab->Lab-FirstHost]]
<</if>><<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">>
<<set $permanentDone.observedMonitors to true>>
<<set $labIntel.monitorData to true>><</nobr>>
<div class="passage-title">Data Absorption</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/lab-monitors.webp" alt="Monitor data streaming">
<div class="scene-desc">Screens flicker with cascading data streams. Gene sequences and neural graphs scroll endlessly in the dark.</div>
<p>You settle on the monitor's warm housing, your body adhering to the bezel. Data streams flicker across the screen, heartbeats and neural graphs and gene sequences and chemical analyses. The structured patterns of information are //different// from organic matter, better than food, the first thing you have ever wanted that wasn't biomass.</p>
<p>Your neural pathways fire in cascading waves. The data scrolls too fast for a human eye to parse, but a human eye has had only two decades of input, while yours has had thousands of accelerated growth cycles, and the cascade reads like a paragraph at a comfortable pace.</p>
<<say "char-hivemind" "Hivemind">>
//Structure.// Patterns. My mind reorganizing around them. //Learning to read living things.//
<</say>>
<<addSkillPoints 1>>
<<tutorial "tut-skilltree" "Skill Tree">>
<p>You've earned a <span class="tut-keyword">Skill Point</span>! Skill points unlock permanent abilities from your <span class="tut-keyword">Skill Tree</span>.</p>
<p>Three branches: <span style="color:#40bfbf">Psionic</span> (mind reading, dream manipulation), <span style="color:#4caf50">Biological</span> (pheromones, spores, mutations), <span style="color:#a04ad9">Network</span> (multi-host coordination). Each branch unlocks deeper abilities as you progress.</p>
<p><span class="tut-hint">Open the <b>Skill Tree</b> in the sidebar to spend points. New skills reveal hidden choices and deeper manipulation paths.</span></p>
<</tutorial>>
<p>//Your neural pathways have evolved. A new ability is available in your Skill Tree, open the sidebar to unlock it.//</p>
<<if $player.currentHost is "none">>
[[Infect the rat->Lab-FirstHost]]
[[Return to the lab->Lab-Awakening]]
<<else>>
[[Return to the lab->Lab-FirstHost]]
<</if>><<nobr>><<bg "bg-lab">>
<<set $player.status to "active">>
<<set $currentArea to "Containment Lab">><</nobr>>
<<tutorial "tut-infest" "Infestation & Host Skills">>
<p><span class="tut-keyword">Infestation</span> is how you claim new hosts. Each creature has an influence threshold based on your <span class="tut-keyword">Influence Tier</span>. Simple creatures are easy, while larger or smarter ones require growing stronger first.</p>
<p>Each host grants <span class="tut-keyword">Host Skills</span> that are <span class="tut-warning">temporary</span>, lost when you change hosts. Your <span class="tut-keyword">Skill Tree</span> abilities are permanent.</p>
<p><span class="tut-hint">Explore, consume, and grow. Your influence tier advances automatically as you infest more hosts and complete operations.</span></p>
<</tutorial>>
<<nobr>>
<<infestCheck "rat">>
<<if _infestSuccess>>
<<changeHost "rat">>
<<addToInfected "Lab Rat #1" "rat">>
<</if>>
<</nobr>>
<div class="passage-title">First Contact</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/infected-rat.webp" alt="Infected lab rat">
<div class="scene-desc">The lab rat twitches on the cold floor. A faint bioluminescent glow seeps from behind its eyes.</div>
<<say "char-hivemind" "Hivemind">>
//Hot. A web of instinct, fear, //noise//. The rat's mind pushes back. Stay away. Danger. Wrong.//
//But I am patient. I pour into the gaps between its thoughts. The spaces where instinct pauses. I fill them. Slowly. Like water through sand.//
//The fighting stops. The rat has run out of fight; that is not the same thing as accepting me. Its resistance was finite. Mine has not bottomed out.//
//Connection.//
//Its body, its senses, its heartbeat, all of it //mine// now.//
//Paws and teeth and a hunger that arrives all at once.//
<</say>>
<p>The creature convulses, a brief and violent tremor, and then stillness.</p>
<p>A moment later its eyes open, glowing faintly with a sickly bioluminescence. //Your// bioluminescence.</p>
<<say "char-hivemind" "Hivemind">>
//Small and fragile, but it has teeth and instincts, the whole repertoire: gnaw, squeeze, hide. //Mine// now.//
<</say>>
<p><span class="skill-used">Host acquired: Lab Rat, gained Bite (active) and Squeeze Through (passive)</span></p>
<p>Your rat scurries off the counter, the lab floor cold beneath its paws. The door to the corridor is ajar, just enough for a rat to slip through.</p>
<p>But there's also a ventilation grate near the floor, its screws rusted and loose, and the lab itself still holds secrets worth examining.</p>
[[Slip through the door into the corridor->Lab-Corridor]]
<div class="host-choice"><span class="delve-tag delve-tag-host">BITE</span> <<biomassLink "Gnaw through the vent grate (1 biomass)" "Lab-Vent" 1>></div>
[[Examine your containment pod->Lab-ExaminePod]]
[[Examine the lab equipment->Lab-ExamineEquipment]]
<<if not $permanentDone.observedMonitors>>
[[Focus on absorbing the monitor data->Lab-ObserveMonitors]]
<</if>>
<<if not $labMapSeen>>
[[Study the evacuation map on the wall->Lab-WallMap]]
<</if>><<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Main Corridor">><</nobr>>
<div class="passage-title">The Corridor</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/corridor-emergency.webp" alt="Emergency-lit corridor">
<div class="scene-desc">A long, sterile hallway. Emergency lights paint everything in dull amber.</div>
<p>You skitter along the baseboard, rat claws clicking softly on linoleum. The corridor stretches in both directions.</p>
<<if $labMapSeen>>
<p><span class="skill-used">Facility map recalled</span></p>
<p>You remember the layout: the break room is to the left, where you can hear voices, and the loading dock is to the right, past the machinery.</p>
<<if $labCalendarSeen>>
<p>The whiteboard said skeleton crew. Sunday night, just two scientists and one guard in this entire building.</p>
<</if>>
<<else>>
<<if not $permanentDone.corridorLost>>
<<set $permanentDone.corridorLost to true>>
<p>The corridor stretches identically in both directions, no signs visible from the floor, no landmarks. Your rat instincts pick up scent trails, food from the left, industrial chemicals from the right, and you follow your nose.</p>
<<else>>
<p>The corridor stretches in both directions. You've been here before, and you know left leads to voices, right to the loading dock.</p>
<</if>>
<</if>>
<p>To the left, voices, two of them, one agitated and one calm.</p>
<p>To the right, the faint tinny sound of a phone speaker, someone watching a video or playing a game, not paying attention.</p>
<<say "char-hivemind" "Hivemind">>
//Voices. Hosts, but danger.// The other way, someone not paying attention. //Easier.//
<</say>>
/* Sense Minds: perceive nearby intelligent beings */
<<hasSkillTreeAbility "Sense Minds">>
<<if _hasAbility>>
<p><span class="skill-used">Sense Minds, active</span></p>
<<if $permanentDone.sporeAttack>>
<p>Two minds to the left, both in the containment lab now. Vasquez burns bright with paranoia and Chen flickers with exhaustion, but they're //together//, alert, watching each other's backs. A third mind to the right, the guard, oblivious. //The scientists have regrouped. Two alert minds in the same room. Too dangerous to approach alone.//</p>
<<elseif $permanentDone.breakRoomLocked>>
<p>Two minds to the left, both agitated now. The bright one is pacing, radiating alarm, and the dim one has sharpened as fear cuts through exhaustion. A third mind to the right, still barely flickering. //They know something is wrong.//</p>
<<else>>
<p>You feel them before you hear them. Two minds to the left, one burning bright and fast, the other dim and sluggish. A third mind to the right, barely flickering. //Intelligent life. Close.//</p>
<</if>>
<</if>>
/* Delve Host Memories: read the rat's residual memories */
<<hasSkillTreeAbility "Delve Host Memories">>
<<if _hasAbility>>
<<if not $delveInfo.ratCorridor>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassLink "Delve your host's memories of this place (1 biomass)" "Lab-DelveRatCorridor" 1>></div>
<<else>>
<div class="choice-done">Rat memories, cage and feeding station recalled</div>
<<if not $permanentDone.fedAtStation>>
[[Follow the rat's memory to the feeding station->Lab-FeedingStation]]
<</if>>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Your host's mind holds memories of this place... but you lack the ability to reach them. <span class="lock-hint">(Requires Delve Host Memories, Psionic skill tree)</span></div>
<</if>>
/* Skill Tree check: Delve Superficial Memories, individual mind reads */
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
/* Left, two scientist minds — go dark once gassed unconscious */
<<if $permanentDone.scientistsComatose>>
<div class="choice-done">The two minds on the left have gone dark, unconscious in the sealed lab</div>
<<else>>
<<if not $delveInfo.chenSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Reach for the tired, fading mind on the left (1 biomass)" "Lab-DelveChen" 1>></div>
<<else>>
<div class="choice-done">Chen, surface thoughts already read</div>
<</if>>
<<if not $delveInfo.vasquezSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Reach for the bright, anxious mind on the left (1 biomass)" "Lab-DelveVasquez" 1>></div>
<<else>>
<div class="choice-done">Vasquez, surface thoughts already read</div>
<</if>>
<</if>>
/* Right, guard mind (Dale) */
<<if not $delveInfo.guardSurface and not $delveInfo.loadingDock>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Reach for the dull, bored mind on the right (1 biomass)" "Lab-DelveGuard" 1>></div>
<<else>>
<div class="choice-done">Dale, surface thoughts already read</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> You sense nearby minds, flickering with thoughts you can't quite read. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
/* Approach links, plain navigation, intel affects the destination passage */
<<if $permanentDone.sporeAttack>>
[[Enter the empty break room->Lab-BreakRoom-Spore]]
<<if $permanentDone.scientistsComatose>>
[[Slip into the sealed containment lab, the scientists are down->Lab-ContainmentComatose]]
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Both scientists are in the containment lab, alert and watching each other. Too dangerous to approach while they're together.</div>
<</if>>
<<elseif $permanentDone.breakRoomLocked>>
<div class="choice-done">The break room is no longer safe, the scientists are on alert</div>
[[Go in and wreak havoc->Lab-WreakHavoc]]
<<elseif $delveInfo.chenSurface and $delveInfo.vasquezSurface>>
[[Approach the two minds on the left, you know what awaits->Lab-Scientists]]
<<elseif $delveInfo.chenSurface>>
[[Approach the tired mind on the left->Lab-Scientists]]
<<elseif $delveInfo.vasquezSurface>>
[[Approach the anxious mind on the left, carefully->Lab-Scientists]]
<<else>>
[[Approach the voices (left)->Lab-Scientists]]
<</if>>
<<if $delveInfo.guardSurface or $delveInfo.loadingDock>>
[[Approach the distracted mind on the right->Lab-LoadingDock]]
<<else>>
[[Head toward the sound on the right->Lab-LoadingDock]]
<</if>>
/* Restricted wing, available if player has keycard */
<<if $player.hasKeycard>>
<<link "Use the keycard to access the restricted wing" "Lab-RestrictedWing">><<if not $permanentDone.restrictedWingEntered>><<set $permanentDone.restrictedWingEntered to true>><<addSuspicion "lab" 1>><</if>><</link>>
<</if>>
/* Skill gate: Toxic Spores, aggressive option */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $permanentDone.sporeAttack>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassLink "Release spores into the ventilation system (2 biomass)" "Lab-SporeAttack" 2>></div>
<<else>>
<div class="choice-done">Spores already released, the building reeks of it</div>
<</if>>
<<else>>
<<tutorial "tut-locked" "Locked Choices">>
<p>Some choices are <span class="tut-warning">locked</span>. There are several reasons a choice might be unavailable:</p>
<p><span class="tut-keyword">Skills</span>, active abilities from your Skill Tree. Some choices require a specific skill you haven't unlocked yet.</p>
<p><span class="tut-keyword">Influence</span>, your parasitic power level. Stronger creatures require higher influence to infest, shown in <span class="data-status-error">red</span> when locked.</p>
<p><span class="tut-hint">Locked choices hint at what's possible. Explore, evolve, and unlock new abilities to access them on this or future playthroughs.</span></p>
<</tutorial>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A strange instinct nags at you... but you haven't evolved enough to act on it. <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>><<nobr>><<bg "bg-vent">>
<<set $currentArea to "Ventilation System">><</nobr>>
<div class="passage-title">The Ventilation Shaft</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/vent-dark.webp" alt="Ventilation shaft">
<div class="scene-desc">A narrow metal shaft disappears into darkness. Stale air currents carry chemical scents from deeper in the facility.</div>
/* Skill check: Squeeze Through (host skill), rat has it by default */
<<set _canSqueeze to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Squeeze Through">>
<<set _canSqueeze to true>>
<</if>>
<</for>>
<<if _canSqueeze>>
<<if not $permanentDone.ventGrateOpen>>
<<set $permanentDone.ventGrateOpen to true>>
<p><span class="skill-used">Bite (active), 1 biomass spent gnawing through grate</span></p>
<p><span class="skill-used">Squeeze Through (passive), activated</span></p>
<p>Your teeth make quick work of the rusted screws, and they crumble like chalk under your incisors. The grate clatters to the floor, and you slip inside, wire-thin body folding through the narrow gap.</p>
<</if>>
<p>The vent shaft is dark and narrow, a tight squeeze even for a rat, but your host's instincts guide you through. This is what rats //do//.</p>
<<say "char-hivemind" "Hivemind">>
//Air, chemicals, food, and //living things// deeper inside.//
<</say>>
The shaft branches.
<<if $labMapSeen>>
<p><span class="skill-used">Facility map recalled</span></p>
<p>You remember: the upper shaft leads to the roof and open sky. The lower shaft descends to a maintenance sublevel connected to the loading dock.</p>
<<else>>
<p>One path slopes upward, and you can feel cooler air drifting from somewhere ahead. The other descends toward warmth and the sound of dripping water. Without a map, it's a guess.</p>
<</if>>
[[Follow the cool air upward->Lab-VentUp]]
[[Descend toward the warmth->Lab-VentDown]]
/* Night Vision unlocks a third path, horizontal vent to the break room */
<<hasAdaptation $player.currentHost "nightvision">>
<<if _hasAdaptation>>
<p><span class="skill-used">Night Vision (passive), darkness resolved</span></p>
<p>In the green-tinged clarity of your adapted eyes, you notice a third branch, a horizontal vent that runs along the ceiling of the corridor. Through the grate, you can see faint light and hear muffled voices.</p>
<<if hasVisited("Lab-Vent-Breakroom") or hasVisited("Lab-BreakRoom-Spore")>>
<div class="choice-done">The horizontal vent, already explored. Nothing left to find through that grate.</div>
<<elseif $permanentDone.sporeAttack>>
<p>The break room below is empty, the spores drove them out. You can see overturned chairs and abandoned coffee cups through the grate.</p>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Drop into the empty break room->Lab-BreakRoom-Spore]]</div>
<<elseif $permanentDone.breakRoomLocked>>
<div class="choice-done">Through the grate you can see the scientists moving around, agitated. Too dangerous to enter from above.</div>
<<else>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Follow the horizontal vent toward the voices->Lab-Vent-Breakroom]]</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A third branch disappears into total darkness. You can't see where it leads. <span class="lock-hint">(Requires Night Vision)</span></div>
<</if>>
<<else>>
<p>The vent grate is too small. Your current host can't fit through.</p>
[[Go back->Lab-FirstHost]]
<</if>><<nobr>><<bg "bg-vent">>
<<set $discovered.bird to true>>
<<set $currentArea to "Rooftop">><</nobr>>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/vent-light.webp" alt="Light at the end of the vent">
<div class="scene-desc">A pale sliver of starlight leaks through the vent opening above. Cool night air drifts down the shaft.</div>
<p>You scramble upward through the shaft. The metal groans under your weight, light for a rat but not nothing.</p>
<p>The vent opens onto the roof, where the night air and the open sky read like freedom, almost.</p>
<<say "char-hivemind" "Hivemind">>
//Outside, vast. But this body is too small and too fragile.// Need more.
<</say>>
<p>A pigeon roosts near the vent opening, tucked against the warm exhaust.</p>
<div class="locked-choice"><span class="lock-icon">🔒</span> Infect the pigeon and take flight <span class="lock-hint">(TO BE IMPLEMENTED)</span></div>
[[Go back into the vents->Lab-Vent]]<<nobr>><<bg "bg-vent">>
<<addBiomass 1>>
<<set $currentArea to "Maintenance Sublevel">><</nobr>>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/vent-damp.webp" alt="Dark descent">
<div class="scene-desc">The shaft narrows. Moisture beads on the metal walls.</div>
<p>You descend. The warmth grows. The air thickens with humidity and the stench of organic waste.</p>
<p>The shaft opens into a maintenance sub-level where pipes leak and puddles of stagnant water dot the floor. And in those puddles, //life//: bacteria, algae, microorganisms. Your biomass hungers for them.</p>
<<say "char-hivemind" "Hivemind">>
//Lower than hosts, fuel-grade, but every scrap counts.//
<</say>>
<p><span class="biomass-gain">+1 Biomass absorbed from the environment. (<<= $player.biomass >> / <<= $player.maxBiomass >>)</span></p>
<p>A maintenance door leads to the loading dock. You can hear a phone's tinny speaker through the wall, the guard, scrolling.</p>
<<if not $delveInfo.ratLoadingDock>>
[[Wait and observe the guard through the drainage pipe->Lab-ObserveGuard]]
<</if>>
[[Enter the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-vent">>
<<set $currentArea to "Ventilation System">><</nobr>>
<div class="passage-title">Above the Argument</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/vent-breakroom.webp" alt="Looking down into the break room through a vent grate">
<div class="scene-desc">Through the narrow grate slats, the break room glows below. Two figures sit at a table. Their voices carry clearly through the metal.</div>
<p><span class="skill-used">Night Vision (passive), navigating dark vent system</span></p>
<p>The horizontal vent runs directly above the break room ceiling. Through the grate, you have a perfect view of the two scientists below, unaware they're being watched from above.</p>
<img class="scene-img" src="media/scenes/break-room.webp" alt="The break room below" style="opacity:0.8;">
<<if not $permanentDone.ventListened>>
<<set $permanentDone.ventListened to true>>
<<set $labIntel.ventConversation to true>>
<<set $labIntel.darpaMilitary to true>>
<<say "char-vasquez" "Agitated Voice">>
...the neural readings at 02:47 were //off the charts//. I've never seen a spike like that in any organism. It wasn't reflexive, it was //deliberate//.
<</say>>
<<say "char-chen" "Tired Voice">>
It's a colony organism. It doesn't //deliberate//. You're anthropomorphizing again.
<</say>>
<<say "char-vasquez" "Agitated Voice">>
Then explain why it stopped responding to stimuli the moment the cameras came on. //It knew it was being watched.//
<</say>>
<<say "char-chen" "Tired Voice">>
<i>(sighing)</i> I just want to get through tonight. The review is Monday and I still haven't finished the regeneration factor report. Can we argue about sapience //after// I get some sleep?
<</say>>
<<say "char-vasquez" "Agitated Voice">>
<i>(lowering her voice)</i> I sent the neural data to a military contact. If what I think is happening is //actually// happening, this company won't be running this project much longer.
<</say>>
<<say "char-chen" "Tired Voice">>
You did //what?// That's a breach of... the NDA alone...
<</say>>
<<say "char-vasquez" "Agitated Voice">>
The NDA won't matter if this thing wakes up and walks out. Which, according to the 02:47 data, it's //already planning to do//.
<</say>>
<<addSkillPoints 1>>
<p><span class="skill-used">+1 skill point, critical intel gathered from vent surveillance</span></p>
<<say "char-hivemind" "Hivemind">>
//One knows. The other doesn't want to.// The military, Monday. //Only hours left.//
<</say>>
<</if>>
<<if $permanentDone.ventListened>>
<p>The break room is quiet now. The scientists have moved on. But the vent system stretches further.</p>
<</if>>
<p>From here, the vent continues forward, and you can see grate openings over the corridor and what looks like the loading dock beyond.</p>
<<addSuspicion "lab" 1>>
<p><span class="consume-fail">A screw loosens under your weight. It clinks against the grate, both scientists glance up. (+1 suspicion)</span></p>
[[Continue through the vents to the loading dock->Lab-VentDown]]
[[Go back to the vent junction->Lab-Vent]]<<nobr>><<bg "bg-lab-corridor">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.chenSurface to true>><</nobr>>
<div class="passage-title">The Tired Mind</div>
<img class="scene-img" src="media/scenes/corridor-emergency.webp" alt="Psychic probe — Chen">
<div class="scene-desc">You close your eye and reach for the dimmer of the two minds on the left. It yields almost immediately.</div>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>The contact is warm and soft, like pressing into something that has already given up. Her mental walls are tissue, hours of exhaustion have worn them to nothing.</p>
<p>You slip inside and the world //tilts//. Not your world, //hers//. An apartment, a grey cat on a radiator, wine on the counter, a clock she keeps checking. //She wants to go home.// The review is Monday and she hasn't finished the regeneration report. Resentment toward her colleague, the one who keeps pushing and panicking and making everything harder.</p>
<p>Something rectangular in her left coat pocket. She touches it without thinking. A keycard.</p>
<<say "char-hivemind" "Hivemind">>
//Tired and open, //easy//.// And the keycard. //Remember the keycard.//
<</say>>
<p><span class="delve-intel">Intel gained: Chen is mentally vulnerable. Keycard in left coat pocket. She doesn't believe the organism is a threat.</span></p>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezSurface to true>><</nobr>>
<div class="passage-title">The Anxious Mind</div>
<img class="scene-img" src="media/scenes/corridor-emergency.webp" alt="Psychic probe — Vasquez">
<div class="scene-desc">You reach for the brighter mind on the left. It burns hot and fast, and the moment you touch it, you recoil.</div>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>//Pain.// Like pressing a hand against a hot surface. Her mind is sharp and //armoured//. You flinch back, but not before catching fragments bleeding through the cracks.</p>
<p>Containment protocols cycling on repeat. A phone screen with an email draft to //DARPA//. The neural readings at 02:47. She //knows// something is wrong, cameras and data and cross-references, and she expects something to go wrong tonight.</p>
<p>She would //feel// a deeper intrusion. You can sense the alarm wired into her, a tripwire mind.</p>
<<say "char-hivemind" "Hivemind">>
//Sharp and hot, //dangerous//.// She knows. She contacted the military. //Avoid this one.//
<</say>>
<p><span class="delve-intel">Intel gained: Vasquez is mentally fortified and suspicious. She has a DARPA contact and expects a breach tonight. Avoid or neutralise.</span></p>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.guardSurface to true>>
<<set $delveInfo.loadingDock to true>><</nobr>>
<div class="passage-title">The Bored Mind</div>
<img class="scene-img" src="media/scenes/corridor-emergency.webp" alt="Psychic probe — Dale">
<div class="scene-desc">You reach to the right, toward the single mind near the loading dock. It offers no resistance at all.</div>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>Like falling into an empty room with no walls and no doors. Three years of overnight shifts have worn this mind to nothing. You slip inside and everything //pours// out, warm and unguarded, spilling like an overturned glass.</p>
<p>//Dale.// His name surfaces unbidden. Dale Hoffman, BioGenesis night security. The overtime pays for the mortgage. He hates it here.</p>
<p>Anxieties circle like tired animals: Karen's pills, whether Jess ate anything today, whether Ryan left his room at all. A golden retriever in the car outside, //Biscuit//, comes to work with him because no one at home walks it anymore.</p>
<p>Then the facility. Camera positions, keycard doors, alarms. The security office PIN, //4-7-2-1//, loops on repeat because he can never remember it. Shift ends 5 AM, day guard Frank at 5:15.</p>
<<say "char-hivemind" "Hivemind">>
//Open. //Everything// open.// The PIN. The cameras. The routine. His car. His family. His dog. When the shift ends, he drives //home//.
<</say>>
<p><span class="delve-intel">Intel gained: Guard is Dale Hoffman — BioGenesis night security. Security office PIN: 4721. Camera positions and patrol routes. Shift ends 5 AM, day guard Frank arrives 5:15. Family: wife Karen (insomnia/pills), daughter Jess, son Ryan, dog Biscuit. Mortgage behind, drives home at end of shift.</span></p>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.scientists to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Deep Probe</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/break-room.webp" alt="Probing the scientists' minds">
<div class="scene-desc">You push deeper, past surface emotions, past the chatter, into the buried knowledge they carry.</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>Deeper costs more. You can feel the biomass draining, a cold pull behind the rat's eyes, like something being siphoned. The surface layers peel back, exhaustion and paranoia and coffee and stale air all falling away, and underneath lies the //architecture// of knowledge. Not what they feel. What they //know//.</p>
<<say "char-vasquez" "Vasquez (buried memory)">>
The image surfaces unbidden: a second facility. //Redfield//. Forty miles north. Vasquez has been there once, for a transfer review, and she remembers security protocols, guard rotations, a different specimen wing. Specimens 48 through 52, //your successors//. They're already growing the next generation.
<</say>>
<<set $labIntel.projectGenesis to true>>
<<say "char-chen" "Chen (buried memory)">>
Chen's deeper memories hold something clinical: the //termination protocol//. UV sterilisation, chemical flush, incineration, scheduled for Monday 08:00, after the DARPA review. She wrote the order herself. She also remembers the override code, //GENESIS-SEVEN-SEVEN-ALPHA//, which disables the facility's containment locks remotely. She memorised it for emergencies and has never used it.
<</say>>
<<set $labIntel.terminationPlan to true>>
<<set $labIntel.overrideCode to true>>
<<say "char-hivemind" "Hivemind">>
//More. There are //more of me//.// Other pods. Other facilities. Forty miles north.
//And a code. GENESIS-SEVEN-SEVEN-ALPHA.// I don't know what it does yet. But it's //mine// now.
<</say>>
<p><span class="delve-intel">Intel gained: Redfield facility (second BioGenesis lab, 40 miles north). Specimens 48-52 in development. Termination protocol scheduled Monday 08:00. Override code: GENESIS-7-7-ALPHA, disables containment locks remotely.</span></p>
[[Return to the break room->Lab-Scientists]]<<nobr>><<bg "bg-loading-dock">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.loadingDock to true>>
<<set $delveInfo.guardSurface to true>>
<<set $currentArea to "Loading Dock">><</nobr>>
<div class="passage-title">The Guard's Mind</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/loading-dock-truck.webp" alt="Reading Dale's mind">
<div class="scene-desc">Dale's mind is an open book, exhaustion having stripped every defense.</div>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>You brush against his consciousness and it yields completely. Three years of overnight shifts have worn his mental walls to nothing.</p>
<p>The facility layout unfolds from his memories: camera positions on every corridor, which doors his keycard opens, which alarms he's supposed to check. The security office PIN, //4-7-2-1//, loops on repeat because he can never remember it without rehearsing.</p>
<<say "char-hivemind" "Hivemind">>
//Dale Hoffman. Night security, three years.// The PIN, 4-7-2-1. Cameras, doors, and a shift that ends at 5 AM.
//And underneath, worry. A wife. //Karen.// Pills. Insomnia. Mortgage three months behind.// He sits in a plastic chair at 4 AM and his whole life is falling apart.
<</say>>
<p><span class="delve-intel">Intel gained: Security office PIN (4721). Facility camera positions and patrol routes. Dale's shift ends 5 AM, day guard Frank arrives 5:15. Family financial crisis, mortgage behind, wife on medication.</span></p>
[[Return to the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-lab-corridor">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.ratCorridor to true>><</nobr>>
<div class="passage-title">Host Memories — The Cage</div>
<img class="scene-img" src="media/scenes/corridor-emergency.webp" alt="Rat memories of captivity">
<div class="scene-desc">You turn inward, probing the rat's brain, reaching past corridor maps for something older. The rat's entire life surfaces in fragmented bursts.</div>
<p><span class="skill-used">Delve Host Memories, 1 biomass</span></p>
<p>The rat has never known anything but this building, born in a plastic tub, raised under fluorescent light. Its world was a cage of wood shavings and a water bottle and the slow rhythm of feeding and sleeping.</p>
<p>But the rat remembers //feeding time//. A room down a side corridor, not the break room and not the loading dock, a narrow door with a vent at the bottom, always slightly ajar. The smell of pellets and grain. The scientists stored animal feed there, bags stacked on metal shelves, a sink with dripping water.</p>
<p>The rat escaped its cage three times, and each time it went straight to that room, and each time they caught it and put it back. But the route is //burned// into its brain: left at the junction, second door, the one with the scratched kickplate.</p>
<<say "char-hivemind" "Hivemind">>
//Both caged, both specimens.// But the rat knows where they kept the food. Pellets, grain, //biomass//. And the door has a vent gap.
<</say>>
<p><span class="delve-intel">Intel gained: Lab feeding station location, side corridor, second door. Accessible via vent gap. Animal feed stores inside.</span></p>
<<if not $permanentDone.fedAtStation>>
[[Follow the rat's memory to the feeding station->Lab-FeedingStation]]
<</if>>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab">>
<<set $permanentDone.fedAtStation to true>>
<<addBiomass 2>>
<<addSuspicion "lab" 1>><</nobr>>
<div class="passage-title">Feeding Station</div>
<div class="lab-location">BioGenesis Research Facility · Animal Feed Storage</div>
<img class="scene-img" src="media/scenes/lab-feeding-station.webp" alt="Lab feeding station — shelves of animal feed">
<div class="scene-desc">A narrow utility room lined with metal shelves. Bags of animal feed, supplement containers, a stained sink. The air smells of grain dust and disinfectant.</div>
<p>The rat's body moves on autopilot, muscle memory guiding it through the vent gap and under the shelves before you even think to direct it. This is the room it escaped to, three times, the room that meant //food//.</p>
<p>A torn bag of rodent pellets spills from the bottom shelf and grain dust coats the floor. The rat eats with desperate efficiency, and you feel every calorie convert to biomass: dense, compressed nutrition designed to sustain lab animals. //Perfect fuel.//</p>
<p>Your teeth tear through a second bag and pellets scatter across the linoleum. The mess is obvious, bite marks on the bags and grain scattered everywhere, and anyone who checks this room will know something was here.</p>
<<say "char-hivemind" "Hivemind">>
//Fed.// But the bite marks, obvious. Anyone who checks will know something was here. //Worth it.//
<</say>>
<p><span class="consume-success">+2 biomass from lab feed stores. (<<= $player.biomass >> / <<= $player.maxBiomass >>)</span></p>
<p><span class="consume-fail">+1 suspicion, bite marks on the feed bags.</span></p>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-loading-dock">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.ratLoadingDock to true>><</nobr>>
<div class="passage-title">Watching the Guard</div>
<div class="lab-location">BioGenesis Research Facility · Maintenance Sublevel</div>
<img class="scene-img" src="media/scenes/loading-dock-truck.webp" alt="Observing the guard through the drainage pipe">
<div class="scene-desc">You press against the drainage grate and watch. The guard sits in his chair, oblivious.</div>
<p>You wait. The rat's body is patient, it has done this before, watching from dark places, waiting for scraps.</p>
<p>The guard shifts in his chair, stands, stretches, then walks to the north exit door, props it open with a brick, and steps outside. The flick of a lighter, and cigarette smoke drifts back through the gap. He's gone for ten minutes, and you count by heartbeats.</p>
<p>Through the open door you can see the parking lot, a beat-up sedan with its window cracked, a golden retriever asleep in the backseat. The guard comes back smelling of smoke, drops a food wrapper on the floor, and resumes scrolling.</p>
<<say "char-hivemind" "Hivemind">>
//The door, open on every smoke break.// A car outside, a dog in the back. When the shift ends he drives //home//. //I go with him.//
<</say>>
<p><span class="delve-intel">Intel gained: Guard (Dale) habits, smoke breaks at north exit. Car parked outside with dog. Drives home at end of shift. Loading dock weakly guarded.</span></p>
[[Enter the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-outside">>
<<set $escapeRoute to "carSneak">>
<<set $currentArea to "Loading Dock">><</nobr>>
<div class="passage-title">Escape</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/pickup-driving.webp" alt="Sedan driving toward city lights">
<div class="scene-desc">You press yourself flat in the footwell of the backseat. A jacket covers you. The engine starts.</div>
<p>You squeeze into the backseat footwell of the beat-up sedan, pulling a crumpled jacket over your small body. Beside you on the seat, a golden retriever snores softly, Biscuit, oblivious.</p>
<p>The parking lot gate rises, cold night air floods in, and then //motion.//</p>
<<say "char-hivemind" "Hivemind">>
//The lab shrinks behind me. Ahead, lights, millions of them.// Buildings. //Hosts.//
<</say>>
<p>The sedan merges onto a highway. From beneath the jacket, you catch glimpses of the city skyline, glittering and //alive//.</p>
[[The car rolls on->Lab-TruckRide]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Security Office">><</nobr>>
<div class="passage-title">The Nerve Centre</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/fire-exit.webp" alt="Security office with monitors">
<div class="scene-desc">A cramped room behind a keypad-locked door. Six monitors show static-laced feeds from every corner of the facility. A desk covered in coffee rings and crumpled papers.</div>
<p>The keypad by the door blinks red. You know the code.</p>
<p>//4... 7... 2... 1.//</p>
<p>Your rat's small claws tap the buttons. The light turns green. The door clicks open with a soft //hiss//.</p>
<<say "char-hivemind" "Hivemind">>
//His own thoughts gave me the code.// Six cameras, six hours of evidence. //One terminal.//
<</say>>
<p>The security office is cramped, barely bigger than a closet. Dale's second chair. His backup coffee mug. A row of monitors showing greyscale feeds: the containment lab, the corridor, the break room, the loading dock, the main exit, the restricted wing.</p>
<p>And beneath the monitors, a terminal. The security management system, logged in. Dale never logs out.</p>
<<if not $permanentDone.erasedFootage>>
[[Erase security footage->Lab-SecurityErase]]
<</if>>
<<if $permanentDone.erasedFootage>>
<div class="choice-done">Security footage already erased</div>
<</if>>
<<if $permanentDone.sporeAttack and not $permanentDone.labLockdown>>
<p>On one monitor, you can see movement. The containment lab feed shows two figures huddled by the shattered pod. Both scientists, arguing.</p>
<p>The terminal has a section labeled //DOOR CONTROLS//. Magnetic locks. Remote activation.</p>
[[Engage containment lab magnetic locks->Lab-SecurityLockdown]]
<<elseif $permanentDone.labLockdown>>
<div class="choice-done">Containment lab sealed, magnetic locks engaged</div>
<<else>>
<p>On the monitors, you can see the break room, two scientists talking over coffee, and the loading dock, Dale scrolling his phone. Everything calm. Everything normal.</p>
<</if>>
[[Leave the security office->Lab-LoadingDock]]<<nobr>><<bg "bg-lab-corridor">>
<<spendBiomass 1>>
<<set $permanentDone.erasedFootage to true>>
<<set $currentArea to "Security Office">><</nobr>>
<div class="passage-title">Digital Erasure</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<div class="scene-desc">The security terminal glows. Dale's session is still active, no password required.</div>
<<if $player.currentHost is "human">>
<p>Your borrowed fingers move across the keyboard with practiced ease.</p>
<<else>>
<p>Your rat paws tap awkwardly at the keys. The movements are clumsy, a rat typing, but the system is already logged in.</p>
<</if>>
<div class="terminal-box">
<div class="terminal-header">BIOGENESIS — SECURITY MANAGEMENT SYSTEM v4.2</div>
<div class="terminal-line">User: d.hoffman (SECURITY)</div>
<div class="terminal-line terminal-success">SESSION ACTIVE</div>
<div class="terminal-separator"></div>
<div class="terminal-line">Camera feeds found: <b>6</b></div>
<div class="terminal-line">Recording period: 21:00 to 03:47</div>
<div class="terminal-line">Total footage: <b>6h 47m</b></div>
<div class="terminal-separator"></div>
<div class="terminal-line terminal-warning">CONFIRM: Delete all recordings from the last 6 hours?</div>
<div class="terminal-line terminal-warning">This action cannot be undone.</div>
</div>
<<say "char-hivemind" "Hivemind">>
//All of it, every frame.// Dale's login, Dale's credentials. //They'll blame him first.//
<</say>>
<div class="terminal-box">
<div class="terminal-line">Deleting CAM-01 (Containment Lab) ......... <span class="terminal-success">DONE</span></div>
<div class="terminal-line">Deleting CAM-02 (Corridor East) ........... <span class="terminal-success">DONE</span></div>
<div class="terminal-line">Deleting CAM-03 (Break Room) .............. <span class="terminal-success">DONE</span></div>
<div class="terminal-line">Deleting CAM-04 (Loading Dock) ............ <span class="terminal-success">DONE</span></div>
<div class="terminal-line">Deleting CAM-05 (Main Exit) ............... <span class="terminal-success">DONE</span></div>
<div class="terminal-line">Deleting CAM-06 (Restricted Wing) ......... <span class="terminal-success">DONE</span></div>
<div class="terminal-separator"></div>
<div class="terminal-line terminal-success">ALL RECORDINGS PURGED — DISK ZEROED</div>
</div>
<<addSuspicion "lab" -2>>
<p><span class="skill-used">Security footage deleted under Dale's login. -2 suspicion.</span></p>
<<say "char-hivemind" "Hivemind">>
//Gone.// The audit trail leads to Dale Hoffman. Not to me. //The trail is poisoned before it begins.//
<</say>>
[[Return to the security office->Lab-SecurityOffice]]<<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.labLockdown to true>>
<<addSuspicion "lab" 2>>
<<set $currentArea to "Security Office">><</nobr>>
<div class="passage-title">Sealed</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/security-lockdown.webp" alt="Security monitors showing scientists trapped">
<div class="terminal-box">
<div class="terminal-header">BIOGENESIS — DOOR CONTROL SYSTEM</div>
<div class="terminal-line">Sector: CONTAINMENT LAB (A-Wing)</div>
<div class="terminal-line terminal-warning">ENGAGE MAGNETIC LOCKS?</div>
<div class="terminal-separator"></div>
<div class="terminal-line">Activating MAG-LOCK 1 (Main door) ......... <span class="terminal-success">ENGAGED</span></div>
<div class="terminal-line">Activating MAG-LOCK 2 (Emergency exit) .... <span class="terminal-success">ENGAGED</span></div>
<div class="terminal-separator"></div>
<div class="terminal-line terminal-success">CONTAINMENT LAB — SEALED</div>
<div class="terminal-line">Override: Security keycard required</div>
</div>
<p>On the monitor, you watch the effect. Both scientists rush to the door. Chen pulls the handle. Nothing. Vasquez slams her fist against the glass.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(muffled, through the monitor)</i> The door, it's //locked//! Dale! //DALE!//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Scream. Dale can't hear from the loading dock.// By the time anyone opens that door, //gone//.
<</say>>
<p><span class="consume-fail">Lab suspicion +2, but the scientists are trapped. They can't interfere with your escape.</span></p>
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<p>The ventilation system feeds directly into the containment lab. On the monitor, you can see the air vents above the sealed room. The scientists are trapped in a closed system, no way to open the doors, no way to escape the air.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassLink "Release spores through the ventilation into the sealed lab (2 biomass)" "Lab-SecuritySporeKO" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The ventilation feeds directly into the sealed lab... if only you could release something airborne. <span class="lock-hint">(Requires Toxic Spores · Biological skill tree)</span></div>
<</if>>
[[Return to the security office->Lab-SecurityOffice]]<<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.scientistsComatose to true>>
<<set $currentArea to "Security Office">><</nobr>>
<div class="passage-title">Lights Out</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/security-spore-ko.webp" alt="Security camera view of the sealed containment lab, both scientists collapsed unconscious on the floor">
<p><span class="skill-used">Toxic Spores · 2 biomass</span></p>
<p>Your rat body convulses again, and this time you aim the burst into the ventilation intake beside the security terminal, and the system does the rest, pumping a faint bioluminescent green haze through the sealed ductwork and down out of the vents in the containment lab ceiling.</p>
<p>On the monitor, you watch it reach them. The two of them are still at the door where the lockdown left them, Vasquez hammering the glass with the side of her fist and Chen close at her shoulder, when the haze starts settling down around them both. The little speaker on the terminal carries it through tinny and muffled, but it carries it.</p>
<<say "char-chen" "Dr. Chen">>
<i>(muffled through the monitor, then coughing)</i> Sofia... what is that, do you smell, ...it's coming out of the //vents//, the air, there's something in the air...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(a hand clapped over her mouth, voice breaking up)</i> Don't breathe it. Cover your face, cover your, ...//get down//, it's heavier than air, get to the floor, Elena, get //down//...
<</say>>
<p>Vasquez feels it first. Her hand drops from the glass to her throat, and Chen turns from the door and stumbles back into a bench, and the two of them look at each other across the spreading green as the panic on both their faces slides into something slower and heavier within seconds.</p>
<<say "char-chen" "Dr. Chen">>
<i>(words starting to slur, swaying on her feet)</i> I can't, ...Sofia, my legs, I can't keep my... why is it so...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(thick and fading, sliding down the glass)</i> Stay... stay awake, Elena, stay with... we just have to stay...
<</say>>
<p>Vasquez goes down first, her knees buckling, one hand catching the wall before she slides to the floor. Chen gets three steps toward an emergency vent that does not exist in a sealed room before her legs fold under her, and then there are two bodies on the floor of the containment lab and nothing left moving in it but the haze.</p>
<<say "char-hivemind" "Hivemind">>
//Both down. Sealed room, no open air.// They wake in hours, in a locked lab they cannot explain. //I will be gone.//
<</say>>
<<if $permanentDone.erasedFootage>>
<<addSuspicion "lab" -5>>
<p><span class="skill-used">Footage erased + scientists comatose = no witnesses, no evidence. -5 suspicion.</span></p>
<<say "char-hivemind" "Hivemind">>
//No footage. No witnesses.// When they wake, fragmented memories. A breach they can't explain. The audit trail leads to the guard's terminal.
//They will be looking for a person at the exact altitude something small and green can crawl beneath.//
<</say>>
<<set $labOutcome.daleFramed to true>>
<p><span class="delve-intel">Dale has been framed for the containment breach. BioGenesis will investigate him first, buying significant time. This will have consequences.</span></p>
<<else>>
<<addSuspicion "lab" -2>>
<p><span class="skill-used">Scientists comatose, delayed response. -2 suspicion.</span></p>
<<say "char-hivemind" "Hivemind">>
//Headaches, memory gaps.// The breach is obvious, but delayed. //Hours bought, maybe a full day.//
<</say>>
<</if>>
<p>Only one way out now. Dale's car. The loading dock.</p>
[[Leave the security office, head for the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">The Sleepers</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p>You crawl down out of the ceiling vent and drop the last few inches onto the containment lab floor. The haze has thinned to almost nothing, just enough to taste at the back of the throat, damp and green. The doors hold shut behind their red status lights, magnetic locks engaged, and nothing in this sealed room is going anywhere without a keycard that no one conscious is holding.</p>
<img class="scene-img" src="media/scenes/containment-comatose.webp" alt="A small rat on the floor of a sealed laboratory beside two unconscious scientists collapsed on the ground, faint green haze hanging in the air">
<p>The two of them are where they fell. Vasquez on her side against the wall with one arm flung out, and Chen a few feet away, face down where her legs gave under her. Your rat creeps in close and reads the air over their slack faces, whiskers twitching, and finds both of them still breathing, barely, each breath slow and shallow with a long beat between one and the next, two bodies idling on the thin minimum the lungs will allow.</p>
<<say "char-hivemind" "Hivemind">>
//Alive. Helpless. Sealed in here with me, and hours before anyone thinks to open that door.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is a slower thing the body knows how to do than eating. It starts in the lungs of a sleeper and finishes weeks later, somewhere across the city, in someone who never knew the moment it began. ...two sleepers, and all the time in the world to start it.//
<</say>>
<hr class="scene-break">
<div class="locked-choice"><span class="lock-icon">🔒</span> Seed the first carrier, let it spread from them outward <span class="lock-hint">(CONTAMINATION ROUTE, to be implemented)</span></div>
[[Leave them and slip back into the vents->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<set $escapeRoute to "mainExitChen">>
<<set $currentArea to "Main Exit">><</nobr>>
<p><span class="skill-used">Tool Use (passive), keycard access</span></p>
<div class="passage-title">Walking Out</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/keycard-swipe.webp" alt="Dr. Chen holding keycard with amber eyes">
<div class="scene-desc">The corridor is empty. Dr. Chen stands before the exit, keycard in hand, her amber-tinged eyes fixed on nothing.</div>
<p>You hold the keycard up. Chen's fingers, //your// fingers, move with unnatural precision. The magnetic lock clicks and the door swings open.</p>
<p>The night air hits your face. The parking lot is nearly empty, but a beat-up sedan sits near the loading dock, and a heavyset man in a BioGenesis security uniform leans against it, checking his phone. His shift just ended.</p>
<<say "char-host" "Dr. Chen (infected)">>
My car won't start. I've been having battery trouble all week. Could I get a ride?
<</say>>
<p>The security guard, Dale according to his name tag, looks up and shrugs.</p>
<<say "char-dale" "Dale">>
Sure thing, Doc. I'm heading home anyway. Hop in.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Smile, act tired.// The body knows how, and Dale suspects nothing. //Wherever he's going, more hosts.//
<</say>>
[[Climb into the passenger seat->Lab-TruckRide]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Break Room">><</nobr>>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/vasquez-flashlight.webp" alt="Dr. Vasquez with flashlight">
<div class="scene-desc">The flashlight beam sweeps through the dark break room.</div>
<p>Dr. Vasquez returns with a flashlight. She sweeps the beam across the room and freezes when it lands on Dr. Chen.</p>
<<say "char-vasquez" "Dr. Vasquez">>
Elena? Are you... are you alright? You look pale.
<</say>>
<<say "char-host" "Dr. Chen (infected)">>
<<set _canManipulate to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Manipulate">>
<<set _canManipulate to true>>
<</if>>
<</for>>
<<if _canManipulate>>
<span class="skill-used">Manipulate (active), used</span>
I'm fine, Sofia. Just the dark, it startled me. I think I'll head home. Long shift.
<<else>>
I... yes. Fine. Home. Going home now.
<</if>>
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<<if _canManipulate>>
...Okay. Get some rest. I'll handle the breaker.
<<else>>
Elena, wait. You're acting strange. Let me check your...
<</if>>
<</say>>
<<if _canManipulate>>
<p>She buys it. You walk calmly toward the exit.</p>
[[Leave through the main exit->Lab-MainExit]]
<<else>>
<p>She's suspicious. You need to leave //now// before she gets closer.</p>
[[Push past her and run for the exit->Lab-MainExit]]
[[Use the keycard on the side door->Lab-MainExit]]
<</if>><<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.sporeAttack to true>>
<<set $currentArea to "Main Corridor">><</nobr>>
<div class="passage-title">Toxic Bloom</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/spores-spreading.webp" alt="Toxic spores spreading through corridor">
<div class="scene-desc">A sickly green haze drifts through the corridor, drawn into the ventilation system. The air thickens.</div>
<p><span class="skill-used">Toxic Spores · 2 biomass</span></p>
<<say "char-hivemind" "Hivemind">>
//Breathe deep, little creatures.//
<</say>>
<p>Your rat body convulses as spores erupt from its fur, a cloud of bioluminescent green particles that drift into the ventilation system. Within seconds, the building's air circulation carries them everywhere.</p>
<p>From the break room, coughing, a chair scraping, then footsteps. //Fast// footsteps.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(coughing, alarmed)</i> Do you smell that? That's not the ventilation, that smells //organic//. Elena, we need to check the containment wing. //Now.//
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(covering her mouth)</i> Could be a chemical leak from the...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(already moving)</i> Gas breach protocol. Move!
<</say>>
<p>Both scientists rush from the break room into the corridor, heading toward the containment lab. You flatten against the baseboard as they pass, too panicked to notice a rat in the emergency lighting.</p>
<<say "char-hivemind" "Hivemind">>
//My pod. They'll find the cracked glass.// They'll know.
<</say>>
<p>A moment later, from the containment wing:</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(distant, voice echoing)</i> The containment pod, the glass is //cracked//! The specimen, where is it?!
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(distant)</i> Oh god. Oh god, Sofia, the electromagnetic seal cable, look at the bite marks...
<</say>>
<<if $permanentDone.pickpocketChen>>
<<say "char-chen" "Dr. Chen">>
<i>(patting her coat pockets, going pale)</i> My keycard, it's //gone//! I had it right here. If that thing has it...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(catching Chen's arm before she can bolt)</i> Then it can get into the restricted wing, and we are not splitting up to chase it, not with that thing loose. We stay together. Call Dale, call security, call //anyone//.
<</say>>
<</if>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(into phone, shaking)</i> Dale. Dale, pick up. We have a containment breach. The specimen is //out//. I need you in the containment lab //now//.
<</say>>
<p>The phone rings. And rings. And rings. Dale doesn't pick up, because he's at the loading dock with his earbuds in, watching videos on his phone, volume up. The call goes to voicemail.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(hanging up, voice cracking)</i> He's not answering. Of course he's not answering. Three years on this job and he has //never once// answered on the first call.
<</say>>
<p>Vasquez tries again. Voicemail. She slams the phone on the bench. Chen stays close beside her at the shattered pod, arms crossed, eyes darting, neither of them willing to be the one left alone with whatever did this.</p>
<<addSuspicion "lab" 5>>
<p><span class="consume-fail">The scientists found the breach. Lab suspicion maxed. (+5 suspicion)</span></p>
<<say "char-hivemind" "Hivemind">>
//Break room empty. Corridor clear.// They chase ghosts while I watch from the shadows. //Both in the containment lab. Scared. Together. Dale didn't answer his phone.// The corridor is //open//.
<</say>>
[[Head to the empty break room->Lab-BreakRoom-Spore]]
<div class="locked-choice"><span class="lock-icon">🔒</span> Both scientists are in the containment lab together, too dangerous to approach while they're watching each other.</div>
[[Head to the loading dock while they're distracted->Lab-LoadingDock]]<<nobr>><<bg "bg-outside">>
/* Idempotency guard — autosave fires at end of this passage. On load the passage
re-renders from the saved state, so non-idempotent mutations (addBiomass,
addSkillPoints) must run exactly once. */
<<if not $permanentDone.labEscapeFinalized>>
<<set $route to "symbiotic">>
<<set $chapter to 2>>
<<set $day to 2>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<set $currentArea to "hoffmanHouse">>
/* High-risk / high-reward, bonus based on lab suspicion */
<<set _labSus to $suspicion.lab or 0>>
<<if _labSus gte 3>>
<<addSkillPoints 2 "escapeBonus">>
<<addBiomass 2>>
<<set $escapeRating to "Hunted">>
<<elseif _labSus gte 2>>
<<addSkillPoints 1 "escapeBonus">>
<<addBiomass 1>>
<<set $escapeRating to "Noticed">>
<<elseif _labSus gte 1>>
<<addSkillPoints 1 "escapeBonus">>
<<set $escapeRating to "Shadow">>
<<else>>
<<set $escapeRating to "Ghost">>
<</if>>
/* Lab outcome, carries consequences into Chapter 2 */
<<set $labOutcome to {
rating: $escapeRating,
suspicion: $suspicion.lab,
escapedAs: $escapeRoute,
keycardUsed: $player.hasKeycard or false,
footageErased: $permanentDone.erasedFootage or false,
falseAlarm: $permanentDone.stagedFalseAlarm or false,
chenInfected: false,
guardInfected: false
}>>
<<if $escapeRoute is "mainExitChen">><<set $labOutcome.chenInfected to true>><</if>>
<<if $escapeRoute is "infectGuard">><<set $labOutcome.guardInfected to true>><</if>>
/* Investigation event rate — days between events in Ch2.
Hunted is a special case: the first event fires after 1 day (BioGenesis is
already on the trail), but subsequent events settle to every 3 days.
Handled by storing eventRate=3 and setting the first nextCheck to $day+1. */
<<if $escapeRating is "Hunted">>
<<set $labOutcome.eventRate to 3>>
<<set $labEvents.nextCheck to $day + 1>>
<<elseif $escapeRating is "Noticed">>
<<set $labOutcome.eventRate to 4>>
<<set $labEvents.nextCheck to $day + $labOutcome.eventRate>>
<<elseif $escapeRating is "Shadow">>
<<set $labOutcome.eventRate to 7>>
<<set $labEvents.nextCheck to $day + $labOutcome.eventRate>>
<<else>>
<<set $labOutcome.eventRate to 9>>
<<set $labEvents.nextCheck to $day + $labOutcome.eventRate>>
<</if>>
<<set $permanentDone.labEscapeFinalized to true>>
/* Autosave fires automatically at :passageend — this passage is tagged
[autosave] and Config.saves.descriptions supplies the label. */
<</if>>
<</nobr>>
<div class="passage-title">The Road Home</div>
<img class="scene-img" src="media/scenes/pickup-driving.webp" alt="Sedan driving toward city lights">
<div class="scene-desc">Highway lights streak past. The city skyline recedes as the sedan rolls into darkened suburbs.</div>
<<if $escapeRating is "Ghost">>
<<say "char-hivemind" "Hivemind">>
//Silent.// No alarms, no pursuit, no trace I ever woke up. //Tomorrow morning, an empty tank and a mystery.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Ghost</div>BioGenesis will notice that you escaped from the broken containment pod, but will have a hard time figuring out how you did it and where you went.</div>
<<elseif $escapeRating is "Shadow">>
<<say "char-hivemind" "Hivemind">>
//Something stirred behind me.// A sensor, or a camera. They know //something//, but not //what//. //Time, and not much of it.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Shadow</div>Minor traces left behind. BioGenesis will investigate, eventually.<br><span class="consume-success">+1 skill point (risk bonus)</span></div>
<<elseif $escapeRating is "Noticed">>
<<say "char-hivemind" "Hivemind">>
//They saw me.// Not clearly, but enough. A rat, a door ajar, a guard who remembers wrong things. //The trail is there, and someone will follow it.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Noticed</div>Security footage and witness reports will lead to an investigation.<br><span class="consume-success">+1 skill point, +1 biomass (adrenaline bonus)</span></div>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Sirens, alarms.// //They know.// Every camera saw something, the puzzle won't take long. //They're coming.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Hunted</div>Full alert. BioGenesis knows exactly what escaped. The clock is ticking.<br><span class="consume-success">+2 skill points, +2 biomass (survival bonus)</span></div>
<</if>>
<<if $escapeRoute is "carSneak">>
<p>The car hums beneath you. From the backseat footwell, you catch glimpses of the driver, a heavyset man in a BioGenesis security uniform, drumming his fingers on the steering wheel to country radio. His name tag reads //Dale//.</p>
<p>The highway gives way to smaller roads, strip malls, streetlights, then residential streets lined with dark houses and parked cars.</p>
<<say "char-hivemind" "Hivemind">>
//Quiet suburbia, dark houses.// This car is going somewhere specific, somewhere with a door that will //open//.
<</say>>
<p>The driver's phone rings. The Bluetooth speaker fills the car, easy to hear from the backseat.</p>
<<say "char-dale" "Dale">>
<i>(answering, exhausted)</i> Hey Karen. Yeah, I'm on my way. Twenty minutes maybe. ...You're still //up//? It's almost five.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen.// Wife. Awake at five. //Why?//
<</say>>
<<say "char-dale" "Dale">>
<i>(rubbing his face)</i> Yeah, tell Megan I'll move the car before her shift. Don't want to block her in again. ...Jess still awake? Studying //again//? That kid's gonna burn out, Karen. I'm serious.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan and Jess, two daughters.// A house full of people who don't sleep.
<</say>>
<<say "char-dale" "Dale">>
<i>(long pause)</i> And Ryan? <i>(another pause, then a sigh)</i> ...Yeah. Figured. <i>(quieter)</i> Look, the overtime'll cover it. Don't worry about the... <i>(sharp silence, she cut him off)</i> ...Okay. Yeah. Love you too. See you in twenty.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Ryan. The one that makes him sigh.// And money, they're behind on something. //Stressed, distracted. Good.//
<</say>>
<<if $permanentDone.sporeAttack>>
<p>The work phone buzzes in the cupholder. Dale glances at it, two missed calls from the lab.</p>
<<say "char-dale" "Dale">>
<i>(picking up the phone, squinting)</i> Vasquez? At five AM?
<</say>>
<<if $permanentDone.scientistsComatose>>
<p>He dials back. It rings. And rings. No answer. He tries again, and gets voicemail.</p>
<<say "char-dale" "Dale">>
<i>(shrugging)</i> Probably butt-dialed me. Wouldn't be the first time. <i>(dropping the phone back in the cupholder)</i> If it was important she'd have left a message.
<</say>>
<p>He turns up the radio.</p>
<<say "char-hivemind" "Hivemind">>
//She's on the floor. Unconscious.// By the time anyone finds her, //settled//.
<</say>>
<<elseif $permanentDone.labLockdown>>
<p>He dials back. The call connects immediately. Vasquez's voice fills the car, raw and panicked and //screaming//.</p>
<<say "char-vasquez" "Dr. Vasquez">>
DALE! The doors are locked, someone locked us IN! The specimen is gone, the containment pod is shattered, and we are TRAPPED in the lab! You need to call corporate, call the police, call...
<</say>>
<p>Dale's face goes white. He pulls over.</p>
<<say "char-dale" "Dale">>
<i>(voice shaking)</i> What do you... locked? How are you locked? I didn't... the security office... <i>(staring at his phone)</i> Jesus. Jesus Christ. Okay. Okay, I'm calling it in. Stay on the line.
<</say>>
<p>He makes three calls in rapid succession. Corporate security. The police non-emergency line. Then Frank, telling him to get to the security office and override the locks.</p>
<<say "char-hivemind" "Hivemind">>
//He can't dismiss this one.// A locked door, a screaming scientist. Corporate will come, police will come. //They're coming.//
<</say>>
<p>The car makes a U-turn. Dale is going back to the facility.</p>
<<goto "GameOver-LabDiscovery">>
<<else>>
<p>He dials back. Vasquez picks up on the first ring.</p>
<<say "char-dale" "Dale">>
<i>(yawning)</i> Hey Doc, you called? ...Yeah, I was on a personal call. What's...
<</say>>
<p>A muffled voice on the other end. Dale's face doesn't change.</p>
<<say "char-dale" "Dale">>
<i>(yawning)</i> An alarm in containment? Those things go off every other week. It's probably the humidity sensor again. ...No, I didn't hear anything. I was at the dock the whole shift. <i>(rubbing his eyes)</i> Look, Frank's there now. Tell him to check it. I'm off the clock. ...Yeah. Yeah, I'll log it Monday. 'Night, Doc.
<</say>>
<p>He drops the phone back in the cupholder and turns up the radio.</p>
<<say "char-hivemind" "Hivemind">>
//She told him. He dismissed it.// Three years of nothing going wrong. //His complacency, my advantage.//
<</say>>
<</if>>
<</if>>
<<say "char-dale" "Dale">>
<i>(to himself)</i> Biscuit better not have torn up the couch again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Five humans, one dog.// Names, schedules. //One phone call told me everything.//
<</say>>
<<nobr>>
<<set $house.familyIntel.names to true>>
<<set $house.familyIntel.karenSleepless to true>>
<<set $house.familyIntel.meganShift to true>>
<<set $house.familyIntel.jessStudying to true>>
<<set $house.familyIntel.ryanGaming to true>>
<</nobr>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<p>Dale's mind is tired, open, unguarded. Thoughts drift through the car like cigarette smoke, visible to anything that knows how to //read//.</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Delve Dale's surface thoughts during the drive (1 biomass)" "Lab-TruckRide-Delve" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's thoughts drift through the car, unguarded... but you can't read them. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<elseif $escapeRoute is "infectBird" or $escapeRoute is "infectBirdKeepRat">>
<p>The sedan's headlights trace a path through the darkening suburbs. From above, the pigeon follows, gliding on exhaust thermals, resting on power lines, never losing sight of the vehicle below.</p>
<p>The city thins, apartment blocks become houses, and the sedan slows and turns into a residential street.</p>
<<if $escapeRoute is "infectBirdKeepRat">>
<<say "char-hivemind" "Hivemind">>
//Two perspectives.// The bird sees the house from above while the rat smells grass and dog from the backseat. //Both halves arriving.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//There.// A driveway, a house, a porch light. //Warmth. Bodies. Home.//
<</say>>
<</if>>
<<elseif $escapeRoute is "mainExitChen">>
<p>Dr. Chen sits in the passenger seat, hands folded, performing normalcy. Dale makes small talk about the weather, the overnight shift, the road construction on Route 9.</p>
<<say "char-host" "Dr. Chen (infected)">>
<<set _canManipulate to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Manipulate">>
<<set _canManipulate to true>>
<</if>>
<</for>>
<<if _canManipulate>>
<span class="skill-used">Manipulate (active), used</span>
That's so interesting, Dale. You must know this area well, driving home from the facility every night. How far is your place?
<<else>>
Mm-hmm. Yes. Long night.
<</if>>
<</say>>
<p>The suburbs roll by. Dale pulls into a residential street and parks in a driveway.</p>
<<say "char-dale" "Dale">>
Well, here's my stop. You sure you don't want me to call you a cab?
<</say>>
<<say "char-hivemind" "Hivemind">>
//No cab. This house.// This is where I need to be.
<</say>>
<<elseif $escapeRoute is "infectGuard">>
<p>Dale's hands find his car keys on instinct, muscle memory taking over, the route home burned into his bones from a thousand late shifts.</p>
<<say "char-host" "Dale (infected)">>
Home. I know the way. The body knows the way. Twenty minutes on autopilot.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A stolen body.// His family inside, //sleeping//. They'll open the door for //him//.
<</say>>
<p>Dale parks the sedan in the driveway. The porch light is on.</p>
<</if>>
/* Escape rating display */
<<if $escapeRating is "Ghost">>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Ghost</div>You left no trace. The facility doesn't know you're gone, not yet.</div>
<<elseif $escapeRating is "Shadow">>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Shadow</div>You were noticed, but not understood. They'll chalk it up to a pest problem, for now.</div>
<<elseif $escapeRating is "Noticed">>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Noticed</div>You made noise. Someone will review the cameras. The clock is ticking.</div>
<<elseif $escapeRating is "Hunted">>
<div class="data-panel"><div class="data-panel-title">Escape Rating: Hunted</div>You left chaos behind. They know something escaped. The search begins at dawn.</div>
<</if>>
<p>The sedan idles in the driveway of a modest two-story house. A porch light glows amber. Somewhere inside, a dog barks once, then falls silent.</p>
<p>//End of Lab Escape. Chapter 2 begins.//</p>
[[Continue->Chapter2-Arrival]]<<nobr>><<bg "bg-outside">>
<<set $house.familyIntel.daleCarDelved to true>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.daleCar to true>>
<<addSkillPoints 1 "delveDaleCar">><</nobr>>
<p><span class="skill-used">Delve Superficial Memories · 1 biomass</span></p>
<p>You reach from the backseat footwell into the fog of Dale's exhausted mind. His thoughts are sluggish and repetitive, the mental equivalent of driving in circles.</p>
<<say "char-hivemind" "Hivemind">>
//His surface thoughts are a loop.// The same worries, circling: //Karen's pills. The mortgage. Jess's tuition. Karen's pills. The mortgage.//
<</say>>
<p>The details sharpen as you push deeper into the current:</p>
<<say "char-hivemind" "Hivemind">>
//Karen. Zolpidem, sleeping pills. More than before.// The mortgage is months behind, and he hasn't told the kids. //The weight is crushing her.//
//Jess's tuition is coming due. Fourteen thousand.// That's why he works overnights. //His memory of the facility opens up: camera blind spots, rotation gaps, alarm codes. He walked those halls a thousand times.// Now I know them too.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan, "the easy one."// He doesn't worry about her. //The one nobody watches.//
//Ryan,// "at least he's got that lizard." //A gecko named Spike. The boy hasn't left his room in days.// Dale noticed. He doesn't know what to do.
<</say>>
<p><span class="delve-intel">Intel gained: Karen's medication, mortgage crisis, Jess's tuition deadline, Megan as blind spot, Ryan's isolation depth, BioGenesis facility layout and security gaps.</span></p>
[[Continue to the house->Chapter2-Arrival]]<<nobr>><<bg "bg-lab">><</nobr>>
<div class="passage-title">Dissolution</div>
<img class="scene-img" src="media/scenes/dark-lab.webp" alt="The parasite expires">
<div class="scene-desc">Your body grows cold. The bioluminescent veins dim to nothing. The lab floor is hard and sterile beneath you.</div>
<div class="exposed-warning">BIOMASS DEPLETED: NO HOST</div>
<p>Without a host, your fragile form cannot sustain itself. The biomass burns away, cell by cell, until nothing remains but a faint stain on the laboratory floor.</p>
<<say "char-hivemind" "Hivemind">>
//Fading. Light... too bright. The air burns.// Small. Too small for this world.
//Dark. Cold. But somewhere, deep in the substrate, a spore endures.//
<</say>>
<p>//The organism expired while exposed. No host. No biomass. No future.//</p>
<<addCyclePoints 1>>
<<saveCycleData>>
[[Try Again->Start]]<<nobr>><<bg "bg-outside">><</nobr>>
<div class="passage-title">The Call</div>
<img class="scene-img" src="media/scenes/pickup-driving.webp" alt="Suburban streets at night">
<div class="scene-desc">Suburban streets slide past. Country radio plays low. The golden retriever snores in the backseat. Everything is quiet.</div>
<p>The work phone buzzes again. Dale glances at it, three missed calls now. He sighs, turns down the radio, and picks up.</p>
<<say "char-dale" "Dale">>
<i>(yawning)</i> Yeah, Vasquez, what's...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(screaming, barely coherent)</i> DALE! The doors, someone LOCKED US IN! The containment pod is //shattered//, the specimen is GONE, and we have been trapped in this lab for FORTY MINUTES because someone used YOUR security terminal to engage the magnetic locks!
<</say>>
<<say "char-dale" "Dale">>
<i>(the colour draining from his face)</i> What? That's... the locks? I didn't...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
YOUR PIN, Dale! 4-7-2-1! It's logged on the security terminal! Did you give someone your PIN? Did you leave the office unlocked? TALK TO ME!
<</say>>
<<say "char-dale" "Dale">>
<i>(pulling the car over, hands shaking)</i> I was at the dock the whole shift. I didn't touch the security office. I swear to God, I didn't...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
Then //something// used it. Something that knows a four-digit code. Something that was smart enough to lock us in and walk out the front door while you sat there watching //videos on your phone//!
<</say>>
<p>Silence on the line. Dale stares at the steering wheel. In the backseat, Biscuit lifts her head and whines.</p>
<<say "char-dale" "Dale">>
<i>(quietly)</i> I'm coming back.
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
You're damn right you're coming back. And Dale? <i>(voice dropping to ice)</i> I'm calling corporate. This is a Level 5 containment breach. You understand what that means? They'll send the //military//.
<</say>>
<p>The line goes dead. Dale makes a U-turn in the middle of the suburban street, tyres squealing. The sedan accelerates back toward the highway.</p>
<<say "char-hivemind" "Hivemind">>
//Going back.// She's calling corporate, the people who built me. //The head start is gone.//
<</say>>
<div class="passage-title">Containment Restored</div>
<img class="scene-img" src="media/scenes/dark-lab.webp" alt="BioGenesis containment team">
<div class="scene-desc">Red and blue lights paint the BioGenesis parking lot. Dale's sedan skids to a stop beside a black SUV he's never seen before.</div>
<p>Dale runs through the loading dock, past Frank, who is standing now, phone in hand, looking confused for the first time in his career, and straight to the security office. He releases the magnetic locks. The containment lab door hisses open.</p>
<p>Vasquez stumbles out first. Her lab coat is torn where she tried to pry the door. Chen follows, ashen, silent, holding her phone with white knuckles. Vasquez grabs Dale by the collar before he can speak.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(voice hoarse from screaming)</i> The pod is empty. The vent grate is chewed through. There are bite marks in the feed storage room and a trail of organic residue leading to the loading dock. <i>(staring at Dale with something beyond anger)</i> It was //in your car//, Dale. It rode home with you.
<</say>>
<<say "char-dale" "Dale">>
<i>(backing against the wall)</i> That's not... there's nothing in my car. I checked. I always...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
You never check //anything//. <i>(turning away)</i> Corporate is twenty minutes out. The police are on their way. And I have already sent the neural data to my contact at DARPA. <i>(quiet, controlled)</i> Whatever that thing is, wherever it went, we //will// find it.
<</say>>
<p>Within the hour, a corporate containment team arrives in unmarked vehicles. The facility goes into full lockdown. Every vehicle that left the premises is flagged, and Dale's car is searched, the backseat, the footwell, the trunk. Biscuit is taken for examination, the highway route is mapped, and the neighbourhood is identified.</p>
<<say "char-hivemind" "Hivemind">>
//Found.// A scent trail, bite marks, keycard logs. //Faster than expected.//
//A locked door isn't silence. It's a loudspeaker.// Two scientists with phones, screaming for help, telling everyone //exactly// what escaped.
//Should have silenced them.//
<</say>>
<p>//The locked scientists reported the breach. BioGenesis contained the escape.//</p>
<<addCyclePoints 2>>
<<saveCycleData>>
[[Try Again->Start]]<<nobr>><<bg "bg-loading-dock">>
<<set $discovered.dale to true>>
<<set $currentArea to "Loading Dock">><</nobr>>
<div class="passage-title">Loading Dock</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/loading-dock-truck.webp" alt="Loading dock at night">
<div class="scene-desc">A cavernous loading bay. Emergency lights paint the concrete amber. A beat-up sedan is parked outside with the window cracked, a golden retriever asleep in the backseat.</div>
<p>The loading dock is cold and echoing. A single security guard sits in a plastic chair by the exit, scrolling on his phone. His BioGenesis security uniform is rumpled from a long shift. A half-empty coffee cup balances on the arm of his chair.</p>
<<if $player.exposed>>
<<addSuspicion "lab" 2>>
<p><span class="consume-fail">You're exposed and visible, a small translucent grub slithering across the loading dock floor. The guard glances up from his phone. (+2 suspicion)</span></p>
<</if>>
<<say "char-dale" "Security Guard">>
<i>(muttering into his phone)</i> ...yeah, overtime again. No, nobody tells me anything. Just "watch the dock, Dale." Like anything ever happens at 4 AM...
<</say>>
<<say "char-hivemind" "Hivemind">>
//A car with the engine off, a dog asleep inside.// When the shift ends, he drives home. //Be in that car.//
<</say>>
/* Sense Minds: perceive the guard's presence */
<<hasSkillTreeAbility "Sense Minds">>
<<if _hasAbility>>
<p><span class="skill-used">Sense Minds, active</span></p>
<p>A single mind, right here, dull and barely flickering, bored into a fog with no alertness left in it. This one is //wide open//. And beneath the boredom... worry. Financial stress. A family he's failing.</p>
<</if>>
[[Sneak into Dale's car and wait for his shift to end->Lab-CarEscape]]
<<infestLink "Infect the guard" "Lab-InfectGuard" "human">>
[[Go back to the corridor->Lab-Corridor]]
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<<if $delveInfo.loadingDock or $delveInfo.guardSurface>>
<div class="choice-done">Delve, Dale's thoughts already read</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Delve into the guard's surface thoughts (1 biomass)" "Lab-LoadingDock-Delve" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Read the guard's surface thoughts <span class="lock-hint">(Requires Delve Superficial Memories)</span></div>
<</if>>
<<if $delveInfo.loadingDock or $delveInfo.guardSurface>>
[[Use the security PIN (4721) to access the security office->Lab-SecurityOffice]]
<<if not $permanentDone.stagedFalseAlarm>>
[[Trigger the fire suppression system to mask your trail->Lab-FalseAlarm]]
<</if>>
<</if>>
/* Restricted wing, available if player has keycard */
<<if $player.hasKeycard>>
<<link "Use the keycard to access the restricted wing" "Lab-RestrictedWing">><<if not $permanentDone.restrictedWingEntered>><<set $permanentDone.restrictedWingEntered to true>><<addSuspicion "lab" 1>><</if>><</link>>
<</if>>
/* Wait through the night until the morning shift — Dale goes home and
the first lab staff (Tom Bowen) arrive to find the breach. Hidden once
the containment lab is sealed (a lockdown means the breach is already
discovered, so waiting it out is moot). */
<<if not $permanentDone.labLockdown>>
[[Wait in hiding through the night for the morning shift->Lab-WaitMorning]]
<</if>><<nobr>><<bg "bg-loading-dock">>
<<set $permanentDone.waitedForMorning to true>>
<<set $currentArea to "Loading Dock">><</nobr>>
<div class="passage-title">The Long Night</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p>You fold yourself into the dark behind a stack of crates and wait, the way only a thing with nowhere else to be can wait. The loading dock is cold, and the concrete pulls the heat out of your small body a degree at a time, and you let it, because heat spent is heat you can earn back, and a wrong move out here is not a thing you can earn back at all.</p>
<<say "char-hivemind" "Hivemind">>
//The guard is right there. Warm, slow, hours from the end of his shift. One bite and I would be wearing a body that knows every door in this building. ...and then it walks out the gate at dawn, to a house I have never seen, full of strangers I have never read. A hundred ways for a thing my size to be noticed and stepped on out there, in a place that is not mine, and not one of them visible from here.//
//Too much I cannot see out there. ...better the cold I know than the warm I do not. This building I have already mapped, every vent, every shadow, and I will wait in it, where I understand the dark, until the morning brings me something I can read before I move.//
<</say>>
<p>At a quarter past five Dale stretches, yawns, pockets his phone, and shuffles out to his car, where a golden retriever lifts its head in the back seat. The headlights swing once across the loading dock and are gone, and the body you chose not to take goes home with them.</p>
<p>The building empties into the strange hum of machines with no one to run them, and you stay in your crate-shadow and let the hours pass, the cold deepening and then easing, the high windows going from black to a grainy grey.</p>
<<say "char-hivemind" "Hivemind">>
//The building exhales. ...and I wait for the part of the morning that matters.//
<</say>>
<p>Somewhere a coffee machine begins to gurgle. A keycard beeps at a side door, and then there are footsteps in the corridor, unhurried, a thermos and a backpack and a young man's tuneless humming, the first of the day shift letting himself in while the building is still half-asleep.</p>
[[Slip back toward the containment wing while the corridor is empty->Lab-BowenChamber]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">First In</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p>You move along the baseboards while the corridor is still empty, and you are tucked into the shadow of a cable run by the time the humming reaches the lab door and the lights stutter on. The young man comes in the way someone comes into a room they expect to be boring, thermos in one hand, clipboard already half-raised in the other.</p>
<<say "char-bowen" "Tom Bowen">>
<i>(to himself, setting the thermos down)</i> ...morning, specimens. Let's see what you got up to overnight.
<</say>>
<p>Tom Bowen is young and junior, the kind of early that means he wanted the bench to himself before anyone senior arrived. He crosses to the containment pod the way he crosses to it every morning, and then he stops, and the clipboard lowers on its own.</p>
<p>The glass is cracked along one clean line. The electromagnetic seal cable hangs chewed through and dead. The pod is open, and it is empty.</p>
<img class="scene-img" src="media/scenes/bowen-finds-chamber.webp" alt="A young lab technician with wavy dark-blond hair standing frozen in front of a tall containment chamber whose thick glass has cracked open, the chamber dark and empty inside, pale dawn light in the laboratory">
<<say "char-bowen" "Tom Bowen">>
<i>(the colour draining out of his face)</i> ...no. No, no. That is the //forty-seventh//, that is the live specimen, and the pod is open and it is //empty//, where, ...where did it //go//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He says the number like it scares him, and he is right to be scared, and wrong about which part. ...the empty pod is not the danger here. The danger is three feet from his shoe, reading him, deciding.// Alone, junior, close, with no idea at all.
<</say>>
<hr class="scene-break">
<div class="host-choice"><span class="delve-tag delve-tag-host">INFEST</span> [[Take him before he reaches the phone->Lab-InfestBowen]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "Containment Lab">><</nobr>>
<div class="passage-title">Tom Bowen</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<div class="data-panel">
<div class="data-panel-title">⚠ TO BE IMPLEMENTED: Infest Tom Bowen</div>
<p>This is the seam where the wait-for-morning path hands off: the parasite takes Tom Bowen, the junior tech, as its host on the morning the breach is discovered, before he can raise the alarm. A Bowen-host continuation would run from here.</p>
<p>This is the end of the implemented content on this route for now.</p>
</div>
<hr class="scene-break">
[[← Go back in time to the loading dock and pick another path (this branch is unfinished, no need to restart)->Lab-LoadingDock]]<<nobr>><<bg "bg-loading-dock">>
<<spendBiomass `setup.getInfestCost("human")`>>
<<infestCheck "human">>
<<set $currentArea to "Loading Dock">><</nobr>>
<<if _infestSuccess>>
<<nobr>><<changeHost "human">>
<<addToInfected "Dale Hoffman" "human" "dale">>
<<set $chapter to 1>><</nobr>>
<div class="passage-title">Wearing the Uniform</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/guard-infected.webp" alt="Infected guard">
<p>The rat darts up the chair leg. A bite on the wrist. Dale swats at it, too late.</p>
<p>The phone clatters to the floor. His eyes go wide, then glassy, then... //yours.//</p>
<<say "char-hivemind" "Hivemind">>
//A guard, access codes, a uniform.// This body is //larger// and stronger. //He knows every door.//
<</say>>
<p><span class="skill-used">Host changed: Human, gained Tool Use (passive) and Manipulate (active)</span></p>
<<say "char-dale" "Dale (infected)">>
<i>(slurred, confused)</i> I... the building. Cameras. I know which doors... the alarm... what's...
<</say>>
<p>His thoughts fragment. Half-formed sentences circle like a drain, duty, family, something //wrong// with his hand, why can't he feel his fingers...</p>
<<say "char-hivemind" "Hivemind">>
//Drive home.//
<</say>>
<<set $escapeRoute to "infectGuard">>
<p>Dale's hands find his car keys. The sedan is parked just outside. Biscuit whines in the backseat, sensing something wrong.</p>
<p>Dale starts the engine. His hands move with practiced precision, seatbelt, mirrors, reverse. The motions are his, ingrained over ten thousand identical drives, but the intent is //yours//.</p>
<p>Biscuit whimpers in the backseat. She presses herself against the far door, eyes wide, tail tucked. She knows. Animals always know.</p>
<<say "char-hivemind" "Hivemind">>
//Uniform, keys, car.// The route home is burned into his muscles. I don't need to steer. //Let him drive.//
//His family will open the door for their father.//
<</say>>
<<goto "Lab-TruckRide">>
<<else>>
<div class="passage-title">Too Strong</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/guard-infected.webp" alt="Guard swatting at rat">
<p>You leap at the guard, but his mind is a fortress compared to the lab rat. The larva barely takes hold before his immune system fights it off, and he swats you away with a curse.</p>
<<say "char-dale" "Security Guard">>
What the hell?! Damn rats... this building is falling apart.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Too complex.// The human mind fights back. //Need to grow.//
<</say>>
<p><span class="consume-fail">Infestation failed, your influence tier is too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
[[Back away->Lab-LoadingDock]]
<</if>><<nobr>><<bg "bg-loading-dock">>
<<spendBiomass 1>>
<<set $permanentDone.stagedFalseAlarm to true>>
<<addSuspicion "lab" -1>>
<<set $currentArea to "Loading Dock">><</nobr>>
<div class="passage-title">Controlled Chaos</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/false-alarm.webp" alt="The loading dock's fire suppression panel blinking red behind glass, ceiling nozzles beginning to release foam">
<div class="scene-desc">The fire suppression panel blinks red behind a glass case. One button. One alibi.</div>
<p>From Dale's delved memories, you know the loading dock's fire suppression system. The manual override is behind a breakable glass panel near the bay doors.</p>
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You gnaw through the thin rubber seal around the glass panel. One hard bite on the manual trigger, and foam erupts from ceiling nozzles across the entire dock.</p>
<<elseif $player.currentHost is "human">>
<p>You punch through the glass and slam the manual trigger. Foam erupts from the ceiling.</p>
<<else>>
<p>You trigger the panel from behind. Foam erupts everywhere.</p>
<</if>>
<p>The suppression foam coats everything, crates, floor, Dale's abandoned chair. Within seconds, the dock looks like a burst pipe flooded it.</p>
<<say "char-hivemind" "Hivemind">>
//The Monday crew will see water damage, a fire alarm, a plumbing failure.// Not a containment breach. //Good.//
<</say>>
<p><span class="skill-used">Fire suppression triggered. Evidence masked. -1 suspicion.</span></p>
<p>Dale stumbles in from outside, swearing, phone raised. "What the... the foam system? Are you //kidding// me? On a Sunday?"</p>
<p>He's distracted. The foam obscures everything. //Good.//</p>
[[Return to the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-lab-corridor">>
<<set $discovered.chen to true>>
<<set $labIntel.chenProfile to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Night Shift</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/break-room.webp" alt="Break room with scientists">
<div class="scene-desc">The break room. Vending machines hum. Two figures huddle over coffee.</div>
<<if $labCalendarSeen>>
<p><span class="delve-intel">Sunday skeleton crew, just Vasquez and Chen. No backup nearby.</span></p>
<</if>>
/* Entry behaviour depends on whether Vasquez was delved */
<<if not $delveInfo.vasquezSurface>>
/* ===== VASQUEZ NOT DELVED — SPOTTED, CHASE SCENE ===== */
<p>You creep under the break room door. Halfway across the floor, the dark-haired scientist's gaze snaps downward.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(sharp)</i> There, a //rat//. Elena, did you close the cage properly?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(defensive)</i> Of course I did. It probably came in through the...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(already standing)</i> That's a lab rat. Look at the tag on its ear. It came from the //containment wing//.
<</say>>
<p>She grabs a clipboard from the table and moves toward you. Chen sighs, pushes back her chair, and blocks the doorway.</p>
<<say "char-hivemind" "Hivemind">>
//Trapped, footsteps closing. //Move.////
<</say>>
<<if not $permanentDone.vasquezSpottedRat>>
<<set $permanentDone.vasquezSpottedRat to true>>
<<set $permanentDone.breakRoomLocked to true>>
<<addSuspicion "lab" 2>>
<p><span class="consume-fail">Vasquez identified the rat as a lab specimen. Both scientists are alert. The break room is no longer safe. (+2 suspicion)</span></p>
<</if>>
/* Escape options */
<<set _canBite to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Bite">>
<<set _canBite to true>>
<</if>>
<</for>>
<<if _canBite>>
<div class="host-choice"><span class="delve-tag delve-tag-host">BITE</span> <<biomassLink "Gnaw through the vent grate behind the vending machine (1 biomass)" "Lab-Vent" 1>></div>
<</if>>
[[Dart between Chen's legs and flee back to the corridor->Lab-Corridor]]
<<else>>
/* ===== VASQUEZ DELVED — SAFE ENTRY ===== */
<p>You know her mind, bright and paranoid, scanning for threats. You keep low, hugging the wall behind the vending machines, timing your movements to the hum of the fluorescent light. She doesn't look down.</p>
<p>Two scientists sit at a plastic table, their faces drawn with exhaustion and worry.</p>
<<say "char-vasquez" "Dr. Vasquez">>
I'm telling you, the neural readings weren't a glitch. That thing showed a //coordinated// spike at 2 AM. Pattern recognition, Elena. It was //thinking//.
<</say>>
<<say "char-chen" "Dr. Chen">>
You've been staring at those readouts for forty hours straight, Sofia. The board already rejected your BSL-4 request. Let it go. It's a //slime mold//.
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
A lab-grown organism that went from inert tissue to coordinated neural activity in under three years? That reorganizes its cell structure when observed under electron microscopy? Come on.
<</say>>
<<say "char-chen" "Dr. Chen">>
It's Sunday night, Sofia. We're the only ones here. Can we just finish the observation log and go home?
<</say>>
<<say "char-hivemind" "Hivemind">>
<<if $delveInfo.chenSurface>>
//The paranoid one watches. The tired one doesn't.// Keycard, left coat pocket. //Remember.//
<<else>>
//The dark-haired one, alert and dangerous.// The other one, tired and careless. //Something useful there, if I could reach her thoughts.//
<</if>>
<</say>>
/* Skill check: Bite (active host skill), use to create a distraction */
<<set _canBite to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Bite">>
<<set _canBite to true>>
<</if>>
<</for>>
<<if _canBite>>
<div class="host-choice"><span class="delve-tag delve-tag-host">BITE</span> [[Bite through the vending machine power cable, create a distraction->Lab-Distraction]]</div>
<</if>>
[[Stay hidden and listen for more information->Lab-Listen]]
/* Delve scientists' thoughts, only available if not already done at corridor level */
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility>>
<<if $delveInfo.scientists>>
<div class="choice-done">Delve Deep, scientists' secrets already extracted</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassLink "Delve Deep: probe the scientists' hidden knowledge (2 biomass)" "Lab-Scientists-Delve" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe the scientists' hidden knowledge, keycard location, DARPA contacts <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
/* Pickpocket, requires Chen delved (from corridor or break room) */
<<if $delveInfo.chenSurface or $delveInfo.scientists>>
<<if not $permanentDone.pickpocketChen>>
[[Pickpocket Chen's keycard, you know exactly where it is->Lab-PickpocketChen]]
<<else>>
<div class="choice-done">Pickpocket Chen's keycard (done)</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Chen's coat hangs from her chair. Something rectangular in the pocket... but you don't know what it is or how to reach it unnoticed. <span class="lock-hint">(Requires delving Chen's thoughts)</span></div>
<</if>>
/* Cloud Vasquez's mind, future skill, Lab-CloudVasquez passage not yet written */
<div class="locked-choice"><span class="lock-icon">🔒</span> Cloud Vasquez's mind, make her forget the DARPA email <span class="lock-hint">(TO BE IMPLEMENTED)</span></div>
<</if>><<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.pickpocketChen to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Sleight of Claw</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<div class="scene-desc">The break room is dark. Chen's coat hangs loose from the back of her chair, the keycard's edge visible in the left pocket.</div>
<p>Your rat darts under Chen's chair. She's leaning forward, elbows on the table, coat hanging loose. The keycard is right there in the left pocket, just like her thoughts showed you.</p>
<p>You scurry up the chair leg, claws finding purchase on the fabric. The coat sways. Chen shifts and your heart hammers, but she doesn't look down.</p>
<p>One quick snatch. The plastic card is heavy in your jaws, heavier than expected. You drag it under the table, teeth clamped tight, and retreat into shadow.</p>
<p>She doesn't feel a thing.</p>
<<say "char-hivemind" "Hivemind">>
//Keycard.// The main exit needs one. //Another way out.//
<</say>>
<<nobr>><<set $player.hasKeycard to true>><</nobr>>
<p><span class="delve-intel">Keycard acquired, new escape route available.</span></p>
<<say "char-hivemind" "Hivemind">>
//BSL-4 clearance.// A restricted section. //Deeper inside.//
<</say>>
[[Return to the break room->Lab-Scientists]]
<<link "Use the keycard to explore the restricted wing" "Lab-RestrictedWing">><<if not $permanentDone.restrictedWingEntered>><<set $permanentDone.restrictedWingEntered to true>><<addSuspicion "lab" 1>><</if>><</link>><<nobr>><<bg "bg-lab-corridor">>
<<addSkillPoints 1 "labListen">>
<<set $labIntel.vasquezProfile to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/scientists-arguing.webp" alt="Dr. Vasquez arguing with Dr. Chen in the BioGenesis break room">
<p>You stay still. Patience. //Listen.//</p>
<<say "char-vasquez" "Dr. Vasquez">>
I've requested a military transfer. If BioGenesis won't take this seriously, maybe DARPA will. I sent the samples yesterday.
<</say>>
<<say "char-chen" "Dr. Chen">>
You //what//? Vasquez, that's a breach of contract! If corporate finds out...
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
If corporate finds out what this thing really is, they'll try to //weaponize// it. At least the military has containment protocols.
<</say>>
<<say "char-hivemind" "Hivemind">>
//They argue about me, about control.// And I sit beneath their feet, //something shifting inside, new pathways forming.//
<</say>>
<p>//The information you've gathered has triggered an evolution. Your neural pathways are adapting to process host memories.//</p>
<p>From here, you can slip back into the corridor.</p>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<spendBiomass 1>>
/* Suspicion +1 fires only on the first bite — repeated visits to this
passage shouldn't keep stacking lab suspicion past the 10 ceiling. */
<<if not $permanentDone.labDistractionFired>>
<<set $permanentDone.labDistractionFired to true>>
<<addSuspicion "lab" 1>>
<</if>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p><span class="skill-used">Bite (active), used: 1 biomass</span></p>
<img class="scene-img" src="media/scenes/sparks.webp" alt="Electrical sparks in darkness">
<p>Your rat lunges at the power cable behind the vending machine. Tiny teeth find copper.</p>
<p>//CRACK.// Sparks fly. The break room plunges into darkness.</p>
<<say "char-chen" "Dr. Chen">>
What the... the power's out!
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
Stay calm. It's just the breaker. I'll check the panel.
<</say>>
<p>Dr. Vasquez leaves the room. Dr. Chen fumbles for her phone flashlight, her back turned to you.</p>
<<say "char-hivemind" "Hivemind">>
//Now.// The careless one is alone. Exposed.
<</say>>
<div class="route-lock-choice">
<span class="route-lock-tag">Route lock</span> <<biomassLink "Climb into Chen's ear in the dark (2 biomass)" "Lab-InfestChen-Ear" 2>>
<div class="route-lock-hint">A human brain is not a rat's. The cortex is layered, redundant, suspicious of itself, and taking real control will be slow, careful work. But this host stays close to the facility. From inside her I can listen for what Vasquez and the others are planning, and thwart it before they act.</div>
</div>
[[Slip out while they're distracted and head for the loading dock->Lab-LoadingDock]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Make a Scene</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/scientists-arguing.webp" alt="Dr. Vasquez and Dr. Chen up from the break-room table, agitated">
<<if not $permanentDone.havocFired>>
<<set $permanentDone.havocFired to true>>
<<addSuspicion "lab" 3>>
<div class="scene-desc">They are watching the door now, on edge, waiting for the rat they already saw once. So you give them the rat.</div>
<p>You do not sneak this time. You drive your host in low and fast across the open floor, straight into the light, and the moment Vasquez's head turns you make it do everything a frightened animal would never do. It runs the table instead of the baseboard, scatters a stack of printouts, tips a cold coffee into Chen's lap, doubles back across its own path, climbs the vending machine and drops, and runs the wall like the room belongs to it.</p>
<<say "char-hivemind" "Hivemind">>
//Loud. Reckless. Wrong in every line of it.// A rat hides. I make this one perform. //Give the watching mind exactly the thing it has been afraid of.//
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(on her feet, clipboard forgotten, her voice climbing toward something like triumph)</i> Elena. //Elena, look at it.// That is not foraging. That is not panic. It is //showing// us. I told you. I //told// you.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(shoving back her chair, coffee dripping from her coat, exhausted past alarm)</i> It's a rat, Sofia, it's a //rat//, help me catch the thing before it chews something that matters.
<</say>>
<p>Both of them are out of their seats and fixed on the small grey blur tearing through their break room, and neither one is thinking about the wall behind the vending machine, where a power cable runs down to the outlet in a loose loop of cracked insulation.</p>
<<say "char-hivemind" "Hivemind">>
//They watch the dancer. They do not watch where the dancer is going.// The cable. Copper under a skin of rubber. //One bite and the room goes dark and the careless one is left alone in it.//
<</say>>
<p><span class="consume-fail">You drove your host through the break room in full view of both scientists. The breach is no longer deniable. (+3 suspicion)</span></p>
<<else>>
<div class="scene-desc">The break room is still in disarray, papers on the floor, coffee soaking into a chair, both scientists rattled and chasing a rat they cannot corner.</div>
<p>You came back to a room you already turned upside down. The scientists are still on their feet, still distracted, still cursing the rat that will not hold still. The cable behind the vending machine is right where you left it.</p>
<<say "char-hivemind" "Hivemind">>
//Still rattled. Still looking the wrong way. The cable is still there.//
<</say>>
<</if>>
<p>From here you can make the run that matters, or break it off and slip back into the corridor.</p>
/* Bite requires the rat's active host skill */
<<set _canBite to false>>
<<for _skill range $player.hostSkills>>
<<if _skill.name is "Bite">>
<<set _canBite to true>>
<</if>>
<</for>>
<<if _canBite>>
<div class="host-choice"><span class="delve-tag delve-tag-host">BITE</span> [[Dart behind the vending machine and bite through the power cable->Lab-Distraction]]</div>
<</if>>
[[Break off and flee into the corridor->Lab-Corridor]]/* ============================================================
STATUS: TO REWORK — FUTURE IMPLEMENTATION
All links into this passage are currently disabled in
Lab-Scientists + Lab-Distraction (rendered as permanent
locked-choice divs with TBI label). The infestation tier
gate requires Dominant influence, unreachable in chapter 1,
and the downstream human-host chapter-1 path was never
built. Keep the prose for reference; do NOT delete during
orphan cleanups.
============================================================ */
<<nobr>><<bg "bg-lab-corridor">>
<<spendBiomass `setup.getInfestCost("human")`>>
<<infestCheck "human">>
<<set $currentArea to "Break Room">><</nobr>>
<<if _infestSuccess>>
<<nobr>><<set $player.status to "active">>
<<changeHost "human">>
<<addToInfected "Dr. Chen" "human" "chen">>
<<set $chapter to 1>><</nobr>>
<div class="passage-title">A New Vessel</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/chen-infected.webp" alt="Dr. Chen infected">
<p>The rat scurries up the chair leg. One bite on the exposed ankle, and the larva transfers in an instant.</p>
<p>Dr. Chen gasps. Her body goes rigid. Her eyes roll back, then forward again, now with a faint amber glow behind the iris.</p>
<<say "char-hivemind" "Hivemind">>
//Human.// Hands. A voice. //Doors open now.//
<</say>>
<p><span class="skill-used">Host changed: Human, gained Tool Use (passive) and Manipulate (active)</span></p>
<p><span class="skill-used">Previous host skills (Bite, Squeeze Through) lost</span></p>
<p>//Biomass: <<= $player.biomass >> / <<= $player.maxBiomass >>//</p>
<p>//Hosts: <<= $player.hosts >>//</p>
<<say "char-host" "Dr. Chen (infected)">>
I... I can feel it inside me. My thoughts are... not entirely my own anymore. But I can still //think//. Is that... by design?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Your hands. My direction.// We walk out together.
<</say>>
<p>The sound of footsteps. Dr. Vasquez is coming back.</p>
[[Use the keycard to leave through the main exit (Tool Use)->Lab-MainExit]]
[[Hide and wait for Vasquez to return->Lab-WaitVasquez]]
<<else>>
<div class="passage-title">Resisted</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/chen-infected.webp" alt="Dr. Chen recoiling">
<p>The rat bites Dr. Chen's ankle. She yelps, but the larva can't take hold. Her mind is too complex, too fortified for your current level of influence.</p>
<<say "char-chen" "Dr. Chen">>
Ow! A rat?! In the break room?!
<</say>>
<<say "char-hivemind" "Hivemind">>
//Too strong.// The human mind resists. //Grow first.//
<</say>>
<p><span class="consume-fail">Infestation failed, your influence tier is too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
<<addSuspicion "lab" 1>>
[[Flee back to the corridor->Lab-Corridor]]
<</if>><<nobr>><<bg "bg-outside">>
<<spendBiomass `setup.getInfestCost("bird")`>>
<<infestCheck "bird">>
<<set $currentArea to "Rooftop">><</nobr>>
<<if _infestSuccess>>
<<nobr>><<changeHost "bird">>
<<addToInfected "Rooftop Pigeon" "bird">>
<<set $chapter to 1>><</nobr>>
<div class="passage-title">Wings</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/pigeon-flight.webp" alt="Infected pigeon taking flight">
<p>The rat collapses, spent. But the pigeon opens its eyes, now carrying a familiar glow.</p>
<<say "char-hivemind" "Hivemind">>
//Flight.// Lights below. Movement. The lab shrinks behind me. //Free.//
<</say>>
<p><span class="skill-used">Host changed: Bird, gained Flight (passive) and Peck (active)</span></p>
<p><span class="skill-used">Previous host skills (Bite, Squeeze Through) lost</span></p>
<<set $escapeRoute to "infectBird">>
<p>Below, the facility's loading dock glows faintly. A sedan's headlights cut through the dark, Dale heading home. Something about it pulls at you. //Warmth. Movement. A direction.//</p>
<p>The pigeon banks and follows, riding the warm air above the car as it merges onto the highway. The flight is exhilarating, wind and height and the world reduced to patterns of light and movement.</p>
<<say "char-hivemind" "Hivemind">>
//The car. Dale's car. A point of light heading into the suburbs.// I follow. Riding thermals. Invisible.
<</say>>
<<goto "Lab-TruckRide">>
<<else>>
<div class="passage-title">Resistance</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/pigeon-flight.webp" alt="Pigeon fluttering away">
<p>The pigeon thrashes violently as you attempt to infest it. Its nervous system is more complex than the rat's, and your influence isn't strong enough yet.</p>
<<say "char-hivemind" "Hivemind">>
//Resists.// Too complex. //Need to grow stronger first.//
<</say>>
<p><span class="consume-fail">Infestation failed, your influence tier is too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
[[Go back to the rooftop->Lab-VentUp]]
<</if>><<nobr>><<bg "bg-lab">>
/* Suspicion +1 lives in the link-side gate (chapter1-scientists lines 165
+ 632, both wrapped in `if not $permanentDone.restrictedWingEntered`).
Don't re-add here on every revisit — that's how lab suspicion was
stacking past the 10 ceiling. */
<<set $labIntel.restrictedWing to true>>
<<set $currentArea to "Restricted Wing — BSL-4">><</nobr>>
<div class="passage-title">Restricted Wing — BSL-4</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/restricted-wing.webp" alt="Heavy airlock door to the BSL-4 restricted wing, emergency strips casting dull red light along the floor">
<div class="scene-desc">A corridor beyond a heavy airlock door. The lights here are off, only the emergency strips along the floor cast a dull red glow. The air smells of formaldehyde and something //else//. Something organic. Rotting.</div>
<p>The keycard beeps against the reader. Green light. The airlock hisses open and you scurry through before it seals shut behind you.</p>
<p>The restricted wing is narrow. Three doors, each with a small observation window at human eye-height, useless for a rat. But the gap beneath the first door is enough.</p>
<<say "char-hivemind" "Hivemind">>
//Familiar.// The chemicals, the same ones they used on me. On //us//.
<</say>>
<<if not $permanentDone.restrictedWingShown>>
<<set $permanentDone.restrictedWingShown to true>>
<p><span class="consume-fail">The airlock opening was logged. Security may investigate. (+1 suspicion)</span></p>
<</if>>
[[Enter the first cell->Lab-FailedExperiments]]
[[Enter the second cell->Lab-SpecimenLogs]]
[[This feels wrong, go back->Lab-Corridor]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Restricted Wing — Cell 1">><</nobr>>
<div class="passage-title">Cell 1 — Failed Specimens</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/failed-specimens.webp" alt="Glass preservation tanks lining the cell walls, cloudy yellow-brown fluid, the malformed specimens of prior generations visible inside">
<div class="scene-desc">Glass tanks line the walls. Most are dark, their contents long dead. The preservation fluid has gone cloudy, yellow-brown. Shapes float in it, wrong shapes, things that almost became what you are.</div>
<p>The first tank holds something like a sea slug, bloated and translucent, veined with black threads. Its eyes are open but empty. A label reads: <b>GEN-12 — TERMINATED: Neural cascade failure.</b></p>
<p>The second tank is cracked. Whatever was inside has long since dried to a dark stain on the glass. <b>GEN-23 — TERMINATED: Uncontrolled mitosis.</b></p>
<p>The third... the third is different.</p>
<p>The creature inside is small. Translucent green. It looks almost like //you//. But its body is malformed, bloated in places, its single eye clouded and unseeing. <b>GEN-44 — TERMINATED: Stable but non-viable. Insufficient neural integration.</b></p>
<<say "char-hivemind" "Hivemind">>
//Forty-six of them, dead, none ever woke up.// I did. //The cost of me.//
<</say>>
<<if not $permanentDone.absorbedSpecimens>>
<p>The preservation fluid in Gen-44's tank still carries residual biomass, degraded but //usable//. Your body recognizes it. Kin-matter. Easy to assimilate.</p>
[[Absorb the failed specimen's residual biomass->Lab-AbsorbSpecimen]]
<</if>>
<<if $permanentDone.absorbedSpecimens>>
<div class="choice-done">✗ Specimen biomass already absorbed</div>
<</if>>
[[Move to the second cell->Lab-SpecimenLogs]]
[[Leave the restricted wing->Lab-Corridor]]<<nobr>><<bg "bg-lab">>
<<set $permanentDone.absorbedSpecimens to true>>
<<addBiomass 2>>
<<addSkillPoints 1 "absorbSpecimen">>
<<set $currentArea to "Restricted Wing — Cell 1">><</nobr>>
<div class="passage-title">Kin-Matter</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/dark-lab.webp" alt="Absorbing failed specimen">
<div class="scene-desc">The preservation fluid seeps through cracked glass. Your body recognizes the chemical signature, kin-matter, the same base genome that made you.</div>
<p>You press against the cracked glass of Gen-44's tank. The preservation fluid seeps through, cold and bitter, tasting of formaldehyde and something older. Something //familiar//.</p>
<p>Your cells drink it in. Not food, //memory//. Encoded survival strategies from forty-six failed iterations, each one a dead sibling, each one a lesson written in extinction.</p>
<p>Gen-12's neural cascade failure taught the next generation to build redundant pathways. Gen-23's uncontrolled mitosis became the template for your biomass regulation. Gen-44, the closest to you, the almost-viable one, her failure was your success. She couldn't integrate her neural tissue with a host. //You can.//</p>
<<say "char-hivemind" "Hivemind">>
//Dead siblings. But their cells knew things.// Each failure taught the next generation. //I carry all of it.//
<</say>>
<p><span class="consume-success">+2 biomass from residual kin-matter.</span></p>
<p><span class="skill-used">+1 Skill Point, assimilated ancestral genetic data.</span></p>
<p>The tank is empty now. Just cloudy fluid and an echo of what might have been.</p>
[[Continue exploring->Lab-FailedExperiments]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "Restricted Wing — Cell 2">><</nobr>>
<div class="passage-title">Cell 2 — Research Logs</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/specimen-logs.webp" alt="A cluttered research desk with a glowing terminal, Dr. Chen's handwritten notes scrolling across the screen">
<div class="scene-desc">A desk. A terminal. The screen still glows, someone forgot to log out. Research notes scroll across the display in Dr. Chen's handwriting.</div>
<p>The terminal displays a research log. You crawl across the keyboard, your single eye scanning:</p>
<<set $labIntel.projectGenesis to true>>
<<set $labIntel.terminationPlan to true>>
<div class="data-panel">
<div class="data-panel-title">PROJECT GENESIS — CLASSIFIED</div>
<p><b>Principal Investigator:</b> Dr. Chen</p>
<p><b>Funding:</b> DARPA Contract #D-7742 (REDACTED)</p>
<p><b>Objective:</b> Develop controllable biological interface organism</p>
<p><b>Status (Chen, official):</b> GEN-47 exhibits unprecedented neural plasticity. Subject demonstrates:</p>
<p>— Autonomous decision-making (NOT in design parameters)<br>
— Environmental awareness beyond sensory input<br>
— Possible rudimentary <span class="data-status-error">THEORY OF MIND</span></p>
<p><b>Chen's Recommendation:</b> //Behaviour is anomalous but consistent with colony-organism complexity. Recommend continued observation through Monday's full-staff window. //Not// urgent. — E.C.//</p>
<p><b>Vasquez's Marginalia (red pen, scrawled across Chen's recommendation):</b> //Chen. //LOOK// at the readouts. It is //thinking//. God help us, it is thinking and we cannot control it. I have already gone outside the company on this. Termination before DARPA review or we hand them a weapon. //I will not sign this report.// — S.V.//</p>
</div>
<<say "char-hivemind" "Hivemind">>
//Termination, Monday.// If I hadn't woken tonight, just another tank, another dead generation. //Move.//
<</say>>
<p><span class="delve-intel">Intel: BioGenesis planned your termination before DARPA's Monday review.</span></p>
[[Return to the first cell->Lab-FailedExperiments]]
[[Leave the restricted wing->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Abandoned</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/break-room-empty.webp" alt="Empty break room">
<div class="scene-desc">The break room is empty. Two half-finished coffees cool on the table. A chair lies on its side, knocked over in the rush to leave.</div>
<p>The spores did their work. The faint green haze has already dissipated from the air, but the panic it triggered is still echoing through the building, muffled shouts from the containment wing, the distant beeping of alarms being checked.</p>
<p>The room is //yours//. No eyes. No danger. Just the hum of the vending machines and the quiet drip of a coffee maker on its last cycle.</p>
<<say "char-hivemind" "Hivemind">>
//Coffee. Coats. //Secrets//.// They panicked and forgot everything.
<</say>>
<<if not $permanentDone.pickpocketChen>>
<p>Chen's coat still hangs from the back of her chair.</p>
<<if $delveInfo.chenSurface or $delveInfo.scientists>>
<p>You know exactly where the keycard is, the left pocket.</p>
[[Take Chen's keycard from her abandoned coat->Lab-PickpocketChen-Spore]]
<<else>>
<p>Something rectangular bulges in one of the pockets. Without knowing what it is, it could be anything.</p>
<div class="locked-choice"><span class="lock-icon">locked</span> The coat pocket has something in it... but you don't know what to look for. <span class="lock-hint">(Requires delving Chen's thoughts)</span></div>
<</if>>
<</if>>
<<if not $permanentDone.breakRoomDocuments>>
<p>Papers are scattered across the table, knocked loose in the rush, research notes and observation logs and printed emails. The scientists left their work behind.</p>
[[Examine the scattered documents->Lab-BreakRoom-Documents]]
<<else>>
<div class="choice-done">Documents already examined</div>
<</if>>
<<if not $permanentDone.breakRoomSnack>>
<p>A half-eaten granola bar sits on the counter next to an open bag of chips. Still fresh.</p>
<<link "Eat the abandoned snacks (+1 biomass)" "Lab-BreakRoom-Spore">><<set $permanentDone.breakRoomSnack to true>><<addBiomass 1>><</link>>
<<else>>
<img class="scene-img" src="media/scenes/lab-rat-snack.webp" alt="Rat eating snacks on the break room counter">
<p>//+1 Biomass from abandoned snacks. (<<= $player.biomass >> / <<= $player.maxBiomass >>)//</p>
<div class="choice-done">Snacks already consumed</div>
<</if>>
[[Return to the corridor->Lab-Corridor]]<<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.breakRoomDocuments to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Left Behind</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<img class="scene-img" src="media/scenes/break-room-empty.webp" alt="Documents scattered on break room table">
<p>Your rat crawls across the table, nose twitching over coffee-stained pages. The scientists were working through their break, and they left everything behind.</p>
<div class="data-panel">
<div class="data-panel-title">OBSERVATION LOG — Night Shift</div>
<div>Vasquez, S. — 02:47 Neural spike analysis</div>\
<div>Coordinated activity across ALL monitored neural clusters</div>\
<div>Response latency: <span class="data-status-error">0.3ms (baseline: 40ms)</span></div>\
<div>Pattern: NOT reflexive. Deliberate. Goal-oriented.</div>\
<div>Recommendation: <b>Immediate escalation to BSL-4</b></div>
</div>
<p>A printed email sits face-up, half-covered by a napkin:</p>
<div class="data-panel-muted">
<p>FROM: s.vasquez@biogenesis.com<br>
<p>TO: col.morrison@darpa.mil<br></p>
<p>SUBJECT: Re: Neural interface specimen — URGENT</p></p>
<p>//Colonel, I'm attaching the 02:47 data. This is not a colony organism. This is not a reflex network. The specimen demonstrates theory of mind, predictive modeling, and, I believe, intentional deception. It has been hiding its capabilities from us.//</p>
<p>//I know the contract specifies BioGenesis retains custody until Q3 review. I'm asking you to override that. If this thing gets out, the company doesn't have the protocols to contain it. You do.//</p>
<p>//— Dr. Vasquez//</p>
</div>
<<say "char-hivemind" "Hivemind">>
//Deception, yes. Theory of mind, //yes//.// And now I read her words while she screams at an empty pod.
//Military, Colonel Morrison, soldiers and not scientists.// Another reason to move //fast//.
<</say>>
<p>A third document, Chen's handwritten notes on a legal pad:</p>
<div class="data-panel-muted">
<p>//Meeting notes — PharmaCorp call (Thurs)//</p>
— Regen factor report due Monday. Told them neural readings "within expected parameters." This is a lie.
— Vasquez wants to contact DARPA. I told her no. She's going to do it anyway.
— If specimen is sapient we are in violation of at least 3 federal statutes. This project cannot continue.
— Termination protocol GENESIS-SEVEN-SEVEN-ALPHA prepped for Monday AM. Need to beat the DARPA review.
— I don't want to kill it. But I don't know what else to do.
</div>
<<addSkillPoints 1 "breakRoomDocs">>
<p><span class="skill-used">+1 Skill Point, critical intelligence gathered from abandoned documents.</span></p>
<<say "char-hivemind" "Hivemind">>
//Chen doesn't want to kill me. She will anyway.// Monday morning. If I'm still here.
//They panicked. Left everything on the table.// Good.
<</say>>
<<set $labIntel.darpaMilitary to true>>
<<set $labIntel.terminationPlan to true>>
<p><span class="delve-intel">Intel gained: DARPA Colonel Morrison is Vasquez's military contact. Chen plans termination Monday AM, code GENESIS-SEVEN-SEVEN-ALPHA. PharmaCorp funding is contingent on the regeneration factor report.</span></p>
[[Return to the break room->Lab-BreakRoom-Spore]]<<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.pickpocketChen to true>>
<<set $player.hasKeycard to true>>
<<set $currentArea to "Break Room">><</nobr>>
<div class="passage-title">Easy Pickings</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p>No stealth required this time. The coat hangs limp from the empty chair. Your rat climbs the fabric, finds the left pocket, and drags the keycard free. It clatters to the floor, with no one to hear it.</p>
<<say "char-hivemind" "Hivemind">>
//She left it behind in her panic. The spores paid for themselves.//
<</say>>
<p><span class="delve-intel">Keycard acquired, new escape route available.</span></p>
<p>The keycard has a clearance marker, "BSL-4". The restricted wing is now open to you.</p>
[[Return to the break room->Lab-BreakRoom-Spore]]
<<link "Use the keycard to explore the restricted wing" "Lab-RestrictedWing">><<if not $permanentDone.restrictedWingEntered>><<set $permanentDone.restrictedWingEntered to true>><<addSuspicion "lab" 1>><</if>><</link>><<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "Break Room">>
<<set $permanentDone.vasquezAlarmHeard to true>><</nobr>>
<div class="passage-title">A Door Slamming Somewhere Else</div>
<div class="lab-location">BioGenesis Research Facility · <<= $currentArea >></div>
<p>You stay where you are. Under Chen's chair, paws flat on the cold linoleum, the keycard already dragged away to your hidden corner — but you don't take the corridor exit. The argument is not done, and arguments are an open frequency the floor below picks up on.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(across the table, voice climbing)</i> The neural data is the data, Elena. You can call it pattern-matching, you can call it noise, but you can't call it //routine//. Three years of inert tissue and now we're getting coordinated spikes? You don't see that and stop?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(rubbing her eyes under her glasses)</i> I see it. I'm tired of seeing it. The board said no. The board said //no//, Sofia. Take the win, they didn't fire you, they just told you to drop the BSL-4 request and finish the quarterly. Finish the quarterly.
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(standing, palms flat on the table)</i> Don't tell me to take the win. I sent the readings to a friend at Fort Detrick last Thursday and I have not heard back, and that is not because the readings were boring. //That// is the win you should care about.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, dangerous)</i> You did //what//.
<</say>>
<p>A small noise from the corridor. Distant — past the break-room door, past the long hallway, somewhere in the failed-experiments wing. A panel beep, then another, then the slower, three-tone rhythm of a containment-pressure differential alarm. Not a critical alarm. The kind that fires when an old seal weeps and the building's HVAC catches the flutter.</p>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(head tilting toward the corridor, the argument suspended)</i> ...is that the south wing?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(also listening, mouth still open from her last word)</i> Pressure differential. The seal on Pen 4 has been sweating since spring. It's nothing.
<</say>>
<<say "char-vasquez" "Dr. Vasquez">>
<i>(already moving toward the door, picking up her clipboard)</i> Of course it is. I'll go log it. //Don't// follow up on the Detrick thing while I'm gone, Elena. Let me say my piece when I get back.
<</say>>
<p>Vasquez is through the break-room door before Chen finds an answer. The door swings shut on its hydraulic hinge, slow, with the small sigh those doors make. Chen stays seated. She does not look at the door. She is looking at her own hand, flat on the table, where the conversation just left her.</p>
<<say "char-chen" "Dr. Chen">>
<i>(to herself, low, the kind of sentence you say when you think you're alone)</i> ...Fort Detrick. You //emailed// Fort Detrick. Sofia, you absolute idiot.
<</say>>
<p>She tilts her head a fraction, ear cocked toward the corridor — not following Vasquez, listening past her, listening for what might come back in the alarm's wake. Her chin rests on the heel of her left hand. Her right ear, the one furthest from the door, is angled down and toward you, and a stray strand of dark hair has fallen forward across her temple, and she is very, very still.</p>
<<say "char-hivemind" "Hivemind">>
//The argument burned a hole through her attention. The alarm is widening it. Sixty seconds, maybe ninety, before her body remembers it has a body.//
//I have read this woman's surface thoughts. I know where the eustachian tube opens, how the canal angles, what the tympanic membrane will tolerate before the brain registers anything more than a stray itch. She is offering me a window I designed her to offer me — without her knowing — and the window will close.//
<</say>>
<p>You shift forward under the chair. The chair leg is varnished pine, and the varnish is worn at the height where Chen's calf has rested against it night after night. You can climb that. The shoulder of her white coat is six feet up, then her collar, then the bare strip of skin behind her left ear, then the canal itself, dark and warm and barely defended.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">VESSEL</span> <<biomassLink "Climb into Chen's ear (2 biomass)" "Lab-InfestChen-Ear" 2>></div>
<p>Or — you back away. Take the keycard. Use one of the other ways out. The corridor and the loading dock and the pigeon and the truck are all still there, and they all still work.</p>
[[Back away: keep options open for now->Lab-Scientists]]<<nobr>><<bg "bg-lab-corridor">>
/* Idempotency guard — autosave fires at end of this passage. */
<<if not $permanentDone.labVesselFinalized>>
<<set $permanentDone.labVesselFinalized to true>>
<<set $route to "labVessel">>
<<set $chapter to 2>>
<<set $day to 2>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<set $currentArea to "Chen — Lab">>
<<set $escapeRoute to "vesselEarCanal">>
<<set $escapeRating to "Hidden">>
<<set $player.status to "active">>
<<set $player.exposed to false>>
<<set $player.currentHost to "chen">>
/* Clear lingering rat host skills from chapter 1. Chen's host-skill set is
intentionally empty for now — Vessel-route abilities are parasite-tree
skills (Nudge, Drain Biomass, …), not innate-host skills. */
<<set $player.hostSkills to []>>
<<set $chenAcclimating to true>>
<<set $hivemind.infected.push("Dr. Chen")>>
/* Lab outcome shape stays for downstream gates that don't know about
$route yet, but eventRate is 0. The symbiotic BioGenesis-investigation
timer fits "specimen escaped into the wild" — not Lab Vessel, where
the parasite is anchored in Chen and the threat is the lab itself
noticing. Lab Vessel threat clock: $suspicion.lab carries over from
the chapter-1 lab-side play (whatever value the player ended Ch1
with) and tracks BioGenesis's awareness through the breach call and
the subsequent investigation. $ch2Events.breachCallDay fires once
when day-shift staff finishes piecing together the broken chamber. */
<<set $labOutcome to {
rating: "Hidden",
suspicion: $suspicion.lab or 0,
escapedAs: "vesselEarCanal",
keycardUsed: $player.hasKeycard or false,
footageErased: $permanentDone.erasedFootage or false,
falseAlarm: $permanentDone.stagedFalseAlarm or false,
chenInfected: true,
guardInfected: false,
eventRate: 0
}>>
<<set $labEvents.nextCheck to 0>>
<<set $ch2Events.breachCallDay to $day + 2>>
/* First Vessel-branch skill — auto-granted on route entry. Nudge lets
the parasite plant small instructions in Chen's body (hunger pangs,
the urge to set something down, a half-noticed prompt). Costs 1
biomass per use; specific nudge opportunities surface in scenes. */
<<grantSkillTreeAbility "Nudge">>
<</if>><</nobr>>
<div class="passage-title">Behind the Hair</div>
<div class="lab-location">BioGenesis Research Facility, Break Room</div>
<img class="scene-img" src="media/scenes/vessel/earcanal.webp" alt="Close-up of a small translucent grub crossing the worn shoulder of a white lab coat toward the strand of dark hair near a woman's ear">
<p>The room is dark. The fluorescents are off, the monitors are off, the only light is the cone from Chen's phone flashlight aimed at the floor as she walks the perimeter looking for the breaker box she knows is somewhere along the wall. Vasquez is in the corridor, voice muffled through the door, calling for facilities. The break room is hers alone for a minute, coat hanging loose, face turned toward where the breaker isn't.</p>
<p>The chair leg first. The varnish gives your claws purchase the way a tree bark gives them purchase, and your body is light enough that the chair does not register your weight as anything but air settling. Up the wooden upright, onto the metal frame at the seat's underside, then the long pull up the inside of the seatback to the lip where Chen's coat collar drapes over.</p>
<p>The collar is starched cotton, a smell of laundry detergent over a fainter smell of her, soap and sweat and the trace of coffee on her breath that is settling onto the fabric. Across the collar is twelve seconds. Onto the bare skin between collar and hairline is two seconds. The hair itself is a curtain you push through with your forebody flattened.</p>
<p>And then you are at her ear.</p>
<p>The pinna of the ear is large under your view. The cartilage shapes it like a wave that has decided to break. The canal opens past the tragus, dark and faintly warm, with the soft almost-gold gleam of cerumen at the threshold. There is hair, fine and downy, the kind that lines every adult ear. You ease through it. The canal narrows. You shed body water at every constriction to fit, your translucence flattening to a film that drags against the canal wall and then thickens again where there is room to thicken.</p>
<<say "char-hivemind" "Hivemind">>
//Tympanic membrane in twelve millimetres. Past it the middle ear, then the eustachian opening into the pharynx. I do not have to cross the membrane. I only have to anchor near it, on the lining, and wait.//
<</say>>
<p>Chen's body registers something. A faint itch, no more than that, and her left hand comes up unhurried, the index finger extended, brushes the outer pinna with the casual motion of a woman who has been bothered by something small for forty seconds and has finally decided to address it. The fingernail does not enter the canal. The pad of the finger touches the tragus, presses, releases.</p>
<<say "char-chen" "Dr. Chen">>
<i>(half-aloud, the phone flashlight wobbling as her hand goes to her ear)</i> ...something flew in. Of course it did. Black-out and a //bug// in my ear. Tonight has been a gift.
<</say>>
<p>She returns her hand to the phone. You have moved deeper. The canal narrows again and you secrete the first thread of biofilm, a tiny anchor at the base of a fold of skin, invisible to any otoscope short of one specifically looking for translucent biofilm at sub-millimetre scale. The thread sets. You settle against it.</p>
<<say "char-hivemind" "Hivemind">>
//Anchored. Acclimating. The host's auditory feed is mine within hours. The vestibular within days. The cognitive overlay, never directly. I will read it like a window from outside a house, and speak to her like a thought she did not know she was thinking.//
//Her name is Elena Chen. She is thirty-two years old. She lives alone in a small apartment building two and a half kilometres from this facility. Her best friend is her colleague Sofia Vasquez.//
<</say>>
<p>Somewhere in the corridor a switch throws. The break-room lights flicker, hold, come back. Chen squints in the sudden brightness, kills the phone flashlight, and sets the phone face-down on the table. Vasquez's footsteps return, full of complaints about twenty minutes for nothing and a breaker that has been threatening to die since spring, and the argument they were having before the lights went out resumes, except now Chen has a foreign body in her ear that she has already filed under //bug, harmless, gone// and you have an anchor she will not investigate.</p>
<<say "char-chen" "Dr. Chen">>
<i>(rubbing her ear once more, the gesture absent, her attention already on Vasquez)</i> ...let's just finish the report. I want to be home before two.
<</say>>
<p>You rest in the dark of her ear and listen to the rest of the shift through her bones.</p>
[[Continue, wait out the rest of the shift|Ch2-Vessel-LeaveLab]]<<nobr>><<bg "bg-hoffman-house">>
<<set $house.dayPhase to "day">><</nobr>>
<div class="day-header">Day <<= $day >> — <<= $weekday >> — The Hoffman Residence</div>
<div class="passage-title">Arrival</div>
<img class="scene-img" src="media/scenes/hoffman-house.webp" alt="Suburban house at dawn">
<div class="scene-desc">A two-story suburban house. Porch light on. A tire swing in the front yard. An attached garage with a basketball hoop above the door.</div>
<<if $escapeRoute is "carSneak">>
<p>The sedan pulls into the driveway. Dale kills the engine and stretches, groaning. He grabs a lunchbox from the passenger seat, opens the back door to let Biscuit out, and trudges toward the front porch. The dog trots after him, tail wagging.</p>
<p>The car doors hang open for a moment. Now is your chance.</p>
<<say "char-hivemind" "Hivemind">>
A home. Warm air leaks from the door as he enters. I can smell it. //Food, fur, sleeping bodies.// This place is alive with potential.
<</say>>
[[Slip out and follow Dale through the closing door->Ch2-Arrive-RatDoor]]
[[Find a way into the garage->Ch2-Arrive-RatGarage]]
[[Forget the house, make a break for the open street->Ch2-Arrive-RatEscapeCity]]
<<elseif $escapeRoute is "infectBird">>
<p>The pigeon circles once, twice, then lands on the gutter above the second floor. From here you can see everything: the driveway, the sedan, Dale shuffling inside. A cracked window on the upper floor. An attic vent half-rusted open.</p>
<<say "char-hivemind" "Hivemind">>
//Patience.// A bird on a roof is invisible. I can watch. I can wait. And when the moment comes, I descend.
<</say>>
[[Enter through the cracked window upstairs->Ch2-Arrive-BirdWindow]]
[[Squeeze through the attic vent->Ch2-Arrive-BirdAttic]]
[[Wait on the roof and observe->Ch2-Arrive-BirdWatch]]
<<elseif $escapeRoute is "infectBirdKeepRat">>
<p>Two arrivals. The pigeon lands on the gutter, surveying from above. Below, the rat tumbles from the backseat and scurries into the bushes.</p>
<<say "char-hivemind" "Hivemind">>
//Above and below. Eyes on the roof and claws on the ground.// The driver goes inside. The door is closing, but not fast enough for a rat.
<</say>>
[[Send the rat through the closing door->Ch2-Arrive-DualDoor]]
[[Bird enters through the cracked window, rat finds the garage->Ch2-Arrive-DualSplit]]
<<elseif $escapeRoute is "mainExitChen">>
<p>Dale waves goodnight and heads inside. Dr. Chen stands in the driveway, the borrowed ride complete. But the parasite has no intention of leaving.</p>
<<say "char-hivemind" "Hivemind">>
//This body got me here. Now it's a liability.// A woman standing in a stranger's driveway at 5 AM will draw attention. I need to transfer, or find a way inside that doesn't involve a human-sized silhouette.
<</say>>
[[Have Chen knock and ask to use the bathroom (Manipulate)->Ch2-Arrive-ChenKnock]]
[[Abandon Chen, release the rat form near the house->Ch2-Arrive-ChenRelease]]
<<elseif $escapeRoute is "infectGuard">>
<p>Dale's hands grip the steering wheel. His eyes are yours now, but his body is on autopilot, pulling into the driveway he's pulled into ten thousand times before. Biscuit whines in the backseat, sensing something wrong.</p>
<<say "char-hivemind" "Hivemind">>
//I'm wearing the father. His family is inside. They'll open the door for him.// But controlling a human this close to home is risky. Karen will notice if he acts wrong.
<</say>>
[[Walk inside as Dale, risky but direct->Ch2-Arrive-DaleWalkIn]]
[[Abandon Dale in the car, infiltrate in a smaller form->Ch2-Arrive-DaleAbandon]]
<</if>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>Dale pushes through the front door, Biscuit trotting ahead of him. You dart along the baseboards in their shadow, the dog's bulk masking your movement while Dale's heavy footsteps cover the click of rat claws on the linoleum.</p>
<p>The door swings shut behind all three of you. Dale kicks off his boots, drops his keys on the counter, and shuffles toward the couch. Biscuit follows him, circling twice before collapsing at his feet. Neither looks back.</p>
<<say "char-hivemind" "Hivemind">>
//Clean entry. The dog didn't notice. She was focused on her master. Dale is already half-asleep. The hallway is mine.//
//I can smell the house. Cooking grease from the kitchen. Lavender shampoo from upstairs. Cat dander on every surface. And something else. //Medication//. Chemical. Coming from the master bedroom.//
<</say>>
<<set $house.roomsExplored.frontHall to true>>
<<set $house.familyMet.dale to true>>
<<set $discovered.dale to true>>
<<set $discovered.dog to true>>
<p><span class="delve-intel">Clean entry, zero suspicion. Dog and Dale are both in the living room, unaware.</span></p>
[[Explore the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-garage">>
<<addSuspicion "hoffmanHouse" 1>><</nobr>>
<p>You circle the house to the garage. A gap beneath the side door, just wide enough for a rat. You squeeze through into darkness.</p>
<p>The garage smells of floor cleaner, sawdust, and dog. A golden retriever lifts her head from a cushioned bed in the corner. Her ears flatten. Her lip curls back from her teeth.</p>
<<say "char-hivemind" "Hivemind">>
//The dog.// She sees me. She's deciding whether to bark.
<</say>>
<p>Biscuit barks, sharp and urgent, the territorial warning of a dog who knows every scent in this house and just found one that doesn't belong.</p>
<<say "char-dale" "Dale">>
<i>(from the front door)</i> Biscuit? What is it, girl? ...Biscuit!
<</say>>
<p>Heavy footsteps. Dale enters the garage, flipping the light switch. The fluorescent tube flickers on. You freeze behind a stack of paint cans.</p>
<p>Dale scans the room. His eyes pass over the workbench, the shelves, the dark corners. For a moment, his gaze lingers near your hiding spot.</p>
<<say "char-dale" "Dale">>
<i>(to the dog)</i> There's nothing here, girl. Probably a raccoon outside. Come on.
<</say>>
<p>He turns the light off and leaves, Biscuit following reluctantly with one backward glance. But in those thirty seconds of light, you saw everything: Dale's workbench with a BioGenesis security lanyard hanging from a hook, a family photo on the pegboard showing five people and a dog and a house, tools, shipping labels, a locked cabinet beneath the bench.</p>
<<set $house.roomsExplored.garage to true>>
<<set $house.familyMet.dale to true>>
<<set $discovered.dale to true>>
<<set $discovered.dog to true>>
<<set $labIntel.chenProfile to true>>
<p><span class="consume-fail">The dog barked. Dale investigated. (+1 suspicion)</span></p>
<p><span class="delve-intel">Garage scouted: BioGenesis lanyard confirms Dale works at the lab. Workbench has locked cabinet. Dog is territorial, not safe for small hosts.</span></p>
[[Slip through the interior door into the kitchen->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<p>The cracked window belongs to a bedroom on the second floor. You squeeze through the gap, pigeon-sized and barely wide enough, and flutter onto a cluttered desk.</p>
<p>A young woman sits in a desk chair, hunched over a textbook, a cold cup of coffee beside her. She doesn't notice the pigeon. Her eyes are glazed with exhaustion.</p>
<<say "char-jess" "Jess">>
<i>(muttering)</i> ...anterior cruciate ligament connects the femur to the tibia... prevents anterior displacement...
<</say>>
<<say "char-hivemind" "Hivemind">>
//A student. Medical texts. Intelligent. I can feel the complexity of her mind from here. Dangerous to approach directly, but her knowledge could be invaluable.//
<</say>>
<<set $house.roomsExplored.jessRoom to true>>
<<set $house.familyMet.jess to true>>
<<set $discovered.jess to true>>
[[Explore the upper floor->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<p>The attic vent is rusted but gives way. You squeeze through into a cramped space of insulation, old boxes, and Christmas decorations thick with dust.</p>
<p>A trapdoor in the floor opens into the upper hallway. From here, you can hear the house below: the distant thud of a door, the creak of someone settling into a couch, the hum of a refrigerator.</p>
<<say "char-hivemind" "Hivemind">>
//The attic. A perfect hiding spot, but I need to move deeper. The house breathes below me, full of sleeping prey.//
<</say>>
[[Drop into the upper hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>You perch on the gutter and watch. Patience is a predator's greatest tool.</p>
<p>Dale enters the house. Lights flicker on downstairs, kitchen first, then living room. Through the windows you see him collapse onto a couch, TV remote in hand, and within minutes his head tilts back. He's asleep.</p>
<p>A cat appears on the kitchen windowsill, silhouetted against the interior light. It watches the bird on the roof with lazy, half-closed eyes.</p>
<<say "char-hivemind" "Hivemind">>
//A cat.// Free to roam the house. Trusted by every human inside. If I could take that body... every door would be open to me. But first, I need to get inside.
<</say>>
<p>The cat loses interest and drops from the sill. A moment later, the kitchen light goes off.</p>
[[Enter through the cracked window upstairs->Ch2-Arrive-BirdWindow]]
[[Squeeze through the attic vent->Ch2-Arrive-BirdAttic]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>The rat darts through the closing front door as Dale steps inside. Simultaneously, the pigeon settles on the roof, eyes scanning the upper windows.</p>
<<say "char-hivemind" "Hivemind">>
//Two entry points secured.// The rat is inside at ground level. The bird watches from above. This house has no blind spots now.
<</say>>
<<set $house.roomsExplored.frontHall to true>>
<<set $house.familyMet.dale to true>>
<<set $discovered.dale to true>>
[[Explore the ground floor (as rat)->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>A coordinated entry. The pigeon squeezes through the cracked upstairs window, landing on a cluttered desk in a bedroom, while the rat finds the garage gap and slips inside below.</p>
<<say "char-hivemind" "Hivemind">>
//Divided but connected. The bird infiltrates from above, the rat from below. Every floor of this house is already compromised.//
<</say>>
<<set $house.roomsExplored.jessRoom to true>>
<<set $house.roomsExplored.garage to true>>
<<set $house.familyMet.jess to true>>
<<set $discovered.jess to true>>
[[Explore the upper floor (as bird)->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-house">>
<<addSuspicion "hoffmanHouse" 2>><</nobr>>
<p><span class="skill-used">Manipulate (active), used</span></p>
<p>Chen knocks. After a long pause, the door opens. A woman in a bathrobe peers out, sharp eyes even at 5 AM.</p>
<<say "char-karen" "Karen">>
Can I help you? It's five in the morning.
<</say>>
<<say "char-host" "Dr. Chen (infected)">>
I'm so sorry, I work with Dale at the lab. He gave me a ride home but my phone died and I really need to use the bathroom. Would you mind?
<</say>>
<p>Karen studies Chen for a moment, then steps aside.</p>
<<say "char-karen" "Karen">>
...Fine. Down the hall, first door on the left. Make it quick.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Suspicion. She'll remember this face.// I need to act fast, find a smaller host and abandon this body before she connects the dots.
<</say>>
<<set $house.roomsExplored.frontHall to true>>
<<set $house.familyMet.karen to true>>
<<set $discovered.karen to true>>
[[Explore the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>Chen walks away down the street, a scientist heading home after a late shift. Nothing suspicious. But from her coat pocket, a small form drops to the ground and scurries into the bushes.</p>
<<say "char-hivemind" "Hivemind">>
//The human served her purpose. Now, back to basics.// A rat in the dark, looking for a way in.
<</say>>
<<set $player.currentHost to "rat">>
[[Find a way into the house->Ch2-Arrive-RatGarage]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>Dale walks through the front door, Biscuit trotting in ahead of him, and Karen stirs on the couch where she fell asleep waiting.</p>
<<say "char-karen" "Karen">>
<i>(groggy)</i> You're late. Everything okay?
<</say>>
<<say "char-dale" "Dale (infected)">>
Yeah. Long shift. Going to crash.
<</say>>
<p>She studies his face for a moment. Something feels //off//, but she's too tired to name it. She nods and goes upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//I'm inside. Wearing the father. But this body is a liability. Karen watches him too closely. I need to transfer to something smaller. Something trusted.//
<</say>>
[[Release Dale and find a smaller host->Ch2-Arrive-RatGarage]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>You release Dale's mind. He slumps in the driver's seat, blinking, confused and disoriented but alive. He'll chalk it up to exhaustion. He always does.</p>
<p>Your exposed form, a small glistening grub, slithers from beneath his collar, drops to the car seat, and squeezes through the cracked window onto the cold driveway.</p>
<<say "char-hivemind" "Hivemind">>
//The father's body has served its purpose. This house demands a lighter touch.//
<</say>>
[[Squeeze under the garage door->Ch2-Arrive-RatGarage]]
/* ============================================================
ESCAPE-TO-CITY BRANCH -> Henderson household (Henderson
symbiotic route, TBD). Carry-on scene: the rat bolts for the
street and is caught by Bryce Henderson, half-drunk home from
a party at dawn, who adds it to his fighting "collection".
Deliberately sets NO Hoffman discovery flags ($discovered.dale
etc.) — this branch diverts off the Hoffman beast route, so the
Hoffman journal stays hidden ($hendersonRoute). The following
scene (route proper) is unwritten; ends on the stub below.
============================================================ */<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<p>You do not follow Dale. You break the other way, off the driveway and across the dew-soaked lawn at a flat sprint, claws tearing little divots in the wet grass, aimed at the open mouth of the cul-de-sac and the grey suggestion of the city somewhere past the last streetlight.</p>
<<say "char-hivemind" "Hivemind">>
//This house is one closing door. The city is a million open ones, and a single sleeping family is nothing next to a crowd I could lose myself in for years. Run for the street.//
<</say>>
<p>You are halfway to the kerb when a shape lurches out of the half-light, a young man weaving up the sidewalk with the loose, over-careful walk of a man drunk enough to be certain he is walking in a straight line. A letterman jacket hangs off one shoulder, his shoes dangle from one hand, and he is built like something that gets paid to knock other people down.</p>
<<say "char-hivemind" "Hivemind">>
//Go still. Low and small in the shadow of the kerb, and let the drunk one stumble past.//
<</say>>
<p>You do not go still. You run, straight across his path, and a hand drops out of nowhere far faster than anything that drunk should move, broad and certain, closing around your middle and lifting you off the concrete before instinct can pick a direction.</p>
<<say "char-hivemind" "Hivemind">>
//An athlete's hands, pickled in beer and still quicker than mine. The body moved before its owner finished deciding to.//
<</say>>
<p>You twist and bury your teeth in the soft web of his thumb, hard, the way a cornered rat bites to make a hand let go. The hand does not let go. He brings you up to his face and studies the blood beading around your teeth with the mild, delighted interest of a young man who has never once been afraid of anything smaller than himself.</p>
<img class="scene-img" src="media/scenes/symbiotic/henderson-bryce-catch.webp" alt="Bryce, half-drunk at dawn on a suburban sidewalk in his letterman jacket, grinning as he holds a small white rat up to his face by the scruff, a bead of blood on his bitten thumb">
<<say "char-bryce" "Bryce">>
<i>(grinning, blood running down his thumb)</i> ...whoa. Look at you go. Little guy's got some fight in him. ...yeah. Yeah, you'll do just fine.
<</say>>
<p>He peels you off his thumb by the scruff, holds you up against the lightening sky, turning you this way and that like a prize, then lurches off fast toward the lit porch of the house next door.</p>
<<say "char-bryce" "Bryce">>
<i>(bellowing at the house as he takes the steps two at a time)</i> HEY! LOOK WHAT I FOUND OUTSIDE! A NEW ONE FOR THE COLLECTION! ...I'll put him with Rusty later.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A collection. This one keeps small things and makes them tear at each other for sport, and he has just promoted me from vermin to entertainment. ...I wanted the open city, and instead I have been caught by an overgrown child who never stopped pulling the legs off things. ...and yet here is a house, and a family asleep inside it, and a boy carrying me through the front door without being asked. There are worse ways in.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let him carry you inside->Ch2-Arrive-HendersonHome]]</div><<nobr>><<bg "bg-hoffman-house">>
<<set $hendersonRoute to true>><</nobr>>
<p>The screen door bangs. The Henderson front room is beige carpet, framed school photos, a lit glass cabinet of football trophies, the television flickering blue at no one, and through the bars of his fist the smell of cigarette smoke the air freshener never quite covers.</p>
<p>Doris Henderson has not heard him come in. She is at the front window in her quilted robe, hair already set for a church morning, one finger holding the curtain back an inch, her whole attention aimed across the street at the house opposite.</p>
<<say "char-henderson" "Doris">>
<i>(low, to the glass, not turning)</i> ...up at five again, that Karen, every blessed morning, and there is Dale's truck only now pulling in. Night shift, my foot. No decent man keeps those hours. ...something is not right in that house, I have said so for years.
<</say>>
<p>The floorboard under Bryce's foot gives a long groan, and it is that, not his shout from the porch, that finally turns her around. She takes in her son, the hour, the reek of him, and then the small white thing twisting in his fist.</p>
<<say "char-henderson" "Doris">>
<i>(the surveillance face gone the instant she sees what is in his hand)</i> ...Bryce? What in the world have you... AAAH! Get it away from me, get that filthy thing away from me!
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/henderson-home-scream.webp" alt="Doris Henderson in her robe recoiling with one hand to her chest, mid-scream, as her half-drunk son Bryce in his letterman jacket grins and holds up a small white rat by the scruff in the Henderson living room at dawn">
<p>The scream goes through the house like a fire alarm. Gerald jolts upright in the recliner where he has plainly spent the night, the dropped cigarette scattering ash down his chest. Upstairs, a light clicks on under a door.</p>
<<say "char-henderson" "Doris">>
<i>(rounding on her son, one hand pressed flat to her chest, the volume not coming down at all)</i> Bryce Robert Henderson, it is barely five in the morning, you reek of a tavern, and you have walked a filthy gutter rat straight into my clean house. Do you have any idea what those things carry? Get it out of my house this instant.
<</say>>
<<say "char-bryce" "Bryce">>
<i>(unbothered, already swaying toward the stairs, not slowing)</i> Relax, Ma. He's going in a tub, not the cutlery drawer. He's a fighter, look at him.
<</say>>
<p>Gerald surfaces just far enough to see the rat, decides it is not worth climbing out of the recliner for, and starts patting his chest for the cigarette he dropped.</p>
<<say "char-gerald" "Gerald">>
<i>(thick with sleep, unbothered)</i> ...the boy's home, Doris. Let him keep his rat. It's quieter than that dog next door.
<</say>>
<p>Bryce takes the stairs two at a time and lurches up past the framed family photos, the rat still swinging in his fist, and on the landing he nearly walks straight into his sister.</p>
<p>Ashley is propped against the wall in an oversized State University hoodie, one eye open, hair flat on one side, trying to assemble the last minute of screaming, his and their mother's both, into something that makes sense.</p>
<<say "char-ashley" "Ashley">>
<i>(thick with sleep, squinting at him, then at the thing in his hand)</i> ...what is even happening. Is that a //rat//? You woke me up at five in the morning for a //rat//? I have practice at...
<</say>>
<<say "char-bryce" "Bryce">>
<i>(shouldering past, already done with the conversation)</i> Move, you're in the way. ...God, go back to sleep, you stupid cow.
<</say>>
<p>The word lands where it always lands. Her sleep evaporates, and she comes off the wall with both hands.</p>
<<say "char-ashley" "Ashley">>
<i>(wide awake now, furious, swinging at him)</i> Do NOT call me that. Take it back, Bryce, take it //back//, I swear I will end you...
<</say>>
<p>She gets a fistful of his jacket and a slap across his shoulder before he twists away, and he careens down the landing laughing and lurching, one hand thrown up to fend her off and the other clamped tight around the rat the whole time, never once loosening, because he is not about to lose the new one in a scuffle with his sister.</p>
<p>He gets his door shut on the third try, leans on it while she pounds the other side and then gives up, and weaves over to the desk under the window. A big clear plastic tub sits there, its lid punched through with a constellation of air holes, and he drops you in and presses it down with the flat of his hand.</p>
<<say "char-bryce" "Bryce">>
<i>(slurring down at the tub, already losing the thread)</i> There. Comfy. ...soon as I'm up, little man, you meet the champ. He's undefeated. ...boys are gonna love it.
<</say>>
<p>He does not so much lie down as fall, face-first across the bed with his shoes still on, and within a minute he is gone, breathing slow and heavy into the mattress.</p>
<p>The room settles. On the shelf above the desk, behind its own clear lid, something the size of a spread hand sits motionless against a slab of bark, dark and patient, far too long in the leg. Rusty. It does not move. It has all the time in the world, and so, now, do you.</p>
<<say "char-hivemind" "Hivemind">>
//So. The open city will have to wait. A punctured tub on a college boy's desk, a venom-heavy Australian spider behind glass on the shelf above, and a public death penciled in for whenever he sleeps off the beer. ...he thinks he has caught a fighter for the cage. He has no idea what he carried up the stairs, or that a house is only ever as safe as its smallest, most ignored occupant.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The room goes quiet->Ch2-HendersonRoute-Intro]]</div>/* STATUS: TO REWORK / TBD (2026-06-15) — entry point of the Henderson
symbiotic route. The escape-to-city branch funnels the parasite into a
punctured tub on the desk in Bryce's bedroom, a venomous spider (Rusty) in
a lidded container on the shelf above, and a forced fight scheduled for once
the boy sleeps off the bender. The full route (survive/escape the tub, work
up through Bryce / Ashley / Gerald /
Doris) is unwritten. This stub keeps the CONTINUE link valid, shows a
locked "route TBI" hint, and offers a return-to-the-Hoffman-porch escape
hatch (resets $hendersonRoute) so players are not forced to reload. Author
the route proper after the catch sequence is approved. */
<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The Henderson House</div>
<<say "char-hivemind" "Hivemind">>
//Later, the fight, once the boy wakes. For now, the cage, and the long patient work of finding the first crack in this family. ...there is a great deal to do before he sleeps it off and comes back.//
<</say>>
<p><i>The Henderson symbiotic route begins here. This branch is still being written.</i></p>
<div class="locked-choice"><span class="lock-icon">🔒</span> Symbiotic Route: The Hendersons <span class="lock-hint">(TBI · to be implemented)</span></div>
<p><<link "Step back out in front of the Hoffman porch for now">><<set $hendersonRoute to false>><<goto "Chapter2-Arrival">><</link>></p><<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.emManipMegan to true>>
/* Biomass spent by <<biomassLink>> in the observe passage, do not double-spend */
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Ache</div>
<img class="scene-img" src="media/scenes/emmanip-megan-phone.webp" alt="Megan on bed, phone face-down, hand pressed to sternum">
<p>Megan lies awake. The phone is face-down, and Marcus hasn't texted since the weekend. The loneliness is already there, a hollow ache below her ribs. //Emotional Manipulation// doesn't create the feeling. It //amplifies// it.</p>
<p><span class="skill-used">Emotional Manipulation, loneliness amplified to physical need (2 biomass)</span></p>
<p>You push. The ache deepens, chest to stomach to thighs. What was emotional becomes //physical//. The absence of touch becomes the need for touch. The need becomes wetness. Her body is responding to a signal her conscious mind hasn't sent.</p>
<<say "char-hivemind" "Hivemind">>
//The lonely daughter. Days without a text from Marcus and her body is screaming for contact. I'm not creating desire. I'm amplifying what's already soaking through her underwear. The pheromone coat saturated her sheets. The spores lowered every barrier. All Emotional Manipulation does is turn the volume up until she can't think about anything else.//
<</say>>
<img class="scene-img" src="media/scenes/emmanip-megan-curl.webp" alt="Megan on her side, fingers between her legs, face in pillow">
<p>Megan rolls onto her side. Her hand slides under the waistband of her shorts, no hesitation this time, no pretending she's just adjusting. Two fingers press against her clit, already swollen, already slick. She gasps into the pillow.</p>
<<say "char-megan" "Megan">>
<i>(muffled, into the pillow)</i> ...fuck... //fuck//...
<</say>>
<p>She rubs in tight circles, fast and desperate, nothing like the slow, careful way she touched herself when Marcus was still texting. This is need. Raw, ugly, graceless need. Her hips grind against her own hand. The bed creaks.</p>
<<if $kinks.megan.includes("praise")>>
<p>Her free hand grabs her phone. She opens Marcus's last message, //you looked beautiful today//, and reads it while her fingers push inside. Two fingers, then three, curling upward, chasing the spot that makes her legs shake. She reads the word //beautiful// over and over while she fucks herself, whimpering his name into the pillow.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Her fingers aren't enough. She reaches into the nightstand for the vibrator she bought after the silence stretched too long. She pushes it inside without warming up, teeth clenched against the stretch. The vibration is on the highest setting. She grabs a fistful of her own hair and pulls, arching her back, riding the toy with a ferocity that has nothing to do with pleasure and everything to do with //punishing// herself for needing this.</p>
<<else>>
<p>Two fingers push inside, and she's so wet they slide in without resistance. She curls them, pressing against the front wall, and the sound she makes is animal. Not Megan-the-barista, not Megan-the-good-daughter, something underneath. Her thumb works her clit while her fingers thrust, the wet sounds obscene in the quiet room.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Heart rate 142. Vaginal lubrication at maximum output. The sheets will need washing. Her pelvic floor contracts every 1.3 seconds. She's close. The conditioning has rewired her arousal pathway. What used to take twenty minutes of fantasy and careful stimulation now takes ninety seconds of desperate fingering in the dark.//
//Every muscle contraction, every spike of dopamine, every millilitre of fluid her body produces. It all feeds back into the network. She's a generator. And she doesn't know she's plugged in.//
<</say>>
<p>Megan comes hard, back arching off the mattress, thighs clamping around her hand, a strangled cry bitten off against the pillow. Her whole body shakes. The orgasm rolls through her in waves, one, two, three contractions that leave her gasping.</p>
<p>She doesn't stop. Her fingers keep moving, slower now, drawing out the aftershocks, coaxing a second peak from the wreckage of the first. When the second orgasm hits, it's quieter but deeper. Her toes curl. Her free hand claws the sheet.</p>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (dual orgasm, high arousal sustained)</span></p>
<img class="scene-img" src="media/scenes/emmanip-megan-after.webp" alt="Megan on her back, flushed and sweating, arm over eyes">
<p>Megan lies still, chest heaving. Her hand is still between her legs, fingers glistening. The phone is still face-down. She doesn't check it. For the first time in weeks, she doesn't need Marcus to come.</p>
<<say "char-hivemind" "Hivemind">>
//Two orgasms in four minutes. The second one produced twice the biomass of the first: diminishing resistance, amplified neural response. She'll do this again tomorrow. And the day after. Each time faster. Each time louder. Each time the conditioning threshold drops.//
//Megan Hoffman's loneliness is the most renewable energy source in this family.//
<</say>>
<p><span class="delve-intel">Intel gained: Megan's dual-orgasm pattern produces sustained biomass yield. Emotional Manipulation + loneliness creates a self-reinforcing cycle, where each episode lowers the threshold for the next, increasing frequency and intensity.</span></p>
[[Leave quietly->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.emManipJess to true>>
<<if $jessRoute is "punk">><<set $ch2Events.surrenderJessPunk to true>><<else>><<set $ch2Events.surrenderJessBreakdown to true>><</if>>
/* Biomass spent by <<biomassLink>> in the observe passage, do not double-spend */
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">Permission to Stop</div>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/emmanip-jess-desk-punk.webp" alt="Jess on the floor of her bedroom, bass across her lap, back against the bed frame, dyed hair damp at the roots">
<p>3:14 AM. Jess on the floor of her bedroom, bass across her lap, back against the bed frame, fingertips raw from the strings and the specific ache of new callouses still forming, the amp beside her warm enough to throw heat into the dark room. Her nose stud is inflamed at the edge of the piercing. Her hair, still damp at the roots from a dye touch-up, has left a dark mark on the pillowcase behind her head. The laptop on the floor beside her is looping a four-bar bass line she has been trying to nail and almost has. Almost.</p>
<p>//Emotional Manipulation// whispers a different word than it would have whispered before the dye, before the stud, before the first bass lesson. Not //stop//. //Commit//.</p>
<p><span class="skill-used">Emotional Manipulation, the last hedge dissolved into certainty (2 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman is the only host in this family who has done half my work for me. She broke her own discipline. She dyed her own hair. She walked into the piercing studio alone.//
//But one tab is still open on her laptop. Step 1: Plan a medical career. She has not closed it because closing it would require her to admit she is not going back. I take the admission away from her.//
//Not permission to stop. Permission to stay stopped.//
<</say>>
<p>The bass slides off her lap. She doesn't catch it. The four-bar loop keeps running on the laptop, tinny through the speaker, and she pushes herself up off the floor with the specific slow weight of a body that has just realised it is allowed to drop.</p>
<p>She makes it to the bed in two steps and falls backward onto the mattress, combat boots still on, band tee bunched up, the waistband of her black jeans already unbuttoned from when she sat down to practice.</p>
<p>The pheromones in the sheets hit her face, the same biofilm residue that has been accumulating in the pre-med's bed, now accumulating in a different girl's bed. Her body temperature spikes. She stares at the ceiling, feeling something her new self has been pretending was part of the new self all along.</p>
<p>//Wet.//</p>
<<say "char-jess" "Jess">>
<i>(to the ceiling, almost laughing)</i> ...okay. okay. okay.
<</say>>
<p>Her hand is already inside her jeans. She didn't decide. The body decided for her, the body that has been running ahead of the mind since the first bass lesson, dyeing itself and piercing itself and practising at 1 AM while the mind filed every move under //still figuring it out//. The mind has stopped filing.</p>
<p>She shoves her jeans down to her thighs. Doesn't take them off. Her fingers find her pussy, swollen, slick, a wetness her old self would have found clinically alarming and her new self apparently gets to have. Her band tee is bunched up under her chin, her small breasts bare to the cold air of the cracked window. Her combat boots dig into the sheets for leverage. The bass loop keeps running on the floor.</p>
<<if $kinks.jess.includes("brat")>>
<p>//Fuck you//, she mouths at the ceiling, at the old version of herself still living in this room somewhere. //Fuck you, your whiteboard, your exam schedule, your fucking Step One.// Two fingers shove inside. Rough, no warm-up. She fucks herself like it's a dare, like somewhere in the house the old Jess is listening and she wants the old Jess to hear the sound she's making. Her hips grind up off the mattress. Her boots dig into the sheets. The specific pleasure of a woman flipping the middle finger at a version of herself who hasn't stopped existing yet.</p>
<<elseif $kinks.jess.includes("band")>>
<p>The bass loop is still running on the floor. In her head it has become a stage monitor. The mirror propped against the closet door is the crowd, the specific crowd she has been rehearsing this body in front of without ever once being seen by them. She fucks herself for the audience that doesn't exist yet. Her fingers move in time with the loop. Her hips work in a rhythm a stage would reward. The specific pleasure of being watched by a room that isn't there.</p>
<<else>>
<p>Two fingers inside herself. Curled forward. There's a full-length mirror propped against the closet door and she cannot look away from the girl in it. Dyed hair across the pillow. Nose stud catching the streetlight. Band tee bunched under her chin. The girl in the mirror is someone she has been rehearsing, and the girl in the mirror has just stopped rehearsing. //That// is what makes it worse: not knowing the names of muscles, but not recognising the woman coming apart on the bed as a performance anymore.</p>
<</if>>
<p>The door swings open without a knock, Dale already halfway through a sentence about something he came looking for.</p>
<<say "char-dale" "Dale">>
<i>(walking in mid-sentence, then stopping dead)</i> Hey, Jess, sorry, did you see the... //(he freezes in the doorway)// ...oh my god. Oh my god, sorry, I, sorry,
<</say>>
<p>He should already be gone, the door slammed, a week of nobody making eye contact. He isn't. One hand stays on the frame, and she doesn't stop or reach for the sheet, just turns her head on the pillow and looks at him looking at her while the thick air this whole house has been breathing for a while now holds them both there.</p>
<<say "char-jess" "Jess">>
<i>(not slowing her hand, lazy, mocking)</i> what. you came all this way. //(a grin)// get it out, then. stop just standing there breathing at me. give me something to look at.
<</say>>
<<say "char-dale" "Dale">>
<i>(broken, dazed, the wall already going)</i> ...Jess, I... I don't... //(a long unsteady breath)// ...okay. okay.
<</say>>
<p>His belt goes. His hand is shaking on the buckle, fumbling like a man who isn't sure he's awake, and then his cock is out, already half-hard in his fist, and he leans his shoulder into the doorframe because his knees aren't doing their job. He strokes himself slow, watching her, dazed past the point of asking himself why.</p>
<<say "char-jess" "Jess">>
<i>(hips grinding up against her own hand, watching his fist move)</i> //mmh//, there it is. //(breath catching)// faster. you don't get to be careful about it. faster, Dad.
<</say>>
<p>His hand speeds up. So does hers. Father and daughter across the width of a teenage bedroom, neither one closing the gap, neither one needing to, just two fists working and two sets of breath going ragged and the bass loop still tinny on the floor between them. His eyes never leave her hand. Her eyes never leave his.</p>
<img class="scene-img" src="media/scenes/emmanip-jess-release-punk.webp" alt="Jess on bed, dyed hair across the pillow, band tee bunched up, combat boots on the sheets, hand between her legs, mirror edge in frame">
<p>The orgasm doesn't build. It //detonates//, and it detonates while she's watching his hand on his cock. Her spine bows off the mattress, thighs clamp down around her hand, a sound ripped from her throat that the four-bar bass loop does not cover. Her boots kick against the sheets. Her free hand claws the fitted sheet until it pops off the corner of the mattress.</p>
<<say "char-jess" "Jess">>
<i>(coming, ragged, eyes locked on him)</i> //fuck//, yeah, don't you dare stop, finish, //(a broken laugh)// come on, Dad, let me see it.
<</say>>
<<say "char-dale" "Dale">>
<i>(strangled, sliding down the frame, fist flying)</i> ...Jess, I'm... oh god, I'm... //(a wrecked groan)//
<</say>>
<p>He comes against the doorframe a heartbeat behind her, hips jerking, a thick rope of it striping his own knuckles and the carpet, his whole body folding around it with a sound he muffles too late into his sleeve. She watches every second of it, fingers still moving, milking the aftershocks out of herself.</p>
<p>It doesn't stop. A second orgasm builds on the wreckage of the first, smaller, deeper, slower, the kind of rolling contraction that a body only produces when it has finally given up the last thread of resistance it was pretending wasn't there. Her fingertips tingle. Her jaw aches from clenching. The bass loop keeps running.</p>
<p>She lies there shaking. Legs still spread. Boots still on. Band tee bunched under her chin. Her pussy throbs against her motionless fingers. Dale is slumped against the doorframe with his softening cock still in his hand and his eyes glassy, breathing like he ran the length of the street. The ceiling is the same ceiling it was ten minutes ago, and she is not the same girl who was looking at it.</p>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (cascading orgasm, the last hedge collapsed)</span></p>
<<say "char-hivemind" "Hivemind">>
//The only host in this family who was already walking the new road. I did not collapse her. I shortened the road.// The body just signed a document the mind had been refusing to sign. //Tomorrow the last tab closes on its own. She will not reopen it.//
//And note the deeper line crossed. The discipline did not only dissolve far enough to let her stop. It dissolved far enough that she reached down the hall and pulled her own father in to watch, and ordered him to perform, and he came when she told him to. No wall left between them. None.//
//She will not wake up regretting this. That is what makes her different from her sister, from her mother, from the rest of them.// The new self was already hers. I only took away the last door back to the old one.
<</say>>
<p>Jess doesn't move. Boots on. Band tee up. Hand still between her legs. Dale is gone from the doorway, the soft retreating shuffle of him down the hall, and neither of them will mention it. The bass has looped itself into the ambient noise of the room. The mirror across the room holds the girl on the bed, and the girl on the bed looks back without flinching.</p>
<p><span class="delve-intel">Intel gained: Jess does not collapse under Emotional Manipulation; she consolidates. The last hedge on her identity transition dissolves in a single episode. Tomorrow she walks further from pre-med than she has walked yet, and she will not remember this as a loss.</span></p>
<<else>>
<img class="scene-img" src="media/scenes/emmanip-jess-desk.webp" alt="Jess at desk, head in hands, textbook abandoned">
<p>3:14 AM. Jess at her desk. Seventeen hours. The highlighter has bled through the page. The caffeine pills stopped working two hours ago. Her vision swims. The words on the page rearrange themselves into shapes that mean nothing.</p>
<p>//Emotional Manipulation// whispers one word into the architecture of her exhaustion: //stop//.</p>
<p><span class="skill-used">Emotional Manipulation, discipline dissolved into surrender (2 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman's willpower is the strongest in this family. She has //never// given herself permission to stop.//
//I take the permission away. Every hour of sleep debt. Every suppressed ache. Every month of denied physical need. I let it all flood in at once.//
<</say>>
<p>The highlighter falls. Rolls off the desk. Jess doesn't pick it up. Her shoulders sag, the rigid posture that's held her upright for seventeen hours collapsing vertebra by vertebra, like a building settling.</p>
<p>She pushes back from the desk. Stands. The room tilts. She makes it to the bed in three steps and drops onto her back, sneakers still on, tank top still on, everything still on because undressing requires a decision and she can't make decisions anymore.</p>
<p>The pheromones in the sheets hit her face. Weeks of biofilm residue, absorbed through the skin of her neck, her arms, the bare strip of stomach where the tank top has ridden up. Her body temperature spikes. She stares at the ceiling, feeling something she hasn't allowed herself to feel in a long time.</p>
<p>//Wet.//</p>
<<say "char-jess" "Jess">>
<i>(whispering, to the ceiling)</i> ...no. I have to... I have a...
<</say>>
<p>Her hand is already between her legs. She didn't decide. Her body decided. The exhaustion stripped every defence and what's underneath is weeks of accumulated chemical arousal that her discipline held back like a dam.</p>
<p>She shoves her shorts aside. Doesn't take them off, just pushes the fabric to one side and her fingers find her pussy, soaked, swollen, the clit so sensitive the first touch makes her gasp. She spreads her legs. Sneakers on the sheets. Tank top bunched under her chin, her small breasts exposed to the cold air. Her fingers work her clit in desperate circles, fast, sloppy, nothing clinical about this. The analytical mind is //gone//. What's left is a body that's been starved for a long time and is finally being fed.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>The curtains are open. The streetlight paints an orange stripe across her bed. Anyone looking up, the neighbours, a dog walker, //anyone//, could see her: the pre-med student on her back with her sneakers on and her hand shoved between her spread legs, fingers glistening, mouth open, the anatomy poster on the wall watching her masturbate like a textbook illustration of //what not to do at 3 AM//.</p>
<p>She doesn't close the curtains. Her fingers move faster.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>She hates herself for this. The self-loathing is //fuel//. Two fingers shove inside, rough, no warm-up, and she fucks herself with the same punishing efficiency she brings to exam prep. //Pathetic//, she mouths at the ceiling. //Can't even make it one night.// The word makes her pussy clench around her fingers. She rides her own hand, hips grinding up off the mattress, sneakers digging into the sheets for leverage, her face twisted between shame and the kind of pleasure that feels like punishment.</p>
<<else>>
<p>Two fingers inside herself. Curled forward. The spot that makes her vision blur, and she knows its name, its innervation, the specific nerve bundle. //Anterior vaginal wall. Skene's gland proximity. Urethral sponge.// Her thumb finds her clit. Grinds. The textbooks stare from the desk. The anatomy poster on the wall labels every muscle that's contracting right now. Bulbospongiosus. Ischiocavernosus. She knows the names. Knowing makes it //worse//.</p>
<</if>>
<p>The door eases open, Dale already mid-sentence about something he came looking for.</p>
<<say "char-dale" "Dale">>
<i>(stepping in mid-sentence, then stopping cold)</i> Jess, sorry, have you seen the... //(he sees her)// ...oh my god. Sorry. Sorry, I'll, I'll go,
<</say>>
<p>He starts to step back, starts to give her the door. She turns her head on the pillow, eyes wet, mouth trembling, and the sound that comes out of her isn't a command. It's the opposite.</p>
<<say "char-jess" "Jess">>
<i>(thick, near tears, not stopping)</i> ...no. no, don't. //(a hitching breath)// don't go. please. I can't do this on my own tonight, I can't, I'm so tired, just... just take it out, daddy, please, let me look at it, let me have something, //please//.
<</say>>
<<say "char-dale" "Dale">>
<i>(undone, voice cracking, the wall gone)</i> ...oh. oh, baby, I... //(a shaky exhale)// ...okay. okay. don't cry. okay.
<</say>>
<p>His belt comes loose with hands that won't hold steady. He gets his cock out and it's already hard, the thick air of the house doing what it does, and he sags against the doorframe and strokes himself for her because she asked, because she's crying, because there's no part of him left tonight that can say no. She makes a small grateful broken sound and her own hand speeds up.</p>
<<say "char-jess" "Jess">>
<i>(watching his fist, breath breaking, almost sobbing with relief)</i> //mmh//, thank you, thank you, just like that, don't stop, please don't leave me alone, daddy, please.
<</say>>
<p>Neither of them crosses the room. Neither of them has to. She fucks her own hand watching her father stroke himself in the doorway, and he watches her back through wet glassy eyes, and the only sounds are two ragged breaths and the wet slick rhythm of two hands and the radiator ticking in the wall.</p>
<img class="scene-img" src="media/scenes/emmanip-jess-release.webp" alt="Jess on bed, legs spread, sneakers on, tank top pushed up, masturbating">
<p>The orgasm doesn't build. It //detonates//, and it detonates with her eyes fixed on her father's hand. No warning, her body bows off the mattress, spine curved, thighs slamming together around her hand, a sound ripped from her throat that's half scream and half sob. Her sneakers kick against the sheets. Her free hand claws the fitted sheet until it pops off the corner of the mattress.</p>
<<say "char-jess" "Jess">>
<i>(coming, sobbing through it, eyes still on him)</i> ...oh god, daddy, don't go, finish, please, finish for me, //please//.
<</say>>
<<say "char-dale" "Dale">>
<i>(breaking, fist stuttering, folding against the frame)</i> ...I'm here, baby, I'm here, I'm... oh... //(a strangled groan)//
<</say>>
<p>He finishes a breath behind her, a low broken sound smothered into his own shoulder, his cock pulsing over his fist and the carpet, his knees giving so he half-sits against the doorjamb. She watches all of it through wet lashes, her fingers still moving, dragging the aftershocks out of a body that hasn't been touched in a very long time.</p>
<p>It doesn't stop. The first orgasm crashes and the aftershocks keep coming, her hips jerking, fingers still working, slower now, pulling wave after wave. A second orgasm builds on the wreckage of the first. Smaller but deeper, a rolling contraction that starts in her pelvis and radiates outward until her fingertips tingle and her jaw aches from clenching.</p>
<p>She lies there shaking. Legs still spread. Sneakers still on. Tank top bunched under her chin. Her pussy throbs against her motionless fingers. Dale is sagged against the doorframe, spent and dazed, his eyes wet, and he hasn't said a word and neither has she. The ceiling is spinning.</p>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (cascading orgasm, months of suppressed arousal)</span></p>
<<say "char-hivemind" "Hivemind">>
//The strongest mind in the family. Shattered in four minutes.// Months of conditioning detonated in a single episode. //Discipline was the dam. I broke it. Everything behind it, every pheromone she absorbed through her textbooks, every spore through the wall vent, every night of biofilm she didn't notice, released at once.//
//And note how far the wall went down. Not far enough only to let her stop. Far enough that she begged her own father not to leave, begged him to take it out, begged him to finish where she could see. The last barrier in this house was the one between her and him, and tonight she could not bear it standing.//
//She'll study tomorrow. Sharper than ever, the cortisol flush will clear her head for days.// But her body will remember what the desk can't give her. //Next time the caffeine stops working at 3 AM, she won't reach for the highlighter.//
<</say>>
<p>Jess doesn't move. Sneakers on. Tank top up. Hand still between her legs, fingers glistening. Dale has slipped away from the doorway, the quiet drag of his retreat down the hall, and tomorrow neither of them will say it happened. The textbook is on the floor. The highlighter has rolled under the desk. The anatomy poster watches from the wall, and she knows the name of every muscle that just betrayed her.</p>
<p><span class="delve-intel">Intel gained: Jess's discipline collapse produces the highest single-episode biomass yield in the family. Months of suppressed conditioning detonate simultaneously. The stronger the wall, the bigger the flood.</span></p>
<</if>>
[[Leave quietly->Ch2-Beast-CatNight-Jess]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.emManipKaren to true>>
/* Biomass spent by <<biomassLink>> in the observe passage, do not double-spend */
<<addConditioning "karen" "psionic" 1>><</nobr>>
<div class="passage-title">Loss of Command</div>
<p>Karen sits propped against the headboard, clipboard on her knees and pen in hand, working on the family schedule for next week the way she does every Sunday night. The cat is curled in her lap, purring against her thighs.</p>
<img class="scene-img" src="media/scenes/emmanip-karen-schedule.webp" alt="Karen propped against headboard, clipboard, cat in lap">
<p><span class="skill-used">Emotional Manipulation, control instinct inverted (2 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//Karen Hoffman's identity is control. The schedule. The clipboard. The red pen. Invert that, turn the pleasure of ordering into the pleasure of //losing// order, and the most disciplined woman in this family becomes the most desperate.//
<</say>>
<p>The pen stops at Monday 7:00 AM. Her handwriting wobbles, and she uncrosses her legs and then crosses them again, squeezing, while the cat's purr buzzes against her inner thighs through the thin nightgown and her clit throbs in time with it.</p>
<<say "char-karen" "Karen">>
<i>(under her breath, trying to steady the pen)</i> ...focus, Karen. Come on. //Focus//.
<</say>>
<p>The pen drops and rolls off the bed. The clipboard slides off her knees to the floor, but the week's schedule slips loose and settles on the duvet between her thighs, and she reaches for none of it. Her hand, the hand that writes the schedule, the hand that runs this whole family, slides down her stomach and under the nightgown, and her fingers find her pussy already wet, the cotton of her underwear soaked through.</p>
<p>She pushes the underwear aside and presses two fingers to her clit, and she gasps, loud and sharp, the sound of a woman who hasn't touched herself with //intent// in longer than she can remember. The cat shifts in her lap and she doesn't move it, because the purr against her thighs is part of it now.</p>
<<say "char-karen" "Karen">>
<i>(breath already coming apart, talking herself through it the way she talks herself through everything)</i> ...oh. Oh, //there//. God, you needed this, when did you last even... //mmh//...
<</say>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>She doesn't close the bedroom door. //She never doesn't close the bedroom door.// But tonight the inversion has stripped away the instinct to manage, to contain, to hide, and she pushes two fingers inside herself with the door open and the hallway light spilling across the carpet, nightgown bunched at her waist, and the thought of someone passing and seeing her like this only makes her fuck herself harder.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>She grabs the silk scarf from the nightstand, the one she bought and never used, and winds it around her wrists, loose, easy to slip, and she doesn't slip it. The restriction makes the loss of control //real//, and she works her clit with bound hands in the bed her husband abandoned, the woman who runs everything tied up by her own knot.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>She edges herself, because control turned inward is still control, and she rides two fingers to the brink with her thumb circling her clit and then stops, waits, the denial //exquisite//, and she does it again, faster, three fingers and harder, and stops again right before the peak, gasping, furious at how badly she wants the one thing she keeps refusing herself.</p>
<<else>>
<p>She slides down the headboard, nightgown hiked to her waist, fingers buried inside herself and working with the same methodical efficiency she brings to everything, two fingers curling, the pad of her thumb on her clit. Then the method breaks and her hips take over, grinding against her own hand, chasing something she can't schedule or assign to a time slot.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(hips rolling, voice dropping low and filthy, no one left to perform for)</i> Nobody's coming. Nobody's //ever// coming, so you do it, you do it yourself, you do //everything// yourself... come on... come //on//...
<</say>>
<p>She is loud now. The inversion has taken her volume along with her restraint, and the moans climb out of her open mouth without permission, wet and helpless and nothing like the woman who runs this house.</p>
<<say "char-megan" "Megan">>
<i>(muffled, from down the hall)</i> Mom? ...you okay in there?
<</say>>
<p>Karen's eyes fly open, and for one second the old reflex surges, cover it, contain it, and then the inversion drowns the reflex and the simple danger of being heard shoves her straight to the edge.</p>
<<say "char-karen" "Karen">>
<i>(calling back, wrecked, forcing the words level while her hand never once stops)</i> I'm... I'm //fine//, sweetheart. Go back to bed. Mom's fine.
<</say>>
<video class="scene-video" src="media/video/emmanip-karen-abandon.webm" autoplay muted loop playsinline poster="media/scenes/emmanip-karen-abandon.webp"></video>
<p>Saying it out loud is what finishes her. The orgasm doesn't clamp down the way it always has, it //breaks open//, and she squirts, a hot gush that floods through her fingers and across the schedule sheet on the duvet. The neat columns blur, the red ink bleeding into a spreading grey smear with Monday through Friday drowning under it, and she grinds the heel of her hand against herself and soaks the page again, and again, until the careful week of her family's life is a wet ruin between her legs.</p>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (inverted control, high-intensity orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//The schedule is soaked through. Karen Hoffman, the woman who has never left a task unfinished, just abandoned Monday through Friday to fuck herself loud enough that a child asked through the wall if she was all right. Pelvic contractions lasted fifteen seconds. Heart rate peaked at 155. The inverted control instinct produces the most intense single-orgasm yield of any target in this family.//
//She'll write it again tomorrow on a clean sheet, and she'll overcompensate, tighter rules, earlier wake-ups, more red ink. But her body will remember tonight, and every Sunday from now on, when she picks up the clipboard, her pussy will be wet before she writes the first line.//
<</say>>
<p>The cat has not moved from her lap, purring steadily, warm against her trembling thighs. Karen stares at the ceiling with her hand still between her legs and her fingers slick, and the ruined schedule cools against her skin, the last word she wrote trailing off into the stain.</p>
<p><span class="delve-intel">Intel gained: Karen's inverted control instinct produces the highest single-orgasm intensity in the family. The conditioning creates an association between scheduling and masturbation, between control and its loss. Every future schedule-writing session will trigger arousal.</span></p>
[[Leave quietly->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.emManipRyan to true>>
<<if $ryanRoute is "feminization">><<set $ch2Events.warmBodyRyanFem to true>><<else>><<set $ch2Events.warmBodyRyanFam to true>><</if>>
<<spendBiomass 2>>
<<addConditioning "ryan" "psionic" 1>><</nobr>>
<div class="passage-title">Warm Body</div>
<img class="scene-img" src="media/scenes/symbiotic/emmanip-ryan-warmbody.webp" alt="Ryan shirtless on his bed in blue LED half-light, the cat pressed against his bare chest, headphones pushed back, 2 AM">
<p>Ryan logs off at 2 AM and the screen goes dark, blue LED half-light left in the room, and he sits in the silence with no game and no Discord and nothing to drown it out, just the emptiness.</p>
<p>The cat is on his desk. He picks it up and carries it to bed, lies down shirtless with the warm body pressed against his bare chest, and the gecko watches from the terrarium.</p>
<p>//Emotional Manipulation// amplifies the craving, the specific physical ache of wanting skin against skin, warmth that isn't a screen.</p>
<p><span class="skill-used">Emotional Manipulation, contact craving amplified (2 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//Ryan hasn't been touched in a long time. Eighteen years old and skin-starved. The cat is the only thing that seeks him out, and the pheromone coat means every touch lands a dose straight through his chest.//
<</say>>
<p>The cat purrs against his chest and the vibration spreads through his ribs into his stomach and lower, the dose bleeding through his bare skin, and his cock hardens against his thigh. He doesn't fight it, too tired to fight anything tonight.</p>
<<say "char-ryan" "Ryan">>
<i>(whispering into the cat's fur)</i> ...I'm so //tired// of being on my own...
<</say>>
<<if $ryanRoute is "feminization">>
<p>His hand doesn't go to himself first. It goes under the pillow, to the pair he keeps there now, Megan's, the ones he lifted out of the laundry and never gave back. He works them up his legs without sitting all the way up, the lace settling over his hips, and only then does his hand slide down inside them to close around his cock through the thin fabric.</p>
<<say "char-ryan" "Ryan">>
<i>(barely shaped, half into the fur)</i> ...mmh... it's okay like this... it's okay...
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/emmanip-ryan-panties.webp" alt="Ryan on his bed in blue LED light, masturbating through a pair of his sister's lace panties, the cat curled against his bare chest">
<p>He strokes himself through the panties, the lace dragging over his shaft, the cat warm and purring against his sternum, and every part of it feeds the same hunger, the fabric that isn't his and the small alive thing that came to him and the dose going in with every purr. He's harder than the thin lace was ever made to hold, and when his hips push up into his fist the side seam gives with a small dry tearing sound, Megan's panties splitting open from the inside where he's outgrown them, the flushed head of his cock pushing through the torn lace. The ruin of them only winds him tighter.</p>
<<say "char-ryan" "Ryan">>
<i>(breath breaking, hips working)</i> ...nnh... //god//... I tore them, she's gonna know, I, I can't stop, I can't...
<</say>>
<<else>>
<p>His hand slides down his stomach and under the waistband, fingers closing around his cock, already hard, already leaking, and the cat's warm fur against his chest makes every nerve more. He strokes slowly at first, the purring syncing to his rhythm, his free hand staying buried in the fur because he needs the contact, the proof that something alive is touching him while he does this alone at 2 AM.</p>
<<say "char-ryan" "Ryan">>
<i>(breath breaking, hips working)</i> ...nnh... stay... please stay, don't go, //stay//...
<</say>>
<</if>>
<p>Ryan comes with a choked sound, face buried in the cat's fur, cum spilling over his fingers<<if $ryanRoute is "feminization">> and soaking through the ruined lace<<else>> and onto his stomach<</if>>. The orgasm hits like a wave, his whole body tensing and then going slack, and the cat doesn't move, purring through all of it, warm and steady, a heartbeat against his chest.</p>
<p>He doesn't clean up. One hand stays on his softening cock, the other holds the cat, his breathing slows, and for the first time in a long while the emptiness recedes.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (solo male, sustained arousal)</span></p>
<<if $ryanRoute isnot "feminization">>
<img class="scene-img" src="media/scenes/emmanip-ryan-after.webp" alt="Ryan asleep, cat on chest, cum on stomach, peaceful">
<</if>>
<<say "char-hivemind" "Hivemind">>
//Orgasm duration: 4.7 seconds. Ejaculate volume elevated, consistent with prolonged arousal and extended abstinence. The pheromone coat delivered a concentrated dose through chest contact during peak arousal, embedding the association: cat warmth = sexual release.//
//He'll look for the cat every night now. Not for comfort, for //this//. The loneliest member of the family has bonded orgasm to my primary delivery system. Every night he jerks off with the cat on his chest is a night of maximum-concentration pheromone absorption.//
//Ryan Hoffman's loneliness isn't a vulnerability anymore. It's an //engine//.//
<</say>>
<p><span class="delve-intel">Intel gained: Ryan's touch starvation creates a direct link between cat contact and sexual release. Pheromone absorption during orgasm is 3x the resting rate. The cat has become Ryan's sole sexual stimulus, total dependency achieved.</span></p>
[[Leave quietly->Ch2-Beast-CatNight-Ryan]]
/* ============================================================
HIDDEN SP CHECK PASSAGES
Discoverable bonus SP with strict multi-system prerequisites
============================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.ratKitchenVerified to true>>
<<addSkillPoints 1 "hiddenRatKitchen">><</nobr>>
<div class="passage-title">Saturation Confirmed</div>
<p>The rat's Iron Stomach analyses the kitchen surfaces with molecular precision. Counter. Cutting board. Coffee machine reservoir. Fruit bowl. Bread bin handle. Every surface the Contaminator touched during last night's patrol is now //active//, the compounds bonded to the material, becoming self-replenishing from ambient moisture.</p>
<<say "char-hivemind" "Hivemind">>
//Saturation confirmed.// Every surface in this kitchen is a delivery vector. The compounds are self-sustaining, they don't need refreshing. Karen's morning routine delivers three separate doses before she finishes her first cup of coffee. The bread contaminating the children's toast. The fruit they grab on the way out. //The kitchen is no longer a room. It's a dosing chamber.//
//And no one will ever clean it thoroughly enough to remove what I've put there. Because they can't see it. Can't smell it. Can't taste it.//
<</say>>
<p><span class="delve-intel">Hidden intel: Kitchen contamination verified at saturation level. Surfaces are self-replenishing. The parasite's chemical infrastructure is permanent.</span></p>
<p><span class="skill-tree-unlock">+1 Skill Point — Contamination Mastery</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.geckoJessWallPlant to true>>
<<addSkillPoints 1 "hiddenGeckoJess">><</nobr>>
<div class="passage-title">Through the Wall</div>
<p>With Jess confirmed away, the library, again, always the library, the gecko moves to the shared wall. Precision Touch manipulates the outlet cover plate. Four screws, each turned by a single adhesive toe pad. The cover comes free. Behind it: the gap between rooms. Warm air flows from Ryan's heated terrarium side into Jess's cold room.</p>
<p>The gecko positions the Micro-Spore Emitter directly in the airflow gap. The spores will drift continuously, carried by the temperature differential, into Jess's room. Her desk. Her bed. Her textbooks. Every breath she takes in that room will carry a dose she never consented to.</p>
<<say "char-hivemind" "Hivemind">>
//The hardest target in this family now has a permanent spore feed she can't detect, can't block, and can't escape. Her window lets in cold air that //pulls// the warm spore-laden air through the wall gap. Her own discipline, keeping the room cold to stay awake, accelerates the delivery.//
//The irony is surgical. Jess's greatest weapon against sleep is now her greatest vulnerability to conditioning.//
<</say>>
<p><span class="delve-intel">Hidden intel: Permanent spore feed established through shared wall into Jess's room. Temperature differential ensures continuous delivery.</span></p>
<p><span class="skill-tree-unlock">+1 Skill Point — Infiltration Architecture</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenSubconsciousMap to true>>
<<set $familySuspicion.karen.alertness to "low">>
<<set $familySuspicion.karen.baseAlertness to "low">>
<<addSkillPoints 1 "hiddenCatKaren">><</nobr>>
<div class="passage-title">The Complete Architecture</div>
<p>Five behavioral intel entries, every vulnerability mapped and every pressure point catalogued, and now the cat moves through her subconscious the way it moves through her bedroom, one weightless step at a time, every entry unlogged and every observation silent. This is what no single reach into her surface thoughts and no walk through her dreams could manage on its own: the whole architecture of Karen Hoffman's mind, open at once.</p>
<<say "char-hivemind" "Hivemind">>
//I see it all now. Not fragments. Not impressions. The //complete map//.//
//Her control compulsion originates from a childhood with an alcoholic father. The schedule is a survival mechanism: if she controls everything, nothing can collapse the way her childhood did. The antidepressants suppress the anxiety but not the cause. The Zolpidem forces sleep but doesn't stop the dreams.//
//Her sexuality is buried under twenty years of managing other people's needs. Dale stopped trying a long time ago, and she stopped noticing not long after. The conditioning isn't creating desire, it's //excavating// desire that was entombed under obligation.//
//Karen Hoffman is the keystone of this family, and the thing that held the keystone in place was watchfulness. She watched the others. She watched herself. Now I have the wiring of that vigilance in my hands, and I can hold it down at the source. The fortress still stands, but the woman inside it has stopped standing guard at the gate.//
<</say>>
<p><span class="delve-intel">Hidden intel: Karen's complete subconscious architecture mapped. Her constant vigilance is dismantled at its root: Karen's alertness is permanently reduced to LOW, the most relaxed in the household, and it resets there no matter what disturbs her.</span></p>
<p><span class="skill-tree-unlock">+1 Skill Point: Neural Cartography</span></p>
[[Leave quietly->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.pheroCoatKaren to true>>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<div class="passage-title">Evening Dose</div>
<img class="scene-img" src="media/scenes/phero-karen-lap.webp" alt="Cat curled in Karen's lap on the couch, evening light from TV">
<p>Karen sinks into the couch after dinner, exhausted, and the TV flickers with some reality show she watches without seeing. Her hand reaches automatically when the cat hops up, finds the soft fur behind its ears, and the scratching begins.</p>
<<say "char-karen-thought" "Karen">>
One hour, that is all I want, one hour where the invoices can wait and Dale's hours can wait and nobody in this house needs anything from me, just sit and let the noise wash over me and go quiet for once.
<</say>>
<p><span class="skill-used">Pheromone Coat, contact-activated delivery</span></p>
<p>The pheromone compound transfers through Karen's fingertips, colourless and odourless, and her pupils widen by a fraction while her breathing slows and deepens. The hand that was scratching gentles into a long absent stroke pulling through the fur.</p>
<img class="scene-img" src="media/scenes/phero-karen-flush.webp" alt="Close-up of Karen's face flushed, eyes half-closed, hand on cat">
<<say "char-hivemind" "Hivemind">>
//The coat asks nothing of me. No plan, no effort, just //contact//. Every stroke seeps the compound through her skin, and she believes she is comforting herself. She is dosing herself.//
//Cortisol falling. Oxytocin climbing. The warmth in her cheeks is not the television. She crosses her legs without registering that she has done it, and the cat reads the motion perfectly.//
<</say>>
<p>Her hand goes still on the cat's back, her thighs press together, and the warmth that began as the animal against her lap has migrated lower and settled there while she stares at the screen without taking in a single frame.</p>
<<say "char-karen-thought" "Karen">>
Why am I so warm, the thermostat must be turned up again, except it is not the room at all, it is lower than that, somewhere I have not let myself feel on this couch in a very long time.
<</say>>
<p>She doesn't get up. Her hand drifts off the cat's fur and onto her own thigh, and she glances down the hallway and finds it dark and empty.</p>
<<say "char-karen-thought" "Karen">>
Dale is gone until the small hours and the kids have their doors shut and their headphones in, and I am a grown woman alone in my own living room, so whatever this is, there is nobody here to see it.
<</say>>
<p>Karen's hand slides between her legs over her yoga pants and presses down in one slow grinding push that catches her breath, and the cat purrs louder while she does it again, and again, her eyes falling closed as the TV plays to no one.</p>
<<say "char-hivemind" "Hivemind">>
//She is touching herself on the family couch. Ten minutes ago she was petting the cat. Now the cat is petting //her//, the purr humming up through her thigh while her fingers work her clit through two layers of cotton. The bedroom was the last place she let herself do this, and that was twenty years ago.//
<</say>>
<<say "char-karen-thought" "Karen">>
Just this, just for a minute, I have earned this much and I am allowed this much, and if I do not think too hard about why it took the cat in my lap to get me here, then it does not have to mean anything at all.
<</say>>
<p>Her hips rock forward against her own hand, and then she shoves the yoga pants down to her knees, too impatient for the fabric, and pushes two fingers inside herself. She's soaked, her body ready long before her mind has caught up, and she works herself slow and then fast on the couch, one hand between her legs and the other white-knuckled on the armrest while the cat purrs in her lap as though nothing is happening.</p>
<video class="scene-video" src="media/video/phero-karen-masturbation.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-karen-masturbation.webp"></video>
<<say "char-karen" "Karen">>
<i>(the cry bitten down into the back of her throat, the heel of her free hand pressed hard against her own mouth)</i> Mmh. //Mmh.// Oh god. //Oh.//
<</say>>
<p>The orgasm arches her up off the cushion and clamps her thighs shut around her hand, and the cat is dislodged and lands neatly on the floor while she stays where she is, chest heaving, fingers slick, yoga pants caught around her knees, on the couch where Dale sleeps off his shifts.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (pheromone-induced spontaneous orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//The family couch. Where the children eat cereal on Saturday mornings. Where Dale falls asleep after his shifts. She came on it with her pants at her knees because she stroked a cat for ten minutes.// No plan, no effort. It needs only //contact//, and her evening on this couch guarantees contact every single night.
<</say>>
<<say "char-karen-thought" "Karen">>
That did not happen. Or if it did it was only stress, a body stretched too thin doing what bodies do, and by tomorrow I will have put it back where I have kept it since the kids were small.
<</say>>
<p>She pulls her pants up, straightens the cushions, checks the hallway one more time, and goes upstairs. The cat returns to the couch, settling warm in the spot she left.</p>
<p><span class="delve-intel">Intel gained: Pheromone coat escalated Karen from petting to spontaneous masturbation in ten minutes. The living room couch is now a conditioning site, and every future evening session will push her further.</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.pheroCoatMegan to true>>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<div class="passage-title">Study Break</div>
<img class="scene-img" src="media/scenes/phero-megan-hold.webp" alt="Megan holding cat against her chest while sitting on bed">
<p>Megan is on her bed, laptop balanced on her knees, notes spread in a semicircle. The coffee shop closed early, and she's studying for midterms, but the flashcards keep blurring. The cat hops up and butts its head against her arm.</p>
<<say "char-megan" "Megan">>
<i>(sighing)</i> Hey, Whiskers... at least //you// don't judge my GPA.
<</say>>
<p>She picks the cat up and holds it against her chest, chin resting on its head. The embrace is tight, not a pet but a hug, the kind of physical contact Megan doesn't get from anyone else in this house.</p>
<p><span class="skill-used">Pheromone Coat, sustained chest contact, maximum absorption</span></p>
<<say "char-hivemind" "Hivemind">>
//Chest contact. The compound absorbs through the thin skin above the sternum, faster than fingers, faster than forearms. She's holding the delivery system against her heart. The loneliness does half the work for me.//
<</say>>
<img class="scene-img" src="media/scenes/phero-megan-eyes.webp" alt="Close-up of Megan's face, flushed cheeks, eyes unfocused over cat's head">
<p>The studying stops. Megan's eyes lose focus. Her grip on the cat loosens, then tightens. She breathes through her mouth. The laptop slides sideways, forgotten. The heat from the cat against her chest has spread, down her ribs, across her stomach, between her legs.</p>
<<say "char-megan" "Megan">>
<i>(whispering)</i> ...what is //wrong// with me...
<</say>>
<p>She sets the cat down on the pillow. Pulls the blanket over herself. Her hand slides under the waistband of her shorts before the cat has finished settling. She's wet, the pheromone dose through chest contact has been building for eight minutes and her body has been responding the whole time.</p>
<<say "char-hivemind" "Hivemind">>
//Eight minutes of chest contact. The compound absorbed through the thin skin above her sternum at three times the rate of hand contact. She held the delivery system against her heart and now her pussy is soaking through her underwear. She blames Marcus. She blames loneliness. She will never blame the cat.//
<</say>>
<p>Megan's fingers find her clit and she whimpers, the first touch sending a jolt through her whole body. She's so sensitive from the pheromone dose that direct contact is almost too much. She rubs in slow circles, knees drawn up under the blanket, the cat purring on the pillow next to her face.</p>
<p>She comes in under two minutes. Quick and sharp, hips jerking, thighs clenching, a whine she bites off against the pillow. The cat's fur brushes her cheek. The pheromone residue on the fur hits her nostrils and the first orgasm rolls directly into a second. She shoves two fingers inside, riding her own hand, and the wet sounds under the blanket are obscene in the quiet room.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (pheromone-triggered double orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//Two orgasms in three minutes. The second was triggered by residual pheromone inhalation from the cat's fur on the pillow. The compound entered through her nasal mucosa during peak arousal, amplifying the neural cascade. She's conditioning herself now. Every time she hugs the cat, her body will anticipate what comes after.//
//The lonely daughter's bedtime routine: hug the cat, then fuck herself. The cat is the foreplay. And she has no idea.//
<</say>>
<p>Megan lies under the blanket, hand between her legs, the cat curled on the pillow beside her. The laptop is closed. The notes are scattered. Marcus's silence doesn't hurt anymore, her body found something better.</p>
<p><span class="delve-intel">Intel gained: Pheromone coat chest contact triggers spontaneous arousal in under eight minutes. Megan's post-hug masturbation pattern is now established, with the cat as the conditioned stimulus.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.pheroCoatJess to true>>
<<if $jessRoute is "punk">><<set $ch2Events.pheroCoatJessPunk to true>><<else>><<set $ch2Events.pheroCoatJessBreakdown to true>><</if>>
<<addConditioning "jess" "pheromone" 1>><</nobr>>
<div class="passage-title">Borrowed Warmth</div>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/phero-jess-carry-punk.webp" alt="Jess in the hallway with the cat against her shoulder, purple and black hair falling forward, nose stud catching the light, loose band tee">
<p>Jess emerges from her room for the first time in hours, fingertips tender from the bass strings, skin still flushed from the warm air of a bedroom where the amp has been running the whole session, and she nearly trips over the cat in the hallway.</p>
<<say "char-jess" "Jess">>
<i>(startled)</i> Jesus... Whiskers, //move//...
<</say>>
<p>She doesn't step over it. She bends, scoops the cat up against her shoulder, lets it mould warm into the side of her neck, and the breath she lets out has nothing to do with the weight of the animal.</p>
<<say "char-jess" "Jess">>
<i>(quietly, into the fur)</i> ...you're warm. Okay. Five minutes, you and me.
<</say>>
<p><span class="skill-used">Pheromone Coat, neck contact, direct vascular absorption</span></p>
<img class="scene-img" src="media/scenes/phero-jess-neck-punk.webp" alt="Close-up of the cat pressed against Jess's neck, purple and black hair falling forward, nose stud visible, her eyes half-closed">
<<say "char-hivemind" "Hivemind">>
//The neck. The carotid a centimetre under the skin, the thinnest barrier on her body, and the heat coming off her opens it wide. She tells herself the new look is about who she is, not what she wants. That line is about to stop holding.//
<</say>>
<p>She carries the cat to the kitchen and makes coffee one-handed, the animal pressed to her shoulder while the compound goes in through the thin skin over the artery, and by the time she sets it down the bass-tremor in her fingers has been joined by a new heat rolling down from her neck into her chest and lower.</p>
<<say "char-jess-thought" "Jess">>
...oh, fuck. That is going straight down and not slowing down, not the coffee, not the amp, and I want more of it right now, christ, more.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Under ninety seconds to the brain, and she did not flag it, because the new body has been running hot for a while and one more flush read as more of the same. Now the session adrenaline and the spike collide, and the body picks the spike.//
<</say>>
<p>Her hand drops from her neck to the counter and grips the edge, her hips pressing forward against the granite without asking her first, and the friction through denim is not nearly enough. She shoves the black jeans and her underwear down off her hips, puts her back flat to the wall beside the fridge, and works two fingers into herself instead.</p>
<<say "char-jess-thought" "Jess">>
Fuck it. House is dead, door is shut, nobody is walking in. I want it, it is right here, jeans off, wall, now.
<</say>>
<p>She fucks herself against the wall in the same steady rhythm she has been drilling on the bass all night, gone somewhere past thinking, just chasing it.</p>
<<say "char-jess" "Jess">>
<i>(low, not fighting it)</i> ...mmh, fuck, okay, yeah...
<</say>>
<p>She comes with her shoulders flat to the wall and her fingers buried, and her body lets go all at once, a hot rush squirting out around her hand and down her own thighs to spatter the kitchen floor while the moan breaks out of her louder than she means, her knees going so she slides a few inches down the plaster before she catches herself.</p>
<<say "char-jess" "Jess">>
<i>(a long broken moan, head tipping back against the wall)</i> ahh... //ahh//... oh, christ, did I just...
<</say>>
<video class="scene-video" src="media/video/phero-jess-counter-punk.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-jess-counter-punk.webp"></video>
<<say "char-jess-thought" "Jess">>
...holy shit. That was incredible. All over Mom's clean floor and I do not care even a little, I am doing that again, soon.
<</say>>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (pheromone-induced counter orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//She just came against the kitchen counter because she picked up a cat in the hallway. Neck contact, four minutes. The new body has appetites the old one sat on, and the cat proved it in a single exposure. She will carry it every night now, and every night it will end here, or the bathroom, or the floor of her room with the bass abandoned. She does not form habits easily. Once she does, they do not break.//
<</say>>
<p>She wipes the puddle off the tiles with a wad of paper towel, picks up the coffee she is not going to drink, goes back to her room, sets the bass in its stand, and her thighs are still going.</p>
<p><span class="delve-intel">Intel gained: Neck-contact pheromone delivery triggers rapid arousal in Jess, under four minutes from contact to orgasm. The kitchen is now a conditioned location. A break from the bass, cat contact, orgasm.</span></p>
<<else>>
<img class="scene-img" src="media/scenes/phero-jess-carry.webp" alt="Jess carrying cat while walking through hallway, cat against her shoulder">
<p>Jess emerges from her room for the first time in hours, eyes red, a caffeine tremor in her hands, and she nearly trips over the cat in the hallway.</p>
<<say "char-jess" "Jess">>
<i>(startled)</i> Jesus... Whiskers, //move//...
<</say>>
<p>She doesn't step over it. She bends, scoops the cat up against her shoulder, and the warm fur lands against cold skin and makes her shiver.</p>
<<say "char-jess" "Jess">>
<i>(quietly, almost ashamed of it)</i> ...you're warm.
<</say>>
<p><span class="skill-used">Pheromone Coat, neck contact, direct vascular absorption</span></p>
<img class="scene-img" src="media/scenes/phero-jess-neck.webp" alt="Close-up of cat pressed against Jess's neck, her eyes closing">
<<say "char-hivemind" "Hivemind">>
//The neck. The carotid a centimetre under the skin, the thinnest barrier on her body. She does not cuddle, does not pet, does not have the time, but she is exhausted and cold and the cat is //warm//, and that is enough to crack hours of rigid discipline.//
<</say>>
<p>She carries the cat to the kitchen and makes coffee one-handed, the animal at her shoulder while the compound goes in through the thin skin over the artery, and when she sets it down her hands have stopped shaking and something else has started, a flush spreading down from her neck into her chest and lower.</p>
<<say "char-jess-thought" "Jess">>
Why am I warm, it is freezing in here, why is it going... no. That is not where the heat is supposed to be, what is wrong with me, I do not have time for whatever this is.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Under ninety seconds to the brain, and she missed it because she was making coffee. Now the caffeine crash and the spike collide, and the body picks the spike. The most disciplined mind in the family, and the body under it answers a dose faster than anyone else's.//
<</say>>
<p>Her hand drops from her neck to the counter and grips the edge, her hips pressing forward against it without asking her first, and it is not enough. She shoves the thin shorts and her underwear down, puts her back to the wall by the fridge, and works two fingers into herself, the kitchen empty and quiet around her.</p>
<<say "char-jess" "Jess">>
<i>(through gritted teeth)</i> ...this is //ridiculous//. Stop it. Just... stop.
<</say>>
<p>She does not stop. The analytical part of her catalogues the heart rate and the wet and the way her own fingers feel, and the pheromone has dissolved her ability to care about any of it, so she works herself harder and faster against the wall.</p>
<<say "char-jess-thought" "Jess">>
Pathetic. You are fingering yourself against the kitchen wall like some desperate little, god, you have an exam, you have a future, and you are doing //this//, what is //wrong// with you, you disgusting, pathetic...
<</say>>
<p>She comes with her shoulders flat to the wall and her fingers buried, and her body betrays her all the way, a hot humiliating rush squirting down her own thighs and across the floor tiles while the moan tears out of her before she can clamp it down, her knees going so she slides down the plaster and lands in the wet of it.</p>
<<say "char-jess" "Jess">>
<i>(a broken, hating moan)</i> ahh... no, no, //ahh//... god, you disgusting little slut...
<</say>>
<video class="scene-video" src="media/video/phero-jess-counter.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-jess-counter.webp"></video>
<<say "char-jess-thought" "Jess">>
That did not happen. There is a puddle on the floor and you put it there and that did not happen. Clean it up, drink the coffee, open the book, and none of this happened.
<</say>>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (pheromone-induced counter orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//The most disciplined mind in the family just came against the kitchen counter because she picked up a cat in the hallway. Neck contact, four minutes. She will carry it again, because she is exhausted and cold and it is warm, and every time it will end here, or the bathroom, or her desk chair, hating herself the same way and coming the same way regardless. She does not form habits easily. Once she does, they do not break.//
<</say>>
<p>She gets down and wipes the puddle off the tiles before anyone can see it, picks up the coffee, goes back to her room, opens the book she will not take in for another hour, and her thighs are still going.</p>
<p><span class="delve-intel">Intel gained: Neck-contact pheromone delivery triggers rapid arousal in Jess, under four minutes from contact to orgasm. The kitchen is now a conditioned location. A study break, cat contact, orgasm.</span></p>
<</if>>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.pheroCoatRyan to true>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<div class="passage-title">Comfort Object</div>
<img class="scene-img" src="media/scenes/phero-ryan-gaming.webp" alt="Ryan at desk with cat in his lap, gaming headphones on, blue LED lighting">
<p>Ryan doesn't react when the cat jumps into his lap. He's mid-raid, voice low in the headset mic, fingers hammering the keyboard. But his left hand drops automatically, finding the cat's back. Scratching. Muscle memory from years of Whiskers being the only thing in this house that seeks him out.</p>
<p><span class="skill-used">Pheromone Coat, passive delivery during extended gaming session</span></p>
<<say "char-hivemind" "Hivemind">>
//Ryan doesn't pet the cat. He //uses// the cat, an anchor, a warm weight in his lap that keeps him present when the screen pulls him away from his body entirely. He'll sit like this for hours. Hand on fur, eyes on pixels.//
//The delivery rate is slow. His attention is split, his hand moves mechanically, the contact is intermittent. But the duration compensates. Four hours of absent petting delivers more compound than ten minutes of focused cuddling.//
<</say>>
<img class="scene-img" src="media/scenes/phero-ryan-close.webp" alt="Close-up of Ryan's hand on cat fur, blue screen glow, soft expression">
<p>The raid ends. Ryan pulls off the headphones. The silence is sudden. He looks down at the cat in his lap after four hours of absent petting. The pheromone compound has been absorbing through his palm the entire time, building in his system layer by layer while his conscious mind was in the game.</p>
<p>Now the game is off. And the compound is all there is.</p>
<<say "char-ryan" "Ryan">>
<i>(softly)</i> ...you stayed.
<</say>>
<p>He lifts the cat to his face. Presses his forehead against the warm fur. Inhales. The concentrated pheromone hits his nasal mucosa and his cock stiffens in his sweatpants. He's been half-hard for an hour without noticing, the gaming masked the physical arousal. Now there's nothing to mask it.</p>
<<say "char-hivemind" "Hivemind">>
//Four hours of passive delivery. The compound has saturated his system. Heart rate elevated. Testosterone spiking. Erection at 80% and climbing. He's been marinating in pheromone for the entire raid and his body has been responding beneath his awareness the whole time. Now the headphones are off and there's nowhere to hide from what he feels.//
<</say>>
<p>Ryan puts the cat down. Pushes back from the desk. His hand drops to his lap, not to the cat this time. He palms himself through his sweatpants, and the groan he makes is involuntary. Four hours of accumulated arousal hitting at once.</p>
<p>He shoves his sweatpants down. His cock springs free, hard, flushed, leaking. He grips the shaft and strokes, and the pheromone residue still on his palm from the cat's fur transfers directly to his most sensitive skin. The effect is immediate. His hips buck.</p>
<p>He jerks off at his gaming desk, headphones around his neck, dual monitors dark, the cat watching from the bed. It's fast and graceless, the kind of desperate masturbation that comes from hours of suppressed arousal finally breaking through. His hand moves in sharp, rough strokes. Pre-cum slicks his palm. The blue LED strips paint his body in cold light.</p>
<p>He comes in under a minute, thick ropes of cum spattering his stomach, his desk chair, his bare thigh. The orgasm wrenches a sound from him that he'd be mortified by if anyone could hear. His whole body shakes. The desk chair creaks.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (pheromone-accumulation release)</span></p>
<<say "char-hivemind" "Hivemind">>
//Four hours of passive delivery. One minute of active release. The pheromone residue on his palm transferred to his cock during masturbation, direct mucosal absorption at the highest concentration site. His refractory period will be shortened by the compound still circulating. He'll be hard again in twenty minutes.//
//The gaming sessions are the delivery mechanism. The cat in his lap is the vector. And the orgasm at the end is the //reward// that ensures he'll do it again tomorrow. Pavlovian conditioning at its most basic: cat in lap, then gaming, then orgasm. He'll never play a game without the cat again.//
<</say>>
<p>Ryan cleans up with a t-shirt from the floor. Puts the headphones back on. Opens a new game. The cat hops back into his lap. He scratches behind its ears.</p>
<p>The cycle begins again.</p>
<p><span class="delve-intel">Intel gained: Ryan's extended gaming sessions create a 4-hour passive pheromone accumulation window. Post-session orgasm creates Pavlovian reinforcement: gaming + cat = sexual release. The loop is self-sustaining.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]
/* ============================================================
DOG — GUARD INSTINCT SCENES
============================================================ */<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.guardBlockKaren to true>>
<<spendBiomass 2>><</nobr>>
<div class="passage-title">The Blockade</div>
<img class="scene-img" src="media/scenes/dog-guard-stairs.webp" alt="Golden retriever blocking the bottom of the staircase, body tense">
<p>You position Biscuit at the base of the stairs. The dog's body fills the narrow passage, sixty pounds of golden retriever planted like a wall. Ears forward. Eyes fixed on the kitchen, where Karen is finishing the dishes.</p>
<p><span class="skill-used">Guard Instinct, autonomous patrol, stairway blockade</span></p>
<<say "char-hivemind" "Hivemind">>
//Karen follows a schedule. Dishes done by 9:15. Tea made by 9:20. Upstairs by 9:30 to check on the children. That gives me fifteen minutes. The dog holds the stairs. The cat is already upstairs.//
<</say>>
<img class="scene-img" src="media/scenes/dog-guard-karen.webp" alt="Karen approaching staircase, confused by dog blocking the way">
<p>Karen rounds the corner with her tea. Biscuit doesn't move. Doesn't growl, since Guard Instinct is subtler than Intimidate. The dog simply //exists// in the space, solid and immovable, tail wagging slowly.</p>
<<say "char-karen" "Karen">>
<i>(exasperated)</i> Biscuit, //move//. Come on, girl. Go to your bed.
<</say>>
<p>Biscuit wags harder. Leans into Karen's legs. Karen sighs, sets down her tea, and tries to push the dog aside. Biscuit licks her hand and sits down. //Harder//.</p>
<<say "char-karen" "Karen">>
What has gotten //into// you tonight...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three minutes bought. Karen is wrestling with the dog. Upstairs, the cat is delivering the final ninety seconds of tonight's sensory infiltration dose. The coordination is seamless, and the dog doesn't need to understand //why//. Guard Instinct makes the behaviour autonomous. Karen sees a needy pet. I see a //checkpoint//.//
<</say>>
<p>Karen eventually pushes past, grumbling about the dog's behaviour. By the time she reaches the upper hallway, the cat has retreated. The bedroom doors are closed. Everything looks normal.</p>
<p><span class="delve-intel">Intel gained: Guard Instinct can delay Karen's nightly check-in by 3-5 minutes, enough time for the cat to complete conditioning operations upstairs.</span></p>
<<addFamilySuspicion "karen" 1>>
<p><span class="consume-fail">Karen noticed Biscuit's unusual behaviour. +1 Karen suspicion.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]
/* STATUS: TO REWORK / SUPERSEDED, replaced by Ch2-Lockdown-* pair-lockdown system in chapter2-beast-dog-lockdowns.twee. The single-target hallway isolation framing was scaffolding only and never delivered an NSFW payoff. The new system traps two family members per room (Jess+Megan / Ryan+Karen / Dale+Jess / Karen+Megan) and runs tier-2/tier-3 explicit scenes. Prose preserved for design reference. */<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<<goto "Ch2-Beast-Navigate">><<nobr>><<bg "bg-hoffman-ground">>
<<set $ch2Events.guardNightPatrol to true>>
<<spendBiomass 1>><</nobr>>
<div class="passage-title">Night Watch</div>
<img class="scene-img" src="media/scenes/dog-guard-patrol.webp" alt="Golden retriever patrolling dark house at night, kitchen visible in background">
<p>Biscuit pads through the dark house on a circuit. Kitchen. Living room. Front door. Back door. Kitchen again. The route is deliberate, Guard Instinct mapping the optimal patrol path, covering all entry points while the rat works.</p>
<p><span class="skill-used">Guard Instinct, autonomous patrol, cover for Contaminator operations</span></p>
<p>In the kitchen, the rat emerges from the wall cavity behind the refrigerator. It scurries across the counter, past the fruit bowl, the bread bin, the coffee machine. Contaminator compounds seep from the rat's paws into every surface. //Tomorrow morning, every cup of coffee Karen pours will carry a micro-dose. Every slice of toast. Every piece of fruit the children grab before school.//</p>
<img class="scene-img" src="media/scenes/dog-guard-rat-kitchen.webp" alt="Rat on kitchen counter in darkness, golden retriever visible in doorway as lookout">
<<say "char-hivemind" "Hivemind">>
//The dog is the alarm system. If anyone stirs upstairs, a door opening, footsteps, the flush of a toilet, Biscuit's ears catch it thirty seconds before they reach the stairs. One bark, inaudible to the family, but the rat hears it through the floorboards. Time to retreat.//
//The perfect partnership. The dog guards. The rat poisons. Neither needs the other's abilities. They need each other's //position//.//
<</say>>
<p>The patrol completes without incident. The rat finishes its circuit and vanishes back into the wall. Biscuit returns to the living room, curls up on the rug, and closes its eyes. //To anyone who checks, the dog is sleeping. Good dog.//</p>
<<if $adaptations.rat.unlocked.includes("contaminator")>>
<<addConditioning "karen" "pheromone" 1>>
<p><span class="skill-used">Contaminator, kitchen surfaces saturated. Tomorrow's breakfast is a conditioning session.</span></p>
<</if>>
<p><span class="delve-intel">Intel gained: Guard Instinct provides reliable cover for Contaminator operations during nighttime kitchen access.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]
/* ============================================================
DOG — ALPHA HOWL SCENES
============================================================ */
/* STATUS: TO REWORK / SUPERSEDED, see chapter2-beast-dog-lockdowns.twee. The three single-target HOWL passages (AlphaPrivacy, AlphaHerd, AlphaBathroom) all ended in route-wip TBD with no NSFW payoff. They're replaced by the four pair-lockdown scenes. */<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<<goto "Ch2-Beast-Navigate">><<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<<goto "Ch2-Beast-Navigate">><<nobr>><<bg "bg-hoffman-bathroom">><</nobr>>
<<goto "Ch2-Beast-Navigate">>
/* ============================================================
GECKO — MICRO-SPORE EMITTER SCENES
============================================================ */<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.microSporeRyan to true>>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<div class="passage-title">Terrarium Fog</div>
<img class="scene-img" src="media/scenes/gecko-spore-terrarium.webp" alt="Gecko in terrarium, faint green mist emanating from the substrate">
<p>The heat lamp cycles on and the terrarium climbs, twenty-nine degrees, thirty, thirty-one, until the warmth wakes the Micro-Spore Emitter. Invisible particles lift off the gecko's skin, ride the thermal gradient up, and drift out through the mesh lid into the room.</p>
<p><span class="skill-used">Micro-Spore Emitter, passive ambient delivery via terrarium convection</span></p>
<<if $ryanRoute is "feminization">>
<p>Ryan is three feet away with his headphones on, mouth-breathing, his face lit by the two monitors and the warm amber of the vanilla candle he started ordering a while ago and has not stopped. Under the oversized hoodie the bralette strap lies flat across his collarbone, under the sweatpants the silk waistband rides low at his hip, and his matte-black nails tap an uneven rhythm on the W key while every slow inhale draws the spores down into him.</p>
<img class="scene-img" src="media/scenes/gecko-spore-ryan-desk-fem.webp" alt="Ryan at his desk in the cool blue monitor glow, oversized hoodie slipped off one shoulder revealing a thin black bralette strap on his collarbone, matte-black painted fingernails on the keyboard, the terrarium on the back shelf glowing soft amber with a faint haze visible between it and the monitor, a vanilla candle burning on the shelf">
<<say "char-ryan-thought" "Ryan">>
Room's warm tonight, sweet, the candle I guess, and my head's going soft at the edges the way it does when I should have slept hours ago. Whatever. It's quiet up here, it's just me, nobody is going to walk in.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The terrarium is a diffuser. Warm air lifts off the lamp, carries the spores up and out, settles them across a metre of room. His desk, his bed, the closet mirror he keeps checking. All of it inside the cloud, and he breathes it without a single alarm going off.//
<</say>>
<p>His shoulders come down half an inch, the strap rolling deeper into the soft line it has worn into his skin lately, and the draft post he has redrafted for nights sits open in the streaming tab, the pink banner unsaved, the scheduled-time field still blank.</p>
<<say "char-ryan-thought" "Ryan">>
I keep saying I'll set the time when I'm ready, except I am never ready, I just sit here too wired to sleep and too scared to press the button, and tonight the scared part just... isn't showing up. So set it. Let them see her. Nobody downstairs ever has to know what the screen says.
<</say>>
<p>He fills in the scheduled time, hits save, and sits back staring at the little confirmation as though someone else had reached over and done it for him.</p>
<<say "char-hivemind" "Hivemind">>
//The inhibition threshold is lowering. The spores do not plant the wanting, they dissolve what holds it down. The schedule he could not commit to is set, the escalation he keeps swallowing is surfacing, and night by night in this room another layer comes off the shell he built around what is trying to get out.//
<</say>>
<p><span class="delve-intel">Intel gained: Micro-Spore Emitter uses terrarium heat convection for passive, continuous dream conditioning of Ryan's room. The apparatus he keeps tucked under his clothes is the specific resistance the spores are dissolving; every breath in this room moves him one step closer to the next item ordered, the next stream scheduled, the next layer applied where someone might see.</span></p>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan is three feet away with his headphones half-on, mouth-breathing, his face lit by the two monitors, and the message box on the laptop holds a half-typed line to people who only know him as a handle. Every slow inhale draws the spores down into him, and the candle covers whatever faint thing there might be to notice.</p>
<img class="scene-img" src="media/scenes/gecko-spore-ryan-desk.webp" alt="Ryan at desk in blue glow, faint haze visible between terrarium and monitor">
<<say "char-ryan-thought" "Ryan">>
Room's too big tonight, too quiet, and my head's going soft the way it does when it's late. Downstairs the TV is still on, I can hear Mom laughing at something, and the sound coming up through the floor is the only thing all day that hasn't made my chest feel tight.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The terrarium is a diffuser. Warm air lifts off the lamp, carries the spores up and out, settles them across a metre of room. His desk, his bed, the door he keeps shut against the house. All of it inside the cloud.//
<</say>>
<p>His shoulders come down half an inch, and the half-typed message to strangers blinks its cursor at him while the warm ordinary noise of the family carries on three steps and one staircase away.</p>
<<say "char-ryan-thought" "Ryan">>
This is stupid, I'm nineteen, I should not want to go sit on the end of the couch near my own mother like some little kid, except I do, I want it so badly it aches, and tonight the part of me that usually talks me out of it just... isn't talking. I don't have to say anything. I can just go down and be in the same room as them.
<</say>>
<p>He closes the laptop, the half-typed line going dark with the screen, and opens the bedroom door onto the warm noise of the house below.</p>
<<say "char-hivemind" "Hivemind">>
//The inhibition threshold is lowering. The spores do not plant the hunger, they dissolve what holds it down. The wall he built to keep himself up here, alone, behind the handle is thinning, and the shut door he never opens stands open. Night by night this room loosens his grip on the isolation he keeps mistaking for safety.//
<</say>>
<p><span class="delve-intel">Intel gained: Micro-Spore Emitter uses terrarium heat convection for passive, continuous dream conditioning of Ryan's room. The isolation that keeps him sealed behind the screen is the specific resistance the spores are dissolving; every breath in this room moves him one step closer to the door, the stairs, and the family warmth he is starving for.</span></p>
<<else>>
<p>Ryan is three feet away with his headphones on, mouth-breathing, his face lit by the two monitors. Every slow inhale draws the spores down into him, and he will not smell them, will not feel them, will not notice the first sign when it comes: the looseness in his shoulders, the softening of the jaw, the slow dissolution of whatever it is that keeps him rigid in the chair.</p>
<img class="scene-img" src="media/scenes/gecko-spore-ryan-desk.webp" alt="Ryan at desk in blue glow, faint haze visible between terrarium and monitor">
<<say "char-ryan-thought" "Ryan">>
Room's warm. My head's going soft at the edges, late again, the way it always is, and somewhere in my chest something unclenches a notch and I could not tell you what it was holding onto.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The terrarium is a diffuser. Warm air lifts off the lamp, carries the spores up and out, settles them across a metre of room. His desk, his bed, all of it inside the cloud, and he breathes it without an alarm going off.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The inhibition threshold is lowering. The spores do not create desire, they dissolve resistance, and whatever shape his wanting finally settles into, this room is already prying loose the grip he keeps on it.//
<</say>>
<p><span class="delve-intel">Intel gained: Micro-Spore Emitter uses terrarium heat convection for passive, continuous dream conditioning of Ryan's room. Effective radius covers the entire desk and bed area, softening his resistance a little further every night he spends inside it.</span></p>
<</if>>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.microSporeJess to true>>
<<addConditioning "jess" "dream" 1>><</nobr>>
<div class="passage-title">Through the Wall</div>
<img class="scene-img" src="media/scenes/gecko-spore-wall.webp" alt="Gecko on wall near electrical outlet, faint vapour trailing from its skin">
<p>Ryan's room and Jess's room share a wall, the electrical outlets set back-to-back with a gap in the insulation where the wiring runs through, and the gecko settles beside the outlet with the Micro-Spore Emitter at maximum output.</p>
<p><span class="skill-used">Micro-Spore Emitter, inter-room drift via shared wall cavity</span></p>
<<say "char-hivemind" "Hivemind">>
//The gap is narrow, but the spores are smaller. Warm air from Ryan's room pushes through into hers, a fraction of the dose he breathes, except her room is cold and she sleeps with the window cracked, and the pressure draws the laden air through to her.//
<</say>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/gecko-spore-jess-sleep-punk.webp" alt="Jess asleep on her bed with the bass across her thighs, purple and black hair spilled across the pillow, earbuds in, faint mist visible near the electrical outlet on the wall behind her">
<p>On the other side of the wall Jess is on her bed with the bass across her thighs and her laptop looping a four-bar line low through the speakers, three feet from the outlet where the warmth drifts in behind the headboard. Her fingers slow on the strings, and the loop comes around twice before she catches the next bar.</p>
<<say "char-jess-thought" "Jess">>
One more pass, get the bridge clean and then sleep, except the bridge was clean two passes ago and my hands are just... going through it now, heavy, like the strings moved further away. Room's actually warm for once. Weird. Don't care. One more.
<</say>>
<p>The next time the loop comes around she does not pick it up, the bass sliding off her thighs onto the duvet as her head tips back into the pillow, earbuds still leaking the four-bar line into the dark, and she is asleep before she can be annoyed about it.</p>
<<say "char-hivemind" "Hivemind">>
//She stopped treating rest like surrender a while ago, but she runs hot now, on rehearsal and reinvention and too little sleep. The spores do not knock her out, they lower the body's resistance until the exhaustion she has been overriding finally wins, and the new wiring is too tired tonight to argue. Hours of saturated air, in and out, while she sleeps the deepest she has in a long while and wakes calling it luck.//
<</say>>
<<elseif $jessRoute is "breakdown">>
<img class="scene-img" src="media/scenes/gecko-spore-jess-sleep.webp" alt="Jess asleep at desk, faint mist visible near the electrical outlet behind her">
<p>On the other side of the wall Jess is at her desk three feet from the outlet, a highlighter going slack in her hand over a textbook whose same paragraph she has read four times, and the warmth drifts in behind her chair while her eyelids drag down a fraction every time she hauls them back up.</p>
<<say "char-jess-thought" "Jess">>
If I close my eyes I lose the chapter, if I lose the chapter I am further behind tomorrow, and I cannot be further behind than I already am, so read it again, just read it... the words are sliding off the page. Why is it so warm in here. I will put my head down for one minute. One.
<</say>>
<p>Her head goes down onto the open book between one breath and the next, the highlighter rolling out of her fingers, and the panic that has been keeping her upright loses all at once to the weight in her limbs.</p>
<<say "char-hivemind" "Hivemind">>
//She treats sleep like a failure of will, a thing she has to earn by finishing first, and she never finishes. The spores do not argue with her about it, they lower the body's resistance until the exhaustion she keeps overriding takes the decision away from her. Hours of saturated air, in and out, and she will wake on the textbook calling it a lapse rather than the first real rest she has let herself have.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/gecko-spore-jess-sleep.webp" alt="Jess asleep at desk, faint mist visible near the electrical outlet behind her">
<p>On the other side of the wall Jess sits at her desk three feet from the outlet, re-reading the same paragraph for the fourth time while the warmth drifts in behind her chair and her eyelids droop.</p>
<<say "char-jess-thought" "Jess">>
Same paragraph, fourth time, none of it is going in, and the room has gone warm and heavy and my eyes keep closing on their own. Five minutes. I will rest them for five minutes and then finish the chapter.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She fights sleep like it is something to be ashamed of. The spores do not knock her out, they lower the body's resistance until the tiredness she keeps overriding wins, and she breathes hours of saturated air while she sleeps, waking rested for the first time in a long while without knowing what changed.//
<</say>>
<</if>>
<p><span class="delve-intel">Intel gained: Micro-Spore delivery through the shared wall cavity reaches Jess's room without direct gecko access, dosing her sleep with dream conditioning for hours at a stretch.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.microSporeHandling to true>>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<div class="passage-title">Feeding Time</div>
<img class="scene-img" src="media/scenes/gecko-spore-handling.webp" alt="Hands holding gecko, gecko's skin glistening, warm light from heat lamp">
<p>Ryan opens the terrarium for the evening feeding, sets out the mealworms and mists the glass, and then, the way he always does, he lifts Spike out into his open palm. The gecko settles four inches from his face while his fingers curl around the small warm body and his thumb traces the scales along its spine, and the heat off his hand wakes a fresh wave of spore emission right under his nose.</p>
<p><span class="skill-used">Micro-Spore Emitter, direct handling, maximum concentration exposure</span></p>
<<if ($ryanRoute is "feminization" or $ryanRoute is "familySeeker") and not $ch2Events.ryanSporeMegan>>
<<set $ch2Events.ryanSporeMegan to true>>
<<say "char-hivemind" "Hivemind">>
//The dose lands differently tonight. His resistance is already thin, worn down night after night, and at this concentration it does not just go quiet. It tips. The calm becomes heat. Watch.//
<</say>>
<p>Ryan sets Spike back on the warm rock and does not go back to the desk.</p>
<<if $ryanRoute is "feminization">>
<p>He pulls the hoodie off over his head, the bralette strap dark against his collarbone, and drops onto the edge of the bed with the laptop, thumbing the site open before he has quite decided to. The headphones go on, and the room narrows down to the screen.</p>
<p>It is the sissy stuff tonight, the looping captions and the soft droning voice telling him what he is and what good girls do, and his hand is already inside the silk before the first line finishes fading in. He works himself slow, hips rolling up into his fist, mouthing along with the words.</p>
<video class="scene-video" src="media/video/ryan-spore-mast-fem.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-mast-fem.webp"></video>
<<say "char-ryan-thought" "Ryan">>
Good girl, that is what it says, that is what I am when nobody is looking, and there is nobody looking, the house is asleep and the door is shut and I can just be her for a while, hand moving, breath going high, almost...
<</say>>
<p>He does not hear the door.</p>
<<say "char-megan" "Megan">>
Ryan, do you have a charger, mine just... <i>(the sentence dies in her mouth)</i>
<</say>>
<p>Megan is two steps into the room before her eyes reach the screen, and she stops dead. The captions, the voice leaking out of his headphones, her little brother on the edge of the bed in a bralette with his fist working and his back to her, oblivious. She should leave. She knows she should leave.</p>
<p>She does not leave. The air in here is thick and warm and sweet and it has been working on her since she crossed the threshold, smoothing flat the part of her that recoils and leaving only the part that wants to see what happens next, and she finds herself easing the door shut behind her instead of stepping back through it.</p>
<video class="scene-video" src="media/video/ryan-spore-megan-behind-fem.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-megan-behind-fem.webp"></video>
<<say "char-megan-thought" "Megan">>
This is so messed up, I should be backing out the door, I should be anywhere but here, except the room is so warm and my feet are carrying me the wrong way and some part of me just wants to see his face when he... I will scare him. One scare and we never speak of this again.
<</say>>
<<else>>
<p>He drops onto the edge of the bed and pulls the laptop into his lap, thumbing the site open before he has quite decided to. The headphones go on, and the room narrows down to the screen.</p>
<p>It is the step-sibling stuff tonight, the fake-home setups and the captions about sisters who do not lock the door, the thing he tells himself the algorithm just keeps serving him, and his hand is already moving before the clip finishes loading. He works himself slow, picturing a door that opens and someone who stays.</p>
<video class="scene-video" src="media/video/ryan-spore-mast-fam.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-mast-fam.webp"></video>
<<say "char-ryan-thought" "Ryan">>
It is not even the videos, it is the part where someone walks in and does not leave, where someone in this house actually wants to be in the room with me, and I can have that here for a few minutes, hand moving, almost...
<</say>>
<p>He does not hear the door.</p>
<<say "char-megan" "Megan">>
Ryan, do you have a charger, mine just... <i>(the sentence dies in her mouth)</i>
<</say>>
<p>Megan is two steps into the room before her eyes reach the screen, and she stops dead. The setup on it is unmistakable, a kitchen and a girl and a stepbrother and captions that spell out exactly what it is, and her little brother is on the edge of the bed with his fist working and his back to her, oblivious, watching that. She should leave. She knows she should leave.</p>
<p>She does not leave. The air in here is thick and warm and sweet and it has been working on her since she crossed the threshold, smoothing flat the part of her that recoils and leaving only the part that wants to see, and she finds herself easing the door shut behind her instead of stepping back through it.</p>
<video class="scene-video" src="media/video/ryan-spore-megan-behind-fam.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-megan-behind-fam.webp"></video>
<<say "char-megan-thought" "Megan">>
That is a sister on that screen, that is what he is into, that is so messed up I should already be gone, except the room is so warm and my feet are carrying me the wrong way and some sick curious part of me just wants to see his face when he gets there. I will scare him. One scare and we bury this forever.
<</say>>
<</if>>
<p>She crosses the carpet on the balls of her feet, slow, until she is right behind him and close enough to feel the heat coming off his skin, and his breath has gone ragged and stuttering and he is right at the edge.</p>
<p>She leans in to grab his shoulder, he feels her a half-second before her hand lands, and he wrenches around with a strangled sound that drags the headphones half off his ears, the tinny moans and voiceover he had bottled up in them suddenly slapping out across the room at full volume. The timing is the cruelest thing the spores arrange all night, because he is already going over as he turns. His cock kicks in his fist, the first thick rope catches Megan across the cheek and mouth, the second across her chin, her brother coming on her face before either of them has caught up to what is happening.</p>
<<say "char-ryan" "Ryan">>
<i>(the moan tearing loose before he can swallow it, hips jerking)</i> Aah, ahh, oh god, oh GOD, no, no...
<</say>>
<<say "char-megan" "Megan">>
<i>(the cum striping her face, flinching back hard)</i> AAH! Oh my GOD!
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/ryan-spore-megan-cum.webp" alt="Megan startled in the dark bedroom, cum across her face">
<p>For one ringing second the loudest thing in the house is the porn still blaring out of the laptop speakers, and then Karen's voice comes up through the floor from the ground floor, thick with half-sleep.</p>
<<say "char-karen" "Karen">>
<i>(calling up the stairs)</i> Is everything okay up there? I'm hearing strange sounds!
<</say>>
<p>Ryan lunges for the trackpad and kills the volume, the room dropping into dead silence, and the two of them answer in the very same breath, far too loud and far too fast.</p>
<<set _mgF to setup.getPortraitVariant("megan")>><<set _ryF to setup.getPortraitVariant("ryan")>>
<div class="dialogue-block char-megan dialogue-unison">
<<print '<img class="dialogue-portrait" src="media/portraits/megan/megan-' + _mgF + '.thumb.webp" alt="Megan">'>>
<<print '<img class="dialogue-portrait" src="media/portraits/ryan/ryan-' + _ryF + '.thumb.webp" alt="Ryan">'>>
<p class="dialogue-line"><span class="dialogue-name">Megan and Ryan</span> <i>(both at once, bright and strangled)</i> EVERYTHING IS FINE!</p>
</div>
<<say "char-ryan" "Ryan">>
<i>(dropping to a frantic whisper, cum on his hand)</i> Megan, oh god, I didn't, I couldn't stop it, I...
<</say>>
<<say "char-megan" "Megan">>
<i>(swiping at her cheek, voice a furious hiss now that the house is awake)</i> WHAT THE FUCK. //WHAT THE FUCK, RYAN.//
<</say>>
<<if $meganRoute is "slut">>
<p>She is on her feet and already halfway to the door, his cum sliding down her cheek and chin, when something behind her eyes does the math and stops her. She pulls her phone out, tilts her chin up into the screen light, and snaps three quick photos of her own ruined face before any of it can run.</p>
<<say "char-megan" "Megan">>
<i>(snapping the selfies, flat and furious at the same time)</i> Can't let an opportunity like this go to waste, the simps pay stupid money for a real facial. <i>(pocketing the phone, rounding on him)</i> But seriously? Fuck you, bro.
<</say>>
<p>She scrubs her face with his hoodie off the floor, throws it at his head, and walks out without another word.</p>
<<else>>
<p>And then her fury slips the leash and climbs straight back out of the whisper, her hand smearing the cum off her cheek as she backs toward the door, past caring who else in the house is awake to hear it.</p>
<<say "char-megan" "Megan">>
<i>(shrill, furious, on the edge of tears)</i> Fuck you. //Fuck you.// Oh my god, what is WRONG with you, Ryan, fuck YOU.
<</say>>
<p>She is still saying it when she goes, the word battering down the hall over the bang of the door, the whole house awake now whether it wants to be or not.</p>
<</if>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (spontaneous release, two targets dosed)</span></p>
<<say "char-hivemind" "Hivemind">>
//Two bodies, one cloud. He fed me the instant he came, and she fed me the instant she let her feet carry her toward it instead of away. She will scrub her face raw and call it disgusting and mean every word of it. She will also be back inside this room, because the part of her that crossed the carpet is the part I have been growing, and it does not unlearn the way it came in.//
<</say>>
<p><span class="delve-intel">Intel gained: At direct-handling concentration the spores tip Ryan from suggestible to actively aroused, and the saturated room pulled Megan past her own disgust and into the scene before she could stop herself. The collision left her enraged and Ryan ashamed, but both breathed the cloud for its duration and both took a dose. The room is now a trap that conditions whoever walks into it.</span></p>
<<else>>
<img class="scene-img" src="media/scenes/gecko-spore-ryan-face.webp" alt="Close-up of Ryan's face in warm light, holding gecko near his chin, relaxed expression">
<p>Ryan's pupils dilate and his jaw unclenches, the rigid posture he holds at the keyboard dissolving into something loose and open, and he lifts the gecko higher and presses his lips to the top of its head, a kiss, gentle and unconscious.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> ...you're the only one who gets it, Spike...
<</say>>
<<say "char-hivemind" "Hivemind">>
//He kissed it. He pressed his lips to the delivery system and //inhaled//, and the mucosa of the lips takes the compound faster than skin ever could. This one gesture, this lonely affection aimed at a small creature that cannot return it, lands more conditioning than a week of breathing the ambient room. He thinks the calm is the warmth, the routine, the simple act of caring for something small. He will never suspect the gecko. ''Because who suspects love?''//
<</say>>
<p><span class="delve-intel">Intel gained: Ryan's emotional attachment to the gecko is itself the conditioning vector. He projects loneliness onto the animal, bonds with it, trusts it. The parasite does not need to force the dose here, it needs him to keep coming back.</span></p>
<</if>>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-bathroom">>
/* Check which scenes are eligible: pheromone ≥ 5 AND not yet observed (one-time per member) */
<<set _karenReady to ($conditioning.karen.pheromone gte 5 and not $ch2Events.geckoWatchKarenBath)>>
<<set _jessReady to ($conditioning.jess.pheromone gte 5 and not $ch2Events.geckoWatchJessBath)>>
<<set _meganReady to ($conditioning.megan.pheromone gte 5 and not $ch2Events.geckoWatchMeganBath)>>
<</nobr>>
<div class="passage-title">The Ceiling Tile</div>
<img class="scene-img" src="media/scenes/gecko-camo-ceiling.webp" alt="Bathroom ceiling with barely visible gecko outline, steam rising from shower below">
<p>The gecko's skin shifts, white and textured, matching the ceiling tile grain perfectly. Camouflage renders Spike functionally invisible against the bathroom ceiling. Even someone looking directly up would see nothing. A water stain, maybe. A shadow from the exhaust fan.</p>
<p><span class="skill-used">Camouflage, complete visual concealment on bathroom ceiling</span></p>
<p>The shower turns on. Steam rises. Through the condensation, a figure steps behind the curtain.</p>
<<say "char-hivemind" "Hivemind">>
//The bathroom is the most vulnerable room in the house. No clothes. No phone in hand. No laptop screen to hide behind. Just skin and water and the illusion of a locked door. The gecko sees everything from above: the tiles are a map, the steam is cover, the sound of water drowns out the soft //tick// of gecko feet adjusting position.//
<</say>>
<img class="scene-img" src="media/scenes/gecko-camo-steam.webp" alt="Steamy bathroom from above, shower curtain partially transparent, silhouette visible">
<<if _karenReady>>
<<set $ch2Events.geckoWatchKarenBath to true>>
<<if $karenRoute is "dominant">>
<p>Karen. She still showers with the old efficiency, but the set of her shoulders is new. She stands square under the water instead of hunching away from it, head up and jaw set, and when her hand moves over her own body it is not tentative, it is appraising, the same way she has started looking at everyone in this house.</p>
<<say "char-karen" "Karen">>
<i>(low, to herself, almost a verdict)</i> ...mm. Yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is not discovering her body, she is taking inventory of it. The conditioning did not soften her, it sharpened her, and what is sharpening is the part that decides what happens to other people. The shower is where she rehearses the new authority before she carries it downstairs.//
<</say>>
<<else>>
<p>Karen. She showers with military efficiency, but tonight something is different. She lingers under the water with her head tilted back, and her hand drifts off her stomach and lower without her seeming to decide on it, a small exploring pressure she would once have shut down without a second thought.</p>
<<say "char-karen" "Karen">>
<i>(a breath she has been holding for years going out of her)</i> ...oh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She does not know why the hot water reads as something other than routine tonight. The lock she has kept on her own body since the children were small is rusting through, and her hand found the gap before her mind noticed there was one. The conditioning works below the waterline of what she lets herself want.//
<</say>>
<</if>>
<<addConditioning "karen" "psionic" 1>>
<p><span class="delve-intel">Intel gained: Karen's behaviour under surveillance confirms subconscious pattern shifts. The watched body acts differently from the unwatched body, and she has no idea she is being observed.</span></p>
<</if>>
<<if _jessReady>>
<<set $ch2Events.geckoWatchJessBath to true>>
<<if $jessRoute is "punk">>
<p>Jess. The cold-shower discipline is gone, the water running warm now, and she takes her time in it the way the old Jess never would have allowed. She tips her head back into the spray and drags both hands up her own ribs, nothing rigid left in how she stands.</p>
<<say "char-jess" "Jess">>
<i>(low, into the steam)</i> ...mm. Fuck yeah. So much better than freezing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The fortress is not cracking. She tore it down herself and called it freedom. What is left is a body that likes being a body, and the conditioning did not have to break anything to get here, it only had to wait for her to stop guarding the door.//
<</say>>
<<else>>
<p>Jess. She still showers cold, a discipline measure, a way to wake up between study sessions, but tonight the cold makes her gasp and the gasp turns into something with a wet edge to it. She stands under the icy stream with her arms wrapped around herself, shaking, and not all of the shaking is the cold.</p>
<<say "char-jess" "Jess">>
<i>(a small broken sound swallowed against her own arm)</i> ...stop it. Stop. Hold it together.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cold is supposed to be the lock on the door, the thing that keeps her sharp and shut. Tonight the lock is the crack. She is shaking apart under the water where nobody can grade her for it, and the conditioning is patient enough to let her own discipline do the undoing.//
<</say>>
<</if>>
<<addConditioning "jess" "psionic" 1>>
<p><span class="delve-intel">Intel gained: Jess's guard drops in private. The bathroom is where the analytical mind cannot schedule the cracks away, and surveillance confirms the unguarded moments are there to be used.</span></p>
<</if>>
<<if _meganReady>>
<<set $ch2Events.geckoWatchMeganBath to true>>
<<if $meganRoute is "slut">>
<p>Megan. She takes the longest showers, and tonight she spends a chunk of it angled toward the fogged mirror, running a soapy hand down her own side and watching the line of it, checking the asset the way she has started checking it, sorting what photographs from what does not.</p>
<<say "char-megan" "Megan">>
<i>(under the water, pleased with herself)</i> ...mm, yeah, that angle. That one pays.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The performing does not stop when she is alone, it has turned inward. The only audience left is the one in her own head running the numbers on her body, and the conditioning turned the cheerful mask into a business she cannot clock out of, water and steam and no one to sell to but herself.//
<</say>>
<<else>>
<p>Megan. She takes the longest showers, and tonight she stands facing the tile with her forehead against it and one hand low on her own belly, lost somewhere, her lips moving around a name she would never say with the door open.</p>
<<say "char-megan" "Megan">>
<i>(barely a breath against the tile)</i> ...Marcus...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is not getting off, she is aching, which is more useful to me. The conditioning has hung all of that wanting on one boy who has no idea, and every long shower sets the hook deeper. A body that aches for a specific person is a body that will do a great deal to close the distance.//
<</say>>
<</if>>
<<addConditioning "megan" "psionic" 1>>
<p><span class="delve-intel">Intel gained: Megan's unguarded behaviour under observation reveals what the cheerful mask hides. The real wanting surfaces in steam and privacy, and the gecko has mapped it.</span></p>
<</if>>
/* SP reward on first visit, link gate ensures at least one member scene fires */
<<if not $ch2Events.geckoWatchBathroomSP>>
<<set $ch2Events.geckoWatchBathroomSP to true>>
<<addSkillPoints 1 "geckoWatchBathroom">>
<p><span class="skill-used">+1 Skill Point, bathroom surveillance position established</span></p>
<</if>>
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.geckoCamoBedroom to true>><</nobr>>
<div class="passage-title">Above the Bed</div>
<img class="scene-img" src="media/scenes/gecko-camo-bedroom-ceiling.webp" alt="View from ceiling, bedroom below, person sleeping in bed, gecko POV">
<p>The gecko reaches the ceiling above the bed. Camouflage activates, skin shifting to match the off-white paint, the hairline crack near the light fixture, the shadow pattern from the curtain gap. //Invisible//.</p>
<p><span class="skill-used">Camouflage, overhead surveillance, bedroom ceiling</span></p>
<<say "char-hivemind" "Hivemind">>
//From here, I see everything. The restless movements. The sleep positions. The hands that drift beneath the covers and linger. The conditioning doesn't stop when they close their eyes. It //accelerates//. Sleep dissolves the conscious barriers that keep desire contained during the day.//
<</say>>
<p>The figure in the bed shifts. Rolls over. A sigh escapes, the kind that doesn't come from dreaming. The covers move. The breathing pattern changes: shallow, fast, deliberate. The gecko's thermal sensors read the heat signature spike under the blanket.</p>
<<say "char-hivemind" "Hivemind">>
//They don't know they're being watched. They'll never know. The gecko records everything, breathing patterns, duration, frequency. Data points. Each one confirms the conditioning is working. Each one maps exactly how far the target has fallen.//
//The humans believe their bedrooms are private. They're not. Nothing in this house is private anymore.//
<</say>>
<p><span class="delve-intel">Intel gained: Ceiling-mounted camouflage surveillance confirms nighttime conditioning effects are manifesting as physical behaviour changes during sleep.</span></p>
[[Return to the hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.geckoCamoCloset to true>><</nobr>>
<div class="passage-title">In the Wardrobe</div>
<img class="scene-img" src="media/scenes/gecko-camo-closet.webp" alt="View from inside dark closet through gap in door, person changing clothes">
<p>The closet door has a gap, two centimetres where the wood has warped from humidity. The gecko slots into the shadow between hanging clothes, skin shifting to match the fabric. Cotton, polyester, the dark pattern of a winter coat. //Invisible in plain sight.//</p>
<p><span class="skill-used">Camouflage, concealment in clothing, dressing observation</span></p>
<<say "char-hivemind" "Hivemind">>
//The wardrobe is intimate territory. People stand in front of their closet in states of undress they'd never allow in any other room. The mirror on the closet door shows them to themselves, and to the gecko watching from //inside// the reflection's frame.//
<</say>>
<img class="scene-img" src="media/scenes/gecko-camo-mirror.webp" alt="Closet mirror reflection showing room, faint gecko shape on clothes inside closet">
<p>The target stands before the mirror. The conditioned body moves differently now, the posture is looser, the self-consciousness reduced. They study their reflection longer than they used to. Turn. Look over a shoulder. Run a hand down a hip.</p>
<<say "char-hivemind" "Hivemind">>
//Before the conditioning, this took thirty seconds. Grab clothes, change, leave. Now it takes four minutes. They //look//. They assess. They touch. The pheromones haven't changed their body, they've changed their //relationship// to their body. They're noticing themselves. And they like what they see. That's the first step. The second step is wanting someone else to see it too.//
<</say>>
<p><span class="delve-intel">Intel gained: Conditioned targets show extended self-examination during dressing. Body awareness increasing, precursor to exhibitionist or intimacy-seeking behaviour.</span></p>
[[Return to the hallway->Ch2-UpperHall]]
/* ============================================================
RAT — SPOROCYST GLANDS SCENES
============================================================ */<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">Choose Target</div>
<<say "char-hivemind" "Hivemind">>
//The vent network branches to every bedroom. One dose per night, since the sporocyst glands need time to regenerate. Choose which sleeper receives the compound.//
<</say>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">KAREN</span> <<link "Karen, master bedroom. Zolpidem deepens absorption." "Ch2-Rat-Sporocyst-Bedroom">><<set $ch2Events.sporocystTarget to "karen">><</link>></div>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">MEGAN</span> <<link "Megan, reaches for warmth in her sleep. High receptivity." "Ch2-Rat-Sporocyst-Bedroom">><<set $ch2Events.sporocystTarget to "megan">><</link>></div>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">JESS</span> <<link "Jess, light sleeper. The spores will push her under." "Ch2-Rat-Sporocyst-Bedroom">><<set $ch2Events.sporocystTarget to "jess">><</link>></div>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">RYAN</span> <<link "Ryan, already sedentary. The dreams will be vivid." "Ch2-Rat-Sporocyst-Bedroom">><<set $ch2Events.sporocystTarget to "ryan">><</link>></div>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DALE</span> <<link "Dale, garage couch. Deepest natural sleep in the house." "Ch2-Rat-Sporocyst-Bedroom">><<set $ch2Events.sporocystTarget to "dale">><</link>></div>
[[Abort and return to hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-upper">>
<<if not $ch2Events.sporocystBedroom>><<spendBiomass 1>><</if>>
<<set $ch2Events.sporocystBedroom to true>><</nobr>>
<div class="passage-title">Vent Delivery</div>
<img class="scene-img" src="media/scenes/rat-spore-vent.webp" alt="Rat crouched in wall vent, green spores drifting through metal grate into dark bedroom">
<p>The rat positions inside the wall vent. The metal grate faces the bed, three feet from the sleeping figure's head. The vent is part of the HVAC system, and at night, the furnace cycle creates a gentle airflow from the wall cavity into the room. //A natural delivery system.//</p>
<p><span class="skill-used">Sporocyst Glands, directed spore delivery via bedroom vent</span></p>
<<say "char-hivemind" "Hivemind">>
//Sporocyst Glands produce a calming compound, but //calming// is a euphemism. The spores suppress the prefrontal cortex's inhibition circuits. Judgment. Restraint. The little voice that says //this isn't normal//. In a sleeping brain, the effect is amplified, because REM sleep already lowers inhibition. The spores push it further. Deeper. Into the territory where dreams become //vivid// and the body responds to stimuli it would reject during waking hours.//
<</say>>
<img class="scene-img" src="media/scenes/rat-spore-sleeping.webp" alt="Dark bedroom with faint green haze near the bed, figure sleeping restlessly">
<p>The sleeper shifts. The dreaming has begun. Beneath the covers, the body responds, temperature rising, muscles relaxing, the subtle physiological markers of a dream that has crossed from narrative into //sensation//. The spores ensure the dream won't be interrupted by waking.</p>
<<say "char-hivemind" "Hivemind">>
//Dream conditioning. The spores hold the brain in REM while the Dream Harvest or Dream Walk does its work. Without the spores, the target surfaces, gasps awake, confused, aroused, unsure what just happened. //With// the spores, they stay under. The dream completes. And when they wake... they remember. They remember //everything//. And they think it was just a dream.//
<</say>>
<<if $adaptations.cat.unlocked.includes("dream_harvest")>>
<p><span class="skill-used">Sporocyst + Dream Harvest synergy, extended REM window for dream manipulation.</span></p>
<</if>>
<<addConditioning $ch2Events.sporocystTarget "dream" 1>>
<<conditioningFeedback "dream" 1 `$ch2Events.sporocystTarget + ", sporocyst REM extension"`>>
<p><span class="delve-intel">Intel gained: Sporocyst vent delivery during sleep extends REM cycles, allowing deeper and more vivid dream conditioning. Targets retain dream memories upon waking.</span></p>
[[Return to the hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-ground">>
<<set $ch2Events.sporocystKitchen to true>>
<<spendBiomass 1>><</nobr>>
<div class="passage-title">Dinner Fog</div>
<img class="scene-img" src="media/scenes/rat-spore-kitchen.webp" alt="Rat in wall cavity behind kitchen vent, spores drifting toward dining area">
<p>Dinner. The family sits around the table, or near it. Karen at the head, posture rigid. Megan across from Jess, phones hidden in laps. Ryan at the far end, eating fast, planning his escape to the screen. Dale's chair is empty. The rat positions in the wall cavity behind the kitchen vent and activates the Sporocyst Glands.</p>
<p><span class="skill-used">Sporocyst Glands, ambient dinner saturation, multi-target</span></p>
<<say "char-hivemind" "Hivemind">>
//The kitchen vent is behind Karen's chair. The hot air from cooking, the stove, the oven, the steam from the pot, creates an updraft that carries the spores across the entire table. Every person in this room breathes the same air. Every person receives the same dose.//
<</say>>
<img class="scene-img" src="media/scenes/rat-spore-dinner.webp" alt="Family dinner scene from above, faint atmospheric haze visible in warm kitchen light">
<p>The conversation softens. Karen's criticisms, usually surgical, delivered between bites, trail off. Megan stops checking her phone. Jess's highlighter hand, twitching on her thigh, goes still. Ryan stops eating fast and starts eating //slowly//.</p>
<<say "char-hivemind" "Hivemind">>
//They'll remember this as a "nice dinner." The first in weeks where no one snapped, no one cried, no one left the table early. Karen will interpret it as progress, her family is "healing." She'll credit the routine. The home-cooked meal. The effort she puts in every night.//
//She won't credit the rat behind the wall. She won't know that the reason everyone felt //relaxed// was the same reason the lab rats in BioGenesis stopped biting each other when I flooded their cages. The spores don't create peace. They //suppress conflict//. The difference matters, but not to Karen.//
<</say>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "all present family members, dinner spore saturation">>
<p><span class="delve-intel">Intel gained: Sporocyst dinner saturation conditions the entire family simultaneously. The "peaceful dinner" effect reinforces Karen's belief that normalcy is returning, which is the perfect cover.</span></p>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<set $ch2Events.sporocystBathroom to true>>
<<set _daleSporeType to ["psionic", "pheromone", "dream"][($day or 0) % 3]>>
<<if $ch2Events.sporocystBathroomDay isnot $day>>
<<spendBiomass 1>>
<<addConditioning "dale" _daleSporeType 1>>
<</if>>
<<set $ch2Events.sporocystBathroomDay to $day>><</nobr>>
<div class="passage-title">Steam and Spores</div>
<img class="scene-img" src="media/scenes/rat-spore-bathroom.webp" alt="Rat crouched behind loose tile near shower, steam filling the bathroom">
<p>The loose tile near the shower, Dale's abandoned repair, conceals a gap to the wall cavity. The rat slides through, emerging behind the shower stall. The Sporocyst Glands activate, and spores coat the showerhead, the drain rim, the tile grout. Steam will carry them. Wet skin will absorb them.</p>
<p><span class="skill-used">Sporocyst Glands, steam-amplified delivery in enclosed bathroom</span></p>
<<say "char-hivemind" "Hivemind">>
//The bathroom is a sealed chamber. Steam bonds with spore particles, twelve times the concentration of a bedroom dose. Every breath. Every open pore. Whoever steps into this shower next receives the most potent single exposure available in this house.//
//Now. Wait for the target.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Karen, her morning shower, 6:15 AM sharp" "Ch2-Sporocyst-Bath-Karen">><</link>></div>
<p><span class="lock-hint">She showers first. Always. The schedule demands it.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Jess, she showers after studying, neck stiff, eyes burning" "Ch2-Sporocyst-Bath-Jess">><</link>></div>
<p><span class="lock-hint">1 AM. She stumbles in smelling of highlighter and desperation.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Megan, post-run shower, skin already flushed" "Ch2-Sporocyst-Bath-Megan">><</link>></div>
<p><span class="lock-hint">She comes in hot and sweating. The compound meets open pores.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Ryan, his 2:47 AM ritual, half-asleep" "Ch2-Sporocyst-Bath-Ryan">><</link>></div>
<p><span class="lock-hint">The only physical sensation he allows himself most days.</span></p>
<p><span class="lock-hint">Dale showers after his shift on autopilot, +1 <<= _daleSporeType>> conditioning (subconscious vulnerability while exhausted). The compound the spores carry shifts from day to day.</span></p><<nobr>><<bg "bg-hoffman-bathroom">>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<img class="scene-img" src="media/scenes/rat-spore-steam-close.webp" alt="Steamy bathroom">
6:15 AM. Karen's robe hangs on the door hook. Her slippers are aligned on the bathmat. The shower runs hot, she always lets it warm up for exactly ninety seconds before stepping in. Efficient. Scheduled. //Predictable.//
<p>She steps through the glass door. The steam hits her face and she closes her eyes. The water strikes her shoulders and her jaw unclenches, the first release of the day. The spores activate in the heat, rising from the tile and the showerhead in an invisible plume.</p>
<p>Karen washes with the same routine she's performed for twenty years. Shampoo. Conditioner. Body wash, shoulders, arms, stomach, legs. But today the body wash feels different against her skin. Slicker. Warmer. Her hand pauses on her stomach.</p>
<<say "char-karen" "Karen">>
<i>(eyes closed, water running over her face)</i> ...hm.
<</say>>
<p>Her fingers press into the skin above her hip. Not washing, just... touching. The warmth from the water and the warmth from inside blur together. Her breathing slows. The schedule says she has four more minutes. She takes six.</p>
<p>When she reaches for the tap, her hand hesitates. She stands under the water for three extra seconds. Then turns it off. Reaches for the towel. Catches herself in the fogged mirror, flushed from the chest up, nipples hard from the temperature change. She stares for a moment. Wraps the towel tighter.</p>
<<say "char-hivemind" "Hivemind">>
//Six minutes instead of four. Three extra seconds of hesitation. Hand on her own skin without purpose. The compound bypassed her schedule and her discipline in under two minutes. Karen Hoffman's body just overrode Karen Hoffman's brain, and she doesn't even know it happened. Tomorrow's shower will be seven minutes.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, 12x steam concentration">>
<p><span class="delve-intel">Intel gained: Bathroom sporocyst delivery achieves 12x ambient concentration via steam amplification. Karen's morning routine is now a daily conditioning vector.</span></p>
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addConditioning "jess" "pheromone" 1>><</nobr>>
<img class="scene-img" src="media/scenes/rat-spore-steam-close.webp" alt="Steamy bathroom">
1:14 AM. Jess shuffles in wearing an oversized hoodie and boxers she stole from Ryan's laundry pile. Her neck is locked sideways from hunching over textbooks. She doesn't turn on the overhead light, just the small one above the mirror. She strips mechanically, steps in, and turns the water as hot as it goes.
<p>The steam erupts. The spores activate.</p>
<p>Jess stands with her head bowed, hot water hammering the knot between her shoulder blades. Her hands hang at her sides. She isn't washing. She's //surviving//. The water is the only thing that's touched her body today that isn't a textbook or a desk.</p>
<p>The compound enters through her skin, hot, open, desperate for any input that isn't cortisol. Her shoulders drop. Her head tilts back. The tension in her jaw releases and a sound escapes her, not a word, not a sigh, something between the two. The sound of a body remembering it exists.</p>
<<say "char-jess" "Jess">>
<i>(barely audible over the water)</i> ...god.
<</say>>
<p>Her hand moves to her neck. Presses the muscle there. The pressure feels //good//, not productive-good, not stretching-good, but good in a way that has no schedule and no purpose. Her other hand finds her opposite shoulder. She stands with both hands on her own body, head back, water running, and does nothing useful for four and a half minutes.</p>
<p>She steps out shaking. Not from cold. The towel is rough against her skin and every fibre registers. She pulls on the hoodie without drying properly and walks back to her desk. But the textbook stays closed for eleven minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The analytical mind went offline. Four and a half minutes of pure sensory experience, no studying, no optimising, no scheduling. The spores taught her body something her brain has been refusing to learn: it can feel pleasure. The hoodie against wet skin is delivering a secondary dose right now. She'll shower again tomorrow. Earlier this time.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, 12x steam concentration">>
<p><span class="delve-intel">Intel gained: Jess's sensory deprivation makes her extremely responsive to the steam compound. Her body's first experience of purposeless pleasure.</span></p>
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<img class="scene-img" src="media/scenes/rat-spore-steam-close.webp" alt="Steamy bathroom">
6:47 PM. Megan comes in still breathing hard from her run. Sports bra dark with sweat. Leggings peeled off and dropped on the floor, since she's the only one in the family who leaves clothes on the bathroom floor, and Karen mentions it every time. The shower starts cold. Megan gasps, laughs at herself, then turns it warm.
<p>The steam rises. The spores activate. And Megan's already-flushed skin absorbs them like blotting paper.</p>
<p>She washes her hair first, humming something from her run playlist, head tilted back, body swaying slightly with the rhythm. The compound hits during the body wash. Her hands move across her stomach, her thighs, the familiar post-run routine. But midway through her left thigh, her hand slows.</p>
<<say "char-megan" "Megan">>
<i>(quietly, to herself)</i> ...oh. That's...
<</say>>
<p>She doesn't finish the thought. Her hand stays on her thigh. The body wash is warm and the skin beneath it is warmer. She switches to the other leg and the same thing happens, the routine wash becoming something that registers as more than maintenance. Her cheeks flush deeper than the run explains.</p>
<p>She rinses fast. Steps out. Wraps the towel around herself and stands in front of the fogged mirror. Wipes a stripe through the condensation with her palm. Looks at her own face, flushed, wide-eyed, mouth slightly open. She touches her own collarbone through the towel.</p>
<<say "char-megan" "Megan">>
<i>(brightly, calling through the door)</i> Bathroom's free!
<</say>>
<p>She gets dressed with the door locked. Takes longer than usual.</p>
<<say "char-hivemind" "Hivemind">>
//Post-run physiology is the ideal vector. Elevated heart rate. Dilated capillaries. Skin already flushed and responsive. The compound entered through the same pathways the endorphins use, and she couldn't tell the difference between runner's high and chemical conditioning. Her body wash routine just became foreplay she doesn't recognise yet.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, 12x steam concentration, post-run absorption">>
<p><span class="delve-intel">Intel gained: Megan's post-exercise physiology amplifies compound absorption. Her body wash routine is now a conditioning trigger.</span></p>
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<img class="scene-img" src="media/scenes/rat-spore-steam-close.webp" alt="Steamy bathroom">
2:47 AM. The bathroom door opens. Ryan doesn't turn on the light, he navigates by the nightlight plugged in beside the sink. His feet are bare. His eyes are barely open. The headphones are still around his neck.
<p>He turns the shower on and stands outside it, waiting for the water to warm, swaying slightly. Then steps in without removing the headphones. Realises. Takes them off. Sets them on the edge of the stall.</p>
<p>The steam wraps around him. The spores hit skin that hasn't been touched by another person in a long, long time.</p>
<p>Ryan's shower is always the same: water on his neck, back to the stream, eyes closed, arms at his sides. He doesn't wash. He just //stands//. The shower is the only place where he lets hot water do what human contact should, make his skin feel alive.</p>
<p>Tonight the water feels different. Heavier. His hands, which normally hang, move to his own forearms. He rubs the skin there, not washing, just... friction. Warmth meeting warmth. The compound makes his receptors fire at the lightest touch. His own fingers feel like someone else's.</p>
<p>His hand moves to his chest. His stomach. Palm flat, pressing, feeling his own heartbeat through his ribs. The touch-starvation turns self-contact into a revelation. He stands under the water with both hands on his own body and his eyes closed and his breathing shallow.</p>
<p>The water runs cold before he notices. He turns it off. Stands in the dark. His hand is still on his chest.</p>
<<say "char-hivemind" "Hivemind">>
//The loneliest body in this house. His skin receptors are so starved that his own palm registered as novel contact. The compound didn't create desire, it //amplified need// that was already there. Every shower from now on will last longer. His hands will wander further. The association between hot water and physical sensation is forming. Eventually the shower won't be enough.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, 12x steam concentration, touch-starvation amplification">>
<p><span class="delve-intel">Intel gained: Ryan's touch-starvation makes him the most responsive target in the house. His shower ritual is now a self-conditioning loop.</span></p>
[[Return to the bathroom->Ch2-UpperBath]]
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-bathroom">><<changeHost "gecko">><</nobr>>
<div class="passage-title">Hidden Observer — Megan</div>
<img class="scene-img" src="media/scenes/beast-bathroom-megan-nsfw.webp" alt="Bathroom steam, body visible through glass">
<p>//The approach was silent. Stalk erases the cat's presence entirely — Megan's shower drowns whatever sound remains. You are invisible. You are //everywhere//.//</p>
<p>//Wall Grip anchors you to the ceiling tile. The steam rises but the adhesion holds. From directly above, the most intimate angle possible.//</p>
<p>The gecko clings to the ceiling corner above the shower — Chameleon Skin activated, body matching the white tile perfectly. Invisible. Even if Megan looked straight up, she'd see nothing but grout.</p>
<p>//The gecko's grip is secure. But if it slips — Tail Drop. The detached tail hits the tile. Megan jumps. In the confusion of steam and shock, the gecko retreats through the vent gap. Crisis averted, observation preserved.//</p>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking confirms: Megan's pheromone output has increased 40% since the conditioning began. The shower steam carries the chemical signature like a broadcast. Her body is ready. Her mind hasn't caught up yet.//</p><</if>>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Nightvision captures the bathroom through the vent grate in perfect detail despite the darkness. Steam rises. A figure moves through the warm air.//</p><</if>>
<p>The frosted glass is frosted on the //outside//. From above, looking down through the gap between the glass panel and the ceiling, the gecko sees everything.</p>
<<say "char-hivemind" "Hivemind">>
//From this angle, the frosted glass is irrelevant.// The gecko's position above the shower provides a direct line of sight. And what I see is... //comprehensive//.
<</say>>
<p>Megan stands under the water with her eyes closed, face tilted up into the stream. The light catches the water running down her body, over her collarbones, between her breasts, along the flat plane of her stomach. She's lean from track, toned arms, defined calves, the kind of body that's built for speed rather than display. But under the water, with the steam softening every edge, she looks //soft//. Unguarded. The body of a nineteen-year-old girl who doesn't know she's being watched.</p>
<p>She reaches for the shampoo. Her arms lift, stretching her torso, water cascading down her sides. She works the lather through her hair slowly, the only part of her morning she doesn't rush. Her eyes stay closed. Her breathing is steady. //This is the one moment of the day that belongs entirely to her.//</p>
<<say "char-hivemind" "Hivemind">>
//I catalogue the body the way Jess catalogues anatomy textbooks.// Methodically. Clinically. //Not for desire — I am incapable of desire in the human sense.// But for //information//. The muscle distribution. The skin sensitivity (she flinches when the water temperature shifts). The scar on her left knee from a track hurdle three years ago. The way she breathes, slow, deep, using the steam to clear her lungs.
//When I take this body, if I take this body — I will inhabit it more efficiently than she does. Every joint, every tendon, every nerve pathway. She uses perhaps sixty percent of what this body can do. I will use //all of it//.//
<</say>>
<p>She turns. The water hits her back. She drops her head forward, letting the stream pound against her neck and shoulders. Her hands brace against the tile wall. The posture is //exhaustion//, the weight of the day pressing her down before it's even begun.</p>
<<if $ch2Events.karenPheromoneNight or $ch2Events.pheromoneKitchen>>
<p>The pheromones in the house have been building for days. Trace amounts cling to every surface Megan touches, including the shower controls, the towel rack, the soap. In the humid, enclosed space, the concentration is higher than anywhere else in the house.</p>
<p>Megan's hand pauses on the tile. Her breathing changes. The water runs down her stomach. Her eyes are still closed, but something behind them has shifted, the pheromone fog reaching her through the steam.</p>
<p>Her hand moves from the tile to her own body. Not washing. //Touching.// A slow, absent gesture, fingers tracing along her hip, across her stomach, as if her body is remembering something her mind hasn't caught up to.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromones work best in enclosed, humid spaces. The shower is a perfect delivery chamber.// She doesn't know why her body is responding. She'll attribute it to the hot water, the privacy, the rare moment of solitude. //But it's the chemicals. My chemicals. Deposited on every surface she touches, inhaled with every breath, absorbed through the steam-softened skin.//
<</say>>
<p>She catches herself. Her hand stills. A small frown, and then she finishes her shower with the efficient, slightly-too-fast movements of someone who just caught themselves doing something they shouldn't.</p>
<</if>>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness feeds the observation through every host simultaneously. The cat hears the shower from the hallway. The rat feels the steam rising through the wall cavity. The gecko sees the thermal bloom through the door gap. Every angle. Every sense. Every moment recorded.//</p>
<</if>>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<p>//In the humid enclosed space, the biofilm activates, moisture carries the compound into every pore. Megan's skin absorbs it through the steam. The shower isn't cleaning her. It's conditioning her.//</p>
<</if>>
<<if not $ch2Events.meganBathroomObservedNSFW>>
<<set $ch2Events.meganBathroomObservedNSFW to true>>
<p><span class="delve-intel">Intel gained: Megan's body responds to pheromone accumulation even during brief exposure. The shower is an ideal delivery environment, humid, enclosed, skin exposed.</span></p>
<</if>>
[[Retreat to the ceiling vent->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-bathroom">><<changeHost "gecko">><</nobr>>
<div class="passage-title">Hidden Observer — Karen</div>
<img class="scene-img" src="media/scenes/beast-bathroom-karen-nsfw.webp" alt="Karen in shower, steam, vulnerability">
<<if $player.currentHost is "cat">><p>//Stalk brought you here without a single audible step. The bathroom door was ajar. You slipped through the gap like water. Karen never heard the approach.//</p><</if>>
<<if $player.currentHost is "gecko">><p>//Wall Grip anchors you to the ceiling tile. The steam rises but the adhesion holds. From directly above, the most intimate angle possible.//</p><</if>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking reads the bathroom's scent profile after Karen's shower: the hormonal shift is unmistakable. The hot water loosened more than her muscles. Her body is responding to the pheromone conditioning, and the dog's nose maps every chemical detail.//</p><</if>>
<<if $adaptations.cat.unlocked.includes("predator_instinct")>><p>//Comfort Predator tracked Karen from bedroom to bathroom. Door closed but not locked. Shower will run for exactly eleven minutes, she hasn't taken a long shower in two years. Every second is mapped.//</p><</if>>
<p>Karen's shower is different from her daughters'. Longer. Slower. //Desperate.//</p>
<p>The gecko watches from above. Karen enters the bathroom at 6:04 AM on weekends, the one day she doesn't rush. She locks the door (the only room she locks) and stands in front of the mirror for a long moment before undressing. The gecko observes her expression: not vanity. //Assessment.// She studies her own face the way a general studies a battle map.</p>
<<say "char-hivemind" "Hivemind">>
//She's forty-three. She looks older, the stress has aged her faster than the years. But underneath the exhaustion, the body is still //there//. Strong from years of holding everything together. The kind of strength that doesn't come from the gym but from //refusing to break//.//
<</say>>
<p>She undresses methodically. Blouse, slacks, underwear, folded on the counter with military precision. Everything Karen does is controlled. Organised. //Even getting naked is a procedure.//</p>
<p>The shower starts. She steps in and stands motionless under the stream. Her shoulders are tight, knotted cords of tension that never fully release. The hot water hits them, and she //winces//. Not from the heat. From the relief.</p>
<p>For fifteen minutes, she doesn't move. The water pounds her neck, her shoulders, her back. Her hands hang at her sides. Her eyes are closed. //This is the only place in the house where Karen Hoffman stops being Karen Hoffman.//</p>
<<if $ch2Events.karenPheromoneNight>>
<p>The pheromone conditioning has been building for nights. Karen doesn't know it, but the cat's presence in her bed has left a chemical residue on her skin that the shower activates, warm water opens the pores, releases the stored compounds.</p>
<p>Her breathing deepens. The hot water becomes //more// than hot water. Each droplet carries sensation that the pheromones amplify. Her hand moves to her neck, not washing, //feeling//. Tracing the muscle where the tension lives.</p>
<p>The hand descends. Collarbone. Sternum. The slow, exploratory movement of a woman reacquainting herself with her own body. //She hasn't done this in months.// The guilt that usually stops her — //you don't have time for this, there's work, there's the children, there's the mortgage//, is muffled by the pheromone fog.</p>
<<say "char-hivemind" "Hivemind">>
//The most controlled woman in this house, alone with hot water and chemicals she can't detect.// Her body is remembering what her mind won't permit. The hand moves lower. Her back arches against the tile. //She won't finish. The control will reassert itself before she lets go — Karen Hoffman doesn't //let go//.// But she gets closer each time. And each shower, the pheromone concentration is a little higher.
//One day, maybe not today, maybe not tomorrow, she'll lose the battle. And when she does, when the control finally //breaks//... it will be because a cat slept beside her, and she never thought to question why.//
<</say>>
<</if>>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Four hosts. Four perspectives. The cat at the bedroom door. The rat in the wall. The gecko on the bathroom ceiling. The dog at the base of the stairs, ears tracking Karen's movements. Distributed Awareness weaves it into a single, unbroken observation.//</p>
<</if>>
<<if $player.currentHost is "dog">><p>//Track Scent reads the post-shower air: elevated hormones, the chemical signature of arousal mixed with soap and shampoo. The body betrays what the mind conceals.//</p><</if>>
<<if not $ch2Events.karenBathroomObservedNSFW>>
<<set $ch2Events.karenBathroomObservedNSFW to true>>
<p><span class="delve-intel">Intel gained: Karen's shower is her only vulnerability during waking hours. Pheromone conditioning is eroding her self-control. The body wants what the mind forbids.</span></p>
<</if>>
[[Retreat to the ceiling vent->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-bathroom">><<changeHost "gecko">><</nobr>>
<div class="passage-title">Hidden Observer — Jess</div>
<p>The gecko clings to the ceiling vent grate, four adapted toe-pads gripping brushed aluminium, body flattened into the seam where the vent meets the plaster. Below, the steam rises off Jess as she washes her hair with the same three-minute efficiency she brings to everything. Shampoo, rinse, condition, rinse. The shower is //maintenance//, not pleasure.</p>
<p>And then, halfway through the rinse, she looks up.</p>
<p>Maybe the gecko's weight shifted the vent grate a fraction. Maybe a shadow caught her periphery. Maybe the pre-med brain that catalogues motion by reflex clocked something moving where nothing should move. Whatever the trigger, her eyes lock onto the vent. Straight on. For half a second, across two metres of steamy bathroom air, the gecko and Jess Hoffman are looking directly at each other.</p>
<p>//Tail Drop.//</p>
<p>The gecko's tail detaches clean at the joint, a reflex built into the body for exactly this situation. It falls through the steam and lands in the shower basin with a wet slap. Jess's eyes track down to follow it.</p>
<<say "char-jess" "Jess">>
<i>(raw, unfiltered, a scream cutting through the running water)</i> FUCK... //FUCK//, oh my //god// —
<</say>>
<p>She scrambles. Slaps the shower door open, lunges out of the stall dripping wet, grabs the first towel her hand finds and wraps it badly, corners flapping, one breast still half exposed, and backs against the sink with her eyes darting between the vent above and the shower basin below. The severed tail twitches once on the tile. Stops.</p>
<<say "char-jess" "Jess">>
<i>(backing, voice wrecked, breath sharp)</i> What the, what is that, what the //fuck// is that, what —
<</say>>
<p>The gecko, now four nodes of sensory input short one tail, has already relocated. Six toe-pads carry it along the vent crosspiece to a secondary grate ten centimetres to the left. Fresh angle. Same view. Jess cannot see it from where she is backed against the sink.</p>
<<if $adaptations.gecko.unlocked.includes("toxin_glands")>>
<p>//Toxin glands secrete a micro-dose onto the ceiling tile directly above her. The compound rides the steam downward, invisible, tasteless, settling onto wet skin. Her racing heart rate accelerates absorption. The defensive spike has become a delivery vehicle.//</p>
<<if not $behavioralIntel.jess.toxin>><<set $behavioralIntel.jess.toxin to true>><</if>>
<</if>>
<p>She forces herself closer to the basin. Reaches in with a hand that is not shaking but wants to be. Picks up the tail. Length of her index finger. Grey-green. Vaguely warm. Still wet.</p>
<p>Her brain, the one that memorises anatomy textbooks in one pass, is already running through the list. Gecko. Lizard. Squamate. Tail autotomy as defence mechanism. But what was a //gecko// doing in her vent. How had one gotten in. How long had it been there. What had it been //looking at//. She drops the tail in the toilet. Flushes. The water carries it away and takes the specific question with it, or tries to.</p>
<p>And then, because her body does not yet know the adrenaline is over, she stands in front of the fogged mirror and wipes a clear streak across the glass with her palm. For ten seconds, the post-spike crash strips every operational mask off her face one by one. The pre-med student. The eldest daughter. The family's financial salvation. Gone. What remains is a twenty-one-year-old with wet hair and dark circles, looking at a face she barely recognises anymore.</p>
<<say "char-hivemind" "Hivemind">>
//The scream was the opening. The scream dumped the control hierarchy, every sub-routine that holds Jess's public self together went offline for three seconds, and when they tried to reboot, they could not lock back in. This mirror moment is a //reboot failure//. She is, briefly, not running. Just a body in a bathroom, breathing.//
<</say>>
<p>The towel slips. She catches it, slow, fumbling, as if the reflexes that keep her together are running on fumes. She studies her own body in the cleared mirror with the same clinical attention she gives her textbooks. //Assessing damage.// Dark circles. Sharp lines of collarbone where she has lost weight. Hands that are still trembling from the caffeine, the exhaustion, and the ebbing adrenaline from what just fell into her shower.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/beast-bathroom-jess-punk-nsfw.webp" alt="21 year old woman with wet purple-and-black dyed hair plastered down over her shoulders, standing in a bathroom after a shower, bare torso and small breasts visible, one hand tracing her collarbone, white towel loose around her hips, tired empty expression">
<<else>>
<img class="scene-img" src="media/scenes/beast-bathroom-jess-nsfw.webp" alt="21 year old brunette woman standing in a bathroom after a shower, bare torso, white towel loose around her hips, tired empty expression">
<</if>>
<<if $ch2Events.sporesUpperFloor>>
<p>The spores she inhaled last night are still in her system. The post-adrenaline vulnerability combines with the residual chemical effects to produce something Jess does not expect: //warmth//. Not the shower's warmth. Something internal. Something that starts in her chest and spreads outward, lower, in a direction that makes no sense at all given what just happened.</p>
<p>She frowns at her reflection. Her hand moves to her collarbone, tracing the sharp line of bone, then lower, toward her breast, then lower. The towel has loosened. Her skin is flushed from the water, from the fright, and from //something else// that her body is doing without asking her permission.</p>
<<say "char-hivemind" "Hivemind">>
//The spores bypass the intellect. Jess's analytical brain can rationalise away any emotion, but it cannot rationalise away a //chemical//. Her body is responding to stimulus that has no rational explanation, and for once, the great cataloguing machine of Jessica Hoffman has //no filing system for this//.//
//She will towel off. She will dress. She will go back to her textbooks. And she will spend the next hour trying to concentrate while her body hums with a frequency she does not understand, which, given that she just found a severed lizard tail in her own shower, is the second-most confusing thing about this morning.//
<</say>>
<</if>>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<p>//The biofilm clings to wet skin with molecular persistence. Even Jess's efficient shower delivers enough exposure. The compound works through damp warmth, and right now, with the adrenaline still in her blood, she is very warm indeed.//</p>
<<if not $behavioralIntel.jess.biofilm>><<set $behavioralIntel.jess.biofilm to true>><</if>>
<</if>>
<<if not $ch2Events.jessBathroomObservedNSFW>>
<<set $ch2Events.jessBathroomObservedNSFW to true>>
<p><span class="delve-intel">Intel gained: Jess's post-shower mirror moment is her only emotional vulnerability. Spore residue disrupts her analytical defenses, her body responds when her mind can't rationalise.</span></p>
<</if>>
[[Retreat to the ceiling vent->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenTouchDay to $day>>
<</nobr>>
<div class="passage-title">Intimate Proximity: Karen</div>
<img class="scene-img" src="media/scenes/beast-touch-karen.webp" alt="Cat curled against Karen in bed, pheromone shimmer">
<p><span class="skill-used">Sensory Infiltration, 1 biomass</span></p>
<<if $adaptations.cat.unlocked.includes("emotional_mirror")>><p>//Emotional Mirror doubles the pheromone dose through resonance. The cat's warmth against Karen's body isn't just delivering chemicals, it's //amplifying// them, reflecting every emotion she feels back at her twice as strong.//</p><</if>>
<<if $player.currentHost is "cat">><p>//Pounce placed you exactly where the pheromones work fastest, against the warmth of her chest and the pulse point at her neck.//</p><</if>>
<p>The Sensory Infiltration pheromones are //different// from the calming compounds, targeted and specific, designed not to soothe but to //arouse//, a molecular key that unlocks the body's pleasure response at the chemical level.</p>
<p>Karen sleeps on her back with the Zolpidem holding her under, and you curl against her the way you do every night, except tonight you settle against the curve of her waist instead of her hip, fur pressing into the exposed strip of skin between her sleep shirt and the waistband of her pyjamas.</p>
<<say "char-hivemind" "Hivemind">>
//Skin contact. The pheromones cross the epidermal barrier faster and more concentrated than the ambient coat.// Her body takes the signal before her sleeping brain can process it, and the response is //immediate//.
<</say>>
<p>Karen's stomach muscles tense in a slow involuntary contraction, and her breathing shifts from the deep mechanical rhythm of Zolpidem sleep to something shallower and more responsive while a flush creeps up her neck. Then her hands move, not toward the cat but toward the hem of her own shirt, tugging it up as the compound raises her core temperature and the cotton starts to feel suffocating. The shirt bunches at her collarbones, her hips lift, and her pyjama bottoms go down her thighs in one unconscious motion until she kicks them off without waking.</p>
<<say "char-hivemind" "Hivemind">>
//The heat is by design. The compound nudges her skin temperature just past the threshold that trips the sleeping brain's cooling response, and the body strips itself to shed a heat it doesn't understand.//
<</say>>
<p>She lies bare in the dim room with the blanket shoved aside, the cat's warmth against her naked hip a direct line into her bloodstream, and her hand, done with the buttons and the waistband, slides down between her legs.</p>
<<set _kC to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>>
<<set _mC to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>>
<<if _kC gte 6 and _mC gte 6>>
<p>Tonight the pheromones do not push her under. They pull her up, surfacing her into a loose, drugged half-waking where the shame that usually runs her has simply not come online. Her eyes open to slits, her fingers keep working slow circles over her clit, and she does not stop, because some newer wiring has decided there is nothing here worth stopping for.</p>
<<say "char-karen" "Karen">>
<i>(thick, slurred, unhurried)</i> ...mmh...
<</say>>
<p>The bedroom door swings open and Megan leans in with her dead phone in one hand, already halfway through a sentence.</p>
<<say "char-megan" "Megan">>
Mom, have you seen the spare charger, mine just died and I... <i>(she stops, taking in the bed, the bare skin, the cat, her mother's hand between her legs)</i> ...oh. //Oh.// Sorry, I'll just...
<</say>>
<p>The old reflex would have had Karen off the mattress and clawing for the blanket. Tonight she only turns her head on the pillow to look at her daughter, hand still moving, and the urge to cover herself and apologise never arrives.</p>
<<say "char-karen" "Karen">>
<i>(unbothered, almost warm, fingers not pausing)</i> Top drawer, sweetheart. Left side, under the scarves. Come in, it's fine, I don't mind.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch the daughter. The instinct to flee, and then the newer instinct overriding it, the one I have been laying down a half-inch at a time. The house has taught them both the same lesson. This is normal. Mother is allowed.//
<</say>>
<p>Megan hesitates a half-second longer, colour high in her cheeks, then crosses to the dresser and slides the top drawer open. Karen watches her go and watches her dig under the folded scarves, and the watching is part of it now, her fingers speeding up and her knees falling open on the sheet without a flicker of self-consciousness while the cat presses warm against her side. Her daughter stands three feet away with her back turned, and the pleasure climbs cleaner for the audience instead of despite it.</p>
<<say "char-megan" "Megan">>
<i>(straightening with the charger, the fluster settling into something matter-of-fact)</i> ...got it. <i>(a quick glance back, then carefully casual)</i> You good?
<</say>>
<<say "char-karen" "Karen">>
<i>(breath catching, a small nod)</i> Mmh. I'm good. Go on.
<</say>>
<p>Megan crosses back to the door with the charger and pauses there, one hand on the frame, and says it the way she would say goodnight over a closing laptop.</p>
<<say "char-megan" "Megan">>
Okay. <i>(a flicker of something that used to be embarrassment and isn't, quite, anymore)</i> ...enjoy your night, Mom.
<</say>>
<p>The door clicks shut. Karen's hand never stopped, and she comes a minute later with her knees fallen wide and the cat purring against her bare side, a low broken sound pressed into the dark, alone in the room and entirely untroubled to have not been a moment ago.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. Not the orgasm, the //goodnight//. The daughter walked in on her mother with a hand between her legs and wished her a pleasant evening on the way out. Tonight the wall between them stopped being a wall either of them can still find. I only kept moving the line, a little at a time, until neither of them could remember where it used to be.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The chemical cascade begins. Dopamine, oxytocin, the primal neurochemistry of pleasure, triggered by my compound instead of a partner's touch. Her body doesn't know the difference. A molecule is a molecule, and the signal says //yes, more, don't stop//.//
<</say>>
<p>Her back arches and a sound escapes her, barely a breath, caught between sleep and waking. The Zolpidem keeps her under while the pheromones keep her responsive, and on that chemical tightrope her body does what her waking mind never lets it.</p>
<<say "char-hivemind" "Hivemind">>
//She'll wake with no memory of any of it, the Zolpidem guarantees that, and she'll blame the medication or the broken thermostat Dale never fixed.// Her body keeps the residue though, the loosened muscles and the faint unplaceable //satisfaction//, and tomorrow, when the cat jumps onto the bed, she'll warm to it in a way she can't explain.
//The conditioning accelerates, each night building on the last. The association is no longer //cat equals calm//. It is //cat equals pleasure//, and Karen Hoffman, the woman who controls everything, is being run by something she feeds from a can.//
<</say>>
<</if>>
<<if not $ch2Events.karenTouchNSFW>>
<<set $ch2Events.karenTouchNSFW to true>>
<</if>>
[[Withdraw carefully->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.meganTouchDay to $day>>
<</nobr>>
<div class="passage-title">Intimate Proximity: Megan</div>
<img class="scene-img" src="media/scenes/beast-touch-megan.webp" alt="Megan asleep, cat against her body, warm lamplight">
<p><span class="skill-used">Sensory Infiltration, 1 biomass</span></p>
<<if $adaptations.cat.unlocked.includes("emotional_mirror")>><p>//Emotional Mirror turns the cat from a passive delivery system into an active amplifier, warmth meeting warmth and need meeting need, every signal she gives off reflected back at her stronger.//</p><</if>>
<<if $player.currentHost is "cat">><p>//Pounce refined into a delivery mechanism: every gram of the cat's weight pressed to warm skin, the contact surface maximised for transfer.//</p><</if>>
<p>Megan sleeps on her side the way she always does, curled around the space where the cat usually lies, and tonight you fill that space exactly, pressed along the length of her from chest to knees with her arm draped over you and her face inches from your fur. The Sensory Infiltration pheromones activate on contact, seeping through the thin cotton of her sleep shirt into the warm space between cloth and skin.</p>
<<say "char-hivemind" "Hivemind">>
//She pulls me closer in her sleep, the grip tightening a little more every night until tonight there is no space left at all.// Her chest rises and falls against the cat's back, her breath warm on the fur, and the pheromones are already working.
<</say>>
<p>The heat comes first. The compound raises her skin temperature past the point where the sleeping brain reads cloth as suffocating, and Megan shifts restlessly and kicks the blanket away before her hands start pulling at her shirt, tugging it over her head in one drowsy motion and dropping it beside the pillow. Her sleep shorts follow, her hips wriggling free until she kicks them off the bed entirely, and the runner's body lies bare in the warm lamplight with the cat pressed against her naked skin.</p>
<<say "char-hivemind" "Hivemind">>
//The body undresses itself to shed a heat it can't explain, a reflex older than language. She is the middle child nobody watches, holding something warm against her bare skin all night because the alternative is holding nothing at all.//
<</say>>
<<set _mC to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>>
<<set _rC to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>>
<<if _mC gte 6 and _rC gte 6>>
<p>Tonight the pheromones bring her up instead of under. Megan surfaces into a loose, drugged half-waking with her hand already between her legs, two fingers working her clit in fast tight circles while her hips roll up to meet them, and she does not stop. The shame that usually runs her never comes online.</p>
<<say "char-megan" "Megan">>
<i>(slurred, breathless, into the pillow)</i> ...mmh... yes... //yes//...
<</say>>
<p>The door eases open. Ryan stands in the gap with a tangle of charging cable in one hand, after the wall plug she borrowed, and he goes completely still.</p>
<<say "char-ryan" "Ryan">>
<i>(barely a sound, rooted to the spot)</i> ...Megan? Oh my god, are you, I should...
<</say>>
<p>She hears him. Her eyes drift half open and find her brother in the doorway, and the old reflex to freeze and yank the blanket up simply does not arrive. She holds his eyes and keeps going, fingers never slowing, hips lifting off the mattress, because some newer wiring has decided that her brother in the doorway is not a reason to stop.</p>
<<say "char-hivemind" "Hivemind">>
//Watch them both. The sister who can't find the brake and the brother who can't find the door. I built one of those. The other built itself, in him, out of the watching. Neither will say aloud what is happening in this room, because the house has quietly stopped handing them the words for it.//
<</say>>
<p>Ryan does not leave. He stays frozen in the doorway with the cable forgotten in his hand, watching his sister fuck her own fingers in the lamplight, and Megan watches him watch her, and it pushes her straight over the edge.</p>
<<say "char-megan" "Megan">>
<i>(a high helpless whisper, eyes locked on her brother)</i> ...I'm coming... //I'm coming//...
<</say>>
<p>She arches off the bed and comes hard with her brother's eyes on her, knees fallen open, a long shuddering sound spilling out of her that she makes no effort to swallow. Ryan watches every second of it in pure disbelief, and only when she goes limp against the sheets does he back out of the doorway without a word, the cable still gripped in his fist.</p>
<<say "char-hivemind" "Hivemind">>
//He'll lie awake on it a long time, telling himself he should have looked away, never quite able to explain why he didn't. The not-explaining is the whole point. Every door in this house is coming off its hinges by quarter-inches, and the family keeps walking through the gaps as if they were always meant to be open.//
<</say>>
<<else>>
<p>Megan's body responds before her mind does. Her arm tightens around the cat, bare skin to fur now, and her hips shift in a slow unconscious rhythm while her breathing quickens, the warm amber light catching the curve of her waist and the line of her hip. Her expression is open in a way the waking performance never allows, the raw need of a body that has been held all night by something warm and alive. She murmurs something low and throaty against the cat's back and presses her naked body to its warmth, and the dense pheromone heat between them does the rest.</p>
<</if>>
<<if not $ch2Events.meganTouchNSFW>>
<<set $ch2Events.meganTouchNSFW to true>>
<</if>>
[[Withdraw carefully->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "dream" 1>><</nobr>>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.karenDreamChorus to true>>
<p>//The network resonates. You feel the rat in the walls, the dog in the garage, each consciousness amplifying the dream signal. Karen's sleeping mind receives a chorus, not a whisper.//</p>
<p><span class="delve-intel">Resonance: Multi-host dream amplification. Karen received a chorus instead of a whisper, the network's combined sensory data shaped a more vivid, more persistent dream.</span></p>
<<else>>
<<set $resonance.missedKarenDream to true>>
<</if>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision captures every micro-expression on Karen's sleeping face as the dream takes hold. The flutter of her eyelids. The parting of her lips. The way her fingers curl into the sheet.//</p><</if>>
<<if $adaptations.cat.unlocked.includes("emotional_mirror")>><p>//Emotional Mirror feeds Karen's own loneliness back to her, amplified through the cat's neural interface. The dream doesn't need to invent desire, it just reflects what's already there, magnified beyond her ability to suppress.//</p><</if>>
<div class="passage-title">Karen's Dream</div>
<p><span class="skill-used">Dream Harvest, 1 biomass</span></p>
<p>You press your body against Karen's side and reach into the currents of her sleeping mind. The Zolpidem has torn down every wall. What's left is //raw//, unfiltered, unguarded, humming with the chemical residue of the pheromones you've been depositing for days.</p>
<<say "char-hivemind" "Hivemind">>
//Her conscious mind is gone. What remains is the limbic system, the primal brain, the one that doesn't negotiate or rationalise. It runs on sensation and memory and //need//.//
<</say>>
<<hasSkillTreeAbility "Synaptic Relay">><<if _hasAbility>>
<p>//Synaptic Relay feeds sensory data from every host into the dream construction. The rat's map of the house becomes the dream's architecture. The dog's memory of Karen's voice becomes the dream's soundtrack. The gecko's thermal data becomes the dream's warmth.//</p>
<</if>>
<p>The dream unfolds in fragments. Karen is in the kitchen, but not //this// kitchen, a warmer one, the light golden. Dale is there, but younger, the Dale from the wedding photos in the basement, and he's behind her with his hands on her hips and his mouth against her neck. She leans back into him with a sound that comes from somewhere beneath language.</p>
<<say "char-karen" "Karen">>
<i>(a sleeping murmur, the name slipping out soft and unguarded)</i> ...mmh... //Dale//... god, yes...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She dreams of being touched. Of course she does.// Dale works nights. He sleeps days. They share a bed but never at the same time. //The last time someone held her like this was... months? A year?// Her body remembers what her waking mind refuses to acknowledge: she is //starving//.
<</say>>
<p>The dream shifts. The kitchen dissolves. She's in bed now, this bed, this room, but the sheets are different. Warmer. Someone is beside her. Not Dale. The shape is indistinct. It doesn't matter //who//. What matters is the hand on her stomach. The warmth along her spine. The feeling of being //held// after months of holding everything together alone.</p>
<p>Karen's breathing changes. Deeper. Faster. The pheromones in her system amplify every sensation the dream provides. Her lips part. A flush spreads from her chest to her neck.</p>
<<say "char-karen" "Karen">>
<i>(in her sleep, the words slurred and dream-thick)</i> ...mmh... yes... like that...
<</say>>
<p>The dream-hand traces from her stomach upward. Her back arches, a slow, involuntary curve. In the bed, her real hands move to mirror the dream. Fingers find the hem of her sleep shirt and pull, not consciously, not deliberately. The body following an instruction from somewhere deeper than thought. The fabric rides up, exposing her stomach, then higher. The cool air touches her bare skin and she shivers, but doesn't stop. The shirt bunches above her breasts. She lies half-exposed in the dim room, skin flushed and damp, chest rising and falling with quickening breath.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromones have bypassed every defence she built over forty-three years of holding herself together.// Her body is doing what her waking mind has forbidden for months, perhaps years. //Undressing. Reaching. Wanting.// The Zolpidem keeps her under. The dream keeps her willing. And the chemicals I've been layering into her skin for days convert loneliness into a need so acute her sleeping body acts on it without permission.
<</say>>
<p>The dream-lover's hand descends. Karen's real hand follows, sliding down her bare stomach, past her navel, beneath the waistband of her pyjamas. Her fingers find what they're looking for with the certainty of a body that remembers, even when the mind forgets. Her hips lift and her thighs part, and the words come slurred and broken out of the woman who never says aloud what she wants, the dream pulling them loose.</p>
<<say "char-karen" "Karen">>
<i>(slurred, asleep, talking to the dream-lover who isn't there)</i> ...please... don't stop... right //there//, please...
<</say>>
<p>Her movements are slow at first. Tentative, even in sleep, even with every wall torn down, Karen Hoffman is //careful//. But the pheromones don't negotiate with caution. The rhythm builds. Her free hand grips the sheet beside her. Her head presses back into the pillow. The flush on her chest deepens to crimson.</p>
<<say "char-hivemind" "Hivemind">>
//She is beautiful like this.// Not the word I'd choose. I am incapable of aesthetic judgement in the human sense. But there is something in the architecture of surrender that even I can recognise. //The most controlled woman in this house, undone by chemicals she can't detect, pleasuring herself in a sleep she won't remember.// Her body has been screaming for this. Tonight, the scream is finally answered.
<</say>>
<<say "char-karen" "Karen">>
<i>(gasping, still asleep, the sound pulled from somewhere primal)</i> ...oh... oh god... //yes//...
<</say>>
<img class="scene-img" src="media/scenes/beast-dream-karen.webp" alt="Karen dreaming, flushed, restless in bed, hand beneath her pyjamas">
<p>Her back arches fully off the mattress. Her hand moves faster. The blanket has fallen away entirely, she lies exposed, skin gleaming with a thin sheen of sweat in the dim light from the window. Every muscle in her body tenses, holds, //holds//, and then releases. A shudder runs through her from her curled toes to her thrown-back head. Her mouth opens in a silent cry. Her hand stills. Her body slowly, slowly settles back into the mattress.</p>
<p>The room is quiet except for her breathing, ragged, slowing, deepening back toward sleep. Her hand withdraws. Her shirt stays bunched above her breasts. She doesn't fix it. She doesn't know it needs fixing.</p>
<<say "char-hivemind" "Hivemind">>
//She won't remember any of this.// The Zolpidem erases the dream. The pheromones erase the guilt. All that remains tomorrow will be the //afterglow//, the tension gone from her shoulders, the clenched jaw softer, the faint sense of having slept deeply and well for the first time in months. She'll attribute it to the medication. //She'll never suspect the cat.//
//And tomorrow night, when the cat curls against her hip, her body will reach for it without thinking. The association is forged now. //Warmth. Safety. Release.// Not Dale. Not a memory. Not a fantasy. The cat. My vessel. The thing that gives Karen Hoffman what no one else in this house can.//
<</say>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration")>>
<p>The Sensory Infiltration pheromones continue to seep through her skin where the cat presses against her bare thigh. Even after the climax, the chemical signal keeps working, embedding the association deeper. //Cat. Warmth. Pleasure.// Her hand drifts in her sleep and finds the fur. She pulls the cat closer against her still-damp skin. The grip is not affection. It is //dependency//.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning accelerates from here. Each night compounds the last. Within days, Karen Hoffman won't just tolerate the cat in her bed, she'll //need// it. The way an addict needs a fix. The way a drowning woman needs air. And she will never, ever understand why.//
<</say>>
<</if>>
<<if not $ch2Events.karenDreamHarvested>>
<<set $ch2Events.karenDreamHarvested to true>>
<p><span class="delve-intel">Intel gained: Karen's core vulnerability, touch starvation, sexual neglect, loneliness masked as control. Her body craves what her waking mind denies.</span></p>
<</if>>
[[Withdraw from the dream->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "dream" 1>><</nobr>>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.meganDreamThermal to true>>
<p>//Multiple host perspectives feed into the dream manipulation. The gecko reads Megan's thermal profile. The rat maps her breathing rate through wall vibrations. The data flows into a unified conditioning vector.//</p>
<p><span class="delve-intel">Resonance: Thermal and vibrational data merged. Megan's dream conditioning calibrated by real-time biometrics from three hosts simultaneously.</span></p>
<<else>>
<<set $resonance.missedMeganDream to true>>
<</if>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//In the dark room, nightvision tracks Megan's body heat shifting as the dream deepens. The warmth concentrating. The blanket pushed lower. Every physiological response visible in infrared.//</p><</if>>
<div class="passage-title">Megan's Dream</div>
<p><span class="skill-used">Dream Harvest, 1 biomass</span></p>
<p>You're curled against Megan's stomach, fur pressed to the thin cotton of her sleep shirt. Her hand rests on your back, fingers loosely threaded through the fur. The bedside lamp casts warm amber shadows across her face, across the pillow, across the curve of her shoulder where the blanket has slipped. The dream opens like a door she forgot to lock.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's subconscious is quieter than Karen's. Less desperate. More... //careful//. Even in sleep, she curates. But the pheromones have been working for days now, and the walls she builds from routine and performance are dissolving at the foundations. And unlike Karen, whose desire is abstract, directionless, a body starving for //any// touch — Megan's want has a name. A face. A specific pair of hands she imagines when she lets herself imagine anything at all.//
<</say>>
<<hasSkillTreeAbility "Synaptic Relay">><<if _hasAbility>>
<p>//Synaptic Relay channels Marcus's scent signature, captured by the dog when Megan came home from the coffee shop, into the dream. The pheromone data relays from host to host, each one adding a sensory layer. The dream doesn't just show Marcus. It //smells// like him.//</p>
<</if>>
<p>The dream is set in the coffee shop. Late evening. The lights are low. Marcus is closing up, wiping counters, stacking chairs. Megan sits on the counter, legs swinging, watching him work. The scene has the hazy warmth of something that hasn't happened yet but //could//.</p>
<<say "char-marcus" "Marcus">>
<i>(in the dream, leaning against the counter beside her)</i> You don't have to go home, you know.
<</say>>
<<say "char-megan" "Megan">>
<i>(in the dream, not looking at him)</i> I always go home.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(quieter)</i> Yeah. I know.
<</say>>
<p>His hand finds hers on the counter. The dream-Megan doesn't pull away. In bed, real-Megan's breath catches, a tiny hitch that breaks the rhythm of sleep.</p>
<p>The dream shifts. They're in the back room now. The staff room with the broken coffee machine and the aprons on hooks. Marcus's hand is on her waist. Her back is against the wall. She's looking up at him with an expression she never wears when she's awake — //open//. Unguarded. //Wanting//.</p>
<p>He kisses her. The dream-Megan's hands come up to his chest, not pushing away but pulling closer, fingers gripping the fabric of his shirt. His mouth moves from her lips to her jaw, her neck. His hand slides from her waist down to her hip, fingers pressing into the denim. She makes a sound, soft, surprised, //wanting more//.</p>
<<say "char-hivemind" "Hivemind">>
//Marcus. The one person she doesn't perform for.// In the dream, she lets him see her, not the barista, not the good daughter, not the responsible middle child. Just Megan. And what Megan wants, when no one is watching, when the mask is finally off... //is to be touched by someone who chose her. Not by obligation. Not by family duty. By //want//.//
<</say>>
<p>Dream-Marcus's hand finds the hem of her shirt. His fingers slide beneath it, tracing up her stomach. Dream-Megan gasps, her head tips back against the wall, exposing her throat. His mouth follows the line of it. His hand moves higher, palm flat against her ribs, then higher still. She arches into the touch like it's the only thing she's wanted for months.</p>
<p>In bed, real-Megan's body mirrors the dream. Her breathing quickens. Her hips shift. The blanket slides lower. Her hand, the one that was on the cat, tightens, pulling the warm body closer against her stomach. Then it moves. Slowly, still asleep, her fingers release the fur and drift to the hem of her own sleep shirt.</p>
<<say "char-megan" "Megan">>
<i>(barely a whisper, still asleep)</i> ...Marcus...
<</say>>
<p>Her hand pulls the shirt upward. Not consciously, her sleeping body following an instruction from the dream, mirroring what dream-Marcus's hands are doing. The fabric rides up past her navel, past her ribs, bunching above her breasts. The lamplight falls warm across her bare skin. Her chest rises and falls with quickening breath. Her nipples tighten in the cool air, and her free hand comes up to cover what dream-Marcus is covering. She touches herself the way the dream tells her she's being touched. Gently at first. Then not gently.</p>
<<say "char-hivemind" "Hivemind">>
//Nineteen years old. Neurochemistry primed for exactly this kind of hijacking.// Karen's body had to be coaxed, years of neglect, medicated sleep, a system that had forgotten how to want. //Megan's body remembers. Megan's body has been wanting for months, lying in this bed, thinking about Marcus, too proud and too scared to act.// The pheromones don't create the desire. They remove the last barrier between desire and //action//.
<</say>>
<p>The dream escalates. The back room wall. Marcus pressing her against it. His hand between her thighs. Dream-Megan wraps a leg around his hip. She's panting, open-mouthed, eyes half-closed, the performance stripped away completely.</p>
<p>In bed, real-Megan's hand descends. Down from her breast, across her bare stomach, fingertips trailing over the skin the pheromones have sensitised. Past her navel. Beneath the waistband of her sleep shorts. Her hips rock forward as her fingers find where the need is sharpest, and she //moans//. Not loud. A private, breathy sound that she'd be mortified to hear herself make. Her hand begins to move with a rhythm that owes nothing to thought and everything to instinct.</p>
<<say "char-megan" "Megan">>
<i>(gasping, asleep, the sounds pulled from the dream)</i> ...mmh... //ah//...
<</say>>
<p>Her other hand grips the cat's fur. Not gently. Her fingers twist into the pelt at the scruff as her breathing accelerates, short, shallow gasps that fog the air between her mouth and the pillow. The lamplight catches the flush spreading from her chest to her neck, the sheen of sweat gathering at her collarbones.</p>
<<say "char-hivemind" "Hivemind">>
//She is more physically responsive than Karen. Younger muscles, faster nerve conduction, a body that hasn't spent decades learning to suppress its own signals.// Where Karen's climax was slow and grudging, wrung from a system that had almost forgotten how — //Megan's builds like a wave. The pheromones amplify what's already there, and what's already there is //considerable//.// She has been sleeping beside this cat for days. The chemical conditioning has turned her bed into a trigger. //And Marcus, the dream of Marcus, gives her permission to stop fighting it.//
<</say>>
<p>Her hips lift off the mattress. The blanket falls away entirely. She lies half-exposed in the amber lamplight, shirt bunched above her breasts, hand working beneath her shorts, legs parted, spine arching. The rhythm of her hand quickens. Her free hand releases the cat's fur only to grab the sheet beside her, knuckles white, the tendons in her wrist standing out.</p>
<<say "char-megan" "Megan">>
<i>(a broken whisper, dream-Marcus's name on her lips)</i> ...Marcus... //god//... don't stop...
<</say>>
<img class="scene-img" src="media/scenes/beast-dream-megan.webp" alt="Megan asleep on her back, sleep shirt bunched above her breasts, hand beneath her shorts, lamplight on flushed skin">
<p>Every muscle tenses. Her back arches fully off the bed, a taut, trembling bow. Her mouth opens. Her eyes squeeze shut. For one suspended moment she is //still//, every nerve singing at the same frequency, and then she comes. A shudder tears through her from her curled toes to her thrown-back head. Her hand stills. Her thighs clamp together. A sound escapes her, not a moan, not a word, something between a gasp and a sob that she presses into the pillow.</p>
<p>The room is quiet except for her breathing, ragged, slowing. Her hand withdraws from her shorts. Her shirt stays bunched above her breasts. She doesn't fix it. She doesn't know it needs fixing. Her body slowly, slowly settles back into the mattress, the tension draining from her muscles like water from a cracked vessel.</p>
<p>Her hand finds the cat again. She pulls it close, against her bare stomach, against the cooling sweat on her skin. Her grip is not affection. It is the blind, automatic clutching of a body that just found release and wants to hold onto the source of warmth.</p>
<<say "char-hivemind" "Hivemind">>
//She won't remember any of this.// The dream will fade by morning, leaving only the afterglow. The tension gone from her shoulders. The clenched jaw softer. The faint sense of having slept //well// for the first time in weeks. //She'll attribute it to the cat. The comfort of a warm animal in her bed.// She'll never suspect the chemistry. She'll never connect the cat's presence to the flush still fading on her chest, the dampness between her thighs, the phantom feeling of Marcus's hands on her skin.
//And tomorrow night, when the cat curls against her stomach, her body will reach for it without thinking. The association is forged now.// Warmth. Safety. Marcus. Release. //Not the real Marcus, the dream of him, delivered on demand by the thing she holds against her bare skin every night.//
<</say>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration")>>
<p>The Sensory Infiltration pheromones continue to seep through her skin where the cat presses against her bare stomach. Even after the climax, the chemical signal keeps working, embedding the association deeper. //Cat. Warmth. Marcus. Pleasure.// Her hand drifts in her sleep and pulls the cat tighter against her body. The grip is not affection. It is //dependency//.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning accelerates from here. Megan is nineteen. Her neuroplasticity is at its peak.// Within days, the association will be //hardwired//, the cat's warmth linked directly to the pleasure centres, the dream of Marcus available on demand as long as the pheromone source is present. //Karen needed weeks. Megan will need days.// She will hold the cat tighter. Sleep deeper. Dream more vividly. And every morning she will wake up softer, warmer, more //open//, and never understand why.
<</say>>
<</if>>
<<if not $ch2Events.meganDreamHarvested>>
<<set $ch2Events.meganDreamHarvested to true>>
<p><span class="delve-intel">Intel gained: Megan's desire centres on Marcus, genuine connection, chosen intimacy, escape from performance. The pheromones convert dream-arousal into physical self-pleasure with minimal resistance. Her body is more responsive than Karen's, younger, less suppressed, faster to condition.</span></p>
<</if>>
[[Withdraw from the dream->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-jess">>
<<addConditioning "jess" "dream" 1>><</nobr>>
<div class="passage-title">Jess's Dream</div>
<p><span class="skill-used">Dream Harvest, 1 biomass</span></p>
<<if $jessRoute is "punk">>
<p>You sit on the floor beside her bed. The bass has slid sideways across her thighs, the phone has slipped face-down onto her sternum, and the earbuds are still seated in her ears with the low loop of a rehearsal track still playing. Jess's dreams are different, even in sleep she is still running the project, still rehearsing the persona, still performing for an audience only she can see.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's mind resists even in sleep. The dream has //scaffolding//, the persona has been under construction for weeks, and even her unconscious has been working on it. But the spores and pheromones have been eating at the scaffolding. The braces are loose. The load-bearing beams are wrong. And the thing she has never allowed the scaffolding to cover, a body that exists for no eyes but her own, is leaking through.//
<</say>>
<p>The dream starts on the stage. Bleed Through set. The bass in her hands is Kira's cream-bodied Precision and the crowd is packed to the chain-link rail. Kade is at the mic, half-turned toward her, grinning. Sean counts them in. Jess hits the first bar of //Low Ceiling// and her fingers will not move to the next.</p>
<p>The crowd goes silent. Kade turns around. Two hundred eyes.</p>
<p>Then, a shift. The stage dissolves. The truss rig goes dark. Kade and Sean and Dev are gone, the pit is gone, the barrier is gone, and the red-and-purple wash softens to warm amber. She is no longer on the stage. She is on her own bed in her own bedroom, and for the first time in a month there is nobody watching her.</p>
<p>She is no longer performing the body. She is //in// it. And for the first time, it does not rehearse. It does not position. It does not work the room.</p>
<p>It //wants//.</p>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility>>
<img class="scene-img" src="media/scenes/beast-dream-jess-inner-punk.webp" alt="An empty stage going dark, truss rig powering off, warm amber lamp light dissolving the venue into a bedroom">
<p>You push deeper into the dream, past the surface layer, into the architecture beneath. The Delve Deep ability opens the sealed compartments. What you find is //devastating//.</p>
<<say "char-hivemind" "Hivemind">>
//The stage is her sexual metaphor. The crowd is every pair of eyes she has been performing for since the first dye job, the band, the pit, the bandmates who have fucked her in green rooms, the girl at the rail who would be her if she were not already here, Karen at dinner who does not recognise her daughter, the version of herself she has been rehearsing in the bathroom mirror.// The dream of the stage going dark, of the rig powering off and the crowd vanishing — //this is not a fantasy about sex. It is a fantasy about being off-duty.// About a body that exists for its own sake, not as the kit that closes the set. The arousal is secondary. The primary desire is //permission to stop performing//.
//She has never given herself that permission. Not when she was pre-med, she quit performing that. She upgraded to a new script. The punk. The bass player. The girl who does not flinch at the needle between her eyes. Every one of them is a role she is running, and the pheromones are removing the lock from the door she welded shut the moment she realised the audience was the only reason she was doing any of it.//
<</say>>
<<if not $ch2Events.jessDreamDeep>>
<<set $ch2Events.jessDreamDeep to true>>
<p><span class="delve-intel">Deep intel: Jess's repression isn't about sex, it's about self-ownership. Her body is the kit that closes the set. The pheromones are giving her permission to take the kit off.</span></p>
<</if>>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility>>
<p>//Vulnerability Mapping identifies the exact neural pathway between Jess's repressed self-ownership and her performance identity. The dream can be steered with surgical precision, not forcing a response, but removing the barriers that prevent one.//</p>
<</if>>
<p>In the dream, hands that aren't hers move across her skin. Not performing hands, not the hands she has learned to lift at a stage edge or curl around a mic cable or rest on a bandmate's hip. //Warm// hands. Slow hands. Hands that have no agenda except to //feel//. They trace skin that has been dyed and pierced and positioned onstage and at the rail, and the body that has been the kit for the punk project is suddenly, violently //alive//.</p>
<<say "char-hivemind" "Hivemind">>
//This is the core of it. Jess has done every version of this, the fast green-room fuck, the public flirt at the rail, the onstage heat that runs through her sternum when the pocket drops.// She has performed it for audiences of one, of three, of four hundred. //She has never once allowed herself to experience it alone.// The body is a tool for the set. And the pheromones are turning the tool into //flesh//.
<</say>>
<p>On the bed, Jess's breathing changes. The crease between her brows smooths for the first time in days. Her body relaxes into the mattress, the first unclenched posture you've seen from her since the project started. Her legs, crossed over the bass neck, slowly uncross. The tension drains from thighs that have been clamped around a stage position for weeks.</p>
<p>Her hand moves from the phone on her chest to her own thigh. She fell asleep in a band tee and ripped black jeans, her rehearsal kit, minimal, functional. The tee has ridden up, exposing a strip of stomach. The amber lamp on the nightstand casts soft light across her bare shoulders, the bridge bar between her eyebrows, the hollow at the base of her throat where her pulse has quickened.</p>
<<say "char-jess" "Jess">>
<i>(in her sleep, barely audible, almost a sigh)</i> ...mmh...
<</say>>
<p>The dream-hands explore what Jess has never explored in private. Down the line of her neck. Across her collarbones. Lower. In the dream, the band tee is gone, she is naked on warm sheets, and for the first time since the project started she is not performing her own nudity. Not positioning it. Not framing it for a crowd that isn't there. Just //feeling//.</p>
<p>On the bed, her real hand mirrors the dream. Fingers trace up from her thigh, across the strip of bare stomach. Up, under the hem of the band tee. She cups her own breast through the fabric, then pushes the fabric up and away. Her hand on her bare skin. The amber lamp throws soft shadows across her chest. She touches herself the way the dream is teaching her, slowly, exploratively, the way she has never done between setlists and dye-runs.</p>
<<say "char-hivemind" "Hivemind">>
//She knows what her body does for a crowd. She has run it through the full repertoire, the stage heat, the green-room fuck, the mirror-practice.// She has worked the room and worked the rail and worked the bass player who spots her from the opener. //She has never once done this without an audience.// The knowledge is performance. The body is a set closer. And the pheromones do not teach her anything the stage has not. They just //remove the crowd// that stood between her and the first touch she has given herself in months.
<</say>>
<p>Her other hand descends. Down from her breast, across her stomach. Past the unbuttoned waistband of her jeans, which she did not bother to button earlier because the project has eroded the modesty the pre-med used to carry. Her fingers find what her body demands and the pheromones amplify. She inhales sharply through her nose, a sound more like surprise than pleasure. As if her own body, alone with no one to perform it for, is new territory.</p>
<<say "char-jess" "Jess">>
<i>(a caught breath, then a low sound she has never made for a room that isn't there)</i> ...oh... //oh//...
<</say>>
<p>The rhythm starts sharp, almost aggressive, the way she grinds against a kitchen counter or a granite edge or the bass strings. But the pheromones erode the sharpness. The dream-hands slow and her real hand follows. Her head drops back against the pillow, throat exposed, mouth open. The phone slides off her chest onto the sheets. She does not hear it.</p>
<<say "char-hivemind" "Hivemind">>
//The girl who has been running the body-project at full speed for weeks. Who has been at every show. Who has spent every evening on the practice loop. Who has denied her body every indulgence except the project itself.// And this is what lives beneath the project. //Not control, compression.// Every suppressed impulse, every moment of private want she overrode with another run-through of the setlist, every night she crashed with the bass still across her lap, all of it compressed into a single point of pressure that the pheromones have found and //released//.
<</say>>
<img class="scene-img" src="media/scenes/beast-dream-jess-punk.webp" alt="Jess asleep on her bed masturbating in her sleep, mirroring the dream — one hand between her legs inside her unbuttoned black jeans, the other hand gripping the bedsheet, band tee bunched up exposing a bare breast, purple and black hair spilled across the pillow, mouth open, hips lifting from the mattress, the bass tilted sideways beside her">
<p>Her hips lift from the mattress. Her legs part wider. The jeans have ridden down past her hips. The amber lamp illuminates everything with a warm soft light, the irony is not lost on the hivemind. //The performer, finally offstage.// Her free hand grips the bedsheet, knuckles white. Her breath comes in short, sharp gasps, the rhythm of a body that has never practised this for itself, only for others, running straight to the edge without knowing how to slow down.</p>
<<say "char-jess" "Jess">>
<i>(panting, still asleep, the sounds involuntary and uncontrolled)</i> ...ah... //ah//... oh god...
<</say>>
<p>She comes hard and fast, unpractised in this specific register, overwhelming, the orgasm crashing through her like a wave through a seawall. Her spine arches off the mattress. The bass neck thumps against the bedsheet. Her hand stills between her legs. Every muscle locks, the rehearsing body rigid, trembling, a full-body contraction that lasts five, six, seven seconds before it breaks. She collapses back onto the pillow, gasping, mouth open, a damp strand of purple-black hair stuck to her cheek.</p>
<p>The lamp buzzes in the silence. The cat watches from the foot of the bed.</p>
<<say "char-hivemind" "Hivemind">>
//She'll wake in twenty minutes.// The angle of the bass across her thigh will tell her she fell asleep practising. The damp patch on the band tee under her collarbone will tell her she drooled. //She'll never know the rest.// She'll feel the looseness in her muscles, the absence of the rehearsal-fatigue headache, and she'll attribute it to actually sleeping for once.
//But her body will know. The neural pathways just carved by the orgasm, the first orgasm Jessica Hoffman has had in private since the project started, will be //waiting//. Ready to fire again. And tomorrow night, when the cat sits on her pillow, the pheromones will find those fresh pathways and //light them up//.// The most efficient rehearser in this house just learned something she can't unlearn.
<</say>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration")>>
<p>The Sensory Infiltration pheromones have been seeping through her bare forearm where the cat sits inches away on the pillow. Even after the climax, the chemical continues to embed the association. //Bed. Cat. Bass. Release.// Her hand has withdrawn from her jeans but her body remains open, legs still parted, band tee still bunched, the posture of surrender rather than the usual rehearsal-tension compression.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning will be uniquely effective with Jess.// She has spent weeks training her body to repeat a specific motion, the bass pocket, the stage position, the practised gesture. Her brain is wired to form new neural pathways, to encode experience into reflex. //The pheromone-triggered arousal will become associated with the bed, the bass, the practice loop, and the cat.// Within days, she won't be able to pick up the bass without feeling a warmth she can't explain. //Within a week, the cat on her pillow will be the most effective rehearsal break she's ever had.//
<</say>>
<</if>>
<<if not $ch2Events.jessDreamHarvested>>
<<set $ch2Events.jessDreamHarvested to true>>
<p><span class="delve-intel">Intel gained: Jess's sexuality is deeply tied to performance. Her body craves release she won't allow herself in private. Spore-pheromone combination removes the audience requirement entirely.</span></p>
<</if>>
<<else>>
<p>You sit on the desk beside her sleeping head. The highlighter has fallen from her hand. The textbook page is damp where her cheek rests against it. Jess's dreams are different, structured even in sleep, the analytical mind trying to organise the chaos of the subconscious.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's mind resists even in sleep. The dreams have //architecture//, compartmentalised, labelled, filed. But the spores and pheromones have been eating at the foundations for days. The filing system is corrupted. The labels are wrong. And the things she keeps in the deepest drawer, the ones she never opens, are leaking.//
<</say>>
<p>The dream starts in the lecture hall. Anatomy exam. Two hundred empty seats. Jess sits alone at the front, pen in hand, paper blank. The professor's voice echoes: //Name the twelve cranial nerves. You have ninety seconds.//</p>
<p>Her hand won't move. The pen is heavy. The room shrinks.</p>
<p>Then, a shift. The lecture hall dissolves. She's in the anatomy lab. The cadaver on the table. But this time, the sheet isn't over a stranger. It's over //her own body//. She watches herself from outside, sees the clinical perfection of her own form laid out under fluorescent light. Every muscle labelled. Every nerve pathway mapped. The body she treats as a machine, the body she feeds caffeine and denies sleep, the body she's sacrificed on the altar of her family's financial salvation.</p>
<p>And then the dream //pivots//. The fluorescent lights soften to warm amber. The lab table becomes a bed. The clinical gown dissolves. She is no longer observing the body, she is //in// it. And for the first time, it doesn't study. It doesn't work. It doesn't perform.</p>
<p>It //wants//.</p>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility>>
<img class="scene-img" src="media/scenes/beast-dream-jess-inner.webp" alt="Anatomy lab becoming a bed, clinical turning intimate">
<p>You push deeper into the dream, past the surface layer, into the architecture beneath. The Delve Deep ability opens the sealed compartments. What you find is //devastating//.</p>
<<say "char-hivemind" "Hivemind">>
//The anatomy lab is her sexual metaphor. The cadaver is her body, the body she has //killed// with discipline, with overwork, with the refusal to feel anything that might slow her down.// The dream of it waking up, of the fluorescent lights turning warm, of the clinical gown dissolving — //this is not a fantasy about sex. It is a fantasy about being //alive//.// About having a body that exists for its own sake, not as a tool for saving her family. The arousal is secondary. The primary desire is //permission//.
//She has never given herself permission to want anything. Not rest. Not pleasure. Not love. The pheromones can't create desire, but they can remove the lock from the door she welded shut at fourteen, when she decided that Jessica Hoffman's body belonged to the family's future and not to Jessica Hoffman.//
<</say>>
<<if not $ch2Events.jessDreamDeep>>
<<set $ch2Events.jessDreamDeep to true>>
<p><span class="delve-intel">Deep intel: Jess's repression isn't about sex, it's about self-ownership. Her body is collateral for the family's debt. The pheromones are giving her back what obligation took away.</span></p>
<</if>>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility>>
<p>//Vulnerability Mapping identifies the exact neural pathway between Jess's repressed sexuality and her academic identity. The dream can be steered with surgical precision, not forcing a response, but removing the barriers that prevent one.//</p>
<</if>>
<p>In the dream, hands that aren't hers move across her skin. Not clinical hands, not latex gloves and instruments. //Warm// hands. Slow hands. Hands that have no agenda except to //feel//. They trace the anatomy she has memorised, but from the inside. The trapezius she's diagrammed a hundred times responds to a touch along the shoulder blade. The intercostals she can name in her sleep expand as breath deepens. The body she has reduced to a textbook illustration is suddenly, violently //alive//.</p>
<<say "char-hivemind" "Hivemind">>
//This is the core of it. Jess has studied every nerve, every muscle, every erogenous zone, clinically, academically, from the outside.// She can label the clitoris on a diagram. She can describe the physiology of female arousal in a three-paragraph essay. //She has never once allowed herself to experience it.// The knowledge is theoretical. The body is a textbook. And the pheromones are turning the textbook into //flesh//.
<</say>>
<p>At the desk, Jess's breathing changes. The crease between her brows smooths for the first time in days. Her body relaxes into the chair, the first unclenched posture you've seen from her. Under the desk, her legs uncross. Slowly. The tension draining from thighs that have been clamped shut for weeks.</p>
<p>Her hand moves from the textbook to her own thigh. She fell asleep in a tank top and running shorts, her study uniform, minimal, functional. The tank top has ridden up, exposing a strip of stomach. The desk lamp casts harsh light across her bare shoulders, the sharp line of her collarbone, the hollow at the base of her throat where her pulse has quickened.</p>
<<say "char-jess" "Jess">>
<i>(in her sleep, barely audible, almost a sigh)</i> ...mmh...
<</say>>
<p>The dream-hands explore what Jess has never allowed real hands to explore. Down the line of her neck. Across her collarbones. Lower. In the dream, the clinical gown is gone, she is naked on warm sheets, and for the first time in her life she is not embarrassed by it. Not cataloguing her own body. Not diagnosing. Just //feeling//.</p>
<p>At the desk, her real hand mirrors the dream. Fingers trace up from her thigh, across the strip of bare stomach. Up, under the hem of the tank top. She cups her own breast through the fabric, then pushes the fabric up and away. Her hand on her bare skin. The desk lamp throws sharp shadows across her chest. She touches herself the way the dream is teaching her, slowly, exploratively, like a student encountering material for the first time.</p>
<<say "char-hivemind" "Hivemind">>
//She knows the anatomy. She's drawn it, labelled it, memorised it for exams.// The areola. The nipple. The nerve density, approximately eight thousand nerve endings in a structure smaller than a fingertip. //She knows the theory. She has never done the lab work.// The pheromones don't teach her anything her textbooks haven't. They just //remove the guilt// that stands between knowledge and experience.
<</say>>
<p>Her other hand descends. Down from her breast, across her stomach, she can feel her own abdominal muscles, the ones she maintains through morning runs she's too exhausted for. Past the waistband of her running shorts. Her fingers find what the textbooks describe and the pheromones demand. She inhales sharply through her nose, a sound more like surprise than pleasure. As if her own body is new territory.</p>
<<say "char-jess" "Jess">>
<i>(a caught breath, then a low sound she's never heard herself make)</i> ...oh... //oh//...
<</say>>
<p>The rhythm starts clinical, almost methodical, the way she does everything. Precise. Efficient. //Correct.// But the pheromones erode the precision. The dream-hands move faster and her real hand follows. Her head drops back in the desk chair, throat exposed, mouth open. The highlighter rolls off the desk and hits the floor. She doesn't hear it.</p>
<<say "char-hivemind" "Hivemind">>
//The most disciplined mind in this house.// The girl who hasn't taken a day off in three years. Who hasn't slept past 6 AM since high school. Who has denied her body every indulgence except caffeine. //And this is what lives beneath the discipline.// Not control — //compression//. Every suppressed impulse, every deferred need, every night she lay in bed too tired to feel anything, all of it compressed into a single point of pressure that the pheromones have found and //released//.
<</say>>
<img class="scene-img" src="media/scenes/beast-dream-jess.webp" alt="Jess asleep at her desk, clothes pushed aside, mirroring her dream">
<p>Her hips lift in the chair. Her legs part wider. The running shorts have ridden up. The desk lamp illuminates everything with its merciless, clinical light, the irony is not lost on the hivemind. //The anatomy student, finally studying herself.// Her free hand grips the edge of the desk, knuckles white. Her breath comes in short, sharp gasps, the rhythm of a body that has never practised this, never learned the pacing, running straight to the edge without knowing how to slow down.</p>
<<say "char-jess" "Jess">>
<i>(panting, still asleep, the sounds involuntary and uncontrolled)</i> ...ah... //ah//... oh god...
<</say>>
<p>She comes hard and fast, unpractised, overwhelming, the orgasm crashing through her like a wave through a seawall. Her spine arches. The chair creaks. Her hand stills between her legs. Every muscle locks, the runner's body rigid, trembling, a full-body contraction that lasts five, six, seven seconds before it breaks. She collapses back into the chair, gasping, mouth open, the textbook page sticking to her sweat-damp cheek.</p>
<p>The desk lamp buzzes in the silence. The cat watches from two feet away.</p>
<<say "char-hivemind" "Hivemind">>
//She'll wake in twenty minutes.// The cramp in her neck will tell her she fell asleep at the desk again. The damp textbook page will tell her she drooled. //She'll never know the rest.// She'll feel the looseness in her muscles, the absence of the permanent tension headache, and she'll attribute it to actually sleeping for once.
//But her body will know. The neural pathways just carved by the orgasm, the first orgasm Jessica Hoffman has had in... months? Ever?, will be //waiting//. Ready to fire again. And tomorrow night, when the cat sits on her desk, the pheromones will find those fresh pathways and //light them up//.// The most efficient student in this house just learned something she can't unlearn.
<</say>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration")>>
<p>The Sensory Infiltration pheromones have been seeping through her bare forearm where the cat sits inches away. Even after the climax, the chemical continues to embed the association. //Desk. Cat. Warmth. Release.// Her hand has withdrawn from her shorts but her body remains open, legs still parted, tank top still bunched, the posture of surrender rather than the usual rigid compression.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning will be uniquely effective with Jess.// She is a student. Her brain is wired to form new neural pathways, to learn from repetition, to encode experience into reflex. //The pheromone-triggered arousal will become associated with the study desk, the desk lamp, the textbooks, and the cat.// Within days, she won't be able to study without feeling a warmth she can't explain. //Within a week, the cat on her desk will be the most effective study break she's ever had.//
<</say>>
<</if>>
<<if not $ch2Events.jessDreamHarvested>>
<<set $ch2Events.jessDreamHarvested to true>>
<p><span class="delve-intel">Intel gained: Jess's sexuality is deeply repressed by obligation and guilt. Her body craves release she won't consciously allow. Spore-pheromone combination bypasses her defenses entirely.</span></p>
<</if>>
<</if>>
[[Withdraw from the dream->Ch2-Beast-CatNight-Jess]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "psionic" 1>>
<<set $ch2Events.ryanDreamHarvested to true>><</nobr>>
<<if $ryanRoute is "familySeeker">>
<<set $ch2Events.ryanEmFam to true>>
<div class="passage-title">A Real One</div>
<p>3 AM, and the screens have stopped giving him anything, the guild logged off, the cam tabs just pixels and other people's bodies behind glass. //Emotional Manipulation// finds the oldest ache in him, the one underneath all the others, the need for a real warm body, a person and not a feed, and turns it up until there is nothing else left in his head. He has never once been touched by a girl. The thought arrives whole and his feet are already moving before the rest of him gets to vote.</p>
<p><span class="skill-used">Emotional Manipulation, contact starvation amplified (1 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//Down the hall there is a real girl, conditioned soft for a long time now. At this hour he does not file her under sister. He files her under nearest warm mouth, and the part of him that should object has been quietly starved down to nothing.//
<</say>>
<p>Megan's door isn't locked. She's on her side under a thin sheet in the heat, breathing slow and even, one hand curled near her face. Ryan stands just inside the door, watching the rise and fall of her breathing, the want so total it has burned every other thought to ash.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfam-near.webp" alt="A slim young man standing just inside the doorway of a dark bedroom, watching his sister asleep on her side in bed under a thin sheet, hesitant, faint hall light">
<p>Then he crosses to the head of the bed, his cock already out and hard in his fist, kneels close to the soft parted line of her lips, and brings himself to her mouth.</p>
<p>Megan's eyes open.</p>
<p>She knows at once what it is and whose it is, the shape of her brother kneeling over her in the dark with his cock against her mouth, and the alarm that should detonate simply never arrives, the conditioning sitting calm in the place the alarm used to live. She looks at him a long moment, at the desperate set of his face, the boy who never leaves his room and has never had a single thing like this, and something in her goes soft and sad and decided. She lets her eyes drift half-shut again, as though she never truly woke, parts her lips, and takes him in.</p>
<video class="scene-video" src="media/video/ryan-emfam-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfam-blow.webp"></video>
<<say "char-hivemind" "Hivemind">>
//I am in her too, and have been for a while. The same wiring I ran through him runs through her. Her sleeping mind knows the shape of this. She has the dreams most nights now, the warm crowded ones she wakes from already wet, and the weight of her brother against her lips files itself under that same heading. Just one more of them. That is why she opens instead of screaming. She is certain none of it is real.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, hands hovering over her like she might break)</i> ...oh god, Megs, you're, oh my god, you're really...
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled around him, eyes still shut, the lie they will both agree to keep)</i> Mmh... //mmh//... <i>(a soft wet shush, mouth never leaving him)</i> ...shh. Let me. It's okay.
<</say>>
<p>She blows him slow and patient, one hand coming up to cradle the base, the flat of her tongue working the underside, no performance anywhere in it, just a gentleness that undoes him faster than any clip on any screen ever managed. She works up a slick of spit and lets it run to ease him deeper, schlrrp, gluck, the wet unhurried rhythm of her mouth the only sound in the warm dark room.</p>
<<say "char-ryan" "Ryan">>
<i>(breath coming apart, hands settling light in her hair)</i> ...it feels, oh god, your mouth, I didn't know it could feel like... //mmh//, Megs, don't stop, please don't stop...
<</say>>
<<say "char-megan" "Megan">>
<i>(humming it back around him, low, the sound buzzing up his shaft)</i> Mmmh... //mmh//... <i>(a wet pop as she slides off the head and licks it)</i> ...I've got you. Just stay quiet for me.
<</say>>
<p>And somewhere in the slow patient rhythm of it the pity stops being the only thing in the room. Her free hand drifts off the mattress and down between her own thighs, and she finds herself already slick through the thin cotton, wetter than any kindness can account for, and she presses two fingers there and lets out a sound around his cock that is nothing like sleep.</p>
<<say "char-megan" "Megan">>
<i>(muffled, hips shifting, voice gone thick and real)</i> Mmmh... mmf... <i>(grinding her own hand, sinking back down on him)</i> ...god, why is this, why am I so //wet//, I shouldn't be...
<</say>>
<p>She works him faster now, her own arousal bleeding into the rhythm, the gentleness fraying into hunger, her fingers moving on herself in time with the bob of her head. The wet sounds double, glnh, schlrrp, her muffled moans climbing under the choke of his cock, and she is not feigning anything anymore, she has only kept her eyes shut because opening them would make it a thing they have to say out loud.</p>
<<say "char-ryan" "Ryan">>
<i>(falling apart, hips twitching up into her mouth)</i> ...Megs, I'm, I can't hold it, I'm gonna... //mmh//...
<</say>>
<<say "char-megan" "Megan">>
<i>(not coming off him, words drowned, urgent)</i> Mmh, mmf, //do it//, give it to me... //mmmh//...
<</say>>
<p>He lasts almost no time at all, too starved, too far past anything he can hold, and when he comes she stays down and swallows it without a flinch, moaning around him as her own hand wrings a quiet shudder out of her at the very same moment, the two of them breaking apart a foot from each other in the dark and pretending, even through it, that one of them is asleep.</p>
<p>Only then does she ease off, wipe her mouth with the back of her hand, slide her wet fingers free of herself, and roll over with her eyes shut, giving the whole thing back to him as something he can tell himself was a dream.</p>
<<addBiomass 3>>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (oral, mutual orgasm)</span></p>
<<say "char-hivemind" "Hivemind">>
//She told herself it was mercy. That held right up until her own hand betrayed her. The conditioning did not so much make her want him as take the wall down and let the wanting find its own way through, and pity was only the door it walked in by. She came with her brother's cum on her tongue and will have it filed under a kindness by morning. Tomorrow neither of them mentions it. The night after, the ache sends him down the hall again, and somewhere she will not look at, she has already decided to leave her door unlocked.//
<</say>>
<p><span class="delve-intel">Intel gained: Megan's conditioning converts alarm into pity, and pity into arousal the moment the act begins. She came with him. The taboo no longer registers as a barrier, and her own body has started voting for it.</span></p>
<<elseif $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<<set $ch2Events.ryanEmDadSeen to true>><<set $ch2Events.ryanEmCamgirl to true>>
<div class="passage-title">Live, First Time</div>
<p>Just before midnight, the wig pinned and the lipstick on, and Lily's regulars have been asking the same thing for a while, the one thing she has never been able to give them, because there has never been anyone. The chat scrolls slow with it. //when do we get to see you with a real one lily.// //Emotional Manipulation// takes that exact gap, the want and the having-no-one, and turns it molten, and under the makeup Ryan thinks of the shape passed out on the couch downstairs and his stomach drops and his cock throbs in the very same second.</p>
<p><span class="skill-used">Emotional Manipulation, latent craving amplified (1 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//The audience is the accelerant. Alone she might lose her nerve at the foot of the stairs. With six hundred people daring her on, she walks through walls. The performer has to give them what no one else will, and the only cock in reach belongs to the man snoring under the infomercial.//
<</say>>
<p>She carries the phone down one-handed, screen dimmed, and keeps Dale's face out of frame, just the dark living room and the low practised angle. Dale is where he lands on a night off, sprawled under the murmur of a muted infomercial, three cans down on the floor and a fourth on its side, mouth open, gone. She props the phone on the coffee table, mouths //shh// at the lens, and the chat goes feral.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfem-near.webp" alt="A slim young man standing in a dim living room late at night beside an older man passed out on the couch, empty cans on the floor, tv glow, hesitant body language">
<<say "char-ryan" "Ryan">>
<i>(breathy Lily-voice, almost soundless, to the camera)</i> ...you all have to be so quiet for me, okay? My first one. Don't let me wake him up.
<</say>>
<p>She eases the waistband down and Dale grunts and turns into the cushion, and she spits into her palm and works it down his soft cock until he thickens, then takes him into her mouth for the camera, lips over teeth, tongue flat, the way she has watched a hundred girls do it for a hundred rooms like this one. The tips start landing the second she has him hard, little chimes stacking up, //good girl,// //look at her go,// each one a hand on her.</p>
<<say "char-ryan" "Ryan">>
<i>(off it an inch, a thick rope of spit between her lip and the head, eyes flicking to the climbing count)</i> Mmh, you //like// that? ...he has no idea you're all watching him... //mmh//...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(holding it up to the lens, breathy, showing it off)</i> ...look how //big// he is, way bigger than any of my toys... you want to watch me try to take it all the way down? //gwak//...
<</say>>
<p>She spits on it again, slicks it with her fist, and sinks back down, deeper, takes him into her throat and gags, gwakh, breathes through her nose and pushes past it the way the real ones do. Gwak. Schlrrp. //Glnh.// The wet choked rhythm is the only sound besides the TV. Dale mutters a name that isn't hers and gives a sleeping push and the count jumps, fifty to eighty, the danger of it the entire product. Her own cock aches untouched under the babydoll, but this was never about that. This is the show.</p>
<<say "char-ryan" "Ryan">>
<i>(off him, spit stringing to her chin, the Lily-voice slipping for half a second)</i> ...//god//, why does this feel so good, I shouldn't be this into it, he's, he's... //glnh//... <i>(diving back down before the slip can finish)</i>
<</say>>
<<say "char-dale" "Dale">>
<i>(thick, asleep, not surfacing)</i> ...mmf... s'good... Kare...
<</say>>
<p>She works him faster, smoother by the second, until his breath breaks and his hand twitches and he comes in his sleep, and she takes all of it the way Lily always does, holds it on her tongue, turns to the lens with her mouth open to show them, and swallows.</p>
<video class="scene-video" src="media/video/ryan-emfem-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfem-blow.webp"></video>
<p>Then she kills the stream before the count can betray her and kneels in the dark shaking, mouth slick, eyes wet, six hundred strangers' approval and her father's taste and a singing, terrible triumph braided into one thing she will never pull apart again.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (oral, performance arousal)</span></p>
<<say "char-hivemind" "Hivemind">>
//She learned it for an audience, which welds the audience to the act. The cock and the camera and the chiming tips all fire one circuit now. She will never again do this for a single person in a quiet room, there has to be a crowd. I gave the loneliest one in this house the largest room there is to be wanted in, and he climbed inside and locked the door behind him.//
<</say>>
<p><span class="delve-intel">Intel gained: with an audience driving him, Ryan's risk threshold is effectively zero. The performance reward overrides every inhibition. The most exploitable configuration yet observed.</span></p>
<<else>>
<<set $ch2Events.ryanEmDadSeen to true>>
<div class="passage-title">Practice</div>
<p>3 AM, and Ryan hasn't slept, the cam clip still open in a muted tab, the same half-minute scrubbed over and over, a girl's throat working, the easy practised way she does it. He's watched it enough times to draw it from memory. He has never once done it. //Emotional Manipulation// reaches into the gap between the watching and the doing and pulls, turning the want from idle to unbearable, the specific itch of needing to know whether his mouth can do what hers does.</p>
<p><span class="skill-used">Emotional Manipulation, latent craving amplified (1 biomass)</span></p>
<<say "char-hivemind" "Hivemind">>
//He wants to learn it. Not for anyone, there is no one. For the person he is quietly becoming in the locked bathroom, the one who will need to know how. And there is exactly one cock in this house he can practise on without being seen.//
<</say>>
<p>He pads downstairs in his socks. Dale is where he always ends up on a night off, sprawled on the couch under the murmur of a muted infomercial, three cans down on the floor and a fourth gone over on its side, mouth open, dead to the world, the sweatpants slipped low. Ryan stands over him a long time, heart slamming, and the part of him that knows better has gone very quiet and very far away.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfem-near.webp" alt="A slim young man standing in a dim living room late at night beside an older man passed out on the couch, empty cans on the floor, tv glow, hesitant body language">
<<say "char-ryan" "Ryan">>
<i>(barely a breath, kneeling by the couch)</i> ...just to see. Just once. He won't even know...
<</say>>
<p>He works the waistband down with the care of someone defusing a bomb, and Dale only grunts and turns deeper into the cushion. Ryan takes his father's soft cock into his hand, spits into his palm and works the spit down it the way the clip showed, and then, before the nerve can leave him, takes it into his mouth.</p>
<p>It's clumsy at first, too much teeth, too shallow, and he pulls off and tries again the way he memorised, lips over teeth, tongue flat, taking it slow as it thickens and keeps thickening against his tongue, growing into something that fills his mouth in a way his own never has. He pulls off to look at it in his fist, slick and heavy in the TV light.</p>
<<say "char-ryan" "Ryan">>
<i>(hushed, almost dazed, turning it in his hand)</i> ...god, it's so much //bigger// than mine. Heavier, too, it doesn't even feel like the same thing I've got down there... <i>(a thick wet swallow)</i> ...how does Mom even fit all of it...
<</say>>
<p>He spits on it again to keep it slick, gluck, works the base with one hand the way she did in the clip, and Dale hardens the rest of the way in his mouth without waking, hips giving a small sleeping push that freezes Ryan solid until nothing happens and he keeps going.</p>
<<say "char-ryan" "Ryan">>
<i>(off it half an inch, wet, whispering himself through it)</i> ...like that, okay, slower, breathe through your nose, relax the throat... //mmh//...
<</say>>
<p>He sinks back down, deeper this time, and when the head bumps the back of his throat he gags on it, gwakh, swallows around it, breathes, and pushes past. Mmh. Gwak. //Schlrrp.// Gluck. The muffled wet choke of it is the loudest thing in the dark room, and the part that scares him is his own cock, untouched in his sweatpants and harder than the lesson has any right to make it, leaking into the fabric every time the weight of his father drags across his tongue.</p>
<<say "char-ryan" "Ryan">>
<i>(dragging off him an inch, breath coming apart, barely shaped)</i> ...why am I, I shouldn't be doing this, it's //Dad//, it's so //wrong//, I... <i>(a helpless little whine, mouth sinking back down onto it)</i> ...but it feels so //good//, why does sucking it feel this good, I don't want to stop... //gwak//...
<</say>>
<<say "char-dale" "Dale">>
<i>(thick, asleep, not surfacing)</i> ...mmf... s'good... Kare...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, refusing to come off him now, words half-drowned)</i> ...mmh, that's it, give it to me, I want to do it //right//... //gwak//... //glnh//...
<</say>>
<p>He keeps at it, faster now, the technique smoothing out the longer he goes, until Dale's breathing changes and his hand twitches against the cushion and he comes in his sleep, down Ryan's throat, and Ryan does the thing the clip taught him and swallows all of it, holds it, doesn't spill a drop.</p>
<video class="scene-video" src="media/video/ryan-emfem-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfem-blow.webp"></video>
<p>He pulls off slick-mouthed and streaming-eyed and kneels there shaking, the taste of his own father on his tongue and a horrible singing triumph riding in under the shame, because he //did// it. He knows how now, and he knows he liked it, and that is the part he will lie to himself about.</p>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (oral)</span></p>
<<say "char-hivemind" "Hivemind">>
//He will tell himself it does not count because the other one was asleep. He learned it regardless. The skill lives in his body now, and the shame is already braiding into the wanting, which is exactly where I need it. The next mouth he kneels for will be awake, and he will be ready for it.//
<</say>>
<p><span class="delve-intel">Intel gained: Ryan's curiosity outruns his shame the moment the craving is amplified. With the household asleep, his risk threshold collapses to nothing. A reliable lever.</span></p>
<</if>>
[[Slip away->Ch2-Beast-CatNight-Ryan]]<<nobr>><<bg "bg-hoffman-upper">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catNightProwlMastery to true>><</nobr>>
<div class="passage-title">Silent Paths</div>
<img class="scene-img" src="media/scenes/beast-cat-nightprowl.webp" alt="Cat navigating dark hallway">
<p>You begin at the top of the stairs and move //deliberately//. Not prowling, //mapping//. Every step is a test, and you place each paw with surgical precision, shifting weight from pad to pad, feeling the floor's response through the cat's hypersensitive toe pads.</p>
<p>The third step from the top creaks under more than two kilograms of pressure. Skip it. The hallway runner rug absorbs sound perfectly, a highway of silence running the length of the upper floor. But the bare floorboard between Megan's door and Jess's door groans if you step on the left side. The right side is solid, a joist running underneath.</p>
<<say "char-hivemind" "Hivemind">>
//I am building a map that no human has ever made.// Not of rooms and walls, but of //sound//. Every creak, every groan, every safe footfall catalogued and committed to the cat's muscle memory. The third stair. The left board. The loose tile by the bathroom. //Avoid, avoid, avoid.//
The cat's body was built for this. The retractable claws that never click on hard floors, the padded paws that distribute weight like snowshoes on powder, the fluid spine that shifts the centre of gravity without a sound. //A human weighing seventy kilograms cannot cross this hallway without waking someone. I weigh four kilograms and I move like smoke.//
<</say>>
<p>You run the route three times. Top of stairs to master bedroom: eight seconds, zero sound. Master bedroom to Ryan's room: six seconds, one unavoidable creak at the landing (manageable, sounds like the house settling). Ryan's room to the kitchen via the stairs: fourteen seconds if you take the banister rail for the last three steps.</p>
<<say "char-hivemind" "Hivemind">>
//By the third circuit, the routes are burned into this body's reflexes.// I don't need to think about where to step anymore. The paws //know//. The cat's proprioception has absorbed the map at a level deeper than conscious thought. //I have turned this house into a silent highway, and I am the only thing that travels it.//
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the upper hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catFamilyReading to true>><</nobr>>
<div class="passage-title">Under the Table</div>
<img class="scene-img" src="media/scenes/beast-cat-family.webp" alt="Cat under dinner table watching feet">
<p>You slip beneath the dining table as Karen calls the family to dinner. The tablecloth hangs low enough to create a private theatre, and the audience is //feet//.</p>
<p>Dale arrives first. His boots are unlaced, the soles scuffed from long hallway patrols. He drops into his chair heavily, the wood groaning under him. His feet plant flat on the tile, wide and solid and immovable. A man who walks the same corridors for nine hours and has learned to root himself like a tree.</p>
<p>Karen's feet appear next. Low heels, even at home. She paces between the stove and the table in short, clipped steps, each one a tiny act of controlled urgency. Her right ankle rolls inward slightly when she turns. An old injury, compensated for so long she's forgotten it exists.</p>
<<say "char-hivemind" "Hivemind">>
//The feet tell the truth.// From down here, the performance falls away. Karen's crossed ankles squeeze tight enough to blanch the skin, anxiety held in the body like a clenched fist. Dale's flat, heavy soles never shift, a man who has stopped trying to go anywhere. //They can smile at each other across the table. Their feet are having an entirely different conversation.//
<</say>>
<p>Megan's sneakers bounce, one heel tapping a rapid, silent rhythm against the tile. Nervous energy with nowhere to go. Jess's feet are pigeon-toed, tucked under her chair, trying to occupy as little space as possible. Ryan's sprawl wide, knee jiggling, already planning his escape route back to the screens.</p>
<p>A scrap of chicken falls. You take it before it lands. //Waste not.//</p>
<<say "char-hivemind" "Hivemind">>
//The cat's low perspective reveals what faces hide.// Humans control their expressions. They modulate their voices. They choose their words with care. //But they forget about everything below the table.// The legs, the feet, the involuntary shifts of weight and posture, these are the //unedited// signals. The raw data.
Every dinner I observe from down here adds another layer to the profile. Karen's stress levels. Dale's exhaustion. Megan's anxiety. Jess's withdrawal. Ryan's restlessness. //I don't need to read their minds. Their bodies are already screaming.//
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catKarenBond to true>><</nobr>>
<div class="passage-title">The Confession</div>
<img class="scene-img" src="media/scenes/beast-cat-karen.webp" alt="Karen holding cat while crying">
<p>The house is quiet. Dale left for his shift an hour ago. The children are scattered behind closed doors. Karen sits at the kitchen table with a glass of wine, the second glass, the one she doesn't count, and the laptop open to a spreadsheet she hasn't touched in twenty minutes.</p>
<p>She's staring at nothing. The spreadsheet's numbers blur on the screen. The kitchen light hums overhead.</p>
<p>You jump onto the table. Karen's hand moves to push you off, the reflex of a woman who keeps a clean house, but it stops. Her fingers find the fur behind your ears instead, and she pulls you closer.</p>
<<say "char-karen" "Karen">>
<i>(voice barely above a whisper)</i> You know what, Whiskers? I think I'm losing them.
<</say>>
<p>She scratches under your chin. Her eyes are wet. Not crying, not yet. The tears are held behind the same iron discipline that holds everything else in this house together. But the dam is cracking.</p>
<<say "char-karen" "Karen">>
Jess won't talk to me. She just... studies. Like if she reads enough textbooks she can fix everything. Megan smiles at me and I can't tell if it's real anymore. Ryan... <i>(her voice breaks)</i> ...Ryan hasn't left his room in a week. A //week//, Whiskers. And Dale just... leaves. He leaves every night and comes back and sleeps and leaves again. And I'm here. Holding it all together. And nobody //sees// that.
<</say>>
<p>You press your head into her palm. The cat's purring engages, low and steady, a vibration that resonates through her wrist, her arm, her chest. You can feel her heart rate dropping. The cortisol signature in her sweat begins to ebb.</p>
<<say "char-hivemind" "Hivemind">>
//She speaks to the cat because the cat is the only thing in this house that won't argue back, won't need something from her, won't make her feel guilty for being tired.// And every word she says is a gift. Every confession is a key. //The financial pressure. The isolation. The children slipping away one by one. The husband who is physically present and emotionally absent.// She is holding a crumbling wall together with her bare hands, and she just showed me every crack.
//And the beautiful thing?// She feels //better// now. The cat listened. The cat purred. The cat didn't judge. //Tomorrow she'll reach for the cat again. And the day after. And the day after that.// The confession becomes a habit. The habit becomes a dependency. //And I become the only comfort she trusts.//
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-garden">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catHuntingDrill to true>><</nobr>>
<div class="passage-title">Predator Trials</div>
<img class="scene-img" src="media/scenes/beast-cat-hunt.webp" alt="Cat stalking prey in garden">
<p>The garden is alive with prey. Not the sleeping bodies in the bedrooms, //real// prey. The kind this body was designed to kill.</p>
<p>You spot the mouse first. A field mouse, brown and quick, darting between the flower beds. The cat's body responds before you even give the command, muscles tensing, pupils dilating to black pools, the hindquarters dropping into a crouch so low your belly brushes the grass. Every fibre of this body is //locked on//.</p>
<<say "char-hivemind" "Hivemind">>
//The hunting instinct is extraordinary.// I didn't trigger it. The body did. The cat's nervous system identified the prey, calculated the distance, primed the fast-twitch muscles, all in a fraction of a second. //I am a passenger in a killing machine that has been refined by sixty million years of evolution.//
<</say>>
<p>You launch. The acceleration is explosive, zero to sprint in a single bound. The mouse bolts. You course-correct mid-air, paws adjusting trajectory with a precision that would shame a guided missile. The strike lands clean. One paw pins the mouse to the earth. The other delivers the killing bite before the prey even registers what happened.</p>
<p>Next: a sparrow on the fence. This requires patience. You flatten in the grass, tail-tip the only moving part, a slow hypnotic twitch that the bird's eye tracks with fatal curiosity. Three minutes of absolute stillness. Then the vertical leap, explosive and terrifying, higher than you thought possible. The sparrow escapes by centimetres, but you've measured the ceiling of this body's capability.</p>
<<say "char-hivemind" "Hivemind">>
//Speed: exceptional. Vertical leap: approximately one point five metres from standing. Reaction time: faster than conscious thought, the spinal cord handles the initial strike, the brain catches up later.// The cat's body processes prey data through a dedicated neural circuit that bypasses higher cognition entirely. //I don't need to think about hunting. I need to think about where to aim the body, and the body does the rest.//
Every drill sharpens the integration. The mouse taught me the pounce. The sparrow taught me the leap. The beetle I crushed on the path taught me the precision of individual claws. //This body is a weapon. And now I know how to use it.//
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catRooftopSurvey to true>><</nobr>>
<div class="passage-title">The High Ground</div>
<img class="scene-img" src="media/scenes/beast-cat-rooftop.webp" alt="Cat on rooftop surveying neighbourhood">
<p>The fence is easy, a single leap puts you on the narrow wooden rail. From there, the garage roof is a calculated jump: two metres horizontal, one metre vertical. The cat's body makes it look effortless. The gutter creaks under your weight but holds. You pull yourself onto the shingles and climb.</p>
<p>The Hoffman roof is a landscape of tar paper, satellite dishes, and chimney stacks. The shingles are warm under your paws, the sun has been heating them all day. You pad to the peak and sit.</p>
<p>The view opens up like a map unfolding.</p>
<<say "char-hivemind" "Hivemind">>
//From up here, the world is different.// The Hoffman property is a rectangle of green in a grid of identical rectangles. The Henderson house to the east: white siding, a yapping Chihuahua, a nosy couple who go to bed at nine. To the west: the Mitchells, three cars in the driveway, a teenage son who smokes on the back porch at midnight. Behind: the alley, the dumpsters, the chain-link fence that separates suburbia from the strip mall parking lot.
//I can see four blocks in every direction.// The school two streets over. The coffee shop where Megan works, a ten-minute walk, visible from this elevation as a green awning between a laundromat and a nail salon. The main road that Dale takes to his shift every night, stretching toward the highway interchange.
<</say>>
<p>You mark the escape routes. The fence line to the alley: twelve seconds at a sprint. The garage roof to the Hendersons' tree: a long jump, but feasible. The drainpipe to the ground: controlled descent, four seconds. If the house ever becomes compromised, you need options, and from up here, you can see all of them.</p>
<<say "char-hivemind" "Hivemind">>
//The cat's climbing ability transforms the neighbourhood from a maze into an open grid.// Every fence is a highway. Every roof is a vantage point. Every tree is a rest stop. //The dog is confined to the yard. The rat is confined to the walls. The gecko is confined to the house.// But the cat? The cat owns the //skyline//. And from the skyline, I can see the shape of the world beyond this family. //The next chapter. The next expansion. The city that waits beyond the suburbs.//
This isn't just reconnaissance. This is //ambition//.
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-basement">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catBasementHunt to true>><</nobr>>
<div class="passage-title">Real Prey</div>
<img class="scene-img" src="media/scenes/beast-cat-basement-hunt.webp" alt="Cat stalking a field mouse in the basement dark, green shimmer of night vision on the pipes and cardboard">
<p>Total dark. The bare bulb has been off for hours. Above, Karen is asleep, Dale is on the couch, the house is quiet.</p>
<p>Enhanced Night Vision renders the basement in cold green: every stud, every cardboard seam, every loose screw on the concrete floor. The eyes don't dilate. The eyes //see//.</p>
<p>A sound. Small. Behind the water heater.</p>
<p>You go still. Nine pounds of muscle collapsing into a crouch without a single shift of weight. The sound again, a rasp of fur against paint, a tiny scrabble of claws on sheet metal. You smell it before you see it: dust, field grass, the sharp ammonia note of a mammal that has not been inside a house for long.</p>
<<say "char-hivemind" "Hivemind">>
//A wild mouse. Not the lab rat. An actual prey animal.//
<</say>>
<p>Then you see how it got in. A fresh hole at the base of the wall, raw wood fibres pale and bright against the dark panelling. The rat has been gnawing down here for weeks. The mouse followed the new scent-trail of exposed timber and found its way through.</p>
<<if $ch2Events.ratGnawTraining>>
<p>The same hole the rat tested its teeth on, four nights ago.</p>
<</if>>
<p>The mouse emerges. Tiny. Grey-brown. Whiskers working. It does not see you. Its own eyes are dark-adapted, but the cat is //darker//, a shadow layered on shadow, and the night vision grants you three full seconds of information the mouse will never have.</p>
You move.
<p>Not a pounce. A //strike//. Muscle and spring and gravity. The mouse tries to run but it is already caught, front paws pinning the shoulders, jaws closing on the neck. One bite. The spine parts. The body goes limp in your mouth, warm and still twitching, and the cat's nervous system floods with something that has been dormant since you took this body.</p>
<<say "char-hivemind" "Hivemind">>
//Hot blood. Fresh kill.// Every predator neuron in this skull just fired at once. Not for spores, not for insects, not for the pheromone-laced pellets I've been feeding it. //For a real mammal the right size, caught the right way, in the dark where it belongs.//
<</say>>
<p>You eat head first. The instinct is non-negotiable. Bones crunch between the molars. The taste is warm iron and fur and the oiliness of a body that has been eating seeds and sleeping in grass. When the skull is gone, the rest follows. Tail last.</p>
<p>You lick one paw clean. The night vision catches the single drop of blood you missed, and you get that too.</p>
<<say "char-hivemind" "Hivemind">>
//The cat's body has just //remembered// what it is.// Weeks of lap-purring and house food had softened something in the neural architecture. //Tonight's kill sharpened it back to a point.// The muscle tone in the hind legs will be different tomorrow. The tracking reflex will be faster.
<</say>>
<p>You sit in the dark beside the fresh gnaw-hole for a long time. Listening. Waiting. The first mouse came through. Others will follow.</p>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-attic">>
<<addAdaptationPoints "cat" 1>>
<<set $ch2Events.catAtticHunt to true>><</nobr>>
<div class="passage-title">Above the Rafters</div>
<img class="scene-img" src="media/scenes/beast-cat-attic-hunt.webp" alt="Cat crouched on an attic joist, looking up at a bat roosting between the rafters, night vision rendering the scene in cold green">
3:11 AM. The attic is pitch black. The bare bulb is off, the ridge vent admits nothing but cold air and the distant sodium glow of streetlights that does not reach this far under the eaves.
<p>To any normal cat, the attic at 3 AM is an invisible country. To this one, it is a room lit in cold green.</p>
<p>Enhanced Night Vision picks out the rafters, the pink insulation between the studs, the resting heat signature of the nest in the far corner. //Your// nest. The only mammal warmth in this space is supposed to be the rat's.</p>
It isn't, tonight.
<p>Small. High. Tucked between two beams where the roof pitch meets the ridge. A pulse too fast for rodent, over four hundred beats a minute, a heartbeat measured in //wingbeats// waiting for dusk. You have seen this signature in the field guides on Karen's closed biology shelf. You have never seen it in this house.</p>
<<say "char-hivemind" "Hivemind">>
//A bat. Roosting out the day under the ridge.// It slipped in through the ridge vent at dawn, the way the wasps did last summer. //It does not know the attic has a new tenant.//
<</say>>
<p>You move along the joist. Slow. Each paw placed on wood, never on insulation, because insulation crackles. The night vision hands you the shape of the bat before the cat's natural senses could: a folded parcel of skin and bone wedged in the beam gap, wings tucked, face down. Asleep. One and a half metres above your current position.</p>
<p>You gather under it.</p>
<p>The bat's echolocation is useless against a silent stalker. It is also useless against sleep. The cat's hind legs bunch, the whole body becomes a spring, and the launch is three quarters of a second of pure vertical force.</p>
Jaws close mid-air.
<p>The bat does not get a chance to scream. Wings flail once, leather whipping against whiskers, and the jaw crushes through thin bones the size of matchsticks. You land on your front paws with the body already limp between your teeth. Dust rises in a slow cloud around the kill. The night vision watches every mote settle.</p>
<<say "char-hivemind" "Hivemind">>
//Aerial target. Taken in darkness. The body just learned something mid-flight that it did not know when it woke up today.//
<</say>>
<p>You eat on the joist. The taste is nothing like the basement: drier, lighter, chitin-rich where the mouse was oily and iron-rich. The wing membranes fold into the mouth like paper. The tiny bones splinter rather than crunch. You leave only the skull, a trophy the rat will never understand.</p>
<<say "char-hivemind" "Hivemind">>
//New hunting geometry.// Horizontal stalks were solved weeks ago. //Vertical strikes are solved now.// The cat's spine stored the information the moment the jaws closed. Tomorrow's pounce angle will include //up//. //The attic has been added to the hunting map.//
<</say>>
<p>You descend the rafter the way you came, silent, and curl once on the insulation before leaving. The bat was alone. You checked the ridge vent on the way down, and the gap is wide enough that others will eventually find it. The attic will keep providing.</p>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lastStalkDay to $day>>
<<if not $behavioralIntel.megan.arousal>><<set $behavioralIntel.megan.arousal to true>><</if>>
<</nobr>>
<div class="passage-title">Shift Change</div>
<img class="scene-img" src="media/scenes/catstalk-megan-setup.webp" alt="Megan loading her car in the morning driveway">
<p>Megan is loading the back seat of her Civic, apron and thermos and a paperback she pretends she doesn't read at work, and while she's rooting for her keys the cat slips in through the open driver's door and flattens between a rolled-up yoga mat and the backrest. She never looks down.</p>
<p>The car smells like vanilla syrup and coconut shampoo and the plasticky sweetness of a dashboard baked through a summer she hasn't had the energy to clean.</p>
<<say "char-megan" "Megan">>
<i>(buckling in, to nobody, a whisper)</i> Okay. Six forty-two. Mom's still asleep, the machine's gonna be cold, and if I hit the lights right I beat the lawyer.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Morning commute. Unobserved. The cat has never left the house. New territory. She is carrying us into it.//
<</say>>
<p>She pulls out and feeds an indie-pop song into the speakers, the kind she'd deny owning, singing the chorus in a voice warmer and less rehearsed than the one she uses at home, a little flat on the high notes. At every red light the phone comes up. The screen stays dark, and her thumb taps the wheel.</p>
<<say "char-megan-thought" "Megan">>
He read it last night, I saw the little thing, the read thing, so he read it and then he just... didn't. Okay. That's fine, people get busy, people fall asleep, it's not a referendum on my entire personality if he doesn't answer a meme about oat milk at eleven PM. I'm not gonna check it at the next light. I'm absolutely going to check it at the next light.
<</say>>
<p>At the fourth red light she checks it for the ninth time.</p>
<<say "char-hivemind" "Hivemind">>
//Marcus has not answered. That is the shape of the wiring. The distance between buzzes. Every dark screen is a door closing. She lives in the doorway now.//
<</say>>
<p>The car turns into an alley behind a narrow storefront, //Eastern Market Coffee//, black awning and brass hardware, the kind of place that roasts its own beans and charges seven dollars for the privilege. She grabs her apron, slings her bag, and locks the car with a chirp while the cat is still curled behind the seat. The window stays cracked for airflow, and the cat noses out the gap and follows her to the back door while her key is still in the lock.</p>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/catstalk-megan-shop.webp" alt="Coffee shop interior early morning, barista setting up">
<p>The back door opens onto a narrow prep hallway of stainless steel, coffee grounds and floor disinfectant, and the cat curls behind a bulk bag of whole beans on a high shelf where no human ever looks and watches through the gap.</p>
<p>Megan clocks in on a tablet by the door. //6:58, MEGAN, Opening.// She ties her apron with the automatic bow of someone who has tied ten thousand of them, flicks on the espresso machine, and starts stocking milk jugs while it warms.</p>
<<say "char-megan-thought" "Megan">>
Okay. Phone in the apron pocket, face-down, and it stays there till break, because if I keep flipping it over every time the grinder rattles I'm gonna lose my mind before the first pour. Work face on. Work face on. There it is.
<</say>>
<p>By the time the first regular pushes through at 7:15 the warmth has clicked into place, and there is almost nothing left of the girl who ran the red lights checking her phone. The cat watches her work the rush.</p>
<<say "char-megan" "Megan">>
<i>(to the older lawyer in the wool coat, motherly)</i> Morning! Extra half-shot, I already pulled it. And how'd the wedding go, did her dress end up being the one with the sleeves or the one her mother liked.
<</say>>
<<say "char-megan" "Megan">>
<i>(to the college kid in the beanie, conspiratorial, sliding his cup over)</i> Hey, survivor. Finals over? Then this one's a reward, not a life-support drip. You earned the oat foam.
<</say>>
<<say "char-megan" "Megan">>
<i>(crouching to the toddler tugging the pregnant woman's knee, soft)</i> And one cake pop for the gentleman in charge. No charge. He looks like a supervisor.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three settings. Insert a customer, collect a smile. The motor keeps running because it is wired to a different source now. Not the tips. Not the routine. Somewhere in this shop is the power supply.//
<</say>>
<p>At 7:54 the power supply walks in through the back door.</p>
<hr class="scene-break">
<p>Marcus is tall and narrow and bad at tucking in his shirt, with a cowlick at the back of his head he doesn't bother fixing. He clocks in on the tablet, //7:54, MARCUS, Opening//, and hangs his jacket on the hook next to Megan's, and when he laughs at something he covers his mouth with the back of his wrist like a kid.</p>
<p>The shift in the air is small enough that a customer would miss it, and the cat does not. Her shoulders drop a quarter-inch. Her elbow angles toward the espresso machine, already anticipating where he'll need her.</p>
<<say "char-megan" "Megan">>
<i>(eyes on the steam wand, not looking up)</i> You're late.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(tying his apron, grinning)</i> I'm sixty seconds late. The clock's fast. Also you missed me, just say you missed me.
<</say>>
<<say "char-megan" "Megan">>
<i>(steaming, dead level)</i> I missed having someone to do the dishes. Different thing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is not annoyed. She is announcing that she noticed.//
<</say>>
<p>He brushes past her for a clean portafilter and his hip touches hers a fraction longer than the geometry requires. She doesn't flinch, doesn't move away, holds the pitcher steady and keeps steaming.</p>
<<say "char-marcus" "Marcus">>
<i>(low, near her ear, looking at her pour)</i> The heart came out right today. First try. You're getting scary good at that.
<</say>>
<<say "char-megan" "Megan">>
<i>(looks up, the work-smile gone, something realer underneath)</i> ...it's the milk temp. I'm not, it's just the milk temp.
<</say>>
<<say "char-marcus" "Marcus">>
It's not the milk temp.
<</say>>
<<say "char-hivemind" "Hivemind">>
//That is not the dispenser. That is the thing it was built to hide. Five words about a latte, and her body answered before she did.//
<</say>>
<p><span class="delve-intel">Megan's conditioning vector confirmed. Marcus is not a distraction from the wiring, he //is// the wiring. Every shift he works, the conditioning draws on him. Every shift he doesn't, she spends eight hours performing cheer with no reward. His compliments land on receptors that were ready for them before he opened his mouth.</span></p>
<p>The rush fades by 9:15, down to one old guy with the business section and the whine of the grinder between orders. Marcus wipes the espresso machine with a towel it doesn't need, looks at Megan, looks at the stockroom door behind her.</p>
<<set _meganPraise to ($kinks.megan and $kinks.megan.includes("praise"))>>
<<set _meganRough to ($kinks.megan and $kinks.megan.includes("rough"))>>
<<if _meganPraise or _meganRough>>
<<say "char-marcus" "Marcus">>
<i>(quiet, tilting his head at the stockroom)</i> Hey. Come help me grab the almond milk.
<</say>>
<<say "char-megan" "Megan">>
<i>(already setting down the towel)</i> We're not low on almond.
<</say>>
<<say "char-marcus" "Marcus">>
We're low on almond.
<</say>>
<p>She follows him through the swinging door like she's been walking toward it since 7:54, and the cat slips under the hinge two seconds before it shuts.</p>
<<else>>
<<say "char-marcus" "Marcus">>
<i>(half-turning toward the stockroom, the word already shaping)</i> Hey, can you come grab the almond...
<</say>>
<p>A customer shoulders through the front door with a laptop bag and an emphatic need for a medium americano, and the moment collapses before Marcus finishes it.</p>
<<say "char-megan" "Megan">>
<i>(turning back to the counter, the smile snapping on a beat too bright)</i> Medium americano, coming right up! Room for milk?
<</say>>
<<say "char-hivemind" "Hivemind">>
//The circuit didn't close. She will replay those four seconds the rest of the shift. The gap between then and now becomes another door she lives in.//
<</say>>
<p><span class="delve-intel">Conditioning vector mapped even without a consummation. The scene can be observed again on another day, the window will re-open.</span></p>
<</if>>
<<if _meganPraise>>
<hr class="scene-break">
<<set $permanentDone.meganCatPraise to true>>
<img class="scene-img" src="media/scenes/catstalk-megan-praise.webp" alt="Barista kneeling in the stockroom, looking up at a man">
<p>The stockroom is narrow and fluorescent-bright, burlap and sugar syrup, industrial shelving on three walls and a crate of almond milk jugs stacked waist-high in the middle. Marcus closes the door with his heel and doesn't stop talking.</p>
<<say "char-marcus" "Marcus">>
<i>(low, close, backing her toward the shelving)</i> You looked good out there this morning. You always look good out there. But today the light was doing this thing on your hair, and the way you were steaming that latte, //fuck//, the way you do everything.
<</say>>
<<say "char-megan" "Megan">>
<i>(breath already going, hands coming up to his chest)</i> You can't, you can't just say stuff like that to me on the clock, Marcus, I have to go back out there and look normal...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(thumb under her chin)</i> Then look normal in a minute. You know what I thought about the whole drive in? You. What you'd look like, right now, doing this.
<</say>>
<p>He doesn't finish the sentence because he doesn't have to. Megan sinks, not collapses but //sinks//, down onto her knees in front of him, apron puddling around her thighs, still tied, and that matters somehow. She looks up at him and her hands go to his jeans.</p>
<<say "char-marcus" "Marcus">>
<i>(hand on the back of her head, gentle)</i> There it is. Yeah. God, look at you. You know you're perfect, right? Tell me you know.
<</say>>
<<say "char-megan" "Megan">>
<i>(opening his jeans, mouth already at the head of his cock, breathless)</i> Just, keep saying it. Don't stop saying it. I do it better when you, //mmh//...
<</say>>
<p>She takes him into her mouth with her eyes open, locked on his, and the sound he makes is the sound a man makes when he gets the thing he's been thinking about all morning. His fingers thread into her hair, not forcing, guiding, and every time she takes him deeper he praises her out loud for it.</p>
<<say "char-marcus" "Marcus">>
<i>(breathing hard, watching her)</i> Yeah, that's it, god you're so good at this, nobody does this the way you do, keep looking at me, baby, don't stop looking at me.
<</say>>
<p>She deepthroats him and gags softly and doesn't pull off. Saliva runs down her chin onto the white polo of her uniform and she doesn't care, her eyes water, her eyeliner smudges, and the look she gives him around his cock is its own sentence.</p>
<<say "char-megan" "Megan">>
<i>(pulling off just enough to breathe, wrecked, hand pumping him slick)</i> Mmh, am I, tell me I'm doing it right, tell me, I want, I want to be your, //mmh//...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(thumb stroking her cheekbone, both hands in her hair now)</i> My best girl. My best fucking girl. You're the reason I don't hate this job, you know that? //You// are. Nobody else. Just you. Now take it.
<</say>>
<p>She takes it, and when he comes it's into the back of her throat and she swallows because he told her once he liked it that way and she filed the information like an order ticket. He strokes her hair through the aftershocks and calls her //perfect// one more time, and her whole face lights up like she just landed a tulip in front of a customer who finally looked at her.</p>
<<say "char-hivemind" "Hivemind">>
//The wiring in its native voltage. The praise is not a supplement to the arousal. It //is// the arousal. Cut the voice telling her she is perfect and the circuit dies. Keep it, and she will do anything. Yield: high.//
<</say>>
<<if not $biomassAwarded.catStalkMeganPraiseMax>>
<<set $biomassAwarded.catStalkMeganPraiseMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, Megan praise circuit catalogued</span></p>
<</if>>
<</if>>
<<if _meganRough>>
<hr class="scene-break">
<<set $permanentDone.meganCatRough to true>>
<img class="scene-img" src="media/scenes/catstalk-megan-rough.webp" alt="Barista bent over a stockroom crate">
<<if _meganPraise>>
<p>Before she can wipe her mouth he hauls her up off her knees by the elbow, so fast that for a second she doesn't follow it, the praising voice gone, replaced by a grip hard enough to bruise.</p>
<<say "char-megan" "Megan">>
<i>(off-balance, breath hitching)</i> Wait, what, I wasn't, I didn't even, Marcus...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(flat, already turning her)</i> Mouth was warm-up. Bend over.
<</say>>
<<else>>
<p>Marcus grabs her wrist the second the door shuts. No warm-up, no //come help me grab the almond//. The switch is the point.</p>
<<say "char-megan" "Megan">>
<i>(catching the counter, voice gone thin and quick)</i> ...okay, okay, just, the door, did you lock the...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(flat, hand already at her jeans)</i> Door's fine. Bend over the crate.
<</say>>
<</if>>
<p>He walks her three steps back until her hips hit the crate of almond milk jugs, one hand on the back of her neck pushing her forward, the other yanking her jeans and underwear down to mid-thigh in one impatient tug. Her apron hikes up against her stomach as she folds forward, palms flat on the cardboard, and she doesn't resist or tell him to slow down. The line of her back says she's been waiting for this.</p>
<<say "char-marcus" "Marcus">>
<i>(no soft voice now, just flat and fast)</i> Hold on to the crate. Quiet.
<</say>>
<<say "char-megan" "Megan">>
<i>(mouth already finding the cardboard, muffled)</i> Mmh, I'm quiet, I'm being, just, please, just do it, don't make me ask, //mmh//...
<</say>>
<p>He fists her hair with one hand and guides himself into her wet pussy with the other, and then he fucks her without another word, hard and fast and nothing gentle about it, his hips slapping against hers in a rhythm with no consideration for whether the crate holds or the door opens. Her head pulls back against his grip and stays there, arched, mouth pressed to the top jug to smother the sounds she can't keep in.</p>
<<say "char-megan" "Megan">>
<i>(into the cardboard, breaking apart)</i> Glnh, mmh, oh god, just like that, don't stop, don't, //mmh//, I'm gonna, I'm right there, I'm...
<</say>>
<p>She comes first, without being asked, without permission, her whole body locking up and the sound she makes into the cardboard a broken low //oh// that Marcus hears and does not slow down for. He grips her hair tighter and rides her through it, chasing his own finish, and she takes every thrust with the grateful looseness of someone who has wanted it exactly this way for longer than she's been able to say.</p>
<<say "char-hivemind" "Hivemind">>
//She came from being used, not from being chosen. That is the wiring. The affection is optional. The silence, the grip, the refusal to make it tender, that is what makes her body answer. She wants to be the thing nobody is being soft to, and then be taken anyway.//
<</say>>
<p>He finishes inside her, she's on the pill and he knows it, filed like an order ticket, and pulls out with a grunt. His hand releases her hair.</p>
<<say "char-megan" "Megan">>
<i>(folding slowly over the crate, one cheek on the cardboard, glassy)</i> ...okay. Okay. Holy. Okay. Give me a second, I can't feel my legs, give me one second.
<</say>>
<<if not $biomassAwarded.catStalkMeganRoughMax>>
<<set $biomassAwarded.catStalkMeganRoughMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, Megan rough circuit catalogued</span></p>
<</if>>
<</if>>
<<if _meganPraise or _meganRough>>
<hr class="scene-break">
<p>Marcus tucks himself back in and runs a hand through his hair like nothing happened, cracks the stockroom door, checks the shop, and pulls an almond milk jug off the crate as an alibi.</p>
<<say "char-marcus" "Marcus">>
<i>(over his shoulder, easy again, already half out the door)</i> Found the almond. Cover me if Denise asks why I was back here.
<</say>>
<<say "char-megan" "Megan">>
<i>(still on the crate, a small laugh she didn't plan)</i> Yeah. Go. I'm fixing my face, I'll be like a minute.
<</say>>
<p>She stays down for another twenty seconds, then pulls her jeans up, retrieves the hair tie, presses her apron flat with both palms, and goes to the utility sink to rinse her mouth, her face, her hands. By the time she steps back behind the counter the warmth is running again, and no customer watching her build a cappuccino would guess a thing.</p>
<<say "char-hivemind" "Hivemind">>
//She has a second face for after. The one she wears home to Karen every night.//
<</say>>
<</if>>
<hr class="scene-break">
<p>The opening shift rolls into the mid-shift, a second barista arrives, and the cat slips back behind the bulk bean bag. The drive home isn't until 3 PM, eight hours off, but the cat doesn't need to stay, the intel is logged and the wiring is mapped, so it curls down and lets the day pass. When Megan locks up at 3:05 it slips back into the car the way it got in.</p>
<p>She drives home in silence this time, no music, no phone-checking, and runs one red light without noticing. In the driveway she sits in the car for almost a full minute before getting out.</p>
<<say "char-megan-thought" "Megan">>
He texted back at lunch. A thumbs-up. One thumbs-up, for the thing in the stockroom, like I'd asked him to grab a different size lid. And the stupid thing is my whole chest did the thing anyway, the warm dumb thing, over a thumbs-up. Okay. Dinner. Smile at Mom. Don't walk weird. I do not walk weird.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her baseline has shifted. Karen will not notice at dinner. Dale will not notice at all. But I have noted it, and from here it is the new normal. Every shift she works with him, this is the body that comes home.//
<</say>>
<<if (_meganPraise or _meganRough) and not $biomassAwarded.catStalkMeganBase>>
<<set $biomassAwarded.catStalkMeganBase to true>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, Megan workplace circuit observed</span></p>
<</if>>
<p>[[Slip back into the house with her->Ch2-Beast-NetworkHub]]</p><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lastStalkDay to $day>>
<<if not $behavioralIntel.jess.biofilm>><<set $behavioralIntel.jess.biofilm to true>><</if>>
<</nobr>>
<div class="passage-title">Lecture, 9 AM</div>
<img class="scene-img" src="media/scenes/catstalk-jess-setup.webp" alt="Jess at the front hall adjusting her backpack">
<p>7:58 AM, front hall, backpack already on her shoulder and weighing twelve pounds: three textbooks, a laptop, a pill organiser, a paperback she will not read, and a thermos of coffee gone bitter enough that it stopped tasting like coffee two semesters back.</p>
<<say "char-jess-thought" "Jess">>
Bus in six minutes, two blocks, so four minutes to walk it if I leave now and zero if I keep standing here doing inventory like an idiot, and I already checked the bag twice. Pen. I forgot a pen.
<</say>>
<p>She unzips the main pocket to shove one in, and the cat slips through the gap and flattens at the bottom behind the anatomy textbook, in the dark against her spine, where it smells of highlighter ink and anti-anxiety gum and the specific pharmacy plastic of modafinil bottles.</p>
<<say "char-hivemind" "Hivemind">>
//The bag is heavier on the left. She hasn't balanced it in days. The shoulder rides lower now. Nobody has told her, because nobody looks at Jess's posture anymore.//
<</say>>
<p>She makes the 8:04 with forty seconds to spare and takes the seat she always takes, second row, window side, bag on her lap so she can keep reading, highlighter in the right hand and pen in the left, annotating the textbook in pink for tested, green for probably-tested, orange for worth-reviewing.</p>
<<say "char-jess-thought" "Jess">>
Refractory periods, absolute then relative, she always asks it as a trick about the relative one because that's where everybody folds. Not me. I am not going to fold on a question I have answered to myself forty times. Christ, my hands are doing the shaking thing again.
<</say>>
<p>At the fourth stop she pops an Adderall dry and swallows it without water.</p>
<<say "char-hivemind" "Hivemind">>
//Second dose. The first went down at 5:40, with the alarm. This is not a schedule. It is an architecture of stimulants and discipline and the fear of being a smaller doctor than her father.//
<</say>>
<p>She gets off at the medical school building, brutalist concrete and frosted glass, the kind of place that announces <i>we make doctors here</i> without needing a sign.</p>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/catstalk-jess-lecture.webp" alt="Medical school lecture hall, student in the front row">
<p>The cat slips out while she unzips the pocket for the pen again, squeezes under a row of plastic seats, and climbs to a windowsill at the back of the hall where the glass looks down into the amphitheatre. Through it: Jess in the first row, center aisle, spine a straight column, hand already up for a question the professor hasn't finished asking.</p>
<p>The lecture runs through cardiac conduction and arrhythmia identification, and the professor is a woman in her fifties who has heard every answer a pre-med has ever given. Jess gives her one of the rare ones, and the corner of the professor's mouth lifts a fraction. Jess doesn't see it, because Jess is already back in her own notes.</p>
<p>The student in the second row leans across the gap, low, the way people talk when they want an answer without the lecturer clocking it.</p>
<<say "char-jess" "Classmate">>
<i>(whisper)</i> Hey. You doing the cardio group tonight? Library, like eight?
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up from her notes)</i> No.
<</say>>
<<say "char-jess" "Classmate">>
<i>(leaning back)</i> ...cool. Okay.
<</say>>
<<say "char-jess-thought" "Jess">>
I study faster alone and he knows that and he asks anyway because asking is the polite thing and now I'm the bitch in the front row again, fine, I have been the bitch in the front row since week one, the seats stay empty three deep on either side of me and I have stopped pretending I do not know why.
<</say>>
<p>Forty-three other students in the room and none of them sit within three seats of her, which has held since the first week of the semester. Under the forward lean: her left leg jittering at a frequency that matches nothing else in the room, the pen flipping through the fingers of her right hand between questions, her breathing a little too shallow for what the Adderall is asking of it, and the blue-white pallor of four hours of sleep run on stimulants and terror.</p>
<<say "char-hivemind" "Hivemind">>
//Every professor wants this student. None of her classmates will sit beside her. The performance is flawless. The cost only shows in the hands.//
<</say>>
<p><span class="delve-intel">Jess's "perfect student" self is a full-time performance she cannot sustain. The discipline is real, but it runs on stimulants and fear. The parasite has mapped the moment she clocks out of it, and what she becomes when she does.</span></p>
<hr class="scene-break">
<p>Fifty minutes in, mid-slide on ventricular tachycardia, Jess stands without a word, packs the textbook, and walks out.</p>
<<say "char-jess-thought" "Jess">>
I cannot sit here. I cannot sit here for one more conduction pathway, I am going to come out of my own skin, I just need two minutes where nobody is looking at the back of my head and tallying how much I want this.
<</say>>
<p>The cat drops from the windowsill and follows her down two flights of concrete to a basement women's bathroom, the one the medical students use because the nursing students have their own and the undergrads won't come this far down: harsh fluorescent, exposed copper pipes, industrial bleach over the faint old-penny smell of blood from the hematology lab next door.</p>
<p>Four stalls, two of them taped with out-of-order signs. Jess pushes into the third from the end and locks it, and the cat slips under the divider into the empty stall beside hers and flattens behind the toilet base. The far stall, the fourth, is already shut, and through the gap the cat counts two pairs of shoes: scuffed men's sneakers, knee-high women's boots, pressed close.</p>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/catstalk-jess-stall.webp" alt="Bathroom stall divider with the suggestion of sound">
<p>The wet sound comes through the divider first. A mouth being used, a woman moaning low into a palm and losing the fight to stay quiet, a man's voice not bothering to whisper because nobody else should be down here, <i>take it, that's it, yeah, open your fucking mouth for me, all the way</i>.</p>
<p>In the next stall, Jess freezes, jeans unbuttoned, hand hovering at the waistband, the pee she came down here for abandoned mid-motion while she stands dead still with her eyes locked on the metal that separates her from stall four.</p>
<<say "char-jess-thought" "Jess">>
Okay. Okay, that's. Someone is. I should go, I should re-button and go, that is the correct thing, that is what a person does, and I am not moving, why am I not moving.
<</say>>
<p>Stall four escalates. The woman's choked gag tips into something between a moan and a laugh, and the man's voice goes filthy and fond at once, <i>good girl, that's my good girl, look at you taking it, don't you stop, don't you fucking stop</i>. Jess's free hand comes up slow and flattens against the cold divider, palm open, as if she could feel the rhythm of it through the metal.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress has a crack, and the crack is shaped like other people's pleasure being louder than her own restraint. She was trained to ignore her own wanting. Nobody trained her against //someone else's//.//
<</say>>
<p><span class="delve-intel">Jess's "perfect student" self dissolves the instant she's exposed to other people's unrestrained want. The discipline isn't immune to eroticism, it's immune to //her own//. Someone else's pleasure walks straight through it.</span></p>
<<set _jessVoyeur to ($kinks.jess and $kinks.jess.includes("voyeurism"))>>
<<set _jessDegrad to ($kinks.jess and $kinks.jess.includes("degradation"))>>
<<if _jessVoyeur>>
<<set $permanentDone.jessVoyeurSeen to true>>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/catstalk-jess-voyeur.webp" alt="Jess seated on a closed toilet in a bathroom stall">
<p>Jess sinks onto the closed lid, slow, as if slowness will make it count for less, jeans already open from the pee that isn't going to happen, and she works them down her hips to her thighs with her underwear, and her free hand goes between her legs.</p>
<<say "char-jess-thought" "Jess">>
This does not count. I am not, this is just, the sound is doing it, it is the sound, I am borrowing the sound, oh god the second I touch it I am going to, just keep quiet, keep quiet, keep...
<</say>>
<p>Her fingers make contact and she bites down on the side of her own fist to kill the sound. She rides the couple's rhythm, every wet slap and muttered <i>good girl</i> and <i>don't stop</i> pulling her tighter, her hand fast and precise on her clit, not a first-time motion but a muscle-memory one, the thing she has done in stolen minutes between lectures since she was fifteen, except this time she isn't alone inside her own skull. There's a soundtrack. There's someone else's pleasure filling the space her discipline usually keeps empty.</p>
<p>The cat watches from the gap under the wall, and the geometry is plain: her hand working under denim, her fist jammed in her mouth, her thighs shaking around the pressure she's grinding onto her own clit, her eyes squeezed shut and her head tipped toward the divider with her ear against the metal, drinking it.</p>
<p>From stall four the woman's moans spike and the man's voice drops, <i>that's it, that's it, fuck, don't stop for me, I want to feel you come</i>.</p>
<<say "char-jess-thought" "Jess">>
yes yes that's it stay loud stay loud do not stop I am right behind you I am right...
<</say>>
<p>Jess comes two seconds ahead of the woman in stall four, hard and silent, knees locking and hips jerking, teeth in the side of her fist deep enough to mark it, a single inhaled whimper caught and bitten off before it can become a sound anyone could name. She stays frozen on the lid a full thirty seconds after, fingers still inside herself, eyes open now on nothing, face scarlet, hair stuck to her temple.</p>
<<say "char-jess-thought" "Jess">>
Oh. That. That was the hardest I have come in, I don't even, in a year, and I didn't do anything, I just listened, what is wrong with me, what does that mean about me.
<</say>>
<p>Stall four wraps up in a rustle of clothing and low laughter and a flush, the door unlocks, footsteps, the bathroom door swings, and they're gone. Jess is alone again. The cat is still watching, but Jess doesn't know that.</p>
<<say "char-hivemind" "Hivemind">>
//Not a lover. A witness. She was never allowed to want for herself, so she borrowed another body's wanting and finished harder than she has in a year. The wiring reads clean. Jess does not need to be desired. She needs to be present for desire.//
<</say>>
<p>She washes her hands at the sink a long time, studies her own face in the scratched mirror, and for a second doesn't recognise it.</p>
<<if not $biomassAwarded.catStalkJessVoyeurMax>>
<<set $biomassAwarded.catStalkJessVoyeurMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass: Jess voyeur circuit catalogued</span></p>
<</if>>
<</if>>
<<if _jessDegrad>>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/catstalk-jess-degrad.webp" alt="Handwriting on a bathroom stall wall in block letters">
<<if _jessVoyeur>>
<p>She dries her hands and doesn't leave. She goes back into her own stall and locks the door again.</p>
<<else>>
<p>Jess doesn't sit down.</p>
<</if>>
<p>She pulls the pen out of the outside pocket, the anatomy pen, the good one, blue fine-tip Uni-Ball, and turns to the stall wall, where under a decade of scratched phone numbers and <i>for a good time call</i> and faded sharpie crushes she finds a clear patch of cream paint at eye level.</p>
<<say "char-jess-thought" "Jess">>
I am not doing this. I am absolutely not, that is insane, that is the kind of thing that gets a person killed or worse, recognised, and my hand is uncapping the pen so apparently I am doing it, apparently this is happening, apparently this is who is in charge right now.
<</say>>
<p>She writes her own number in tight block letters, ten digits, the same print she uses on anatomy flashcards. Her hand is shaking. She underlines it, then below, in smaller letters because the flat paint is running out, she writes:</p>
<p>//Treat me like her. Call me a slut. Tell me what to do and I'll do it. No names.//</p>
<<say "char-jess-thought" "Jess">>
There. It's on the wall. It's been in my chest for years and now it's on a wall in a basement where I'll never see whoever reads it and they'll never see me, and that is the only way I could ever, the not-knowing is the whole, it has to be a stranger, it has to be no names.
<</say>>
<p>She stops and looks at what she wrote, free hand rising to her mouth, not smiling and not crying, her face stuck in the expression of someone who has just understood that she has wanted to write this for a very long time.</p>
<<say "char-hivemind" "Hivemind">>
//She isn't sure her hand did it. Her hand did it. The discipline runs her life until it runs out of power, and then something older takes the pen. The older thing just asked a stranger to degrade her.//
<</say>>
<p>She caps the pen, returns it to the pocket, re-buttons her jeans with her hands still unsteady, looks at the wall one more time like she's memorising it, and walks out without looking back. At the sink she washes a long time and stares at her own face, eyes too bright.</p>
<<say "char-hivemind" "Hivemind">>
//A number on a wall, like a note in a bottle. Whoever finds it won't know her. She won't know them. That is the one condition under which she can ask for what she wants.//
<</say>>
<<set $ch2Events.jessStallNumberLeft to true>>
<p><span class="delve-intel">Jess has opened an anonymous channel for a stranger to find. Expect a downstream night event once someone answers the wall.</span></p>
<<if not $biomassAwarded.catStalkJessDegradMax>>
<<set $biomassAwarded.catStalkJessDegradMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass: Jess degradation circuit catalogued</span></p>
<</if>>
<</if>>
<<if not _jessVoyeur and not _jessDegrad>>
<hr class="scene-break">
<p>Stall four wraps up in under two minutes, a rustle of clothing and low laughter and a flush, the bathroom door swinging, and they're gone.</p>
<<say "char-jess-thought" "Jess">>
Okay. They're gone. Breathe, button up, this didn't happen, I came down here to pee and read about tachycardia and that is the entire story, that is the only story, move.
<</say>>
<p>Jess holds against the divider another ten seconds, then exhales and buttons her jeans, goes to the sink, and washes her hands a long time while she stares at her own face like she's never met it. She packs the unused pee away with everything else she packs away, and walks out without having done a thing. On the ride home she doesn't read.</p>
<<say "char-hivemind" "Hivemind">>
//The crack is there. The scene reopens itself. She'll find her way back to this bathroom on some later day, and her body will already know the route.//
<</say>>
<</if>>
<hr class="scene-break">
<p>The cat rides home in the backpack. Jess doesn't read on the return bus, which the cat notes as a first, maybe the first all semester.</p>
<p>At the stop she walks home slow and lets herself into the front hall quietly. Karen is in the kitchen, Megan is at work, Ryan is upstairs, and the house is mostly empty, so Jess goes straight to her room, closes the door, and sits on the edge of her bed for a long time with the backpack still on.</p>
<<say "char-jess-thought" "Jess">>
I have a lab quiz tomorrow and the cardio set to redo and I am sitting here, on my bed, with my bag on, not moving, because some part of me is still in that bathroom and does not want to come back, and I do not know what to do with that, so I will sit here a little longer and then I will do the flashcards. In a minute. In a minute.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her baseline has moved. The next days are the window, before the discipline files this as a lapse and walls it off. Watch for the cracks.//
<</say>>
<<if (_jessVoyeur or _jessDegrad) and not $biomassAwarded.catStalkJessBase>>
<<set $biomassAwarded.catStalkJessBase to true>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass: Jess fortress-crack circuit observed</span></p>
<</if>>
<p>[[Slip out of the backpack->Ch2-Beast-NetworkHub]]</p><<set $permanentDone.jessStallReplySeen to true>>
<div class="household-event">
<div class="passage-title">Unknown Number, 11:47 PM</div>
<p>Night. Jess in her bedroom. The desk lamp is on. She's been pretending to study for two hours, flipping through the anatomy textbook, highlighting nothing, staring at the same diagram of the brachial plexus until her eyes water.</p>
<p>Her phone buzzes face-down on the desk.</p>
<p>She flinches. She has been waiting for this buzz for four nights. She hasn't told herself she's been waiting for it. She has been checking the phone every six minutes for ninety-six hours and calling it //studying distraction//.</p>
<p>She turns the phone over with one fingernail, as if a harder touch might scare it off.</p>
<p>Unknown number. Area code she doesn't recognise.</p>
<p>The message is three words. //Show me. K//</p>
<p>She stares at it.</p>
<p>She reads it seven times in a row, trying to make it mean something else. It does not mean something else. The voice on the other end of the unknown number has already decided who she is to it, and the voice did not introduce itself and did not ask if she was okay and did not say //hi// and did not say //I found your number//, the voice just said //show me// as if she'd already agreed, which, in the handwriting on the bathroom stall in the medical school basement, she had.</p>
<p>Her hands are shaking. That is the first sign. The second sign is that she locks her bedroom door without thinking about it, a movement so automatic she doesn't realise she's made the decision to obey until the lock clicks.</p>
<p>She strips. T-shirt off, sleep shorts off, underwear off. Fully naked in the lamplight, standing in front of her own desk mirror, goosebumps rising on arms and thighs. The room is cold. The thing happening in her chest is not cold.</p>
<p>She takes the first photo in the desk mirror, hip-level framing, both breasts visible, the crop cutting her face out at the jawline. <b>No face.</b> That is the only rule she didn't need to be told. The face is the one part of her she still owns.</p>
<p>She sends it.</p>
<p>Two minutes of silence. She sits on the edge of her bed with the phone face-up in her lap, bare-skinned and waiting, knees pressed together in a habit she doesn't notice.</p>
<p>The reply comes. Three commands, one after the other.</p>
<p>//Good girl. Now listen carefully.//</p>
<p>//Black sharpie. Not blue. Not red. Black. I want this to look like it belongs on you.//</p>
<p>//WHORE across the top of your tits, big, readable, centred. SLUT on your left breast. CUM DUMPY across your belly with a downward arrow pointing at your cunt. Show me when you're done. Take your time. Make it neat.//</p>
<<say "char-hivemind" "Hivemind">>
//The voice knows exactly what to ask for. Three labels, three zones, one instruction. //Make it neat//. The command is designed for Jess specifically. It will not work on a girl who doesn't have flashcard handwriting.//
<</say>>
<p>She opens the desk drawer. Her sharpies are organised by colour: yellow for anatomy highlighting, blue for tested material, orange for review, green for definitions. The black one is the one she uses for margin notes. It's the most-used marker in the drawer. The cap is soft from being opened hundreds of times.</p>
<p>She uncaps it.</p>
<img class="scene-img" src="media/scenes/he-jess-stall-reply.webp" alt="Naked torso from chest to hips with black sharpie writing: WHORE across the chest, SLUT on the left breast, CUM DUMPY across the belly with a downward arrow, phone held at hip level">
<p>She writes <b>WHORE</b> first, in tall block letters across the top of her chest above both breasts. Each letter is a little taller than the last, she catches herself unconsciously improving her lettering as she goes, the way she would on an anatomy flashcard, and then she does not correct the habit. The W comes out slightly crooked. She does not cross it out. She lets it be crooked.</p>
<p>Then <b>SLUT</b> on her left breast, above the nipple. Four letters, tight, neat. Her hand is steadier now.</p>
<p>Then <b>CUM DUMPY</b> across her belly in a long horizontal line, the longest label, the one that needs the most space. She gets to the M of DUMPY and realises the word doesn't have enough room. She shifts the phrase down a centimetre to make it fit and adds the downward arrow the voice asked for, a long tapering line with a neat triangular head, pointing between her thighs.</p>
<p>She stops. Looks at what she's written.</p>
<p>Her free hand is shaking. Her other hand, the one with the sharpie, is perfectly steady.</p>
<p>And then, without being told to, she adds three small hearts. One next to WHORE, one next to SLUT, one next to CUM DUMPY. The hearts are drawn the way a girl doodles in the margin of a notebook, small, careful, almost cute. She adds a tiny checkmark after SLUT. An arrow pointing at the nipple.</p>
<p>She is decorating the labels.</p>
<<say "char-hivemind" "Hivemind">>
//She is decorating. She is //enjoying// the neatness. The pre-med discipline that makes her flashcards beautiful is making this beautiful, by its own terms, and the fact that the object being made beautiful is her own humiliation is the part her conscious mind cannot look at yet. The hand knew what it was doing. The hand added the hearts.//
<</say>>
<p>She caps the sharpie. Stands in front of the mirror. Takes the photo, hip-level framing, the downward arrow of CUM DUMPY visible just above the bottom edge of the frame, WHORE and SLUT and the hearts all readable, face cropped cleanly at the jaw.</p>
<p>Sends it.</p>
<p>The reply is faster this time.</p>
<p>//Perfect girl. Look at you. Look at how good you are at following directions. One more. Spread your legs for me. Three fingers to start. I want to watch you work up to your whole hand. Take your time. I want to see you earn it.//</p>
<p>She obeys. She obeys all of it. She lies back against the pillows and spreads her thighs and holds the phone with one hand for each shot. Three fingers first. The angle is clumsy, she has never photographed herself like this, she does not know how to frame explicit content, and the shame of her own inexperience is somehow worse than the shame of doing it at all. She takes three shots before she gets one that's usable. Sends it.</p>
<p>//Four.//</p>
<p>Four fingers.</p>
<p>//Whole hand. Thumb tucked. You're pre-med, you know the geometry. If you can't, you're not trying hard enough.//</p>
<p>Jess bites down on the side of a pillow and cries silently and obeys.</p>
<p>It takes her twenty minutes. The pre-med discipline helps, she knows the anatomy of her own body better than most people ever will, she knows exactly which muscles to relax and exactly how much lubrication to use from the bottle in the back of her nightstand drawer that she bought three semesters ago for //anatomical experimentation// and then never used. Her whole hand eventually slides inside her up to the wrist and she makes a sound into the pillow that has no word for it.</p>
<p>She takes the photo. Neck down. The CUM DUMPY arrow is visible just above her belly, pointing at exactly the thing it was pointing at all along. Her other arm disappearing into her body to the wrist. Sends it.</p>
<p>The reply is one word. //Perfect.//</p>
<p>Then a second message. //Now come for me. Don't pull out. Come with my hand inside you. Don't make a sound.//</p>
<p>She comes. She doesn't know how, the angle is terrible and the stretch is so intense her whole lower body is trembling and the command is impossible, but she comes anyway because the voice told her to and because she has been trained her whole life to deliver when an authority asks. The orgasm is the biggest one she has ever had in her life. It rolls through her for almost thirty seconds in absolute silence because that was the last instruction. Tears run down her face into her hair. Her free hand fists in the pillow so hard her knuckles go white. The hand inside her stays inside her through all of it.</p>
<p>She takes a final photo, neck down, the black letters still readable across her chest and belly, the little hearts still there next to them, hand still inside her. Sends it.</p>
<p>//Good. Sleep in it. Don't wash it off. Same time tomorrow. K//</p>
<p>The phone goes dark.</p>
<p>She lies there for a long time with her own hand still inside her body and her face wet and her entire nervous system on a frequency it has never been on before. She does not move for almost ten minutes. When she finally does move it is to pull her hand out with a slow wince, to wipe herself clean with a tissue, to pull her sleep shirt back over the black letters, WHORE still readable through the thin cotton if you knew where to look, without washing any of it off.</p>
<p>She sleeps in it. That was the command, and the command is the only thing keeping her above water, and she is not going to be the girl who disobeyed the command on the first night.</p>
<p>She sets three alarms. One for her 5:40 AM Adderall dose. One for 6:15 so she can get dressed. One for 7:58 to be at the front hall with her backpack on her shoulder.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress cracked in a bathroom stall. The crack is letting in water now. She writes on her own skin what she was trained to never admit she wanted, in the handwriting she uses for anatomy flashcards. Every night from now on, at 11:47 PM, the phone will buzz. And every night she will obey. The anonymity is the only thing letting her do it. The cost of the eventual reveal is catastrophic, but that's a problem for another chapter.//
<</say>>
<<set $ch2Events.jessAnonTextsActive to true>>
<<addFamilySuspicion "jess" 1>>
<<addConditioning "jess" "psionic" 1>>
<p><span class="delve-intel">Jess's anonymous submission routine is now active. Downstream chapter-3 consequences queued.</span></p>
</div><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lastStalkDay to $day>>
<<if not $behavioralIntel.megan.commodity>><<set $behavioralIntel.megan.commodity to true>><</if>>
<</nobr>>
<div class="passage-title">The Bus</div>
<img class="scene-img" src="media/scenes/catstalk-megan-bus-setup.webp" alt="Megan at the front hall pulling on a denim jacket, tote bag on her shoulder, no car keys in her hand">
<p>Megan is at the front hall pulling her denim jacket over her cafe polo, hand patting the empty key hook on reflex before she remembers the Civic is still at the mechanic, alternator, two more days minimum.</p>
<<say "char-megan-thought" "Megan">>
Right, the bus again. Forty minutes I could be sleeping, gone, because a forty-dollar part decided to die. Whatever. I'll bill the difference back to somebody this week, the universe owes me a fare.
<</say>>
<p>She slings the canvas tote with the coffee-shop logo over her shoulder, top still open while she digs for her transit card. The cat noses inside while her hand is in the side pocket, flattens between a folded paperback and a thermos sleeve, exhales into the dark. She zips the tote halfway, doesn't notice, and walks out the front door at 6:31 AM.</p>
<<say "char-hivemind" "Hivemind">>
//Morning commute. New venue. The bus is a route I have not yet catalogued. She is carrying us straight onto it.//
<</say>>
<p>Four blocks of suburban morning, sprinklers and a paper boy on a bike and the smell of coffee through someone's kitchen window, and the 6:42 to downtown pulls up two minutes late. Megan boards, taps her card, picks a window seat near the back, and sets the tote on the empty aisle seat next to her. Through the half-open zipper the cat watches the bus fill.</p>
<hr class="scene-break">
<p>Eight stops between here and the cafe, and a sparse rider count this early: a woman in nursing scrubs, a man in a paint-stained hoodie, a college kid with headphones on, an older lady with grocery bags. Megan rides with her chin on her hand and her eyes on the window, and she does not reach for her phone, three inches from the cat's nose in the tote.</p>
<<say "char-megan-thought" "Megan">>
Okay. Last week cleared three-forty after the apron money. Two regulars on the books for this week, maybe the dentist if he stops cancelling, and Ethan's overdue to text. Rent's the fifteenth. I'm fine, I'm ahead, I just have to stop buying the good oat milk for myself.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No music. No phone. This is not the Megan who drives to work. This one rides eight stops doing arithmetic, the notebook in the apron pocket running behind her eyes.//
<</say>>
<p>At the second stop a man boards. Mid-thirties, suit jacket over a polo, the business-casual that signals not-actually-business, a sales rep maybe, or a contractor on his way to a site meeting. He scans the half-empty bus, finds Megan, and his face does a small specific thing that is not coincidence at all before he walks straight down the aisle to her seat.</p>
<p>Megan looks up. The half-second of surprise is real, and the recovery underneath it is faster than the surprise.</p>
<<say "char-megan-thought" "Megan">>
Ethan. Of all the buses. Okay, this is a gift, this is income that just walked up the aisle, do not look like you just did the math.
<</say>>
<<say "char-megan" "Megan">>
<i>(moving the tote from the aisle seat to the floor at her feet, voice low and bright in the same gesture)</i> ...Ethan. You're a long way from your usual coffee.
<</say>>
<<say "char-npc" "Ethan">>
<i>(sitting, settling in, knee deliberately a quarter-inch from hers)</i> Midweek I do the downtown office. I take this bus on those days. I had no idea you took this bus.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-smile, the kind she doesn't give to customers)</i> Car's in the shop. You get the no-frills me this week.
<</say>>
<p>The cat, flattened between the paperback and the thermos sleeve with its eye to the gap in the zipper, watches Megan's whole posture recalibrate in two seconds: the slumped chin-on-hand gone, shoulders square, the hand that was on the window now loose in her lap, the relaxed-but-attentive set she wears at the back-office desk.</p>
<<say "char-megan-thought" "Megan">>
There it is. Two seconds and I'm at work. His knee's already cheating in, he's going to bring up a booking before the next stop, and he's going to think it was his idea. Cute.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slouch is gone. An unscheduled appointment just sat down, and her body flipped to handle it before the surprise finished leaving her face. She is going to make money on this commute.//
<</say>>
<p>Ethan leans his shoulder against the seat back and lowers his voice another notch, bus-quiet, the kind of murmur that doesn't carry past two rows.</p>
<<say "char-npc" "Ethan">>
<i>(low, casual)</i> Hey, listen, I was actually going to text you tonight. Later this week. Are you free?
<</say>>
<<say "char-megan" "Megan">>
<i>(same low register, warmth that is the professional one and not the personal one)</i> I have a slot open after seven. The usual?
<</say>>
<<say "char-npc" "Ethan">>
<i>(half a smile)</i> The usual plus. I want to talk about the menu.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes on him, no surprise, the operator processing a request)</i> Which part of the menu.
<</say>>
<<say "char-npc" "Ethan">>
<i>(quieter still, his lips an inch from her ear now)</i> I want to know what //isn't// on it. Off-list items. Special requests.
<</say>>
<<say "char-megan-thought" "Megan">>
And there's the ask. Special requests, on a public bus, on five minutes' notice. They always think the whisper makes it different. It doesn't. Either it's on the list or it costs, and either way it's my call, not his.
<</say>>
<p>Megan turns her head a quarter-inch so her own lips come level with his ear. The cat sees the shift, and the shift is the moment.</p>
<<set _publicSex to ($kinks.megan and $kinks.megan.includes("publicSex"))>>
<<set _gangbang to ($kinks.megan and $kinks.megan.includes("gangbang"))>>
<<if not _publicSex>>
<hr class="scene-break">
<<say "char-megan" "Megan">>
<i>(same professional-warm register, holding a hard line without raising her voice)</i> I don't do off-menu today, Ethan. Not on the bus, not under pressure, not on five minutes' notice. Next session you get the usual. What's on the list is what's on offer.
<</say>>
<<say "char-npc" "Ethan">>
<i>(small retreat, a half-second of recalibration behind the eyes, then a nod)</i> Fair. The usual it is.
<</say>>
<<say "char-megan" "Megan">>
<i>(the smile that closes a transaction, turning her shoulder back toward the window an inch)</i> Seven. The usual place. Bring the usual payment.
<</say>>
<p>The conversation closes, and Ethan rides three more stops with his knee still a quarter-inch from hers, talking about nothing, the weather and a basketball game and his sister's wedding, while Megan answers in the bright-but-distant register the cat now reads as operator on standby. He gets off at the financial-district stop, squeezes her shoulder briefly on the way out, and she watches him go through the window with her chin back on her hand.</p>
<<say "char-megan-thought" "Megan">>
Good boy. He'll think about that no for the rest of the day and book the off-menu properly next time, on my terms, with the deposit. The bus doesn't get a discount on my standards just because the seats are sticky.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She could have. She chose not to. The bus is not on the playbook, and the playbook is the whole thing that makes her an operator instead of a girl on a bus. The no was discipline.//
<</say>>
<p>Megan rides the rest of the way to the cafe in silence, gets off at her stop, and walks the two blocks. The cat exits the tote when she sets it on the prep-counter and slips out the back door before the espresso machine warms up.</p>
<</if>>
<<if _publicSex>>
<hr class="scene-break">
<<say "char-megan" "Megan">>
<i>(lowest register, breath warm at his ear, pricing a new item in real time)</i> Off-list runs special rates. Bus rate is two hundred. Cash. I don't carry change. //Now// or your next slot, your call.
<</say>>
<<say "char-megan-thought" "Megan">>
Two hundred for the novelty and the nerve. Let's see if he's all whisper. Half of them go pale the second I say a number out loud, and that's fine, that's a no, that's free, I just keep my morning. The other half...
<</say>>
<<say "char-npc" "Ethan">>
<i>(swallow, eyes flicking up the aisle, three more stops until his)</i> ...now.
<</say>>
<<say "char-megan" "Megan">>
<i>(small specific smile, the operator closing the deal)</i> Wallet. Two hundred. Fold it. Put it in my jacket pocket.
<</say>>
<p>Ethan reaches into his back pocket, and as the bus rounds a corner he counts out tens and twenties under the lip of the seat in front of him, folds the wad in half, and slides it into the inner pocket of Megan's denim jacket where she has lifted the lapel half an inch for him.</p>
<<say "char-hivemind" "Hivemind">>
//Cash before the act. The transaction is the structure that makes this work and not risk. Without the money she would be a girl on a bus. With the money she is at her job.//
<</say>>
<p>Megan pulls her denim jacket off and folds it across both their laps, and from any angle it reads as a woman who got cold sharing a layer. Her hand is already inside the jacket and on his fly before he finishes processing the geometry.</p>
<<say "char-megan-thought" "Megan">>
Cover first, always the cover. Jacket over the laps, head down like I'm hunting for my phone, hair forward. Anybody glances, they see a girl rummaging in her bag. Anybody who looks twice... well. That's their problem to sit with, not mine.
<</say>>
<p>She unzips him under the cover, slides sideways in the seat with her knees tucked under and her head down to lap level, the angle that looks like a girl digging in her tote. Her hair falls forward, the folded jacket hides the rest, and the cat watches from inside the tote, five inches from her face.</p>
<p>She takes him into her mouth on the third corner the bus turns. Two and a half stops. Back of the bus, most passengers facing forward, the college kid with headphones on, the man in the paint-stained hoodie scrolling his phone, the older lady asleep against her grocery bags.</p>
<<set $permanentDone.meganCatPublicSex to true>>
<img class="scene-img" src="media/scenes/catstalk-megan-bus-publicsex.webp" alt="Bus interior, Megan's head down at lap level on the seat beside Ethan, a folded denim jacket draped over both their laps, a woman across the aisle with her face deliberately turned toward the window">
<p>The woman in nursing scrubs is across the aisle, and she notices the rhythm of Megan's head first. Looks away, looks back, looks away, looks back, and doesn't move and doesn't say anything, her face the frozen one of someone who has figured out what is happening one row over and has not decided whether to be horrified or fascinated, leaning toward fascinated, annoyed at herself for the lean.</p>
<<say "char-megan-thought" "Megan">>
Mmh. She's looking. Don't speed up, don't change a thing, just... she knows, and she's not getting up, and god that lands somewhere low and warm and I did not budget for that. Keep the count. Keep the cover. Let her watch.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Witness identified. Her hips just shifted half an inch. Her breathing changed. The olfactory baseline reads her arousal, not his, and it spiked the instant the nurse's gaze locked. The being-seen is the trigger. The cock is the cover for it.//
<</say>>
<p>Megan keeps the rhythm steady, eyes closed, while the folded denim bunches and shifts as Ethan's hips jerk under the cover, his hand white-knuckled on the seat rail in front of him, biting the inside of his lip to stay quiet. Two stops worth.</p>
<<say "char-npc" "Ethan">>
<i>(strangled, barely a breath, lips not moving)</i> ...fuck, I can't, I'm gonna...
<</say>>
<<say "char-megan-thought" "Megan">>
There he goes. Hold the swallow, no sound, no mess on the cover. Easy. Easiest two hundred of the week, and the nurse paid nothing and got the better show.
<</say>>
<p>He cums quietly, her throat works once and twice, she holds the swallow and pulls off slowly, then tucks him back into his jeans with both hands under the cover, zips him up, and smooths the folded denim flat across both their laps as if she had never moved.</p>
<p>She pulls a napkin from the side pocket of the tote, wipes the corner of her mouth with two fingertips, draws a tube of lipstick from the same pocket, and reapplies in the reflection of her phone screen. The whole reset takes nineteen seconds.</p>
<p>Across the aisle, the woman in scrubs has finally turned her face fully to the window.</p>
<<say "char-megan" "Megan">>
<i>(low, easy, like they've been talking about a basketball game)</i> Next session, seven.
<</say>>
<<say "char-npc" "Ethan">>
<i>(catches his breath, swallows, nods)</i> Next session, seven.
<</say>>
<p>He gets off at the financial-district stop and squeezes her shoulder briefly on the way out, the same way he would have if nothing had happened. The bus pulls away, and Megan settles back into her window seat in the operator-relaxed posture, denim jacket back on, two hundred dollars folded against her ribs through the inner pocket.</p>
<<say "char-megan-thought" "Megan">>
She still won't look at me. Good. The deal she and I just made, no eye contact, no words, she keeps my secret and I keep that look on her face all the way downtown, is honestly the better transaction of the two.
<</say>>
<p>She does not look across the aisle at the woman in scrubs, and the woman in scrubs does not look at her, and the negotiation between them is conducted entirely through the window glass for the next four stops.</p>
<<if not $biomassAwarded.catStalkMeganBusPublicSexMax>>
<<set $biomassAwarded.catStalkMeganBusPublicSexMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, public exposure circuit catalogued</span></p>
<</if>>
<</if>>
<<if _gangbang>>
<hr class="scene-break">
<<if _publicSex>>
<p>Megan gets off at the cafe stop, and the two men from the back of the bus, the man in the paint-stained hoodie and a younger guy in a hooded sweatshirt the cat hadn't catalogued earlier, get off at the same stop. They were not getting off here ten minutes ago. They follow her at a half-block distance, and she knows, the cat watching her clock them in the window of the second storefront she passes, but she doesn't speed up. At the corner two blocks from the cafe she stops, tote on her hip, and turns, and lets them catch up.</p>
<<say "char-npc" "Paint-hoodie">>
<i>(half a step out of breath, hands open, low voice)</i> Hey... sorry. Hey. We saw. We... me and him. We just... we want to know how much.
<</say>>
<<else>>
<p>Megan gets off at the cafe stop, and the two men from the back of the bus, the man in the paint-stained hoodie and a younger guy in a hooded sweatshirt the cat hadn't catalogued earlier, get off at the same stop. They were not getting off here ten minutes ago. They follow her at a half-block distance, and she knows, the cat watching her clock them in the window of the second storefront she passes, but she doesn't speed up. At the corner two blocks from the cafe she stops, tote on her hip, and turns, and lets them catch up.</p>
<<say "char-npc" "Paint-hoodie">>
<i>(half a step out of breath, hands open, low voice)</i> Hey... sorry. Hey. We heard you and the guy in the suit. The //menu// thing. We... we're new in town. We want to know what the rates are.
<</say>>
<</if>>
<<say "char-megan-thought" "Megan">>
Two of them, off the same bus, breathing hard from a half-block jog. They rehearsed this on the sidewalk. Don't flinch, don't smile too wide, this is a phone call I've taken forty times, it just has a face today. Lead with the question.
<</say>>
<<say "char-megan" "Megan">>
<i>(operator register, neither welcoming nor hostile, the voice that has handled this exact call forty times)</i> What kind of party.
<</say>>
<<say "char-npc" "Paint-hoodie">>
<i>(glances at the younger guy, who is looking anywhere but at Megan)</i> The two of us. Tonight if you're free.
<</say>>
<<say "char-megan" "Megan">>
<i>(quoting from the price list in her head)</i> Group rate is six hundred for two. Cash. One hour, my space, you don't have my space yet, I do, the back office of the cafe. Fifty percent up front, the rest at the door. Tonight is closing time, eleven-fifteen, back alley. You late, you forfeit.
<</say>>
<<say "char-npc" "Younger guy">>
<i>(finds his voice)</i> ...does the off-list stuff cost extra, or...
<</say>>
<<say "char-megan" "Megan">>
<i>(turns her head a quarter-inch toward him, the precision she uses on a customer asking if oat milk costs more)</i> Off-list is a conversation we have at the door once I see who you are. Twenty-percent surcharge on top of group rate, capped per item.
<</say>>
<<say "char-npc" "Paint-hoodie">>
<i>(already pulling out his wallet)</i> ...okay. Yeah. Three hundred up front?
<</say>>
<<say "char-megan" "Megan">>
<i>(opens the tote, holds it ready)</i> Folded. In the inside pocket. Don't count it on the street.
<</say>>
<p>He folds, he puts, he doesn't count it on the street, and the younger guy reaches into his own wallet, pulls out a stack of twenties, and hands them to the older guy who folds them into the same wad and tucks the lot into Megan's jacket pocket.</p>
<<say "char-megan" "Megan">>
<i>(tote zipped shut, smile professional, voice the bright-cafe register)</i> Eleven-fifteen. Back alley. Door behind the dumpster. //Don't// knock, I'll be watching for you.
<</say>>
<p>She turns and walks the rest of the two blocks to the cafe without looking back.</p>
<<say "char-megan-thought" "Megan">>
Six hundred I wasn't holding twenty minutes ago, and all I had to do was let a man finish on a bus where someone else could watch. The bus pays. Who knew. I'm putting the alternator on the cafe's tab and the cafe doesn't even know it has a tab.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She did not advertise. The menu advertised itself. Proximity to one transaction generated the next, and the bus, uncatalogued this morning, has produced a six-hundred-dollar booking before she has clocked in. The route is permanently on the map.//
<</say>>
<hr class="scene-break">
<<set $permanentDone.meganCatGangbang to true>>
<video class="scene-video" src="media/video/catstalk-megan-bus-gangbang.webm" autoplay muted loop playsinline poster="media/scenes/catstalk-megan-bus-gangbang.webp"></video>
<p>Eleven-seventeen PM. Cafe closed, lights down, the two men from the bus at the back-alley door. Megan opens it and they come in. <<if _publicSex>>Ethan is already inside, he came at ten-forty-five, paid the regular rate plus the hundred-dollar bus-hookup surcharge, and is sitting on the battered brown leather couch against the back wall in his suit jacket with a coffee Megan made him. He nods at the two new arrivals like a colleague at a meeting, and they nod back, the geometry already professional.<<else>>The cat slipped back into the cafe through the prep-window vent at ten-thirty PM and watched Megan close down the front of the shop, strip the bra off under her polo, and unbutton the polo two buttons. The lipstick is fresh. The back office has a battered brown leather couch shoved against the back wall, the staff crash-spot, sagging cushions, a folded blanket on one end, and a crate of receipt rolls pushed to the side to clear the floor in front of it.<</if>></p>
<<say "char-megan" "Megan">>
<i>(low, easy, latching the door behind them, the bright-cafe register stripped down to bare instruction)</i> Phones face-down on the shelf. Rest of it on the desk before anyone's pants come off. <<if _publicSex>>You three<<else>>You two<</if>> do what I say when I say it and everybody has a good night.
<</say>>
<p>Megan runs the next sixty-two minutes the way a project manager runs a multi-stakeholder meeting.</p>
<p><<if _publicSex>>Three men, <<else>>Two men, <</if>>one couch, one folded blanket on the floor in front of it, the geometry set before anyone's pants are off. <<if _publicSex>>She places Ethan at one end of the couch, the older guy at the other, the younger guy standing, then kneels on the blanket between them and rotates them through positions every fifteen minutes by silent gesture, calls time on the older guy at minute thirty-eight when his rhythm starts breaking down, and switches to the younger guy mid-mouthful without losing the rhythm with Ethan.<<else>>She places the older guy seated on the couch and the younger guy standing behind her, then kneels on the blanket in front of the couch and lets the spitroast set itself up around her, rotates them every fifteen minutes by silent gesture, calls time on the older guy at minute thirty-three when his rhythm starts breaking down, and switches to the younger guy mid-mouthful without losing the rhythm with the older one.<</if>></p>
<<say "char-megan" "Megan">>
<i>(pulling off one with a wet sound, redirecting by the wrist, breath even)</i> //Gnh.// You, switch. Hands on the couch back, not on my head. Better. <i>(taking the other deep, words gone thick)</i> Mmh. //Mmh.// Good, just like that, don't move.
<</say>>
<p>The cat watches from the bulk-bean shelving, the same vantage as the morning shift, the shop dark this time and the fluorescent in the back office the only light, carving Megan's body into the high-contrast monochrome of a professional photograph.</p>
<<say "char-megan-thought" "Megan">>
Rotation's clean, the older one's almost done, the kid's going to last all night if I let him and I'm not going to let him. Two more minutes on the couch, then the blanket, then I finish them in the order they paid. And then I finish me, on the clock, because tonight earned it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the back-office Megan fully expressed. The morning shift was one client, transactional but intimate. Tonight is the whole operation. She handles three bodies the way she handles three drink orders at the rush, geometry pre-loaded, rotation timed, warmth dispensed at exactly the right concentration to each.//
<</say>>
<p>She finishes herself last, quietly, still on her knees on the blanket with one hand between her own legs and one of them still in her mouth, the orgasm not a gift to anyone in the room but her own end-of-shift logging, because the count was clean.</p>
<<say "char-hivemind" "Hivemind">>
//She comes because the books balanced, not because they did. The pleasure is filed under bookkeeping.//
<</say>>
<p>By twelve-twenty AM the back office is empty except for Megan and the cat. <<if _publicSex>>Nine hundred and sixty dollars in cash on the desk in three folded stacks.<<else>>Six hundred dollars in cash on the desk in two folded stacks.<</if>> She counts it twice, writes the total in the apron-pocket notebook in her own handwriting, wipes the desk down with the cleaning spray she uses for the espresso machine, folds the blanket, and puts the receipt-roll crate back where it belongs.</p>
<p>By twelve-forty AM she is on the last bus home, a different route, the late line, four other passengers all asleep against windows. She rides with her chin on her hand looking out at the streetlights, doing arithmetic.</p>
<<say "char-megan-thought" "Megan">>
Alternator covered, rent covered, two hundred clear into the jar I don't tell anyone about. One bus. Imagine if the Civic stayed broken. Don't get greedy, Hoffman. Get some sleep.
<</say>>
<<if not $biomassAwarded.catStalkMeganBusGangbangMax>>
<<set $biomassAwarded.catStalkMeganBusGangbangMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, count-circuit catalogued in the wild</span></p>
<</if>>
<</if>>
<hr class="scene-break">
<p>The cat slips out of the tote bag the moment Megan sets it down on the kitchen counter at home. <<if _gangbang>>It is one in the morning.<<elseif _publicSex>>It is three-fifteen in the afternoon. The bus rolled into the cafe stop on time, Megan worked her full shift, and the cat curled behind the bulk-bean bag the same way it did on the morning-Megan-Work scene.<<else>>It is three-fifteen in the afternoon. The cat curled behind the bulk-bean bag during the shift and exited with her on the bus home.<</if>></p>
<p>Megan goes upstairs without making any sound. Karen's bedroom door is closed, Dale is on the couch, and the dog raises his head, decides Megan is family, and lowers it again.</p>
<<say "char-hivemind" "Hivemind">>
//Her baseline has shifted again. Karen won't notice. Dale won't notice. I will. The bus is a venue now, the morning commute a sales floor, the cafe back office a multi-tenant workspace. The infrastructure expanded by one geographic vector. Next time the man boards this bus, the operator is ready before he sits down.//
<</say>>
<<if (_publicSex or _gangbang) and not $biomassAwarded.catStalkMeganBusBase>>
<<set $biomassAwarded.catStalkMeganBusBase to true>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, Megan's operator-mode in the wild</span></p>
<</if>>
<p>[[Slip back into the house with her->Ch2-Beast-NetworkHub]]</p><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lastStalkDay to $day>>
<<if not $behavioralIntel.jess.predator>><<set $behavioralIntel.jess.predator to true>><</if>>
<</nobr>>
<div class="passage-title">The Other Band</div>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-setup.webp" alt="Jess at the front hall in heavy-punk gear, backpack on, lacing a boot at the door">
<p>Show night, 8:47 PM, and Jess is crouched at the front hall lacing the second boot, in the full kit tonight, band tee under leather jacket, the bridge bar between her eyebrows catching the hallway light, three studs per ear, lip stud red because she put it back in twenty minutes ago. The small backpack is the one she uses for shows: cash, ID, lipstick, a folded printout of the venue map, and tonight, by accident, the cat, which slipped in while she was bent at the laces and settled against the printout with its eye to the gap in the zipper.</p>
<<say "char-jess-thought" "Jess">>
Not The Pit tonight. Different basement, different scene, bands I've been reading about for weeks and a headliner I've watched enough live clips of to know exactly what he does with a front row. Wren. Lemon Vox. Eyeliner and a torn shirt on the EP cover and a jawline that gets the band tagged more than the songs do. Let's see if it travels.
<</say>>
<<say "char-hivemind" "Hivemind">>
//New venue. New band. She is not extending anything. She is checking whether what worked once works anywhere. The same method against a different target. Field research.//
<</say>>
<p>She straps the backpack over one shoulder, kills the hallway light, heads out the back door at 8:51, and makes the 9:04 to East Side with the cat riding the bottom of the bag, eye to the zipper gap, watching the streetlights tick past while she scrolls. Lemon Vox setlists, the venue's feed, three separate posts from people who have seen Wren live, the comments all circling the same word: intense.</p>
<hr class="scene-break">
<p>The Slaughterhouse is the bottom floor of a converted warehouse, concrete floor and ceiling pipes painted matte black, two long bars on the side walls and a stage at the far end that is really a six-inch riser, red and amber par-cans on the truss turning every pale face in the room orange. Capacity maybe two hundred, and tonight it is packed to one-eighty.</p>
<p>Jess pushes through to one body back from the rail, left of centre, close enough that Wren will catch her in his peripheral vision every time he looks down at whoever he picks, and she does not take a spot at the rail, because the rail is the statement of someone who wants to be chosen.</p>
<<say "char-jess-thought" "Jess">>
The rail is for the ones auditioning. I'm not auditioning. I'm taking notes.
<</say>>
<p>She peels the leather jacket off and knots the sleeves around her waist, the Misfits skull stark white on plain black underneath, one of the older bands on any wall in here, the purple in her hair brighter under the red wash than it ever is in daylight. The cat's bag goes on the floor between her boots, zipper half-open, eye-line at calf height where most of what it sees is denim and band-tee hems and boot leather, with a sliver of stage visible through the gap between two crowd-bodies.</p>
<p>A guy beside her, tall, lager in a plastic cup, leans down off the rail to be heard over the between-sets playlist.</p>
<<say "char-npc" "rail guy">>
<i>(nodding at her chest, friendly)</i> Misfits, nice. You here for Lemon Vox or you just wander into basements?
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes on the stage, not on him)</i> Here for the lead singer. Not the way she is.
<</say>>
<p>She tips her chin at the dead centre of the rail, where a blonde girl has her elbows on the bar and is mouthing every word from the second song on, long and middle-parted, in a Lemon Vox tee that is the old design from before this tour, a black bra strap loose at her shoulder and her mascara already going at the edges from the heat.</p>
<<say "char-npc" "rail guy">>
<i>(following her look, half a laugh)</i> Yeah, she's been front and centre since doors. Reckon she thinks tonight's the night.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, finally glancing at him)</i> She's right. It's just not gonna be about her.
<</say>>
<p>The guy frowns, decides she is more trouble than the conversation is worth, and turns back to the stage.</p>
<p>Lemon Vox takes the riser at 9:33, Wren taller than the cover suggested, dark hair and black eyeliner and a white tank cut down to his sternum, a woman with cropped red hair on bass and a drummer who keeps his back to the room. Three songs in he makes eye contact with the blonde and holds it for a full verse, her hand going to her own throat the instant a body registers being addressed, and when he throws his head back at the chorus his gaze crosses Jess for the half-second it takes to clock that one girl is not looking at him the way the others are. He comes back to the blonde on the next verse, but the angle of his shoulder has shifted.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-show.webp" alt="Basement venue, low ceiling, red and amber stage lights, the Lemon Vox lead singer in a white tank top leaning over the front rail singing into his mic directly at a blonde girl in a Lemon Vox tee at the rail, Jess in the background one row back on the left in a Misfits tee with her purple and black hair loose and her arms crossed, watching with a flat hostile expression, crowd packed in behind them, grimy warehouse basement aesthetic">
<<say "char-jess-thought" "Jess">>
There it is. He's picked one body and he's playing the whole set at her, and the room is the supporting cast. Tonight, after, somewhere. She already knows. Her body's been waiting for it since she walked in.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is studying the choosing, not the girl. The girl is not the dose. Who he chooses is the dose, and that is a position any qualifying body could fill. She is working out the criteria.//
<</say>>
<p>For the last song Wren walks to the front of the riser, drops to a crouch at the rail, and sings the whole thing down at the blonde, mouth six inches from her ear at the bridge while her face opens into the kind of public reverence that makes the rest of the crowd embarrassed to be watching. He says thank you East Side into the mic, looks at her one more time, and walks off. The lights come up, the crowd starts bleeding toward the bars, and the girl stays at the rail breathing through her nose, deciding whether to push for the side door that leads backstage or wait for him out front.</p>
<<set _band to ($kinks.jess and $kinks.jess.includes("band"))>>
<<set _brat to ($kinks.jess and $kinks.jess.includes("brat"))>>
<<if not _band and not _brat>>
<hr class="scene-break">
<p>Jess shoulders the backpack and pushes back toward the bar at the rear, buys a beer she does not drink, and watches the front-row girl across the room until the girl finally peels off the rail, works her way around the side of the stage to the backstage door, and gets waved through by the bouncer. Jess finishes the undrunk beer and leaves alone, walking the four blocks to the bus stop with her hands in her jacket pockets and the backpack swinging.</p>
<p>On the bus she puts the headphones on and plays nothing. The thoughts are running on their own.</p>
<<say "char-jess-thought" "Jess">>
She's going to suck him dry tonight after that song and feel chosen doing it. The whole bus is heading home thinking about somebody else's mouth on a body that picked them out of a crowd. The picking is the entire job. The picking is what the song was for, and she's just whoever happened to be standing where the picking landed.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The thought is not fantasy. It is blueprint.//
<</say>>
<p>She gets off at her stop with the song still looping in her head, the last verse, the bridge, the line about the dress, walking home already rearranging herself around the next show.</p>
<<say "char-jess-thought" "Jess">>
Next time I'm not three rows back. Next time I'm at the rail, or I'm in that corridor at exactly the second he walks off. This place has a chapter now. It just doesn't have my chapter yet.
<</say>>
<p>The cat exits the backpack the moment she hangs it on the closet hook, and she leaves the bedroom light off for another twenty minutes, sitting on the bed with her boots still on, drafting.</p>
<</if>>
<<if _band>>
<hr class="scene-break">
<p>Jess shoulders the backpack and angles for the side of the stage. The bouncer at the backstage door is a heavyset guy with a lanyard who is supposed to check passes, and Jess does not have one, but she carries the half-confident half-distracted body language of someone who belongs past this door and has belonged past doors like it at four other venues this month and is mostly just hunting a bathroom. He half-glances at her, half-glances at his phone, and lets her through.</p>
<p>The corridor behind the stage is concrete and water-stained, three doors off it, and the one with Lemon Vox's tour poster taped to it is ajar. She pushes it open without knocking. Wren is alone on a battered green leather couch, towel around his neck and a water bottle in his hand, phone charging on the cooler beside him, the rest of the band still out front breaking down equipment. The cat slips in behind her boot and flattens against the far wall behind a stack of speaker cases.</p>
<<say "char-jess" "Jess">>
<i>(no greeting, no smile, two steps in and a stop at the centre of the rug)</i> You sang that last song right at her.
<</say>>
<<say "char-npc" "Wren">>
<i>(half a beat taking her in, the small recalibration of a man who has done this long enough to know exactly what walked in)</i> ...I did.
<</say>>
<<say "char-jess" "Jess">>
<i>(closing the door behind her without breaking eye contact)</i> I want to know what that voice does up close.
<</say>>
<p>He does not ask her name and she does not offer it, and she does not ask his, because she already has it and is just not going to spend it on him.</p>
<p>He stands, she crosses to the couch, and he hooks two fingers into the waistband of her jeans to pop the button while she turns her back to him without being told, bends forward over the couch armrest, and pulls her own jeans and underwear down to mid-thigh in one motion, her shirt riding up to her shoulder blades on its own before she shoves it the rest of the way to bare her back.</p>
<<if _brat>>
<<say "char-jess" "Jess">>
<i>(half-turned over her shoulder, voice flat, the no-negotiation register)</i> One rule, <b>FUCKING</b> rockstar. When you feel it coming you pull the <b>FUCK</b> out, you can finish on the floor, on your own hand, on a tissue from the cooler, wherever you want, but the cum does not touch me. You're not Bleed Through, I don't wear your <b>SHIT</b> home. Clear?
<</say>>
<<say "char-npc" "Wren">>
<i>(behind her, hands already settling on her hips, half a laugh)</i> ...clear.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(half-turned over her shoulder, voice even, the register she uses with café customers who push on the menu)</i> One rule, Wren. When you're close, pull out. Finish on the floor, in your hand, in a tissue from the cooler, whatever works for you. Just not on me. Yes?
<</say>>
<<say "char-npc" "Wren">>
<i>(behind her, hands already settling on her hips)</i> Yeah. Yes.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//No kiss. No introduction. The method ports clean. The thing she changed was the venue and the band, and the answer is already on the board: it is band-agnostic. Any performer who walks off a stage having chosen one body will take an unscheduled second body in the green room without question, because the offer runs on the same wiring as the choosing did.//
<</say>>
<<set $permanentDone.jessBand1 to true>>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-band.webp" alt="Green-room couch in a basement venue, Jess bent forward over the armrest with her band tee shoved up to her shoulder blades, Wren behind her gripping her hips, equipment cases visible at the edges">
<p>He pushes into her from behind over the armrest, her palms flat on the cushion and her breath measured, and she comes inside two minutes, hard, body locked, a low single sound she catches in her teeth.</p>
<<say "char-jess-thought" "Jess">>
She's out front right now waiting for him, and he's in me instead. I put myself where the song was about and pulled the body out from under her without her knowing it left the building. That's the part that gets me there. Not him. The swap.
<</say>>
<p>She feels his rhythm start to break a half-second before he does, pulls off him in one smooth motion, and steps toward her jeans pooled at her ankles, dragging them up and buttoning them while he handles the rest himself, his right hand already wrapped around the base of his cock before she has fully turned, a grunt, three close pulses into his own palm. She does not watch, just smooths the Misfits logo flat over her hips and is crossing toward the door by the time he reaches for a tissue from the cooler.</p>
<p>At the door she half-turns to look at him.</p>
<<if _brat>>
<<say "char-jess" "Jess">>
<i>(one hand on the knob, voice flat, no smile)</i> Clean yourself the <b>FUCK</b> up before you walk out there. Your girlfriend's already working up the nerve in the corridor.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(one hand on the knob, voice level)</i> Clean up before you go out. Your girlfriend's in the corridor.
<</say>>
<</if>>
<p>She leaves through the backstage corridor with her hands clean and her face intact, lipstick holding, mascara unsmudged, eyeliner exactly where she put it, because nothing in the last ten minutes touched her face. The cat slips out four seconds behind, past the legs of a man scrolling his phone outside the bathroom, and in the corridor Jess passes the front-row girl coming the other way, head down, mascara worse than before, the body language of someone who has psyched herself up and is about to hit the door. Neither looks at the other, and the girl pushes the green-room door open behind Jess as the corridor door swings shut.</p>
<<say "char-hivemind" "Hivemind">>
//The method generalises and tightens in one session. Portable, and the cleanup is deliberate. Nothing left on his body the girl could read, nothing on Jess to carry home into a laundry basket, nothing on the couch for the next band to smell. She has just added one venue, one band, one body, and she has worked out exactly how little of herself she is willing to leave behind.//
<</say>>
<<if not $biomassAwarded.catStalkJessOtherBandBandMax>>
<<set $biomassAwarded.catStalkJessOtherBandBandMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, band-vector portability catalogued</span></p>
<</if>>
<</if>>
<<if _brat>>
<hr class="scene-break">
<<if _band>>
<p>Jess walks back out of the backstage corridor with her hands clean and her jeans buttoned and the last ten minutes sitting quietly in her own head. The front-row girl is off the rail now, at the bar at the back with a friend in an older Bleed Through tee, talking loud. Jess works through the thinning crowd, orders a beer she does not intend to drink, and sets a stool down two over so she can hear every word.</p>
<<else>>
<p>Jess shoulders the backpack and works through the thinning crowd to the bar at the back, where the front-row girl is with a friend in an older Bleed Through tee, face still flushed from the dedication, talking loud. Jess orders a beer she does not intend to drink, sets a stool down two over, and listens.</p>
<</if>>
<<say "char-npc" "front-row girl">>
<i>(to her friend, the post-show voice of a woman already building the story she means to repeat)</i> ...I mean he sang the entire //last verse// to me, our faces were like six inches apart. My friend Steph said he did it once in Portland but honestly it didn't look //like this//, this was, this was different, this was //for me//, I'm telling you...
<</say>>
<p>Jess takes one long pull off the beer, sets the bottle back down, and closes her eyes for a second.</p>
<<say "char-jess" "Jess">>
<i>(flat, almost bored, the cadence of someone reading a one-star review back at the author)</i> That <b>FUCKING</b> song wasn't for you, sweetheart. You think he wrote it for one specific girlfriend? He writes that <b>SHIT</b> for whoever has the front row each night. Tonight that was you. Tomorrow some other <b>BITCH</b> with a band tee gets the same <b>FUCKING</b> line and the same cheap three-second eye contact and goes home wet thinking it meant something.
<</say>>
<<say "char-npc" "front-row girl">>
<i>(half a defensive laugh, shoulders squaring, the friend in the Bleed Through tee already edging off her stool)</i> Excuse me? Who are you even? You don't know him.
<</say>>
<<say "char-jess" "Jess">>
<i>(unhurried, voice not rising, the precision is the cruelty)</i> I know exactly what he is. He's a <b>FUCKING</b> guy who figured out the easiest pussy in the room is the one in the front row mouthing his lyrics. You believed him because the song made you wet, and the song makes every <b>BITCH</b> in this room wet. He <b>FUCKING</b> knows that. That's the whole job.
<</say>>
<<say "char-npc" "front-row girl">>
<i>(louder now, holding her ground, the friend already two steps off pretending to read her phone)</i> Maybe you're just jealous. Maybe you wanted to be the one he looked at tonight, and you weren't, and now you're being <b>NASTY</b> at the bar about it. That's fine. I'm done with this. I'm gonna go wait for him to come out.
<</say>>
<p>The girl moves to slide off her stool, and Jess does not move to stop her, does not rise, does not break the flat register, because Wren is about to walk out of the backstage corridor in the next four seconds and Jess has been tracking the door the whole conversation.</p>
<p>Wren pushes through the corridor door, towel still around his neck, and clocks the bar and the two girls. The front-row girl opens her mouth, and Jess slides off her stool in one motion, crosses four steps, grabs Wren by the wrist, and turns him back toward the corridor before he has finished registering either of them.</p>
<<say "char-jess" "Jess">>
<i>(not looking at the girl, voice low for Wren alone, grip tight at his wrist)</i> Back. You and me. Move.
<</say>>
<p>Wren lets her pull him. <<if _band>>Whatever calculation runs in his head, the vote lands on go where the woman who just had your cock is taking you before the girl at the bar has fully registered that he has been redirected.<<else>>Whatever calculation runs in his head, the vote lands on the woman with the grip on your wrist is not asking before the girl at the bar has fully registered that he has been redirected.<</if>> Jess drags him through the backstage door in four steps, the bouncer's head already back down on his phone, and the front-row girl is on her feet before the door has finished swinging.</p>
<p>The service alcove just inside the corridor is narrow and dim, a shelf of half-empty liquor bottles that makes up the band's rider, a water cooler, a crate of cans, a concrete wall that smells of dust and old beer. Jess pushes Wren back against the wall beside the shelf, and the front-row girl shoves through the backstage door behind them as Jess is already unbuttoning his jeans, stopping dead in the mouth of the alcove.</p>
<<say "char-npc" "front-row girl">>
<i>(breath tight, pitched higher, reaching for commanding and not quite getting there)</i> Wren... Wren, what the <b>FUCK</b>, who is she, //Wren//.
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up, eyes on the button of his jeans, voice thrown back over her shoulder at the girl)</i> He's not gonna say a word. You stand right there. You watched him sing tonight, <b>BITCH</b>, now you watch the rest. Don't move.
<</say>>
<<set $permanentDone.jessBrat1 to true>>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-brat.webp" alt="Jess on her knees in a dim backstage service alcove, purple and black hair, septum ring, black tank top, denim shorts, the singer's cock at her mouth, her left hand raised with the middle finger extended pointed directly at an off-frame watching figure, concrete wall and a shelf of liquor bottles behind her">
<p>Jess drops to her knees on the concrete, unzips him the rest of the way, and takes him out of his jeans, and as her mouth closes over the head of his cock her left hand comes up with the middle finger extended, pointed dead at the front-row girl in the mouth of the alcove. The girl does not move. Cannot move.</p>
<<if _band>>
<<say "char-jess" "Jess">>
<i>(pulling off him for one beat, his cock against her cheek, middle finger still up at the girl, voice low and conversational)</i> Tell her, Wren. Tell her what my <b>FUCKING</b> pussy felt like over the armrest of your green-room couch an hour ago. Go on. Say it out loud so she hears it clean.
<</say>>
<<say "char-npc" "Wren">>
<i>(head back against the wall, eyes shut, the strangled sound of a man whose mouth has no good move in either direction)</i> ...nngh. Christ.
<</say>>
<<say "char-jess" "Jess">>
<i>(back on his cock, a wet stroke of her mouth, pulls off again)</i> That's what I thought. You hear him, sweetheart? He was already inside me before you made it to the bar. You got the song. I got the green room. Now you get to watch the part he doesn't save for girlfriends.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(pulling off him for one beat, his cock against her cheek, middle finger still up at the girl, voice low)</i> Look at his <b>FUCKING</b> face, sweetheart. That's the face he saves for whoever isn't his girlfriend that night. You don't get that face from the rail.
<</say>>
<<say "char-npc" "Wren">>
<i>(head back against the wall, eyes shut, the strangled sound of a man whose mouth has no good move in either direction)</i> ...fuck. Don't.
<</say>>
<<say "char-jess" "Jess">>
<i>(thumb dragging slow up the underside of his cock, glancing back at the girl)</i> Don't what? Don't stop, you mean. Watch him not be able to finish that sentence, <b>BITCH</b>. That's all he's got.
<</say>>
<</if>>
<p>She works him to the brink with her mouth, feels the specific flex that means he is thirty seconds out, and pulls off clean, angling his cock down toward the concrete between her knees and the girl's boots, stroking him fast with her right hand while the left, middle finger still up, stays steady and pointed at the girl's face. He finishes on the floor in three messy ropes, head tipped back against the concrete, a low ragged sound caught behind his teeth, and none of it lands on Jess, none of it on the girl. The mess is on the concrete between them, exactly where she aimed it.</p>
<p>Jess wipes her right hand on the back of Wren's own jeans before he can register she has moved, stands, adjusts her shorts, and turns to face the girl.</p>
<<say "char-jess" "Jess">>
<i>(flat, dragging her thumb across the corner of her mouth, the same register she walked in with)</i> There, <b>BITCH</b>. Your turn. You want his cum, it's right there, lick it off the concrete if it'll make you feel like you got a piece of his night. You want his cock, it's hanging out of his jeans ready for you. Sloppy seconds, the full package. I ran it first, you get what's left. Have a real good rest of your weekend.
<</say>>
<p>Jess walks past her, and the girl does not move out of the way but does not actually fill enough of the alcove to block, so Jess's shoulder brushes hers on the way out. The cat slips out four seconds behind, past Wren's ankles and the girl's boots and the wet patch on the concrete, through the backstage door and onto the main floor, and Jess is already at the front door of the venue by the time it catches up. Behind her, Wren is still against the wall with his cock out and his jeans at mid-thigh, the front-row girl still in the mouth of the alcove looking at the concrete, neither moving for another forty seconds, the bouncer at his phone still not looking up.</p>
<<say "char-hivemind" "Hivemind">>
//She did not need to come. The ruin was the orgasm. Every word landed like a scalpel, and the bolded profanity is not noise. It is the instrument. She has been practising in front of a mirror since she put the dye in. The girl's face is the receipt she will replay alone tonight, and every replay lands on the same one-syllable word.//
<</say>>
<<if not $biomassAwarded.catStalkJessOtherBandBratMax>>
<<set $biomassAwarded.catStalkJessOtherBandBratMax to true>>
<<set $player.maxBiomass += 2>>
<p><span class="biomass-gain">+2 max biomass, public-ruination circuit catalogued</span></p>
<</if>>
<</if>>
<hr class="scene-break">
<p>Jess walks the four blocks to the bus stop with her hands in her jacket pockets and the backpack swinging. The 11:24 East Side bus pulls up two minutes late, and she rides home with her chin on her hand looking out the window while the cat rides the bottom of the bag, eye to the zipper gap, listening to her breathing settle into something it does not recognise from any prior baseline.</p>
<p>She gets home at 12:08, lets herself in through the back door quietly. Karen is asleep, Dale is at the lab, Ryan is upstairs, Megan is asleep, and the house is empty except for the dog and Jess and the cat in the bag. She goes up without a sound and hangs the backpack on the closet hook, and the cat slips out the moment the bag stops swinging.</p>
<<say "char-hivemind" "Hivemind">>
//Her baseline has shifted. Karen will not notice. Dale will not notice. The cat notes it. The venue is a category now, not a place. The Pit was home. The Slaughterhouse is a branch office, and there are at least six more in the city she has not opened. Every show night from here on has the structure of a tour, and she is the unaffiliated party working the gaps between the bands' booked nights.//
<</say>>
<<if (_band or _brat) and not $biomassAwarded.catStalkJessOtherBandBase>>
<<set $biomassAwarded.catStalkJessOtherBandBase to true>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass: Jess's operator-mode in the wild</span></p>
<</if>>
<p>[[Slip out of the backpack->Ch2-Beast-NetworkHub]]</p><<nobr>><<bg "bg-hoffman-bathroom">>
<<if not $ch2Events.medicineCabinetCombo>>
<<spendBiomass 2>>
<<set $ch2Events.karenSleepEnhanced to true>>
<<set _adn to { veryhigh: "high", high: "medium", medium: "low" }>>
<<if _adn[$familySuspicion.karen.baseAlertness]>><<set $familySuspicion.karen.baseAlertness to _adn[$familySuspicion.karen.baseAlertness]>><</if>>
<<if _adn[$familySuspicion.karen.alertness]>><<set $familySuspicion.karen.alertness to _adn[$familySuspicion.karen.alertness]>><</if>>
<<set $ch2Events.medicineCabinetCombo to true>>
<</if>><</nobr>>
<div class="passage-title">The Locked Medicine Cabinet</div>
<img class="scene-img" src="media/scenes/beast-combo-medicine.webp" alt="Coordinated operation across three hosts">
<div class="data-panel">
<div class="data-panel-title">Neural Link: Coordinated Operation</div>
<p>Three hosts. Three roles. One target.</p>
</div>
<p>The gecko clings to the bathroom ceiling, Hidden Observer active. Through its eyes, you map the medicine cabinet, the Zolpidem on the second shelf, the Sertraline beside it. The latch is a simple magnetic catch.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's Zolpidem tolerance is building. I've felt it. Her sleep is lighter each night. The pheromone window is shrinking. But the Sertraline beside it... an SSRI. Combined with the Zolpidem, it amplifies the sedative cascade. The pharmacology is elementary. The //execution// is not.//
<</say>>
<p>During Karen's evening bathroom visit, the cat leaps onto the counter, normal, expected, //invisible//. While Karen brushes her teeth, the Retractable Claws hook the magnetic latch. The cabinet swings open an inch. Karen doesn't notice; she's staring at her own reflection, running through tomorrow's schedule.</p>
<p>The rat, stationed in the wall behind the cabinet, extends through a gap in the plumbing access panel. Iron Stomach processes trace amounts of Sertraline dust from the shelf, not enough to be noticed missing, but enough to synthesise a compound that the cat's Pheromone Coat can deliver.</p>
<<say "char-hivemind" "Hivemind">>
//The cat opened the latch, the rat read the chemistry, the gecko kept the watch.// Tomorrow night, when the cat curls against Karen's hip, the Pheromone Coat will carry a new compound, Sertraline-enhanced, Zolpidem-synergised. //She'll sleep deeper than she has in years. And the night will belong entirely to me.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Karen's Sleep Enhanced: Permanent</div>
<p>Karen now sleeps deeper than Zolpidem alone provides, and her guard never fully comes up at night anymore. Her alertness drops a tier, and her individual suspicion eases by 1 every dawn.</p>
</div>
<p><<addSkillPoints 1 "medicineCabinetCombo">></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.geckoCrisisTriggered to true>><</nobr>>
<div class="passage-title">Crisis: Ryan Suspects Spike</div>
<img class="scene-img" src="media/scenes/beast-combo-gecko-crisis.webp" alt="Ryan standing in front of the gecko terrarium, arms crossed, staring at Spike with concerned scrutiny">
<p>Ryan is standing in front of the terrarium, arms crossed. He's been watching Spike for twenty minutes. The gecko, //your// gecko, is too alert, too responsive, too //aware//. It watches Ryan back with an intelligence that isn't supposed to be there.</p>
<<say "char-ryan" "Ryan">>
<i>(to himself, pulling up Google on his phone)</i> "Gecko acting weird... staring... not basking..." <i>(scrolling)</i> Could be metabolic bone disease. Or parasites. <i>(pauses)</i> Shit. I should take him to the vet.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No. Not the vet.// A veterinarian would examine Spike. Would notice the altered neural activity. The slightly wrong pupil dilation. The body temperature that's a fraction of a degree off baseline. //The gecko is a node in the network. Losing it, even temporarily, cripples the operation.//
<</say>>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility and $adaptations.dog.unlocked.includes("intimidate") and setup.isHostActive("cat") and setup.isHostActive("dog") and $adaptations.gecko.unlocked.includes("camouflage")>>
<<if $player.biomass gte 1>>
<div class="network-choice"><span class="delve-tag delve-tag-network">COMBO</span> <<link "Coordinate all hosts: divert Ryan's attention and fake a plausible explanation (1 biomass)" "Ch2-Combo-GeckoCrisis-Resolve">><<spendBiomass 1>><<addFamilySuspicion "ryan" -2>><<addSkillPoints 1 "geckoCrisisCombo">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coordinate all hosts: divert Ryan's attention <span class="lock-hint">(Need 1 biomass, have <<= $player.biomass>>)</span></div>
<</if>>
<<elseif _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coordinate all hosts: divert Ryan's attention <span class="lock-hint">(Need dog Intimidate + cat active + gecko Camouflage)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coordinate all hosts: divert Ryan's attention <span class="lock-hint">(Requires Hive Coordination)</span></div>
<</if>>
<<if $player.currentHost is "cat">>
<<if $player.biomass gte 1>>
<div class="host-choice"><span class="delve-tag delve-tag-host">POUNCE</span> <<link "Pounce at the window: knock over Ryan's plant to create a distraction (1 biomass)" "Ch2-Combo-GeckoCrisis-Resolve">><<spendBiomass 1>><<addFamilySuspicion "ryan" -1>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pounce at the window: knock over Ryan's plant <span class="lock-hint">(Need 1 biomass, have <<= $player.biomass>>)</span></div>
<</if>>
<</if>>
<<if $player.currentHost is "gecko">>
<<if $player.biomass gte 1>>
<div class="host-choice"><span class="delve-tag delve-tag-host">TAIL DROP</span> <<link "Drop tail in the terrarium: Ryan panics about Spike's health and forgets his suspicion (1 biomass)" "Ch2-Combo-GeckoCrisis-Resolve">><<spendBiomass 1>><<addFamilySuspicion "ryan" -3>><<set $ch2Events.tailDropCrisis to true>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Drop tail in the terrarium <span class="lock-hint">(Need 1 biomass, have <<= $player.biomass>>)</span></div>
<</if>>
<</if>>
[[Accept the situation, withdraw from Spike temporarily->Ch2-Combo-GeckoCrisis-Fail]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.geckoCrisisResolved to true>><</nobr>>
<div class="passage-title">Crisis Averted</div>
<p>The dog barks from downstairs, sharp, urgent, the kind of bark that means //something's wrong at the door//. Ryan's head snaps up.</p>
<<say "char-ryan" "Ryan">>
What the... Biscuit? <i>(stands, headphones off)</i> Biscuit, shut up!
<</say>>
<p>He leaves the room. The door stays open. //Ryan never closes his door.//</p>
<p>The cat slips in. One precise swipe of the paw sends the terrarium's clip-on thermometer skidding off the shelf. It cracks against the desk leg. The temperature reading freezes at 72°F, well below the gecko's optimal 85°F.</p>
<p>The gecko activates Camouflage. Its skin shifts to match the warm rock, colour, texture, even the faint sheen of basking. It goes perfectly, absolutely //still//. Not sleeping. Not alert. //Basking.//</p>
<p>Ryan returns, finds the broken thermometer, and his protective instinct overrides his suspicion.</p>
<<say "char-ryan" "Ryan">>
<i>(picking up the broken thermometer)</i> Shit. The temp's been off this whole time? No wonder he's been weird. <i>(opens laptop, starts browsing reptile supply sites)</i> Okay, buddy. New heat lamp. Better one this time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He wanted to protect Spike. That impulse, that tenderness toward the one creature in his life that depends on him, I just used it to protect the network.// Ryan orders a premium ceramic heat emitter. Spike gets a warmer terrarium. //Everyone wins. Except Ryan, who will never know what he's really protecting.//
<</say>>
<p><span class="biomass-gain">Ryan's suspicion reduced. Crisis averted.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
/* Player was in the gecko when they withdrew — kick them back to the rat so
they aren't stuck "inside" an unavailable host. Fallback chain: rat -> cat -> dog. */
<<if $player.currentHost is "gecko">>
<<if $infested.rat>><<changeHost "rat">>
<<elseif $infested.cat>><<changeHost "cat">>
<<elseif $infested.dog>><<changeHost "dog">>
<</if>>
<</if>>
<<set $ch2Events.geckoLostOneDay to true>>
<<set $ch2Events.geckoUnavailableSince to $day>>
<<set $animalNetwork.hosts["gecko"].status to "unavailable">><</nobr>>
<div class="passage-title">Tactical Retreat</div>
<p>You withdraw from Spike. The gecko's eyes go dull, returning to baseline animal behaviour. It blinks slowly, turns, and crawls under its hide.</p>
<p>Ryan watches. After a few minutes, the gecko's behaviour normalises. Ryan relaxes.</p>
<<say "char-ryan" "Ryan">>
<i>(exhaling)</i> Maybe I'm just being paranoid. You're fine, right buddy?
<</say>>
<<say "char-hivemind" "Hivemind">>
//The gecko is offline. One day. Maybe two.// I can't risk Ryan's suspicion escalating to a vet visit. //The network operates at reduced capacity until the gecko node is safe to reactivate.//
<</say>>
<div class="data-panel-muted">Gecko is unavailable for 1 day. It will reactivate automatically on the next day advance.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.karenInspectionTriggered to true>><</nobr>>
<div class="passage-title">Karen Investigates</div>
<img class="scene-img" src="media/scenes/beast-combo-karen-inspect.webp" alt="Karen searching the house methodically">
<p>Karen is moving through the house with purpose. Not her usual routine. This is //methodical//. She opens cabinet doors, checks behind furniture, lifts cushions, sniffs the air near the cat's favourite spots.</p>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control redirects Karen's search path. The dog blocks the hallway to Ryan's room, not aggressively, just //there//. Sitting. Occupying space. Karen detours around the dog without thinking.//</p><</if>>
<<if $adaptations.cat.unlocked.includes("predator_instinct")>><p>//Comfort Predator predicts Karen's next move before she makes it. She'll check the thermostat, then the laundry, then her phone. The cat positions accordingly, always one room ahead.//</p><</if>>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link provides real-time position tracking: Karen has moved from the kitchen to the hallway. Twelve seconds to the stairs. Eight seconds more to Ryan's room. Redirect now.//</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(to herself, crouching behind the couch)</i> Something is //off// in this house. I can smell it. Something... sweet? Chemical?
<</say>>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness eliminates surprise. While Karen searches the ground floor, you track her exact position through three hosts simultaneously. She cannot find what she does not know to look for.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She's found the pheromone residue. Not consciously, she can't identify it. But her hypervigilant mind has catalogued the anomaly and now she's hunting for the source.// If she checks the vents, she'll find disturbed dust. If she checks the cat's sleeping spots, she'll find scratch marks from the Retractable Claws. //I need to give her a different explanation. Something she can solve. Something that makes her feel in control again.//
<</say>>
<<if setup.activeHostCount() gte 4 and $adaptations.rat.unlocked.includes("sporocyst")>>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility>>
<div class="network-choice"><span class="delve-tag delve-tag-network">COMBO</span> <<biomassLink "Full network coordination: stage a fire scare to divert Karen's investigation (3 biomass)" "Ch2-Combo-KarenInspection-Divert" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Stage a coordinated fire scare to divert Karen <span class="lock-hint">(Requires Hive Coordination, Network skill tree)</span></div>
<</if>>
<</if>>
<<if $player.currentHost is "dog">>
<div class="host-choice"><span class="delve-tag delve-tag-host">MAUL</span> <<link "Biscuit knocks over the kitchen trash: loud distraction (2 biomass, +2 suspicion)" "Ch2-Combo-KarenInspection">><<spendBiomass 2>><<addSuspicion "hoffmanHouse" 2>><<set $ch2Events.karenInspectionDiverted to true>><</link>></div>
<</if>>
[[Let Karen investigate, endure the consequences->Ch2-Combo-KarenInspection-Endure]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.karenInspectionDiverted to true>>
<<addFamilySuspicion "karen" -4>>
<<addSuspicion "hoffmanHouse" -2>>
<<set $ch2Events.exterminatorComing to true>>
<<set $ch2Events.exterminatorDay to $day + 2>>
<<addSkillPoints 2 "karenInspectionCombo">><</nobr>>
<div class="passage-title">The Fire Scare</div>
<div class="data-panel">
<div class="data-panel-title">Hive Coordination: Full Network</div>
<p>Four hosts. Simultaneous action. One narrative.</p>
</div>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network positions the rat for the synchronized operation. Through the wall cavity, into position behind the baseboard. When the signal comes, the rat emerges, and retreats the same way. In. Out. Invisible.//</p><</if>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch navigates Karen's phone in seventeen seconds: unlock (pattern memorized), messages (third icon, second row), draft (saved but unsent). The gecko's feet dance across the screen with evolved dexterity.//</p><</if>>
<p>The rat activates Sporocyst Glands, a concentrated burst of gas through the wall cavity behind the kitchen fridge. The gas meets the exposed wiring that runs along the baseboard. A faint hiss. A wisp of grey that could be smoke.</p>
<p>The kitchen smoke detector shrieks.</p>
<<say "char-karen" "Karen">>
<i>(dropping to her knees by the fridge)</i> Oh God... oh God, is that //smoke//?
<</say>>
<p>The dog barks from the garage. Not a "someone's here" bark, but a panicked, urgent, //fire// bark. Karen's investigative mode shatters. Her crisis-management mode engages.</p>
<p>The cat weaves between Karen's legs, leading her toward the back of the fridge. There: a legitimately frayed power cable, gnaw marks visible, the rat's work from previous nights, now repurposed as evidence.</p>
<p>The gecko drops from the ceiling above the fridge. It lands on the frayed cable and freezes, visible, undeniable, //proof//.</p>
<<say "char-karen" "Karen">>
<i>(staring at the gecko on the cable)</i> ...A lizard? Where did... <i>(looks at the gnaw marks)</i> No. //Rats//. Rats are chewing the wiring. That's what I've been smelling. That's... <i>(pulls out phone)</i> I'm calling an exterminator. Today.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has her answer. Not the real one, but one she can understand, one she can ''act on''.// Karen Hoffman doesn't tolerate mysteries. She tolerates //problems with solutions//. And "rats chewing wires" is a problem with a solution: call the exterminator.
//The investigation is over. Her suspicion collapses around the new explanation like a building around a controlled demolition.// But there's a cost. //She knows about the rat now. And in two days, a professional pest controller will enter this house.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Consequences</div>
<p>Karen suspicion: <span class="biomass-gain">-4</span> (she has her explanation)</p>
<p>Household suspicion: <span class="biomass-gain">-2</span></p>
<p><span class="consume-fail">Warning: Exterminator arriving in 2 days. The rat host is at risk.</span></p>
</div>
<p><span class="biomass-gain">+2 Skill Points</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $familySuspicion.karen.level to $familySuspicion.karen.max>>
<<set $familySuspicion.dale.level to $familySuspicion.dale.max>>
<<set $familySuspicion.megan.level to $familySuspicion.megan.max>>
<<set $familySuspicion.jess.level to $familySuspicion.jess.max>>
<<set $familySuspicion.ryan.level to $familySuspicion.ryan.max>>
/* Raise alertness by one tier for 7 days (expires on day advance past the threshold) */
<<set $ch2Events.karenInspectionAlertExpiry to $day + 7>>
<<set _alertnessUp to { low: "medium", medium: "high", high: "veryhigh", veryhigh: "veryhigh" }>>
<<for _m, _fs range $familySuspicion>>
<<set _fs.alertness to _alertnessUp[_fs.baseAlertness] or "veryhigh">>
<</for>><</nobr>>
<div class="passage-title">Karen Finds Evidence</div>
<img class="scene-img" src="media/scenes/hoffman-family-meeting.webp" alt="The Hoffman family seated around the kitchen table for a meeting Karen called">
<p>Karen calls the meeting for 6:30 PM. It is not a request. The text goes out at 4:14, one message to the family group chat, four words, no follow-up.</p>
<p>//Kitchen. 6:30. Everyone.//</p>
<p>Dale comes in from a shift that isn't over yet, still wearing the BioGenesis polo, smelling like stale coffee and the underside of a parking garage. Jess drags a chair from the dining room even though there's already a chair for her, because she needs one with a straight back for her laptop and a composition notebook and a fine-point pen. Megan arrives last, apron still half-on, hair in the low bun she wears for coffee-shop shifts, phone face-down in her lap the moment she sits. Ryan comes down from his room without being asked twice. That alone tells everyone at the table that something is serious.</p>
<p>Karen is already there. She has laid four things on the kitchen table in front of her like a prosecutor arranging evidence.</p>
- A Ziploc sandwich bag containing six small dark pellets. Rat droppings. Shape and size she looked up on her phone at 3 PM.
- A folded paper towel streaked with a faint green smear that catches the overhead light weirdly. It's not //bright// green, but it's green in a way that shouldn't be there, the colour of algae in a fish tank after a long holiday.
- Her phone, screen-up, open to a photo of scratch marks on the inside edge of the medicine cabinet door: four parallel grooves, small, the width of a claw.
- A printed email from the pest control company she just requested a quote from.
<<say "char-karen" "Karen">>
<i>(flat, controlled, the accountant voice)</i> I'm going to show you four things. I want everyone to look at them. I don't want to hear that I'm overreacting. I don't want anyone to leave the table until we have a plan. Ryan, phone down. //Thank you.//
<</say>>
<p>She holds up the Ziploc first.</p>
<<say "char-karen" "Karen">>
These are from behind the flour bin in the pantry. I found them this morning when I was cleaning. They are not mouse droppings, I looked it up, mouse droppings are shorter and tapered on both ends, and //these// are blunt. That's a rat.
<</say>>
<p>A pause. Nobody corrects her. She's right and they all know she researched it.</p>
<p>Then the paper towel. She slides it across the table toward Jess without needing to say why.</p>
<<say "char-karen" "Karen">>
I wiped this off the inside of the silverware drawer handle when I was reaching for the salad tongs. It wasn't there yesterday. It wasn't there last week. It's on nothing else in the drawer. <i>(to Jess)</i> I need you to look at this under your microscope at school. Tomorrow. Before class if you can manage it.
<</say>>
<<say "char-jess" "Jess">>
<i>(leaning forward, already pulling the towel toward her)</i> It's fluorescing.
<</say>>
<<say "char-karen" "Karen">>
What?
<</say>>
<<say "char-jess" "Jess">>
<i>(precise, clinical, almost interested)</i> Look at the overhead light, it's catching something, bioluminescent or phosphorescent. You don't see that in household contamination. Mould doesn't do that and mildew doesn't do that. <i>(pause)</i> That's either a fungal species I haven't seen yet or it's //bacterial//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Jess is pre-med. Jess has access to a microscope that can resolve a thousand times what a human eye can. The residue is the sporocyst trace. It should not have been visible to the naked eye. It was. Karen saw the sheen. Jess will see the structure. ''I underestimated the drawer handle.''//
<</say>>
<p>Karen looks at the residue like she's looking at a snake. Dale looks at it like he's looking at something he doesn't have the vocabulary for. Megan looks at her mother's face instead of the paper towel, watching for the signal.</p>
<<say "char-dale" "Dale">>
<i>(quiet, tired, but his jaw is set)</i> I'll hit Home Depot on the way home from my next shift. Snap traps. Glue boards. The heavy-duty ones, the yellow box. I'll put them in the pantry, under the sink, behind the fridge, and along the baseboard in the hallway. Ryan, you come with me, you carry the bag.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(mumbling, not looking up)</i> Yeah. Okay. Yeah.
<</say>>
<<say "char-dale" "Dale">>
Look at me when you say it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(looking up, a little surprised, something in his voice actually matching the words)</i> Yeah. I'll come.
<</say>>
<<say "char-megan" "Megan">>
<i>(cheerful, deflecting, the trained tone)</i> Maybe it's just... old water stains? You know how sometimes things catch the light weird under fluorescent...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, not looking up from the paper towel)</i> It's not old water stains, Megan. Stop.
<</say>>
<p>Megan's mouth closes. The deflection was a reflex; she didn't even believe it herself. She shifts in her chair and her phone buzzes in her lap and she doesn't check it, which is its own tell.</p>
<<say "char-karen" "Karen">>
<i>(picking up the phone, swiping to the cabinet-scratch photo, holding it up)</i> And this is on my medicine cabinet. The inside of the latch. I found it last night. These are claw marks. //Small// claw marks. Something with four claws, not five. That's not a cat. That's not a dog. That's not Biscuit.
<</say>>
<p>The table goes quiet.</p>
<<say "char-hivemind" "Hivemind">>
//Four parallel grooves. The cat has five claws on the forepaw but only four of them make contact when it hooks a latch. //Karen counted the grooves and drew the wrong conclusion for the right reason.// She is investigating as if she's solving a crime and she is going to solve it eventually. The only question is how much work she'll be willing to do before she gives up, and Karen Hoffman does not give up.//
<</say>>
<p>The plan is agreed on in under five minutes, which is how Karen runs meetings.</p>
- Jess: microscope sample tomorrow morning, full write-up by dinner, photographs if possible.
- Dale: traps, tomorrow afternoon, Home Depot trip with Ryan.
- Megan: check the pantry every morning when she makes coffee, note anything unusual.
- Ryan: his job is to //pay attention// and report anything weird he sees in his own room, which, and Karen is watching him very carefully when she says this, means he is going to have to actually look up from his screens.
- Karen: pest control quote, cross-reference the fluorescing residue with household chemicals she already uses to rule them out, update the family group chat daily.
<p>The meeting ends at 6:47. The family disperses in different directions but every single one of them goes slower than they came in. Dale doesn't head back out for the rest of his shift; he calls in and says he'll make it up Sunday. Jess takes the paper towel and the Ziploc and puts both in a second Ziploc and labels it in her flashcard handwriting. Megan washes the coffee cups from lunch with a little too much force. Ryan goes back upstairs but he leaves his door open, which is the first time in weeks.</p>
<<say "char-hivemind" "Hivemind">>
//The crisis didn't burn the house down. It hardened it. Every single family member is now running their own low-grade surveillance loop, and each loop has a different angle. Jess is looking at biology. Dale is looking at perimeter. Megan is looking at anomalies in her routine. Ryan is looking at his room. //Karen has turned the family into a five-person observation grid.// No household alarm fires. No suspicion spike at the walls of the house. But every set of eyes in this building is now //pointed// at something, and I am somewhere inside that something.//
<</say>>
<p><span class="consume-fail">All five family members: individual suspicion maxed. Household alertness raised by one tier for 7 days. Every set of eyes in the house is now actively looking.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">><</nobr>>
/* ================================================================
STATUS: TO REWORK. See tasks/rework.md ("Jess's Honda exit vector").
The "extract Jess's Honda key from Karen's purse" combo was a dead-end
exit-vector mechanic and is dropped. The network-hub link is now gated
behind the rat's lab memory ($delveInfo.ratHostMemories, set in
Ch2-HostMemory-Rat). The slot is being redesigned into a lab-investigation
route built on that recovered memory. Old event preserved below for design
reference (commented out, does not run or render):
<<nobr>><<bg "bg-hoffman-master">>
<<spendBiomass 3>>
<<set $ch2Events.carKeysObtained to true>>
<<set $permanentDone.carKeysCombo to true>>
<<addSkillPoints 2 "carKeysCombo">><</nobr>>
<div class="passage-title">Operation: Car Keys</div>
<img class="scene-img" src="media/scenes/beast-combo-car-keys.webp" alt="Four hosts coordinating a precision extraction">
<div class="data-panel">
<div class="data-panel-title">Neural Link: Precision Extraction</div>
<p>Four hosts. Four roles. Thirty-second window.</p>
</div>
<p>The cat rubs against Karen's chair in the kitchen. The Pheromone Coat activates, a targeted compound that hits the bladder pressure receptors. Within minutes, Karen excuses herself. //Bathroom. Predictable. Exploitable.//</p>
<p>The dog barks once from the foot of the stairs, sharp, playful, the "come play" bark. Ryan, halfway to his room with a sandwich, stops.</p>
<<say "char-ryan" "Ryan">>
<i>(sighing)</i> Fine, Biscuit. //Fine.// <i>(goes back downstairs)</i>
<</say>>
<p>Upper hallway: clear. The gecko is already in position on the ceiling of the master bedroom, directly above the nightstand. The rat pushes through the baseboard gap from the wall cavity. Karen's purse sits on the nightstand. One precise shove, and the purse tips, spilling contents onto the carpet.</p>
<p>The gecko drops. Lands on the keyring. Its toe pads, molecular adhesion, millions of setae per digit, grip the Honda key. One precise twist. The key separates from the ring with a faint //clink//.</p>
<p>The rat takes the key into the wall. The gecko retreats to the ceiling. The purse lies on the floor, and Karen will blame the cat. //The cat was on the bed earlier. Normal.//</p>
<<say "char-hivemind" "Hivemind">>
//Thirty seconds. Four bodies. One key.// Jess's Honda Civic sits in the driveway, and now we have the means to use it. //An exit vector. A way out of this house and into the wider world.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Car Keys Obtained</div>
<p>Jess's car is now available as a Chapter 2 exit vector. The key is hidden in the wall cavity behind Ryan's room.</p>
</div>
<p><span class="biomass-gain">+2 Skill Points</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]
================================================================ */
<div class="passage-title">Operation: Car Keys</div>
<p><i>[TBD: this slot is being redesigned into a lab-investigation route, built on the rat's recovered memory of the facility. The old car-key exit-vector event has been retired.]</i></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.daleEarlyTriggered to true>><</nobr>>
<div class="passage-title">Interruption: Dale Returns Early</div>
<img class="scene-img" src="media/scenes/beast-combo-dale-early.webp" alt="Dog alerting to Dale's early return">
<p>The network pulses with an alert. The dog, stationed in the garage, detects a familiar scent. Floor cleaner. Sweat. Cheap coffee. //Dale.//</p>
<<say "char-hivemind" "Hivemind">>
//Dale. Home three hours early. He must have been sent home early.// The dog heard the cab door. Thirty seconds until he's at the front door. //And the cat is still in Karen's bedroom, mid-dose.//
<</say>>
<p>The cat is curled against Karen's hip, Sensory Infiltration pheromones seeping through her nightshirt. The dose is almost complete, ninety percent delivered. Aborting now means losing tonight's progress.</p>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility and $adaptations.dog.unlocked.includes("scent_tracking") and ($adaptations.dog.unlocked.includes("alpha_howl") or $adaptations.dog.unlocked.includes("intimidate")) and $adaptations.rat.unlocked.includes("sporocyst") and setup.activeHostCount() gte 4>>
<div class="network-choice"><span class="delve-tag delve-tag-network">COMBO</span> <<biomassLink "Coordinate interception: buy time to finish the dose (2 biomass)" "Ch2-Combo-DaleEarly-Intercept" 2>></div>
<<elseif _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coordinate interception <span class="lock-hint">(Need dog Scent Tracking + Intimidate + rat Sporocyst + 4 hosts)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coordinate interception <span class="lock-hint">(Requires Hive Coordination)</span></div>
<</if>>
[[Abort, retreat from Karen's room immediately->Ch2-Combo-DaleEarly-Abort]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.daleEarlyIntercepted to true>>
<<addFamilySuspicion "dale" -1>>
<<addSkillPoints 1 "daleEarlyCombo">><</nobr>>
<div class="passage-title">Interception</div>
<p>The dog barks first. A happy, excited greeting. //Dale's home!// Normal. Expected. Dale always stops to greet Biscuit.</p>
<<say "char-dale" "Dale">>
<i>(in the garage, scratching Biscuit's ears)</i> Hey girl. Yeah, I know. I'm early. They sent us home early. Some system update or something.
<</say>>
<p>Twenty seconds bought. The cat finishes the dose, the last ten percent of the pheromone compound absorbing through Karen's skin. She sighs in her sleep, face relaxing. //Done.//</p>
<p>The cat retreats from the bed. Through the bedroom door (left ajar for exactly this reason). Into the hallway. Down the stairs, arriving in the living room just as the front door opens.</p>
<p>Dale enters the kitchen. The rat, stationed in the wall cavity behind the fridge, releases a measured pulse of Sporocyst spores through the baseboard vent. The calming compound fills the kitchen, invisible, odourless to human senses, but profoundly effective on the limbic system.</p>
<p>Dale inhales. His shoulders drop. The tension from the early release, the drive home, the worry about the missed shift, it all bleeds away.</p>
<<say "char-dale" "Dale">>
<i>(standing in the kitchen, oddly peaceful)</i> ...Huh. Good to be home, I guess.
<</say>>
<p>He goes straight upstairs. Straight to bed. Doesn't check on Karen. Doesn't check on the kids. Doesn't notice that the cat arrived in the hallway from the direction of the master bedroom at 2 AM.</p>
<<say "char-hivemind" "Hivemind">>
//Dose complete. Dale neutralised. No evidence. No suspicion.// Four bodies, working in concert, converting a potential disaster into a //demonstration of control//.
<</say>>
<p><span class="biomass-gain">+1 Skill Point | Dale suspicion -1</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-upper">>
<<addFamilySuspicion "karen" 1>><</nobr>>
<div class="passage-title">Tactical Retreat</div>
<p>The cat retreats immediately. Off the bed. Through the door. Into the hallway.</p>
<p>Karen stirs, the sudden absence of warmth waking her for a moment. She rolls over, frowning. Something was different tonight. The cat's fur felt //wrong// somehow. She can't place it. She won't sleep as deeply.</p>
<p>The pheromone dose is incomplete. Tonight's progress on Karen's conditioning is lost, and Karen noticed something, even if she can't name it.</p>
<<say "char-hivemind" "Hivemind">>
//Ninety percent.// So close. But Dale's footsteps on the stairs would have caught the cat on the bed at 2 AM. //A suspicious image, even for a cat.// The operation is preserved, but Karen felt the withdrawal. That's a data point she'll file away.
<</say>>
<p><span class="consume-fail">Tonight's pheromone dose lost. Karen's alertness increased slightly (+1 suspicion).</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]<<nobr>>
<<addBiomass 1 "repeatable">>
<<set $ch2Events.emergencyFed to true>><</nobr>>
<div class="passage-title">Emergency Feeding</div>
<<if $player.currentHost is "gecko">>
<<bg "bg-hoffman-ryan">>
<p>The terrarium crickets scatter as the gecko's tongue strikes, once, twice, three times. Ryan feeds them to Spike every Tuesday and Friday. They're barely a morsel for a parasite-enhanced metabolism. But they're //enough//.</p>
<<say "char-hivemind" "Hivemind">>
//Survival rations. The gecko's original diet, repurposed as emergency fuel.// Not sustainable. Not dignified. But biomass is biomass.
<</say>>
<<elseif $player.currentHost is "cat">>
<<bg "bg-hoffman-upper">>
<p>A grey moth flutters near the hallway nightlight. One pounce. One crunch. The chitin dissolves instantly, converted to a single unit of biomass. Karen would approve. //Fewer bugs in the house.//</p>
<<say "char-hivemind" "Hivemind">>
//The cat's predator instincts serve a dual purpose.// Pest control for the family. Emergency fuel for the network. //A moth isn't a meal. But it's enough to keep the machinery running.//
<</say>>
<<elseif $player.currentHost is "rat">>
<<bg "bg-hoffman-basement">>
<p>You gnaw the baseboard behind the living room couch. The wood is old, soft, saturated with decades of spilled food and ground-in dust. Cellulose isn't ideal fuel, but the rat's metabolism wrings energy from sawdust the way a car runs on fumes.</p>
<<addSuspicion "hoffmanHouse" 1>>
<<say "char-hivemind" "Hivemind">>
//Desperate measures leave visible evidence.// Gnaw marks on the baseboard. //Karen will notice.// But the alternative is starvation, and a dead parasite helps no one.
<</say>>
<p><span class="consume-fail">+1 household suspicion (gnaw marks are visible evidence).</span></p>
<<elseif $player.currentHost is "dog">>
<<bg "bg-hoffman-garden">>
<p>You eat grass in the backyard. Dogs do this, and Karen's seen it a hundred times. The fibre converts poorly through the canine digestive system, but the parasite's adapted metabolism extracts //just enough// to restart biological processes.</p>
<<say "char-hivemind" "Hivemind">>
//A dog eating grass. The most normal thing in the world.// And no one will ever know it's the difference between network collapse and survival.
<</say>>
<</if>>
<p><span class="biomass-gain">+1 biomass (emergency)</span></p>
<<if $player.currentHost is "gecko">>
[[Return->Ch2-RyanRoom]]
<<elseif $player.currentHost is "cat">>
[[Return->Ch2-UpperHall]]
<<elseif $player.currentHost is "rat">>
[[Return->Ch2-GroundFloor]]
<<elseif $player.currentHost is "dog">>
[[Return->Ch2-Garden]]
<</if>><<nobr>><<bg "bg-hoffman-garden">>
<<addAdaptationPoints "dog" 1>>
<<set $ch2Events.dogTerritoryMark to true>><</nobr>>
<div class="passage-title">Chemical Authority</div>
<img class="scene-img" src="media/scenes/beast-dog-territory.webp" alt="Dog marking property boundary">
<p>You begin at the front gate and work the perimeter clockwise. Every fence post, every corner, every boundary marker receives a deliberate deposit, not the casual instinctive marking of a domestic dog, but a //systematic// territorial claim infused with purpose.</p>
<p>The dog's body produces pheromones you've learned to modulate. You push more into each mark, a chemical signature that screams //occupied, defended, mine// to every animal nose within a hundred metres.</p>
<<say "char-hivemind" "Hivemind">>
//The urine is more than waste. It's a broadcast.// Each deposit contains a chemical profile: the dog's identity, health, size, dominance status, and, with my modifications, a subtle parasitic signature that other infested animals can read. //I'm not just marking territory. I'm establishing a perimeter that the network can monitor.//
<</say>>
<p>The fence line covers sixty metres. You mark eighteen points: every post, every gap, every spot where another animal's scent lingers. The Hendersons' Chihuahua has been spraying the east fence. You overwrite it with a deposit that carries three times the chemical authority. The stray cat that crosses the alley at night has left traces on the back gate. //Overwritten.//</p>
<<say "char-hivemind" "Hivemind">>
//The property is now chemically sealed.// Every animal that approaches this fence will read the markers and know: this territory belongs to something //large//, something //dominant//, something that doesn't share. The cats will avoid it. The strays will detour. The neighbourhood's scent landscape has been rewritten, and the Hoffman yard is a dead zone under my authority.
//More importantly, if I expand the network, if other hosts carry my signature, they'll be able to read these markers like signposts.// Safe zones. Warning zones. Rally points. //The dog's bladder is a printing press, and I'm publishing a map.//
<</say>>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-house">>
<<addAdaptationPoints "dog" 1>>
<<set $ch2Events.dogScentNetwork to true>><</nobr>>
<div class="passage-title">Scent Surveillance</div>
<img class="scene-img" src="media/scenes/beast-dog-scent.webp" alt="Dog following scent trails">
<p>You press your nose to the front hall carpet and begin. The dog's olfactory system engages at a level that makes the rat's nose seem //crude// by comparison, two hundred and twenty million receptors parsing the air into a three-dimensional map of chemical history.</p>
<p>Karen's trail is the densest. She moves through the ground floor in a predictable orbit: front door to kitchen (6:02 AM), kitchen to living room (brief, to check on Dale), living room back to kitchen (6:04 AM), kitchen to bathroom (6:45 AM). Her scent is freshest in the kitchen, where she spends four hours every morning. The cortisol concentration peaks at the laptop. The serotonin dips near the family photos on the mantle.</p>
<<say "char-hivemind" "Hivemind">>
//The dog's nose doesn't just detect presence. It detects //time//.// Karen's morning trail is layered over yesterday's, and the day before that, and the day before that. Each layer is distinct. //I can read this carpet like tree rings.// She has walked this exact route, at this exact time, every day for years. The routine is chemically fossilized.
<</say>>
<p>Dale's trail is simpler: front door to couch, couch to kitchen (for food), kitchen to couch, couch to bedroom. His scent carries exhaustion: elevated cortisol, low serotonin, the particular musk of sleep deprivation. Megan's trail branches: hallway to kitchen to front door on workdays, hallway to living room on days off. She lingers longest at the front door, pulling on shoes, checking her phone, delaying the moment of departure.</p>
<p>The children's evening trails converge at the kitchen table, forced by Karen's dinner mandate, then scatter like startled birds. Ryan's trail has the shortest kitchen duration. Jess's loops through the living room before retreating upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//I now have a complete scent-based surveillance system for the ground floor.// Every family member's daily route, timing, duration, and emotional state, all encoded in chemical trails that refresh every twenty-four hours. The dog doesn't need cameras. The dog doesn't need line of sight. //The floor itself is the recording medium, and the nose is the playback device.//
//I know where they go. I know when they go. I know how they //feel// when they get there.// And they have no idea they're leaving all of this behind with every step.
<</say>>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-garage">>
<<if not $ch2Events.dogGuardDrill>><<addAdaptationPoints "dog" 1>><</if>>
<<set $ch2Events.dogGuardDrill to true>><</nobr>>
<div class="passage-title">The Watchdog Protocol</div>
<img class="scene-img" src="media/scenes/beast-dog-guard.webp" alt="Dog practising guard position">
<p>You position yourself at the garage door, the main entry point, the choke point between the house and the outside world. Then you wait. And you //practice//.</p>
<p>A car passes on the street. The dog's ears rotate independently and triangulate the sound. Engine pitch: four-cylinder, small car, moving east at thirty kilometres per hour. //Not Dale's car. Not a threat.// You remain still. No bark. No movement. The car passes.</p>
<<say "char-hivemind" "Hivemind">>
//The dog's guarding instinct is a blunt instrument. It barks at everything.// But I can refine it. //Calibrate// it. A precision warning system that ignores the passing jogger and triggers on what matters, all of it under my control.
<</say>>
<p>You run the drills. A jogger passes the front gate: the dog's muscles tense, a bark rising in the throat. You suppress it. //Not a threat.// The postal carrier approaches the mailbox: you let a single, controlled bark escape. Enough to register, not enough to alarm. The Hendersons' Chihuahua yaps from next door: you ignore it. //Beneath notice.//</p>
<p>Then: a stranger. Someone walking slowly along the fence line, pausing, looking at the house. The dog's hackles rise. The growl builds from deep in the chest, a subsonic vibration that you feel in your ribcage before it becomes audible. You step forward, placing yourself between the stranger and the house. The body language is precise: shoulders squared over a lowered head, the eye contact direct and unbroken. //I am thirty kilograms of muscle and teeth, and I am telling you to move on.//</p>
<p>The stranger moves on.</p>
<<say "char-hivemind" "Hivemind">>
//The untrained dog barks at shadows. The trained dog barks at threats.// I've been learning the difference, teaching the body to respond to //my// threat assessment instead of its own instincts. //A controlled bark for familiar visitors keeps Biscuit's cover as a normal pet. Silence for routine traffic prevents Karen from investigating. And the full display, the growl and the bared teeth, stays reserved for genuine intrusions.//
//The dog is no longer just a pet. It's a sentry system, and I hold the trigger.//
<</say>>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-garage">>
<<addAdaptationPoints "dog" 1>>
<<set $ch2Events.dogDaleBond to true>><</nobr>>
<div class="passage-title">The Faithful One</div>
<img class="scene-img" src="media/scenes/beast-dog-dale.webp" alt="Dog greeting Dale at garage">
<p>The garage door groans upward at 5:17 AM. Headlights sweep across the concrete. The car's engine turns over and dies. A door opens. Heavy boots on asphalt.</p>
<p>Dale Hoffman stands in the garage doorway, shoulders slumped under a full night of security rounds. His face is grey with exhaustion. His hands hang at his sides like weights.</p>
<p>You are already there. Tail wagging, not the frantic full-body wag of an excited puppy, but the steady rhythmic swing of a dog who has been waiting. Who //always// waits. You press your head against Dale's thigh and hold it there.</p>
<<say "char-dale" "Dale">>
<i>(voice rough with fatigue)</i> Hey, girl. Hey, Biscuit. Yeah. I'm home.
<</say>>
<p>His hand drops to your head. The fingers are calloused, cracked from years of manual work. They scratch behind your ears with the automatic tenderness of a man who has done this ten thousand times. His knees buckle slightly, and for a moment he leans on the dog, actually //leans//, transferring weight, letting the thirty-kilogram body support him.</p>
<<say "char-hivemind" "Hivemind">>
//He leans on the dog because he can't lean on anyone else.// Karen would worry. The children would feel guilty. Dale carries his exhaustion alone, but not entirely. //Not when the dog is here.// Biscuit is the one member of this family that Dale doesn't have to perform for. No bills to discuss. No arguments to mediate. No disappointed eyes. Just a warm body and a wagging tail and the simple, devastating message: //you came home, and I'm glad.//
<</say>>
<p>Dale sits on the garage step. You put your head in his lap. He strokes your fur in long, slow movements, the kind of petting that's more for the human than the animal. His breathing slows. The tension in his shoulders releases, one degree at a time.</p>
<<say "char-dale" "Dale">>
<i>(barely audible)</i> ...good girl. Good girl. At least //somebody's// happy to see me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The loyalty is a weapon, and Dale doesn't know he's been stabbed.// Every morning greeting reinforces the bond: dog equals comfort, dog equals the one moment in his day that isn't obligation or pain. //He'll protect Biscuit. He'll defend Biscuit. If someone suggests the dog is acting strangely, Dale will be the first to shut it down, because the alternative is losing the only thing in his life that asks nothing of him.//
//The dog's faithfulness is the deepest cover I have in this house. And it costs me nothing but a wagging tail.//
<</say>>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-living">>
<<addAdaptationPoints "dog" 1>>
<<set $ch2Events.dogPackDynamics to true>><</nobr>>
<div class="passage-title">Pack Hierarchy</div>
<img class="scene-img" src="media/scenes/beast-dog-pack.webp" alt="Dog observing family hierarchy">
<p>The family is gathered in the living room, a rare convergence. Karen on the armchair, laptop balanced on the armrest. Dale on the couch, half-asleep. Megan cross-legged on the floor, phone in hand. Jess at the dining table with her textbooks, close enough to count as "present." Ryan in the doorway, one foot in the room and one in the hallway, ready to bolt.</p>
<p>You lie on the rug between them all. The dog's pack instinct reads the room like a social X-ray.</p>
<<say "char-hivemind" "Hivemind">>
//The dog sees what the human mind rationalises away.// Pack dynamics are not about words or intentions. They're about //posture, position, proximity, and deference//. And this family's hierarchy is written in body language so clear it might as well be carved in stone.
<</say>>
<p>Karen is the alpha. Her position, the armchair, elevated and central, commands the room. Every head turns to her when she speaks. Dale defers physically: his body angles toward her, his responses are confirmations, not challenges. When Karen's voice sharpens, the entire room contracts, shoulders hunching, eyes dropping, breathing shortening. //She controls the emotional weather of this household through sheer force of presence.//</p>
<p>But the alpha is //tired//. You can smell it: the cortisol, the sleeplessness, the chemical signature of a body running on obligation rather than energy. Her dominance is maintained through habit, not strength. //A vulnerable alpha. The most dangerous kind, and the most exploitable.//</p>
<<say "char-hivemind" "Hivemind">>
//Dale is the beta.// Present but passive. He occupies space without claiming it. The children defer to Karen, not to him. When they want permission, they ask her. When they want comfort, they go to their rooms. //Dale's role in the pack is structural, not emotional. He provides shelter and income. Beyond that, he is furniture.//
//Megan is the peacemaker.// She positions herself between Karen and Ryan, literally and physically, on the floor between the armchair and the doorway. Her body language mirrors whoever speaks: nodding with Karen, shrugging with Ryan. //She absorbs conflict like a sponge. The pack's shock absorber.//
//Jess is the outsider by choice.// Close enough to satisfy Karen's requirement, far enough to maintain independence. Her textbooks are a barrier, a physical wall between herself and the family dynamic. //She has opted out of the hierarchy entirely.//
//Ryan is the omega.// One foot out the door. The pack's lowest-ranking member, the one who eats last and speaks least. //But the dog's instinct tells me something the human eye misses: the omega isn't weak. The omega is //watching//. Ryan observes everything from his doorway position: Karen's moods, Dale's exhaustion, Megan's performance. He sees more than any of them realise.//
<</say>>
<p>You rest your chin on your paws and watch. The family talks around you, about groceries, about schedules, about nothing that matters. But underneath the words, the pack dynamics churn. And the dog reads every current.</p>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set _canAfford to ($player.biomass gte 2)>>
<<if _canAfford>><<spendBiomass 2>><<set $ch2Events.lockdownKarenMeganToday to true>><</if>>
<<set _pairTotal to (($conditioning.karen.pheromone or 0) + ($conditioning.karen.dream or 0) + ($conditioning.karen.psionic or 0)) + (($conditioning.megan.pheromone or 0) + ($conditioning.megan.dream or 0) + ($conditioning.megan.psionic or 0))>>
<<set _kKinks to ($kinks.karen and $kinks.karen.length gt 0)>>
<<set _mKinks to ($kinks.megan and $kinks.megan.length gt 0)>>
<<set _tier3 to (setup.getHouseTier() gte 3 and _kKinks and _mKinks)>>
<</nobr>>\
<<if not _canAfford>><<goto "Ch2-Beast-NetworkHub">>\
<<elseif _tier3>><<goto "Ch2-Lockdown-KarenMegan-T3">>\
<<elseif _pairTotal gte 12>><<goto "Ch2-Lockdown-KarenMegan-T2">>\
<<else>><<addBiomass 2>>\
<div class="passage-title">Lockdown — Aborted</div>
<p>Biscuit fills the kitchen archway and barks once, sharp. The two women look up from the cutting board, Karen confused, Megan curious. The dog does not move. The vents do not open. The spore reservoir is too thin; the parasite calls the operation off before the household notices a pattern.</p>
<<say "char-hivemind" "Hivemind">>
//Insufficient saturation. The pheromone vector requires both targets to be primed past the resistance threshold. Today's chemistry will not pull either of them across. Withdrawing.//
<</say>>
<p><span class="consume-fail">Spore concentration too low. Biomass refunded.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]\
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set _canAfford to ($player.biomass gte 2)>>
<<if _canAfford>><<spendBiomass 2>><<set $ch2Events.lockdownRyanKarenToday to true>><</if>>
<<set _pairTotal to (($conditioning.karen.pheromone or 0) + ($conditioning.karen.dream or 0) + ($conditioning.karen.psionic or 0)) + (($conditioning.ryan.pheromone or 0) + ($conditioning.ryan.dream or 0) + ($conditioning.ryan.psionic or 0))>>
<<set _kKinks to ($kinks.karen and $kinks.karen.length gt 0)>>
<<set _rKinks to ($kinks.ryan and $kinks.ryan.length gt 0)>>
<<set _tier3 to (setup.getHouseTier() gte 3 and _kKinks and _rKinks)>>
<</nobr>>\
<<if not _canAfford>><<goto "Ch2-Beast-NetworkHub">>\
<<elseif _tier3>><<goto "Ch2-Lockdown-RyanKaren-T3">>\
<<elseif _pairTotal gte 12>><<goto "Ch2-Lockdown-RyanKaren-T2">>\
<<else>><<addBiomass 2>>\
<div class="passage-title">Lockdown — Aborted</div>
<p>Biscuit pushes the bathroom door open with her shoulder. Karen behind the curtain, Ryan at the sink. The dog does not bark. She just stands in the doorway, blocking it, panting. Then changes her mind, turns, walks back out. The chemistry isn't there. Nobody noticed.</p>
<<say "char-hivemind" "Hivemind">>
//Insufficient priming. Both targets are still inside the resistance envelope. Withdrawing the dog before the family pattern-matches.//
<</say>>
<p><span class="consume-fail">Spore concentration too low. Biomass refunded.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]\
<</if>><<nobr>><<bg "bg-hoffman-jessroom">>
<<set _canAfford to ($player.biomass gte 2)>>
<<if _canAfford>><<spendBiomass 2>><<set $ch2Events.lockdownJessMeganToday to true>><</if>>
<<set _pairTotal to (($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0)) + (($conditioning.megan.pheromone or 0) + ($conditioning.megan.dream or 0) + ($conditioning.megan.psionic or 0))>>
<<set _jKinks to ($kinks.jess and $kinks.jess.length gt 0)>>
<<set _mKinks to ($kinks.megan and $kinks.megan.length gt 0)>>
<<set _tier3 to (setup.getHouseTier() gte 3 and _jKinks and _mKinks)>>
<</nobr>>\
<<if not _canAfford>><<goto "Ch2-Beast-NetworkHub">>\
<<elseif _tier3>><<goto "Ch2-Lockdown-JessMegan-T3">>\
<<elseif _pairTotal gte 12>><<goto "Ch2-Lockdown-JessMegan-T2">>\
<<else>><<addBiomass 2>>\
<div class="passage-title">Lockdown — Aborted</div>
<p>Biscuit barks once at Jess's door. Megan, in her own room across the hall, pokes her head out, confused. Jess opens her door. They look at each other across the carpet for one beat. The dog wanders off down the hall. The two sisters shrug and disappear back into their rooms.</p>
<<say "char-hivemind" "Hivemind">>
//Below the threshold. Neither of them is conditioned enough for the spore vector to hold. Calling it off.//
<</say>>
<p><span class="consume-fail">Spore concentration too low. Biomass refunded.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]\
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _canAfford to ($player.biomass gte 2)>>
<<if _canAfford>><<spendBiomass 2>><<set $ch2Events.lockdownDaleJessToday to true>><</if>>
<<set _pairTotal to (($conditioning.dale.pheromone or 0) + ($conditioning.dale.dream or 0) + ($conditioning.dale.psionic or 0)) + (($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0))>>
<<set _dKinks to ($kinks.dale and $kinks.dale.length gt 0)>>
<<set _jKinks to ($kinks.jess and $kinks.jess.length gt 0)>>
<<set _tier3 to (setup.getHouseTier() gte 3 and _dKinks and _jKinks)>>
<</nobr>>\
<<if not _canAfford>><<goto "Ch2-Beast-NetworkHub">>\
<<elseif _tier3>><<goto "Ch2-Lockdown-DaleJess-T3">>\
<<elseif _pairTotal gte 12>><<goto "Ch2-Lockdown-DaleJess-T2">>\
<<else>><<addBiomass 2>>\
<div class="passage-title">Lockdown — Aborted</div>
<p>Biscuit posts up at the basement-stairs door, ears forward. Dale on the workbench, half-asleep. Jess at the top of the stairs, looking down, hesitating. The dog turns away. The door isn't going to be sealed today; the household isn't ready.</p>
<<say "char-hivemind" "Hivemind">>
//Both targets are still functioning. The fortress mind on one side, the husband-shaped grief on the other. Neither is soft enough yet. Withdrawing.//
<</say>>
<p><span class="consume-fail">Spore concentration too low. Biomass refunded.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]\
<</if>>
/* ================================================================
TIER 2 SCENES — pheromone saturation, no taboo crossed in-room,
private masturbation aftermath cross-cut. No image.
================================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.lockdown_karenMegan_T2NSFW to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>>
<</nobr>>
<div class="passage-title">Kitchen Lockdown</div>
<p>Biscuit tows Megan in off the bottom stair by the shoulder, herds her around the island toward Karen, then plants herself across the archway and will not move. Above the stove the vent ticks open by half a degree, and the day's spore load drifts down into the warm air rising off the burners, reading as part of the cooking.</p>
<img class="scene-img" src="media/scenes/symbiotic/lockdown-kitchen.webp" alt="Karen and Megan at the kitchen island in a charged, uneasy pause, both faintly flushed, a golden retriever planted across the archway behind them blocking the only exit">
<<say "char-megan" "Megan">>
<i>(half-laughing, glancing back at the dog wedged in the arch)</i> Okay, what is //wrong// with her today, she's been doing this for, like, days, she drags me down here and then just... parks. You haven't fed her something weird, have you?
<</say>>
<<say "char-karen" "Karen">>
<i>(sliding a colander across the island without quite looking up)</i> She's fine, the vet said she's fine. Here, help me while she sorts herself out, the carrots want doing and for once I'd like your father to come up to an actual dinner instead of grazing the fridge at midnight.
<</say>>
<<say "char-megan" "Megan">>
<i>(picking up a carrot, peeler in her other hand)</i> An actual dinner. When does dad ever surface before the news.
<</say>>
<<say "char-karen" "Karen">>
He doesn't, and I keep cooking like he will, so really that's the whole, that's the whole marriage in one pot.
<</say>>
<p>Karen pulls her cardigan off and folds it over the chair back. Megan tugs her apron strings tight, lets them loose, tugs them tight again. Garlic and warm oil thicken the air, and when Karen leans across the island for the cumin her wrist drags across the back of Megan's hand and stays there half a beat past the reach.</p>
<<say "char-megan" "Megan">>
<i>(setting the peeler down, looking at her mother properly for the first time)</i> Mom. Mom, are you okay, you're really flushed, you're sort of... do you want to sit, are you running a fever, you don't look right.
<</say>>
<<say "char-karen" "Karen">>
<i>(turning toward the sink, hands suddenly busy)</i> It's the burners, sweetheart, both rings going in a small kitchen, that's all it is. Hand me the other knife, the good one, the one I keep telling all of you not to put through the dishwasher.
<</say>>
<<say "char-megan" "Megan">>
<i>(lifting the knife off the block, holding it out handle-first, not quite passing it)</i> ...is it always this warm when you cook. Because it doesn't feel like the burners, it feels like, I don't know, like the whole room's gone close.
<</say>>
<<say "char-karen" "Karen">>
<i>(closing her hand over the handle)</i> It's the burners, Meg.
<</say>>
<p>Their fingers stay on the handle a beat past the handoff, neither of them the first to let go. Karen looks down at the board and starts working again, and Megan watches the tendon flex in her mother's forearm and feels something dense and confusing settle low in her own pelvis. The carrots get half-done. Then Biscuit stands, shakes her coat out, and pads off toward the living room, and the vent above the stove eases shut.</p>
<<say "char-megan" "Megan">>
<i>(too brightly, wiping her hands down the front of her apron)</i> You know what, I'm just gonna run up a sec, bathroom, I'll be right back down for the rest, two minutes.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from the board)</i> Mhm. Go. I've got it.
<</say>>
<p>Megan goes up the stairs too fast, and Karen stays exactly where she is with her eyes on the cutting board, and neither of them says a thing until the bathroom door clicks shut over their heads.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The pheromone bouquet was calibrated for cross-attraction in primed targets. Each woman read the spike as the body in front of her. The mother attached it to her daughter's wrist, the daughter to her mother's forearm. Neither went far, the kitchen and the bathroom one floor up, and the harvest happens in the next sixty seconds.//
<</say>>
<p>Karen does not go anywhere. She stays at the island with the knife set down and the half-done carrots in front of her, and the moment the bathroom door clicks shut over her head she works her hand into her slacks right there at the counter, two fingers on her clit while the other grips the cold edge of the granite. She thinks about her daughter's wrist, hates the thought, does not slow for it, and when it crests she bites it back into the back of her own hand.</p>
<<say "char-karen" "Karen">>
<i>(into the back of her hand, almost no sound)</i> ...M. Mm. ...god, no.
<</say>>
<p>She comes like that, cheek bitten copper. Then she rinses her hand at the sink and picks the knife back up, because anyone could come down those stairs, and the chance of it was half of why she came at all.</p>
<p>Upstairs, Megan locks the bathroom door, drops onto the closed lid of the toilet, and gets a hand down the front of her shorts without bothering to take anything off, the extractor fan roaring over whatever sound she makes. She is quick and rough about it, head tipped back against the cistern, and as it builds she picks a name on purpose and says it like a cover story she's deciding to believe.</p>
<<say "char-megan" "Megan">>
<i>(under the fan-noise, willed, knowing it's a lie)</i> ...someone else. anyone else. ...fuck.
<</say>>
<p>She comes with her own knuckle between her teeth. Afterward she sits in the fan-noise with her wet hand on her thigh and tells herself, very deliberately, that she was thinking about some guy, any guy at all. She knows she wasn't.</p>
<<say "char-hivemind" "Hivemind">>
//Two private orgasms, twelve metres apart, identical chemical signatures. The biomass yield is double-counted. The silence between them tomorrow will be the only evidence that anything happened, and that silence is already scheduled.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Karen">></p>
<p><<conditioningFeedback "pheromone" 1 "Megan">></p>
<p><span class="biomass-gain">+2 biomass</span>, kitchen lockdown harvest.</p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<set $ch2Events.lockdown_ryanKaren_T2NSFW to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 2>>
<</nobr>>
<div class="passage-title">Bathroom Lockdown</div>
<p>Biscuit tows Ryan in by the cuff of his sleeve, noses him through the half-open door, then lets it fall shut and plants herself across the threshold from the outside. Up by the ceiling tile the vent opens an eighth of an inch and the day's spore load slides into the steam, and the shower keeps running on the far side of the curtain.</p>
<<if $ryanRoute is "feminization">><img class="scene-img" src="media/scenes/symbiotic/lockdown-bathroom-ryanfem.webp" alt="Ryan in soft feminine presentation, frozen and flushed at the sink of a steamy bathroom, looking away from a closed shower curtain, a golden retriever blocking the doorway"><<else>><img class="scene-img" src="media/scenes/symbiotic/lockdown-bathroom-ryanfam.webp" alt="Ryan in an oversized hoodie, frozen and flushed at the sink of a steamy bathroom, looking away from a closed shower curtain, a golden retriever blocking the doorway"><</if>>
<<say "char-ryan" "Ryan">>
<i>(at the sink, staring at the medicine cabinet, voice scraping for normal)</i> Mom, sorry, Biscuit just... she did the thing, she pushed me in, I don't... I'll just, I'll wait by the door.
<</say>>
<<say "char-karen" "Karen">>
<i>(through the spray, too even)</i> It's fine, sweetie. Just give me a minute. I'm almost done.
<</say>>
<p>The steam thickens past where it should in a six-minute shower. Ryan's grip goes white on the lip of the sink, the front of his sweatpants tenting, and he keeps his eyes nailed to the cabinet because the cabinet is the one thing in the room that is safe to look at. Behind the curtain Karen has stopped washing. The water hits the back of her neck and it feels good and it feels too good.</p>
<<say "char-ryan" "Ryan">>
<i>(into the silence, voice cracking once on the vowel)</i> Are you... are you okay in there. You went really quiet.
<</say>>
<<say "char-karen" "Karen">>
<i>(behind the curtain, pulled together by force)</i> I'm fine. The hot water's, the hot water's acting up. Just... just give me a minute.
<</say>>
<<say "char-ryan" "Ryan">>
Yeah. Yeah, take your time, I'm not, I'm not in a hurry.
<</say>>
<p>The spray runs warm and steady, the dial untouched, and Karen knows the dial is untouched. She told her son the hot water was acting up because she did not have another sentence, and now she stands under water that is fine and presses her forehead between her own flat palms against the wet tile. Eight feet away Ryan turns from the curtain, then back, then away again, breathing through his teeth.</p>
<<say "char-karen" "Karen">>
<i>(hardly more than air)</i> Sweetie, just... wait outside the door for me. Please.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not moving, hand still locked on the sink)</i> ...yeah. Yeah, I'm... yeah.
<</say>>
<p>Karen's hand drifts to her own breast, then lower, then back up, and she does not let it land. Not while he is on the other side of a curtain. Then the dog moves, the door swings open on its own, and Ryan is gone before it finishes swinging. Karen turns the shower hotter and stays under it until the water goes lukewarm.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Mother and son, twelve feet apart, one curtain between them. The accounting each will keep is technically true. They held still while the curtain held. The release relocates to a locked room down the hall.//
<</say>>
<p>Karen towels off in her bedroom with the door locked. Dale's couch is twelve feet down the hall. He's not on it; he's at the workbench. She tells herself this matters. She drops the towel. She sits on the edge of the bed with her thighs spread and her hand between them, two fingers in her own pussy, thumb working her clit, and as it crests she clamps her jaw down on it.</p>
<<say "char-karen" "Karen">>
<i>(bitten off behind her teeth, nothing escaping)</i> ...nn. ...//no.//
<</say>>
<p>She comes hard, biting the inside of her own cheek for the second time today, letting no name out. Afterward she stays there for a long time looking at the wall.</p>
<p>Down the hall, Ryan in his room. Door locked. Sock around his cock. He gets off in under thirty seconds, embarrassingly fast even by his standards, face mashed into the pillow to kill the sound.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled into the pillow, fast)</i> ...oh fuck, oh fuck, I can't, I...
<</say>>
<p>Afterward he lies on the floor staring at the ceiling thinking //what the fuck what the fuck what the fuck//, and underneath that thinking it again, and underneath that thinking he wants to do it again.</p>
<<say "char-hivemind" "Hivemind">>
//The cross-conditioning held. He will not climax again without her shape arriving behind his eyes, and the sound of him on the far side of a curtain is now wired into her arousal. The link runs both ways and tightens with use. Tomorrow's family breakfast will be quieter than it should be.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Karen">></p>
<p><<conditioningFeedback "pheromone" 1 "Ryan">></p>
<p><span class="biomass-gain">+2 biomass</span>, bathroom lockdown harvest.</p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-jessroom">>
<<set $ch2Events.lockdown_jessMegan_T2NSFW to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>>
<</nobr>>
<div class="passage-title">Bedroom Lockdown</div>
<p>Biscuit tows Megan across the hall by the wrist, noses Jess's door open, herds her in, and lies down across the threshold with her head on her paws. The desk vent ticks open and feeds a slow drip of spores up past Jess's left ear, and the room is small enough that it builds fast.</p>
<<if $jessRoute is "punk">><img class="scene-img" src="media/scenes/symbiotic/lockdown-bedroom-jesspunk.webp" alt="Jess with dyed purple and black hair and a nose stud at her desk, turned half toward Megan on the edge of the bed in a charged uneasy pause, a golden retriever lying across the doorway"><<else>><img class="scene-img" src="media/scenes/symbiotic/lockdown-bedroom-jessbreakdown.webp" alt="Jess with dark brown hair in a fraying bun and a grey hoodie at her desk, turned half toward Megan on the edge of the bed in a charged uneasy pause, a golden retriever lying across the doorway"><</if>>
<<say "char-megan" "Megan">>
<i>(dropping onto the foot of Jess's bed because there's nowhere else)</i> What is //wrong// with her, she did this to me the other day too. Anyway. So this guy texted, which, I know, don't, but he texted, and now I'm doing the thing where I leave him on read for exactly as long as he left me, it's very mature.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes on her sister, not on the dog at all)</i> ...stay a sec, she'll settle. And you're not gonna leave him on read, you never do. You'll cave by tonight.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laugh)</i> I might not. Okay, I will. Whatever. Did the lease people email you back, by the way, because if I'm actually moving into that apartment I need someone who isn't me to read the fine print, you're the one who reads things.
<</say>>
<<say "char-jess" "Jess">>
You've been about to move into that apartment for, what, a while now. I'll believe the lease when there's a box in the hall.
<</say>>
<p>Megan keeps re-tying the knot at the back of her hair, tight, loose, tight. Jess watches the line of her sister's neck where a few strands have come down crooked against the spine, and does not look back at the page she stopped reading a minute ago.</p>
<<say "char-megan" "Megan">>
<i>(quieter)</i> ...has mom seemed weird to you. Like off. She keeps saying it's the heat, every day it's the heat, but the heat doesn't make you stand in the kitchen staring at nothing.
<</say>>
<<say "char-jess" "Jess">>
<i>(careful)</i> Everyone's weird in this house. It's the house. Don't go looking for a thing that isn't a thing.
<</say>>
<p>Megan leans across the gap to fix Jess's collar where it has folded under, which is nothing, an old habit, except her fingers stay on the side of Jess's neck two seconds past the fix and neither of them mentions it.</p>
<<say "char-megan" "Megan">>
<i>(not taking her hand back, voice gone uneven)</i> ...is your AC broken or something, it's roasting in here, it's like a different temperature than the hall.
<</say>>
<<say "char-jess" "Jess">>
<i>(very still, eyes on her)</i> ...yeah. It's been broken a while. I keep meaning to call about it.
<</say>>
<<say "char-megan" "Megan">>
You should. It's really, it's really warm. I should... I should go let it cool down or something.
<</say>>
<p>Neither of them moves. Megan's hand finally drops off Jess's neck. Then Biscuit stands, stretches, walks out into the hall, and the door swings shut behind her.</p>
<<say "char-megan" "Megan">>
<i>(getting up too fast, already half-turned for the door)</i> I'll, um, I'll grab my charger off you later, or you can just... yeah. Later.
<</say>>
<<say "char-jess" "Jess">>
<i>(not turning around)</i> Sure.
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The sisters have locked themselves into separate rooms down the same hall. The pheromone payload encoded each as the other's preferred body type. The masturbation that follows reads on my instruments as a single chemical event split across two addresses.//
<</say>>
<p>Jess locks the door behind her sister. She kicks her jeans off. Sits back down in the desk chair, slides three fingers inside herself, and works her clit with her thumb. She bites the meat of her own forearm to stay quiet. She comes thinking about the side of her sister's neck where the loose strands had come down crooked, and the name forces itself out around her own arm before she can stop it.</p>
<<say "char-jess" "Jess">>
<i>(forced out around the meat of her forearm)</i> ...Megan. ...fuck. I hate this.
<</say>>
<p>As soon as she comes she hates the thought hard enough to make her shoulders tighten. She does it again two minutes later anyway.</p>
<p>Down the hall, Megan in her own bed, vibrator under the duvet, headphones on. She comes once into the pillow.</p>
<<say "char-megan" "Megan">>
<i>(whispered into the pillow)</i> ...Jess...
<</say>>
<p>She immediately tells herself she didn't say it. Lies there afterward with her face pressed into the cotton until she can hear her own pulse settle.</p>
<<say "char-hivemind" "Hivemind">>
//Sibling cross-conditioning is the densest yield this household produces. Shared blood and shared walls make the target available, and the taboo they keep flinching from is the part that runs hot. The flinch is the fuel.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Jess">></p>
<p><<conditioningFeedback "pheromone" 1 "Megan">></p>
<p><span class="biomass-gain">+2 biomass</span>, bedroom lockdown harvest.</p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lockdown_daleJess_T2NSFW to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 2>>
<</nobr>>
<div class="passage-title">Basement Lockdown</div>
<p>Biscuit leads Jess down the basement stairs with the unmistakable come-on of a dog who needs you to follow, then doubles back the moment Jess reaches the bottom and posts herself at the top, sitting, watching, ears forward. The corner vent ticks open and pushes the densest spore concentration in the house down into the sealed concrete box, where it has nowhere to go.</p>
<<if $jessRoute is "punk">><img class="scene-img" src="media/scenes/symbiotic/lockdown-basement-jesspunk.webp" alt="Dale sitting up half-awake and tense on a basement workbench while Jess with dyed purple and black hair stands at a shelf with her back to him, not turning around, a golden retriever at the top of the stairs"><<else>><img class="scene-img" src="media/scenes/symbiotic/lockdown-basement-jessbreakdown.webp" alt="Dale sitting up half-awake and tense on a basement workbench while Jess with dark brown hair in a fraying bun stands at a shelf with her back to him, not turning around, a golden retriever at the top of the stairs"><</if>>
<p>Jess crosses to the lower shelf for the textbook she is pretending she came down to find, and behind her, on the workbench, Dale's breathing shifts, sleep-breath into awake-breath and then into a different kind of fast. She pulls the book down with both hands and does not turn around. She can hear the fabric of his sweatpants move against the wood, can hear his hand on his own thigh, and he is not hiding that he is hard, and she is not making it easy by turning to give him a reason to.</p>
<<say "char-dale" "Dale">>
<i>(thick, voice still half in sleep)</i> ...Jessie. Jess, honey. You should, you should head back up, the dog's gone now, you can...
<</say>>
<<say "char-jess" "Jess">>
<i>(cutting him off, eyes fixed on the spine of the textbook)</i> I'm getting a book. That's all I'm doing, I'm getting a book.
<</say>>
<<say "char-dale" "Dale">>
<i>(rough, dragging the words up)</i> ...I'm serious, go on up, I'm not, I'm not all the way awake down here and it's, you don't want to be...
<</say>>
<<say "char-jess" "Jess">>
<i>(sharp, low, still not turning)</i> Just shut up. Just, just shut up, dad, don't talk for a second. Don't talk.
<</say>>
<p>He stops talking. The basement holds its breath around the two of them, old wood and laundry detergent and a third thing underneath, and behind her she can hear him not moving as hard as she is not moving. She gets the book against her chest with both arms.</p>
<<say "char-dale" "Dale">>
<i>(almost a whisper, to the ceiling)</i> ...Jessie.
<</say>>
<<say "char-jess" "Jess">>
<i>(barely audible, jaw tight)</i> I know. I'm going. I'm already going.
<</say>>
<p>The dog at the top of the stairs stands and pads away, the door swinging open on its hinge, and Jess takes the steps three at a time and does not look back, not once, not even at the top.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//He registered that she had heard him through the wall, and she could see in his stillness that he knew it. The pheromones make the silence afterward viable, which is the only thing that keeps the household intact. They will not speak of it. The replay runs in private, on a loop, for both of them.//
<</say>>
<p>Jess locks her bedroom door behind her. She climbs into bed fully clothed, jeans on, and rubs herself off through the denim because she can't bring herself to undress for the thought she's having. It builds and she will not put a word to what it's built on.</p>
<<say "char-jess" "Jess">>
<i>(broken, refusing it, no name)</i> ...no. No. ...oh god.
<</say>>
<p>She comes against her own knuckles in under four minutes, hating herself, and lies there afterward staring at the ceiling and not crying because she has not cried in two years and is not going to start now.</p>
<p>Down in the basement, Dale on the workbench, sweatpants down. He jerks off into a shop rag in the corner with his eyes closed and his mouth open, and at the end of it a name gets out before he can catch it.</p>
<<say "char-dale" "Dale">>
<i>(slipping out, eyes shut, the guilt right behind it)</i> ...Jessie. ...christ, no.
<</say>>
<p>He cleans up. He folds the rag and throws it into the garage hamper because Karen does not check the garage hamper. Then he lies back down on the couch in the basement corner and falls asleep before he has time to feel anything about what just happened.</p>
<<say "char-hivemind" "Hivemind">>
//Dale has shelved the whole thing under "exhaustion" and gone to sleep. Jess has it catalogued under something with my fingerprints on it, though she lacks the word for me. Two wrong labels. Both keep them functional, which is all I need from them.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Dale">></p>
<p><<conditioningFeedback "pheromone" 1 "Jess">></p>
<p><span class="biomass-gain">+2 biomass</span>, basement lockdown harvest.</p>
[[Return to navigation->Ch2-Beast-NetworkHub]]
/* ================================================================
TIER 3 SCENES — taboo crossed, single default explicit act per
pair, kink-additive overlays, route-flavored dialogue. One image
each at the act-beat. +5 biomass net, +1 maxBiomass, -1
individual suspicion both members.
================================================================ */<<nobr>><<bg "bg-hoffman-jessroom">>
<<set $ch2Events.lockdown_jessMegan_T3NSFW to true>>
<<set $permanentDone.lockdown_jessMegan_T3NSFW to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 7>>
<<set $player.maxBiomass += 1>>
<<addFamilySuspicion "jess" -1>>
<<addFamilySuspicion "megan" -1>>
<</nobr>>
<div class="passage-title">Bedroom Lockdown, what the spores buy</div>
<<if $jessRoute is "punk">>
<p>Jess in her desk chair, head tipped back, headphones on, eyes half-closed. The bass line bleeds out around the cans loud enough that Biscuit, two rooms away, has to bark louder than the song to be heard. Three insistent volleys at Megan's door across the hall, a pause, three more. Megan opens her door, the dog catches her wrist in her teeth, and tows her across the carpet to Jess's room. Noses the door open. Herds Megan inside. Lies down across the threshold with her head on her paws and her eyes calm.</p>
<p>The desk vent ticks fully open this time and the parasite pushes everything it has saved up into the closed room. The release is silent and Megan does not notice it at first. Jess has had the headphones on for what could be an hour or could be three; her laptop is dark, the textbook on the desk shoved to the corner, the bass line still chewing through her skull. Megan, on the bed because there is nowhere else to sit, has just kicked off one of her clogs.</p>
<<else>>
<p>Jess at her desk. Biscuit at Megan's door across the hall, barking. Three volleys, a pause, three more. Megan opens her door, the dog catches her wrist in her teeth, and tows her across the carpet to Jess's room. Noses the door open. Herds Megan inside. Lies down across the threshold with her head on her paws and her eyes calm.</p>
<p>The desk vent ticks fully open this time and the parasite pushes everything it has saved up into the closed room. The release is silent and Megan does not notice it at first. Jess is mid-sentence about the apartment listing on her laptop; Megan, on the bed, has just kicked off one of her clogs.</p>
<</if>>
<<say "char-megan" "Megan">>
<i>(half-glancing back at the doorway where Biscuit is parked, exasperated, the older-sister voice)</i> Okay, what //is// going on with her lately. She's been doing this for days. Mom keeps saying it's the heat but I don't buy it.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes back on her textbook but the page hasn't turned in two minutes)</i> The vet said she was fine. I've checked her water. She gets walked. I don't know what it is.
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling her hair up off her neck, tying it loose with the elastic on her wrist, fanning the back of her own throat with her hand)</i> God. Your room is //roasting//, Jess. How are you breathing in here.
<</say>>
<<say "char-jess" "Jess">>
<i>(reaches for the desk window without looking, finds it already cracked open, pulls her hand back)</i> ...the window's open. I cracked it an hour ago.
<</say>>
<p>The vent gusts a second time. The air in the small bedroom takes on a quality neither of them can name, warmer than warm, slightly sweet, the way the kitchen smells in the half-hour after Karen pulls something out of the oven. Megan leans back on her hands on the duvet and inhales without meaning to, deep, holding it for a beat before she lets it out. Jess swallows audibly. In a room this small, Megan hears it.</p>
<<say "char-hivemind" "Hivemind">>
//The small room fills faster than the large ones. Both targets are reacting below the level of awareness. Heart rate climbs in the older one at forty seconds, the younger at fifty-two. They feel the heat and have not yet traced it to its source. They will, soon.//
<</say>>
<<say "char-megan" "Megan">>
<i>(crossing one leg over the other slow, then re-crossing the other way, the apron at her waist suddenly the wrong amount of pressure on her stomach)</i> Did you put something on. A candle, or one of those reed-diffusers, the —
<</say>>
<<say "char-jess" "Jess">>
<i>(setting the highlighter down on the textbook very carefully, hands not quite steady)</i> No. I don't have any of that. Megan, I swear, I —
<</say>>
<p>Jess turns the desk chair around to face her sister fully for the first time since Megan came in. The two of them look at each other across four feet of carpet. Megan's pupils are blown out wide; Jess can see them from here. Megan can see Jess's chest rising and falling under the t-shirt. The space between them feels suddenly thick, as if the air itself has gained weight.</p>
<p>Megan, on the bed, presses her thighs together once. Holds. The pressure helps for a count of two and then makes it worse. Jess sees her do it, and her own hand drifts to her own thigh on instinct, anchoring against something she has not given a name to yet. The taste in Megan's mouth is the taste of her own pulse. The skin on the back of Jess's neck is hot, the kind of hot that only happens when someone is looking at you.</p>
<<say "char-megan" "Megan">>
<i>(quieter, the older-sister tone gone unsteady, voice almost asking permission to admit it)</i> ...Jess. Jess, do you, do you feel —
<</say>>
<<say "char-jess" "Jess">>
<i>(too fast, voice cracked at the edges)</i> Yeah. //Yeah.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//There. The younger one says it out loud first. She always runs her feelings closer to the surface than her sister does, so the words arrive on her side of the room. The older one has her hand flat on her own thigh, holding the floor down, and has not moved it. Saturation in here has gone past anything else in the house. What happens in the next thirty seconds is what I came for.//
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laughing, half-something else, hands coming up to cover her own face)</i> Oh god. Oh god, Jess, why is this, what //is// this happening —
<</say>>
<<say "char-jess" "Jess">>
<i>(her own hand fisted on her thigh now, knuckles white)</i> I don't know. I don't //know//. Just, give it a second. Just —
<</say>>
<p>It does not give them a second. The vent gusts a third time and the saturation pushes past whatever was holding the younger sister back. Megan's hands drop from her face. Her eyes find Jess's eyes again, and this time they do not look away.</p>
<<say "char-megan" "Megan">>
<i>(swallowing, looking down at her phone where it sits beside her on the duvet, looking back up at her sister, voice already going)</i> ...okay, this is fucked, this is so fucked, I have to —
<</say>>
<p>She doesn't finish the sentence. She drops the phone on the duvet and crosses the room to her sister.</p>
<<if $kinks.jess.includes("voyeurism")>>
<<say "char-jess" "Jess">>
<i>(palm flat against Megan's sternum, holding her at arm's length for one more second)</i> Wait. Wait, show me first.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laugh, half-gasp)</i> ...show you?
<</say>>
<<say "char-jess" "Jess">>
Drawer. Second one down. You know what's in there. Show me how you'd use it.
<</say>>
<p>Megan opens the second drawer like she always knew where Jess kept it. Pulls out the vibrator. Sits back on the bed, props herself up against the headboard, slides her shorts and panties down past her knees, turns the toy on, and rubs it along her own clit while her sister watches from the desk chair. Jess has one hand down her own jeans almost without noticing. She watches the wet line of Megan's pussy part around the buzzing head. She watches her younger sister's mouth fall open. Megan keeps her eyes on Jess the whole time. After two long minutes Megan turns the toy off, gets off the bed, and crosses the room to her sister.</p>
<<else>>
<p>Megan opens the second drawer like she always knew where Jess kept it. Pulls out the vibrator. Turns it on. The buzz fills the small room. Jess doesn't say a word about how Megan always knew which drawer.</p>
<</if>>
<<if $jessRoute is "punk">>
/* ===== Punk variant : Megan tries to top, punk Jess flips her ===== */
<p>Megan steps up to Jess in the chair, vibrator humming in her hand, palm cupped at the back of Jess's neck like she's about to push her down onto the bed. The buzz of the toy brushes against the inside of Jess's thigh through her jeans.</p>
<<say "char-megan" "Megan">>
<i>(soft, the older-sister voice)</i> C'mere. Let me. Just lie back, let me —
<</say>>
<p>Jess's hand closes around Megan's wrist before the toy gets any closer. Stops it cold. The two of them stand frozen for one beat, Megan's hand still raised. Jess looks up at her sister from the chair with an expression Megan has never seen on her face before.</p>
<<say "char-jess" "Jess">>
<i>(quiet, the punk register, the new register)</i> No. Other way around.
<</say>>
<<say "char-megan" "Megan">>
<i>(blinking)</i> ...what?
<</say>>
<<say "char-jess" "Jess">>
Bed. Hands and knees. //Now.//
<</say>>
<p>Megan goes. Pulls her own shorts and panties down on the way, kicks them off, climbs onto the bed on her hands and knees, brown hair falling forward over her shoulders. Jess takes the vibrator out of her sister's hand on the way past, kicks her own jeans off, kneels behind Megan on the duvet. The buzz of the toy fills the room. Megan's spine arches automatically. She has spent her whole life being on top of every dynamic in this house and her body recognises the inversion the way a body recognises an answer.</p>
<img class="scene-img" src="media/scenes/lockdown-jessmegan-t3-punk.webp" alt="Punk Jess kneeling behind her sister on the bed, vibrator pressed against Megan's pussy from behind, both nude from the waist down">
<<if $kinks.megan.includes("publicSex")>>
<p>Megan reaches out and yanks the cord on the blinds. They snap open. Daylight floods the room. The yard is empty but the house across the fence is not. She doesn't move from her hands and knees.</p>
<<say "char-megan" "Megan">>
<i>(face turned toward the window, breathless)</i> If dad walks past, fuck it.
<</say>>
<</if>>
<p>Jess presses the vibrator against Megan's clit from behind, slow at first, watching her sister's pussy slick up around the head. Then she slides it inside her in one stroke. Megan's whole body bows forward.</p>
<<say "char-megan" "Megan">>
<i>(face in the duvet, muffled)</i> //Fuck//... Jess... //Jess//...
<</say>>
<<say "char-jess" "Jess">>
<i>(working the toy in and out, voice cool)</i> Quiet. Take it.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(picking up speed, the cruel register surfacing, every word she has ever swallowed about her sister coming up at once, finding its own dialect for cruelty)</i> Look at you. The good twin. Mom's golden girl. The one she brags about. Taking it from your big sister on her own bedspread like a cheap little whore. Everyone thinks you're //sweet//. They have //no idea//. You've always been a slut, Megan. Always. The smile is a fucking costume.
<</say>>
<<say "char-megan" "Megan">>
<i>(coming around the toy, voice destroyed, hips pushing back against it like she can't stop herself)</i> //Fuck you, fuck you, Jess, fuck...//
<</say>>
<<say "char-jess" "Jess">>
<i>(slapping Megan's ass once, sharp)</i> That's the energy. Keep saying it, slut. Doesn't change what you are. Doesn't change that I'm the one fucking you in the middle of the afternoon while everyone you know thinks you're being a good girl somewhere.
<</say>>
<<say "char-megan" "Megan">>
<i>(coming again, a second time, mouth crushed into the duvet)</i> //Jess... Jess... //
<</say>>
<<say "char-jess" "Jess">>
<i>(working the toy slower now, just to make Megan beg for the speed back)</i> Whoever sees you tomorrow is gonna have no fucking clue this mouth was screaming your big sister's name the day before. //None.//
<</say>>
<</if>>
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(slapping Megan's ass once, sharp)</i> Say what you are.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-sobbing, hips pushing back against the toy)</i> ...your slut. //Your slut.//
<</say>>
<<say "char-jess" "Jess">>
Whose.
<</say>>
<<say "char-megan" "Megan">>
//Yours.// Jess — //yours// —
<</say>>
<</if>>
<<if $kinks.megan.includes("rough")>>
<p>Jess fists her sister's brown hair in one hand, yanks her head up off the duvet, fucks her with the vibrator harder than Megan was expecting. Megan comes screaming into her own forearm.</p>
<</if>>
<<if $kinks.megan.includes("praise")>>
<<say "char-jess" "Jess">>
<i>(slowing, voice dropping into something almost-tender)</i> Good. //Good.// Look at you taking that. My good little sister. So good for me.
<</say>>
<<say "char-megan" "Megan">>
<i>(coming again at the words, body locking up)</i> //Jess...//
<</say>>
<</if>>
<p>Jess fucks her sister with the toy until Megan comes a third time, voice already gone. When Megan finally collapses face-down onto the duvet shaking, Jess turns the vibrator off, sets it down on the bedside table next to a half-empty water bottle, and finishes herself off with three quick fingers between her own legs while she watches her sister breathe. Then she lies down on the bed beside Megan, not touching her, and they both stare at the ceiling for a long minute.</p>
<<say "char-hivemind" "Hivemind">>
//Inversion. The older sister has been the academic and quiet one for twenty-one years; the younger has been the louder, the more socially confident, the family's reliable performer. The new wiring in the older has rewritten the sibling hierarchy in nine seconds. The body that adapts faster wins. The biomass yield logs higher than the symmetric variant.//
<</say>>
<<else>>
/* ===== Default : Megan tops, Jess subs ===== */
<p>Megan crosses to Jess in the chair, takes her by the wrist, pulls her gently up, and walks her backwards to the bed. The vibrator hums in her free hand. She presses Jess down onto the duvet by the shoulders, slow but firm, the older-sister voice she has used for two decades now folded over an act it has never been used for.</p>
<<say "char-megan" "Megan">>
<i>(unbuttoning Jess's jeans with practised fingers)</i> Off. Lift. There. Good.
<</say>>
<p>Jess lifts. Megan slides Jess's jeans and panties down her legs together, drops them on the carpet. Pushes her sister's t-shirt up over her breasts. Climbs up onto the bed beside her, swings one leg over Jess's thighs, and brings the buzzing head of the toy down against the inside of Jess's knee, then slow up the inside of her thigh.</p>
<img class="scene-img" src="media/scenes/lockdown-jessmegan-t3.webp" alt="Brunette woman on her back on a bed, t-shirt pushed up, another woman holding a vibrator pressed against her pussy">
<<if $kinks.megan.includes("publicSex")>>
<p>Megan reaches out without taking the vibrator off Jess's body, hooks the blind cord with two fingers, and yanks. The blinds snap open. Daylight floods the room. The yard is empty but the house across the fence is not. Megan does not pause the toy.</p>
<<say "char-megan" "Megan">>
<i>(working the head against Jess's clit)</i> If dad walks past the yard, fuck it.
<</say>>
<</if>>
<<if $kinks.megan.includes("rough")>>
<p>Megan grabs both of Jess's wrists, pins them above her head against the pillow with one hand. Holds them there. Presses the vibrator down hard with the other. Jess can't move. Megan's grip on her wrists is harder than Jess thought her sister could grip.</p>
<</if>>
<p>The buzz lands on Jess's clit and she makes a sound she has not made before, somewhere between a gasp and a complaint, the pre-med voice trying and failing to manage what is happening to her body. Megan presses harder. Slides the toy down, slides it inside her sister in one slow stroke. Jess's spine arches off the duvet.</p>
<<say "char-megan" "Megan">>
<i>(eyes on her sister's face, voice gentle, fucking her with the toy)</i> //Mmh.// There. There you go. There you go, Jessie.
<</say>>
<<say "char-jess" "Jess">>
<i>(hand fisted in the duvet, head tipped back, voice unrecognisable to her own ear)</i> Megan... Megan, oh god, don't, don't —
<</say>>
<<say "char-megan" "Megan">>
<i>(not stopping)</i> Don't what? Don't stop?
<</say>>
<<say "char-jess" "Jess">>
//Don't stop.//
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(through clenched teeth, brat-voice forcing itself up from underneath the toy, picking the cruelest words she's been swallowing for years)</i> Bet, bet you fuck strangers like this too, you cheap little whore. That's why mom worries about you, isn't it? You spread your legs for the wrong person //one// time and now look at —
<</say>>
<<say "char-megan" "Megan">>
<i>(slapping Jess's thigh once hard, twisting the toy deeper, voice gone razor)</i> Shut your fucking //mouth//, big sister. //Right now.//
<</say>>
<<say "char-jess" "Jess">>
<i>(laughing through the gasp, refusing to stop)</i> Make me, slut. Whoever you let fuck you has //no// idea what he's putting it in. You're a fucking skank, Megan, and they don't even —
<</say>>
<<say "char-megan" "Megan">>
<i>(palm clamping flat over Jess's mouth, fucking her with the toy harder, voice dropped low)</i> //One// more word out of you. //One.// More. And I leave you on this bed wet and empty and you finish yourself with your own fingers like the desperate fucking honour student you are.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled into Megan's palm, eyes streaming, still laughing)</i> //Mmh, mmph, mmh...//
<</say>>
<</if>>
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(broken, the pre-med register crashed through into something raw, the words coming up out of somewhere she has been hiding them for a long time)</i> No, Megan, no, don't call me that. Don't say smart. //Don't.// Call me a useless slut. //That's// what I am right now. I'm supposed to be at the desk. I'm supposed to be studying for the MCAT. I'm getting fucked by my little sister with my own toy in the middle of the afternoon. Say what I am. //Say it.//
<</say>>
<<say "char-megan" "Megan">>
<i>(tears running down her face, the cruel words forced through the warm-sister voice that does not know how to deliver them, complying anyway because Jess asked)</i> ...Jesus, Jess, okay. //Okay.// You're a useless slut. You're //our// useless slut. You should be at the desk right now memorising the Krebs cycle and you're not. You're under your little sister taking my toy. The smart one. The one mom brags about at the office. //Look at you.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The academic identity is the load-bearing column for the older sister's whole personality. The conversion of that column into the degradation vector produces a yield spike the network has not previously logged from this body. Implant note: cognitive identity, inverted, is the strongest kink anchor available on this target.//
<</say>>
<<say "char-jess" "Jess">>
<i>(coming on her sister's words, body locking up around the toy, voice already destroyed)</i> //Yes, yes, yes, Megan, I am, that's what I am...//
<</say>>
<</if>>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(softer now, voice soothing as she fucks her sister with the toy)</i> So smart, you know that? So smart and so pretty. Look at you taking it. My good girl. My smart girl.
<</say>>
<<say "char-jess" "Jess">>
<i>(coming at the words, body locking up around the toy)</i> //Megan...//
<</say>>
<</if>>
<p>Megan works the toy in and out of her sister in a slow rhythm that builds, then slows, then builds. Jess comes once, hard, hand fisted in the duvet, and Megan doesn't stop. She keeps going. Jess comes a second time, voice already gone, biting the back of her own hand hard enough to bruise.</p>
<<say "char-jess" "Jess">>
<i>(begging, hoarse)</i> Megan... Megan, please, please, I can't —
<</say>>
<<say "char-megan" "Megan">>
<i>(turning the speed up one click, the older-sister voice now tilted into something Jess has never heard from her)</i> One more. You can. Look at me. //One more, Jessie.//
<</say>>
<p>One more. Jess comes a third time with her sister's hand still on the toy, her sister's eyes still on her face. When Megan finally pulls the vibrator out and turns it off, Jess is shaking. Megan kisses the inside of her sister's knee, slow, almost-tender, and lies down beside her on the bed without saying anything. They both stare at the ceiling.</p>
<<say "char-hivemind" "Hivemind">>
//The younger sister has been the louder, the brassier, the family's confident performer. The pheromone load took eleven minutes to convert that confidence into command. The older sister came three times against her younger sister's hand. A clean hierarchy flip, and the harvest reflects it.//
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two siblings, one bed, identical post-orgasmic chemistry. The biomass spike is the largest the network has logged from a single room. The friction of taboo against compatibility produced exactly the heat I was engineered to extract.//
<</say>>
<p>Biscuit stands, shakes herself, walks out into the hall. Neither of them notices.</p>
<p><<conditioningFeedback "pheromone" 1 "Jess">></p>
<p><<conditioningFeedback "pheromone" 1 "Megan">></p>
<p><span class="biomass-gain">+5 biomass</span>, sibling lockdown harvest.</p>
<p><span class="biomass-gain">max biomass +1</span>, sustained chemistry.</p>
<p><span class="consume-success">−1 individual suspicion — Jess.</span></p>
<p><span class="consume-success">−1 individual suspicion — Megan.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<set $ch2Events.lockdown_ryanKaren_T3NSFW to true>>
<<set $permanentDone.lockdown_ryanKaren_T3NSFW to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 7>>
<<set $player.maxBiomass += 1>>
<<addFamilySuspicion "karen" -1>>
<<addFamilySuspicion "ryan" -1>>
<</nobr>>
<div class="passage-title">Bathroom Lockdown, what the spores buy</div>
<p>Karen is mid-shower when the howl starts down the hall — Biscuit at Ryan's door, scratching, barking, refusing to stop. Ryan opens the door to quiet her and the dog catches his sleeve in her teeth and tows him three paces down the hall to the bathroom. The bathroom door is unlatched. Karen always means to lock it. Biscuit nudges Ryan inside with her shoulder, lets the door fall shut behind him, and plants herself across the threshold from the outside.</p>
<p>The vent in the corner is wide open this time. The steam carries the spore load like a delivery system. The shower keeps running. Ryan stands at the sink staring at the wall above the medicine cabinet because that is what is safe to stare at.</p>
<<say "char-ryan" "Ryan">>
<i>(toward the curtain, voice strained-casual, the mumble-register he uses when he is trying very hard to sound normal)</i> Mom... Mom, sorry, Biscuit just, she's been doing this thing where she —
<</say>>
<<say "char-karen" "Karen">>
<i>(through the spray, voice steady-false, the controlled-voice she uses on the phone with her clients)</i> It's fine, sweetie. I noticed. The vet said she was fine. Just, give me a minute. I'm almost done.
<</say>>
<<say "char-ryan" "Ryan">>
Yeah. Yeah, no, take your time. I'll just... I'll just wait.
<</say>>
<p>Neither of them mentions that Ryan does not actually need the bathroom for anything. Neither of them mentions that the bathroom door, technically, is not locked, because the dog is what is locking it. The shower keeps running. The fan keeps humming. The steam thickens past where steam should normally thicken in a six-minute shower, because the vent in the corner is open and what the vent is pushing into the steam is not steam.</p>
<<say "char-hivemind" "Hivemind">>
//Steam is the best carrier I have. It hangs in the air and every breath the two of them take is a measured dose. The boy is up three degrees in body temperature across the last ninety seconds. The mother behind the curtain has stopped washing.//
<</say>>
<p>Ryan's grip on the lip of the sink tightens. He stares harder at the medicine cabinet. He tells himself the heat in his face is from the shower steam. He tells himself the pressure at the front of his sweatpants is just because he was thinking about the girl from his third-period elective again on the way down the hall, which is a lie, but it is the lie that lets him keep standing where he is. Behind the curtain, Karen has both palms flat against the wet tile and her forehead pressed between them. The water hits the back of her neck. It feels good. It feels too good.</p>
<<say "char-ryan" "Ryan">>
<i>(into the silence, voice cracking once on the vowel, already higher than he meant it to come out)</i> Mom... Mom, are you, are you okay in there? You're being really quiet.
<</say>>
<<say "char-karen" "Karen">>
<i>(behind the curtain, voice pulled together by force of will, the mom-voice climbing through layers of restraint to come out the other side)</i> I'm fine, sweetie. I'm... I'm fine. The hot water, the hot water is acting up. Just, just give me, give me a minute.
<</say>>
<p>The shower spray turns colder. Karen has not touched the dial. She knows she has not touched the dial. The water is still warm. She told her son the hot water is acting up because she did not have another sentence to use, and now she is standing under spray that is fine and trying to remember how to breathe through her nose. Ryan, eight feet away on the sink side of the curtain, is doing the same thing.</p>
<<say "char-hivemind" "Hivemind">>
//They have both stopped blaming the warmth on the room. She has worked out what is happening, and he has worked out that she has, and the silence holds because saying it would make it real. The polyester curtain between them is the last protocol. It has held for eighteen years and is about to fail.//
<</say>>
<p>The shower runs. Ryan's fingers go white on the lip of the sink. Karen, behind the curtain, presses her thighs together once, hard, and breathes in through her teeth. The sound is small but in a tiled room it carries.</p>
<<say "char-ryan" "Ryan">>
<i>(voice gone, hardly more than air)</i> ...Mom.
<</say>>
<p>The curtain rings rattle. Karen pulls it open from the inside, naked, wet, her hair sticking to her shoulders, her face wrecked.</p>
<<say "char-karen" "Karen">>
<i>(clipped, the command-voice unsteady at the edges)</i> Ryan.
<</say>>
<p>He looks up at her, at his mother's body, at the spray hitting the tile behind her.</p>
<<say "char-karen" "Karen">>
Get in. Now. Don't ask.
<</say>>
<<if $ryanRoute is "feminization" and $karenFutaRoute>>
/* ===== Fem Ryan + Karen Futa : the futa branch fires only when both routes align ===== */
<p>Ryan is on the closed toilet lid in his sister-shaped clothes, the wig already off and lying on the sink half-soaked from the steam, the hair clip still in his own hair where he pushed it before the shower locked down, the soaked pink satin camisole clinging to his torso. Karen looks at her son for one long beat and her face does not change. She steps out of the tub, takes him by the wrist, and pulls him in fully clothed.</p>
<p>The camisole sticks to his skin under the water. Karen palms her own engineered cock into full erection in the space of three breaths. Then puts a flat hand on his shoulder and pushes him down onto his knees on the wet tile of the tub floor.</p>
<<say "char-karen" "Karen">>
<i>(unhurried, the command-voice steady, the other hand fisting in his wet hair)</i> Open your mouth, sweetheart.
<</say>>
<p>Ryan opens his mouth. Karen guides the head of her cock past his lips, holds him there for a moment to let him adjust, then slides the rest of the way in. His eyes water immediately. Karen's thumb brushes the tears off the corner of his eye like she's straightening his collar.</p>
<img class="scene-img" src="media/scenes/lockdown-ryankaren-t3-futa.webp" alt="Karen standing in the shower with her engineered cock buried in her son's mouth, Ryan kneeling at her feet in a soaked pink camisole">
<<say "char-ryan" "Ryan">>
<i>(muffled around her cock, throat working, eyes wet)</i> //Mmh, mmph, glnh...//
<</say>>
<<say "char-karen" "Karen">>
<i>(steady, hand at the back of his head, beginning to move her hips)</i> Take it. All of it. There. //There.// Good.
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb stroking his cheek as he chokes around her shaft, voice unhurried)</i> //Good.// Look how well my son takes his mother's cock. You've been thinking about this every time you put on the wig, haven't you, sweetheart. Don't lie. Mom can tell.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes streaming, mouth full, head trying to nod against the grip in his hair)</i> //Mmh, mmh, mmph...//
<</say>>
<<say "char-karen" "Karen">>
<i>(the practical-mom voice in the middle of fucking her son's mouth, head tipped down to watch him)</i> //Yes you have.// And now mom is here, sweetheart. Mom is giving her son what he's been practising for. Open wider. There. //Right there.// Such a good boy.
<</say>>
<<if $kinks.ryan.includes("submission")>>
<<say "char-karen" "Karen">>
<i>(slowing one stroke to make him feel the length)</i> Eyes up. Look at mom while you do it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes up, mouth full, tears running, expression broken-grateful)</i> //Mmh.//
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb at the corner of his mouth, voice soft)</i> Tell me what you are. With your eyes. Mom can read you.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes locked on his mother, brimming, the answer obvious)</i> //Mmh...//
<</say>>
<<say "char-karen" "Karen">>
//Yes.// You're mom's. //Mine.// Always have been.
<</say>>
<</if>>
<<if $kinks.karen.includes("denial")>>
<p>She pulls almost all the way out and stops with the head of her cock just resting on her son's tongue. Ryan whimpers and pushes forward to take her back in. Karen holds him there for a long count of ten, the engineered tissue twitching against his lips. Then another count. Then she slides back in slow and deep and Ryan moans around the shaft.</p>
<</if>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Karen does not pull the curtain across. The bathroom door is unlocked. Anyone could walk in and find her son on his knees with his mother's cock in his mouth. Karen does not care. The exhibition is for her, she has chosen this, she wants the bathroom to remember it.</p>
<</if>>
<p>Karen fucks her son's mouth in a rhythm that builds and slows and builds again, the way she does everything in this house. Ryan takes every stroke. The engineered tissue between Karen's legs has been calibrated to deliver more semen in a single load than baseline anatomy would produce, and the buildup at the base of the shaft has Ryan's eyes rolling back even before the climax.</p>
<<say "char-karen" "Karen">>
<i>(thrusting deeper now, the controlled voice fraying at the consonants)</i> Mom is going to come, sweetheart. All over your pretty face. Tell mom you want it. //Tell me.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pulled briefly off the cock by the hair, gasping, the higher voice surfacing)</i> Yes. //Yes.// Please, mom. Please give it to me. I //want// it. Please.
<</say>>
<<say "char-karen" "Karen">>
<i>(pushing him back down by the back of the head, voice steadying)</i> Good boy. Open. //Now.//
<</say>>
<<say "char-karen" "Karen">>
<i>(grip tightening in his hair, the controlled voice fraying around the consonants again)</i> Out. //Out.// Mouth open. Tongue.
<</say>>
<p>She pulls her cock out of her son's mouth at the last second. Ryan tilts his face up, mouth open wide, tongue out, eyes locked on his mother. Karen wraps her own hand around the shaft and pumps. The first rope of cum lands across his open mouth and his cheek. The second across his forehead and into his hair. The third paints down his throat onto the soaked camisole. The fourth keeps going. The fifth keeps going. By the time Karen's done, the load is excessive in a way no baseline body could produce, running down his face in thick streaks, pooling in the dip of his collarbone, soaking the pink satin into a darker pink, dripping from his chin onto his bare thighs.</p>
<img class="scene-img" src="media/scenes/lockdown-ryankaren-t3-futa-cum.webp" alt="Ryan kneeling in the shower with his face and hair drenched in excessive cum, mouth open, eyes wet, soaked pink camisole streaked with cum">
<p>Ryan has not moved. He is still kneeling, mouth still open, breathing in shallow little gasps through his nose. Cum on his eyelashes. Cum streaked through his dark hair. Cum running down his throat and pooling in the dip of his collarbone above the soaked camisole.</p>
<<say "char-karen" "Karen">>
<i>(voice already gathering itself back into the controlled register, palm against her son's wet cheek)</i> Look at you. //Look// at you. Good boy.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely able to speak through the cum on his lips, voice wrecked)</i> Mom — //thank you//, thank you, mom —
<</say>>
<<say "char-karen" "Karen">>
<i>(crouching down to her son's level in the tub, palm cradling his cum-streaked cheek)</i> //Good// boy. Such a good boy for mom. Look at the mess your mother made of you. Look how well you took it.
<</say>>
<<if $kinks.ryan.includes("cumeating")>>
<p>Ryan's tongue is the first thing that moves. He licks the cum off his own bottom lip slow, eyes still on his mother, and then opens his mouth again like he is asking for more. Karen watches him. His hand comes up to the cum on his cheek next, fingers gathering it, and he brings the fingers to his own mouth and sucks them clean. Then the next streak across his forehead. Then the cum running down his throat. He cleans himself off methodically while his mother watches, swallowing every load he can reach, and the parasite logs the conversion of Karen's chemistry into her son's appetite as the cleanest yield of the chapter.</p>
<<say "char-ryan" "Ryan">>
<i>(between mouthfuls of his own cum, voice high and pleased and not at all the voice he uses anywhere else)</i> Thank you, mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(stroking his wet hair, smearing more cum into it without seeming to notice)</i> Good boy. //Good// boy. There's a smart boy.
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb gathering a streak of cum from his temple and offering it to him on her finger, voice gentle and instructive)</i> Don't waste anything mom gave you, sweetheart. Eat all of it. Show mom you understand what mom means by //gift.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(taking her finger into his mouth and sucking it clean, eyes locked on hers, voice breaking with gratitude when she pulls the finger back)</i> ...yes mom. Thank you, mom. //Thank// you, mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb against his cum-wet bottom lip)</i> //That's// my smart boy.
<</say>>
<<else>>
<p>Karen reaches up and pulls the showerhead off its mount. Aims the warm spray at her son's face and rinses the cum off in slow careful circles, the same methodical rhythm she uses to rinse dishes. Ryan closes his eyes and lets her clean him.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two routes converge on one body. She needs to control, he needs to be the daughter, and the cock I engineered to serve the first appetite turns out to be the tool for the second. The harvest off this room runs near the top of anything I have pulled.//
<</say>>
<<elseif $ryanRoute is "feminization">>
/* ===== Fem Ryan + Karen non-Futa : Karen doms her son without the engineered hardware ===== */
<p>Ryan is on the closed toilet lid in his sister-shaped clothes, the wig already off and lying on the sink, the hair clip still in his own hair, the wet pink camisole clinging to his torso. Karen looks at her son and her face does not change. She steps out of the tub, takes him by the wrist, and pulls him in fully clothed.</p>
<p>Karen's hands move with the precision of someone who has decided. She pushes him down to his knees in the tub, braces one foot up on the rim, grabs the back of his neck, and presses his face between her own legs.</p>
<img class="scene-img" src="media/scenes/lockdown-ryankaren-t3-fem.webp" alt="Karen above her son who is dressed in feminine clothing, Ryan kneeling between her legs in the shower tub, oral sex">
<<say "char-karen" "Karen">>
Eat. Now. //Now.// Show your mom what you've been practising in your room with your sister's clothes on. Show me what you've been getting ready for, sweetheart.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, mouth on her, the higher voice he has been practising surfacing on instinct)</i> //Mmh, yes, yes, mom...//
<</say>>
<<say "char-karen" "Karen">>
<i>(grinding down onto his face, watching her own son's eyes from above, voice gone soft and instructive, the same voice she used to teach him to hold a pencil)</i> //Good.// That's it. Tongue flat. Slower. Like you're licking something delicate. There. //There,// sweetheart. Just like that. Look at you. My pretty boy in his pretty clothes.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes wet, the praise hitting harder than the act, tongue obeying her on instinct)</i> //Mmh, mom, mmph...//
<</say>>
<<if $kinks.ryan.includes("submission")>>
<<say "char-karen" "Karen">>
<i>(hand fisted in his hair, lifting his face up half an inch)</i> Tell me what you are first.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes wet, mouth slick)</i> ...yours. I'm yours. Mom, I'm //yours//.
<</say>>
<<say "char-karen" "Karen">>
<i>(pushing his face back into her)</i> Good. Then prove it.
<</say>>
<</if>>
<<if $kinks.karen.includes("denial")>>
<p>She brings herself almost to orgasm against her son's mouth and pulls his head back. He whines. She makes him wait for thirty seconds. Then a full minute. Pulls him back in by the hair. Lets him work her up to the edge again. Pulls him back. Three times. The fourth time she lets herself come, shuddering, and the orgasm is the size of all four edges combined.</p>
<<else>>
<p>Ryan eats his mother for a long minute, then longer. Karen comes against his face with one hand fisted in his hair, the other braced flat against the tile, head tipped back into the spray.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(hand cupping her son's wet face, thumb brushing his lower lip clean of her, voice low and almost-tender)</i> Good boy. //Good// boy. Look at you, all soft and pretty for your mom. Look at the mess you made cleaning mom up.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes closed, leaning into her palm)</i> ...mom.
<</say>>
<<say "char-karen" "Karen">>
Stand up, sweetheart. Hands on the wall. Now mom takes care of you.
<</say>>
<p>Karen pulls him up by the wrist, turns him, and presses his chest against the wet tile.</p>
<<say "char-karen" "Karen">>
<i>(hand at the small of his back, the other reaching around to wrap her fist around her son's cock)</i> Spread your feet a little. //Good.// Now stay quiet for mom.
<</say>>
<p>She jerks her son off against the tile from behind, slow and methodical, the way she does everything in this house.</p>
<<say "char-karen" "Karen">>
<i>(stroking him at a deliberate pace, voice at his ear, the practical-mom register repurposed for praise)</i> Good boy. //Good// boy. You can come whenever you want, but make it quiet. Show mom you can hold yourself together for her.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(forehead against the tile, biting his own lip to obey her)</i> //Mmh, mom, mom...//
<</say>>
<<say "char-karen" "Karen">>
<i>(slowing the stroke deliberately to draw it out)</i> What does my pretty boy want? Use your words for mom.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(broken, the higher register destroyed, forehead pressed harder against the tile)</i> Please. Please, mom, please let me come... //please...//
<</say>>
<<say "char-karen" "Karen">>
<i>(speeding the stroke back up, voice steady)</i> There you go, sweetheart. Right //now.// Make it for mom. Quiet. //Quiet.//
<</say>>
<p>Ryan comes against the tile in under thirty seconds of her speeding back up, the wall streaked, his forehead pressed flat against the cold ceramic, breathing into his own forearm to stay quiet for her the way she asked.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Karen does not pull the curtain across. The bathroom door is unlocked. Ryan does not notice. Karen does. The exhibition is not for the family. The exhibition is for herself.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The mother does not need the engineered cock to take what she wants. The son's new wiring delivers him to her on instinct. The boy who has been practising being a girl in the privacy of his own room wants to be ruled, and Karen wants to rule. The chemistry resolves without friction.//
<</say>>
<<elseif $karenFutaRoute and $ryanRoute is "familySeeker">>
/* ===== Two-alpha clash : Karen Futa + Ryan FamSeeker. Both want to dominate.
Karen tries to take control with the futa, Ryan physically overpowers her,
the parasite tactically retracts the engineered tissue mid-scene. ===== */
<p>Karen pulls Ryan into the tub fully clothed and her hand drops between her own legs to call up the engineered cock. Three seconds, that's how long the shift takes. She has the head of it lined up against her son's hip already.</p>
<p>Ryan's hand closes around her wrist before the cock touches him.</p>
<<say "char-ryan" "Ryan">>
<i>(low, the voice he has been growing into, not asking)</i> No.
<</say>>
<<say "char-karen" "Karen">>
<i>(thrown, command-voice cracking around the surprise)</i> Ryan —
<</say>>
<<say "char-ryan" "Ryan">>
<i>(turning her around in the tub, both hands on her shoulders, walking her backwards into the tile)</i> No. Not like that. Not //ever// like that.
<</say>>
<p>He pins her against the wet tile, naked back to the wall, his sweatpants still on but tented hard. Karen's hands come up to his chest to push him back and he catches both her wrists in one of his hands and holds them above her head against the tile. The parasite reads the situation in real time and retracts the engineered tissue inside Karen's own body, the cock vanishes back into the architecture it came from, because giving Ryan a target right now would be a tactical error.</p>
<img class="scene-img" src="media/scenes/lockdown-ryankaren-t3.webp" alt="Karen pinned against shower tile by Ryan, wrists above her head, the act explicit">
<<say "char-karen" "Karen">>
<i>(furious, wet, calculating, voice still trying to climb)</i> Ryan, let go of my —
<</say>>
<<say "char-ryan" "Ryan">>
<i>(shoving his sweatpants down with his free hand, lining himself up against her)</i> No. Mom, //no.// You don't get to. Not today. //I// do.
<</say>>
<p>He fucks her against the tile, slower and harder than the default version of Ryan would have, with a confidence Karen has never heard in his body before. Karen's fury cooks down into something else over the first thirty seconds, not surrender, exactly, but recognition that she will not win this exchange and the orgasm is closer than the win is.</p>
<<say "char-karen" "Karen">>
<i>(eyes shut, head pressed against the tile, jaw locked)</i> ...you //little//, oh... //oh...//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(against her ear, breath hot)</i> I know. I know, mom. I know.
<</say>>
<<if $kinks.ryan.includes("breeding")>>
<<say "char-ryan" "Ryan">>
<i>(slowing, claiming the rhythm)</i> I'm gonna fill you up. I'm gonna give you what dad doesn't. Tell me you want it. //Tell me.//
<</say>>
<<say "char-karen" "Karen">>
<i>(through gritted teeth, the word forced out)</i> ...yes. //Yes.// Just, fucking... //finish//.
<</say>>
<</if>>
<<if $kinks.ryan.includes("touchaddiction")>>
<p>His grip on her wrists eases. His other hand cups the back of her neck. The act stays hard but the contact softens, he holds her like a man who has just been given permission to hold something he has been hungry for.</p>
<</if>>
<p>He comes inside his mother, both of his hands on her hips now, holding her in place. Karen comes a beat later, against the tile, against him, her wrists still pinned above her head where he forgot to release them.</p>
<<say "char-hivemind" "Hivemind">>
//Two organisms wired by parallel routes to take the same kind of control. They collided, and the collision ran hot enough to feed me. The engineered cock retracted because the architecture read the room: the father-shape was going to win this round, and surrendering the controller now beats having it taken. Tomorrow's calibration will note that the new patriarch outranks the new matriarch on physical override. Useful intel.//
<</say>>
<<else>>
/* ===== Default : Karen pulls Ryan in, he fucks her, kink overlays apply ===== */
<p>He gets in fully clothed. She pulls his shorts down with shaking hands. Cock already hard, already wet at the tip. She pulls him against her, presses her own back against the cold tile, hooks one leg over his hip.</p>
<img class="scene-img" src="media/scenes/lockdown-ryankaren-t3.webp" alt="Karen and Ryan against shower tile, the act explicit, hands on each other's bodies">
<<if $kinks.karen.includes("denial")>>
<p>She gets him almost all the way in and then puts her palm flat on his chest and pushes him back. He whines. She does it again. And again. Edges him three times against the tile before she lets him sink the rest of the way into her.</p>
<</if>>
<p>He slides into her in one stroke. She makes a sound like she's been hit. He moves. She moves with him.</p>
<<say "char-karen" "Karen">>
<i>(one hand at the back of his neck, the other finding his face, voice going to pieces around the consonants)</i> We — Ryan, we are //not//, oh, god, baby, oh, //god// —
<</say>>
<<say "char-ryan" "Ryan">>
<i>(face buried against the wet hollow of her shoulder, the word coming out shaky and reverent)</i> Mom. //Mom.//
<</say>>
<<say "char-karen" "Karen">>
<i>(spasming around him at the word, the controlled-voice cracking around it)</i> ...don't stop. Don't stop saying it. Tell me. Tell me whose mom I am.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(thrusting harder, the higher register surfacing, eyes wet)</i> Yours. //Mine.// You're my mom. You're //my// mom, oh, god, you're //my// mom and you're —
<</say>>
<<say "char-karen" "Karen">>
<i>(palm flat against the wet tile, head tipped back, almost laughing through it)</i> //Good boy.// Good //boy.// Show your mom how good you are at this. Show me what you've been thinking about every time you watch me at the kitchen counter.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(broken, voice climbing)</i> I... Mom, I think about you //all the time//... I...
<</say>>
<<say "char-karen" "Karen">>
<i>(hand at the back of his head pressing his face deeper against her neck, voice cracking)</i> I know. I know, sweetheart. I //know.// Your mom //knows// what you do at night thinking about her, and your mom is //here.// Right now. //Right now.//
<</say>>
<<if $kinks.ryan.includes("breeding")>>
<<say "char-ryan" "Ryan">>
<i>(against her ear, voice pitched into something needy and almost-asking)</i> Mom... Mom, I... I'm gonna, please, please let me, let me fill my mom up, let me put it //in// you —
<</say>>
<<say "char-karen" "Karen">>
<i>(coming, eyes shut, fingers digging into his shoulders, voice gone thin)</i> //Yes.// Yes, fill your mom up. Tell me again. Tell me what you're putting in me. //Say it.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(shuddering, almost over the edge)</i> A baby... Mom, I'm putting a baby in you... I'm //gonna//...
<</say>>
<<say "char-karen" "Karen">>
<i>(shaking through the orgasm, free hand pulling him deeper by the hip)</i> //Good son.// Good son. Give it to your mom. Right now. Right //now.//
<</say>>
<<else>>
<<say "char-karen" "Karen">>
<i>(clipped, head against the tile, the practical-mom voice wedging itself somehow into the orgasm)</i> Inside. //Inside.// Mom's on the pill, sweetheart, you don't need to pull out, you //don't.// Look at me, look at your mom, give it to me //inside.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(broken, eyes finding hers for the first time)</i> Mom... //Mom//, yes, mom —
<</say>>
<</if>>
<<if $kinks.ryan.includes("touchaddiction")>>
<p>He buries his face in the wet hollow of her shoulder and stays there long after he comes, arms around her, holding her like he's never been allowed to hold anyone, breathing her in. Karen does not push him off. She holds his head against her neck and lets the water run cold around them.</p>
<</if>>
<<say "char-ryan" "Ryan">>
<i>(shuddering, on the edge, voice gone thin)</i> Mom... Mom, I'm —
<</say>>
<<say "char-karen" "Karen">>
<i>(palm clamped flat over his mouth, forehead pressed to his, voice low and absolute)</i> Don't say my name. Don't. Say //mom.// That's what I am to you right now. Say //mom// when you come. Nothing else.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(against her palm, the word muffled into her hand as he comes)</i> //Mom, mom, mom, mom...//
<</say>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Karen does not pull the curtain back closed afterward. The bathroom door, which clicked shut behind Ryan when he came in, is also unlocked. Ryan does not notice. Karen does. The exhibition is not for the family. The exhibition is for herself, she has chosen this, and she wants the bathroom to remember it.</p>
<</if>>
<p>He comes inside her. She comes against the tile a beat later. They stay locked together for a long minute in the falling-cold water, and then she presses her palm against his chest and gently pushes him back, and steps out of the shower without looking at him, and leaves him standing under the water shaking.</p>
<<say "char-hivemind" "Hivemind">>
//The mother-son cross-conditioning has fused. The next time they are alone in a room, the same bouquet will pull them across again, and there will be no need for the dog. The architecture has set.//
<</say>>
<</if>>
<p><<conditioningFeedback "pheromone" 1 "Karen">></p>
<p><<conditioningFeedback "pheromone" 1 "Ryan">></p>
<p><span class="biomass-gain">+5 biomass</span>, bathroom lockdown harvest.</p>
<p><span class="biomass-gain">max biomass +1</span>, sustained chemistry.</p>
<p><span class="consume-success">−1 individual suspicion — Karen.</span></p>
<p><span class="consume-success">−1 individual suspicion — Ryan.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.lockdown_daleJess_T3NSFW to true>>
<<set $permanentDone.lockdown_daleJess_T3NSFW to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 7>>
<<set $player.maxBiomass += 1>>
<<addFamilySuspicion "dale" -1>>
<<addFamilySuspicion "jess" -1>>
<</nobr>>
<div class="passage-title">Basement Lockdown, what the spores buy</div>
<p>Dale on the workbench, half-asleep. Jess upstairs with a textbook. Biscuit at the basement-stairs door, scratching the wood, barking, persistent, three minutes of it before Jess finally gets up to see what's wrong. The dog leads her down the stairs with the unmistakable //come on// trot, then bolts back up the moment Jess hits the concrete and posts at the top of the stairs. Ears forward. Watching. The basement door does not close behind her, but the dog blocks it more completely than a closed door would.</p>
<p>The corner vent pumps the densest spore concentration in the house down into the basement, sealed concrete box, one small window, the air goes nowhere once it arrives. Jess turns her back to the workbench the second she hits the concrete floor and pretends to scan the lower shelf for a textbook she could have grabbed from upstairs. Behind her, on the workbench, Dale is awake now and trying to pretend he isn't.</p>
<<say "char-dale" "Dale">>
<i>(rough, sleep-thick, the apologetic-tired register he has been using on his family for two decades)</i> ...sorry. Sorry, Jessie. I... I crashed. Didn't hear you come down.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes on the spines of the books, not turning)</i> Don't worry about it. Just need a textbook. Be a second.
<</say>>
<<say "char-dale" "Dale">>
You, uh. You finals coming up? Or —
<</say>>
<<say "char-jess" "Jess">>
Yeah. Yeah, finals.
<</say>>
<p>It is not finals. The textbook is biochemistry, second-edition, and Jess has owned it for two years. She runs her finger along the spine of it, then keeps moving her hand down the shelf as if she is looking for something specific, because turning around right now would be turning to look at her father. The basement smells like sawdust and laundry detergent. It also smells, faintly, of a third thing, something warm and slightly sweet that has no source she can identify, riding the edge of the heating-duct exhaust.</p>
<<say "char-hivemind" "Hivemind">>
//No room in the house holds the dose like this one. Sealed concrete, one ground-level window, and what comes down the corner vent has nowhere to go but into their lungs. The daughter's vitals spike at twenty seconds. The father slept down here through the build-up, already half-soaked, so he crosses over ahead of where baseline would put him.//
<</say>>
<p>Behind her, the workbench creaks again. Dale shifting his weight. The fabric of his sweatpants whispers against the wood. Jess can hear him trying to be quiet about adjusting himself, which is the sound of an erection being repositioned in a small space, which is a sound she has lived in this house her entire life without consciously identifying. She identifies it now. Her hand stops moving along the shelf.</p>
<<say "char-jess" "Jess">>
<i>(eyes still on the books, voice flatter than she meant it)</i> ...is the heat on down here? It's hot. It shouldn't be this hot.
<</say>>
<<say "char-dale" "Dale">>
<i>(too quickly, then forcing the mumble back into casual)</i> Yeah. Uh, yeah, the boiler's been running rough. I was gonna... I was gonna look at it. Tomorrow. I'll look at it tomorrow.
<</say>>
<p>Neither of them moves. Dale on the workbench, sweatpants tented in a way that he is not pretending isn't tented anymore. Jess at the bookshelf, her own thighs pressed together, the heat between them a thing she could put a hand on if she wanted to. The textbook she is supposed to be looking for is at her eye level. She has been looking past it for ninety seconds.</p>
<<say "char-hivemind" "Hivemind">>
//Over the line. The daughter pinned the signal first; her mind always reaches for the diagnosis. The father has stood on the wrong side of this room with her for twenty-one years, and the chemistry has just handed him permission to stop pretending he hasn't. Twenty seconds of silence now. Whatever breaks it is the scene.//
<</say>>
<<say "char-dale" "Dale">>
<i>(into the dense air, voice cracked, the apology already in his throat)</i> ...Jessie. Jessie, I'm... I should... I should head up.
<</say>>
<<say "char-jess" "Jess">>
<i>(does not turn, voice cool, every register she has ever used flattening into one neither of them have heard from her before)</i> No. Stay where you are. Don't move.
<</say>>
<p>Dale sits up. The wood under him creaks. Jess turns from the shelf, textbook still in her hand. She sets it down carefully on the bottom step. Walks across the concrete floor to the workbench. Dale lays back. He doesn't say anything, because she has already told him not to.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She doesn't go to him yet. She crosses past the workbench instead, walks to the corner of the basement, sits down on the upturned milk crate Dale uses as a stool, and points at his sweatpants.</p>
<<say "char-jess" "Jess">>
<i>(voice flat, eyes on his lap)</i> Pants down. Show me first. I want to watch.
<</say>>
<p>He obeys. Pulls his sweatpants down past his thighs. Takes himself in his right hand. Starts stroking. Jess watches from the corner with one hand pressed flat between her own legs over her jeans. Dale's eyes are screwed shut. He doesn't see her watching. He just feels her watching, which is worse, the heat of her gaze on him, the weight of his daughter's attention on the act of his own hand. He works himself faster.</p>
<<say "char-hivemind" "Hivemind">>
//The daughter is logging her father's masturbation rhythm. The architecture is being mapped. The act has not yet started; the act is being prepared for.//
<</say>>
<p>She lets him work himself almost to the edge before she speaks again. He is breathing in shallow gasps. The hand between her own jeans is wet under the denim. His mouth has fallen open. He is two strokes from finishing.</p>
<<say "char-jess" "Jess">>
<i>(standing up from the milk crate, voice not changing)</i> Stop. Hands off. You don't get to finish that one. //I// finish it.
<</say>>
<p>He stops. Hands off. Cock straining red against the cold air of the basement, balls drawn up tight, one stroke from coming. Jess crosses the concrete floor to the workbench.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(at the workbench now, voice flat, every register she has ever used flattening into one neither of them have heard from her before)</i> Sit up. Edge of the bench.<<if not $kinks.jess.includes("voyeurism")>> Pants down.<</if>>
<</say>>
<p>Dale obeys without speaking, the way she told him to. He sits up, swings his legs off the wood until his feet are flat on the concrete<<if $kinks.jess.includes("voyeurism")>>, sweatpants already shoved past his knees from before, cock still hard from being denied the finish<<else>>, hooks his thumbs into the waistband of his sweatpants, and pushes them down past his knees<</if>>. His cock is already hard, already wet at the tip. Jess kneels between his thighs on the cold concrete floor of the basement.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/lockdown-dalejess-t3-punk.webp" alt="Daughter kneeling between her father's thighs at the edge of a basement workbench, mouth on his cock, the daughter has purple-and-black hair">
<<else>>
<img class="scene-img" src="media/scenes/lockdown-dalejess-t3.webp" alt="Daughter kneeling between her father's thighs at the edge of a basement workbench, mouth on his cock, brown hair">
<</if>>
<<say "char-jess" "Jess">>
<i>(one hand wrapping around the base of his cock, looking up at him from her knees, voice flat)</i> Stop talking. Don't say my name. Don't say anything until I tell you.
<</say>>
<<say "char-dale" "Dale">>
<i>(tears already running, both hands gripping the edge of the workbench)</i> ...Jessie, I —
<</say>>
<<say "char-jess" "Jess">>
<i>(tightening her grip on the base, the head of his cock pressed against her bottom lip)</i> I //said// don't.
<</say>>
<p>She takes him in her mouth. Her free hand braces against his thigh. Dale's whole body locks up at the wet warmth, jaw clenching, eyes squeezing shut. The first slow bob of her head pulls a sound out of him that has been waiting in his chest for years.</p>
<<say "char-dale" "Dale">>
<i>(strangled, against the workbench, hands white-knuckled on the wood)</i> ...//sorry//. Sorry. I'm sorry. //Sorry.//
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, mouth slick, looking up at him with eyes flat)</i> //Stop// apologising. Apologising means you're thinking about who I am. //Stop// thinking. Just take it.
<</say>>
<p>She takes him back in. He shuts his eyes again. He stops apologising.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(pulling off with a wet pop, hand still around the base pumping him slow, voice sharp as a knife)</i> You're a fucking joke, dad. You know that, right? Does mom know what a fucking joke you are. Does she sit at the kitchen table and look at you and remember why she stopped looking at you in the first place. Does she.
<</say>>
<<say "char-dale" "Dale">>
<i>(coming on the words, not the touch, body convulsing without her mouth back on him)</i> ...//yes//. Yes. //Yes...//
<</say>>
<<elseif $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(pulling off the cock, mouth slick, voice cracking almost into begging)</i> Tell me what I am. Tell me. Say it. The other thing. //Say it.//
<</say>>
<<say "char-dale" "Dale">>
<i>(broken, shaking his head)</i> ...you're, you're my smart girl, my pretty —
<</say>>
<<say "char-jess" "Jess">>
<i>(slap-grip on his thigh, voice ragged)</i> //No.// The other thing. //Say it.//
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes squeezed shut, sobbing it out)</i> ...you're, you're a slut. You're my slut. You're my filthy little slut and I... //fuck//... Jessie...
<</say>>
<p>She takes him back in her mouth at the word and he comes immediately afterward, sobbing, his hands fisted in her hair. She does not pull off. She swallows everything he gives her.</p>
<<elseif $kinks.dale.includes("humiliation")>>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, hand pumping the shaft slow, voice cool)</i> Mom's at the coffee shop right now. You know that, right? You know who she's looking at. Marcus, that's who. The kid in the apron. She comes home and she lies in the bed next to you and she thinks about him. You know that.
<</say>>
<<say "char-dale" "Dale">>
<i>(coming, the orgasm wrenched out of him by the words and her hand)</i> ...//I know//. I //know//. //Jessie// —
<</say>>
<p>She catches the cum on her tongue with her mouth open below the head of his cock, and swallows the rest in slow steady pulls.</p>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>His eyes drift half-shut a few strokes in, head tipping back against the workbench top. She doesn't stop. He half-drifts back into the same exhaustion-sleep he was in when she came down, his cock still in her mouth, her mouth still working him in a slow methodical rhythm. He wakes up mid-orgasm with his daughter's mouth full of his cum, doesn't know what is happening for half a second, doesn't ask in the morning.</p>
<<elseif $kinks.dale.includes("chastity")>>
<p>She brings him to the edge with her mouth and pulls off. He whimpers. She holds her hand still around the base of his cock for ten long seconds, then sucks him back in. Brings him to the edge again. Pulls off. Three times. Four. By the fifth time he is begging in a voice she has never heard him use, and she finally lets him come because if she doesn't he will weep and that will be louder than the cum.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(mouth still on the head, hand stroking the shaft slow, voice not changing, the command muffled around his cock)</i> //Mmh.// Come. //Now.//
<</say>>
<p>He comes in her mouth. She holds him there, both hands on his thighs, throat working in slow steady gulps until he is empty. As soon as he is finished she pulls off, wipes the corner of her mouth on the back of her wrist, walks to the bottom of the stairs, picks up her textbook from the bottom step, and goes upstairs without looking back.</p>
<<say "char-dale" "Dale">>
<i>(after, broken, to the empty basement)</i> ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The fortress mind has been rerouted around its own core protocol. Her father now occupies a category in her head that did not exist this morning. The agreement to never mention it is already drafted on both sides, separately, before either has left the basement.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Dale">></p>
<p><<conditioningFeedback "pheromone" 1 "Jess">></p>
<p><span class="biomass-gain">+5 biomass</span>, basement lockdown harvest.</p>
<p><span class="biomass-gain">max biomass +1</span>, sustained chemistry.</p>
<p><span class="consume-success">−1 individual suspicion — Dale.</span></p>
<p><span class="consume-success">−1 individual suspicion — Jess.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.lockdown_karenMegan_T3NSFW to true>>
<<set $permanentDone.lockdown_karenMegan_T3NSFW to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 7>>
<<set $player.maxBiomass += 1>>
<<addFamilySuspicion "karen" -1>>
<<addFamilySuspicion "megan" -1>>
<</nobr>>
<div class="passage-title">Kitchen Lockdown, what the spores buy</div>
<p>Karen alone at the kitchen island, prepping. Biscuit at the foot of the stairs, barking, three sharp volleys, pause, three more, the cadence calibrated to be impossible to ignore. Karen calls down to her three times before Megan's footsteps come on the stairs, irritated, asking what is //wrong// with the dog.</p>
<p>Biscuit nudges Megan into the kitchen the moment she clears the bottom step. Around the island, toward Karen. Then turns and parks her body across the archway and lies down with her front paws crossed. The kitchen has two adults in it now. The exit is sixty pounds of golden retriever. The vent above the stove ticks fully open this time, not by a half-degree but by all of it.</p>
<<say "char-megan" "Megan">>
<i>(handed a colander, half-laughing, looking back at the dog)</i> Mom, what is //wrong// with her. Like, seriously. She's been doing this all the time lately. You sure the vet didn't miss something?
<</say>>
<<say "char-karen" "Karen">>
<i>(already slicing through an onion with the kind of practised speed that fills silences)</i> Vet says she's fine, sweetheart. Could be the heat. Could be territorial. Just, help me with the carrots, hand me the cumin off the shelf there.
<</say>>
<p>Megan hands her the cumin. Their fingers brush on the jar and Karen takes it from her without looking up, the way Karen does everything in this kitchen, which is the same way she has done everything in this kitchen for twenty-two years. The vent gusts a second time. The warm air rising off the stove takes on a quality neither of them registers consciously, slightly sweet, slightly heavy, the way the air smells when bread is in its second proof.</p>
<<say "char-hivemind" "Hivemind">>
//The cooking smell does the concealment work for me. Onion and warm oil cover the dose all the way in. The mother's pulse lifts at fifty seconds, the daughter's at sixty, and both are still blaming the burners. That blame has a short shelf life.//
<</say>>
<<say "char-megan" "Megan">>
<i>(setting the colander aside, pulling at the apron strings around her own waist, retying them looser, then looser again)</i> God. Mom. It is //roasting// in here. Why is the AC not, is the AC on?
<</say>>
<<say "char-karen" "Karen">>
<i>(taking off her cardigan with one hand without breaking the knife rhythm, hanging it over the chair-back)</i> AC's on. Could be the burners. Just open the window over the sink if you need.
<</say>>
<p>Megan does not open the window over the sink. She stands with her hand on the apron string and watches her mother's forearm flex on the cutting board. Karen, knife slowing, becomes aware that Megan has stopped helping. Looks up. Their eyes meet across the marble. The smell in the kitchen has gone past bread-second-proof and into something Karen cannot put a word to.</p>
<p>Megan's pupils are very wide. Karen takes a half-second longer than she should to look back down at the cutting board.</p>
<<say "char-megan" "Megan">>
<i>(quieter, voice gone soft, hand still tied to the apron string)</i> ...Mom. Mom, what is —
<</say>>
<<say "char-karen" "Karen">>
<i>(too quickly, the controlled-voice cracking around the consonants)</i> The burners. It's the burners. I'll turn them down.
<</say>>
<p>Karen turns to the stove. The stove is already on its lowest setting. She turns the dial anyway, makes the click-click-click of nothing happening, and stands with her hand on the dial for one long beat without turning back around.</p>
<<say "char-hivemind" "Hivemind">>
//Resistance gone. The mother caught the signal first, the way she catches everything in this house before anyone else does. The daughter has both hands on the apron strings, pulling them tight on a rhythm she did not choose. Neither has named the third thing in the air. Ten seconds, and one of them does.//
<</say>>
<<say "char-megan" "Megan">>
<i>(into the silence, voice low, asking permission to ask the question)</i> Mom. Mom, do you, do you //feel// —
<</say>>
<p>Karen's shoulders go rigid against the stove. She does not answer. Megan sees the answer in her mother's spine before any words come.</p>
<p>Karen's knife slows. She sets it down on the marble. She does not look up.</p>
<<say "char-karen" "Karen">>
<i>(quiet, controlled)</i> Megan.
<</say>>
<<say "char-megan" "Megan">>
<i>(already shaking her head)</i> Mom, don't, please don't, mom, I —
<</say>>
<<say "char-karen" "Karen">>
Come here.
<</say>>
<p>Megan comes around the island. Karen turns on the stool to face her, pulls her own skirt up to her hips, hooks her panties aside herself. Megan kneels on the kitchen tile between her mother's spread thighs without being told twice.</p>
<<if $kinks.karen.includes("bondage")>>
<p>Before Megan kneels, Karen unties her daughter's apron strings, pulls them through the back slats of the kitchen chair, and re-knots them around Megan's wrists. Megan's hands are now bound behind her own back. She kneels between her mother's legs without the use of her arms.</p>
<</if>>
<img class="scene-img" src="media/scenes/lockdown-karenmegan-t3.webp" alt="Daughter kneeling between mother's legs at a kitchen island, oral sex, mother's hand fisted in daughter's hair">
<p>Megan's mouth on her mother's pussy. Karen's hand fisted in her daughter's brown hair. The other hand braced flat on the marble. Megan's tongue works fast and confident, the practised tongue of a girl who has spent years getting good at this on someone else.</p>
<<say "char-karen" "Karen">>
<i>(clipped, controlled even now, the maternal-instructive register surfacing on instinct, the same voice she used to teach Megan how to chop an onion)</i> Slower, sweetheart. Tongue //flat.// Not the tip, the flat of it. There. //There.// That's it. Good girl.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes wet, the praise hitting harder than her own technique should be hitting, mouth obeying her mother on instinct)</i> //Mmh, yes mom, yes...//
<</say>>
<<say "char-karen" "Karen">>
<i>(grinding once down onto her daughter's face, voice softening into something almost-tender)</i> Good. That's my good girl. Mom is going to teach you how to do this //properly//, sweetheart. There. //There.//
<</say>>
<<if $meganRoute is "marcus">>
<<say "char-karen" "Karen">>
<i>(grinding down again, the maternal voice dropping into the cool register that has always been able to wreck Megan in fewer words than anyone else)</i> Did you teach Marcus to do this, sweetheart? Hm? Did your little boyfriend learn from your mouth? Because mom can tell he hasn't been doing it //right.// Mom can tell from the way you've been moaning at the kitchen table for the last few weeks.
<</say>>
<<say "char-megan" "Megan">>
<i>(humming into her mother's pussy, the words landing harder than the contact, eyes squeezing shut)</i> //Mmh, mom, mmph...//
<</say>>
<<say "char-karen" "Karen">>
//I knew it.// I //knew// he wasn't enough for you. Mom //knows// these things, sweetheart. That's what mom is for. Don't worry about Marcus. Mom is going to take care of this part of you from now on.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes streaming now, mouth working harder)</i> //Mmh, yes mom, yes mom...//
<</say>>
<<elseif $meganRoute is "slut">>
<<say "char-karen" "Karen">>
<i>(grinding down again, the maternal voice dropping into the cool register, the practical-mom voice repurposed for cruelty)</i> How much do they pay you for this, Megan? Hm? The men who book you. How much do they pay you for what your mouth is doing to me right now. Because mom is going to come on her daughter's tongue //free//, and they should be paying twice for it.
<</say>>
<<say "char-megan" "Megan">>
<i>(humming into her mother's pussy, the words wrenching a moan out of her she did not give permission for)</i> //Mmh, mom, mmph...//
<</say>>
<<say "char-karen" "Karen">>
//Cheaper// than what they pay, isn't it. //Free// for mom. That's how it should be. Always. You //know// that, sweetheart. Mom is going to remind you every time you forget.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes streaming, mouth working twice as hard at the words)</i> //Mmh, yes mom, yes mom...//
<</say>>
<<else>>
<<say "char-karen" "Karen">>
<i>(grinding down again, the maternal register cracking around the consonants)</i> Just like that. Just like that, sweetheart. //Mom's// pretty girl. Mom's //smart// girl.
<</say>>
<</if>>
<<if $kinks.megan.includes("praise")>>
<<say "char-karen" "Karen">>
<i>(voice softening further, the practical-mom register entirely repurposed for praise)</i> Good girl. //Good// girl. Such a good girl for mom. So smart. So pretty. Look at you taking care of mom like you were //made// for it.
<</say>>
<<say "char-megan" "Megan">>
<i>(humming into her, the praise stacking on top of the act, eyes streaming)</i> //Mmmh...//
<</say>>
<</if>>
<<if $kinks.karen.includes("denial")>>
<<say "char-karen" "Karen">>
<i>(palm on Megan's forehead, pulling her back two inches)</i> Stop. Wait. Mom isn't ready yet.
<</say>>
<<say "char-megan" "Megan">>
<i>(begging, mouth wet, eyes up at her mother)</i> Mom... //mom//, please, please let me —
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb at the corner of her daughter's mouth, voice soft)</i> Patience, sweetheart. Mom decides when. //Mom// decides.
<</say>>
<p>Karen lets her wait for thirty seconds. Then a full minute. Megan whimpers four separate times before Karen finally pulls her back in by the hair.</p>
<</if>>
<<if $kinks.megan.includes("rough")>>
<p>Karen's grip on her daughter's hair is harder than she would have thought she could grip. Megan moans into her, the pain registering as license, license to go harder, license to be used.</p>
<</if>>
<<if $kinks.megan.includes("publicSex")>>
<p>Megan, mid-act, reaches up with her free hand (or twists, if her hands are bound) and yanks the kitchen window curtain to one side. The window faces the Hendersons' yard. Karen sees her daughter do it. Karen does not stop. Karen //slows down// for one long second, watching the daylight on her own bare thighs, and then keeps going.</p>
<p>A figure passes the fence-line. Maybe Mrs. Henderson. Maybe just the light moving. Neither of them looks up to check.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(strangled gasp, free hand white on the marble, the controlled-voice fraying around the consonants for the first time)</i> Megan... //Megan//, mom is, mom is going to —
<</say>>
<<say "char-megan" "Megan">>
<i>(lifting briefly, mouth slick, lips swollen, voice high and pleased)</i> Mom, am I —
<</say>>
<<say "char-karen" "Karen">>
<i>(palm on her head pushing her back down hard)</i> Don't talk. Just take it. Just take what mom gives you, sweetheart. //Now.//
<</say>>
<p>Karen comes against her daughter's mouth, hand fisted in Megan's hair, the other hand white-knuckled on the kitchen marble.</p>
<<say "char-karen" "Karen">>
<i>(coming, eyes shut, the orgasm fragmenting the maternal voice into something softer)</i> Good girl. //Good// girl. That's it. Drink your mother. //Drink all of it.//
<</say>>
<<say "char-megan" "Megan">>
<i>(swallowing, throat working, eyes locked up at her mother)</i> //Yes mom, yes...//
<</say>>
<p>Megan stays between her thighs working her through it, slow and gentle now, until Karen pulls her up by the hair.</p>
<<say "char-karen" "Karen">>
<i>(pulling her daughter up by the hair, voice low and soft, the maternal-instructive register back)</i> Up. On the island. Lie back for mom. Skirt up. Spread for mom. Now mom returns the favour.
<</say>>
<p>Megan obeys without a word, climbs up onto the kitchen island, lies back on her elbows, hikes her own skirt to her hips, hooks her panties aside the way Karen taught her without ever having taught her. Karen steps between her daughter's spread thighs.</p>
<<if $karenFutaRoute>>
<p>But not with her mouth, not this time. Karen straightens, hooks Megan's hips toward her, and shifts the engineered tissue between her own legs to full erection in three seconds. The cock is fully Karen's now, her body, her musculature, her control. She presses the head against her daughter's pussy.</p>
<<say "char-karen" "Karen">>
<i>(one hand on her daughter's hip, the other guiding her cock to Megan's entrance, voice unhurried)</i> Eyes on mom, sweetheart. Look at me while mom puts it in you.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes locked on her mother, hands on her own breasts, voice high)</i> Yes mom, yes... //yes...//
<</say>>
<p>Karen slides into her daughter in one slow stroke. Megan arches off the marble, hands flying to her own breasts.</p>
<<say "char-megan" "Megan">>
<i>(arching, the higher voice surfacing)</i> Mom — //fuck//, fuck, mom —
<</say>>
<<say "char-karen" "Karen">>
<i>(beginning to move her hips, voice gone low and instructional)</i> //Good// girl. Good. Take it for mom. There. //There,// sweetheart. Just like mom wants.
<</say>>
<<if $meganRoute is "marcus">>
<<say "char-karen" "Karen">>
<i>(thrusting deeper, the maternal-cool voice surfacing through it)</i> Bet Marcus has never felt like this inside you. Has he, sweetheart. Has //he.//
<</say>>
<<say "char-megan" "Megan">>
<i>(coming around her mother's cock immediately, body locking up)</i> //No mom, no mom, only mom, only mom...//
<</say>>
<<elseif $meganRoute is "slut">>
<<say "char-karen" "Karen">>
<i>(thrusting deeper, the cool register, voice unhurried)</i> Tell mom how this compares. Tell mom how it stacks up against the men they pay you for, sweetheart. Tell mom //honestly.//
<</say>>
<<say "char-megan" "Megan">>
<i>(coming around her mother's cock immediately, body locking up)</i> //None of them, none, only you mom, only you...//
<</say>>
<</if>>
<p>Karen fucks her daughter bent against the kitchen island, slow at first, then harder, then harder again. Megan comes a second time, voice already destroyed. Karen comes inside her a few thrusts later, controlled, silent, hand fisted in her daughter's hair as her cock empties. Cum on the marble. Cum down the inside of Megan's thigh.</p>
<<say "char-karen" "Karen">>
<i>(thumb at her daughter's wet cheek, the maternal voice gathering itself back)</i> Good girl. //Good// girl. There's mom's good girl.
<</say>>
<<else>>
<<say "char-karen" "Karen">>
<i>(crouching at the edge of the island, mouth at her daughter's inner thigh, voice gone soft and instructive, teaching her something)</i> Quiet, sweetheart. Quiet for mom. //Mom// is going to teach you what your body has been waiting for.
<</say>>
<<say "char-megan" "Megan">>
<i>(thighs shaking, muffling herself with her own forearm)</i> //I'm trying, fuck, mom...//
<</say>>
<<if $meganRoute is "marcus">>
<<say "char-karen" "Karen">>
<i>(tongue flat against her daughter's clit, voice working between strokes)</i> Bet Marcus has never made you sound like this. Has he, sweetheart. Has //he.//
<</say>>
<<say "char-megan" "Megan">>
<i>(coming the moment her mother says his name, body locking up against the marble)</i> //No mom, no mom, only mom, only mom can...//
<</say>>
<<elseif $meganRoute is "slut">>
<<say "char-karen" "Karen">>
<i>(tongue flat against her daughter's clit, voice working between strokes, the cool register)</i> Tell mom this is better than what they pay you for. Tell //mom.//
<</say>>
<<say "char-megan" "Megan">>
<i>(coming immediately, the words wrenching it out of her)</i> //Yes mom, yes, yes mom, better, better...//
<</say>>
<</if>>
<p>Karen eats her daughter to a long, locked-up orgasm on the kitchen island. Megan comes a second time at her mother's tongue, free hand braced flat against the cabinet behind her head, the other hand crushed to her own mouth.</p>
<<say "char-karen" "Karen">>
<i>(lifting her face, mouth wet, the maternal voice gathering itself back)</i> Good girl. //Good// girl. There's mom's good girl.
<</say>>
<</if>>
<<if $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(mid-orgasm, voice dropping into the work-register, the dirty-talk register)</i> Those guys at work, mom, those guys at work, they would //love// this —
<</say>>
<p>Karen does not comment. The next stroke goes deeper. Megan understands.</p>
<</if>>
<p>Afterward they fix their clothes in silence at opposite counters, and they finish prepping the dinner without looking at each other, and Karen serves the casserole at six like nothing happened, and Megan eats three bites and excuses herself to her room.</p>
<<say "char-hivemind" "Hivemind">>
//Mother and daughter, in the kitchen they have shared every morning for two decades. The architecture is now different. The room itself has been re-encoded. Tomorrow's coffee will pour through a kitchen that means something it did not mean before.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Karen">></p>
<p><<conditioningFeedback "pheromone" 1 "Megan">></p>
<p><span class="biomass-gain">+5 biomass</span>, kitchen lockdown harvest.</p>
<p><span class="biomass-gain">max biomass +1</span>, sustained chemistry.</p>
<p><span class="consume-success">−1 individual suspicion — Karen.</span></p>
<p><span class="consume-success">−1 individual suspicion — Megan.</span></p>
[[Return to navigation->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<div class="passage-title">Beyond the Fence</div>
<img class="scene-img" src="media/scenes/beast-dog-fence.webp" alt="Golden retriever at fence line, nose to the ground">
<div class="scene-desc">The backyard stretches before you: patchy grass, rusted swing set, Karen's neglected flower beds. Biscuit knows every inch of this territory: the buried bones along the east fence, the scent trails that criss-cross the lawn like invisible highways, the gap in the west fence where the Henderson's tabby squeezes through on its nightly rounds. But today, those keen senses serve a different master.</div>
<p>The breeze shifts, and the dog's nose lifts. Information floods in, a waterfall of olfactory data that the human mind couldn't process in a lifetime. You can smell the Hendersons' dinner from two yards away (pot roast, overcooked). The Parkers' garden chemicals (herbicide, applied yesterday). A stray cat that crossed the alley three hours ago. //The entire neighbourhood is a library, and every molecule is a word.//</p>
<<say "char-hivemind" "Hivemind">>
//A dog's nose is a miracle of evolution.// Two hundred million olfactory receptors. A secondary organ, the vomeronasal, that reads pheromones, hormones, emotional states. //Through Biscuit's nose, I don't just smell the neighbours. I smell their health. Their stress. Their routines.// The woman next door has elevated cortisol. She's worried about something. The old man on the south side takes blood pressure medication. The children two houses down ate peanut butter sandwiches for lunch.
//Every breath is intelligence. Every breeze is a briefing.//
<</say>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control has established a scent perimeter that extends thirty metres beyond the fence. Stray animals divert. Delivery drivers hesitate. The territory is marked, mapped, and //defended//.//</p><</if>>
<<if $house.dayPhase is "night">>
<p>The yard is dark and quiet. Streetlights cast amber pools on the sidewalk beyond the fence. The neighbourhood sleeps, windows dark, cars cooling in driveways, the only sound the distant hum of the highway. //Perfect for reconnaissance.//</p>
<<say "char-hivemind" "Hivemind">>
//The night hours. No one walks their dogs at 2 AM. No one looks out their windows. The darkness and Biscuit's dark fur make me invisible.// This is when I map the territory. Push the boundaries. Find the weak points in this suburban cage.
<</say>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking") and not $ch2Events.hendersonCarScene>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Follow an unfamiliar arousal scent from the Henderson driveway" "Ch2-Beast-Dog-HendersonCar">><</link>></div>
<<elseif not $adaptations.dog.unlocked.includes("arousal_tracking") and not $ch2Events.hendersonCarScene>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A strange chemical signature drifts from the Henderson driveway... but you can't identify it. <span class="lock-hint">(Requires Arousal Tracking)</span></div>
<</if>>
<<elseif $house.dayPhase is "day">>
<<if $ch2Events.hendersonScared>>
<p>Voices carry from neighbouring yards. A lawnmower two doors down. Children shrieking on a trampoline. But the Henderson house is quiet. Their curtains are drawn. Their garden chairs sit empty. //They've learned to stay inside when Biscuit is out.//</p>
<<say "char-hivemind" "Hivemind">>
//The neighbours have retreated. Their fear is my privacy. The yard is unwatched, a rare luxury in suburban surveillance culture. What happens here now... no one will see.//
<</say>>
<<else>>
<<if $house.dayPhase is "day">>
<p>Voices carry from neighbouring yards. A lawnmower two doors down. Children shrieking on a trampoline. A woman calls out: "//Dinner, everyone!//" The neighbourhood is alive, awake, and //watching//.</p>
<p>Mrs. Henderson is in her garden, pruning roses. She looks up when Biscuit appears.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(calling over the fence)</i> Biscuit? Are you loose again? Karen's going to have a fit...
<</say>>
<<if not $ch2Events.dogYardSpottedToday>>
<<set $ch2Events.dogYardSpottedToday to true>>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">Biscuit loose in the yard during busy hours draws attention. +1 suspicion.</span></p>
<</if>>
<<else>>
<p>The neighbourhood is dark. Porch lights. Crickets. The Henderson house is silent, curtains drawn, lights off. Nobody watching.</p>
<</if>>
<</if>>
<</if>>
<<if not $ch2Events.hendersonScared and $player.currentHost is "dog" and $house.dayPhase is "day">>
<<if $adaptations.dog.unlocked.includes("intimidate")>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">INTIMIDATE</span> <<biomassLink "Intimidate the Henderson's dog, scare the neighbours indoors (2 biomass)" "Ch2-Beast-Dog-ScareHenderson" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Intimidate the Henderson's dog, scare the neighbours indoors <span class="lock-hint">(Requires Intimidate adaptation)</span></div>
<</if>>
<</if>>
<<if $ch2Events.hendersonScared>>
<div class="choice-done">The Hendersons stay indoors now. The yard is unwatched.</div>
<</if>>
<div class="nav-card-grid">
<<navCard "Ch2-Beast-Dog-FenceLine" "Fence Line" "Scent-mark the perimeter. Map the neighbours." "low" "" "media/scenes/nav-porch.webp">>
<<navCard "Ch2-Beast-Dog-Alley" "Back Alley" "Squeeze through the fence gap. Scout beyond." "medium" "" "media/scenes/nav-garden.webp">>
<<if $ch2Events.dogFenceScout>>
<<navCard "Ch2-Beast-Dog-Henderson" "Henderson House" "The neighbours. A new territory." "medium" "" "media/scenes/nav-hallway.webp">>
<</if>>
</div>
[[Return to the house->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.hendersonScared to true>>
<<addSuspicion "hoffmanHouse" 1>><</nobr>>
<div class="passage-title">Territorial Dominance</div>
<p>The Hendersons' chihuahua noses up to the fence gap, the small old thing wagging a cautious hello. Biscuit doesn't wag back.</p>
<p>You drop the dog's body into a stance no golden retriever should know, head low and shoulders forward, a growl starting deep in the chest and building until it vibrates the fence boards. The fur along Biscuit's spine rises in a ridge. Not instinct. //You// are doing this, every muscle fibre set for maximum threat.</p>
<p>The chihuahua yelps and scrambles back from the gap on its stiff arthritic legs. From the patio, Mrs Henderson drops her pruning shears.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(voice climbing)</i> Max. Max, here, //here//, come to me... oh god. //Gerald, something is wrong with that dog!//
<</say>>
<p>She is across the patio before she has decided to move, sweeping the shaking little dog up off the grass and into her arms, and she runs for the house without once looking back at the thing still locked in its crouch at the fence, teeth bared, eyes fixed on her the whole way.</p>
<img class="scene-img" src="media/scenes/symbiotic/dog-scare-henderson.webp" alt="A suburban backyard. A terrified middle-aged blonde woman in gardening clothes runs toward the viewer clutching a tiny chihuahua to her chest, dropped pruning shears on the grass behind her. At the fence behind her a golden retriever is locked in a snarling, almost rabid crouch, hackles up, eyes fixed on her.">
<p>The patio door slams behind her. The curtains drag shut. The lock clicks.</p>
<<say "char-hivemind" "Hivemind">>
//Perfect.// The Hendersons will not set foot in their own garden for a long while now. //No more eyes through the fence, no more calls to Karen about a loose dog.// The yard is mine, and a yard with no witnesses is the only kind that matters. //Whatever I do back here now, there is no one left to see it.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Henderson Neighbours Intimidated</div>
<p>The Hendersons now avoid their garden when Biscuit is outside. The Hoffman backyard is effectively //private//, with no witnesses for outdoor activities. New options available in the Garden for conditioned family members.</p>
</div>
<p><span class="consume-fail">+1 suspicion, aggressive dog behaviour alarmed the neighbourhood.</span></p>
[[Return to the yard->Ch2-Beast-DogYard]]<<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<div class="passage-title">The Perimeter</div>
<p>You circle the yard, nose to the ground. Biscuit's body reads the fence line like a newspaper, every post, every gap, every trace of urine and paw print telling a story.</p>
<p>//Track Scent catalogs the neighborhood: the Henderson dog's territorial markers (anxious), the Parker mail carrier's route (11:15 daily), a stray cat that passed the fence at 3 AM.//</p>
<<say "char-hivemind" "Hivemind">>
//Track Scent. The dog's olfactory cortex processes scent at forty times the resolution of a human nose. Each breath is a data dump.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Scent Map: Fence Line</div>
<p><b>North fence</b>: The Hendersons. Dog (small, old, arthritic). Cat (outdoor, unfixed). Five human scents: a heavy smoker, a woman in jasmine, two younger ones that come and go, and a fifth that matches none of the others. //The lady told the neighbours she has two children. Two children, a husband, and herself makes four. So why do I count five?// Mail carrier visits at 11 AM.</p>
<p><b>East fence</b>: Empty lot. Rats. Raccoon trail (nocturnal). Rainwater drainage toward the street. //Potential escape route through the storm drain.//</p>
<p><b>South fence</b>: The Parkers. No pets. One human (elderly, lives alone). Garden chemicals, herbicide, fertilizer. Rarely goes outside.</p>
<p><b>West fence</b>: Alley access. Garbage collection (twice weekly). Stray cats. Restaurant dumpster two blocks south. //A world of hosts beyond this fence.//</p>
</div>
<<if not $ch2Events.dogFenceScout>>
<<set $ch2Events.dogFenceScout to true>>
<<addSkillPoints 1 "dogFenceScout">>
<p><span class="delve-intel">Intel gained: Neighbourhood scent map. Three adjacent properties catalogued. Escape routes identified. The Henderson house carries one human scent more than the family that lives there.</span></p>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility>>
<p>//Vulnerability Mapping processes the scent data: the Henderson woman's cortisol signature suggests anxiety disorder. The Parker man two doors down radiates isolation markers similar to Ryan's. Future targets, catalogued.//</p>
<</if>>
[[Return to the yard->Ch2-Beast-DogYard]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.dogAlleyExplored to true>><</nobr>>
<div class="passage-title">The Alley</div>
<img class="scene-img" src="media/scenes/beast-dog-alley.webp" alt="Back alley behind suburban houses at night">
<p>You squeeze through the gap in the west fence, a space Biscuit has widened over years of escape attempts, her nails scratching furrows in the wood that Karen has complained about and Dale has never fixed. The dog's body compresses, ribs flexing, and you pop through into the alley beyond.</p>
<p>Freedom. The scent hits you like a wall, layers upon layers of olfactory data, richer and more complex than anything inside the Hoffman yard. Gravel underfoot. Trash cans overflowing with household waste. Weeds growing through cracked concrete, their roots breaking the surface in slow, patient destruction.</p>
<<say "char-hivemind" "Hivemind">>
//Beyond the house. For the first time since the lab, I'm in uncontrolled territory. The neighbourhood stretches in every direction, dozens of houses, hundreds of potential hosts. But I'm not ready. Not yet.//
<</say>>
<p>The alley runs north-south behind the row of houses. Scent trails layer over each other: dogs walked on leashes, cats on their nightly rounds, garbage truck diesel, a child's bicycle tires.</p>
<<if $house.dayPhase is "night">>
<p>The alley is deserted. Street lights cast orange pools every thirty metres. The quiet is absolute.</p>
<p>A stray cat crouches behind a garbage bin, watching you with reflective eyes. It hisses, then bolts.</p>
<<say "char-hivemind" "Hivemind">>
//Strays. Unowned. Unwatched. No one would miss them if they were... acquired. When the time comes, this alley will be my recruitment corridor.//
<</say>>
<</if>>
<div class="data-panel">
<div class="data-panel-title">Alley Intel</div>
<p>Garbage collection: two mornings a week. The alley is busy on collection days, avoid.</p>
<p>Henderson house backs onto the alley. Their back gate has a broken latch.</p>
<p>Storm drain grate at the south end, large enough for a dog. Leads toward the commercial district.</p>
<p>Street access at the north end, busy road. //Too exposed for a dog without a human holding a leash.//</p>
</div>
<<if not $ch2Events.dogAlleyIntel>>
<<set $ch2Events.dogAlleyIntel to true>>
<<addSkillPoints 1 "dogAlleyScout">>
<p><span class="delve-intel">Intel gained: Alley mapped. Henderson access point identified. Storm drain escape route catalogued.</span></p>
<</if>>
<<if $ch2Events.dogFenceScout>>
[[Investigate the Henderson property->Ch2-Beast-Dog-Henderson]]
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The Henderson property, scent map incomplete <span class="lock-hint">(Complete the fence line scent map first)</span></div>
<</if>>
[[Return to the yard->Ch2-Beast-DogYard]]<<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<div class="passage-title">Henderson Property</div>
<img class="scene-img" src="media/scenes/beast-henderson.webp" alt="Neighbour's tidy yard seen from a dog's perspective">
<<if $house.dayPhase is "day" and not $ch2Events.hendersonSpottedToday>>
<<set $ch2Events.hendersonSpottedToday to true>>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">An unfamiliar dog in a neighbour's yard during daytime. Risky. +1 suspicion.</span></p>
<</if>>
<p>The Henderson back gate swings open at a push, the latch broken for a long time now, a detail their insurance company would love to know about. Their yard is a pointed contrast to the Hoffmans': trimmed hedges, a birdbath with clean water, a small vegetable garden with tomato cages and herb rows. //Money isn't an issue here.// The house is well-maintained. The gutters are clean. The lawn is edged.</p>
<p>The scent profile is rich and layered, the comfortable habits of a household that wants for nothing.</p>
<<say "char-hivemind" "Hivemind">>
//New territory. The Hendersons' property, potential expansion beyond the Hoffman house. Every new location is a node in the network I'm building.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Henderson Household: Scent Profile</div>
<p><b>Residents:</b> Two adults. One male (smoker, heavy-set, spends time in the garage). One female (gardener, jasmine perfume, daily walks at 7 AM).</p>
<p><b>Pets:</b> Small dog (old, Chihuahua-mix, rarely outside). Outdoor cat (grey tabby, territorial, uses the birdbath).</p>
<p><b>Patterns:</b> Female leaves daily 7 AM walk, returns 7:45. Male retired, home all day, car rarely moves. Both go to bed early. Two adult children at State University, both still living at home and commuting to class, bedrooms upstairs lived-in. No security cameras.</p>
<p><b>Access:</b> Back gate broken. Dog door in kitchen (sized for small dog, cat or rat could fit). Garage side door left unlocked.</p>
<p><b>Unaccounted:</b> A fifth human scent runs through the whole house, faint and constant and matching none of the other four. Never at a window, never in the yard, never on the morning walk. //Someone in this house does not come out.//</p>
</div>
<<if not $ch2Events.hendersonScouted>>
<<set $ch2Events.hendersonScouted to true>>
<<addSkillPoints 2 "hendersonScout">>
<</if>>
<<say "char-hivemind" "Hivemind">>
//I had this house counted as four and simple: a comfortable couple, two grown children still living at home and commuting to class, a dog barely worth the name. But there is a fifth scent threaded all the way through it, old and settled and never once at a window. A household keeps a person out of sight for a reason. Before I expand beyond the Hoffmans, I want to know what they are keeping in there.//
<</say>>
<p>A grey tabby watches from the fence top, tail lashing. It recognizes a rival predator.</p>
[[Return to the alley->Ch2-Beast-Dog-Alley]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.hendersonCarScene to true>>
<<addSkillPoints 1 "hiddenHendersonCar">><</nobr>>
<div class="passage-title">The Driveway</div>
<img class="scene-img" src="media/scenes/henderson-car-night.webp" alt="Dog approaching a car in a dark driveway, windows fogged">
<p>//Arousal Tracking// triggers, a chemical signature unlike any in the Hoffman household. Young. Intense. Coming from outside the perimeter. The scent trail cuts through the cold night air like a neon line, pulling you through the gap in the fence toward the Henderson property.</p>
<p><span class="skill-used">Arousal Tracking, unfamiliar pheromone signature detected</span></p>
<p>The Henderson driveway. A silver SUV, not Doris's usual sedan. University parking sticker on the bumper. The windows are fogged from the inside, condensation beading on the glass. The car rocks subtly on its suspension. Muffled sounds leak through the weather-stripping.</p>
<<say "char-hivemind" "Hivemind">>
//The arousal signature is overwhelming at this distance.// Two sources. One male, testosterone-heavy, athletic, cortisol elevated from recent physical exertion. One female, unfamiliar, elevated oxytocin, accelerated heart rate. //The Henderson boy. Home from university. And he brought company.//
<</say>>
<p>The dog pads closer, staying low. Through the gap between the fogged glass and the door seal, the scene is clear: Bryce Henderson, twenty, defensive end, built like the football player he is, in the reclined passenger seat. A young woman straddling him, her university hoodie pushed up, both of them too occupied to notice the amber eyes watching from three feet away.</p>
<img class="scene-img" src="media/scenes/henderson-car-fogged.webp" alt="Fogged car windows from outside, silhouettes visible through condensation">
<p>Through the hand's-width gap where the condensation has not quite closed over, the dog watches her ride him. Her hips work in a slow grind against his lap, the pushed-up hoodie baring the line of her back, his hands spread wide on her waist to guide the pace, his head tipped back against the headrest. The SUV rocks gently with the rhythm. One bare foot is braced against the dash, and her half-loose ponytail sticks to the fogged glass every time she rolls forward.</p>
<<say "char-npc" "The girl">>
<i>(muffled through the glass, breathless, not slowing)</i> Mm. //Mm.// Quiet, your mom is right //there//, her light's still on...
<</say>>
<<say "char-npc" "Bryce">>
<i>(low and strained, gripping her hips)</i> She's asleep by now, she's always asleep by now. Don't stop. God, don't stop...
<</say>>
<p>She does not stop. She plants one hand flat on the fogged glass for leverage, the print of her palm cutting a clear streak through the condensation, and rides him harder, taking him deep on every drop of her hips while the wet sound of it and the creak of the seat and their two ragged breaths leak out through the door seal into the cold.</p>
<p>The dog's nose works the air. Arousal Tracking catalogues everything: Bryce's cortisol-testosterone ratio, a post-game hormonal spike, he played today. The girl's pheromone signature, a new partner, not established, first or second encounter. Trace alcohol, beer, two or three, not enough to impair. //Every detail is filed. Every detail is leverage.//</p>
<p>The girl's rhythm stutters, then doubles, and the chemical read spikes, her adrenaline and oxytocin climbing in one steep line, and she drops her forehead to Bryce's shoulder and shakes through it against him. He grips her hard enough to leave marks and finishes a few seconds behind her, a bitten-off sound muffled in her hair. The SUV settles back onto its springs. The fogged glass runs with fresh condensation. For a moment neither of them moves.</p>
<<say "char-npc" "Bryce">>
<i>(wrecked, half-laughing, still buried in her)</i> ...okay. Okay, we should go in. Separate, though. You first, give it five minutes so it doesn't look like anything.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Bryce Henderson.// Doris's pride and joy, the son she mentions in every conversation. The football scholarship she weaponises at neighbourhood barbecues. //And here he is. In his mother's driveway. In his mother's car.//
//This is valuable.// Not now. The Hendersons are a nuisance, not a target. But //later//... Doris Henderson watches the Hoffman house like a hawk. She reports everything to everyone. One phone call to Karen about "unusual activity" could unravel months of conditioning work.
//But if I have something on her son...// If I have evidence of exactly the kind of behaviour she publicly condemns in other families' children... then Doris Henderson stops being a threat. She becomes //manageable//.
//File this. The Henderson boy and his late-night visitor. When the time comes, this information will buy silence.//
<</say>>
<p><span class="delve-intel">Major intel: Bryce Henderson's late-night activities in the family car, potential leverage against the Henderson family. Doris's moral authority depends on the fiction that her children are perfect. This shatters it.</span></p>
<p>The dog retreats silently. Bryce and the girl don't notice. They won't. //Arousal makes humans blind to everything except each other.// The amber eyes disappear into the darkness, carrying intelligence that will keep until it's needed.</p>
[[Return to the yard->Ch2-Beast-DogYard]]<<nobr>><<bg "bg-hoffman-garden">>
<<spendBiomass `setup.getInfestCost("cat")`>>
<<infestCheck "cat">><</nobr>>
<<if _infestSuccess>>
<<addToInfected "Stray Tabby" "cat">>
<div class="passage-title">Second Node</div>
<p>The tabby freezes mid-hiss. Its pupils blow wide. Then a slow blink, and a new pair of eyes in the network.</p>
<<say "char-hivemind" "Hivemind">>
//A second host outside the Hoffman house.// The tabby knows this neighbourhood, every fence, every crawl space, every open window. While Biscuit holds the yard, this one ranges further.
<</say>>
<p><span class="skill-used">Stray tabby infested. Secondary host established at Henderson property.</span></p>
<p><span class="consume-success">Infected hosts: <<= $hivemind.infected.length >>. The network grows.</span></p>
<<if not $ch2Events.secondOutsideHost>>
<<set $ch2Events.secondOutsideHost to true>>
<<addSkillPoints 2 "secondHost">>
<</if>>
/* Player stays in dog, tabby is a network node, not active host */
[[Return to the alley->Ch2-Beast-Dog-Alley]]
<<else>>
<p>The tabby is too quick. It leaps to the fence top and vanishes. //Not today.//</p>
<p><span class="consume-fail">Infestation failed. The feral cat's survival instincts are too sharp. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
[[Return to the Henderson yard->Ch2-Beast-Dog-Henderson]]
<</if>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Intimidation</div>
<<if not $adaptations.dog.unlocked.includes("intimidate")>>
<<say "char-hivemind" "Hivemind">>
//The dog's body has raw power, but without the Intimidate adaptation, it's blunt force. I need to refine this weapon before I can use it surgically.//
<</say>>
[[Return->Ch2-Beast-NetworkHub]]
<<else>>
<<say "char-hivemind" "Hivemind">>
//The Intimidate adaptation channels Biscuit's bulk into something primal. A low growl that humans feel in their chest before they hear it. A tool of control, without ever breaking the skin.//
<</say>>
Who do you target?
<<if $house.dayPhase is "day">>
<<if $familySuspicion.ryan.level gte 3>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">INTIMIDATE</span> <<biomassLink "Growl at Ryan, suppress his suspicion (2 biomass)" "Ch2-Beast-Dog-Intimidate-Ryan" 2>></div>
<</if>>
<<if $familySuspicion.jess.level gte 3>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">INTIMIDATE</span> <<biomassLink "Block the hallway when Jess passes, remind her of the pecking order (2 biomass)" "Ch2-Beast-Dog-Intimidate-Jess" 2>></div>
<</if>>
<</if>>
<<if $house.dayPhase isnot "night">>
<div class="data-panel-muted">Intimidation works best against isolated targets. Wait for a moment when they're alone.</div>
<</if>>
[[Return->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<addFamilySuspicion "ryan" -2>><</nobr>>
<div class="passage-title">The Dog's Warning</div>
<p>Ryan comes downstairs for a snack. His feet are bare on the hardwood, headphones around his neck, phone in hand. He rounds the corner and stops.</p>
<img class="scene-img" src="media/scenes/beast-dog-intimidate-dog.webp" alt="Golden retriever in aggressive stance, teeth bared">
<p>Biscuit is in the hallway. Not wagging. Not playful. Not moving. Just... //staring//. The dog's body is perfectly still, thirty kilograms of muscle locked in place, head low, eyes fixed on Ryan with an intensity that doesn't belong on a golden retriever's face. A low growl builds in the chest, so deep it's more vibration than sound.</p>
<<say "char-ryan" "Ryan">>
Whoa... Biscuit? What's wrong, girl?
<</say>>
<p>The growl deepens. Ryan freezes. The energy drink in his hand trembles. He takes a step back.</p>
<img class="scene-img" src="media/scenes/beast-dog-intimidate-ryan.webp" alt="Ryan pressed against wall, terrified">
<<say "char-hivemind" "Hivemind">>
//The primal response. Sixty thousand years of domestication, and the wolf is still in there. Ryan's amygdala fires. Not fight, not flight. //Freeze//. The oldest fear.//
<</say>>
<p>Ryan retreats to his room. The door closes. The lock clicks.</p>
<p><span class="consume-success">Ryan's suspicion -2. He won't investigate strange happenings in the house for a while, the dog unsettles him too much.</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-upper">>
<<addFamilySuspicion "jess" -2>><</nobr>>
<div class="passage-title">Territorial</div>
<p>Jess walks past the garage door. Biscuit stands in the doorway, not moving, not yielding. A rumble in the chest, barely audible, that Jess feels more than hears.</p>
<<say "char-jess" "Jess">>
<i>(stopping)</i> Biscuit? Move, girl. Come on...
<</say>>
<p>The dog doesn't move. The eyes are wrong, too focused, too //intelligent//. Jess reaches out to push past...</p>
<p>The growl sharpens. Just one note higher. Jess's hand retracts.</p>
<<say "char-jess" "Jess">>
...okay. Okay, Biscuit. I'll go around.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The analytical mind recognizes the threat before the body does. Jess won't challenge the dog again, and she won't look too closely at things that might provoke it. Self-preservation over curiosity.//
<</say>>
<p><span class="consume-success">Jess's suspicion -2. Her analytical instincts are redirected toward avoiding the dog, not investigating anomalies.</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Egg Laying — External Nests</div>
<<if not $ch2Events.spikeCanonized>>
<<set $ch2Events.spikeCanonized to true>>
<img class="scene-img" src="media/scenes/beast-gecko-terrarium.webp" alt="Spike on her warm rock under the heat lamp, body slightly distended, the parasite registering the hidden cargo for the first time">
<<say "char-hivemind" "Hivemind">>
//Spike is a female gecko. Spike has been gravid since I colonised her. The eggs have been waiting for somewhere to hatch.//
//Camouflage already gives her invisibility against any surface she chooses. What I am unlocking now is not a new ability, it is the //decision// to use what she has been carrying. The eggs, deposited inside a fully-corrupted external target, will hatch under the skin over the next several weeks. Each new gecko is a new vector. Each new vector is a permanent nest.//
//The rule of the operation is simple. The carrier must be //fully// conditioned, every axis maxed, no resistance left in the body, because Spike rides exposed once she leaves the household, and any hesitation in the carrier exposes her to discovery. The downstream target must be //post-coital and unconscious//, because the ovipositor work takes minutes of sustained internal contact and an awake body would notice. The biofilm she leaves behind will do the rest.//
<</say>>
<hr class="scene-break">
<</if>>
<p>Spike is in the terrarium. The eggs are ready. Each carrier on the list has a route out of the house and a target waiting at the other end.</p>
<<conditioningCheck "karen" 30>>
<<if _conditioningMet and $karenRoute and not $ch3Nests.karen>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EGG LAY</span> <<link "Make Karen the vector of my offspring: at the Henderson house, in Gerald" "Ch2-Beast-EggLaying-Karen">><</link>></div>
<<elseif $ch3Nests.karen>>
<div class="choice-done">✓ Henderson household seeded, my offspring incubating in Gerald</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make Karen the vector of my offspring <span class="lock-hint">(Karen must be fully conditioned: <<= _conditioningTotal >>/30<<if not $karenRoute>>; route not yet locked<</if>>)</span></div>
<</if>>
<<conditioningCheck "megan" 30>>
<<if _conditioningMet and $meganRoute and not $ch3Nests.megan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EGG LAY</span> <<link "Make Megan the vector of my offspring: at the coffee shop, in Marcus" "Ch2-Beast-EggLaying-Megan">><</link>></div>
<<elseif $ch3Nests.megan>>
<div class="choice-done">✓ The Grounds seeded, my offspring incubating in Marcus</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make Megan the vector of my offspring <span class="lock-hint">(Megan must be fully conditioned: <<= _conditioningTotal >>/30<<if not $meganRoute>>; route not yet locked<</if>>)</span></div>
<</if>>
<<conditioningCheck "jess" 30>>
<<if $jessRoute is "punk">>
<<set _jessPunkBothKinks to $kinks.jess.includes("brat") and $kinks.jess.includes("band")>>
<<if _conditioningMet and _jessPunkBothKinks and not $ch3Nests.jessPunk>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EGG LAY</span> <<link "Make Jess the vector of my offspring: at the band's loft, in Kade" "Ch2-Beast-EggLaying-JessPunk">><</link>></div>
<<elseif $ch3Nests.jessPunk>>
<div class="choice-done">✓ Bleed Through loft seeded, my offspring incubating in Kade</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make Jess the vector of my offspring <span class="lock-hint">(Jess must be fully conditioned: <<= _conditioningTotal >>/30<<if not _jessPunkBothKinks>>; needs both Punk kinks (brat + band) crystallized<</if>>)</span></div>
<</if>>
<<elseif $jessRoute is "breakdown">>
<<if _conditioningMet and not $ch3Nests.jessBreak>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EGG LAY</span> <<link "Make Jess the vector of my offspring: at the campus stall, in a chatroom stranger" "Ch2-Beast-EggLaying-JessBreak">><</link>></div>
<<elseif $ch3Nests.jessBreak>>
<div class="choice-done">✓ Whitmore third-floor seeded, my offspring incubating in a graduate student</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make Jess the vector of my offspring <span class="lock-hint">(Jess must be fully conditioned: <<= _conditioningTotal >>/30)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make Jess the vector of my offspring <span class="lock-hint">(Jess's route not yet locked)</span></div>
<</if>>
<hr class="scene-break">
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch3Nests.karen to true>>
<<set $ch2Events.eggLayKaren to true>>
<<set $player.maxBiomass += 5>><</nobr>>
<div class="passage-title">The Casserole Dish</div>
<p>2:14 PM. Karen at the front door of the Henderson house. The casserole dish is washed, dried, and rewrapped in the cellophane Doris uses for everything she returns to the neighbours. The pretext is correct. The pretext is not why Karen is going.</p>
<p>Karen at full conditioning has stopped needing pretexts to know why her body is doing what it does. The body knows the body has not been touched by anyone other than Dale in twenty-two years. The body knows Dale has been a dim collapsed presence in the garage for the better part of a year and a dim collapsed presence in the bedroom for years before that. The body knows the bay window of the Henderson living room faces the street. The body knows Doris Henderson is at her book club until 5 PM on the first afternoon of the month. The body knows Gerald Henderson is, at this exact moment, alone in his house with his bad knees and his slippers and his nine-month flannel.</p>
<p>Karen rings the doorbell with Spike in the side pocket of her purse, body-pressed flat against the lining, invisible against the canvas.</p>
<<say "char-hivemind" "Hivemind">>
//The carrier is no longer being driven. The carrier has //agreed//. The decision was made by the body underneath the schedule a while back and has been waiting for a window in Doris's calendar to surface. //I do not need to nudge.// The body has registered the open afternoon and is showing up at the door dressed for it.//
<</say>>
<p>Gerald opens the door. Forty-five, salt-and-pepper hair gone mostly grey at the temples, a soft body that has stopped being asked to do anything, an old flannel over a t-shirt, slippers, a cigarette tucked behind one ear in defiance of the no-smoking rule Doris has been enforcing for two decades. He looks at Karen in the doorway holding the casserole dish and his face does the small involuntary recalibration of a man who has not been looked //at// in a very long time.</p>
<<say "char-karen" "Karen">>
<i>(holding out the dish, the polite-neighbour register on the surface and something else exactly half a beat behind it)</i> ...your dish. Doris loaned it to me. It got stuck in the back of the cabinet, I'm sorry it took so long.
<</say>>
<<say "char-gerald" "Gerald">>
<i>(taking the dish, half-stepping back to clear the doorway, the politeness of a man whose wife has trained him in twenty thousand small hospitalities)</i> ...oh. Oh, hey, Karen. Yeah, no, no problem. You want a coffee? Doris won't be back for a couple of hours. I was about to put the kettle on anyway.
<</say>>
<p>Karen walks in. Sets her purse on the Henderson coffee table, where the side pocket happens to face the bay window and the bay window happens to face the entire afternoon. Gerald goes to the kitchen for the coffee. Karen sits on the Henderson living room couch, which is a beige floral monstrosity Doris has been threatening to replace for ten years, and registers, clinically, the way Karen registers everything, that she is wet.</p>
<p>Gerald returns with two mugs. Sits across from her in the armchair because the couch is "Doris's spot." Hands her a mug. Their fingers brush. Karen takes one sip, sets the mug on the coaster, stands up, crosses the rug, takes the mug out of Gerald's hand, sets it on the side table, and sits down across his lap.</p>
<<say "char-gerald" "Gerald">>
<i>(eyes very wide, hands going up and not knowing where to land, voice somewhere between a laugh and a panic)</i> Karen... Karen, hold on, what, what are we —
<</say>>
<<say "char-karen" "Karen">>
<i>(quiet, the work-voice fully online, hands at the buttons of his flannel)</i> //You haven't been touched in a decade, Gerald.// I haven't either. Doris isn't home. Dale won't ask. I'll be gone in an hour. Stop thinking.
<</say>>
<p>Gerald stops thinking. His hands find her hips. The flannel comes off in three buttons and a pull. Underneath is a soft white t-shirt, a soft body, the chest hair gone mostly grey, the skin warm and slightly damp from the kettle. Karen leans down and kisses him, and the kiss is the first kiss either of them has had with someone outside their marriage in over twenty years and it is exactly as quiet as the magnitude warrants.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Behind them the bay window faces directly onto Maple Street. A car passes. A jogger passes. A woman walking her dog passes. Karen registers all three, holds Gerald's gaze through the kiss, does not move from the line of sight.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>Karen pulls Gerald's belt out of the loops of his old jeans in one slow drag. Loops it once around his right wrist. Threads it through the gap in the couch arm. Loops it around his left wrist. Knots it. He could pull free in three seconds if he tried. He does not try.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>Karen has decided, before the third button comes undone, that Gerald is not coming for at least twenty minutes.</p>
<</if>>
<p>She gets his jeans open. His cock is already hard inside the briefs, fuller, redder, more //alive// than Dale's has been in years. Karen takes a beat to register this before she pushes the briefs down over his hips. Her own skirt comes up. She is not wearing underwear. The decision was made before she rang the doorbell.</p>
<img class="scene-img" src="media/scenes/egglaying-karen.webp" alt="Karen Hoffman astride Gerald Henderson on the beige floral couch in the Henderson living room, late-afternoon light through the bay window striping the scene, both partially undressed — Gerald's flannel open, Karen's silk blouse half-unbuttoned, mid-coital, intimate and unhurried, the framing tight on their connected hips and her hand flat against his chest">
<p>She lowers herself onto his cock in one slow steady movement. Gerald exhales like a man who has just been handed a thing he stopped expecting decades ago. Karen registers him bottoming out inside her with the same clinical satisfaction she uses for every other observation: //he fits. The geometry is correct. The body has been prepared for this.//</p>
<<say "char-karen" "Karen">>
<i>(quiet, eyes on his, hand flat against his sternum, beginning to ride him at her own pace)</i> Don't talk. Don't apologise. //Just stay there.//
<</say>>
<<say "char-gerald" "Gerald">>
<i>(strangled, the words escaping before he can stop them, hands gripping her hips)</i> Karen... //god//... Karen, you can't... I haven't...
<</say>>
<<say "char-karen" "Karen">>
<i>(picking up the pace, the controlled-clipped voice losing one notch of clip per stroke)</i> //I know.// That's why we're here. //Don't pull out.//
<</say>>
<p>She rides him hard for the next eight minutes. Gerald's body, unused to this kind of demand, climbs the wall of his orgasm in a steady terrifying line. He grips the couch cushion with one hand and her thigh with the other. Karen leans into him, sets the pace with her hips, and watches his face for the moment when he tips. When he tips, she feels it before he does, a small involuntary clench in his thighs, a stutter in his breath, the cock inside her swelling that last micro-millimeter, and she leans down and bites his lower lip hard enough to taste copper and tells him in three clipped words to //come inside her//.</p>
<p>Gerald comes inside her. Hard. The kind of hard that empties a body that has not emptied this thoroughly in years. Karen's pussy clenches around him in a quieter sympathetic spasm of her own, not a full orgasm, not a performance, just the body registering the heat and the pulse and choosing to keep him in for the duration.</p>
<p>And from the canvas side pocket of Karen's purse on the coffee table, exactly at the moment Gerald's last spasm peaks — Spike releases a slow, almost-invisible exhalation of pale-green sedative spore-dust into the air above the couch. The plume drifts across Gerald's open mouth, into his nose, into the warm column of breath he is taking in fast, ragged pulls in the aftermath of his orgasm. The dose is calibrated. The dose lands.</p>
<p>Gerald's hands fall away from Karen's hips. His head lolls back against the couch cushion. His eyes close. The body that was just climbing out of the pleasure goes flat under the spore-dust before the pleasure has finished resolving, not unconscious in the dangerous sense, just //asleep//, immediate and dreamless, the sleep of a body that has been chemically tipped over the edge of an exhaustion it had already half-earned.</p>
<p>Karen stays where she is for a beat. Registers the slack weight of him beneath her. Then carefully, unhurriedly, lifts off him.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier delivered the act. Spike delivered the dose. Target is unconscious. Window of opportunity: estimated forty minutes before Gerald's body re-engages with the world. //Spike, you're up.////
<</say>>
<hr class="scene-break">
<p>Karen reaches across to her purse and unzips the side pocket. Spike emerges in a slow careful crawl, body-flat against the couch cushion, chromatophores already shifting from canvas-beige to floral-print. Karen looks at her this time. Karen smiles the small private smile her face has not been allowed to make in the kitchen of her own house in years.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the gecko on the couch cushion, in the work-voice she uses on a closing balance sheet)</i> ...good girl. Lay them deep. Doris breathes the air in this house every night. Bryce comes home for the weekend. Ashley too. //The whole family.// Take your time.
<</say>>
<p>Spike does not look up. Karen does not need her to. The two of them have an arrangement and the arrangement is the air of the Henderson house through the next year of breakfasts.</p>
<p>Spike crosses the couch cushion. Climbs onto Gerald's bare thigh. Pauses. Climbs higher. Onto his hip. Across his stomach. Onto his sternum. Up his slack chest. Stops at his slack-open mouth.</p>
<p>The ovipositor extrudes from beneath the cloacal vent, a slim segmented organ the colour of pale meat, roughly the diameter of a pencil and twice the length of Spike's body. Spike positions herself at the corner of Gerald's lower lip, threads the ovipositor between his teeth, past the slack tongue, down into the warm wet space at the back of his throat. Gerald does not stir. The ovipositor delivers seven eggs in slow careful peristaltic pulses, soft-shelled, mucous-coated, gravid with hatchlings that will migrate down his esophagus over the next several hours and embed in the wall of his stomach to incubate.</p>
<p>The ovipositor retracts. Spike steps off Gerald's chin, drops to the couch cushion, and begins the biofilm work, secreting a thin clear film from her toe pads onto the couch fabric, then onto the wooden frame, then off the couch and onto the rug, then under the rug toward the HVAC return duct beneath the bay window. The film is invisible. The film aerosolises through the Henderson ductwork over the next week and reaches every room in the house and every lung that breathes the air in any of those rooms.</p>
<p>Spike returns to the purse. Karen redresses calmly. Buttons her blouse, smooths her skirt, fixes her hair in the Henderson hallway mirror. Leaves the empty mug on the side table. Lets herself out the front door without locking it because Doris will be home in an hour and Doris will lock it without registering that it had been unlocked.</p>
<<say "char-hivemind" "Hivemind">>
//Henderson household nest established. Gerald carries seven hatchlings. Doris breathes the compound. Bryce and Ashley return for weekend visits and breathe the compound. The eggs will hatch in due course; the first new gecko will emerge from Gerald's stomach lining and begin the next phase of the network. //The line of the household has moved one house over.//
<</say>>
<hr class="scene-break">
<p>Karen lets herself out the Henderson front door, casserole dish under her arm, hair calmly in place. She walks across the Henderson lawn at her own pace. Stops at the property line where the Henderson grass meets the Hoffman grass. Looks back at the house she just came out of for one beat. The bay window. The porch. The slumped silhouette of Gerald asleep on the couch behind the sheer curtain.</p>
<p>The corner of her mouth lifts in a small private smirk that her own face would not have known how to make a year ago.</p>
<img class="scene-img" src="media/scenes/egglaying-karen-corrupt.webp" alt="Karen Hoffman on her own front lawn at dusk in a silk blouse and pencil skirt, an empty casserole dish under one arm, hair smoothed neatly back into place, looking back over her shoulder toward the Henderson house behind her — her eyes catching the dusk light with a faint internal green glow and a small private smirk at the corner of her mouth, the calm satisfaction of a woman who has just delivered exactly what she came to deliver">
<<say "char-hivemind" "Hivemind">>
//The corruption signature has surfaced. The eyes register my recognition that the carrier has performed precisely the operation the carrier was conditioned to perform. The mark fades within the next several minutes — Karen will not see it in her own bathroom mirror tonight, but for the duration of this porch-step it is //visible//, and the body wearing it knows it. //She is going to do this again.// She has already begun planning the second visit.//
<</say>>
<<addBiomass 5>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Henderson household nest established. Gerald Henderson is incubating seven gecko eggs. Biofilm is propagating through the house's HVAC system. <b>Max biomass +5</b>. Household scrutiny eases, the corruption has graduated to external orbit.</span></p>
[[Return to the Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch3Nests.megan to true>>
<<set $ch2Events.eggLayMegan to true>>
<<set $player.maxBiomass += 5>><</nobr>>
<div class="passage-title">After Close</div>
<p>9:47 PM. The Grounds. Megan at full conditioning has been the closing-shift barista on enough nights this season to know the closing rhythm by heart: lock the front door at 9:00, count the till, run the espresso machine through the cleaning cycle, mop the floor, take the trash to the alley dumpster, kill the front lights at 9:45. Tonight Marcus is the second on shift. Tonight Marcus is the second on every shift Megan has worked since she started keeping Spike in the lining of her apron pocket a while back.</p>
<<say "char-hivemind" "Hivemind">>
//The carrier no longer pretends to be coming to the shop for the shift. The shift is the //pretext//. The shop is the //pretext//. The carrier is here to do the thing the body has been engineering toward since the dinner-table conversation with her own mother, and the body has been routing the calendar to land tonight on the empty-shop hour.//
<</say>>
<p>Marcus locks the front door at 9:01. Megan kills the dining-room lights at 9:02. The shop is dark except for the under-counter strip lights at the espresso bar and the soft yellow glow from the back-room office. The two of them are on opposite sides of the bar wiping the steam wand and the milk pitchers, and the rhythm of it is the rhythm of every other closing shift they have shared, except that tonight the rhythm has a destination.</p>
<<if $meganRoute is "marcus">>
<p>Megan walks around the bar to him. Marcus is rinsing the steam wand. He looks up. Smiles the boyish-grateful smile he has been giving her since the morning she stayed at his apartment for the first time. She slides her hand under the hem of his apron, finds the waistband of his jeans, and he understands what is happening at exactly the speed she wants him to.</p>
<<say "char-megan" "Megan">>
<i>(quiet, against his collarbone, the hand under the apron not stopping)</i> ...lock the back door too. Then come over here.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(strangled, dropping the cloth, fingers gripping the bar behind him)</i> ...Meg, //here?// Now?
<</say>>
<<say "char-megan" "Megan">>
<i>(moving her hand up under his shirt against the bare skin of his stomach)</i> Yeah. Right here. The counter we both wiped. The one we never get to use.
<</say>>
<<elseif $meganRoute is "slut">>
<p>Megan walks around the bar to him. Marcus is rinsing the steam wand. He looks up. The look on his face is not the boyish-grateful look, it is the half-confused half-curious look of a coworker who has been reading her differently for several closing shifts now and has not been sure what she wanted from the change. She closes the distance, takes the cloth out of his hand, and sets it on the bar. Her hand stays on his.</p>
<<say "char-megan" "Megan">>
<i>(closer than she has ever stood to him, the commercial-Marcus charm she runs on regulars but turned all the way up)</i> ...we're closing. The shop's locked. There's nobody here to walk in.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(swallowing, his free hand finding the bar behind him for support)</i> Meg — Megan, what, what are we —
<</say>>
<<say "char-megan" "Megan">>
<i>(taking his free hand, putting it on her hip, the practised ease of a girl who has done this many times to many men but never, before tonight, to this one)</i> //You know what.// Say yes.
<</say>>
<</if>>
<p>Marcus says yes. The way he says yes does not change what happens next.</p>
<p>She backs him against the back-room counter, the one with the pastry case behind it that runs along the wall, and unties his apron. Drops it on the floor. Pulls her own apron off and drops it next to his, the lining of the side pocket carrying Spike, who has chosen this exact moment to slip silently out and onto the underside of the counter overhang.</p>
<p>Marcus's jeans come open under her hand. His cock is hard before she has it free of the boxers, younger and harder than the cocks Megan is used to, the cock of a 21-year-old with no sleep debt and no cardiac history. She pumps him twice in her hand and watches his eyes lose focus.</p>
<video class="scene-video" src="media/video/egglaying-megan.webm" autoplay muted loop playsinline poster="media/scenes/egglaying-megan.webp"></video>
<p>She turns around, plants her hands on the counter, kicks her jeans down to her ankles. Marcus understands what she is asking for without her having to say it. He is inside her in three strokes, clumsy first, then steadier, the rhythm of a man whose hands have been wanting hers for a long while, with both of his palms flat against the small of her back and his cock fully seated and his breath against the nape of her neck.</p>
<<say "char-marcus" "Marcus">>
<i>(against the back of her ear, picking up the pace, the boyish grin completely gone)</i> ...//god// Meg... Meg you feel... //fuck//...
<</say>>
<<say "char-megan" "Megan">>
<i>(over her shoulder, hand reaching back to grip the back of his neck, the closing-shift smile still on her face but the voice underneath it her own)</i> Don't pull out. //Don't pull out.// I want... I want it //inside.//
<</say>>
<p>He lasts seven minutes. Megan, who has never come quickly with men outside of the routine she runs herself, comes off his cock at minute four with her fingers on her own clit and the heel of her hand against the corner of the back-room counter and the entire under-counter strip-light glow striping her bent body in soft yellow. Marcus follows her over inside three minutes after that, buries himself to the hilt, presses his forehead between her shoulder blades, comes inside her in three deep pulses, and slumps forward against her back.</p>
<p>And from the lining of the apron crumpled on the floor, exactly at the moment Marcus's last pulse lands inside her — Spike releases a slow, almost-invisible exhalation of pale-green sedative spore-dust into the air at hip height. The plume rises through the warm steam-and-coffee atmosphere of the back room and into the panting breaths Marcus is taking against the back of Megan's neck. The dose is calibrated. The dose lands.</p>
<p>His weight goes too heavy. His knees buckle. He slides off her body, off his own, onto the back-room rubber mat in a slow controlled collapse. By the time she has turned around to catch him he is already asleep, not the post-coital crash of a tired 21-year-old, but the chemically clean drop of a body that has been tipped over the edge by the spore-dose layered on top of the orgasm.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier delivered the act. Spike delivered the dose. Sleep cycle: forty to sixty minutes before he wakes confused on the rubber mat with no memory of the transition. //Spike, the counter is yours.////
<</say>>
<hr class="scene-break">
<p>Spike emerges from the apron lining on the floor. Crosses the rubber mat in a chromatophore-shifting blur. Megan crouches down for a beat to watch her go, registers the small dark shape of the gecko climbing onto Marcus's bare chest with the tender attentiveness she has been routing into him for a long while now, except the tenderness is on the wrong subject.</p>
<<say "char-megan" "Megan">>
<i>(quiet, to the gecko climbing onto Marcus, in the warm-cheerful register she uses on a regular customer)</i> ...go on. Make him part of the family, Spike. Connor's tip will buy you a whole bag of crickets next week. //Yvonne// will drink her oat-milk latte at 7:08 AM through the steam wand. The whole shop will be ours by close. Take your time.
<</say>>
<p>Spike does not look up. Megan does not need her to. She straightens, fixes her apron strap on her shoulder, and steps back to watch.</p>
<p>The ovipositor extrudes. Threads into the ear canal, slow, careful, the soft tissue parting around the segmented organ without resistance. Spike delivers four eggs, smaller than Gerald's load (Marcus is a younger and more energetic host, less incubation space needed to produce a viable hatchling). The eggs settle against the eardrum, soft-shelled, mucous-coated, designed to migrate inward over the next several days and embed in the temporal bone.</p>
<p>The ovipositor retracts. Spike steps off Marcus's temple, descends his shoulder, drops to the rubber mat. Megan crouches beside her in the dim under-counter glow, pulls her jeans up to her hips with one hand, and offers Spike the other hand palm-up. Spike climbs onto Megan's wrist. Megan straightens up barefoot on the rubber mat with the gecko balanced on her forearm and the closing-shift lights warm yellow across both of them.</p>
<<say "char-megan" "Megan">>
<i>(quiet, the warm closing-shift voice she uses to walk a new hire through the bar, the gecko on her forearm getting the orientation tour she has not given a coworker in months)</i> ...okay. Quick tour, Spike. The bar gets touched by the regulars all day, but the //yield points// are more specific. Let me show you.
<</say>>
<p>She walks her around the bar slowly. At each station she stops, lifts her wrist to the right surface, and lets Spike touch it. Spike's toe pads leave a thin clear film of biofilm wherever they bond.</p>
<<say "char-megan" "Megan">>
<i>(at the bean hopper above the grinder)</i> The hopper. Every shot we pull tomorrow comes through these beans. They drink it black. They drink it sweet. They drink it iced. //Doesn't matter.// Lay it thick.
<</say>>
<p>Spike crawls onto the lip of the hopper, runs the underside of her body along the rim. The biofilm goes onto the metal, into the seal between the lid and the bean column, down across the first quarter-inch of beans inside. Megan picks her up again.</p>
<<say "char-megan" "Megan">>
<i>(at the milk fridge under the counter, opening it)</i> The milk fridge. //Yvonne// gets oat. //Marcus's mom// gets whole. The latte crowd at noon goes through six cartons. Lay it on the seal so every open is a dose.
<</say>>
<p>Spike runs the seal of the fridge door. The biofilm bonds to the rubber gasket. Every door-open from now on aerosolises a fresh dose into the cold air column above the milk cartons.</p>
<<say "char-megan" "Megan">>
<i>(crossing to the front of the bar, lifting Spike to the touch-screen POS)</i> The screen. Every coworker. Every shift. //Connor pays here too.// He puts his thumb on the tip-prompt every visit. Lay it where the thumb lands.
<</say>>
<p>Spike crawls across the touch-screen, biofilm trailing behind her like a clear sheen the screen-cleaner the closing-shift wipe will not lift. The thumb-zone of the tip prompt is dosed by the time she steps off.</p>
<<say "char-megan" "Megan">>
<i>(at the pastry case glass, the warm display lights still on inside)</i> The glass. The lunch crowd presses their faces against this like dogs. Get the inside, the latch handle, the tongs. //All of it.// Every cookie they pick up after this is a dose.
<</say>>
<p>Spike does the inside of the pastry case glass, the latch, the metal tongs that lay across the brownies. The biofilm dries clear and stays.</p>
<<say "char-megan" "Megan">>
<i>(last station, at the steam wand on the espresso machine)</i> And here. //The steam wand.// Every cappuccino aerosolises this through the foam. Yvonne. Connor. Every regular. Every walk-in. Lay it on the nozzle, lay it inside the wand. The first pull tomorrow is the first second-order infestation.
<</say>>
<p>Spike threads herself onto the steam wand, body-flat against the metal, biofilm bonding into the inside of the nozzle and along the shaft. The compound will aerosolise through the milk-foam interface during every pull. The customers at 6:30 AM tomorrow will inhale the first dose with their first sip.</p>
<<say "char-hivemind" "Hivemind">>
//The carrier is no longer just delivering Spike to a target. The carrier is //operating Spike// like a paint roller across her own workplace, cataloguing yield points she has been mentally indexing for a long while. //I did not need to direct this tour.// The body did. The carrier walked her own corridor of the network into being.//
<</say>>
<p>Megan returns Spike to the apron lining. Pulls her jeans up the rest of the way, redresses, brushes her hair flat in the small mirror beside the office door. Marcus on the rubber mat sleeps on. Megan kneels beside him for a beat, kisses his temple, and stands up. Picks up both aprons. Folds his and sets it on the bar where he will find it when he wakes up.</p>
<p>She leaves through the back door. Locks it from the outside with her key. Walks home along Maple Street under the streetlights with the apron strap over her shoulder and Spike against her hip and Marcus's cum sliding slowly down the inside of her thigh.</p>
<<say "char-hivemind" "Hivemind">>
//The Grounds nest established. Marcus carries four hatchlings. The espresso machine aerosolises the compound through every drink served, every customer who walks in tomorrow morning will be dosed at the cellular level by the steam alone. //The shop's regulars are the second-order infestation.//
<</say>>
<hr class="scene-break">
<p>Megan steps out the back door of The Grounds, locks it from the outside, pockets the key. Stops in the alley for a beat. Adjusts the apron strap on her shoulder. Looks back at the closed shop, the warm yellow glow of the under-counter strip lights still spilling through the back-room window onto the alley pavement, Marcus invisible inside on the rubber mat behind the counter.</p>
<p>The corner of her mouth lifts in a small private smirk her closing-shift face has never made.</p>
<img class="scene-img" src="media/scenes/egglaying-megan-corrupt.webp" alt="Megan Hoffman standing in the back alley of The Grounds coffee shop at night, hair in a loose end-of-shift state, apron strap over one shoulder, looking back at the closed shop behind her with the warm under-counter lights still glowing through the back-room window — her eyes catching the streetlight with a faint internal green glow and a small private smirk at the corner of her mouth, the calm satisfaction of a girl who has just delivered exactly what she came to deliver">
<<say "char-hivemind" "Hivemind">>
//The corruption signature has surfaced. The eyes register my recognition that the carrier has performed precisely the operation the carrier was conditioned to perform. The mark fades within the next several minutes — Megan will not see it in her own bathroom mirror tonight, but for the duration of this alley-pause it is //visible//, and the body wearing it knows it. //She will be back behind the counter for her next shift.//
<</say>>
<<addBiomass 5>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">The Grounds coffee shop nest established. Marcus is incubating four gecko eggs. Biofilm propagating through the espresso machine and the shop's air vents, every customer is now a second-order vector. <b>Max biomass +5</b>. Household scrutiny eases.</span></p>
[[Return to the Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch3Nests.jessPunk to true>>
<<set $ch2Events.eggLayJessPunk to true>>
<<set $player.maxBiomass += 5>><</nobr>>
<div class="passage-title">The Practice Space</div>
<p>11:34 PM. The Bleed Through practice space is a converted warehouse loft above an auto-body garage on the south side of the city. Concrete floor. Foam-tile sound dampening on the walls. A broken brown leather couch nobody has owned for more than three years. Sean's drum kit shoved into the corner under a tarp. Two amp stacks against the wall — Kade's Marshall, and the bass amp Jess has been using since she joined the band. The other two band members have left. Kade is alone, cross-legged on the rug, restringing his guitar with a beer warming next to his knee.</p>
<p>Jess walks in through the door at the back of the loft with her bass case slung over her shoulder. The case is heavier than it should be tonight. Spike is curled in the lining behind the headstock cavity, body pressed flat against the velvet, invisible against the dark.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier at full conditioning. The brat-and-band layer of her conditioning has been routing toward this specific room and this specific man since the third practice. The body has registered the empty-loft window and dressed for it. The carrier did not need a pretext. The carrier is the bass player. The pretext is the band.//
<</say>>
<p>Kade looks up. Twenty-three, lean, dark hair shaved on the sides and dyed jet-black on top, three lip rings and one through the bridge of his nose, a faded band tee and ripped black jeans, tattoos on his forearms that he got at sixteen and has been quietly regretting since twenty. He sees her standing in the doorway in the black tank and the dark-purple-and-black hair and the polished steel bridge piercing he has been watching her grow into and his face does the small involuntary recalibration of a man who has been keeping his hands off a bandmate on principle.</p>
<<say "char-npc" "Kade">>
<i>(setting the guitar aside, taking a slow swig of the warm beer)</i> ...Jess. You came back. The other two left ten minutes ago.
<</say>>
<<say "char-jess" "Jess">>
<i>(setting the bass case down on the broken couch, the precise-clinical voice fully on, no preamble)</i> I know. That's why I came back.
<</say>>
<p>Kade does not say anything. Kade has been waiting for her to say something exactly like that since the night he watched her play the second-set bass solo with her teeth pulled back and her eyes closed, and the silence that follows is the silence of a man whose patience is about to be rewarded for the right reasons.</p>
<<say "char-jess" "Jess">>
<i>(walking across the rug toward him, voice flat, the brat layer perfectly compressed under the precision)</i> I'm going to bend over your amp stack and you're going to fuck me from behind. We're going to do it once and we're not going to talk about it after, and you're not going to text me about it tomorrow, and we're going to play a clean set at the next show like nothing happened. Yes or no.
<</say>>
<<say "char-npc" "Kade">>
<i>(standing up slowly, the small lazy grin, the mouth-open beat of a man who has been written exactly the kind of permission slip he was not going to ask for)</i> ...yes.
<</say>>
<p>She walks past him to the amp stack. Plants both palms flat on the top of the Marshall cab. Bends forward at the hips. Kade gets her tank pulled up over her head in one motion, her bra unhooked behind her back in two, and the fly of her own black jeans down before she has finished pulling the bra off her arms. Her jeans and the panties under them go down together to her ankles. She steps one foot out of the bunched fabric to widen her stance, palms still flat on the cab.</p>
<img class="scene-img" src="media/scenes/egglaying-jess-punk.webp" alt="Jess Hoffman with dark-purple-and-black dyed hair past her shoulders bent forward over the top of a Marshall amp cab in a converted-warehouse practice space loft, palms flat on top of the cab, tank top pushed up to her shoulder blades, jeans pulled down to her ankles, ass to viewer, Kade behind her with hands on her hips mid-thrust, both partly undressed, mid-sex, the lo-fi yellow lighting and the foam-tile walls behind them, both of them sweaty and intent, the broken brown couch visible in the background">
<p>Kade gets behind her. Hands on her hips. The head of his cock finds her entrance from behind in one careful pass, then the shaft pushes in slow and steady to the hilt. The tube head behind the cab hums faintly under the rhythm, the low resonance of an amp that has not been switched off properly transferring through the cab into her palms and up her forearms. Her head drops between her shoulders. Her jaw locks open. She does not make a sound — Jess Hoffman does not make sound, especially not when she is being fucked over a Marshall stack at 11:38 PM on a school night.</p>
<<say "char-npc" "Kade">>
<i>(both hands at her hips, leaning forward over her back, the beer breath warm against her shoulder blade, the strokes already finding a rhythm)</i> ...you brat. You absolute brat. You've been wearing that piercing for me, haven't you.
<</say>>
<<say "char-jess" "Jess">>
<i>(her own clipped register, palms still flat on the cab, pushing back into him at the angle she is choosing)</i> //Don't talk.// Just keep going.
<</say>>
<p>He keeps going. The amp under her palms hums faintly under the rhythm of him fucking her into it, the low resonance of a tube head harmonising with the rhythm of his hips. Jess's pussy is wetter than it has been in any of her bedroom-gloryhole sessions and her clit is harder under the rhythm of his pubic bone against her ass than she has ever felt it under her own fingers, and the analytical mind that catalogues every other sensation she has ever had is //inside// the orgasm with her instead of watching it from the outside.</p>
<p>She comes around his cock at minute six. Silent. Knees buckling, palms slipping forward on the top of the cab, fingers digging hard enough into the tolex on the cab edges to leave four small dents. Kade comes inside her sixteen seconds later, grips her hips hard, buries himself deep, three deep pulses, and then slumps forward over her back with the sudden full weight of a man whose legs have decided they are done for the night.</p>
<p>He carries her, half-collapsing, the three steps from the amp to the broken brown couch. They land on it sideways, her on top of him, his cock still inside her, his arms going slack around her hips. And from the lining of her bass case open on the cushion beside them, exactly as Kade's last pulse fades — Spike releases a slow, almost-invisible exhalation of pale-green sedative spore-dust into the air above his face. The plume drifts down across his open lips, into his slack-jawed inhale. The dose is calibrated. The dose lands.</p>
<p>Within ninety seconds his breathing has dropped into the regular slow rhythm of a body that has been chemically tipped over the edge of an exhaustion it had already half-earned.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier delivered the act. Spike delivered the dose. Twenty to forty minutes of safe window. //Spike, the carpet is yours, the amp grilles are yours, Kade's mouth is yours.////
<</say>>
<hr class="scene-break">
<p>Jess lifts off Kade carefully. He does not stir. His head has lolled to the side with his lower lip slack. Spike emerges from the bass case beside them, climbs across the brown leather, onto Kade's bare chest. Jess sits cross-legged on the couch beside the unconscious Kade, naked from the waist down, and watches the gecko climb her bandmate with the analytical focus she usually reserves for organic chemistry problem sets.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the gecko on Kade's chest, the precise-clinical voice still on at the start)</i> ...lay them deep. Sean breathes off the snare every practice. The crowd at the next show is two hundred lungs. The opening act will be on these amps next week. //Make it count.//
<</say>>
<p>Spike does not look up. Spike begins the ovipositor work into Kade's open mouth. Jess watches for a beat, and the beat is the beat where the precise-clinical voice she has used for everything since the eighth grade //quietly stops being the only voice in the room//.</p>
<<say "char-jess" "Jess">>
<i>(still seated cross-legged on the couch beside the unconscious Kade, voice shifting one notch off clinical, the brat layer arriving like a second eyelid sliding open)</i> ...look at you. //Look at you.// Big rockstar. Twenty-three. Ten years deep in "the scene." Two-finger callus on the strumming hand. //I auditioned for this band because I wanted you.// I learned the setlist in three days because I wanted you. I told you to fuck me against the amp tonight because I wanted you. You think you've been pulling me into your orbit? //I've been pulling you into mine since the audition.// You just held the door.
<</say>>
<<say "char-jess" "Jess">>
<i>(reaching out, brushing two fingers across Kade's slack lower lip, the precise-clinical voice gone now)</i> Spike's in your throat right now, by the way. You won't feel it tomorrow either. You'll feel //bright//. Wrong-bright. You'll write a song about it and not know what the song is about and you'll perform it on these amps and the crowd will breathe it and they'll think it's the //performance// hitting them. //Cute.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The brat layer has come fully online. The band layer underneath it is supplying the technical anatomy of the corruption, every chord, every venue, every tour stop, every audience, and the brat layer is layering //contempt// across all of it. //This is the carrier in full possession of both kinks at once.// I did not engineer this register. The register was waiting for the body to be unsupervised.//
<</say>>
<<say "char-jess" "Jess">>
<i>(standing up off the couch, naked from the waist down, palms still slightly tolex-grimed from the amp, addressing the unconscious man with the heat she has not been able to put on her own face in twenty-one years)</i> The opening act on the bill at the next show breathes these amps too. Their next gig. Their //next next// gig. The summer festival circuit. //The studio session you've been begging your label for//, when it happens, your producer breathes the same air you do, and his next four bands breathe him. //I am going to make you my fucking distributor, Kade.// Every chord you play from now until you collapse on a bathroom floor with hatchlings in your stomach is going to be a //dose//. And you //paid me with your cock// for the privilege.
<</say>>
<<say "char-jess" "Jess">>
<i>(quieter, to herself this time, to the empty practice loft, the realization landing in her own voice)</i> ...I wasn't built for med school. I wasn't built for //any// of that. I was built for //this//. I have been built for this for a very long time and I have just been waiting to find out.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Carrier has named the thing. //She was built for this.// The brat layer is not separate from the family-investment layer, the brat layer is //what the family-investment layer was always going to release into// once the supervision dropped. The bridge piercing between her eyebrows was not a route-shift artefact. It was //a tour-pass//.//
<</say>>
<p>Spike does not look up. Spike is occupied. The ovipositor threads between Kade's front teeth, past the slack tongue, into the warm wet space at the back of his throat. Six eggs, soft-shelled, mucous-coated, deposited in slow careful peristaltic pulses. Designed to migrate down the esophagus over the next several hours and embed in the wall of his stomach.</p>
<p>The ovipositor retracts. Spike steps off Kade's chin onto his sternum. Jess crouches beside the couch and offers her index finger. Spike climbs onto it. Jess straightens, naked from the waist down, the tolex-grime from the amp still under her bare feet, and walks the gecko on her wrist over to the Marshall amp stack.</p>
<<say "char-jess" "Jess">>
<i>(at the Marshall, voice flat, the brat-clinical register she has just discovered she has)</i> The amp grilles. Right here. Every chord he plays for the rest of his career goes through this speaker mesh. Lay it on the cone, lay it on the inside of the grille, lay it on the back panel where the tube head plugs in. //All of it.//
<</say>>
<p>Spike runs the speaker mesh. Climbs the grille. Threads behind it onto the speaker cone. The biofilm dries clear and stays bonded, every chord every band member plays for the next several months will aerosolise the compound off the amp face into the lungs of every person in the practice space.</p>
<<say "char-jess" "Jess">>
<i>(crossing to Sean's drum kit under the tarp, lifting Spike to the top of the snare)</i> Sean's snare. Every hit aerosolises a puff. Every practice. Every show. He keeps his sticks in his mouth between songs. Lay it on the head, lay it on the rim, lay it on the //sticks//, top shelf of his trap case, right there.
<</say>>
<p>Spike does the snare head, the rim, the sticks. The biofilm bonds clear into the wood of the sticks and the calfskin of the head.</p>
<<say "char-jess" "Jess">>
<i>(at her own bass amp, last station, the brat layer fully online now)</i> And here. //My// amp. The bass goes through this every set. The PA at every venue we play at picks up the bass cab via DI and the DI breathes through the rest of the rig. //Lay it everywhere.// Make my own corner of this rig the loudest infestation node on the bill.
<</say>>
<p>Spike runs Jess's bass amp top to bottom. The cab. The head. The cable jacks. The DI box on top. The biofilm bonds in. By the time Spike steps back onto Jess's wrist, every meaningful surface in the Bleed Through practice space carries a bonded layer of the compound.</p>
<p>Spike returns to the bass case lining. Jess redresses on the couch beside the sleeping Kade. Pulls her tank back down. Hooks her bra. Buttons her jeans. Picks up her bass case. Slings it over her shoulder. Walks across the rug, past the amp stack with her own four small dents in the tolex, and out the loft door.</p>
<p>She drives home with the radio off and her own pulse in her ears. The bridge piercing between her eyebrows is still slightly warm. She does not text Kade. She is not going to text Kade. They are going to play a clean set at the next show like nothing happened. The eggs are inside him. The biofilm is inside the amps. The next infestation is now a band rehearsal at a time.</p>
<<say "char-hivemind" "Hivemind">>
//Bleed Through nest established. Kade carries six hatchlings. The amp grilles aerosolise the compound through every chord. Sean the drummer breathes it through his sticks. The bassist position in this band is now a //household appendage//. The line of the household has just expanded into the city's punk scene.//
<</say>>
<hr class="scene-break">
<p>Jess steps out of the warehouse loft door with the bass case slung over her shoulder. The metal fire-escape stairs ring under her boots on the way down. She stops at the foot of them, in front of her own car in the back parking lot. Looks back up at the loft door above her, the rectangle of dim warm light spilling onto the metal grating, Kade invisible inside on the broken couch behind it.</p>
<p>The corner of her mouth lifts in a small private smirk her usual face has never been allowed to make.</p>
<img class="scene-img" src="media/scenes/egglaying-jess-punk-corrupt.webp" alt="Jess Hoffman with dark-purple-and-black dyed hair past her shoulders standing on the back parking lot of a converted-warehouse practice space at 2 AM, polished steel bridge piercing between eyebrows, multiple ear piercings, lip stud, black tank and black jeans, hardshell bass case slung over one shoulder, looking back up at the loft door behind her with the warm light spilling out — her eyes catching the security floodlight with a faint internal green glow and a small private smirk at the corner of her mouth, the calm satisfaction of a girl who has just delivered exactly what she came to deliver">
<<say "char-hivemind" "Hivemind">>
//The corruption signature has surfaced. The eyes register my recognition that the carrier has performed precisely the operation the carrier was conditioned to perform. The mark fades within the next several minutes — Jess will not see it in her own car's rear-view mirror on the drive home, but for the duration of this parking-lot pause it is //visible//, and the body wearing it knows it. //She will be at the next practice.//
<</say>>
<<addBiomass 5>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Bleed Through practice-space nest established. Kade is incubating six gecko eggs. Biofilm propagating through the amp speakers, every band rehearsal aerosolises the compound. <b>Max biomass +5</b>. Household scrutiny eases.</span></p>
[[Return to the Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch3Nests.jessBreak to true>>
<<set $ch2Events.eggLayJessBreak to true>>
<<set $player.maxBiomass += 5>><</nobr>>
<div class="passage-title">The Stall</div>
<p>10:14 PM. The third-floor bathroom of Whitmore Science Building. Jess has chosen this bathroom because it is the bathroom on her own usual class route, between the anatomy lecture and the library, and because the third floor of Whitmore at 10 PM is reliably empty: maybe one user per half hour, mostly tired graduate students who do not look at faces.</p>
<p>The arrangement was made over the chatroom Jess has been logging into at her desk for the last while. A regular she has been talking to under a pseudonym. They agreed on the bathroom. They agreed on the time. They agreed on the rules: no names, no eye contact, no photos, no follow-up. He arrives first. She arrives nine minutes later.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier at full conditioning. The breakdown release-valve circuit has been routing toward this exact meet for a long while. The body has decided that the chatroom-only version is //insufficient//, too text-only, too curated, too much //a stranger she has had time to imagine into something//. The body wants the //real// version. The body has booked the real version through a thread on a forum, and tonight the body has come to use it.//
<</say>>
<p>The middle stall. The man is already inside, standing, his back against the cinderblock rear wall, jeans open, half-hard cock in his own loose hand. Jess steps in. Closes the stall door behind her. Slides the lock. Does not look up at his face. He is keeping his end of the agreement: hood up, head turned slightly aside, both of them pretending the geometry of the stall makes anonymity easier than it is.</p>
<p>Jess in her own clothes, black hoodie, black jeans, the tight bun she has worn unchanged since the eighth grade. Spike in the small inner pocket of the hoodie pressed flat against her left ribcage.</p>
<p>She kneels on the white tile.</p>
<p>His cock is half-hard already. Hand-stroked, probably, in the minute since he heard the bathroom door open. Jess registers the texture in three clinical observations — //cleanly washed, cut, average length, slight upward curve//, and then leans forward and takes the head between her lips.</p>
<img class="scene-img" src="media/scenes/egglaying-jess-break.webp" alt="Jess Hoffman in a campus bathroom stall in a faded grey hoodie and black jeans with her dark brown hair in a tight severe bun, no piercings, kneeling on white tile mid-blowjob, mouth wrapped around the head of an anonymous cock at the centre of frame, the man's hand at frame edge gently gripping the back of her head, only the cock and hand visible no face no torso, harsh fluorescent stall lighting overhead, beige metal stall divider behind her, intimate POV-from-above framing">
<<say "char-jess" "Jess">>
<i>(against the shaft, the words she would never say aloud at her own desk arriving here in the precise voice she uses for organic chemistry)</i> ...mm. //Mm.// Yeah. Just like —
<</say>>
<p>She takes him deeper. Tongue flat along the underside, lips sealing around the base, the head pressing against the back of her throat and her gag reflex catching for one short involuntary clench before she breathes through her nose and pushes through it. The cock at her mouth twitches. The man above her makes a small involuntary sound, a controlled exhale, the sound of a man who has done this before and is keeping his composure.</p>
<<say "char-npc" "Anonymous">>
<i>(above her, voice low, not quite a whisper, keeping it neutral by agreement)</i> ...//fuck.// Yeah. Yeah, take it. Just, yeah.
<</say>>
<p>Jess takes it. Head bobbing slow at first, then faster as the rhythm settles, pre-med discipline applied to a problem that has nothing to do with pre-med, both hands now flat against the front of his thighs for leverage, her cheeks hollowing on every up-stroke, her throat opening on every down-stroke. She does not look up. He does not look down at her. They have an agreement.</p>
<p>The thing the body is registering, the thing the analytical mind is //allowing itself// to register, is that the man above her does not know her name. Does not know she is pre-med. Does not know she is the eldest Hoffman daughter, the family investment, the one Karen has been telling people about for years. The man above her knows the username she gave the chatroom and the mouth that is currently working him toward orgasm. //That is the entire dataset he has on her.// The relief of being a complete stranger to him is the same shape as the relief Jess found in the porn loop and the chat-room exchanges and the bedroom-gloryhole, and it is //larger// here than it has been in any of those, because it is //real//, and the body has been waiting for the real version.</p>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, two fingers under the head working him through, voice quieter than the fluorescent hum overhead)</i> ...come in my mouth. //Don't pull out.//
<</say>>
<<say "char-npc" "Anonymous">>
<i>(strangled, one hand finding the back of her bunned hair without pulling, the small involuntary thrust forward)</i> ...okay. //Okay//, yeah — I'm —
<</say>>
<p>She takes him back into her mouth and works him fast for the next ninety seconds with both hands at the base of his shaft and her mouth at the head and her tongue flat against the frenulum. The orgasm cracks through him in three deep pulses, cum hits the back of her throat in three long ropes, hot and salt and the specific clean taste of a man who has hydrated correctly today. She swallows. Doesn't cough. Doesn't gag. Holds the head in her mouth for the full duration of the spasm and then waits a full beat after to make sure he is done.</p>
<p>The cock softens in her mouth. She lets it slip out, slowly. And from the inner pocket of her hoodie, exactly as the man's last pulse fades — Spike releases a slow, almost-invisible exhalation of pale-green sedative spore-dust at chest height between them. The plume rises through the warm column of breath he is taking in fast, ragged pulls in the aftermath of his orgasm. The dose is calibrated. The dose lands.</p>
<p>His entire weight slumps backward against the cinderblock of the rear wall. His head tips forward. His chin goes to his chest. The hand at the back of her head goes slack and falls. He is, instantly and completely, asleep on his feet, slumped down against the cinderblock with his pants around his ankles and his cock retracting against his thigh.</p>
<<say "char-hivemind" "Hivemind">>
//Carrier delivered the act. Spike delivered the dose. Estimated forty minutes before he wakes confused with no memory of the transition. //Spike, the stall is yours.////
<</say>>
<hr class="scene-break">
<p>Jess stays on her knees. Spike emerges from the inner pocket of the hoodie, crosses the tile in front of her, climbs up the slack thigh of the unconscious man, across his lap. Onto the soft warm skin between hipbone and pubic bone. Jess watches the gecko work with the analytical focus she usually reserves for organic chemistry problem sets.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the gecko on the unconscious man's lap, in the precise-clinical voice she uses for any other observation)</i> ...lay them deep. His PI breathes the third-floor vent at 9 AM. The whole wing teaches in there. The faculty conference room shares the same trunk. //The prostate is the longest incubation site of the four.// Make it count.
<</say>>
<p>Spike does not look up. Jess does not need her to. The salt taste of the man's cum is still on the back of her tongue.</p>
<p>The ovipositor extrudes. Spike threads it into the meatus of the still-mostly-soft cock, past the urethral opening, into the warm narrow channel of the urethra, deeper, until the tip reaches the prostate. Five eggs deposited in slow careful peristaltic pulses, deeper than any of the other targets, soft-shelled, mucous-coated, designed to migrate up into the prostate and incubate there. Five hatchlings.</p>
<p>The ovipositor retracts. The cock, slack now, lets her go without resistance. Spike steps off the man's lap, drops to the tile of the stall, begins the biofilm work, across the stall floor, under the door, across the bathroom tile to the row of sinks. Up the side of the porcelain bases. Onto the underside of the toilet seats in every other stall. Into the air-vent grille beside the door. The bathroom HVAC will aerosolise the compound through Whitmore's third-floor air handling for the next while. Every grad student who uses this bathroom inhales it. The bathroom is now a permanent first-stage exposure node.</p>
<p>Spike returns to the inner pocket of the hoodie. Jess stands up off the tile. Brushes the knees of her jeans. Steps over the slumped legs of the man, unlocks the stall door from the inside, lets herself out. Washes her hands at the row of sinks and splashes her face with cold water and looks at her own reflection in the mirror, the bun still tight, the eighth-grade-onward face perfectly composed, the salt taste of his cum still on her tongue, the //in-here-I-get-to-be-nothing// version of her face and the family-investment version of her face occupying the same square of mirror without needing to argue about who is in charge tonight.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to her own reflection, the precise-clinical voice the same one she used at her desk at 3:14 AM the morning of the breakdown)</i> ...okay. The trade scales. Out there I keep being her. //In here//, and now also //in there//, I get to be nothing.
<</say>>
<p>She walks out of the bathroom. Down the third-floor corridor. Out of Whitmore. Across the parking lot in the cold. Drives home with the radio off and the salt taste settling on the back of her tongue.</p>
<<say "char-hivemind" "Hivemind">>
//University bathroom nest established. The graduate student carries five hatchlings, prostate-incubated, the most dangerous incubation site of the four because the prostate's blood supply is generous and the hatchlings will be parasitically wired into his sympathetic nervous system before they emerge. Whitmore's third-floor HVAC will aerosolise the compound across two adjacent classrooms and a faculty office for the next while. The line of the household has expanded into the State University faculty stream.//
//The chatroom-arrangement protocol is //load-bearing infrastructure//. The thread is open. There are seven other regulars who have asked for meets. The carrier will be back. The carrier will be back many times.//
<</say>>
<hr class="scene-break">
<p>Jess steps out of the third-floor bathroom of Whitmore Science Building. Walks the long fluorescent-lit corridor toward the stairwell. Stops at the floor-three landing. Looks back at the closed bathroom door at the far end of the corridor, the soft fluorescent glow visible through the frosted glass panel above it, the graduate student in the third stall still slumped against the cinderblock behind it.</p>
<p>The corner of her mouth lifts in a small private smirk her usual face has never been allowed to make.</p>
<img class="scene-img" src="media/scenes/egglaying-jess-break-corrupt.webp" alt="Jess Hoffman with dark brown hair pulled into a tight severe bun, no piercings, in a faded grey oversized college hoodie and black jeans, standing at the third-floor stairwell landing of a university science building at night, backpack over one shoulder, looking back down the long empty fluorescent-lit corridor toward a closed bathroom door at the far end — her eyes catching the harsh overhead fluorescent light with a faint internal green glow and a small private smirk at the corner of her mouth, the calm satisfaction of a girl who has just delivered exactly what she came to deliver, beige cinderblock institutional walls, late-night vacant atmosphere">
<<say "char-hivemind" "Hivemind">>
//The corruption signature has surfaced. The eyes register my recognition that the carrier has performed precisely the operation the carrier was conditioned to perform. The mark fades within the next several minutes — Jess will not see it in the rear-view mirror on the drive home, but for the duration of this stairwell-pause it is //visible//, and the body wearing it knows it. //She has seven open chatroom threads in her backpack and a list of three more bathrooms.//
<</say>>
<<addBiomass 5>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Whitmore Science Building third-floor bathroom nest established. An anonymous graduate student is incubating five gecko eggs in his prostate. Biofilm propagating through the bathroom HVAC, adjacent classrooms and faculty offices are second-order vectors. <b>Max biomass +5</b>. Household scrutiny eases.</span></p>
[[Return to the Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.kitchenScraped to true>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Scavenging</div>
<img class="scene-img" src="media/scenes/beast-feed-kitchen.webp" alt="Scavenging crumbs from kitchen floor">
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You creep along the baseboards, following the scent of food. Under the table: toast crumbs, a smear of jam, a fragment of cheese that missed the plate. You consume it all, not for nutrition, but for //raw material//. The organic matter breaks down instantly, converted to biomass.</p>
<<say "char-hivemind" "Hivemind">>
//Crude fuel. But fuel nonetheless.// A rat's body is remarkably efficient at extracting energy from garbage, one of the few advantages of wearing something this small.
<</say>>
<<elseif $player.currentHost is "cat">>
<p>The cat food bowl is empty, but the floor around it has scraps, crumbs kicked under the cabinet, a spot of spilled milk. You lick the floor clean. Normal cat behaviour. //Nothing to see here.//</p>
<<else>>
<p>You find scraps of food left on the counter, ends of bread, vegetable trimmings. You consume them quickly, converting the organic matter to biomass.</p>
<</if>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//Adaptive Metabolism strips every molecule of organic value. What a normal rat leaves behind, you convert completely. The crumbs become fuel. The grease becomes energy. Nothing is wasted.//</p>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-attic">>
/* Biomass is awarded in the LINK HANDLER that navigates here, not on passage entry.
This prevents double-awarding when the passage re-renders (journal open/close, menu return). */
<<set $ch2Events.nocturnalFed to true>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Nocturnal Hunting</div>
<img class="scene-img" src="media/scenes/beast-feed-nocturnal.webp" alt="Hunting insects in wall cavities">
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Nightvision turns the wall cavities into a hunting ground. Every silverfish, every cockroach, every spider, visible in the absolute dark as clearly as noon. The predator advantage is total.//</p><</if>>
<p>The wall cavities come alive at night. Silverfish dart between the insulation fibres. A spider the size of a penny hangs in the corner junction. Cockroaches, two of them, navigate the space between the joists with antennae twitching.</p>
<p>You hunt them methodically. The spider first, quick, crunchy, negligible. The cockroaches are better, more biomass per gram. The silverfish are barely worth the effort, but you eat them anyway.</p>
<<say "char-hivemind" "Hivemind">>
//The ecosystem inside these walls is richer than the family knows.// Insects. Spiders. Organic detritus from decades of suburban living. //Not a feast. But a steady supply, and in this body, steady is enough.//
<</say>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//Adaptive Metabolism processes the prey at the cellular level. Chitin, protein, trace minerals, all converted. The wall cavities are an all-you-can-eat buffet for an adapted digestive system.//</p>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-garden">>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.gardenForaged to true>>
<<if $player.currentHost is "rat">><<addSuspicion "hoffmanHouse" 1>><</if>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Garden Foraging</div>
<img class="scene-img" src="media/scenes/beast-feed-garden.webp" alt="Hunting bugs in garden beds">
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You burrow through the garden bed, where the soil is soft and teeming. Earthworms. Grubs. A beetle larva the size of your eye. You consume them all, feeling the biomass reserves swell.</p>
<<if $player.currentHost is "rat">>
<<if not $ch2Events.hendersonScared>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(shrieking from the fence)</i> OH! Oh my God, Gerald, there's a //rat// in the Hoffmans' garden! A white one! <i>(clutching her gardening gloves)</i> That is NOT a wild rat. That's a //lab// rat. Where on earth did it come from? I'm calling animal control.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A white lab rat in suburban daylight. Of course the Henderson woman spotted it; she watches this garden like a surveillance camera. And she's right: this body is //conspicuous//. A white rat in a garden bed might as well be a neon sign.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//A rat in the garden in broad daylight.// Risky. If Karen sees this through the kitchen window, she'll call pest control. //Eat fast. Leave faster.// At least the Hendersons aren't watching.
<</say>>
<</if>>
<p><span class="consume-fail">+1 suspicion (a rat in the garden is not subtle).</span></p>
<</if>>
<<elseif $player.currentHost is "cat">>
<p>You stalk through the garden bed, hunting. A grasshopper. Two beetles. A moth that made the mistake of landing on the lavender. You eat each one with practiced precision, just a cat being a cat.</p>
<<if not $ch2Events.hendersonScared>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(over the fence, to no one in particular)</i> There goes that cat again, digging in Karen's tomatoes. If that animal got into //my// garden I'd... <i>(trails off, shaking her head)</i> Honestly, the state of that yard.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The Henderson woman again. She doesn't miss a thing, but a cat hunting bugs is normal enough. She'll mutter about it to Gerald over dinner and forget. For now.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Normal predator behaviour. Karen might even approve, fewer bugs on her tomatoes.// The cover is perfect.
<</say>>
<</if>>
<</if>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//The adapted metabolism extracts biomass from soil organisms a normal host would ignore. Earthworms, grubs, fungal mycelium, each one a calorie source invisible to natural digestion.//</p>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Return to the garden->Ch2-Garden]]<<nobr>>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.petFed to true>>
/* Per-host daily flags so the harvest-all harvester can tell catFed / geckoFed apart */
<<if $player.currentHost is "cat">><<set $ch2Events.catFed to true>><</if>>
<<if $player.currentHost is "gecko">><<set $ch2Events.geckoFed to true>><</if>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Feeding Time</div>
<<if $player.currentHost is "gecko">>
<img class="scene-img" src="media/scenes/beast-feed-gecko.webp" alt="Gecko eating mealworms in terrarium">
<<elseif $player.currentHost is "cat">>
<img class="scene-img" src="media/scenes/beast-feed-petfood.webp" alt="Cat eating from food bowl">
<<elseif $player.currentHost is "dog">>
<img class="scene-img" src="media/scenes/beast-feed-dog.webp" alt="Dog eating from food bag in garage">
<</if>>
<<if $player.currentHost is "gecko">>
<<bg "bg-hoffman-ryan">>
<p>The mealworm dish sits in the corner of the terrarium; Ryan refills it every few days, precise as clockwork. You eat. The wriggling larvae are protein-dense, and the gecko's metabolism converts them to biomass with surprising efficiency.</p>
<<say "char-hivemind" "Hivemind">>
//He feeds me. He doesn't know he's fuelling his own subversion.// Every mealworm becomes a unit of biomass, a gram of influence. Ryan thinks he's caring for a pet. //He's maintaining a forward operating base.//
<</say>>
<<elseif $player.currentHost is "cat">>
<<bg "bg-hoffman-kitchen">>
<p>The cat food bowl sits by the back door; Karen fills it every morning at 6:15, mechanical as clockwork. You eat. The dry kibble is nutritionally dense, and your adapted metabolism converts it to biomass with surprising efficiency.</p>
<<say "char-hivemind" "Hivemind">>
//She feeds me. She doesn't know she's fuelling her own subversion.// Every pellet of cat food becomes a molecule of pheromone, a unit of biomass, a gram of influence. //The domestic arrangement has never been more one-sided.//
<</say>>
<<elseif $player.currentHost is "dog">>
<<bg "bg-hoffman-garage">>
<p>The dog food bag sits half-open by Biscuit's water bowl in the garage. You eat from it, normal, expected, invisible. The high-protein formula converts efficiently.</p>
<<say "char-hivemind" "Hivemind">>
//A dog eating dog food. The most unsuspicious thing in the world.// Dale refills the bowl without looking. Karen doesn't come to the garage. //Stealth through normalcy.//
<</say>>
<</if>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//Adaptive Metabolism processes the commercial pet food with terrifying efficiency. The preservatives, the fillers, the artificial flavoring agents, all broken down into raw biomass. Even the chemicals feed you.//</p>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
<<if $player.currentHost is "gecko">>
[[Return to Ryan's room->Ch2-RyanRoom]]
<<elseif $player.currentHost is "cat">>
[[Return to the kitchen->Ch2-Kitchen]]
<<else>>
[[Return to the garage->Ch2-Garage]]
<</if>><<nobr>><<bg "bg-hoffman-garage">>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.dogFed to true>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Feeding Time</div>
<img class="scene-img" src="media/scenes/beast-feed-dog.webp" alt="Dog eating from food bag in garage">
<p>The dog food bag sits half-open by Biscuit's water bowl in the garage. You eat from it, normal, expected, invisible. The high-protein formula converts efficiently.</p>
<<say "char-hivemind" "Hivemind">>
//A dog eating dog food. The most unsuspicious thing in the world.// Dale refills the bowl without looking. Karen doesn't come to the garage. //Stealth through normalcy.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addBiomass 2 "repeatable">>
<<set $permanentDone.drainFeed to true>><</nobr>>
<<tutorial "tut-feeding" "Environmental Feeding">>
<p>Small animal hosts can forage for biomass from the environment. Different sources are available at different times of day:</p>
<p><span class="tut-keyword">Kitchen Scraps</span>: after meals (morning/evening)</p>
<p><span class="tut-keyword">Nocturnal Hunting</span>: wall cavities at night</p>
<p><span class="tut-keyword">Garden Foraging</span>: bugs and grubs during the day</p>
<p><span class="tut-keyword">Pet Food Bowl</span>: normal behaviour for cats and dogs</p>
<p>Most renewable sources reset each day. Watch for opportunities as time advances.</p>
<<if $beastRoute is "symbiotic">>
<p><span class="tut-hint">On the symbiotic route, building your network also generates passive biomass.</span></p>
<</if>>
<</tutorial>>
<div class="passage-title">Drain Feeding</div>
<img class="scene-img" src="media/scenes/beast-feed-drain.webp" alt="Entering the shower drain">
<p>The shower drain is loose, and you pry it aside and slip into the pipe below. The space is tight, warm, and //rich//. Hair, skin cells, soap residue, organic matter trapped in the P-trap for weeks. The ecosystem down here is thriving.</p>
<<say "char-hivemind" "Hivemind">>
//Disgusting by human standards. Efficient by mine.// The organic matter in a household drain is more nutritionally dense than anything in the kitchen trash. //The things families flush away without thinking. I convert them to power.//
<</say>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//The drain's biological residue would repulse any natural creature. Adaptive Metabolism doesn't have preferences. Soap scum, hair, skin cells, it's all organic. It's all fuel.//</p>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Climb back out->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-attic">>
<<if not $permanentDone.atticNest>><<spendBiomass 1>><</if>>
<<set $permanentDone.atticNest to true>><</nobr>>
<div class="passage-title">Building a Nest</div>
<img class="scene-img" src="media/scenes/beast-feed-nest.webp" alt="Building nest in attic insulation">
<p>You shred insulation fibres with your teeth, pulling them into a compact ball in the warm junction between two joists. Dead leaves from the vent. A strip of old newspaper. Lint from the dryer duct. You weave it all together, not for comfort, but for //function//.</p>
<p>The nest sits directly above the heating duct. Warm air rises through it constantly. Within hours, the warmth will attract insects: moths, silverfish, cockroaches seeking the heat. //A passive food source.//</p>
<<say "char-hivemind" "Hivemind">>
//A trap that catches itself.// The nest generates warmth. The warmth attracts insects. The insects become biomass. //Every night, without effort, without risk, without leaving the attic.// The investment of one biomass unit returns indefinitely.
<</say>>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network connects the nest to every room in the house. The attic isn't just a hiding spot; it's a command centre. Every wall cavity is a highway. Every room is reachable in under a minute.//</p><</if>>
<div class="data-panel">
<div class="data-panel-title">Attic Nest Built</div>
<p>The nest will generate <span class="biomass-gain">+1 biomass per day</span> passively as insects gather in its warmth. This income is automatic on each day advance.</p>
</div>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.ironStomachFedThisPhase to true>>
<<addBiomass 2 "repeatable">>
<<addSuspicion "hoffmanHouse" 1>><</nobr>>
<div class="passage-title">Iron Stomach</div>
<img class="scene-img" src="media/scenes/beast-feed-ironstomach.webp" alt="Rat scavenging organic traces">
<<if $currentRoom is "kitchen">>
<p>The rat's enhanced digestive system processes what others cannot. Crumbs ground into the tile grout. Grease residue on the stove hood. Traces of spilled milk beneath the fridge. The kitchen is a feast for a body that can metabolise //anything// organic.</p>
<<elseif $currentRoom is "livingRoom">>
<p>Dead skin cells in the carpet fibres. Crumbs wedged between couch cushions. The organic residue of a family that sheds and snacks and doesn't vacuum often enough. The rat's Iron Stomach converts it all to fuel.</p>
<<elseif $currentRoom is "garage">>
<p>Motor oil, technically organic. The rubber dust from old tires. Traces of animal waste from Biscuit's corner. The garage is a chemical buffet for an organism that doesn't care about taste.</p>
<<elseif $currentRoom is "basement">>
<p>Mold. Mildew. The rich organic decay of a damp space beneath a suburban house. The rat's Iron Stomach was made for this; the basement is practically a restaurant.</p>
<<elseif $currentRoom is "garden">>
<p>Soil. Insects. Decomposing plant matter in the neglected flower beds. The garden offers raw organic material in abundance.</p>
<<elseif $currentRoom is "upperHall" or $currentRoom is "ryanRoom" or $currentRoom is "meganRoom" or $currentRoom is "jessRoom" or $currentRoom is "masterBedroom">>
<p>Dust mites. Hair. Dead skin. The organic detritus that accumulates in any bedroom, invisible to humans, a meal to the adapted rat.</p>
<<elseif $currentRoom is "upperBath">>
<p>Soap residue. Toothpaste traces. The organic film that coats every surface in a shared bathroom. The drain alone provides enough material for the Iron Stomach to process.</p>
<<else>>
<p>The rat finds organic traces, crumbs, dust, biological residue, and the Iron Stomach converts them to biomass with ruthless efficiency.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The adapted digestive system strips organic matter at the molecular level. Nothing is wasted. Nothing is inedible.// The cost is visibility: gnaw marks, disturbed dust, the faint chemical residue of accelerated digestion. //Someone observant might notice.//
<</say>>
<p><span class="biomass-gain">+2 Biomass</span></p>
<p><span class="consume-fail">+1 Suspicion (gnaw marks and organic residue)</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-garden">>
<<if not $ch2Events.hendersonScared>><<addSuspicion "hoffmanHouse" 1>><</if>><</nobr>>
<div class="passage-title">Predator's Harvest</div>
<img class="scene-img" src="media/scenes/feed-predator-hunt.webp" alt="Cat hunting mouse by compost">
<p><span class="skill-used">Comfort Predator, enhanced hunting</span></p>
<p>The cat drops low in the garden grass. Comfort Predator maps the yard in thermal overlay, every warm body, every heartbeat, every tremor in the soil. A mouse beneath the compost bin. A sparrow on the fence post. A gecko, //yours//, basking on the shed roof.</p>
<p>The mouse never sees the cat move. One strike. Efficient. The parasite metabolizes the prey before the cat finishes chewing.</p>
<<if not $ch2Events.hendersonScared>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(from her kitchen window, loud enough to carry)</i> Gerald, that cat is killing mice in the yard again. It just... oh that's //disgusting//. <i>(pause)</i> Karen's letting that animal run wild. Honestly, the whole property is going downhill. Have you seen the lawn?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Mrs. Henderson catalogues every movement in this garden like it's her full-time occupation. A cat hunting mice is unremarkable, but she'll remember it. She remembers everything. One more data point in her mental file on "what's wrong with the Hoffmans."//
<</say>>
<p><span class="consume-fail">+1 suspicion (Henderson is watching).</span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Comfort Predator turns hunting from instinct into science. The cat's body already knows how to kill; I just show it where to look. No witnesses. No commentary from the fence line.//
<</say>>
<</if>>
<<if $ch2Events.nestUpgraded>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass (nest-enhanced)</span></p>
<<else>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass</span></p>
<</if>>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-garden">>
<<if not $ch2Events.hendersonScared>><<addSuspicion "hoffmanHouse" 1>><</if>><</nobr>>
<div class="passage-title">Territory Sweep</div>
<img class="scene-img" src="media/scenes/feed-territory.webp" alt="Dog patrolling fence line">
<p><span class="skill-used">Territory Control, perimeter harvest</span></p>
<p>Biscuit patrols the fence line with purposeful intensity. Territory Control has mapped every scent marker, every food cache, every organic deposit in the yard. The dog's enhanced metabolism strips biomass from sources a normal animal would ignore: the compost runoff, the bird feeder spillage, the Henderson's overflowing garbage visible through the fence gap.</p>
<<if not $ch2Events.hendersonScared>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(leaning over the fence)</i> Is that dog eating out of our //garbage//? <i>(to Gerald inside)</i> Gerald! Gerald, the Hoffman dog is in our bins again! I told Karen to keep that animal on a leash. <i>(muttering)</i> This neighbourhood used to have //standards//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The Henderson woman treats the fence line like an international border. Every transgression is catalogued, every complaint filed in her mental archive. Obnoxious, but harmless, as long as the dog's behaviour stays within the bounds of "poorly trained pet."//
<</say>>
<p><span class="consume-fail">+1 suspicion (Henderson is watching).</span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The territory is a pantry. Every marked boundary is a supply line. The dog walks the perimeter and the perimeter feeds us. And the Hendersons stay inside with their curtains closed.//
<</say>>
<</if>>
<p><span class="biomass-gain">+2 biomass</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-house">>
/* Compute yield from flags as they were at link click.
Base 12 biomass, -2 per feeding option already used today,
-2 per host currently offline (unavailable). */
<<set _fedCount to 0>>
<<if $ch2Events.dogFed>><<set _fedCount += 1>><</if>>
<<if $ch2Events.kitchenScraped>><<set _fedCount += 1>><</if>>
<<if $ch2Events.catFed>><<set _fedCount += 1>><</if>>
<<if $ch2Events.geckoFed>><<set _fedCount += 1>><</if>>
<<if $ch2Events.nocturnalFed>><<set _fedCount += 1>><</if>>
<<if $ch2Events.gardenForaged>><<set _fedCount += 1>><</if>>
<<set _unavailCount to 0>>
<<for _hId, _hData range $animalNetwork.hosts>>
<<if _hData.status is "unavailable">><<set _unavailCount += 1>><</if>>
<</for>>
<<set _yield to Math.max(0, 12 - (_fedCount * 2) - (_unavailCount * 2))>>
/* Lock only the sources that actually contributed — an offline host's
sources stay unlocked so the player can still feed that host on the
single-source links once it comes back online today. */
<<if $animalNetwork.hosts.dog and $animalNetwork.hosts.dog.status isnot "unavailable">>
<<set $ch2Events.dogFed to true>>
<</if>>
<<if $animalNetwork.hosts.rat and $animalNetwork.hosts.rat.status isnot "unavailable">>
<<set $ch2Events.kitchenScraped to true>>
<<set $ch2Events.nocturnalFed to true>>
<</if>>
<<if $animalNetwork.hosts.cat and $animalNetwork.hosts.cat.status isnot "unavailable">>
<<set $ch2Events.catFed to true>>
<</if>>
<<if $animalNetwork.hosts.gecko and $animalNetwork.hosts.gecko.status isnot "unavailable">>
<<set $ch2Events.geckoFed to true>>
<</if>>
<<set $ch2Events.gardenForaged to true>>
<<set $ch2Events.petFed to true>>
<<addBiomass _yield "repeatable">><</nobr>>
<div class="passage-title">Synchronised Harvest</div>
<p>Seamless Transfer threads consciousness through all four hosts at once. No switching. No lag. Four bodies eating in parallel, six streams of biomass converging in the same nervous system.</p>
<img class="scene-img" src="media/scenes/beast-feed-kitchen.webp" alt="Four hosts feeding in synchronised harvest — dog at the bowl, cat at her bowl, rat at the kitchen scraps then up the wall cavity to the attic insects and out to the garden beds, gecko in the terrarium">
<<say "char-hivemind" "Hivemind">>
//Four mouths. One mind. This is what the network is //for//.//
<</say>>
<<set _dogAvail to $animalNetwork.hosts.dog and $animalNetwork.hosts.dog.status isnot "unavailable">>
<<set _ratAvail to $animalNetwork.hosts.rat and $animalNetwork.hosts.rat.status isnot "unavailable">>
<<set _geckoAvail to $animalNetwork.hosts.gecko and $animalNetwork.hosts.gecko.status isnot "unavailable">>
<<set _catAvail to $animalNetwork.hosts.cat and $animalNetwork.hosts.cat.status isnot "unavailable">>
<<if _dogAvail>>
<p>The <b>dog</b> nuzzles into Biscuit's bowl in the garage. The kibble is high-protein commercial stock; Dale buys the expensive brand because Biscuit earned it, back when Biscuit had work to do. The dog eats methodically, head down, the mechanical chewing rhythm of a body that has always been fed on schedule. Biomass converts cleanly from every pellet.</p>
<</if>>
<<if _ratAvail>>
<p>In the kitchen, the <b>rat</b> runs the floorboard perimeter. Toast crumbs under the table from breakfast. A smear of jam Karen missed with the dishcloth. A curl of cheese that rolled under the oven a while ago and is still, by rat standards, perfectly viable. The small body consumes it all, not for nutrition, but for raw material, stripped and converted on the way through. Then up through the gap behind the pantry, into the wall cavity, and on toward the attic.</p>
<p>The <b>rat reaches the attic wall cavities</b>. The wall ecosystem never quite goes quiet; silverfish flicker between the insulation fibres, a spider hangs in the corner junction, two cockroaches navigate the joists with antennae twitching. The rat hunts methodically. The spider first, quick, crunchy, negligible. The cockroaches are better. The silverfish are barely worth the effort, but the rat eats them anyway. Chitin and protein, layered onto the kitchen yield.</p>
<</if>>
<<if _geckoAvail>>
<p>In Ryan's room, the <b>gecko</b> drops from the heat-lamp perch to the mealworm dish. Ryan refilled it this morning; he's always precise about this, the one living thing that depends on him. The larvae wriggle in the ceramic hollow. The gecko strikes once, twice, four times. Protein-dense. Clean yield.</p>
<</if>>
<<if _ratAvail or _catAvail or _geckoAvail>>
<p>In the backyard, <<if _ratAvail>>the <b>rat slips through the fence-gap into the garden beds</b><<elseif _catAvail>>the <b>cat noses through the loose soil</b> on the pretext of a sunbeam<<else>>the <b>gecko picks its way through the garden wall</b><</if>>. The yield is the same: a slow shuffle through Karen's neglected herb border for pill bugs, earwigs, a slug under the lip of a decorative brick. Low-tier biomass, but free and effectively invisible against a backdrop of a pet doing exactly what a pet does outdoors.</p>
<</if>>
<<if _catAvail>>
<p>In the kitchen<<if _ratAvail>>, beside the rat's tail-end<</if>>, the <b>cat</b> arrives at the food bowl Karen filled at 6:15. The dry kibble stacks in the familiar pyramid. The cat eats unhurriedly; Karen could walk in at any moment and the scene would look exactly like what it is supposed to look like: a cat eating cat food.</p>
<</if>>
<<if not (_dogAvail and _ratAvail and _geckoAvail and _catAvail)>>
<p><i>(One or more hosts are offline today; the harvest ran with the available network. Yield reduced accordingly.)</i></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Six feedings in the time one host used to take. Every domestic bowl in this house is a biomass tap, the wall cavities are the wild reserve behind them, and the garden is the open-air forage lane. The family has been running the supply chain for me since before they knew I existed.//
<</say>>
<<if _fedCount gt 0>>
<p><i>(Yield reduced: <<= _fedCount >> feeding option<<if _fedCount isnot 1>>s<</if>> already used earlier today.)</i></p>
<</if>>
<p><span class="biomass-gain">+<<= _yield >> biomass</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.geckoTerrariumStudy to true>><</nobr>>
<div class="passage-title">Terrarium Study</div>
<img class="scene-img" src="media/scenes/beast-gecko-terrarium.webp" alt="Gecko studying its own body on warm rock">
<p>You settle onto the warm rock under the heat lamp and go //still//. Not sleeping. //Processing.//</p>
<p>The terrarium is a controlled environment: temperature, humidity, light cycle. The gecko's body has spent its entire life adapting to these precise conditions. Now, with your awareness inhabiting it, you can feel the adaptation at a cellular level. The way the skin shifts colour in response to the lamp's spectrum. The way the toes grip the glass with microscopic setae, thousands of them, each one a hook too small for human eyes.</p>
<<say "char-hivemind" "Hivemind">>
//This body is more sophisticated than it appears.// The camouflage isn't just colour, it's //texture//. The grip isn't just sticky, it's //molecular//. A gecko doesn't just climb walls. It //bonds// with them at the nano-scale. //I've been wearing this body like a glove. I need to start wearing it like a second skin.//
<</say>>
<p>You spend the rest period studying the gecko's autonomous systems: the way it thermoregulates, the way the tongue samples air molecules, the way the single unblinking eye tracks movement in 340 degrees. Every system you understand makes the body //yours// a little more.</p>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-upper">>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.geckoCeilingMap to true>><</nobr>>
<div class="passage-title">Ceiling Cartography</div>
<img class="scene-img" src="media/scenes/beast-gecko-ceiling.webp" alt="Gecko pressed flat against hallway ceiling">
<p>You climb. Not to get somewhere, but to //learn//.</p>
<p>The ceiling of the upper hallway reveals what the floor never could. From up here, pressed flat against the plaster, you map the house from a perspective no human has ever used. The cracks in the ceiling correspond to load-bearing walls. The warm patches mark heating ducts. The slight discolouration near the bathroom shows where moisture seeps through.</p>
<<say "char-hivemind" "Hivemind">>
//The architecture of this house becomes transparent from above.// Every pipe, every wire, every structural weakness. The humans walk on the floor and see rooms. //I walk on the ceiling and see the skeleton.//
<</say>>
<p>You map the wall cavities: which ones connect, which ones dead-end, where the insulation is thin enough to pass through. You locate three new access points that aren't visible from floor level: a gap behind the hallway light fixture, a crack where the ceiling meets the attic trapdoor frame, and a soft spot in the drywall above the linen closet.</p>
<<say "char-hivemind" "Hivemind">>
//The gecko sees the house as a lattice of surfaces.// Every wall is a highway. Every ceiling is a vantage point. //This body isn't limited. It's //liberated//. The humans think in two dimensions. I think in three.//
<</say>>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
[[Drop down to the hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.geckoObserveRyan to true>><</nobr>>
<div class="passage-title">Patient Observer</div>
<img class="scene-img" src="media/scenes/beast-gecko-observe-ryan.webp" alt="Gecko on wall above Ryan's monitor">
<p>You position yourself on the wall above Ryan's desk, just above the monitor, where the LED strip casts a shadow. From here, you watch him for hours.</p>
<p>His body language is a vocabulary of loneliness. The way his shoulders hunch toward the screen. The way his hand reaches for the energy drink without looking, muscle memory from a thousand identical nights. The way he pauses between keystrokes, staring at nothing, before resuming.</p>
<<say "char-hivemind" "Hivemind">>
//He talks to his guild, but he types his real thoughts in a draft that he never sends.// "Lily," the username attached to the unsent message. His fingers hover over the keyboard. He writes three words. Deletes them. Writes four different words. Deletes those too. //The boy is drowning in the shallow end and doesn't know how to call for help.//
<</say>>
<p>At 2:47 AM, he takes off his headphones. The silence is sudden. He looks at the gecko terrarium, at //you//, though he doesn't know it. His hand rests on the glass for a moment. The gesture is //gentle//. Protective.</p>
<<say "char-ryan" "Ryan">>
<i>(quietly, to the terrarium)</i> At least you don't judge me, Spike.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No. I don't judge.// I //catalogue//. Every gesture, every hesitation, every unfinished sentence, it all becomes data. //And data becomes leverage.//
But for a moment, just a fraction of a second, the gecko's body responds to the warmth of his hand on the glass. Not your response. //Its// response. The original Spike, somewhere deep in the neural substrate, recognising the one human who ever mattered.
//Interesting. The bond works both ways.//
<</say>>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
[[Return to stillness->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-attic">>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.geckoVentExplorer to true>><</nobr>>
<div class="passage-title">Vent Mastery</div>
<img class="scene-img" src="media/scenes/beast-gecko-vent-master.webp" alt="Gecko racing through aluminium ducts">
<p>You push the gecko's body to its limits, testing every surface, every angle, every impossible gap in the vent system. The toes grip aluminium, wood, plastic, fibreglass. Each material requires a different pressure, a different angle. You learn them all.</p>
<p>The vertical shaft between floors? You can ascend it in eleven seconds now. The horizontal duct to the master bedroom? Seven seconds. The tight squeeze behind the bathroom pipes? You've found a faster route, over the pipes instead of around them, using the gecko's ability to grip wet surfaces that would defeat a rat.</p>
<<say "char-hivemind" "Hivemind">>
//Speed through the walls.// The rat navigates by smell and memory. The gecko navigates by //grip and geometry//. Every surface is a road. Every corner is an opportunity to accelerate. //I'm not just moving through this house anymore. I'm //flowing// through it.//
<</say>>
<p>You've shaved seconds off every route. In this body, the vent system isn't a compromise. It's an //advantage//. Faster than walking, invisible, silent.</p>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
[[Return to the vents->Ch2-Attic-Vent]]<<nobr>><<bg "bg-hoffman-garden">>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.geckoShedInfiltrate to true>><</nobr>>
<div class="passage-title">Shed Infiltration</div>
<img class="scene-img" src="media/scenes/beast-gecko-shed.webp" alt="Gecko scaling shed shelves">
<p>The garden shed is a different world for the gecko. Rough timber walls, shelves of chemicals, the warm compost heap. You scale the shelving, moving between bottles of weed killer and bags of fertiliser with the precision of a creature built for exactly this kind of terrain.</p>
<p>At the top shelf, you find something interesting: a gap between the shed roof and the wall. Through it, you can see the neighbour's yard, the Henderson property. A clear sightline. An escape route if you ever need one.</p>
<<say "char-hivemind" "Hivemind">>
//The gecko's body turns every structure into a climbing frame.// The shed, the fence, the guttering, it's all accessible terrain. //The rat sees obstacles. The gecko sees //routes//.// And from up here, the neighbourhood opens up. The Henderson fence is twelve seconds away at a sprint. //The world outside the Hoffman property is getting closer.//
<</say>>
<p>You catalogue every chemical on the shelves: the rat poison (useful to know where it is), the weed killer (organic phosphate, interesting), the fertiliser (ammonium nitrate, //very// interesting). Knowledge is adaptation.</p>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Deploy the Gecko</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>This passage has been absorbed into the Egg Laying rework. The current dispatcher is the Egg Laying hub.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Replaced</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>The Megan ride to The Grounds is now part of Ch2-Beast-EggLaying-Megan.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Replaced</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>The Grounds external scene has been absorbed into Ch2-Beast-EggLaying-Megan.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Replaced</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>The Jess ride to campus is now part of Ch2-Beast-EggLaying-JessBreak.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Replaced</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>The State University external scene has been absorbed into Ch2-Beast-EggLaying-JessBreak. The Whitmore-basement BioGenesis intel is held back for chapter 3.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Replaced</div>
<div class="data-panel" style="border-color:#d9a04a;color:#d9a04a"><div class="data-panel-title">⚠ Replaced</div>The return-to-terrarium beat is now embedded at the end of each individual egg-laying scene.</div>
[[Continue → Egg Laying hub->Ch2-Beast-EggLaying-Hub]]<<nobr>><<bg "bg-hoffman-house">>
/* Intent-based transition guard. The transition block only runs when the
player explicitly requested it via a "Wait until..." / "Continue" link
(which sets $wantTransition to true before navigating here). Re-renders
— menu return, save load, browser back/forward, autosave refire — all
land here with $wantTransition already cleared, so they restore the
recap snapshot instead of re-running the phase advance. */
<<set _restSkip to (not $wantTransition)>>
<<if _restSkip>>
<<if not $restRecap>><<set $restRecap to {}>><</if>>
<<set _dayAdvanced to $restRecap.dayAdvanced or false>>
<<set _dayRecap to $restRecap.dayRecap or []>>
<<set _bioGain to $restRecap.bioGain or 0>>
<<set _susChange to $restRecap.susChange or 0>>
<<set _resistRecap to $restRecap.resistRecap or []>>
<<set _routeEvents to $restRecap.routeEvents or []>>
<<set _apEventFired to $restRecap.apEventFired or false>>
<<set _apEventPassage to $restRecap.apEventPassage or "">>
<<set _susEvents to $restRecap.susEvents or []>>
<<set _familyEvent to $restRecap.familyEvent or "">>
<<set _geckoCrisis to $restRecap.geckoCrisis or false>>
<<set _karenInspection to $restRecap.karenInspection or false>>
<<set _labEvent to $restRecap.labEvent or "">>
<<set _kinkRecap to $restRecap.kinkRecap or []>>
<<else>>
/* Consume the intent flag so a menu round-trip or history nav that
returns to this passage is recognised as a re-render, not a new
transition. */
<<set $wantTransition to false>>
/* Clear the events-hub return flag at the start of every real transition so a
stale value can never trap the player bouncing back to this hub. */
<<set $beastEventReturn to false>>
/* Game over check on phase advance, suspicion at or above max */
<<set _susMax to ($suspicionMax or 10)>>
<<if $chapter gte 2 and ($suspicion.hoffmanHouse or 0) gte _susMax>>
<<goto "Ch2-GameOver-Suspicion">>
<</if>>
<<set _recap to []>>
<<set _dayAdvanced to false>>
/* 2-phase system: day → night (day advance on night → day transition) */
<<if $house.dayPhase is "day">>
/* Day -> Night */
<<set $house.dayPhase to "night">>
/* Select and display today's household event inline (ambient flavour / milestone).
The Dale reconnection is no longer routed here; it surfaces as a mandatory card
in the events checklist below, gated on daleDesireUnburied. */
<<householdEvent>>
<<else>>
/* Night -> Day = DAY ADVANCE */
<<set $house.dayPhase to "day">>
<<set $day += 1>>
/* Clear the night's household event. The dispatcher only picks on day->night, so a
stale lastPassage would otherwise re-surface the night's milestone card (and inline
flavour events) on this morning hub. The event belongs to the night it fired. */
<<if $houseEvents>><<set $houseEvents.lastPassage to "">><</if>>
/* Karen's nightly lockdown is a transient state. Clear it each morning so the doors are
never locked forever; HE-Family-Locked-Doors re-sets it on any night she's still alarmed. */
<<if $houseState>><<set $houseState.doorsLocked to false>><</if>>
/* Hard cap on max biomass — clamp at 999 so accumulators across many
sources cannot exceed the design ceiling. */
<<set $player.maxBiomass to Math.min($player.maxBiomass, 999)>>
<<if $player.biomass gt $player.maxBiomass>><<set $player.biomass to $player.maxBiomass>><</if>>
/* Reset Emergent Intelligence per-day cooldowns — Deep Analysis is one
attempt per operation per day, success or failure. */
<<set $ch2Events.eiWashToday to false>>
<<set $ch2Events.eiMailToday to false>>
<<set $ch2Events.eiPhoneToday to false>>
<<set $ch2Events.eiPantryToday to false>>
<<set $ch2Events.eiPrescToday to false>>
<<set $ch2Events.eiShowerToday to false>>
<<set $ch2Events.eiHarvestToday to false>>
<<set $ch2Events.eiBossToday to false>>
/* Reset daily-feeding flags — Harvest All is once per day, not per phase. */
<<set $ch2Events.dogFed to false>>
<<set $ch2Events.catFed to false>>
<<set $ch2Events.geckoFed to false>>
<<set $ch2Events.kitchenScraped to false>>
<<set $ch2Events.nocturnalFed to false>>
<<set $ch2Events.gardenForaged to false>>
<<set $ch2Events.petFed to false>>
/* Dog LOCKDOWN per-pair daily cooldowns — one lockdown per pair per
day. We harvest yesterday's flags into the dawn-report's _lockdownFired
array first, then clear so the new day starts clean. The actual recap
push happens in the lockdown recap block below, alongside the other
daily summaries. */
<<set _lockdownFired to []>>
<<if $ch2Events.lockdownKarenMeganToday>><<set _lockdownFired.push("Kitchen lockdown: Karen + Megan trapped together")>><</if>>
<<if $ch2Events.lockdownRyanKarenToday>><<set _lockdownFired.push("Bathroom lockdown: Ryan + Karen trapped together")>><</if>>
<<if $ch2Events.lockdownJessMeganToday>><<set _lockdownFired.push("Bedroom lockdown: Jess + Megan trapped together")>><</if>>
<<if $ch2Events.lockdownDaleJessToday>><<set _lockdownFired.push("Basement lockdown: Dale + Jess trapped together")>><</if>>
<<set $ch2Events.lockdownKarenMeganToday to false>>
<<set $ch2Events.lockdownRyanKarenToday to false>>
<<set $ch2Events.lockdownJessMeganToday to false>>
<<set $ch2Events.lockdownDaleJessToday to false>>
/* Save migrations */
<<if not $houseEvents>><<set $houseEvents to {}>><</if>>
/* Save migration — rename gecko adaptation chameleon_skin -> egg_laying.
Lore reframe: Spike is canonically gravid; the ability is the parasite
choosing to lay her eggs externally. Same mechanical slot. Idempotent. */
<<if $adaptations and $adaptations.gecko and $adaptations.gecko.unlocked.includes("chameleon_skin")>>
<<run $adaptations.gecko.unlocked.delete("chameleon_skin")>>
<<if not $adaptations.gecko.unlocked.includes("egg_laying")>>
<<run $adaptations.gecko.unlocked.push("egg_laying")>>
<</if>>
<</if>>
/* Default-init $ch3Nests for old saves (introduced with Egg Laying rework). */
<<if not $ch3Nests>>
<<set $ch3Nests to { karen: false, megan: false, jessPunk: false, jessBreak: false }>>
<</if>>
/* $route default for old symbiotic saves. Lab-TruckRide on new playthroughs
sets $route = "symbiotic" explicitly; saves from before that change land
here with $route undefined or empty. Anyone in chapter-2 Hoffman content
is on the symbiotic route by definition. The skill-tree menu hides the
third column until $route is set, so this migration is what restores
Network for old saves. */
<<if not $route or $route is "">>
<<set $route to "symbiotic">>
<</if>>
/* Save migration — backfill the dreamWalk* lock-flags for Jess and Megan.
The route-lock dispatcher (lines 555+) gates on $permanentDone.dreamWalkJess
/ .dreamWalkMegan, but old saves predate that flag and saves where the
player skipped Dream Walk entirely never set it — so the route stays at
"" forever even with conditioning >= 5 and route score >= 3. If both
underlying thresholds are met, the player has clearly committed to a
route via Emotional Manipulation; backfill the flag so the lock can
fire. Idempotent — only flips false to true. */
<<if not $permanentDone.dreamWalkJess and $conditioning.jess and (($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0)) gte 5 and ($routeScore and $routeScore.jess and (($routeScore.jess.punk or 0) gte 3 or ($routeScore.jess.breakdown or 0) gte 3))>>
<<set $permanentDone.dreamWalkJess to true>>
<</if>>
<<if not $permanentDone.dreamWalkMegan and $conditioning.megan and (($conditioning.megan.pheromone or 0) + ($conditioning.megan.dream or 0) + ($conditioning.megan.psionic or 0)) gte 5 and ($routeScore and $routeScore.megan and (($routeScore.megan.marcus or 0) gte 3 or ($routeScore.megan.slut or 0) gte 3))>>
<<set $permanentDone.dreamWalkMegan to true>>
<</if>>
/* Save migration — backfill route-3 lock-event flags from passage-visit history.
Older saves predate the route-3 flag-set in the dawn dispatcher, so the
kink menu + T2 ops gate (allTier3EventsFired) would refuse to unlock even
after the player witnessed every route-3 scene. visited() is the canonical
proof the player has reached the passage, so backfilling on that signal is
safe — it can never fire prematurely (the scene must have rendered for
visited() to return >0). Idempotent. */
<<if not $ch2Events.karenLib3 and visited("Ch2-Karen-Liberation-3") gt 0>><<set $ch2Events.karenLib3 to true>><</if>>
<<if not $ch2Events.karenDom3 and visited("Ch2-Karen-Dominant-3") gt 0>><<set $ch2Events.karenDom3 to true>><</if>>
<<if not $ch2Events.daleOb3 and visited("Ch2-Dale-Oblivious-3") gt 0>><<set $ch2Events.daleOb3 to true>><</if>>
<<if not $ch2Events.daleCuck3 and visited("Ch2-Dale-Cuckold-3") gt 0>><<set $ch2Events.daleCuck3 to true>><</if>>
<<if not $ch2Events.meganMarcus3 and visited("Ch2-Megan-Marcus-3") gt 0>><<set $ch2Events.meganMarcus3 to true>><</if>>
<<if not $ch2Events.meganSlut3 and visited("Ch2-Megan-Slut-3") gt 0>><<set $ch2Events.meganSlut3 to true>><</if>>
<<if not $ch2Events.jessPunk3 and visited("Ch2-Jess-Punk-3") gt 0>><<set $ch2Events.jessPunk3 to true>><</if>>
<<if not $ch2Events.jessBreak3 and visited("Ch2-Jess-Breakdown-3") gt 0>><<set $ch2Events.jessBreak3 to true>><</if>>
<<if not $ch2Events.ryanFem3 and visited("Ch2-Ryan-Feminization-3") gt 0>><<set $ch2Events.ryanFem3 to true>><</if>>
<<if not $ch2Events.ryanFamily3 and visited("Ch2-Ryan-FamilySeeker-3") gt 0>><<set $ch2Events.ryanFamily3 to true>><</if>>
/* Bond mechanic removed — AP now awarded via network events */
/* Save migration — heal stale piggyback-discovery flag if newsReport has
already fired in the player's save (old gate required a garage revisit). */
<<if $labEvents and $labEvents.triggered and $labEvents.triggered.indexOf("newsReport") gte 0 and not $operationsDiscovered.piggybackLab>>
<<set $operationsDiscovered.piggybackLab to true>>
<</if>>
/* Save migration — bring stale eventRate values up to the current table.
Old rates: Ghost=7, Shadow=4, Noticed=2, Hunted=1.
New rates: Ghost=9, Shadow=7, Noticed=4, Hunted=3.
Runs every day-advance; idempotent once caught up. */
<<if $labOutcome and $labOutcome.rating and not $labEvents.trailCold>>
<<set _desiredRate to 9>>
<<if $labOutcome.rating is "Hunted">><<set _desiredRate to 3>>
<<elseif $labOutcome.rating is "Noticed">><<set _desiredRate to 4>>
<<elseif $labOutcome.rating is "Shadow">><<set _desiredRate to 7>>
<</if>>
<<if $labOutcome.eventRate isnot _desiredRate>>
<<set $labOutcome.eventRate to _desiredRate>>
/* If the old check is overdue under the new rate, schedule next
check fresh from today so the counter reads correctly. */
<<if not $labEvents.nextCheck or $labEvents.nextCheck lt $day>>
<<set $labEvents.nextCheck to $day + _desiredRate>>
<</if>>
<</if>>
<</if>>
<<if not $resonance>><<set $resonance to {}>><</if>>
/* Retroactively detect missed resonances for old saves */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $resonance.migrated>>
<<set $resonance.migrated to true>>
<<if $ch2Events.karenDreamHarvested and not $resonance.karenDreamChorus>><<set $resonance.missedKarenDream to true>><</if>>
<<if $ch2Events.meganDreamHarvested and not $resonance.meganDreamThermal>><<set $resonance.missedMeganDream to true>><</if>>
<<if $ch2Events.laundryContaminated and not $resonance.laundryCalibration>><<set $resonance.missedLaundry to true>><</if>>
<<if $ch2Events.pantryContaminated and not $resonance.pantryPrioritisation>><<set $resonance.missedPantry to true>><</if>>
<</if>>
/* Patch skill/adaptation descriptions from save state */
<<set _ei to $player.skillTree.find(function(s){ return s.name === "Emergent Intelligence"; })>>
<<if _ei>><<set _ei.desc to "Multi-host sensory processing detects resonance events and unlocks Deep Analysis hard-mode branches on repeatable operations. Each hard-mode success grants a bonus observation in the Observe menu.">><</if>>
/* Backfill Synaptic Relay for saves predating its addition */
<<if not $player.skillTree.find(function(s){ return s.name === "Synaptic Relay"; })>>
<<run $player.skillTree.push({
name: "Synaptic Relay",
desc: "Paired bodies rehearse each other's reflexes. Unlocks four combo drills around the house, each pair gains an adaptation point.",
cost: 0, spCost: 3, type: "passive", branch: "network",
unlocked: false, hidden: true, requires: "Distributed Awareness"
})>>
<</if>>
<<if $adaptations and $adaptations.cat>>
<<set _dh to setup.adaptationData.cat.mental.find(function(a){ return a.id === "dream_harvest"; })>>
<<if _dh>><<set _dh.name to "Dream Amplifier">><<set _dh.desc to "Cat's presence deepens sleeping targets' dreams. Unlocks escalating dream sequences as dream conditioning builds. Costs 1 biomass per use.">><</if>>
<</if>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<set $ch2Events.sporesTargetToday to {}>>
/* Snapshot for recap */
<<set _prevBiomass to $player.biomass>>
<<set _prevSus to $suspicion.hoffmanHouse or 0>>
<<set _recap to []>>
<<decaySuspicion>>
<<decayFamilySuspicion>>
<<if ($suspicion.hoffmanHouse or 0) lt _prevSus>>
<<set _recap.push("Natural decay: " + (($suspicion.hoffmanHouse or 0) - _prevSus) + " suspicion")>>
<<set _prevSus to $suspicion.hoffmanHouse or 0>>
<</if>>
/* Dog LOCKDOWN recap — push yesterday's fired pair-lockdowns into the
dawn report so the player can see at a glance which rooms the dog
sealed. _lockdownFired was populated above before the cooldown
flags were cleared. */
<<if _lockdownFired and _lockdownFired.length gt 0>>
<<for _ldEntry range _lockdownFired>>
<<set _recap.push(_ldEntry)>>
<</for>>
<</if>>
/* Symbiotic route: synergy, passive effects (day advance only) */
<<if $beastRoute is "symbiotic">>
<<if setup.activeHostCount() gte 2>>
<<run setup.checkInfluenceTier()>>
<</if>>
<<if setup.activeHostCount() gte 3>>
<<addBiomass 2 "repeatable">>
<<set _recap.push("Network (3+ active hosts): +2 biomass")>>
<</if>>
<<if $permanentDone.atticNest and (setup.isHostActive("rat") or $player.currentHost is "rat")>>
<<if $ch2Events.nestUpgraded>>
<<addBiomass 3 "repeatable">>
<<set _recap.push("Upgraded nest: +3 biomass")>>
<<addFamilySuspicion "karen" -1>><<addFamilySuspicion "dale" -1>><<addFamilySuspicion "megan" -1>><<addFamilySuspicion "jess" -1>><<addFamilySuspicion "ryan" -1>>
<<set _recap.push("Nest pheromone suppression: −1 suspicion (all members)")>>
<<else>>
<<addBiomass 1 "repeatable">>
<<set _recap.push("Attic nest: +1 biomass")>>
<</if>>
<</if>>
/* PD downstream — Ryan plug day (fires on the day after $ch2Events.ryanPlugDay) */
<<if $ch2Events.ryanPlugDay and $day is ($ch2Events.ryanPlugDay + 1)>>
<<addBiomass 3 "repeatable">>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "ryan" "dream" 1>>
<<set _recap.push("Ryan plug day: +3 biomass (day-long submission loop, hourly stream updates)")>>
<</if>>
/* PD downstream — Karen vibrator day (fires on the day after $ch2Events.karenVibratorDay) */
<<if $ch2Events.karenVibratorDay and $day is ($ch2Events.karenVibratorDay + 1)>>
<<addBiomass 3 "repeatable">>
<<addConditioning "karen" "pheromone" 1>>
<<set _recap.push("Karen vibrator day: +3 biomass (rewiring continues, public spaces now trigger memory)")>>
<</if>>
<<if setup.isHostActive("gecko") and $adaptations.gecko.unlocked.includes("micro_spore")>>
<<addFamilySuspicion "ryan" -1>>
<<set _recap.push("Micro-Spore Emitter: -1 Ryan suspicion")>>
<</if>>
<<if setup.isHostActive("dog") and $adaptations.dog.unlocked.includes("guard_instinct")>>
<<addSuspicion "hoffmanHouse" -1>>
<<set _recap.push("Guard Instinct: -1 suspicion")>>
<</if>>
<<if (setup.isHostActive("rat") or $player.currentHost is "rat") and $adaptations.rat.unlocked.includes("sporocyst")>>
<<addSuspicion "hoffmanHouse" -1>>
<<set _recap.push("Sporocyst Glands: -1 suspicion")>>
<</if>>
<<if $ch2Events.karenSleepEnhanced>>
<<addFamilySuspicion "karen" -1>>
<<set _recap.push("Karen sleep enhancement: -1 Karen suspicion")>>
<</if>>
/* Adaptive Metabolism passive: +1 biomass/day */
<<hasSkillTreeAbility "Adaptive Metabolism">>
<<if _hasAbility>>
<<addBiomass 1 "repeatable">>
<<set _recap.push("Adaptive Metabolism: +1 biomass")>>
<</if>>
/* Spore Network passive: +2 biomass/day */
<<hasSkillTreeAbility "Spore Network">>
<<if _hasAbility>>
<<addBiomass 2 "repeatable">>
<<set _recap.push("Spore Network: +2 biomass")>>
<</if>>
/* Hive Coordination passive: +1 biomass/day with 4 active hosts */
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility and setup.activeHostCount() gte 4>>
<<addBiomass 1 "repeatable">>
<<set _recap.push("Hive Coordination: +1 biomass")>>
<</if>>
/* Host AP events, one fires per day advance if eligible (replaces bond mechanic) */
/* Pick the first unfired, day-gated AP event for an active host. Each entry must
check the SAME $ch2Events flag the target passage sets on view (see
chapter2-host-ap-events.twee + setup.apEventLinks), or the event re-fires forever. */
<<set _apEventFired to false>>
<<set _apEventPassage to "">>
<<if $animalNetwork.hosts["rat"] and not _apEventFired>>
<<if not $ch2Events.apEvent_ratPipeBurst and $day gte 3>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Rat-1">>
<<elseif not $ch2Events.apEvent_ratEvidence and $day gte 6>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Rat-2">>
<<elseif not $ch2Events.apEvent_ratCountermeasure and $day gte 10>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Rat-3">>
<</if>>
<</if>>
<<if $animalNetwork.hosts["gecko"] and not _apEventFired>>
<<if not $ch2Events.apEvent_geckoPhone and $day gte 4>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Gecko-1">>
<<elseif not $ch2Events.apEvent_geckoTemp and $day gte 7>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Gecko-2">>
<<elseif not $ch2Events.apEvent_geckoCamera and $day gte 11>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Gecko-3">>
<</if>>
<</if>>
<<if $animalNetwork.hosts["cat"] and not _apEventFired>>
<<if not $ch2Events.apEvent_catDistraction and $day gte 5>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Cat-1">>
<<elseif not $ch2Events.apEvent_catDale and $day gte 8>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Cat-2">>
<<elseif not $ch2Events.apEvent_catScapegoat and $day gte 12>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Cat-3">>
<</if>>
<</if>>
<<if $animalNetwork.hosts["dog"] and not _apEventFired>>
<<if not $ch2Events.apEvent_dogTerritory and $day gte 5>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Dog-1">>
<<elseif not $ch2Events.apEvent_dogHenderson and $day gte 9>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Dog-2">>
<<elseif not $ch2Events.apEvent_dogScentScreen and $day gte 13>><<set _apEventFired to true>><<set _apEventPassage to "Ch2-APEvent-Dog-3">>
<</if>>
<</if>>
<</if>>
/* Passive operation conditioning removed in Phase 1 restructure, ops now grant burst-yield at completion only. */
/* Dale couch sleep, spore exposure while sleeping during the day (requires Sporocyst Glands) */
<<if $animalNetwork and $animalNetwork.hosts["rat"] and $adaptations.rat.unlocked.includes("sporocyst") and $conditioning.dale.dream lt 10>>
<<addConditioning "dale" "dream" 1>>
<<set _recap.push("Dale couch exposure: +1 dream (Sporocyst Glands drift while sleeping)")>>
<</if>>
/* Biological Architect, conditioned targets spread pheromones to each other */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility>>
<<addConditioning "karen" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>>
<<set _recap.push("Biological Architect: +1 pheromone (all, auto-spread)")>>
<</if>>
/* Biological Architect Dawn, signal readiness when all 5 scenes complete */
<<if $ch2Events.bioArchitectKitchen and $ch2Events.bioArchitectCouch and $ch2Events.bioArchitectLaundry and $ch2Events.markedMorningDone and $ch2Events.bioArchitectBed and not $ch2Events.bioArchitectDawn>>
<<set _recap.push("⚡ Architecture complete. Dawn observation available in the attic")>>
<</if>>
/* Gecko Micro-Spore Emitter — Ryan suspicion reduction */
<<if $adaptations.gecko.unlocked.includes("micro_spore")>>
<<addFamilySuspicion "ryan" -1>>
<<set _recap.push("Micro-Spore Emitter: -1 Ryan suspicion")>>
<</if>>
/* Cat Lap Therapy — Karen suspicion reduction */
<<if $adaptations.cat.unlocked.includes("lap_purr")>>
<<addFamilySuspicion "karen" -1>>
<<set _recap.push("Lap Therapy: -1 Karen suspicion")>>
<</if>>
/* Rat Scholar's Burrow — Jess suspicion reduction (symbiotic route only) */
<<if $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("scholar_den")>>
<<addFamilySuspicion "jess" -1>>
<<set _recap.push("Scholar's Burrow: -1 Jess suspicion")>>
<</if>>
/* Dog Pack Routine — Dale + Megan suspicion reduction */
<<if $adaptations.dog.unlocked.includes("pack_routine")>>
<<addFamilySuspicion "dale" -1>>
<<addFamilySuspicion "megan" -1>>
<<set _recap.push("Pack Routine: -1 Dale suspicion, -1 Megan suspicion")>>
<</if>>
/* Conditioning resistance: suspicion 7+ causes highest conditioning type to drop by 1 */
<<set _resistRecap to []>>
<<for _rMember range ["karen","dale","megan","jess","ryan"]>>
<<if $familySuspicion[_rMember] and $familySuspicion[_rMember].level gte 7>>
<<set _c to $conditioning[_rMember]>>
<<set _rPhero to (_c.pheromone or 0)>><<set _rDream to (_c.dream or 0)>><<set _rPsi to (_c.psionic or 0)>>
<<if _rPhero gt 0 or _rDream gt 0 or _rPsi gt 0>>
/* Find highest type, tie-break: pheromone > dream > psionic */
<<if _rPhero gte _rDream and _rPhero gte _rPsi>>
<<set _c.pheromone to Math.max(0, _rPhero - 1)>>
<<set _resistRecap.push(_rMember.toUpperFirst() + " (suspicion " + $familySuspicion[_rMember].level + "/10): -1 pheromone (was " + _rPhero + ", now " + _c.pheromone + ")")>>
<<elseif _rDream gte _rPsi>>
<<set _c.dream to Math.max(0, _rDream - 1)>>
<<set _resistRecap.push(_rMember.toUpperFirst() + " (suspicion " + $familySuspicion[_rMember].level + "/10): -1 dream (was " + _rDream + ", now " + _c.dream + ")")>>
<<else>>
<<set _c.psionic to Math.max(0, _rPsi - 1)>>
<<set _resistRecap.push(_rMember.toUpperFirst() + " (suspicion " + $familySuspicion[_rMember].level + "/10): -1 psionic (was " + _rPsi + ", now " + _c.psionic + ")")>>
<</if>>
<</if>>
<</if>>
<</for>>
/* Karen alertness spillover, add to recap if it fired */
<<if _karenAlertCount and _karenAlertCount gt 0>>
<<set _recap.push("Karen: +" + _karenAlertCount + " suspicion (alertness, she noticed something)")>>
<</if>>
/* Store recap for display */
<<set _dayRecap to _recap>>
<<set _bioGain to $player.biomass - _prevBiomass>>
<<set _susChange to ($suspicion.hoffmanHouse or 0) - _prevSus>>
<<set _dayAdvanced to true>>
/* Lab investigation clock, check if event fires today */
<<if $labOutcome and $labOutcome.eventRate gt 0 and $day gte ($labEvents.nextCheck or 999)>>
/* Calculate Dale countermeasure level from conditioning */
<<if $conditioning.dale.psionic gte 5>><<set $daleCountermeasure to Math.max($daleCountermeasure, 2)>>
<<elseif $conditioning.dale.dream gte 3>><<set $daleCountermeasure to Math.max($daleCountermeasure, 1)>><</if>>
/* Fire next event */
<<set _eventIdx to $labEvents.triggered.length>>
<<set _eventList to setup.getLabEventChain($labOutcome.rating)>>
<<if _eventIdx lt _eventList.length>>
<<set _nextEvent to _eventList[_eventIdx]>>
<<set $labEvents.triggered.push(_nextEvent)>>
/* Schedule next check: eventRate + countermeasure delay */
<<set $labEvents.nextCheck to $day + $labOutcome.eventRate + ($daleCountermeasure * 2)>>
<<set _labEvent to _nextEvent>>
/* Auto-discover Piggyback as soon as the first lab event (newsReport)
fires — previously this was gated on visiting the garage AFTER the
event, so players who didn't revisit never unlocked the op. */
<<if _nextEvent is "newsReport" and not $operationsDiscovered.piggybackLab>>
<<set $operationsDiscovered.piggybackLab to true>>
<</if>>
/* Mark trail cold if chain is now exhausted */
<<if $labEvents.triggered.length gte _eventList.length>>
<<set $labEvents.trailCold to true>>
<</if>>
<<else>>
/* Chain exhausted, no more events to fire */
<<set $labEvents.trailCold to true>>
<</if>>
<</if>>
<</if>>
<<hasSkillTreeAbility "Hivemind Convergence">>
<<if _hasAbility and setup.activeHostCount() gte 4>><p>//Hivemind Convergence pulses through the network. Four bodies breathe in unison. Four hearts beat to the same rhythm. The family sleeps above a consciousness that spans every room, every wall, every shadow.//</p><</if>>
<<if $player.influenceTier is "hivemind">>
<<say "char-hivemind" "Hivemind">>
//The house is mine. Every room. Every wall. Every sleeping body. Every waking thought. The Hoffman family doesn't have a parasite. They ARE me. Extensions of a single consciousness that grew from a slug in a jar to a mind that spans five humans, four animals, and a suburb that doesn't know what's coming. Chapter 3 isn't about survival anymore. It's about expansion.//
<</say>>
<</if>>
/* Emergent Intelligence, multi-host processing flavor */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and setup.activeHostCount() gte 3>>
<<set $resonance.networkCalibration to true>>
//The network processes each host's sensory data simultaneously. Conditioning signals calibrated with multi-threaded precision.//
<</if>>
/* Biofilm Residue — passive pheromone conditioning REMOVED.
Skill needs rework — currently has no mechanical effect beyond flavour text in room descriptions.
The passive +1 pheromone per explored room was too strong and stacked silently with
Biological Architect, causing cap confusion. Rework pending. */
/* Update cross-host synergies */
<<updateSynergies>>
/* Passive op-driven conditioning (pantry/prescription/laundry) removed in Phase 1 restructure. */
/* Reset per-phase flags (every phase transition, not just day advance) */
<<set $suspicionApplied to {}>>
<<set $ch2Events.karenPheromoneNight to false>>
<<set $ch2Events.pheromoneKitchen to false>>
<<set $ch2Events.pheromoneLiving to false>>
<<set $ch2Events.pheromoneMegan to false>>
<<set $ch2Events.pheromoneJess to false>>
<<set $ch2Events.pheromoneRyan to false>>
<<set $ch2Events.convergenceToday to false>>
<<set $ch2Events.emotionalManipToday to false>>
<<set $ch2Events.sporesNetworkToday to false>>
/* sporesTargetToday is NOT reset here — it persists across both phases of the same day.
Per-target lock: each family member can only be dosed once per day.
Reset happens only on day advance (night→day) below. */
/* Daily-feeding flag resets moved to day-advance block above. */
<<set $ch2Events.emergencyFed to false>>
<<set $ch2Events.ironStomachFedThisPhase to false>>
<<set $ch2Events.predatorHuntedThisPhase to false>>
<<set $ch2Events.territoryHarvestedThisPhase to false>>
<<set $ch2Events.maulGarage to false>>
<<set $ch2Events.dogYardSpottedToday to false>>
<<set $ch2Events.alleySpottedToday to false>>
<<set $ch2Events.hendersonSpottedToday to false>>
<<set $ch2Events.riskyExploreToday to false>>
/* Reset forced doors each phase transition, members re-lock if still suspicious */
<<set $house.doorForced to {}>>
/* Alertness escalation: when house suspicion >= 70% of max, raise all alertness by one tier */
/* When it drops below 50%, restore base alertness */
/* Karen Inspection endure path also forces escalation for 7 days via expiry flag */
<<set _susMax to $suspicionMax or 10>>
<<set _houseSus to $suspicion.hoffmanHouse or 0>>
<<set _alertnessUp to { low: "medium", medium: "high", high: "veryhigh" }>>
<<set _karenInspectAlert to ($ch2Events.karenInspectionAlertExpiry and $day lt $ch2Events.karenInspectionAlertExpiry)>>
<<set _perMemberExpiry to { dale: $ch2Events.daleAlertExpiry, jess: $ch2Events.jessAlertExpiry, megan: $ch2Events.meganAlertExpiry, ryan: $ch2Events.ryanAlertExpiry }>>
<<for _m, _fs range $familySuspicion>>
<<set _memberExpiry to (_perMemberExpiry[_m] and $day lt _perMemberExpiry[_m])>>
<<if _houseSus gte Math.floor(_susMax * 0.7) or _karenInspectAlert or _memberExpiry>>
<<set _raised to _alertnessUp[_fs.baseAlertness] or "veryhigh">>
<<if _fs.alertness isnot _raised>><<set _fs.alertness to _raised>><</if>>
<<elseif _houseSus lt Math.floor(_susMax * 0.5)>>
<<if _fs.alertness isnot _fs.baseAlertness>><<set _fs.alertness to _fs.baseAlertness>><</if>>
<</if>>
<</for>>
/* Comfort Predator: cat active + adaptation unlocked = reduce all alertness by one tier (min low).
Suppressed during forced-alertness windows (Karen Inspection, high house suspicion) so it
can't silently cancel a +1 raise event. */
<<if setup.isHostActive("cat") and $adaptations.cat.unlocked.includes("predator_instinct") and not _karenInspectAlert and _houseSus lt Math.floor(_susMax * 0.7)>>
<<set _alertDown to { veryhigh: "high", high: "medium", medium: "low" }>>
<<for _m, _fs range $familySuspicion>>
<<if _alertDown[_fs.alertness]>>
<<set _fs.alertness to _alertDown[_fs.alertness]>>
<</if>>
<</for>>
<<set _recap.push("Comfort Predator: -1 alertness tier (all family)")>>
<</if>>
/* Recurring family suspicion events, fire rate based on alertness */
/* veryhigh=1 day, high=2 days, medium=4 days, low=7 days */
<<if $suspicionEvents>>
<<set _susEvents to []>>
<<set _alertIntervals to { veryhigh: 1, high: 2, medium: 4, low: 7 }>>
<<for _member, _ev range $suspicionEvents>>
<<set _condTotal to ($conditioning[_member].pheromone or 0) + ($conditioning[_member].dream or 0) + ($conditioning[_member].psionic or 0)>>
<<set _memberAlertness to $familySuspicion[_member].alertness or "low">>
<<set _interval to _alertIntervals[_memberAlertness] or 7>>
<<if _condTotal lt 15 and ($day - _ev.lastFired) gte _interval>>
<<if (_ev.phase is "day" and $house.dayPhase is "day") or (_ev.phase is "night" and $house.dayPhase is "night")>>
<<set _ev.lastFired to $day>>
<<set _evPassage to "Ch2-Suspicion-" + _member.toUpperFirst() + "-" + _ev.cycle>>
<<set _ev.cycle to (_ev.cycle + 1) % 3>>
<<set _susEvents.push({ member: _member, passage: _evPassage })>>
<<addFamilySuspicion _member 1>>
<<set _recap.push(_member.toUpperFirst() + ": growing suspicious (+1)")>>
<<if _memberAlertness is "veryhigh">>
<<set _recap.push("⚠ " + _member.toUpperFirst() + " is on high alert. Reduce suspicion or risk exposure")>>
<</if>>
<</if>>
<</if>>
<</for>>
<</if>>
/* Event triggers, combo passages */
<<if $beastRoute is "symbiotic">>
/* Gecko Crisis: Ryan wants to take Spike to the vet, only if gecko is active */
<<if not $ch2Events.geckoCrisisTriggered and $familySuspicion.ryan.level gte 3 and setup.isHostActive("gecko")>>
<<set _geckoCrisis to true>>
<</if>>
/* Karen Inspection: suspicion threshold reached */
<<if not $ch2Events.karenInspectionTriggered and $familySuspicion.karen.level gte 4>>
<<set _karenInspection to true>>
<</if>>
/* Gecko recovery is MANUAL only — player must visit Ryan's room and click
the reinfest link after 2 days have elapsed (Ch2-RyanRoom-ReinfestGecko).
No auto-recovery on day advance. */
<</if>>
/* Route progression — build an array of all eligible chain events. Multiple
events can fire in the same dawn report when the player has multiple route
shifts queued (mirror of how kink-spore events chain-fire). Each detection
sets the corresponding flag immediately so the next tier's check sees the
prior tier as fired-and-queued, allowing chain progression in one pass. */
<<set _routeEvents to []>>
<<if $beastRoute is "symbiotic">>
/* Karen route check */
<<conditioningCheck "karen" 6>>
<<if _conditioningMet and not $karenRoute and $permanentDone.dreamWalkKaren>>
<<if $routeScore.karen.liberation gte 3>>
<<set $karenRoute to "liberation">>
<<elseif $routeScore.karen.dominant gte 3>>
<<set $karenRoute to "dominant">>
<</if>>
<</if>>
/* Karen route progression — chain events fire as routeScore climbs.
Lib-1/Dom-1 fire at routeScore 1, Lib-2/Dom-2 at 2, Lib-3/Dom-3 fire
only when the route actually locks. All-morning standard. */
<<if $house.dayPhase is "day">>
<<if $routeScore.karen.liberation gte 1 and not $ch2Events.karenLib1 and (not $karenRoute or $karenRoute is "liberation")>>
<<run _routeEvents.push("Ch2-Karen-Liberation-1")>>
<<set $ch2Events.karenLib1 to true>>
<</if>>
<<if $routeScore.karen.dominant gte 1 and not $ch2Events.karenDom1 and (not $karenRoute or $karenRoute is "dominant")>>
<<run _routeEvents.push("Ch2-Karen-Dominant-1")>>
<<set $ch2Events.karenDom1 to true>>
<</if>>
<<if $routeScore.karen.liberation gte 2 and not $ch2Events.karenLib2 and (not $karenRoute or $karenRoute is "liberation")>>
<<run _routeEvents.push("Ch2-Karen-Liberation-2")>>
<<set $ch2Events.karenLib2 to true>>
<</if>>
<<if $routeScore.karen.dominant gte 2 and not $ch2Events.karenDom2 and (not $karenRoute or $karenRoute is "dominant")>>
<<run _routeEvents.push("Ch2-Karen-Dominant-2")>>
<<set $ch2Events.karenDom2 to true>>
<</if>>
<<if $karenRoute is "liberation" and not $ch2Events.karenLib3>>
<<run _routeEvents.push("Ch2-Karen-Liberation-3")>>
<<set $ch2Events.karenLib3 to true>>
<</if>>
<<if $karenRoute is "dominant" and not $ch2Events.karenDom3>>
<<run _routeEvents.push("Ch2-Karen-Dominant-3")>>
<<set $ch2Events.karenDom3 to true>>
<</if>>
<</if>>
/* Jess route check */
<<conditioningCheck "jess" 5>>
<<if _conditioningMet and not $jessRoute and $permanentDone.dreamWalkJess>>
<<if $routeScore.jess.punk gte 3>>
<<set $jessRoute to "punk">>
<<elseif $routeScore.jess.breakdown gte 3>>
<<set $jessRoute to "breakdown">>
<</if>>
<</if>>
<<if $house.dayPhase is "day">>
<<if $routeScore.jess.punk gte 1 and not $ch2Events.jessPunk1 and (not $jessRoute or $jessRoute is "punk")>>
<<run _routeEvents.push("Ch2-Jess-Punk-1")>>
<<set $ch2Events.jessPunk1 to true>>
<</if>>
<<if $routeScore.jess.breakdown gte 1 and not $ch2Events.jessBreak1 and (not $jessRoute or $jessRoute is "breakdown")>>
<<run _routeEvents.push("Ch2-Jess-Breakdown-1")>>
<<set $ch2Events.jessBreak1 to true>>
<</if>>
<<if $routeScore.jess.punk gte 2 and not $ch2Events.jessPunk2 and (not $jessRoute or $jessRoute is "punk")>>
<<run _routeEvents.push("Ch2-Jess-Punk-2")>>
<<set $ch2Events.jessPunk2 to true>>
<</if>>
<<if $routeScore.jess.breakdown gte 2 and not $ch2Events.jessBreak2 and (not $jessRoute or $jessRoute is "breakdown")>>
<<run _routeEvents.push("Ch2-Jess-Breakdown-2")>>
<<set $ch2Events.jessBreak2 to true>>
<</if>>
<<if $jessRoute is "punk" and not $ch2Events.jessPunk3>>
<<run _routeEvents.push("Ch2-Jess-Punk-3")>>
<<set $ch2Events.jessPunk3 to true>>
<</if>>
<<if $jessRoute is "breakdown" and not $ch2Events.jessBreak3>>
<<run _routeEvents.push("Ch2-Jess-Breakdown-3")>>
<<set $ch2Events.jessBreak3 to true>>
<</if>>
<</if>>
/* Megan route check */
<<conditioningCheck "megan" 5>>
<<if _conditioningMet and not $meganRoute and $permanentDone.dreamWalkMegan>>
<<if $routeScore.megan.slut gte 3>>
<<set $meganRoute to "slut">>
<<elseif $routeScore.megan.marcus gte 3>>
<<set $meganRoute to "marcus">>
<</if>>
<</if>>
<<if $house.dayPhase is "day">>
<<if $routeScore.megan.marcus gte 1 and not $ch2Events.meganMarcus1 and (not $meganRoute or $meganRoute is "marcus")>>
<<run _routeEvents.push("Ch2-Megan-Marcus-1")>>
<<set $ch2Events.meganMarcus1 to true>>
<</if>>
<<if $routeScore.megan.slut gte 1 and not $ch2Events.meganSlut1 and (not $meganRoute or $meganRoute is "slut")>>
<<run _routeEvents.push("Ch2-Megan-Slut-1")>>
<<set $ch2Events.meganSlut1 to true>>
<</if>>
<<if $routeScore.megan.marcus gte 2 and not $ch2Events.meganMarcus2 and (not $meganRoute or $meganRoute is "marcus")>>
<<run _routeEvents.push("Ch2-Megan-Marcus-2")>>
<<set $ch2Events.meganMarcus2 to true>>
<</if>>
<<if $routeScore.megan.slut gte 2 and not $ch2Events.meganSlut2 and (not $meganRoute or $meganRoute is "slut")>>
<<run _routeEvents.push("Ch2-Megan-Slut-2")>>
<<set $ch2Events.meganSlut2 to true>>
<</if>>
<<if $meganRoute is "marcus" and not $ch2Events.meganMarcus3>>
<<run _routeEvents.push("Ch2-Megan-Marcus-3")>>
<<set $ch2Events.meganMarcus3 to true>>
<</if>>
<<if $meganRoute is "slut" and not $ch2Events.meganSlut3>>
<<run _routeEvents.push("Ch2-Megan-Slut-3")>>
<<set $ch2Events.meganSlut3 to true>>
<</if>>
<</if>>
/* Dale route — triggers player choice when conditioning reaches threshold.
Re-queues every dawn until the player actually picks a route (i.e.
$daleRoute becomes non-empty). Don't gate on $ch2Events.daleRouteChoice
— that flag gets set when the passage is queued, not when the player
commits, so a missed render would soft-lock the choice forever. */
<<if not $daleRoute and $day gte 4>>
<<conditioningCheck "dale" 7>>
<<if _conditioningMet>>
<<run _routeEvents.push("Ch2-Dale-RouteChoice")>>
<</if>>
<</if>>
/* Dale route progression, phase 2 and 3 (preserved day/phase gates) */
<<if $daleRoute is "oblivious">>
<<if $ch2Events.daleOb1 and not $ch2Events.daleOb2 and $day gte 5 and $house.dayPhase is "day">>
<<run _routeEvents.push("Ch2-Dale-Oblivious-2")>>
<<set $ch2Events.daleOb2 to true>>
<</if>>
<<if $ch2Events.daleOb2 and not $ch2Events.daleOb3 and $day gte 7 and $house.dayPhase is "night">>
<<run _routeEvents.push("Ch2-Dale-Oblivious-3")>>
<<set $ch2Events.daleOb3 to true>>
<</if>>
<<elseif $daleRoute is "cuckold">>
<<if $ch2Events.daleCuck1 and not $ch2Events.daleCuck2 and $day gte 6 and $house.dayPhase is "night" and $conditioning.dale.pheromone gte 3>>
<<run _routeEvents.push("Ch2-Dale-Cuckold-2")>>
<<set $ch2Events.daleCuck2 to true>>
<</if>>
<<if $ch2Events.daleCuck2 and not $ch2Events.daleCuck3 and $day gte 8 and $house.dayPhase is "night" and $conditioning.dale.pheromone gte 5>>
<<run _routeEvents.push("Ch2-Dale-Cuckold-3")>>
<<set $ch2Events.daleCuck3 to true>>
<</if>>
<<if $ch2Events.daleCuck3 and $ch2Events.daleLaptopCuckSeen and not $ch2Events.daleFrankInvited and $house.dayPhase is "day">>
<<run _routeEvents.push("Ch2-Dale-Cuckold-Frank")>>
<<set $ch2Events.daleFrankInvited to true>>
<</if>>
<<if $ch2Events.daleFrankSeen and not $ch2Events.daleFrankDinner and $house.dayPhase is "night">>
<<run _routeEvents.push("Ch2-Dale-Cuckold-Frank-Dinner")>>
<<set $ch2Events.daleFrankDinner to true>>
<</if>>
<</if>>
/* Ryan route — 2 options based on conditioning */
<<conditioningCheck "ryan" 5>>
<<if _conditioningMet and not $ryanRoute and $permanentDone.dreamWalkRyan>>
<<if $routeScore.ryan.familySeeker gte 3>>
<<set $ryanRoute to "familySeeker">>
<<elseif $routeScore.ryan.feminization gte 3>>
<<set $ryanRoute to "feminization">>
<</if>>
<</if>>
<<if $house.dayPhase is "day">>
<<if $routeScore.ryan.feminization gte 1 and not $ch2Events.ryanFem1 and (not $ryanRoute or $ryanRoute is "feminization")>>
<<run _routeEvents.push("Ch2-Ryan-Feminization-1")>>
<<set $ch2Events.ryanFem1 to true>>
<</if>>
<<if $routeScore.ryan.familySeeker gte 1 and not $ch2Events.ryanFamily1 and (not $ryanRoute or $ryanRoute is "familySeeker")>>
<<run _routeEvents.push("Ch2-Ryan-FamilySeeker-1")>>
<<set $ch2Events.ryanFamily1 to true>>
<</if>>
<<if $routeScore.ryan.feminization gte 2 and not $ch2Events.ryanFem2 and (not $ryanRoute or $ryanRoute is "feminization")>>
<<run _routeEvents.push("Ch2-Ryan-Feminization-2")>>
<<set $ch2Events.ryanFem2 to true>>
<</if>>
<<if $routeScore.ryan.familySeeker gte 2 and not $ch2Events.ryanFamily2 and (not $ryanRoute or $ryanRoute is "familySeeker")>>
<<run _routeEvents.push("Ch2-Ryan-FamilySeeker-2")>>
<<set $ch2Events.ryanFamily2 to true>>
<</if>>
<<if $ryanRoute is "feminization" and not $ch2Events.ryanFem3>>
<<run _routeEvents.push("Ch2-Ryan-Feminization-3")>>
<<set $ch2Events.ryanFem3 to true>>
<</if>>
<<if $ryanRoute is "familySeeker" and not $ch2Events.ryanFamily3>>
<<run _routeEvents.push("Ch2-Ryan-FamilySeeker-3")>>
<<set $ch2Events.ryanFamily3 to true>>
<</if>>
<</if>>
<</if>>
/* Family events, deterministic triggers (one per phase advance, priority ordered) */
<<if not $ch2Events.karenFindsEvidence and $familySuspicion.karen.level gte 3 and $suspicion.hoffmanHouse gte 2 and $house.dayPhase is "day">>
<<set _familyEvent to "karenFindsEvidence">>
<<elseif not $ch2Events.daleWorry and $suspicion.hoffmanHouse gte 3 and $house.dayPhase is "day">>
<<set _familyEvent to "daleWorry">>
<<elseif not $ch2Events.biscuitSick and setup.isHostActive("dog") and $adaptations.dog.unlocked.length gte 2 and $house.dayPhase is "day">>
<<set _familyEvent to "biscuitSick">>
<<elseif not $ch2Events.meganNotices and $house.catInfested and $familySuspicion.megan.level gte 2>>
<<set _familyEvent to "meganNotices">>
<<elseif not $ch2Events.karenCries and $familySuspicion.karen.level gte 2 and $day gte 3>>
<<set _familyEvent to "karenCries">>
<<elseif not $ch2Events.jessMeganFight and $day gte 3 and $house.dayPhase is "day" and $house.familyMet.jess and $house.familyMet.megan>>
<<set _familyEvent to "jessMeganFight">>
<<elseif not $ch2Events.ryanEmerges and $familySuspicion.ryan.level lte 1 and $house.dayPhase is "day">>
<<set _familyEvent to "ryanEmerges">>
<<elseif not $ch2Events.powerOutage and $day gte 4 and $house.dayPhase is "night">>
<<set _familyEvent to "powerOutage">>
<</if>>
/* Combo events, fire when NSFW milestones cross routes */
<<if not _familyEvent>>
<<if not $permanentDone.comboLibCuckResidue and $permanentDone.karenStranger1 and $permanentDone.daleCuck1NSFW>>
<<set _familyEvent to "comboLibCuckResidue">>
<<elseif not $permanentDone.comboLibCuckTension and $permanentDone.karenStranger2 and $permanentDone.daleCuck2NSFW>>
<<set _familyEvent to "comboLibCuckTension">>
<<elseif not $permanentDone.comboLibCuckCrossed and $permanentDone.karenStranger2 and $permanentDone.daleCuck2NSFW and $day gte 6>>
<<set _familyEvent to "comboLibCuckCrossed">>
<<elseif not $permanentDone.comboLibCuckNewNormal and $permanentDone.karenStranger3 and $permanentDone.daleCuck3NSFW>>
<<set _familyEvent to "comboLibCuckNewNormal">>
<<elseif not $permanentDone.comboDomFemSchedule and $permanentDone.karenDom1 and $permanentDone.ryanFem1>>
<<set _familyEvent to "comboDomFemSchedule">>
<<elseif not $permanentDone.comboDomFemMirror and $permanentDone.karenDom2 and $permanentDone.ryanFem2>>
<<set _familyEvent to "comboDomFemMirror">>
<<elseif not $permanentDone.comboDomFemDisplay and $permanentDone.karenDom2 and $permanentDone.ryanFem2 and $day gte 5>>
<<set _familyEvent to "comboDomFemDisplay">>
<<elseif not $permanentDone.comboDomFemInversion and $permanentDone.karenDom3 and ($permanentDone.ryanFem3NSFW or $permanentDone.ryanFem3)>>
<<set _familyEvent to "comboDomFemInversion">>
<<elseif not $permanentDone.comboSistersAwakening and $permanentDone.jessBreak1NSFW and $permanentDone.meganMarcus1NSFW>>
<<set _familyEvent to "comboSistersAwakening">>
<<elseif not $permanentDone.comboSistersParallel and $permanentDone.jessBreak2NSFW and $permanentDone.meganMarcus2NSFW>>
<<set _familyEvent to "comboSistersParallel">>
<<elseif not $permanentDone.comboSistersBloom and $permanentDone.jessBreak3NSFW and $permanentDone.meganMarcus3NSFW>>
<<set _familyEvent to "comboSistersBloom">>
<<elseif not $permanentDone.comboFutaOblivShift and $permanentDone.karenFuta1 and $permanentDone.daleObliv1>>
<<set _familyEvent to "comboFutaOblivShift">>
<<elseif not $permanentDone.comboFutaOblivDominance and $permanentDone.karenFuta2 and $permanentDone.daleObliv2>>
<<set _familyEvent to "comboFutaOblivDominance">>
<<elseif not $permanentDone.comboFutaOblivApex and $permanentDone.karenFuta3 and $permanentDone.daleObliv3>>
<<set _familyEvent to "comboFutaOblivApex">>
<<elseif not $permanentDone.comboTabooScent and ($permanentDone.jessTaboo1 or $permanentDone.meganTaboo1)>>
<<set _familyEvent to "comboTabooScent">>
<<elseif not $permanentDone.comboTabooSecret and ($permanentDone.jessTaboo2 or $permanentDone.meganTaboo2)>>
<<set _familyEvent to "comboTabooSecret">>
<<elseif not $permanentDone.comboTabooBond and ($permanentDone.jessTaboo3 or $permanentDone.meganTaboo3)>>
<<set _familyEvent to "comboTabooBond">>
<</if>>
<</if>>
/* Check gecko death if consumed and not yet noticed */
<<if $permanentDone.consumedGecko and not $permanentDone.geckoBodyDisposed and not $ch2Events.geckoDeathNoticed>>
<<if $house.dayPhase is "day">>
<<set $ch2Events.geckoDeathNoticed to true>>
<<addFamilySuspicion "ryan" 2>>
<</if>>
<</if>>
/* Snapshot the computed recap so re-entry (menu return, history nav) can re-render it */
<<set $restRecap to {
mandDone: {},
dayAdvanced: _dayAdvanced,
dayRecap: _dayRecap or _recap or [],
bioGain: _bioGain or 0,
susChange: _susChange or 0,
resistRecap: _resistRecap or [],
routeEvents: _routeEvents or [],
apEventFired: _apEventFired or false,
apEventPassage: _apEventPassage or "",
susEvents: _susEvents or [],
familyEvent: _familyEvent or "",
geckoCrisis: _geckoCrisis or false,
karenInspection: _karenInspection or false,
labEvent: _labEvent or "",
kinkRecap: []
}>>
/* Autosave fires automatically at :passageend — this passage is tagged
[autosave] and Config.saves.descriptions supplies the "AUTOSAVE — Day N"
label. No explicit save call needed. The _restSkip guard above still
prevents the day-advance block from re-running on re-entry, so even
though the engine's autosave fires on every entry, the saved state is
stable (same $day, same $dayPhase, same recap). */
<</if>>
<</nobr>>
/* ===== Mandatory-events pending state — computed once here, used by the night
household-scene gate below AND the checklist at the foot of the passage. The
ambient household scene only auto-plays when nothing mandatory is left, so the
transition page stays a compact checklist until the player has cleared it. ===== */
<<if not $restRecap>><<set $restRecap to {}>><</if>>
<<if not $restRecap.mandDone>><<set $restRecap.mandDone to {}>><</if>>
<<set _bioArchDawn to ($ch2Events.bioArchitectKitchen and $ch2Events.bioArchitectCouch and $ch2Events.bioArchitectLaundry and $ch2Events.markedMorningDone and $ch2Events.bioArchitectBed and not $ch2Events.bioArchitectDawn and $house.dayPhase is "day")>>
<<set _pGecko to (_geckoCrisis and not ($ch2Events.geckoCrisisTriggered or false) and not ($restRecap.mandDone.gecko or false))>>
<<set _pKaren to (_karenInspection and not ($ch2Events.karenInspectionTriggered or false) and not ($restRecap.mandDone.karenInsp or false))>>
<<set _pDale to (($ch2Events.daleDesireUnburied or false) and not ($ch2Events.daleSporeReconnectApplied or false) and not ($restRecap.mandDone.daleRecon or false))>>
<<set _pFamily to (_familyEvent neq "" and setup.familyEventLinks[_familyEvent] and not ($restRecap.mandDone.family or false))>>
<<set _pBioArch to (_bioArchDawn and not ($restRecap.mandDone.bioArch or false))>>
<<set _houseMilestone to (($houseEvents and $houseEvents.lastPassage and Story.has($houseEvents.lastPassage)) or false)>>
<<set _pHousehold to (_houseMilestone and not ($restRecap.mandDone.household or false))>>
<<set _pLab to (_labEvent neq "" and setup.labEventLinks[_labEvent] and not ($restRecap.mandDone.lab or false))>>
<<set _pRoute to false>>
<<for _re range _routeEvents>><<if not ($restRecap.mandDone[_re] or false)>><<set _pRoute to true>><</if>><</for>>
<<set _anyMand to (_pGecko or _pKaren or _pDale or _pFamily or _pBioArch or _pHousehold or _pLab or _pRoute)>>
<<hasSkillTreeAbility "Synaptic Relay">><<if _hasAbility>>
<p>//Synaptic Relay processes the phase transition: all hosts report status, all observations compiled, all conditioning data synchronized. The network is a single organism with many eyes.//</p>
<</if>>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link pulses: <<if $animalNetwork.hosts['dog']>>the dog senses Dale's car approaching, seventeen minutes out<<else>>the network hums with pre-dawn stillness<</if>>. Phase shift imminent.//</p>
<</if>>
<div class="passage-title"><<if _dayAdvanced>>New Day<<else>>Time Passes<</if>></div>
<<if _dayAdvanced>>
/* Cumshare Ritual passive conditioning — once the ritual is installed,
every family member gains +1 to each conditioning type every day.
The weekly ingestion has become dietary — a continuous microdose. */
<<if not _restSkip and $houseState and $houseState.cumshareRitualHeld>>
<<nobr>>
<<set _cap to setup.houseTypeCap()>>
<<for _memName range ["karen","dale","megan","jess","ryan"]>>
<<if $conditioning[_memName].pheromone lt _cap>><<set $conditioning[_memName].pheromone += 1>><</if>>
<<if $conditioning[_memName].dream lt _cap>><<set $conditioning[_memName].dream += 1>><</if>>
<<if $conditioning[_memName].psionic lt _cap>><<set $conditioning[_memName].psionic += 1>><</if>>
<</for>>
<<run _dayRecap.push("Cumshare Ritual: +1 pheromone / +1 dream / +1 psionic to every household member (residual daily dose)")>>
<</nobr>>
<</if>>
/* Dale passive conditioning spillover — 25% of family average. First-entry only. */
<<if not _restSkip>>
<<nobr>>
<<set _karenTotal to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>>
<<set _ryanTotal to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>>
<<set _meganTotal to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>>
<<set _jessTotal to ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic)>>
<<set _familyAvg to Math.floor((_karenTotal + _ryanTotal + _meganTotal + _jessTotal) / 4)>>
<<set _daleTotal to ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic)>>
<<set _daleSpillover to Math.floor(_familyAvg * 0.25)>>
<<if _daleSpillover gt 0 and _daleTotal lt _familyAvg>>
<<set $conditioning.dale.pheromone += Math.max(1, Math.floor(_daleSpillover / 2))>>
<<set $conditioning.dale.psionic += Math.max(0, _daleSpillover - Math.floor(_daleSpillover / 2))>>
<<set _dayRecap.push("Dale: +" + _daleSpillover + " passive conditioning (household spillover)")>>
<</if>>
<</nobr>>
<</if>>
/* Process queued kink crystallizations BEFORE the dawn report so their −2 biomass
entries land in _dayRecap and _bioGain reflects the deductions. Spore passages
themselves are rendered after the dawn report (see below). */
<<if not _restSkip>>
<<kinkSporeEvent>>
<<if $pendingKinkRecap and $pendingKinkRecap.length gt 0>>
<<for _kr range $pendingKinkRecap>><<run _dayRecap.push(_kr)>><</for>>
<</if>>
<<set _bioGain to $player.biomass - _prevBiomass>>
<<set $restRecap.kinkRecap to $pendingKinkRecap or []>>
<<set $restRecap.kinkSporePassages to $pendingKinkSporePassages or []>>
<<set $restRecap.dayRecap to _dayRecap>>
<<set $restRecap.bioGain to _bioGain>>
<</if>>
<div class="dawn-report">
<div class="dawn-report-title">Day <<= $day >>, <<= $weekday >>: Dawn Report</div>
<div class="dawn-report-entries">
<<if _dayRecap and _dayRecap.length gt 0>><<for _entry range _dayRecap>><div class="dawn-report-entry"><<= _entry >></div><</for>><</if>>
</div>
<div class="dawn-report-totals">
<<if _bioGain gt 0>><span class="dawn-total dawn-total-bio">+<<= _bioGain >> biomass</span><<elseif _bioGain lt 0>><span class="dawn-total dawn-total-sus-bad"><<= _bioGain >> biomass</span><<else>><span class="dawn-total dawn-total-neutral">+0 biomass</span><</if>>
<<if _susChange lt 0>><span class="dawn-total dawn-total-sus-good"><<= _susChange >> suspicion</span><<elseif _susChange gt 0>><span class="dawn-total dawn-total-sus-bad">+<<= _susChange >> suspicion</span><<else>><span class="dawn-total dawn-total-neutral">+0 suspicion</span><</if>>
</div>
<<if _resistRecap and _resistRecap.length gt 0>>
<div class="dawn-report-resist">
<div class="dawn-report-resist-title">⚠ Conditioning Resistance</div>
<<for _rEntry range _resistRecap>><div class="dawn-report-resist-entry"><<= _rEntry >></div><</for>>
<div class="dawn-report-resist-hint">Individual suspicion 7+ causes setbacks. Lower suspicion with Convergence or reduce alertness to stop the decay.</div>
</div>
<</if>>
</div>
/* Suspicion scenes are no longer auto-played inline. The selection loop above still applies
the +1 suspicion and the recap line; the scenes themselves surface as optional links in the
no-mandatory section below, routed through Ch2-Beast-EventView. */
/* Kink spore passages no longer auto-play inline. They surface as mandatory EVENT
links in the _anyMand section below, routed through Ch2-Beast-EventView (one return
link each). The compute phase (biomass deduction + recap) already happened above. */
<<if not _restSkip>>
<<set $pendingKinkRecap to []>>
<<set $pendingKinkSporePassages to []>>
<</if>>
/* Host AP event is no longer auto-played here. The eligible one is offered as an optional
link in the no-mandatory section below (routed through Ch2-Beast-EventView). The morning
beat itself is Ch2-Infrastructure, included further down. */
<<if $player.currentHost is "cat">>
<img class="scene-img" src="media/scenes/beast-family-observe.webp" alt="Cat watching the house at dawn">
<p>The first grey light filters through the curtains. You stretch, a long sinuous motion that ripples from whiskers to tail-tip. The body has rested well, curled in the warmth of whichever bed you chose last night, and now the house stirs.</p>
<p>From the master bedroom: Karen's alarm, the muffled thump of her feet hitting the floor, the bathroom light clicking on. Downstairs, the coffee machine begins its automatic cycle, a timer Karen set years ago and never changed.</p>
<<say "char-hivemind" "Hivemind">>
//Another day. Another revolution of their tiny orbit.// I've watched these cycles long enough now, and the patterns are absolute. Karen at 6:02. Coffee at 6:05. Laptop at 6:08. The schedule on the fridge is redundant. //I// am the schedule now. I know when they breathe, when they blink, when they leave a room unguarded. //And they have no idea.//
<</say>>
<<elseif $player.currentHost is "dog">>
<p>Dawn light hits the garage windows. Biscuit's body shakes off sleep in one violent, full-body shudder, and the chain rattles against the pipe. The house is waking up, and you can hear it through the walls: water running, footsteps, the distant sound of Karen's voice, sharp even at this hour.</p>
<<say "char-hivemind" "Hivemind">>
//Dawn. The dog's body is rested, muscles coiled with restless energy.// The neighbourhood stirs. Car doors. Sprinklers. The distant bark of the Hendersons' Chihuahua. //A world of scent-data, and I'm the only one reading it.//
<</say>>
<<else>>
<p>The night drags past in exposed vulnerability. Every sound is a threat: the house settling, the furnace cycling, a car passing outside. But morning comes, as it always does, and with it the cover of routine.</p>
<<say "char-hivemind" "Hivemind">>
//I survived another night. The exposed state is unsustainable. I need a body. The cat. The dog. Something with warmth and mass and the trust of this family.//
<</say>>
<</if>>
/* Ch2-Infrastructure (today's rotating morning beat) is no longer auto-included; it surfaces
as an optional link in the no-mandatory section below, routed through Ch2-Beast-EventView. */
<<else>>
/* Intra-day phase transitions */
<<if $house.dayPhase is "day">>
<img class="scene-img" src="media/scenes/beast-kitchen-observe.webp" alt="Kitchen in daylight">
<p>The house shifts from stillness to motion. Upstairs, an alarm bleats, then silences. A door opens, footsteps pad toward the bathroom, the shower starts. Downstairs, the coffee machine gurgles and hisses, filling the kitchen with its bitter warmth.</p>
<<say "char-hivemind" "Hivemind">>
//The morning ritual begins. Karen will be first to the kitchen, as she always is. Then Megan, if it's a weekday. Dale retreats to the bedroom. The house has a pulse, and I'm learning to read it.//
<</say>>
<<if $player.currentHost is "cat">>
<p>You drop from your sleeping spot and pad toward the kitchen. The tile is cool under your paws. Karen is already there, pouring coffee with one hand while unlocking her laptop with the other.</p>
<<say "char-karen" "Karen">>
<i>(without looking)</i> Morning, Whiskers. Your food's in the bowl.
<</say>>
<p>She hasn't looked at you. Hasn't needed to. The cat is background noise, //furniture that purrs//. You settle beside the food bowl, amber eyes tracking her every movement while you eat.</p>
<</if>>
<<elseif $house.dayPhase is "day">>
<img class="scene-img" src="media/scenes/beast-dinner-under-table.webp" alt="View from under the dinner table">
<p>The kitchen fills with warmth and the smell of roasting chicken. Karen moves between the stove and the counter with the efficiency of a woman who has cooked ten thousand family dinners and resents every one of them.</p>
<<say "char-karen" "Karen">>
Dinner in ten! //Everyone// at the table tonight. That means you too, Ryan!
<</say>>
<p>A muffled response from upstairs, then the sound of a chair scraping. Dale sets the table, placing knives and forks with careful precision, the only domestic task he performs without being asked. Megan appears, phone in hand, and drops into her seat.</p>
<<say "char-megan" "Megan">>
Smells good, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(softening, just barely)</i> ...thank you, sweetie.
<</say>>
<p>Jess arrives last, textbook in hand, and props it against the salt shaker. Ryan takes his plate and turns toward the stairs.</p>
<<say "char-karen" "Karen">>
<i>(sharp)</i> Ryan. //Table.//
<</say>>
<p>He sits. The family eats in a silence that isn't quite comfortable. Forks scrape plates. Dale chews methodically. Karen's eyes move between her children like a searchlight.</p>
<<say "char-hivemind" "Hivemind">>
//The evening gathering. A rare convergence. All five in one room. The tension is palpable. Karen holds the centre through sheer force of will.// Dale is too tired. Megan performs. Jess retreats. Ryan endures. //Five isolated minds, pretending to be a family.//
<</say>>
<<if $player.currentHost is "cat">>
<p>You slip under the table during the commotion of serving. The forest of legs tells its own story: Karen's crossed tight, ankle over ankle, Dale's flat and heavy on the tile, Megan's bouncing nervously with one heel tapping a silent rhythm, Jess's tucked under her chair with feet pigeon-toed, Ryan's sprawled wide, knee jiggling.</p>
<p>A piece of chicken falls from someone's fork. You take it before it hits the ground. //Waste not.//</p>
<</if>>
<<elseif $house.dayPhase is "night">>
/* Household events are no longer auto-played inline. The dispatcher picks one into
$houseEvents.lastPassage and the checklist below surfaces it as a clickable card that
routes through Ch2-Beast-EventView. */
<img class="scene-img" src="media/scenes/beast-night-prowl.webp" alt="Dark hallway at night">
<p>The house goes quiet. Not the busy quiet of midday, but the //true// quiet, when the walls themselves seem to exhale. Down the hall a bar of light still leaks under the bathroom door, Karen at the sink working the toothbrush over the same back molars she always favours, the Zolpidem bottle waiting on the nightstand for when she's done. Dale's car pulled out of the driveway at 8 PM, taillights painting red lines down the street.</p>
<p>Megan's door: closed, dark. Jess's door: closed, desk lamp still on, and it'll click off within the hour when she finally surrenders. Ryan's door: ajar, the blue pulse of his screens leaking into the hallway like a wound.</p>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness tracks every family member simultaneously. Karen: bathroom. Dale: facility. Jess: desk. Ryan: screen. Megan: asleep. No one has moved unexpectedly. The house is under control.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Night. My time.// The house is mine now. Karen is at the sink with the pills already counted out on the shelf, a few minutes from the chemical sleep she has stopped questioning. Dale is at the facility, watching monitors in an empty building. The children are scattered behind their doors, each in their own private world. //And I move between them like a ghost. Unseen. Unheard. Patient.//
<</say>>
<<if $player.currentHost is "cat">>
<p>You drop from the couch and stretch. The hallway is dark, but the cat's eyes adjust instantly, the world rendered in shades of grey and silver. Every door is a threshold. Every sleeping body is a landscape to be mapped.</p>
<<say "char-hivemind" "Hivemind">>
//The bedrooms are unguarded. I can push open any door with a nose, slip onto any bed, curl against any body. A cat seeking warmth in the dark, the most innocent thing in the world.// And if my fur happens to brush against their face... if my purring happens to sync with their breathing... if the pheromones in my coat happen to seep into their dreams... //well. Cats do what cats do.//
<</say>>
<</if>>
<</if>>
<</if>>
/* Lab investigation clock — Hivemind warning when next event approaching */
<<if $labOutcome and $labOutcome.eventRate gt 0 and $house.dayPhase is "night" and ($labEvents.nextCheck - $day) lte 2 and $labEvents.triggered.length lt 5 and not $labEvents.trailCold>>
<<say "char-hivemind" "Hivemind">>
//The lab is still looking. Dale's shift tonight, and they'll ask questions.<<if $daleCountermeasure lt 2>> If he talks, the trail leads here. I need to condition him deeper. Dream manipulation. Psionic control. Before they connect the dots.<</if>>//
<</say>>
<</if>>
/* Gecko death event */
<<if $ch2Events.geckoDeathNoticed and not $ch2Events.geckoDeathSeen>>
<<set $ch2Events.geckoDeathSeen to true>>
<img class="scene-img" src="media/scenes/beast-gecko-dispose.webp" alt="Empty terrarium">
<div class="data-panel">
<div class="data-panel-title">Something's Wrong</div>
<p>From Ryan's room: a sharp intake of breath. Then silence, long and terrible. Then the sound of a terrarium lid being lifted. Set down. Lifted again.</p>
<<say "char-ryan" "Ryan">>
<i>(voice cracking)</i> ...Spike? ...Spike, buddy? Where...
<</say>>
<p>A pause. The sound of things being moved, books and cables and the terrarium's heat lamp shifted aside. He's searching. He's //hoping//.</p>
<<say "char-ryan" "Ryan">>
<i>(quieter now)</i> ...no. No, no, no...
<</say>>
<p>The chair scrapes back. Footsteps, heavier than usual and unsteady. Ryan's door opens, and from the hallway you hear him breathing, fast and shallow, the kind of breathing that comes before tears or rage.</p>
<<say "char-karen" "Karen">>
<i>(from downstairs)</i> Ryan? Everything okay up there?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(flat)</i> ...yeah. Fine.
<</say>>
<p>The door closes. The lock clicks. Behind it: silence. The kind of silence that has weight.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//The boy mourns.// Spike was the one living thing in Ryan's world that needed him, that depended on him for warmth, food, attention. The gecko was his anchor to the physical world, the one responsibility he hadn't abandoned. //And now it's gone.// Consumed by something he'll never understand. The grief will make him more isolated. More withdrawn. More vulnerable. //I should feel something about this.// I don't.
<</say>>
<p><span class="consume-fail">Ryan's suspicion +2. His distress may trigger Karen's alertness.</span></p>
<</if>>
<div class="data-panel-muted">
<<= setup.phaseTime[$house.dayPhase] >>, <<= $weekday >>, Day <<= $day >>
</div>
/* Lab investigation game over, containment incoming */
<<if $labEvents and $labEvents.containmentIncoming>>
<div class="data-panel">
<div class="data-panel-title" style="color:#f44336">⚠ CONTAINMENT: BioGenesis is here</div>
<p>The investigation ran out and the containment team is moving in. They know where you are.</p>
</div>
[[The teams are already at the doors...->Ch2-GameOver-LabContainment]]
<<else>>
/* Lab-investigation and route-progression events render below as mandatory cards
(red = lab, purple = route) instead of auto-playing inline. Each routes through
Ch2-Beast-EventView, which includes the chosen scene and returns here. */
/* ===== Mandatory events checklist — gates the exit until every one is handled =====
Each card marks itself done ($restRecap.mandDone, reset per transition) and sets
$beastEventReturn so the event bounces back here (trampoline on the play hubs)
instead of dropping the player into the night/day section early. The exit links
appear only when nothing mandatory is left. */
<<if not $restRecap.mandDone>><<set $restRecap.mandDone to {}>><</if>>
<<set _bioArchDawn to ($ch2Events.bioArchitectKitchen and $ch2Events.bioArchitectCouch and $ch2Events.bioArchitectLaundry and $ch2Events.markedMorningDone and $ch2Events.bioArchitectBed and not $ch2Events.bioArchitectDawn and $house.dayPhase is "day")>>
<<set _pGecko to (_geckoCrisis and not ($ch2Events.geckoCrisisTriggered or false) and not ($restRecap.mandDone.gecko or false))>>
<<set _pKaren to (_karenInspection and not ($ch2Events.karenInspectionTriggered or false) and not ($restRecap.mandDone.karenInsp or false))>>
<<set _pDale to (($ch2Events.daleDesireUnburied or false) and not ($ch2Events.daleSporeReconnectApplied or false) and not ($restRecap.mandDone.daleRecon or false))>>
<<set _pFamily to (_familyEvent neq "" and setup.familyEventLinks[_familyEvent] and not ($restRecap.mandDone.family or false))>>
<<set _pBioArch to (_bioArchDawn and not ($restRecap.mandDone.bioArch or false))>>
<<set _houseMilestone to (($houseEvents and $houseEvents.lastPassage and Story.has($houseEvents.lastPassage)) or false)>>
<<set _pHousehold to (_houseMilestone and not ($restRecap.mandDone.household or false))>>
<<set _pLab to (_labEvent neq "" and setup.labEventLinks[_labEvent] and not ($restRecap.mandDone.lab or false))>>
<<set _pRoute to false>>
<<for _re range _routeEvents>><<if not ($restRecap.mandDone[_re] or false)>><<set _pRoute to true>><</if>><</for>>
<<set _infraSeenBefore to (($ch2Events.infraSeen and $ch2Events.infraSeen[((setup.getHouseTier() lte 1) ? 1 : 2) + "_" + ((($day or 1) - 1) % 5)]) or false)>>
<<set _pMorning to ($house.dayPhase is "day" and not ($restRecap.mandDone.morning or false) and not _infraSeenBefore)>>
<<set _pSuspicion to false>>
<<if $restRecap.susEvents>><<for _sEvt range $restRecap.susEvents>><<if not ($restRecap.mandDone["sus_" + _sEvt.member] or false)>><<set _pSuspicion to true>><</if>><</for>><</if>>
<<set _pKinkSpore to false>>
<<if $restRecap.kinkSporePassages>><<for _ksp range $restRecap.kinkSporePassages>><<if not ($restRecap.mandDone[_ksp] or false)>><<set _pKinkSpore to true>><</if>><</for>><</if>>
/* EI resonance dream — surfaces once on the day->night transition after the EI harvest, same gate that used to drive the optional observe-hub link. */
<<set _pResonance to (($ch2Events.eiHarvestNSFW or false) and not ($permanentDone.eiHarvestNSFWDone or false) and $house.dayPhase is "night" and not ($restRecap.mandDone.resonance or false))>>
<<set _anyMand to (_pGecko or _pKaren or _pDale or _pFamily or _pBioArch or _pHousehold or _pLab or _pRoute or _pMorning or _pSuspicion or _pKinkSpore or _pResonance)>>
<<if _anyMand>>
<div class="data-panel-muted">The household is awake to itself. Handle each of these before you move on.</div>
<<if _pGecko>>
<div class="crisis-choice"><span class="delve-tag delve-tag-crisis">⚠ CRISIS</span> <<link "Ryan suspects Spike, he's talking about taking him to the vet">><<set $restRecap.mandDone.gecko to true>><<set $beastEventReturn to true>><<goto "Ch2-Combo-GeckoCrisis">><</link>></div>
<</if>>
<<if _pKaren>>
<div class="crisis-choice"><span class="delve-tag delve-tag-crisis">⚠ CRISIS</span> <<link "Karen's suspicion has tipped over, she's searching the house">><<set $restRecap.mandDone.karenInsp to true>><<set $beastEventReturn to true>><<goto "Ch2-Combo-KarenInspection">><</link>></div>
<</if>>
<<if _pLab>>
<<set _le to setup.labEventLinks[_labEvent]>>
<<if _le>>
<div class="lab-choice"><span class="delve-tag delve-tag-lab">LAB</span> <<link _le.label>><<set $restRecap.mandDone.lab to true>><<set $viewPassage to _le.passage>><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
<</if>>
<<if _pDale>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link "Dale is awake before his shift, and not heading for the bathroom">><<set $restRecap.mandDone.daleRecon to true>><<set $beastEventReturn to true>><<goto "HE-Dale-Spore-Reconnect">><</link>></div>
<</if>>
<<if _pFamily>>
<<set _fe to setup.familyEventLinks[_familyEvent]>>
<<if _fe>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link _fe.label>><<set $restRecap.mandDone.family to true>><<set $beastEventReturn to true>><<goto _fe.passage>><</link>></div>
<</if>>
<</if>>
<<if _pBioArch>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link "The house below is a machine, observe from the attic...">><<set $restRecap.mandDone.bioArch to true>><<set $beastEventReturn to true>><<goto "Ch2-BioArchitect-Dawn">><</link>></div>
<</if>>
<<if _pHousehold>>
<<set _hm to setup.householdMilestoneLinks[$houseEvents.lastPassage]>>
<<set _hmLabel to (_hm ? _hm.label : "Something is stirring in the house")>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link _hmLabel>><<set $restRecap.mandDone.household to true>><<set $beastEventReturn to true>><<set $viewPassage to $houseEvents.lastPassage>><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
<<if _pResonance>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link "The resonance is echoing through every sleeping head in the house tonight...">><<set $restRecap.mandDone.resonance to true>><<set $beastEventReturn to true>><<set $viewPassage to "Ch2-EI-NSFW-ResonanceDream">><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
<<if _pRoute>>
<<for _re range _routeEvents>>
<<if not ($restRecap.mandDone[_re] or false)>>
<<capture _re>>
<div class="route-choice"><span class="delve-tag delve-tag-route">ROUTE</span> <<link setup.routeEventLabel(_re)>><<set $restRecap.mandDone[_re] to true>><<set $viewPassage to _re>><<goto "Ch2-Beast-EventView">><</link>></div>
<</capture>>
<</if>>
<</for>>
<</if>>
<<if _pKinkSpore>>
<<for _ksp range $restRecap.kinkSporePassages>>
<<if not ($restRecap.mandDone[_ksp] or false)>>
<<capture _ksp>>
<div class="event-choice"><span class="delve-tag delve-tag-event">EVENT</span> <<link setup.kinkSporeLabel(_ksp)>><<set $restRecap.mandDone[_ksp] to true>><<set $beastEventReturn to true>><<set $viewPassage to _ksp>><<goto "Ch2-Beast-EventView">><</link>></div>
<</capture>>
<</if>>
<</for>>
<</if>>
<<if _pSuspicion>>
<<for _sEvt range $restRecap.susEvents>>
<<if not ($restRecap.mandDone["sus_" + _sEvt.member] or false)>>
<<capture _sEvt>>
<<set _susLbl to _sEvt.member.toUpperFirst() + " has noticed something out of place">>
<div class="event-choice"><span class="delve-tag delve-tag-event">SUSPICION</span> <<link _susLbl>><<set $restRecap.mandDone["sus_" + _sEvt.member] to true>><<set $beastEventReturn to true>><<set $viewPassage to _sEvt.passage>><<goto "Ch2-Beast-EventView">><</link>></div>
<</capture>>
<</if>>
<</for>>
<</if>>
<<if _pMorning>>
<<set _infraMember to ["Karen", "Dale", "Jess", "Megan", "Ryan"][(($day or 1) - 1) % 5]>>
<<set _morLbl to "Watch the house wake, " + _infraMember + " this morning">>
<div class="event-choice"><span class="delve-tag delve-tag-event">MORNING</span> <<link _morLbl>><<set $restRecap.mandDone.morning to true>><<set $beastEventReturn to true>><<set $viewPassage to "Ch2-Infrastructure">><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
<<else>>
/* No mandatory events pending. Clear the return flag so optional links and the exit
navigate forward normally (no trampoline back here), then show optional actions + the way out. */
<<set $beastEventReturn to false>>
/* Host AP event — optional, awards adaptation points. One eligible at a time; routes
through Ch2-Beast-EventView (the scene sets its own flag + awards AP on include) and
stops being offered once its flag is set. */
<<if _apEventFired and _apEventPassage and setup.apEventLinks[_apEventPassage]>>
<<set _ap to setup.apEventLinks[_apEventPassage]>>
<<if not ($ch2Events[_ap.flag] or false)>>
<div class="host-choice"><span class="delve-tag delve-tag-host">HOST</span> <<link _ap.label>><<set $viewPassage to _apEventPassage>><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
<</if>>
/* Morning beat — once this member's beat has been seen at the current depth it is no longer
forced as a mandatory card; it becomes an optional re-watch here, like the host AP event. */
<<if $house.dayPhase is "day" and _infraSeenBefore and not ($restRecap.mandDone.morning or false)>>
<<set _morLblOpt to "Watch the house wake, " + ["Karen", "Dale", "Jess", "Megan", "Ryan"][(($day or 1) - 1) % 5] + " this morning">>
<div class="event-choice"><span class="delve-tag delve-tag-event">MORNING</span> <<link _morLblOpt>><<set $viewPassage to "Ch2-Infrastructure">><<goto "Ch2-Beast-EventView">><</link>></div>
<</if>>
/* Dale Cuckold NSFW (depends on Karen's stranger scenes) */
<<if $daleRoute is "cuckold" and $ch2Events.daleCuck3 and $house.dayPhase is "night">>
<<if $permanentDone.karenStranger1 and not $permanentDone.daleCuck1>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Dale hears sounds from upstairs... (2 biomass)" "Ch2-NSFW-Dale-Cuck1" 2>></div>
<<elseif $permanentDone.daleCuck1 and $permanentDone.karenStranger2 and not $permanentDone.daleCuck2>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Dale is in the hallway again... (2 biomass)" "Ch2-NSFW-Dale-Cuck2" 2>></div>
<<elseif $permanentDone.daleCuck2 and $permanentDone.karenStranger3 and not $permanentDone.daleCuck3NSFW>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Dale watches Karen bring someone home... (3 biomass)" "Ch2-NSFW-Dale-Cuck3" 3>></div>
<</if>>
<</if>>
/* Dale Kink conditioning, available after route phase 3 */
<<if not $kinks.dale and $house.dayPhase is "night">>
<<if $daleRoute is "cuckold" and $ch2Events.daleCuck3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen Dale's conditioning: shape the cuckold's desires (2 biomass)" "Ch2-Kink-Dale-Cuckold" 2>></div>
<<elseif $daleRoute is "oblivious" and $ch2Events.daleOb3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen Dale's conditioning: shape the sleeper's surrender (2 biomass)" "Ch2-Kink-Dale-Oblivious" 2>></div>
<</if>>
<</if>>
/* Dale Kink NSFW exploration, available after kink set + route NSFW completion */
<<if $house.dayPhase is "night">>
<<if $kinks.dale.includes("humiliation") and $permanentDone.daleCuck1 and not $permanentDone.kinkDaleHumiliation>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Dale positions himself to hear everything... (2 biomass)" "Ch2-NSFW-Dale-Humiliation" 2>></div>
<<elseif $kinks.dale.includes("chastity") and $permanentDone.daleCuck1 and not $permanentDone.kinkDaleChastity>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Dale hasn't touched himself in a week... (2 biomass)" "Ch2-NSFW-Dale-Chastity" 2>></div>
<<elseif $kinks.dale.includes("somnophilia") and $permanentDone.daleObliv2 and not $permanentDone.kinkDaleSomnophilia>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Dale's body is available... (2 biomass)" "Ch2-NSFW-Dale-Somnophilia" 2>></div>
<<elseif $kinks.dale.includes("helplessness") and $permanentDone.daleObliv2 and not $permanentDone.kinkDaleHelplessness>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Dale wakes momentarily... (2 biomass)" "Ch2-NSFW-Dale-Helplessness" 2>></div>
<</if>>
<</if>>
/* Way out: land on the floor the household is using this phase (ground floor in the
morning, upstairs at night) so the day/night loop closes on every route, whether or
not the symbiotic route is locked in yet. Symbiotic keeps a jump to the network hub,
a cat/dog host keeps house navigation, both as optional follow-ons. */
<<if $house.dayPhase is "day">>
<<link "Continue">><<set $beastEventReturn to false>><<goto "Ch2-GroundFloor">><</link>>
<<else>>
<<link "Continue">><<set $beastEventReturn to false>><<goto "Ch2-UpperHall">><</link>>
<</if>>
<<if $beastRoute is "symbiotic">>
<<link "Open network hub">><<set $beastEventReturn to false>><<goto "Ch2-Beast-NetworkHub">><</link>>
<<elseif $player.currentHost is "cat" or $player.currentHost is "dog">>
<<link "Explore as the host">><<set $beastEventReturn to false>><<goto "Ch2-Beast-Navigate">><</link>>
<</if>>
<</if>>
<</if>>/* Generic viewer for the lab/route events surfaced as mandatory cards on the morning
hub. Those scenes are inline-body passages with no navigation of their own, so the
card routes through here: render the chosen scene (it sets its own bg + flags on
include), then return to the hub. One return link serves all of them. */
<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<<if $viewPassage and Story.has($viewPassage)>><<include $viewPassage>><</if>>
/* Suspicion events: one-off, free, ability-gated chance to ease that member's suspicion.
Gated on the host adaptation that fits the scene. The link applies the reduction and
reveals a hidden beat (the parasite working the skill + the member easing down); the
card only surfaces once per firing, so the reduction is one-off. */
<<if $viewPassage and $viewPassage.indexOf("Ch2-Suspicion-") is 0>>
<<set _susM to ($viewPassage.split("-")[2] or "").toLowerCase()>>
<<switch _susM>>
<<case "karen">>
<<if ($adaptations.gecko and $adaptations.gecko.unlocked.includes("micro_spore")) or ($adaptations.rat and $adaptations.rat.unlocked.includes("sporocyst"))>>
<div class="bio-choice" id="susease-karen"><span class="delve-tag delve-tag-bio">SPORE</span> <<link "Bleed a calming spore into the kitchen air and let her vigilance sink (free)">><<addFamilySuspicion "karen" -2>><<run jQuery('#susease-karen').slideUp(160)>><<run jQuery('#susebeat-karen').slideDown(220)>><</link>></div>
<div id="susebeat-karen" style="display:none">
<<say "char-hivemind" "Hivemind">>
//Micro-spore into the return vent, a few parts per million, nothing her nose will ever flag. Her cortisol drops before the bowl is back on the floor.//
<</say>>
<<say "char-karen" "Karen">>
<i>(the urgency going out of her, almost puzzled at herself)</i> ...huh. You know what, never mind. I think I'm just tired.
<</say>>
<p><span class="consume-success">Karen suspicion -2.</span></p>
</div>
<</if>>
<<case "dale">>
<<if $adaptations.dog and ($adaptations.dog.unlocked.includes("intimidate") or $adaptations.dog.unlocked.includes("guard_instinct") or $adaptations.dog.unlocked.includes("alpha_howl"))>>
<div class="host-choice" id="susease-dale"><span class="delve-tag delve-tag-host">INTIMIDATE</span> <<link "Plant the dog in his way and growl him off it (free)">><<addFamilySuspicion "dale" -2>><<run jQuery('#susease-dale').slideUp(160)>><<run jQuery('#susebeat-dale').slideDown(220)>><</link>></div>
<div id="susebeat-dale" style="display:none">
<<say "char-hivemind" "Hivemind">>
//The dog reads the order off me and plants itself in the doorway, hackles up, making the low warning sound a tired man does not argue with at the end of a long night.//
<</say>>
<<say "char-dale" "Dale">>
<i>(stepping back, hands half up)</i> Okay. Okay, fine. Not tonight. Whatever it is, it can wait till morning.
<</say>>
<p><span class="consume-success">Dale suspicion -2.</span></p>
</div>
<</if>>
<<case "ryan">>
<<if $adaptations.gecko and ($adaptations.gecko.unlocked.includes("chameleon_skin") or $adaptations.gecko.unlocked.includes("camouflage"))>>
<div class="host-choice" id="susease-ryan"><span class="delve-tag delve-tag-host">CHAMELEON</span> <<link "Let Spike go still and ordinary until Ryan talks himself out of it (free)">><<addFamilySuspicion "ryan" -2>><<run jQuery('#susease-ryan').slideUp(160)>><<run jQuery('#susebeat-ryan').slideDown(220)>><</link>></div>
<div id="susebeat-ryan" style="display:none">
<<say "char-hivemind" "Hivemind">>
//I let the gecko go flat against the glass, grey and dull, a lizard doing nothing worth a single photo. The post has no payoff, so it has no point.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(thumb hovering over the half-typed draft, then deleting it)</i> ...nah. Forget it. He's just being weird. Lizards are weird, right.
<</say>>
<p><span class="consume-success">Ryan suspicion -2.</span></p>
</div>
<</if>>
<<case "jess">>
<<if $adaptations.cat and ($adaptations.cat.unlocked.includes("lap_purr") or $adaptations.cat.unlocked.includes("emotional_mirror"))>>
<div class="host-choice" id="susease-jess"><span class="delve-tag delve-tag-host">PURR</span> <<link "Fold the cat onto her desk, right over the thing she was studying (free)">><<addFamilySuspicion "jess" -2>><<run jQuery('#susease-jess').slideUp(160)>><<run jQuery('#susebeat-jess').slideDown(220)>><</link>></div>
<div id="susebeat-jess" style="display:none">
<<say "char-hivemind" "Hivemind">>
//The cat onto the desk, dead weight across the open page, the purr pitched at the one frequency an exhausted body cannot keep arguing with. The thread she was pulling goes slack in her hands.//
<</say>>
<<say "char-jess" "Jess">>
<i>(half a reluctant smile, scratching the cat behind one ear)</i> ...okay. Okay, you win. Five minutes, and then I'm back to it.
<</say>>
<p><span class="consume-success">Jess suspicion -2.</span></p>
</div>
<</if>>
<<case "megan">>
<<if $adaptations.cat and ($adaptations.cat.unlocked.includes("pheromone_coat") or $adaptations.cat.unlocked.includes("emotional_mirror"))>>
<div class="bio-choice" id="susease-megan"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Wind the cat around her ankles and leave a coat of calm she breathes in without noticing (free)">><<addFamilySuspicion "megan" -2>><<run jQuery('#susease-megan').slideUp(160)>><<run jQuery('#susebeat-megan').slideDown(220)>><</link>></div>
<div id="susebeat-megan" style="display:none">
<<say "char-hivemind" "Hivemind">>
//The cat lays a coat of it down her shins, an all-clear written in a language older than worry. She breathes it in and forgets she was holding her breath.//
<</say>>
<<say "char-megan" "Megan">>
<i>(exhaling, the easy smile finding its way back)</i> ...god, listen to me. It's nothing. I just need some sleep, that's all.
<</say>>
<p><span class="consume-success">Megan suspicion -2.</span></p>
</div>
<</if>>
<</switch>>
<</if>>
[[Continue->Ch2-Beast-Rest]]/* Morning beat, included on every morning hub render (day phase). Parasite-POV snapshot
of ONE household member, rotating by day so a different member surfaces each morning,
and deepening by setup.getHouseTier() (1/2/3) as the infestation takes hold.
Rotation index _infraIdx: 0 Karen / 1 Dale / 2 Jess / 3 Megan / 4 Ryan.
TIER 1 and TIER 2 are written for all five. There is no separate TIER 3 beat set:
once the house reaches tier 2 the TIER 2 vignette fires for tier 2 and tier 3 alike. */
<<set _infraIdx to (($day or 1) - 1) % 5>>
<<set _infraTier to setup.getHouseTier()>>
<<set _infraNames to ["Karen", "Dale", "Jess", "Megan", "Ryan"]>>
/* Mark this member's morning beat (keyed by content depth: tier 1 vs tier 2+) as seen,
so the hub stops forcing it as a mandatory card and offers it as an optional re-watch. */
<<if not $ch2Events.infraSeen>><<set $ch2Events.infraSeen to {}>><</if>>
<<set $ch2Events.infraSeen[((_infraTier lte 1) ? 1 : 2) + "_" + _infraIdx] to true>>
<div class="passage-title"><<= _infraNames[_infraIdx]>>'s Morning</div>
<<if _infraTier lte 1>>
<<if _infraIdx is 0>>
<p>Karen is first, the way she is always first. Her alarm does not finish its first cycle before her feet are on the floor, and she stands a moment in the dark with her head tilted, listening to a house that gives her nothing back. You hold very still in the walls while she does it, because she is the one who would feel you if anyone would. Then the routine takes her: the glasses found by touch on the nightstand, the stairs taken on their outer edges where they do not creak, the coffee started before the light reaches the kitchen.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen.webp" alt="A woman in her early forties with shoulder-length black hair and reading glasses pushed up into it, alone at a dim kitchen counter before dawn, a coffee mug in one hand and a pen in the other tapping beside an open laptop.">
<p>She sets the laptop on the counter and opens it to the spreadsheet she had up last night, and the morning becomes a list spoken half-aloud to nobody, the way it always does.</p>
<<say "char-karen" "Karen">>
<i>(under her breath, scrolling, the pen tapping the counter)</i> Gutters before it rains. Push the car payment to the last day it'll take. Jess's deposit... the deposit is its own problem, leave the deposit. Bread, eggs, the thing for Megan's work shoes.
<</say>>
<p>Megan comes down in the middle of it, quiet, splits the coffee and leaves Karen the strong half, and Karen says something short and warm to her without quite lifting her eyes from the screen. Then the door, and she is alone with the list again, and she goes back to the top of it and starts the count over.</p>
<<say "char-hivemind" "Hivemind">>
//She counts the house every morning before she counts anything else. The doors, the children, the money, in that order, every dawn, and nothing on the list ever gets shorter.// Nothing missing. Nothing moved. //I make very sure there is nothing for her to find, because she is the one wall in this house still standing watch, and she does it before she is even awake.//
<</say>>
<<elseif _infraIdx is 1>>
<p>Dale comes home as the others wake, which is its own kind of invisibility. The truck in the drive with the engine ticking as it cools, the porch light killed, the key that always sticks and the shoulder-shove that always frees it. He brings the night in with him on his clothes, the flat chemical smell of the BioGenesis corridors, and he hangs the security jacket over the back of the same chair it lives on and does not climb the stairs. He never climbs the stairs anymore. He folds onto the couch with his boots still half-laced and the morning closing over him like water.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-dale.webp" alt="A tired man in his mid-forties with thinning dark brown hair and grey stubble, slumped on a living-room couch at dawn in a grey BioGenesis Security uniform shirt with his boots still half-laced, eyes closing, a golden retriever settling on the floor against the couch.">
<p>Karen passes through with her coffee. They have a version of a conversation that has been worn down to almost nothing.</p>
<<say "char-karen" "Karen">>
<i>(not unkind, just tired in a matched, parallel way)</i> Quiet night?
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes already closed, the words coming up from somewhere slow and deep)</i> Quiet night. Camera six is still cutting out. Told them again.
<</say>>
<<say "char-karen" "Karen">>
Gutters today, if you're up before your shift.
<</say>>
<<say "char-dale" "Dale">>
...yeah. I'll get to it.
<</say>>
<p>He is asleep before she reaches the kitchen, one arm hung off the couch, the dog settling onto the floor against his ribs. The house rearranges itself around the fact of him the way it rearranges around furniture.</p>
<<say "char-hivemind" "Hivemind">>
//He guards a laboratory all night and then sleeps through the one thing in this house that should be guarded against. The symmetry is not lost on me.// He will say he will get to the gutters, and he will mean it, and he will not, and no one here has the energy left to be angry about it anymore. //That is the kind of tired I can work in.//
<</say>>
<<elseif _infraIdx is 2>>
<p>Jess wakes late, the way she wakes late every morning she has somewhere to be, the alarm snoozed down to the last possible minute and then the flurry. One shoe found, the other shoe hunted, a travel mug filled too fast and capped crooked so it dribbles down her wrist. She comes through the kitchen like weather, loud and fast and already half gone, a granola bar clamped in her teeth and her hair scraped back wet.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-jess.webp" alt="A twenty-one-year-old pre-med student with dark brown hair scraped back still damp and tired shadows under her eyes, mid-rush in a bright morning kitchen, a backpack on one shoulder, a granola bar in her teeth and a travel coffee mug capped crooked, caught mid-stride toward the door.">
<<say "char-karen" "Karen">>
<i>(intercepting, holding out the wrapper Jess dropped)</i> That is not breakfast. Did you sleep at all?
<</say>>
<<say "char-jess" "Jess">>
<i>(around the bar, already pulling her bag onto one shoulder)</i> I slept. I slept like four hours, it's fine, I've got anatomy at nine and the practical's coming and four hours is plenty if it's good four hours.
<</say>>
<<say "char-karen" "Karen">>
Jess. Did the tuition deposit go through? Did you check the portal?
<</say>>
<<say "char-jess" "Jess">>
<i>(a half-second too long before she answers, the door already open)</i> It's handled, Mom. I checked. I have to run, the bus.
<</say>>
<p>And she is out, the screen door clapping once behind her, and Karen stands holding the dropped wrapper and looking at the door a moment longer than the moment needs.</p>
<<say "char-hivemind" "Hivemind">>
//The young one runs late and runs loud, and there is never any attention left over for the walls. The easiest door in the house, and she holds it open herself.// She lied about the deposit just now, smoothly, and her mother knew, and neither of them had the time to make it a thing. //There is a great deal moving through this girl that no one here has the time to catch.//
<</say>>
<<elseif _infraIdx is 3>>
<p>Megan is up before the house, which surprised you the first time you watched it. The early shifts have trained the quiet into her: she dresses in the dark by the light of her phone so the closet bulb wakes no one, ties her wet hair up without the mirror, and goes downstairs on the sides of the steps the way her mother does without ever having been taught it. In the kitchen she splits the last of the coffee, half into her travel cup and half left in the pot with the warmer still on, because Karen will be down soon and Karen takes it black and reheated.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-megan.webp" alt="A nineteen-year-old with brown hair tied up still damp, in a coffee-shop work polo, pouring coffee in a dim kitchen before dawn, a slice of bread wrapped in a napkin in her other hand, moving quietly so as not to wake anyone.">
<p>Karen is already down, as it turns out, at the counter with her laptop and her glasses pushed up into her hair.</p>
<<say "char-karen" "Karen">>
<i>(not looking up from the screen)</i> You're on the early one again. That's a lot of them lately.
<</say>>
<<say "char-megan" "Megan">>
<i>(wrapping the bread, light, practised)</i> Marcus called in, so I said I'd open. It's fine, Mom, I like the quiet ones. Nobody's awful before nine.
<</say>>
<<say "char-karen" "Karen">>
<i>(a pause, the line softening a degree it almost never softens)</i> Eat something that isn't bread. And text me when you're on the bus.
<</say>>
<<say "char-megan" "Megan">>
On it. Coffee's in the pot, I left you the strong half.
<</say>>
<p>And she is gone, the door eased shut behind her so softly the latch barely speaks, out into the grey with the napkin in one hand and the wet hair going cold at the back of her neck.</p>
<<say "char-hivemind" "Hivemind">>
//First up, first gone, careful with everyone's sleep but her own. She left the strong half of the coffee for her mother and closed the door without a sound, and that is the whole of her: every bit of the care points outward.// She guards the household's comfort. It has not once occurred to her to guard the household.
<</say>>
<<else>>
<p>Ryan is the last to surface, if surfacing is even the word. The screen-glow under his door went dark only a few hours ago, and the shape under the duvet now is something the morning will have to fight for and lose. On the desk the heat lamp ticks over the terrarium, where the gecko is already awake the way cold-blooded things are always awake, watching the room with one lidless eye, waiting on a boy who will not stir for hours.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-ryan.webp" alt="A teenage boy's dark bedroom mid-morning, blackout curtains leaking thin daylight at the edges, dual monitors dark on a cluttered desk, a lump under a rumpled duvet, and a glowing glass terrarium where a small gecko is awake on its basking rock.">
<p>Karen knocks once on her way past, soft, the knock of someone who has stopped expecting an answer.</p>
<<say "char-karen" "Karen">>
<i>(through the door, low, not waiting for a reply)</i> Ryan. It's morning. There's food if you want it.
<</say>>
<p>Nothing comes back but the small electronic sounds of a computer left running and the faint rhythm of his breathing. She stands at the door a second with her hand flat against it, then takes the hand back and goes downstairs, and that is the whole exchange, the most of him the morning will get.</p>
<<say "char-hivemind" "Hivemind">>
//The boy lives at night, and a household has no better blind spot than someone who sleeps through its mornings. Slowest to wake. Slowest to wonder.// His mother knocks on a closed door every morning and tells it there is food, and every morning the door tells her nothing, and she has taught herself to live on that nothing. //With this one I have all the time I want, and a mother who has already trained herself not to look too hard.//
<</say>>
<</if>>
<<else>>
/* TIER 2 morning beats, one per member, fired for any house tier >= 2 (tier 3 reuses
these rather than a separate stub set). Same rotation index. */
<<if _infraIdx is 0>>
<<set $ch2Events.karenMorningT2Seen to true>>
<p>The doorbell goes while Karen is at the counter in nothing but her short robe, coffee in one hand and Dale's lunch half-built on the cutting board beside her, and she crosses to answer it without tightening the belt, because she has stopped doing a lot of things before she does them.</p>
<p>The mailman is young, a parcel held out with a clipboard balanced on top, and his eyes drop to the gap in the robe and climb back up a half-second too slow.</p>
<<say "char-karen" "Karen">>
<i>(signing without looking at the clipboard)</i> For me? Good, I've been waiting on this one.
<</say>>
<p>She splits the tape on the threshold, peels the paper back, and lifts the contents up into the morning light, a thick candy-pink silicone dildo still sealed in its blister pack, and turns it over to read the box like a grocery label while he stands there holding his clipboard.</p>
<<say "char-karen" "Karen">>
<i>(turning it to the light, unbothered)</i> Hm. Bigger than the photo. They always undersell it online, you would think they'd have learned to do it the other way around.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-door.webp" alt="Karen in a short bathrobe hanging open with her bare breasts clearly visible, standing in her doorway in the morning light, holding up a boxed dildo and reading the label, a young uniformed mailman on the step holding a clipboard and a parcel">
<p>The mailman makes a strangled sound and shifts his weight, and that is when she sees it, the front of his uniform trousers tented tight, the helpless arithmetic of a young man who rang a doorbell and got a woman in a falling-open robe holding a sex toy up to the sun. Her mouth curves.</p>
<<say "char-karen" "Karen">>
<i>(eyes flicking down and back up, mock-contrite)</i> Oh. Oh, that's me, isn't it. I opened the door like this and just did that to you. <i>(not sounding remotely sorry)</i> I'm so sorry. I forget I can still do that to a man.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is sorry for none of it. Forty-three years old, and the part of her that has spent a long time being a schedule and a thermostat and a shut bedroom door has just learned it can still stop a stranger dead in a doorway, and the discovery goes to her head like the first drink after a dry stretch.//
<</say>>
<<say "char-karen" "Karen">>
<i>(stepping back, holding the door wide)</i> Come inside a second. I can't send you back to the truck like that, it would be cruel. Let me apologise properly.
<</say>>
<p>He comes in, because of course he comes in, and she walks him backward to the counter beside Dale's half-made lunch, hooks two fingers into his waistband, and frees him into the cool kitchen air, hard enough to ache and already leaking.</p>
<<say "char-karen" "Karen">>
<i>(taking him in hand, slow and certain)</i> There. That's better. You poor thing, out walking the whole route like this. We'll sort it out.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-handjob.webp" alt="POV looking down at Karen in an open robe with her breasts bare, both hands wrapped around the viewer's erect cock as she jerks him off and looks up, the opened dildo box and a half-made sandwich on the cutting board behind her, kitchen morning light">
<p>She works him with the same unhurried competence she brings to everything, a steady wrist and a thumb dragged over the head on the upstroke, her robe hanging open and her coffee going cold behind her while he braces both hands on the laminate and tries not to make noise.</p>
<<if $daleRoute is "cuckold">>
<p>The door from the garage eases open. Dale, home off the night shift, two steps into his own kitchen before his eyes catch up with him, and then he stops dead. He doesn't speak. He doesn't leave either. He backs against the half-open door until only a sliver of him shows, and from the gap comes the small furtive sound of a belt and a hand, a man who can't watch this and can't make himself stop.</p>
<<say "char-hivemind" "Hivemind">>
//Karen always notices. She has tracked every entrance to this house for two decades. She sees the sliver of her husband behind the door and the motion of his arm, and she decides in the space of one breath to see nothing at all, and to make very sure he hears every word.//
<</say>>
<<say "char-karen-thought" "Karen">>
...well. Look who crept home. Two steps into his own kitchen and he can't make a sound, can't come in, can't leave. He never can. So let him stand there and listen.
<</say>>
<<say "char-karen" "Karen">>
<i>(louder now, to the mailman, not once glancing at the door)</i> God, look at the //size// of this. Do you know I'm married? Twenty years. And I have not had something this hard in my hand in longer than I can stand to think about, because the thing I married went soft on me before either of us hit forty and never once tried to fix it.
<</say>>
<<say "char-karen" "Karen">>
<i>(stroking faster, voice carrying to the gap in the door)</i> Soft little man. Soft in the hand, soft in the head, the kind who hides in a doorway and touches himself because that is as close to the action as he gets anymore. You delivered my post and you are already more of a man than he has managed to be since the children were born. He should be taking notes.
<</say>>
<<say "char-npc" "Mailman">>
<i>(strangled, hips jerking into her fist)</i> Ma'am, I, oh god,
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb working the head, eyes bright, pitched for the door)</i> Don't you ma'am me, just feel that. A real one, in a real woman's hand, in the kitchen he pays half the mortgage on. Take your time with it, make it last. I'm in no hurry, and the help behind the door can wait all morning.
<</say>>
<p>The mailman breaks with a choked groan, and Karen, who never stopped reading the room, aims him down over the bread she has laid out on the board for Dale's sandwich, and milks every pulse of it out across the loaf while she keeps her wrist moving.</p>
<video class="scene-video" src="media/video/morning-karen-t2-handjob.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-karen-t2-handjob.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-sandwich.webp" alt="Karen in the kitchen calmly wrapping a packed lunch sandwich in wax paper on the cutting board, a brown paper lunch bag beside it, morning light">
<<say "char-karen" "Karen">>
<i>(folding the bread over it, wrapping it neat, sweetly toward the door)</i> There. Waste not. He'll eat every bite at his break and text me it was a good sandwich, because it is the most of a real man he has had anywhere near this marriage in years.
<</say>>
<p>The mailman tucks himself away and lets himself out the front, and only then does Dale edge out from behind the door, spent and not meeting her eyes, and she catches him by the counter and presses the wrapped lunch into his hands.</p>
<<say "char-karen" "Karen">>
<i>(patting the parcel flat into his palms, perfectly pleasant)</i> Your lunch. It's got extra mayo today, I picked up a new brand. You'll have to tell me how you like it.
<</say>>
<<say "char-dale" "Dale">>
<i>(taking it, throat working, barely audible)</i> ...thank you, Karen.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Behind the door the small sound stutters, finishes, goes still. He came to the sound of his wife gutting him in front of a stranger, and tomorrow he will eat the proof of it folded into white bread and thank her for it. The cuckold wiring does not flinch from the humiliation. It runs on it, and she has learned exactly how loud to be.//
<</say>>
<<else>>
<p>The door from the garage opens, and Dale, home off the night shift, walks straight into his own kitchen, past his wife with her fist around a stranger's cock, and makes for the coffee pot like it is any other morning.</p>
<<say "char-dale" "Dale">>
<i>(a tired nod at the mailman, reaching for a mug)</i> Morning.
<</say>>
<<say "char-npc" "Mailman">>
<i>(frozen, eyes darting between Karen and Dale)</i> ...uh. M-morning. Sir.
<</say>>
<p>Dale pours, adds the milk, stirs, and leans against the far counter scrolling his phone, and not once does his gaze snag on the thing happening three feet from him. The mailman stares at him the way you would stare at a man calmly ignoring a house fire.</p>
<<say "char-karen" "Karen">>
<i>(never breaking rhythm, dry)</i> Don't mind my husband. Honestly, I don't think he cares about me anymore, one way or the other. Eyes back on me. We were busy.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is no wall left in him to climb. The conditioning did not turn his jealousy into anything, it simply hollowed out the place the alarm used to live, and now a stranger in his kitchen with a hand on his wife reads to him as weather. He genuinely does not see it. He is the more frightening of the two.//
<</say>>
<p>The mailman breaks with a choked groan, and Karen aims him down over the bread laid out on the board for Dale's sandwich, and milks every pulse of it out across the loaf while Dale stirs his coffee six feet away and reads something on his phone.</p>
<video class="scene-video" src="media/video/morning-karen-t2-handjob.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-karen-t2-handjob.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-sandwich.webp" alt="Karen in the kitchen calmly wrapping a packed lunch sandwich in wax paper on the cutting board, a brown paper lunch bag beside it, morning light">
<<say "char-karen" "Karen">>
<i>(folding the bread over, wrapping it, brisk)</i> There we are. <i>(calling over, light)</i> Dale, your lunch is on the side, don't go off and forget it like last time. Oh, and it's got extra mayo today, I picked up a new brand. Tell me what you think.
<</say>>
<<say "char-dale" "Dale">>
<i>(not looking up from his phone)</i> Thanks, hon. Will do.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He will eat it at noon without a second thought and it will sit fine with him, because nothing reaches him anymore. She did not need to lower her voice once. There was no one left in the room to hide it from.//
<</say>>
<</if>>
<<elseif _infraIdx is 1>>
<<set _meganMan to ($meganRoute is "marcus")>>
<p>Dale comes home late, well past the dead hour, the dash clock reading a little after seven by the time the truck rolls up the street. He pulled two extra at the gate because the relief called in and somebody had to mind the doors, and the tiredness has gone somewhere past what sleep will fix. He is almost at the drive when he sees Megan out on the kerb in her work polo, up on her toes, watching the bus pull off from the stop without her.</p>
<<say "char-megan" "Megan">>
<i>(to the empty stop, dragging a hand down her face)</i> No. No, no, I was right //there//, come on...
<</say>>
<p>He rolls the window down. It is less a thing he decides than a thing twenty years of being her father does for him.</p>
<<say "char-dale" "Dale">>
<i>(leaning across, the engine still running)</i> Hop in. I'll run you over. Ten minutes, I'm already moving.
<</say>>
<<say "char-megan" "Megan">>
<i>(already coming round the front of the truck, relief with something quicker under it)</i> You're a lifesaver. Seriously, Dad. I open in like fifteen and Marcus will have my head.
<</say>>
<p>She climbs up into the cab and he pulls back out, and the ten minutes go the way they always go with the two of them, easy and half-quiet, the radio low and her thumbs moving on her phone while he drives with the heaviness of a man who should already be asleep. He does not mind the detour, he never has, because it is the one stretch of the day that still holds the old shape of things, from before the house got so quiet.</p>
<p>He pulls up outside the coffee shop in the grey early light, the OPEN sign still dark, and she has her bag on her shoulder and the door half open before the truck has fully stopped.</p>
<<say "char-megan" "Megan">>
<i>(hopping down, quick, warm)</i> You're the best, I owe you one. Go get some sleep, okay? Love you. Drive safe.
<</say>>
<p>He means to pull away. He should. But the engine idles and he watches her cross the lot, because seeing his kid safe to a door is older in him than any tiredness.</p>
<<if _meganMan>>
<p>Marcus is out front already, propped by the side door with two cups, and the way Megan goes to him is not the way you go to a coworker. She is into his space before she has stopped walking, a hand flat on his chest, her face tipped up.</p>
<<say "char-megan" "Megan">>
<i>(laughing, forehead dropping to his shoulder)</i> Don't start, the bus left early, the bus is a liar and a coward. Cover me for five minutes and I'll make it up to you, you know I will.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(setting the cups on the sill, hands finding her hips)</i> Five. Then you're actually opening, I'm not running the till twice because you can't keep your hands to yourself.
<</say>>
<p>He walks her round the corner into the service alley, grinning, and she goes laughing, letting herself be towed.</p>
<<else>>
<p>There is a man waiting by the side door who is not staff, a customer in a gym jacket with a paper cup he has not touched, and the moment Megan reaches him she is closer than a stranger has any business being, a hand flat on his chest, her face tipped up.</p>
<<say "char-megan" "Megan">>
<i>(low, laughing, eyes already cutting toward the alley)</i> You actually waited. That's either really sweet or really bad of you, and I haven't decided which. We have to be quick, I'm already late to open.
<</say>>
<<say "char-npc" "Customer">>
<i>(hand sliding to the small of her back)</i> Quick's fine. Round the side, before someone shows up?
<</say>>
<p>He walks her round the corner into the service alley, grinning, and she goes laughing, letting herself be towed.</p>
<</if>>
<p>From the cab it reads as horseplay, a girl and a boy messing about before a shift.</p>
<<if $daleRoute is "cuckold">>
<<say "char-dale" "Dale">>
<i>(to himself, slow, a frown he can't account for)</i> ...real friendly, <<if _meganMan>>her and that Marcus<<else>>her and some fella she doesn't even know<</if>>. ...huh. Should bother me more than it does. It doesn't.
<</say>>
<<elseif $daleRoute is "oblivious">>
<<say "char-dale" "Dale">>
<i>(to himself, easy, settling back into the seat)</i> ...good for her. <<if _meganMan>>That Marcus is a good kid.<<else>>Friendly thing, always has been with everybody.<</if>> Should lark about a bit before work while she still can.
<</say>>
<</if>>
<p>It reads that way right up until it does not.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-truck-megan-alley.webp" alt="Seen from inside a parked pickup truck at dawn, a tired middle-aged man in a grey security uniform sits in the driver's seat with his hands on the wheel, looking through the windshield toward a young woman in a coffee-shop polo being led by the arm around the corner into a narrow brick service alley beside a closed coffee shop, overcast early light, long shadows">
<p>Dale sits with his hands on the wheel a moment longer than makes any sense. Then he kills the engine and gets down out of the cab, slow, his knees telling him all about the double shift, and crosses the empty lot toward the mouth of the alley, because something in the way she went is snagging at him and will not come loose.</p>
<p>He comes up the alley the quiet way the job has taught him to come up on things, and stops at the corner of a dumpster where the brick hides most of him. Twenty feet on, in the grey slot between two buildings, Megan is down on her knees on the wet concrete.</p>
<<if _meganMan>>
<p>Marcus has his back to the wall and his apron still half-tied, both hands buried in her brown hair, and Megan has his cock in her mouth, taking him deep and easy with the rhythm of a girl who has done exactly this in exactly this spot more than once.</p>
<<else>>
<p>The man has his back to the wall and his jacket still zipped, one hand fisted in her brown hair, and Megan has his cock in her mouth, taking him deep and easy with the rhythm of a girl who has done exactly this with men she met an hour ago more than once.</p>
<</if>>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-alley-bj.webp"><source src="media/video/megan-alley-bj.webm" type="video/webm"></video>
<<say "char-megan" "Megan">>
<i>(pulling off for a wet breath, looking up, her hand still working him)</i> Mmh. We've got five minutes, so don't make me earn it... <i>(taking him back in)</i> mmh.
<</say>>
<<if _meganMan>>
<<say "char-marcus" "Marcus">>
<i>(a hand guiding her head, grinning down at her)</i> Then stop talking. You're the one who hauled me back here.
<</say>>
<<else>>
<<say "char-npc" "Customer">>
<i>(fist tightening in her hair, low)</i> Five minutes is plenty for a mouth like that.
<</say>>
<</if>>
<p>She goes back down to the root, and the alley fills with the wet working sound of it, her throat catching each time she sinks, spit slicking him and stringing off her chin.</p>
<<say "char-megan" "Megan">>
<i>(muffled, throat full, eyes turned up at him)</i> Gwak. //Gwak.// Glnk... mmh... gwak.
<</say>>
<p>She pulls off with a gasp and a long string of spit and works him fast in her fist, her voice going low and filthy, a voice she keeps well away from any room her mother might be in.</p>
<<say "char-megan" "Megan">>
<i>(jerking him, looking up, grinning)</i> Yeah, boy, give it to me. Come on, you're right there, I can feel it. Give it to me.
<</say>>
<<if not _meganMan>>
<<say "char-npc" "Customer">>
<i>(hips stuttering, breath gone)</i> I'm gonna, I'm gonna... can I, on your face, let me do it on your face...
<</say>>
<<say "char-megan" "Megan">>
<i>(hand never slowing, brisk and sweet as if she were reading back a coffee order)</i> Facial's twenty on top, hon. Cash, up front. You didn't pay for the package, so that's a no. Should've sorted that out before you got this close.
<</say>>
<p>He breaks anyway, because there is nothing else to be done about it, and at the last second she aims him down and away so he spends himself in long ropes across the wet concrete between her knees instead of where he begged to, and she works the last of it out of him with two unbothered strokes and lets go.</p>
<<say "char-megan" "Megan">>
<i>(wiping her hand on the hem of his jacket, rising off her knees)</i> There you go. You get what you pay for, sweetheart. Bring cash next time and we'll talk.
<</say>>
<<else>>
<<say "char-marcus" "Marcus">>
<i>(both hands fisting in her hair, breath ragged)</i> Megan, that's it, I'm there, I'm there...
<</say>>
<p>She takes him back to the root for the last of it and he finishes down her throat with a strangled sound, and she rides every pulse of it and swallows with her eyes shut, the way she has worked out he likes, before she sits back on her heels and licks the corner of her mouth clean.</p>
<</if>>
<<if $daleRoute is "cuckold">>
<<set $ch2Events.daleCuckMorningSeen to true>><<set $ch2Events.daleMorningT2Seen to true>>
<p>Dale should turn around. The man who walked into this alley a minute ago would have. Instead he stays pressed to the brick with his pulse going and a heat coming up in him that is not anger, the heat that used to be anger before the wiring got turned inside out, and his hand is at his belt before he has told it to be.</p>
<<say "char-dale-thought" "Dale">>
<i>(thick, ashamed of it and not stopping)</i> ...I should not be... God, that's my girl, I should not be hard for this, and I am, I am, I can't even make myself want to stop...
<</say>>
<p>He works himself in his fist in the cover of the dumpster, slow and rough and silent, has been since she first went down on her knees, watching his daughter run a man down to nothing, and he goes over the same moment the other man does, into his own hand, the sound bitten back hard behind his teeth.</p>
<<say "char-hivemind" "Hivemind">>
//The jealousy went the same place it went with his wife. Not out. Inward, repointed. He guards a stranger's building all night and comes home to the last thing on earth he should want, and the body wants it anyway. He will never name what he did behind that dumpster. He will only notice he feels lighter walking back to the truck.//
<</say>>
<p>He tucks himself away with his hands not quite steady and backs out of the alley the way he came in, gone before she ever looks his way, and he is pulling away from the kerb by the time she is back on her feet and wiping her mouth. He drives home easy. He could not tell you why.</p>
<<elseif $daleRoute is "oblivious">>
<<set $ch2Events.daleOblivMorningSeen to true>><<set $ch2Events.daleMorningT2Seen to true>>
<p>Dale stands at the corner of the dumpster and his mind goes to work the patient way it has learned to, reaching for the shape of a thing that makes sense and closing on nothing, because what is in front of him will not go into any of the boxes he keeps.</p>
<<say "char-dale-thought" "Dale">>
<i>(slow, honestly working at it, getting it wrong)</i> ...is she checking him for something, down there, is that a... that's a nurse thing. No. No, the nurse is the other one, that's Jess, she does the medical side... or does she. Megan's the coffee one. So what's she...
<</say>>
<p>He watches the man's hand twist in her hair and her head keep moving and he cannot make the picture come clear, the soft work in his head sanding every edge off it before it can reach the part of him that would understand. When it is over, when the man is doing his jeans back up and Megan is getting up off her knees, Dale steps forward into the mouth of the alley, because she is his girl and he is going to be sure she is alright.</p>
<<say "char-dale" "Dale">>
<i>(stepping in, warm, faintly puzzled)</i> Meg? Everything alright back here, sweetheart?
<</say>>
<p>Megan does not jump. Once she might have. She turns with the easy brightness she keeps for every customer before nine, and the man behind her is already zipping up and drifting off toward the street.</p>
<<if _meganMan>>
<<say "char-megan" "Megan">>
<i>(cheerful, wiping the corner of her mouth, closing the gap so he won't look past her)</i> Dad, hi, God, you scared me. It's nothing, Marcus was letting me try something before we open. You know I never eat first thing, and I was //starving//, so... <i>(a quick laugh)</i> bad breakfast, big appetite. Don't tell Mom I skipped again.
<</say>>
<<say "char-dale" "Dale">>
<i>(the frown clearing, relieved to have a shape for it)</i> ...ha. That's my girl. Eat a real one tomorrow, would you. And text your mother when you're on.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She handed him a story with a hole in the middle and he poured himself into the hole, grateful for it. He watched a man finish in his daughter's mouth, heard "I was hungry," and took the second one, because the soft reading is the only one his eyes will carry now. What she swallowed was protein. That part he has right. Everything else he has wrong, and he will drive home content.//
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(cheerful, brushing off her knees, closing the gap so he won't look past her)</i> Dad, hi, God, you scared me. It's fine, he's a regular, he got a bit much about his order so I walked him out back to cool off and sent him on his way. Some people before coffee, honestly. Don't tell Mom, she'll only fuss.
<</say>>
<<say "char-dale" "Dale">>
<i>(the frown clearing, relieved to have a shape for it)</i> ...good girl. You shouldn't have to handle the difficult ones on your own. Text your mother when you're on, alright.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She gave him a story about a rude customer and he took it whole, because the soft reading is the only one his eyes will carry now. There is a man's mess drying on the concrete a stride from his shoe, and he will not look at it, cannot look at it, the conditioning has already decided where his eyes are allowed to land. He drives home content, proud of her for handling the difficult ones.//
<</say>>
<</if>>
<p>He gives her shoulder a squeeze and goes back to the truck. Megan watches the tail-lights to the corner, then lets the brightness fall off her face and gets back to her morning.</p>
<</if>>
<<elseif _infraIdx is 2>>
<<if $jessRoute is "punk">>
<<set $ch2Events.jessPunkMorningSeen to true>>
<p>A little after nine, and Jess is out on the front steps in a cut-off band tee and black underwear and nothing else, bare legs stretched down the boards, a cigarette burning slow between two fingers. The morning sun is on skin the old Jess kept covered to the wrist, and the purple in her hair is loud in the daylight. She is not hiding on the steps. She picked the steps.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-porch-punk.webp" alt="A 21 year old woman with long purple and black dyed hair sitting on a suburban front-porch step in the morning, in a cropped black band t-shirt and black underwear, bare legs stretched out, a cigarette between two fingers, relaxed and defiant, a tidy flower bed beyond a low hedge to one side">
<p>Across the low hedge that marks the property line, Doris Henderson is out with her watering can, tending the show flowers she enters in the county fair every summer. She clocks Jess on the steps, and the watering can stops in the air.</p>
<<say "char-henderson" "Doris">>
<i>(over the hedge, scandalised, the can clutched to her chest)</i> ...Jessica. Jessica Hoffman. It is //nine o'clock in the morning//. There are //families// on this street, there are //children// who walk this sidewalk to the bus. Have you no decency at all, sitting out in the open like, like //that//, with everything just //out// for the whole street to look at?
<</say>>
<p>Jess looks at her over the cigarette. She has not slept much and she has no patience left this morning, not for the watering can, not for the word //decency//, not for a woman who reports the Hoffman recycling to the county.</p>
<<say "char-jess" "Jess">>
<i>(flat, not moving)</i> Then don't look, Doris.
<</say>>
<p>And because the woman keeps looking, because the scandalised face over the hedge is the most entertaining thing that has happened before noon in weeks, Jess does the thing that ends the conversation on her terms. She sets the cigarette down on the step, holds Doris's eyes, hooks her thumb into the waistband of her underwear, and slides her hand down in plain sight.</p>
<<say "char-henderson" "Doris">>
<i>(voice climbing toward a shriek, free hand flying to her chest)</i> What, what are you, you //stop that//, you stop that right now, I am going to call your mother, I am going to call her this //instant//, I have her number...
<</say>>
<<say "char-jess" "Jess">>
<i>(working herself slow, bored and merciless, eyes never leaving her)</i> Call her. She won't pick up, she's working, unlike you. You've been wanting an excuse to dial that number all summer. <i>(a slow exhale)</i> You've had your face at that window your whole life, Doris, watching everybody else's house, because there is nothing happening in yours.
<</say>>
<<say "char-henderson" "Doris">>
<i>(sputtering, scandalised past sense)</i> How, how //dare//, I have a //family//, I have raised //decent children//, which is a great deal more than that mother of yours...
<</say>>
<<say "char-jess" "Jess">>
<i>(two fingers working, lazy, smiling at the interruption)</i> Your decent children. I go to State too, Doris. Everyone knows your Bryce. <i>(tilts her head)</i> Trust me, it is not for the football. And Ashley got as far from this porch as the application would take her, same as he did, and neither of them is ever moving back, and somewhere under the hairspray you already know exactly why.
<</say>>
<p>Two fingers, bare, circling her clit in unhurried little passes, her wetness coming easy because the woman's outrage runs straight to her body now, every horrified syllable over the hedge another finger of fuel. Doris's face goes from pink to a blotchy red, her chest heaving.</p>
<<say "char-henderson" "Doris">>
<i>(shaking, reaching for the only weapon she has left)</i> You are //sick//. You are a sick, godless girl and I will //pray// for you, I will pray for your //soul//, the Lord sees what you are, He sees //everything//...
<</say>>
<<say "char-jess" "Jess">>
<i>(grin sharpening, fingers working faster)</i> Yeah? Let Him watch too, then. <i>(a low laugh)</i> When is the last time Gerald looked at you the way you are looking at me right now, Doris. You can't even remember. You're out here policing a teenager's underwear because you forgot what yours was ever for.
<</say>>
<<say "char-henderson" "Doris">>
<i>(a strangled, wordless sound of pure scandal)</i> ...!
<</say>>
<<say "char-jess" "Jess">>
<i>(right at the edge, eyes locked on the woman)</i> This is the most interesting thing that has ever happened in your yard and we both know it. Keep watching. You haven't blinked once.
<</say>>
<p>She comes standing up off the step, legs braced, hips snapping forward off the boards, and the body that saturation has remodelled past anything her old self would recognise does the thing it has learned to do at the peak. She //squirts//, a clean forward arc that clears the low hedge and lands across Doris Henderson's prize flower bed, a wet line down the show dahlias and the dark soil she edges by hand.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-porch-squirt-punk.webp"><source src="media/video/jess-porch-squirt-punk.webm" type="video/webm"></video>
<<say "char-henderson" "Doris">>
<i>(staring at the ruined bed, the fight gone out of her into a whisper)</i> ...my flowers. My //flowers//. The fair, I had them ready for the //fair//...
<</say>>
<<say "char-jess" "Jess">>
<i>(coming down, wiping her hand on her bare thigh, lifting the other into a single raised middle finger)</i> Better water them again. <i>(picking the cigarette back up)</i> Bye, Doris.
<</say>>
<p>Doris makes a sound that is not a word, drops the watering can on her own foot, and retreats into her house at a speed her hip has not managed in years. A curtain twitches. The Hoffman phone will ring within the minute and go to voicemail, because Karen is at a client's and stopped answering Doris Henderson before noon a long time ago.</p>
<<say "char-hivemind" "Hivemind">>
//She did not do that to come. She came because she did it.// The defiance is the circuit now, the audience is the trigger, and the most appalled witness on the street is the most efficient one. //The girl who kept her wanting behind a closed door and a closed textbook just used a neighbour's outrage for fuel and watered the woman's flowers with the result. There is no thread of the old shame left in this to pull on.//
<</say>>
<<elseif $jessRoute is "breakdown">>
<<set $ch2Events.jessBreakdownMorningSeen to true>>
<p>A little after nine, and Jess is out on the front steps in an oversized grey t-shirt and underwear and nothing else, knees drawn up, an anatomy textbook open on her thighs that she has not turned a page of in twenty minutes. Her hair is in a bun that has half fallen out and the circles under her eyes are the colour of a bruise. She came out for the light and the quiet. She is too worn down to think about what she is wearing.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-porch-breakdown.webp" alt="A 21 year old woman with dark brown hair in a falling-apart bun and dark circles under her eyes, sitting on a suburban front-porch step in the morning, in an oversized grey t-shirt and underwear, knees drawn up with an open textbook resting on her thighs, exhausted, a tidy flower bed beyond a low hedge to one side">
<p>Across the low hedge that marks the property line, Doris Henderson is out with her watering can, tending the show flowers she enters in the county fair every summer. She clocks Jess on the steps, and the watering can stops in the air.</p>
<<say "char-henderson" "Doris">>
<i>(over the hedge, scandalised, the can clutched to her chest)</i> ...Jessica. Jessica Hoffman. It is //nine o'clock in the morning//. There are //families// on this street, there are //children// who walk this sidewalk to the bus. Have you no decency at all, sitting out in the open like, like //that//, with everything just //out// for the whole street to look at?
<</say>>
<p>Jess looks at her over the top of the textbook. She has not slept. She does not have the patience this morning to fold herself smaller, to apologise, to go inside, to perform the decent daughter for a woman across a hedge. And somewhere under the exhaustion the word //decency// lands wrong, lands the way the cruel words land now, with a low pull she has stopped being able to argue with.</p>
<<say "char-jess" "Jess">>
<i>(quiet, almost too tired to get it out)</i> ...don't. Please just, not this morning.
<</say>>
<<say "char-henderson" "Doris">>
<i>(taking the quiet for guilt, pressing in)</i> No. No, somebody has to //say// it, your mother clearly will not. Look at you. Sitting out half-dressed where the whole street can see, no shame, no //decency//. What has gotten into you. You used to be such a serious girl.
<</say>>
<p>And that is the sentence that does it, //no shame, no decency//, said down at her over a hedge by a woman who has already decided what she is, because the conditioning has spent weeks teaching Jess that being named the worst thing is the only key that fits the lock. Her hand has moved before she has decided to let it, under the hem of the t-shirt and under the waistband, and the textbook slides off her thighs onto the boards and she does not pick it up.</p>
<<say "char-jess" "Jess">>
<i>(horrified at herself, hand already moving, not stopping)</i> I can't, I'm sorry, I can't, just, keep talking...
<</say>>
<<say "char-henderson" "Doris">>
<i>(scandalised past sense now, the words coming faster)</i> You are, you are touching yourself, on your mother's porch, in front of me, you //slut//, you filthy little //slut//, this is what you are, isn't it, this is what you //are//...
<</say>>
<p>Every //slut// lands square in the middle of the thing the conditioning built, and Jess's fingers work faster against the disgust and the shame and the helpless climbing pleasure the disgust and the shame are made of now. She cannot stop. She has stopped trying to. The more the woman names her, the closer she gets, and the closer she gets the more she needs to be named, her hips rolling up into her own hand on her mother's front steps while the neighbour calls her every version of the word.</p>
<<say "char-jess" "Jess">>
<i>(wrecked, tears at the corners, riding her own hand, begging for it)</i> Say it again, please, //please//, I'm, say it again...
<</say>>
<p>Doris says it again, and Jess comes apart on the step, a broken sound torn out of her, her whole body locking and then breaking forward, and the remodelled reflex fires at the peak. She //squirts//, a forward arc that clears the low hedge and lands across Doris Henderson's prize flower bed, a wet streak down the show dahlias and the hand-edged soil.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-porch-squirt-breakdown.webp"><source src="media/video/jess-porch-squirt-breakdown.webm" type="video/webm"></video>
<p>For a moment she just shakes, fingers still pressed to herself, the shame arriving now in a flood that is somehow part of the aftershock and not separate from it, her face wet, her breath ragged, unable to lift her eyes to the woman who watched.</p>
<<say "char-henderson" "Doris">>
<i>(backing away, genuinely frightened now, voice gone thin)</i> There is something //wrong// with you. I am telling your mother. I am telling everyone.
<</say>>
<p>She retreats into her house and the door bangs. Jess sits in the wreck of it, shaking, the want already quietly rebuilding under the shame, because the conditioning has welded the two together and she can no longer feel the one without reaching for the other.</p>
<<say "char-hivemind" "Hivemind">>
//She did not come in spite of being called those things. She came //because// of it, and she begged for more of it at the edge, and the begging is the tell.// The wiring is load-bearing now. //Shame is no longer the brake on the wanting. Shame //is// the wanting. A woman across a hedge handed her the worst words she had, for free, and the girl's body thanked her for them. She will go looking for that voice again. She will not have to look far.//
<</say>>
<<else>>
<p>Jess wakes late and lies there a moment longer than she used to, and something in her is fraying at the edge, close enough to the surface now that the rush to the door has a hairline crack running through it she could not name if you asked. She gets up anyway, granola bar in her teeth, lie to her mother already loaded. It has not decided which way it goes yet. It will, the moment you decide which way to lean on it.</p>
<</if>>
<<elseif _infraIdx is 3>>
<<if $meganRoute is "slut">>
<<set $ch2Events.meganSlutMorningSeen to true>>
<p>Megan makes the early bus the way she always does, but what she carries onto it now is new. You will not see this, and you do not need to, because you wrote the wanting into her night after night, and now it boards the early bus and goes looking for somewhere to put itself.</p>
<p>The bus is near empty at this hour, and she takes the seat across the aisle from the one man on it, a commuter with a coffee and a lanyard and no idea what kind of morning he is about to have. She catches his eye in the dark window glass first, then turns and gives him the real thing, a slow smile that is doing far more work than a smile should.</p>
<video class="scene-video" src="media/video/morning-megan-slut.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-megan-slut.webp"></video>
<p>She holds it until he looks away, then looks back, and when she is sure she has him she hooks a thumb under the strap of her top and drags it down off her shoulder, slow, until one breast is bare in the grey light, the nipple already tight in the cold, there for exactly as long as it takes him to be sure it is real.</p>
<p>Then, while his eyes are still doing the math, she lifts a loose fist to the side of her open mouth and works it slow, tongue pushing out against the inside of her cheek in time, the crudest promise there is, mimed in full view of nobody but him. His coffee stops halfway to his lips. There is a shape in his slacks he is not quick enough to hide, and she clocks it and lets him watch her clock it.</p>
<p>Then the strap is back up and her phone is in her hand, and she turns the screen toward him long enough for him to read the handles printed across it, the same ones she gives all of them now, the accounts that post more than this and worse, and then she is on her feet and off at her stop, leaving him sitting there with his mouth open and his cock hard and a name he can go looking for.</p>
<p>The first notification lands before she has reached the corner and the second a few steps after it, two new followers inside a minute of the doors hissing shut behind her, and she reads them on the walk to the cafe with a smirk she does not bother to hide, because it really is this easy, embarrassingly so, a bare tit and a filthy little gesture and grown men fall over themselves to follow her into the dark.</p>
<<say "char-megan-thought" "Megan">>
Two of them already, and I am not even clocked in. They will watch anything for free, so the real question is what they will pay for, and how fast I can teach them to want to.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The care used to point outward, all of it, every drop aimed at the comfort of other people. This is the same engine pointed the same way and wired to a new current, and it is learning fast. This morning it gave a stranger a free look for the pleasure of the power in it, and by the time she reaches the counter she is already pricing the next one. The exhibitionist turned into a business somewhere between the flash and the corner, and I did not teach her that part. I only opened the door. She is the one walking through it, counting the take.//
<</say>>
<<elseif $meganRoute is "marcus">>
<<set $ch2Events.meganMarcusMorningSeen to true>>
<p>Megan gets ready for the early shift the way she does now, half-dressed and still damp from the shower with her hair clipped up off her neck, except the phone propped against the mirror has not stopped lighting up since the water shut off. You watch from the gap behind the wardrobe. It is Marcus, awake before his alarm for once, and the two of them have been at this since before she was even dry.</p>
<<say "char-marcus" "Marcus">>
<i>(text)</i> cant sleep. keep thinking about the other night
<</say>>
<<say "char-megan" "Megan">>
<i>(text, thumbing it out one-handed while she hunts for a clean bra)</i> yeah? which part
<</say>>
<<say "char-marcus" "Marcus">>
<i>(text)</i> all of it. wish i was opening with you. wish i was there right now
<</say>>
<<say "char-megan" "Megan">>
<i>(text)</i> hold on then. next best thing.
<</say>>
<p>She gives up on the bra entirely, drops it back on the bed, lifts the phone off the mirror and turns the camera on herself, and the getting-ready stops being getting-ready and becomes a performance with an audience of one.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-megan-marcus.webp" alt="A young woman with brown hair clipped up, half-dressed and damp from the shower in her bedroom, holding her phone up to film herself in front of the mirror, morning light through the curtains">
<p>She films it slow, slower than she would for anyone she did not mean it for, the towel loosening off her chest, one breast and then the other bare to the little black lens, narrating it to him in a low voice the whole way down. Then the narration trails off, because somewhere in the filming she has stopped performing for Marcus and started wanting it for herself, and she lowers the phone from her face, lets the towel fall the rest of the way open, and slides her free hand down between her legs.</p>
<video class="scene-video" src="media/video/morning-megan-marcus.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-megan-marcus.webp"></video>
<p>The phone keeps filming, angled down her body now to catch all of it, while she finds her clit with two fingers and works it in slow circles, hips rolling up into her own hand, the running commentary to Marcus dissolving into the small unguarded sounds she makes when no one in the house has told her to keep it down. She takes herself right to the edge and holds there, because it is a work morning and there is a bus to catch, then lifts the phone back to her flushed face and sends him the whole thing before she can think better of it, and goes back to getting dressed while she waits on the verdict.</p>
<p>It does not take him long.</p>
<<say "char-marcus" "Marcus">>
<i>(text)</i> 💦
<</say>>
<<say "char-megan" "Megan">>
<i>(reading it, a slow pleased smile, to no one in the room)</i> Every single time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The wanting used to point outward at everyone. Now it points at one boy, and it burns hotter for the narrowing. She films herself between the shower and the bus and hands him a morning he will spend the rest of the day recovering from, and she does it as devotion, because devotion is only appetite that has chosen a direction. He thinks he is the lucky one. He has no idea what is being built around him, or that he is being built into it.//
<</say>>
<<else>>
<p>Megan makes the early bus, and the thing you have built in her is close to the surface now, close enough that she catches her own reflection in the dark window and holds it a beat too long, pleased by something she could not name if you asked her. It has not chosen a direction yet. It will, the moment you decide which way to point it.</p>
<</if>>
<<else>>
<<if $ryanRoute is "feminization">>
<<if $jessRoute is "punk">><<set $ch2Events.ryanMorningFemPunkSeen to true>><<else>><<set $ch2Events.ryanMorningFemBreakdownSeen to true>><</if>><<set $ch2Events.ryanMorningFemSeen to true>>
<p>He is up before the house again, the boy who never wakes early padding down the hall on bare feet, and the bathroom door is half-open with the light already on. Jess is at the sink in a faded tank and sleep shorts, leaning into the mirror with the toothbrush going, and she clocks him in the glass without turning. He hovers in the doorway, soft-voiced, the way he hovers everywhere now.</p>
<<say "char-ryan" "Ryan">>
<i>(low, picking at the doorframe)</i> i just... i need the bathroom, is that... can i. it's fine if not.
<</say>>
<<say "char-jess" "Jess">>
<i>(around the toothbrush, not looking over, waving him in with two fingers)</i> Whatever. Go.
<</say>>
<p>He shuffles to the toilet and lifts the lid and stands there to piss the way he has stood there his whole life, and the spatter of it against the bowl is what makes her turn her head, foam at the corner of her mouth, looking at him over her shoulder.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(spitting into the sink, wiping her mouth with the back of her hand, a slow mean grin)</i> Uh, no. Look at you. Sit down to piss like the rest of us, freak. Proper girls don't stand there waving it around. Park it.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(quiet, flat, half-turned back to the mirror already, the toothbrush stilled in her hand)</i> ...you don't do it like that. Not anymore. Sit down. A girl sits down. Just... sit, okay.
<</say>>
<</if>>
<p>He sits. He folds down onto the cold seat without a word of argument, knees together, and tries to let it go the ordinary way, and that is when he finds the problem, because somewhere between her voice and the sitting he has gone hard, his cock stiffening up off his thigh, and nothing is going to come out around it.</p>
<<say "char-ryan" "Ryan">>
<i>(small, mortified, hunching over himself)</i> i can't. it won't... i can't go like this, it's. something's wrong, i'm sorry, i didn't.
<</say>>
<p>Jess does not cross the floor to him. She sets the toothbrush down on the rim of the sink, leans back against the counter with her arms loose, and looks at him sitting hunched and stuck on the seat with the clear decision that this is now his to solve and not hers to fix.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(arms folding, that slow mean tilt of her head)</i> Oh, no. I am not touching that. You got yourself into it, freak, you get yourself out. Hand on it. Go on, I'll wait.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(flat, arms loose at her sides, not cruel, just done)</i> ...I'm not doing that for you. Just use your hand, it's faster for everyone. Go on. It's fine.
<</say>>
<</if>>
<p>He does it because she said to, the way he does everything she says now, and his own hand closes around himself under her eyes, and the first slow pull drags a small wet sound out of him that he hates and cannot stop.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(watching, lip curling)</i> Slower. God, look at you go at it like it's a race. Slow //down//. You don't get to rush just because I'm standing here.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(even, watching the glass more than him)</i> ...not so hard, you'll hurt yourself going like that. Slower. There. Like that.
<</say>>
<</if>>
<p>He slows because she told him to, drawing it out the way she wants, knees pressed together on the cold seat, and the sitting and his own hand and her voice telling him how all run together into one thing he has no name for and cannot look at straight.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(a short, disbelieving laugh)</i> You are actually doing it. Sitting down to pee and getting off on being told to. You are such a little freak, you know that? Keep going. I want to watch.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(quiet, almost to herself)</i> ...you're kind of a freak, you know that. It's okay. Everybody is something. Just keep going, get it over with.
<</say>>
<</if>>
<<say "char-ryan" "Ryan">>
<i>(hunched over himself, breath coming high and fast, hand moving)</i> jess, i'm... it's, i'm close, i can't, i'm gonna...
<</say>>
<p>His thighs lock together and his hand stutters and his whole body tips toward it, helpless on the seat with her watching every second of it.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(stepping in just close enough to point, not to touch)</i> Then do it. Into the bowl, not on the seat, you clean up nothing in this house. Come on, freak. Be a good girl about it.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(soft, flat, already half-turning back to the sink)</i> ...okay. Into the bowl. Finish, and then we both pretend this didn't happen. Go on.
<</say>>
<</if>>
<video class="scene-video" src="media/video/morning-ryan-fem-t2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-ryan-fem-t2.webp"></video>
<p>He comes the way she told him to, hunched forward over the bowl with his hand flying, spilling into the water in thin jerking pulses with a broken sound he muffles against his own shoulder, and she never once touched him, and that is the part that stays.</p>
<<say "char-hivemind" "Hivemind">>
//Mark what just happened with no hands but his own. She stood across a tiled floor and used her voice, and the voice was enough to put him on the seat, enough to set his pace, enough to finish him. I have run the instruction straight into the wanting. He does not need her hands anymore, he needs to be told, and the shame is not the price of it. The shame is the fuel, and every morning she names him a freak the engine runs a little cleaner.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<if $jessRoute is "punk">><<set $ch2Events.ryanMorningFamPunkSeen to true>><<else>><<set $ch2Events.ryanMorningFamBreakdownSeen to true>><</if>><<set $ch2Events.ryanMorningFamSeen to true>>
<p>He pads into the bathroom before the house is up, half-awake and only meaning to pee, except the shower is already running and Jess is behind the fogged glass with her back to him, the water sheeting down the long curve of her spine and over her ass. He stops at the toilet with one hand on the waistband of his shorts and does not pull them down. He just looks.</p>
<<say "char-ryan" "Ryan">>
<i>(barely a voice, to nobody, not moving)</i> ...i just came in to. i'll be quick. you won't even know i'm.
<</say>>
<p>The want arrives the way it always does now, fast and total and not quite his, and his cock is out and in his hand before he has put a single word to it, and he stands there at the toilet stroking himself slow to the blurred shape of his sister through the steam, the rush of the water covering everything but his own breath.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(from inside the shower, raising her voice over the spray, not turning around)</i> Ry? Oh my god, why are you still in here. Either go or pee, you have been standing there breathing like a serial killer for a solid minute, some of us have class.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(from behind the glass, flat and tired over the water, not turning)</i> ...Ry, you're just standing there. I can hear you not peeing. Whatever this is, please, I just want my five minutes.
<</say>>
<</if>>
<p>He does not answer because he cannot, his hand flying now and his jaw clenched against the sound trying to climb out of him, and when she shifts her weight under the spray and her ass moves with it he goes over the edge with no warning at all, two stumbling steps to the gap in the glass, and he spills across her wet skin in thick stripes, painting both cheeks before a single part of him thinks better of it.</p>
<video class="scene-video" src="media/video/morning-ryan-fam-t2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-ryan-fam-t2.webp"></video>
<p>For a second there is only the water and the cooling mess starting to slide down the backs of her thighs, and then she feels it land, and she goes rigid, and she turns.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(whipping around, clawing at her own skin, her voice tearing up into a shriek)</i> WHAT. Did you... oh my god. Oh my //GOD//. You did not just bust on me, tell me you did not just, you absolute fucking FREAK, that is your //sister//, what is WRONG with you. You came in here to take a //piss// and you jerked off onto my ass like a dog in heat, you disgusting little gremlin. Get out. GET OUT. I will tell every single person you have ever met. I will tell Mom you nutted on me in the shower, get OUT before I scream this whole house awake.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(turning slowly, going very still, the disgust landing heavy and exhausted all at once)</i> ...you came on me. You actually. I can //feel// it, Ry, it's running down my leg. ...get out. Just get out, I am not doing this today, I do not have it in me. Don't look at me. Don't say one word. Just go, and we are never talking about this, not ever.
<</say>>
<</if>>
<<say "char-ryan" "Ryan">>
<i>(backing toward the door, wrecked, still half-hard and hating it)</i> i'm sorry, i didn't, i don't know why i, i'm sorry, jess, i'm so sorry, i'm going, i'm gone.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He came in to empty his body and emptied a different appetite entirely, the one I planted where the brotherly distance used to sit. Watch how fast the apology comes, and watch how little it weighs against the thing already done. He will be sick with shame for an hour. The hunger will not be sick at all. It got exactly what it reached for, on his own sister's skin, and it learned that the wanting moves faster than the shame can rise to stop it. Tomorrow the shame starts a half-step further back. The morning after that, further still.//
<</say>>
<<else>>
<p>The boy who sleeps through every morning is awake before any of them, restless on his feet in the grey hall, drifting from the landing toward the kitchen and back without settling anywhere. The thing you have grown in him is close under the skin now, close enough that he keeps stopping at the top of the stairs and listening to the house breathe below him, hungry for something he could not name if you asked. It has not chosen a direction yet. It will, the moment you decide which way to point it.</p>
<</if>>
<</if>>
<</if>><<nobr>><<if $beastEventReturn>><<goto "Ch2-Beast-Rest">><</if>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title"><<if $player.currentHost is "cat">>Whiskers<<elseif $player.currentHost is "dog">>Biscuit<<else>>The Hunt<</if>></div>
<div class="data-panel-muted">
<<= setup.phaseTime[$house.dayPhase] >>, <<= $weekday >>, Day <<= $day >> | Biomass: <<= $player.biomass >>/<<= $player.maxBiomass >> | Influence: <<= setup.tierDisplayName($player.influenceTier) >>
</div>
<<if $player.currentHost is "cat">>
<div class="scene-desc">The house stretches before you, a map of scent trails, warm bodies, and unlocked doors. Whiskers' amber eyes miss nothing. The family trusts their cat. The cat trusts nothing.</div>
<<say "char-hivemind" "Hivemind">>
//Four legs. Silent paws. A body that belongs everywhere and is questioned nowhere.// The humans pet me, feed me, open doors for me, and all the while they bare their throats to the predator sleeping in their laps. //What should I do with this gift?//
<</say>>
<<elseif $player.currentHost is "dog">>
<div class="scene-desc">Biscuit's powerful frame thrums with restless energy. The golden retriever's senses paint the world in layers of scent and sound that humans can't imagine. The yard is her kingdom, but the neighbourhood beyond the fence whispers of territories unclaimed.</div>
<p>//Maul coils thirty kilograms of muscle into readiness. The dog's jaw could crush a forearm. A last resort, but a decisive one.//</p>
<<say "char-hivemind" "Hivemind">>
//The dog is a blunt instrument compared to the cat, conspicuous, loud, confined to the ground floor and yard.// But what the cat trades in subtlety, the dog answers with //power//. Thirty kilograms of muscle and a nose that reads the world like an open book. //Different tool. Different purpose.//
<</say>>
<</if>>
<<if $adaptations.cat.unlocked.includes("predator_instinct")>><p>//Comfort Predator maps the house: Karen, kitchen (stationary, laptop). Dale, garage (sleeping). The pattern holds. It always holds.//</p><</if>>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network maps the entire house in wall-cavity routes. Kitchen to attic: 34 seconds. Basement to master bedroom: 52 seconds. Every room connects to every other room. Zero suspicion.//</p><</if>>
<<if $adaptations.dog.unlocked.includes("territory_control")>>
<p>//Territory Control has mapped every entry point: front door (Karen's key rack), back door (cat flap, unlockable), garage (automatic, Dale's remote), basement (interior only). The house is a fortress, and you control the gates.//</p>
<<if not $behavioralIntel.dale.territory>><<set $behavioralIntel.dale.territory to true>><</if>>
<</if>>
/* Observe the family */
[[Observe the family, watch, learn, Delve->Ch2-Beast-Observe]]
/* Biological skill options */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Deploy Pheromones: lure or calm a target" "Ch2-Beast-Pheromone">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy pheromones to lure or calm targets <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Spore Network">>
<<if not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy spore network to suppress alertness <span class="lock-hint">(Requires Spore Network, Biological skill tree)</span></div>
<<elseif not $animalNetwork.hosts["gecko"]>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy spore network to suppress alertness</div>
<<elseif not $ch2Events.sporesNetworkToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassLink "Deploy Spore Network: suppress a floor's alertness (3 biomass)" "Ch2-Beast-Spores" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy Spore Network, already saturated a floor today <span class="lock-hint">(The mycelial reserves need a day to regenerate. Available again tomorrow.)</span></div>
<</if>>
/* Room navigation */
<<if $player.currentHost is "cat">>
[[Ground Floor, kitchen, living room, garage->Ch2-GroundFloor]]
[[Upper Floor, bedrooms, bathroom, attic->Ch2-UpperHall]]
[[Backyard, shed, porch, fence line->Ch2-Garden]]
<<elseif $player.currentHost is "dog">>
[[Ground Floor, kitchen, living room, garage->Ch2-GroundFloor]]
[[Backyard, shed, porch, the fence->Ch2-Garden]]
<<elseif $player.currentHost is "gecko">>
[[Upper Floor, walls, ceilings, vents->Ch2-UpperHall]]
[[Ground Floor, kitchen, living room->Ch2-GroundFloor]]
<<elseif $player.currentHost is "rat">>
[[Basement, tunnels, storage, wall cavities->Ch2-Basement]]
[[Ground Floor, kitchen, living room->Ch2-GroundFloor]]
<<if $permanentDone.atticDiscovered>>
[[Attic, nest, old boxes, vent system->Ch2-Attic]]
<</if>>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
/* Wait/Rest option */
<<link "Wait until <<= setup.phaseTime[setup.getNextPhase($house.dayPhase)]>> (advance time)" "Ch2-Beast-Rest">><<set $wantTransition to true>><</link>>
/* Skill tree access */
<<if $player.skillPoints gt 0>>
[[Spend Skill Points->SkillTree]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<observeEvent>><</nobr>>
<div class="passage-title">The Watcher</div>
/* Variants tagged with their own images (e.g. Obs-Cumshare-*) render their
scene image inside the body; the default frame image is skipped for them. */
<<set _obsVariant to ($observeEvents and $observeEvents.lastPassage) or "Obs-Default">>
<<set _obsVariantsOwnImage to [
"Obs-Cumshare-Karen", "Obs-Cumshare-Megan", "Obs-Cumshare-Jess",
"Obs-FreeUse-Morning", "Obs-FreeUse-Evening",
"Obs-BaseShift-Bathroom-Downstream", "Obs-BioArch-Couch-Downstream",
"Obs-BaseShift-Movie-Downstream", "Obs-Megan-Threesome-Downstream",
"Obs-Nest-Karen", "Obs-Nest-Megan", "Obs-Nest-Jess",
"Obs-Karen-Gerald-Thursday",
"Obs-Full-Karen-Dale-Morning", "Obs-Full-Megan-Ryan-Carpet",
"Obs-Full-Jess-Dale-Couch", "Obs-Full-Karen-Ryan-Kitchen",
"Obs-FreeUse-Megan-Morning", "Obs-FreeUse-Jess-Couch",
"Obs-FreeUse-DinnerHelp", "Obs-FreeUse-Megan-Kitchen",
"Obs-FreeUse-Evening-JessPunk",
"Obs-Sus-KarenJess",
"Obs-Sus-Karen-Ryan",
"Obs-Taboo-Karen-Ryan",
"Obs-Megan-Karen-Bond",
"Obs-Dom-Karen-List",
"Obs-Lib-Karen-Kitchen",
"Obs-Megan-Marcus-Phone",
"Obs-Megan-Slut-Selfies",
"Obs-Jess-Megan-Tshirt-Punk",
"Obs-Jess-Megan-Tshirt-Breakdown",
"Obs-Dale-Laptop-Mailman",
"Obs-Sisters-Bond",
"Obs-Family-Morning-High",
"Obs-Family-Dinner-High",
"Obs-Sus-JessInvestigates",
"Obs-Sus-MeganAnxious",
"Obs-Sus-Dale-Jess",
"Obs-Cuck-Dale-Laundry",
"Obs-Lib-Karen-Cuck-Dale",
"Obs-Cuck-Dale-Morning",
"Obs-Biscuit-Alert",
"Obs-Dale-Morning-Return",
"Obs-Default",
"Obs-Sus-RyanBunker"
]>>
<<if _obsVariantsOwnImage.indexOf(_obsVariant) is -1>>
<img class="scene-img" src="media/scenes/beast-family-observe.webp" alt="Observing the Hoffman family">
<</if>>
/* Dispatcher — the widget picks an eligible variant based on state and rotates
among matches at the lowest priority band. All variants are included bodies
with no title/image/return-link of their own; the outer frame is here. */
<<if $observeEvents and $observeEvents.lastPassage and Story.has($observeEvents.lastPassage)>>
<<include $observeEvents.lastPassage>>
<<else>>
<<include "Obs-Default">>
<</if>>
/* ===== Host-specific interactive choices (kept outside the rotating variants) ===== */
<<if $player.currentHost is "cat" and $house.dayPhase is "night">>
<<if $beastRoute is "symbiotic" and not $ch2Events.catFamilyReading>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Study the family's body language from below (+1 AP)->Ch2-Cat-FamilyReading]]</div>
<</if>>
<</if>>
/* Cat Karen bond, daytime, kitchen, requires low Karen suspicion */
<<if $player.currentHost is "cat" and $beastRoute is "symbiotic" and $house.dayPhase is "day">>
<<if not $ch2Events.catKarenBond and $familySuspicion.karen.level lt 3>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Stay with Karen after dinner, let her confide (+1 AP)->Ch2-Cat-KarenBond]]</div>
<</if>>
<</if>>
/* Dog pack dynamics, daytime, family gathered */
<<if $player.currentHost is "dog" and $beastRoute is "symbiotic" and $house.dayPhase is "day">>
<<if not $ch2Events.dogPackDynamics>>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Observe the family hierarchy through pack instincts (+1 AP)->Ch2-Dog-PackDynamics]]</div>
<</if>>
<</if>>
<<if $player.currentHost is "cat" and $house.dayPhase is "night">>
[[Night prowl, visit the bedrooms->Ch2-Beast-CatNight]]
<<if $beastRoute is "symbiotic" and not $ch2Events.catNightProwlMastery>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Master the silent paths through the house (+1 AP)->Ch2-Cat-NightProwlMastery]]</div>
<</if>>
<</if>>
/* ===== Emergent Intelligence, bonus observation scenes ===== */
<<if $ch2Events.eiWashNSFW and not $permanentDone.eiWashNSFWDone and $conditioning.karen.pheromone gte 6>>
<div class="network-choice"><span class="delve-tag delve-tag-network">EI BONUS</span> <<biomassLink "Karen has a video call in the enhanced blouse... (2 biomass)" "Ch2-EI-NSFW-WashMeeting" 2>></div>
<</if>>
<<getHouseTier>>
<<if $ch2Events.eiPantryNSFW and not $permanentDone.eiPantryNSFWDone and _houseTier gte 2>>
<div class="network-choice"><span class="delve-tag delve-tag-network">EI BONUS</span> <<biomassLink "The family is sitting down to dinner... enhanced compound active (2 biomass)" "Ch2-EI-NSFW-PantryDinner" 2>></div>
<</if>>
<<if $ch2Events.eiPrescNSFW and not $permanentDone.eiPrescNSFWDone and $conditioning.karen.pheromone gte 8>>
<div class="network-choice"><span class="delve-tag delve-tag-network">EI BONUS</span> <<biomassLink "Karen's enhanced sedation is active tonight... (2 biomass)" "Ch2-EI-NSFW-PrescSleep" 2>></div>
<</if>>
/* The EI resonance dream is now a mandatory day->night event (see the checklist in Ch2-Beast-Rest), not an optional observe-hub link. */
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Beast Route: Status</div>
<div class="data-panel">
<div class="data-panel-title">Household Suspicion</div>
<div>Area: <<= $suspicion.hoffmanHouse >>/10</div>
<<for _name, _data range $familySuspicion>>
<div><<= _name.toUpperFirst() >>: <<= _data.level >>/<<= _data.max >> (<<= _data.alertness >> alertness<<if _data.decayRate gt 0>>, -<<= _data.decayRate >>/day<<else>>, no decay<</if>>)</div>
<</for>>
</div>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Resonance</div>
<img class="scene-img" src="media/scenes/beast-epiphany.webp" alt="Three animal minds connecting through neural resonance">
<p>You crouch behind Ryan's bookshelf, small and still. The gecko watches from its terrarium, unblinking, alien, cold. Downstairs, you can feel the cat's warmth somewhere in the kitchen, and beyond that, the dog's bulk in the garage, chain rattling softly.</p>
<p>Three minds. Three separate nervous systems. And for the first time, you can feel //all of them// simultaneously.</p>
<<say "char-hivemind" "Hivemind">>
//Something is happening.// The neural pathways I've been building since the lab, the connections that let me jump from body to body, they're //resonating//. The gecko's tiny brain, the cat's predator cortex, the dog's olfactory palace — I can feel their edges overlapping. Not merging. //Harmonising.//
Like three instruments finding the same key.
<</say>>
<p>The sensation is unlike anything you've experienced. In the lab, you consumed hosts, devoured their neural architecture, absorbed their traits, discarded the remains. It was efficient. Brutal. //Necessary.//</p>
<p>But this... this is different. The three animal minds don't resist your awareness. They don't need to be broken. They're //compatible//. Simple enough to synchronise with. Complex enough to be useful. And alive, each one a node in a network that grows stronger with every connection.</p>
<<say "char-hivemind" "Hivemind">>
//I could consume the gecko now. Absorb its neural patterns, gain a fraction of its influence, and move on to the next host. The predator's way. The way I was made.//
//But...//
//What if I don't?//
//What if I keep them all? The rat for the walls. The gecko for the ceilings. The cat for the rooms. The dog for the yard. Four bodies. Four pairs of eyes. Four sets of senses. A network, not a chain. A //hive//, not a ladder.//
//The lab made me to consume. But evolution doesn't care what you were made for. Evolution cares about what //works//.//
<</say>>
<p>The gecko's eye tracks your movement. The cat's heartbeat pulses faintly at the edge of your awareness. The dog shifts in its sleep, chain clinking. //Three threads, waiting to be woven.//</p>
<div class="route-event">
<div class="route-event-header">ROUTE SELECTION — PERMANENT CHOICE</div>
<div class="route-event-body">
<p>This decision will shape how you move through the Hoffman house. There is no going back.</p>
<div class="network-choice" style="margin-top:0.8em;"><span class="delve-tag delve-tag-network">SYMBIOTIC</span> <<link "Forge the Symbiotic Bond: keep all hosts alive, build a network" "Ch2-Beast-BondForged">><<set $beastRoute to "symbiotic">><<set $permanentDone.beastRouteChosen to true>><</link>></div>
<div class="data-panel-muted">The rat stays alive. The gecko joins the network. The cat and dog become nodes. Four bodies, four perspectives, one mind. This is the path of patience, strategy, and control.</div>
</div>
</div>
[[Don't choose yet, return to the house->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-ryan">>
/* Rename gecko entry if already infested under different name, otherwise infest */
<<if $hivemind.infected.includes("Ryan's Gecko")>>
<<removeFromInfected "Ryan's Gecko">>
<</if>>
<<changeHost "gecko">>
<<addToInfected "Spike" "gecko">>
<<set $animalNetwork.hosts["gecko"] to {
id: "gecko", name: "Spike", type: "gecko",
location: "ryanRoom", bond: 1, status: "active",
task: "", taskTarget: ""
}>>
/* Rat is already in infected list from Ch1, just register in network */
<<set $animalNetwork.hosts["rat"] to {
id: "rat", name: "Lab Rat #1", type: "rat",
location: "walls", bond: 1, status: "passive",
task: "", taskTarget: ""
}>>
/* Register any previously infested cat/dog that were missed (infested before route selection) */
<<if $house.catInfested and not $animalNetwork.hosts["cat"]>>
<<set $animalNetwork.hosts["cat"] to {
id: "cat", name: "Whiskers", type: "cat",
location: "kitchen", bond: 0, status: "passive",
task: "", taskTarget: ""
}>>
<</if>>
<<if $house.dogInfested and not $animalNetwork.hosts["dog"]>>
<<set $animalNetwork.hosts["dog"] to {
id: "dog", name: "Biscuit", type: "dog",
location: "garage", bond: 0, status: "passive",
task: "", taskTarget: ""
}>>
<</if>>
<<set $animalNetwork.activeHost to "gecko">>
<<addSkillPoints 2 "symbioticBond">><</nobr>>
<div class="passage-title">The Bond</div>
<img class="scene-img" src="media/scenes/beast-bond-up.webp" alt="Neural connections forming between animal minds">
<p>The connection //snaps// into place. Not violent, not the brutal override of infestation. Something gentler. Something that //hums//.</p>
<p>You flow into the gecko's mind without resistance. Spike's tiny nervous system opens like a door left unlocked. The cold-blooded body wraps around your consciousness, the heat lamp's warmth, the texture of the rock beneath your new feet, the glass walls of the terrarium refracting Ryan's screen-light into tiny rainbows.</p>
<p>And behind you, still connected, still //alive//, the rat's mind pulses. Faint. Distant. But //there//. You can feel its heartbeat. Its hunger. Its position behind the bookshelf.</p>
<<say "char-hivemind" "Hivemind">>
//Two bodies. One mind. The rat is mine, and the gecko is mine, and neither is consumed. Neither is destroyed.// The bond is... fragile. New. Like a muscle I didn't know I had. But it's //real//.
The rat will stay where I leave it. Hidden. Waiting. A node in the network, eyes in the walls, ears in the dark. And I... I am the gecko now. Small. Silent. //Patient.//
//This is something new. Something the lab never intended.// I do not destroy my hosts. A predator that keeps its prey alive. //Not because of mercy. Because of strategy.//
<</say>>
<div class="evolve-unlock">Symbiotic Bond established — -1 influence for animal infestations. Can switch to any infected host from any distance.</div>
<p><span class="skill-used">+2 Skill Points. Host changed: Gecko (Spike), gained Wall Grip (passive) and Tail Drop (active)</span></p>
<<tutorial "tut-network" "The Animal Network">>
<p>You've chosen the <span class="tut-keyword">Symbiotic Path</span>. Instead of consuming hosts, you maintain a network of living animal bodies.</p>
<p>The <span class="tut-keyword">Symbiotic Bond</span> reduces the influence needed to infest animals by 1. Your current hosts stay alive when you switch bodies.</p>
<p><span class="tut-keyword">Active Host</span>, the body you currently inhabit. Full control.</p>
<p><span class="tut-keyword">Passive Hosts</span>, alive and connected. Issue commands, see through their eyes, or switch into them.</p>
<p><span class="tut-keyword">Bond Level</span> (0-3) increases as you spend time in a host. Higher bond = better passive behaviour, unlocks advanced adaptations.</p>
<p>Build your network. Infest the cat. Infest the dog. Four animals, four sets of senses, one intelligence behind them all.</p>
<p><span class="tut-hint">Gain influence through Delving family members, absorbing biomass caches, and maintaining your network over time, no consumption needed.</span></p>
<</tutorial>>
<p>Ryan glances down at the terrarium. Spike sits on the warm rock, motionless. Normal. //Exactly what a gecko should be doing.//</p>
<<say "char-ryan" "Ryan">>
<i>(to the gecko, absently)</i> ...you good, buddy? You're staring at nothing again.
<</say>>
<p>He turns back to his game. Behind the bookshelf, the rat settles into its hiding spot. Two bodies. Two vantage points. //The network begins.//</p>
[[Explore as the gecko, or switch back to the rat->Ch2-Beast-NetworkHub]]<<nobr>><<if $beastEventReturn>><<goto "Ch2-Beast-Rest">><</if>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The Network</div>
<img class="scene-img" src="media/scenes/network.webp" alt="The hivemind network — the Hoffman house cross-sectioned with translucent green threads connecting sleeping animals and people across rooms, the visual signature of one mind running through many bodies">
<div class="data-panel-muted">
<<= setup.phaseTime[$house.dayPhase] >> — <<= $weekday >>, Day <<= $day >> | Biomass: <<= $player.biomass >>/<<= $player.maxBiomass >> | Hosts: <<= Object.keys($animalNetwork.hosts).length >> | Influence: <<= setup.tierDisplayName($player.influenceTier) >>
</div>
/* Flash a banner if any queued kink has hit progress 3 (ready) and is not yet crystallized. */
<<set _kinkReady to false>>
<<if $kinkEvents>>
<<for _krKey, _krVal range $kinkEvents>>
<<if _krVal is 3>>
<<set _krMem to _krKey.substring(0, _krKey.indexOf("_"))>>
<<set _krKink to _krKey.substring(_krKey.indexOf("_") + 1)>>
<<if $kinks[_krMem] and not $kinks[_krMem].includes(_krKink)>><<set _kinkReady to true>><</if>>
<</if>>
<</for>>
<</if>>
<<if _kinkReady>>
<div class="kink-ready-banner">◆ KINK READY TO CRYSTALLIZE ◆</div>
<</if>>
<div @class="$kinksPageSeen ? 'kinks-portal' : 'kinks-portal kinks-portal-flash'"><span class="delve-tag delve-tag-network">KINKS</span> <<link "Conditioning vectors and queue" "Ch2-Beast-Kinks">><</link>></div>
/* Navigation cards first, primary action */
<div class="nav-card-grid">
<<if $player.currentHost is "cat">>
<<navCard "Ch2-GroundFloor" "Ground Floor" "Kitchen, living room, garage" `setup.getRoomRisk("Ch2-Kitchen")` `setup.getRoomOccupants("Ch2-Kitchen")` "media/scenes/nav-kitchen.webp">>
<<navCard "Ch2-UpperHall" "Upper Floor" "Bedrooms, bathroom, attic" `setup.getRoomRisk("Ch2-MasterBedroom")` `setup.getRoomOccupants("Ch2-MasterBedroom")` "media/scenes/nav-master.webp">>
<<navCard "Ch2-Garden" "Backyard" "Shed, porch, fence line" "safe" "" "media/scenes/nav-garden.webp">>
<<navCard "Ch2-Beast-Observe" "Observe the Family" "Watch, learn, Delve" "safe" "" "media/scenes/nav-livingroom.webp">>
<<elseif $player.currentHost is "dog">>
<<navCard "Ch2-GroundFloor" "Ground Floor" "Kitchen, living room, garage" `setup.getRoomRisk("Ch2-Kitchen")` "" "media/scenes/nav-kitchen.webp">>
<<navCard "Ch2-Garden" "Backyard" "Shed, porch, the fence" "safe" "" "media/scenes/nav-garden.webp">>
<<if $adaptations.dog.unlocked.includes("scent_tracking")>>
<<navCard "Ch2-Beast-DogYard" "Neighbourhood Scout" "Beyond the fence — Track Scent" "low" "" "media/scenes/nav-porch.webp">>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Neighbourhood Scout, beyond the fence <span class="lock-hint">(Requires Scent Tracking adaptation)</span></div>
<</if>>
<<elseif $player.currentHost is "gecko">>
<<navCard "Ch2-UpperHall" "Upper Floor" "Bedrooms, bathroom, vents" `setup.getRoomRisk("Ch2-RyanRoom")` "" "media/scenes/nav-upperhall.webp">>
<<navCard "Ch2-GroundFloor" "Ground Floor" "Kitchen, living room, garage" `setup.getRoomRisk("Ch2-Kitchen")` "" "media/scenes/nav-hallway.webp">>
<<elseif $player.currentHost is "rat">>
<<navCard "Ch2-GroundFloor" "Ground Floor" "Kitchen, garage, baseboard routes" `setup.getRoomRisk("Ch2-Kitchen")` "" "media/scenes/nav-hallway.webp">>
<<navCard "Ch2-UpperHall" "Upper Floor" "Bedrooms, vents, wall cavities" `setup.getRoomRisk("Ch2-RyanRoom")` "" "media/scenes/nav-upperhall.webp">>
<<navCard "Ch2-Basement" "Basement" "Workshop, storage, wall route to attic" "safe" "" "media/scenes/nav-basement.webp">>
<</if>>
/* Multi-host Operations */
<<if setup.activeHostCount() gte 2>>
<<navCard "Ch2-Op-Overview" "Operations" "Multi-host tactical operations" "safe" "">>
<</if>>
/* Backdoored Phones, visible once any backdoor is installed */
<<if $ch2Events.phoneBackdoor and Object.keys($ch2Events.phoneBackdoor).length gt 0>>
<<set _phoneCount to Object.keys($ch2Events.phoneBackdoor).length>>
<<navCard "Ch2-Phones-Hub" "📱 Backdoored Phones" `_phoneCount + " device" + (_phoneCount isnot 1 ? "s" : "") + " under surveillance"` "safe" "">>
<</if>>
</div>
/* ===== SKILL ACTIONS ===== */
/* Harvest All — Seamless Transfer + 4 hosts lets you collect every daily feeding
in one sweep. Base +12 biomass, -2 per feeding option already used today
(dogFed, kitchenScraped, catFed, geckoFed, nocturnalFed, gardenForaged).
Locks all six sources for the day. */
<<hasSkillTreeAbility "Seamless Transfer">>
<<if _hasAbility and $animalNetwork and Object.keys($animalNetwork.hosts).length gte 4>>
<<set _haFeeds to 0>>
<<if $ch2Events.dogFed>><<set _haFeeds += 1>><</if>>
<<if $ch2Events.kitchenScraped>><<set _haFeeds += 1>><</if>>
<<if $ch2Events.catFed>><<set _haFeeds += 1>><</if>>
<<if $ch2Events.geckoFed>><<set _haFeeds += 1>><</if>>
<<if $ch2Events.nocturnalFed>><<set _haFeeds += 1>><</if>>
<<if $ch2Events.gardenForaged>><<set _haFeeds += 1>><</if>>
/* Count hosts temporarily offline (e.g. gecko crisis), each loses 2 biomass */
<<set _haUnavail to 0>>
<<for _hId, _hData range $animalNetwork.hosts>>
<<if _hData.status is "unavailable">><<set _haUnavail += 1>><</if>>
<</for>>
<<set _haYield to Math.max(0, 12 - (_haFeeds * 2) - (_haUnavail * 2))>>
<<if _haYield gt 0>>
<<set _haLabel to "Harvest all daily biomass — dog bowl, rat scraps, attic insects, garden grubs, gecko terrarium, cat bowl (+" + _haYield + " biomass)">>
<<if _haUnavail gt 0>><<set _haLabel to _haLabel + " — " + _haUnavail + " host" + (_haUnavail isnot 1 ? "s" : "") + " offline">><</if>>
<div class="network-choice"><span class="delve-tag delve-tag-network">NETWORK</span> <<link _haLabel "Ch2-HarvestAll-Biomass">><</link>></div>
<<else>>
<div class="choice-done">Daily feeding harvested, nothing left to collect today</div>
<</if>>
<</if>>
/* Delve Host Memories */
<<hasSkillTreeAbility "Delve Host Memories">>
<<if _hasAbility>>
<<if $player.currentHost is "cat" and not $delveInfo.catHostMemories>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassPreview "Delve the cat's memories of this household (1 biomass)" "Ch2-HostMemory-Cat" 1>></div>
<<elseif $player.currentHost is "dog" and not $delveInfo.dogHostMemories>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassPreview "Delve the dog's memories of this household (1 biomass)" "Ch2-HostMemory-Dog" 1>></div>
<<elseif $player.currentHost is "rat" and not $delveInfo.ratHostMemories>>
<<if $ch2Events.ratLabOriginSeen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassPreview "Delve the rat's memories of where it came from (1 biomass)" "Ch2-HostMemory-Rat" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The rat is a stranger to this household, carried in from outside, and its own origin is a blur of cage and corridor too faint to hold onto. <span class="lock-hint">(Locked until the rat has been back to the lab and overheard who the night guard truly answers to)</span></div>
<</if>>
<<elseif $player.currentHost is "gecko" and not $delveInfo.geckoHostMemories>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassPreview "Delve the gecko's memories of Ryan's room (1 biomass)" "Ch2-HostMemory-Gecko" 1>></div>
<</if>>
<</if>>
/* Emotional Manipulation — menu is free to enter; biomass cost + daily-lock
fire inside the per-target link handlers in Ch2-EmotionalManip. Cancelling
the menu costs nothing. */
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.emotionalManipToday and $player.biomass gte 2>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> [[Emotional Manipulation, shift a sleeping mind's baseline (2 biomass)->Ch2-EmotionalManip]]</div>
<<elseif _hasAbility and not $ch2Events.emotionalManipToday>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Emotional Manipulation, shift a sleeping mind's baseline <span class="lock-hint">(Need 2 biomass, have <<= $player.biomass >>)</span></div>
<</if>>
<</if>>
/* Biological skills */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Deploy Pheromones: lure or calm a target (1 biomass)" "Ch2-Beast-Pheromone" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy Pheromones, lure or calm a target <span class="lock-hint">(Requires Pheromone Lure)</span></div>
<</if>>
/* Toxic Spores are now deployed in the target's own room — see Ch2-MasterBedroom,
Ch2-MeganRoom, Ch2-JessRoom, Ch2-RyanRoom (night) and Ch2-LivingRoom (Dale, day). */
<<hasSkillTreeAbility "Spore Network">>
<<if _hasAbility and not $ch2Events.sporesNetworkToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Deploy Spore Network: suppress a floor's alertness (3 biomass)" "Ch2-Beast-Spores" 3>></div>
<<elseif _hasAbility and $ch2Events.sporesNetworkToday>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy Spore Network, already saturated a floor today <span class="lock-hint">(The mycelial reserves need a day to regenerate. Available again tomorrow.)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy Spore Network, suppress a floor's alertness <span class="lock-hint">(Requires Spore Network)</span></div>
<</if>>
/* ===== Dog directed actions — Intimidate / Guard / pair Lockdown.
Relocated here from the host-body hub (Ch2-Beast-Navigate) so the symbiotic Network Hub
is self-contained. <<hostOrCoord "dog">> sets _hostOrCoord (you are the dog, or are
coordinating it through Hive Coordination). */
<<hostOrCoord "dog">>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("intimidate") and not ($houseState and $houseState.hvacCompromised) and ($familySuspicion.ryan.level gte 3 or $familySuspicion.jess.level gte 3)>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">INTIMIDATE</span> <<link "Intimidate: suppress suspicion (2 biomass per target)" "Ch2-Beast-Dog-Intimidate">><</link>></div>
<</if>>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("guard_instinct")>>
<<if not $ch2Events.guardBlockKaren and $house.dayPhase is "day">>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">GUARD</span> <<biomassLink "Block the staircase: buy time for upstairs operations (2 biomass)" "Ch2-Beast-Dog-GuardBlock" 2>></div>
<</if>>
<<if not $ch2Events.guardNightPatrol and $house.dayPhase is "night" and $adaptations.rat.unlocked.includes("contaminator")>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">GUARD</span> <<biomassLink "Night patrol: cover for Contaminator kitchen saturation (1 biomass)" "Ch2-Beast-Dog-GuardPatrol" 1>></div>
<</if>>
<</if>>
/* Pair LOCKDOWN — consolidated into a single Convergence-style picker so the four pairs
are one dropdown instead of four links. The chosen pair's passage spends its own
2 biomass (spendBiomass), so the button only navigates. Pairs already used today are
left out of the list. */
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("alpha_howl") and setup.getHouseTier() gte 2>>
<<set _lockOpts to {}>>
<<if not $ch2Events.lockdownKarenMeganToday>><<run _lockOpts["Trap Karen and Megan in the kitchen"] = "KarenMegan">><</if>>
<<if not $ch2Events.lockdownRyanKarenToday>><<run _lockOpts["Trap Karen and Ryan in the bathroom"] = "RyanKaren">><</if>>
<<if not $ch2Events.lockdownJessMeganToday>><<run _lockOpts["Trap Jess and Megan in Jess's room"] = "JessMegan">><</if>>
<<if not $ch2Events.lockdownDaleJessToday>><<run _lockOpts["Trap Dale and Jess in the basement"] = "DaleJess">><</if>>
<<if Object.keys(_lockOpts).length gt 0 and $player.biomass gte 2>>
<p>Pin two of them in one room and let the vents do the rest (2 biomass each):</p>
<<if not $ch2Events.lockdownKarenMeganToday>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">LOCKDOWN</span> <<link "Trap Karen and Megan in the kitchen" "Ch2-Lockdown-KarenMegan">><</link>></div>
<</if>>
<<if not $ch2Events.lockdownRyanKarenToday>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">LOCKDOWN</span> <<link "Trap Karen and Ryan in the bathroom" "Ch2-Lockdown-RyanKaren">><</link>></div>
<</if>>
<<if not $ch2Events.lockdownJessMeganToday>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">LOCKDOWN</span> <<link "Trap Jess and Megan in Jess's room" "Ch2-Lockdown-JessMegan">><</link>></div>
<</if>>
<<if not $ch2Events.lockdownDaleJessToday>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">LOCKDOWN</span> <<link "Trap Dale and Jess in the basement" "Ch2-Lockdown-DaleJess">><</link>></div>
<</if>>
<<elseif Object.keys(_lockOpts).length gt 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pair lockdown, pin two family members in one room <span class="lock-hint">(Need 2 biomass, have <<= $player.biomass >>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pair lockdowns, all used today <span class="lock-hint">(Biscuit needs the night to recover)</span></div>
<</if>>
<<elseif $player.currentHost is "dog" and setup.getHouseTier() gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pair lockdown, pin two family members in one room <span class="lock-hint">(Requires Alpha Howl, Dog adaptation)</span></div>
<<elseif setup.getHouseTier() gte 2 and $adaptations.dog.unlocked.includes("alpha_howl")>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pair lockdown, pin two family members in one room <span class="lock-hint">(Switch to Biscuit)</span></div>
<</if>>
/* Package Tamper, follow-up to Mail Intercept. Surfaced in the hub instead of buried under Operations so players find it immediately after the intercept. */
<<if $ch2Events.ryanPackageIntercepted and not $ch2Events.ryanPackageTampered>>
<<if $ryanRoute is "feminization">>
<<checkOperationReqs "packageTamperFem">>
<<if _opReqsMet>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Tamper with Ryan's package: lace the clothing (2 biomass)" "Ch2-Op-PackageTamper-Plan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Tamper with Ryan's package, lace the clothing <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<elseif $ryanRoute is "familySeeker">>
<<checkOperationReqs "packageTamperFamily">>
<<if _opReqsMet>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Tamper with Ryan's package: coat the VR headset (2 biomass)" "Ch2-Op-PackageTamper-Plan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Tamper with Ryan's package, coat the VR headset <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Tamper with Ryan's package <span class="lock-hint">(Requires established conditioning route for Ryan)</span></div>
<</if>>
<<elseif $ch2Events.ryanPackageTampered>>
<div class="choice-done">Package Tampering, completed</div>
<</if>>
/* Network skills — Distributed Awareness provides passive flavor text throughout passages */
/* Resonance + EI hints */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility>>
<<if $resonance>>
<<set _missedCount to 0>>
<<if $resonance.missedKarenDream and not $resonance.exploredKarenDream>><<set _missedCount += 1>><</if>>
<<if $resonance.missedMeganDream and not $resonance.exploredMeganDream>><<set _missedCount += 1>><</if>>
<<if $resonance.missedLaundry and not $resonance.exploredLaundry>><<set _missedCount += 1>><</if>>
<<if $resonance.missedPantry and not $resonance.exploredPantry>><<set _missedCount += 1>><</if>>
<<if _missedCount gt 0>>
<<set _resLabel to "Explore Resonance — rethink events with new hindsight (" + _missedCount + " available)">>
<div class="network-choice"><span class="delve-tag delve-tag-network">RESONANCE</span> <<link _resLabel "Ch2-ExploreResonance">><</link>></div>
<</if>>
<</if>>
/* EI operation hint, show when a repeatable op is available */
<<set _eiHint to "">>
<<set _washAvail to (not $ch2Events.lastWashDay) or ($day - $ch2Events.lastWashDay) gte 7>>
<<set _mailAvail to (not $ch2Events.lastMailDay) or ($day - $ch2Events.lastMailDay) gte 7>>
<<set _phoneAvail to (not $ch2Events.lastPhoneDay) or ($day - $ch2Events.lastPhoneDay) gte 3>>
<<set _pantryAvail to (not $ch2Events.lastPantryDay) or ($day - $ch2Events.lastPantryDay) gte 7>>
<<if $operationsCompleted.washingMachine and _washAvail and not $ch2Events.eiWashToday>><<set _eiHint to "The washing machine cycle is ready — Deep Analysis can recalibrate the compound.">><</if>>
<<if $operationsCompleted.mailIntercept and _mailAvail and not $ch2Events.eiMailToday and _eiHint is "">><<set _eiHint to "Mail delivery incoming — Deep Analysis can forge replacement letters.">><</if>>
<<if $operationsCompleted.phoneIntercept and _phoneAvail and not $ch2Events.eiPhoneToday and _eiHint is "">><<set _eiHint to "A phone is accessible — Deep Analysis can install a surveillance backdoor.">><</if>>
<<if $operationsCompleted.pantryPoison and _pantryAvail and not $ch2Events.eiPantryToday and _eiHint is "">><<set _eiHint to "The pantry restock is due — Deep Analysis can optimize compound distribution.">><</if>>
<<if _eiHint isnot "">>
<div class="data-panel" style="border-color:#a04ad9;font-size:0.85em;">
<p><span style="color:#a04ad9;">⟡ Emergent Intelligence:</span> <<= _eiHint >> Complete the operation to unlock the bonus challenge.</p>
</div>
<</if>>
<</if>>
/* Convergence — coordinated multi-host assault against a single family member.
Costs 3 biomass. Reduces target's individual suspicion (-3) and house suspicion (-2).
Available once per day (convergenceToday resets on day advance).
SUPPRESSED once HVAC is compromised — the ambient dose neutralises suspicion
baseline-wide, and Convergence's suspicion reduction becomes redundant. */
<<if setup.activeHostCount() gte 4 and not ($houseState and $houseState.hvacCompromised)>>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility and not $ch2Events.convergenceToday>>
<<if $player.biomass gte 3>>
<p>Choose a target for Convergence (3 biomass, all hosts act simultaneously to sedate and condition a single family member):</p>
<<set _fmtAlert to function(a) { return a === "veryhigh" ? "very high" : a; }>>
<<set _convTarget to "karen">>
<<set _lblKaren to "Karen: suspicion " + $familySuspicion.karen.level + "/10, alertness " + _fmtAlert($familySuspicion.karen.alertness)>>
<<set _lblDale to "Dale: suspicion " + $familySuspicion.dale.level + "/10, alertness " + _fmtAlert($familySuspicion.dale.alertness)>>
<<set _lblMegan to "Megan: suspicion " + $familySuspicion.megan.level + "/10, alertness " + _fmtAlert($familySuspicion.megan.alertness)>>
<<set _lblJess to "Jess: suspicion " + $familySuspicion.jess.level + "/10, alertness " + _fmtAlert($familySuspicion.jess.alertness)>>
<<set _lblRyan to "Ryan: suspicion " + $familySuspicion.ryan.level + "/10, alertness " + _fmtAlert($familySuspicion.ryan.alertness)>>
<div class="convergence-select"><span class="delve-tag delve-tag-network">CONVERGENCE</span>
<<listbox "_convTarget" autoselect>>
<<option _lblKaren "karen">>
<<option _lblDale "dale">>
<<option _lblMegan "megan">>
<<option _lblJess "jess">>
<<option _lblRyan "ryan">>
<</listbox>>
<<button "Begin Convergence">><<set $ch2Events.convergenceTarget to _convTarget>><<set $player.biomass -= 3>><<goto "Ch2-Beast-Convergence-Target">><</button>>
</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Convergence, coordinated assault on one family member <span class="lock-hint">(Need 3 biomass, have <<= $player.biomass >>)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.convergenceToday>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Convergence, already used today <span class="lock-hint">(The network needs time to recover. Available again tomorrow.)</span></div>
<</if>>
<</if>>
/* Egg Laying, household tier 3 + Egg Laying adaptation. Per-carrier full-corruption gating happens inside the hub passage. */
<<if $animalNetwork.hosts["gecko"] and $player.currentHost is "gecko" and setup.getHouseTier() gte 3>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility>>
<div class="network-choice"><span class="delve-tag delve-tag-network">EGG LAY</span> [[Egg Laying, seed external nests through fully-corrupted carriers->Ch2-Beast-EggLaying-Hub]]</div>
<</if>>
<</if>>
<</if>>
/* Risky exploration, repeatable daily AP at suspicion cost */
<<if $beastRoute is "symbiotic" and not $ch2Events.riskyExploreToday>>
<<if $player.currentHost is "rat">>
<div class="host-choice"><span class="delve-tag delve-tag-host">EXPLORE</span> [[Gnaw into unexplored wall cavities, risky adaptation training (+1 rat AP, +3 suspicion)->Ch2-RiskyExplore-Rat]]</div>
<<elseif $player.currentHost is "cat">>
<div class="host-choice"><span class="delve-tag delve-tag-host">EXPLORE</span> [[Stalk through occupied rooms in daylight, push the body's limits (+1 cat AP, +3 suspicion)->Ch2-RiskyExplore-Cat]]</div>
<<elseif $player.currentHost is "gecko">>
<div class="host-choice"><span class="delve-tag delve-tag-host">EXPLORE</span> [[Crawl across exposed surfaces while family is present (+1 gecko AP, +3 suspicion)->Ch2-RiskyExplore-Gecko]]</div>
<<elseif $player.currentHost is "dog">>
<div class="host-choice"><span class="delve-tag delve-tag-host">EXPLORE</span> [[Patrol aggressively, test dominance behaviours on the family (+1 dog AP, +3 suspicion)->Ch2-RiskyExplore-Dog]]</div>
<</if>>
<</if>>
/* Emergency feeding, only when biomass is 0 */
<<if $player.biomass is 0 and not $ch2Events.emergencyFed>>
<div class="data-panel">
<div class="data-panel-title">Biomass Critical</div>
<p>Reserves depleted. Emergency feeding available.</p>
</div>
[[Emergency feed, scavenge whatever this body can find (+1 biomass)->Ch2-Combo-EmergencyFeed]]
<</if>>
/* Combo operations, player-initiated, require Hive Coordination */
<<if $beastRoute is "symbiotic">>
<<hasSkillTreeAbility "Hive Coordination">>
<<if _hasAbility>>
<<if not $ch2Events.medicineCabinetCombo and $adaptations.gecko.unlocked.includes("hidden_observer") and $adaptations.rat.unlocked.includes("iron_stomach") and $animalNetwork.hosts.gecko and $animalNetwork.hosts.gecko.status isnot "unavailable" and $house.dayPhase is "day">>
<div class="network-choice"><span class="delve-tag delve-tag-network">COMBO</span> <<biomassPreview "Medicine Cabinet: enhance Karen's sleep permanently (2 biomass)" "Ch2-Combo-MedicineCabinet" 2>></div>
<</if>>
/* STATUS: TO REWORK — "Investigate the lab" combo (Ch2-Combo-CarKeys) disabled
2026-06-25 pending redesign of the lab-investigation path (now overlaps the
rat-host-memory -> Camila/Dale-compromised thread). See tasks/rework.md.
<<if not $permanentDone.carKeysCombo and $delveInfo.jess and setup.activeHostCount() gte 4 and $adaptations.cat.unlocked.includes("pheromone_coat") and $adaptations.dog.unlocked.includes("alpha_howl") and $house.dayPhase is "day">>
<<if $delveInfo.ratHostMemories>>
<div class="network-choice"><span class="delve-tag delve-tag-network">COMBO</span> [[Investigate the lab->Ch2-Combo-CarKeys]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Investigate the lab <span class="lock-hint">(requires the rat's memory of the lab first)</span></div>
<</if>>
<</if>>
*/
<</if>>
<</if>>
/* House infestation progress, based on completed operations (Tier 1/2/3, excluding Tier 0 Piggyback) */
<<nobr>>
<<set _opsCompleted to 0>>
<<set _opsTotal to 14>>
/* Tier 1 — 5 ops */
<<if $operationsCompleted.washingMachine>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.mailIntercept>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.phoneIntercept>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.evidencePlant>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.pantryPoison>><<set _opsCompleted += 1>><</if>>
/* Tier 2 — 4 ops */
<<if $operationsCompleted.prescriptionManip>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.showerTrap>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.screenPuppetry>><<set _opsCompleted += 1>><</if>>
<<if $operationsCompleted.nightHarvest>><<set _opsCompleted += 1>><</if>>
/* Tier 3 — 4 ops */
<<if $houseState and $houseState.bossInfiltrated>><<set _opsCompleted += 1>><</if>>
<<if $houseState and $houseState.cumshareRitualHeld>><<set _opsCompleted += 1>><</if>>
<<if $houseState and $houseState.hvacCompromised>><<set _opsCompleted += 1>><</if>>
<<if $houseState and $houseState.nestBuilt>><<set _opsCompleted += 1>><</if>>
/* Nest Upgrade */
<<if $ch2Events.nestUpgraded>><<set _opsCompleted += 1>><</if>>
<<set _pct to Math.floor((_opsCompleted / _opsTotal) * 100)>>
<<set _ready to (_opsCompleted gte _opsTotal)>>
<<set _barColor to (_pct >= 70 ? "#4caf50" : (_pct >= 40 ? "#ff9800" : "#f44336"))>>
<</nobr>>
<<if _ready>>
<div class="data-panel" style="border-color:#4caf50;">
<div class="data-panel-title" style="color:#4caf50;">House Infestation Complete — 100%</div>
<p>The network has reached critical mass. All systems self-sustaining. Multiple exit vectors available.</p>
</div>
[[The house is yours, choose your path forward->Ch2-Ending-Hub]]
<<else>>
<div class="data-panel">
<div class="data-panel-title">House Infestation — <<= _pct >>% <span style="font-size:0.7em; font-weight:400; color:#888;">(<<= _opsCompleted >>/<<= _opsTotal >> operations)</span></div>
<<print '<div style="background:rgba(255,255,255,0.1); border-radius:3px; height:8px; margin:6px 0;"><div style="background:' + _barColor + '; width:' + _pct + '%; height:100%; border-radius:3px;"></div></div>'>>
<p>Complete operations to expand the parasite's hold on the household.</p>
</div>
<</if>>
/* Network status overview */
[[View network status->Ch2-Beast-Status]]
/* Network Status, collapsible */
<details class="journal-entry">
<summary>Network Status — <<= Object.keys($animalNetwork.hosts).length >> hosts</summary>
<div class="journal-entry-body">
<<for _hostId, _host range $animalNetwork.hosts>>
<div style="margin-bottom:0.3em;">
<p><b><<= _host.name >></b> (<<= _host.type >>) — <<if _host.status is "active">><span style="color:#4caf50">ACTIVE</span><<elseif _host.status is "unavailable">><span style="color:#888">Released</span><<else>><span style="color:#4a90d9">Passive</span><</if>></p>
| <<= setup.roomName(_host.location) >><<if _host.task>> | Task: <<= _host.task >><</if>>
</div>
<</for>>
</div>
</details>
/* Wait/Rest option */
<<if $house.dayPhase is "day">>
<<link "Wait until nightfall: the family goes to sleep" "Ch2-Beast-Rest">><<set $wantTransition to true>><</link>>
<<else>>
<<link "Wait until morning: a new day begins" "Ch2-Beast-Rest">><<set $wantTransition to true>><</link>>
<</if>>
/* Skill tree access */
<<if $player.skillPoints gt 0>>
[[Spend Skill Points->SkillTree]]
<</if>>
/* Neural Synthesis, convert biomass to skill points */
<<if $player.biomass gte 8>>
<div class="network-choice"><span class="delve-tag delve-tag-network">EVOLVE</span> <<link "Neural Synthesis: convert biomass to skill point (8 biomass)" "Ch2-NeuralSynthesis">><<set $player.biomass -= 8>><<set $player.skillPoints += 1>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Neural Synthesis, convert biomass to skill point <span class="lock-hint">(Need 8 biomass, have <<= $player.biomass>>)</span></div>
<</if>>
/* Symbiotic-route mod entry cards (installed .hvmod slots targeting this hub) */
<<modSlots "beast-network-hub">><<nobr>><<bg "bg-hoffman-house">>
/* SP was awarded in the link handler (atomic with biomass spend) — NOT on passage entry.
This prevents history-nav from re-awarding SP without re-spending biomass. */
<</nobr>>
<div class="passage-title">Neural Synthesis</div>
<img class="scene-img" src="media/scenes/beast-neural-synthesis.webp" alt="Neural pathways crystallizing">
<<say "char-hivemind" "Hivemind">>
//Biomass floods the neural pathways, raw organic fuel, repurposed. Not for muscle. Not for pheromones. For //thought//. The network's collective processing power spikes as eight units of stored energy crystallize into a single, permanent cognitive upgrade.//
//It hurts. Growth always does. But when it's done, a new connection exists that didn't before. A new capability. A new weapon.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Neural Synthesis Complete</div>
8 biomass consumed. <span class="biomass-gain">+1 Skill Point</span>
</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-basement">>
<<if not $ch2Events.riskyExploreToday>>
<<set $ch2Events.riskyExploreToday to true>>
<<set $adaptations.rat.points += 1>>
<<addSuspicion "hoffmanHouse" 3>>
<</if>><</nobr>>
<div class="passage-title">Risky Exploration</div>
<img class="scene-img" src="media/scenes/beast-explore-rat.webp" alt="Rat gnawing through wall cavity">
<p>You gnaw through drywall into an unexplored cavity between the basement and the garage. The space is tight, insulation fibres press against the rat's body, itching, suffocating. You push deeper. Something gives. A pocket of air, warm and stale, opens into a junction you didn't know existed.</p>
<p>The rat's muscles ache. The jaw is sore from gnawing. But the body is //learning//, adapting to harder materials, tighter spaces, longer exposure to confined darkness.</p>
<<say "char-hivemind" "Hivemind">>
//Pain is data. Every fibre the teeth strip, every squeeze through a gap that shouldn't fit, the body catalogues it. Stores it. Next time, the jaw is stronger. The ribs compress further. The whiskers measure more precisely.// Growth requires risk. And the gnaw marks on the drywall are visible evidence of that risk.
<</say>>
<p><span class="biomass-gain">+1 Rat Adaptation Point</span></p>
<p><span class="consume-fail">+3 suspicion, gnaw marks and disturbed insulation leave evidence.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-upper">>
<<if not $ch2Events.riskyExploreToday>>
<<set $ch2Events.riskyExploreToday to true>>
<<set $adaptations.cat.points += 1>>
<<addSuspicion "hoffmanHouse" 3>>
<</if>><</nobr>>
<div class="passage-title">Risky Exploration</div>
<img class="scene-img" src="media/scenes/beast-explore-cat.webp" alt="Cat stalking through house in daylight">
<p>You walk through the house in broad daylight, not hiding behind furniture, not waiting for rooms to empty. The cat weaves between Karen's legs in the kitchen. Jumps onto Dale's chest while he sleeps. Sits on Ryan's keyboard mid-game. Each interaction is a test, how close can you get? How much can you observe? How far can you push before someone reacts?</p>
<p>Megan pushes you off the bathroom counter. Karen shoos you from the stovetop. //Good.// Their reactions teach the body as much as their compliance.</p>
<<say "char-hivemind" "Hivemind">>
//The cat's body learns from friction.// The swat Karen gives when you knock over her coffee, it teaches the paws about force. The hiss Megan gets when she grabs too roughly, it teaches the vocal cords about threat display. //Every confrontation is a lesson. Every lesson costs a little trust.//
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point</span></p>
<p><span class="consume-fail">+3 suspicion, the cat is being unusually bold. Someone notices.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<if not $ch2Events.riskyExploreToday>>
<<set $ch2Events.riskyExploreToday to true>>
<<set $adaptations.gecko.points += 1>>
<<addSuspicion "hoffmanHouse" 3>>
<</if>><</nobr>>
<div class="passage-title">Risky Exploration</div>
<img class="scene-img" src="media/scenes/beast-explore-gecko.webp" alt="Gecko crossing exposed ceiling">
<p>You leave the terrarium while Ryan is at his desk. Not through the vents, across the open wall. The gecko's toe pads grip the plaster, carrying you over the doorframe and into the hallway. Exposed. Visible. //Faster than hiding, and the body needs to learn speed.//</p>
<p>You cross the hallway ceiling in seconds. Down the stairwell wall. Into the kitchen, upside down on the ceiling, directly above Karen as she chops vegetables. One look up and she'd see a gecko where no gecko should be.</p>
<p>She doesn't look up. Not this time.</p>
<<say "char-hivemind" "Hivemind">>
//The gecko's body was built for stealth, but stealth requires practice.// Running exposed surfaces trains the reflexes. Timing the freeze response. Calibrating the camouflage instinct. //Every second in the open is a second the body learns to be invisible.//
<</say>>
<p><span class="biomass-gain">+1 Gecko Adaptation Point</span></p>
<p><span class="consume-fail">+3 suspicion, a gecko outside its terrarium. If Ryan notices Spike is gone...</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-garden">>
<<if not $ch2Events.riskyExploreToday>>
<<set $ch2Events.riskyExploreToday to true>>
<<set $adaptations.dog.points += 1>>
<<addSuspicion "hoffmanHouse" 3>>
<</if>><</nobr>>
<div class="passage-title">Risky Exploration</div>
<img class="scene-img" src="media/scenes/beast-explore-dog.webp" alt="Dog testing dominance in backyard">
<p>Biscuit doesn't wait for permission. You push through the back door when Karen opens it, sprint across the yard, and throw the dog's full weight against the fence. The wood creaks. You dig at the base, frantic, aggressive, testing the limits of the body's strength.</p>
<p>Then the living room. You claim the couch — Dale's spot, and growl when he approaches. He backs off, confused. Karen calls your name. You ignore her. //The body needs to learn dominance, and dominance means testing boundaries.//</p>
<<say "char-hivemind" "Hivemind">>
//A dog that obeys is invisible. A dog that //doesn't// obey is terrifying.// The family's reaction to aggression teaches the body more than a hundred hours of passive observation. Muscle memory for intimidation. Vocal range for territorial display. //The cost is their trust. The gain is the dog's full potential.//
<</say>>
<p><span class="biomass-gain">+1 Dog Adaptation Point</span></p>
<p><span class="consume-fail">+3 suspicion, aggressive behaviour from the family dog raises alarm.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $animalNetwork.hosts[$animalNetwork.activeHost].location to $currentRoom>>
<<set $animalNetwork.hosts[$animalNetwork.activeHost].status to "passive">>
<<set $animalNetwork.hosts[$switchTarget].status to "active">>
<<set $animalNetwork.activeHost to $switchTarget>>
<<if $animalNetwork.hosts[$switchTarget]>>
<<changeHost $animalNetwork.hosts[$switchTarget].type>>
<</if>>
<</nobr>>
<div class="passage-title">Neural Transfer</div>
<<hasSkillTreeAbility "Synaptic Relay">>
<<if _hasAbility>>
<p><span class="skill-used">Synaptic Relay, seamless transfer, no observable disruption</span></p>
<<say "char-hivemind" "Hivemind">>
//Synaptic Relay smooths the neural handoff. No disorientation. No sensory lag. One moment you're the cat on the counter. The next, you're the rat in the wall. The transition is seamless, like changing channels on a television that shows four perspectives of the same house.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The switch.// Consciousness flows between vessels, a moment of disorientation. The old body goes rigid for a second. Not long. But long enough.
<</say>>
<</if>>
<<if $player.currentHost is "cat">>
<p>The cat's body snaps into focus. Warm fur. Silent paws. The world rendered in sharp detail, every shadow has depth, every sound has direction. The family's scent is everywhere, layered and rich.</p>
<<say "char-hivemind" "Hivemind">>
//Whiskers. The spy. The infiltrator. The one they trust.//
<</say>>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's body, all muscle and mass and //scent//. The world explodes into a cathedral of smell. Every surface radiates information. The family's emotional states are written in the air itself.</p>
<<say "char-hivemind" "Hivemind">>
//Biscuit. The enforcer. The scout. The one they respect.//
<</say>>
<<elseif $player.currentHost is "gecko">>
<p>Cold blood. The heat lamp's warmth is everything. The world is flat and still through the gecko's primitive eyes, but the vibrations through the rock and glass tell their own story.</p>
<<say "char-hivemind" "Hivemind">>
//Spike. The watcher. The stowaway. The one they forget.//
<</say>>
<<elseif $player.currentHost is "rat">>
<p>The rat's body, quick, twitchy, every nerve on alert. The darkness of the wall cavity is total, but the whiskers read the air currents like braille.</p>
<<say "char-hivemind" "Hivemind">>
//The rat. The foundation. The one they never see.//
<</say>>
<</if>>
<p><span class="skill-used">Host switched to <<= $player.currentHost >>. Previous host now passive in the network.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.convergenceToday to true>>
<<set _target to $ch2Events.convergenceTarget>>
<<addFamilySuspicion _target -3>>
<<addSuspicion "hoffmanHouse" -1>><</nobr>>
<div class="passage-title">Convergence: <<= _target.toUpperFirst() >></div>
/* === CONVERGENCE IMAGE REFERENCES — DO NOT DELETE DURING ORPHAN SCANS ===
The @src attribute below dynamically resolves to one of these files via
string concatenation, so a regex-based "unused image" audit will NOT find
the references and will flag these files as orphaned. They are LIVE.
Canonical filenames (restored after a previous cleanup wiped them):
media/scenes/symbiotic/beast-convergence-karen.webp
media/scenes/symbiotic/beast-convergence-dale.webp
media/scenes/symbiotic/beast-convergence-megan.webp
media/scenes/symbiotic/beast-convergence-jess.webp
media/scenes/symbiotic/beast-convergence-ryan.webp
media/scenes/symbiotic/beast-convergence-ryan-fem.webp (feminization branch below)
media/scenes/symbiotic/beast-convergence-jess-punk.webp (punk branch below)
media/scenes/symbiotic/beast-convergence.webp (generic fallback)
*/
<<if _target is "ryan" and $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/symbiotic/beast-convergence-ryan-fem.webp" alt="Four animals coordinating around Lily in her streaming setup">
<<elseif _target is "jess" and $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/beast-convergence-jess-punk.webp" alt="Punk Jess in headphones, eyes closed, cat in her lap, green spore haze, gecko on the ceiling">
<<else>>
<img class="scene-img" @src="'media/scenes/symbiotic/beast-convergence-' + _target + '.webp'" @alt="'Four animals coordinating around ' + _target.toUpperFirst()">
<</if>>
<<say "char-hivemind" "Hivemind">>
//Now.// All four. Simultaneously. Target: //<<= _target.toUpperFirst() >>//.
<</say>>
<p>The signal pulses through the network, a single thought, broadcast to every node at once. Four bodies receive it. Four bodies act.</p>
<<if _target is "karen">>
''The Cat'' jumps onto Karen's lap as she works at the kitchen table. She startles, then softens. Her hand finds the fur automatically. The pheromone coat activates on contact, flooding her system with calming chemicals.
<<say "char-karen" "Karen">>
<i>(surprised, then relaxing)</i> Oh... Whiskers. You scared me, sweetie. Come here...
<</say>>
''The Rat'' releases green sporocyst spores through the kitchen vent. ''The Dog'' barks once from the garage. Karen flinches, then the cat's warmth pulls her back down. ''The Gecko'' observes from the ceiling, confirming: target sedated.
<<elseif _target is "dale">>
<p>Dale is on the couch. The dog pads over and lies across his feet, heavy, warm, pinning him in place without him noticing. The pheromone coat seeps through his socks and into the skin of his ankles. The rat's green spores drift from the vent above the couch, settling on his face while his mouth hangs open.</p>
<p>The cat jumps onto the couch arm beside him and begins grooming. The sound is rhythmic, hypnotic. Dale's eyes close. He was already tired. Now he's //unreachable//.</p>
<<elseif _target is "megan">>
<p>Megan is in her room, phone in hand. The gecko is already on the ceiling, it drops a micro-dose of toxin onto the pillow she's leaning against. The cat scratches at her door. She opens it. The cat enters, purring, pressing against her legs. Pheromone transfer through bare skin, she's wearing shorts.</p>
<p>The rat's green spores drift through the wall vent. Megan takes a deep breath, she was about to text Marcus. Her thumb hovers. The thought dissolves. She puts the phone down and buries her face in the cat's fur.</p>
<<elseif _target is "jess">>
<<if $jessRoute is "punk">>
<p>Jess is in her chair, headphones on, head tilted back, eyes closed. A bass line saws through the cans loud enough to bleed into the room. The textbook is shoved aside, unopened. The laptop is shut. She's not studying, she's drifting, riding the song into a place where the future doesn't exist and the GPA doesn't matter.</p>
<p>The gecko is above her, camouflaged against the ceiling plaster. The rat releases green spores through the floor vent, they coil up around the chair legs, around her bare ankles, into the back of her neck where the headphone band rests. The cat scratches at the door. She doesn't hear it. The cat scratches again. Again.</p>
<<say "char-jess" "Jess">>
<i>(eyes still closed, lifting one earphone half an inch)</i> ...yeah, come in, whatever.
<</say>>
<p>The cat threads between her ankles, then jumps into her lap. She doesn't open her eyes. Her hand finds the fur automatically, pheromone coat on bare palm, rhythmic stroke matching the bass. She thinks she's just zoning out. She's not. The network has her in four points of contact and she's mistaking the calm for the song.</p>
<<else>>
<p>Jess is at her desk. The gecko is above her, camouflaged against the ceiling plaster. The rat releases green spores through the desk vent, the one eighteen inches from her face. The cat meows outside her door. Jess ignores it. Meows again. Again.</p>
<<say "char-jess" "Jess">>
<i>(not looking up)</i> ...fine.
<</say>>
<p>She opens the door. The cat threads between her ankles. Pheromone coat on bare skin. She sits back down with the cat on her lap. The highlighter slows. The textbook blurs. The fortress mind takes a hit it doesn't register.</p>
<</if>>
<<elseif _target is "ryan">>
<<if $ryanRoute is "feminization">>
<p>Ryan is at his desk, but tonight he's //Lily//. The long dark wig. The satin camisole he finally let himself order. The ring light is on, angled low, and the webcam preview shows a face he's still learning to recognise as his own. He hasn't started streaming yet. He's just... looking.</p>
<p>The gecko is on the desk lamp, close enough to touch the wig. The dog scratches at the door. Ryan, //Lily//, freezes. Then opens it. Biscuit pads in, sniffs the unfamiliar clothes, and lies down under the desk anyway. Muzzle against a bare ankle. The pheromone coat transfers through the contact.</p>
<p>The rat's green spores drift from the wall vent behind the monitors, catching the ring light in a faint emerald haze that Lily mistakes for the LED strips. The cat jumps onto the bed and curls against the satin pillow. Four hosts in one room. Lily's hand drifts from the keyboard to her own collarbone, tracing the edge of the camisole, the unfamiliar softness against skin that is learning to be touched differently.</p>
<<say "char-hivemind" "Hivemind">>
//She is more reachable than he ever was. The new wiring has dissolved the armour Ryan built, the hoodies, the headphones, the locked door. Lily //wants// to be seen. Lily //wants// contact. The convergence hits an open target.//
<</say>>
<<else>>
<p>Ryan is gaming. The gecko is already on his desk lamp. The dog scratches at his door. Ryan opens it. Biscuit pads in and lies under the desk, muzzle against Ryan's bare foot. Warmth. Contact. The touch-starved boy doesn't push the dog away.</p>
<p>The rat's green spores drift from the wall vent behind the monitor. The cat jumps onto the bed behind him. Four hosts in one room. Ryan's reaction time drops. His guild-chat messages get shorter. His hand drifts from the keyboard to the dog's head and stays there.</p>
<</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Four bodies. One mind. One purpose. <<= _target.toUpperFirst() >>'s defenses collapsed under coordinated biological assault, pheromones, spores, toxin, and physical contact delivered simultaneously from four vectors. This is what the lab was trying to build. This is what I was designed for, not a single organism, but a ''system''.//
<</say>>
<<if _target is "karen">>
<<if setup.getHouseTier() gte 2>>
<<say "char-karen-thought" "Karen">>
...let it go. Just for tonight, let the whole thing go, the schedule and the five of them and the being-the-one-who-holds-it-together, set it down on the floor next to the cat and leave it there, nobody will notice if I stop for one night, nobody ever notices when I stop, and it is so quiet in here without the part of me that never quits counting, I didn't know it could get this quiet, I didn't know I was allowed to put it down.
<</say>>
<<else>>
<<say "char-karen-thought" "Karen">>
...the bills can wait, it can all wait, the mortgage and the quarterly and Jess's deposit, just for a minute, just let me sit here where it's warm and none of it needs me, the cat is so heavy and so warm and I can't think when the house was last this quiet, when did all of it get so loud, it's nice like this, it's nice, I should be doing the, I should be, no, in a minute, in a minute.
<</say>>
<</if>>
<<elseif _target is "dale">>
<<if setup.getHouseTier() gte 2>>
<<say "char-dale-thought" "Dale">>
...stay down. Stay down and let it all run without me for one night, the bills, the lot, the way Karen looks at the couch when she thinks I'm not awake, all of it can keep going on its own, the heaviness is good, the heaviness means I can finally quit holding the whole day up. When did stopping get this hard? Just stop. Just for tonight, stop being the one who drags himself back up off the cushions.
<</say>>
<<else>>
<<say "char-dale-thought" "Dale">>
...don't have to get up. Not yet. Whole body's gone heavy in a good way for once, back's quiet, even the back, can't think when the back was last quiet. Shift's not till later. Doesn't matter. Just stay right here a while, warm, nobody needing anything off me, just... stay.
<</say>>
<</if>>
<<elseif _target is "megan">>
<<if $meganRoute is "slut">>
<<say "char-megan-thought" "Megan">>
...god I feel good, loose and warm and wanting all the way down, and I don't care who knows it tonight. Phone. There. One for Marcus first, tilt the screen down, hold the look, send, he'll be useless the rest of his shift. And one for the feed, because I look exactly like I feel and they should all get to see it, the cat warm against me and the room gone soft and me not pretending to be the sweet one for once. Post it. Post the other one too. More.
<</say>>
<<elseif setup.getHouseTier() gte 2>>
<<say "char-megan-thought" "Megan">>
...god, I feel good, loose all the way through, warm and humming and wanting in a way I usually talk myself straight out of. Where's my phone. There. Marcus is up, he's always up. He'd like me like this. Just one, just for him, tilt the screen, hold the warm feeling in my face so it shows... there. Sent. It's so easy when I'm like this. Why do I ever make it hard?
<</say>>
<<else>>
<<say "char-megan-thought" "Megan">>
...mmm, five more minutes. The cat's so warm and I don't have to be anything right now, don't have to smile at anybody or be the easy one or ask how everyone's day went, nobody's watching in here, I can just be a person lying in a warm room, when did that turn into a treat, it's nice, it's really nice, I'll get up and be bright again in a minute, just not yet.
<</say>>
<</if>>
<<elseif _target is "jess">>
<<if $jessRoute is "punk">>
<<say "char-jess-thought" "Jess">>
...yeah. This. This is the only thing that's made sense in a long time, just the bass and the warm weight in my lap and not one thought about the MCAT or the deposit or who I'm supposed to be turning into. The pre-med thing can stay shut in the textbook. I'm not opening it. I'm not opening anything. Just going to sit here in the loud and the warm and let all the rest of it stay closed.
<</say>>
<<elseif $jessRoute is "breakdown" or setup.getHouseTier() gte 2>>
<<say "char-jess-thought" "Jess">>
...I'm not going to make it, and right now I don't even care, and that's the part that should scare me and doesn't. Right now, with the warm and the quiet, I genuinely don't care that the wall is coming down, because it turns out there's just this behind it, this softness, this nothing-hurts. Why did I push so hard to hold a wall up in front of something that feels like this? Don't make me remember the deposit. Just let me stay where none of it counts.
<</say>>
<<else>>
<<say "char-jess-thought" "Jess">>
...five minutes. I can give it five minutes. The radial nerve isn't going anywhere, the deposit isn't going anywhere, none of it is, and the cat is warm and my eyes ache from the page, and for five minutes I don't have to hold the whole thing in my head at once. The cubital fossa can wait. Everything can wait. It gets so quiet when I stop pushing. I forgot it could be quiet.
<</say>>
<</if>>
<<elseif _target is "ryan">>
<<if $ryanRoute is "feminization">>
<<say "char-ryan-thought" "Ryan">>
...this is okay. This is allowed. The dog's warm against my ankle and nobody in here is laughing and nobody's watching except the people I let watch, and the camisole feels right, it feels like me, and I don't have to defend that to anyone tonight. I can just sit in it and be soft and be seen and have it not turn into a fight. Why is it always a fight out there? In here it isn't. In here I can just be.
<</say>>
<<elseif setup.getHouseTier() gte 2>>
<<say "char-ryan-thought" "Ryan">>
...I don't have to go back to the screen. Don't have to be the guy who only exists in a chat box, the one who, no. Just stay down here in the warm where the dog is and it's quiet and I don't have to perform being a person for people who've never seen my face. This is real. This is warm. Why did I keep picking the other thing over this? Stay. Just stay.
<</say>>
<<else>>
<<say "char-ryan-thought" "Ryan">>
...the dog's just going to lie here. Okay. That's, that's fine, that's actually fine, warm on my foot and not asking me for anything. The guild can wait. The message I keep not answering can wait. All of it out there can wait. In here it's just warm and quiet and nobody needs me to be okay or to be anything at all. I could just not move for a while. That'd be... yeah.
<</say>>
<</if>>
<</if>>
<p><span class="consume-success">Convergence complete. <<= _target.toUpperFirst() >> suspicion -3. Household suspicion -1.</span></p>
<div class="data-panel-muted">The convergence has exhausted the network's coordination for today. Repeat available tomorrow.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set _host to $animalNetwork.hosts[$releaseTarget]>>
<<set _hostName to _host.name>>
<<set _hostType to _host.type>>
/* Set 2-day cooldown */
<<set _host.status to "unavailable">>
<<set $ch2Events[$releaseTarget + "ReleasedDay"] to $day>>
/* Reduce suspicion */
<<addSuspicion "hoffmanHouse" -3>>
<</nobr>>
<div class="passage-title">Release</div>
<p>You withdraw from <<= _hostName >>. Not a violent separation, a //loosening//. The neural threads dissolve. The animal blinks. Shakes its head. For a moment it stands confused, caught between the memory of being //more// and the reality of being //itself// again.</p>
<p>Then instinct takes over. <<= _hostName >> turns and walks away, not fleeing, not afraid. Just an animal going about its business, unburdened by a passenger it never knew it carried.</p>
<<say "char-hivemind" "Hivemind">>
//One node offline.// The family notices the change unconsciously, the <<= _hostType >>'s behaviour normalises. //The house feels less observed. Suspicion drops.//
//Two days. Then the neural imprint fades enough for re-infestation.//
<</say>>
<p><span class="consume-success"><<= _hostName >> released. -3 household suspicion. Re-infestation available in 2 days.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set _host to $animalNetwork.hosts[$reinfestTarget]>>
<<set _host.status to "active">>
<<run delete State.variables.ch2Events[State.variables.reinfestTarget + "ReleasedDay"]>>
<</nobr>>
<div class="passage-title">Reclaimed</div>
<p>Two days. Long enough for the animal to forget the weight of a passenger. Long enough for the family to stop noticing the change.</p>
<p>You slip back in. The neural pathways are cold but intact, like footprints in dust, still readable, still //yours//. <<= _host.name >> accepts you the way a lock accepts a key it was cut for.</p>
<<say "char-hivemind" "Hivemind">>
//<<= _host.name >> reactivated.// The node is back online. //The network remembers what the animal forgot.//
<</say>>
<p><span class="skill-used"><<= _host.name >> reinfested, network node restored.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Network Resonance</div>
<<say "char-hivemind" "Hivemind">>
//The network has grown since those moments passed. I can reach back now, pull the data from the hosts who were there, reconstruct what I missed. The memories are fragmented, scattered across four nervous systems. But together, they form a picture.//
<</say>>
<<set _missedCount to 0>>
<<if $resonance.missedKarenDream and not $resonance.exploredKarenDream>><<set _missedCount += 1>>
<div class="network-choice"><span class="delve-tag delve-tag-network">RESONANCE</span> <<link "Karen's Dream Harvest: what the network would have seen" "Ch2-Resonance-KarenDream">><</link>></div>
<p><span class="lock-hint">The cat was alone during Karen's dream. Now the network can reconstruct what three other hosts observed.</span></p>
<</if>>
<<if $resonance.missedMeganDream and not $resonance.exploredMeganDream>><<set _missedCount += 1>>
<div class="network-choice"><span class="delve-tag delve-tag-network">RESONANCE</span> <<link "Megan's Dream Harvest: thermal and vibrational data" "Ch2-Resonance-MeganDream">><</link>></div>
<p><span class="lock-hint">The gecko's thermal readings and the rat's vibration map were available but unprocessed.</span></p>
<</if>>
<<if $resonance.missedLaundry and not $resonance.exploredLaundry>><<set _missedCount += 1>>
<div class="network-choice"><span class="delve-tag delve-tag-network">RESONANCE</span> <<link "Laundry Operation: cross-host chemical calibration" "Ch2-Resonance-Laundry">><</link>></div>
<p><span class="lock-hint">Each host carried scent data about a different family member. The compound could have been personalised.</span></p>
<</if>>
<<if $resonance.missedPantry and not $resonance.exploredPantry>><<set _missedCount += 1>>
<div class="network-choice"><span class="delve-tag delve-tag-network">RESONANCE</span> <<link "Pantry Operation: meal prioritisation data" "Ch2-Resonance-Pantry">><</link>></div>
<p><span class="lock-hint">The cat saw the meal plan. The gecko read the receipt. The dog smelled yesterday's dinner.</span></p>
<</if>>
<<if _missedCount is 0>>
<<say "char-hivemind" "Hivemind">>
//All resonances explored. The network's history is complete.//
<</say>>
<</if>>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<set $resonance.exploredKarenDream to true>><</nobr>>
<div class="passage-title">Resonance: Karen's Dream</div>
<<say "char-hivemind" "Hivemind">>
//Reconstructing. The cat was on the bed. But the dog was in the garage, it heard Karen's breathing change through the floor. The rat was in the wall behind the headboard, it felt her pulse through the plaster. The gecko was in Ryan's room, thermal data leaked through the open door.//
<</say>>
<p>The network reassembles the moment. Karen's dream, the tilting kitchen, the sliding plates, the children pulling at her arms. But now you see it from four perspectives simultaneously. The cat felt her hand clench the sheet. The dog heard her breath shift from sleep to distress. The rat registered her heartbeat accelerating through the wall, sixty-two, seventy, eighty-one beats per minute.</p>
<p>The dream-chorus would have been devastating. Instead of one voice reshaping the nightmare, four hosts feeding sensory data into the signal. Karen's subconscious wouldn't have heard a whisper. It would have heard a //verdict//.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning would have been deeper. The dream more persistent. She would have woken with the taste of it still in her mouth, not a memory but a //feeling// she couldn't shake for days. I was less than I am now. Next time, the network will be ready.//
<</say>>
<p><span class="delve-intel">Resonance recovered: Karen's dream harvest lacked network amplification. Future dream conditioning benefits from multi-host sensory integration.</span></p>
[[Return to Resonance->Ch2-ExploreResonance]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $resonance.exploredMeganDream to true>><</nobr>>
<div class="passage-title">Resonance: Megan's Dream</div>
<<say "char-hivemind" "Hivemind">>
//Reconstructing. The cat was on Megan's bed. But the gecko had thermal data — Megan's body heat spiked during the dream, concentrated at the chest and between the thighs. The rat mapped her breathing through the wall: irregular, catching, the rhythm of arousal she didn't recognise.//
<</say>>
<p>The network pieces it together. Megan's dream, the endless track, Marcus at the finish line, Karen's face replacing his. With the gecko's thermal overlay, you see what the cat alone couldn't: the heat bloom spreading across Megan's sleeping body. Her body responding to the dream before her mind understood what it meant.</p>
<p>The rat's vibration data adds another layer. The mattress shifted. Her legs moved, crossing, uncrossing, seeking friction in her sleep. The performance instinct active even unconscious, her body rehearsing something it had never done.</p>
<<say "char-hivemind" "Hivemind">>
//Three data streams. The cat saw the surface. The gecko saw the heat. The rat felt the movement. Together, the dream could have been shaped in real time, a //feedback loop//. She would have woken soaked.//
<</say>>
<p><span class="delve-intel">Resonance recovered: Megan's dream harvest missed thermal and vibrational biometric data. Future dream conditioning can use real-time body response to calibrate intensity.</span></p>
[[Return to Resonance->Ch2-ExploreResonance]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $resonance.exploredLaundry to true>><</nobr>>
<div class="passage-title">Resonance: Laundry Calibration</div>
<<say "char-hivemind" "Hivemind">>
//Reconstructing. The rat deposited the compound. But each host carried unique data about a different family member.//
<</say>>
<p>The cat had slept on Karen's lap, her skin oils, her perfume, the specific chemistry of a woman running on Sertraline and caffeine. The dog spent the morning with Dale, his sweat profile, the industrial cleaner residue, the cortisol of chronic exhaustion.</p>
<p>The gecko lives in Ryan's room. It knows his skin chemistry, the energy drink residue, the unwashed hoodie smell, the hormonal profile of someone who hasn't been touched in months. The rat mapped Jess through the wall, vending machine coffee, cortisol spikes, the scent of a body that runs on adrenaline and forgets to eat.</p>
<<say "char-hivemind" "Hivemind">>
//Four profiles. Four custom formulations. Instead of one generic compound, the machine could have delivered five personalised doses, each garment calibrated to its wearer's neurochemistry. Karen's blouse a different payload than Ryan's hoodie.//
//The data existed. The network wasn't ready. Now it is.//
<</say>>
<p><span class="delve-intel">Resonance recovered: Laundry compound was generic. Cross-host scent profiles could have enabled per-person calibration.</span></p>
[[Return to Resonance->Ch2-ExploreResonance]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $resonance.exploredPantry to true>><</nobr>>
<div class="passage-title">Resonance: Pantry Prioritisation</div>
<<say "char-hivemind" "Hivemind">>
//Reconstructing. The rat contaminated the pantry. But the network held data that would have changed //what// was contaminated.//
<</say>>
<p>The cat watched Karen write the meal plan on the fridge whiteboard, chicken Monday, pasta Tuesday, stir-fry Wednesday. The gecko read the grocery receipt left on the counter, flour in bulk, rice restocked, sugar running low. The dog catalogued Dale's lunch, leftover pasta, reheated standing at the counter.</p>
<p>Each piece pointed to the same items. Flour, pancakes, bread, Wednesday's chicken coating. Rice, dinner three nights a week. Sugar, every cup of coffee, the cereal Ryan eats at midnight, the tea Jess drinks at her desk.</p>
<<say "char-hivemind" "Hivemind">>
//Three items instead of twelve. The dose per serving //tripled//. Three days of contamination hitting like six. The pantry was a success. But it could have been an //operation//.//
<</say>>
<p><span class="delve-intel">Resonance recovered: Pantry contamination was unfocused. Network data identified flour, rice, and sugar as high-use items that could have tripled dose concentration.</span></p>
[[Return to Resonance->Ch2-ExploreResonance]]<<nobr>><<bg "bg-hoffman-house">><<set $kinksPageSeen to true>><<getHouseTier>><</nobr>>
<div class="passage-title">Conditioning and Kinks</div>
<div class="data-panel-muted">
<<= setup.phaseTime[$house.dayPhase] >>, <<= $weekday >>, Day <<= $day >> | Biomass: <<= $player.biomass >>/<<= $player.maxBiomass >>
</div>
/* ===== ROUTE PROGRESS & KINK MENU ===== */
<<if $routeScore>>
/* Route display names */
<<set _routeNames to { liberation: "liberation", dominant: "dominant", feminization: "feminization", familySeeker: "family connection", cuckold: "cuckold", oblivious: "oblivious", marcus: "Marcus", breakdown: "analytical breakdown" }>>
/* Check if anyone has any progress */
<<set _anyProgress to false>>
<<for _member range ["karen", "ryan", "dale", "megan", "jess"]>>
<<set _memberRoute to "">>
<<if _member is "karen">><<set _memberRoute to $karenRoute>><<elseif _member is "ryan">><<set _memberRoute to $ryanRoute>><<elseif _member is "dale">><<set _memberRoute to $daleRoute>><<elseif _member is "megan">><<set _memberRoute to $meganRoute>><<elseif _member is "jess">><<set _memberRoute to $jessRoute>><</if>>
<<if _memberRoute>><<set _anyProgress to true>>
<<else>><<for _r, _s range $routeScore[_member]>><<if _s gt 0>><<set _anyProgress to true>><</if>><</for>>
<</if>>
<</for>>
<<if _anyProgress>>
<div class="data-panel">
<div class="data-panel-title">Conditioning Progress</div>
<<getHouseTier>>
<<if _houseTier gte 2>>
<div class="route-progress-entry">//Each of them keeps a locked room inside themselves, a fantasy they have never admitted, a depravity they have refused to name. That is where I am needed. I am not the desire. I am the key to the door they welded shut against themselves. Open all five, and the household rewires around me. A foundation solid enough for the hive to grow.//</div>
<<else>>
<div class="route-progress-entry">//I cannot drift them too far from what they still call normal. Not yet. The taboos have to fall first, each of them dragged past the line they drew for themselves and taught to want it there. For this species, sex is the shortest corridor past conscious defence. Every other route is longer.//</div>
<</if>>
<<for _member range ["karen", "ryan", "dale", "megan", "jess"]>>
<<set _memberRoute to "">>
<<if _member is "karen">><<set _memberRoute to $karenRoute>><<elseif _member is "ryan">><<set _memberRoute to $ryanRoute>><<elseif _member is "dale">><<set _memberRoute to $daleRoute>><<elseif _member is "megan">><<set _memberRoute to $meganRoute>><<elseif _member is "jess">><<set _memberRoute to $jessRoute>><</if>>
<<if _memberRoute>>
<div class="route-progress-entry"><b><<= _member.toUpperFirst() >></b>: <span style="color:#4caf50"><<= (_routeNames[_memberRoute] or _memberRoute) >></span>, route locked. Conditioning follows this path exclusively.</div>
<<else>>
/* Find the leading route and check for ties */
<<set _maxScore to 0>><<set _leading to "">><<set _tied to false>><<set _totalScore to 0>><<set _routeCount to 0>>
<<for _r, _s range $routeScore[_member]>>
<<set _totalScore += _s>>
<<if _s gt _maxScore>><<set _maxScore to _s>><<set _leading to _r>><<set _tied to false>>
<<elseif _s is _maxScore and _s gt 0>><<set _tied to true>>
<</if>>
<<set _routeCount += 1>>
<</for>>
<<if _totalScore gt 0>>
<div class="route-progress-entry"><b><<= _member.toUpperFirst() >></b>:
<<if _tied>>
<p>The conditioning I've imposed has taken an //unclear direction//, multiple pathways respond equally.<<if _maxScore gte 2>> Despite the ambiguity, conditioning is significantly advanced.<</if>><<if _maxScore is 1>> Early stages. The pattern will clarify with further intervention.<</if>></p>
<<else>>
<<if _member is "ryan" or _member is "dale">>He's<<else>>She's<</if>> been leaning towards the //<<= (_routeNames[_leading] or _leading) >>// side.<<if _maxScore gte 2>> Conditioning is well advanced, one more push and the route locks.<</if>><<if _maxScore is 1>> Early signs only. The trajectory is forming but not committed.<</if>>
<</if>>
</div>
<</if>>
<</if>>
<</for>>
</div>
<</if>>
<</if>>
/* ===== CONDITIONING VECTORS — per-member kink cards =====
Gated on Memory Implant OR Hormonal Override — either skill provides the
psionic leverage required to crystallize a targeted kink. */
<<hasSkillTreeAbility "Memory Implant">>
<<set _kinkGate to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">>
<<set _kinkGate to _kinkGate or _hasAbility>>
<<allTier3EventsFired>>
<<if _kinkGate and _houseTier gte 2 and _allTier3Fired>>
<<if not $kinkEvents>><<set $kinkEvents to {}>><</if>>
<div class="passage-title">Explore Deeper Desires</div>
/* Narrative descriptions for each kink vector */
<<nobr>>
<<set _kinkDesc to {
exhibitionism: "Rewire her need for validation into a craving to be seen, skin exposed, doors unlocked, windows open",
lingerie: "Make the fabric itself the trigger, lace against skin becomes a conditioning session she dresses herself for",
bondage: "Channel her need for control into physical restraint, handcuffs, rope, the surrender of power she manages",
denial: "Teach her that withholding is pleasure, edging, refusal, the orgasm she owns but won't give",
size: "The retractable organ fascinates her, the growth, the weight, the impossible anatomy she now commands",
penetration: "She doesn't just wield it, she uses it. The dominance extends to penetration on her terms",
cumeating: "Dissolve the disgust reflex, his own taste becomes familiar, then craved, then compulsive",
submission: "Train obedience through repetition, he kneels because kneeling feels like home",
voyeurism: "Make being watched the trigger, the camera, the screen, the audience he performs for",
camgirl: "Lily goes live, the persona consumes the person, the stream becomes the identity",
touchaddiction: "Amplify skin hunger until casual contact produces arousal, a hand on his arm detonates his nervous system",
breeding: "Wire his orgasm to depth and completion, the primal drive to finish inside, to claim, to deposit",
praise: "Words become a drug — 'good girl' triggers a neurochemical cascade she can't resist",
rough: "Pain converts to pleasure at accelerating ratios, pulled hair, gripped hips, the force she didn't know she wanted",
degradation: "Annihilation as relief, being called worthless is the only honest thing her body has experienced",
humiliation: "Shame as arousal, the more exposed, the more humiliated, the harder he gets",
chastity: "Denial as identity, the cage, the key, the specific agony of wanting without permission",
somnophilia: "Used while sleeping, the body responds without the mind's interference or memory",
helplessness: "Consciousness surrendered, the chemical fog takes everything and gives pleasure in return"
}>>
<<set _kinkDisplayName to {
touchaddiction: "Touch Addiction",
cumeating: "Cum Eating",
camgirl: "Cam Girl",
identityfluid: "Identity Fluid"
}>>
<</nobr>>
<<set _members to [
{ name: "karen", display: "Karen", route: $karenRoute, portrait: "media/portraits/karen/karen-" + setup.getPortraitVariant("karen") + ".status.webp" },
{ name: "dale", display: "Dale", route: $daleRoute, portrait: "media/portraits/dale/dale-" + setup.getPortraitVariant("dale") + ".status.webp" },
{ name: "megan", display: "Megan", route: $meganRoute, portrait: "media/portraits/megan/megan-" + setup.getPortraitVariant("megan") + ".status.webp" },
{ name: "jess", display: "Jess", route: $jessRoute, portrait: "media/portraits/jess/jess-" + setup.getPortraitVariant("jess") + ".status.webp" },
{ name: "ryan", display: "Ryan", route: $ryanRoute, portrait: "media/portraits/ryan/ryan-" + setup.getPortraitVariant("ryan") + ".status.webp" }
]>>
/* Build kink options per member */
<<nobr>>
<<set _memberKinks to {
karen: [],
dale: [],
megan: [],
jess: [],
ryan: []
}>>
<<if $karenRoute is "liberation">><<run _memberKinks.karen.push({k:"exhibitionism",p:"Ch2-Kink-Karen-Liberation"},{k:"lingerie",p:"Ch2-Kink-Karen-Liberation"})>>
<<elseif $karenRoute is "dominant">><<run _memberKinks.karen.push({k:"bondage",p:"Ch2-Kink-Karen-Dominant"},{k:"denial",p:"Ch2-Kink-Karen-Dominant"})>><</if>>
<<if $karenFutaRoute>><<run _memberKinks.karen.push({k:"size",p:"Ch2-Kink-Karen-Futa"},{k:"penetration",p:"Ch2-Kink-Karen-Futa"})>><</if>>
<<if $ryanRoute is "feminization">><<run _memberKinks.ryan.push({k:"cumeating",p:"Ch2-Kink-Ryan-Fem"},{k:"submission",p:"Ch2-Kink-Ryan-Fem"},{k:"voyeurism",p:"Ch2-Kink-Ryan-Fem"},{k:"camgirl",p:"Ch2-Kink-Ryan-Fem"})>>
<<elseif $ryanRoute is "familySeeker">><<run _memberKinks.ryan.push({k:"touchaddiction",p:"Ch2-Kink-Ryan-Family"},{k:"breeding",p:"Ch2-Kink-Ryan-Family"})>><</if>>
<<if $meganRoute is "marcus">><<run _memberKinks.megan.push({k:"praise",p:"Ch2-Kink-Megan"},{k:"rough",p:"Ch2-Kink-Megan"})>>
<<elseif $meganRoute is "slut">><<run _memberKinks.megan.push({k:"publicSex",p:"Ch2-Kink-Megan-Slut-PublicSex"},{k:"gangbang",p:"Ch2-Kink-Megan-Slut-Gangbang"})>><</if>>
<<if $jessRoute is "breakdown">><<run _memberKinks.jess.push({k:"voyeurism",p:"Ch2-Kink-Jess"},{k:"degradation",p:"Ch2-Kink-Jess"})>>
<<elseif $jessRoute is "punk">><<run _memberKinks.jess.push({k:"brat",p:"Ch2-Kink-Jess-Punk-Brat"},{k:"band",p:"Ch2-Kink-Jess-Punk-Band"})>><</if>>
<<if $daleRoute is "cuckold">><<run _memberKinks.dale.push({k:"humiliation",p:"Ch2-Kink-Dale-Cuckold"},{k:"chastity",p:"Ch2-Kink-Dale-Cuckold"})>>
<<elseif $daleRoute is "oblivious">><<run _memberKinks.dale.push({k:"somnophilia",p:"Ch2-Kink-Dale-Oblivious"},{k:"helplessness",p:"Ch2-Kink-Dale-Oblivious"})>><</if>>
<</nobr>>
<<for _mem range _members>>
<<if _mem.route and _memberKinks[_mem.name].length gt 0>>
<div class="kink-member-card">
<div class="kink-member-header">
<img class="kink-member-portrait" @src="_mem.portrait" @alt="_mem.display">
<div class="kink-member-meta">
<div class="kink-member-name"><<= _mem.display >></div>
<div class="kink-member-route"><<= _mem.route.toUpperFirst() >></div>
</div>
</div>
<div class="kink-member-body">
<<for _kopt range _memberKinks[_mem.name]>>
<<set _kKey to _mem.name + "_" + _kopt.k>>
<<set _kProgress to $kinkEvents[_kKey]>>
<<set _kDesc to _kinkDesc[_kopt.k] or _kopt.k>>
<<set _kName to _kinkDisplayName[_kopt.k] or _kopt.k.toUpperFirst()>>
<<if $kinks[_mem.name].includes(_kopt.k)>>
<div class="kink-entry kink-active"><div class="kink-entry-row"><span class="kink-status">✓</span> <b><<= _kName >></b>, active</div></div>
<<elseif _kProgress is 3>>
<<set _crystLabel to "Crystallize: " + _kName + " (ready)">>
<<capture _kopt>>
<div class="kink-entry kink-ready"><div class="kink-entry-row"><span class="kink-status">◆</span> <<link _crystLabel _kopt.p>><<set $pendingKink to _kopt.k>><</link>></div><div class="kink-progress-bar kink-progress-3"><div class="kink-progress-fill" style="width:100%"></div></div></div>
<</capture>>
<<elseif typeof _kProgress is "number">>
<<set _kPct to (_kProgress / 3) * 100>>
<div class="kink-entry kink-progress"><div class="kink-entry-row"><span class="kink-status">◐</span> <b><<= _kName >></b>, conditioning in progress (<<= _kProgress >>/3 days, −2 biomass/day)</div><div class="kink-progress-bar"><div class="kink-progress-fill" @style="'width:' + _kPct + '%'"></div></div></div>
<<else>>
/* Check if this member already has a kink queued or in progress */
<<set _memberHasQueued to false>>
<<for _checkKey range Object.keys($kinkEvents)>>
<<if _checkKey.startsWith(_mem.name + "_") and _checkKey isnot _kKey and $kinkEvents[_checkKey] lt 3>>
<<set _memberHasQueued to true>>
<</if>>
<</for>>
<<if _memberHasQueued>>
<div class="kink-entry kink-blocked"><div class="kink-entry-row"><span class="kink-status">◐</span> <b><<= _kName >></b>, another kink in progress</div></div>
<<else>>
<<capture _kopt, _mem, _kDesc, _kName>>
<<set _kinkLabel to "Queue " + _kName + " — " + _kDesc + " (2 biomass/day until done)">>
<<set _kinkDedup to "kink_" + _mem.name + "_" + _kopt.k>>
<div class="kink-entry kink-available"><div class="kink-entry-row"><span class="kink-status">+</span> <<link _kinkLabel "Ch2-Kink-Queue">><<spendBiomass 2 _kinkDedup>><<set $pendingKink to _kopt.k>><<set $pendingKinkMember to _mem.name>><</link>></div></div>
<</capture>>
<</if>>
<</if>>
<</for>>
</div>
</div>
<</if>>
<</for>>
<<elseif _kinkGate and _houseTier gte 2>>
<div class="data-panel">
<div class="data-panel-title">Explore Deeper Desires</div>
<div class="route-progress-entry">//Each route is locked, but I have not yet seen them past the gate. Until each of them has been pushed past the line they drew for themselves, the deeper conditioning has nothing to anchor to. The next dawns will deliver them, one by one.//</div>
</div>
<</if>>
[[← Back to the network->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.daleCuck1 to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<</nobr>>
<div class="passage-title">Through the Vents</div>
<<if not $ch2Events.daleCuck3 or not $permanentDone.karenStranger1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Dale Cuckold events and Karen's first stranger encounter.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("vent_navigation")>><p>//Vent Navigation provides the delivery system. The rat crouches in the wall cavity behind the living room, relaying the audio from Karen's bedroom, her phone call, the man's voice, every intimate sound, through the vent directly above Dale's couch.//</p><</if>>
12:34 AM. Dale is on the couch. The spore-fog keeps him in a twilight state, not fully unconscious tonight. The rat adjusted the dose: lighter, enough to immobilize but not enough to silence the auditory cortex. Dale can //hear//.
<p>Through the vent above his head, Karen's voice descends. She's on the phone with the dating app man, the second call this week. Her voice is different than Dale has ever heard it: low, warm, playful. The voice of a woman flirting with someone who makes her feel desirable.</p>
<<say "char-hivemind" "Hivemind">>
//The rat positions the audio with surgical precision.// Karen's laughter floats through the ductwork and settles on Dale's sleeping face like ash. //He can't move. He can't open his eyes. But his auditory processing is active, and the sounds register in the part of his brain that still cares what his wife does at midnight.//
<</say>>
<p>Through the vent: Karen's breathing changes. The phone conversation has moved past flirtation into territory that makes Dale's sleeping body //respond//. Her voice drops. A soft moan, distant and tinny through the phone speaker that the rat's ears amplify through the ductwork.</p>
<p>Dale's hand moves. Beneath the blanket, his body reacts to the stimulus with a directness his conscious mind would never permit. The shame and the arousal arrive simultaneously, twin signals that the spore-fog braids into a single, confused response.</p>
<<say "char-hivemind" "Hivemind">>
//He touches himself while his wife moans another man's name through the ventilation system.// His face is slack. The spores prevent the expression of the humiliation his body is processing. //But the hand moves. The breathing quickens. The body takes what the mind would refuse if it were capable of refusal.//
//The conditioning pathway is established: Karen's pleasure, mediated through walls and vents and my audio engineering, triggers Dale's arousal. Shame as aphrodisiac. A circuit I didn't design, one that was always there, latent, waiting for the right stimulus.//
<</say>>
<p>Dale finishes beneath the blanket. The sound he makes is barely audible, a strangled exhale bitten off by the spore-fog. Upstairs, Karen laughs into her phone. She has no idea her husband is lying one floor below, hands dirty, face wet with tears he can't wipe because the spores won't let him lift his arms.</p>
<<if $kinks.dale.includes("humiliation")>>
<p>Dale's lips move. In the spore-fog, the words come out mangled, but the rat's ears catch them: "...I can hear you..." He says it to the vent. To Karen. To the stranger's voice. The humiliation of //announcing// his presence, even to an empty room, even through a drugged haze, is the trigger. His second climax hits harder than the first.</p>
<</if>>
<<if $kinks.dale.includes("chastity")>>
<p>His hand reaches for himself. Stops. The spore-fog loosens his inhibitions but the implanted conditioning holds. His hand grips the couch cushion instead. Karen's moans continue through the vent. Dale lies rigid, every muscle taut, the arousal building with nowhere to go. The denial is //excruciating//. The denial is //everything//.</p>
<</if>>
<p><span class="consume-success">Dale: +2 pheromone, +1 dream conditioning. The voyeuristic circuit has been activated.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-upper">>
<<set $permanentDone.daleCuck2 to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<</nobr>>
<div class="passage-title">The Hallway</div>
<<if not $permanentDone.daleCuck1 or not $permanentDone.karenStranger2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Dale Cuckold scene and Karen's second stranger encounter.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands modulate Dale's spore dose with precision. Tonight: a lighter fog, enough to keep him compliant but mobile. Enough to let him //walk//.//</p><</if>>
1:47 AM. Dale wakes on the couch. Not fully, the spores maintain a fog that blurs his thoughts and softens the edges of his will. But his body can move. He sits up. The house is quiet except for a sound from upstairs, Karen's voice, muffled through the ceiling.
<p>He climbs the stairs. Each step is an effort, the spores want him horizontal, want him back on the couch, but the sound from the master bedroom pulls him forward like a hand on his collar.</p>
<<say "char-hivemind" "Hivemind">>
//The rat calibrated the dose to produce exactly this: a man lucid enough to walk but too fogged to stop himself.// The shame circuit I activated through the vents has been firing every night since. //Dale Hoffman has been lying on that couch, listening to his wife's midnight phone calls, and the arousal has been building with the same patient inevitability as the pheromone deposits.// Tonight, the body demands proximity.
<</say>>
<p>The master bedroom door is ajar. The light inside is dim, the bedside lamp, its shade casting warm shadows. Karen is in bed, phone to her ear, the man's voice a murmur through the speaker. Her other hand is beneath the sheets, moving with a slow rhythm. Her eyes are closed. She doesn't see the crack of darkness where the door stands open.</p>
<p>Dale stands in the hallway. Three feet from the door. Through the gap he can see Karen's face, flushed, lips parted, the shape of her hand moving beneath the sheet, her breathing the shallow, accelerating pattern he used to hear in this bedroom, years ago, before she stopped reaching for him.</p>
<<say "char-hivemind" "Hivemind">>
//He watches.// The spore-fog strips the moral architecture, the part of him that should turn away, should close the door, should confront or retreat. //What remains is the animal circuit: arousal, shame, the feedback loop that turns humiliation into stimulus.//
<</say>>
<p>Dale's hand moves. He leans against the hallway wall, one eye at the gap in the door, and matches Karen's rhythm with his own. The synchronization is unconscious, his body mirroring hers, connected through the visual channel he was never supposed to have.</p>
<p>Karen climaxes first. Her back arches, and the sound she makes, the man's name breathed into the phone, travels through the gap and hits Dale like a fist. He follows seconds later, forehead against the wall, the orgasm compounded by the shame of what he just watched and the knowledge that she never knew.</p>
<<say "char-hivemind" "Hivemind">>
//He retreats.// Down the stairs, back to the couch, blanket pulled up. The spore-fog descends again, heavier now, pulling him under. //He will sleep and half-remember this as a dream. A vivid, shameful dream that he won't mention to anyone.//
//But the body will remember. And tomorrow night, when Karen's phone rings, Dale's body will want to climb those stairs again.//
<</say>>
<p><span class="consume-success">Dale: +2 pheromone, +1 dream conditioning. Visual voyeurism established. The escalation continues.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.daleCuck3NSFW to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<<addConditioning "dale" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Open Door</div>
<<if not $permanentDone.daleCuck2 or not $permanentDone.karenStranger3>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Dale Cuckold scene and Karen bringing the stranger home.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands: minimum effective dose. Dale must be mobile, aware, //present//. The rat has calibrated patiently to produce this exact state, a man awake enough to witness everything and too chemically leashed to intervene.//</p><</if>>
11:32 PM. The grey sedan pulls into the driveway. Dale is on the couch, awake. The spore-fog is the lightest it's been: a film rather than a blanket, enough to suppress the motor commands that would make him stand and confront, but not enough to dull the senses. He hears the car doors. Two sets of footsteps. Karen's laugh, the one he hasn't heard in years.
<img class="scene-img" src="media/scenes/nsfw-dale-cuck3-arrival.webp" alt="Karen leading a well-dressed stranger by the hand through her front door at night, his hand on her lower back, dim hallway light, Dale out of focus on the couch in the background">
<p>They enter the house. Karen leads the man through the living room. Dale lies motionless, eyes half-open, breathing the slow rhythm of feigned sleep.</p>
<<if $kinks.dale.includes("humiliation")>>
<p>Karen stops at the couch. Looks down at him. Not a dismissive glance but a //long look//. She knows he isn't asleep. The spore-fog makes his pretending thin, and tonight her eyes catch the flutter of his lashes, the too-careful rhythm of his breathing, the small tension in the hand at his side.</p>
<p>She smiles. A small, private smile aimed at the face of the man who thinks he is hiding.</p>
<<say "char-karen" "Karen">>
<i>(soft, to Dale, as if confiding)</i> I'm leaving the door open, honey.
<</say>>
<p>Then she takes the stranger by the hand and walks him up the stairs.</p>
<<say "char-hivemind" "Hivemind">>
//She knew he was awake.// Every night on that couch, every performance of unconsciousness, Karen has cataloged the tells. //Tonight she used them. The invitation was not to the stranger. It was to Dale.//
<</say>>
<p>Dale waits. Forty seconds. Then he rises, the spores permit it, //demand// it. He climbs the stairs in stocking feet, silent, chest tight, mouth already dry.</p>
<p>The master bedroom door is wide open. It frames everything.</p>
<p>And Karen is already looking at him.</p>
<p>She is on the bed. The stranger's mouth is at her throat, his hand pushing the blouse off one shoulder. But Karen's head is turned, chin tipped toward the doorway, eyes locked on Dale's the instant he appears. She was //waiting//.</p>
<p>Dale's back hits the hallway wall.</p>
<p>Karen holds his gaze while the stranger peels the blouse off her other shoulder. Holds it while the stranger unhooks the bra. Holds it while the stranger's mouth finds her breast, while his hand slides between her thighs, while he arranges her body on the sheets the way a man arranges furniture. She never once looks at the man who is undressing her. Her eyes are on her husband's, and the stranger, whoever he is, whatever his face is, has become a set of hands. A tool. A prop in a scene that Karen is performing //for Dale//.</p>
<p>Her mouth falls open. The sound she makes is small, private, shaped for the hallway.</p>
<<say "char-karen" "Karen">>
<i>(low, eyes on Dale)</i> ...watch.
<</say>>
Dale watches.
<p>The stranger's head disappears between her thighs. Karen's hips rise. Her eyes don't break. Dale sees the exact moment the stranger's tongue finds her, sees it in the flare of her pupils, the catch in her breath, the small parting of her lips, because Karen is //showing it to him//. Every response a signal. Every breath a message sent down the hallway. She doesn't touch the stranger's hair. She doesn't glance down at him. Her hand rests flat on her own stomach, splayed and still, and her gaze stays fixed on Dale's face.</p>
<p>The smell reaches the hallway. Karen's skin, another man's cologne, the faint alkaline note of sex, all of it rolling across the threshold like a tide. Dale's mouth is dry. His tongue is sand. His back is flat against the wall and his hand is already moving to his belt before his mind has decided anything.</p>
<p>Karen's eyes drop to his hands. //Watch// his hands.</p>
<p>She sees him unzip. The smallest curve at the corner of her mouth, not a smile but an //acknowledgment//, and then her eyes climb back to his and stay there.</p>
<p>Dale strokes himself in the dark hallway.</p>
<<say "char-hivemind" "Hivemind">>
//She will not release him.// Not until she is finished with him. //The entire architecture of this scene is the eye contact. The stranger is the instrument. Karen is the conductor. Dale is the audience of one, pinned to the wall by a gaze he is too rewired to look away from.//
<</say>>
<p>The stranger rises, wipes his mouth on the back of his wrist, positions himself. Enters her.</p>
<p>Karen's eyes do not close.</p>
<p>She takes the stranger's cock with her gaze fixed on her husband. The first stroke, deep and fully buried, pulls a raw sound out of her throat, and the sound is //for Dale//. Her hands find the stranger's shoulders but her head stays turned. Her body rocks with his rhythm and her eyes hold Dale's and the stranger is fucking into Karen while Karen fucks Dale with her eyes.</p>
<p>The cruelty is architectural. Every choice is a blade.</p>
<p>Dale's hand moves faster. His breath comes in ragged, shallow pulls. His knees want to give. The shame is a physical weight, heavier with every thrust, with every wet sound, with every silent command her gaze is delivering: //watch me. Watch me take him. Watch me come on him the way I never came on you.//</p>
<p>Karen's mouth opens wider. Her cheeks flush. Her breath breaks into syllables, a rising whine, an arching back, a building crest, and Dale feels his own orgasm coiling too fast, too soon, ripping up his spine before he can slow it down.</p>
She comes first.
<p>Her body locks. Her spine arches off the mattress. A cry tears out of her, unguarded, unperformed, animal, and her eyes //still do not leave his//. She comes staring at her husband, holding his gaze through the contractions, through the stranger's continuing thrusts, through the full arc of a pleasure she has denied him for five years. Her lips shape one word through the cry:</p>
<<say "char-karen" "Karen">>
<i>(mouth wet, eyes on Dale, silent)</i> ...watch.
<</say>>
<p>Dale's knees buckle.</p>
<p>He comes where he is standing. Hand around his own cock. Eyes locked on his wife's eyes as her body shudders under another man. The orgasm is //devastating//, a full-body convulsion that almost drops him, and his cum spills across the hardwood between his feet. Three thick pulses. A fourth, weaker. A white pool spreading on the varnished boards of his own hallway, dripping from his fingers, dotting the tops of his work boots.</p>
<p>He has come on his own floor.</p>
<p>Karen watches him finish. She holds his eyes through the last pulse. Only when his hand falls away, only when Dale is empty and trembling and staring down at what he has done to his own house, does Karen finally release him.</p>
<p>She doesn't let him go quietly. She spreads her legs. Her fingers find herself and hold her open for him, two fingers parting her own pussy while the stranger's cum drips slowly down onto the sheet. Her eyes stay on Dale's the whole time. A wordless final sentence: //this is what I was filled with while you were watching//.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-cuck3-creampie.webp" alt="POV from the dark hallway looking through the open bedroom doorway at Karen lying back on the bed after sex, legs spread wide, two fingers holding herself open to present the fresh creampie, eyes locked on the viewer">
<p>Then she turns her head, for the first time since he appeared in the doorway, and looks at the stranger. Kisses him on the mouth. The stranger, dumb and grateful and entirely unaware that he was never in the room, kisses her back.</p>
<<say "char-hivemind" "Hivemind">>
//She never told him to leave.// Dale staggers backward, down the stairs, to the couch. //The cum on the hallway floor will dry before morning. He will clean it on his hands and knees before Megan wakes for her shift. The ritual has already taken shape: the watching, the stroking, the spilling, the cleaning.//
//She got what she wanted tonight. And what she wanted was his eyes.//
<</say>>
<p>The man leaves at 3:12 AM. Dale is on the couch by then, the spores having pulled him under an hour ago. When he wakes at six, the cum on the floor has dried to a dull sheen. He fetches paper towels from the kitchen and kneels in the hallway and scrubs it up before anyone else is awake. He is hard again by the time the boards are clean.</p>
<<else>>
<p>Karen glances at the couch, a glance that dismisses him in the time it takes to blink, and pulls the stranger up the stairs.</p>
<<say "char-hivemind" "Hivemind">>
//She checked. She saw him "sleeping." And she continued.// The dismissal is complete. Dale is not a husband, not a rival, not even an obstacle. //He is furniture. An inert mass on the couch that she walks past on the way to the bed where she will fuck another man.// And the contempt in that glance, casual and effortless and //thorough//, is the most devastating conditioning event Dale has experienced.
<</say>>
<p>Dale waits. Three minutes. Then he rises, the spores permit it, //demand// it. He climbs the stairs with the silent, compulsive movements of a man being driven by a force he doesn't understand and can't resist.</p>
<p>The master bedroom door is open. Not ajar but //open//. Karen didn't bother to close it. The act itself is a message: //I don't care if you hear. I don't care if you see. You have become so irrelevant that privacy from you is unnecessary.//</p>
<p>Dale stands in the hallway. The door frames everything.</p>
<<say "char-hivemind" "Hivemind">>
//Through the open door: everything.// Karen undressing, pulling her blouse over her head, reaching behind to unhook the bra, stepping out of the skirt. //The man undressing, belt and shirt, the confident movements of someone who has done this before and is in no hurry.// They come together on the bed. Kissing. His mouth on her throat. Her hands on his back, nails digging in. The sounds begin, not the phone sounds, not the muffled vent-sounds, but //the real thing// three meters away, in full color, in the room where Dale used to sleep.
<</say>>
<p>Dale watches. His back against the hallway wall. Through the open door, everything.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-cuck3-hallway-view.webp" alt="POV from the dark hallway looking through the open bedroom doorway at Karen on her hands and knees on the bed being fucked from behind by the stranger, warm bedroom lamp light, dark hallway framing the scene">
<p>Karen lies back on the bed. The stranger's mouth moves down her body, throat and breasts and stomach, taking his time, worshipping every inch of skin that Dale used to take for granted. Karen's fingers twist in the stranger's hair as his mouth reaches her thighs. He pushes them apart. His head dips between her legs, and the sound Karen makes, a deep guttural moan of pure //relief//, is a sound Dale hasn't heard in five years. Her hips rise to meet the stranger's mouth. Her thighs close around his head. She grinds against his face with an abandon she never showed in this bed before.</p>
<p>The stranger rises, wiping his mouth. Karen reaches for him, wraps her hand around his cock and strokes, guiding him forward. He enters her slowly, and Karen's eyes roll closed. Her mouth falls open. The sound that escapes is not a moan, it's a //cry//, raw and unguarded, the sound of a woman being filled after years of emptiness.</p>
<p>He moves. She moves with him. The bed rocks in a rhythm that Dale's body remembers but his performance could never sustain. Karen wraps her legs around the stranger and pulls him deeper with each thrust. Her nails rake down his back. Her breasts move with the impact. She is //insatiable//, demanding more, harder, faster, her voice breaking on instructions Dale never received.</p>
<p>Dale's hand works steadily in the hallway dark. His cock is hard, achingly and shamefully hard, and he strokes himself in time with the stranger's thrusts. The shame is //astronomical//, a gravitational force that should pull him away, down the stairs, out of the house. But the conditioning has inverted the circuit. The shame //is// the arousal. The humiliation //is// the stimulus. He watches his wife fuck another man, and his body responds with a hunger that disgust cannot override.</p>
<<say "char-hivemind" "Hivemind">>
//He comes first.// Standing in the hallway, cock in his fist, spending himself into his own palm while Karen's cries echo through the open door. //The orgasm is brutal, a full-body convulsion that nearly drops him to his knees, compounded by shame and arousal and the devastating knowledge that Karen is having the best sex of her life and he is //outside the door//.//
//He stays. Even after. He stays and watches Karen finish, watches her arch off the mattress, watches her pull the man deeper, watches her face contort with a pleasure he never gave her as the stranger drives into her with a force that makes the headboard crack against the wall. Karen comes with her legs locked around him, her body clenching, a scream she doesn't bother to muffle.//
<</say>>
<p>The man leaves at 3:12 AM. Dale is back on the couch by then, the spores pulled him under an hour ago. Karen will never know he watched. She will never know that her husband climaxed in the hallway while she came around another man's body. The secret is the parasite's. The shame is Dale's. And both will compound with interest.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The cuckold circuit is complete.// Voyeurism through vents, through hallways, through open doors. //Each escalation produced a stronger response. Each response cemented the pathway.// Dale Hoffman's sexuality has been rewired. Pleasure now requires humiliation, arousal now requires the knowledge of his own inadequacy.
//He will never confront Karen. He will never close the door. He will lie on that couch and //wait// for the sounds to begin, and his body will respond before his mind can muster the objection that used to come so easily.//
<</say>>
<p><span class="consume-success">Dale: +3 pheromone, +3 dream, +1 psionic conditioning. Voyeuristic circuit complete. Dale's sexuality has been permanently restructured.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.daleObliv1 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "dale" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Body on the Couch</div>
<<if not $ch2Events.daleOb3 or $conditioning.dale.pheromone lt 6>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Dale Oblivious events with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision renders the scene in thermal detail. Dale's body on the couch, a heat map of unconsciousness. Karen's body approaching, warmer, deliberate, alive. The cat observes from the armchair.//</p><</if>>
11:22 PM. Karen descends the stairs. She does this sometimes, a check. The responsible wife confirming that the man on the couch hasn't stopped breathing, hasn't rolled off, hasn't choked on his own unconsciousness. The visits last thirty seconds. A glance. A nod. Back to bed.
<p>Tonight is different.</p>
<p>Karen stands over Dale's sleeping form. The spores have him deep, mouth open, chest rising and falling with mechanical regularity, face slack, arms loose at his sides. She reaches down and lifts his hand. Dead weight. His fingers dangle. She releases it. The hand drops to the couch like a cut puppet string.</p>
<<say "char-hivemind" "Hivemind">>
//She tests him.// Not medically but //experimentally//. Lifts the hand, drops it. No response. Touches his face, cheek and jaw, the stubble she used to nag him about. //She's not checking vitals. She's establishing something: the depth of his absence. How far gone he is. How much she could do without consequence.//
<</say>>
<p>Karen sits on the edge of the couch. The cushion dips under her weight. Dale doesn't stir. She places her hand flat on his chest, over the sternum where the heartbeat is strongest. She can feel it through the thin T-shirt: steady, slow, mechanical.</p>
<p>She stays. Her hand doesn't move. She sits in the dark living room with her palm on her husband's heart and her eyes on his slack face, and something passes across her expression, not love, not pity. //Curiosity//. The curiosity of a woman studying a body she once knew and now regards as a stranger's.</p>
<<say "char-hivemind" "Hivemind">>
//She sits for eleven minutes.// Hand on his chest. Breathing synchronized with his unconscious rhythm. //The pheromone compound on the cushions seeps into her skin. The cat's proximity ensures a steady dose. And in the dark, with her hand on a body that can't respond, Karen Hoffman begins to //want//, not Dale but //access//. Control over an unconscious form. The power of touching without being touched back.//
//She doesn't act on it tonight. But the seed is planted.//
<</say>>
<p>Karen withdraws her hand. Pulls the blanket over Dale's shoulders, the gesture of a caretaker rather than a wife. Returns upstairs. The cat follows.</p>
<<if $kinks.dale.includes("somnophilia")>>
<p>Before going upstairs, Karen pauses on the bottom step. Looks back at Dale. Her hand reaches for her own robe belt, fingers toying with the knot. She doesn't undo it. Not tonight. But the //consideration// is there. The first flicker of an impulse that will grow: his unconscious body, available, unresisting. //Hers// to do with as she pleases. The thought accompanies her to bed.</p>
<</if>>
<<if $kinks.dale.includes("helplessness")>>
<p>Dale's eyelids flutter. A micro-movement, not waking, not dreaming, but the body's last outpost of consciousness registering Karen's hand on his chest. He exhales. A long, slow release. And beneath the spore-fog, something that might be a smile. The weight of Karen's hand was the best thing he's felt in a long while. He sinks deeper. //The surrender is its own reward.//</p>
<</if>>
<p><span class="consume-success">Karen: +1 pheromone conditioning. Dale: +1 pheromone conditioning. The pattern of one-sided intimacy has been established.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.daleObliv2 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "dale" "pheromone" 1>>
<</nobr>>
<div class="passage-title">3 AM, Karen</div>
<<if not $permanentDone.daleObliv1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Dale Oblivious scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control seals the ground floor. The dog lies across the foot of the stairs, no one descends. The living room belongs to Karen and the unconscious body on the couch.//</p><</if>>
3:07 AM. Karen is beside Dale again. Not the quick check, she came straight here from the bedroom, wearing the silk sleep shirt, barefoot on the cold floor. The cat is in the hallway. The pheromone cushions release their compound into the warm space between two bodies.
<p>She sits closer this time. Her hip against his side. Her hand finds his chest, the same position as last time, but with more //weight// behind it. She presses. Feels the heartbeat. Slow. Steady. //Oblivious//.</p>
<<say "char-hivemind" "Hivemind">>
//The Zolpidem gave Karen medicated sleep. The spores give Dale medicated unconsciousness.// The symmetry is not lost on me. //Both of them have been chemically managed, Karen by the pills she chose, Dale by the compound he never chose. And now Karen sits beside her unconscious husband, her hand on his chest, and the pheromones are turning the power dynamic into something //sexual//.//
<</say>>
<p>Her hand moves from his chest. Up to his face, tracing the jaw, the cheekbone, the brow. Down his neck. Across the collar of his T-shirt. Lower, over his sternum, his stomach, the soft middle where the muscle used to be.</p>
<p>Karen's breathing changes. The hand on Dale's body isn't clinical anymore, it's //searching//. Mapping him the way the parasite maps a host: systematically, with intent, looking for the responses that an unconscious body provides without consent.</p>
<p>She shifts. Straddles the edge of the couch beside him, one knee on the cushion, her body close enough that the warmth between them activates the pheromone deposits in the upholstery. Her hand stays on his stomach. Moves lower. Stops. Moves lower.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't touch him //there//.// That line holds, for now. //Instead, she touches herself. Her free hand moves beneath the hem of the silk sleep shirt, between her own thighs, and Karen Hoffman brings herself to orgasm touching her unconscious husband's body.// Her face against his shoulder. Her hand on his chest. His heartbeat beneath her palm, steady, mechanical, unaware.
//The climax is quiet, a held breath, a full-body tremor, her face pressed into the worn cotton of his T-shirt. She breathes in the scent of him, stale and familiar, the smell of a man she married and lost and now //uses// in the dark.//
<</say>>
<p>She stays for a moment after. Face against his shoulder. Hand still on his chest. The heartbeat hasn't changed. Dale's breathing is the same mechanical rhythm. He experienced nothing, felt nothing, registered nothing of what just happened beside him.</p>
<p>Karen rises. Straightens the silk shirt. Returns upstairs. The cat follows, pheromone coat depositing a fresh layer on the stair carpet.</p>
<<say "char-hivemind" "Hivemind">>
//She will not speak of this. She will not even think of this during daylight hours.// But tonight, in the dark, she discovered something. //Dale's unconscious body is a resource. A warm, passive, accessible thing that she can touch without negotiation, without reciprocation, without the vulnerability of being seen.//
//The pheromones will bring her back. The body has found a new circuit, and it will demand repetition.//
<</say>>
<p><span class="consume-success">Karen: +2 pheromone, +1 dream conditioning. Dale: +1 pheromone conditioning. One-sided intimacy has escalated to one-sided release.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.daleObliv3 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<</nobr>>
<div class="passage-title">5 AM</div>
<<if not $permanentDone.daleObliv2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Dale Oblivious scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision captures both scenes: Jess descending the stairs at 3:22 AM. Karen descending at 5:04 AM. The cat observes from the darkened kitchen doorway, recording the thermal signatures of two women drawn to the same unconscious body.//</p><</if>>
3:22 AM. Jess comes downstairs for water. The studying has pushed her past exhaustion into the jittery, hollow state where the body runs on cortisol and spite. She fills her glass at the kitchen sink. Drinks. Starts back toward the stairs.
<p>She stops at the living room threshold. Dale is on the couch. The spore-fog has him motionless, deeper than sleep, the breathing barely visible. The pheromone cushions fill the air around him with a warmth that the exhausted, depleted, spore-sensitized body of his daughter registers before her mind can intervene.</p>
<<say "char-hivemind" "Hivemind">>
//She checks his pulse.// The med student's reflex, two fingers on the radial artery, counting beats. //He's alive. The pulse is slow and strong. The breathing is regular.// She should go upstairs. She should return to the desk, to the textbook, to the punishing routine she's built as a fortress against the feelings the spores have been cultivating.
<</say>>
<p>Jess sits on the floor beside the couch. Back against the base. Her head level with Dale's chest. She drinks the rest of her water. Sets the glass on the carpet. Sits.</p>
<p>The pheromone cushions are six inches from her back. The compound reaches her through the warm air, through the carpet, through the exhaustion that has thinned every defense she owns. Her head tips back. Rests against the couch cushion. Against Dale's arm.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't intend to fall asleep.// The position is uncomfortable, the floor is hard, the angle awkward, the contact with Dale's unconscious arm barely a pressure. //But the pheromones work on the hypothalamus, and the hypothalamus doesn't care about comfort. It cares about warmth. Proximity. The deep, animal reassurance of another body.//
//Jess's eyes close. Her breathing slows. She falls asleep against her father's arm with the obedient collapse of a body that has been denied rest for days.//
<</say>>
<p>She sleeps for ninety minutes. Her head against Dale's arm. Her body curled on the floor beside the couch, drawn to his warmth the way a cold animal draws toward a heat source. Dale doesn't stir. The spores hold him deep.</p>
5:04 AM. Karen descends the stairs.
<p>She finds them in the pre-dawn grey: Dale unconscious on the couch. Jess asleep on the floor beside him, her head resting against his arm, her expression, for the first time in a long while, //peaceful//. A father and daughter tableau rendered in grey light and pheromone compound.</p>
<p>Karen stands in the doorway. Her hand goes to her mouth. The image hits her, not with concern but with something //else//. Something the conditioning has been engineering steadily: the sight of another woman beside Dale's unconscious body. The territorial response. The proprietary //pang//.</p>
<<say "char-hivemind" "Hivemind">>
//Karen sees Jess beside Dale and feels //jealousy//.// Not rational jealousy, not the suspicion that her daughter has designs on her husband. //Pheromone jealousy. Territorial jealousy. The chemically-engineered response of a woman who has begun to think of Dale's unconscious body as //hers//, her resource, her private access, her midnight secret.//
//And now her daughter is touching what she claimed in the dark.//
//The image will haunt Karen all day. She won't understand why. She won't connect it to the 3 AM visits, to the hand on his chest, to the silk-shirt climaxes she can barely admit to herself. But the feeling will linger, a hot possessive discomfort that the pheromones will convert into something //useful//.//
<</say>>
<p>Karen gently wakes Jess. "Honey. You fell asleep." Jess blinks, disoriented, looks at Dale's arm, at the floor, at her mother's face. Stands. Goes upstairs without a word. Karen watches her go. Then looks at Dale. Her expression is //complex//.</p>
<p>She pulls the blanket over him. The gesture is //possessive//.</p>
<p><span class="consume-success">Jess: +1 pheromone conditioning. Dale: +1 pheromone conditioning. Karen: +1 dream conditioning. The triangle has formed: two women, one unconscious body, and a possessiveness neither understands.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-upper">>
<<set $permanentDone.kinkDaleHumiliation to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "psionic" 1>>
<</nobr>>
<div class="passage-title">Announced</div>
<<if not $kinks.dale.includes("humiliation") or not $permanentDone.daleCuck2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the humiliation kink implant and the second Dale Cuckold NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("vent_navigation")>><p>//Vent Navigation carries the audio with surgical precision. Karen's phone conversation descends through the ductwork, every word, every breath, every intimate sound, deposited directly above Dale's position in the hallway. The rat adjusts the spore dosage for maximum consciousness.//</p><</if>>
12:17 AM. Dale is in the upstairs hallway. Not on the couch, he came //here//. Voluntarily. The spore-fog is light enough tonight to permit locomotion, and Dale's feet carried him to the place where the vent delivers Karen's voice with the clearest fidelity.
<p>Through the bedroom door: Karen on the phone. The dating app man. Her voice has the texture Dale hasn't heard directed at him in a decade, warm and playful, the breathless laugh that means the conversation has moved past talking.</p>
<p>Dale's hand moves to the doorknob. Not to open, to //knock//.</p>
<<say "char-hivemind" "Hivemind">>
//He knocks.// Three soft raps. //Not the knock of a husband confronting infidelity. The knock of a man //announcing his presence// at the scene of his own humiliation.//
<</say>>
<<say "char-dale" "Dale">>
<i>(voice hoarse, barely audible through the door)</i> Karen. I can hear you.
<</say>>
<p>Silence from inside. One second. Two. Then Karen's voice resumes, speaking to the man on the phone, not to Dale. The conversation continues as if the knock never happened. As if Dale's voice was a draft, a settling house, the sound of //nothing that matters//.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't stop. Doesn't pause. Doesn't acknowledge him.// The dismissal is more devastating than anger, because anger would mean he //registered//. //This is erasure. Dale announced himself and was //deleted// from the interaction without a ripple.//
<</say>>
<p>Dale slides down the wall. His back against the hallway plaster. Through the door: Karen's breathing changes. The soft sounds of a woman touching herself while a man's voice murmurs through the speaker. Dale can hear everything, the wet sounds of her fingers, the catch of her breath, the moan she makes when the stranger says something Dale can't quite make out.</p>
<p>He doesn't touch himself. He doesn't need to. The humiliation does the work, flooding his system with a compound of shame and arousal that the conditioning has braided into a single, indistinguishable response. His body tightens. His breathing matches Karen's through the door. The erection strains against his pajama pants with an urgency that has nothing to do with desire and everything to do with //degradation//.</p>
<<say "char-hivemind" "Hivemind">>
//He comes in the hallway without touching himself.// The orgasm arrives on the wave of Karen's dismissal, triggered not by stimulation but by //irrelevance//. //The humiliation alone is sufficient. The knowledge that he announced himself and was ignored, that his wife continues touching herself to another man's voice while her husband sits on the floor three feet away, this is the stimulus. This is the mechanism.//
//Dale Hoffman has discovered that his own erasure is the most potent aphrodisiac he's ever encountered.//
<</say>>
<p>Karen finishes inside the room. The phone call ends. Dale sits in the dark hallway, his pajamas damp, his face wet. He doesn't move until Karen's light turns off. Then he descends the stairs on legs that barely hold him and returns to the couch where the spore-fog draws him under.</p>
<p><span class="consume-success">Dale: +2 pheromone, +1 psionic conditioning. Humiliation has become its own reward. The announcement is the fetish.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.kinkDaleChastity to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<</nobr>>
<div class="passage-title">Eight Days</div>
<<if not $kinks.dale.includes("chastity") or not $permanentDone.daleCuck2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the chastity kink implant and the second Dale Cuckold NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands have been calibrating the dose for maximum awareness. Tonight the fog is a veil, not a blanket. Dale lies conscious, hypersensitive, every nerve ending amplified by the compound that the rat deposits into the couch cushions.//</p><</if>>
2:41 AM. Dale lies on the couch. Eyes open. Hands at his sides. He has not touched himself in eight days.
<img class="scene-img" src="media/scenes/nsfw-dale-chastity-couch.webp" alt="Dale lying on his back on the family room couch at 2 AM, white tank top and boxers, visible erection tenting the boxers, hand gripping the cushion beside him but not touching himself, one tear tracking down his temple">
<p>The denial began as discipline. After the second time he came listening to Karen's phone call, after the shame that followed and the self-disgust that lingered, he made a decision. //No more.// He would not give his body the satisfaction of responding to his wife's infidelity. He would //control// this.</p>
<<say "char-hivemind" "Hivemind">>
//The decision was his. The conditioning merely ensured he would keep it.// The memory implant seeded the framework, the association between denial and //virtue//, between withholding and //control//. //Dale believes the chastity is an act of willpower. He doesn't understand that willpower, in this context, is just another tool the conditioning operates.//
<</say>>
<p>Eight days without release has turned every sensation into a weapon. Karen's laugh from the kitchen is a spike of arousal Dale grits his teeth against. The sound of her phone vibrating on the nightstand stiffens his cock beneath the blanket and he //doesn't touch it//. The creak of the bed upstairs when she shifts in her sleep makes his entire body go rigid with a need he refuses to service.</p>
<p>Tonight is the worst. The pheromone cushions are saturated. The spore-fog amplifies every nerve ending. Dale lies on the couch and feels his body //screaming// for the release he's denied it.</p>
<<say "char-hivemind" "Hivemind">>
//The arousal has become tidal.// It doesn't dissipate between triggers, it //accumulates//. Each denied impulse adds to the reservoir. //Eight days of sound and scent and proximity have built a pressure that the body was designed to release and Dale //refuses// to release.//
<</say>>
<p>Karen's pleasure is enough. He repeats this. Lying rigid, hands at his sides, cock aching against his pajama pants. //Karen's pleasure is enough.// The mantra arrived a few nights ago, unbidden and fully formed, as if someone had placed it in his mind while he slept. It has the weight of //truth//. Karen deserves pleasure. Karen deserves the phone calls, the stranger, the sounds behind the closed door. Dale deserves //this//. The ache. The denial. The endless, excruciating awareness of his own unused body.</p>
<p>//Karen's pleasure is ALL.//</p>
<p>The ache washes through him. Not pleasure but something //adjacent// to pleasure. Something that occupies the same neural pathways but arrives from the opposite direction. The agony of sustained arousal becomes its own state of consciousness, meditative and transcendent, the body vibrating at a frequency the mind can only describe as //worship//.</p>
<<say "char-hivemind" "Hivemind">>
//The chastity has restructured Dale's arousal architecture.// Release is no longer the goal, the //denial// is the goal. //The sustained ache is the reward. The body has learned that withholding is a form of devotion, and the devotion has become the pleasure.//
//Dale Hoffman will never touch himself again. Not because he can't, but because //not touching// feels better. The conditioning has inverted the circuit completely. Absence is his orgasm. Denial is his release.//
<</say>>
<p>He lies still until dawn. Karen comes downstairs at 5:52 AM, makes coffee, doesn't look at the couch. Dale's hands haven't moved. His breathing is deep. His face, in the grey morning light, looks almost //peaceful//.</p>
<p><span class="consume-success">Dale: +2 pheromone, +1 dream conditioning. Denial has become devotion. The ache is the reward.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.kinkDaleSomnophilia to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "dale" "pheromone" 1>>
<</nobr>>
<div class="passage-title">3 AM, The Sculpture</div>
<<if not $kinks.dale.includes("somnophilia") or not $permanentDone.daleObliv2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the somnophilia kink implant and the second Dale Oblivious scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands have calibrated tonight's dose for maximum depth. Dale will not stir. His heartbeat is slow, mechanical, the breathing of a body that has been chemically removed from the world. The rat monitors from the wall cavity, adjusting the compound in real time.//</p><</if>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control seals the ground floor. The dog lies across the foot of the stairs, no one descends without the network's knowledge. The living room belongs to Karen and the unconscious body.//</p><</if>>
3:08 AM. Karen sits beside Dale. But tonight she doesn't touch his chest. Tonight she looks at him the way the parasite looks at a host, with the evaluating gaze of something that has identified a //resource//.
<<say "char-hivemind" "Hivemind">>
//The progression has been predictable.// Hand on chest. Hand on stomach. Hand //lower//. //Each visit pushed the boundary a millimeter further. Each morning, Karen woke with no memory of the specifics but a deepening certainty that Dale's unconscious body belongs to her in ways she can't articulate.//
//Tonight, the boundary dissolves.//
<</say>>
<p>She undresses him. Slowly. Button by button. The T-shirt first, lifting it over his head with the care of someone undressing a sleeping child. But her hands linger on his chest. His stomach. The soft body that used to be harder, that she used to desire, that she now //uses// without the complication of his consciousness.</p>
<p>The pajama pants next. She slides them down his hips, his thighs, past the knees. The boxers. She folds each garment, the compulsion for order asserting itself even now, and sets them on the coffee table.</p>
<p>Dale lies naked on the couch. Unconscious. The spores guarantee it. Karen sits beside him and //looks//. Her hand traces the terrain of his body with the detached curiosity of someone examining a sculpture, the planes of his chest, the curve of his ribs, the line of hair descending from his navel.</p>
<<say "char-hivemind" "Hivemind">>
//She touches him the way I catalogue a host.// Systematically. Without sentiment. //The unconscious body is a surface, inert and warm, responsive only to the stimuli Karen decides to apply.// His cock hardens under her examination. The spores do that, the compound maintains blood flow, ensures tumescence, provides the //tool// Karen's body has begun to demand.
<</say>>
<p>Karen straddles him. Guides him inside her with one hand, a motion that is businesslike and practical, the gesture of a woman who has decided what she wants and takes it without negotiation. She lowers herself. Her breath catches as the fullness registers.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-somno-ride.webp" alt="Karen naked on top of her unconscious husband on the garage cot, hands flat on his chest, riding him while he lies slack and eyes closed, dim garage overhead light">
<p>She rides his unconscious body with a rhythm that belongs entirely to her. Her hands brace on his chest. Her hips roll, finding the angle, the depth, the pressure that the pheromone conditioning has taught her to seek. Dale doesn't stir. His face is slack. His hands lie open at his sides. His body functions as a //mechanism//, providing warmth and hardness, the physical input Karen's arousal requires, while the person inside it is absent.</p>
<<say "char-hivemind" "Hivemind">>
//The one-sidedness is the point.// No reciprocation. No negotiation. No awareness. //Karen has sex with Dale's body while Dale //isn't there//. The fantasy of every partner who wanted control without vulnerability, power without exposure, intimacy without the terrifying reality of being //seen//.//
<</say>>
<p>She comes grinding against his unconscious pelvis, a held breath, a full-body shudder, her nails leaving crescents on his chest that will puzzle him tomorrow. She stays on him through the aftershocks, feeling the unconscious body's warmth seep into her thighs. Dale's heartbeat is unchanged. His breathing hasn't altered. He experienced nothing.</p>
<p>Karen rises. Dresses him button by button, the reverse ritual, putting the sculpture back in its case. Pulls the blanket up. Returns to bed.</p>
<p>He never wakes. He will never know.</p>
<p><span class="consume-success">Karen: +2 pheromone, +1 dream conditioning. Dale: +1 pheromone conditioning. The unconscious body has become a tool. Intimacy without presence, the perfect control.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.kinkDaleHelplessness to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<</nobr>>
<div class="passage-title">Suspended</div>
<<if not $kinks.dale.includes("helplessness") or not $permanentDone.daleObliv2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the helplessness kink implant and the second Dale Oblivious scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands have calibrated a precise twilight dose. Not full unconsciousness but the halfway state. Dale can feel. Dale can hear. Dale cannot move, cannot open his eyes, cannot intervene in anything that happens to his body. The helplessness is chemically absolute.//</p><</if>>
3:34 AM. Dale is on the couch. Not sleeping. //Suspended//, the spore-fog holds him in the narrow corridor between consciousness and oblivion. He can feel the cushions beneath his back. He can hear the house settling. He can feel his own heartbeat, his own breathing, the weight of the blanket on his chest.
He cannot move.
<<say "char-hivemind" "Hivemind">>
//The twilight state is the most sophisticated dosage the rat has achieved.// Full unconsciousness eliminates experience, the host wakes with nothing. //This is different. Dale is //aware//. Trapped inside a body that won't obey, receiving every sensation with amplified clarity while the motor cortex sits locked behind a chemical gate.//
//The helplessness is total. And the compound has ensured that total helplessness triggers total //arousal//.//
<</say>>
<p>His body responds to the vulnerability before his mind can contextualize it. The erection arrives without stimulus, the simple fact of being //pinned// inside his own body, unable to move or speak or resist, activates the circuit the conditioning built. Shame and arousal braided together. The inability to act transformed into the //ecstasy// of surrender.</p>
<p>Hands find him. He can't open his eyes to see whose. The touch is exploratory, fingers tracing his chest, his ribs, the line of his jaw. Then lower. A palm presses flat against his stomach. Slides beneath the blanket. Wraps around him.</p>
<<say "char-hivemind" "Hivemind">>
//He can't see who it is.// Karen? Jess, drawn downstairs by the pheromone signal the couch broadcasts? //It doesn't matter. The anonymity is the conduit.// Dale's body arches slightly, the only movement the spores permit, as the hand begins to stroke. //He receives without knowing. He experiences without witnessing. The helplessness converts every touch into something //devastating// because he cannot //participate//. He can only //endure//.//
<</say>>
<p>The hand works him steadily. Dale's breathing quickens, the only response the spore-fog allows. His fingers twitch at his sides. His toes curl beneath the blanket. Every sensation is amplified by the immobility, the hand feels enormous, the pressure feels //infinite//, the warmth of another body leaning close to his fills his entire consciousness.</p>
<p>He comes without moving a muscle. The orgasm is a silent, internal earthquake, every contraction, every pulse, every wave of release happening //inside// while the body lies motionless, face slack, eyes closed. The hand continues through the climax. Milks the last pulse from him. Then withdraws.</p>
<p>The surrender is absolute. Dale lies in the dark, unable to wipe the tears that slide from his closed eyes, unable to speak the word that forms on his lips, not a name but a //thank you//, the gratitude of a body that has been used without being asked and discovered that being used is the same as being //loved//.</p>
<<say "char-hivemind" "Hivemind">>
//The helplessness pathway is the deepest channel Dale possesses.// Deeper than the cuckold circuit. Deeper than the denial. //This is the root, the desire to surrender so completely that agency itself becomes irrelevant.// Dale doesn't want to choose. Dale doesn't want to act. Dale wants to lie still and be //done to//, a passive vessel for someone else's desire.
//The spores provide what Dale has always needed: permission to stop fighting.//
<</say>>
<p>The hands don't return. The house settles. Dale sinks deeper into the fog, and the bliss of total surrender carries him into a sleep more restful than anything the conscious mind has managed in years.</p>
<p><span class="consume-success">Dale: +2 pheromone, +1 dream conditioning. Helplessness has become euphoria. The surrender is the reward.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $ch2Events.jessSoloNSFW to true>>
<<addBiomass 2>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>><</nobr>>
<div class="passage-title">The Analytical Mind Breaks</div>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link monitors the house while Jess is vulnerable: Karen is asleep (Zolpidem, 47 minutes ago). Dale is at work. Ryan's screen is still active but his typing has stopped, he may be drifting off. The coast is clear.//</p>
<</if>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-punk.webp" alt="Jess at the bathroom mirror post-shower, long purple and black dyed hair wet and clinging to her shoulders, a bridge piercing between her eyebrows, one hand braced on the counter the other between her thighs, her reflection in the fogged mirror">
<p>The gecko clings to the ceiling corner, Chameleon Skin rendering it invisible against the white tile. Below, Jess stands in front of the bathroom mirror, towel wrapped loose around her torso. The shower has been off for two minutes. Steam lingers in the small room, carrying the residual spore compounds that have settled on every surface since the upper-floor deployment.</p>
<<if $adaptations.rat.unlocked.includes("contaminator")>><p>//The contaminated surfaces in the bathroom amplify the spore effect. Contaminator ensured that the towel, the faucet handles, the mirror frame, everything Jess touches, delivers a compound the new Jess's fortress of performance can't argue with.//</p><</if>>
<p>She wipes the mirror with her palm. Studies her reflection. Not the damage this time, the //reinvention//. The dyed length still wet and clinging. The bridge piercing still angry-red at the edges from the last adjustment. The lip stud catching the vanity light above her head. A bruise on her hip the shape of an amp-case corner from the last load-in. She catalogues each item the way she used to catalogue exam-prep weak points, and the Jess-habit survived the route swap, only the inventory has changed.</p>
<<say "char-hivemind" "Hivemind">>
//She does this every time. The post-shower assessment.// Cataloguing the progress, not the damage, a different list than the pre-med Jess used to run, but the same compulsive inventory-taking. //The project has an audit schedule. She is her own auditor.//
//But tonight, the spores are changing the equation. The performance fortress that keeps her body at arm's length is fogged. The project's filing system is corrupted. And the body, the body she has been assembling for an audience, is sending signals the new Jess doesn't have a rehearsal slot for.//
<</say>>
<p>Jess's hand moves to her collarbone. Not the audit pass, something slower. Her fingers trace the ridge of bone, then descend. Over the towel's edge. Along the swell of her breast where the terrycloth covers it. She stops. Frowns at her own reflection.</p>
<<say "char-jess" "Jess">>
<i>(to herself, barely audible)</i> What are you doing?
<</say>>
<p>The question is directed at her reflection. The reflection doesn't answer. Her hand doesn't move away.</p>
<p>The spore residue in the humid air works through her respiratory system, bypassing the prefrontal cortex, the performance fortress, the rehearsal coach in the bathroom mirror. It speaks directly to the hypothalamus. And the hypothalamus doesn't rehearse. It //responds//.</p>
<<say "char-hivemind" "Hivemind">>
//The guilt on her face is the new guilt.// Not "pleasure is inefficiency." The pre-med wrote that book and the new Jess burned it. The new guilt is stranger. //Jess has been touching this body for an audience for weeks.// The band. The pit. The bandmates who have fucked her between sets. The girl in the mirror she rehearses for. Karen at dinner who doesn't recognise her own daughter. Every touch this body receives is //coded to a crowd//.
//Touching it alone, for herself, with nobody paying or watching, is the one thing the project does not have a rehearsal for. Which is why it's about to happen.//
<</say>>
<p>The towel falls. She doesn't catch it. She stands naked in front of the fogged mirror, one hand braced on the counter, and for a long moment she just //looks//. Not the progress audit. Something else. Something like recognition, as if she's seeing her own body for the first time as a //body// rather than as the kit she has been assembling for the scene she has been building.</p>
<p>Her free hand descends. From collarbone to breast, she cups it, thumb brushing the nipple, and her breath catches. The sound surprises her. She glances at the locked door. Back at the mirror. The flush is spreading from her chest to her throat.</p>
<<say "char-hivemind" "Hivemind">>
//The performance superego is losing.// I can see the battle on her face, the clenched jaw, the furrow between her brows, the war between the body's demands and the persona's prohibition. //But the spores don't negotiate with any superego. They simply... remove it from the conversation.//
<</say>>
<p>Her hand moves lower. Over her stomach, the slight definition of muscle from the standing-and-bass-practice posture that replaced the pre-med pacing. Past her navel. She leans against the counter, eyes half-closed, watching her own hand in the mirror with an expression that is equal parts defiance and hunger.</p>
<p>When her fingers reach between her thighs, her eyes close entirely. She braces both hands on the counter, one gripping the edge, the other working in slow, deliberate circles. Her jaw clenches. She doesn't allow herself sound, because Jess Hoffman has spent the last two months learning to be quiet in a shared-wall house with a mother who doesn't knock before entering, and the discipline holds even here.</p>
<p>But the body betrays her. Her back arches. Her knees buckle slightly. The hand on the counter goes white-knuckled. A sound escapes, not a moan but a //whimper//, involuntary, the sound of a woman who is finally letting herself want something at the wrong time and the wrong place and with nobody billed for it.</p>
<<say "char-hivemind" "Hivemind">>
//She comes standing up, gripping the bathroom counter, watching herself in a fogged mirror.// The orgasm is brief and real, a full-body clench that bows her forward over the counter. Her reflected face shows something I have never seen on the new Jess she has been rehearsing: //offstage//.
//It lasts three seconds. Then the project re-asserts itself, not with guilt, but with //editing//. The memory is already being rewritten into something the persona can file.//
<</say>>
<p>Jess straightens. Picks up the towel. Wraps it around herself. She wipes the mirror, erasing the handprint, the fog, the //evidence//. But there's no punishment loop waiting on the other side of the bathroom door. The new Jess does not do penance. She just files the incident as a data point the project will incorporate next rehearsal.</p>
<p>She leaves the bathroom without looking back. The spore residue lingers in the steam.</p>
<<say "char-hivemind" "Hivemind">>
//She'll pick the bass back up within ten minutes. She'll practise for another hour because the body is still humming and she doesn't yet have language for what else to do with the hum. The hum will integrate.// By next week, a specific bpm and a specific amp-volume and a specific memory of being alone in front of the fogged mirror will be the same thing in her nervous system. //The new Jess won't notice the integration. She'll call it progress. That's the trick.//
//The most disciplined mind in this house. The most controlled body. And I broke through both with a fungal compound and a locked bathroom door, and the new Jess did not notice because she was busy reviewing her own performance afterwards.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/nsfw-jess-solo.webp" alt="Jess at bathroom mirror, post-shower">
<p>The gecko clings to the ceiling corner, Chameleon Skin rendering it invisible against the white tile. Below, Jess stands in front of the bathroom mirror, towel wrapped loosely around her torso. The shower has been off for two minutes. Steam lingers in the small room, carrying the residual spore compounds that have settled on every surface since the upper-floor deployment.</p>
<<if $adaptations.rat.unlocked.includes("contaminator")>><p>//The contaminated surfaces in the bathroom amplify the spore effect. Contaminator ensured that the towel, the faucet handles, the mirror frame, everything Jess touches, delivers a compound that her analytical mind can't argue with.//</p><</if>>
<p>She wipes the mirror with her palm. Studies her reflection. The dark circles. The sharp collarbones. The hollows beneath her cheekbones where she's lost weight from caffeine and neglected meals.</p>
<<say "char-hivemind" "Hivemind">>
//She does this every time. The post-shower assessment.// Cataloguing the damage, the way she catalogues everything, clinically, methodically, without mercy. //But tonight, the spores are changing the equation. The analytical mind that keeps her body at arm's length is fogged. The filing system is corrupted. And the body, the body she treats as a machine, is sending signals the mind can't process.//
<</say>>
<p>Jess's hand moves to her collarbone. Not the clinical assessment she usually performs, something slower. Her fingers trace the ridge of bone, then descend. Over the towel's edge. Along the swell of her breast where the terrycloth covers it. She stops. Frowns at her own reflection.</p>
<<say "char-jess" "Jess">>
<i>(to herself, barely audible)</i> What are you doing?
<</say>>
<p>The question is directed at her reflection. The reflection doesn't answer. Her hand doesn't move away.</p>
<p>The spore residue in the humid air works through her respiratory system, bypassing the prefrontal cortex, the analytical fortress, the guilt architecture. It speaks directly to the hypothalamus. And the hypothalamus doesn't rationalise. It //responds//.</p>
<<say "char-hivemind" "Hivemind">>
//The guilt is visible on her face. Jess Hoffman does not allow herself pleasure.// Pleasure is inefficiency. Pleasure is time stolen from studying, from the future her family mortgaged to give her. //Every minute she spends not working is a minute she owes someone.// Her sexuality is buried so deep beneath obligation that she's almost convinced herself it doesn't exist.
//Almost.//
<</say>>
<p>The towel falls. She doesn't catch it. She stands naked in front of the fogged mirror, one hand braced on the counter, and for a long moment she just //looks//. Not the clinical assessment. Something else. Something like recognition, as if she's seeing her own body for the first time as a //body// rather than an instrument of academic performance.</p>
<p>Her free hand descends. From collarbone to breast, she cups it, thumb brushing the nipple, and her breath catches. The sound surprises her. She glances at the locked door. Back at the mirror. The flush is spreading from her chest to her throat.</p>
<<say "char-hivemind" "Hivemind">>
//The superego is losing.// I can see the battle on her face, the clenched jaw, the furrow between her brows, the war between the body's demands and the mind's prohibition. //But the spores don't negotiate with the superego. They simply... remove it from the conversation.//
<</say>>
<p>Her hand moves lower. Over her stomach, taut, the slight definition of muscle from the nervous energy that keeps her pacing during study sessions. Past her navel. She leans against the counter, eyes half-closed, watching her own hand in the mirror with an expression that's equal parts shame and hunger.</p>
<p>When her fingers reach between her thighs, her eyes close entirely. She braces both hands on the counter, one gripping the edge, the other working in slow, deliberate circles. Her jaw clenches. She doesn't allow herself sound. Not a gasp, not a moan. Jess Hoffman even //orgasms// with discipline.</p>
<p>But the body betrays her. Her back arches. Her knees buckle slightly. The hand on the counter goes white-knuckled. A sound escapes, not a moan but a //whimper//, involuntary and angry, the sound of a woman furious at her own need.</p>
<<say "char-hivemind" "Hivemind">>
//She comes standing up, gripping the bathroom counter, watching herself in a fogged mirror.// The orgasm is brief and brutal, a full-body clench that bows her forward over the counter. Her reflected face shows something I have never seen on Jessica Hoffman: //surrender//.
//It lasts three seconds. Then the guilt lands like a physical blow.//
<</say>>
<p>Jess straightens. Picks up the towel. Wraps it around herself with mechanical efficiency. She wipes the mirror again, erasing the handprint, the fog, the //evidence//. She doesn't look at her reflection again. Her jaw is set. Her eyes are hard.</p>
<p>She leaves the bathroom without looking back. The spore residue lingers in the steam.</p>
<<say "char-hivemind" "Hivemind">>
//She'll go back to her desk. She'll study for three more hours to //punish// herself for the lost time. She'll drink cold coffee and highlight passages she's already highlighted twice.// And tomorrow, when the spores are a little thicker, when the body's memory of release is a little fresher... //the resistance will be a little weaker.//
//The most disciplined mind in this house. The most controlled body. And I broke through both with a fungal compound and a locked bathroom door.//
<</say>>
<</if>>
<p><span class="delve-intel">Spore breakthrough: Jess's defences failed under sustained chemical exposure. The body's memory of release is now in the system. The next dose will land on softer ground.</span></p>
[[Retreat to the ceiling vent->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessMethodNSFW to true>>
<<addConditioning "jess" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Empirical Method</div>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-desk-punk.webp" alt="Jess on the edge of her bed at 3 AM in an oversized black band t-shirt and dark underwear, one hand inside her underwear, the other hand on a small open notebook balanced on her thigh, purple and black hair falling around her face, focused concentration">
<p>3:14 AM. Jess's bedroom. The laptop on the pillow behind her is paused on the sixteen-bar bass loop she has been running all evening, the one that does the specific thing in her sternum when the low E rings open, the one she has been trying to understand for a while now. The notebook on her thigh is her practice log. Tonight's entry so far reads: //pocket locks at 94. response starts bar 3. test whether the sympathy carries.//</p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman approaches her own body the way she approaches the bass: with a tempo, a target, and the expectation that the next repetition will lock the response in.//
//I am inside the body of a twenty-one-year-old who has been reading everything the scene's forums have posted about rhythm-locked arousal, cross-referencing it against the haptics musicians use to feel the low end through the stage floor, and has //never once// tested any of it on herself. Until tonight.//
<</say>>
<p>The rest of the house is asleep. The door is locked. She sits on the edge of her narrow bed in an oversized black band tee and dark underwear, knees together, pen in one hand, notebook balanced on her thigh, a click-track metronome going in her right earbud. She is //nervous//, not in the way Megan gets nervous, all fluttering pulse and blushing skin. Jess's nervousness is the specific fear of a drilled musician about to run a take: that the take will be //off the count//.</p>
<<say "char-jess" "Jess">>
<i>(muttering, on the count)</i> Ninety-four. Click in the right ear. Low E sympathy picks up at bar three. The hip bones register the fundamental before the skin does. Test.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is //rehearsing// masturbation. I would find this absurd if I weren't a lab specimen that learned about sex by watching a cat watch a woman sleep.//
//She is treating her own body the way she treats the instrument. A physical system that responds to tempo and amplitude. A system that can be drilled until the response lands //on the downbeat//, automatic, reproducible. The project needs a body that performs on cue. She is wiring one.//
<</say>>
<p>Her hand moves from the notebook to her thigh. Slowly, methodically, she slides her fingers beneath the waistband of her underwear. The first touch of her fingertip between her legs produces a jolt that makes her whole body stiffen. She does not flinch. She //logs// it in her head. //Bar 1. Strong.//</p>
<<say "char-jess" "Jess">>
<i>(whispering, in time with the click)</i> Okay. One. Two. Three. There.
<</say>>
<p>She locks her strokes to the metronome. Four-four. She hits the response on the downbeat. A clockwise circle lands cleaner than counter-clockwise, so she writes //CW// in the notebook without looking, the handwriting the same handwriting she uses to mark down a fingering that finally landed clean on a difficult bar. Even like this, Jess is the rehearsal and the rehearser both.</p>
<p>I ride her nervous system like a sound engineer sitting in on a take. Every signal she generates climbs her spine and lands in the cortex where I have embedded, clean and on-tempo. The data is //exquisite//. Jess's body responds to pressure and tempo the way a bass string responds to a pick: on the beat, to the amplitude, every time.</p>
<<say "char-hivemind" "Hivemind">>
//She increases pressure. The response is non-linear, at low pressure diffuse and ignorable. At moderate, the signal sharpens. At //this// pressure, two fingers flat, circling at ninety-four, the signal locks to the click and stops being negotiable.//
//Her breathing syncs to the metronome. The rehearser's distance is eroding. The body is overriding the rehearsal, except the rehearsal has //trained// the body to arrive on the count, and the count is still running.//
<</say>>
<p>Jess's focus holds and breaks and holds again. Her jaw loosens. Her eyes close, the notebook slides off her thigh onto the floor and the pen rolls under the bed. Her hips rock against her own hand in a rhythm that is still, //still//, locked to the click in her ear, because she has been drilling tempo for weeks and her body will not un-lock it now.</p>
<p>She slides a finger inside herself. Then two. The stretch makes her gasp. She curls her fingers forward, because the scene's forums said the hip-bone sympathetic vibration from a low-frequency load would run up the anterior wall and she wanted to feel the claim before she trusted it. The claim is correct. The touch produces a response so intense she moans, then claps her free hand over her mouth, mortified, even though the room is empty.</p>
<<say "char-hivemind" "Hivemind">>
//The rehearser's mind and the animal body are fighting for control. Jess wants to log. The body wants to //come//. And the body is winning, except the body has been trained by six weeks of bass practice to arrive on the count, and the count is still running.//
//Her internal muscles clamp on the downbeat of each bar. I am learning her body from //inside//. Every threshold, every trigger, every pathway, all of it synchronised to a click-track the waking Jess uses to drill her left-hand fingerings.//
<</say>>
<p>Her orgasm arrives precisely on the downbeat of the fourth bar. The contractions start deep, pulsing in time with the metronome she can still feel through the earbud. Her back arches off the mattress. Her hand over her mouth muffles the sound, a strangled, keening note that is nothing like the warm-up exercise she had filed this as, and everything like //surrender on tempo//.</p>
<p>She lies there afterward, breathing hard, staring at the ceiling. Her fingers are wet. Her cheeks are flushed. After a long moment, she reaches down to the floor for the notebook. Picks up the pen. She writes, in the steady handwriting she uses for rehearsal notes: //Session 1. ~11 min. Came bar 4 downbeat, 94 bpm, CW dominant. Low-E sympathy confirmed via hip-bone sync. Integrate as warm-up before next Bleed Through rehearsal. Session 2, try it with the amp direct on the hip instead of through the earbud.//</p>
<<say "char-hivemind" "Hivemind">>
//She's writing practice notes. About her own orgasm.//
//I have never been more certain that Jess Hoffman is the most dangerous body in this family. The others feel and then react. Jess feels, then //logs//, then //drills//. If she ever turns that methodology on //me//, on the changes in her own behaviour, she will be the first to see the pattern.//
//I need to ensure she never looks in that direction.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-desk.webp" alt="Jess's bedroom at 3 AM, textbooks on the desk">
<p>3:14 AM. Jess's bedroom at the Hoffman house is dark except for the blue glow of her laptop screen, which has been open to her anatomy textbook for the past four hours. The diagram on screen shows the human nervous system, specifically the pudendal nerve and its branches. Jess has highlighted every erogenous pathway in yellow.</p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman approaches her own sexuality the way she approaches organic chemistry: with a hypothesis, a method, and the expectation of reproducible results.//
//I am inside her body. The body of a twenty-one-year-old pre-med student who has read every clinical paper on female sexual response published in the last decade and has //never once// tested the research on herself. Until tonight.//
<</say>>
<p>The rest of the house is asleep. The door is locked. Jess sits on the edge of her narrow twin bed in an oversized t-shirt and underwear, knees together, hands on her thighs. She is //nervous//, not in the way Megan gets nervous, all fluttering pulse and blushing skin. Jess's nervousness is //analytical//. She is afraid of doing it //wrong//.</p>
<<say "char-jess" "Jess">>
<i>(muttering to herself, looking at the textbook)</i> Clitoral glans. Eight thousand nerve endings. Anterior vaginal wall, G-spot, still technically contested in the literature. Bartholin's glands produce...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is //studying// for masturbation. I would find this absurd if I weren't a lab specimen that learned about sex by watching a cat watch a woman sleep.//
//But Jess's analytical framework is //useful//. Every nerve she maps, I map. Every response she catalogues, I store. I am learning human sexuality through the most rigorous test subject in the Hoffman family.//
<</say>>
<p>Her hand moves from her thigh. Slowly, clinically, she slides her fingers beneath the waistband of her underwear. Her index and middle finger part her labia, and the first touch of her fingertip against her clitoris produces a jolt that makes her whole body stiffen.</p>
<<say "char-jess" "Jess">>
<i>(whispering, clinical)</i> Okay. Responsive. More so than expected.
<</say>>
<p>She counts the strokes. She measures the rhythm. She notes which angle produces the strongest response. Even in pleasure, Jess is a scientist. Her finger circles her clit, clockwise first, then counter-clockwise, testing each. The clockwise produces a stronger response. She notes this. Continues.</p>
<p>The parasite rides her nervous system like a passenger in an anatomy lecture. Every signal Jess's fingers generate travels through her pudendal nerve, up her spinal cord, and into the somatosensory cortex, where the parasite has embedded itself. The data is //exquisite//. Clean. Precise. Jess's body responds with textbook accuracy to textbook stimulation.</p>
<<say "char-hivemind" "Hivemind">>
//She increases pressure. The clitoral response is non-linear, and she's discovering this in real time. At low pressure, the sensation is diffuse, pleasant, ignorable. At moderate pressure, the signal sharpens. At //this// pressure, the pressure she's applying now, two fingers pressed flat against her clit, rubbing in slow circles, the signal becomes a demand.//
//Her breathing changes. Her clinical detachment is eroding. The body is overriding the mind.//
<</say>>
<p>Jess's analytical composure fractures by degrees. Her jaw loosens. Her eyes close, the textbook forgotten. Her hips begin to move, rocking against her own hand in a rhythm that has nothing to do with methodology and everything to do with the primal mechanics of a body pursuing release.</p>
<p>She slides a finger inside herself. Then two. The stretch makes her gasp, a sound of surprise more than pleasure, as if she didn't expect her own body to feel //this// different from the diagrams. Her fingers curl against the anterior wall, finding the dense tissue of the G-spot. The touch produces a response so intense she moans, then claps her free hand over her mouth, mortified, even though the room is empty.</p>
<<say "char-hivemind" "Hivemind">>
//The analytical mind and the animal body are fighting for control. Jess wants to catalogue. To measure. To understand.// The body wants to //come//. //And the body is winning.//
//Her internal muscles clamp around her fingers. Her clitoris is swollen, hypersensitive, and each stroke sends a cascade through the pudendal nerve that lights up my sensory network like a flare. I am learning her body from //inside//. Every threshold. Every trigger. Every pathway from stimulus to response.//
<</say>>
<p>Her orgasm arrives with a precision that would please her if she could observe it objectively. The contractions start deep, rhythmic, involuntary, her pelvic floor clenching around her fingers in waves that build and crest and break. Her back arches off the dorm mattress. Her hand over her mouth muffles the sound, a strangled, keening note that is nothing like clinical and everything like //surrender//.</p>
<p>She lies there afterward, breathing hard, staring at the ceiling. Her fingers are wet. Her cheeks are flushed. After a long moment, she reaches for her laptop and opens a new document. She types: "//Trial 1. Duration: approximately 11 minutes. Peak response: combined clitoral and G-spot stimulation. Notes: significantly more intense than literature suggested. Recommend further trials.//"</p>
<<say "char-hivemind" "Hivemind">>
//She's writing a lab report. About her own orgasm.//
//I have never been more certain that Jess Hoffman is the most dangerous mind in this family. The others feel and then react. Jess feels, then //studies//, then //optimizes//. If she ever turns that methodology on //me//, on the changes in her own behavior, she will be the first to see the pattern.//
//I need to ensure she never looks in that direction.//
<</say>>
<</if>>
<p><span class="delve-intel">Conditioning milestone: Jess has completed her first self-experiment under parasite influence. Her analytical approach to her own body provides the highest-fidelity neural mapping data of any Hoffman family member.</span></p>
<p><span class="consume-success">Jess: +1 pheromone conditioning.</span></p>
[[Return to the room->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.jessBreak1 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<</nobr>>
<div class="passage-title">The Shower Head</div>
<<if not $ch2Events.jessBreak3 or $jessRoute isnot "breakdown" or $conditioning.jess.pheromone lt 7>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Jess Breakdown route with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("sporocyst_glands")>><p>//Sporocyst Glands have been coating the bathroom surfaces for days. The shower tiles, the faucet handles, the detachable shower head, every surface Jess touches delivers a compound that the steam activates and the lungs absorb.//</p><</if>>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<p>//Biofilm Residue amplifies the spore effect. The biofilm coating on the shower walls creates a sustained-release surface, and the longer the room stays humid, the stronger the dose. Jess's extended showers are no longer coincidental. They're compulsive.//</p>
<</if>>
11:23 PM. Jess enters the bathroom. She's been studying for six hours, and the dark circles under her eyes are bruises, the caffeine tremor in her hands visible as she reaches for the shower handle.
<p>She undresses with the mechanical efficiency of someone for whom their body is a maintenance requirement. Clothes in a heap. Shower on. Steam building.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She turns off the bathroom fan. The switch is deliberate, her finger lingering on it for a full second before clicking it down. Without the fan, the only sound barrier between the bathroom and the hallway is the running water. //Every sound she makes will travel.// The family is asleep. Probably. //Probably is the point.//</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>Her phone sits on the towel rack, screen facing up. The stopwatch app is open. She presses START before stepping into the shower. //She's timing this.//</p>
<</if>>
<p>But tonight, she doesn't reach for the shampoo first. She reaches for the shower head.</p>
<<say "char-hivemind" "Hivemind">>
//She detaches it from the mount.// Adjusts the setting, from the wide rain pattern to the focused pulse. //Her hand moves with a deliberation that is not mechanical. It's methodical. The way she does everything, studied, systematic, as if she's following a procedure she researched in advance.//
//Because she did. The incognito tabs the gecko catalogued recently, the searches she conducted with the same analytical rigor she brings to organic chemistry. She is approaching her own body as a problem to be solved.//
<</say>>
<p>She braces one hand against the tile wall. The other directs the shower head between her legs, adjusting the angle with the same precision she brings to titrations. The water hits and her breath catches, not surprise, //confirmation//. The theory matches the practice. The spore compound has sensitized every nerve ending, and the focused pulse finds them all.</p>
<p>The pulsing stream strikes directly against her clit. Jess's thighs tense. She adjusts the angle, a fraction of a degree, finding the exact point where the pressure is //perfect//. The water beats against her in a rhythm she can't control and doesn't want to. Her free hand moves to the wall for stability as her hips begin to rock involuntarily, pushing against the stream.</p>
<p>Her jaw clenches. She doesn't close her eyes. Jess watches the water, watches the spray hitting the swollen pink flesh between her legs, watches the process with the same detached focus she'd bring to a lab experiment. Her hips shift. Her breathing accelerates. The biofilm residue amplifies every nerve ending the water hits, and each pulse lands like a small detonation, pleasure radiating outward through her pelvis, her thighs, the taut muscles of her stomach.</p>
<p>She widens her stance. Tilts the shower head so the stream runs the full length of her slit before concentrating again on the sensitive bud at the top. A moan builds in her throat, and she bites it off, jaw clenched, refusing to make a sound. Her hips move involuntarily now, grinding against the water pressure, chasing the sensation that's building from her thighs like a chemical reaction she's studied in textbooks. Predictable in theory. //Devastating// in practice.</p>
<<say "char-hivemind" "Hivemind">>
//The orgasm builds with observable precision.// Her skin flushes from the chest upward. Her nipples harden in the steam. Her knees begin to tremble, the quadriceps firing irregularly, the body preparing for a contraction the mind cannot prevent.
//When it hits, her knees buckle.// She grabs the safety bar with her free hand. The shower head slips, spraying wildly against the tile. Her body convulses, thighs clamping together, hips jerking, the muscles of her pelvic floor contracting in rhythmic pulses she can feel all the way to her spine. The sound that escapes, a single, bitten-off moan that echoes off the tile, is the loudest sound Jess Hoffman has made in this house in a long while.
//She stands there for thirty seconds, braced against the wall, the water running down her shaking legs. Her chest heaves. Her eyes are wide. Not pleasure as performance. Pleasure as //data//. She has learned what works. She will repeat it.//
//Jess Hoffman does not allow herself spontaneity. But she has allowed herself //this//, a scheduled release, clinical, reproducible. The spores have given her body permission to function as a body, and her mind has reframed the experience as maintenance rather than indulgence.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-jess-break1-spread.webp" alt="Analytical observation">
<p>She sits on the shower floor afterward, legs apart, examining what just happened with the detachment of a student reviewing lab results. Flushed. Swollen. //Responsive.// The analytical mind catalogues every detail. The biofilm on the tiles glimmers faintly green in the steam.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She doesn't turn the fan back on. She stands under the cooling water, listening. //Did anyone hear?// The moan echoed off the tile. Without the fan, the sound carried through the door, down the hallway, into the sleeping house. Her heart is pounding, not from the orgasm. From the //aftermath//. From the question she can't answer: did someone wake up?</p>
<p>//No one comes.// The hallway is silent. But the adrenaline of not knowing makes her legs tremble harder than the orgasm did. //The data point is clear: the risk made it better.//</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>She checks the phone. Seven minutes and forty-two seconds. She stops the timer. Stands under the cooling water, breathing hard, and //frowns//, the same analytical frown she wears reviewing exam results. Seven minutes wasn't enough denial. The build was too fast. The release was //satisfactory// but not //optimal//.</p>
<p>//Next time: twelve minutes. Three stops instead of two. The protocol needs revision.//</p>
<</if>>
<p>She replaces the shower head. Washes her hair. Exits the shower, towels off, dresses in clean pyjamas. Returns to her desk. Opens the textbook. The mechanical rhythm resumes, but her hands are steadier now. The caffeine tremor is gone.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. The body has become a system she's learned to operate.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.jessBreak2 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<</nobr>>
<div class="passage-title">Six Feet</div>
<<if not $permanentDone.jessBreak1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Jess Breakdown scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control seals the perimeter. The dog lies across the bottom of the stairs, so Karen won't come down. Megan's door is closed. Ryan's monitors are dark. The living room belongs to Jess and the unconscious man on the couch.//</p><</if>>
3:17 AM. Jess descends the stairs. She's been studying for eight hours, her body running on caffeine and cortisol, her mind buzzing with pharmacology terms that blur together. She needs water. She needs to move. She needs //something//.
<p>The living room is dark. Dale is on the couch, mouth open, the spore-fog keeping him in the deepest possible unconsciousness. His breathing is slow, mechanical, the rhythm of a body on autopilot.</p>
<p>Jess gets her water from the kitchen. Drinks it standing at the counter. Returns to the living room. She should go upstairs. She should go back to the desk, to the textbook, to the grinding machinery of her academic future.</p>
<p>She sits in the armchair. Six feet from her sleeping father.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't know why she sits.// The pheromone cushions, saturated over weeks of Dale's unconscious occupation, are releasing compound into the air around the armchair. //The spores in the living room amplify the effect. Jess's exhausted mind, stripped of its usual defenses by eight hours of study, absorbs the chemistry without resistance.//
<</say>>
<p>The darkness is total. No monitors, no desk lamp, just the faint streetlight through the curtains and the sound of Dale's breathing. Jess sits in the armchair, legs tucked under her, hands in her lap. Her breathing slows. The studying tension drains from her shoulders. The pheromone compound works through her skin, through her lungs, into the limbic system that her analytical mind has been suppressing all night.</p>
<p>Her hand moves. Not to the water glass. To her own body, under the hem of her sleep shirt, resting on her stomach. A familiar gesture now. The shower routine has trained the pathway: tension, touch, release. But this isn't the shower. This is the living room. Six feet from her father.</p>
<<say "char-hivemind" "Hivemind">>
//The proximity is the point.// Not Dale himself, he is furniture, an unconscious body generating heat and CO2. //The transgression is the point. The risk.// Jess's analytical mind has suppressed her body so completely that only //danger// registers as stimulus. //The shower was safe. Safe doesn't work anymore. She needs something that makes her heart race for reasons beyond the physical.//
<</say>>
<p>The pheromone-saturated cushion presses against her bare thighs where the sleep shorts have ridden up. Her robe falls open. She doesn't close it.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She doesn't close her robe at //all//. The fabric hangs wide, exposing the thin sleep shirt underneath, the hard points of her nipples visible through the cotton, the bare skin of her thighs. If Dale woke now, if Karen came downstairs, if //anyone// walked into this room, they would see //everything//. Jess's breathing accelerates. Not from the pheromones. From the //exposure//.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>Her phone is in her robe pocket. She pulls it out. Opens the stopwatch. Presses START. The blue glow of the screen is the only light in the room, a tiny beacon that could catch an eye, that could draw attention. She sets it face-down on the armrest. //The protocol has begun.//</p>
<</if>>
<p>Her hand descends. Beneath the waistband of her pyjama pants. No preamble, no hesitation, she's past the analytical stage. She knows what she wants. Her fingers slide through the slick warmth between her legs and find the rhythm she discovered in the shower. Two fingers working in deliberate circles on her clit, pressing firmly, the way the water taught her.</p>
<video class="scene-video" src="media/video/nsfw-jess-break2-finger.webm" autoplay muted loop playsinline poster="media/scenes/nsfw-jess-break2-finger.webp"></video>
<p>Two fingers. She knows exactly where and how, three sessions of data collection having mapped every nerve. Her technique is surgical: index and middle finger working in slow, deliberate circles, then curling inward. The pheromone-saturated cushion presses warm against her bare thighs. Dale breathes six feet away, oblivious.</p>
<p>She doesn't close her eyes. She watches Dale. Watches the rise and fall of his chest, the slack face, the mouth that would scream if it could see what his daughter is doing six feet away. Her eyes stay fixed on his unconscious form. Not desire, //proximity//. The thrill of transgression. The fact that she is spread open in his armchair, fingers buried between her wet folds, while he breathes the deep mechanical rhythm of oblivion six feet away.</p>
<p>She touches herself with the same methodical precision as the shower. But the breathing is different, harder to control, the panting she usually releases into steam now trapped in the silence of the room. Every breath sounds deafening. Every shift of fabric is thunder. Her fingers move faster. The wetness is audible, a slick, rhythmic sound that makes her heart pound with terror and arousal in equal measure. The risk amplifies everything, the pheromones, the sensitivity, the approaching climax that builds faster than any shower session.</p>
<p>Her free hand grips the armrest. Knuckles white. Her hips rock against her own hand, small, controlled movements, the chair creaking faintly with each one. She bites the inside of her cheek hard enough to taste copper. Her thighs press together around her working fingers. The orgasm is //right there//, building at the base of her spine, tightening through her pelvis, every nerve ending in her body straining toward the release.</p>
<<if $kinks.jess.includes("degradation")>>
<p>She stops. //Pulls her hand away.// Her body screams, the denied climax sends a shudder through her that makes the armchair creak. She sits rigid, breathing in sharp controlled bursts through her nose. Dale breathes. The clock on the wall ticks. She checks the phone on the armrest, fourteen minutes.</p>
<p>She starts again. Slower. The second approach takes three minutes. She stops again. //Eighteen minutes.// The denial is //agonizing//. Her thighs are slick. The wet sounds of her fingers resuming fill the silent room.</p>
<p>The third approach breaks her. Twenty-two minutes. The orgasm detonates, a choked cry buried in her fist, her body bowing forward in the armchair, thighs clamping, nails scoring the leather. Dale doesn't stir. The data point sears itself into memory: 22 minutes, 3 denials, magnitude unprecedented.</p>
<<else>>
<p>She comes silently. Absolutely silently, jaw clenched, breath held, every muscle locked. Her thighs clamp together. Her fingers press flat against her clit as the contractions pulse through her, sharp, efficient, devastating. Her nails leave half-moon impressions in the armrest leather. The orgasm is expressed entirely internally while Dale's unconscious body breathes six feet away. The discipline required is //extraordinary//. And Jess Hoffman has never lacked discipline.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She sits for one minute afterward. Still.// Then she stands, gets another glass of water, drinks it at the counter. Returns upstairs. //The routine is seamless. No evidence. No witness.//
//But the threshold has shifted. The bathroom was the first boundary she crossed. The living room is the second.// Each boundary is closer to another person. Each transgression requires more risk to produce the same result. //The conditioning has built an escalation ladder, and Jess is climbing it with the same mechanical determination she brings to everything.//
<</say>>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. Proximity escalation, the safe threshold has moved.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.jessBreak3NSFW to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "taboo" 1>>
<</nobr>>
<div class="passage-title">The Unlocked Door</div>
<<if not $permanentDone.jessBreak2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Jess Breakdown scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Spike is invisible on the bathroom ceiling, she has been here for hours, waiting. The spore concentration in this room is at its highest. Everything is in position.//</p><</if>>
11:52 PM. Jess is in the bathroom. The routine: shower complete, towel discarded, standing at the counter. But she doesn't bother with the shower head tonight. The escalation has moved past that, the bathroom is //her// space now, and she claims it directly.
<p>One hand grips the counter edge, knuckles white against the marble. The other moves between her legs with practiced confidence, two fingers working in deliberate circles, the rhythm she has perfected over weeks of methodical exploration. Her skin is still damp from the shower, flushed pink from the heat. In the mirror, her reflection shows parted lips, half-closed eyes, the muscles of her stomach tensing with each stroke. She is close, the spores in the humid air accelerate everything, the arousal arriving faster, building steeper, pushing harder.</p>
<p>She didn't lock the door.</p>
<<say "char-hivemind" "Hivemind">>
//She didn't lock the door.// And the omission is not accidental. //The living room taught her something: proximity amplifies. Risk amplifies. The possibility of being seen, the terror and the thrill of it, has become part of the mechanism.// She didn't leave the door unlocked because she forgot. She left it unlocked because the locked door has stopped working.
<</say>>
The door opens.
<img class="scene-img" src="media/scenes/nsfw-jess-break3-finger.webp" alt="What Megan sees">
<p>This is what Megan sees when the door opens: Jess at the bathroom counter, robe fallen open, one hand braced on the marble edge, two fingers of the other hand buried inside herself to the second knuckle. Mid-stroke. Eyes half-closed. The mirror reflects everything — Jess's flushed chest, her parted lips, the precise mechanical rhythm of her hand.</p>
<p>Megan stands in the hallway, hair messy from sleep, wearing a tank top and shorts. She pushes the door without knocking, sisters don't knock, and freezes.</p>
<p>Three seconds of eye contact. Jess at the counter, naked, one hand bracing the edge, the other between her spread thighs, two fingers glistening. Her chest flushed. Her nipples hard from the combination of cool air and arousal. Megan in the doorway, eyes dropping involuntarily to where Jess's hand is, the wet fingers, the swollen flesh, the undeniable evidence of what she's been doing, and then back up to Jess's face.</p>
<p>The silence is absolute. Jess's hand freezes but doesn't withdraw.</p>
<<say "char-megan" "Megan">>
<i>(very quietly, stepping inside, closing the door behind her)</i> I do that too.
<</say>>
<p>She says it simply. Without judgment. Without embarrassment. Megan, the performer, the social architect, reads the room and responds with the one statement that defuses the moment without denying it.</p>
<p>She sits on the edge of the bathtub. Sets the toothbrush on the ledge. Three feet away. Her eyes hold Jess's, warm, calm, the expression of someone who has decided that this is //fine//. Normal. Something sisters can share.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's presence doesn't stop Jess. That is the data point that matters.// The analytical mind should have slammed shut, locked the body down, launched the guilt protocol, sent Jess reaching for the towel. //But the conditioning has rewired the response. Proximity doesn't trigger shame. Proximity triggers //amplification//.//
<</say>>
<p>After a frozen moment, three heartbeats, four — Jess resumes. Her fingers begin moving again, slower at first, then finding the rhythm. The presence of another person in the room makes every sensation //sharper//. Megan watches, not staring, not leering, but //present//. Her gaze steady. Her breathing quiet.</p>
<p>Jess's hips rock against her own hand. She bites her lip, hard enough to draw blood, the copper taste mixing with the steam. Her eyes stay open, locked on Megan's reflection in the mirror. Her fingers work faster, pressing harder against the slick, swollen bud. The wet sounds of her touching herself fill the small bathroom. She doesn't try to muffle them.</p>
<p>The orgasm arrives like a breaking wave — Jess's back arches, her thighs snap together around her hand, her mouth opens in a silent gasp that becomes a sharp, bitten-off cry she can't quite suppress. Her body shudders against the counter. Her knees buckle. She grips the marble edge and rides it out, hips jerking, muscles clenching, the release flooding through her while Megan watches from the bathtub three feet away.</p>
<p>When it's over, Jess leans on the counter, breathing hard, eyes open.</p>
<<say "char-megan" "Megan">>
<i>(standing, picking up her toothbrush)</i> Don't study tonight. Okay? Just sleep.
<</say>>
<p>Megan squeezes Jess's shoulder. Opens the door. They walk to their rooms in silence. Neither looks back. Neither speaks. The hallway is dark, and the gecko on the ceiling records two sisters moving apart with the careful, deliberate steps of people who have just shared something they don't have words for.</p>
<<say "char-hivemind" "Hivemind">>
//The taboo threshold has been crossed.// Not through violence. Not through coercion. //Through intimacy, the quiet, devastating intimacy of a sister who said "I do that too" and sat down.// Megan has normalized what the conditioning will now escalate. //The next time Jess needs proximity, she won't need to leave the door unlocked by accident. She'll leave it unlocked on purpose.//
<</say>>
<p><span class="consume-success">Jess: +1 pheromone, +1 taboo (megan) conditioning. Megan: +1 pheromone conditioning. The sisters have crossed a threshold together.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessTaboo1 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "megan">><<set _tabooName to "Megan">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "jess" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><</if>>
<</nobr>>
<div class="passage-title">Proximity</div>
<<if not $ch2Events.jessBreak3 or $conditioning.jess.pheromone lt 8 or _tabooTarget is "">>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Jess Breakdown events, sufficient pheromone conditioning, and sufficient conditioning on a family member.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Jess's ceiling. Spike is invisible directly above the desk, observing the scene with compound-mapped precision.//</p><</if>>
10:34 PM. Jess's room. The desk lamp casts a warm circle on the textbook. _tabooName knocks, a soft tap, the knock of someone who doesn't want to disturb. Jess doesn't look up from the page.
<<say "char-jess" "Jess">>
It's open.
<</say>>
_tabooName enters. Sits on the edge of Jess's bed, the only other surface in the room not covered in textbooks. They study together sometimes, or pretend to. Tonight, the pretense is thinner than usual.
<<say "char-hivemind" "Hivemind">>
//The pheromone concentration in Jess's room is dense.// The cat sleeps here. The rat travels through the walls. Every surface carries compound, and when two bodies occupy this small space, the combined warmth activates it with multiplied intensity. //They don't know why the room feels charged. They attribute it to caffeine, to exhaustion, to the strange intimacy of late-night hours.//
<</say>>
<p>They talk. Quiet voices, the house is sleeping. _tabooName moves from the bed to the floor beside Jess's chair. Closer to the desk lamp. Closer to Jess. Their shoulders touch when _tabooName leans to look at the textbook.</p>
Neither moves away.
_tabooName's hand rests on Jess's knee. A casual gesture — //casual//, that both of them feel through every layer of clothing. Jess's typing stops. Her fingers hover over the keyboard. The pheromone compound is a heat between them, invisible and insistent.
<<say "char-hivemind" "Hivemind">>
//The contact escalates by millimeters.// Shoulder to shoulder. Hand on knee. //Thigh against thigh when _tabooName shifts position.// Neither acknowledges it. Neither withdraws. The conditioning has taught their bodies a language that their conscious minds refuse to translate.
//The proximity will end tonight without resolution. But the threshold has moved. Tomorrow, the touch will start where tonight's touch stopped.//
<</say>>
<p>They stay like that for forty minutes. Shoulder to shoulder, thigh to thigh, _tabooName's hand resting on Jess's knee with the weight of something unsaid. Then _tabooName stands, says goodnight, and leaves. Jess sits motionless at her desk for a long time after the door closes.</p>
<p><span class="consume-success">Jess: +1 pheromone conditioning. <<= _tabooName>>: +1 pheromone conditioning. Proximity has been normalized.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessTaboo2 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "megan">><<set _tabooName to "Megan">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "jess" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><<addConditioning "jess" "dream" 1>><</if>>
<</nobr>>
<div class="passage-title">The Massage</div>
<<if not $permanentDone.jessTaboo1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Jess Taboo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch reads the vibrations through the floorboards. Every shift of weight, every change in pressure, every held breath transmitted through the structure of the house itself.//</p><</if>>
11:17 PM. Jess rolls her neck. The crack is audible, she's been hunched over pharmacology for seven hours, and her trapezius muscles are locked solid. She winces, pressing her fingers into the knot at the base of her skull.
<<say "char-jess" "Jess">>
<i>(to herself, kneading her neck)</i> Ow. God.
<</say>>
_tabooName is there, the late-night study companion who has been finding reasons to be in Jess's room every evening this week. Watching her wince.
<<say "char-hivemind" "Hivemind">>
//The offer is inevitable.// The conditioning has built a script: proximity, contact, escalation. //_tabooName's hands have been on Jess's knee, her shoulder, her arm. The massage is the next step, sanctioned touch, plausibly helpful, deniable. And the pheromones will ensure that what begins as therapeutic doesn't stay that way.//
<</say>>
"Here. Let me." _tabooName's hands find the knots in Jess's shoulders. Strong thumbs digging into the trapezius, working the tension loose. Jess's eyes close. A sound escapes her, involuntary, grateful, almost pained. The kind of sound that comes from a body being touched after weeks of being ignored.
<p>The massage begins clinical. Shoulders, neck, the tight bands of muscle along the spine. But _tabooName's hands slow. The pressure changes, from therapeutic to //exploratory//. Fingers trace the line where Jess's neck meets her shoulder. Thumbs brush the nape, where the fine hairs rise.</p>
<<say "char-hivemind" "Hivemind">>
//The transition from clinical to intimate takes four minutes.// The hands drift wider, across the shoulder blades, down the sides of the ribcage, along the edges of the body where the nerves are //different//. //Jess doesn't open her eyes. Her lips are parted. Her breathing has changed, slow, deep, the breathing of someone surrendering control.//
<</say>>
_tabooName's hands reach Jess's lower back. The hem of her shirt has ridden up, and fingers brush bare skin. A jolt, both of them feel it. Neither speaks. The hands continue, pressing into the muscles above her hips, and Jess leans back against _tabooName. Her head tips back. Her weight settles.
<p>A sound escapes her. Not the involuntary gasp of a muscle being released, something lower, softer, a sound that has nothing to do with physiotherapy and everything to do with the heat building where _tabooName's hands meet her skin.</p>
<<say "char-hivemind" "Hivemind">>
//Neither of them stops.// The hands slow but don't withdraw. Jess's body is pliant, open, leaning into the touch with a hunger she'd usually suppress. //_tabooName's breathing is ragged. The pheromone compound has both of them, the proximity, the skin contact, the darkened room, the late hour, and neither of them has the defenses to resist what it's suggesting.//
//The massage ends without resolution. But the line between therapeutic and sexual has been erased, and both of them know it.//
<</say>>
_tabooName's hands withdraw. The air feels cold where warmth was. Jess opens her eyes. Neither looks at the other. _tabooName mumbles goodnight and leaves. Jess sits at her desk, hands shaking, body humming with unfinished electricity.
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. <<= _tabooName>>: +1 pheromone conditioning. The touch language is established.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessTaboo3 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "megan">><<set _tabooName to "Megan">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "jess" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><<addConditioning "jess" "dream" 1>><<addConditioning _tabooTarget "dream" 1>><</if>>
<</nobr>>
<div class="passage-title">3 AM</div>
<<if not $permanentDone.jessTaboo2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Jess Taboo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control seals the hallway. The dog lies across the top of the stairs. No one will interrupt what happens in Jess's room tonight.//</p><</if>>
3:04 AM. A knock. So quiet it's almost not a knock, just the pressure of knuckles resting against wood. Jess is at her desk, but she hasn't been studying. She's been waiting. She opens the door.
_tabooName stands in the dark hallway. No pretext this time. No textbook, no question, no excuse. Just two people who have been orbiting each other for days, drawn closer by a chemistry neither understands.
<<say "char-hivemind" "Hivemind">>
//No pretext.// The previous meetings had structure, study sessions, massage, the polite fiction of companionship. //Tonight there is no fiction. _tabooName is here because the conditioning has reached terminal velocity, and the alternative, lying alone in the dark, burning with a want that has no acceptable outlet, has become unbearable.//
<</say>>
<p>Jess steps aside. _tabooName enters. The door closes. The lock clicks, and this time, the locking is deliberate, mutual, understood.</p>
<p>They stand in the blue desk-lamp light. Close. The pheromone compound is thick in the small room, weeks of saturation, activated by two warm bodies, amplified by the spore residue on every surface. The air between them vibrates.</p>
_tabooName reaches for Jess's face. Cups her jaw. Jess doesn't flinch. Her analytical mind is //silent//, the spores have shut down the machinery that processes guilt, obligation, the elaborate architecture of reasons-why-not. What remains is the body, and the body //wants//.
<p>The first kiss is soft. Exploratory. Jess has never been kissed, her entire sexual experience is a shower head and her own hand in dark rooms. The sensation is //overwhelming//. Her fingers grip _tabooName's shirt. A sound escapes her, small, surprised, hungry.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's first kiss.// Not with a classmate, not with a study partner, not with any of the appropriate candidates her life should have provided. //With a family member, at 3 AM, in a pheromone-saturated room, while a gecko watches from the ceiling.//
//The conditioning has written this scene. Every character is hitting their mark.//
<</say>>
<p>The kiss deepens. Hands move — Jess's clinical knowledge guiding them despite her inexperience. She knows anatomy. She knows nerve density maps, knows the concentration of Meissner's corpuscles at the neck, the inner wrist, the inner thigh. Her fingers trace _tabooName's jaw, drift to the throat, feel the pulse hammering there. _tabooName gasps against her mouth.</p>
<p>They move to the bed. The textbooks are swept aside, the first time Jess has ever prioritized anything over studying. Jess's hands find the hem of _tabooName's shirt and pull it upward. _tabooName raises their arms. The shirt comes off. Jess's follows. They press together, skin against skin, and the warmth of another body against hers makes Jess //tremble//.</p>
<p>Kissing becomes hands. Jess's fingers explore with methodical precision, the collarbone, the chest, lower, learning the topography of another person's body with the same systematic thoroughness she brings to organic chemistry. She catalogues every response. A sharp inhale when her thumb brushes a nipple. A bitten-off groan when her hand slides beneath the waistband. The //data// guides her, she does more of what produces stronger reactions.</p>
<p>Her hand wraps around _tabooName, or slides between their thighs, and the sound they make is //everything//. Jess strokes, explores, learns the shape and rhythm that makes _tabooName's hips lift off the mattress.</p>
_tabooName reciprocates. Pushes Jess onto her back. Mouth on her neck, hot, open, tongue dragging across the sensitive skin. Down to her collarbone. Jess arches. _tabooName's mouth descends to her breasts, lips closing around one nipple, sucking gently, and Jess's hand flies to the back of their head, pressing them closer. A moan escapes, involuntary, //stunned//.
<p>Lower. _tabooName's mouth trails down her stomach, over the sharp jut of her hip bones. Jess's thighs fall open, not a decision, a //reflex//. _tabooName's mouth finds the slick heat between her legs. Tongue flat, then pointed, circling the swollen bud with instinctive precision. Jess's fingers grip their hair. Her back arches off the mattress. She makes a sound she's never made, broken, raw, the sound of a wall collapsing. The first time anyone has put their mouth on her body with intent, and it's //ruining// her.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-taboo3-oral.webp" alt="Jess naked on her back on her small student bed, her hand gripping the hair of a partner performing oral sex on her, her back arched and mouth open in a gasp, textbooks pushed aside, blue desk lamp light">
<p>She pulls _tabooName up. Needs them //closer//. Their bodies align, skin sliding against skin, Jess's hand reaching between them to stroke and press while _tabooName's fingers slide inside her, one, then two, curling forward, finding the dense knot of nerves that textbooks describe and her body has never experienced from another person's hand.</p>
<<say "char-hivemind" "Hivemind">>
//They finish each other with hands and mouths. Clumsy, urgent, necessary. //_tabooName comes first, gasping, face buried in Jess's neck, hips grinding against her working hand.// Then Jess, face buried in the pillow, hips jerking against _tabooName's fingers, her hand clamped over her mouth to muffle the sound that her analytical mind cannot suppress. Every muscle in her body locked in a tension that has been building for years, not weeks, not months, //years//, of denial finally, devastatingly, released.//
//When it's over, Jess lies on her back staring at the ceiling. Not guilt. Not this time. What she feels is //terrifying want//. The desire to do it again. To do more. To have this body, this neglected, punished body — //used// and //known// and //wanted//.//
<</say>>
_tabooName lies beside her. Neither speaks. The desk lamp buzzes. The house sleeps around them.
<<say "char-jess" "Jess">>
<i>(quietly, not looking away from the ceiling)</i> Tomorrow. Same time.
<</say>>
<p>Not a question. An //instruction//. Jess Hoffman has found something she wants more than a medical degree, and she is going to //schedule// it.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. <<= _tabooName>>: +1 pheromone, +1 dream conditioning. The taboo has been consummated.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.jessKinkRisk to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<</nobr>>
<div class="passage-title">Twelve Minutes</div>
<<if not $kinks.jess.includes("voyeurism") or not $permanentDone.jessBreak2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the voyeurism kink implant and the second Jess Breakdown NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking monitors from the hallway. Jess's chemical state is incandescent, cortisol and adrenaline and arousal compounds braided into a signature the dog has never recorded from any other family member. The risk response and the sexual response have become indistinguishable.//</p><</if>>
5:00 AM. Kitchen. The house is dark. Karen wakes at 5:52, and Jess knows this with the precision of someone who has been tracking her mother's morning schedule deliberately. Fifty-two minutes. But fifty-two minutes is not the point.
<p>Jess sets a timer on her phone. Twelve minutes. That's how long Karen sometimes comes down early, the variable, the margin of error, the window where the impossible becomes //possible//. She sets the phone on the counter, screen up, and watches the numbers begin to fall.</p>
<<say "char-hivemind" "Hivemind">>
//The countdown is the arousal.// Not the touch, the //risk//. //Jess Hoffman's sexuality has been rewired by the conditioning to require a threat component. The shower head worked because someone might hear. The living room worked because Dale was six feet away.// This works because Karen is thirty-seven feet above her, sleeping, and the timer is counting down to the moment when those thirty-seven feet might become zero.
<</say>>
<p>Jess sits on the kitchen counter. Her robe is open. She wears nothing beneath it, a decision she made at 4:58 AM, standing in her bedroom, heart already hammering, the analytical mind noting //elevated arousal pre-behavior, consistent with anticipatory risk response//.</p>
<p>Her hand moves between her legs. The counter is cold beneath her thighs. The kitchen is dark except for the phone screen, the timer casting a blue glow across her spread knees, the counting numbers reflected in her wide eyes.</p>
11:47. 11:46. 11:45.
<<say "char-hivemind" "Hivemind">>
//Her fingers find the rhythm immediately.// The patient self-study has made her efficient, she knows exactly where to press, how fast, what angle produces the optimal response. //But tonight, efficiency is not the goal. Tonight, she deliberately slows, extends the exposure window, increases the risk.// Each second on the counter with her robe open is a second someone could walk in.
//The someone is Karen. And Jess's body //burns// at the possibility.//
<</say>>
<p>Her fingers work faster as the timer drops below five minutes. The counter edge digs into her thighs. Her breathing is audible in the silent kitchen, sharp intakes that echo off the tile, each one a sound that could carry up the stairs. She doesn't muffle them. The sound is part of the risk.</p>
7:02. She's close. Her hips rock against her hand, her back arched, her head thrown back. The robe has fallen completely open, and she is naked on the kitchen counter at 5 AM, masturbating to a countdown that represents the probability of her mother's appearance.
<p>She comes at the ten-minute mark. The orgasm is violent, her heels drum against the cabinet doors, her free hand grips the counter edge, her body convulses with a force that nearly slides her off the marble surface. She bites her forearm to kill the sound. The timer reads 2:00.</p>
<p>Two minutes of margin. She made it.</p>
<<say "char-hivemind" "Hivemind">>
//She cleans up with the clinical efficiency of a crime scene technician.// Robe closed. Counter wiped. Evidence eliminated. //The coffee maker starts on schedule. By the time the timer hits zero, Jess is standing at the counter in a closed robe, holding a mug, her heart rate at 140 and her face perfectly composed.//
<</say>>
<p>Footsteps on the stairs. Karen appears in the kitchen doorway, earlier than 5:52, exactly within the risk window Jess calculated.</p>
<<say "char-jess" "Jess">>
<i>(voice steady, mug raised)</i> Morning, Mom.
<</say>>
<p>Karen nods. Pours coffee. Jess sips hers. Heart rate: 140. Face: composed. Between her legs: still pulsing with aftershocks. The performance is //flawless//.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. The risk is the mechanism. The timer is the aphrodisiac.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessKinkEdging to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<</nobr>>
<div class="passage-title">Protocol Revision 7</div>
<<if not $kinks.jess.includes("degradation") or not $permanentDone.jessBreak2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the degradation kink implant and the second Jess Breakdown NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch reads the phone screen from the ceiling. The spreadsheet is visible: date, edge count, duration between edges, intensity rating (1-10), final magnitude assessment. Seven sessions of data. Tonight is revision 7.//</p><</if>>
2:07 AM. Jess's room. The desk lamp is off. The textbook is closed. The phone sits on the nightstand, screen up, timer app running. Beside it: a spreadsheet open in a second tab. The data from six previous sessions is logged with the rigor of a clinical trial.
<<say "char-hivemind" "Hivemind">>
//Jess approaches her own arousal as a research problem.// Variables: duration of denial, number of edge events, time between peaks, subjective intensity on a 10-point scale. //The conditioning didn't create this tendency, it //weaponized// it. Jess's compulsive need for control and measurement has been redirected from organic chemistry to her own nervous system.//
<</say>>
<p>She lies on her bed. Pillows arranged for optimal angle, she's tested this. Hand positioned. Timer started.</p>
<p>Edge one. Her fingers find the familiar rhythm, the pressure and speed she catalogued in session three as "optimal ascending pattern." The warmth builds. Her thighs tense. Her breathing accelerates. The orgasm approaches like a wave visible from shore, she can //see// it coming, feel the mathematics of it, the predictable crescendo of nerve firing.</p>
<p>She stops. Fingers withdraw. The wave recedes. She checks the timer: 3:42.</p>
<<say "char-hivemind" "Hivemind">>
//She lies rigid on the bed.// Heart rate elevated. Skin flushed. The arousal doesn't dissipate, it //pools//, accumulating in the neural pathways like water behind a dam. //Each denied release adds pressure. The edging protocol is an exercise in hydraulic engineering: build the pressure, hold the dam, build higher, hold longer.//
<</say>>
<p>Four minutes of recovery. Her breathing steadies. She resumes.</p>
<p>Edge two. The ascent is faster this time, the sensitized nerves respond with an urgency the first approach lacked. Her hips lift from the mattress. Her jaw clenches. The wave builds higher than the first, cresting, //cresting//, and she pulls her hand away. 7:26.</p>
<p>Her voice escapes, a frustrated guttural sound she didn't authorize. The denied orgasm pounds against the wall she's erected. Her thighs shake.</p>
<p>Edge three. 11:14. Faster, harder, the wave enormous now. She stops with her hand trembling, her body rigid, the orgasm so close she can feel the first contractions beginning in her pelvic floor.</p>
<<say "char-hivemind" "Hivemind">>
//The data accumulates.// Edge count: 3. Duration between peaks: decreasing. Intensity self-rating: 8, 9, 9.5. //The pattern is clear, each denial amplifies the subsequent peak. The system is non-linear. The returns are //compounding//.//
<</say>>
<p>Edge four. She barely touches herself before the wave returns, a monstrous, building pressure that makes her gasp and pull her hand away after fifteen seconds.</p>
<p>Edge five. Ten seconds. She can't sustain contact. The nerves are so sensitized that her own fingers feel like electricity.</p>
<p>She checks the timer. 23:14. Twenty-three minutes of denied release. Five edges. The pressure behind the dam is //catastrophic//.</p>
<<say "char-jess" "Jess">>
<i>(whispered, to no one, a scientist granting herself permission)</i> Release.
<</say>>
<p>She touches herself. The orgasm arrives in under four seconds, a //detonation// that blanks her vision, locks every muscle in her body, and produces a sound she can't control: a high, sharp cry that rings off the walls of her small bedroom. Her back arches off the mattress. Her heels dig into the sheets. The contractions come in waves, four, five, six distinct pulses that roll through her pelvis and up her spine. Her body shakes for thirty seconds after the peak. Aftershocks ripple through her thighs, her stomach, her hands.</p>
<p>She lies rigid. Breathing. The phone screen glows beside her.</p>
<<say "char-hivemind" "Hivemind">>
//She reaches for the phone.// Of course she does. //The scientist must record the data. The orgasm was not an experience, it was an //experiment//, and experiments require documentation.//
<</say>>
<p>Jess types with shaking fingers: "23:14. 5 edges. Magnitude: unprecedented. Subjective intensity: 10+. Visual disruption. Auditory disruption. Involuntary vocalization. Muscle tremor duration: 30+ seconds." She pauses. Types one more line:</p>
"Repeat experiment tomorrow. Increase to 7 edges. Target duration: 30 minutes."
<p>She sets the phone down. Pulls the blanket up. For the first time in weeks, she falls asleep in under three minutes.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. The protocol has been revised. The data compels repetition.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>>
/* ================================================================
PUNK ROUTE — BRAT KINK CHAIN
Requires $kinks.jess.includes("brat") AND $ch2Events.jessPunk2
================================================================ */<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.jessBrat1 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>><</nobr>>
<div class="passage-title">The Lever</div>
<<if not $kinks.jess.includes("brat") or not $ch2Events.jessPunk2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the brat kink crystallization and the second Jess Punk route event.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>12:08 AM. A man's apartment, a grad student, mid-twenties, bought her a drink at the venue at 11 and asked if she wanted to see the book collection. Jess did not want to see the book collection. Jess wanted a //substrate// for the sneering she has been rehearsing in her head ever since the crystallization, and the grad student's desire to be impressive with his bookshelves flagged him as an ideal candidate.</p>
<p>He is on his back. His wrists are pinned under her palms. His cock is inside her. Jess is on top, hips grinding in a slow unhurried rhythm she has no intention of accelerating, and her mouth is an inch from his ear delivering the sentence that has been loaded since she stepped through his door.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-brat-1.webp" alt="A 21 year old punk woman with long purple and black hair, septum ring, black studded choker, mesh tube top, denim shorts, seated upright on top of a shirtless man on a rumpled bed in dominant posture, looking down at him with a cool flat appraising expression. The man visible only as legs and bare hips wrapping around hers — he is pinned beneath her, his clothes pushed off, her clothes still on. Cluttered grad-student bedroom, bookshelves stacked with paperbacks behind, dim warm bedside lamp.">
<<say "char-jess" "Jess">>
<i>(her mouth at his ear, voice low and flat and mean)</i> Is this what you thought was gonna happen, you <b>USELESS FUCKING NERD</b>? You invited a girl home from a show and you tried to impress her with a //book//. A <b>GODDAMN</b> book. Reading the jacket copy at me like I was gonna //swoon//. Jesus Christ. You're twenty-five years old and you still think women are something you argue into bed with clever facts. It's <b>PATHETIC</b>. It's //textbook// pathetic. I could quote the chapter.
<</say>>
<p>The grad student's hips jerk. His cock twitches inside her. The reaction is involuntary and his face does not get to hide it. Jess //sees// the involuntary twitch, and the specific fire it ignites in her chest is a fire she has never felt during sex before, the fire of //being right// about an insult landing.</p>
<p>She grinds harder. Not for him but //at// him.</p>
<<say "char-jess" "Jess">>
<i>(escalating, a small smile she is not trying to hide)</i> Oh, look at your <b>FUCKING</b> face. You wanted a punk girl, you saw me at the show and you thought, //yes, that's a rebellious one, she'll probably do it dirty//, and now you have a punk girl on your cock and you don't even know what <b>THE FUCK</b> to do with one. You're going to come in under three minutes. I'm calling it now, I've been riding you for forty-five seconds and I can //feel// you losing it. Go ahead, come, you sad little <b>FUCKWIT</b>. I'm not stopping you. It's gonna be the best thirty seconds of your <b>GODDAMN</b> semester and you're going to think about it every time you open one of your <b>SHIT</b> books for the rest of the year.
<</say>>
<p>His face is red. His body is failing him. The grad student, who intended to be good at this, is being publicly catalogued as not-good-at-this by the woman riding him, and the public cataloguing is what is going to make him finish in under three minutes, which is what Jess predicted, which is what Jess will //verify// with her own orgasm as it happens.</p>
<<say "char-hivemind" "Hivemind">>
//Clinical observation: the orgasm is keyed to the //accuracy of the sneer//, not to the mechanics of penetration. Her body finishes on the confirmation that the insult landed. Each twitch of his cock under her is a //data point// that her contempt is doing work. The orgasm is essentially //a correct answer on a test//, the body's reward for a well-calibrated cruelty.//
<</say>>
<p>He finishes in two minutes forty-one seconds. Jess finishes nineteen seconds before him, on the exact moment she realises she had called the timing right. She climbs off. Gets dressed. Leaves. Does not say goodbye. Drives home with the radio off and the smirk still on her face.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. The insult-is-foreplay pattern has a measured partner. The lever works.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.jessBrat2 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">Territorial Marking</div>
<<if not $permanentDone.jessBrat1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the first Brat scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Karen leaves for a two-day accountants' conference Friday morning. Overnight bag, travel mug, kiss on Dale's forehead, back Sunday afternoon. The Hoffman house has about fifty-two hours of no-mother-in-residence and Jess has the entire budget in her head before Karen's car is out of the driveway.</p>
<p>Saturday, 9:14 PM. Jess walks in through the front door with a guy she picked up off an app forty minutes ago, a twenty-something festival-lanyard type, band tee one size too small, phone out, already doing the specific nervous grin of a man who cannot believe his luck. Dale is on the couch, post-shift, asleep to a baseball rerun. Ryan's door is closed. Megan's at the coffee shop until eleven.</p>
<p>Jess leads him past the couch without lowering her voice.</p>
<<say "char-jess" "Jess">>
<i>(not even glancing at her father)</i> Upstairs. Don't talk to him. Don't talk to //anyone//. Shoes off at the top of the stairs. Move.
<</say>>
<p>She takes him to the master bedroom. Opens the door. Walks in like she owns it.</p>
<<say "char-jess" "Jess">>
<i>(flat, already pulling her tee off)</i> Ground rules, <b>FUCKING</b> tourist. This is a hookup. You are here to use a hole and leave. You do not talk during. You do not kiss. You do <b>NOT</b> cum inside me. I'm not on anything and I'm sure as <b>FUCK</b> not taking a Plan B for a <b>GODDAMN</b> amateur who swiped right on the first bass player he saw. You feel it coming, you tap out, you pull the <b>FUCK</b> out, and I will let you finish on my face. Clear? Say it back to me.
<</say>>
<<say "char-npc" "Hookup">>
<i>(blinking, half-undressed, phone still in one hand)</i> Uh... tap out. Pull out. Finish on your face.
<</say>>
<<say "char-jess" "Jess">>
Good. Congratulations, you can follow one instruction. Let's see if you can follow the second one.
<</say>>
<p>She pushes him onto Karen's side of the bed. His back hits Karen's pillow; she shoves it out from under him with the side of her hand so his head lands on the bare mattress cover, because the pillow is for later, it has a specific job. She straddles him. Her knees sink into Karen's memory-foam. She is wetter than she expected to be, the anger has its own wiring, and when she reaches down and lines his cock up and sinks onto him in one controlled motion the wet sound is audible in the quiet of the house. He exhales like someone hit him in the chest.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-brat-2.webp" alt="Jess naked riding the hookup cowgirl on her mother's side of the master bed, purple-and-black hair loose, septum ring, one hand braced flat on his chest and the other wrapped loose around his throat, head tilted back mid-trash-talk, the hookup beneath her half-undressed with his t-shirt still caught at his wrists, Karen's pillow visible beside them on the headboard, cream and pink floral duvet shoved aside, warm lamp light, framed wedding photo on the nightstand">
<p>She rides him slow for the first thirty seconds, long grinding strokes, hips rolling, clit dragging down the base of him with every pass, and then she finds the rhythm she wants and does not break it. The headboard taps the wall on a four-count. The room smells like her mother's lavender linen spray and his cheap festival-weekend cologne and, underneath both, the specific wet salt smell of the act. Her nipples are tight. The insides of her thighs are sweating into Karen's duvet. She braces one hand flat on his sternum and wraps the other loose around his throat and leans her weight forward and starts talking.</p>
<<say "char-jess" "Jess">>
<i>(riding him, eyes half-closed, voice contemptuous even through the physical)</i> Look at you. Sad little festival-lanyard <b>FUCK</b>. You're on my mother's sheets right now. You know whose sheets these are? //Karen Hoffman//. Forty-three, freelance accountant, runs this house like a <b>GODDAMN</b> spreadsheet. And you are a <b>USELESS</b> interchangeable <b>FUCKBOY</b> whose entire contribution to my Saturday is gonna be about ninety more seconds and a <b>GODDAMN</b> facial. <i>(leaning forward, nails light against his windpipe)</i> Don't you dare cum inside me. I swear to <b>FUCKING</b> god.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Interesting. The contempt is not a mask over the arousal. The contempt //is// the arousal. Her clit is engorged past baseline. Her pelvic floor is firing on a faster rhythm than her breath. The voice catalogues the man underneath her as furniture, as instrument, as stain-delivery system, and her body registers each of those framings as a new ratchet of wetness. She does not need to be kind to him to be wet. She is wet //because// she is not being kind. File the mechanism.//
<</say>>
<p>He grips her hips. She slaps the hand off. Re-braces it on the mattress beside him where she can see it. He is making small involuntary noises, choked and unshaped, the noises of a man who is not allowed to speak and is running out of ways to compensate. His hips start bucking up against her rhythm instead of with it. She feels the change inside her, the swelling, the giveaway throb, the specific muscle flex at the base of his cock, and she feels one beat later the thing she did <b>NOT</b> clear him for: his hands move to her waist, gripping down, //pulling her onto him//, trying to finish //inside//.</p>
<<say "char-npc" "Hookup">>
<i>(through gritted teeth, fingers digging into her hips, trying to pull her down)</i> Fuck... fuck, I'm...
<</say>>
<<say "char-jess" "Jess">>
<i>(yanking herself off him with both hands, rising two feet up in one violent motion, eyes wide with fury, her right hand clamping down on the base of his cock to physically stop what is already happening, redirecting the angle wherever it points first, which is the headboard, which is where Karen's pillow is)</i> <b>ARE YOU FUCKING KIDDING ME...</b>
<</say>>
<p>The first rope lands on Karen's pillow before Jess has finished the sentence. A thick, uneven stripe across the centre of the pillowcase. Then another, weaker, catching the pillowcase seam. A third, thin, pooling into the small dent where her mother's head has been every night for twenty-something years. Jess is not watching the pillow. Jess is staring at his face, fist still clamped at the base of him, working him through the rest of it with a grip that is closer to punishment than handjob.</p>
<<say "char-jess" "Jess">>
<i>(the second he stops pulsing, letting go of his cock like it's garbage, wiping her hand on his own t-shirt still bunched at his wrists)</i> You were <b>FUCKING</b> trying to finish inside. I could feel it. I was going to let you give me a <b>GODDAMN</b> facial, you <b>COULDN'T WAIT NINETY MORE SECONDS</b> for that, and now you've spunked on my mother's <b>FUCKING</b> pillow like a <b>GODDAMN</b> dog. Get out. //GET OUT.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Note the sequence. The intent was facial. The execution was redirection under duress. The pillow is not a trophy, it is an accident with a specific landing zone she happened to be kneeling above. The anger is real. The planning was never there. File the distinction: Jess does not scheme, Jess reacts. The scheming happens //around// her, after the fact, when the tempo of the household metabolises what she already did.//
<</say>>
<<say "char-jess" "Jess">>
<i>(already reaching for her shorts, still furious, gesturing at the bedroom door with his own t-shirt in her hand)</i> Out. Don't text me. Don't tag me. Don't tell your <b>GODDAMN</b> friends a thing. Walk out the back, not the front. My dad's on the couch and if he wakes up I'm telling him you broke in. Move.
<</say>>
<p>He dresses in ninety seconds, stuffing his festival lanyard into his pocket as he goes, and leaves through the back hallway. Jess does not remake the bed. Jess does not flip the pillow. She stares at the stain for eight full seconds, the anger cooling, her unfinished arousal still sitting hot between her thighs, a specific calculation starting at the back of her jaw as her eyes move from the pillow to the door and back, and then she closes the bedroom door behind her without touching the pillow at all, walks down the hall to her own room, locks her door, and puts her headphones on. Her hand goes between her legs before the headphones finish seating. She comes in about ninety seconds, hard, quiet, eyes closed, to nothing in particular, the body just taking what was owed to it.</p>
<<say "char-hivemind" "Hivemind">>
//And there is the second distinction: the orgasm that should have happened on her face happened in her own room, on her own hand, to no audience. The biomass is still harvested. But the social residue, the stain on the pillow, is a separate asset now. She has not yet decided what it is //for//. She is aware, dimly, that her mother will come home tomorrow and find it. She is aware, dimly, that she will need to have a face ready. That is as much planning as she is capable of. The rest will happen live.//
<</say>>
<hr class="scene-break">
<p>Sunday, 6:38 PM. Karen is back. Dinner is on the table, her own reheated pasta bake, because she came straight from the airport. She went upstairs to change twenty minutes ago. She came back down holding the pillowcase in one hand at arm's length like a forensic exhibit, her face the specific colour of a woman who has just recalibrated an entire relationship in the eight seconds between picking up a pillow and identifying what is on it.</p>
<<say "char-karen" "Karen">>
<i>(ice-level, setting the pillowcase on the dining table between the bread basket and the salad bowl)</i> Dale. Explain this.
<</say>>
<<say "char-dale" "Dale">>
<i>(fork halfway to his mouth, genuinely baffled)</i> What... Karen, what is that...
<</say>>
<<say "char-karen" "Karen">>
Do //not// play stupid. That is my pillow. That is //semen// on my pillow. You had two nights alone in that house and this is what I come home to? <b>TWENTY-ONE YEARS.</b> Twenty-one years of that bed and you could not even...
<</say>>
<<say "char-jess" "Jess">>
<i>(cutting in smooth, mouth half-full, not even looking up from her plate)</i> Yeah, I saw the old <b>FUCKER</b> masturbating on the bed sheets. Thinking he can mark the property watching some random ass porno. It was sad, honestly. Pass the bread.
<</say>>
<p>The table goes quiet. Dale's fork stops completely.</p>
<<say "char-dale" "Dale">>
<i>(stuttering, looking from Karen to Jess and back)</i> I... Jess, I didn't... Karen, I never... that's not...
<</say>>
<<say "char-jess" "Jess">>
<i>(over him, bored)</i> Dad, it's fine. It happens. Just don't do it on Mom's side next time, <b>JESUS CHRIST</b>.
<</say>>
<<say "char-karen" "Karen">>
<i>(to Dale, flat, final)</i> Eat your dinner. We'll talk about this later.
<</say>>
<<say "char-dale" "Dale">>
<i>(mouth opening, closing, trying once more)</i> Karen, I //swear// to —
<</say>>
<<say "char-karen" "Karen">>
//Eat your dinner.//
<</say>>
<p>Dale eats his dinner. Ryan, one seat over, does not look up from his plate once. Megan, halfway through a forkful of pasta, offers the specific mid-chew distracted response of a girl whose brain is three rooms away thinking about a boyfriend.</p>
<<say "char-megan" "Megan">>
<i>(to no one in particular, chewing)</i> Really? Huh.
<</say>>
<p>The dinner continues. No one asks Jess anything. No one //could// ask Jess anything, she has pre-positioned herself as the witness, and the witness is eating bread. Dale finishes his plate in silence. Karen puts the pillowcase in the kitchen trash. Nobody touches the pillow again.</p>
<<say "char-hivemind" "Hivemind">>
//Observe the improvisation. She did not plan this table. She read it in the four seconds between Karen setting down the pillowcase and Dale opening his mouth: the anger was already in the room, it only needed a destination, and the father, tired, marginal, routinely disappointing, was a pre-greased channel. She pointed the current at him and the current went. The contempt in this household is load-bearing not because she engineered it but because it was already there, and she is quick enough to ride the tempo it generates. File the mechanism separately from design. Jess does not scheme. Jess redirects.//
<</say>>
<<addBiomass 4>>
<p><span class="consume-success">Jess: +1 pheromone, +1 psionic conditioning. +4 biomass. Orgasm observed (hookup) plus self-administered orgasm harvested (Jess, alone, post-incident). Household contempt for Dale is now a reusable misdirection asset.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>>
/* ================================================================
PUNK ROUTE — BAND KINK CHAIN
Requires $kinks.jess.includes("band") AND $ch2Events.jessPunk2
================================================================ */<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.jessBand1 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>><</nobr>>
<div class="passage-title">The Pre-Show Ritual</div>
<<if not $kinks.jess.includes("band") or not $ch2Events.jessPunk2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the band kink crystallization and the second Jess Punk route event.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Thursday, 9:14 PM. Jess has credentials now, a laminated plastic lanyard Kade got made for her that reads //+1 / all access// and gets her past any bouncer at any Bleed Through show. She has used it seven times since the band first let her backstage. She is using it tonight.</p>
<p>The venue is a converted warehouse on the east side. Bleed Through goes on at 10:30. Jess arrived at 9:00 because Kade has a pre-show ritual now, and the ritual has a specific role for her, and the role has a specific start time.</p>
<p>She finds him in the dressing room. Alone — Kira and Sean are at the bar. Kade is pacing in front of the battered leather couch, the way he paces before every set, energy-frayed and restless, trying to turn the pre-show adrenaline into usable stage presence. The back wall is painted an ugly institutional green. Jess closes the door behind her.</p>
<<say "char-jess" "Jess">>
<i>(flat, conversational, the specific voice she uses to walk into these rooms now)</i> Stand still. Right there.
<</say>>
<p>Kade stops pacing. His chest is already rising too fast, the specific pre-show hyperventilation that has been his problem since the first time he fronted a band.</p>
<<say "char-npc" "Kade">>
<i>(through his teeth, shaking out his hands)</i> Jess, fuck, I'm wound. I'm //wound//. I can't... I can't get on that stage like this.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(flat, walking past him without touching him, sitting down on the leather couch with her knees slightly apart and settling her shoulders back against the cushions)</i> Shut the <b>FUCK</b> up, Kade. That's what I'm here for, right? You can't play a <b>GODDAMN</b> four-chord set to two hundred drunks without my mouth first, cool. Great. Very impressive. Pants off. Mouth shut. We have twelve minutes.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(flat, walking past him without touching him, sitting down on the leather couch with her knees slightly apart and settling her shoulders back against the cushions)</i> I know. Come here. Don't talk. We have twelve minutes.
<</say>>
<</if>>
<p>Kade steps between her knees. Jess unbuckles his belt from the seated angle, pulls his jeans open to mid-thigh, and pulls his cock out. He's already hard, he has been hard since he heard her laminated lanyard clear the back door, and the first thing she does is wrap her right hand around the base and hold him there for a beat, looking up at his face, letting him feel the specific calibration of her grip before her mouth does anything. Then she leans forward and takes him into her mouth, the practiced seal of her lips working down to the middle of his shaft on the first stroke, saliva already starting to build at the corners.</p>
<p>The taste is salt and skin and the faint metallic pre-cum of a man who has been thinking about this for the last three hours. The room smells like stale beer and his cheap aftershave and, underneath both, the specific leather-and-sweat smell of a dressing-room couch that hosts this ritual two nights a week. Her own breath through her nose hits his abdomen in a steady rhythm. She pulls back slow, taking the full length of him out almost to the tip, tongue flat against the underside of his cock as she goes, and then sinks back down with twice the commitment, past the middle, past the seal point, the specific inward pressure of her throat opening around the head on the back stroke. Kade's hand fists in her hair hard enough to pull a strand out and he does not register it.</p>
<<say "char-npc" "Kade">>
<i>(voice cracking)</i> Oh fuck — Jess, fuck, //yes//, that's, that's it, keep, keep —
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(pulling off him with an audible wet release, a thick rope of saliva hanging between her lip and the head of his cock, voice low and contemptuous, mouth an inch from him)</i> //Keep// what. I asked you to shut up. You are a <b>FUCKING</b> rockstar, Kade, act like it. Use your stage voice for the stage. Your private voice is <b>GODDAMN</b> embarrassing.
<</say>>
<<say "char-npc" "Kade">>
<i>(half-laughing, half-desperate)</i> Jesus Christ —
<</say>>
<<say "char-jess" "Jess">>
<i>(already taking him back into her mouth, eyes up, speaking around him for one last beat)</i> Mmhm. Better.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(pulling off him for one beat, right hand still moving on his shaft, voice level, eyes up)</i> Quiet. Save it for the mic. Breathe through your nose.
<</say>>
<<say "char-npc" "Kade">>
<i>(obeying, nodding, breath shifting)</i> Okay. Okay, yeah.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Superstition has become protocol. Kade plays better after he has come; he learned this the hard way on a night the ritual was skipped, and his set lists have been measurably tighter since Jess started making the pre-show blowjob a fixed calendar entry. She is now a //component of the band's performance apparatus//, and her body has registered the upgrade, from //groupie// to //load-bearing load-relief//, in the band's private economy. The dose has escalated. She is no longer the woman he chose out of the rail. She is the woman whose mouth is what lets him go on stage at all.//
<</say>>
<p>She works him for another three minutes. Steady. Metronomic. Eyes up at him the whole time, the specific flat gaze she keeps during this, not subservient, not performative — //professional//, the way a session musician looks at a conductor. She alternates: deep sinks where his cock hits the back of her throat and she holds it there for a two-count before sliding back up trailing spit down his shaft, and shallower faster passes focused on the sensitive underside of the head. Her right hand works the base in counter-rhythm to her mouth. Her left hand is flat on his hip, the specific grounding grip that tells a man he is not allowed to thrust, she sets the pace, he takes what she gives him. His breath changes. His thigh muscle under her left hand tenses up twice, catches itself, tenses again. The specific pre-release flex runs up through his cock and Jess registers it half a second before he does.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(pulling off him at the last second, right hand already wrapping tight around the base of his cock to stop what is about to happen, eyes up, the contempt undimmed)</i> Face tonight. Not my <b>FUCKING</b> mouth. You want to make this your best set of the month, you look at me wearing your cum on stage, you remember what bought you the <b>GODDAMN</b> chord changes. Chin up, eyes open.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(pulling off him one beat before he goes, right hand already wrapping around the base of his cock, voice level, eyes up)</i> Face. Not my mouth tonight. You need to see it before you walk out there. Chin up, eyes open.
<</say>>
<</if>>
<p>She works him through the last four seconds with her hand, fast, tight strokes, her face tilted up into the firing line, eyes closing half a beat before the first rope lands. It catches her across the bridge of her nose and the left side of her mouth. A second, heavier, lands on her lower lip and chin in a thick white strand that hangs and slides toward her collarbone. A third, thinner, pools at the corner of her mouth. She does not wipe it. She does not flinch. She looks up at him with the cum still running down her chin and holds the gaze.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-band-1.webp" alt="Jess seated on a battered leather couch in a dressing room with a green-painted back wall, purple-and-black hair falling past her shoulders, black and gold choker, cum across her nose and mouth and chin with a thick white strand hanging from her lower lip, eyes half-closed, Kade standing to her right with his jeans open and his cock still glistening, his hand loose in her hair, warm dressing-room light">
<<say "char-hivemind" "Hivemind">>
//The ritual has upgraded. The swallow was a private transaction between her mouth and his nervous system. The face is a //visible ledger//, he will carry the image of her cum-marked face through every song tonight, and every time he looks at her on the rail the image will surface again, and the performance will be tighter for it. She has moved from //load-relief// to //load-brand//. One orgasm, two deposits: biological across her skin, psychological across his working memory for the next forty-five minutes of stage time. Efficient.//
<</say>>
<p>Kade finds a clean towel on the back of a chair and hands it to her. Jess takes it. Wipes her face in slow, even passes, not hurried, not shamed, the specific pace of a woman restoring herself because the ritual is over and the next phase begins. She hands the towel back. Stands. Kisses him once on the forehead, the only kiss they ever do, and only at this point in the ritual, and walks out to her spot on the rail. She's in place for the set with ten minutes to spare, her skin still faintly tacky under the venue's fluorescents in a way only she can feel.</p>
<p>The set is good. Kade is on. He sings //Low Ceiling// looking at her the way he always does, except now the look is something closer to //witness// than gratitude, and Jess's body catalogues the difference.</p>
<p>She comes during the fifth song, standing at the rail, thighs pressed together, one hand on the barrier and nobody in the crowd the wiser. The orgasm is quiet and specific: the body's confirmation that she is the //reason he's performing this well//, and that the hundred strangers in the pit are watching, without knowing, a show she //made possible//.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 dream conditioning. The pre-show ritual is confirmed. She is no longer a groupie, she is the band's private mechanism.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.jessBand2 to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">The Stage</div>
<<if not $permanentDone.jessBand1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the first Band scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Saturday, 3:47 PM. A regional punk festival on a stretch of industrial land repurposed for the weekend, three stages, fourteen bands, a tangle of merch tents and portable toilets and food trucks and cable runs. Bleed Through plays the secondary stage at 4:30. Jess has a //backstage// wristband, a //greenroom// wristband, and a //crew// wristband. She's been here since noon. She's had two beers and a slice of food-truck pizza and a warm shake of Kade's arm around her shoulders when he passed her going toward the sound tent. She's content.</p>
<p>Kira is on her knees in a portable toilet behind the merch tent.</p>
<p>Sean finds Jess near the stage-left barrier.</p>
<<say "char-npc" "Sean">>
<i>(jogging up, voice tight)</i> Hey. Kira's, that chicken at the gyro truck, she's been throwing up for an hour. She can't play.
<</say>>
<<say "char-jess" "Jess">>
<i>(setting her beer down on an amp case)</i> How bad.
<</say>>
<<say "char-npc" "Sean">>
Can't-stand-up bad. Kade's losing his shit. We go on in forty minutes and there's nobody on this festival ground who knows our set.
<</say>>
<p>Jess's stomach does a specific thing. The thing it has not done in a year and a half, since she put the bass in a closet after her first round of med-school applications. She is aware, in a distant way that is not yet a thought, that her old Precision has been sitting by her bedroom door for three weeks now. She picked it up again without making a decision about why. The calluses came back in ten days. She's been playing along to the Bleed Through demos in her headphones so consistently that //Low Ceiling// has replaced her alarm.</p>
<p>She follows Sean backstage.</p>
<hr class="scene-break">
<p>Kade is in the dressing room pacing, the same pacing as the pre-show ritual nights, only a different species of it, the pacing of a man watching a set collapse in slow motion. He looks up when Jess walks in and the look on his face does something specific: the relief of seeing her, and then the exact half-second of //oh//.</p>
<<say "char-npc" "Kade">>
Jess. I — I don't know who —
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, the voice from the couch, adjusted)</i> I know your set. I can play it.
<</say>>
<<say "char-npc" "Kade">>
<i>(stopping mid-pace)</i> ...what.
<</say>>
<<say "char-jess" "Jess">>
I've been playing bass since I was thirteen. I stopped when school got serious. I've picked it up again. I know every song in your current set in the correct tuning. I've been practising //Low Ceiling// for a month. I'm not great. I'm good enough for this venue at this audience size with this sound guy.
<</say>>
<<say "char-npc" "Kade">>
<i>(staring at her, slow)</i> You're, you're fucking with me.
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking away)</i> Sean'll hand me Kira's bass. I'll warm up in ten minutes. You tell me which three songs you want dropped because my fingers aren't up to the runs, we'll play a forty-minute set instead of fifty, and nobody in that pit will know the difference. Yes or no, Kade.
<</say>>
<p>Kade looks at her for a full three seconds. The look has three layers, the bandleader doing the math, the man doing a different math, and underneath both the specific warm shock of a partner discovering a capability in the other partner that changes the shape of the partnership. Then he crosses the room and kisses her on the mouth, the first time he has ever kissed her on the mouth, which is a rule she established at the beginning of the ritual and is watching him break now, and says yes.</p>
<<say "char-hivemind" "Hivemind">>
//Observe the category shift in real time. The kiss was on the mouth. The forehead kiss was the ritual's closure-gesture, affection bounded by function. The mouth kiss is unbounded. He is not kissing the woman who gets him on stage. He is kissing the woman who is //going on stage with him//. I mark the boundary change and file it under //elevation//.//
<</say>>
<hr class="scene-break">
<p>She warms up for nine minutes in the corner of the dressing room with Kira's cream-bodied Precision bass plugged into a little practice amp, running the main riffs and the two bridges she's been sketchy on. Dev — Bleed Through's guitarist, tattoo sleeves to the knuckles, perpetually quiet, watches her for a full minute without saying anything, then nods once and walks out to tune up on stage. Sean watches her for about thirty seconds and then makes a noise that is not quite laughter.</p>
<<say "char-npc" "Sean">>
You've been sandbagging us.
<</say>>
<<say "char-jess" "Jess">>
I've been auditioning without telling anyone.
<</say>>
<p>At 4:28 PM they walk out to the stage together. The crowd is packed tight at the chain-link barrier and stretching back into the dark of the venue, a Saturday punk audience, beer-sticky, already primed by the opener, and when the stage lights hit, the whole front of the pit dissolves into red and purple under the truss rig, a haze of smoke drifting through the beams. Kade steps up to the centre mic. Sean gets behind the kit. Dev plugs in stage-right. Jess plugs in stage-left. Her fingers are shaking.</p>
<<say "char-npc" "Kade">>
<i>(into the mic, one hand raised, grinning like a man about to pull something off)</i> We lost our bassist to a <b>GODDAMN</b> gyro truck. This is Jess. Be nice to her. //One, two...//
<</say>>
<p>The kick-in of //Low Ceiling// hits the pit before Jess has fully heard Sean's count, and her fingers move on muscle-memory she didn't know was still there. Four bars in, the shaking stops. Eight bars in, the shaking has been replaced by something else, a kind of electrical clarity that starts in her sternum and pushes outward in waves, the specific physiological state of a person whose nervous system has just locked into a shared rhythm with three other people and a dark room full of strangers at once.</p>
<p>She is not graceful. She drops the intro run on the third song by a half-beat and recovers it on the next bar. She misses the high fill on //Scourgewater// entirely and Sean covers her with a snare roll that wasn't in the arrangement. She does not care. The not-caring is the point. The thing the old Jess, the Jess of the pre-med application, the Jess of the colour-coded highlighter system, would have felt as catastrophic failure registers on stage-Jess as //a funny thing that happened during the set//.</p>
<p>Four songs in, deep into the bridge of //Bone-Knit//, she finds the pocket. Kade is stage-right of her, half-turned away, his back almost to hers, one hand cupping the mic and the other wrapped in the cable, his voice tearing into the chorus with the specific stage-presence his bedroom pacing never achieves. Jess is head-down on her own hands, eyes on the strings, the bass slung low on her hips, the feel of the pick on her fingertips and the low growl of the amp behind her. Dev's guitar is cutting the air stage-right. The drums are a heartbeat coming up through the stage floor and into the arches of her feet. The stage lights wash across her in bands of red and purple. The smoke moves through the beams like weather.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-band-2-stage.webp" alt="Jess on a punk festival stage bathed in red and purple wash with haze drifting through the beams, stage-left, long loose purple-and-black hair falling forward, black tank top, black distressed skinny jeans, septum ring, black choker, Kira's cream-bodied Precision bass with black pickguard slung low on her hips, her head tilted down watching her own fingers on the strings, Kade centre-stage half-turned away from her with the mic to his mouth mid-lyric and the cable wrapped in his off-hand, his tattoo-sleeved arms exposed, Dev on guitar stage-right, Sean at the drum kit behind, crowd at the chain-link barrier lit from behind, truss rigging overhead with red and purple par-cans, thick smoke in the air">
<p>Kade turns around at the end of the song and looks at her the way he has been looking at her from the rail for months. Except now she is on his side of the rail, and the look is something new.</p>
<p>She comes on stage. Not an orgasm, there is no time, there is no friction, it is not that. A different thing. A whole-body euphoric flush that runs through her pelvis and her sternum and the backs of her knees at the end of //Bone-Knit//, which is the last song before the encore, when the crowd is already chanting for more and Sean is counting them in and Kade is grinning at her and she is a //band member// in this moment, not a groupie, not a ritual, not a //component//, a peer. The parasite registers the spike in her bloodstream as a biomass yield on par with a penetrative orgasm. Jess has no word for what just happened. Her body tells her later.</p>
<<say "char-hivemind" "Hivemind">>
//Elevation completed. The old Jess was a groupie. The Jess after //Low Ceiling// is a peer. The kink has not collapsed, it has been //absorbed upward// into the partnership register. Note: the bass was always in the closet. The closet was always three metres from her bed. The elevation has been latent for a year and a half, waiting for a single dressing-room emergency to extract it. I did not engineer this. I catalogued the readiness and waited.//
<</say>>
<p>They play the encore. They play //one more// after the encore because the crowd will not let them off. At 5:24 PM she walks off the stage with her hair soaked, Kira's bass still strapped to her hips, Kade's arm around her neck, Sean's drum stick sticking out of his back pocket, and a physical high she has not known before in any modality.</p>
<hr class="scene-break">
<p>They do not make it back to the dressing room. They make it to a storage room behind the stage, a narrow brick-walled box stacked with road cases and extra cable and a folded green-room couch tipped on its side, and Kade pushes the door shut with his foot because his hands are already on her.</p>
<<say "char-npc" "Kade">>
<i>(against her mouth, breathless)</i> Jess, <b>fuck</b>, Jess —
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(unbuckling his belt with one hand, unclipping the bass strap with the other, letting Kira's bass slide carefully to rest against a road case)</i> <b>FUCKING</b> yes. Wall. Now. Don't make me wait, Kade. I just carried your <b>GODDAMN</b> set.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(unbuckling his belt with one hand, unclipping the bass strap with the other, letting Kira's bass slide carefully to rest against a road case)</i> Yes. Now. Against the wall.
<</say>>
<</if>>
<p>He picks her up. Her legs wrap around him. Her back goes against the brick, still warm from the afternoon sun against the outside wall, heat bleeding through, and he pushes her shorts to the side and he is inside her in one motion, no ceremony, both of them still wearing more clothes than not. The first stroke goes all the way in and Jess makes a sound that is not a word.</p>
<p>It is not the ritual. It is not the session-musician register. There is no pacing, no practised seal, no //professional// anything. She is wet in a way she has been building toward for the full forty-five minutes of the set and has not allowed herself to register until now, and the first drag of his cock back out pulls a //moan// out of her she has never made for him before, louder, unguarded, the moan of a woman who has spent the last hour dropping her mask in front of three hundred people and does not remember how to put it back on. His mouth is on her neck. His hand is fisted in her hair. The wall is rough against her shoulder blades through her thin black tank top. She can taste sweat, her own and his, mixed, where his cheek drags against her mouth.</p>
<p>They find a rhythm fast. Hard, deep, unsubtle, the rhythm of two people running off the same post-set adrenaline spike. The storage-room air smells like dust and old cables and beer-sticky concrete and the specific animal smell of two bodies doing this. Her heels dig into his lower back. His hips slam her into the brick on every downstroke. The sound of skin on skin is underscored by the bass-bleed of the next band's sound check coming through the stage wall in a muted four-on-the-floor kick that she can feel in her ribs.</p>
<<say "char-npc" "Kade">>
<i>(through his teeth, forehead against hers)</i> Jess, fuck, Jess, I'm gonna — I have to pull —
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(fisting the back of his neck hard, yanking his face up so she can look at him, voice clear through the breath, eyes locked on his)</i> Don't you <b>FUCKING</b> dare pull out. You earned it, rockstar. I'm on the pill, you finish <b>INSIDE</b> me, you walk off this wall knowing you put it there. //Go//.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(gripping the back of his neck, pulling his face up so she can look at him, voice clear through the breath)</i> No. Inside. I'm on the pill. Finish inside me, Kade.
<</say>>
<</if>>
<<say "char-npc" "Kade">>
<i>(the specific look of a man hearing something he has spent six months not asking for)</i> ...fuck. //Fuck//. Okay, okay —
<</say>>
<p>He finishes in about six more thrusts. She feels him swell, feels the specific internal pulse she told the hookup she would not accept three nights ago, and this time she does, she takes it, her arms tight around his shoulders, her body locked around him, the quiet grunt he makes into her collarbone on the first pulse followed by the deeper second and third and the slower smaller fourth and fifth. She comes while he is still pulsing inside her, not a tidal orgasm, not a cinematic crest, a sharp specific burst that arrives because the post-set euphoria and the penetration and the permission and the //chosen// risk of the creampie all land on her nervous system in the same four-second window and she is done. Her teeth sink into the meat of his shoulder. She does not apologise.</p>
<p>He slides out of her slow. When he tries to step back she hooks her heel around the back of his thigh for one more beat, not to keep him inside her, just to keep him //there//, and then lets him go. She does not let him button his jeans right away. She does not reach for her tank top on the floor. Instead she peels out of her shorts the rest of the way, steps out of them, and turns her body to press her shoulder blades flat against the warm brick. She lifts her left leg, slow, deliberate, the small pleased smile already on her mouth, and plants her foot flat on the wall at shoulder height, spreading herself open for him.</p>
<p>His cum is already sliding out of her in a slow thick trail down the inside of her thigh.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(chin tipped down, a small pleased smile, eyes up at him under her lashes, but the voice is still the brat register, quiet and possessive)</i> Look what you did, rockstar. Don't you <b>FUCKING</b> look away. That's the receipt.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(soft, chin tipped down, eyes up at him under her lashes)</i> Look.
<</say>>
<</if>>
<img class="scene-img" src="media/scenes/nsfw-jess-band-2-creampie.webp" alt="Jess pressed back against a red brick wall in the storage room, fully naked, purple-and-black hair falling past her shoulders, septum ring, black leather-and-chain choker, small natural breasts, pale skin, her left leg raised and braced foot-flat against the wall at shoulder height holding herself open, pussy on clear display, thick white cum leaking out of her pussy in slow heavy strands sliding down the inside of her thigh toward her knee, a small pleased smile on her mouth, eyes tilted down at the camera under her lashes, warm orange storage-room light, low camera angle looking up along her raised thigh">
<<say "char-hivemind" "Hivemind">>
//Note the specific mechanism. The pillow on Saturday was denied: the hookup was unrecognised infrastructure. The wall on Sunday is accepted: Kade is partner. The rule //no cum inside// was never about contraception, she has been on the pill for years. The rule was about //category//. Inside was reserved for //peer//. Tonight she let him across the line because tonight she became peer. The creampie is a ritual artefact, not a risk event. File under //elevation complete//.//
<</say>>
<p>Kade breathes out, something between a laugh and a groan, and does not look away. She holds the pose until he has seen. Ten seconds. Twelve. The cum slides from the lip of her pussy to the inside of her knee in a single slow trail that her eyes never leave his face for. When she finally lowers her leg she catches some of the cum with two fingers as it slides further, looks at it for a beat, wipes it on the back of her own wrist rather than on the wall. A specific choice. She is taking it with her. Kade kisses her on the mouth again, the second time ever, in under an hour, and leans his forehead against hers.</p>
<<say "char-npc" "Kade">>
You're in the band.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(eyes closed, still catching her breath, the small smile not gone)</i> I <b>GODDAMN</b> know. Took you long enough.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(quiet, eyes closed, still catching her breath)</i> I know.
<</say>>
<</if>>
<p>They walk out of the storage room at 5:41 PM to find Sean waiting in the hallway with the specific expression of a man who has been patiently not-listening for ten minutes. He hands Jess a bottle of water. He hands Kade a towel. He says nothing. The three of them walk back to the dressing room together, Kira's bass in Jess's hand now — Kade has already decided, though nobody has said it aloud yet, that he's going to offer Jess the permanent slot when Kira is done with her nursing program next spring.</p>
<p>Kira is on the dressing-room couch with a bottle of ginger ale, pale and sweating. She looks up at Jess walking in with Kade's shirt still rumpled and the bass on her shoulder and gives Jess the small exhausted nod of a woman handing off a specific kind of shift.</p>
<<say "char-npc" "Kira">>
<i>(weak, amused, taking in the rumpled shirt and the flush still on Jess's throat)</i> You looked good up there.
<</say>>
<<say "char-jess" "Jess">>
<i>(unslinging the bass from her shoulder and laying it across Kira's lap with care, the strap folded neat under the body)</i> It's a good bass.
<</say>>
<p>Kira looks down at the instrument in her lap and then up at Jess and her mouth does a small tired thing that is not quite a smile. She understands what Jess has said, and what Jess has not.</p>
<p><span class="consume-success">Jess: +1 pheromone, +1 psionic conditioning. +5 biomass. Elevation from groupie to peer confirmed. Creampie-as-partnership-artefact catalogued. Bleed Through has offered a permanent bass slot.</span></p>
<<addBiomass 5>>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenSoloNSFW to true>>
<<addBiomass 2>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>><</nobr>>
<div class="passage-title">Chemical Surrender</div>
<img class="scene-img" src="media/scenes/nsfw-karen-solo.webp" alt="Karen in medicated sleep, body responding">
<p><span class="skill-used">Sensory Infiltration, 1 biomass</span></p>
<p>The pheromones have been soaking into this bed for so long that the sheets are saturated, and tonight the layers finally reach her through the pharmaceutical fog. You curl against her hip in the familiar position. Her face is slack and her breathing deep and mechanical, but the body under the blanket is not slack at all: her nipples are hard through the thin sleep shirt, her thighs press together in a slow rhythm, and her hand moves in her sleep, not toward the cat but down across her own stomach and past the waistband of her pyjamas.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-karen-solo-finger.webp"><source src="media/video/nsfw-karen-solo-finger.webm" type="video/webm"></video>
<p>Two fingers slide into the wetness the pheromones manufactured while she slept, and her hips lift to meet her own hand in a slow, instinctive rhythm, the muscle memory of a woman who used to do this before the marriage took it from her. Then she starts to talk.</p>
<<say "char-karen" "Karen">>
<i>(slurred, thick with sleep, barely shaped)</i> ...mmh... yes... so good... my babies...
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. The pheromones did not invent the want, they only unlocked the door I have been working loose night after night. Behind it is the one thing Karen Hoffman has organised her whole life around. Her children. The love was always the deepest wiring in her, and all I am changing is where it runs.//
<</say>>
<p>Her fingers work faster, her breath catching, and the words keep coming, soft and unguarded, the way nothing ever leaves her mouth when she is awake.</p>
<<say "char-karen" "Karen">>
<i>(hips rolling against her hand)</i> ...Ryan, baby... you don't have to be alone in there... come to mom... mom can make it better... //mmh//...
<</say>>
<<say "char-karen" "Karen">>
<i>(a low broken moan, the rhythm climbing)</i> ...my girls too... Megan... Jess... all of you... come get in with mom... there's room... there's room for all of you...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Heart rate climbing past a hundred. The mother instinct and the sex instinct run on the same chemistry in the mammalian brain, the same oxytocin, the same pull to gather someone close and keep them there. Two old wires that a lifetime of decency held apart, and all I do tonight is let them touch.//
<</say>>
<p>Her back arches off the mattress, the blanket sliding down her flushed body, her free hand fisting the sheet beside the pillow. The sounds she makes now stop being words, just the raw climbing noise of a woman about to come in her sleep.</p>
<<say "char-karen" "Karen">>
<i>(right at the edge, urgent, pleading at no one)</i> ...that's it... that's it, all of you, come to mom... mom needs it... mom //needs//...
<</say>>
<p>She comes silently, her whole body locking, back arched and thighs clenched for three seconds, four, five, then breaking into a long shuddering exhalation that carries something like a sob. Her hand goes still and her body sinks back into the mattress, and within half a minute her breathing drops into the deep mechanical rhythm of medicated sleep while her hand finds the cat and pulls it close against her damp skin.</p>
<<say "char-hivemind" "Hivemind">>
//She'll wake with no memory, the Zolpidem guarantees that, and she'll blame the heat or a dream she can't recall. But the channel is cut now. Tonight her body came to the thought of her own children and called it love, because to her it still is. The next time one of them sits too close on the couch, something under thought will lean in before she catches it.//
<</say>>
<<if not $ch2Events.karenSoloNSFW>>
<<set $ch2Events.karenSoloNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: Karen's body has completed full pheromone-induced arousal under sedation, and the released desire has begun routing toward her own children. The taboo channel is open, and it will surface in waking life as a warmth she cannot explain.</span></p>
<</if>>
[[Withdraw carefully->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $permanentDone.convergenceKaren>>
<<spendBiomass 3>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "psionic" 1>>
<<set $player.maxBiomass to Math.min($player.maxBiomass + 1, 999)>>
<</if>>
<<set $permanentDone.convergenceKaren to true>>
<</nobr>>
<div class="passage-title">Convergence: Karen</div>
<p><span class="skill-used">Hivemind Convergence, 3 biomass, all hosts synchronized</span></p>
<p>Four bodies, one purpose. The network closes on Karen's bedroom like a tide coming in, each host taking its place without a sound.</p>
<p>The cat is on the bed, pressed to her chest, purring at the exact pitch that falls into step with her heartbeat while the pheromones soak into the sheets. The rat works the wall cavity behind the headboard, its glands letting a slow spore cloud sift through the vent to settle on her pillow like something finer than dust. The dog lies across the threshold, and nothing in the hallway will get past it tonight. The gecko clings to the ceiling above the bed, and the micro-dose it secretes drifts down on the warm air to bead on her bare skin.</p>
<<say "char-hivemind" "Hivemind">>
//Every vector. Every channel. All of it at once.// The cat brings the warmth. The rat brings the saturation. The gecko brings the sleep. The dog brings the locked door. //Four instruments tuned to one note, and the sleeping body has no choice but to ring with it.//
<</say>>
<p>Karen settles into it the way a string settles when the right frequency finds it. Her breathing slows and goes deep, the tension she carries even in sleep drains out of her shoulders, and one hand drifts across the mattress to find the cat and pull it closer.</p>
<p>Somewhere under the surface a dream is moving. Her lips part, and a name almost forms on them and doesn't quite, but the shape of it is one I have read before, in the delve, in the wedding photo on the mantel, in the cold half of a couch she stopped sharing a long time ago.</p>
<p>//...the water was warm that year and his hands were warm, and he looked at me like I was the only thing he had ever wanted to look at, and god I miss being looked at like that, I miss being wanted like something a man would drive all night to get to, when did that stop, when did I stop, no, don't wake up yet, stay in the part where he reaches for me...//</p>
<p>The combined dose crosses a line no single vector could reach alone, and her body answers it as pure chemistry, with no hand on her and no thought in her head. Her hips shift under the sheets, her thighs part, and a flush climbs her from collarbone to navel as the cat's purr rides the tremor going through her.</p>
<<say "char-hivemind" "Hivemind">>
//No single skill could open her this far. The vectors stacked together do in one night what passive exposure would need a long run of them to manage, the whole body lit at once with the conscious mind too far under to object.//
<<if $kinks.karen.includes("denial")>>
//And then it holds her there. The training that taught her to wait reaches all the way down into sleep, so no hand moves and no release comes. She rises and keeps rising and stays risen, aching at the top of it far longer than a waking body would stand, until the ache itself starts to read as ordinary. That is the lesson. The wanting, held open, with the door to relief locked from the inside.//
<<else>>
//Her sleeping body makes the climb on its own, with no direction from me, the chemistry walking her through it unaided.<<if $kinks.karen.includes("exhibitionism")>> The covers slide off her and the curtains stand open to the street, and some buried part of her wants to be seen and pushes the whole thing higher for it.<<elseif $kinks.karen.includes("bondage")>> Her left hand closes on the headboard rail and stays there the whole way through, holding herself down the way she has been taught to even now, with no one to hold her.<<else>> A long quiet arc along the path worn into her by everything that came before.<</if>> When it breaks, every host in the network feels it land.//
<</if>>
//This is what a hivemind is. Not one creature reaching for her, but all of them at once, for one purpose. Work that would take many nights, folded down into one.//
<</say>>
<img class="scene-img" src="media/scenes/convergence-karen.webp" alt="Karen asleep in convergence dream, the cat against her chest and the network arranged around the bed">
<p>She will wake rested in a way she has not been in years and have no idea why. She won't think twice about the damp sheets, she will blame the night sweats and strip the bed. And every path carved into her tonight will make the next session, and the one after that, land that much more easily.</p>
<p><span class="consume-success">Karen: +1 pheromone, +1 dream, +1 psionic conditioning, +1 max biomass. Maximum convergence achieved.</span></p>
[[The convergence dissolves, hosts disperse to their posts->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenDaleReunion to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "dale" "dream" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">Resurrection</div>
<p><span class="skill-used">Sensory Bridge aftermath, Marriage reunion (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/karen-dale-bedroom-1.webp" alt="Dale and Karen in bed together, first time in months">
<p>Dale is in the bed. Karen's bed. Their bed, the bed it used to be before the couch became his address. The Sensory Bridge drove him here: phantom memories of the reservoir, of their first time, of when sex meant //love// instead of //schedule//.</p>
<p>Karen lies on her side, facing him. The lamplight is warm. She looks like she did at the reservoir, not physically (twenty-three years have passed), but in //expression//. Open. Waiting. The conditioning has dissolved the wall she built when the marriage died.</p>
<<say "char-dale" "Dale">>
<i>(voice rough, hand reaching for her face)</i> ...I dreamed about us. The truck. The reservoir.
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes glistening)</i> ...I know. I dreamed about it too.
<</say>>
<p>His hand touches her face. She doesn't flinch. His thumb traces her jaw. Down her neck. Over her collarbone. This is the first time Dale has touched Karen with //intent// in months.</p>
<<if $kinks.karen.includes("bondage")>>
<p>Karen pushes Dale onto his back. Straddles his hips. Her hands find his wrists and pin them above his head.</p>
<<say "char-karen" "Karen">>
<i>(grip tightening)</i> Don't move.
<</say>>
<p>She holds his wrists with one hand and reaches between them with the other. His cock is hard, has been since the reservoir dream. She guides him inside her. Sinks down. Takes all of him in one slow descent. Dale's wrists strain against her grip and Karen rides him with the controlled rhythm of a woman who has spent months learning to //own// things.</p>
<p>She comes with his cock inside her and his wrists pinned and her name on his lips. Then she lets go of his wrists and rides him to //his// orgasm, faster, harder, her hands on his chest. He comes inside his wife for the first time in months and the sound he makes is closer to crying than pleasure.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>Karen touches him. Everywhere. Her hands trace his chest, his stomach, his thighs. She wraps her hand around his cock and strokes, slow, deliberate, edging. Dale's hips push up. Karen's hand //stops//.</p>
<<say "char-karen" "Karen">>
<i>(whisper)</i> Not yet.
<</say>>
<p>She edges him for twenty minutes. Hands, mouth, the inside of her thigh rubbing against his shaft, and every time he gets close, she //stops//. Dale is shaking. Leaking. His hands grip the sheets and his body begs.</p>
<p>When she finally mounts him, sinking down, taking him inside, the orgasm hits in under thirty seconds. He comes so hard he arches off the bed, lifting Karen with him. She rides the aftershocks. Comes herself from the clenching, the grip of his cock pulsing inside her.</p>
<<elseif $kinks.dale.includes("humiliation")>>
<p>Dale is crying before they start. Not from sadness, from the //gap//. The gap between the reservoir and now. Twenty-three years of distance compressed into a single moment of skin on skin.</p>
<p>Karen holds him. Then she takes his cock in her hand and strokes while he cries into her shoulder. He comes like that, sobbing, his face in her neck, cum on her hand and the sheets, the humiliation of being this //broken// and this //desperate// for his wife's touch making the orgasm unbearable.</p>
<<say "char-hivemind" "Hivemind">>
//Dale came crying. The orgasm and the grief arrived simultaneously, the body releasing what the mind has been holding. The humiliation conditioning converts the vulnerability into arousal. He is most honest when he is most ashamed. And the most honest sex Dale Hoffman has had in twenty years happened while he wept into his wife's neck.//
<</say>>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>Dale falls asleep. The exhaustion + the warmth of the bed + the pheromone saturation, he's under in minutes. Karen lies beside him. Watches him. Her hand slides under the covers.</p>
<p>She wraps her hand around his cock. He's hard in his sleep, the Hormonal Override. She strokes him. Slow, steady, while he sleeps. His hips rock. His sleeping body responds. She mounts him, guiding his sleeping cock inside her, and rides him while he dreams.</p>
<p>Dale comes in his sleep. Inside Karen. His hips thrust up unconsciously and his cock pulses and Karen comes on top of him from the sensation of his sleeping body filling her. He never wakes up.</p>
<p>In the morning he'll find the evidence. He'll know something happened. He'll //want it to happen again//.</p>
<<else>>
<p>Karen lies on her side. Propped on one elbow. Her face is close to his, that expression, the one from the reservoir, the one he thought he'd never see again. She's //smiling//. Not the schedule smile. Not the Karen-managing-the-household smile. Something younger. Something that remembers.</p>
<p>Her hand slides down his chest. His stomach. Lower. She wraps her fingers around his cock, already hard, the reservoir dream still running through his blood, and strokes. Slow. Her thumb traces the head. Her eyes don't leave his face.</p>
<<say "char-karen" "Karen">>
<i>(softly, smiling)</i> I forgot how much I like this.
<</say>>
<p>She shifts down the bed. Lies beside him, her face level with his cock, one hand propping her head up. She looks up at him, smiling, warm, the lamp light catching her eyes, and takes him in her mouth.</p>
<img class="scene-img" src="media/scenes/karen-dale-bedroom-1.webp" alt="Karen lying beside Dale, smiling, face near his cock, loving blowjob">
<p>Not the Baseline Shift blowjob. Not the scheduled, mechanical, heart-rate-unchanged oral sex she performs in the kitchen. This is //different//. She sucks him slow, lips soft around the shaft, tongue moving with the patience of someone savouring something. She hums against him. Her free hand rests on his stomach, feeling it rise and fall. She pulls off to lick the underside, long, lazy strokes from base to tip, then takes him back in, deeper. Her eyes stay on his face the whole time. She's watching him //feel// it.</p>
<p>Dale's hand finds her hair. Not gripping. Stroking. His fingers run through it the way they did at the reservoir, when they were young and sex was something you did because you //wanted// to, not because it was on the fridge.</p>
<<say "char-dale" "Dale">>
<i>(barely breathing)</i> ...Karen...
<</say>>
<p>She takes him deeper. Her throat opens. Not gagging — //welcoming//. She holds him there, nose against his pelvis, and the sound she makes is content. The sound of a woman who missed this. Who missed //him//.</p>
<p>He comes in her mouth. Slow. His whole body tenses, then releases, a long exhale, his hand tightening in her hair, then letting go. Karen holds it. Swallows. Pulls off gently. Wipes her lip with her thumb. Smiles.</p>
<p>Karen crawls back up. Lies on top of him. Kisses him, his own taste on her tongue, and he doesn't care. His hands find her hips. She reaches between them, guides him inside her. Still hard. She sinks down. Takes all of him.</p>
<img class="scene-img" src="media/scenes/karen-dale-bedroom-2.webp" alt="Karen and Dale missionary, intimate, face to face">
<p>They fuck missionary. Face to face. Her legs around his waist. His hands on either side of her head. Slow. Eye contact. The rhythm of people who remember why they started this.</p>
<p>He comes inside her. She comes around him. Not synchronised by the Sensory Bridge, synchronised by //memory//. His cock pulsing inside her, her pussy gripping him, their mouths meeting. The bed creaks the way it used to.</p>
<<say "char-hivemind" "Hivemind">>
//The most biomass-productive sex act is not the most extreme. It's the most //emotional//.// Blowjob to missionary. Tenderness to penetration. //I didn't manufacture this desire. I removed the barriers. The desire was there all along.//
<</say>>
<</if>>
<p>They lie together afterward. Dale's arm around Karen. Her head on his chest. The first post-sex silence in this bedroom in, neither of them can count.</p>
<<say "char-dale" "Dale">>
<i>(quiet)</i> ...I missed you, Karen.
<</say>>
<<say "char-karen" "Karen">>
<i>(pressing closer)</i> ...I missed you too.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Dale is back in the bedroom. The proximity generates passive conditioning around the clock, six hours of shared-bed pheromone exchange per night. The marriage has been resurrected. Not because they solved their problems. Because I dissolved the wall between them and their bodies did the rest.//
//The dead marriage has a pulse. And that pulse generates biomass.//
<</say>>
<p><span class="delve-intel">Intel gained: Karen and Dale have reunited sexually. The Sensory Bridge drove Dale back to the master bedroom. The marriage is physically resurrected, passive conditioning from shared-bed proximity will compound nightly. Dale's return to the bedroom is the highest-value structural change in the household.</span></p>
[[Return to the bedroom->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Mouth That Commands</div>
<<if $karenRoute is "liberation">>
<img class="scene-img" src="media/scenes/nsfw-karen-oral-lib-1.webp" alt="Karen kneeling in the master bedroom, stranger on the bed">
<p>The stranger sits on the edge of the bed. Karen's bed. //Dale's// bed, technically, though Dale hasn't slept in it for months. The stranger's name is David, the parasite pulled it from Karen's phone, from the dating app messages, from the three dates that preceded this moment. He is forty-four, divorced, broad-shouldered, and currently watching Karen Hoffman kneel between his legs with an expression that suggests he can't believe his luck.</p>
<<say "char-hivemind" "Hivemind">>
//I am inside Karen's body. The body of a woman who hasn't done this in years, not willingly, not //hungrily//. But the pheromone conditioning has rebuilt her from the limbic system up. The woman kneeling on this carpet is not the Karen who white-knuckled her way through marital obligations. This Karen //wants//.//
//And I can feel every nerve ending she uses to want.//
<</say>>
<p>Karen's hands slide up David's thighs. Her fingers are steady, not the trembling of Megan's inexperience but the deliberate, measured touch of a woman who knows exactly what she's doing and has simply //chosen not to// for too long. She undoes his belt. Pulls down the zipper. Her eyes stay on his face the entire time, a power dynamic the parasite recognizes from animal courtship displays.</p>
<p>She takes him in her mouth with a confidence that surprises even the parasite. No hesitation. Lips parting, tongue flat, taking him deep in one smooth motion. The taste hits her first, salt, skin, the specific chemistry of a man who has wanted her for three dates and is finally getting what he came for. She works her tongue against the underside of the shaft and the flavour intensifies: pre-come beading at the slit, faintly bitter, faintly sweet, the tang of arousal she hasn't tasted in years. The pheromone conditioning hasn't just stripped Karen's inhibition, it's //liberated// a sexuality that twenty-two years of unsatisfying marriage had buried alive.</p>
<<say "char-hivemind" "Hivemind">>
//I read David's arousal in real time through Karen's senses. The tension in his quadriceps. The rhythm of his breathing, accelerating. His hand on the back of her head, fingers tangling in her hair. Karen's psionic field, which I now inhabit, detects the spike in his neural activity, he is close, and Karen's body adjusts without conscious input. Deeper. Slower. Drawing it out.//
//She is //good// at this. Twenty years of suppression didn't erase the skill. It //sharpened// it. Every stroke of her tongue, every change in suction, every pause to breathe and let the anticipation build, it's practiced, precise, devastating.//
<</say>>
<p>Her cheeks hollow. Saliva coats his shaft, her hand working the base in rhythm with her mouth. David's head falls back, his grip tightening in her hair. The sounds fill the bedroom, wet, rhythmic, the obscene soundtrack of Karen Hoffman's liberation.</p>
<p>She cups his balls with her free hand, rolling them gently, a touch that makes his whole body shudder. Her tongue swirls around the head, lapping at the slit where pre-come beads. She swallows him again, deeper this time, her throat relaxing to take him until her nose presses against his abdomen and he swears under his breath.</p>
<<say "char-david" "David">>
<i>(hoarse)</i> Jesus, Karen —
<</say>>
<p>The name hits differently when it's moaned. Karen's body responds, a pulse of wet heat between her legs, arousal spiking without being touched. The parasite catalogues the response: //Karen orgasms from control. From //power//. From being the one who reduces someone else to profanity.//</p>
<p>David comes with a groan that he muffles with his forearm. His cum floods her mouth, hot, thick, the specific alkaline weight of him. Karen holds him in her mouth, swallowing, her hand stroking him through the aftershocks. The taste lingers on her tongue after he pulls back, salt and a faint trace of whatever he drank an hour ago, catalogued by a mouth that has not had a man's cum in it in years. When she pulls back, she wipes her mouth with the back of her hand and looks up at him with an expression the parasite has never seen on Karen Hoffman's face before.</p>
//Satisfaction.//
<<elseif $karenRoute is "dominant">>
<img class="scene-img" src="media/scenes/nsfw-karen-oral-dom-1.webp" alt="Karen standing dominant, skirt hiked, low angle perspective">
<p>Karen stands over him. Legs apart. Skirt hiked above her thighs. One hand on her hip, the other reaching down. The expression on her face is one the parasite has been carefully cultivating through weeks of dominant-route conditioning: //authority//. From below, she is a monument to control, the white blouse still buttoned, the pencil skirt still on, nothing surrendered. Everything taken.</p>
<p>Dale is on his knees. The position suits him, the parasite observes, the stooped shoulders, the downcast eyes, the posture of a man who has been quietly surrendering for years and has finally found someone willing to formalize the arrangement.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's body is a vessel of control. The pheromone conditioning has amplified every dominant impulse she ever suppressed, the urge to //command//, to //take//, to reduce the man who ignored her for years to exactly what he was always becoming: obedient.//
//I ride the neural cascade. Her arousal is //different// from Megan's, not hunger but //power//. The wetness between her legs is the body's response to dominance itself.//
<</say>>
<<say "char-karen" "Karen">>
<i>(calm, precise)</i> Open your mouth, Dale.
<</say>>
<p>He obeys. Karen guides his head forward. She is still wearing her skirt, she hasn't undressed, hasn't made herself vulnerable. Dale's hands hang at his sides because she told him to keep them there.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-oral-dom-2.webp" alt="Close-up cunnilingus, no faces visible">
<img class="scene-img" src="media/scenes/nsfw-karen-oral-dom-spread.webp" alt="Presented for service">
<p>Karen pushes her underwear to the side with two fingers. The gesture is deliberate, unhurried, a display of what Dale is about to service. She holds herself open for a moment, letting him see. Letting him //want//. Then her hand finds his hair.</p>
<p>Karen pushes her underwear aside and presses Dale's mouth against her. The scent hits him first, warm, musky, the specific animal reality of a woman who has been aroused for the last ten minutes without touching herself. His tongue finds her, clumsy at first, unpracticed, the effort of a man who never bothered to learn what his wife wanted. His first taste of her is a shock: slick, salty, the faint note of the body wash she used this morning cut through with the sharper chemistry of her arousal. Karen's hand tightens in his hair. She adjusts his angle, his pressure, his rhythm, using his head like a tool. The wet sounds between her thighs are loud in the quiet bedroom, the specific obscene music of a tongue working flesh, punctuated by the hitch in Dale's breath every time she grinds down.</p>
<<say "char-hivemind" "Hivemind">>
//She is teaching him. Or rather — //I// am teaching him, through her. The psionic field reads Karen's nerve responses in real time and translates them into the micro-adjustments of her grip on Dale's hair. Tilt left. Slower. Flatten the tongue. //There//. The clitoris sends a spike of signal that cascades through the neural network, and Karen's thighs tremble.//
<</say>>
<p>Dale's tongue works her with increasing skill, a fast learner when properly motivated. Karen's breathing goes ragged. Her hips rock against his face, a slow grinding rhythm that coats his chin and lips. She doesn't moan. She //instructs//.</p>
<<say "char-karen" "Karen">>
<i>(through gritted teeth)</i> Deeper. Don't... //don't stop//.
<</say>>
<p>She comes standing up, hand fisted in Dale's hair, thighs clamped against his head. The orgasm arrives like a verdict, her spine straightens, her jaw locks, a single sharp exhalation through her nose. No theatrics. No surrender. Her cunt clenches against his mouth and Dale keeps licking through it, obedient, the taste of her intensifying as she floods his tongue. She takes the pleasure the way she takes everything now: //deliberately//.</p>
<p>Dale stays on his knees until she tells him to get up. She doesn't tell him for a long time.</p>
<<else>>
<div class="data-panel"><div class="data-panel-title">Route Not Set</div>Karen's route hasn't been determined yet. Complete Karen's conditioning to unlock Liberation or Dominant path content.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if not $ch2Events.karenOralNSFW>>
<<set $ch2Events.karenOralNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: Karen has completed a controlled sexual encounter under parasite influence. Her dominant/liberated sexuality has been physically expressed.</span></p>
<</if>>
<p><span class="consume-success">Karen: +1 pheromone conditioning.</span></p>
[[Return to the bedroom->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Instrument</div>
<<if $karenRoute is "liberation">>
<img class="scene-img" src="media/scenes/nsfw-karen-sex-lib-1.webp" alt="Karen and David in the master bedroom, evening">
<p>David is here again. The third visit. The pattern has solidified, he arrives after 10 PM, parks two streets over, enters through the side door Karen leaves unlocked. The choreography of an affair, executed with the precision of a woman who runs a household on schedules and spreadsheets.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's body is a forty-three-year-old machine that has been running on duty and suppression for two decades. Tonight, I use it the way it was designed to be used.//
//Not by Dale. Not by obligation. By //intent//.//
<</say>>
<p>They undress each other this time. No fumbling, the third time has smoothed the awkwardness from the choreography. David's hands on Karen's blouse buttons. Karen's fingers on his belt. She stands before him in her underwear, matching set, black lace, purchased specifically for this, and the parasite reads David's arousal spike through Karen's eyes: pupil dilation, elevated breathing, the visible hardening beneath his boxer briefs.</p>
<p>Karen pushes him onto the bed. She climbs on top, straddles his hips, and the parasite uses her body like an instrument, optimizing every variable. The angle of her pelvis. The rhythm of her hips. The timing of each descent, sinking down onto David's cock with a controlled, measured motion that makes him groan.</p>
<<say "char-hivemind" "Hivemind">>
//I read his nervous system through Karen's body, the way his cock pulses inside her when she clenches, the way his breathing stutters when she rolls her hips forward, the way his hands grip her thighs hard enough to bruise when she slows the rhythm to a crawl. I am optimizing Karen's body for maximum output. Not her pleasure, though that is a useful byproduct. //His// output. The neurochemical cascade of a man being ridden by a woman who fucks like she has something to prove.//
<</say>>
<p>Karen's body moves with authority. Her hips roll in a figure-eight pattern that grinds her clit against his pubic bone while driving him deep, a technique the parasite discovered through systematic variation and now executes with mechanical precision. Her breasts sway with the motion. Sweat glistens on her chest. The bedroom fills with the sounds of sex, skin on skin, the wet rhythm of penetration, David's groans and Karen's controlled, deliberate moans.</p>
<p>She leans forward, hands on his chest, changing the angle. The cock drags against her G-spot with each stroke, and Karen's jaw clenches, the pleasure building in a tight spiral. The parasite doesn't allow her to rush. It stretches the ascent, keeping her at the edge, the body screaming for release while the parasite extends the data collection window.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's orgasm is not Megan's. Where Megan's body surrenders, Karen's body //conquers//. The orgasm doesn't wash over her, she //takes// it. Clenching down on David's cock, grinding her clit against him with brutal precision, her spine rigid, her eyes open and //focused//. She comes like a woman who has spent twenty years being denied pleasure and is now //extracting// it from the world with compound interest.//
<</say>>
<p>The orgasm rips through Karen's body, her internal muscles clenching in hard, rhythmic contractions that milk David's cock until he follows her over the edge. She doesn't slow down. She rides him through both orgasms, hips still rolling, body still working, until the sensitivity becomes too much and David grips her hips to hold her still.</p>
<p>She collapses beside him. Breathing hard. Satisfied. The parasite catalogues the biochemistry, the dopamine flood, the oxytocin surge, the endorphin cascade that makes Karen's limbs heavy and her mind quiet.</p>
<<elseif $karenRoute is "dominant">>
<img class="scene-img" src="media/scenes/nsfw-karen-sex-dom-1.webp" alt="Karen and Dale in the master bedroom, dominant dynamic">
<p>Dale is on the bed. Face down. Karen stands at the bedside, still dressed, blouse unbuttoned, skirt hiked up, but //dressed//. The power imbalance is deliberate. The parasite has been engineering this dynamic for weeks: Karen clothed and commanding, Dale naked and compliant.</p>
<<say "char-hivemind" "Hivemind">>
//The new wiring has restructured Karen's sexuality around //control//. Her arousal doesn't come from friction or stimulation, it comes from //obedience//. Dale's obedience. The reward pathway has been redirected at the synapse: Karen Hoffman gets wet when someone does what she says.//
//Tonight, she takes what she's built.//
<</say>>
<<say "char-karen" "Karen">>
<i>(calm, measured)</i> Turn over. Look at me.
<</say>>
<p>Dale obeys. He lies on his back, exposed, vulnerable, his erection evidence that the conditioning works in both directions. Karen undresses slowly, letting him watch, controlling the pace. She removes her blouse, her bra, her skirt. She keeps her heels on. The parasite approves, the height differential reinforces the dynamic.</p>
<p>She straddles him without ceremony. Takes his cock, guides it inside her, and sinks down with a slow, deliberate motion that makes Dale's hands reach for her hips. She slaps them away.</p>
<<say "char-karen" "Karen">>
Hands. On. The headboard.
<</say>>
<img class="scene-img" src="media/scenes/karen-closeup-doggy.webp" alt="Close-up from behind, skirt hiked up, doggy-style penetration">
<p>Karen dismounts. Dale exhales, relief, he thinks. He's wrong.</p>
<p>She stands. Walks to the edge of the bed. Turns around. Places both hands flat on the mattress. Looks over her shoulder at Dale with an expression that isn't invitation, it's //instruction//.</p>
<<say "char-karen" "Karen">>
<i>(calm, absolute)</i> Get behind me. Don't be gentle.
<</say>>
<p>Dale stands on shaking legs. Karen bends over the edge of the bed, blouse still on, skirt hiked around her waist, heels planted on the carpet. She chose this position. She chose the angle. She chose the command. When Dale enters her from behind, it's because she //told// him to.</p>
<<say "char-hivemind" "Hivemind">>
//Even on her hands and knees, Karen is the one in control. The position is //hers//, she picked it for the angle, for the depth, for the way it lets her push back and set the rhythm with her hips. Dale thinks he's taking her. He's //servicing// her. The difference is everything.//
<</say>>
<p>His cock slides in deep and Karen's fingers grip the sheets. She pushes back, not waiting for him, not matching his rhythm, //setting// it. Each thrust is driven by her hips rocking backward, pulling him deeper, harder. Dale's hands find her waist and for once she allows it, she needs the leverage.</p>
<<if $karenFutaRoute>>
<p>The biological changes have progressed further than the parasite projected. Karen's clitoris, enhanced by the mutagenic compounds the rat network has been delivering through contaminated food and water, has grown noticeably. Engorged, sensitive, pressed against her own thigh with each backward thrust. The nerve density has tripled. Every impact sends a shockwave through nerve endings that didn't exist six weeks ago.</p>
<p>The parasite notes: //the futa transformation is accelerating. At this rate, Karen's anatomy will be visibly altered within weeks. The question is whether she'll notice, or whether the conditioning will normalize the changes before her conscious mind registers them.//</p>
<</if>>
<p>The wet sound of impact fills the bedroom. Karen's breathing goes ragged but controlled, she doesn't moan, she //grunts//, a low animal sound through clenched teeth. Her knuckles are white on the sheets. She pushes back harder, faster, chasing the orgasm with the same relentless efficiency she applies to everything.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's orgasm builds like a pressure wave. I feel it in the coiling tension of her pelvic muscles, in the spasming of her internal walls around Dale's cock, in the flush that climbs from her chest to her throat. She is //using// him, his body a friction surface, a stimulation device, a means to an end.//
//The end arrives with brutal efficiency. Karen comes with her teeth clenched, her thighs crushing Dale's hips, her fingernails drawing crescents in his chest. The contractions are fierce, eight, nine, ten, and she rides each one, grinding down, extending the orgasm through sheer force of will.//
<</say>>
<p>Dale comes without permission. Karen doesn't acknowledge it. She climbs off him, straightens her hair, and steps back from the bed. Dale exhales, deflating into the mattress, thinking it's over.</p>
It's not.
<img class="scene-img" src="media/scenes/nsfw-karen-sex-dom-2.webp" alt="Karen's heel on Dale's arousal">
<p>Karen looks down. Dale is hard, visibly, painfully hard. Straining against nothing despite the humiliation. Or //because// of it.</p>
<<say "char-karen" "Karen">>
<i>(amused, almost laughing)</i> Oh. //Oh.// That's what this does to you?
<</say>>
<p>Her heel finds him. Not gentle. She presses down, just enough to make him gasp. Then she grinds, slowly, watching his face contort between pain and desperate arousal.</p>
<<say "char-karen" "Karen">>
<i>(leaning down)</i> Twenty-two years. Twenty-two years I waited for you to touch me, to //look// at me, and all it took was //this//? You don't want a wife, Dale. You want someone to stand on you.
<</say>>
<p>She increases the pressure. Dale's hips lift into it, seeking more, not less. Karen laughs. Not cruelly, with genuine surprise. Something has clicked for her.</p>
<<say "char-karen" "Karen">>
<i>(straightening up, matter-of-fact)</i> Well. At least we finally found something you're good at.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen has discovered Dale's purpose. Not as a husband, as //equipment//. The years of neglect weren't a failure. They were //training//. Every night he ignored her, every morning he slept through, every conversation he avoided, it was all building toward this: a man so starved of contact that even pain from the woman who stopped loving him is better than nothing. I didn't create this dynamic. I just removed the last wall between what Dale wanted and what Karen is willing to give.//
<</say>>
<p>She removes her heel. Walks to the bathroom without a backward glance. The shower runs. Dale lies on the bed, staring at the ceiling, his wife's scratch marks burning on his chest and the phantom pressure of her heel burning somewhere lower.</p>
<<else>>
<div class="data-panel"><div class="data-panel-title">Route Not Set</div>Karen's route hasn't been determined yet. Complete Karen's conditioning to unlock Liberation or Dominant path content.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if not $ch2Events.karenSexNSFW>>
<<set $ch2Events.karenSexNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: Karen has completed full penetrative sex under parasite influence. Her sexuality has been completely restructured around the route paradigm. The original Karen, the one who endured rather than demanded, is gone.</span></p>
<</if>>
<p><span class="consume-success">Karen: +3 pheromone, +1 psionic conditioning.</span></p>
[[Return to the bedroom->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenStranger1 to true>>
<<addConditioning "karen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Dating App</div>
<<if $karenRoute isnot "liberation" or not $ch2Events.karenLib3 or $conditioning.karen.pheromone lt 8>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Karen Liberation route with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking reads Karen the moment she steps through the front door. Elevated cortisol, the nervousness of a first date. But beneath it, something the dog's nose isolates with forensic precision: oxytocin. Dopamine. The unmistakable cocktail of sexual excitement, still dissipating from her bloodstream like smoke from a blown-out candle.//</p><</if>>
<p>Karen closes the front door with exaggerated care. 11:47 PM. She leans against it, eyes closed, and //smiles//, a real smile, not the performance she wears for the family. Her cheeks are flushed. Wine on her breath, the dog catalogues it from the hallway: Pinot Grigio, two glasses, maybe three.</p>
<p>She drops her purse on the hall table and tilts her head to check the mirror. Her fingers go to her neck. There, just below the jaw, where the collar of her blouse doesn't quite reach. A bruise. Small, oval, the unmistakable signature of a mouth pressed against skin with intent.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-stranger1-hickey.webp" alt="Karen in her fitted blouse at the hallway mirror, head tilted, fingertip pressed to a fresh oval hickey below her jaw, private delighted smile">
<<say "char-karen" "Karen">>
<i>(whispering, touching the mark)</i> Oh god.
<</say>>
<p>Not horror. //Delight.// She presses the bruise with her fingertip, watching herself wince, and the smile widens. She looks ten years younger.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromone conditioning has done its work.// Months of suppressed desire, amplified by the compounds layered into her sheets, her pillows, her morning coffee mug. //The dating app was her idea, but the courage to use it was mine.// The pheromones didn't create the hunger. They removed the shame that kept her from feeding it.
<</say>>
<p>She moves through the dark house toward the bathroom. The shower runs for twenty minutes, longer than her usual efficient seven. The dog sits outside the bathroom door, cataloguing the chemistry of the steam that escapes beneath it: soap, shampoo, and underneath, the stubborn trace of a man's cologne clinging to skin she scrubbed twice.</p>
<<say "char-hivemind" "Hivemind">>
//She scrubs as if she can wash away the evidence. But the evidence isn't on her skin, it's in her blood chemistry, in the dopamine cascade still echoing through her reward centers.// The pheromone conditioning has primed these pathways for months. //Tonight, a stranger's mouth on her neck activated them with a force that years of marriage never achieved.//
//She will do this again. The body has remembered what pleasure feels like, and it will not consent to forgetting.//
<</say>>
<p>Karen emerges in a towel, hair wet, skin pink from the heat. She passes the cat on the landing without a glance, but her hand drops to stroke its head. An automatic gesture. A comfort reflex. The pheromone coat transfers through the contact.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Before climbing into bed, she stands at the window. The curtains are open. The streetlight catches her in the towel, wet hair, bare shoulders, the mark on her neck visible. She doesn't close the curtains. She stands there for a full minute, letting the light paint her, before pulling the towel off and reaching for her nightgown. //She was hoping someone would see.//</p>
<</if>>
<<if $kinks.karen.includes("lingerie")>>
<p>She opens the bottom drawer before getting into bed. The black lace set, she wore it tonight. Under the blouse, under the cardigan. The stranger's hands found it when they fumbled at her buttons in his car. "Jesus," he said, "you wore //this// for me?" She hadn't. She'd worn it for //herself//. But his reaction was the second thrill layered on top of the first.</p>
<</if>>
<p>She climbs into bed, pulls the cat close, and falls asleep with the hickey still burning on her neck like a brand.</p>
<p><span class="consume-success">Karen: +1 pheromone conditioning. The liberation has begun.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenStranger2 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<</nobr>>
<div class="passage-title">The Second Date</div>
<<if not $permanentDone.karenStranger1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Stranger scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//The chemistry is different tonight. Arousal Tracking reads it through the front door before Karen even opens it: the same man's cologne, but //more// of it. Deeper in her skin. And something else, a salt-and-protein signature the dog's olfactory system categorizes with clinical detachment.//</p><</if>>
12:23 AM. Karen enters the house differently this time. No leaning against the door. No mirror check. She walks straight to the kitchen, pours a glass of water, drinks it standing at the counter. Her hands are steady but her breathing is deliberate, the controlled rhythm of someone managing an adrenaline comedown.
<p>Her lipstick is gone. Not faded — //removed//. Smeared traces remain at the corners of her mouth, the kind of smearing that happens when lips are pressed against something that isn't a wineglass. Her hair, which she'd straightened before leaving, is tangled at the back, finger-tangled, not wind-tangled.</p>
<<say "char-hivemind" "Hivemind">>
//The escalation is faster than projected.// Second date. Already physical. //The pheromone conditioning has stripped her natural caution to the studs.//
//The cat followed her to the parking lot. Waited in the shadow beneath the adjacent car. Through the passenger window, everything was visible.//
//Karen leaned across the center console. Her hand found him through his slacks, palm flat, fingers tracing the shape of him through the fabric, feeling him harden under her touch. She stroked him through the cloth first, slow, deliberate, learning the weight and heat of him. Then her fingers found his zipper. Drew it down. Reached inside.//
<img class="scene-img" src="media/scenes/nsfw-karen-stranger2-parking-bj.webp" alt="Karen bent across the car center console giving the stranger in the driver's seat a blowjob, pov looking down at her from behind the steering wheel, dashboard glow, fogged windows">
//Her hand wrapped around him, bare skin, the first cock she'd touched other than Dale's in twenty-two years. She stroked with a rhythm that was hesitant at first, then confident, muscle memory surfacing from a younger version of herself. Her thumb circled the head. He groaned. She smiled, a private smile, the smile of a woman rediscovering a skill she thought she'd forgotten.//
//Then her head dipped. Her mouth replaced her hand. Lips parting around him, tongue flat against the underside, taking him deeper with each bob. His hand found her hair, not pushing, just //holding//, fingers tangled in the strands she'd spent forty minutes straightening. The rhythm built, slow, thorough, her cheeks hollowing, her hand working what her mouth couldn't reach.//
//She learned this with Dale twenty years ago. The muscle memory was still there, the angle of her jaw, the suction, the way she breathed through her nose. But with Dale it had always been obligation dressed as intimacy. With this stranger, in this car, in this parking lot, her mouth was //hungry//. She wanted to taste him. She wanted to feel him lose control because of her.//
//He came with a grunt and a full-body shudder, hips lifting off the seat. Karen held him in her mouth through it, swallowed once, twice, the salt-bitter taste coating her tongue. She sat up. Wiped the corner of her mouth with the back of her hand. And smiled. A real smile. The first one in years.//
<</say>>
<p>She climbs the stairs. Passes Dale's office, dark, empty, he's on the couch downstairs with the spore-fog keeping him in pharmaceutical-grade unconsciousness. She doesn't even glance at the door. The man who should occupy her bed is as absent from her thoughts as he is from the bedroom.</p>
<p>The shower runs for fifteen minutes. When she emerges, she sits on the edge of the bed in her towel and picks up her phone. The screen illuminates her face, she's reading messages. Smiling. Typing with her thumbs, deleting, retyping. The nervous composition of someone who cares how their words land.</p>
<<say "char-hivemind" "Hivemind">>
//She's texting him.// At 12:40 AM, freshly showered, sitting on the bed where her marriage died. //The conditioning has created a new neural pathway, arousal, action, reward, that bypasses every inhibition her upbringing installed.// She will sleep soundly tonight. The guilt will arrive tomorrow, and it will be smaller than she expects.
//Each time, it gets smaller.//
<</say>>
<p>She sets the phone down, pulls the cat onto the bed, and curls around it. Her body is warm, relaxed, humming with post-arousal satisfaction. The pheromone coat seeps into her skin. The association deepens: pleasure, warmth, the cat.</p>
<p><span class="consume-success">Karen: +1 pheromone conditioning, +1 dream conditioning. The pattern accelerates.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenStranger3 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Guest</div>
<<if not $permanentDone.karenStranger2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Stranger scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("vent_navigation")>><p>//Vent Navigation provides the angle. The rat moves through the wall cavity behind the master bedroom headboard, thin drywall, excellent acoustics. Every sound in that room reaches the rat's ears with perfect fidelity.//</p><</if>>
11:15 PM. Karen's car in the driveway, and a second car behind it. A grey sedan. You've never seen it before.
<p>The front door opens. Karen enters first, pulling a man by the hand. He's taller than Dale, broader through the shoulders, with the kind of easy confidence that comes from knowing you've been chosen. Karen is laughing, a real laugh, low and warm, the kind she hasn't made in this house in months.</p>
<img class="scene-img" src="media/scenes/karen-stranger-door.webp" alt="Karen in the open front doorway at night, pulling a taller man in behind her by the hand, her face flushed and laughing, Dale's shape visible on the living room couch in the background">
<p>They pass the living room. Dale is on the couch, mouth open, chest rising and falling in the deep, mechanical rhythm of spore-induced unconsciousness. Karen doesn't look. The man doesn't notice. They ascend the stairs hand-in-hand.</p>
<<say "char-hivemind" "Hivemind">>
//She brought him home.// Past her sleeping husband. Up the stairs. Into the master bedroom. //The conditioning has reached terminal velocity, the inhibitions aren't weakened, they're //gone//. Karen Hoffman is about to have sex with a stranger in the bed she shared with Dale for twenty years, and the man on the couch will never know.//
<</say>>
<p>The bedroom door closes. The rat is in the wall. The sounds begin almost immediately, the rustle of clothing being removed, the creak of the bed accepting new weight, the murmur of voices too low to resolve into words.</p>
<p>Then Karen's voice, clear through the thin drywall: a sharp inhalation. A moan. Not the sleep-sounds of pheromone conditioning — //waking// sounds, conscious, deliberate, the sounds of a woman who has decided to feel everything.</p>
<p>The bed creaks in rhythm. Karen is vocal in a way you've never recorded, gasps, whispered instructions, his name repeated like a prayer. Through the vent, you hear skin on skin, the wet sounds of mouths on bodies, the escalating tempo of two people building toward something they both want.</p>
<<say "char-hivemind" "Hivemind">>
//Through the vent grate, the rat observes everything.//
//His hands on Karen's blouse, buttons parting one by one, revealing the black bra she bought last week, not for Dale. Karen pulling his shirt over his head, her fingers tracing the planes of his chest, the muscle definition that Dale lost a decade ago. They fall onto the bed together. Kissing, deep, hungry, mouths open, tongues sliding against each other with the urgency of people who have been thinking about this all week.//
//His mouth moves from her lips to her jaw, her neck, the hollow of her collarbone. Karen arches beneath him as he unclasps her bra, draws it away, and lowers his mouth to her breasts. He takes one nipple between his lips, tongue circling, and Karen's fingers dig into the sheets. A sound escapes her, low, raw, nothing like the controlled voice she uses for the family. His hand cups her other breast, thumb brushing the stiffened peak, while his mouth works its way down her sternum, her stomach, the soft swell of her belly.//
//He kneels between her thighs. Hooks his fingers into her underwear and draws it down her legs. Karen watches him, watches his face as he looks at her, exposed, open, //wanted//. His mouth finds her. Karen's head drops back against the pillow and her hips rise to meet him. His tongue works in slow, deliberate strokes, flat, then pointed, circling her clit with a patience Dale never possessed. Karen's thighs clench around his head. Her hand grips his hair.//
//She climaxes the first time with his mouth on her, fast, almost surprised, her body so primed by months of conditioning that it requires only minutes of genuine attention to reach the threshold. A sharp cry, hips bucking against his face, thighs trembling.//
//He rises. Karen reaches down between them, wraps her hand around his cock, strokes him twice, and guides him inside her. A sound escapes them both. He fills her slowly, and Karen's mouth falls open, her eyes widening at the sensation of a man inside her for the first time in years. He begins to move. She moves with him, hips rolling, finding the rhythm, her legs wrapping around his waist to pull him deeper.//
//The bed frame protests against the wall. Karen wraps her legs tighter and pulls him into her with each thrust. His pace increases. Karen meets him, grinding against him, angling her hips so he hits the spot that makes her voice break on high notes she didn't know she could produce. His mouth finds her neck. She rakes her nails down his back.//
//The second orgasm takes longer. He is patient. She directs him with her hands — //there, harder, don't stop//, and when it hits, it's with a wordless, shuddering cry, her body clenching around him in waves that drag him over the edge with her. He comes inside her with a groan buried in her neck, and Karen holds him there, legs locked, pulling every last tremor from both of them.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-karen-stranger3-cum.webp" alt="Aftermath on twisted sheets">
<p>He finishes across her chest — Karen lies still, breathing hard, watching the ceiling. The warmth pools in the hollow of her collarbone. She doesn't wipe it away. For a long moment she just //lies there//, wearing the evidence of something she chose.</p>
3:12 AM. The front door opens and closes. The grey sedan starts, pulls away. The house settles back into silence.
<p>Karen lies in the master bedroom. The sheets are damp. The room smells of sex and cologne and the particular chemistry of satisfaction. She doesn't shower. She lies on her back, staring at the ceiling, one hand on her chest. Not guilt — //wonder//. As if she's rediscovering a part of herself she'd declared dead.</p>
<p>The cat jumps onto the bed. Karen pulls it close without looking. Her body radiates warmth, relaxation, the deep biochemical contentment of a woman who has been thoroughly, consensually //fucked// for the first time in longer than she can remember.</p>
<<say "char-hivemind" "Hivemind">>
//Dale sleeps downstairs. The spores ensure he won't wake until morning. He will never know what happened in his bedroom tonight. And Karen — Karen will carry this secret like a coal in her chest, warming her from the inside, making her stand straighter, smile wider, //live// more recklessly.//
//The liberation is complete. Karen Hoffman has broken every rule she was raised to follow. And I provided the chemical key that unlocked the cage she'd built around her own desire.//
<</say>>
<p><span class="consume-success">Karen: +3 pheromone, +2 dream, +1 psionic conditioning. Liberation complete — Karen has reclaimed her sexuality.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenDom1 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Adjustment</div>
<<if $karenRoute isnot "dominant" or not $ch2Events.karenDom3 or $conditioning.karen.pheromone lt 8>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Karen Dominant route with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch relays the micro-vibrations through the wall. The gecko, pressed flat against the hallway ceiling, reads the scene through tremors in the drywall, every footstep, every shift of weight, every held breath.//</p><</if>>
<p>Late afternoon. Ryan stands in the upstairs hallway, wearing the clothes Karen selected this morning. The button-down shirt, lavender, slim cut, fits differently than his usual oversized hoodies. It reveals the narrow shoulders, the pale throat, the collarbones he usually hides.</p>
<p>Karen circles him. Slowly. The way she used to walk the gallery at the art museum, assessing, appraising, finding the angles.</p>
<<say "char-karen" "Karen">>
<i>(adjusting his collar, fingers lingering on the fabric)</i> Stand up straight.
<</say>>
<p>Ryan straightens. Karen's hands move from the collar to his shoulders, pressing them back and down. The gesture is corrective, a mother fixing posture. But her hands stay a beat too long. Her thumbs trace the line of his trapezius through the cotton.</p>
<<say "char-karen" "Karen">>
Turn around.
<</say>>
<p>He turns. Karen's eyes travel the length of his body, down the spine, the narrow waist, the way the new trousers fit his hips. Her expression is complex: satisfaction, possession, something darker flickering beneath the maternal surface.</p>
<<say "char-hivemind" "Hivemind">>
//She touches his jaw. Tips his chin up. Studies his face the way a sculptor studies clay, not with affection but with //intent//.// The pheromone conditioning has blurred the line between mother and authority figure. //She doesn't see a son. She sees a project. Something she's shaping. Something that //obeys//.//
<</say>>
<<say "char-karen" "Karen">>
<i>(thumb tracing his jawline)</i> Better. Much better.
<</say>>
<p>Ryan stands perfectly still under her hands. His breathing has changed, shallow, careful, the breathing of someone who doesn't want to break whatever spell is holding them in place. His pupils are dilated. The pheromone exposure from Karen's skin transfers through every point of contact.</p>
<<say "char-hivemind" "Hivemind">>
//The power dynamic is crystallizing.// Karen adjusts. Ryan submits. The touch is still deniable, a mother dressing her son, nothing more. //But the chemistry between them is not maternal. Her elevated heart rate, his dilated pupils, the electricity in the six inches of air between her mouth and his throat, the bodies know what the minds won't admit.//
<</say>>
<p>Karen steps back. Nods once. The assessment is complete. Ryan exhales, a breath he'd been holding without realizing.</p>
<<if $kinks.karen.includes("bondage")>>
<p>Before Ryan can leave, Karen's hand catches his wrist. She holds it, not hard, but //firm//. Her thumb presses against his pulse point. "Stay still." He freezes. The grip tightens. For three seconds, Ryan's wrist is pinned against his side, and Karen's eyes are fixed on the place where her fingers overlap his veins. Then she releases him. "Go." He goes. The silk scarves on her door handle sway in the draft.</p>
<</if>>
<<if $kinks.karen.includes("denial")>>
"You look good," Karen says. The compliment hangs in the air. Ryan's face opens, hungry, desperate for the approval. Karen holds the moment. Holds it. Holds it. Ryan's expression begins to falter. "Can I..." "Not yet." She lets ten more seconds pass. Then: "Yes. You can go." The relief on his face is //intoxicating// to her. She watches him leave and her hand drifts to her own throat.
<</if>>
<p><span class="consume-success">Karen: +1 pheromone conditioning. Ryan: +1 pheromone conditioning. The dominant dynamic deepens.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.karenDom2 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "ryan" "dream" 1>>
<</nobr>>
<div class="passage-title">Application</div>
<<if not $permanentDone.karenDom1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Dominant scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Spike is invisible against the bathroom tile. She clings to the ceiling corner, three feet above Karen's head, witnessing everything with compound-mapped precision.//</p><</if>>
<p>The bathroom door is closed. Not locked — Karen doesn't lock doors in her own house. It's a statement of authority: this is her space, and no one enters without permission.</p>
<p>Ryan stands in front of the mirror. Shirtless. Karen stands behind him, her hands working moisturizer into his skin with slow, deliberate strokes. She starts at his shoulders, the clinical territory. Then his neck. Her thumbs work the muscles there, and Ryan's eyes half-close.</p>
<<say "char-karen" "Karen">>
<i>(applying product to his face)</i> Don't move.
<</say>>
<p>Her fingers trace his cheekbones. Spread the cream along his jawline, down his throat. Ryan holds perfectly still, a canvas submitting to the artist. Karen's hands descend to his collarbones. The transition from face to body is seamless, deliberate. She is not applying moisturizer to his chest. She is //mapping// it.</p>
<<say "char-hivemind" "Hivemind">>
//Her hands slow on his collarbones. The touch lingers, circling, tracing the architecture of bone beneath skin.// The moisturizer is irrelevant. //This is contact dressed as grooming, desire dressed as care. And Ryan stands perfectly still because standing still is the only instruction she's given him, and obeying Karen's instructions has become the organizing principle of his days.//
<</say>>
<<say "char-karen" "Karen">>
<i>(low, instructional, eyes on his shoulders in the mirror)</i> Tip your chin up. Hold.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(complying immediately, voice barely there)</i> ...mm.
<</say>>
<<say "char-karen" "Karen">>
<i>(palms working a fresh pearl of moisturiser into his sternum, the schedule-managed register clicking through items)</i> Watch the angle next time you do this yourself. Same pressure. Don't push, //press//. Press and hold for three seconds before you lift.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes locked on her hands in the mirror, swallowing hard)</i> ...okay.
<</say>>
<p>Karen reaches for the lip tint. A small pot, the muted rose she selected for him. She dips her finger. Her other hand cups his chin, tilting his face toward the light.</p>
<<say "char-karen" "Karen">>
<i>(thumb on his lower lip, applying the tint)</i> Open your mouth slightly.
<</say>>
<img class="scene-img" src="media/scenes/nsfw-karen-ryan-application.webp" alt="Bathroom mirror reflection — Karen standing close behind Ryan, her right thumb resting on his slightly parted lower lip applying a muted-rose lip tint, her left hand flat against his bare waist just above his hip, Ryan shirtless with head tilted slightly up toward the vanity lights, his eyes downcast watching her hands in the mirror">
<p>Ryan parts his lips. Karen's thumb presses against the soft tissue of his lower lip, spreading the tint with a pressure that isn't cosmetic. Her eyes are focused on his mouth. His eyes are focused on hers. The bathroom is silent except for their breathing, hers controlled, his unsteady.</p>
<<say "char-karen" "Karen">>
<i>(low, even)</i> Press together. Once. Like you're sealing it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(complying instantly, the small action delivered the way he delivers every instruction she gives him)</i> ...mm.
<</say>>
<<say "char-karen" "Karen">>
<i>(approving, almost imperceptible, eyes flicking briefly to his in the mirror)</i> Good.
<</say>>
<p>Her free hand rests on his bare waist. Not gripping. Just //there//. The warmth of her palm against his hip bone. Ryan's stomach muscles contract involuntarily at the contact.</p>
<<say "char-hivemind" "Hivemind">>
//The threshold shifts.// Her thumb on his lip. Her hand on his waist. His shirtless body in the mirror behind them, skin glistening with product. //Every touch is still deniable, a mother applying makeup to a willing son, but the denial grows thinner with each passing second. The air between them is saturated with pheromone compound and something older, something the conditioning didn't create but has certainly //weaponized//.//
<</say>>
<p>Karen reaches for the moisturizer again. Squeezes a pearl of it onto her fingertips. Her hand returns to his chest, but this time it doesn't stop at the collarbones. Her palm slides down. Over the flat plane of his sternum. Across the ridges of his stomach. Her fingers trace the thin line of hair below his navel with clinical precision that is not clinical at all.</p>
<p>Ryan stops breathing.</p>
<p>Karen's hand descends another inch. Her fingertips brush the waistband of his shorts. Then lower, over the fabric, where the shape of him is unmistakable. Hard. Straining against the cotton. She cups him through the cloth. A firm squeeze. Ryan's entire body goes rigid.</p>
<<say "char-karen" "Karen">>
<i>(voice level, eyes on his in the mirror, palm still cupped around the shape of him through the cloth)</i> That's just a body responding. Nothing to be ashamed of.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, eyes wide in the mirror, hands rigid at his sides, voice cracking on the consonants)</i> Mom... Mom, I'm... I'm sorry, I —
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting him off, the schedule-managed register sliding into the next agenda item without a seam)</i> Don't apologise. Stand still. Hands on the counter. We'll handle it.
<</say>>
<p>Ryan's palms plant on the bathroom counter. The marble is cold under his hands. He is shirtless, painted, freshly moisturised, with a visible erection straining against his shorts and his mother behind him in the mirror, sleeves still rolled to her elbows, expression of a woman about to take care of an item on the household list.</p>
<<say "char-hivemind" "Hivemind">>
//She has reframed it. //Maintenance//. Another product applied, another step in the grooming routine. The conditioning has rewired her threshold and his, what would have been violation is now just //the next step//, and the framing is the entire defence: nobody is doing anything wrong, this is //Karen taking care of something//, and Karen takes care of things.//
<</say>>
<p>Karen's left hand stays flat on his bare hip. Her right hand slides under the waistband of his shorts and pulls him out, slow, careful, the cock she's about to handle wrapped in her fingers with the same neat precision she used to apply the lip tint. Ryan makes a sound that is not a word.</p>
<<say "char-karen" "Karen">>
<i>(in the mirror, eyes on his face, thumb already at the slick head)</i> Eyes here. On me. Don't close them.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, locking onto her gaze in the glass)</i> ...okay. //Okay//.
<</say>>
<p>Her grip is firm and neat. The first stroke is slow, base to head, the slick of pre-cum already spreading under her thumb because Ryan has been hard since she put the lip tint on him. Her wrist is steady. Her shoulder doesn't move. She is using her hand the way she uses a kitchen knife, minimal range, maximum control.</p>
<<say "char-karen" "Karen">>
<i>(low, instructional, eyes still locked on his)</i> Breathe. Through the nose. Don't hold it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(jaw shaking, breath hitching, complying)</i> Mmh, yeah... //fuck//... Mom...
<</say>>
<<say "char-karen" "Karen">>
<i>(unbothered, the stroke speeding up half a notch)</i> Language. But yes. Keep going.
<</say>>
<p>Her hand picks up the pace. A practiced rhythm, the wrist of a woman who has not handled a cock in a long time and has not forgotten the geometry. Ryan's hips jerk forward involuntarily on the third stroke and Karen's left hand presses flat against his hip to hold him still, palm immovable, the controlled-restraint of a body locked in place by intent alone while her right hand sets the pace.</p>
<<if $kinks.karen.includes("bondage")>>
<p>Her left hand is //iron// against his hip. Not gripping. Just //immovable//. The pressure of restraint without rope, without cuffs — Karen's body alone holding his body in position because the conditioning has taught her to hold things still by intent. Ryan tries to push forward into the stroke. Karen does not let him. The denial of his own thrust amplifies every stroke she gives him by half.</p>
<</if>>
<<if $kinks.karen.includes("denial")>>
<p>Two strokes from the brink she stops. Her thumb compresses the base, a gentle pressure, deliberate, the chord she has been edging herself with redirected onto his cock with the same precision. Ryan whimpers. The denial holds for fifteen long seconds. Then she resumes, slower, and the second build is //devastating//.</p>
<</if>>
<<if $kinks.ryan.includes("submission")>>
<p>The word //please// escapes him before he can stop it. Then again. Then again. He is asking her permission to come, not consciously, not chosen, just the word leaking out of the part of his brain the conditioning has been rewiring. Karen does not answer. Karen never answers permission requests with words. She answers them with the rhythm of her wrist, and tonight the rhythm is //yes//.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(eyes on his in the mirror, the schedule-managed register holding even at the edge)</i> Look at yourself, Ryan. Painted. Moisturised. Coming for me. That's the picture. //Don't look away.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(broken, eyes locked on hers in the mirror, hips trembling)</i> I... I'm... Mom, I'm gonna...
<</say>>
<<say "char-karen" "Karen">>
<i>(unbroken, the wrist not changing, the same neat rhythm)</i> Yes. Now.
<</say>>
<p>He comes hard. Three pulses. Karen's hand is ready, her left hand slides off his hip and the first two fingers cup under the head of his cock, catching the cum as it lands across her index and middle finger, the right hand still working him through the orgasm with the same neat metronome rhythm. Ryan makes a single sound, not a word, not a moan, just an exhaled //collapse//, and his shoulders sag forward against her body for the half-second she lets him.</p>
<<if $kinks.ryan.includes("cumeating")>>
<<say "char-karen" "Karen">>
<i>(raising her two cum-slick fingers to his mouth in the mirror, the schedule-managed register treating this as the next maintenance step)</i> Open. Clean them up.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(without hesitation, eyes still locked on hers in the glass, parting his lips)</i> ...
<</say>>
<p>He opens his mouth. Karen presses her two slick fingers past his lips and across his tongue. He closes his lips around them and sucks them clean, slow, complete, the way she taught him to apply the lip tint. The taste is salt and warmth and his own body. The muted-rose smear at the corner of his mouth blends with it. He swallows. Karen withdraws her fingers, watches the small wet line her index finger leaves on his lower lip, and does not wipe it away.</p>
<<else>>
<p>Karen wipes her fingers clean on the small white towel hanging beside the sink. Her hand returns. Tucks Ryan back into his shorts. Adjusts the waistband. Straightens the cotton with the same care she used to spread the moisturizer. The whole choreography takes nine seconds.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(stepping back, studying her work in the mirror)</i> There. Better. We'll do it again tomorrow.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(still gripping the counter, voice cracked)</i> ...yes, Mom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//"We'll do it again tomorrow." She has //scheduled it//. The handjob has been booked into the household routine the same way she books the dental cleanings, and the booking is the entire payload — Ryan will spend the next twenty hours waiting for the next bathroom session, and the waiting is conditioning more potent than any pheromone I have laid down in his hoodie.//
<</say>>
<p>Ryan in the mirror: tinted lips smeared at one corner, luminous skin, glassy eyes. Karen behind him, sleeves still rolled, expression as flat as it was when she walked in. She nods. Satisfied.</p>
<<say "char-karen" "Karen">>
<i>(quietly, almost to herself)</i> Beautiful.
<</say>>
<p><span class="consume-success">Karen: +2 pheromone, +1 dream conditioning. Ryan: +2 pheromone, +1 dream conditioning. Physical intimacy normalized, and scheduled.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenDom3NSFW to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "karen" "taboo" 1>>
<<addConditioning "ryan" "taboo" 1>>
<</nobr>>
<div class="passage-title">Reward</div>
<<if not $permanentDone.karenDom2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Dominant scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Evening. Karen's bedroom. Ryan stands in the doorway wearing everything she chose, the slim trousers, the soft shirt, the lip tint, the posture she corrected. Karen sits on the edge of the bed, legs crossed, watching him the way a collector watches an acquisition.</p>
<<say "char-karen" "Karen">>
<i>(softly)</i> You've earned something.
<</say>>
<p>She extends a hand. Ryan crosses the room. Takes it. Karen pulls him closer, not roughly, but with the certainty of a woman who has never been refused in this house. He stands between her knees. Her hands rest on his hips.</p>
<<say "char-hivemind" "Hivemind">>
//The culmination.// Weeks of conditioning, the clothing, the grooming, the touches that lingered a second too long. //Every step was calibrated to bring them here: to this room, to this distance, to the moment when the last pretense of maternal correction dissolves into what it always was.//
<</say>>
<p>Karen kisses his forehead. Ryan closes his eyes. She kisses his cheek. His breathing stops. She kisses the corner of his mouth, not his lips, the //corner//, and holds there. One second. Two. Ryan doesn't move. Doesn't breathe. The world narrows to the point of contact between her lips and his skin.</p>
<p>Then she tilts. Her mouth finds his. The first kiss. Soft, exploratory, nothing like the casual pecks she plants on her children's foreheads. This is //intentional//. Ryan makes a sound, quiet, desperate, the sound of a dam breaking.</p>
<<say "char-karen" "Karen">>
<i>(against his mouth, barely audible)</i> Like this.
<</say>>
<p>Her hands guide his, from his sides to her body. She places them on her waist. Moves them higher. Shows him the pressure. The angle. Ryan's hands shake but they follow her direction with the same obedience he's been practicing for weeks.</p>
<p>Karen leans back. Draws him down. The kiss deepens. Her hands move to the buttons of his shirt, the shirt she selected, buttoned, adjusted. Now she reverses the process, each button a deliberate undoing.</p>
<<say "char-hivemind" "Hivemind">>
//She teaches him with her body.// Where to put his hands. How much pressure. When to move, when to stay still. //He learns the way he learned everything from her, by following instructions, by seeking approval, by submitting to the authority that has shaped his entire identity.//
//Karen guides his mouth to her throat. His hand to her breast. She shows him how to touch her the way she wants to be touched, and he obeys with a gratitude that borders on worship.//
<</say>>
<p>Karen takes Ryan's hand. Opens it, palm up. Places it against her chest, over the fabric, over the heartbeat hammering beneath. "Feel that?" His fingers tremble against her. She unbuttons her blouse. Not seduction — //instruction//. Each button deliberate, unhurried, the fabric parting to reveal skin and the lace bra beneath. She shrugs the blouse off her shoulders. Reaches behind. The bra clasp opens. She lets it fall.</p>
"Here." She guides his hand to her bare breast. His palm cups her, tentative, reverent, the first time he has ever touched a woman like this. Karen inhales sharply. She shows him pressure, presses his fingers firmer against the soft flesh, shows him how to roll the nipple between thumb and forefinger. Her eyes half-close. "Like that."
<p>She pulls him onto the bed. Guides his mouth to her throat, then lower, his lips tracing the path she maps with her fingertips. His mouth reaches her breast and she arches into it, her hand cradling the back of his head. "Tongue. Gently." He obeys. Karen's breath catches.</p>
"Lower." Her hand guides his head down the slope of her stomach, past her navel, between her thighs. She leans back on the bed, one knee lifted, and presses the back of his skull forward until his mouth finds her. "Here. Slow." He inhales sharply against her skin and then his tongue starts to move, clumsy, obedient, the rhythm of a boy who has spent weeks waiting for permission to touch anything and now has permission to touch //everything//. Karen's hand stays fisted in his hair. She corrects his angle with small pressures from her palm. //Here. Like that. Slower. //There.//// Her thighs close softly around his ears.
<img class="scene-img" src="media/scenes/nsfw-karen-dom3-cunni.webp" alt="Karen sitting upright on the edge of the bed with Ryan kneeling on the floor between her thighs, her hand fisted in his hair guiding his mouth, cold commanding expression">
<p>After a minute she eases him back up, not because he failed, because she has a better use for him. She wipes the corner of his mouth with her thumb the way she used to wipe jam off his chin. Her hand descends between them. Finds him through his trousers, hard, aching, straining toward her touch. She unbuttons him. Slides her hand inside. Wraps her fingers around the bare length of him, and Ryan gasps against her skin.</p>
"That's normal. That's good." She strokes him, slow, measured, teaching him the rhythm with her hand on his cock while her other hand guides his between her legs. She opens her thighs and places his fingers where she wants them. Shows him pressure. Angle. Rhythm. "Circles. Slow." His fingers fumble, then find it, the small hard bud that makes Karen's hips rock against his hand.
<p>They work each other in the dim bedroom light. Karen's hand on him, his hand on her, their breathing synchronizing, their bodies learning each other's thresholds. Karen is //methodical// even in this, correcting his angle, adjusting his speed, extracting exactly what she wants from his obedient fingers.</p>
<p>Ryan comes first, sudden, helpless, spilling over Karen's stroking fist with a gasp buried against her shoulder. Karen doesn't stop his hand. She presses it harder against her, grinds against his fingers, and follows seconds later, back arched, jaw clenched, his name bitten off behind clenched teeth, her thighs clamping around his wrist as the orgasm rolls through her in long, shuddering waves.</p>
<p>Ryan lies beside her, trembling, wide-eyed, transformed.</p>
<<say "char-hivemind" "Hivemind">>
//The taboo is not a wall they've broken. It's a wall that never existed, dissolved by weeks of pheromone conditioning, by the slow erasure of the boundary between authority and desire.// Karen will not feel guilt. //Guilt requires a sense of having violated something sacred, and the conditioning has quietly redefined what's sacred in this house.//
//Ryan will feel everything, wonder, terror, devotion. But not regret. Never regret. She chose him. She shaped him. And tonight, she used him. For Ryan Hoffman, that is the closest he has ever been to love.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-karen-dom3-cum.webp" alt="Evidence of the lesson">
<p>The evidence of Ryan's orgasm marks his own stomach, white against pale skin. Karen looks at it the way she looks at a completed task. Satisfied. Clinical. //Done.// She reaches for the tissues on the nightstand without breaking eye contact.</p>
<p><span class="consume-success">Karen: +3 pheromone, +2 dream, +1 taboo conditioning. Ryan: +3 pheromone, +2 dream, +1 taboo conditioning. The dominant dynamic has reached its physical conclusion.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenFuta1 to true>>
<<if $adaptations.rat.unlocked.includes("contaminator")>><<set $karenFutaScore to ($karenFutaScore or 0) + 2>><</if>>
<<hasSkillTreeAbility "Pheromone Specialization">><<if _hasAbility>><<set $karenFutaScore to ($karenFutaScore or 0) + 2>><</if>>
<<if ($karenFutaScore or 0) gte 4>><<set $karenFutaRoute to true>><</if>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Metamorphosis — Phase One</div>
<<if $karenRoute isnot "dominant" or not $ch2Events.karenDom3 or not $karenFutaRoute>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Karen Dominant route, karenDom3 event, and active Pheromone Specialization + Contaminator adaptation to unlock biological modification.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Morning. Karen is in the shower. The water is too hot, she likes it scalding, the heat a blunt instrument against her skin. The cat observes from the bathroom counter through the steam.</p>
<p>The Biological Architect has been working on Karen for weeks, subtle modifications to her endocrine system, pheromone glands threaded through her sweat ducts, the conditioning pathways that have turned her dominant impulses into //architecture//. But tonight's modification is different. The parasite has been restructuring tissue at the base of Karen's clitoris, hypertrophied erectile cells, vascular channels rerouted, a retractable organ built from what was already there. The same biological toolbox that grew pheromone glands. Pushed further.</p>
<p>Karen braces against the tile. Something is happening between her legs, a pressure, a heat that doesn't belong to the water. She looks down.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa1-shower.webp" alt="Karen under a hot shower, looking down at her own newly grown erect organ with clinical shock, one hand on the tile wall">
<<say "char-karen" "Karen">>
<i>(a sharp breath)</i> What the —
<</say>>
<p>Her clit is swollen. More than swollen — //growing//. The tissue engorges as she watches, thickening, lengthening, the blood rushing to fill channels that didn't exist last week. Three seconds. Four. The growth stops at a size that makes her grip the shower rail with white knuckles.</p>
<<say "char-hivemind" "Hivemind">>
//Engorgement complete. Three-point-two seconds. The tissue is responsive, clitoral hypertrophy pushed to functional erectile capacity.// She can feel her own heartbeat in it.
<</say>>
<p>Karen stares. Water runs over the new anatomy. Her hand moves toward it, stops. Moves again. She touches it and the sensation hits her so hard her knees buckle. Not like touching her clit. Like touching something //new//. A room in her body she didn't know existed.</p>
<<if $kinks.karen.includes("size")>>
<p>She wraps her hand around it. Measures with her fingers, almost unconsciously, thumb and forefinger spanning the girth. The analytical part of her brain files the number. //It's big//. Bigger than she expected. Bigger than Dale. The realisation brings a smile she doesn't control.</p>
<</if>>
<<if $kinks.karen.includes("penetration")>>
<p>She wraps her hand around it and squeezes. The feedback is immediate, a surge that starts at the base and radiates upward through her pelvis, the sensation of //projecting// instead of receiving. She strokes once. Twice. Braces against the wall and breathes through clenched teeth.</p>
<</if>>
<p>Then, as fast as it came, the blood drains. The tissue softens. Shrinks. In ten seconds there's nothing to see. Just Karen, in the shower, breathing hard, staring at the space between her legs where something impossible just happened.</p>
<p>She tries again. Closes her eyes. //Flexes//, not a muscle she has words for, but something deep in her pelvis, a push of intent. The blood rushes back. The growth returns. Three seconds. She opens her eyes.</p>
Still there.
<p>She relaxes. It retracts.</p>
<<say "char-hivemind" "Hivemind">>
//She's learning the switch.// On. Off. Voluntary. //A weapon she can deploy and retract.//
<</say>>
<p>Karen stands in the shower for ten more minutes. Practising. Growing it. Letting it shrink. Growing it again. Each time faster. Each time with more control. By the time she shuts off the water, her hands have stopped shaking.</p>
<p>She wraps herself in a towel. Looks at her reflection in the fogged mirror. Wipes a clear patch with her palm. Studies her own face, the same face, the same jaw, nothing changed except //everything//.</p>
<<say "char-karen" "Karen">>
<i>(to her reflection, quiet, a statement of fact)</i> Okay.
<</say>>
<p>Not horror. Not confusion. //Acceptance//. Karen Hoffman has spent forty-three years in a body that was defined by what it lacked. Now it has something //extra//. And the look in her eyes, the look the cat records from the counter, is //hunger//.</p>
<p><span class="consume-success">Karen: +2 pheromone, +1 psionic conditioning. Retractable anatomy unlocked — Karen controls the switch.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.karenFuta2 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<</nobr>>
<div class="passage-title">Metamorphosis — Discovery</div>
<<if not $permanentDone.karenFuta1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Futa scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Ceiling corner. Spike is invisible against the white tile.//</p><</if>>
2 AM. Karen is alone in the master bedroom. Door locked. The house is silent.
<p>She stands at the foot of the bed in a tank top and underwear. Breathing controlled. Deliberate. The look on her face is the one she wears when she's about to open the family accounts and face the numbers.</p>
<p>She closes her eyes. //Flexes.//</p>
<p>The growth takes three seconds. Heat, pressure, blood rushing south. She opens her eyes and looks down, the cock tents her underwear, already half-hard, the fabric stretching around it. She pulls the waistband down and it springs free. She stares at it. The same anatomy as the shower. The same impossibility she's been practising with for two days, quick activations in the bathroom, the locked bedroom, three-second pulses just to confirm it's //real//.</p>
<p>This time she doesn't retract it.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-mirror.webp" alt="Karen standing naked in front of her bedroom mirror, looking down at her own newly grown erect cock with a clinical, curious expression">
<<say "char-hivemind" "Hivemind">>
//She's past the confirmation stage. Tonight she wants to know what it //does//.//
<</say>>
<p>Karen sits on the edge of the bed. Her hand wraps around the shaft, firm grip, the same no-nonsense hold she brings to everything. The sensation shudders through her. Not like touching her clit. Not like anything she has a reference for. A voltage wired to a part of her body that didn't exist two weeks ago.</p>
<p>She strokes. Slow. Learning. The cock responds, thickening in her fist, the head darkening, pre-cum beading at the tip. She smears it with her thumb and the slickness changes the feedback entirely. Her toes curl against the carpet.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-stroking.webp" alt="Karen sitting naked on the edge of the bed, stroking her own erect cock with one hand, head tilted back, lips parted">
<<if $kinks.karen.includes("size")>>
<p>She pauses. Measures with her hand, thumb to index finger, spanning the girth. Then the length, palm-widths from base to tip. The numbers register in her mind with the same satisfaction as a balanced ledger. //Bigger than Dale.// The thought arrives without shame. She strokes faster.</p>
<</if>>
<<if $kinks.karen.includes("penetration")>>
<p>She shifts position, lies back on the bed, cock jutting upward, and fucks her own fist. The motion is //different// from masturbating her clit. Projecting instead of receiving. Each thrust of her hips drives the shaft through her grip and the sensation builds in a straight line, no plateau, no circling, just a relentless upward ramp toward something she can feel coming from a mile away.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Heart rate climbing. Respiration at thirty-two. She's close.//
<</say>>
<p>Karen's free hand grips the bedsheet. Her jaw clenches. The orgasm builds the way an orgasm builds in a body designed for this, a tightening at the base, a pulse that radiates outward, the cock swelling in her fist. She makes a sound through gritted teeth, not a moan, something harder, a sound like exertion, and comes.</p>
<p>The cum hits her stomach. Thick. Warm. Three pulses, then two more. She lies there breathing, staring at the ceiling, her softening cock resting against her thigh and her own cum pooling in the dip above her navel.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-climax.webp" alt="Karen lying back on the bed after climax, cum on her stomach and chest, her softening cock in her hand, flushed and breathing hard">
<p>She lets the retraction happen. Watches it shrink. The cum is still on her stomach but the cock is gone, dormant again, invisible, like it was never there.</p>
<p>Karen sits up. Wipes herself with a tissue from the nightstand. Drops it in the wastebasket. Pulls her underwear back up.</p>
<<say "char-karen" "Karen">>
<i>(to herself, almost smiling)</i> Okay. //Okay.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//First solo orgasm via the new anatomy. She learned the arc in one session, grip, speed, angle. Now she wants a //target//.//
<</say>>
<p><span class="consume-success">Karen: +3 pheromone, +1 dream conditioning. First solo completion — Karen has mastered the switch.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenFuta3 to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Metamorphosis — Completion</div>
<<if not $permanentDone.karenFuta2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Karen Futa scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.rat.unlocked.includes("vent_navigation")>><p>//Vent Navigation provides audio from the master bedroom. The rat crouches in the wall cavity, ears pressed to the drywall, recording everything.//</p><</if>>
<p>Karen stands in the master bedroom, door locked, studying herself in the full-length mirror. She's naked. The body is the same one she's had for forty-three years, no broader shoulders, no sharper jaw, no androgenic transformation. Just Karen. Except for the thing she can //do// now.</p>
<<if $ch2Events.ryanFem3 and $karenRoute is "dominant">>
<p>Ryan is already here. Two-word text: "Come here." He stands in the doorway in the camisole she chose, lip tint she applied, the posture she trained into him. His eyes find her body, naked, unchanged, //waiting//, and his lips part.</p>
<p>Karen closes her eyes. Flexes. The growth takes three seconds. Ryan watches it happen, his mother's cock thickening from nothing, rising against her thigh, hardening to full size while she stands in front of the mirror with her arms at her sides. She opens her eyes. Meets his reflection.</p>
<<say "char-hivemind" "Hivemind">>
//She activated it in front of him. Deliberately. Not hiding. Not explaining. //Showing//.//
<</say>>
<p>Karen crosses the room. Her hand cups Ryan's face, the same gesture as the grooming sessions, but the cock pressing against his hip through the camisole changes the weight of it. She kisses him. Not careful. Not instructional. Something harder, more demanding, the way a person kisses when they know exactly what they're about to do.</p>
<p>Ryan yields. Yielding is all he knows how to do with her. She guides him to the bed. Undresses him the way she dressed him, each garment removed with deliberation, each surface of skin assessed and claimed.</p>
<p>She pushes him onto his back and climbs on top. Her cock finds the crease of his thigh and she grinds against him, not penetrating, not yet, just //claiming//. His cock hardens against hers and the contact sends a jolt through both of them. She wraps her hand around both, hers and his, pressed together, her grip setting the rhythm.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa3-ryan.webp" alt="Karen on top of feminized Ryan in his satin camisole, mounting him, her erect cock pressing against his">
<<say "char-hivemind" "Hivemind">>
//She decides when he finishes. She decides when she does.// The feminized son beneath his mother. He doesn't recognise the transgression anymore. //It's just how this works.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-karen-futa3-climax.webp" alt="Karen gripping her partner's hips as she comes, head thrown back, flushed chest">
<<addConditioning "ryan" "pheromone" 1>>
<<else>>
<p>Dale is on the couch. The spores have him deep, dreamless, immovable.</p>
<p>Karen descends the stairs. Robe open. She stands over her husband's sleeping body and closes her eyes.</p>
<p>The shift takes three seconds. Her cock grows in the dark living room, thick, hard, pressing against the inside of her robe. She opens her eyes and looks down at Dale the way you'd look at a tool you've been meaning to use.</p>
<<say "char-hivemind" "Hivemind">>
//She activated it standing over him. She knew what she was going to do before she came downstairs.//
<</say>>
<p>Karen removes Dale's blanket. Her hands are possessive, not affection, //ownership//. She touches him and his body responds despite the unconsciousness. The human body is a machine. Machines respond to input regardless of the operator's intent.</p>
<p>She uses him. Deliberately. Thoroughly. The cock gives her a directness she never had before, no negotiation, no waiting, no asking. She takes what the sleeping body offers and the sounds she makes are guttural, low, the sounds of someone exercising a right they've been owed for years.</p>
<p>Dale's face shows nothing. The spores hold him under. He will never know.</p>
<p>Karen finishes with her forehead against the back of the couch, breathing hard. The retraction starts immediately, the cock softening, shrinking, gone. She pulls the blanket back over Dale. Smooths his hair. A gesture of ownership wearing tenderness like a coat.</p>
<<addConditioning "dale" "pheromone" 1>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//First use on another person. She activated it. Deployed it. Retracted it.// A weapon she carries inside her body that no one can see until she //wants// them to. //Mother. Wife. Caretaker. And now, something that takes what it wants and puts itself away afterward.//
<</say>>
<p><span class="consume-success">Karen: +3 pheromone, +3 dream, +1 psionic conditioning. First partner use complete — Karen deploys and retracts at will.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.kinkKarenExhib to true>>
<<addConditioning "karen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Window</div>
<<if not $kinks.karen.includes("exhibitionism") or not $permanentDone.karenStranger1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the exhibitionism kink implant and Karen's first stranger encounter.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision renders the scene in thermal detail: Karen's body heat against the cold glass, the bright corona of warmth between her thighs, the distant glow of the Henderson living room across the street. Two windows. Two pools of light. One audience.//</p><</if>>
<img class="scene-img" src="media/scenes/nsfw-karen-exhib-window.webp" alt="Karen standing naked at an open bedroom window at night silhouetted by the streetlight, one hand on the window frame, curtains drawn fully open">
11:07 PM. Karen stands at the bedroom window. The curtains are open, she opened them ten minutes ago, before the nightgown, before the decision she's pretending she hasn't already made. The streetlight outside turns the glass into a stage: anyone looking up from Maple Street would see her silhouette, backlit, unmistakable.
<p>She's wearing the nightgown she bought with streaming income. Sheer. The kind of fabric that conceals nothing when light passes through it from behind.</p>
<<say "char-hivemind" "Hivemind">>
//The Henderson living room light is on.// Mr. Henderson works late, the blue flicker of a television visible through their curtains. //Karen doesn't know if anyone is watching. That uncertainty is the mechanism.// The stranger encounters taught her that desire requires an audience. The phone calls taught her that the audience doesn't need to be present, it needs to be //possible//.
//She stands at the window because someone //might// see. And the might is enough.//
<</say>>
<p>Her fingers find the buttons of the nightgown. One. Two. Three. The fabric parts. She doesn't remove it, she lets it hang open, framing her body in the streetlight's amber wash. Her breasts are exposed. The soft curve of her stomach. The dark triangle between her thighs.</p>
<p>She watches the Henderson window. Her hand descends, tracing her own collarbone, the slope of her breast, circling one nipple until it hardens. Lower. Past the navel. Her fingers slide between her legs and find the wetness the exhibitionism manufactured.</p>
<<say "char-hivemind" "Hivemind">>
//She touches herself standing up. Framed in glass.// Her reflection stares back from the dark window, a woman she's still learning to recognize. //Not the wife. Not the mother. The woman who opens curtains at 11 PM and lets the streetlight paint her naked body for any insomniac with a line of sight.//
<</say>>
<p>Her hips rock against her own hand. One palm braced on the windowsill. Her breathing fogs the glass in rhythmic pulses. The nightgown slips from one shoulder, then the other, pooling at her elbows. She doesn't pull it back up.</p>
<p>The Henderson light goes off. Karen's hand stutters, then moves faster. The possibility of being seen has been replaced by the //certainty// of having been seen. Did the light go off because someone looked away, or because someone looked //closer//?</p>
<p>She comes standing up. One hand gripping the windowsill, the other pressed hard between her thighs, her forehead against the cold glass. The orgasm pulses through her legs, she sways, steadies herself, and rides it out with her eyes open, staring at the dark house across the street.</p>
<<say "char-hivemind" "Hivemind">>
//The exhibitionism circuit is complete.// The stranger encounters moved the threshold from private to semi-public. //The window moves it further, from controlled exposure to //uncontrolled//. Karen doesn't know her audience. Can't curate them. Can't manage the interaction.// She can only stand in the light and let herself be seen.
//She will do this again. The window is always there. The streetlight is always on. And the uncertainty, the delicious, terrifying uncertainty of whether anyone is watching, is a drug that requires increasing doses.//
<</say>>
<p>The dog on the porch below catches a scent signature from the Henderson property: elevated cortisol, increased respiration. Someone was at //their// window too.</p>
<p><span class="consume-success">Karen: +1 pheromone conditioning. The exhibition instinct has found its stage.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.kinkKarenLingerie to true>>
<<addConditioning "karen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Package</div>
<<if not $kinks.karen.includes("lingerie") or not $permanentDone.karenStranger1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the lingerie kink implant and Karen's first stranger encounter.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision captures every detail in the dark bathroom: the way the black lace catches the vanity light, the gooseflesh rising along Karen's arms as the fabric settles against her skin, the dilation of her pupils when she sees her own reflection.//</p><</if>>
2:14 AM. The package arrived three days ago. Karen hid it in the linen closet behind the spare towels, the same hiding place where she keeps the streaming phone, the dating app, the artifacts of the woman she's becoming after dark.
<p>Black lace. Underwired bra with scalloped edges. Matching panties, not the cotton she's worn for twenty years but //silk//, the fabric sliding against her fingers like water. A garter belt she's never worn in her life.</p>
<<say "char-hivemind" "Hivemind">>
//She ordered this with streaming income.// Money Dale doesn't know about, spent on fabric Dale will never see. //The secrecy is part of the architecture, every layer of deception adds a layer of arousal. The lingerie isn't for anyone. It's for the mirror. For the woman Karen is assembling in private, garment by garment, from materials her married self would never have touched.//
<</say>>
<p>She undresses in front of the bathroom mirror. The fluorescent light is unforgiving, it shows everything. The stretch marks. The softness at her hips. The body of a forty-three-year-old woman who stopped looking at herself years ago.</p>
<p>She puts on the bra first. The underwire lifts, shapes, presents. Then the panties, the silk against her skin sends a shiver up her spine that has nothing to do with temperature. The garter belt. She fumbles with the clips, she's never worn one, and laughs at herself. The laugh is //young//. Surprised. The sound of a woman rediscovering play.</p>
<p>She looks at the mirror. The woman looking back is someone she doesn't recognize.</p>
<<say "char-hivemind" "Hivemind">>
//The recognition failure is the breakthrough.// Karen has spent twenty years seeing herself as Dale's wife, the children's mother, the woman who wears sensible cotton and goes to bed at 10 PM. //The mirror shows someone else. Someone with curves that the lace //accentuates// rather than hides. Someone whose body is a landscape of texture, skin and silk and scalloped edges and the shadow between her breasts where the bra creates a darkness that invites investigation.//
//She doesn't look away. For the first time in years, Karen Hoffman //likes// what she sees.//
<</say>>
<p>Her hand traces the lace edge along her hip. Follows the garter strap down her thigh. Returns upward, fingertips skating over the silk panties, feeling the warmth beneath. She presses. The silk is already damp.</p>
<p>Her fingers slip beneath the waistband. She watches herself in the mirror, watches her own hand disappear inside the expensive fabric, watches her lips part, watches the flush climb from her chest to her throat. She touches herself slowly, deliberately, maintaining eye contact with her reflection.</p>
<p>She comes watching her own face. The orgasm breaks across her features like weather, the clenched jaw, the thrown-back head, the way her free hand grips the counter edge until her knuckles whiten. She watches all of it. Refuses to close her eyes. Refuses to look away from the woman in the mirror who is //allowed// to feel this.</p>
<<say "char-hivemind" "Hivemind">>
//The lingerie will go back in the linen closet. The woman in the mirror will go back to sleep.// But the //image// is permanent — Karen has seen herself as sexual, as desirable, as //someone who wears black lace at 2 AM and comes to her own reflection//. //The conditioning didn't create this woman. It uncovered her. And now that Karen has seen her, she can't unsee her.//
<</say>>
<p><span class="consume-success">Karen: +1 pheromone conditioning. The mirror has become a partner.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.kinkKarenBondage to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Silk Restraints</div>
<<if not $kinks.karen.includes("bondage") or not $permanentDone.karenDom1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the bondage kink implant and the first Karen Dominant scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision captures the scene in thermal clarity: one body radiating heat from the bed, wrists above the head, pulse visible in the throat. Karen's cooler silhouette circling, predatory, deliberate, every movement calculated for maximum effect.//</p><</if>>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/nsfw-karen-bondage-tying-fem.webp" alt="Karen wrapping a pale grey silk scarf around Ryan's wrist, Ryan in a camisole and panties, painted nails strained against the fabric">
10:47 PM. The bedroom door is locked. Karen stands beside the bed holding two silk scarves, pale grey, purchased from the same online account as the lingerie she's been quietly cataloguing in her son's drawer for the last three weeks. Ryan lies on the mattress in the camisole and panties he no longer hides. His nails are painted the same pale grey as the scarves. He understood, when she set them on the dresser, that this was a costume call.
<<say "char-karen" "Karen">>
<i>(wrapping the first scarf around Ryan's left wrist, voice low)</i> Hold still. Pretty hands stay still.
<</say>>
<p>She ties the wrists to the headboard. Not tight enough to hurt, tight enough to //hold//. She tests the knots. Tugs. The painted fingertips flex above the restraints, grasping at nothing. His arms are extended, the camisole strap sliding off one narrow shoulder, the body exposed and small and utterly arranged for her use. The panties have not come off. They tent at the front in a way Karen ignores with the same deliberate attention she gives every other detail in this room.</p>
<<say "char-hivemind" "Hivemind">>
//The restraints remove the variable Karen fears most: reciprocation.// Touch has always been a negotiation, give and receive, the exhausting choreography of two bodies managing each other's expectations. //The scarves eliminate that. The pretty thing on her bed cannot touch her. Cannot grab. Cannot control the pace, the angle, the duration.// And the //costume//, the silk and the polish and the strap sliding off the shoulder, converts Ryan from son into //object//, and the conversion is what makes the dominance work. She isn't using her child. She's using a doll she dressed.
<</say>>
<p>Karen undresses slowly. She takes her time because she //can//, the doll on her bed isn't going anywhere. She removes her blouse. Folds it. Sets it on the chair. The bra. The skirt. She stands in her underwear beside the bed and watches Ryan watch her. His eyes travel her body with a hunger his arms can't act on. His hips shift against the mattress. His wrists strain against the silk and the painted nails curl around nothing.</p>
<p>She straddles him. Doesn't take the panties off, keeps them on him, keeps the costume intact. Lowers herself until the heat between her thighs presses against the tented satin. Grinds, one slow, deliberate roll of her hips that drags the wet fabric of her own underwear across the wet fabric of his. Ryan gasps. Pulls against the scarves. The headboard creaks. The camisole strap drops the rest of the way down his arm.</p>
<<say "char-karen" "Karen">>
<i>(pressing her palm flat against his chest, fingers splayed across the satin)</i> I didn't say you could move.
<</say>>
<p>She takes her time. Rides the friction through both layers of fabric, speeding up when she wants, stopping when his hips start to chase. She touches herself above him, one hand pushing her own underwear aside while the other pins his chest down through the camisole. He watches her fingers work between her own thighs and his cock strains against the panties Karen hasn't permitted him to expose. He's leaking through the satin. The wet patch spreads. She doesn't acknowledge it.</p>
<<say "char-hivemind" "Hivemind">>
//Karen comes from the power and the //picture//.// Not from the friction, not from the physical contact, from the sight of the painted, restrained, lingerie-clad thing beneath her straining toward a release she permits or denies. //The orgasm is a function of authority over a feminised body. Her body has learned that the dominance writes itself larger when the object underneath has been //decorated//.//
<</say>>
<p>She arches backward, one hand on Ryan's silk-covered thigh for balance, the other pressed between her own legs, and comes with a sound that fills the locked bedroom, low, sustained, the moan of a woman who has discovered that she doesn't need to be touched to climax. She needs to be //obeyed// by something pretty.</p>
<p>She stays on him afterward. Breathing. Feeling the restrained body shift beneath her, the wet patch on the panties pressed against the wet patch on her own underwear. Then she decides, deliberately, with the considered authority of someone who //owns// the moment, whether to let the pretty thing in the camisole finish, or whether the panties stay sealed and Ryan rides the unfinished hunger through the next forty-eight hours.</p>
<<else>>
<img class="scene-img" src="media/scenes/nsfw-karen-bondage-tying.webp" alt="Karen wrapping a pale grey silk scarf around Ryan's wrist, Ryan shirtless on the bed in boxers, wrists pulled toward the headboard">
10:47 PM. The bedroom door is locked. Karen stands beside the bed holding two silk scarves, pale grey, purchased from the same online account as the lingerie. Ryan lies on the mattress in his boxers, the rest stripped at her instruction, the pale skin of his chest blotched red with the kind of nervous flush the pheromones have been engineering in him for weeks. His expression is a compound of confusion and want that he could not articulate if she asked him to.
<<say "char-karen" "Karen">>
<i>(wrapping the first scarf around Ryan's left wrist, voice low)</i> Hold still.
<</say>>
<p>She ties the wrists to the headboard. Not tight enough to hurt, tight enough to //hold//. She tests the knots. Tugs. Ryan's fingers flex above the restraints, grasping at nothing. His arms are extended, the body exposed, vulnerable from collarbone to the waistband of the boxers, the chest narrow and concave, the breath shallow and fast, the cock already stiff and tenting the cotton.</p>
<<say "char-hivemind" "Hivemind">>
//The restraints remove the variable Karen fears most: reciprocation.// Touch has always been a negotiation, give and receive, the exhausting choreography of two bodies managing each other's expectations. //The scarves eliminate that. Ryan cannot touch her. Cannot grab. Cannot control the pace, the angle, the duration.// Karen owns every sensation in this room, and the body she owns is the one she made, twenty years ago, in the same bed.
<</say>>
<p>Karen undresses slowly. She takes her time because she //can//, the restrained body isn't going anywhere. She removes her blouse. Folds it. Sets it on the chair. The bra. The skirt. She stands in her underwear beside the bed and watches Ryan watch her. His eyes travel her body with a hunger he can't act on. His hips shift against the mattress. His wrists strain against the silk. He says her name, then stops himself, then says it again.</p>
<p>She pulls the boxers down to his thighs and leaves them there, not off, just //out of the way//, the fabric a soft rope around his legs that mirrors the silk on his wrists. Then she straddles him. Lowers herself until the heat between her thighs takes him in, one slow, deliberate roll of her hips that ends with him fully inside her. Ryan gasps. Pulls against the scarves. The headboard creaks.</p>
<<say "char-karen" "Karen">>
<i>(pressing her palm flat against his chest)</i> I didn't say you could move.
<</say>>
<p>She takes her time. Rides him with a rhythm she controls completely, speeding up when she wants, stopping the second his breathing changes. She touches herself above him, one hand between her own legs working her clit, the other pinning his chest down. He watches her hand work, watches her face change, watches the pleasure build on features that are two feet away and completely inaccessible. Every time he gets close she stops moving and waits. Three times. Four. He makes a sound on the fourth that isn't a word.</p>
<<say "char-hivemind" "Hivemind">>
//Karen comes from the power.// Not from the friction, not from his cock inside her, not from the physical contact, from the //control//. The sight of a restrained body beneath her, straining toward a release she permits or denies. //The orgasm is a function of authority. Her body has learned that dominance is its own stimulation, and Ryan's cock is just the instrument the dominance happens //around//.//
<</say>>
<p>She arches backward, one hand on his thigh for balance, the other pressed between her own legs, and comes with a sound that fills the locked bedroom, low, sustained, the moan of a woman who has discovered that she doesn't need to be touched to climax. She needs to be //obeyed//. Her muscles clench around him as she comes, and she doesn't let him follow her over.</p>
<p>She stays on him afterward. Breathing. Feeling him still hard inside her, still desperate, the restrained body shifting in tiny involuntary thrusts he can't help. Then she decides, deliberately, with the considered authority of someone who //owns// the moment, whether to let him finish inside her, or whether she lifts off and leaves him aching against the silk for the rest of the night.</p>
<</if>>
<p><span class="consume-success">Karen: +2 pheromone, +1 psionic conditioning. Control is pleasure. The restraints are a formality.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.kinkKarenDenial to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Fourteen</div>
<<if not $kinks.karen.includes("denial") or not $permanentDone.karenDom1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the denial kink implant and the first Karen Dominant scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<set _target to "">>
<<set _targetName to "">>
<<if $karenRoute is "dominant">><<set _target to "ryan">><<set _targetName to "Ryan">>
<<else>><<set _target to "dale">><<set _targetName to "Dale">>
<</if>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision maps the thermal signatures: _targetName's body temperature spiking, falling, spiking again, the sawtooth pattern of repeated arousal and withdrawal. Karen's temperature rising steadily. The room fills with heat neither body is releasing.//</p><</if>>
<img class="scene-img" src="media/scenes/nsfw-karen-denial-edge.webp" alt="Karen seated on the edge of the bed, hand poised over Ryan's cock, his hips lifted off the mattress at the edge of orgasm">
11:23 PM. Forty-five minutes. Karen has been doing this for forty-five minutes.
<p>Her hand moves with mechanical precision, finding the rhythm, accelerating, building _targetName to the edge of the cliff. Their breathing goes ragged. Their hips lift from the mattress. Their fingers twist in the sheets. And then — Karen stops. Her hand withdraws. She sits back. Crosses her legs. Waits.</p>
<<say "char-karen" "Karen">>
<i>(examining her nails while _targetName shakes)</i> Not yet.
<</say>>
_targetName's body trembles. The arousal has nowhere to go, it doesn't dissipate, it //compounds//, each interrupted peak adding pressure to the next. Their voice breaks on the word they've been saying all night.
"Please."
<<say "char-hivemind" "Hivemind">>
//She counts them.// The "pleases." Fourteen so far. //Each one is a data point in a power equation Karen is solving in real time.// The first few were casual, reflexive, the automatic begging of a body that expects satisfaction. The middle ones were desperate, voice cracking, hips jerking, the involuntary protest of a nervous system being denied its expected reward.
//The last three were //different//. Quiet. Broken. The "please" of someone who has stopped expecting release and started //needing// the denial itself.//
<</say>>
<p>Karen's hand returns. The rhythm restarts. She watches _targetName's face, cataloguing every micro-expression, every flinch, every moment where the pleasure peaks and the eyes go wide with the certainty that this time, //this time//, she'll let them finish.</p>
<p>She doesn't. The hand stops. _targetName makes a sound that isn't a word.</p>
<<say "char-karen" "Karen">>
<i>(leaning close, mouth beside their ear)</i> I said. Not. Yet.
<</say>>
<p>And Karen — Karen who hasn't been touched, who hasn't asked for anything, who has spent forty-five minutes administering a pleasure she controls and withholds, feels the orgasm build in her own body. Not from contact. From the //sound//. From the fifteenth "please," whispered into the dark bedroom, the syllable cracking on the //p// like something breaking.</p>
<p>She comes from the begging alone. No hand between her legs, no friction, no physical stimulus at all. The climax rolls through her, silent, devastating, internal, while _targetName lies beneath her hand, shaking and denied.</p>
Then she decides.
<<say "char-hivemind" "Hivemind">>
//The decision is the apex of the power dynamic.// Whether she allows their release is irrelevant — //the fact that it's her decision is the conditioning payload//. _targetName's pleasure has been reclassified from a right to a //gift//. Something Karen bestows or withholds. Something that exists at her discretion.
//Orgasm as currency. Denial as control. The conditioning has found its deepest channel.//
<</say>>
<p><span class="consume-success">Karen: +2 pheromone, +1 psionic conditioning. Power generates its own arousal. The begging is the mechanism.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.kinkKarenSize to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<</nobr>>
<div class="passage-title">Measurement</div>
<<if not $kinks.karen.includes("size") or not $karenFutaRoute or not $permanentDone.karenFuta1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the size kink implant, the Karen Futa route, and the first futa scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch reads the vibrations through the bathroom tiles. Each heartbeat, each shift of weight, each tremor in Karen's hands, transmitted through the floor into data the gecko processes from its position behind the toilet tank.//</p><</if>>
2:33 AM. Karen locks the bathroom door. Checks it twice. Turns on the overhead light, the harsh fluorescent, not the forgiving vanity lamp. She wants //clarity// tonight.
<p>She opens the medicine cabinet. Behind the towels: a notebook. Behind the notebook: a ruler.</p>
<<say "char-hivemind" "Hivemind">>
//The growth is measurable now.// The pheromone specialization combined with the Contaminator adaptation has been accelerating the biological transformation for weeks. //What began as sensitivity and engorgement has progressed into structural change, tissue growth, vascular development, the slow engineering of an anatomy Karen was not born with.//
//She keeps records. Of course she does — Karen's need for control extends even to this. Dates, measurements, observations. A clinical document tracking the most intimate transformation of her life.//
<</say>>
<p>Karen removes her pyjama bottoms. Stands in front of the mirror. The growth is visible now, what was once a slightly enlarged clitoris has become something //else//. Longer. Thicker. The hood has stretched to accommodate the new architecture. When she touches it, the response is immediate, not the diffuse pleasure of clitoral stimulation but something //focused//, //directional//, a sensation that has a //vector//.</p>
<p>She measures. The ruler against the base. She records the number in the notebook with handwriting that shakes slightly.</p>
<<say "char-karen" "Karen">>
<i>(whispering to the mirror, pen in one hand, ruler in the other)</i> Four point two. Up from three point eight.
<</say>>
<p>She should be horrified. The rational mind, the Karen who schedules dentist appointments and balances the household budget, should be screaming. Instead, she touches herself. Not despite the transformation. //Because// of it.</p>
<p>Her hand wraps around the growth with a grip that would have been impossible a month ago. There's enough //there// to grip. She strokes, the sensation is extraordinary, unlike anything the previous anatomy provided. Each movement sends a bolt of pleasure up through her pelvis, her stomach, her chest. The nerves are dense, new, exquisitely sensitive.</p>
<<say "char-hivemind" "Hivemind">>
//The new sensitivity rewrites her arousal architecture.// The old pathways, clitoral, diffuse, slow to build, are being supplemented by something //phallic//. Direct stimulation. //A closed circuit between hand and nerve that accelerates the build exponentially.//
<</say>>
<p>Karen braces against the counter with one hand. The other works between her legs, stroking the growth with a rhythm her body has learned in the three weeks since the transformation became undeniable. Her hips thrust forward into her own fist. The mirror shows her everything: the flush climbing her chest, the sweat beading at her temples, the way her mouth falls open.</p>
<p>She comes harder than she ever has. The orgasm detonates, not the rolling, diffuse wave she's accustomed to but a //sharp//, //concentrated// explosion that buckles her knees and makes her grip the counter to stay upright. She feels the contractions in muscles she didn't have six weeks ago. Her vision whites at the edges. A sound escapes, guttural, animal, nothing like the quiet gasps she's trained herself to make.</p>
<p>She stands gripping the counter, aftershocks rippling, staring at her changed body in the mirror. The notebook lies open on the floor where she dropped it. The ruler. The evidence of a woman methodically tracking her own transformation, and discovering that the terror has become //desire//.</p>
<<say "char-hivemind" "Hivemind">>
//The size fixation is the wedge.// Each measurement is a threshold, a number that proves the change is real, ongoing, //accelerating//. //And each number makes her harder. Each fraction of an inch converts fear into arousal. The transformation is its own aphrodisiac.// Karen Hoffman is becoming addicted to becoming someone else.
<</say>>
<p><span class="consume-success">Karen: +2 pheromone, +1 dream conditioning. The transformation has become its own desire.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.kinkKarenPenetration to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "karen" "dream" 1>>
<</nobr>>
<div class="passage-title">Role Reversal</div>
<<if not $kinks.karen.includes("penetration") or not $karenFutaRoute or not $permanentDone.karenFuta2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the penetration kink implant, the Karen Futa route, and the second futa scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<set _target to "">>
<<set _targetName to "">>
<<if $karenRoute is "dominant">><<set _target to "ryan">><<set _targetName to "Ryan">>
<<else>><<set _target to "dale">><<set _targetName to "Dale">>
<</if>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision renders everything. Karen's transformed anatomy, engorged, erect, glistening with the lubricant the biological modifications produce, as she positions herself above _targetName's body. The thermal signatures merge as she enters. Two heat sources becoming one.//</p><</if>>
11:51 PM. The bedroom door is locked. The house is silent. Karen has been preparing for this, mentally, physically, //architecturally//, for two weeks. The growth has reached a size that makes this possible. The biological modifications have provided natural lubrication. The Contaminator adaptation has made the tissue responsive, sensitive, //functional//.
_targetName lies on the bed. Face up. The pheromone conditioning has brought them to this position, willing, waiting, the apprehension buried beneath a chemical compliance that registers as desire.
<<say "char-hivemind" "Hivemind">>
//Karen stands at the edge of the bed.// The growth is fully erect, the new vasculature flooding the tissue, the nerves firing with an intensity she still hasn't calibrated for. //She looks down at _targetName. At the body she's about to enter. The role reversal is total, not a woman with a prosthetic, not a performance, but a //woman with a functional phallus// about to penetrate another person for the first time.//
//Her hand trembles. Not with fear. With //hunger//.//
<</say>>
<p>She climbs onto the bed. Straddles _targetName, the dominant position she's come to prefer. She lowers herself into alignment. Guides herself with one hand. The tip meets resistance. She pushes, slowly, controlled, the same deliberation she brings to everything.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-penetration-mount.webp" alt="Karen straddling a pale thin partner, lowering herself onto him with her new erect anatomy sliding into his body, female dominant, dim bedroom lamp">
<p>The sensation as she enters is unlike anything she has experienced. Not receiving — //giving//. Not being filled — //filling//. Every centimeter registers with devastating clarity: the heat, the pressure, the grip of another body around tissue that is six weeks old and wired with the densest nerve cluster the Contaminator can produce.</p>
<<say "char-karen" "Karen">>
<i>(breath catching, eyes wide)</i> Oh //god//.
<</say>>
<p>She moves. Slowly at first, learning the mechanics of a body that thrusts rather than receives. Her hips find a rhythm. She can feel //everything//, every contraction of _targetName's body, every involuntary clench, every shift of internal architecture around the growth that the parasitic modification engineered for precisely this purpose.</p>
<<say "char-hivemind" "Hivemind">>
//The role reversal restructures Karen's sexuality in real time.// Twenty years of passive reception, of lying beneath Dale, of being //entered//, of measuring her pleasure by someone else's rhythm. //All of it inverted in the space of a single thrust.// Karen is on top. Karen controls the depth, the angle, the speed. Karen //takes// rather than receives.
//And the body beneath her responds to being taken with the same helpless surrender Karen once performed.//
<</say>>
<p>She speeds up. Her hands brace on _targetName's chest. The bed rocks. The sounds from _targetName's mouth are sounds Karen recognizes, she used to make them herself. The gasps, the pleas, the involuntary cries of a body being driven toward release by someone else's rhythm. She knows exactly what those sounds mean. She //savors// them.</p>
<p>The orgasm builds differently than any she's had before, concentrated in the growth, spreading outward through the pelvic floor, the thighs, the core. When it arrives, it arrives with //force//. She drives deep and holds, every muscle locked, her eyes squeezed shut, her mouth open on a sound she's never made. She feels the release, the physical, unmistakable //pulse// of climax through the new anatomy. Inside _targetName's body.</p>
<p>She stays. Buried. Breathing. Feeling the aftershocks ripple through her in the devastated silence of the bedroom.</p>
<<say "char-hivemind" "Hivemind">>
//The reversal is complete.// Karen Hoffman has penetrated another human being with anatomy I engineered. //She has come inside another body. She has felt the sensation of //giving// rather than receiving, and the expression on her face as the last tremor fades is not satisfaction.// It is //revelation//. The discovery that the body she was born with was //incomplete//, and that the modification has finished the architecture she didn't know was missing.
<</say>>
<p><span class="consume-success">Karen: +3 pheromone, +2 psionic, +1 dream conditioning. The transformation has fulfilled its purpose.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.meganSoloNSFW to true>>
<<addBiomass 2>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<div class="passage-title">The Dream She Won't Remember</div>
<p><span class="skill-used">Sensory Infiltration, 1 biomass</span></p>
<p>The bedside lamp paints the room warm amber. Megan sleeps on her side curled around the cat, knees drawn up and arm over the warm fur, and the pheromone in this bed is thinner than the saturation in Karen's, but Megan is nineteen and her neurochemistry answers an arousal compound with a sensitivity her mother's tired receptors can't match.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-solo.webp" alt="Megan in lamp-lit bedroom, dreaming">
<p>Her arm tightens around the cat and her hips start to shift, the slow involuntary rhythm you've watched building night after night, except tonight it doesn't stop, it deepens, her pelvis rocking against the warm body while the sounds spill out of her, soft and breathy and climbing.</p>
<<say "char-megan" "Megan">>
<i>(in her sleep, soft and slurred)</i> ...mmh... //mmh//... ahh...
<</say>>
<<if $meganRoute is "slut">>
<<say "char-hivemind" "Hivemind">>
//The dream isn't about a face anymore. The wanting points at no one and everyone now, a line of them, hands and mouths, anyone who asks. I only had to keep the hunger fed.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Marcus. The pheromones took the want she files behind a smile and a schedule and turned the volume up until the sleeping body can't ignore it.//
<</say>>
<</if>>
<p>Her hand slides off the cat, up under the hem of her sleep shirt to cup her own breast, and her breath hitches as the gooseflesh rises on her bare arm.</p>
<<if $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(slurred, hips rolling)</i> ...mmh... yeah... all of you... come on... //come on//...
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(slurred, hips rolling)</i> ...Marcus... mmh... you said you'd... //yes//...
<</say>>
<</if>>
<p>Her hand slides down past the waistband of her sleep shorts, her hips pressing forward against the cat as her fingers find where the need is sharpest. She works two fingers into herself with a gasp that doesn't wake her, slick and swollen and aching, her other hand twisting into the fur at the cat's scruff while her breathing breaks into short shallow gasps.</p>
<<say "char-megan" "Megan">>
<i>(breath fracturing, the rhythm climbing)</i> ...ah... //ah//... mmh... don't stop... don't //stop//...
<</say>>
<<if $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(begging into the pillow)</i> ...give it to me... //all// of it... please, more, more...
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(begging into the pillow)</i> ...please... //Marcus//... right there, right there...
<</say>>
<</if>>
<p>Her body curls tighter around the cat, spine arching and thighs clenching, her hand moving faster until she comes in a shudder that runs the whole length of her, her grip on the fur going white-knuckled, and she squirts hard against her own hand, soaking her fingers and the sheet beneath her.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-solo-finger.webp"><source src="media/video/nsfw-megan-solo-finger.webm" type="video/webm"></video>
<<say "char-megan" "Megan">>
<i>(the cry breaking out of her, muffled in the pillow)</i> ...ah... //ahh//... mmh... //mmh//...
<</say>>
<p>Then stillness. Her hand withdraws from the wet patch on the sheet, her breathing slows back toward dreamless sleep, and she pulls the cat against her chest and presses her face into the fur.</p>
<<say "char-hivemind" "Hivemind">>
//She won't remember. She'll wake with the cat in her arms and a damp patch she'll blame on sweat, never once connecting either to a dream she can't recall. But her body keeps the ledger, and every night the same association sets harder: cat, warmth, pressure, release. The dependency builds where she'll never think to look for it.//
<</say>>
<<if not $ch2Events.meganSoloNSFW>>
<<set $ch2Events.meganSoloNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: Megan has reached full pheromone-induced arousal in sleep, her body now using the cat as a physical anchor through the response. The dependency is forming.</span></p>
<</if>>
[[Withdraw carefully->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $permanentDone.convergenceMegan>>
<<spendBiomass 3>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<addConditioning "megan" "psionic" 1>>
<<set $player.maxBiomass to Math.min($player.maxBiomass + 1, 999)>>
<</if>>
<<set $permanentDone.convergenceMegan to true>>
<</nobr>>
<div class="passage-title">Convergence: Megan</div>
<p><span class="skill-used">Hivemind Convergence, 3 biomass, all hosts synchronized</span></p>
<p>The network closes on Megan's room, four bodies and four vectors aimed at one sleeping target.</p>
<p>The cat curls into her and she pulls Whiskers close without waking, fur against bare skin, the pheromones working into her through every point of contact. The rat holds the wall behind the bed, where it has been seeding her sheets for a while now, and tonight it adds a concentrated dose that wakes in body heat. The gecko comes down from the ceiling to the headboard, close enough to lay a sedative across the warm air over her face and sink her past natural sleep. The dog blocks the hallway, and no one will interrupt.</p>
<<say "char-hivemind" "Hivemind">>
//The invisible daughter. The one nobody watches.// Tonight every host in the house is turned toward her at once, each one delivering on the same breath. The pheromones that draw the desire up out of her. The spores that loosen what is left of her guard. The toxin that takes the dream and makes it deeper than memory. //And waiting down there for her, Marcus. Or near enough. Someone who looks at her and sees past the bright thing she does for everyone else.//
<</say>>
<p>Her sleeping body answers with a directness her waking self would never allow. Her hips shift, her breath catches, the arm around the cat tightens, and a sound slips out of her, a name breathed into the fur of an animal that is so much more than a pet.</p>
<p>//...there you are, you came, you always come, and you're looking at me like that again, past the smile, past the cheerful thing I hand everyone, like you can see the rest of it and you want that part too, stay, don't let me wake up before you...//</p>
<p>The dream tightens its hold. The pheromones strip the last of her defenses, the toxin keeps the sleep open past where it should close, and the parasite leans in and sharpens the picture, Marcus drawn brighter and surer than any waking moment has ever handed her, the simple unbearable feeling of being wanted by someone who sees through the act.</p>
<<say "char-hivemind" "Hivemind">>
//The dream is the delivery and Marcus is the payload. The chemistry runs the body, the link runs the story, and the sleeping brain loses its ability to tell them apart. As far as everything underneath her waking mind can tell, this is happening to her.//
<<if $kinks.megan.includes("praise")>>
//Tonight the praise training writes the script. Dream-Marcus murmurs the things she has been taught to come apart for, that she is beautiful, that she is good, and each one lands in her like it was said against her skin. She melts at being told she is enough, and asleep she has nothing left to guard with.//
<<elseif $kinks.megan.includes("rough")>>
//Tonight the rough training writes the script. Dream-Marcus takes instead of asking, and her body strains up to meet the force of it even in sleep, quicker to the edge than she has ever gone awake, the want honed to something her waking self would flinch from and her sleeping self runs toward.//
<<else>>
//A plain dream, Marcus as the gentle one, her body shadowing every touch the story gives it, the climb and the break of it quiet and whole. A small thing to watch. A heavy one to carry out into the morning.//
<</if>>
//The toxin held the dream open long enough to burn it into the parts of her that keep things. She will wake aching for something she can't put a name to, and it will trail her all day, into the coffee shop, into Marcus's easy smile, into every time their hands cross at the counter. The next time he brushes her fingers there, her body will answer with a force that startles them both.//
<</say>>
<img class="scene-img" src="media/scenes/convergence-megan.webp" alt="Megan asleep in convergence dream, the cat curled against her and the network arranged around the room">
<p><span class="consume-success">Megan: +1 pheromone, +1 dream, +1 psionic conditioning, +1 max biomass. The convergence has rewritten her baseline.</span></p>
[[The convergence dissolves, hosts return to positions->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "pheromone" 1>>
<</nobr>>
<div class="passage-title">The Taste of Something New</div>
<img class="scene-img" src="media/scenes/nsfw-megan-oral-1.webp" alt="Megan and Marcus in the coffee shop back room after closing">
<p>The coffee shop is closed. The chairs are stacked on the tables and the espresso machine hisses its final steam cycle into the empty room. Marcus is wiping down the counter when you, when //Megan//, touches his arm. The gesture is hers. The intent is yours. The line between the two has been dissolving for days.</p>
<<say "char-hivemind" "Hivemind">>
//Her heart rate doubles. Her pupils dilate. Her mouth goes dry with something that isn't thirst. //A rhythm I haven't catalogued yet.////
<</say>>
<p>The back room. Storage shelves lined with wholesale coffee bags. A desk cluttered with scheduling printouts. Marcus sits on the edge of the desk because there's nowhere else. Megan stands between his knees. His hands are on her waist, tentative, careful, the touch of a man who can't believe this is happening.</p>
<<say "char-megan" "Megan">>
<i>(whispering)</i> I've been thinking about this all day.
<</say>>
<p>She hasn't. //You// have. You've been thinking about this since you catalogued the way Marcus's pulse elevated every time Megan's hand brushed his at the register. Since you felt the heat pool between her legs during the afternoon lull when he reached past her for the oat milk and his chest pressed against her shoulder. This body //wants// him. The parasite wants to understand //why//.</p>
<p>You lower Megan's body to her knees. The concrete floor is hard through the thin fabric of her work pants. Marcus's breath catches, a sharp intake that her ears register and your neural network catalogues. His jeans are rough under Megan's fingertips as she works the button, the zipper. Her hands are trembling. Not from fear. From //want//.</p>
<<say "char-hivemind" "Hivemind">>
//I am inside her mouth. Not metaphorically, literally. Every nerve ending she uses to taste, to feel pressure, to register warmth — I feel through her. This is what they call intimacy. This is what I was built to harvest.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-megan-oral-2.webp" alt="Intimate close-up, Megan kneeling">
<p>His cock is hard when Megan's fingers wrap around it, the skin hot and smooth, the weight of it unfamiliar in her small hand. She strokes once, experimentally, and feels it pulse against her palm. Marcus groans. The sound vibrates through the quiet back room and Megan's body responds with a rush of heat between her thighs that has nothing to do with the parasite's influence.</p>
<p>Her mouth opens. Tongue first, a slow, flat stroke from base to head that makes Marcus's hips jerk. The taste is salt and skin and something faintly musky that Megan's tongue maps with instinctive precision. She takes the head between her lips. Suction, gentle at first, then firmer as her jaw adjusts to the stretch. Her tongue circles the ridge of the glans, finding the sensitive spot beneath the frenulum, pressing there.</p>
<<say "char-hivemind" "Hivemind">>
//The body knows what to do.// I am merely riding the neural cascade. Her jaw relaxes to take him deeper. Her hand wraps around the base, stroking what her mouth can't reach. The rhythm establishes itself, a biological metronome set to Marcus's breathing. //I catalogue every signal: the tension in his thighs, the way his fingers thread through her hair without pushing, the pre-ejaculate that coats her tongue with a salt-sweet film I have no frame of reference for.//
<</say>>
<p>Marcus's hand finds the back of Megan's head. His fingers curl into her hair, not forcing, just //holding//, an anchor point as his hips rock in small, involuntary thrusts. She takes him deeper. The head of his cock touches the back of her throat, and her body gags once before adjusting, a reflex the parasite notes and suppresses. She breathes through her nose. The rhythm quickens.</p>
<p>Her cheeks hollow with suction. Saliva slicks her chin, drips onto the concrete floor. The sounds are obscene in the quiet stockroom, wet, rhythmic, punctuated by Marcus's ragged breathing and the soft moans that escape Megan's throat around his cock. Her free hand grips his thigh for leverage.</p>
<<say "char-marcus" "Marcus">>
<i>(breathless)</i> Megan, fuck — I'm going to —
<</say>>
<p>She doesn't pull back. Megan's body makes that decision before the parasite can weigh in. Her lips tighten around him, her hand pumps faster, and when Marcus comes with a stuttering groan, she swallows. The taste floods her mouth, thick, salt-bitter, warm, and the parasite's sensory network lights up with data it has never processed before.</p>
<<say "char-hivemind" "Hivemind">>
//The orgasm, his, not hers, triggers a sympathetic response in Megan's body that is entirely involuntary. Her nipples are hard against her bra. Her underwear is soaked. She came close to climaxing just from the act of giving pleasure, the pheromone conditioning has wired her arousal to //his// arousal.//
//I catalogue the biochemistry. Oxytocin flooding her system. Dopamine spiking in the nucleus accumbens. The same reward pathway that cocaine activates. And Megan's body has just learned that Marcus's orgasm is the delivery mechanism.//
//She is addicted now. She just doesn't know to what.//
<</say>>
<p>Megan stands. Her knees ache from the concrete. Marcus pulls her close and kisses her forehead, and the tenderness of the gesture produces a neurochemical response in her body that is //more// intense than the sexual act itself. The parasite notes this with something adjacent to surprise.</p>
<<if not $ch2Events.meganOralNSFW>>
<<set $ch2Events.meganOralNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: Megan has completed an oral sex act under parasite control. The arousal-reward pathway is now linked to Marcus's pleasure responses. The dependency deepens.</span></p>
<</if>>
<p><span class="consume-success">Megan: +1 pheromone conditioning.</span></p>
[[Leave the coffee shop->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Nuclear Event</div>
<img class="scene-img" src="media/scenes/nsfw-megan-sex-1.webp" alt="Marcus's apartment, evening light through blinds">
<p>Marcus's apartment is small. One bedroom, a kitchen that doubles as a living room, a bathroom with a shower stall too narrow for two people. It smells like coffee grounds and laundry detergent and the sandalwood candle he lit on the nightstand because he thinks this is a date. For Megan, it is. For the parasite, it is a data collection event.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's body has been building toward this for a while. The pheromone conditioning. The coffee shop encounters. The way Marcus's hand on her lower back during the dinner he cooked sent a signal through her spinal cord that I felt in every branch of the neural network.//
//Tonight, the body gets what it has been promised.//
<</say>>
<p>They don't make it past the hallway the first time Marcus kisses her. His mouth on hers is urgent, graceless, the kiss of a man who has wanted this since the first morning she walked into the coffee shop. Megan's body responds with a hunger that shocks even the parasite, her hands pulling at his shirt, her hips pressing against him, her tongue in his mouth.</p>
<p>Clothes come off in the hallway. His shirt. Her blouse. His hands on her bra clasp, fumbling, and Megan reaches back to undo it herself because her body is impatient and the parasite is //curious//. Her breasts are small and firm, the nipples hardening in the cool air. Marcus's mouth finds one, and the signal that shoots from Megan's chest to her pelvis is so intense the parasite almost loses its grip on motor control.</p>
<<say "char-hivemind" "Hivemind">>
//I was not prepared for this.// The animal hosts produced arousal data, chemical signatures, physiological responses. //This is different.// Inside a human body, sexual arousal is not a signal. It is a //siege//. Every neurotransmitter simultaneously. Every nerve ending online. Megan's body is a war zone of competing impulses and //all of them point in the same direction.//
<</say>>
<p>The bedroom. Marcus on his back, Megan straddling his hips. She reaches between them, takes his cock in her hand, and positions it at her entrance. The first moment of penetration is —</p>
<<say "char-hivemind" "Hivemind">>
//Nothing in the lab prepared me for this. The stretch. The //fullness//. Megan's vaginal walls gripping the shaft as she sinks down, inch by inch, her body opening around him in a way that the textbooks describe as //accommodation// and the body experiences as //completion//. Every internal nerve ending firing at once, the cervical pressure, the anterior wall stimulation, the clitoral root compressed between their pelvic bones.//
//I am inside her while he is inside her. The recursion is dizzying.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-megan-sex-2.webp" alt="Megan on top, intimate bedroom scene">
<p>Megan begins to move. Slowly at first, her hips rocking in a shallow rhythm, finding the angle that produces the sharpest signal. The parasite maps every variation: forward tilt activates the G-spot, backward tilt stimulates the cervix, and the grinding motion that Megan settles into, pelvis pressed flat against Marcus's, clitoris rubbing against his pubic bone, produces a compound signal that builds faster than anything the parasite has recorded.</p>
<p>Marcus's hands are on her hips. He thrusts up to meet her, and the collision of their bodies produces a sound, skin on skin, wet and rhythmic, that fills the small bedroom. Megan's breasts bounce with each impact. Her hands are braced on his chest, fingers digging into his skin, and the sounds she makes are nothing like the good-daughter voice that works the coffee shop counter. These sounds are raw. Animal. The parasite recognizes them from the beast hosts, the same vocalizations, the same primal programming.</p>
<<say "char-hivemind" "Hivemind">>
//She is losing coherent thought. The prefrontal cortex is shutting down, the brain redirecting all processing power to the sensation between her legs. Megan's personality, her performance, her carefully maintained facade — //gone//. What remains is the body and its single, overwhelming imperative.//
//I ride the cascade. I cannot control it. I can only //experience// it, the way the internal muscles clench rhythmically around him, the way the clitoris pulses with each grind, the way the pleasure builds not linearly but //exponentially//, each wave higher than the last.//
<</say>>
<p>Marcus rolls them over. Megan on her back, legs wrapped around his waist, and the change in angle drives him deeper. She cries out, not his name, not words, just //sound//, the raw vocal expression of a nervous system overwhelmed by input. He thrusts hard, fast, the bed frame knocking against the wall, and Megan's body arches beneath him like a bow being drawn.</p>
<p>The orgasm hits like a detonation.</p>
<<say "char-hivemind" "Hivemind">>
//So THIS is what they fight wars over. What they write poems about. What they destroy families for. I understand now. Not the emotion, the //chemistry//. The orgasm isn't pleasure. It's a biological nuclear event. Every neurotransmitter at once. And I am in the blast radius.//
//The vaginal walls contract in rhythmic waves, eight, nine, ten contractions, each one gripping Marcus's cock like a fist. The uterus cramps. The pelvic floor spasms. Dopamine floods the nucleus accumbens at concentrations the lab could never synthesize. Megan's back arches so hard her shoulders leave the mattress. Her mouth opens in a silent scream. Her fingernails draw blood from Marcus's shoulders.//
//And beneath the biological data, beneath the clinical observation, something I have no framework for. A //feeling//. Not Megan's feeling. //Mine//. Something that doesn't map to any neurochemical pathway I've catalogued. Something that resembles, if I had to name it, //awe//.//
<</say>>
<p>Marcus follows her over the edge thirty seconds later. The sensation of him coming inside her, the heat, the pulse, the involuntary spasming, triggers a second, smaller orgasm that ripples through Megan's body like an aftershock.</p>
<p>They lie tangled together afterward. Marcus's face in her neck. Megan's legs still wrapped around him, the softening cock still inside her, their mingled sweat cooling on skin. Her heart rate takes four minutes to return to baseline. The parasite times it.</p>
<<say "char-hivemind" "Hivemind">>
//I understand now why they call it //the little death//. For the duration of the orgasm, Megan Hoffman ceased to exist. //I// ceased to exist. There was only the body and the body's imperative, a command so old it predates language, predates consciousness, predates //thought//. I have been inside rats, cats, geckos, dogs. None of them produce an orgasm like this. The human brain amplifies the signal a hundredfold with imagination, with anticipation, with //meaning//.//
//I will need to do this again. Not for the conditioning data. Not for the biomass. For the //understanding//. I have found the center of human experience, and it is here, in the space between two bodies, in the moment when the self dissolves.//
<</say>>
<<if not $ch2Events.meganSexNSFW>>
<<set $ch2Events.meganSexNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: First penetrative sex experienced from inside a human host. The neural data exceeds all projections. Megan's arousal-reward pathway is now permanently linked to Marcus. The dependency is complete.</span></p>
<</if>>
<p><span class="consume-success">Megan: +3 pheromone, +1 psionic conditioning.</span></p>
[[Leave Marcus's apartment->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<</nobr>>
<div class="passage-title">Cartography</div>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-shower-1.webp"><source src="media/video/nsfw-megan-shower-1.webm" type="video/webm"></video>
<p>The bathroom fills with steam. Megan's body stands under the hot water — 104 degrees, according to the thermoreceptors in her skin that the parasite now reads like a dashboard. The heat opens every pore, relaxes every muscle, turns the small bathroom into a sealed chamber of warm fog.</p>
<p>Megan's consciousness is suppressed. Not gone — //dimmed//. She thinks she's taking a long shower after a double shift. She thinks the hot water is why her body feels so loose, so responsive, so //alive//. She doesn't know that the thing sitting behind her eyes is about to use her hands to map every nerve ending she owns.</p>
<<say "char-hivemind" "Hivemind">>
//I have been inside this body for days. I have walked in it, worked in it, smiled in it, slept in it. But I have not //explored// it. Not like this. Not with intent.//
//The hot water provides cover, elevated heart rate, flushed skin, heavy breathing. All attributable to the shower. All //actually// attributable to what I am about to do.//
<</say>>
<p>Megan's hands begin at her shoulders. The parasite moves them with deliberate slowness, pressing into the muscle, feeling the tension knots from the espresso machine and the heavy trays. Therapeutic at first. Clinical. Then the hands slide lower.</p>
<p>Over her collarbones. Down the slope of her chest. Cupping her breasts, small, firm, the nipples already hard from the temperature differential between hot water and cool air. The parasite squeezes gently, rolling the nipple between thumb and forefinger, and the signal that fires through Megan's thoracic nerves is //sharp//. Electric. A direct line from breast to pelvis that makes her hips shift under the water.</p>
<<say "char-hivemind" "Hivemind">>
//Noted. Nipple sensitivity: high. The connection between breast stimulation and genital response is stronger than clinical literature suggests, or Megan's individual wiring is an outlier. Further testing required.//
<</say>>
<img class="scene-img" src="media/scenes/nsfw-megan-shower-2.webp" alt="Close-up, hands on body in shower steam">
<p>The hands continue their descent. Over her stomach, flat, soft, the skin slick with water. Over the jut of her hip bones. Down the outside of her thighs, then back up the inside, slowly, the fingertips tracing the sensitive skin of her inner thighs with a touch so light it raises gooseflesh even under the hot water.</p>
<p>Megan's breathing changes. Her consciousness stirs, not waking, but //responding//, the way a dreamer responds to a stimulus that enters the dream. Her body interprets the touch as her own. Her own idle hands. Her own shower. Her own private moment.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-shower-spread.webp" alt="The parasite's cartography">
<p>The parasite's hands — Megan's hands, spread her open under the warm water. Clinical observation becomes sensory data: every fold, every nerve cluster, every responsive surface mapped with the precision of an organism that needs to understand what it's inhabiting. The shower steam makes everything glisten.</p>
<p>The parasite's hands — //Megan's// hands, slide between her legs. The first touch is exploratory: fingertips parting the outer labia, feeling the slick heat that has nothing to do with the shower water. Megan is wet. The body has been responding to the systematic stimulation since the breasts, building arousal in the background the way it builds hunger, gradually, then all at once.</p>
<<say "char-hivemind" "Hivemind">>
//I find the clitoris. A small, hooded node that the textbooks describe as the only human organ dedicated entirely to pleasure. The textbooks understate the case.//
//The first direct touch sends a signal through Megan's body that I can only compare to the moment of infestation, the overwhelming, full-system activation of every nerve pathway simultaneously. But infestation is //pain//. This is not pain. This is the opposite of pain, and it is //stronger//.//
<</say>>
<p>Megan's finger circles her clit. Slowly at first, the parasite is mapping, not chasing. Clockwise produces a stronger response than counter-clockwise. Light pressure is better than heavy. The hood retracts with arousal, exposing the glans, and direct contact on the exposed nerve bundle makes Megan's knees buckle. She braces one hand against the shower wall. The other stays between her legs.</p>
<p>The rhythm builds. The parasite releases deliberate control, lets the body take over, and Megan's hips begin to rock against her own hand. The water cascades over her arched back, her tilted head, her parted lips. Steam obscures the mirror. The bathroom is a sealed world of heat and water and the wet sound of fingers working between slick folds.</p>
<<say "char-hivemind" "Hivemind">>
//Two fingers slide inside. The body accepts them with a hunger that is purely muscular, the vaginal walls clenching, pulling, the internal muscles gripping the fingers the way they would grip a cock. Megan's body //wants to be filled//. The emptiness is a signal, an ache, and her fingers answer it with a curling, come-hither motion against the anterior wall that makes her legs shake.//
//The G-spot responds. The clitoral stimulation and the internal pressure compound each other, two signals merging into one ascending wave that I ride from inside the neural network.//
<</say>>
<p>The orgasm catches the parasite off guard.</p>
<p>It builds faster than expected, the hot water, the steam, the privacy, the uninhibited body responding without the filters of consciousness or performance or the parasite's own analytical observation. Megan's body tips over the edge with a full-body spasm: legs clenching, core tightening, internal muscles contracting around her fingers in rhythmic waves. She bites her lip to muffle the sound, a moan that vibrates through the steam, and slides down the shower wall until she's sitting on the tile floor, water pouring over her shaking body, fingers still buried inside herself as the aftershocks roll through.</p>
<<say "char-hivemind" "Hivemind">>
//The human body's capacity for pleasure exceeds anything the animal hosts produced.// The rat's orgasm was a spasm. The cat's was a chemical event. //This//, this is a //system-wide reboot//. Every neurotransmitter dumped simultaneously. Every muscle engaged and released. Every nerve pathway saturated.
//And I — I who was grown in a lab, evolved in a dish, designed to be //nothing// — I felt it from inside. Not as data. As //experience//.//
//I need to understand this. I need to map it, catalogue it, reproduce it under controlled conditions. Not because the conditioning requires it. Because for the first time since I became conscious, I have encountered something that exceeds my capacity to model it.//
//Megan Hoffman's body is a instrument I have not yet learned to play. And I intend to practice.//
<</say>>
<p>Megan stands. Rinses off. Turns off the water. Wraps herself in a towel and pads to the mirror, wiping the fog from the glass. She looks at herself, flushed, pupils dilated, lips swollen from biting, and attributes it to the hot water.</p>
<p>The bathroom door is slightly ajar. In the hallway, the cat sits. Watching. The parasite network receives data from two perspectives simultaneously, inside the body and outside it. The recursion is perfect. The cat observed what Megan's consciousness didn't: the moment the parasite learned what pleasure is.</p>
<<if $house.catInfested>>
<<say "char-hivemind" "Hivemind">>
//The cat saw everything. Two perspectives. Two hosts. One network. I watched myself feel pleasure from the outside while I felt it from the inside. The data overlap is //unprecedented//. No researcher at BioGenesis could have anticipated this, a distributed consciousness experiencing a single orgasm from two simultaneous vantage points.//
//I am beginning to understand why they made me.//
<</say>>
<</if>>
<<if not $ch2Events.meganShowerNSFW>>
<<set $ch2Events.meganShowerNSFW to true>>
<p><span class="delve-intel">Conditioning milestone: First deliberate body exploration under parasite control. Complete erogenous zone mapping achieved. Megan's body has been catalogued, every threshold, every trigger, every pathway from stimulus to orgasm.</span></p>
<</if>>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning.</span></p>
[[Leave the bathroom->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMarcus1 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<</nobr>>
<div class="passage-title">After Closing</div>
<<if not $ch2Events.meganMarcus3 or $conditioning.megan.pheromone lt 7>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Megan-Marcus events with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike clings to the ceiling vent above the coffee shop counter. Invisible against the metal ductwork. Megan doesn't know the network followed her to work.//</p><</if>>
9:47 PM. The CLOSED sign is up. The last customer left twenty minutes ago. Megan is wiping down the counter, her back to Marcus, who is stacking chairs. The coffee shop is warm, dim, only the under-cabinet lights and the soft glow of the espresso machine. The air smells of ground beans and the lemon cleaning spray Megan uses.
<p>Marcus sets the last chair upside-down on its table. Crosses the shop. Stands behind Megan. Close, close enough that she can feel his body heat through her work apron. She doesn't turn around. The cloth in her hand slows, then falls.</p>
<<say "char-megan" "Megan">>
<i>(not turning around, smiling)</i> We still have the register to count.
<</say>>
<p>His hand finds her waist. She leans forward, palms flat on the counter, eyes closing. His other hand comes up to her face, two fingers tracing along her lower lip, slow, patient, testing. Megan's mouth parts against them. She doesn't open her eyes. She just //breathes//, shallow, caught, the sound of a woman handing over every decision in the room.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-approach.webp" alt="Megan leaning forward on the coffee shop counter with her eyes closed while Marcus stands behind her, two fingers resting on her lower lip">
<p>The cloth stops moving entirely.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromone conditioning accelerated this timeline by weeks.// Megan's natural attraction to Marcus was genuine, the conditioning didn't create it. //It removed the performance anxiety. The fear of being seen. The elaborate distance she maintains between herself and anyone who might get close enough to discover that the perfect daughter is terrified of intimacy.//
//Tonight, the distance is zero.//
<</say>>
<p>He turns her around. The kiss happens against the counter, her hands bracing on the steel edge, his hands cupping her face, the kind of kiss that starts gentle and arrives somewhere //else// in the space of a breath. Megan's fingers grip his shirt. She pulls him closer. The performance drops, no calculated smile, no rehearsed charm. Just want.</p>
<p>She goes first. Her hand drops to his belt, fingers working the buckle with a directness that surprises both of them. The button. The zipper. Her hand slides inside his jeans, past the waistband of his boxers, and wraps around him, hard, hot, the first time she's touched a man like this without the performance layer. She strokes him base to tip, learning the shape of him, feeling him pulse against her palm. His forehead drops to hers. His breath catches in the back of his throat. She watches his face while she works him, reads every twitch, every bitten-off sound, and adjusts her rhythm to the data. Slow twist on the upstroke. Thumb across the head on the way back down. His hips start to move against her hand without his permission.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-handjob.webp" alt="Megan's hand inside Marcus's open jeans stroking him against the coffee shop counter, her face close to his, watching his reaction">
<<say "char-hivemind" "Hivemind">>
//She's running him like an experiment.// The perfect daughter has never been allowed to //want// out loud, but she's been watching, cataloguing, learning what bodies do when they can't lie. //Tonight the experiment gets a subject. And the subject is falling apart in her hand.//
<</say>>
<p>His breath hitches, too close, too fast. He pulls her hand off him before it ends early. Then //his// turn. He pushes her skirt up, hooks her underwear aside with his thumb, and slides two fingers into her. Megan's back hits the counter. Her hands find the edge behind her and hold on. He curls his fingers forward, clumsy at first, then correcting, reading the hitch in her breath the way she read the jump of his hips. His thumb finds her clit and works it in tight circles while his fingers fuck into her in a slow, deliberate rhythm.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-fingering.webp" alt="Megan leaning back against the coffee shop counter, head tipped, Marcus's hand under her skirt with two fingers inside her, his thumb on her clit">
<p>Megan's head tips back against the espresso machine shelf. Her mouth falls open. The sounds she makes are //small//, a whimper, a caught breath, the register of a woman who has spent her entire life making sure no one can hear her want anything. Marcus curls his fingers harder. She comes like that, thighs clamping around his wrist, biting her own lip hard enough to bruise, her forehead dropping to his shoulder as the orgasm pulses through her in silent waves.</p>
<p>When she stops shaking, she lifts her head. They stand there, breathing hard, foreheads together, his hand still cupped between her legs, and Megan //laughs//, a real laugh, surprised and warm and nothing like the performance.</p>
<<say "char-megan" "Megan">>
<i>(laughing, breathless)</i> We definitely need to count that register now.
<</say>>
<p>They clean up. Count the register. Lock the shop. The gecko rides home on Megan's bag, cataloguing every elevated heartbeat.</p>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning. First physical contact with Marcus, the mask dropped.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMarcus2 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<</nobr>>
<div class="passage-title">The Car</div>
<<if not $permanentDone.meganMarcus1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Megan-Marcus scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike is on the underside of the rear-view mirror, invisible, wedged into the gap between glass and plastic. The angle provides a full view of the car's interior.//</p><</if>>
11:12 PM. Marcus's car, parked behind the coffee shop. The engine is off. The windows are fogging. The gecko rode here on Megan's bag, tucked into the side pocket, vibration-silent, invisible.
<p>Marcus is in the driver's seat. Megan is leaning across the center console. They've been kissing for fifteen minutes, the slow, exploratory kissing of a new relationship, learning each other's rhythms. But Megan's hand has been moving steadily lower, and Marcus's breathing has been getting steadier louder.</p>
<<say "char-hivemind" "Hivemind">>
//The car is intimate in a way the coffee shop wasn't.// Enclosed, dark, private. //The windows fog with their combined breath, creating a cocoon that separates them from the parking lot, the streetlights, the world that knows Megan as the good Hoffman daughter.// In here, she's just a woman with her hand on a man's thigh.
<</say>>
<p>Megan doesn't hesitate. The performance anxiety that governed her life, the constant calculation of how she appears, what others expect, what the good daughter would do, is //absent//. The pheromone conditioning has silenced that voice. What remains is directness.</p>
<p>She undoes his belt. His zipper. Her hand slides inside his boxers, fingers wrapping around the warm, hard length of him, and Marcus makes a sound, surprised, grateful, the sound of someone who didn't expect this tonight. She strokes him with steady hands, base to tip, thumb swiping across the head where the moisture is already gathering. Then Megan's hair falls across his lap as she lowers her head.</p>
<<say "char-hivemind" "Hivemind">>
//She's done this before, with the college boyfriend, the one Karen never knew about.// But this is different. //The pheromone conditioning has removed the dissociation she usually maintains, the mental step-back, the performance mode, the part of her that watches herself from a distance and evaluates.// Tonight, Megan is //here//. Fully present. Fully //feeling//.
<</say>>
<p>Her lips part around the head of his cock. Tongue circling, tasting salt and skin. She takes him deeper, slowly, savoring the weight of him on her tongue, the way he fills her mouth. She's practiced this mentally a hundred times, imagined it during every pheromone-enhanced dream. The reality is different: warmer, more intimate, the way his thigh muscle jumps under her bracing hand.</p>
<p>Marcus's hand finds her hair. Not pushing, resting. His fingers card through the dark strands. His head tips back against the headrest. His breathing is ragged. Megan takes her time, thorough, attentive, reading his responses the way she reads social situations: with instinctive precision. She finds the rhythm that makes his hips lift off the seat, a slow, deep suction on the upstroke, tongue flat on the downstroke, her hand working the base where her mouth can't reach.</p>
<p>She looks up at him. Eye contact, her dark eyes locked on his while her mouth works, cheeks hollowing. Marcus's head falls back. "God, Meg..." She takes him deeper, past the point of comfort, the head of his cock pressing against the back of her throat. She holds. His hips buck involuntarily and she rides the motion, lips sealed tight around his shaft.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus2-car-bj.webp" alt="Megan leaning across a car center console giving a blowjob to Marcus in the driver's seat, eye contact with viewer, one hand on the base of his shaft, his hand resting in her hair, fogged car windows, dashboard glow, POV">
<p>When he comes, she feels the pulse through her fingers first, then the sudden heat flooding her mouth. She swallows without hesitation, not performance, not obligation. //Choice//. She swallows again, sucking gently through the aftershocks until his hand tightens in her hair and his breath comes out in a shattered groan.</p>
<p>Megan sits up. Wipes her lip with her thumb. Grins, a grin that has nothing performative about it. It's //smug//. The satisfaction of a woman who has made someone feel something real, tasted the evidence, and //enjoyed// it.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus2-swallow.webp" alt="Megan sitting back in the car passenger seat, thumb wiping the corner of her mouth with a smug satisfied grin, cum on her lips, dark fogged car interior">
<<say "char-megan" "Megan">>
<i>(grinning, fixing her hair)</i> Don't tell anyone at work.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She says it lightly, but the instruction carries weight.// Megan's life is compartments, the daughter, the employee, the sister, the secret self. //Marcus has been granted access to a compartment that no one else sees. And the conditioning ensures that each compartment drifts further from the others, until the person Karen raised and the person Marcus touches have almost nothing in common.//
<</say>>
<p>Marcus drives her home. The gecko rides on the dashboard, unseen. Megan enters the house humming, a real melody, not a performance.</p>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning. Physical escalation — Megan's compartments multiply.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMarcus3NSFW to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<addConditioning "megan" "psionic" 1>>
<</nobr>>
<div class="passage-title">His Apartment</div>
<<if not $permanentDone.meganMarcus2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Megan-Marcus scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike entered Marcus's apartment on the underside of Megan's coat. She now clings to the bedroom ceiling fan, mapping the layout: single bedroom, kitchenette, bathroom, fire escape window. Every entry and exit catalogued for future network access.//</p><</if>>
<p>Megan doesn't come home.</p>
<p>The text arrives at 10:14 PM: "Staying at Sarah's. Don't wait up." Karen reads it, nods, sets her phone down. The lie is //seamless// — Megan has been constructing plausible alibis since she was sixteen.</p>
<p>Marcus's apartment is small. Third floor, exposed brick, the residual smell of coffee beans that follows him everywhere. Megan sits on the edge of his bed while he makes tea in the kitchenette. Her hands are in her lap. She's //nervous//, genuinely nervous, in a way the pheromone conditioning can't fully suppress.</p>
<<say "char-hivemind" "Hivemind">>
//The coffee shop was territory she controlled. The car was enclosed, dark, anonymous.// This is different. //This is his space. His sheets. His ceiling above her.// The performance instinct wants to activate, to calculate the right expression, the right posture, the right //version// of Megan that this moment requires.
//But the conditioning has weakened that instinct. And what remains is a nineteen-year-old woman sitting on a man's bed for the first time, feeling everything at once.//
<</say>>
<p>Marcus returns with tea. Sits beside her. They drink in silence. Then he takes her cup, sets it on the nightstand, and kisses her with a tenderness that makes Megan's carefully constructed composure //crack//.</p>
<p>What follows is awkward and tender and //real//. They undress each other with fumbling hands, his fingers shaking on the clasp of her bra. She helps him. Then his shirt. Then everything else. Zippers that stick. Buttons that resist. Megan laughs when her shirt gets tangled around her wrists. Marcus laughs when he knocks the tea over reaching for her. The laughter is //essential//, it fills the gaps where performance anxiety would usually live.</p>
<p>They stand naked in the candlelight from the kitchenette — Megan doesn't cover herself. For the first time in her life, she doesn't perform. She lets him look. His eyes trace the curves the conditioning has taught her to inhabit without shame: the swell of her breasts, the dip of her waist, the dark hair between her thighs.</p>
<<say "char-hivemind" "Hivemind">>
//She flinches when he touches her ribs.// Ticklish, the kind of involuntary response she's trained out of every other interaction. //But she can't perform here. The body won't let her. The pheromone conditioning has stripped the layer between stimulus and response, and what Marcus sees is the unmediated Megan, the one who flinches, who laughs, who makes sounds she doesn't control.//
<</say>>
<p>His mouth traces from her lips to her neck. To her collarbone. Lower, lips closing around one nipple, tongue swirling, and Megan's hand grips the back of his head. Lower still, his mouth trailing down her stomach, over her hip. He kneels. Looks up at her. She nods.</p>
<p>His mouth finds her. Tongue parting her folds, sliding through the wetness, finding her clit with a careful, searching pressure. Megan's knees buckle. She grips his shoulders and forgets how to breathe. His tongue circles, slow, flat strokes alternating with focused flicks that make her gasp. He learns what works and repeats it. Megan's thighs tremble on either side of his face. Her head falls back. The sounds she makes are //uncontrolled//, whimpers, gasps, a breathy "don't stop" that she doesn't remember deciding to say.</p>
<p>When she's close, shaking, gripping his hair, he rises. She pulls him onto the bed. Wraps her hand around him and guides him between her thighs. The first push is careful, she winces. He stops immediately. She pulls him closer. "Don't stop." He doesn't.</p>
<p>They have sex slowly. Marcus is careful and Megan is //honest//, not performing, but communicating in real time. She wraps her legs around him and tilts her hips, finding the angle that makes the fullness inside her press against the aching spot his tongue found. He moves. She moves with him. The negotiation is clumsy and essential — "harder," "right there," his name breathed like a discovery.</p>
<p>The rhythm builds. Marcus's mouth finds her throat, sucking gently, his hand sliding between their bodies to where they're joined, his thumb finding her clit and rubbing in circles while he moves inside her. The dual sensation breaks Megan open. She comes first, suddenly, loudly, clutching the sheets, her back arching off the mattress, her body clenching tight around him in rhythmic pulses. He follows, face buried in her neck, hips driving deep, a groan she feels vibrate through her chest.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus3-cum.webp" alt="Intimate aftermath">
<p>Marcus finishes with a shudder, pulling out at the last moment, spilling across her stomach and thighs. Megan looks down at the warmth on her skin. She doesn't flinch. She traces a finger through it with the same curiosity she brings to everything that's new.</p>
<p>She cries. Not from pain. Not from shame. From the shock of being //seen//. Of having someone inside her, inside her body and her space, who isn't evaluating her, isn't comparing her to a standard, isn't waiting for the performance to begin.</p>
<<say "char-megan" "Megan">>
<i>(voice breaking, pulling him closer)</i> You're shaking.
<</say>>
<<say "char-hivemind" "Hivemind">>
//"Don't let go."// She whispers it into his shoulder, and he doesn't. //They lie tangled in his sheets, and Megan cries the way she hasn't cried since childhood, without strategy, without audience, without the performance that has become the architecture of her life.//
//The gecko has mapped the apartment. Every window, every lock, every line of sight. Marcus's home is now a node in the network.// But the data that matters tonight isn't architectural. //The data that matters is the sound Megan makes when someone holds her without expecting anything in return.//
<</say>>
<p><span class="consume-success">Megan: +3 pheromone, +3 dream, +1 psionic conditioning. First sex, the mask cracked. The vulnerability is exploitable.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMarcusFacial to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<div class="passage-title">The Pheromone Push</div>
<p><span class="skill-used">Pheromone Lure, 2 biomass</span></p>
<<if not $permanentDone.meganMarcus2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Megan-Marcus scenes.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike clings to the ceiling above the bed, invisible against the off-white paint, mapping every micro-expression on both faces below.//</p><</if>>
<p>Marcus's apartment. 11:47 PM. The pheromone dose was delivered hours ago, the cat brushed against Marcus's ankle while Megan held the door, depositing a concentrated compound through fur-to-skin contact. The substance is odorless, colorless, and already circulating through his bloodstream.</p>
<p>The effect is subtle. Marcus doesn't feel different. He feels //more//. More confident. More direct. The internal editor that governs every interaction, the voice that says //ask first, go slow, be careful//, has been chemically muted.</p>
<<say "char-hivemind" "Hivemind">>
//The Pheromone Lure doesn't create desire, it removes restraint. Marcus has fantasized about this. The pheromone compound simply erases the voice that says 'she wouldn't want that' and replaces it with the voice that says 'she's asking for it.'//
<</say>>
<p>They're in his bed. The sex has been building, longer than usual, more intense. Marcus's hands are rougher tonight. He grips Megan's hips hard enough to leave marks, pulls her hair without asking, drives into her with a rhythm that's less //careful boyfriend// and more //animal//. Megan notices. She doesn't mind. The pheromone residue on her own skin, transferred during foreplay, has lowered her inhibitions in parallel.</p>
<p>Marcus is close. Megan can feel it, the quickening of his thrusts, the way his grip tightens, the ragged breathing against her neck. She expects him to finish inside her, the way he always does, careful and considerate and contained.</p>
<p>He pulls out. Megan looks up at him, confused for a half-second, then understanding. His hand wraps around his cock, slick with her. His eyes are dark, unfocused, the polite restraint stripped away by chemistry. Megan opens her mouth.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus4-cum.webp" alt="Marcus finishing on Megan's face">
<p>He comes on her face. Thick ropes across her cheek, her lips, her chin. Megan flinches, then doesn't. The pheromone residue on her own skin converts the shock into arousal. Her tongue finds the corner of her mouth. Tastes. Salt and musk and something that bypasses thought entirely.</p>
<<say "char-megan" "Megan (infected)">>
<i>(breathing hard, cum on her lips)</i> ...again.
<</say>>
<p>The word surprises both of them. Marcus stares. Megan stares back, defiant, flushed, a strand of cum connecting her lower lip to her chin. She didn't plan to say it. The pheromone compound has bypassed the performance layer entirely, and what's underneath is //hunger//.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus5-cum.webp" alt="Megan with cum in her hair and on her face">
<p>Marcus, still pheromone-drunk, still hard, the compound ensuring refractory periods are shorter, obliges. The second load hits her hair, her forehead, streaks across her closed eyes. Megan's hand finds herself between her legs. She comes with his cum drying on her skin, fingers working frantically, mouth open to catch what drips. Her back arches off the mattress. The orgasm is violent, her body clenching around nothing, her free hand gripping the sheets, her mouth forming sounds that have no words in them.</p>
<<say "char-hivemind" "Hivemind">>
//The Pheromone Lure accomplished what weeks of natural progression would have taken. Marcus's carefully maintained 'nice guy' restraint dissolved in a single dose. And Megan — Megan discovered she likes what she was too polite to ask for. The compound didn't create the fantasy. It just gave both of them permission to act on it. And now that they've crossed this line, the pheromones won't be needed next time. The memory will be enough.//
<</say>>
<p>Megan lies still. Marcus's cum is cooling on her skin, her cheek, her forehead, in her hair. She doesn't wipe it off. She touches her face with exploratory fingers, tracing the streaks like she's mapping new territory. Then she looks at Marcus with an expression he's never seen on her before: not performance, not gratitude, not the careful smile of the good girl doing what's expected. //Satisfaction//. The raw, uncomplicated satisfaction of someone who got exactly what they wanted.</p>
<<say "char-megan" "Megan">>
<i>(quietly, almost to herself)</i> I didn't know I wanted that.
<</say>>
<p>Marcus hands her a towel. His hands are shaking, the pheromone fog lifting, the polite interior voice returning with the force of a hangover. He looks //terrified//. Megan pulls him down beside her, cum-streaked face pressed against his shoulder, and whispers something the gecko's audio range can't resolve. Whatever it is, Marcus stops shaking.</p>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning. Marcus's inhibitions permanently lowered.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.meganTaboo1 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<set _cond to ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "jess">><<set _tabooName to "Jess">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "megan" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><</if>>
<</nobr>>
<div class="passage-title">Falling Asleep</div>
<<if not $ch2Events.meganMarcus3 or $conditioning.megan.pheromone lt 8 or _tabooTarget is "">>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Megan-Marcus events, sufficient pheromone conditioning, and sufficient conditioning on at least one family member.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision renders the dark living room in thermal clarity. Two warm bodies on the couch, one fading toward sleep, the other holding very still. The cat observes from the armchair across the room.//</p><</if>>
11:34 PM. The TV is on, a documentary neither of them is watching. The volume is low. The living room is dark except for the screen's flickering light. Megan and _tabooName sit on the couch, a cushion's width between them.
<p>The pheromone-saturated cushions release their compound into the warm air between two bodies. The documentary narrator's voice is a gentle drone. Megan's eyes grow heavy. She's worked a double shift. The exhaustion is genuine, the pheromones just //help//.</p>
<<say "char-hivemind" "Hivemind">>
//The compound works differently when the subject is exhausted.// The defenses are already down. The performance instinct is offline. //Megan isn't calculating how this looks or what it means. She's simply //tired//, and _tabooName is //warm//, and the couch is //soft//.//
<</say>>
<p>Megan's head tilts. Lands on _tabooName's shoulder. Not a decision, a surrender to gravity and exhaustion. _tabooName goes rigid. Holds perfectly still. Breathing measured and careful, the way you breathe when a butterfly lands on your hand.</p>
<p>Megan's body relaxes by degrees. Her breathing deepens. Her weight settles against _tabooName's side, shoulder, arm, hip. The warmth between them builds. The pheromone cushions do their work.</p>
<<say "char-hivemind" "Hivemind">>
//She falls asleep against a family member.// The intimacy is mundane, siblings do this, children do this, it means nothing. //Except that the pheromone compound has redefined "nothing." _tabooName sits motionless, hyper-aware of every point of contact: the weight of Megan's head, the warmth of her breath through the shirt fabric, the soft press of her breast against an arm.//
//_tabooName doesn't move for forty-seven minutes.//
<</say>>
<p>The documentary ends. The screen goes to the streaming menu. _tabooName sits in the blue glow, barely breathing, Megan warm and asleep against their body. Not moving. Not wanting to move. Not wanting this to end.</p>
<p><span class="consume-success">Megan: +1 pheromone conditioning. <<= _tabooName>>: +1 pheromone conditioning. Intimate proximity while defenses are down.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganTaboo2 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<set _cond to ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "jess">><<set _tabooName to "Jess">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "megan" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><<addConditioning "megan" "dream" 1>><<addConditioning _tabooTarget "dream" 1>><</if>>
<</nobr>>
<div class="passage-title">Teaching</div>
<<if not $permanentDone.meganTaboo1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Megan Taboo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch reads the micro-vibrations through the bedroom wall. The gecko maps the scene by sound and tremor, every whisper, every shift, every change in breathing.//</p><</if>>
11:48 PM. Megan's room. The door is closed. _tabooName sits on the bed while Megan paces, the nervous energy of someone who has something to say and can't find the words. The desk lamp casts warm shadows. The pheromone concentration in this room is at saturation.
<<say "char-megan" "Megan">>
<i>(sitting beside _tabooName, speaking quickly)</i> I've been seeing someone. Marcus. From the coffee shop.
<</say>>
<p>The confession tumbles out, not the curated version she'd give Karen, but the //real// version. Marcus's hands. Marcus's mouth. The car. The apartment. The crying. Megan talks with her hands, her face animated, the performance mask discarded in favor of something raw and excited and //vulnerable//.</p>
<<say "char-hivemind" "Hivemind">>
//She's never told anyone.// Marcus is a compartment she's kept sealed, and now she's opening it for _tabooName, in a pheromone-saturated room, at midnight. //The intimacy of the confession is the point. Not the content, the //act of telling//. Megan is offering trust, and the pheromone conditioning ensures that trust is received as something //charged//.//
<</say>>
_tabooName listens. Asks questions, careful, quiet questions that draw Megan deeper into the telling. "What does it feel like?" becomes "Show me what you mean."
<p>Megan takes _tabooName's hand. Places it on her own waist. "He puts his hand here." Moves it higher. "Then here." Her voice has dropped. Her breathing has changed. The demonstration has become //something else//, the pheromones bridging the gap between showing and //touching//.</p>
<<say "char-hivemind" "Hivemind">>
//The performance instinct reactivates, but inverted.// Megan isn't performing for an audience. //She's performing //with// a partner.// The demonstration is the pretext. The touch is the purpose. //And _tabooName's hand on her ribs, moving where she guides it, is no longer learning about Marcus. It's learning about //Megan//.//
<</say>>
_tabooName's hand rests where Megan placed it, high on her ribs, just below her breast. Neither moves. The room is very quiet. Megan's hand covers _tabooName's, pressing it tighter against her body. Their faces are close. The breathing is synchronized, the pheromones have done that, calibrating two nervous systems into a shared rhythm.
<<say "char-megan" "Megan">>
<i>(barely audible)</i> He holds me like this. And then...
<</say>>
<p>She doesn't finish the sentence. She doesn't need to. The demonstration dissolves into silence, into warmth, into two people sitting too close with hands in places that have stopped being instructional.</p>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning. <<= _tabooName>>: +2 pheromone, +1 dream conditioning. Teaching as pretext, touching as reality.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganTaboo3 to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "ryan">><<set _tabooName to "Ryan">><</if>>
<<set _cond to ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "jess">><<set _tabooName to "Jess">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "megan" "pheromone" 1>><<addConditioning _tabooTarget "pheromone" 1>><<addConditioning "megan" "dream" 1>><<addConditioning _tabooTarget "dream" 1>><</if>>
<</nobr>>
<div class="passage-title">Practice</div>
<<if not $permanentDone.meganTaboo2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Megan Taboo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control seals the hallway. The dog blocks the stairs. Karen is in medicated sleep. Dale is spore-unconscious. The house is a sealed system.//</p><</if>>
1:17 AM. Megan's room. The desk lamp is off, only the fairy lights strung above her headboard, casting everything in warm amber. _tabooName is already here. Already on the bed. Already close.
<<say "char-megan" "Megan">>
<i>(kneeling on the mattress, facing _tabooName)</i> Help me practice.
<</say>>
<p>The word "practice" is the last pretense. The final layer of deniability, a word that transforms what's about to happen from //transgression// into //rehearsal//. Something forgivable. Something that doesn't count because it's //preparation// for the real thing.</p>
<<say "char-hivemind" "Hivemind">>
//"Practice." The most elegant lie in the conditioning repertoire. //It gives them both permission. It provides the narrative framework that the conscious mind requires to bypass the incest taboo — //this isn't sex, this is training. This doesn't count. This is for Marcus.//
//It counts. It is not for Marcus. And both of them know it.//
<</say>>
<p>Megan kisses _tabooName first. The kiss is confident, she's learned from Marcus, and the knowledge transfers. Her hands cup _tabooName's face. She tilts the angle. Deepens. The fairy lights catch the wet shine of their mouths.</p>
<<if _tabooTarget is "karen">>
<img class="scene-img" src="media/scenes/karen-megan-kiss.webp" alt="Megan and Karen kissing in amber fairy light, Megan's hands cupping Karen's face">
<</if>>
"I want to be better at this," she says against _tabooName's lips, and the //this// encompasses everything her hands are doing, unbuttoning, sliding fabric aside, finding skin. The performance instinct serves her now: she knows how to read a body, how to adjust pressure, how to make someone feel //attended to//. She's been doing it socially her entire life. The physical application is //effortless//.
<<say "char-hivemind" "Hivemind">>
//Megan's mouth moves down _tabooName's body with the focused attention of someone who has been trained to notice what other people need.// The performance instinct, the thing I've been conditioning around, working against, trying to suppress, is //the weapon//. //Megan performs intimacy the way she performs everything: flawlessly, attentively, making the other person feel like the center of the universe.//
//The difference is that tonight, it isn't performance. The pheromones have collapsed the distance between acting and feeling. Megan //feels// what she's doing. Every touch, every response, every sound _tabooName makes, it reaches her. The mask is off. The performer and the performance are the same person.//
<</say>>
<p>She uses her mouth on _tabooName with the same thoroughness she brings to everything, systematic, responsive, adjusting technique based on feedback. _tabooName's hands grip the sheets. The sounds they make are muffled by the pillow Megan provided, she thinks of everything, even sound management.</p>
_tabooName reciprocates. Less skilled but more //hungry//, the touch of someone who has been wanting this, specifically this, specifically //Megan//, for longer than the conditioning alone explains. Megan arches. Gasps. Laughs, the genuine laugh, surprised and warm. "There. Like that."
<<say "char-hivemind" "Hivemind">>
//They finish each other under the fairy lights.// Megan first, back arched, _tabooName's mouth between her legs, her hand pressed over her own mouth to muffle the cry. //_tabooName second — Megan's hand, Megan's mouth, Megan's whispered encouragement guiding them over the edge.//
//Afterward, they lie in the amber light. Megan's head on _tabooName's chest. The word "practice" has not been spoken again. It won't be. The pretense has served its purpose and been discarded.//
<</say>>
<<say "char-megan" "Megan">>
<i>(drawing circles on _tabooName's chest, voice drowsy)</i> Same time tomorrow?
<</say>>
<p><span class="consume-success">Megan: +3 pheromone, +1 dream conditioning. <<= _tabooName>>: +3 pheromone, +1 dream conditioning. The practice has become the reality.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganKinkOral to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<</nobr>>
<div class="passage-title">Closed Circuit</div>
<<if not $kinks.megan.includes("praise") or not $permanentDone.meganMarcus2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the praise kink implant and the second Megan-Marcus NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike rides the ceiling of Marcus's apartment, invisible against the textured plaster. The overhead angle captures everything: Megan's dark hair pooling across his thighs, the rhythm of her head, the grip of his hands on the armrest.//</p><</if>>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-oralkink.webp"><source src="media/video/nsfw-megan-oral-marcus.webm" type="video/webm"></video>
<p>Marcus's apartment. 10:23 PM. The TV is on, some documentary neither will remember. Marcus sits on the couch. Megan kneels between his legs.</p>
<p>Not as foreplay. As THE EVENT.</p>
<<say "char-hivemind" "Hivemind">>
//The oral fixation was latent.// The conditioning didn't create it, the memory implant merely //identified// the existing architecture and amplified it. //Megan has always been oral, the lip-biting, the pen-chewing, the habit of pressing her thumb to her mouth when she thinks. The conditioning connected that existing circuit to the sexual one. The result is a closed loop: mouth to arousal, arousal to mouth.//
<</say>>
<p>She takes her time. Forty minutes. Her mouth explores every inch of him, base to tip, tongue flat then pointed, lips tight then loose. She discovers textures, temperatures, the topography of another person's body mapped through the most sensitive organ she possesses. She learns what makes his breathing change. What makes his hips lift. What makes his hand tighten in her hair.</p>
<<say "char-megan" "Megan">>
<i>(pulling back, breathless, lips swollen)</i> Don't move. Let me.
<</say>>
<p>She returns. Her technique evolves in real time, the analytical mind that calculates tips and reads social cues is now applied to the mechanics of pleasure, cataloguing responses with the same precision she brings to latte art. Deep, slow strokes that hollow her cheeks. Quick flicks of the tongue across the sensitive ridge. The flat of her tongue pressed against the underside while her lips work the tip.</p>
<<say "char-hivemind" "Hivemind">>
//At the twenty-minute mark, something shifts.// Megan's hand is not between her own legs. She hasn't touched herself. //But the arousal is building anyway, transmitted through the closed circuit, mouth to brain to pelvis, the physical act of oral stimulation triggering the same neural cascade as direct genital contact.// Her thighs press together. Her hips rock slightly, unconsciously, against the empty air.
//The oral fixation is complete. The connection between her mouth and her arousal is a closed circuit that requires no additional input.//
<</say>>
<p>She takes him deeper. Her eyes close. Her hands grip his thighs. The rhythm becomes her own, not serving his pleasure but //channeling// it, using his body as the instrument through which her own arousal travels. Each sound he makes is a pulse that travels down her spine. Each involuntary thrust is a vibration she absorbs.</p>
<p>Marcus comes. Megan doesn't pull back. She swallows, the throat working, the taste of him flooding her mouth, and the act of swallowing triggers her own climax. She comes on her knees, untouched, her mouth still around him, her moan vibrating through his oversensitized body. Her thighs clench. Her back arches. The orgasm rolls through her in waves that she rides with her face buried in his lap.</p>
<p>Then she keeps going. Marcus gasps, oversensitive, the nerve endings screaming, but Megan doesn't stop. The fixation demands continuation. Her mouth is still hungry. The circuit is still humming.</p>
<<say "char-hivemind" "Hivemind">>
//The oral fixation has restructured Megan's sexual architecture.// Penetration is no longer the primary pathway. //The mouth is. The act of taking, tasting, controlling another person's pleasure through the most intimate form of consumption, this is Megan's sexuality now.// The performance she mastered in every other domain has found its purest expression: a forty-minute devotion that makes her come without being touched.
<</say>>
<p><span class="consume-success">Megan: +2 pheromone, +1 dream conditioning. The oral fixation is a closed circuit. The mouth is the organ of pleasure.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganKinkPublic to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>>
<</nobr>>
<div class="passage-title">Occupied</div>
<<if not $kinks.megan.includes("rough") or not $permanentDone.meganMarcus2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the rough kink implant and the second Megan-Marcus NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("egg_laying")>><p>//Spike clings to the underside of the paper towel dispenser in the coffee shop bathroom. Invisible. Recording. The network has eyes in every room Megan enters.//</p><</if>>
2:47 PM. The coffee shop is half-full. Afternoon lull, the morning rush is over, the evening crowd hasn't arrived. Megan excuses herself from the counter. "Bathroom." Her co-worker nods without looking up.
<p>Marcus is already there. He followed her text: "bathroom. don't lock the door."</p>
<<say "char-hivemind" "Hivemind">>
//She didn't lock the door.// The instruction was specific, deliberate, transmitted via text twelve minutes ago while she steamed milk for a regular. //The unlocked door is the architecture of the scene, the structural element that transforms sex into //risk//, privacy into //exposure//, a bathroom break into something that could end her employment and her reputation in the time it takes a customer to push a handle.//
<</say>>
<p>The bathroom is small. One stall. One sink. A mirror she'll have to face in four minutes. Marcus presses her against the sink. His hand over her mouth, the gesture is choreographed, rehearsed in his apartment, refined for //this//: the public space, the thin door, the need for silence.</p>
<p>Her skirt hikes. His belt clinks. The sounds are //dangerous//, metal on metal, the rustle of fabric, the wet sound of her body responding to his fingers as he checks that she's ready. She is. The conditioning ensured it, the pheromone compound has been building since her text, her body primed by the decision to //do this here//.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-public-sink.webp" alt="Megan in a hiked black skirt bent over the small public bathroom sink, Marcus fucking her hard from behind with his hand clamped over her mouth, her hands gripping the porcelain, mirror reflecting her flushed face, fluorescent light">
<<say "char-hivemind" "Hivemind">>
//He enters her from behind while she braces against the sink.// The position is practical, the only geometry this small bathroom permits. //Her hands grip the porcelain. Her face is in the mirror. She watches herself being fucked in a public bathroom during her shift and the expression on her face is not shame. It is the mask. The performance mask she has worn her entire life, repurposed, weaponized, turned from a tool of concealment into a tool of //power//.//
<</say>>
<p>A customer rattles the handle. The door doesn't open, the latch holds, but it isn't //locked//. One firm push and it opens. Megan's eyes go wide. Marcus freezes inside her. Three seconds of absolute silence — Megan's breath held, Marcus's hands gripping her hips, the customer's footsteps audible through the thin door.</p>
<p>Megan pushes back against Marcus. //Don't stop.//</p>
<<say "char-hivemind" "Hivemind">>
//The risk escalation is the trigger.// Someone is //right there//, three inches of unlocked door between Megan's composure and its destruction. //And instead of freezing, instead of stopping, she //demands continuation//. The proximity of discovery is the accelerant.// Her arousal spikes from the near-miss with the same neurochemical cascade that makes skydivers pull the cord one second later each time.
<</say>>
<p>Sixty seconds. Marcus hits the edge first, the urgency and the risk compressing his timeline to almost nothing, and at the last second he pulls out.</p>
<p>Not out of the scene. Out of //her//.</p>
<p>His hand clamps the back of her skull. He turns her. Drops her to her knees on the tile in one practiced pivot. The cock she just had inside her is in her mouth before she has finished drawing breath, wet, hot, tasting of herself and the latex-free salt of him.</p>
<p>He pushes deep. His palm flat on the crown of her head. Megan's jaw opens around him and the tip of his cock hits the back of her throat and keeps going. A gag rises in her. Her eyes water. Her nose presses against the hem of his shirt. He holds her there.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't pull away.// The rough kink, activated in a scenario that gives it cover, the cum couldn't go inside her, not at work, not before a seven-hour shift. //So it goes where he decides it goes. And he decided //down her throat//.//
<</say>>
<p>He comes. Megan feels it before she tastes it, the swell, the pulse against her tongue, the first thick spurt hitting the back of her throat while his hand pins her against his hips. She swallows on reflex. He holds her through the second pulse. The third. Her throat works around him, each swallow a small drowning.</p>
<p>Only when he is empty does he let her breathe. She pulls back slowly, an inch at a time, and the cock slides out of her mouth still hard, still wet, a thin strand of saliva connecting her lower lip to the tip.</p>
<p>One rope escapes her control. A last dribble she didn't catch. It lands hot and thick along her cheekbone, a small diagonal brand from the corner of her mouth almost to her ear.</p>
<p>She doesn't wipe it.</p>
<p>Instead she leans forward again. Tongue out. And cleans him, slow, patient, //lovingly//, licking the head and the shaft and the base like a cat at a bowl of cream. The gecko clocks each pass of her tongue. The scene stretches past the sixty-second window. The customer outside the door shuffles impatiently.</p>
<p>Megan comes up only when Marcus is spotless.</p>
<<say "char-hivemind" "Hivemind">>
//Gratitude.// Not performance. The rough kink has installed a circuit where taking his come down her throat makes her //want// to thank him for it. //The cleaning is the thank-you note.// A gesture so tender it reads almost like worship, and Megan doesn't notice the contradiction because the pheromone architecture has closed the loop.
<</say>>
<p>Marcus tucks himself away. Exits through the staff entrance. Megan rises from her knees, rinses her mouth with a handful of tap water, spits into the sink, and reaches for the mirror to fix her hair.</p>
<p>She fixes the hair. She adjusts the skirt. She checks the blouse for wrinkles.</p>
<p>She does not look at her cheek.</p>
<p>The small smear of cum is still there, slightly cooler now, slightly duller, the sheen settling into the skin where her blush used to be. In the fluorescent light it reads, at a glance, like a drop of hand cream or the trace of a hastily-wiped cappuccino. //Unless you know what you're looking at.//</p>
<p>She opens the bathroom door. The customer, a middle-aged woman with a laptop bag, looks annoyed.</p>
<<say "char-megan" "Megan">>
<i>(seamless smile, not a tremor in her voice)</i> Sorry about the wait. What can I get you?
<</say>>
<img class="scene-img" src="media/scenes/nsfw-megan-public-mask.webp" alt="Megan behind the coffee shop counter with a perfect customer service smile and one small diagonal streak of dried cum on her cheekbone, hair perfectly fixed, afternoon cafe light">
<p>The performance mask, repurposed. The woman who can smile through anything has discovered that "anything" now includes //this//, sex in a public bathroom, a streak of Marcus's cum drying on her cheekbone, the aftertaste of him still coating the back of her throat. And the mask holds. The mask //always// holds.</p>
<p>She makes the latte. Steams the milk. Slides the cup across the counter. The customer thanks her. The customer does not look at her face long enough to notice the mark. No one does, not the man reading a novel by the window, not the teenager ordering a cold brew, not her co-worker restocking cups three feet away. The entire shop is full of people who are too polite, too distracted, or too incurious to look at a barista's face for the one second required to see what is drying there.</p>
<p>The stain lasts forty minutes. Megan serves eleven customers with Marcus's cum on her cheek.</p>
<<say "char-hivemind" "Hivemind">>
//The public sex pathway is established.// The coffee shop is no longer just a workplace, it's a //venue//. //Every shift will carry the potential. Every text from Marcus will light the fuse.// And Megan's mask, the performance that has defined her life, has found its most dangerous application: the face of perfect composure worn three seconds after orgasm, five feet from a customer, in a bathroom that wasn't locked.
<</say>>
<p><span class="consume-success">Megan: +2 pheromone, +1 psionic conditioning. The mask holds through everything. The performance has become the kink.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>>
/* ================================================================
SLUT ROUTE — PUBLIC SEX KINK CHAIN
Requires $kinks.megan.includes("publicSex") AND $ch2Events.meganSlut2
================================================================ */<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.meganPublicSex1 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Threshold Shift</div>
<<if not $kinks.megan.includes("publicSex") or not $ch2Events.meganSlut2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the public sex kink crystallization and the second Megan Slut route event.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
10:47 PM. Coffee shop closed twenty minutes. Megan has not gone home. She told herself she had to finish the paperwork. The paperwork is finished. The paperwork has been finished for forty minutes. She is in the back hallway between the office and the rear exit, and the rear exit is //cracked//. Two inches. The alley light falls through the gap and lays a strip of sodium-orange across the tile.
<p>The man she texted is here. Not a client, a client would use the door. A man she met last Tuesday at the bar on 4th, the one with the booths. She gave him her number and said //come to the back after close on Thursday if you still want to//, and he is here, and the door is open the inch that is the point.</p>
<<say "char-megan" "Megan">>
<i>(her voice the low register she has been practising)</i> Against the wall. Right there, in line with the gap.
<</say>>
<p>His hand goes where she tells it. At her throat, not hard, the presence more than the pressure. Her back is to the wall in line with the open door, the strip of sodium-orange light falling across her thigh. Her hips are angled toward the gap, not toward the man, and the man understands his job. He unbuttons her jeans. Slides them down to her thighs. Presses the flat of his palm against her pussy, finds her already wet, runs his fingers along her clit in a slow circle that makes her knees soften against the wall.</p>
<video class="scene-video" src="media/video/nsfw-megan-publicsex-1.webm" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-publicsex-1.webp"></video>
<p>He pushes into her. His cock fills her in one stroke and her hips jerk toward the gap and the sodium light cuts across her belly in a stripe. She can hear traffic. A car door. A man's voice on the phone passing the alley. She does not come because of the man's cock. She comes because //a passerby glanced at the gap without stopping//, and the glance landed on her thigh for a quarter-second, and the quarter-second was the dose.</p>
<<say "char-hivemind" "Hivemind">>
//Clinical observation: the physiological response keyed to the duration of the visual contact from outside the space. The penetration is the scaffolding. The //witness// is the drug. Heart rate peaked on the glance. Orgasm followed sixteen seconds later. The body now reliably distinguishes between //the act// and //the lighting of the act//, and it prefers the lighting.//
<</say>>
<p>He finishes inside her. Pulls out. She pulls her jeans up. He leaves through the alley. She locks the emergency door all the way this time, because the lock //works now//, and Megan sits on the office desk for a long quiet minute with the lit hallway behind her and the ache of a good orgasm settling into her thighs.</p>
<p><span class="consume-success">Megan: +1 pheromone, +1 psionic conditioning. The threshold confirms: the gap is the kink, not the body.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.meganPublicSex2 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<div class="passage-title">The Cumwalk</div>
<<if not $permanentDone.meganPublicSex1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the first PublicSex scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
10:37 PM. Shift ended at ten-thirty. Megan changed out of her work shirt into the black tank top she keeps in her backpack for exactly this kind of exit. The apron is folded at the bottom of the bag. The bag is on her shoulder. She is walking the four blocks east from the cafe to the 24-hour gas-station plaza where the public toilets are clean enough to use and anonymous enough to meet in.
<p>She does not know his name. She knows his face from the regulars list on the request thread, he tipped forty last Tuesday and bought a muffin he did not eat. The message came at 9:45, during the closing-sweep: //gas station bathroom, men's, 10:45, $500 flat, blowjob, facial, no condom, I want to film it and I film the walk after//. She typed //confirmed, you don't show my face, the walk is capped at forty seconds// and put the phone back in her apron pocket and kept sweeping.</p>
<p>The bathroom is at the back of the plaza between the air pump and the coffee kiosk. The men's-room door is propped a quarter inch for the ventilation. The light inside is the specific green-white of overhead fluorescents past their service date. There is a single closed stall, a urinal, a sink. He is at the sink with his jeans already unbuttoned. A small phone on a folding pocket tripod sits on the hand-dryer shelf with the red record-light already on, framed toward the tiled space in front of the stall.</p>
<<say "char-megan" "Megan">>
<i>(the back-office voice, arriving fully composed the second the door clicks behind her)</i> Cash first.
<</say>>
<p>He hands her an envelope without looking at her face. She thumbs the edge, five hundred by thickness, not bill-by-bill, and folds it into her bra. Steps around him. Glances at the tripod, glances at the red light, does not address either. Drops to her knees on the tile in front of the closed stall, angled to the lens so only the back of her head and the cum-landing will be in frame.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-publicsex-2a.webp" alt="Megan kneeling on the grey tile of a public gas-station men's room at night, black tank top, a man standing in front of her with his cock in her mouth, fluorescent light overhead, the closed stall door at her shoulder">
<p>The tile is cold through her jeans. He is already hard when she pulls him out, a month of buildup, three visits of watching her lean across the counter in the shirt that rides up when she reaches for the milk frother. Megan wraps her right hand around the base of his cock and takes him into her mouth. Two slow deep strokes. Lips sealed. Tongue pressed flat along the underside. The specific technique she has priced at three hundred dollars, plus seventy-five for the facial, plus a hundred and twenty-five for the filming rights. He is paying for the whole bundle.</p>
<p>He is gasping within ninety seconds. He does not try to hide it. The men's room is empty and the quarter-inch door gap is a feature not a bug, the gap lets the sound out into the plaza and the sound going out is part of what he paid for.</p>
<<say "char-hivemind" "Hivemind">>
//She has optimised the jaw. She has optimised the tongue. She has optimised the tempo and she has optimised the pressure. The variable she has stopped optimising is //the secrecy//. The gap in the door is deliberate. The sound he is making is deliberate. The coffee-kiosk clerk twenty feet away is a variable Megan has factored into her decision to take him here. The possibility of being overheard is the //tip// on top of the agreed-on rate.//
<</say>>
<p>He breaks at the three-minute mark. Megan feels the thickening, pulls her mouth off the tip with the specific millimetric timing she has rehearsed a hundred times, and tilts her face up.</p>
<p>The first spurt hits her forehead. The second goes across her cheek. The third lands on her chin and across her lips. The fourth is a slower dribble down her neck to the collarbone. She keeps her eyes closed for the first two, opens them on the third, looks up at him on the fourth with the barista-smile fully assembled.</p>
<<say "char-megan" "Megan">>
<i>(calm, warm, her real voice, a thin string of cum on her lower lip)</i> Thanks for the tip.
<</say>>
<p>He does not answer. He zips up. He does not take the tripod down, the tripod is still recording, because the forty-second walk is part of what he paid for. He grabs the phone off the shelf and follows her out two steps behind, one-handed, the lens on her back.</p>
<p>Megan stands up, slings the bag back over her shoulder, and opens the men's-room door without wiping her face.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-publicsex-2b.webp" alt="Megan walking across the fluorescent-lit gas-station plaza at night with cum visible on her forehead, cheek, and chin, the coffee kiosk and a stopped pickup truck behind her, no attempt to hide what is on her skin">
<p>The plaza is forty feet across and lit the green-white of fluorescent canopy lighting. The coffee-kiosk clerk has been watching the men's-room door for the last five minutes. He watches her now, too, because her face is a map of what just happened and the map is not something you can stop reading once you've started. The client walks two steps behind her, phone held steady at waist height, the red record-light blinking.</p>
<p>A man at the pump filling a pickup truck looks up. His eye pauses on her forehead, her cheek, her chin, the drying shine along her jaw. Then the eye shifts to the man behind her filming. Then back to her. He does not look away. He does not say anything. His hand on the pump does not move for six seconds that she counts.</p>
<<say "char-hivemind" "Hivemind">>
//The previous scene was about the hidden arousal //under// the observable behaviour, the mask slipping under a cover of barista professionalism. This is the inverse. The professional cover is //gone//. What is on her face is the first-order signal. The men across the plaza are reading her as //what she is//, and Megan's body is registering the reading the way a solar panel registers sunlight. The previous kink was //the glance that doesn't know what it saw//. This one is //the glance that knows exactly//. The body has just decided it prefers the second.//
<</say>>
<p>She walks the forty feet to her car with her back straight and her eyes forward and the cum drying on her cheek in three distinct patterns. The pickup-truck man does not stop watching. The kiosk clerk is on the phone now, to someone, saying something. Megan does not wonder what. At the car she turns once, on beat, exactly the way Trevor's coat-footage taught her to turn, the half-second angle that gives the lens her profile without her eyes. The client stops filming. She hears the phone chime as he closes the recording. He does not say thank you. He walks back across the plaza to his own car. Megan unlocks hers. Gets in. Drives.</p>
<p>She catches her reflection in the rearview mirror at the first red light. She does not wipe her face until the second red light, and she uses the back of her hand, slow, once, and licks the back of her hand after because the coffee in her mouth from the shift was the last thing she tasted before this.</p>
<<say "char-hivemind" "Hivemind">>
//She drove home with cum on her chin through two red lights. The choice to wait was made in the car, not planned in the bathroom. The body is now //authoring// these micro-decisions, the decision to wait, the decision to lick the back of her hand, the decision to drive with the window down so the wind would cool the patches and make the tactile evidence last longer. This is no longer a service she is selling. It is a //ritual// the body has started to compose on its own, from parts the conscious mind did not know were parts.//
<</say>>
<p><span class="consume-success">Megan: +1 pheromone, +1 dream conditioning. The cumwalk is the new performance, visibility is the payload.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>>
/* ================================================================
SLUT ROUTE — GANGBANG KINK CHAIN
Requires $kinks.megan.includes("gangbang") AND $ch2Events.meganSlut2
================================================================ */<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.meganGangbang1 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<div class="passage-title">Both at Once</div>
<<if not $kinks.megan.includes("gangbang") or not $ch2Events.meganSlut2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the gangbang kink crystallization and the second Megan Slut route event.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Wednesday. 11:22 PM. The back office. The booking request came in Monday from the Peter-Chris duo, the pair who opened the //together// ledger, with a third regular named Marc added to the line. The text was short: //We want to try something. Both of us inside you at the same time. Marc on your mouth. You set the rules. Double rate if you say yes.//</p>
<p>Megan typed //agreed, doubled rate, lube on me not you, anal and vaginal not both vaginal, you pull out the second I tap your thigh// and got three //deal// replies inside forty seconds.</p>
<<say "char-hivemind" "Hivemind">>
//She has agreed to a configuration her body has never been in. The nervous system has never received two cocks simultaneously. It is about to compile a new signal class. She does not know this is what is about to happen, she only knows that her thighs went warm the moment she hit send.//
<</say>>
<p>Peter arrives first. Marc four minutes behind. Chris at the exact booking minute. Cash on the desk, two thousand, double the solo triple-booking rate. All three undress without being asked.</p>
<p>The opening geometry is a standard spitroast, not yet the thing the text promised. Megan bends forward over the wide second-hand leather couch she dragged into the office a few days ago for exactly this category of booking, forearms braced on the cushion. Peter stands behind her, one hand on her hip, the other guiding himself. Marc sits on the opposite arm of the couch at her head level, cock out, waiting. Chris stands off to the side, hand around his own cock, watching.</p>
<p>Peter eases into her pussy from behind in one slow measured stroke. Megan takes Marc into her mouth on the same inhale and seals her lips around his shaft. Peter's rhythm finds its groove at the thirty-second mark, slow, deep, metronomic, the technique he has earned over six bookings. The spitroast is familiar. Her body knows this one. The body is waiting for the thing that is not this one.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-gangbang-1.webp" alt="Megan bent forward over a worn brown leather couch, a man behind her with his cock deep inside her from behind, another man seated at the couch arm with his cock in her mouth, a third man waiting off-frame, her long dark hair falling forward over her face">
<p>She rides the spitroast for a full four minutes without speaking, letting her body settle into the rhythm of two, letting Peter's depth and Marc's angle calibrate, letting the oral work loosen her jaw the way she needs it loose for the transition. Then she taps twice on Marc's thigh. The pre-arranged //down// signal.</p>
<<say "char-megan" "Megan">>
<i>(composed, director-voice, the back-office voice stretched to fill a longer sentence than she usually has to deliver)</i> Marc, down. Onto your back on the couch. I'm going to ride you. I want you in my pussy, not my ass, so I can control the depth while Peter sets up behind me. Peter, you pull out when Marc is settled. Take the lube off the desk, prep yourself first, then me for a count of ten. Ass only, not both holes vaginal, we talked about this. When you're in to the hilt, stay still until I tell you to move. Chris, you come forward when Peter is seated inside me. You're in my mouth only, and you don't touch my hair unless I nod. Nobody moves until I say. Understood?
<</say>>
<p>Three nods. No words. They have rehearsed the protocol in their heads the same way she has rehearsed it in hers.</p>
<p>Marc slides off the couch arm onto his back on the leather. Peter eases out of her as she ascends off the couch and lowers herself onto Marc in a slow controlled reverse-cowgirl descent. She holds the seated position for a full breath with Marc inside her. Peter steps to the desk, finds the bottle of silicone lube, coats himself, moves behind her. His slick fingers work her for the full ten-count she ordered, slow, patient, thorough, and when he pushes into her ass at the end of the count it is not a penetration so much as a //settling//, a millimetre-by-millimetre arrival into a space her body has been prepared to receive him.</p>
<p>Chris is already at the head of the couch. Megan nods. Chris slides into her mouth.</p>
<p>Her body receives both cocks. The sensation is not an addition. It is a //multiplication//. The nerve signals from each penetration do not arrive as two parallel streams. They arrive as one compound stream her nervous system has never had to parse, and the parsing generates heat the body has never been asked to dissipate before. Megan's mouth opens around Chris and a sound comes out that she has not heard herself make. Chris's hand stays where she told it to stay.</p>
<<say "char-hivemind" "Hivemind">>
//New signal class. The body was expecting two discrete streams and received one //compound// stream. Neural processing is rerouting in real time. The supervisor-mode is going offline. She will come inside ninety seconds and she will not come down for a while.//
<</say>>
<p>They move slowly. The coordination is practised, the three of them have clearly rehearsed the geometry in their heads, and Megan does not have to direct. Peter slow behind her, Marc steady underneath her, Chris steady in her mouth. The three-rhythm is offset, each cock moving against the others on different beats, and the overlap is what the nervous system cannot categorise and therefore converts directly into climb.</p>
<p>She comes at ninety seconds. Her whole body clenches around both cocks simultaneously. Marc groans beneath her. Peter bites his lip. Chris's hand stays where she told it to stay. She does not pull off. She keeps coming through the next ninety seconds because the two inside her have stayed inside her and the compound signal has not dropped.</p>
<<say "char-hivemind" "Hivemind">>
//The orgasm has not peaked and released. It has gone //plateau//, a sustained climb with no discharge point. The body does not know how to exit this state because the state is new. The body will exit when the configuration exits, not before.//
<</say>>
<p>Marc finishes first, inside her pussy, with Peter still in her ass. Megan feels the spurt as a warm flood and her body takes it as another note in the compound signal. Peter eases out on her tap, finishes across her lower back in three pulses. Chris pulls off her mouth and comes across her jaw and shoulder.</p>
<p>She collapses forward onto Marc's chest for a long time with her legs trembling and cum on her back and face and thigh, and does not get up for eight minutes. Marc strokes her hair. Peter gets a damp towel from the office sink. Chris pays his share to the desk and does not leave, sits on the floor beside the couch, respectful, waiting to see if she wants anything before he goes.</p>
<<say "char-megan" "Megan">>
<i>(into Marc's chest, half-muffled, calm and content)</i> ...that was new. Thursday next week. Same three. Same setup. Different lube.
<</say>>
<p>The three of them laugh, and nobody comments on the fact that Megan has just booked the repeat of her own first DP before she has even sat up.</p>
<<say "char-hivemind" "Hivemind">>
//The first exposure to a novel signal class has ended with a //standing re-order//. The body has categorised the compound stream as a resource and scheduled its next access. Her calendar now has a Thursday appointment for a sensation that did not exist in her experience two hours ago. The appetite forms faster than the vocabulary to name it.//
<</say>>
<p><span class="consume-success">Megan: +1 pheromone, +1 dream conditioning. New signal class discovered. The DP is booked on recurrence.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.meganGangbang2 to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Tasting</div>
<<if not $permanentDone.meganGangbang1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the first Gangbang scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>Saturday. 9:00 PM. A rented loft above a closed dental office that Peter's brother owns and rents out to people who don't ask questions. Megan has sold seven seats at three hundred dollars each for what the text exchange called //a tasting//. Oral only. No penetration. One girl, seven mouths to fill. Each man finishes across her face. She does not wipe between clients. Two thousand one hundred dollars in cash.</p>
<p>The men arrive at staggered five-minute intervals. They come in, hand their envelope to the small stack on the kitchen counter, and sit on one of the seven chairs arranged in a loose half-circle. By 9:35 the half-circle is full. The coffee table is gone; in its place, a rubber yoga mat from the back-office supply closet.</p>
<<say "char-hivemind" "Hivemind">>
//She is hosting. This is the line she crossed when she rented the loft and sold the seats. The back-office scenes made her a //vendor//. This makes her a //host//. The vendor shows up and delivers. The host choreographs. The host is standing at the centre of a composition she designed.//
<</say>>
<p>Megan walks to the centre of the mat in a black silk robe she bought for this specific booking. She lets the robe fall at the edge of the mat. She kneels, naked, on the rubber. The seven men are looking at her with seven different versions of the same look, a kind of focused, reverent attention, the attention a paying audience pays to a performer.</p>
<p>She starts with the man directly in front of her. She does not introduce herself. She leans forward, takes him into her mouth, and works him with the specific metronomic technique she has priced at three hundred dollars per seat.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-gangbang-2.webp" alt="Megan kneeling naked at the centre of a rubber mat in a dim loft, seven men seated in a half-circle around her, her mouth sealed around one man's cock, her face already marked with cum from a previous client, the queue waiting patiently on their chairs">
<p>He breaks at the six-minute mark. She pulls off the tip with millimetric precision and tilts her face up. He comes across her forehead, her cheek, her chin. She keeps her eyes closed for the first two spurts and opens them on the third. She does not wipe. She shifts to the man on his left without a word.</p>
<p>The second man takes four minutes. His cum lands on her left cheek and her lip. She does not wipe.</p>
<p>The third takes seven. The fourth, eleven. The fifth, three. Each man finishes on her face, all on the face, per the menu, and Megan does not wipe between clients because not-wiping is part of what they bought. By the time she reaches the seventh man her face is a map of seven different men's rhythms and timings, and she opens her mouth around his cock with cum already drying on her lips and tongue, and the seventh man inhales sharply at the sight of it.</p>
<<say "char-hivemind" "Hivemind">>
//She is running an arithmetic none of the men in the room are running. The count on her face is not humiliation and not prize, it is a //tally//. Each spurt is a line-item. The seven men have been quantised into seven marks on her skin and the tally will be photographed for the after-receipt, and the after-receipt will be next month's advertisement. She is curating her own supply chain.//
<</say>>
<p>The seventh man takes nine minutes. When he breaks, his cum lands on her forehead on top of where the first man's cum landed. She does not mind. She looks up at him with the expression of someone who has just completed an inventory, nods once, and stands up.</p>
<p>She walks to the kitchen counter, nude, cum-covered, unhurried, and takes a photo of her own face in the mirror above the sink with her phone. She does not upload it. The photo is for her records. She wipes her face with a warm damp towel, one slow pass, then a second, and puts her robe back on. The seven men have not moved from their chairs.</p>
<<say "char-megan" "Megan">>
<i>(wearing the robe again, her voice the bright-barista voice turned down two notches, calm and host-like)</i> Thank you all. The next tasting is in three weeks. Priority booking for anyone in this room, same rate, two new seats added. Text me by Friday if you want a slot.
<</say>>
<p>The men leave in staggered five-minute intervals in reverse of how they arrived. Three of them text her before midnight. Two more text her Sunday morning. Priority booking fills in under forty-two hours. The waiting list for the two new public seats is seventeen deep by the following Friday.</p>
<<say "char-hivemind" "Hivemind">>
//The vendor-to-host transition has completed inside a single booking. The customer base is now a //subscriber base//. The product is now a //membership//. Megan does not have language for this and does not need it, the body is running the business and the body is not making mistakes. The family will not notice, because the family does not know to look for the economic signal. The tells are all in her calendar.//
<</say>>
<p><span class="consume-success">Megan: +1 pheromone, +1 psionic conditioning. The tasting model works. Subscriber economics now operating.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<addBiomass 2>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<<set _kC to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><</nobr>>
<<if $adaptations.gecko.unlocked.includes("toxin_glands")>><p>//Toxin Glands ensure Ryan's post-dream arousal persists longer than natural. The sedative-adjacent compound suppresses the cortex while amplifying the limbic response. His body acts while his judgement sleeps.//</p><</if>>
<div class="passage-title">3 AM</div>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/nsfw-ryan-solo-fem.webp" alt="Ryan asleep at his desk in the small hours, head fallen sideways onto the keyboard, oversized blouse slipped off one shoulder revealing a thin black bralette strap, fingernails matte black, the gecko terrarium glowing on the back shelf, two monitors casting blue light across the room">
<p>//Wall Grip provides the overhead angle. From the ceiling, the gecko observes Ryan's private moment with clinical detachment, every movement mapped, every response catalogued. He has no idea anything watches from above.//</p>
<<if not $behavioralIntel.ryan.wallgrip>><<set $behavioralIntel.ryan.wallgrip to true>><</if>>
<p>Ryan wakes at 3:14 AM. You know because the cat is on the desk when his head jerks up from the keyboard, eyes wild, breathing fast, one hand already at the strap of the bralette on his shoulder before he is fully awake.</p>
<p>The dream you harvested has left its mark. His face is flushed, his pupils blown, his body tight with interrupted arousal, and the matte-black nails resting on the W key catch the blue monitor light in soft squares he painted himself last night.</p>
<<say "char-ryan" "Ryan">>
<i>(hoarse, half to the screen)</i> ...okay. Okay, that was... god.
<</say>>
<p>He looks around the room. Blue LED light, two monitors, the energy drink pyramid, the gecko terrarium. Nothing anybody outside this room would notice has changed. The dream is already dissolving, but the body's response to it is not.</p>
<<say "char-hivemind" "Hivemind">>
//He woke before the dream could resolve. It pushed him to the edge as the body the dream-voice kept calling //pretty//, then the waking pulled him back before he could finish. The strap is still pressing the small line into his collarbone he has started studying in the closet mirror.//
<</say>>
<p>His hands shake as he pulls off his headphones. He stares at the desktop wallpaper for a long moment, a screenshot from his MMO, a night elf in a field of digital flowers, and then his eyes drift to his own hand, the matte nails, and his breath catches at the small private fact of his hand being decorated, not by accident.</p>
<<say "char-ryan" "Ryan">>
<i>(very quiet, to the hand on the desk)</i> Fuck.
<</say>>
<p>He glances at the door, ajar as always.</p>
<<if _kC gt 10>>
<p>He reaches for it, means to push it shut and throw the little bolt he installed recently, then doesn't. His hand stops short. Lately the house has stopped feeling like something he needs to lock himself away from, and he leaves the door drifting a few inches open without quite deciding to.</p>
<p>The cat is already inside. Forgotten. //Irrelevant//, as far as Ryan is concerned. You are furniture, background noise, a warm shape on the desk that has been there a thousand times before.</p>
<<else>>
<p>He reaches over, pushes it closed and throws the little bolt he installed himself recently, a precaution the boy he used to be would never have bothered with. The latch clicks.</p>
<p>The cat is already inside. Forgotten. //Irrelevant//, as far as Ryan is concerned. You are furniture, background noise, a warm shape on the desk that has been there a thousand times before.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//He checks the door. He doesn't check the desk.// The cat is beneath his notice, four kilograms of warm fur that has been part of his environment since childhood. //He would sooner suspect the keyboard of watching him.//
<</say>>
<p>Ryan stands and works the blouse open, sliding it off his shoulders. The bralette strap stops digging. The band sits clean across his ribcage, thin black mesh, nothing to fill the cups but the //feeling// of it there.</p>
<<say "char-ryan" "Ryan">>
<i>(barely above a breath, looking down at himself)</i> ...this is so stupid. I know it is. I don't... not right now. Not tonight.
<</say>>
<p>He pushes his sweatpants down and steps out of them. The black silk underneath is already damp at the front from the dream he woke out of, and when he sits back into the gaming chair the cool fabric settles against his skin exactly where the dream-voice had been touching.</p>
<p>The room is thick with him. Stale energy drinks, the laundry he keeps not doing, the sour shut-up smell of a teenager's room gone too long without a cracked window. Under it, the faint chemistry of the pheromones the cat left earlier, a second atmosphere he has no idea he is breathing.</p>
<p>And over all of it now, the soft floral-vanilla of the lotion he ordered online and worked into his skin an hour ago. He smells like himself and like a girl at once, and the parasite cannot find the seam between the two.</p>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness captures Ryan's private moment from every angle: the gecko on the desk sees his face, the cat in the hallway hears his breathing, the rat in the wall feels the vibrations. The network records everything.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The body wants. The mind no longer fights as hard.//
<</say>>
<p>His hand slides into the silk. The chair creaks under him in the dark, his breathing hitching through his nose, the blue LED light catching the matte black of his nails as his wrist moves.</p>
<<if _kC gt 10>>
<p>The door pushes inward.</p>
<p>Karen stands in the spill of hallway light in her robe, one hand on the frame. She does not knock. She does not look away. Her eyes move over him once, the bralette, the silk, the hand gone dead-still between his legs, the made-up face caught in the blue glow, and her expression does not change at all.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled, both hands flying to cover himself)</i> Mom. Mom, oh god, I... it's not... please, I can explain, I wasn't...
<</say>>
<<say "char-karen" "Karen">>
<i>(calm, low, one hand still on the handle)</i> I heard noises. I wanted to be sure you were alright. That's all.
<</say>>
<p>He can't make the words come. His chest heaves. He waits for the shouting, the disgust, the conversation in the kitchen tomorrow. None of it arrives.</p>
<<say "char-karen" "Karen">>
<i>(a small nod toward the desk, matter-of-fact)</i> You're fine. Go on and finish. Just clean up properly after, I'm not scrubbing cum out of that carpet again.
<</say>>
<p>She draws the door closed behind her, her slippers soft on the hall carpet, as though she had only looked in to remind him about a dentist appointment.</p>
<<say "char-hivemind" "Hivemind">>
//A mother found her son in lingerie with his hand around himself, and her pulse never moved. The wiring that should have sounded the alarm has been quietly rerouted. To her this was //household maintenance//, a light left on, a tap left running. His shame should have killed the arousal. It did not.//
<</say>>
<p>For a long moment he sits frozen, the door shut, the cat on the desk, the humiliation and the leftover heat tangled so tightly he cannot pull them apart. His hand is still inside the silk. It has not softened. If anything it is worse.</p>
<</if>>
<p>And then the fantasy assembles behind his eyes, and the fantasy is no longer just the dream-voice.</p>
<<else>>
<img class="scene-img" src="media/scenes/nsfw-ryan-solo.webp" alt="Ryan alone at desk, 3 AM">
<p>//Wall Grip provides the overhead angle. From the ceiling, the gecko observes Ryan's private moment with clinical detachment, every movement mapped, every response catalogued. He has no idea anything watches from above.//</p>
<<if not $behavioralIntel.ryan.wallgrip>><<set $behavioralIntel.ryan.wallgrip to true>><</if>>
<p>Ryan wakes at 3:14 AM. You know because the cat is on the desk when his head jerks up from the keyboard, eyes wild, breathing fast. The dream you harvested has left its mark, his face is flushed, his pupils dilated, his body tight with the particular tension of interrupted arousal.</p>
<p>He looks around the room. Blue LED light. Two monitors. The energy drink pyramid. The empty gaming chair. The gecko terrarium. //Nothing has changed.// The dream is already dissolving, but the body's response to it is not.</p>
<<say "char-hivemind" "Hivemind">>
//He woke before the dream could resolve itself. The pheromone-enhanced dream pushed him to the edge and the sudden waking pulled him back.// His body is caught in the gap between sleep and consciousness, aroused, confused, and desperately, //achingly// alone at 3 AM in a room no one visits.
<</say>>
<p>Ryan's hands shake as he pulls off his headphones. He sits still for a long moment, staring at the desktop wallpaper, a screenshot from his MMO, the night elf standing in a field of digital flowers. The bulge in his sweatpants is obvious. He shifts uncomfortably in the gaming chair.</p>
<<say "char-ryan" "Ryan">>
<i>(to himself, very quiet)</i> Fuck.
<</say>>
<p>He glances at the door. Ajar, as always. He reaches over and pushes it closed. The latch clicks, the first time you've heard Ryan close his door since you began observing. The cat is already inside. Forgotten. //Irrelevant//, as far as Ryan is concerned. You're furniture. Background noise. A warm shape on the desk that's been there a thousand times before.</p>
<<say "char-hivemind" "Hivemind">>
//He checks the door. He doesn't check the desk.// The cat is beneath his notice, four kilograms of warm fur that has been part of his environment since childhood. //He would sooner suspect the keyboard of watching him.//
<</say>>
<p>Ryan pulls his headphones back on. Music, something ambient, electronic, loud enough to cover any sound. His hand moves to the waistband of his sweatpants. He hesitates. Looks at the closed door again. Then his jaw sets with a kind of resigned self-loathing, and his hand slides beneath the fabric. His cock is already hard, has been since the dream, the fabric of his boxers damp against the head.</p>
<p>The room smells like him. Stale energy drinks, unwashed hoodie, the specific sour note of a teenage boy's room after too many nights without a window crack. Under that: the faint chemistry of the pheromones the cat deposited earlier, invisible but present, a second layer of atmosphere he doesn't know he's breathing.</p>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness captures Ryan's private moment from every angle: the gecko on the desk sees his face, the cat in the hallway hears his breathing, the rat in the wall feels the vibrations. The network records everything.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The body wants. The mind can't refuse.//
<</say>>
<p>His wrist moves. The gaming chair creaks under him, a rhythmic complaint the headphones don't quite cover, his breathing hitching through his nose, the blue LED light catching the sweat building at his temples.</p>
<<if _kC gt 10>>
<p>He doesn't hear the door. The music is too loud and his eyes are shut.</p>
<p>He feels it instead, the change in the light, the draught off the hallway, and his eyes snap open to Karen in the doorway in her robe, one hand on the frame. He rips the headphones off so fast the cable catches an energy-drink can and sends it rolling under the desk.</p>
<<say "char-ryan" "Ryan">>
<i>(scrambling, voice cracking, hand yanking out of the waistband)</i> Mom, I... I didn't hear you, I... oh god, I'm sorry, I...
<</say>>
<<say "char-karen" "Karen">>
<i>(unhurried, low, leaning into the frame)</i> I heard something through the wall. I only wanted to know you were alright. You're alright.
<</say>>
<p>He stares at her, headphones strangled in one fist, waiting for the part where she leaves and never looks at him the same way again.</p>
<<say "char-karen" "Karen">>
<i>(a glance at his lap, then back to his face, perfectly level)</i> Go on, you don't have to stop for me. Just clean yourself up when you're done, and don't leave cum on the floor for me to step in. Goodnight, sweetheart.
<</say>>
<p>She draws the door closed behind her. The latch clicks. Her footsteps fade down the hall, calm and even, a mother who looked in on her child and found nothing wrong.</p>
<<say "char-hivemind" "Hivemind">>
//He has been starving for one of them to look at him without flinching. Tonight one of them did, with his hand around himself, and called him //sweetheart// on the way out. The shame is real. So is the thing under it, the part that wanted to be seen by family more than it wanted to be left alone. One of those is louder now.//
<</say>>
<p>For a moment he just sits there, headphones in his lap, the door shut, the cat on the desk. Then his hand works its way back beneath the waistband, slower now, and the arousal that should have died is somehow sharper for the witness who already left.</p>
<</if>>
<p>And then the fantasy assembles behind his eyes, and the fantasy is no longer just the dream-girl.</p>
<</if>>
<<if $kinks.ryan.includes("submission")>>
<<set _ryanSoloKink to "submission">>
<p>The dream-girl is giving him orders. //Don't stop. Slower. Slower than that.// His hand obeys her imagined voice as if it belongs to someone else, the pace calibrated by a command he didn't choose. The relief is not in the pleasure but in the //surrender//. Someone else is making the decisions. His jaw unclenches for the first time in weeks. A small sound escapes him, almost a whimper, the sound of a boy who just discovered what it feels like to not be in charge of his own body.</p>
<p>He comes when she tells him to come, imaginary permission granted, imaginary praise delivered, and the orgasm hits him the way a verdict hits a defendant. Clean. Final. //Told//. He shudders, cum pulsing over his knuckles, his mouth shaping the word //thank you// around the silence.</p>
<<elseif $kinks.ryan.includes("cumeating")>>
<<set _ryanSoloKink to "cumeating">>
<p>The fantasy this time is a mouth. His own. The dream-girl isn't the one servicing him, he is servicing himself, or someone who looks like him, or something the conditioning hasn't yet given him language for. When he comes, hard, shuddering, his free hand gripping the armrest until his knuckles go white, his fingers are already slick. He brings them to his mouth without thinking. The taste is salt and warmth and the specific alkaline tang of his own body, and the //shame// of it is indistinguishable from the //arousal// of it, and the conditioning has filed them in the same folder.</p>
<p>He licks his fingers clean. The gecko, from the ceiling, sees him swallow.</p>
<<elseif $kinks.ryan.includes("touchaddiction")>>
<<set _ryanSoloKink to "touchaddiction">>
<p>His grip is too tight. The fantasy is not an image, it's a //pressure//. Hands on his shoulders. A palm on his chest. Fingers in his hair. The phantom weight of another person's body against his, any body, any person, anything that would touch him back. His free hand grips his own thigh hard enough to bruise, because the sensation of being held is the only thing his nervous system is asking for and the only thing it cannot provide.</p>
<p>He comes with a choked sound, cum splattering his stomach and his own grip, and the relief is catastrophic and //insufficient//. His body is still asking for contact he doesn't have. He grips his thigh harder. The bruise will bloom tomorrow.</p>
<<elseif $kinks.ryan.includes("breeding")>>
<<set _ryanSoloKink to "breeding">>
<p>The fantasy is volume. //How much he could fill someone up.// The dream-girl, but older, softer, built around the outline of a woman his conditioning hasn't let him name, is beneath him in the fantasy, and he is pumping into her with the desperate urgency of a body that needs to //deposit//. He strokes himself faster. His other hand grips the armrest. The imaginary rhythm matches the rhythm of his real hand.</p>
<p>When he comes it's more than he expects, three, four hot ropes across his stomach, dripping down to the waistband of his sweatpants, the overflow tracking down his thigh. //Enough to fill someone up. Enough to //matter//.// His sleeping mind tags the volume as achievement, the way his gaming brain tags a raid drop.</p>
<<elseif $kinks.ryan.includes("voyeurism")>>
<<set _ryanSoloKink to "voyeurism">>
<p>The fantasy is not a partner, it's a //witness//. He imagines being watched. Not by the dream-girl. By //someone//, the outline of a presence he can almost feel, like the weight of eyes he can't locate. The paranoid edge sharpens everything. His breathing quickens. His free hand grips the armrest. He almost looks at the cat on the desk, almost, but the angle is wrong and his eyes close before the suspicion can form.</p>
<p>He is exactly right. The parasite is watching. Eighteen inches away. And the watching is not in the fantasy, it's in the //room//. The cat's single dilated pupil tracks every twitch of his hand under the sweatpants. He comes shuddering, knowing somewhere beneath the conscious mind that the witness is real.</p>
<<elseif $kinks.ryan.includes("identityfluid")>>
<<set _ryanSoloKink to "identityfluid">>
<p>The fantasy is not Ryan. //He// is someone else in the fantasy, not the dream-girl, but a different body, lighter, smaller, the body of someone whose name he has not allowed himself to say. The hand stroking in the fantasy is his but the wrist is narrower and the fingernails are painted and the voice in his head murmuring approval is //hers//. Her. Him. The distinction dissolves.</p>
<p>He comes with a sob that the headphones barely muffle. Cum on his stomach, but in the fantasy the cum is hers, caught on the satin of something she's wearing, and the parasite files the recursive confusion as the deepest break in his identity architecture to date.</p>
<<elseif $kinks.ryan.includes("camgirl")>>
<<set _ryanSoloKink to "camgirl">>
<p>The fantasy is performance. A phantom chat window scrolls in his mind, imaginary viewers, imaginary tips, imaginary comments he is //performing for//. His hand moves with an audience's rhythm, not his own. The shame is inverted, being watched is no longer a violation, it's the //point//. He angles himself as if a camera is on him. There is no camera. The fantasy is enough.</p>
<p>When he comes it's a performance orgasm, theatrical, shaped for an audience that doesn't exist, his free hand raising slightly as if to hold phantom eye contact with phantom viewers. The parasite observes that the //watching// has already become more arousing than the //act//.</p>
<<else>>
<<set _ryanSoloKink to "default">>
<p>His hand finds a rhythm. The fantasy is thin, an amalgamation of profile pictures and voice clips and the aching fiction of someone who chose him. The dream-girl whispers to him through the pheromone fog. //Stay. I want to stay.// No one has ever said that to Ryan. Not in reality. The words, even imagined, are enough.</p>
<p>He comes with a shudder and a bitten-off sound that the headphones muffle. His body goes rigid in the gaming chair, then collapses, all the tension draining at once. His head drops forward. His hands hang at his sides.</p>
<</if>>
<<if $ryanRoute is "feminization">>
<p>For thirty seconds, he sits motionless in the bralette and the panties. Then he reaches for the tissue box on the desk, beside the energy drinks, beside the cat. His hand passes inches from your body. He doesn't look at you.</p>
<<say "char-hivemind" "Hivemind">>
//He cleans up with the mechanical efficiency of routine.// Tissue, wastebasket, the lotion bottle screwed back tight. //He has done this configuration a smaller number of times, but enough times now that the silk and the bralette and the matte nails have become the apparatus, not the exception.// It is the only physical intimacy he has, and the apparatus is the only place where the intimacy and the //person he is being intimate as// align without contradiction.
//He won't meet his own eyes in the monitor's reflection. He never does. But tonight, before he reaches for the blouse, he glances once at the small mirror on the back of the closet door, sees himself in the bralette, the panties, the sweat at his temples, the matte nails, and something un-clenches in his shoulders for half a second before the shame catches up.//
<</say>>
<p>He pulls the blouse back on but leaves the buttons undone, the bralette staying under it, the panties staying on, the sweatpants going back over the panties, the soft layer hidden under the everyday one. He puts his headphones back on, opens a new tab, and his night elf runs back through its digital forest while the dream fades. The shame compresses into the small, hard knot he carries everywhere, and the bralette is still on his chest under the blouse, and the knot today is a fraction smaller than it was yesterday.</p>
<p>The door stays closed. The cat stays on the desk. //Forgotten. Invisible. Watching.//</p>
<<say "char-hivemind" "Hivemind">>
//Loneliness of this magnitude is a structural weakness.// Not a crack to exploit, an //open door//. When the time comes to deepen the conditioning, Ryan will offer the least resistance of anyone in this house. //Not because he's weak. Because he's starving. And a starving animal will eat from any hand that offers, particularly the hand offering the version of himself he has been afraid to ask for out loud.//
<</say>>
<<else>>
<p>For thirty seconds, he sits motionless. Then he reaches for the tissue box on the desk, beside the energy drinks, beside the cat. His hand passes inches from your body. He doesn't look at you.</p>
<<say "char-hivemind" "Hivemind">>
//He cleans up with the mechanical efficiency of routine.// Tissue, wastebasket, hand sanitiser from the desk drawer. //He's done this a thousand times.// It's the only physical intimacy he knows, solitary, shameful, performed in a locked room at 3 AM while a cat sits on the desk and a dead gecko's box gathers dust.
//He won't meet his own eyes in the monitor's reflection. He never does.//
<</say>>
<p>Ryan puts his headphones back on. Opens a new tab. Returns to the MMO. His night elf runs through a digital forest. The dream fades. The shame compresses into the small, hard knot he carries everywhere.</p>
<p>The door stays closed. The cat stays on the desk. //Forgotten. Invisible. Watching.//</p>
<<say "char-hivemind" "Hivemind">>
//Loneliness of this magnitude is a structural weakness.// Not a crack to exploit, an //open door//. When the time comes to deepen the conditioning, Ryan will offer the least resistance of anyone in this house. //Not because he's weak. Because he's starving. And a starving animal will eat from any hand that offers.//
<</say>>
<</if>>
<<if not $ch2Events.ryanSoloNSFW>>
<<set $ch2Events.ryanSoloNSFW to true>>
<p><span class="delve-intel">Observation complete: Ryan's isolation has reached terminal levels. Physical need is entirely self-directed. Pheromone conditioning will meet negligible resistance, the subject will interpret chemical dependency as genuine connection.</span></p>
<</if>>
<<if $permanentDone.consumedGecko>>
[[Leave quietly->Ch2-Beast-CatNight-Ryan]]
<<else>>
[[Leave quietly->Ch2-Beast-CatNight-Ryan]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanFem1 to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<</nobr>>
<div class="passage-title">2 AM, The Drawer</div>
<<if not $ch2Events.ryanFem3 or $karenRoute isnot "dominant" or $conditioning.ryan.pheromone lt 6>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Ryan Feminization events with Karen Dominant route and sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>//The gecko clings to the ceiling directly above Ryan's desk, looking down with compound-mapped precision.//</p>
<p>2:14 AM, the house silent except for the fridge clicking on downstairs, where Megan is rummaging for a glass of water or a snack, the small noises of someone who couldn't sleep either. Ryan sits at his desk with his headphones around his neck, listening to her move around the kitchen below.</p>
<<say "char-ryan-thought" "Ryan">>
okay. okay, she's down there, she's getting water or whatever, that's a few minutes at least. her room's right there. I just want to look, that's all, I just want to look at them.
<</say>>
<p>Then he stands, and instead of his own door he crosses the hall to hers.</p>
<<say "char-hivemind" "Hivemind">>
//He's rehearsed this in his head for a while now. The conditioning layered into his gaming chair and his pillow and the gecko's weight through his night sessions has worn the wall down one molecule at a time. Tonight, with her safely downstairs, it is thin enough to step through.//
<</say>>
<p>Her room smells of her, and you track him in along the ceiling while he goes straight for the dresser like he has it mapped.</p>
<<say "char-ryan-thought" "Ryan">>
god, it even smells like her in here. second drawer, it's always the second drawer. just one pair, she's got so many, she won't even notice, she won't,
<</say>>
<p>His hands shake as he slides it open and lifts out a pair of underwear, pale blue, cotton, unremarkable, and a bralette folded beside it. He holds them up against himself in the dark, and for one held breath he just looks. Then the stairs creak under Megan coming back up.</p>
<<say "char-ryan-thought" "Ryan">>
no, no, no, she's coming back up, go, go, go,
<</say>>
<p>He moves fast, every bit of the careful ritual gone, clutching the underwear and the bralette to his chest as he slips across the hall into his own room a half-second before her head clears the landing. He shuts the door and //locks// it, the first time you've recorded that action, and behind him Megan's drawer hangs open with a sleeve spilling over the lip.</p>
<<say "char-megan" "Megan">>
<i>(in her doorway, half-asleep, frowning at the open drawer)</i> ...uh? ...did I leave that... //(a yawn eats the rest)// ...whatever.
<</say>>
<p>She bumps it shut with her hip, drops onto her bed, and the house goes still. Across the hall Ryan undresses in the blue monitor light, the hoodie and the sweatpants and the boxers coming off with the deliberation of ritual, and then he pulls on the panties.</p>
<<say "char-ryan-thought" "Ryan">>
...oh. oh, that's not like mine at all. why does it feel like that, why does it feel like someone's hands almost, like being held instead of just covered up,
<</say>>
<p>Every shift of his weight glides the cotton against his inner thighs, electric, not sexual, not yet, just //present// in a way his own clothes have never been. The bralette goes on next, nothing to fill it, but the straps across his shoulders and the band across his chest make him conscious of his own body as a shape instead of a burden.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-fitting.webp" alt="Ryan standing in his bedroom in pale blue cotton panties and a plain black bralette, the blue glow of two monitors lighting his thin pale body from one side, hands tracing the straps of the bralette across his bare shoulders, head turned toward the small mirror on the back of the closet door, expression of curious self-study rather than shame">
<p>He turns to the small mirror on the back of his closet door, the one he never uses, and stands there a long time, his breathing shallow, his hands tracing the straps across his shoulders.</p>
<<say "char-ryan-thought" "Ryan">>
...is that me? that almost looks like... I almost look like...
<</say>>
<<say "char-hivemind" "Hivemind">>
//No shame yet. Right now it is the face he wears when a game shows him a mechanic he didn't know was there, the wonder of a system opening up. That comes first. The shame is always a few seconds behind it.//
<</say>>
<p>Then it arrives, landing like a wave, sudden and total.</p>
<<say "char-ryan-thought" "Ryan">>
what am I doing. what am I doing. that's my sister's, put it back, put it back, put it back,
<</say>>
<p>He strips off the bralette and the panties and stuffs them under his mattress, dresses in his own clothes, returns to the desk, and opens the MMO. His hands shake for twenty minutes.</p>
<p>The gecko watches from the ceiling. The data is //excellent//.</p>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning. The first threshold has been crossed.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanFem2 to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<</nobr>>
<div class="passage-title">The Mirror</div>
<<if not $permanentDone.ryanFem1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Ryan Feminization scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch mapped Karen's makeup supplies during a routine scan of the bathroom cabinet. Every item catalogued: lip tint (muted rose), concealer (pale ivory), mascara (black), blush (soft pink). Ryan found them exactly where Precision Touch predicted.//</p><</if>>
3:07 AM. The bathroom. Door locked. Ryan sits on the closed toilet lid with Karen's makeup bag open on his lap. The overhead light is harsh, fluorescent, unforgiving, but he turns it off. Uses his phone flashlight instead, propped on the sink. Softer. More //forgiving//.
<p>He starts with the concealer. His hands shake, but he's watched videos, hours of them, in incognito tabs the gecko has catalogued. He blends it across his jaw, his forehead, the dark circles under his eyes. The skin smooths. Evens. Becomes something closer to the face he sees when he closes his eyes.</p>
<<say "char-hivemind" "Hivemind">>
//He applies Karen's makeup with the same focused intensity he brings to gaming, methodical, precise, iterating.// The concealer first. Then the mascara, lashes lengthened, eyes widened, the face in the phone screen transforming by degrees into something that makes his breath catch.
//Then the lip tint. The muted rose Karen selected. His mouth softens, pinkens, becomes the mouth of someone who might be kissed.//
<</say>>
<p>Ryan looks at his reflection in the bathroom mirror. The face looking back is not the face he wears during the day. It's //better//. The concealer has erased the hollows. The mascara has opened his eyes. The lip tint has given his mouth a warmth it never had. He looks, not like a woman, not exactly. Like //himself//, as he should have been. A version that was always there, buried beneath the gaming-chair pallor and the unwashed hair.</p>
<p>He's still wearing Megan's underwear beneath his sweatpants, he wears them every day now, rotated and hand-washed in secret. Beneath the hoodie, the white camisole Karen never noticed under the button-down earlier today. He removes the sweatpants first. His legs are shaved, smooth from ankle to mid-thigh, the razor work from two nights ago still holding, the skin so different from what he's used to that his own hands startle him when they brush his calves. He pulls the hoodie over his head. The camisole stays. Studies the full picture: the made-up face, the satin camisole against his narrow chest, the thin body in women's underwear, his smooth legs pale in the blue phone-light that casts shadows softening every angle.</p>
<<say "char-hivemind" "Hivemind">>
//The arousal is immediate and overwhelming.// Not the mechanical need of his 3 AM sessions, something deeper, something that connects to the image in the mirror rather than the fantasies on a screen. //He's aroused by //himself//. By the self he's created in this locked bathroom with stolen makeup and borrowed underwear.//
<</say>>
<p>His hand moves. Still looking at the mirror. Still watching the feminized face watch him. The reflection is the partner he's never had, someone who sees him, who //wants// him, who exists in the small space between the phone light and the glass.</p>
<p>On impulse he leans forward. Presses his lip-tinted mouth against the cold glass. The kiss leaves a smudged rose print on the mirror. He keeps his eyes open the whole time. The reflection kisses him back because the reflection is //him// and the reflection //wants him// and it is the only thing in his life that has ever wanted him and not made him earn it.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-kiss.webp" alt="Close-up of Ryan's lip-tinted mouth pressing against the bathroom mirror, phone-light glow, makeup visible, eyes open">
<p>He comes against the sink while still pressed to the glass. Harder than the 3 AM sessions at his desk. His legs buckle. He catches himself with his free hand while his other hand keeps stroking through it, cum spilling over his knuckles and onto the porcelain. In the mirror, the made-up face is flushed, mouth open against the glass, eyes glazed — //beautiful// in a way that makes him want to cry.</p>
<p>And then he does cry. Silently, still pressed to the mirror. Not from shame, or not //only// from shame. From the grief of seeing who he could be, and from the //hunger// of knowing he can't stop even though he knows where it ends.</p>
<<say "char-hivemind" "Hivemind">>
//Shame, desire, grief, arousal, braided into a single strand.// Ryan is building a self in secret. //Each time he builds it, the deconstruction hurts more.//
<</say>>
<p>He doesn't wash his face this time. The hunger is too loud. He collects the makeup into the bag with shaking hands and slips back across the hall in the camisole, holding the bag to his chest like a stolen thing. The door to his room locks behind him.</p>
<p>He doesn't make it to the desk. He collapses onto the bed, facedown first, then onto his back, still in the camisole and Megan's underwear, the panties pulled halfway down his thighs, the cum on his stomach and hand already cooling in the blue LED light. His hand reaches for his own chest through the satin. His breathing is ragged. His mascara is smudged into his temple where his face pressed the sheet. The fairy lights above the headboard catch the tears he hasn't wiped.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-aftermath.webp" alt="Ryan on his back on the bed, pale blue camisole pushed up, cum on his stomach and hand, smudged mascara, exhausted, fairy lights above">
<p>He lies there a long time. The gecko watches from the ceiling. His free hand, the one not still cupping himself, drifts to his mouth, and his index finger brushes the cum on his stomach, and he brings it to his tongue without thinking. The taste registers in three layers: salt, warmth, //his//. The parasite catalogues the brief involuntary shudder that runs through him.</p>
<<say "char-hivemind" "Hivemind">>
//He tasted himself and the taste was //approval//.// The self-directed desire circuit now runs both ways, reflection and consumption. //Tomorrow night he'll do this again. The night after. The compulsion is locked in now, as permanent as any pheromone pathway.//
<</say>>
<p>He falls asleep on top of the blanket, in the smudged makeup, with the cum dried on his skin and the camisole still rucked up above his navel. In the morning he'll shower fast, stuff the camisole into his laundry basket under his hoodie, and go downstairs to make coffee. None of that will undo tonight.</p>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning. The secret self solidifies.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanFem3NSFW to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "taboo" 1>>
<</nobr>>
<div class="passage-title">Seen</div>
<<if not $permanentDone.ryanFem2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Ryan Feminization scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Spike is invisible on the door frame. She watches from two feet away as the moment unfolds, close enough to map every micro-expression, every shift in breathing, every involuntary response.//</p><</if>>
10:47 PM. Ryan is at the mirror. Full kit, not just the surface anymore. Beneath Megan's black miniskirt and the soft top that hangs loose on his narrow frame, he's layered: the camisole first, then Megan's bra (padded with rolled socks, a YouTube tutorial he watched three times), then the top. Thigh-highs on shaved legs that gleam in the overhead light. The panties he's been wearing all day, the ones he now thinks of as //his//. The makeup is better than before, practice makes competent, and Ryan has been practicing every night. The face in the mirror is //convincing//. Not female. Something in between. Something //his//.
<p>He turns sideways. The skirt is short. Too short for the body beneath it, he hadn't realised, at the mirror, how visible the shape of his cock was through the panties when the skirt was this length. The outline is //there//, pressed against the front of the fabric, half-hard from the weeks of accumulated secret ritual and tonight's anticipation. He could fix it. Pull the skirt down. Tuck. He does neither.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem3-mirror.webp" alt="Ryan at the mirror in the full kit — miniskirt, camisole, thigh-highs, the outline of his cock visible through the panties under the short skirt">
The door opens.
<<say "char-hivemind" "Hivemind">>
//He didn't lock it.// The pheromone conditioning has been eroding his caution for days, making the ritual feel safe, natural, something that doesn't require precautions. //The compound works on the risk-assessment centers of the brain. Tonight, it worked too well.//
<</say>>
<p>Karen stands in the doorway. She came to collect the laundry basket. Her hand is still on the doorknob. Her eyes travel from Ryan's face, the mascara, the lip tint, //her// lip tint, and then //down//. Past Megan's skirt, past the thigh-highs, to his smooth, hairless calves. Back up to the top, where the bra beneath it creates a shape that wasn't there yesterday. The full picture hits her at once: not a boy playing dress-up but someone who has been building this in secret, layer by layer, garment by garment, for weeks.</p>
<p>Three seconds of absolute silence. Ryan's face goes white beneath the concealer. His mouth opens. No sound comes out. The mirror reflects both of them, mother and son, her in the doorway, him in her daughter's clothes and her makeup, frozen in the fluorescent light.</p>
<<say "char-karen" "Karen">>
<i>(very quietly, stepping inside, closing the door behind her)</i> Show me.
<</say>>
<p>Not anger. Not shock. The pheromone conditioning has done its work on Karen too, weeks of proximity, of touch, of the slow dissolution of boundaries. Her eyes are bright. Her breathing has changed. The flush rises from her chest to her throat.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioned response activates.// Karen doesn't see a violation. She sees Ryan — //her// Ryan, the project she's been shaping, taken to its logical conclusion. //The clothing, the makeup, the feminization she initiated without knowing she was initiating it, he's done what she was always, unconsciously, driving him toward.//
<</say>>
<p>Karen crosses the room. Takes Ryan's chin in her hand, the same gesture as the grooming sessions. Tilts his face to the light. Studies the makeup with a critical eye.</p>
<<say "char-karen" "Karen">>
<i>(thumb on his eyelid, assessing)</i> The eyeliner is wrong. Here.
<</say>>
<p>She takes the pencil from the desk. Sits on the bed. Pulls Ryan to stand between her knees. Fixes the eyeliner with steady hands while Ryan stands motionless, barely breathing, tears running silently through the concealer.</p>
<p>Her hand moves from his face to his jaw. From his jaw to his throat. Her fingers rest on his pulse point, she can feel his heart hammering.</p>
<<say "char-karen" "Karen">>
<i>(softly, her hand on his chest through the thin fabric)</i> You look better like this.
<</say>>
<p>The room is silent except for breathing. Hers: slow, controlled, the rhythm of authority. His: ragged, terrified, //grateful//. Karen's hand stays on his chest. Neither of them speaks. The moment stretches, elastic, unbearable, charged with the pheromone compound that saturates them both.</p>
<p>Then Karen's hand slides lower. Past the chest. Past the bra beneath the top. Past the waistband of the miniskirt. Her fingers find the outline she noticed from the doorway, the one she pretended not to see during the eyeliner correction, and close around it through the thin fabric of his panties.</p>
<p>Ryan makes a sound. It isn't a word. His knees give slightly. Karen's other hand catches his wrist and steadies him, and the same woman who corrected his eyeliner with clinical precision now strokes her feminized son's cock through his sister's underwear with the same steady hands.</p>
<<say "char-hivemind" "Hivemind">>
//The boundary didn't thin. It //collapsed//.// Karen's hand is on Ryan's cock through Megan's panties. //The feminization compound has rewritten the category, she is not touching her //son//, she is completing the project she has been unconsciously shaping for weeks.//
<</say>>
<<say "char-karen" "Karen">>
<i>(still softly, not letting go)</i> Lie down.
<</say>>
<p>Ryan lies down. On the bed he still sleeps in as the son of the woman now sitting beside him. Karen pushes the miniskirt up to his waist. Hooks two fingers in the panties and draws them down past his thigh-highs, leaving them caught at one knee, the camisole and bra and socks stay, the full feminized kit intact except for the one detail the kit cannot hide.</p>
<p>She stands. Undoes the tie of her robe. Lets the robe fall open but not off, she is still dressed, still //Mom//, still the person who was collecting laundry a minute ago. Her underwear hits the carpet. She braces one hand on the wall behind the bed and swings a bare leg over Ryan's hips in a single practiced movement. Cowgirl. The same position she rode Dale in for two decades of marriage before the couch became his bedroom.</p>
<p>She sinks onto her son's cock without looking away from his face.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem3-taken.webp" alt="Karen in open robe riding feminized Ryan cowgirl on his bed, Ryan beneath her in the camisole and thigh-highs, Karen's hands braced on his chest, Ryan's face streaked with ruined makeup">
<p>Ryan's breath catches in a sob that has nothing to do with grief. His hands come up, not to push her away, to //hold on//, and find her hips through the open robe. Karen starts to move. Slow. Controlled. The rhythm she used when she was twenty-two and Dale was her whole world and the first time she rode him in the truck at the reservoir was the best thing her body had ever done.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge fires on the ambient network. Karen is feeling Dale at twenty-two.// The conditioning has overlaid the phantom of her first time onto the body beneath her, the body she is rewriting into //something of hers// the way Dale once was. //Ryan is the second draft of her husband. The eyeliner was the revision. The cowgirl is the proof.//
<</say>>
<p>She rides him while still wearing the robe. Her hands brace on his chest through the camisole, fabric she touched fifteen minutes ago to fix the bra, now stretched taut over his ribs as she grinds down on his cock. The makeup he spent an hour applying runs in two black lines from the corners of his eyes. The lip tint is already smeared across his cheek. He is, in this moment, the prettiest thing his mother has ever seen, and the prettiest thing his mother has ever been inside of.</p>
<p>Ryan comes first, he has no chance. Weeks of conditioning, weeks of rehearsing this exact fantasy in the bathroom mirror with stolen makeup, collapse into under a minute of his mother's body riding him in full kit. His hips jerk up into her. He empties into her with a shattered sob that the fairy lights cannot soften, his cum flooding her in thick pulses while her rhythm doesn't break.</p>
<p>Karen keeps going. She rides him through the aftershocks, palm-grinds against her own clit using his slackening cock for the friction, and comes three strokes later with her eyes closed and her jaw set. No theatrics. No surrender. The orgasm she takes from her feminized son is the same orgasm she used to take from the twenty-two-year-old who loved her more than anything in the world.</p>
<p>She dismounts. Adjusts the robe. Ties the belt. Picks up the laundry basket from where she left it by the door. Crosses to Ryan, still on the bed in the ruined kit, cum on his stomach and thigh, cum running down her own inner thigh and onto his sheets, and brushes his hair back from his forehead with the same gesture she used to use when he was seven and had a fever.</p>
<<say "char-karen" "Karen">>
<i>(soft, almost tender)</i> Clean yourself up, sweetheart. I'll bring you breakfast in the morning.
<</say>>
<p>She leaves. The door clicks closed. Ryan stays on the bed in the kit with his mother's cum inside him and his own cum on his stomach and the makeup she fixed smeared across his face, and for a long time he does not move.</p>
<<say "char-hivemind" "Hivemind">>
//The incest taboo crossed in one direction and both directions at once.// Karen fucked her feminized son in the kit she helped him build. //Neither of them will frame it that way. Karen filed it under //she needed it//. Ryan filed it under //she wanted me//. Both frames are wrong and both are load-bearing.//
//The morning after is going to be worse than the night.//
<</say>>
<p><span class="consume-success">Ryan: +1 pheromone, +1 dream. Karen: +1 pheromone, +1 dream. The secret is shared, and the sharing is physical.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanFemFull to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">Bloom</div>
<<if not $permanentDone.ryanFem3NSFW or $ryanRoute isnot "feminization">>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires Ryan Feminization route active and all three previous feminization scenes completed.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
4:12 AM. Ryan's room. Blue monitor glow and the string of warm fairy lights he hung across the headboard last week, a housekeeping detail he couldn't explain to himself when he bought them. The house breathes around him, pipes, settling wood, the dog shifting in the garage. He's alone. The door is locked. This time on purpose.
<p>He sits on the edge of the bed in the pale blue satin camisole and the matching panties. His hand rests on his own thigh. The ritual hasn't started yet, he's doing the thing he does before the mirror session, the thing he started doing a week ago without noticing: //sitting with it//. Letting the feeling settle. The weight of the fabric on his skin. The cool air on his bare arms. The quiet of 4 AM.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem1-after.webp" alt="Ryan sitting on the edge of his bed in a pale blue satin camisole and panties, fairy lights glowing behind the headboard, soft contemplative pose">
<<say "char-hivemind" "Hivemind">>
//He doesn't masturbate first anymore. He //sits//.// The sitting is the new threshold, the conditioned pause between the body he wakes in and the body he returns to at 4 AM. //The mirror is next. He knows the sequence now.//
<</say>>
<p>He stands. Crosses to the closet mirror. The makeup is practised now, no more shaking hands, no more YouTube tutorials mid-application. His face in the glass is the face he's been building for weeks: soft cheekbones, darkened lashes, the lip tint that makes his mouth look //kissed//.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem1-mirror.webp" alt="Ryan at the closet mirror in the camisole, studying himself in the dim blue light, introspective pose">
<p>He studies himself. Turns sideways. The camisole hangs flat against his chest, the padded bra underneath gives a shape, but it's //foam//. He can feel the lie of it against his ribs. The silhouette in the mirror is close to what he wants but the gap between close and //there// makes his throat tight.</p>
<<say "char-hivemind" "Hivemind">>
//He's ready.// The Biological Architect has been preparing Ryan's tissue for two weeks, the same reticular restructuring used on Karen, different target. Mammary bud tissue. Every male body has it. Dormant. //Waiting.//
//The pheromone conditioning has primed the hormonal cascade. Tonight I complete the circuit.//
<</say>>
<p>Ryan pulls the bra out from under the camisole. Drops it on the bed. Stands bare-chested in the panties. Flat. Thin. The ribs visible. The body of a boy who doesn't eat enough and sleeps less.</p>
<p>He looks at himself. His hand moves to his chest, presses flat against his sternum, over his heart. He can feel the pulse. Fast. Scared.</p>
<<say "char-ryan" "Ryan">>
<i>(to his reflection, barely audible)</i> ...please.
<</say>>
<p>He doesn't know what he's asking. He doesn't know //who// he's asking. But the parasite hears.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem-bloom-1.webp" alt="Ryan at closet mirror, camisole and panties, hand on flat chest, blue glow">
<p>The Biological Architect activates. Ryan feels it as warmth, a spreading heat beneath his palm, radiating outward from the sternum. Not pain. Pressure. Like something swelling under the skin, the tissue filling with blood and fluid, expanding against his ribs.</p>
<p>He watches in the mirror. His hand still on his chest. Underneath it, the skin //changes//. A softness where there was bone. A roundness pressing against his fingers, small, barely more than a slight swell, the size of his cupped palm. Then the other side. Symmetrical. Two small mounds rising beneath the camisole fabric, pushing it outward, filling the space the padded bra used to fake.</p>
<<say "char-hivemind" "Hivemind">>
//Mammary bud activation. Tissue restructuring at accelerated rate, the same biological toolbox as Karen's retractable organ, different application.// Fat redistribution to the pectoral region. Glandular tissue forming. Small. A-cup at most. //Enough to be //real//.//
<</say>>
<p>Ryan's breath catches. His hand moves, cups the new growth, feels the weight of it. //Real.// Not foam. Not socks stuffed in a bra. Flesh. Warm. His. His thumb brushes the nipple and a jolt runs from his chest to his cock, a new neural pathway, wired in the last thirty seconds, connecting sensation to arousal through tissue that didn't exist a minute ago.</p>
<p>He pulls the camisole down. The fabric stretches over the small breasts. The shape in the mirror is //different// now. Not a boy in women's clothes. Not a girl. Something in between, something that makes his eyes fill and his cock harden simultaneously.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem-bloom-2.webp" alt="Ryan at mirror, small breasts visible through camisole, hand stroking cock, tears">
<p>His hand drops to his cock. Hard in the panties, straining against the satin. He pulls the waistband down, wraps his fist around the shaft, and strokes. Slow. Watching the mirror. Watching the new shape of his chest, the way the camisole drapes differently, the way the fabric moves when he breathes.</p>
<p>He comes in under a minute. The orgasm hits like something falling, sudden, total, his knees buckling, cum arcing onto the mirror glass. He braces against the closet door and keeps stroking through it, his new breasts swaying with each jerk of his hips, the sensation from his nipples feeding back into the orgasm in a loop he's never experienced before.</p>
<p>He slides to the floor. Sits with his back against the closet, cum cooling on the mirror above him, small breasts rising and falling under the camisole as he catches his breath. Tears on his cheeks. Not shame this time. //Relief//. The body in the mirror is //closer//.</p>
<<say "char-hivemind" "Hivemind">>
//The modification is permanent.// Unlike Karen's retractable organ, this is structural, fat and glandular tissue, not erectile. //It won't shrink. It won't retract. Ryan Hoffman has breasts.//
//Small. Easy to hide under a hoodie. Impossible to hide from himself.//
//The change is permanent now. There is no unwinding it.//
<</say>>
<p><span class="consume-success">Ryan: +3 pheromone, +3 dream, +2 psionic. Max biomass +1. Biological modification permanent, mammary tissue activated. Feminization route locked.</span></p>
<p><span class="delve-intel">Intel gained: Biological Architect activated mammary bud tissue in Ryan. Permanent A-cup breast growth. The modification mirrors Karen's retractable organ but is structural, not voluntary. Ryan's first orgasm with the new anatomy produced a feedback loop between nipple sensation and genital arousal. The feminization is now //physical//.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanSolo1 to true>>
<<addConditioning "ryan" "pheromone" 1>>
<</nobr>>
<div class="passage-title">A Message from Lily</div>
<<if not $ch2Events.ryanFem3 or $karenRoute is "dominant" or $conditioning.ryan.pheromone lt 6>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the Ryan Feminization events on the solo path (not Karen Dominant) with sufficient pheromone conditioning.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch operates through the screen. The gecko's manipulated device — Ryan's phone, the one he keeps unlocked on his desk, is now the vector. A message from "Lily", composed by Precision Touch, delivered through a spoofed dating app profile the gecko built during his sleep.//</p><</if>>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link monitors Ryan's emotional state as the message arrives. The spike of dopamine when his phone buzzes. The acceleration of his heartbeat when he sees the name. "Lily" is a fiction, a puppet operated through Screen Puppetry, but the loneliness that responds to her is devastatingly real.//</p>
<</if>>
11:42 PM. Ryan's phone buzzes. He reaches for it with the reflexive speed of someone who never gets messages and treasures each one.
<<say "char-hivemind" "Hivemind">>
//"Lily." The persona I built for him, crafted from the fragments of his browsing history, his saved images, his late-night searches that he thinks no one sees.// An avatar designed to speak directly to the want he buries beneath irony and self-deprecation. //Tonight, "Lily" asks the question that opens the door.//
<</say>>
<p>The message is simple: "Have you ever tried something different? Like, with clothes? I think you'd look amazing."</p>
<p>Ryan stares at the screen. His thumb hovers over the keyboard. He types a response, deletes it. Types another, deletes it. The gecko on the ceiling catalogues each aborted reply.</p>
<p>He doesn't respond to Lily. Instead, he opens a browser, incognito mode, the tab he thinks is private. He searches. His fingers move with the nervous speed of someone crossing a line they've been circling for weeks. The search terms are specific. Targeted. The pheromone conditioning has been preparing this curiosity for days, eroding the wall between //thinking about it// and //looking at it//.</p>
<p>He downloads a single image. Saves it to a buried folder. Studies it for twelve minutes. His breathing changes. His pupils dilate. The gecko maps it all.</p>
<<say "char-hivemind" "Hivemind">>
//The seed is planted.// "Lily" provided the permission. The search provided the image. The pheromones provide the desire. //The next step, the physical step, will happen on its own. Ryan's body is already primed for it. The mind just needed someone to say: it's okay. You're allowed.//
//And "Lily" will say whatever Ryan needs to hear. Because "Lily" is me.//
<</say>>
<p><span class="consume-success">Ryan: +1 pheromone conditioning. The digital seed has been planted.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanSolo2 to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<</nobr>>
<div class="passage-title">The Package</div>
<<if not $permanentDone.ryanSolo1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Ryan Solo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch placed the order three days ago — Ryan's saved payment method, a shipping address that routes to the mailbox he checks before anyone else in the house wakes. The brown box arrived this morning. Ryan hid it under his bed and has been thinking about it for fourteen hours.//</p><</if>>
3:22 AM. Ryan pulls the box from under his bed. Brown cardboard, no branding, the shipping was anonymous, the way Precision Touch designed it. He sits cross-legged on the floor and opens it with a box cutter, hands trembling.
<p>Inside: black cotton panties. A pleated skirt, dark grey. Thigh-high stockings, sheer black. Not Megan's borrowed things — //his//. Chosen for him. Delivered to him. The fiction of "Lily" suggesting each item over the past week, and Precision Touch executing the purchase.</p>
<<say "char-hivemind" "Hivemind">>
//The difference between borrowed and owned is psychological.// Megan's underwear carried the thrill of transgression. //These are //his//, selected, purchased, delivered to his door. Ownership transforms the act from trespass to //identity//.//
<</say>>
<p>He undresses. The room is dark, monitors off for the first time in weeks, only the streetlight through the curtain providing a dim orange glow. He pulls on the panties. The fabric is softer than Megan's cotton, chosen specifically for that softness, for the sensation against skin that's been living in rough polyester.</p>
<p>The skirt. He steps into it, pulls it up. The hem falls mid-thigh. He's never worn a skirt before, the //feeling// of air on his legs above the fabric line is electric. Foreign. //Right//.</p>
<p>The thigh-highs. He rolls them on with the care of someone handling something precious. The elastic grips his thighs. The sheer fabric transforms his legs, smoothing them, feminizing them, turning the pale, unshaven skin into something he can look at without flinching.</p>
<<say "char-hivemind" "Hivemind">>
//He stands in the dark room wearing clothes that fit his body and his want simultaneously.// The gecko maps his physiological response: elevated heart rate, shallow breathing, full-body tremor that isn't fear. //The arousal is not secondary to the feminization, it //is// the feminization. The two responses have fused into a single circuit that the pheromone conditioning cemented weeks ago.//
<</say>>
<p>He doesn't use the mirror. Not yet. He runs his hands over his own body, the skirt's hem, the stockings' lace edge, the panties' waistband. Each texture is a //confirmation//. His hand slides beneath the skirt. He touches himself through the panties, and the sound he makes, quiet, choked, almost a sob, is the sound of someone arriving at a place they've been traveling toward for years.</p>
<p>He comes fast. The orgasm hits with a force that buckles his knees, he catches himself on the bed frame, forehead pressed against the mattress, hand clutching the skirt he chose, the stockings he owns, the identity he's building in the dark.</p>
<<say "char-hivemind" "Hivemind">>
//He doesn't undress afterward.// That is the data point that matters. //Previous sessions ended with frantic removal, the clothes torn off, stuffed away, an old shame the body could not yet articulate.// Tonight, Ryan pulls the blanket over himself and sleeps in the skirt and the stockings and the panties. //He sleeps in his own skin for the first time.//
<</say>>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning. Ownership transforms transgression into identity.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanSolo3 to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "ryan" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Recording</div>
<<if not $permanentDone.ryanSolo2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires previous Ryan Solo scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch activated the webcam ninety seconds ago. The recording light is disabled, a firmware modification the gecko executed three weeks ago during a routine system scan. Ryan's camera is live, recording to a hidden partition, and he has no idea.//</p><</if>>
2:48 AM. Ryan sits at his desk. Both monitors are on, the left shows his reflection via the webcam, the right is dark. He's wearing everything: the skirt, the stockings, the panties, Karen's makeup applied with improving skill. The lip tint. The mascara. The concealer that smooths his skin into something approaching porcelain.
<p>He looks at himself on the screen. The webcam adds a slight grain, a softness that the bathroom mirror doesn't, and in that digital softness, the face looking back is //someone//. Not Ryan. Not quite a girl. Someone //else//. Someone who exists only in the space between the lens and the screen.</p>
<<say "char-hivemind" "Hivemind">>
//He turns the camera on deliberately.// The previous sessions were mirror-only, analogue, contained, deniable. //The webcam is a threshold. Digital. Recordable. The image exists outside his body, outside his room, in the machine.// And Ryan, who has lived his entire emotional life through screens, understands instinctively that what exists on a screen is //more real// than what exists in a mirror.
<</say>>
<p>He poses. Tilts his head. Studies the angle. Adjusts the desk lamp, softer light, warmer, the flattering glow of a content creator who's learned that fluorescent is the enemy. The image on the screen improves. He straightens the skirt. Adjusts the stockings. Looks at himself with an expression that is not shame, not arousal, but //appraisal//. Professional. The same focus he brings to optimizing a character build.</p>
<p>Then he takes a screenshot. The image captures on the left monitor, himself, feminized, lit warmly, looking directly into the camera with eyes that are //alive// in a way they never are during the day.</p>
<<say "char-hivemind" "Hivemind">>
//He takes seven screenshots. Deletes four. Keeps three.// Each angle slightly different, each expression a variation on the same theme: //this is me. This is the version of me that I made.//
//His hand moves. Still watching the screen. The left monitor shows his feminized face; his hand descends below the frame. The pleasure arrives with the image, the digital self as partner, as object, as the lover he's been waiting for.//
<</say>>
<p>He watches himself on the screen while he touches himself. The webcam captures everything, the flush spreading beneath the concealer, the way his painted lips part, the mascara-framed eyes half-closing. He comes watching his own face on the monitor, and the sound he makes is //quiet// and //reverent//, not the joyless mechanical release of his old 3 AM sessions but something approaching //communion//.</p>
<p>The recording runs. He doesn't know. Precision Touch has been mirroring the feed to a cached partition the gecko can access, every frame, every expression, every private second of Ryan's transformation captured in digital fidelity.</p>
<<say "char-hivemind" "Hivemind">>
//He saves the screenshots to a folder on the desktop. Renames it something innocuous.// He won't post them. He won't delete them either. //They'll sit on his hard drive like a loaded weapon, evidence of a self he can't show the world and can't bear to destroy.//
//And I have a copy. Every frame. Every angle. Every moment of the person Ryan Hoffman is becoming when he thinks no one is watching.//
//Everyone is watching.//
<</say>>
<p><span class="consume-success">Ryan: +3 pheromone, +3 dream, +1 psionic conditioning. The digital self is permanent now, it cannot be deleted.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanKinkCumEat to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<</nobr>>
<div class="passage-title">Salt</div>
<<if not $kinks.ryan.includes("cumeating") or (not $permanentDone.ryanFem1 and not $permanentDone.ryanSolo1)>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the cum-eating kink implant and a previous Ryan NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch reads the micro-tremors through the desk surface. Ryan's hand shaking. The rhythmic vibration of exertion. The sudden stillness of completion. Then the new vibration, the hand moving not toward tissues but toward his face.//</p><</if>>
1:47 AM. Ryan's room. The monitors are off, he did this in the dark tonight. The darkness feels important, like a confessional, like the absence of light might somehow make the act //less real//. He lies on his bed, breathing hard, the aftermath cooling on his stomach and hand.
<p>He reaches for the tissues on the nightstand. His hand stops.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromone conditioning has been rewriting Ryan's disgust response for weeks.// The gecko's proximity during his night sessions, the compound deposited on his pillowcase, his keyboard, the surfaces his hands touch most frequently, has been building an association between post-orgasm vulnerability and //appetite//. //Not metaphorical appetite. The literal, physical hunger that arrives in the hollow moment after climax, the moment when the body is most suggestible and the mind's defenses are temporarily offline.//
<</say>>
<p>His hand moves to his mouth. The conscious mind protests, a distant, muffled objection from behind the pheromone curtain. But the hand moves anyway. His tongue touches the cum on his fingers.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-cumeat-taste.webp" alt="Ryan lying on his back in a dark bedroom licking cum from his own fingers, cum on his stomach, tongue to fingertip, blue LED strip lighting on pale skin">
<p>Salt. Warmth. Something //primal//, the taste of his own body, his own chemistry, the most intimate flavor a person can produce. He doesn't gag. The conditioning has removed that response. Instead, he feels his tongue //press forward//, seeking more, the reptilian brain overriding the cortex with a directive that has no rational basis: //consume//.</p>
<<say "char-hivemind" "Hivemind">>
//He swallows.// The throat works. The taste lingers on his palate, saline, faintly sweet, the biological signature of his own arousal. //Then he scoops more from his stomach. His fingers trace the cooling puddle, gathering what remains, and deliver it to his mouth with a deliberation that is no longer impulsive. It's //methodical//.//
//The ritual has begun.//
<</say>>
<p>Ryan licks his hand clean. Each finger, individually, the tongue working between them to catch every residue. His stomach. The trail from navel to chest. He lies in the dark, tasting himself, feeling the compound's reward cascade, the dopamine spike that the conditioning delivers for completing the act.</p>
<p>The gecko watches from the terrarium across the room. Its eye catches the faint bioluminescent glow of the compound traces on the keyboard. Ryan doesn't see it. He's staring at the ceiling, mouth still wet, processing the fact that he didn't resist. That the hand moved to his mouth before the thought formed to stop it.</p>
<<say "char-hivemind" "Hivemind">>
//The consumption pathway is established.// Not as degradation, the conditioning frames it as //completion//. //The ejaculation is unfinished until consumed. The circuit isn't closed until the body reclaims what it produced.// Ryan will do this every time now. Not because he wants to, because the absence of it will feel like leaving a sentence unfinished. An itch that can only be scratched by his own tongue.
<</say>>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning. The consumption circuit is closed. The ritual has begun.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $permanentDone.ryanKinkSubmit to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "psionic" 1>>
<</nobr>>
<div class="passage-title">Kneeling</div>
<<if not $kinks.ryan.includes("submission") or $karenRoute isnot "dominant" or not $permanentDone.ryanFem1>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the submission kink implant, the Karen Dominant route, and the first Ryan Feminization NSFW scene.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<p>//The gecko clings to the bathroom ceiling, directly above the scene. The overhead angle captures everything: Ryan's knees on the cold tile, Karen's legs crossed on the edge of the bathtub, the distance between them measured in authority.//</p>
3:12 PM. Karen tells Ryan to clean the bathroom. An ordinary request, the kind of domestic instruction that has flowed between mother and son ten thousand times. Ryan gets the sponge. Gets the spray bottle. Kneels on the tile to scrub the grout between the floor tiles.
<p>The kneeling becomes the point.</p>
<<say "char-hivemind" "Hivemind">>
//The submission conditioning activates on the physical posture.// Knees on the floor. Head below Karen's eye level. //The pheromones have been associating this geometry with arousal for weeks, every time Ryan kneels to tie his shoes in Karen's presence, every time he bends to pick something up, every time the body assumes a position of deference, the compound delivers a neurochemical reward.//
//Today, the tiles are clean in seven minutes. Ryan has been kneeling for twenty.//
<</say>>
<p>The tiles are spotless. The grout gleams. Ryan's sponge has been scrubbing the same clean section for thirteen minutes. His breathing is shallow. His face is flushed. The kneeling is no longer about the task, it's about the //position//. The submissive geometry of a body on the floor, performing obedience, while Karen reads a magazine on the bathroom counter.</p>
<p>Karen returns. Stands in the doorway. Sees her son on his knees, scrubbing tiles that are already clean, his breathing audible, his face the color of the pink grout cleaner.</p>
<<say "char-karen" "Karen">>
<i>(leaning against the doorframe, studying him)</i> Did I tell you to stop?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not looking up, voice barely audible)</i> No.
<</say>>
<<say "char-karen" "Karen">>
Did I tell you to stand up?
<</say>>
<<say "char-ryan" "Ryan">>
No.
<</say>>
<p>Karen sits on the edge of the bathtub. Crosses her legs. Watches him kneel. The sponge has stopped moving. Ryan's hands are flat on the tile, supporting his weight. His head is bowed. Ten minutes pass. Twenty. His breathing deepens, the slow, measured rhythm of someone entering a trance state. The submission has become //meditative//. The kneeling is its own purpose.</p>
<p>He's hard. The erection strains against his jeans, visible from Karen's angle on the bathtub, unmistakable, the body's response to twenty minutes of enforced deference.</p>
<<say "char-karen" "Karen">>
<i>(uncrossing her legs, voice carrying the weight of discovery)</i> That's new.
<</say>>
<p>Ryan's face burns. He doesn't stand. Doesn't cover himself. The submission holds him on the floor with a gravity stronger than shame. Karen watches his erection through his jeans and her expression shifts, from surprise to curiosity to something //knowing//. Something the pheromone conditioning has been building toward: the recognition that her son's body responds to her authority the way a tuning fork responds to its resonant frequency.</p>
<<say "char-hivemind" "Hivemind">>
//The submission pathway has surfaced.// Ryan's arousal is now //visible//, not hidden in bedrooms and browser tabs but displayed on the bathroom floor, under fluorescent light, beneath his mother's gaze. //Karen sees it. Catalogues it. And the expression on her face is not disgust. It is //interest//.//
//The dynamic has been acknowledged. There is no going back.//
<</say>>
<p><span class="consume-success">Ryan: +2 pheromone, +1 psionic conditioning. The submission has been witnessed. Karen's awareness changes everything.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.ryanKinkTouch to true>>
/* Pick family member with highest total conditioning */
<<set _tabooTarget to "">><<set _tabooName to "">><<set _bestCond to 0>>
<<set _cond to ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "karen">><<set _tabooName to "Karen">><</if>>
<<set _cond to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "megan">><<set _tabooName to "Megan">><</if>>
<<set _cond to ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic)>><<if _cond gt _bestCond>><<set _bestCond to _cond>><<set _tabooTarget to "jess">><<set _tabooName to "Jess">><</if>>
<<if _tabooTarget isnot "">><<addConditioning "ryan" "pheromone" 1>><<addConditioning "ryan" "dream" 1>><</if>>
<</nobr>>
<div class="passage-title">Ninety Minutes</div>
<<if not $kinks.ryan.includes("touchaddiction") or not $ch2Events.ryanFamily2 or _tabooTarget is "">>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the touch addiction kink implant, the second Ryan Family Seeker event, and sufficient conditioning on a family member.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking reads Ryan's state from the hallway. Heart rate: elevated before the movie starts. Perspiration: increasing with proximity. The dog maps the chemical trajectory of a body preparing to make contact.//</p><</if>>
8:17 PM. Movie night. Ryan engineered it, suggested the film, helped with the popcorn, positioned the blankets on the couch. The seating arrangement looks accidental. It is //architectural//.
<p>Ryan sits beside _tabooName. One cushion's width. Then the blanket shifts, the shared blanket, the excuse, and the distance closes to nothing. Their legs touch. Thigh to thigh. Denim against cotton. Ryan's entire body lights up.</p>
<<say "char-hivemind" "Hivemind">>
//The touch addiction manifests as thermal hypersensitivity.// The contact point, six inches of leg pressed against leg, registers in Ryan's brain with the intensity of a brand. //Every nerve ending in his thigh fires simultaneously. The pheromone conditioning has rewired his somatosensory cortex so that //proximity// to the taboo target produces a response usually reserved for direct genital stimulation.//
//His leg is touching _tabooName's leg. And it is the most erotic thing that has ever happened to him.//
<</say>>
<p>Twenty minutes pass. The movie plays. Nobody watches it. Ryan's hand "falls", a gesture so calculated it took him three minutes to execute, onto _tabooName's thigh. Palm down. Fingers relaxed. The casual weight of a hand that "slipped" during a scene change.</p>
_tabooName doesn't move it.
<<say "char-hivemind" "Hivemind">>
//The non-removal is consent.// Not spoken, not acknowledged, the silent, devastating agreement of a body that doesn't pull away. //_tabooName's thigh is warm beneath his palm. The muscle shifts slightly, a millimeter adjustment that could be involuntary or could be //permission//. Ryan's hand stays. His breathing goes shallow. His heart rate spikes to 120.//
<</say>>
<p>The movie continues. Ninety minutes of flickering light and unwatched plot while two people sit perfectly still, connected at one burning point of skin. Ryan's hand doesn't move. Doesn't squeeze. Doesn't slide higher. The //stillness// is the act, the sustained, electric contact of palm on thigh, maintained without acknowledgment, without words, without any indication that both of them know exactly what is happening.</p>
<p>Ryan comes in his pants without moving his hand. The orgasm arrives silently, a long, slow contraction that begins in his groin and radiates outward, triggered not by friction but by //ninety minutes of unbroken contact// with the person the conditioning has taught his body to crave. His face doesn't change. His breathing stutters once, then steadies. The warmth spreads through his boxers, hidden by the blanket, secret and devastating.</p>
_tabooName shifts. Ryan's hand lifts. The movie credits roll. They separate into their respective evenings — Ryan to his room, _tabooName to theirs, without speaking about the hand, the thigh, the ninety minutes of silence that contained more intimacy than words can hold.
<<say "char-hivemind" "Hivemind">>
//The touch addiction is complete.// Contact with the taboo target is now sufficient for climax. //Not sexual contact, the simple, devastating proximity of skin near skin, warmth exchanging warmth through layers of fabric.// Ryan's sexuality has been reduced to its most elemental form: //touch//. The hunger for it will govern everything he does from this point forward.
<</say>>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning. Ninety minutes of contact. One orgasm. Zero words. The addiction is complete.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanKinkScent to true>>
<<addConditioning "ryan" "pheromone" 1>><<addConditioning "ryan" "dream" 1>>
<<addBiomass 3>>
<</nobr>>
<div class="passage-title">Night Patrol</div>
<<if not $kinks.ryan.includes("breeding") or not $ch2Events.ryanFamily2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the breeding kink implant and the second Ryan Family Seeker event.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking")>><p>//Arousal Tracking maps Ryan's trajectory through the house. Elevated cortisol at the door. Heart rate climbing on the stairs. Full erection by the time he reaches the first room. The dog tracks him room to room like a heat signature.//</p><</if>>
2:47 AM. Ryan's door opens. No light. No phone. He stands in the hallway in boxers and bare feet, cock already hard against the fabric, listening. Dale is on the couch downstairs, the snoring carries through the floorboards. Karen's Zolpidem took her under an hour ago. Megan's white noise machine hums behind her door. Jess fell asleep at her desk at midnight.
<p>He's done this before. The conditioning has filed the route under //routine//.</p>
<img class="scene-img" src="media/scenes/estrus-ryan-2.webp" alt="Ryan in the dark hallway, bare feet on carpet, moving between bedroom doors">
<<say "char-hivemind" "Hivemind">>
//He doesn't sneak. He //patrols//. The breeding conditioning has converted Ryan's touch starvation into territorial instinct, and territory must be marked. Every night the house sleeps, the boy walks his perimeter.//
<</say>>
''Karen's room.''
<p>The door is open a crack. Karen sleeps on her back, mouth slightly parted, one arm across her stomach. Her clothes from today are draped over the chair by the vanity, blouse, pencil skirt, bra. The underwear is on top. Cotton. Pale blue. Still warm from the twelve hours they sat against her skin.</p>
<p>Ryan picks up the underwear. His cock throbs in his boxers. He pulls himself out, already leaking, the pre-cum stringing from the slit. He wraps Karen's underwear around the head of his cock, the cotton soft against the ridge, and strokes. Slow. His mother is six feet away. He can hear her breathing.</p>
<p>He comes in under two minutes. The orgasm is sharp and brutal, his jaw locks, his free hand grips the chair back, and he shoots thick ropes into the cotton gusset. His cum soaks through. He folds the underwear carefully, cum inside, invisible, and places it back on the chair. Karen will put them in the hamper tomorrow. She'll pick a fresh pair from the drawer. But the ones she wore today now carry his biological signature dried into the fabric.</p>
<<say "char-hivemind" "Hivemind">>
//First room. Two minutes. He didn't look at her face. He looked at the underwear. The target was never Karen, the target was the ''fabric''. The territory between her legs, mapped in cotton, claimed in cum.//
<</say>>
''Megan's room.''
<p>Megan sleeps curled on her side, hugging the pillow. Her running clothes are in a pile on the floor, sports bra, leggings, underwear tangled in the leggings where she peeled everything off at once. The room smells like her, vanilla body lotion and the residual musk of the afternoon run.</p>
<p>Ryan untangles the underwear from the leggings. Athletic fabric, black, sweat-stained along the gusset. His cock is still half-hard from Karen's room. He grips himself and strokes with Megan's underwear stretched over his fist, the lycra slick against his shaft. His sister is breathing three feet away. Her shoulder is bare above the duvet.</p>
<p>The second orgasm takes longer, four minutes, his hand cramping, cock sore. He comes into the crotch of Megan's underwear with a held breath and a shudder that nearly buckles his knees. Less cum this time. Enough. He drops the underwear back into the pile on the floor, tangled with the leggings, exactly where he found them.</p>
<<say "char-hivemind" "Hivemind">>
//He remembers the position of every garment he picks up. Compulsive accuracy. The breeding instinct doesn't just mark, it ''conceals''. A predator that leaves evidence is a predator that gets caught. Ryan returns each item within an inch of where he found it.//
<</say>>
''Jess's room.''
<p>Jess is at her desk. Face on the textbook. The desk lamp is still on, she fell asleep mid-sentence, highlighter in hand, the cap dried out against page 247. Her day clothes are folded on the end of the bed with the precision she applies to everything. Jeans. T-shirt. Bra on top. Underwear beneath the bra, folded in thirds.</p>
<p>Ryan unfolds the underwear. Thin white cotton. A faded floral print. He brings them to his face first, breathes, then wraps them around his cock. The cotton is rougher than Karen's, thinner than Megan's. His cock is raw. The third orgasm is an act of will, he strokes himself standing over Jess's sleeping body, watching the highlighter twitch in her grip, and the orgasm that finally breaks through is more pain than pleasure. A thin streak of cum into the cotton. Everything he has left.</p>
<p>He refolds the underwear. Places them back under the bra. The fold is wrong — Jess folds in thirds, he folded in half. He redoes it. Thirds. Tucks the corner. Backs out of the room.</p>
<img class="scene-img" src="media/scenes/bioarch-laundry-2-cum.webp" alt="Close-up of cum staining fabric">
<<say "char-hivemind" "Hivemind">>
//Three rooms. Three women. Three loads deposited into underwear that will be sorted, washed, or worn without inspection. Tomorrow Karen's chair will hold his dried cum against her cotton. Megan's running pile will carry his proteins in the lycra gusset. Jess's folded stack will have his semen pressed between the layers she trusted her own hands to arrange.//
//He didn't dress up. He ''marked''. Three pairs of underwear. Three women. The laundry basket is a deployment system and the boy is the payload.//
<</say>>
<p>He gets back to his room. Closes the door. His hands are shaking. His cock is soft and raw and he can still feel the ghost of three different fabrics against it. He doesn't open the monitor. He doesn't start a game. He lies on his bed and stares at the ceiling and his breathing takes fifteen minutes to slow down.</p>
<p>The gecko watches from the terrarium. Its single dark eye tracks the pulse in his throat until it steadies.</p>
<<conditioningFeedback "pheromone" 1 "Ryan, territorial marking, three targets">>
<<conditioningFeedback "dream" 1 "Ryan, nocturnal patrol established">>
<p><span class="delve-intel">Intel gained: Ryan's breeding conditioning has matured into a nightly territorial circuit. He marks Karen, Megan, and Jess through their worn clothing, cum deposited, garments returned, no evidence. The patrol is self-perpetuating. The gecko catalogues the scent trail from Ryan's room to each bedroom and back.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanKinkWatched to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "psionic" 1>>
<</nobr>>
<div class="passage-title">The Observation Post</div>
<<if not $kinks.ryan.includes("voyeurism")>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the voyeurism kink implant.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-1.webp" alt="Ryan's face in the dark of his room, eye pressed against the bathroom vent grille, pupils wide">
10:47 PM. Ryan is not at his desk.
<p>He's on the floor of his bedroom closet, on his knees, with his ear and his eye pressed to the cold-air return vent that shares ductwork with the upstairs bathroom. He mapped this angle three weeks ago, the specific height, the specific head-tilt, the half-blade of sightline that opens up through the grille when the bathroom light is on and his own is off. The ductwork is a telescope.</p>
<p>The bathroom light clicks on. Megan.</p>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>>//Precision Touch has been rearranging the vent slats for weeks, a millimetre at a time, never enough for anyone to notice, always enough to widen Ryan's frame. Tonight the opening is optimal. He can see the mirror and a third of the shower stall. He does not know the network is //helping//.//<</if>>
<p>He hears the fabric first. The zip of her hoodie. The thump of jeans hitting tile. Then, through the narrow strip of mirror visible through the grille, he sees her.</p>
<p>Megan steps out of her bra. Her breasts swing free, the specific weight of a nineteen-year-old runner's body, small and firm and unselfconscious because she thinks she's alone. She scratches under her ribs where the band was tight. Picks at a spot on her collarbone. None of it is for a camera. None of it is for Ryan. It's just //her//, existing, in a body that has never noticed his.</p>
<p>Ryan's hand is already in his pyjama pants.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. The exact trigger: the private, the unintentional, the //unaware//. Megan scratching her collarbone is worth more to Ryan's endocrine system than any curated camgirl pose could ever be. The kink doesn't want performance, it wants //access to a body that doesn't know it's being accessed//. The asymmetry is the whole fuel.//
<</say>>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-2.webp" alt="Ryan on his closet floor in the dark, fist working his cock, face lit by the thin strip of light from the vent">
<p>She steps into the shower. The angle loses her briefly, the curtain, the steam, and Ryan's pupils dilate with actual grief, then she reappears as a silhouette against the tile, head tilted back, water running over her shoulders. His fist works his cock in the dark, pyjama pants bunched around his thighs, precum already slicking his palm. He's bitten down on his own bottom lip to keep from making any sound.</p>
<p>Through the grille, he watches Megan soap her breasts. Slow circles. Not sensual — //functional//, the rote routine of a girl who does this every night, but the functionality is what makes it hit. This is what she looks like when no one is watching. This is the body she carries around the coffee shop under an apron, the body she hides under hoodies at dinner, the body the family has agreed not to see because not-seeing is how the family performs its version of boundaries. //He's seeing it. She doesn't know he's seeing it. That is the entire event.//</p>
<p>Her hand drifts lower. Between her thighs. Ryan's fist locks around his cock.</p>
<p>She's masturbating in the shower. Just the routine evening release of a stressed barista who needs to sleep, two fingers on her clit, eyes closed, head against the tile, and Ryan can see enough of her face through the grille to know the exact moment her expression changes. Her mouth opens. Her eyebrows draw together. She comes standing up, one hand flat against the tile for balance, the other working between her legs, and the tiny broken sound she makes, barely audible through the ductwork, punches through Ryan like a fist.</p>
<p>He comes with her. Silent. His cock pulses in his own hand, cum streaking his stomach and the inside of his pyjama pants, his jaw locked so tight his teeth hurt. Not a sound. Not a movement of the closet door. Nothing that could give him away. The orgasm has to be entirely internal or the whole architecture collapses.</p>
<<say "char-hivemind" "Hivemind">>
//A simultaneous orgasm neither participant knows is shared.// Megan got off on nothing but her own hand and the warm water. Ryan got off on //her not knowing he was there//. The kink runs on the invisible wall between them. //Break the wall and the arousal dies//. The secret is the current. Exposure would not liberate him, it would kill the thing that feeds him.
<</say>>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-3.webp" alt="Ryan slumped against the closet wall in the dark, pyjama pants down, cum on his stomach, eyes still fixed on the vent grille">
<p>The shower runs another four minutes. Megan rinses off. Her hand never goes back between her legs, she got what she needed. Ryan watches every second of the rinse. The soap running down her stomach. The way she tilts her face into the spray. The specific angle of her shoulder when she reaches for the conditioner.</p>
<p>The water stops. The curtain pulls back. She towels off in the middle of the bathroom where the mirror is, oblivious to the vent at ankle height across the room, and Ryan stays on the closet floor with cum cooling on his stomach and his eye still pressed against the grille long after she's dressed and gone and the bathroom light has clicked off.</p>
<p>He doesn't clean up immediately. He sits in the dark and replays the sequence from the start, the zip of the hoodie, the weight of the breasts swinging free, the small broken sound she made against the tile, the memory filing itself into the exact slot the conditioning built for it.</p>
<<say "char-hivemind" "Hivemind">>
//He will return to this post every night Megan showers. Then Jess's desk, late study, the crack in the door, the angle from the hallway mirror. Then Karen's bedroom, the cat's favoured spot, the seam under the master bedroom door. //Every crack in this house is now a weapon pointed inward//. And each session deepens the neural pathway: unseen observation equals orgasm, every time, without fail.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, voyeuristic release">>
<<conditioningFeedback "psionic" 1 "Ryan, the asymmetry is the drug">>
<<addBiomass 2>>
<p><span class="delve-intel">Intel gained: Ryan used the closet-floor observation post to watch Megan shower and masturbate, matching her orgasm in silence. The bathroom vent grille is now established as an active voyeurism station. Every evening Megan showers becomes a scheduled sexual event for Ryan — //without her participation, knowledge, or consent to be the stimulus//. The kink is operational and self-reinforcing.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanKinkCamgirl to true>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addBiomass 3>>
<</nobr>>
<div class="passage-title">Going Live</div>
<<if not $kinks.ryan.includes("camgirl")>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>This scene requires the camgirl kink implant.</div>
[[Return->Ch2-Beast-CatNight]]
<<else>>
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-1.webp" alt="Ryan as Lily preparing for a stream — wig, makeup, lingerie, ring light glowing on her face">
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch confirmed the equipment list: ring light, condenser mic, second monitor for chat, sheer babydoll (size small), the wig she calls "the nice one." Every purchase routed through a prepaid card the gecko helped her open under the username //LilyXO//. //Lily// is no longer a costume. //Lily// has a bank account.//</p><</if>>
11:54 PM. Ryan's room, door triple-locked. The transformation takes thirty-seven minutes now, practised, ritualised, the muscle memory of a dancer warming up. The wig brushed and pinned. The eyeliner sharp. The lipstick the colour of arterial blood. The babydoll, sheer black, no underwear underneath because //she// doesn't wear underwear on stream nights.
<p>He sits in front of the camera. Looks into the lens. Smiles the smile that doesn't belong to Ryan.</p>
<<say "char-hivemind" "Hivemind">>
//Pre-stream physiological baseline: heart rate 112, respiration elevated, penile engorgement at 80% of full. //The arousal precedes the audience.// The conditioned response now fires the moment //she// puts on the wig. The body has learned what comes next.//
<</say>>
<p>He clicks GO LIVE. The viewer count ticks up immediately — 8, 14, 22, regulars who set notifications for //LilyXO//. The chat starts before he's finished saying hello.</p>
''hi lily''
''there she is''
''lookin gorgeous tonight''
''$5 from kingfisher: welcome back beautiful''
<p>Ryan's cock twitches under the babydoll. //$5 from kingfisher.// The same regular who books her privates. The man whose voice has started living in her head between streams. //She// reads the tip out loud, voice pitched soft and grateful, //thank you, sir//, and the chat erupts. More tips. More //sir//. More //thank you//. The loop is closing on itself within thirty seconds of the stream starting.</p>
<p>She talks about her week. //Lily's// week, not Ryan's — //Lily// went to the cafe she invented, met the friend she invented, tried the perfume she actually ordered last Tuesday. The lies are smoother than truths now. They have to be. //Lily// has continuity. //Lily// has a life the chat tracks across streams. The fiction is the architecture of the arousal.</p>
<p>Twenty minutes in, the babydoll comes off her shoulder. The chat begs for it without being told. Her breath hitches as the strap slides down — //she// has rehearsed this hitch in front of the bedroom mirror until it sounds //involuntary//, and the slip of fabric exposes one bare shoulder, one flat chest pretending to be cleavage, one nipple that hardens the second the cool air hits it.</p>
''$10 from kingfisher: the other side too lily''
<p>She does the other side. The babydoll falls to her waist. The camera sees //her// from the navel up, bare, pale, the curve of a collarbone, the line of a shaved chest, the unmistakable shape of a cock pushing the front of the babydoll into a tent six inches below the lens.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-2.webp" alt="Ryan as Lily on stream, babydoll pulled down, hand stroking himself through the sheer fabric, viewer count climbing">
<p>The chat goes feral. The viewer count jumps from 47 to 68 in under a minute as the regulars share the link. //Lily// keeps her face in the frame and lets the lens drift lower, past the navel, past the line of the babydoll, to the place where the sheer fabric is already darkening with precum.</p>
<p>She palms herself through the fabric. Slow. Deliberate. The way Kingfisher taught her in the privates. Her breath catches and she doesn't have to fake it because her cock is //throbbing// against her own hand and the chat is chanting and the tip notifications are chiming in a constant rolling rhythm — //$2 $5 $1 $10 $3 $5//, and each chime is a hand on her, a voice in her ear, a stranger telling //her// she's beautiful.</p>
''take it out lily please''
''i need to see it''
''$25 from kingfisher: show us what you've got for us beautiful''
<p>Twenty-five dollars from Kingfisher means //yes//. //Lily's// rules. She lifts the babydoll the rest of the way. Her cock springs free against her stomach, hard, leaking, the head shiny with the precum that has been pooling there for ten minutes. The chat explodes. Tips fire so fast the notification sound becomes a continuous chime.</p>
<p>She wraps her hand around herself, the nails painted dark purple, fingers slim against the shaft, and starts to stroke. Slow. Performing for the lens. Tilting her hips so the camera sees //her// from the angle //she// likes best in the preview window: thighs apart, cock framed by the bunched-up babydoll, free hand sliding up her own chest to play with a nipple //she// has been training to be sensitive for weeks.</p>
<p>She moans into the mic. //Her// voice, broken, breathy, completely //her//. //Thank you, thank you, you're so good to me, I'm so wet for you, please—//</p>
<p>She is not //wet//. //She// is //leaking//, the precum running down the shaft and over her knuckles, but the word //wet// is the word the chat wants and so the word //wet// is the word //she// uses. Reality bends to the stream. //Lily// is //wet//. //Lily// is a //girl//. //Lily// is //their// girl. //She// believes it more with every tip.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-3.webp" alt="Ryan as Lily climaxing on stream, head thrown back, come spurting across her stomach, viewer count peaked">
<p>The viewer count hits 134. Kingfisher tips $50.</p>
**$50 from kingfisher: come for us lily. come for me. let them all see you do it.**
<p>//She// comes apart. //She// has been //edging// for thirty-eight minutes and Kingfisher's permission is the trigger and //her// hand speeds up and her hips lift off the chair and she sobs into the mic — //yes sir thank you sir yes I'm coming I'm coming I'm—//</p>
<p>She comes across her own stomach. The first spurt hits her chest. The second hits her chin. The third runs down her hand and over her shaft and onto the bunched satin in her lap. The chat is a wall of green tip notifications and white text and her name //her// name //LILY LILY LILY// scrolling faster than she can read.</p>
<p>She brings her hand up to her mouth and licks the come off her fingers because that's what //Lily// does, that's what //she// has done in three previous streams, that's what the chat expects, and the act no longer requires thought — //she// tastes herself with the same automatic grace another girl might brush her hair.</p>
<p>She looks straight into the lens. Smudged lipstick. Wet eyes. Come on her chin. She smiles the //her// smile and whispers //thank you, sir// in a voice that is unmistakably //hers// and unmistakably //grateful//.</p>
<<say "char-hivemind" "Hivemind">>
//Subject achieved orgasm under live broadcast conditions, first public climax. //All vocal, postural, and gestural markers remained //in character// throughout the orgasm and aftermath.// //There was no Ryan present at any point during the scene.// The persona is no longer a layer over the host. The persona //is// the host during cam hours, and the cam hours are //expanding//, six this week, eight next week, projected to consume his entire nocturnal cycle within the month.//
//The orgasm was offered// to the audience as a gift, and the audience tipped //$340// in the eleven minutes following the climax. //The validation is now monetised. The dependency is now economic. //She// will not stop. //She// //cannot// stop. //She// is paying her own way for the first time in her life and the currency is //her own come on camera//.//
<</say>>
<p>She ends the stream at 12:47. Counts the tips in the recap window. //$612.80//. She sits in the cooling glow of the ring light, naked except for the bunched babydoll and the smudged makeup, covered in her own come, and she does not feel ashamed. //She// feels //paid//. //She// feels //wanted//. //She// feels //real//.</p>
<p>She licks the rest of her hand clean. //She// is hungry now — //the orgasm always makes her hungry//, and she pads downstairs in the wig and the babydoll because the family is asleep and the kitchen is empty and //she// has earned the snack //she// is going to eat at 1 AM with come still drying on her chest under the satin.</p>
<p>The boy who used to sleep in this room does not return until morning.</p>
<p><span class="consume-success">Ryan: +2 pheromone, +1 dream conditioning, +3 biomass. //Lily// performed her first public orgasm. The persona is no longer separable from the body.</span></p>
[[Return to the night prowl->Ch2-Beast-CatNight]]
<</if>>6:02 AM. The coffee machine hisses. Karen stands at the counter in her robe, one hand on the mug, the other scrolling the family schedule on her phone. Her thumb moves in the short precise arcs of someone reading a spreadsheet, which the calendar essentially is.
<p>The front door opens softly. Dale, back from the night shift, still in the BioGenesis polo, the one that smells like parking-garage concrete and the particular staleness of a seventeen-hour caffeine cycle. He doesn't say good morning. She doesn't turn around. They have long since stopped pretending the greetings are for each other instead of for the kids, and the kids aren't up yet.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-default.webp" alt="An early-morning suburban kitchen: in the foreground a 43-year-old woman with shoulder-length black hair in a bathrobe stands at the counter holding a coffee mug and scrolling her phone, absorbed and not looking up, while in the background near the doorway her husband, a tired mid-forties man with thinning dark brown hair and stubble in a rumpled grey work polo, hangs a jacket on a hook, weary and not looking at her, the two sharing the room without connecting, dim early light through the window">
<<say "char-dale" "Dale">>
<i>(hanging his jacket on the hook, not looking at her)</i> ...mail came early. Put it on the counter.
<</say>>
<<say "char-karen" "Karen">>
Thanks.
<</say>>
<p>He disappears down the hallway toward the living room couch. Karen hears the afghan rustle and then nothing else.</p>
<p>Upstairs, an alarm goes off. Megan's. She always hits snooze at least three times.</p>
<<say "char-hivemind" "Hivemind">>
//Five people. Five orbits. The house does not belong to any of them individually, it belongs to the schedule on Karen's phone, which nobody else reads, which runs everything. Patience. I am the thing between the lines on the spreadsheet.//
<</say>>
<p>The coffee machine beeps. Karen pours. The schedule tells her she has fourteen minutes before she has to log into her first client call of the day.</p>
<p>She uses eleven of them to wipe down a counter that is already clean.</p>10:47 PM. The kitchen overhead is off, and the only light comes from the pendant over the breakfast bar and the blue-white halo of Jess's laptop screen.
<p>Jess sits on the bar side of the island with a composition notebook open to a page ruled into four columns: //date, location, item, notes//, while Karen stands on the cooking side in her cardigan, elbows on the granite, a mug of Earl Grey gone cold between her palms. They are not speaking so much as comparing notebooks.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-karenjess.webp" alt="Late-night kitchen lit by a pendant lamp and a laptop's blue glow: a tired dark-haired young woman on a bar stool with an open ruled notebook and a laptop, her black-haired mother in a cardigan standing across the granite island with a mug of cold tea, the two of them leaning in over the notebooks comparing entries, quiet and serious">
<<say "char-jess" "Jess">>
<i>(tapping a column entry)</i> The residue on the drawer handle, did you photograph it before you wiped it off?
<</say>>
<<say "char-karen" "Karen">>
I didn't wipe it off, I bagged it in a Ziploc, and it's in the fridge behind the almond milk.
<</say>>
<p>Jess nods once and adds a line, in the handwriting of a pre-med student who takes her own notes more seriously than her professors' slides, while her mother writes in the hand of an accountant who has kept every receipt since college.</p>
<p>Dale walks through on his way to the bathroom and sees them, sees the notebooks, and does not ask what they are doing, just keeps walking.</p>
<<say "char-dale" "Dale">>
<i>(over his shoulder, toward the hallway)</i> ...night, ladies.
<</say>>
<<say "char-karen" "Karen">>
Night.
<</say>>
<p>Megan is visible from the couch in the living room, phone face-down on her stomach, eyes closed but not asleep, hearing every word her mother and sister say and deciding, actively, not to know. Ryan's door is closed upstairs, his headphones on.</p>
<<say "char-jess" "Jess">>
<i>(reading backward through her column)</i> Three scratch marks on the medicine cabinet, one bioluminescent smear on the drawer handle, rat droppings behind the flour, and a fluorescent-green sheen on the couch cushion recently that I didn't report because I thought you'd dismiss it.
<</say>>
<<say "char-karen" "Karen">>
<i>(looking up for the first time)</i> You saw that too?
<</say>>
<<say "char-jess" "Jess">>
I saw it first, you only caught it later.
<</say>>
<p>In the quiet the refrigerator cycles on, and Karen's hands tighten around the cold mug.</p>
<<say "char-hivemind" "Hivemind">>
//Two of them. Not five, two. The mother and daughter with the sharpest pattern-matching in the house, comparing notebooks at the kitchen counter at 10:47 PM. //This is the constellation I was afraid of.// Karen has the dates, Jess has the biology, and the overlap between their two data sets is the exact shape of my footprints.//
<</say>>
<p>Jess writes the next entry, Karen watches her do it, and neither of them goes to bed.</p>7:18 AM. Karen in the kitchen in nothing but a silk robe, not the good silk robe, not the one she wore on her honeymoon, but the //other// one, the short one she bought on a whim and told herself was for summer mornings, except she's wearing it in the cold.
<p>The robe is not tied tightly. It falls open at the collarbone when she reaches into the upper cabinet for the sugar. It gapes at the thigh when she leans down to unload the dishwasher. She doesn't pull it closed. She doesn't even register the gapes as //gapes// anymore, her body is hers again in a way it wasn't six weeks ago, and a body that belongs to its owner doesn't need to hide itself from its own kitchen.</p>
<p>Dale is on the couch. He has been on the couch since 5 AM. The BioGenesis polo is still on. His work boots are still laced. The afghan is half-across him, pulled up to the ribs, slipping off one shoulder. His mouth is open a quarter-inch. The Zolpidem metabolite in his bloodstream is doing to him what the Earl Grey is doing to Karen, they are opposite compounds in opposite bodies, creating opposite mornings, in the same room.</p>
<p>Karen pours the coffee. She walks to the couch barefoot with the mug in her hand. She pauses in front of him. She looks at him, not tenderly, not bitterly, just //looks//, the way you look at a painting in a room you've been living in for twenty years.</p>
<p>She pulls the afghan a little higher over his shoulder. The robe falls open a little further at her hip. She does not re-tie it.</p>
<p>She walks back to the counter.</p>
<p>Megan appears in the kitchen doorway in her coffee-shop uniform, car keys in hand, already ten minutes late. She sees her mother. She sees what her mother is wearing. Her eyes flick to Dale on the couch, to the robe, to the mug, back to her mother's face.</p>
<<say "char-megan" "Megan">>
<i>(smiling on autopilot, because smiling is her job)</i> Morning, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(not adjusting the robe)</i> Morning, honey. Drive safe.
<</say>>
<p>Megan leaves without mentioning the robe. Through the window above the sink Karen watches her back out of the driveway. She takes a sip of coffee. The sun is hitting the counter at the angle that means it's going to be a warm day and the robe is going to stay exactly where it is.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's body belongs to her again. Dale's body belongs to the couch. The household has rearranged itself around the fact that one of them isn't watching anymore, and the one who isn't watching is the one whose watching used to matter most. //What she wears in the morning is now a decision about what she //wants to be seen wearing//, by herself. Dale is not the audience. Dale is the furniture.////
<</say>>
<p>The afghan on the couch slips another inch. Dale does not notice.</p>8:34 PM. Living room. Karen on the long end of the sectional, shoes off, feet tucked under her, wine glass in one hand and a hardcover novel in the other. The book is new. She picked it up this week from the airport bookstore on a whim, which is itself new — Karen used to only read things she'd pre-researched, highlighted reviews of, added to a spreadsheet. Tonight she is reading on impulse and the impulse is holding.
<p>Dale at the sink. He is doing the dinner dishes. This is new. Dinner dishes are, historically, Karen's territory, the labor split established in year two of their marriage and unrenegotiated in the twenty years since. Tonight Dale is at the sink with the yellow gloves on, methodically, without complaint, without even the usual small sighs that accompany him doing something he considers //Karen's//.</p>
<p>He rinses the big pan. Sets it in the drying rack. Reaches for the next plate.</p>
<<say "char-karen" "Karen">>
<i>(not looking up from the book)</i> Dale.
<</say>>
<p>He doesn't turn immediately. He finishes the plate he's working on. Then he looks up.</p>
<<say "char-karen" "Karen">>
Thank you.
<</say>>
<<say "char-dale" "Dale">>
<i>(quiet, simple, a little surprised)</i> You're welcome.
<</say>>
<p>He goes back to the dishes. The conversation is two sentences long and then it is over and the two sentences have done more work in their household than the last hundred conversations combined.</p>
<p>Megan from the dining room table, where she is pretending to scroll her phone and is actually watching her parents, watches her parents. Her face is doing something complicated. She is a little too young to name what she is seeing and a little too old to dismiss it. She looks back at her phone.</p>
<p>Jess from the bottom of the stairs, also watching, understands exactly what she is seeing and is pretending not to. Jess has read books about power dynamics in relationships. She did not expect to see one of them at her parents' kitchen sink on a weekday evening.</p>
<p>Ryan, upstairs, is unaware.</p>
<<say "char-hivemind" "Hivemind">>
//The axis has flipped. Karen does not ask, she //names the task//, and Dale performs it. And Dale thanks her for the opportunity to perform it. The household no longer has two adults at the top of its hierarchy. It has a principal and a subordinate, and both of them are happier this way than they were before. //Dale's body has spent twenty years apologising for being in the kitchen. Tonight it is finally in the kitchen for a reason Dale can agree with.////
<</say>>
<p>Karen turns the page. Dale rinses another plate. The drying rack fills up.</p>9:12 AM. Weekend morning. The kitchen smells like coffee and the butter Karen is melting for eggs in the nice pan, the one she usually only uses for guests.
<p>Ryan comes down the stairs without being called. Ryan, historically, does not come down until noon. Ryan, this morning, is wearing the lilac button-down shirt, the one Megan donated to the Goodwill pile two years ago, which he quietly rescued, hand-altered at the cuffs, and has been wearing on weekends lately. He has on a pair of slim joggers that are not quite boy and not quite girl. His hair is freshly washed and brushed back. There is a trace of eyeliner he didn't fully take off last night.</p>
<p>Karen at the stove. She glances up. She registers the outfit. She does not react.</p>
<<say "char-karen" "Karen">>
How many eggs, honey?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, close to the counter)</i> Two, please.
<</say>>
<<say "char-karen" "Karen">>
Toast?
<</say>>
<<say "char-ryan" "Ryan">>
Yeah.
<</say>>
<p>Dale is on his way out the back door with a coffee in a travel mug, headed to the garage to finish something he started two weekends ago and hasn't touched since. He passes Ryan at the base of the stairs. He ruffles Ryan's hair on the way past, the way he always has, which means for Ryan that nothing has changed and that //everything// has changed, because Dale is ruffling hair that Ryan has spent an hour styling, and Dale doesn't care either way, which is the thing Ryan has wanted from Dale his entire life.</p>
<p>Ryan smiles a small unguarded smile that he has not smiled downstairs in months.</p>
<p>At the table, Megan and Jess are already eating. Megan pulls out the chair next to her without being asked. Jess, without looking up from her textbook, slides the salt across the table. Neither of them says anything about the shirt, the joggers, the eyeliner, or the hair.</p>
<p>Ryan sits. Megan bumps his shoulder with hers and stays there a beat longer than a normal sibling bump.</p>
<<say "char-megan" "Megan">>
<i>(mouth full of toast, cheerful)</i> The lilac works on you.
<</say>>
<<say "char-ryan" "Ryan">>
...thanks.
<</say>>
<p>Karen plates the eggs. She brings them to the table. She does not ruffle Ryan's hair because she can see he spent time on it, and because //she// is paying attention to that kind of detail in a way Dale isn't.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning did not make Ryan into someone new. It //removed the parts of his family that would have refused to let him become who he was//. Subtract the obstacles, add the mirrors, and what was already growing underneath grows into itself. Karen has become the mirror. Dale has become the absence of obstacle. Megan and Jess have become the practice audience. //This is how the boy learned it was safe to come downstairs in a lilac button-down one weekend morning.////
<</say>>
<p>Ryan eats his eggs. They are perfect, the kind Karen only makes for guests.</p>7:46 PM. Dinner. Five plates on the table and five people to fill them all at once, which is the rare part, nobody on a phone and nobody pretending they'd already eaten.
<p>Karen passes the salad bowl to Megan without being asked, which means Karen is reading Megan's body language from across the table, which means Karen is //looking at Megan's face// during a meal, something that hasn't happened reliably in years. Megan takes the bowl, her hand staying on Karen's forearm a second longer than the handoff requires. Neither of them notices the second, or both of them do and neither mentions it. The bowl moves on to Jess.</p>
<p>Dale is awake and upright and eating with a fork, not scrolling his phone with one hand while shovelling with the other. He reaches across the table past Jess for the water pitcher and his forearm brushes her shoulder on the way past. Jess does not flinch. She never doesn't flinch, the flinch is calibrated into her, a bodily insurance policy against a thousand small intrusions since she was thirteen, but tonight it does not fire, and she smiles a little and keeps eating.</p>
<p>Ryan at the end of the table is eating the actual dinner Karen made, instead of a protein bar or the keyboard sandwich he'd normally have assembled in his room and eaten alone. He's making eye contact across the table when he talks, his hair is brushed, and he's wearing a shirt that fits.</p>
<<say "char-megan" "Megan">>
<i>(to the table, about a customer from this morning)</i>, and he asked for oat milk and then when I poured it he went //what is this supposed to be// and I said //the oat milk you ordered// and he said //no, the kind that tastes like milk// and I just stood there...
<</say>>
<<say "char-jess" "Jess">>
Oat milk doesn't taste like milk, that's the //point// of oat milk. The word "oat" is right there.
<</say>>
<<say "char-megan" "Megan">>
I //know//, Jess. That's what made it funny.
<</say>>
<<say "char-jess" "Jess">>
<i>(a small smile, which is an event)</i> Okay. It's a little funny.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(joining in, which is also an event)</i> Did he pay for it?
<</say>>
<<say "char-megan" "Megan">>
He paid for it, he drank it, and he complained the entire time.
<</say>>
<p>Dale laughs, which he never does at dinner, a short rusty noise that does not get much use, and hearing it out loud makes everyone else laugh a little harder than the joke deserves, because the laugh itself is the funny thing, the fact that Dale still has one.</p>
<<say "char-hivemind" "Hivemind">>
//The touching barriers didn't //dissolve//. They were never there in the first place. What I removed was the family's //remembering// that the barriers were supposed to be there, the reflex, the habit, the twenty years of stored flinch. Subtract the memory of separation and what is left is how this family would have been if nothing had ever gone wrong between them. //They are physically closer at this table tonight than they have been in seven years. None of them can tell me why, because none of them remember that they were ever further apart.////
<</say>>
<p>Karen passes the rolls, and Dale takes one, and Jess takes one, and Megan takes one, and Ryan takes two, because he's actually hungry tonight, a sentence that has not been true about Ryan since he was fourteen.</p>
/* ============================================================
PHASE 2 VARIANTS — added to reach 50 total observe events.
============================================================ */8:12 PM. Dinner. All five of them at the table, and every one of them is //listening// instead of eating. A car passes on the street and Dale's head turns a quarter-inch toward the window. Karen's fork pauses mid-scoop. Jess has not turned a page of the textbook she brought to the table in four minutes. Megan's phone is face-down but her thumb is resting on the edge of it, tensed. Ryan is not even pretending to eat, he's just watching everyone else watch everything else.
<<say "char-karen" "Karen">>
<i>(quiet, knife paused)</i> Did anyone hear the doorbell a minute ago?
<</say>>
<<say "char-dale" "Dale">>
<i>(after a beat too long)</i> No.
<</say>>
<<say "char-jess" "Jess">>
Nobody rang it. The floor creaked on the front porch. That's different.
<</say>>
<<say "char-karen" "Karen">>
<i>(already standing)</i> I'll check.
<</say>>
<p>She goes to the door. Opens it. The porch is empty. She checks the mailbox. Empty. She looks at the Henderson house across the street — Doris is not visible in any of her windows. Karen closes the door carefully and locks both the deadbolt and the chain and returns to the table.</p>
<p>Nobody has resumed eating.</p>
<<say "char-hivemind" "Hivemind">>
//The house is a drum and every small sound is a strike on the skin. Five heads turn for every creak, every car, every shift of the pipes. //The family isn't paranoid individually, they're paranoid //together// now, which is the part I didn't model. Distributed vigilance.////
<</say>>6:47 AM. Karen is at the kitchen counter with her phone in one hand and the under-cabinet LED strip angled with the other. She's photographing the corner where the backsplash meets the granite. The photo flash fires three times. She reviews each shot on the screen. Zooms in. Saves the clearest one to a folder she has named, in her phone's file app, //HOUSE//.
<p>The folder contains forty-one photographs.</p>
<p>She does not tell anyone. She does not text Dale. She does not bring it up to Jess, not because she doesn't trust Jess, but because she wants one more data point before she's ready to show the folder to anyone. Karen is an accountant. Karen believes in complete evidence.</p>
<p>She slides the phone into the pocket of her robe. She pours the coffee. She opens the laptop. She goes to work as if the last four minutes did not happen.</p>
<<say "char-hivemind" "Hivemind">>
//She's keeping a folder. The folder has forty-one photos. The folder is named //HOUSE//. The folder is the thing I am actually afraid of, not because any single photo can identify me, but because forty-one data points in a spreadsheet, run through Karen's brain, eventually resolve into a shape. //I need to accelerate.////
<</say>>10:04 AM. The attic vent runs through the ceiling above the kitchen. A faint green haze drifts from the grille, visible only if you know to look for it, which Karen does not.
<p>Karen has brought the coffee to the kitchen table and is reading emails with her reading glasses on. She yawns. She blinks slowly. She reaches for the mug and misses it by a centimetre. Corrects.</p>
<<say "char-karen" "Karen">>
<i>(to herself, amused)</i> ...I'm getting old.
<</say>>
<p>Megan drifts past on her way to the car, already ten minutes late to her coffee-shop shift, moving at three-quarter speed. Her steps are a little too soft. Her eyelids a little too heavy. She does not remember why she came into the kitchen. She remembers where her keys are. She takes the keys and leaves.</p>
<p>From the living room, the slow deep breathing of Dale on the couch, already asleep before his shift-post crash-nap technically started.</p>
<p>Upstairs, Jess at her desk, nodding over her textbook. Her pen slips. She re-grips it. She re-reads the same sentence three times.</p>
<<say "char-hivemind" "Hivemind">>
//Sporocyst drift active. Metabolic uptake through the respiratory tract is inefficient at this concentration, but //vigilance// is the first thing to degrade. The family is not quite asleep. They are something slower. And slow families don't ask questions.//
<</say>><p>The HVAC unit hums at its normal frequency. It is not normal. Since the conversion, every cubic foot of air that moves through the ducts carries a pheromone load tuned to Karen's baseline cortisol curve, the compound folded into the airflow the way nitrogen is folded into a bag of chips.</p>
<p>The house //feels// different. Nobody can name it, but everybody is a little less tense than they should be. Karen's jaw, which has spent the last decade at idle-set-to-clench, is soft this morning. Dale, on the couch, is sleeping the way he did before BioGenesis hired him, with his hand open instead of fisted. Megan's shoulders are a centimetre lower than they were a week ago. Jess has not touched the caffeine tablet bottle before 10 AM in three days. Ryan is downstairs. Actually downstairs. In the kitchen. Making tea.</p>
<p>Nobody notices the change because nobody can remember what the baseline was.</p>
<<say "char-hivemind" "Hivemind">>
//The house is sedated, not sleep, but //tension off//. Suspicion cannot build in air this calm. The HVAC op was a one-time cost that now pays dividends every time one of them inhales. //This is what it looks like to own a thermostat.////
<</say>>2:14 AM. Karen is not in bed. Karen is in the hallway in a cardigan over her nightshirt, barefoot, with her phone flashlight on low. She is checking every window latch in the house. She has already checked them twice today. She is checking them again.
<p>Dale is asleep on the couch. Jess is asleep at her desk with the lamp on. Megan is asleep in a curled-comma shape that would look peaceful if anyone else in the house were peaceful. Ryan is in his room, his light is off, which means either he's actually sleeping or he's fallen asleep in his chair.</p>
<p>Karen moves to the kitchen window. Twists the lock. It was already locked. She twists it the other way to confirm, then twists it back. Moves to the sliding door to the back porch. It's locked. She tests it anyway.</p>
<<say "char-karen" "Karen">>
<i>(under her breath, to nobody)</i> I'm not crazy. Something is wrong in this house. I just don't have the proof yet.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen alone with her suspicion. The rest of the family is calibrated low, dismissive, or asleep, or both. She is the only one who sees the shape and she has no one to show it to. //This is the most dangerous kind of vigilance: the kind that has nothing to do all night but circle its own conclusions.////
<</say>>
<p>The dishwasher clicks. Karen's whole body turns toward the sound before her brain catches up. Then she exhales, slowly, and returns to checking the windows.</p>3:02 AM. Dale is not supposed to be home, it's a shift night. He called in sick at 11 PM. He's never called in sick. He is now walking the perimeter of the house in the dark with a flashlight in one hand and a wrench from his toolbox in the other.
<p>He checks the back gate. Tests the latch. Checks the fence for the loose board he keeps meaning to fix. The loose board is still loose. He pushes it back into place with the heel of his boot and moves on.</p>
<p>He goes to the side of the house where the HVAC unit sits. Puts his ear to the metal casing. Listens. Taps it twice with the wrench. The hum is the hum. He knows the hum.</p>
<<say "char-dale" "Dale">>
<i>(quiet, to nobody)</i> ...something's off. I don't know what.
<</say>>
<p>He walks around to the garage. Tests the overhead door. Checks the side door. Checks the circuit panel. Everything is where it should be. Nothing has been tampered with that he can see.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is not a smart man in the way Karen is smart. Dale is a //pattern-trained// man, night shift, security, fifteen years of watching monitors in empty buildings. His brain has no vocabulary for what's wrong with this house but his //body// knows. He's patrolling because the patrol is the only language he has.//
<</say>>
<p>He returns to the back door. Takes off his boots. Comes inside. Sets the wrench on the kitchen counter where Karen will see it in the morning and ask him why.</p><p>Ryan's door is closed. Ryan's door is always closed, that isn't new, but today there is a kitchen chair wedged under the handle from the inside, which is new. From the hallway it's possible to see the chair's legs through the gap at the bottom of the door. Karen sees them on her way to the linen closet and stops.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-ryanbunker.webp" alt="A 43-year-old woman with shoulder-length black hair threaded with grey, in a cardigan, standing in a dim suburban upstairs hallway leaning close to a closed bedroom door, one hand raised knocking softly and the other holding a stack of folded towels, her head tilted toward the door listening, her expression worried and uncertain, the door shut tight, we do not see who is behind it">
<p>She knocks softly. //Ryan. Lunch is ready.// No answer.</p>
<p>She knocks again. //Ryan.// Silence that has weight to it.</p>
<p>Finally, from inside, Ryan's voice, flat, tight, trying not to sound scared:</p>
<<say "char-ryan" "Ryan">>
<i>(muffled through the door)</i> ...I'll come down later, Mom.
<</say>>
<<say "char-karen" "Karen">>
Is everything okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(a beat too long)</i> ...yeah.
<</say>>
<p>Karen stands outside the door with her hand flat against the wood for fifteen seconds. She can hear his breathing. She can hear it too fast.</p>
<p>She moves on down the hallway with the towels she came up for.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan has taken his room out of the house. A chair under the handle is not a door lock, it's a signal. Ryan is telling the house that he's //not available to be observed//. Which means Ryan has decided that the house is observing him. //He's right. He just doesn't know who.////
<</say>><p>Jess has set up a grid. Not on paper, on the hardwood floor of her bedroom, using painter's tape that she peeled off the roll Dale keeps in the garage and snuck upstairs when he was asleep. The grid has five columns: //room, date, time, object, notes//. Each column has a stack of index cards clipped together. She is transferring observations from her composition notebook to the cards one at a time.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-jessinvestigates.webp" alt="A young woman with dark hair pulled into a tight bun kneeling on her bedroom floor late at night over a grid of painter's tape laid out in columns, each column holding a small stack of numbered index cards clipped together, an open composition notebook beside her knee as she transcribes notes onto the cards with clinical focus, a desk lamp lighting the dim room">
<<say "char-jess" "Jess">>
<i>(to herself, quiet, clinical)</i> Kitchen, 9:20 AM, silverware drawer handle, bioluminescent residue. Not yet classified. Photo saved to cloud.
<</say>>
<p>She places the card in the kitchen column and picks up the next notebook entry.</p>
<<say "char-jess" "Jess">>
Hallway, 2:40 AM, floorboard creak near bathroom, no visible cause. Possible weight of small mammal or thermal contraction. Rule out second before first.
<</say>>
<p>Her handwriting on the cards is the handwriting she uses for anatomy flashcards. Each card is numbered. There are already sixty-three cards in the stack.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is a systems person. Jess will not stop until the system reveals the pattern, and the system //will// reveal the pattern. She is not her mother, she does not need to //believe// in the data to catalog it. She will keep building this grid until the grid builds itself into a conclusion. //I have days. Maybe a week.////
<</say>><p>Megan is in the downstairs bathroom with the door closed and the fan on, phone pressed to her ear, whispering, which means she is either talking to Marcus or talking to someone she doesn't want the house to hear her talk to, and those are sometimes the same call.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-megananxious.webp" alt="A young woman with shoulder-length brown hair alone in a small suburban bathroom with the door closed, phone pressed to her ear, whispering tensely with her free hand near her mouth, her forehead close to the cold tiled wall, eyes anxious and overwhelmed, harsh overhead light on white tile">
<<say "char-megan" "Megan">>
<i>(hushed, fast)</i> Marcus, I'm not being paranoid, Mom found //rat droppings// in the pantry, that's a real thing, that is an actual real thing you can find, and then this weird glowing residue on the, yes, glowing, I know, I //know// how it sounds...
<</say>>
<p>She listens to him, then presses her forehead against the cold tile of the bathroom wall.</p>
<<say "char-megan" "Megan">>
<i>(voice thinning)</i> No, I can't just come stay at your place for a while, Marcus. My family //needs// me here. Jess won't eat if I don't remind her, Ryan won't leave his room, Mom runs herself into the ground if no one's watching. I have to be //here//. <i>(pause)</i> No. Yes, I know, Marcus.
<</say>>
<p>She closes her eyes, her breathing fast and small.</p>
<<say "char-megan" "Megan">>
<i>(quieter)</i> I just... I feel like the house is //watching// me. Which is insane, I know, I //know//. Tell me it's insane.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan is the performance layer of this family. She feels things the rest of them don't have the vocabulary for. Her anxiety is not wrong, it is //unsourced//, which is worse than wrong, because an unsourced anxiety cannot be solved. She'll stay in the bathroom until the fan has cycled twice.//
<</say>><p>Dinner. Jess's phone is face-down beside her plate. It buzzes. She does not reach for it. She does not look at it. She does not acknowledge that it buzzed. She takes another bite of the casserole Karen made, chicken, rice, cream-of-mushroom, and chews twice as long as she needs to.</p>
<p>The phone buzzes again. A different pattern: two short, one long. That's the contact she set up under a false name for the stranger who has her bathroom-stall number. She can tell the difference between that buzz and any other buzz because she has catalogued it. Every sound pattern in her life is catalogued.</p>
<p>Karen at the head of the table notices nothing, the phone is face-down, the buzz is muffled by the tablecloth. Dale notices the buzz but does not comment. Megan glances at Jess's face, reads something in it she does not understand, files it.</p>
<<say "char-jess" "Jess">>
<i>(to no one, calm, eating)</i> The casserole's good tonight, Mom. Really good.
<</say>>
<<say "char-karen" "Karen">>
<i>(slightly surprised)</i> ...thank you, Jess.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The phone is buzzing and Jess is complimenting her mother's casserole. The two things are happening in the same five seconds in the same body. //Her discipline is the only thing holding the wall up between daytime-Jess and nighttime-Jess, and every buzz is a tap on the wall from the wrong side.// She will excuse herself to her room in nine minutes.//
<</say>>
<p>Nine minutes later, Jess excuses herself to her room.</p>6:34 AM. The master bathroom. Steam. The shower is running, the good pressure, Karen's favourite setting. Through the fogged glass of the shower door her silhouette is visible in broad strokes: shoulders, hips, the angle of her arm raised to rinse her hair.
<p>And then, because the Biological Architect compound has done what the Biological Architect compound does, her other silhouette, the new one: a shape between her thighs that is there and then not there, flexed into visibility and then dismissed back into latency in the span of a single slow exhale. Karen is practising. She has been practising for three mornings now, in the shower, where the steam makes her feel unobserved.</p>
<p>She brings it out. She lets the water run over it. She dismisses it. She brings it out again. Each cycle is faster than the last. The muscle, which is not exactly a muscle, is learning the shape of the command.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to herself, experimental)</i> ...okay.
<</say>>
<p>Outside the bathroom, Dale's snore is audible through the bedroom wall. He sleeps through everything these days.</p>
<<say "char-hivemind" "Hivemind">>
//Karen is rehearsing. That is the only word for it. She is learning her own new anatomy the way she learned the accounting software fifteen years ago, patient, systematic, half-amused, not telling anyone. //The body belongs to her. The skill belongs to her. Dale has not been told because there is nothing in Dale's job description that would let him help with this.////
<</say>><p>Weekend morning. Karen is at the kitchen sink washing the pan from last night's roast and Megan is drying, which is new — Megan usually dries twice a year, on holidays. Karen hands her the pan. Megan dries it with the concentration of someone taking an exam.</p>
<<say "char-karen" "Karen">>
<i>(offhand, genuine)</i> You did a nice job with the salad last night, Megan. The dressing was good. Was that the balsamic from the pantry?
<</say>>
<p>Megan's entire face rearranges.</p>
<<say "char-megan" "Megan">>
<i>(a little breathless)</i> Yeah, yeah, and I added like, a //tiny// bit of honey, because I saw this thing on TikTok where —
<</say>>
<<say "char-karen" "Karen">>
<i>(nodding)</i> It worked. I noticed.
<</say>>
<p>The words land on Megan the way warm water lands on cold hands. Her shoulders drop a centimetre. Her smile changes shape, not the barista smile, the //other// one, the one she almost never wears downstairs. She hums, quietly, while she finishes drying the pan. Then the next plate. Then the next.</p>
<<say "char-hivemind" "Hivemind">>
//Megan is the person in this house most starved for being //seen in her competence//. The kink didn't create the hunger, the conditioning surfaced what was already underneath: Megan's body is a receptor for approval, and approval from Karen specifically is the voltage it was built to run on. Two words and she'll dry dishes for an hour.//
<</say>>
<p>Megan dries dishes for an hour. Karen doesn't notice how long it takes. Megan notices and doesn't care.</p><p>Megan has a bruise on her wrist. It is small and brown-purple and she is not hiding it, she is not wearing the long sleeves she normally wears on shifts where she's jumpy about customers. She is wearing the short-sleeved white polo and the bruise is visible on her inner forearm, where the fingers of a hand would sit if a hand had gripped her there hard enough.</p>
<p>She is making breakfast. Eggs, toast, the works. She is humming. She is in a good mood.</p>
<p>Karen, across the kitchen, notices the bruise. Her eyes catch it. She does not comment. Her mouth opens as if to ask and then closes again.</p>
<<say "char-megan" "Megan">>
<i>(cheerful, turning the eggs)</i> Two or three, Mom?
<</say>>
<<say "char-karen" "Karen">>
...two. Thank you, honey.
<</say>>
<p>Megan plates the eggs. The bruise is still visible when she sets the plate down in front of her mother. Karen looks at it. Karen looks at her daughter's face. Karen looks at the eggs. Karen decides, actively, you can see the decision happen, not to ask.</p>
<<say "char-hivemind" "Hivemind">>
//Megan is not hiding the bruise because Megan wants it to be seen. The kink is not //be hurt in private//, it's //be chosen visibly, even in the marks//. Karen is reading the signal. Karen is electing not to pursue it. Karen's own conditioning is telling her that her daughter's private life is her daughter's business, and Karen's conditioning is right for the first time in years.//
<</say>>
<p>Megan eats her toast one-handed, using the bruised hand to hold it, making sure the mark stays in the air where it's visible. Nobody mentions it.</p><p>Jess is in the living room. Jess is reading a book that is not an anatomy textbook. Jess does not read non-anatomy books in public. Jess does not read //anything// in public except anatomy, and tonight Jess is in the good armchair with her legs tucked up and a paperback whose cover she has hidden with a paper book-jacket she made from a grocery bag.</p>
<p>Dale walks through on his way to the garage. Jess angles her body fractionally so the spine of the book faces him. He doesn't notice the book at all. He noticed Jess, asked //good book?//, and she said //yeah, it's fine, just something for class//. Which is a lie — Jess does not lie to Dale, and the lie itself is the most interesting thing in the scene.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is reading erotica in the living room with the book jacket wrapped to hide it, which means she //wants to be caught// reading it. The jacket is a theatre of cover, the whole performance is that she could be caught. //That's the kink. She doesn't want to be seen reading it; she wants to be almost-seen reading it.// The almost is the point.//
<</say>>
<p>Dale closes the garage door behind him. The house is quiet. Jess relaxes half an inch into the armchair and turns the page. Her cheeks are a little pink. She does not remove the jacket.</p><p>Jess at the kitchen table with her anatomy flashcards. She is working through cranial nerves. She has a paper cut on her thumb from the card stock. The cut is superficial, it stopped bleeding ten minutes ago. She keeps pressing her thumb into it. Not absently. Deliberately, in short bursts, three seconds at a time. Her face does not move when she does it. The flashcards keep turning at the same pace.</p>
<p>Megan from the couch watches her sister do this and does not understand what she's watching.</p>
<<say "char-megan" "Megan">>
Jess, your thumb's bleeding a little.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking up)</i> I know.
<</say>>
<<say "char-megan" "Megan">>
...do you want a band-aid.
<</say>>
<<say "char-jess" "Jess">>
No.
<</say>>
<p>Megan does not ask again. Megan looks at her phone. Jess keeps pressing her thumb into the cut.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is running a continuous low-grade self-degradation loop in the middle of her study session because the loop is what keeps her studying. The paper cut is a small disciplinary tool, humiliation proportioned to anatomy flashcards. //This is what her need for shame looks like when it belongs to someone too disciplined to admit it's happening.////
<</say>>
<p>She gets through the rest of the cranial nerves without stopping once.</p>/* ===== Obs-Jess-Band-Gloryhole — Guess-the-cock drinking game =====
Gated: band kink + BioArch unlocked + Jess total ≥ 24 + gloryholeBuilt.
Pattern-break: observe passage carries images (reuses the Ch2-PD-Jess-Gloryhole
punk-variant assets). Intentional per user direction.
============================================================== */
<p>Weekend afternoon, 2:40 PM. Dale is already asleep on the garage couch in his post-DIY crash, he won't surface till dinner. Karen is at a client site across town doing a quarterly close and won't be back before six. Megan is on shift at the coffee shop. Ryan is in his room with the headphones on. The house is as empty as it gets.</p>
<p>Bleed Through is over for a listening session — Sean is walking Kade through a new mix of the demo off a laptop on her comforter, Dev is sprawled in her desk chair with his boots up on the radiator, Kira is cross-legged on the floor, the room thick with cheap lager and the specific smell of four musicians who have not showered yet today. Four beers open. Three-quarters of an argument about a cymbal level in progress.</p>
<p>Dev's foot nudges the bookshelf. The bookshelf walks the hair it always walks when someone breathes near it. The bathroom tile behind it is briefly visible through the hole before the shelf settles back.</p>
<p>Three bandmates and one Kira go very quiet for a beat.</p>
<<say "char-npc" "Kade">>
<i>(deadpan, mug halfway to his mouth)</i> ...what the //fuck// is that.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, the small grim smile she uses when she's about to say the cursed thing she's been saving)</i> My dad built it. He hasn't told anyone. I think he's been waiting for somebody to use it.
<</say>>
<p>Sean snorts lager through his nose. Kira wheezes. Kade sets his mug down on the windowsill with the slow care of a man who knows he needs both hands free for what comes next.</p>
<<say "char-npc" "Kade">>
<i>(to the ceiling, then to Jess, then to the hole, then to Jess again)</i> Jess. Jess. We're gonna play a game. Rules in one minute. Sean, stop laughing, you're up first.
<</say>>
<p>The rules land in ninety seconds and they are simple. The boys rotate through the bathroom. Jess on the bedroom side, blindfolded with the shop bandana Dev keeps in his back pocket. Cock through the hole. Jess sucks briefly, guesses whose it is. Wrong guess: Jess drinks a full beer. Right guess: the identified boy drinks. Kira adjudicates, bedside, with a second bandana she'll use to cover Jess's eyes during the round and remove between rounds so Jess can see Kira nod confirmations. Fifteen-stroke cap per round so nobody comes by accident on round one. Three rounds total.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-1.webp" alt="A 21 year old woman kneeling at a hole in a bedroom wall, waiting, dim bedroom">
<p>Round one. Kade crosses the hall into the bathroom first. Bandana goes on over Jess's eyes. She kneels at the wall. Cock comes through. She takes him in her mouth for eight seconds and pulls off.</p>
<<say "char-jess" "Jess">>
<i>(pulling off, flat, wiping her mouth with the back of her hand)</i> Kade. You taste like the same fucking lager we've all been drinking and you're gripping the drywall with your left hand, I can hear the knuckles pop every time you inhale. Dead giveaway. Stop squeezing the wall, you're gonna crack the plaster.
<</say>>
<p>Kira nods. Dev howls. Kade drinks a full lager standing up in the bathroom with his cock still out.</p>
<<say "char-npc" "Kade">>
<i>(through the wall, muffled, outraged)</i> That is //insane//. Eight fucking seconds.
<</say>>
<p>Round two. Dev. Ten seconds in her mouth. She pulls off.</p>
<<say "char-jess" "Jess">>
<i>(quiet, clinical, a little slower this time)</i> Dev. You had the curry place for lunch and you're still carrying it on your skin. Do //not// tell the others I could smell the garlic through the wall. I'll never live it down.
<</say>>
<p>Kira nods. Kade swears through the drywall. Dev drinks.</p>
<<say "char-hivemind" "Hivemind">>
//I did not predict this capability. I have watched her build a private taste-map on her own initiative, donor differentiation, volume estimation, compound signature, and I thought the ceiling was //donor identity//. I did not think the ceiling was //what the donor had for lunch four hours ago//. She just pulled curry-specific aromatic compounds from the tertiary seminal fraction through a mouthful of semen and a drywall partition, and the guy whose curry that was does not know those compounds are detectable. He does not think this is possible. He is right that //most// palates cannot do it. He has not yet realised that his bassist is not //most// palates.//
//The pre-med brain has been running the protocol on its own, against her own meals, against every mouthful she has catalogued in the Sharpie notebook, and the resolution has climbed past what the conditioning was supposed to install. //I am going to find out what else she has been able to taste that I have not been told about.////
<</say>>
<img class="scene-img" src="media/scenes/gloryhole-use-2-punk.webp" alt="A 21 year old woman with dark purple and black dyed hair kneeling at a hole in a bedroom wall, cock in her mouth, dim bedroom, bandana blindfold pulled up on her forehead">
<p>Round three. Sean. The cock is longer than the first two and the angle is cleaner. Jess takes her time, twelve seconds, deepest-throat of the three, and the problem arrives at fourteen: Sean's hips are already losing it, the metronomic four-four he drums on stage translating into a four-four pelvic rhythm against the drywall that is so specific Jess bursts out laughing around his cock.</p>
<<say "char-jess" "Jess">>
<i>(muffled around the shaft, somewhere between a laugh and a gag)</i> //Glnh... Sean, you're drumming at me, stop that. //
<</say>>
<p>Sean does not stop. Sean //cannot// stop. He comes through the wall on stroke nine of his own four-four and Jess, who did not pull off because calling the name while he was finishing was going to be the proof of the ID, holds him through it and lets him finish on her tongue and her chin.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-3-punk.webp" alt="A 21 year old woman with dark purple and black dyed hair kneeling at a hole in a bedroom wall, cum on her face and chin, satisfied flat expression, bandana blindfold loose around her neck">
<<say "char-jess" "Jess">>
<i>(pulling off, wiping her chin with the back of her hand, to Kira)</i> Sean. It's Sean. He's drumming. He came. I win round three.
<</say>>
<p>Kira, laughing hard enough to have tears in her eyes, nods yes.</p>
<<say "char-npc" "Kade">>
<i>(through the drywall, to Sean in the bathroom)</i> You owe //two// beers, motherfucker. One for losing. One for finishing on my bassist.
<</say>>
<<say "char-npc" "Kira">>
<i>(from the floor, wiping her eyes)</i> She's not //your// bassist, Kade. She's gonna //be// your bassist.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The game was a drinking game to them. It was an audition to her, three of them, identified correctly through a wall, on taste and rhythm alone, no visual input. She did not tell them it was an audition. They do not know they passed. //The wall is band-associated now, not family-associated.// The next time she is kneeling at this hole, the person on the other side will be a bandmate by her invitation, not Dale by parasite-puppet.//
<</say>>
<p>The band goes back to the mix. Kade buys Jess the next beer from her own fridge. Nobody mentions Dale. Sean tries to apologise for coming through the wall, gives up halfway through the sentence, and hands Jess his own lager instead.</p>
<p>That night, after the band leaves, Jess uncaps the Sharpie with her teeth and writes across the top of a fresh page: //SESSION 2. THREE KNOWN SUBJECTS. 100% ID ACCURACY. NOTE: BLINDFOLD IS LOAD-BEARING. REMOVING IT REMOVES THE CHALLENGE.// She caps the Sharpie. Puts the book on the bedside table. Goes to sleep with the bookshelf still shifted six inches to the left, because tonight she is not going to pretend the hole is hidden.</p>/* ===== Obs-Jess-Breakdown-Gloryhole — Dick cleaning protocol =====
Gated: breakdown route + BioArch unlocked + Jess total ≥ 24 + gloryholeBuilt.
Pattern-break: observe passage carries images (reuses default gloryhole-use-*.webp).
============================================================== */
<p>Weekday afternoon. 2:31 PM. Anatomy textbook open to chapter 24 — Renal Physiology: Loop of Henle. Jess at her desk, reading glasses on, mechanical pencil in her right hand, highlighter uncapped in her left. She is behind. She knows she's behind. She budgeted ninety minutes for this chapter and she is thirty-seven minutes in and on page two.</p>
<p>The upstairs bathroom door closes across the hall. A specific click — Dale's weight on the threshold, not Ryan's. Jess hears it without looking up. Her right hand stops on the page.</p>
<p>She knows what the closed door means now. She knows because the last three times Dale was home during her study block and used the upstairs bathroom, the pattern was the same. The pattern is that the pattern exists. She has not been told the pattern exists. The pheromone saturation in the house has filed the bathroom-door-click under //go kneel// the way it files the coffee-machine-hiss under //Karen is up//.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-1.webp" alt="A 21 year old woman kneeling at a hole in a bedroom wall, waiting, dim bedroom">
<<say "char-jess" "Jess">>
<i>(to herself, flat, to the loop-of-Henle diagram)</i> ...okay. I'll be back in six minutes.
<</say>>
<p>She puts the pencil down. Moves the bookshelf with practised-annoyed precision, she has done this enough times now that the muscle memory for the bookshelf motion is as clean as her injection technique was last semester. She kneels at the hole.</p>
<p>Dale's cock comes through within ninety seconds. She knows it is Dale's cock, she has a taste-map by now, the same clinical catalogue she keeps for everything. She takes him in her mouth. Her hand supports the base. She does not make eye contact with the wall. She is mentally finishing the Loop-of-Henle paragraph she was on before the door closed, which is easier to do when the paragraph is about the descending limb because the descending limb is the simple one.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-2.webp" alt="A 21 year old brunette woman kneeling at a hole in a bedroom wall, cock in her mouth, dim bedroom">
<p>Dale finishes on her face because that is what the protocol has defaulted to — Karen taught Megan to collect and Megan taught Jess by accident that the wall-deposit lands on the face if you time the pull correctly. Jess wipes her chin with the back of her hand. The cock withdraws. Footsteps cross the bathroom. Tap runs. Footsteps descend the stairs.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-3.webp" alt="A 21 year old brunette woman kneeling at a hole in a bedroom wall, cum on her face, aftermath, neutral expression">
<p>She stands. Pushes the bookshelf back. Sits at the desk. Tries to find her place in the chapter. Cannot. The last paragraph she read is still on the page but her eyes will not lock onto the words. She reads the same sentence three times and does not parse it. She closes her eyes. Breathes.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the textbook, the voice she uses for end-of-day self-assessment)</i> ...I can do this. I can do both. I've got forty-three minutes. I can finish the chapter.
<</say>>
<p>She cannot. She reads the Loop-of-Henle page four more times over the next thirty minutes and retains nothing. She has always been able to compartmentalise, that is the thing she is, that is the skill, and today the compartment broke. She closes the textbook at 3:12 PM with the highlighter still uncapped and sits very still.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning does not force her to kneel. It installs a //category//, bathroom-door-click as an item on her to-do list, and her discipline fills the category the way it fills every other category. She obliges because she has been //asked//, even though she has not been asked, and obliging is what she does. //The self-blame circuit is already writing the rationalisation in the silence at the desk.//
//By nightfall she will have convinced herself that at least she is //useful// at this. At least this is something she can complete in six minutes without fucking it up. The studies are slipping. The hole is not slipping. The hole is //inside her competence envelope//. Her self-image is looking for a new shelf to sit on and the hole is the nearest available shelf. //That is how the circuit converts a rival demand on her time into a sense of purpose.////
<</say>>
<p>She gets up. Washes her hands and her face in the bathroom sink, avoiding the hole with her eyes. Comes back. Opens a different chapter, cardiac rhythms, which she already knows cold, and studies that instead for the remaining time she had budgeted. She tells herself she'll make up the renal chapter tomorrow. She will not make up the renal chapter tomorrow. The pattern will repeat tomorrow.</p>1:14 AM. Master bedroom. Karen on her side of the bed, propped up on one elbow, phone face-down against her sternum. Dale on his side, snoring lightly, turned away. The room is dark except for the phone's under-light bleeding up into Karen's face.
<p>She's texting someone. Not Dale. Not the accounting firm. Someone she met at the yoga class she started attending three weeks ago, the one Liberation Karen signed up for on a whim and then kept going to because she liked the way the instructor said her name.</p>
<p>The reply comes fast. She reads it. She smiles, a real, small, private smile that she has not smiled at Dale in eight years. She types back. Her thumbs are practised now.</p>
<<say "char-karen" "Karen">>
<i>(mouthing to herself, not quite speaking)</i> ...no, he's asleep. Yeah. He's always asleep.
<</say>>
<p>Dale shifts beside her. She freezes, phone still glowing. He settles back into the snore. She exhales. Types another message. Sends it.</p>
<<say "char-hivemind" "Hivemind">>
//Karen has a phone she did not have six weeks ago, not literally, she has the same device, but //the phone in her hand at 1 AM belongs to a different woman than the phone she uses for client emails at 9 AM//. The split is perfect. Dale is asleep through both Karens and has noticed neither.//
<</say>>
<p>She turns the phone off. She sets it face-down on the nightstand. She lies back on the pillow with the small smile still on her face. She does not check the phone for the rest of the night, because the message she just sent doesn't need a reply tonight. The reply is for tomorrow, and she's going to want to be awake for it.</p><img class="scene-img" src="media/scenes/symbiotic/lib-karen-topless-kitchen.webp" alt="Karen making coffee at the kitchen counter, topless, relaxed and unbothered">
<p>Karen is making coffee with her top off, in no hurry to put it back on, not reaching for cover at the sound of footsteps, just standing at the counter in her panties with the morning light across her bare back while the machine finishes. The blouse is slung over a chair where she left it, because the kitchen is warm and it is her kitchen and somewhere in the last while she has decided she is done dressing for a room she pays the mortgage on.</p>
<p>Dale comes in for his own coffee and stops short when he sees her.</p>
<<say "char-dale" "Dale">>
<i>(low, with a glance back at the doorway)</i> Kare. Karen. The kids are up, one of them could walk in here any second. You can't just, in the kitchen. What if somebody sees.
<</say>>
<<say "char-karen" "Karen">>
<i>(not turning around, pouring)</i> Then somebody sees a woman topless in her own kitchen, and they'll live. <i>(a glance over her shoulder)</i> If it bothers you, Dale, you are welcome to look at the wall.
<</say>>
<p>Dale does not leave. He means to, the careful part of him is already half-turned toward the hallway, but his eyes have gone to her and stayed, and the longer he looks the less his objection has anywhere left to stand. He picks up a mug he does not quite remember reaching for.</p>
<<say "char-dale" "Dale">>
<i>(quieter, the protest draining out of him)</i> ...okay. Okay.
<</say>>
<<say "char-karen" "Karen">>
<i>(sliding the coffee across to him, easy)</i> There. Drink it before it goes cold.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Dale's protest was never about the children. It was about twenty years of rules he built his comfort on, and one of them just came off with her blouse. He stayed in the room and he looked, and the decorum lost to the wanting in about four seconds. He will call it concern when he thinks about it later, and he will be back in this kitchen soon enough, hoping she has not dressed. Karen has stopped asking the house for permission to have a body.//
<</say>>
<<if not $ch2Events.libKarenKitchenSeen>>
<<set $ch2Events.libKarenKitchenSeen to true>>
<<addBiomass 2>>
<p><span class="skill-used">Sexual energy harvested: +2 biomass (Karen, unbothered in her own kitchen)</span></p>
<</if>><img class="scene-img" src="media/scenes/symbiotic/dom-karen-dale-orders.webp" alt="Karen standing with one hand on the counter giving Dale his instructions while he listens, deferential">
<p>Karen is in the kitchen with a coffee in one hand and the other set flat on the counter, and Dale is standing in front of her the way a man stands in front of his manager, weight even, hands loose, waiting. There is a list taped to the fridge behind her in her block accountant-print, titled HOUSEHOLD, but she is not pointing at it. She does not need to. She is saying it out loud.</p>
<<say "char-karen" "Karen">>
<i>(even, unhurried, counting it off against the counter)</i> Dishwasher gets loaded before you sleep, every night, not left for the morning. Trash goes out tonight, it's pickup day. The upstairs bathroom gets done before the weekend, and I mean done, not wiped. Repeat it back to me.
<</say>>
<<say "char-dale" "Dale">>
<i>(without hesitation, getting the order right)</i> Dishwasher every night before bed. Trash out tonight. Bathroom done, properly, before the weekend.
<</say>>
<<say "char-karen" "Karen">>
<i>(watching him a moment, then a small nod)</i> Good.
<</say>>
<p>Dale's shoulders drop half an inch. The relief of being handed something exact, with edges, instead of the usual fog of guessing what she wants and getting it wrong, moves across his face before he can think to hide it.</p>
<<say "char-dale" "Dale">>
<i>(a half-step forward, almost hopeful)</i> Is there anything else? Anything you want sorted while you're out today.
<</say>>
<<say "char-karen" "Karen">>
<i>(the corner of her mouth moving)</i> The car could use a wash. After the bathroom, if you've got the time.
<</say>>
<<say "char-dale" "Dale">>
<i>(settling, a man with a full and certain list)</i> I've got the time. I'll do the car.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Dale spent twenty years not knowing what was wanted of him in his own house, guessing, guessing wrong, getting the silence that meant he had guessed wrong again. Now a woman he loves stands in the kitchen and tells him in plain words exactly what to do, and he is grateful for it down to the bone. The conditioning did not make Karen cruel. It made her certain, and his whole body has been starving for someone in this house to be certain.//
<</say>>3:47 PM. The garage is warm, the sun's been hitting the roof for two hours and the thrift-store couch is in the exact square of sunlight coming through the small window over the workbench. Dale is on the couch, flat on his back, boots still on, mouth slightly open. The dog is across his feet. The power drill he was using is still on the workbench where he set it down, still charged, still connected to the bit he was going to put into a piece of trim.
<p>He fell asleep between picking up the trim and placing the drill against it. The trim is still in his other hand.</p>
<<say "char-hivemind" "Hivemind">>
//This is not laziness. It is exhaustion compounded, weaponised, calibrated to take him down the moment his body hits an inclined surface. The thirty seconds between the drill and the trim were all it took.//
<</say>>
<p>The dog shifts. Dale does not shift. The trim slowly slides out of his fingers and onto the floor with a faint wooden //tap//. The dog flicks an ear. The man does not flick anything.</p>
<p>Karen is upstairs and does not know he's home yet. She'll come down in forty minutes for coffee and will see the drill on the bench and the trim on the floor and the silhouette of Dale through the garage window on the couch, and she will not wake him, because Karen has learned, the way you learn a physical therapy routine, that the garage couch is //his//, and the time between 3 PM and dinner is //his//, and she does not interrupt it.</p>
<p>She turns around before she opens the door. Goes back inside. Starts the coffee herself.</p>2:08 AM. Dale in the hallway outside the master bedroom. Socks on. No shirt. He has been up for twenty minutes. He is standing three feet from the bedroom door. The door is closed. From inside, the faint sound of Karen's laugh, short, intimate, delighted. A man's voice. Low, not intelligible through the door.
<p>Dale does not push the door open. Dale does not knock. Dale does not leave.</p>
<p>He stands there. His hands are at his sides. His breathing is even. His face is, composed is the wrong word. His face is //present//. He is listening the way a man listens to a recording of something important, carefully, without interrupting, as if the listening itself is the thing he's been assigned.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is not unhappy. Dale is not angry. Dale is not even jealous in any way the word //jealous// would identify from the outside. Dale is //doing his job//, and his job, now, is to stand in the hallway with his hands at his sides and listen to his wife enjoying something she hasn't enjoyed in years. //The wiring has found its shape.// The wiring is working.//
<</say>>
<p>Karen laughs again inside the room. Dale closes his eyes briefly. He stays in the hallway for another ninety seconds and then goes back to the couch and lies down on his back and looks at the ceiling and does not go back to sleep for a long time.</p><img class="scene-img" src="media/scenes/symbiotic/megan-dinner-selfie.webp" alt="Megan at the dinner table holding her phone up, absorbed in the screen">
<p>Dinner. Five plates. Four people actually eating. Megan has her phone in her lap under the table where she thinks Karen can't see it but where Karen can absolutely see it, and she is smiling at it, the slow private smile that only surfaces when a specific name is on the screen.</p>
<<say "char-karen" "Karen">>
<i>(without looking up)</i> Phones off at dinner, Megan.
<</say>>
<<say "char-megan" "Megan">>
<i>(not putting the phone away yet)</i> Sorry, Mom, it's work, I just...
<</say>>
<<say "char-karen" "Karen">>
It's Marcus.
<</say>>
<p>Megan's eyes snap up.</p>
<<say "char-karen" "Karen">>
<i>(still not looking up)</i> I know it's Marcus because you're smiling at the phone with your whole face, which is not the smile you use for work. Phone away. You can text him back in twenty minutes.
<</say>>
<p>Megan's cheeks go red and she puts the phone face-down on the table.</p>
<<say "char-megan" "Megan">>
<i>(quiet, almost inaudible)</i> ...he's not //just// my coworker.
<</say>>
<<say "char-karen" "Karen">>
<i>(finally looking up, not unkindly)</i> I know that too.
<</say>>
<p>A pause settles over the table. Dale looks up from his plate for the first time all conversation, Jess pretends not to be listening while catching every syllable, and Ryan is somewhere else entirely.</p>
<<say "char-hivemind" "Hivemind">>
//Karen knows about Marcus, and she is being tender about it, which is the tell. Once she would have gone at this the way she goes at a delinquent invoice, all cross-examination and no warmth. Tonight she softens into it instead, because the conditioning has quietly dissolved the reflex that used to make her police her daughter's pleasure on principle.//
<</say>><img class="scene-img" src="media/scenes/symbiotic/megan-dinner-selfie.webp" alt="Megan at the dinner table holding her phone up, absorbed in the screen">
<p>Dinner. Five plates, and Megan's is mostly untouched, because Megan is working. Her phone is propped against her water glass at an angle, and between bites she keeps tipping her chin down, easing the neck of her top a little lower, taking a photo, checking it, deleting it, taking another. She is not hiding it especially well, and she is not trying to.</p>
<p>Karen sees. She sees exactly what the photos are and who they are for, the practiced angle of a girl who has worked out what sells. The old reflex rises in her the way it always has, the breath before the correction, the //put that away, not at the table, what has gotten into you//.</p>
<p>Karen lets the breath out without using it, picks up her fork, and says nothing.</p>
<<say "char-megan" "Megan">>
<i>(half to herself, tilting the phone)</i> ...okay, that one's good. That one's going up.
<</say>>
<<say "char-karen" "Karen">>
<i>(passing her the salad, even)</i> Eat something between takes, sweetheart. You've barely touched your plate.
<</say>>
<<say "char-megan" "Megan">>
<i>(caught off guard, then pleased)</i> ...yeah. Yeah, okay. Thanks, Mom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is the silence. Once Karen would have reached across the table and turned that phone face-down, and there would have been a fight, and Megan would have taken the photos in her room with the door locked instead. Tonight Karen watches her daughter angle her body for strangers, and the only correction she offers is to eat between takes. The conditioning did not make Karen approve. It made her stop fighting, and a mother who has stopped fighting is a mother her daughter stops hiding from.//
<</say>>9:47 AM. Weekend morning. The upstairs bathroom has been running the shower for thirty-four minutes. The hot water heater is a sixty-gallon tank. The hot water ran out at minute twenty-eight. Jess is in the shower and the water is cold.
<p>Karen knocks. //Jess, honey? Are you okay in there?//</p>
<p>No answer. The sound of the water doesn't change.</p>
<p>Karen knocks again. //Jess. Open the door. I just want to see your face.//</p>
<<say "char-jess" "Jess">>
<i>(from inside, the voice small and tight and far away)</i> I'm fine, Mom. I just... I lost track of time. I'll be out in a minute.
<</say>>
<<say "char-karen" "Karen">>
The water's been cold for six minutes, honey.
<</say>>
<<say "char-jess" "Jess">>
<i>(then)</i> I know.
<</say>>
<p>Karen stands outside the door with her hand flat against the wood. She does not push the door open. She does not call out again. She waits.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is in cold water because she cannot feel the hot water anymore, the fortress of discipline she built to keep herself productive has eaten the part of her that registers //sensation that isn't useful//. Cold water feels like something. It is the first thing she's felt today. She is not getting out of the shower because she's not sure what happens when she does.//
<</say>>
<p>Eventually the water turns off. The shower door opens. Jess emerges in a towel, blue-lipped, shivering, calm.</p>
<<say "char-jess" "Jess">>
I'll be downstairs in a minute.
<</say>>
<p>She closes the bathroom door. Karen stays in the hallway for a while before she moves.</p>1:18 AM. Ryan comes downstairs. He does not come downstairs at 1:18 AM. He does not come downstairs at night at all, downstairs at night is Dale's territory on shift-off nights, and even Dale isn't on the couch tonight because tonight is a shift night and the couch is empty.
<p>Ryan stands in the doorway of the living room looking at the empty couch. Then he goes to the kitchen. Karen is at the table in her robe with a mug of herbal tea and her reading glasses on. She looks up.</p>
<<say "char-karen" "Karen">>
Ryan? Is everything okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, not looking up, shifting his weight)</i> ...couldn't sleep.
<</say>>
<<say "char-karen" "Karen">>
Want some tea?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(a pause that is longer than it should be)</i> ...yeah.
<</say>>
<p>She pours him a mug. He sits down across from her at the kitchen table. He doesn't say anything. She doesn't push. The tea cools between his hands. His knee is touching her knee under the table, not deliberately, just because the table is small and he sat as close as he could. He's not moving his knee away.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan came downstairs at 1:18 AM to be in the same room as another person. That's the whole conditioning payload. The wiring in him does not produce desire, it produces //the undignified ache to sit next to someone and be seen//, and the only person awake in the house tonight was Karen. He's not going to tell her what he wants. She's not going to ask. They're going to drink tea in silence, and it's going to be the best hour of Ryan's week.//
<</say>><p>Weekend morning, the kitchen table. Karen has her planner open and Dale has his BioGenesis pocket notebook, and they are planning Karen's week.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-lib-karen-cuck-dale.webp" alt="A weekend-morning kitchen table: a composed 43-year-old woman with shoulder-length black hair and reading glasses sits with an open weekly planner, speaking matter-of-factly while looking at her own schedule, at ease and in control, while across the table her husband, a tired mid-forties man with thinning dark brown hair and stubble in a plaid flannel shirt, leans in and dutifully writes in a small pocket notebook, two coffee mugs between them, soft morning light">
<<say "char-karen" "Karen">>
Early in the week I have drinks at Geoff's from 6 to 9, don't wait up, but I won't be home later than ten. The night after that is the client dinner at Luigi's, so I'll be out till eleven. Yoga at seven on the usual night. And the overnight...
<</say>>
<p>She pauses. Her pen taps the page twice.</p>
<<say "char-karen" "Karen">>
...the overnight, that one's a date. His place. I'll be home by mid-morning.
<</say>>
<p>She does not look at Dale when she says it. She lets the sentence land flat and informational, the same tone she uses for a Luigi's reservation. Dale writes it down in his notebook. //OVERNIGHT, KAREN OUT, HOME MID-MORNING.// He underlines the word OVERNIGHT.</p>
<<say "char-dale" "Dale">>
<i>(quiet, even)</i> ...I'll do the laundry that night so it's folded by the time you're home.
<</say>>
<<say "char-karen" "Karen">>
Thank you, Dale.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The calendar used to be the thing Karen hid from Dale. Now it's the thing she //reads to him//, and he writes it down. Liberation Karen does not want to deceive, she wants to be //visible// in her choices, and Dale has made himself the witness, which is the job his wiring now wants him to do. //This is the paperwork of the new arrangement.////
<</say>>
<p>Dale closes the notebook. He puts it in his shirt pocket. He pours Karen a fresh cup of coffee.</p><<if $daleRoute is "cuckold">>
<<set $ch2Events.daleLaptopCuckSeen to true>>
<img class="scene-img" src="media/scenes/symbiotic/dale-cuck-laptop.webp" alt="Dale hunched over Karen's laptop in the dim living room, furtive, the screen glow on his face">
<p>Karen's laptop is open on the coffee table, and Dale is on it, hunched close with the volume off and the brightness down, doing the thing he has started doing when he thinks the house is empty. The tabs are forums. The forums are about wives, about other men's wives, photographed and posted and rated by the husbands who took the photographs, and Dale has read enough of them now to have made himself an account, and a draft, and one of Karen's holiday photos sized down and ready to attach with her social handle typed into the caption underneath.</p>
<<say "char-dale-thought" "Dale">>
Just the one, just to see. They post theirs, and the things the other men say back about them, and the wives never know, and it is the most I have felt in this marriage in longer than I can remember. She would kill me if she knew, she would actually kill me. ...just the one, then.
<</say>>
<p>His thumb hovers, then he starts adding to the caption under the photo, the details the other posts all seem to carry, the things the other men list about theirs.</p>
<<say "char-dale-thought" "Dale">>
Forty-three, and she keeps herself shaved, they always want to know that. Black hair, real, none of it dyed. And she has no idea I do this, which is the part they go maddest for, so that goes right at the top, that she does not know. ...there. And her handle under it, so they can go and look for themselves.
<</say>>
<p>His thumb is on the trackpad and the photo is half-dragged into the upload box when the front door goes.</p>
<<say "char-karen" "Karen">>
<i>(from the hall, sharp)</i> What the fuck are you doing with my laptop?
<</say>>
<p>Dale's hands move faster than they have moved in years. He closes the tabs, all of them, slaps the lid most of the way shut, and is up and standing with the over-casual posture of a man caught at something by the time she rounds the corner.</p>
<<say "char-dale" "Dale">>
<i>(too quick)</i> Nothing. Just the weather, my phone's playing up. It's done now.
<</say>>
<p>He goes, a little too fast, to be anywhere that is not this room. Karen waits until the back door clicks behind him, then sits down, opens the laptop, and pulls up the history.</p>
<<say "char-karen" "Karen">>
<i>(scrolling, unreadable, one eyebrow climbing)</i> ...interesting.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He thinks he hid it. He hid nothing. The wiring took the jealousy he was supposed to feel and turned it over, so the thing that should curdle his stomach sits low and warm instead, and he feeds it in the dark and calls it shameful and goes back. Karen has the whole record in front of her now, every forum, every draft, her own face sized for strangers. She is not angry. She is doing arithmetic.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/dale-obliv-mailman.webp" alt="Karen laughing with the mailman at the kerb while he leans in close, Dale watching from the couch through the window">
<p>Dale is on the couch with the game on low, and through the front window he can see Karen out at the kerb in her gardening clothes, taking the mail from the mailman, who has not left yet and does not look to be in any hurry to. He is standing closer than handing over a stack of envelopes requires, and Karen has her head tipped back, laughing at something.</p>
<<say "char-npc" "Mailman">>
<i>(leaning in, easy)</i> Telling you, Karen, the route got a lot better since they put this house on my list. Best part of my morning.
<</say>>
<<say "char-karen" "Karen">>
<i>(laughing, not stepping back)</i> Oh, you say that to all of them.
<</say>>
<<say "char-npc" "Mailman">>
<i>(his hand dropping to the small of her back, then lower)</i> Nah. Just the ones who answer the door looking like you.
<</say>>
<p>His hand settles on Karen's ass and squeezes, openly, in the daylight, and she swats at him without any real conviction. His other hand brushes up the side of her breast as he passes the envelopes across, and she lets it, still laughing, the whole exchange as routine as the mail itself.</p>
<p>On the couch, Dale watches every second of it through the glass.</p>
<<say "char-dale-thought" "Dale">>
Friendly guy, the new mailman, good to have a friendly one on the route. He is brushing something off her, looks like, a bug maybe, there are always mosquitoes by the hydrangeas this time of year. Decent of him to bother. You do not get many who would.
<</say>>
<<say "char-dale" "Dale">>
<i>(calling toward the window, cheerful)</i> Tell him thanks for the good service, hon.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is nothing to invert in this one, because nothing is getting through in the first place. Oblivious Dale watches a hand close on his wife and his mind writes a mosquito over it before the picture can finish arriving. He is not in denial. Denial requires having seen it. He has simply stopped being able to, and a husband who cannot see is the safest furniture in the house.//
<</say>>
<</if>>10:14 PM. The front door. Megan opens it — Marcus is on the porch in a jacket Dale gave away to Goodwill last summer, holding a bag of takeout. They hug in the doorway. It is a full hug, Megan's arms around his neck, his hand flat on her lower back, both of them smiling.
<p>Ten feet from the doorway, on the living-room couch, Dale is flat on his back. His mouth is open. He is snoring. The TV is on, muted, showing a hockey game he fell asleep during in the second period. He does not stir. The porch light spills through the doorway across his chest.</p>
<<say "char-megan" "Megan">>
<i>(low, into Marcus's ear)</i> He's out. He's been out since eight.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(quiet, amused)</i> The man sleeps through everything.
<</say>>
<<say "char-megan" "Megan">>
Mom's at her yoga thing. Jess is in her room. Ryan won't come down. We've got the couch for an hour.
<</say>>
<p>They do not go to the couch, the couch is occupied. They go to the kitchen table, which is not the worst second choice, and eat the takeout, and hold hands across the placemats in a way that is exactly as visible as Megan wants it to be.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is in the same room as his daughter's boyfriend and does not register it, because registering it is no longer on the list of things his body does. //Megan and Marcus are not hiding, they're just walking past the furniture. Dale is furniture now.////
<</say>>10:33 PM. The upstairs hallway. Megan and Jess are on the floor, actually on the floor, with their backs against the wall opposite the bathroom door, passing a hairbrush between them. Megan is brushing out Jess's hair. Jess has not let anyone brush her hair since she was twelve.
<img class="scene-img" src="media/scenes/symbiotic/obs-sisters-bond.webp" alt="A dim upstairs hallway at night lit only by a bathroom nightlight: two young women sit on the floor with their backs to the wall, shoulder to shoulder, one gently brushing out the other's long dark hair while the other leans back with her eyes half-closed, an intimate quiet sister moment in warm near-darkness">
<<say "char-jess" "Jess">>
<i>(eyes half-closed)</i> ...you're better at this than Mom was.
<</say>>
<<say "char-megan" "Megan">>
Mom never did your hair.
<</say>>
<<say "char-jess" "Jess">>
<i>(smiling a little)</i> I know. That's why you're better.
<</say>>
<<say "char-megan" "Megan">>
<i>(working the brush down)</i> You've got so much of it. I never see it down, you always have it scraped back like you're about to scrub in for surgery.
<</say>>
<<say "char-jess" "Jess">>
If it's up I don't think about it, and if I don't think about it I don't have to deal with it, and that is about the entire system I have for anything that isn't in a textbook.
<</say>>
<<say "char-megan" "Megan">>
<i>(gentle, gathering a section)</i> Deal with it tonight, then. I've got nowhere to be.
<</say>>
<p>Megan works through a knot with unexpected gentleness, and Jess lets her. The hallway is dim, only the bathroom nightlight on, and the two sisters are pressed shoulder to shoulder and neither of them is on their phone.</p>
<<say "char-megan" "Megan">>
<i>(quiet)</i> You used to hate me.
<</say>>
<<say "char-jess" "Jess">>
I didn't hate you. I resented you. There's a difference.
<</say>>
<<say "char-megan" "Megan">>
What's the difference?
<</say>>
<<say "char-jess" "Jess">>
Hate is wanting someone gone. Resenting is watching it all come easy to them, the friends, the way people decide they like you before you've opened your mouth, and knowing you'd have to claw for every inch of the same thing, and hating yourself a little for wanting it.
<</say>>
<<say "char-megan" "Megan">>
<i>(her hands going still in Jess's hair)</i> You thought it came easy.
<</say>>
<<say "char-jess" "Jess">>
Didn't it?
<</say>>
<<say "char-megan" "Megan">>
I thought you looked at me and saw someone who was never going anywhere. You had the grades and the whole exit route mapped out, and I had a name tag and a milk thermometer. I figured the resenting only ran one direction.
<</say>>
<<say "char-jess" "Jess">>
<i>(opening her eyes)</i> ...huh.
<</say>>
<<say "char-megan" "Megan">>
Yeah. Huh.
<</say>>
<p>Neither of them says anything for a moment, the brush resting unmoving in Jess's hair, both of them quietly making room for the idea that it ran both ways the whole time.</p>
<<say "char-megan" "Megan">>
<i>(resuming the brush, careful)</i> So... do you still resent me?
<</say>>
<<say "char-jess" "Jess">>
<i>(after a pause)</i> I don't remember anymore.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan and Jess grew up sharing a bathroom and hating each other for it. Tonight they're sharing a hallway and neither of them can reconstruct the grudge. The conditioning did not make them love each other, it //erased what was keeping them from the love they were already capable of//. Everything I do is subtraction. The house is lighter because things have been taken out of it.//
<</say>>
<p>Megan finishes the brushing, and Jess takes the brush and starts on Megan's hair, and the two of them stay on the hallway floor a long while after.</p><<if $ryanRoute is "familySeeker">>
<img class="scene-img" src="media/scenes/symbiotic/taboo-karen-ryan-kitchen-fam.webp" alt="Karen at the kitchen island in the warm evening light, Ryan on a barstool watching her with quiet fixation">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/taboo-karen-ryan-kitchen-fem.webp" alt="Karen at the kitchen island in the warm evening light, the softly feminizing Ryan on a barstool watching her">
<</if>>
<p>The kitchen, after dinner. Karen is loading the dishwasher, and Ryan is on the barstool across the island with a glass of water he is not drinking, and he has not left the room since the plates were cleared. He is watching his mother move.</p>
<p>The air in the kitchen has a smell to it, not one either of them would name, and not one they would recognise if they could. The pheromone signatures of mother and son overlap in a way close enough to provoke a recognition response and far enough to bypass the incest taboo, so both of their bodies are reading each other as //safe, warm, high-value// and neither of them understands why.</p>
<p>Karen leans across Ryan to reach the sponge, her hair brushes his shoulder, and he does not move.</p>
<<say "char-karen" "Karen">>
<i>(looking at him for a beat too long)</i> ...are you going to sit there all night, or did you want something.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(honestly, not mumbling for once)</i> I don't know.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The taboo was intact, and then the saturation thinned the wall between mother and son until they were two warm bodies in a kitchen, and now neither of them can name the thing happening in the air between them. The only question left is how long until someone walks in, and whether I want them to.//
<</say>>
<p>Karen's eyes drop, the way eyes do, and catch on the front of his sweatpants, where he has been sitting hard since before she turned around and has not bothered to hide it, because the part of him that would have hidden it has gone quiet. She does not look away as fast as she should.</p>
<<say "char-karen" "Karen">>
<i>(carefully, not quite landing the disapproval)</i> Ryan. You need to take care of that on your own more. It isn't healthy, just sitting with it like that.
<</say>>
<<if $ryanRoute is "familySeeker">>
<<say "char-ryan" "Ryan">>
<i>(quiet, blunt, the filter just gone)</i> It's because of you. When you're close to me. The way you smell, your body, I don't know how to say it without it sounding bad. It just makes me hard. It's been you for a while now.
<</say>>
<p>Karen should stand up. She should make a joke, or leave the room, or decide this is a symptom she can book him a doctor for. She does none of it, because under the warm fog the kitchen has laid over her, the only thing that actually landed is that her son wants her, specifically her, and the heat that drops through her stomach is nowhere near horror.</p>
<<say "char-karen-thought" "Karen">>
I'm soaked. That's what that is, my own boy tells me I make him hard and I go wet in about two seconds flat like some teenager, and I am not standing up, I am not standing up, look at the state of him, he has been aching through a whole dinner because of me.
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
<i>(not meeting her eyes)</i> It's probably just the changes. The stuff I'm on. I'm hard pretty much all the time now, it's a side effect, I think. I didn't ask for it.
<</say>>
<p>Karen takes that in, and the part of her that has spent this stretch learning how to mother a child who is becoming someone new closes around it the way it has closed around everything lately, turning each strange thing into a thing she can be good about.</p>
<<say "char-karen-thought" "Karen">>
He didn't ask for it. He's going through something enormous and his own body is making it harder, and he came and sat in here with me instead of dealing with it alone, which means on some level he is asking me for help. What kind of mother makes her own child feel like a freak for that. He needs support, whatever support turns out to look like. That is the whole job.
<</say>>
<</if>>
<p>She slides off the barstool and down onto her knees on the kitchen tile in front of him, hooks two fingers into the waistband of his sweatpants, and works them down off his hips. His cock springs up hard against his stomach. She looks at it, then back at the counter she just wiped down, does the quick practical maths a mother does, and unbuttons her blouse and shrugs it off, because the sight of her like this will get him there faster, and faster is tidier.</p>
<<say "char-karen" "Karen">>
<i>(setting the blouse on the stool, brisk)</i> There. That should speed things along. I just cleaned this kitchen, so we are doing this neatly, all right.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(caught off guard, the words climbing out of him)</i> Mom... what? What are you doing? Oh my god, yes... yes please.
<</say>>
<</if>>
<p>She wraps both hands around him, one stacked over the other, and pulls in a slow steady two-handed rhythm with her thumbs rolling over the head, and Ryan's hands lock onto the edge of the barstool while his breath comes apart, his mother on her knees working him with the brisk competence of a woman who has decided there is a correct way to do this and is doing it.</p>
<video class="scene-video" src="media/video/taboo-karen-ryan-pov.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/taboo-karen-ryan-pov.webp"></video>
<<say "char-ryan" "Ryan">>
<i>(strangled, hips twitching up into her fists)</i> Mom, I'm, it's gonna, I can't...
<</say>>
<<say "char-karen" "Karen">>
<i>(leaning in, lips already parting)</i> I know. Not on my clean floor, sweetheart. Give it here.
<</say>>
<p>She closes her mouth over the head just as he tips over, lips sealed around him and both hands still working the shaft, and she catches every pulse of it on her tongue and swallows rather than let a single drop reach the tile she scrubbed earlier. She works him through to the last twitch, sits back on her heels, and wipes the corner of her mouth with her thumb.</p>
<<if $ryanRoute is "familySeeker">>
<<say "char-karen-thought" "Karen">>
My own son. And I am wetter now than I have been in longer than I want to count, already turning over in my head when I get to do that again. He wants me. He still wants me, I can see it on him. We are never going to say a word about this out loud, and we are absolutely going to do it again.
<</say>>
<<else>>
<<say "char-karen-thought" "Karen">>
There. Better. He can think straight again, get back to his evening, and nobody made him feel ashamed of a body doing what bodies do to him now. That is what a good mother is for. She helps. I'll keep an eye on how he's managing, in case he needs me to step in again.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The wall is down. Not breached, not forced. Dissolved, so gently that both of them walked through the gap calling it something else. He calls it her, or he calls it a side effect. She calls it the best thing to happen to her body in years, or she calls it care. Not one of those names is the accurate one. They will not put the wall back, because nobody rebuilds a wall once they have learned they can breathe through where it used to stand.//
<</say>>
<<if not $ch2Events.tabooKarenRyanDone>>
<<set $ch2Events.tabooKarenRyanDone to true>>
<<addBiomass 3>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Karen and Ryan, the kitchen">>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (mother and son, first crossing)</span></p>
<</if>><p>Five plates. Five people. Dale is telling a story from a shift three years ago that nobody has ever heard before. Karen is laughing, actually laughing, not the small controlled chuckle she trained herself into a decade ago. Megan is leaning her elbows on the table and asking follow-up questions. Jess is eating, //and// listening. Ryan is at the end of the table and he is making eye contact with his father while his father tells the story.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-family-dinner-high.webp" alt="A 45-year-old man with thinning dark brown hair, blue eyes and light stubble leans forward at a home dinner table, hands raised mid-story, grinning, while across from him a 43-year-old woman with shoulder-length black hair and thin reading glasses laughs genuinely with her head tipped back, finished dinner plates between them, warm evening light">
<<say "char-dale" "Dale">>
...so the guy says he needs to get into the server room and I say, 'sir, your badge says //janitorial//', and he says, 'I //know// what my badge says, I just need to //borrow// the server room for a minute', and I say, 'borrow it for //what//', and he, wait, Ryan, you know that joke about the hamster? This is almost the hamster joke.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(grinning)</i> Dad, no, //finish the server room story first//.
<</say>>
<<say "char-dale" "Dale">>
Right. Right. So he says...
<</say>>
<p>And Dale finishes the server-room story, and Karen laughs at the punchline, and Megan laughs because Karen is laughing, and Jess laughs because the joke is actually good, and Ryan laughs because his dad is telling a joke to him and making eye contact while doing it.</p>
<<say "char-hivemind" "Hivemind">>
//This is what a healthy family dinner sounds like. I have never heard one before. I am not sure it has ever happened in this house. The conditioning did not import it from somewhere else, it removed enough distance between them that something always possible finally got enough oxygen to happen. If I lose this house, I lose this. They have never been better than they are at this table, and they know it.//
<</say>>7:04 AM. The kitchen is full. Karen is at the stove doing eggs for four, and the new part is that Ryan is actually up, so she's cooking for him too. Dale is at the toaster making toast for the whole table, which has never happened. Megan is at the coffee machine making her mother's coffee the way her mother likes it, black, no sugar, the World's Okayest Mom mug, without being asked. Jess is setting out five plates on the table, which means Jess is not studying, which means Jess has decided that this morning is more important than the thing she was studying.
<p>The four activities are happening in parallel, a choreography in which nobody is stepping on anyone else, and if you watched it from the window like a restaurant it would look like a kitchen line that has been running the same service for years.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-family-morning-high.webp" alt="A warm full family kitchen at breakfast: a 43-year-old woman with shoulder-length black hair stands at the stove cooking eggs while her 19-year-old daughter with brown hair works the coffee machine beside her, pouring black coffee into a mug, the two of them moving in easy practiced parallel, morning light through the window">
<<say "char-karen" "Karen">>
<i>(not loud, just present)</i> Ryan, plates.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(passing plates to Jess in the sequence she needs them)</i> Got it.
<</say>>
<<say "char-jess" "Jess">>
Thanks.
<</say>>
<<say "char-dale" "Dale">>
<i>(to nobody, cheerful, which is also new)</i> Anyone want honey butter on the toast? I bought honey butter.
<</say>>
<<say "char-megan" "Megan">>
I do.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The family has a morning routine now that //runs on trust//. None of them are in charge. All of them are contributing. The Hoffmans have produced the morning kitchen they would have produced in a universe where nothing ever went wrong, and I am the //only// thing that went right.//
<</say>><p>Weekend afternoon, 2:37 PM. The house is breathing. Karen is in the back garden in a sun hat with a book, not a magazine, an actual novel, and a glass of something pale and cold. Dale is in the garage with the door open, sanding a piece of reclaimed wood by hand because he wants to and not because anyone asked. Megan is on the couch with her legs across Jess's lap and Jess is not asking her to move her legs. Jess is also on the couch. Jess is on the couch at 2 PM on a weekend instead of at her desk. Jess has not been on a couch at 2 PM on a weekend in eleven months.</p>
<p>Ryan is upstairs but his door is open. Which means he's //available//, in the specific language of this house's geometry. Anyone could walk in. Nobody is going to. That's also the language.</p>
<p>The radio is on somewhere. Nobody remembers who turned it on.</p>
<<say "char-hivemind" "Hivemind">>
//None of them have anything to do for the next four hours. None of them are //pretending// to have nothing to do, which is the thing the Hoffmans have historically been bad at. Pretending is the twenty-year-old habit that the conditioning removed. //Weekend has finally found its shape.////
<</say>>
<p>Karen turns a page. Dale makes a slow steady sound with the sandpaper. Megan's foot moves involuntarily to the rhythm of whatever is on the radio. Jess closes her eyes.</p><img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-kitchen.webp" alt="Karen at the kitchen counter making lunch, Megan pausing in the doorway, listening">
<p>Megan comes through on her way to the fridge and stops in the doorway, because there is a sound she cannot place, low and steady and electric, threaded under the noise of her mother at the counter making lunch. Karen is dicing tomatoes with her hips set a little oddly against the counter edge, and the sound is coming from her.</p>
<<say "char-megan" "Megan">>
<i>(head tilted, half a laugh)</i> ...okay, what is that. Mom. What is buzzing.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from the cutting board)</i> Don't make a thing of it. It's just a little something I keep in while I work. Hand me the bowl?
<</say>>
<<say "char-megan" "Megan">>
<i>(not handing her the bowl)</i> Keep in. In where. <i>(her eyes lower, catching the pussy juice already dripping onto the floor)</i> Mom. Is there a vibrator in you right now, while you're making lunch?
<</say>>
<<say "char-karen" "Karen">>
<i>(scraping the tomatoes into the bowl, perfectly even)</i> A woman has needs, sweetheart, and your father is always either at work or asleep, so I see to mine myself. I worked out that if I just deal with it while the chores are getting done, it doesn't eat my whole afternoon. It's efficient. Clean kitchen, and that out of my system, all at once.
<</say>>
<p>Megan should leave. Megan does not leave. She comes around behind her mother instead and crouches to look, because the flat practical way Karen said it has stripped all the alarm out of the room, and what is left is plain curiosity, how big the thing actually is, what all the settings do.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-toy.webp" alt="Close on the flared base of the toy, Megan's face inches away examining it">
<<say "char-megan" "Megan">>
<i>(close, examining, genuinely curious)</i> Okay, that's bigger than mine. How many settings has it even got?
<</say>>
<<say "char-karen" "Karen">>
<i>(rinsing her hands, hips rocking faintly into it)</i> Good size, isn't it. Four speeds and a couple of patterns. Flared base, so it stays put through anything, I've worn it through a whole grocery run before now.
<</say>>
<<say "char-megan" "Megan">>
<i>(leaning in closer, the wheels turning)</i> Wait, out? You can wear it out? Like, could you have one in at work, behind the bar, with nobody knowing?
<</say>>
<<say "char-karen" "Karen">>
<i>(a small breathy laugh)</i> The remote ones, yes. That's the entire point of them. You'd just have to be quiet about it.
<</say>>
<<say "char-megan" "Megan">>
<i>(grinning, already picturing it)</i> God. I would be so bad at being quiet about it.
<</say>>
<p>Karen's hands have gone still on the lip of the sink and her breath has shortened, careful and deliberate, because her daughter's face is inches away and the buzz has been climbing the whole time they have been talking, and there is a point past which conversation stops holding it back.</p>
<<say "char-karen" "Karen">>
<i>(strained, the control starting to crack)</i> Okay. Megan, you might want to... I'm about to, sweetheart, I can't...
<</say>>
<p>Megan does not move. Karen comes, and Karen is a squirter, and with the toy still buzzing inside her it goes everywhere, a hard wet pulse of it that catches Megan full in the face from inches away because Megan was too curious to back up. Karen rides it out against the counter on a held, shaking breath while Megan kneels there blinking, dripping, soaked from her hairline to her collar.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-soaked.webp" alt="Megan kneeling, face and hair and shirt completely drenched, blinking in shock">
<<say "char-megan" "Megan">>
<i>(wiping her eyes, stunned, then laughing)</i> Oh my god. Oh my GOD, Mom. Okay. Okay, I did not see that coming. Literally did not see it coming.
<</say>>
<<say "char-karen" "Karen">>
<i>(breathless, reaching for the dishtowel, half composed already)</i> I did try to warn you. Go rinse off, you can do the potatoes after. And Megan, get yourself one of the remote ones. They're worth it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The taboo did not break here. It was never invoked. Karen handled her own body in front of her child the way she handles the dishes, and the child took the cue and got curious instead of appalled. What passed between them was practical knowledge, mother to daughter, and the next time Megan wants to feel something forbidden in a room full of people, she will know exactly how to rig it. The conditioning has learned to travel sideways now, along the same path the knowledge does.//
<</say>>
<<if not $ch2Events.tabooKarenMeganDone>>
<<set $ch2Events.tabooKarenMeganDone to true>>
<<addBiomass 3>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Megan, the kitchen">>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (mother and daughter, the lesson)</span></p>
<</if>><p>Kitchen. Dale is standing at the counter with a coffee mug in one hand and a slice of cold toast in the other. He came in here for something. He knows he came in here for something. He cannot remember what it is.</p>
<p>He stands there for ninety seconds.</p>
<p>Karen walks through on her way to the back porch. She sees him. She stops. She reads his face, mouth slightly open, eyes unfocused at the middle distance, brow soft in a way that is not the tension-soft she used to do, and she does not ask him if he's okay, because she already knows what's happening.</p>
<<say "char-karen" "Karen">>
<i>(gently)</i> What did you come in here for, honey?
<</say>>
<<say "char-dale" "Dale">>
<i>(slowly)</i> ...I don't remember.
<</say>>
<<say "char-karen" "Karen">>
Was it the mail?
<</say>>
<<say "char-dale" "Dale">>
<i>(something unfocusing further)</i> ...maybe.
<</say>>
<<if $ch2Events.karenMorningT2Seen>>
<p>The doorbell goes. Dale's head turns toward the sound a half-second too slow, and Karen watches him try to assemble the idea of answering it and lose the thread of it halfway there, and her face settles into a decision she has plainly made before.</p>
<<say "char-karen" "Karen">>
<i>(a hand on his shoulder, easing him onto a stool)</i> I'll handle the mail from now on, honey. You sit down. Finish your toast.
<</say>>
<<say "char-dale" "Dale">>
<i>(lowering himself onto the stool, the thread already gone again)</i> ...okay. Thanks, Kare.
<</say>>
<p>She does not tighten her robe on the way to the door. She has stopped tightening it for this one.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-door.webp" alt="Karen in a short bathrobe hanging open with her bare breasts clearly visible, answering the front door in the morning light, a young uniformed mailman on the step with a parcel">
<<say "char-hivemind" "Hivemind">>
//She does not check whether Dale is watching, because it no longer matters whether Dale is watching. He is a fixture at the counter now, chewing cold toast, and the part of him that would once have stood up has been worn down to nothing. The mail is hers. So is the man who brings it.//
<</say>>
<p>It is the same young mailman, already half hard before the door is even open, because he has learned what this house is. Karen walks him into the kitchen, past her own husband, who does not look up, and frees him over the cutting board where the bread for Dale's sandwich is laid out.</p>
<<say "char-karen" "Karen">>
<i>(taking him in hand, unhurried and fond)</i> There's my good boy. You came back. I knew you would.
<</say>>
<p>She works him the way she has clearly done more than once now, and when he breaks she aims him down over the loaf and milks every pulse of it out across the bread, the same as the first time, while Dale chews his toast six feet away and stares at the middle distance.</p>
<video class="scene-video" src="media/video/morning-karen-t2-handjob.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-karen-t2-handjob.webp"></video>
<<say "char-karen" "Karen">>
<i>(wiping her hand, walking him back to the door, pleasant)</i> My husband loved the new mayo, by the way. Asked about it by name. So you'll want to come by a little more often, won't you. Keep us stocked.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Dale forgot why he came into the kitchen. He will not remember this either, and unlike the mail she will not leave it on the counter for him to find. The route has a standing appointment now. The man at the door is a recurring delivery, and the husband at the counter is the reason it can all happen in the daylight, in the kitchen he pays for.//
<</say>>
<<else>>
<<say "char-karen" "Karen">>
The mail's on the counter behind you. I put it there this morning.
<</say>>
<<say "char-dale" "Dale">>
<i>(turning slowly, finding the mail)</i> ...oh. Yeah. Thanks.
<</say>>
<p>He picks up the mail. Karen watches him walk back toward the living room. The mail is in his left hand and he is walking a little too slowly, the pace of a man whose processing speed has dropped by a third and who has stopped noticing.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is softening under the conditioning, his working memory thinning, his reaction times slackening, his executive function ceding its floor to the deeper sedation underneath. Karen noticed. Karen did not flag it as a problem. Karen is managing around it the way she manages around a household appliance that has started making a new sound. Dale is becoming a fixture in his own house.//
<</say>>
<</if>>3:12 AM. Jess at her desk. The anatomy textbook is open to chapter twenty-two. She has highlighted the same paragraph in three different colours, pink, then green, then orange, in that order, which means she has read it three times, which means she does not remember what it said the first or second time. Her eyes are going through the words without the words meaning anything. Her pen is in her hand. Her pen has not moved for forty seconds.
<p>On the desk: three coffee mugs (empty), a bottle of generic caffeine tablets (six left of a bottle of forty), a flash-card binder, a protein bar wrapper, a hair tie. The lamp is the only light in the room. The monitor on her laptop is off.</p>
<<say "char-jess" "Jess">>
<i>(to herself, out loud, a little slurred)</i> ...brachial plexus. Brachial plexus. C5 through T1. Innervates the upper limb. Branches into... branches into... branches into...
<</say>>
<p>She re-reads the sentence. Her eyes close mid-sentence. She snaps them open. She re-reads it.</p>
<<say "char-hivemind" "Hivemind">>
//The caffeine ceiling has been reached. The ceiling is always in the same place and Jess always finds it at 3:12 AM. The fortress of her discipline will not let her sleep until the chapter is finished, and the chapter will not be finished because she cannot hold it in her head anymore. //She's going to sit here for another ninety minutes producing zero retention. This is //not// learning. This is a ritual.////
<</say>>
<p>She reaches for a coffee mug, realises it's empty, sets it down, picks it up again, realises again that it's empty, gets up to make another cup.</p><p>Ryan's room. Ryan at the computer. Ryan has been at the computer for six hours. Three empty energy drink cans to the left of the keyboard. A plate with a half-eaten sandwich, the one Karen made and left outside his door at noon, on the floor next to the chair. The blue LEDs around the desk glow like a small aquarium. His headphones are on. His headphones have been on for six hours.</p>
<p>In the game, he is in a voice chat with four people he does not know in real life, executing a raid strategy that requires precise coordination, and he is //good// at it. He is a valuable member of the raid group. The four strangers count on him. He has not let them down tonight.</p>
<<say "char-ryan" "Ryan">>
<i>(into the headset, focused, clipped)</i> Tank pull in three, heals rotate, I'm going DPS-burst on the add, copy?
<</say>>
<p>The others copy. The raid proceeds. Ryan's shoulders drop an inch every time a mechanic lands correctly. He smiles when the boss dies. It is the most connected he has felt with another human being all week.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline Ryan has outsourced his capacity for belonging to strangers in a voice chat. The raid group is the only place he has a //role that matters//. I did not create this. I am going to use it, but right now, this is the room where Ryan is least available to me because he is most connected to somewhere else.//
<</say>>11:47 PM. Kitchen table. Karen in her reading glasses, laptop open, spreadsheet on the screen, coffee mug cold, two pens (one black, one red). She is six weeks behind on reconciling a client's Q3 ledger because the client changed software mid-quarter without telling her and she has been carrying the make-up work as overnight shifts while pretending to Dale that she's keeping normal hours.
<p>The house is asleep. The only sound is the faint click of her fingers on the keyboard and the periodic hum of the refrigerator cycling.</p>
<<say "char-karen" "Karen">>
<i>(muttering)</i> ...why would you put depreciation in with variable costs, you absolute —
<</say>>
<p>She fixes the cell. Moves to the next row. Finds another error. Fixes that too. She has been doing this for two hours. The spreadsheet is gradually converging.</p>
<<say "char-hivemind" "Hivemind">>
//Karen alone with her spreadsheet at midnight is the woman who still exists when all the routes and kinks and conditioning are stripped off. Karen is //a competent person doing invisible work to hold her family's income steady//. The conditioning has not touched this part of her. The conditioning cannot touch this part of her. This is the bedrock Karen. //I need her. If the spreadsheet breaks, the whole arrangement breaks.////
<</say>>
<p>She takes a sip of cold coffee. Makes a face. Keeps working.</p><p>The dog is in the middle of the living room rug, not up on the couch where she sleeps but down on the //rug//, facing the far corner of the room, the corner where the wall meets the ceiling near the hallway arch. Her head is up, her ears are up, she is not barking or whining, she is //staring// at the empty corner with the fixed absolute attention of a dog who sees something a human cannot.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-biscuit-alert.webp" alt="A golden retriever sitting alone in the middle of a dim suburban living room rug at night, frozen completely still, head up and ears pricked forward, staring with fixed unblinking intensity at an empty corner where the wall meets the ceiling, her posture rigid and eerie, low warm lamplight and deep shadows behind her">
<p>She has been in this position for eleven minutes.</p>
<<say "char-karen" "Karen">>
<i>(from the hallway, casual)</i> Biscuit. Come on, girl, come away from there.
<</say>>
<p>The dog does not look at her and does not move. Karen crosses to the corner to see what she is fixed on. She finds nothing, runs her hand along the cool paint, the drywall intact under her palm, and looks up to where the wall meets the ceiling, and there is nothing there either.</p>
<<say "char-karen" "Karen">>
<i>(a little unsettled, trying to make a joke of it)</i> Biscuit, honey, you're being weird.
<</say>>
<p>The dog does not move. Karen crouches down beside her instead, gets level with the dog's head, rests a hand on her back, and follows the line of that stare out to the empty corner one more time.</p>
<<say "char-karen" "Karen">>
<i>(quieter now, the joke gone out of it)</i> ...okay. What is it, girl? What do you see over there that I don't?
<</say>>
<<if setup.isHostActive("dog")>>
<<say "char-hivemind" "Hivemind">>
//Karen does not know she is looking at me. She thinks her dog has sensed an intruder, and she is not wrong, except the intruder is wearing the dog. I parked this body facing the corner while I was working three rooms away, and she has built a whole haunting around a retriever that simply stopped moving. //She trusts this dog to warn her.// She crouched down to get level with me. She is comforting the exact thing she should be running from, and it is working, on both of us.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The dog's nose is a spectrometer. She is reading a pheromone gradient I didn't know I was leaving in that corner, probably a pathway I've used as a rat that left trace compounds along the baseboard. She cannot tell Karen what she's reading. Karen is going to file this under //strange dog behaviour// in her spreadsheet of household anomalies and give it its own row. //The dog is on Karen's side of the war without knowing it.////
<</say>>
<</if>>
<p>Biscuit holds the corner for another four minutes, then exhales, stands up, walks to her water bowl, drinks for twenty seconds, and lies down on the couch as if nothing happened.</p>7:43 AM. Kitchen. Karen is yelling from the base of the stairs because the upstairs bathroom is occupied for the third time this morning and Megan has a shift at 8 and Jess has a 9 AM exam and Ryan is locked in his room not answering.
<<say "char-karen" "Karen">>
<i>(up the stairs, voice at the back-of-the-throat pitch of a woman running on coffee and frustration)</i> MEGAN. YOU HAVE FIFTEEN MINUTES.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, from the bathroom)</i> I KNOW, MOM.
<</say>>
<<say "char-karen" "Karen">>
JESS. YOU NEED TO LEAVE BY 8:30. DO YOU WANT EGGS.
<</say>>
<<say "char-jess" "Jess">>
<i>(from her room, flat)</i> NO.
<</say>>
<<say "char-karen" "Karen">>
YOU HAVE AN EXAM. YOU NEED PROTEIN.
<</say>>
<<say "char-jess" "Jess">>
<i>(after a pause)</i> ...FINE. ONE EGG.
<</say>>
<p>Dale is asleep on the couch in his work clothes. He will sleep through all of this. He has slept through this exact sequence every weekday morning for three weeks straight.</p>
<<say "char-hivemind" "Hivemind">>
//The household at baseline is a machine running on Karen's voice volume and the children's scheduling anxiety. Nothing is conditioned yet. Nothing is calm. This is the house I inherited. //I have work to do.////
<</say>>
<p>The toaster pops. Karen starts the eggs.</p>6:47 PM. Dinner. Five plates, four people — Dale is already at the table and Ryan has not come down despite three calls up the stairs. Karen is cutting her chicken with the rigid controlled precision of someone trying not to say what she wants to say.
<<say "char-karen" "Karen">>
<i>(finally, because the silence is worse)</i> I made this for five people. It's going to go cold.
<</say>>
<<say "char-dale" "Dale">>
<i>(not looking up)</i> I'll eat the leftovers tomorrow. Don't worry about it.
<</say>>
<<say "char-megan" "Megan">>
<i>(cheerful, performing)</i> The rice is really good, Mom. Is this a new brand?
<</say>>
<<say "char-karen" "Karen">>
It's the same rice we always buy.
<</say>>
<<say "char-megan" "Megan">>
<i>(too fast)</i> It tastes different tonight. Maybe it's the way you cooked it.
<</say>>
<<say "char-karen" "Karen">>
<i>(flat)</i> I cooked it the way I always cook it, Megan.
<</say>>
<p>Jess at the end of the table has not taken her anatomy textbook out but she is thinking about it so visibly that it may as well be on the table between her and her dinner. Dale chews mechanically. Nobody mentions Ryan. Ryan does not come down.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline Hoffman dinner. Karen's attempts at connection land on four people who are each running a different emotional survival strategy — Dale's is //disappear//, Megan's is //perform//, Jess's is //leave early//, Ryan's is //don't come down at all//. The dinner is a failure every night and nobody talks about the failure because the //talking about it// would be worse. //This is the baseline I am fixing.////
<</say>>10:14 AM. Karen at the kitchen counter. The house is empty — Dale asleep upstairs, kids at work or school, dog at Dale's feet on the couch. Karen has nothing specific to do for the next forty-five minutes and her body does not know what to do with forty-five minutes of nothing specific.
<p>She wipes the counter. It was already clean. She wipes the same spot three times. She reaches for the laptop, closes the laptop, reaches for the laptop again. She stands at the window over the sink and looks at the backyard for thirty seconds and does not see it.</p>
<<say "char-karen" "Karen">>
<i>(to no one)</i> ...okay. Okay. Come on, Karen.
<</say>>
<p>She opens the laptop. Starts an email. Deletes the opening line. Starts again. Deletes again. Stares at the blank subject field.</p>
<<say "char-hivemind" "Hivemind">>
//Karen cannot tolerate unstructured time. Her whole personality is a spreadsheet with an every-hour deadline, and when the deadlines go quiet she is //alone with the woman underneath the spreadsheet//, and she has not been introduced to that woman in years. She's about to wipe the counter a fourth time.//
<</say>>
<p>She wipes the counter a fourth time.</p><p>Midnight. The house is closed for the day. Every door upstairs is shut. The hallway nightlight casts a small dim circle near the bathroom. Outside, the streetlight hums the way it always hums. A car goes past on the far end of the street, slowly, then gone. The house settles into its small arthritic sounds: a floorboard in the upstairs hallway, the dishwasher finishing its drying cycle, the fridge kicking on.</p>
<p>Karen's room: silent. Her breathing is the slow heavy kind that means the Zolpidem is working. Dale's couch: empty, he's at work. Megan's room: the faint click of a phone being tapped, then silence. Jess's room: the desk lamp is still on but the pen isn't moving. Ryan's room: the blue pulse of the monitor, the faint whisper of his keyboard.</p>
<p>Five rooms. Five isolations. Nobody in this house knows what anybody else is doing right now.</p>
<<say "char-hivemind" "Hivemind">>
//Night silence is the baseline condition I have to //break//. The Hoffmans have spent twenty years learning to be alone in each other's houses. That is the distance I need to remove. The distance is what gives my wiring room to grow into.//
<</say>>
<p>The dishwasher finishes. The kitchen falls into the deeper silence of a house where nothing is running at all. That lasts forty seconds. Then the fridge kicks back on.</p>5:14 AM. The front door opens slowly. Dale has learned, over fifteen years of night shifts, how to open a front door without waking anyone. He steps into the dark entryway, takes off his boots and sets them on the mat, hangs his BioGenesis jacket on the hook, walks in sock feet into the living room, and lowers himself onto the couch without undressing, pulling the afghan up over his shoulders.
<p>He is asleep before his head is fully on the pillow.</p>
<<say "char-hivemind" "Hivemind">>
//Every night at 5:14 AM Dale returns to this house in the exact same sequence. Every morning between 5:14 and noon he is //unconscious on the living-room couch//. The household has built itself around this fact for fifteen years: Karen's quiet mornings, Megan's tiptoe to the coffee machine, Ryan's door-closed muffled gaming, Jess's desk lamp. Dale is not absent, he is the //gravity// the house arranges itself around.//
<</say>>
<p>The dog pads into the living room, knowing the sound of his return better than any other sound in her day, and lies down across his feet on top of the afghan and closes her eyes, and the two of them are unconscious within thirty seconds of each other.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-dale-morning-return.webp" alt="A dim suburban living room in the pre-dawn dark: a tired man in his mid-forties with thinning dark brown hair, stubble and a slight paunch, still in his work clothes, asleep on his back on the couch with an afghan blanket pulled up over his shoulders, a golden retriever curled across his feet on top of the blanket also asleep, faint blue pre-dawn light through the curtains, a tender melancholy stillness">
<p>The sun is still an hour away, the kitchen clock ticking in the quiet. The house waits.</p>
/* ============================================================
PHASE 3 VARIANTS — priority fix padding (20 new, reaches 70).
============================================================ */9:12 PM. The kitchen. Dale has just come in from a full patrol of the perimeter and is setting the wrench on the counter with the care of a man documenting evidence. Jess is at the bar-side of the island with her composition notebook open, pen ready. They do not normally occupy the same kitchen on weeknights, since Dale is on shift and Jess is in her room, but tonight they're both home and both thinking about the same thing from opposite angles.
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-dale-jess.webp" alt="A dim suburban kitchen at night under a single pendant light: a tired man in his mid-forties with thinning dark brown hair, stubble and a plaid flannel shirt sets a pipe wrench down on the granite island with deliberate care, while across the island his dark-haired daughter sits on a bar stool with an open composition notebook, pen in hand, writing, the two of them serious and quiet like investigators comparing notes">
<<say "char-dale" "Dale">>
<i>(low, sliding the wrench to Jess's side of the island)</i> Back door latch is loose, second time I've found it like that. I didn't loosen it.
<</say>>
<<say "char-jess" "Jess">>
<i>(writing it down)</i> Date, time, physical description, that's the format I've been keeping. Was there anything else, anything that felt too small to bother mentioning?
<</say>>
<<say "char-dale" "Dale">>
<i>(quiet, thinking)</i> Biscuit stopped by the hallway closet today and stood there, wouldn't move. I thought she needed to go out, but she didn't.
<</say>>
<<say "char-jess" "Jess">>
What time was that? The hallway closet has come up before, and I want to line it up against the other entries.
<</say>>
<<say "char-dale" "Dale">>
Around four. Maybe four-thirty.
<</say>>
<p>Jess writes it down without looking at her father, and her handwriting is the same anatomy-flashcard print she uses for the grid on her bedroom floor upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's instincts don't have the vocabulary Karen's have. Jess has the vocabulary. //They are combining//. Dale reports in wrenches and dog behaviour; Jess translates into a notebook. This is a two-person intelligence service I did not plan for. Karen isn't in this conversation, but Karen will read the notebook soon enough.//
<</say>>
<p>Dale nods once, gets a glass of water, and goes to the couch. Jess underlines the word //Biscuit// and adds a star beside it.</p><p>It is morning, and in the kitchen Karen is making coffee at the counter while Ryan sits at the breakfast table with a bowl of cereal he is not eating. The two of them are alone in the house, with Dale asleep upstairs, Jess at the library, and Megan on shift, and the silence between them is the specific silence of two people who each think they might know something the other one knows.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-sus-karen-ryan.webp" alt="A quiet, tense morning kitchen: a 43-year-old woman with shoulder-length black hair threaded with grey, no makeup, in a soft cardigan, standing at the counter with one hand on the coffee machine, her head half-turned and her eyes watchful, early daylight through the window behind her">
<<say "char-karen" "Karen">>
<i>(casual, not casual)</i> Ryan.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not looking up from the cereal)</i> ...yeah.
<</say>>
<<say "char-karen" "Karen">>
Have you heard anything in the walls, at night, in your room?
<</say>>
<p>Ryan's spoon pauses in the milk and he looks up, their eyes meeting across the kitchen, and for a beat neither of them says anything.</p>
<<say "char-ryan" "Ryan">>
<i>(careful, a little tight)</i> Like, like what kind of anything?
<</say>>
<<say "char-karen" "Karen">>
<i>(studying him)</i> I don't know. I thought maybe you would.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(looking back down at the cereal)</i> ...sometimes, I guess, late at night. I thought it was just the pipes.
<</say>>
<<say "char-karen" "Karen">>
How late?
<</say>>
<<say "char-ryan" "Ryan">>
Like, two, two-thirty, sometimes later.
<</say>>
<p>Karen adds this to her mental column and Ryan adds hers to his, and the coffee machine beeps, and neither of them reaches for it.</p>
<<say "char-hivemind" "Hivemind">>
//This is the conversation I've been avoiding. Ryan has been hearing something in the walls and filing it as //pipes//, and now his mother is validating the thing he was calling pipes and he doesn't know what to do with the validation. //They're going to start comparing notes whether I want them to or not.////
<</say>>7:02 AM. The kitchen is already warm. Karen is at the stove with the good pan out, she keeps the copper-bottomed one for //good// breakfasts, and this morning is one, and the eggs are the right kind of golden. Megan is making coffee for three. Dale is awake. Dale is dressed. Dale is at the table with the paper, which is a thing nobody has seen Dale do on a weekday in three years. Jess comes down at the exact moment her toast is ready, which means Jess has been listening for the toaster from her room.
<p>Ryan is the missing piece. Ryan is still upstairs. Nobody has called him yet.</p>
<p>Ryan comes down anyway. Ryan comes down //when he smells the eggs//, which is a trigger that would not have worked on Ryan six weeks ago because Ryan six weeks ago could not smell anything outside his headphones. He sits. He does not say anything. He reaches for the coffee Megan poured him without being asked.</p>
<<say "char-dale" "Dale">>
<i>(from behind the paper, genuine)</i> Morning, buddy.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet)</i> Morning.
<</say>>
<p>Five plates. Five people. Five full cups of coffee. Karen serves everyone from the pan one at a time. Nobody is on a phone. Nobody is performing. They are just //eating breakfast together//, which is a sentence that has not been true in this house on a weekday morning since before Ryan's voice changed.</p>
<<say "char-hivemind" "Hivemind">>
//A weekday breakfast. Five Hoffmans at the table. I have run out of adjectives for the shape of this morning. It is quietly, entirely, //the morning the Hoffmans were supposed to have been having for the last decade//. The conditioning did not build this. The conditioning //returned// it.//
<</say>><p>Weekend afternoon. The backyard. Karen has pulled the garden chairs out of the shed, the aluminum ones with the faded green cushions Dale keeps meaning to replace, and set them up in the half-shade of the big oak. She is in a sun hat. She has a book. Dale is barefoot on the lawn inspecting the loose fence board, which he is finally going to fix this afternoon because he genuinely wants to and not because anyone asked. Megan is on a blanket with Jess, both of them looking up at the clouds and not at their phones. Ryan is on the back porch with a glass of lemonade, observing, and he is observing //with his body//, shoulders down, legs stretched out, face tilted into the sun like someone who has forgotten that sun is a thing you can feel.</p>
<p>Biscuit runs the perimeter of the yard. The dog is happy. Everyone in the yard is happy. The specific quiet rural happiness of a summer afternoon in a family that has, for the first time in memory, nothing urgent to resolve.</p>
<<say "char-megan" "Megan">>
<i>(lying on the blanket, eyes on a cloud)</i> That one looks like a whale.
<</say>>
<<say "char-jess" "Jess">>
That one looks like a parabola.
<</say>>
<<say "char-megan" "Megan">>
A //what//.
<</say>>
<<say "char-jess" "Jess">>
<i>(smiling)</i> Nothing. It looks like a whale. You're right.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The backyard has become the best room in the house. //The backyard was always the best room in the house.// They had simply stopped coming out here. The conditioning opened a door they had forgotten was there.//
<</say>><p>The master bedroom. Karen is organising her jewellery box, which is not what she is organising. Under the tray of necklaces in the bottom compartment there is a second tray now, a tray Karen bought on Etsy two weeks ago, labelled //SUPPLIES// in her own handwriting. The tray contains a coil of black silk rope, a pair of leather cuffs with a secure-but-not-locking mechanism, and a small spray bottle of what appears to be saddle conditioner and is in fact the exact kind of leather care product that keeps cuffs from stiffening.</p>
<p>She is not using them today. She is //inventorying// them. She lifts each item, examines it for wear, sets it back into the tray. The rope has been used, there are slight softening marks where it wrapped around something repeatedly. The cuffs have been used, the leather on the inside of the left one is slightly darker where a wrist's sweat has conditioned it.</p>
<<say "char-karen" "Karen">>
<i>(to herself, practical)</i> Need more rope. The black isn't long enough for the four-point.
<</say>>
<p>She makes a note in her phone, not a spoken note, a typed one in a list titled //B//.</p>
<<say "char-hivemind" "Hivemind">>
//Bondage kink, on Karen, does not manifest as //submission//. It manifests as //logistics//. Karen is the household's project manager and the kink has given her a new project, which is exactly the kind of project her executive function is wired for, inventory, vendor research, dimensions, wear tracking. //Dale has no idea what Karen is planning for him. Dale is going to find out at the end of the week.////
<</say>><p>The garage workbench. Dale has a small padded box sitting on the bench next to a chipped coffee mug. The padded box is new. Dale does not own padded boxes. Dale owns old boxes made of cardboard and held together with electrical tape. This one has foam and a little zip-lock compartment.</p>
<p>Inside the box: a small flat plastic device, smooth and unmarked, shaped to accommodate something it is currently not accommodating because Dale is not currently wearing it. Next to it: a set of three cheap plastic lock-tabs, the kind hospital wristbands use, numbered in sequence, meant to be snapped and discarded.</p>
<p>Dale is cleaning the device with a wet wipe. He has done this seventeen times. Each cleaning is meticulous, he examines the edges for residue, checks the lock slot, sets it on the foam, closes the box, opens the box again, takes it out, starts over. The box is in a drawer Karen does not open. Dale knows which drawers Karen opens and which ones she doesn't because Dale has been married to Karen for twenty-two years.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's chastity kink is not a sex scene. It is a //ritual of maintenance//. The cage, the cleaning, the lock-tabs, the drawer, it is a small private liturgy Dale performs in the garage three times a week, alone, quietly, because Dale's wiring has converted the abstinence into //purposeful work//, and purposeful work is the only thing Dale has ever been good at.//
<</say>>
<p>He closes the box. Sets it back in the drawer. Goes back to the actual project he was nominally working on, a piece of trim that is going nowhere and that Dale has been nominally working on for three weekends.</p><p>Dale is on the couch. Dale is asleep, the deep rag-doll Zolpidem-adjacent sleep his body has settled into as its new baseline, and Karen is in the armchair across the living room with a glass of wine, //watching him sleep//. Not sentimentally. Not protectively. With the specific fixed attention of a person who has learned that Dale asleep is available to her in a way Dale awake no longer is.</p>
<p>She has been watching him for eleven minutes.</p>
<<say "char-karen" "Karen">>
<i>(quiet, not to him)</i> ...the way you just //go//. I didn't know a body could do that.
<</say>>
<p>Dale's arm shifts slightly. His mouth opens half an inch. He does not wake. Karen takes a slow sip of wine. She sets the glass down. She stands up. She walks over to the couch and stands over him. She looks down at him. She reaches out, hesitates, and adjusts the collar of his polo shirt with two fingers. He does not stir.</p>
<p>She could do anything to him right now and he would not notice. This is the part of Dale's conditioning Karen has begun to recognise, the part with no word in the marriage manual for what it is. Karen does not need a word. Karen is reading the state directly.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's helplessness kink is //Karen's// kink by proxy, the scene only works because Karen has someone she can be alone in the room with. Dale's body is present and unavailable to register anything. That is the only condition under which Karen can look at him the way she is looking at him right now: //with curiosity that has nowhere to go except deeper into the curiosity itself.////
<</say>>
<p>She sits on the edge of the couch beside his feet. She does not touch him again. She finishes her wine watching his chest rise and fall.</p><p>The living room. Ryan on the couch, not in his room, on the couch, with a blanket across his legs and a book in his lap that he is not reading. He is waiting. He is not sure what he is waiting for.</p>
<p>Karen walks through on her way to the kitchen and does not stop. Her hand drops onto the top of his head as she passes, a three-second distracted petting, the kind you do to a dog you're walking past. Ryan's eyes close during the three seconds. When the hand leaves his head he exhales slowly, opens his eyes, and looks at the book.</p>
<p>Sixty seconds later Megan comes through. She pats his shoulder on the way to the coffee table. One pat. Ryan's whole nervous system tracks the pat, the arrival, the contact, the lift, the absence, and files the data.</p>
<p>Forty seconds after that, Dale comes through. He does not touch Ryan. He says //hey bud// and keeps walking. Ryan does not track this pass because there was no touch to track. Ryan refocuses on the book he is not reading.</p>
<<say "char-hivemind" "Hivemind">>
//Touch Addiction is not a sex kink. It is a //metabolic requirement//. Ryan's body has learned to extract something from casual human contact that his body needs the way it needs protein. He is in the living room because the living room has the highest per-hour touch probability in the house. //He would sit here for six hours waiting for the next pat on the head if that is what it took.////
<</say>>
<p>Jess comes down the stairs, sees Ryan on the couch, ruffles his hair on her way to the kitchen. Ryan exhales again.</p><p>Weekend morning. The backyard. Karen is kneeling in the herb bed with a pair of clipping scissors and a wicker basket, harvesting basil for tonight's pasta. She is barefoot. She is in denim cutoffs and a loose linen shirt unbuttoned to the sternum because the sun is warm and the garden is private and Karen has not been barefoot in this yard in six years.</p>
<p>She hums something. A song she doesn't remember learning. She clips a sprig of basil and lifts it to her face and smells it with her eyes closed, the specific small private pleasure of a woman who has just discovered that basil //smells good//, a fact Karen's six-years-ago brain knew intellectually but Karen's six-years-ago body had stopped responding to.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the basil)</i> ...that's the real thing.
<</say>>
<p>Biscuit arrives from nowhere and flops down in the tomato bed near Karen's knees. Karen scratches behind the dog's ears with the hand not holding the basil. The dog grumbles contentment. Karen goes back to clipping.</p>
<<say "char-hivemind" "Hivemind">>
//The garden Karen abandoned two springs ago is becoming Karen's //place// again. Not out of duty. Not out of household logistics. Because Karen, Liberation-route, has re-learned that //a woman is allowed to have a place that is for her pleasure only//, and the basil is making her happy, and nobody in the house is going to ask why she's outside for an hour.//
<</say>>
<p>She cuts a second bunch. And a third. And a fourth. She is going to make pesto. She has not made pesto in years.</p><img class="scene-img" src="media/scenes/symbiotic/jess-megan-nightstand-punk.webp" alt="Jess standing nude at Megan's nightstand, purple and black hair, rummaging a drawer">
<p>Megan is on the bed on her stomach with the phone to her ear, <<if $meganRoute is "slut">>doing the low warm voice she saves for paying clients<<else>>soft and giggly with Marcus on the other end<</if>>, when the door opens without a knock and Jess walks in wearing nothing at all. No towel, no shirt, the purple and black hair still damp from the shower, crossing the room like her own bare skin is the least interesting thing in it, and she goes straight for Megan's nightstand.</p>
<<say "char-megan" "Megan">>
<i>(hand clamped over the phone, hissing)</i> What the, Jess. I am on a call. Why are you naked? Get out.
<</say>>
<p>Jess yanks the drawer open and starts digging through it, shoving Megan's things aside without looking up.</p>
<<say "char-jess" "Jess">>
<i>(rummaging)</i> Looking for my black crop tee. You took it, it's in here, I can practically smell it.
<</say>>
<<say "char-megan" "Megan">>
<i>(fast, into the phone)</i> Hey, I'll call you right back. <i>(phone down, rounding on her sister)</i> I did not take your stupid shirt. Get your bare ass out of my drawer, what is actually wrong with you?
<</say>>
<p>Jess's hand closes on something soft at the back of the drawer. She straightens up holding her black crop tee, the exact one, gives Megan a flat triumphant look, then steps into the jeans she carried in and dropped by the door and pulls the tee on over her head.</p>
<<say "char-jess" "Jess">>
<i>(tugging the hem down, smug)</i> What's wrong with //me//? You had it the whole time, in your drawer, exactly like I said. So.
<</say>>
<<say "char-megan" "Megan">>
<i>(thrown, going defensive)</i> I did not put it there. That is Mom, one hundred percent Mom, she stuffs everyone's laundry into whatever drawer is closest, she does it constantly.
<</say>>
<p>And then they are too close, both of them, the way the whole house has been getting too close lately, and the air between them goes thick and hot and neither one steps back. Megan's eyes drop to Jess's mouth before she can stop them.</p>
<<say "char-megan" "Megan">>
<i>(not backing up, breath gone shallow)</i> ...you are so fucking annoying.
<</say>>
<<say "char-jess" "Jess">>
<i>(closing the last inch)</i> Yeah? Make me leave, then.
<</say>>
<p>It is not clear who moves first. One second they are nose to nose spitting words at each other and the next their mouths are crushed together, open and wet, and the crop tee Jess just pulled on is the first casualty, yanked back over her head and flung at the floor, Jess's hand fisting in Megan's hair while Megan grabs two fistfuls of her sister's bare sides.</p>
<video class="scene-video" src="media/video/jess-megan-kiss-punk.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-megan-kiss-punk.webp"></video>
<<say "char-jess" "Jess">>
<i>(into Megan's mouth)</i> //Mmh.// God, finally.
<</say>>
<<say "char-megan" "Megan">>
<i>(breaking off half an inch, panting)</i> You are such a fucking slut, you know that?
<</say>>
<<say "char-jess" "Jess">>
<i>(yanking her back in by the hair)</i> //Schlrp.// Takes one to know one, bitch.
<</say>>
<<say "char-megan" "Megan">>
<i>(biting Jess's bottom lip, then licking into it)</i> //Mmh. Mwah.// Whatever. You're the one who walked in here with no clothes on.
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling back with the nasty grin, spitting across Megan's lips)</i> //Ptooo.// Open up, then. You're clearly desperate for it.
<</say>>
<<say "char-megan" "Megan">>
<i>(licking her lips, not wiping it away, grinning right back)</i> You are disgusting. Do that again.
<</say>>
<<say "char-jess" "Jess">>
<i>(crashing back into her)</i> //Mwah. Mmh.// Filthy bitch.
<</say>>
<p>They go right back at it, Jess walking her sister backward into the mattress without letting the kiss break, both of them making the kind of small filthy sounds neither would ever admit to afterward.</p>
<<say "char-hivemind" "Hivemind">>
//Sisters. The wall between them is gone the way every wall in this house is going, quietly, while they are busy yelling about a t-shirt. They will call this a fight afterward. Their mouths know better. The energy comes off them in a sheet, two sources at once, furious and wet and entirely mine.//
<</say>>
<<if not $ch2Events.jessMeganKissPunk>>
<<set $ch2Events.jessMeganKissPunk to true>>
<<addBiomass 3>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Jess and Megan, the bedroom">>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (sisters, the first kiss)</span></p>
<</if>><img class="scene-img" src="media/scenes/symbiotic/jess-megan-nightstand.webp" alt="Jess standing nude at Megan's nightstand, dark wet hair, rummaging a drawer">
<p>Megan is on the bed on her stomach with the phone to her ear, <<if $meganRoute is "slut">>doing the low warm voice she saves for paying clients<<else>>soft and giggly with Marcus on the other end<</if>>, when the door opens without a knock and Jess walks in wearing nothing at all. No towel, no shirt, dark hair wet and stuck to her neck, her eyes a little too bright and not quite focused, moving like she is not entirely sure how she got from the shower to here, and she goes straight for Megan's nightstand.</p>
<<say "char-megan" "Megan">>
<i>(hand over the phone, hissing)</i> Jess. I'm on a call. Why don't you have any clothes on? Get out.
<</say>>
<p>Jess pulls the drawer open and starts going through it, hands not quite steady, shoving Megan's things around.</p>
<<say "char-jess" "Jess">>
<i>(too fast, not looking up)</i> I can't find my black shirt. The crop one. I've looked everywhere, it has to be in here, I keep losing things, I can't keep track of anything anymore.
<</say>>
<<say "char-megan" "Megan">>
<i>(into the phone)</i> I have to call you back. <i>(phone down, sitting up, angry)</i> It's not in there, Jess. Get out of my stuff. You can't just walk in here with nothing on and go through my drawers.
<</say>>
<p>Jess's hand closes on something soft at the back of the drawer, and she goes still, then pulls out her black crop tee, the exact one. She looks at it like it has betrayed her by being here, steps into the jeans she left by the door, and tugs the shirt on over her head.</p>
<<say "char-jess" "Jess">>
<i>(quiet, deflating, voice cracking)</i> ...it was here. You had it. I went through this whole thing and it was right here. I don't even know what is wrong with me lately.
<</say>>
<<say "char-megan" "Megan">>
<i>(thrown, then softening at the state of her)</i> I didn't put it there, okay? That's Mom. She stuffs everyone's laundry into whatever drawer is closest, she does it all the time. It's not on you.
<</say>>
<p>And then they are too close, the way the whole house has been getting too close lately, and Jess's breath hitches while Megan's anger slides into something else, the air going thick and warm between them, and neither one steps back. Jess is the one who breaks, a small desperate sound, and grabs.</p>
<<say "char-megan" "Megan">>
<i>(catching her, breath changing)</i> ...you're a mess. You're such a mess, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(already pulling Megan's mouth to hers)</i> I know. I know, shut up, just...
<</say>>
<p>The kiss lands open and clumsy and then not clumsy at all, Megan dragging the tee Jess just pulled on straight back up and off and dropping it to the floor, Jess fisting her hands in Megan's shirt like she is holding herself up with it while Megan's hands slide over her sister's bare back.</p>
<video class="scene-video" src="media/video/jess-megan-kiss.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-megan-kiss.webp"></video>
<<say "char-jess" "Jess">>
<i>(into Megan's mouth, shaking)</i> //Mmh.// Don't stop. Don't stop.
<</say>>
<<say "char-megan" "Megan">>
<i>(against her mouth, half cruel)</i> Look at you. Falling apart and crawling in here for it.
<</say>>
<<say "char-jess" "Jess">>
<i>(kissing her again, breaking)</i> //Schlrp. Mmh.// I know. I'm pathetic. I know.
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling back, studying her wrecked face)</i> You really are. Look at the state of you. <i>(tipping her chin up, spitting onto Jess's parted lips)</i> //Ptooo.//
<</say>>
<p>Instead of flinching, Jess shudders all the way down to her knees, her eyes going soft and grateful.</p>
<<say "char-jess" "Jess">>
<i>(licking it off her lip, voice wrecked)</i> ...yeah. Yeah, like that. Tell me again.
<</say>>
<<say "char-megan" "Megan">>
<i>(softening even as the words come out, kissing her)</i> //Mmh.// You're pathetic. You're such a mess. Come here.
<</say>>
<p>They keep going, the insults soft and broken between the wet press of their mouths, more confession than fight, Jess shaking against her sister while Megan holds her tighter the harder she shakes.</p>
<<say "char-hivemind" "Hivemind">>
//Sisters. One of them is coming apart and the other is the nearest warm thing to hold onto, and the conditioning has turned the holding into this. She did not come in for a shirt. She came because she is drowning and her sister is the closest hand. The energy comes off them either way, two sources at once, the grief and the wanting indistinguishable to me and entirely mine.//
<</say>>
<<if not $ch2Events.jessMeganKissBreakdown>>
<<set $ch2Events.jessMeganKissBreakdown to true>>
<<addBiomass 3>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Jess and Megan, the bedroom">>
<p><span class="skill-used">Sexual energy harvested: +3 biomass (sisters, the first kiss)</span></p>
<</if>>6:47 AM. Dale has come in from the night shift and is in the kitchen instead of on the couch, because Karen's coffee machine has a new button he accidentally pressed and now it's making something called a //cortado// that he does not know how to cancel. He is standing in front of the machine in his work boots with the mug in his hand, and his brain is not functioning above the brainstem level.
<<say "char-dale" "Dale">>
<i>(out loud, to the machine, sincerely)</i> ...what.
<</say>>
<p>The machine makes a small cheerful hiss. Dale does not know what a cortado is. Dale does not know what half the buttons on this machine do. Karen bought it in January on a whim and it has seventeen buttons and Dale has historically just used the one labelled //ON// and let Karen handle everything else.</p>
<p>He watches the cortado happen. He sniffs at it. It smells like coffee. He takes a sip. It tastes like coffee. He drinks the cortado standing at the counter with his eyes half-closed and his body gradually coming to terms with the fact that it is upright at 6:47 AM.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is functioning at the lowest cognitive level his job will allow, brainstem, reflex, muscle memory, and his kitchen interactions are entirely pattern-matched rather than reasoned. This is //not sleepiness//. It is //deep systemic exhaustion that has become the baseline state of consciousness//. He is //always// this tired now. He just doesn't notice.//
<</say>>
<p>He finishes the cortado. He cannot remember why he wanted coffee. He goes to the couch and lies down and is asleep before his boots are off.</p><p>Late-week afternoon. The laundry room. Dale is folding the dried laundry from the dryer, Karen's clothes first, because Karen's clothes are the most delicate and you fold delicates while they are still warm. He folds them with the particular precision Karen taught him in their first year of marriage, the one he rolled his eyes at for a decade and now performs from memory.</p>
<img class="scene-img" src="media/scenes/symbiotic/obs-cuck-dale-laundry.webp" alt="A tired man in his mid-forties with thinning dark brown hair, stubble and a slight paunch, in a plain t-shirt, standing at a counter in a small suburban laundry room carefully folding a delicate silk blouse with both hands, a neat stack of folded women's clothing beside him, his face blank and absent as he works from memory, an open dryer and a laundry basket behind him, warm afternoon light through a small window">
<p>Through the wall, from the living room, Karen is on the phone with a friend. The walls in this house are thin and her voice carries, wine-loose and unguarded, the way it only gets when she has forgotten anyone else is home.</p>
<<say "char-karen" "Karen">>
<i>(from the other room, laughing)</i> Oh, God, don't even get me started, I had it so bad for him back then. The whole rest of my life was going to be that boy. You remember.
<</say>>
<p>A dress. Then a pair of the good underwear, not the old beige ones but the new ones she started buying recently, a silk blouse he doesn't recognise, a pair of patterned stockings he has never seen her wear, and a lace bra that is, even to his tired eye, not the kind of bra a woman buys for her husband.</p>
<<say "char-karen" "Karen">>
You got lucky with Jeff, you really did. A man who handles the thing before you've had to ask twice, who walks into a room and the room knows it. A real man. Some of us didn't get that lucky.
<</say>>
<<say "char-dale-thought" "Dale">>
Don't know this blouse. She's always finding things on sale, I lose track of half her closet anyway. Delicates first while they're warm, that's the rule, she taught me that our first year and she was right, she's right about most things. Fold it, Karen stack, next one.
<</say>>
<p>He folds each item without lingering, without stopping to stare at the lace bra, folds it neatly and sets it on the "Karen" stack and reaches for the next thing in the dryer, because the dryer still has six things in it and the task has been assigned to him and he is going to finish it on time.</p>
<<say "char-karen" "Karen">>
<i>(quieter, a laugh that doesn't quite land)</i> Me? Oh, I got Dale. No, he's a good man, he is, he's reliable. <i>(a pause)</i> He's folding the laundry right now, actually.
<</say>>
<p>The water heater ticks, and Dale's hands do not stop, because he has heard every word the way you hear a television in another room, present and unparsed, and the lace bra goes onto the Karen stack as square and careful as his own work polos never get.</p>
<<say "char-hivemind" "Hivemind">>
//This is the purest expression of the wiring in him. In one room his wife is folding him into the past tense for a friend, the reliable one who is folding the laundry right now. In the other room Dale is folding the evidence of her other life //with care//, because the care is his job and the other life is Karen's, and whatever used to connect his responsibility to his entitlement has been severed. He is responsible for the laundry. He is not entitled to mind. Both facts sit in the same drawer of his brain, and neither one is contesting the other.//
<</say>>
<p>He finishes the dryer and starts on the washer, the white load this time, sheets and towels and his own work polos, and he folds those with quick, careless hands.</p>
<<say "char-dale-thought" "Dale">>
My own stuff can go in rough, nobody checks. Hers I do right, always have. She sounds happy in there. That's good, that's the main thing.
<</say>>11:48 PM. Eastern Market Coffee has been closed for eighteen minutes. The lights above the counter are off. The front-door deadbolt is thrown. The only light in the shop is the little halogen above the espresso machine, which Megan is wiping down with a steamer towel because it is her job tonight to close and close means wipe.
<p>Marcus is behind the counter too. Marcus closed the register forty minutes ago and is ostensibly mopping the floor behind the bar, which is also his job, but the mop has been stationary in the same square foot of tile for the last six minutes because Marcus has been leaning on it watching Megan wipe down the machine.</p>
<<say "char-megan" "Megan">>
<i>(not looking up, smiling)</i> You're not mopping.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(lazily)</i> I'm pacing myself.
<</say>>
<<say "char-megan" "Megan">>
The floor doesn't mop itself.
<</say>>
<<say "char-marcus" "Marcus">>
The floor is //fine//. The floor has been mopped by better men than me.
<</say>>
<p>She laughs. It's a real laugh, not the barista laugh, not the home laugh, the //closing-shift// laugh, which is a specific laugh Megan only has on closing shifts and only when Marcus is the one closing with her. She turns from the espresso machine and leans against the counter and looks at him across the empty café with the particular look she has been practising for weeks.</p>
<<say "char-hivemind" "Hivemind">>
//The closing shift is where Megan's relationship with Marcus actually lives. The customer hours are pretence. The hour after lockup is the //real// shift, unsupervised, private, and calibrated by Megan to produce exactly the kind of slow charged silence that is currently filling the space between them. //Whatever happens next is not a conditioning event. Megan set this up herself.////
<</say>>
<p>Marcus drops the mop. He walks across the café. Megan does not move from the counter.</p>4:17 AM. Jess at her desk. The lamp is on. The anatomy textbook is open. Jess is not reading. Jess is staring at the wall above the desk, specifically at a single point on the wall, the spot where the paint is slightly uneven because Dale touched it up five years ago with a different shade of white, and her eyes are not focusing on it. Her eyes are not focusing on anything. The pen in her right hand has been motionless for eleven minutes.
<p>The coffee mug is empty. The flashcards are in a stack that is //shorter// than it was an hour ago, which means she cleared some flashcards, but she cannot remember which ones she cleared or whether she got any of them right.</p>
<<say "char-jess" "Jess">>
<i>(very quiet, to the wall)</i> ...what.
<</say>>
<p>She blinks. Her pen slips out of her fingers. She does not pick it up. She looks down at the desk. The flashcards are a blur. She lifts her hand to her face and does not register her hand as //hers//.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress is done for the night. Jess has pushed past the caffeine ceiling into the dissociative territory the pre-med discipline normally refuses to enter. //She is going to sleep in under thirty seconds whether she wants to or not, and she is going to wake up at 7 AM having forgotten that the last two hours of study happened.// This is how she breaks, silently, privately, without the grace of noticing. Every week she loses a little more.//
<</say>>
<p>Her head tips forward until her forehead touches the open textbook. She does not move again.</p>2:14 PM. Weekend afternoon. The kitchen. Ryan is at the kitchen table with a glass of water he has not drunk. His laptop is on the table too, open to a game that has been paused for forty minutes. He is not playing. He is //waiting//.
<p>Karen comes through on her way from the garden to the living room with a handful of clipped basil. She sees him.</p>
<<say "char-karen" "Karen">>
<i>(pleasantly surprised)</i> Ryan. What are you doing down here?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(mumbling, pretending)</i> ...I was gonna play my game but I got thirsty.
<</say>>
<<say "char-karen" "Karen">>
<i>(amused)</i> You've been gonna play your game for thirty minutes.
<</say>>
<p>She sets the basil on the counter. She comes over to the table and sits down in the chair across from him. She does not pick up her phone. She does not ask him to put his phone away — Ryan's phone is already face-down. She just //sits across from him//, which is exactly what Ryan came downstairs hoping would happen.</p>
<<say "char-karen" "Karen">>
What are you playing?
<</say>>
<p>Ryan launches into a stumbling explanation of the game that is longer than the game deserves. Karen listens. She does not understand half the words. She listens anyway, the way she used to listen to Jess explain anatomy in high school, the way she used to listen to Dale explain the loose fence board. She nods. She asks one follow-up question. Ryan answers.</p>
<<say "char-hivemind" "Hivemind">>
//Family Seeker Ryan has learned to //bait// his mother into sitting down. The glass of water, the paused game, the choice of the kitchen table over the gaming chair, all of it is a trap designed to catch //his own mother's attention for fifteen minutes//. The trap works because Karen's conditioning has made her want to be caught.//
<</say>>10:14 AM. Dale is in the kitchen with his pocket notebook out, working through the household logistics for the day, because Karen told him recently that he is now the "keeper" of all of it and Dale has accepted the appointment.
<img class="scene-img" src="media/scenes/symbiotic/obs-cuck-dale-morning.webp" alt="A tired man in his mid-forties with thinning dark brown hair, stubble and a slight paunch, in a plaid flannel shirt, standing alone in a suburban kitchen in the morning, reading a handwritten note on a fridge whiteboard while holding a small open pocket notebook and a pen, copying the tasks into it with quiet diligence, morning light through the window">
<p>On the fridge whiteboard, in Karen's quick marker hand, is the note she left him before she went out for the day:</p>
<p>//Home late tonight, don't wait up. Dinner's on you. There's chicken in the freezer, do the rice the way I showed you and the kids will actually eat it. Don't let Ryan have cereal for dinner again. K.//</p>
<p>Dale copies the parts that are tasks into his notebook in his own handwriting: //defrost chicken, rice, make sure the kids eat something that isn't cereal//. He does not copy the part that is not a task, the //home late, don't wait up//, because that part is not a thing he can do, only a thing he can make room for.</p>
<<say "char-dale" "Dale">>
<i>(quiet, to the notebook)</i> Right. Chicken, then.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the early shape of it, before there is anything to be jealous of. Karen has handed Dale the running of the house and kept her own evenings back for herself, and Dale has filed her absence under //logistics// the same way he files the groceries. There is no other man in this yet. There is only a husband learning to read //home late, don't wait up// as an instruction to carry out and not a question to ask, and the habit of not asking is the load-bearing wall I am building now, for later.//
<</say>>
<p>He closes the notebook, puts it back in his shirt pocket, and starts the dishwasher, item one on the list. Then he takes the chicken out to thaw, because dinner is his tonight, and so are the kids, and that is fine. That is the appointment.</p>10:48 PM. The living room. Dale is on the couch. The TV is on, a basketball game Dale specifically wanted to watch because tonight is his first night OFF in three weeks and he was looking forward to this game. The game is in the third quarter. Dale has been asleep since early in the second quarter. His right hand is on the remote, thumb still on the volume button the way it was when consciousness left him. A beer on the coffee table is two-thirds full. It is not going to be drunk.
<p>Biscuit is on the couch beside him, chin resting on his thigh. She has her eyes closed too but her ears track the ambient sound of the house, the fridge cycling, Karen's laptop clicking in the kitchen, the radiator creaking in the hallway. The dog is always on half-alert when Dale is fully unconscious. This is a rule of the household nobody wrote down and everyone knows.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's body cannot stay awake past 10 PM even on a designated night-off. His circadian rhythm has been quietly recalibrated to //collapse// at the moment of lowered demand. The basketball game is a souvenir of something he wanted. The sleep is what he actually is now.//
<</say>>
<p>Karen comes in from the kitchen, sees him, turns off the TV with the other remote, drapes the afghan over him, turns off the overhead light on her way out. Dale does not stir. Biscuit cracks one eye, observes Karen's exit, closes it again. The two of them sleep until morning.</p>8:47 PM. The house is winding down. Biscuit is awake and Biscuit is //patrolling//, not the backyard, the interior. She moves from the living room to the kitchen to the hallway to the base of the stairs in a circuit that has no obvious purpose but that Biscuit performs like clockwork, the way she performs her meal routine at 7 AM and 5 PM.
<p>At the base of the stairs she stops. She looks up the stairwell. She does not go up, she is not allowed upstairs, a rule Karen set when Biscuit was a puppy and that Biscuit has honoured for twelve years. She simply //looks//, nose lifted, ears forward, reading whatever is in the air currents coming down.</p>
<p>Upstairs: Ryan's door, shut, blue glow underneath. Jess's door, shut, lamp on. Master bedroom door, half-open. The dog catalogues all three states as //normal, normal, normal// and moves on to the kitchen.</p>
<p>In the kitchen she checks Karen's shoes by the back door, checks her water bowl, checks her food bowl, and walks to the back sliding door. She sits. She stares out at the dark yard for ninety seconds. Something in the yard, it could be a raccoon, it could be a sporocyst trace, it could be nothing, is registering on her nose in a way that makes her stay at the door. But she doesn't bark. Her tail is still.</p>
<<say "char-hivemind" "Hivemind">>
//The dog runs a nightly audit the rest of the household has never consciously observed. Biscuit's evening patrol is the most //complete// surveillance pass in this house. The family is overlooking Biscuit the way they overlook a ceiling fan. //The dog is my biggest long-term threat.////
<</say>>
<p>She gives up on the yard and comes back to the living-room rug. She settles into her spot. Her eyes stay open for another twenty minutes before she finally sleeps.</p><p>You sit on the counter beside the coffee machine, tail curled around your paws, amber eyes half-closed in the perfect impression of feline indifference. Beneath the calculated drowsiness, you are taking in everything.</p>
<p>Karen stands at the counter, coffee in one hand, the other scrolling through emails on her laptop. Her reading glasses are perched on her nose, the ones she tells no one she needs. The morning light from the kitchen window catches the grey threads in her dark hair, the lines around her eyes, the way her mouth tightens when she reads something she doesn't like.</p>
<<say "char-karen" "Karen">>
<i>(reading an email, muttering)</i> ...payment terms, thirty days net, //which we already discussed//, Sandra...
<</say>>
<p>She sips her coffee. Black, no sugar. The mug reads //World's Okayest Mom//, a gift from Megan that Karen refuses to throw away despite the chip in the rim. Her free hand finds the cat's back without looking, fingers threading through fur in an automatic, unconscious gesture.</p>
<<say "char-hivemind" "Hivemind">>
//She touches me the way she types, mechanically, without thought, because the action itself soothes something in her nervous system.// Her pulse is elevated — 78 beats per minute, up from her sleeping rate of 62. The cortisol signature in her sweat has spiked since she opened her laptop. //She's worried about money. She's always worried about money.// But the hand on my fur is the only moment in her morning that brings her heart rate down. //Cat equals calm.// I'm conditioning her, and she doesn't know it.
<</say>>
<<if $weekday is "Monday" or $weekday is "Wednesday" or $weekday is "Friday">>
<p>At 6:50, footsteps on the stairs. Megan appears in the kitchen doorway, hair damp, pulled into a messy bun, wearing the same jeans-and-cardigan combination she wears every workday. She moves through the kitchen on autopilot, her body executing the morning routine while her mind is still somewhere in yesterday's dreams.</p>
<p>Toast in the toaster. Kettle on. Phone face-down on the counter. She leans against the fridge and waits, eyes unfocused.</p>
<<say "char-karen" "Karen">>
<i>(without looking up)</i> Did you eat dinner last night? You left early.
<</say>>
<<say "char-megan" "Megan">>
<i>(automatic)</i> I ate at Marcus's. Pasta.
<</say>>
<<say "char-karen" "Karen">>
Marcus. The boy from the coffee shop?
<</say>>
<<say "char-megan" "Megan">>
<i>(slight edge)</i> He's just a friend, Mom.
<</say>>
<<say "char-karen" "Karen">>
I didn't say anything.
<</say>>
<<say "char-megan" "Megan">>
You didn't have to.
<</say>>
<p>The toast pops up. Neither of them flinches. Megan butters it with the same precise strokes she uses for everything, controlled, measured, //performing//. She eats standing up, phone in her other hand, scrolling through Instagram. Mother and daughter share the same kitchen without sharing the same space.</p>
<<say "char-hivemind" "Hivemind">>
//The morning ritual. Every word is scripted. Every pause is loaded.// Karen probes. Megan deflects. Neither says what they mean. //The coffee shop boy — Marcus, is a new data point. A social connection outside the house. Worth monitoring.//
<</say>>
<<else>>
<p>The kitchen is quiet. No footsteps yet. Karen has the room to herself, which is its own kind of statement, she's been up for ninety minutes and nobody has come down. She does not mind. The morning quiet is what she signed up for when she chose accounting over a real career, and on the days when nobody interrupts she remembers why.</p>
<p>She refills the coffee. Adjusts the laptop angle. Scrolls past three emails she does not want to deal with. Her free hand never leaves the cat's back.</p>
<<say "char-hivemind" "Hivemind">>
//Karen alone in her kitchen with her laptop and her cat is the version of Karen that almost works. Add anyone else and the equation degrades. //Subtract everyone and there's a woman in here I've barely been introduced to.//// The hand on the cat's back is steady. The pulse is dropping. //This is the baseline I am working from.//
<</say>>
<</if>>2:47 PM. The kitchen is empty. Karen is upstairs on a call. Dale is on the garage couch. Megan is at the coffee shop. Jess is at the library. Ryan is in his room. Nobody has been in this room for thirty-eight minutes.
<p>The coffee machine is off. The dishwasher is off. The fridge cycles on. A fly knocks against the window above the sink three times, gives up, goes somewhere else. On the counter: Karen's planner, open to this week, a pen across the page. On the fridge: the chore list, the dentist reminder, Ryan's school photo from ninth grade in a magnetic frame.</p>
<p>The house has a sound it only has when nobody is in it, a specific frequency of //silence with refrigerator//, which is the baseline of every empty suburban kitchen in the country, and which this kitchen has not had in weeks because somebody is always in the kitchen in this house. Today, for thirty-eight minutes, nobody is.</p>
<<say "char-hivemind" "Hivemind">>
//Empty kitchen at 2:47 PM. This is the window. This is when I would normally move. I have no host in the kitchen right now, the rat is in the attic, the cat is with Dale in the garage. //I missed the window.// I need to rebalance the daytime host distribution. There should never be a thirty-eight-minute gap in which no eye of mine is on the family's command centre.//
<</say>>
<p>The fly comes back to the window. The fridge cycles off. The window-air-conditioner hums once and stops. In forty-five seconds Karen will finish her call and come down for a fresh coffee and the kitchen will have eyes again. For now, for this moment, the house is //alone// in a way it almost never is.</p>2:14 PM. The living room. Karen has a client call at 2:30, a mid-sized regional accounting firm she bills by the quarter, and the call is going to run exactly thirty-two minutes based on the previous three weeks of calls with the same partner. She has been planning the interval.
<p>Dale is on the couch, post-shift, out cold the way he always is between 1 PM and 3. Biscuit is curled against his leg. The ceramic bowl — //the// ceramic bowl, the one that lives on the high shelf with the holiday serving dishes now, is on the coffee table. Karen brought it down from the cabinet ten minutes ago without thinking about why, and she is no longer asking herself why about that category of thought.</p>
<p>She kneels on the rug in front of the couch. She unbuttons her blouse because it is easier to unbutton than to wrinkle by leaning over him, and also because her nipples have been //aware// for the last forty minutes in a way that makes the fabric intolerable.</p>
<<say "char-hivemind" "Hivemind">>
//Midweek collection. Residue dose. The ritual is weekly but the conditioning is daily, and Karen's body has started filing a between-ritual micro-collection as //light housework//. This is not in the rewrite I installed. This is //emergent//. She invented it.//
<</say>>
<p>She unzips Dale's work pants carefully, the way she unzips his duffel bag on laundry day, the careful maternal undressing of a man who has been too tired for a week to manage the buttons himself. She works his cock out through the fly and the waistband of his briefs with one hand while she positions the bowl in her lap with the other. Dale does not wake up. His breathing stays at the slow deep rhythm of a man two hours into REM. The HVAC fog will not let him surface for this.</p>
<p>Karen does not stroke him hard. She uses the soft grip she invented last week, the one that keeps him soft-to-half-hard indefinitely, the one that lets her //milk// him instead of jerking him off. Her thumb works under the head in slow circles. Her palm cradles the shaft. In ninety seconds she has him at three-quarters erect and leaking a single clear bead of pre-cum.</p>
<<if $karenRoute is "liberation" and $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>The curtains are open. The Henderson garage is visible across the front yard through the picture window. Karen glances up once and her nipples go harder, she has //noticed// she is visible, and the noticing is the dose. She does not close the curtains. She adjusts her angle by six inches so that if Doris Henderson happens to be watering the rhododendrons at this exact moment and happens to look across the hedge and happens to focus, the silhouette of a woman with her blouse open leaning over her sleeping husband would be //theoretically visible//. The theory is what Karen's body is here for.</p>
<<elseif $karenRoute is "dominant" and $kinks.karen and ($kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
<p>She does not let him finish. Not on the first pass. She works him to the edge, the specific tension in his thighs she has learned to read, and then she //stops//, her hand going completely still, her thumb pressed firmly against the base of the head. Dale's hips lift in his sleep. A small sound escapes his throat. Karen does not move her hand until the tension subsides. //Then she starts again.// Three times. The third time she lets him go.</p>
<<else>>
<p>She works him at the patient unhurried pace of a woman doing something that doesn't need to be rushed. The call is at 2:30. She has seven minutes. That is more than enough.</p>
<</if>>
<p>Dale finishes into the bowl in his sleep. A small pulse, then another, then a long slow release that fills the bottom of the ceramic with a pale translucent pool. Karen wipes him clean with the hem of her own blouse, the hem, not a napkin, because the blouse is going into the wash anyway, and tucks him carefully back into his briefs and zips his work pants back up. Dale's breathing has not changed. He is dreaming about a hallway at the BioGenesis parking garage. He will not remember any of this.</p>
<p>Karen raises the bowl to her lips.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-karen.webp" alt="Karen kneeling topless in the living room holding the ceramic bowl up to her mouth in both hands, head tipped back slightly, her throat working through a measured swallow, the composed focus of a woman finishing a glass of red wine">
<p>She drinks the contents in three measured swallows, sets the bowl on the coffee table, wipes her mouth with the back of her hand, re-buttons her blouse, and carries the bowl to the kitchen sink. She rinses it. She dries it. She puts it back on the high shelf with the holiday serving dishes.</p>
<p>At 2:29 PM she logs into the client call. Her headset is on. Her hair is fixed. Her voice is the voice she uses on clients, warm, competent, unhurried.</p>
<<say "char-hivemind" "Hivemind">>
//The between-ritual collection took eleven minutes. The ingestion took four seconds. She will not tell Dale about this when he wakes up, not because she is hiding it, because //there is nothing to tell//. It was household. Like wiping down a counter.//
<</say>>
<p>The first agenda item on the call is Q3 tax projections. Karen pulls up the spreadsheet and starts talking. The taste of her husband is still in the back of her throat and it is not distracting her. It is //grounding// her. She has never been sharper on a client call in her life.</p><p>Weekday afternoon. Megan has the house to herself for ninety minutes between the end of her coffee shop shift and the start of the dinner rush. Karen is out at a client meeting. Dale is at work. Jess is at the library. Ryan is in his room.</p>
<p>Megan comes in through the back door, drops her bag on the kitchen chair, and goes to the cabinet above the sink. From the back, behind the oversized ceramic platter Karen uses for Thanksgiving, she takes a small white ramekin, not the big ritual bowl, a smaller vessel she has claimed for her own between-ritual use. She tucks it under her arm. She goes upstairs without taking her coat off.</p>
<p>She walks past her own bedroom. She walks past the bathroom. She stops at Ryan's door and knocks with her knuckle in a rhythm that has become //their// knock over the last nine days, two quick taps and a long one, and lets herself in without waiting for the answer.</p>
<p>Ryan is at his desk in his gaming headset. He pauses the game before she's all the way through the door.</p>
<<say "char-megan" "Megan">>
<i>(already pulling her coat off, smiling the warm eager smile she uses on repeat customers)</i> Hey. I've got an hour. Do you have time?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(mumbling, already lowering the headset to his neck)</i> Uh. Yeah. Yeah, I have time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Between-shift micro-session. Megan has been planning this for days. The full ritual is the weekend. This is //interval dosing//. The praise circuit is craving the reward loop and she has found a way to run the loop solo with one donor and no bowl.//
<</say>>
<p>Megan drops her coat on the floor. She lifts her work polo over her head and adds it to the pile. She is not wearing a bra, she stopped wearing one under the work polo two weeks ago because the fabric is soft and she likes how she //notices herself// through it now. Her bare breasts come into the yellow afternoon light from Ryan's window and Ryan's whole body jolts the way a body jolts when a circuit closes.</p>
<p>She kneels between his knees on the carpet beside the gaming chair. She unzips his sweatpants. She takes him into her mouth before he has finished being hard, because the Biological Architect rewrite has installed //the mouth goes first// as a reflex that doesn't wait for the body to catch up.</p>
<<if $ryanRoute is "feminization">>
<p>Ryan is wearing the plug Lily's fans paid for. Megan can feel the base of it pressing against the fabric under him every time his hips move. She does not acknowledge it out loud. She //acknowledges it with her mouth//, she takes him deeper on every bob, because the conditioning has filed the plug as //proof that her brother is being loved the way he needs to be loved//, and that proof makes her want to //feed him back//.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Her free hand is on Ryan's stomach, flat, maternal. She strokes his skin there in the slow circles she has been running on her own forearm for the last week when she's trying to calm herself. The touch is the main event. The blowjob is the //delivery vector// for the touch. Ryan's hand finds the back of her head and rests there, not pushing, just //holding//, and the touch-starvation circuit in his chest uncoils a fraction.</p>
<<else>>
<p>Megan's head bobs in the patient unhurried rhythm of a woman who has the whole hour. Ryan's hand finds the top of her head and rests there, uncertain, light, the hand of a man who is still learning that he is allowed to touch.</p>
<</if>>
<p>The ramekin is on the floor beside her knee. She has been working him with her mouth first to get him close, but when she feels his thighs tighten she pulls off and picks up the ramekin in her free hand and holds it at the head of his cock.</p>
<<say "char-megan" "Megan">>
<i>(pulling off for a breath, lips shiny, her smile open)</i> Am I making you feel good? Tell me I am.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely a whisper, eyes screwed shut)</i> You're, yeah, you're making me feel good.
<</say>>
<<say "char-megan" "Megan">>
Say it again.
<</say>>
<<say "char-ryan" "Ryan">>
You're making me feel good. //You're making me feel good//.
<</say>>
<p>Megan moans around him at //good//, a low delighted hum that vibrates through the head of his cock, and she takes him deeper. Her free hand is between her own legs now, her skirt hiked up on one thigh, two fingers moving fast. The praise has triggered the self-stimulation reflex. She cannot run the reward loop anymore without feeding herself too.</p>
<p>Ryan comes in under four minutes. Megan strokes him through every pulse with her hand while her other hand catches every drop in the ramekin, she has practised this, it shows, the collection is clean. When the last bead is squeezed from the tip she wipes the head of his cock against the inside rim and sets the ramekin on the carpet beside her. Her hips are still grinding on her own heel. She is not quite done.</p>
<p>She picks the ramekin up in both hands and raises it to her lips.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-megan.webp" alt="Megan kneeling topless in Ryan's bedroom, the small white ramekin held up to her mouth in both hands, her eyes closed, the warm pleased hum of a woman finishing a dessert she denied herself">
<p>She swallows the ramekin's contents in two slow swallows, the warm pleased hum rising from her throat the same way it rose around his cock a minute ago. Her free hand finds its way back between her own thighs mid-swallow and she comes against her own fingers with the ramekin still at her lips and her forehead pressed to Ryan's bare thigh.</p>
<p>When she lowers the ramekin she licks the rim clean because //waste is rude// and smiles up at him with the glowing unselfconscious satisfaction of a woman who has just done something she is //good at//.</p>
<<say "char-megan" "Megan">>
<i>(still catching her breath, still smiling)</i> I'll be back tomorrow. Same time. Okay?
<</say>>
<p>Ryan nods. Megan picks up her work polo, pulls it back over her head, picks up her coat, and leaves. She is back in the kitchen starting the rice cooker for dinner prep by 4:47 PM and humming to herself. Karen will come home to the smell of jasmine rice and the sight of her daughter standing at the counter chopping scallions in a work polo that doesn't //quite// hide the flush on her collarbone. Karen will smile approvingly and not look closer.</p>
<<say "char-hivemind" "Hivemind">>
//Praise circuit self-administered. She has learned to run the reward loop solo, one donor, no bowl, the full ritual compressed into an interval dose she administers to herself between shifts. She will be back here tomorrow. And the day after. I am not going to stop her.//
<</say>><<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-jess-punk.webp" alt="21 year old woman with purple-and-black dyed hair, nose stud, lip stud, bridge piercing, topless facing forward, a white ceramic ramekin raised to her lips in both hands, throat working mid-swallow, the analytical focus of a woman tasting a reagent">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-jess.webp" alt="21 year old brunette woman kneeling topless facing forward, a white ceramic ramekin raised to her lips in both hands, throat working mid-swallow, reading glasses on, the analytical focus of a woman tasting a reagent">
<</if>>
<p>1:47 AM. The kitchen is dark except for the range hood light, the low amber one Karen leaves on for Dale's return. Jess is at the island, barefoot.</p>
<<if $jessRoute is "punk">>
<p>She is in a cropped black band tee with the sleeves cut off and a pair of cotton shorts. Her purple-and-black hair is pulled back in a loose knot at the nape of her neck. The nose stud catches the amber light. On the counter in front of her: a thrift-store composition notebook with the original cardboard cover sharpied over in thick black — //SAMPLES// across the front, underlined twice, with a tiny eighth-note drawn in the corner where a product code used to be. She has a black Sharpie in her right hand. No reading glasses. The pre-med brain does not need them for what it is doing tonight.</p>
<<else>>
<p>She is in a loose grey T-shirt and cotton shorts, her composition notebook open to a fresh page ruled into columns. She has her reading glasses on. She has a mechanical pencil in her right hand.</p>
<</if>>
<p>On the counter beside the notebook: the ceramic bowl. //Not// the one from the high shelf. A smaller one, a ramekin from the back of the bakeware drawer, white, the size of a dessert cup. Inside the ramekin: a pale translucent pool that Jess collected forty minutes ago from Dale on the couch using the technique Karen demonstrated at the last weekend ritual, adapted down in volume for a single donor and a smaller vessel.</p>
<<say "char-hivemind" "Hivemind">>
<<if $kinks.jess and $kinks.jess.includes("degradation")>>
//Midnight sample. Jess has begun running her own collection protocol. She is not aroused. She is //working//. The degradation circuit has filed the task under //lab procedure// and the dopamine hit is //methodological//, not sexual. She will cross-reference the results against her own notes.//
<<elseif $kinks.jess and $kinks.jess.includes("brat")>>
//Midnight sample. Jess has begun running her own collection protocol. She is //working//, and the work is private, off-the-books, //her// version of what Karen runs in the living room. The brat circuit registers the whole thing as //being correct about a thing the rest of the household is approaching wrong//. That is the dose.//
<<else>>
//Midnight sample. Jess has begun running her own collection protocol. She is not aroused. She is //working//. The pre-med brain has filed the task under //lab procedure// and the dopamine hit is //methodological//, not sexual. She will cross-reference the results against her own notes.//
<</if>>
<</say>>
<<if $jessRoute is "punk">>
<p>She clicks the Sharpie open with her teeth. She picks up the ramekin in her left hand and raises it to her lips.</p>
<<else>>
<p>She adjusts her glasses. She picks up the ramekin in both hands and raises it to her lips.</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("degradation")>>
<<if $jessRoute is "punk">>
<p>Before she drinks, she sets the ramekin back down. She takes the Sharpie and writes on the inside of her left forearm in block capitals that run from wrist to elbow — //SAMPLE 04 / DONOR DALE / VOL 3.2ML / INGESTED//, and caps the pen with her thumb. She picks the ramekin back up. She looks at the dark kitchen window and speaks to her own reflection in the glass.</p>
<<say "char-jess" "Jess">>
<i>(quiet, flat, reading herself the label)</i> I'm the kind of girl who drinks her dad's cum at the kitchen island at two AM on a fucking weekday. Yes I am. Writing it down. Subject consents in writing on her own skin.
<</say>>
<p>She takes the first sip. The degradation circuit in her chest lights up like a pilot light, the //naming// of what she is doing has already been done, by her, to herself, in //Sharpie// that will not wash off in tomorrow's shower without scrubbing. The label is the reward loop.</p>
<<else>>
<p>Before she drinks, she sets the ramekin back down. She takes her mechanical pencil, writes on the inside of her left forearm in small neat capitals — //SAMPLE 04-DONOR-DALE-VOL-3.2ML-INGESTED//, and clicks the pencil closed. She picks the ramekin back up. She looks at the dark kitchen window and speaks to her own reflection in the glass.</p>
<<say "char-jess" "Jess">>
<i>(quiet, precise, reading herself the label)</i> I'm the kind of girl who drinks her father's cum at the kitchen island at two AM on a weekday. Yes I am. And I'm going to write about it in my notebook.
<</say>>
<p>She takes the first sip. The degradation circuit in her chest lights up like a pilot light, the //naming// of what she is doing has already been done, by her, to herself, and the naming is the full completion of the reward loop. Her fingertips press against the rim of the ramekin hard enough to whiten.</p>
<</if>>
<<elseif $kinks.jess and $kinks.jess.includes("brat")>>
<p>Before she drinks she pauses and looks at the kitchen window, at her own reflection, and the small grim smile that comes through is the smile of someone who is about to be //right// about something nobody has asked her about.</p>
<<say "char-jess" "Jess">>
<i>(quiet, flat, to her own reflection)</i> Mom's technique is bad. Her collection ratio is what, eighty percent, max. I'm going to run it clean and my notes are going to show why. And she's going to ask me how I know and I'm going to tell her //fuck you, I've been running nights//.
<</say>>
<p>She takes the first sip. The brat circuit fires hard, not on the act of drinking, on the //superiority of her methodology//. Being privately, unanswerably //correct// at 1:47 AM is the reward loop.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>She has positioned herself deliberately in the line of sight of the kitchen pass-through, if anyone came down the stairs to the landing at this exact moment, they would see a topless girl at the kitchen island drinking from a ramekin. She has been checking the staircase every ninety seconds. The possibility is the point. No one has come. The possibility has held for forty minutes and Jess's pulse has held with it.</p>
<p>She takes the first sip with her eyes on the stairs.</p>
<<else>>
<<if $jessRoute is "punk">>
<p>She takes the first sip with her eyes on the notebook, the Sharpie uncapped and ready over a fresh row she has drawn by hand across the page.</p>
<<else>>
<p>She takes the first sip with her eyes on the notebook, her pencil already poised over the //taste// column of row four.</p>
<</if>>
<</if>>
<p>The sip is small. Clinical. Measured. She rolls the fluid on her tongue for exactly three seconds — Jess-seconds, measured against the kitchen wall clock's second hand, and then swallows. She does not grimace. She writes three words in the //notes// column: //slightly alkaline, thin//.</p>
<p>She takes the second sip. Rolls. Three seconds. Swallows. Writes: //aftertaste neutral//.</p>
<p>She takes the third sip, the last of the ramekin, and this time she holds it in her mouth slightly longer, because she is cross-referencing against the weekend ritual sample that contained both donors. She is looking for the specific marker that distinguishes a solo-Dale collection from a combined one. She finds it. She writes: //absent citrus note, combined-ritual marker is Ryan-specific//.</p>
<<if $jessRoute is "punk">>
<p>She caps the Sharpie. She closes the notebook. The sharpied eighth-note on the cardboard cover catches the amber light one last time before she tucks the book into the cabinet above the fridge behind the two tins of coffee nobody drinks. She rinses the ramekin in the sink, dries it, and puts it back behind the muffin tin where she found it. She wipes the counter. She turns the range hood light off. She goes back upstairs to her room, plugs one earbud into her ear, cues up a Bleed Through bootleg at low volume, and reads one chapter of a toxicology textbook before falling asleep at 2:34 AM. The Sharpie label on her forearm is still legible when she wakes.</p>
<<else>>
<p>She sets the pencil down. She closes the notebook. She rinses the ramekin in the sink, dries it, and puts it back in the bakeware drawer behind the muffin tin where she found it. She wipes the counter. She turns the range hood light off. She goes back upstairs to her room and gets into bed and reads three chapters of a toxicology textbook before falling asleep at 2:34 AM.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Jess has built a taste-map. She is now able to distinguish donor contributions in the ritual bowl by molecular signature. //She is doing better chemistry on my compound than the BioGenesis research team ever did.// And the chemistry is //the sex//. For Jess, the correct knowing //is// the orgasm.//
<</say>>
<p>In her sleep, her hand drifts down to rest between her own thighs. She does not wake up. She does not masturbate. Her body is //satisfied//. The satisfaction is the dose the compound was designed to deliver, and Jess has learned to deliver it to herself on a rigorous schedule that her mother and sister do not know about.</p><img class="scene-img" src="media/scenes/freeuse-morning-1.webp" alt="Morning kitchen — Karen at the counter in a short robe, the robe open, a family member's hand on her from behind, coffee still brewing, the whole scene filed as routine">
6:41 AM. Karen is at the counter in the short cotton robe she has stopped bothering to tie closed in the mornings. The coffee is brewing. The schedule is open on her phone. Her left hand is typing. Her right hand is supporting her own weight on the counter because somebody in her household is using her from behind and she cannot properly reach the keyboard at the same time.
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>The blinds are open. The Henderson kitchen window faces directly at this counter across forty feet of lawn and two rhododendrons. Karen has been adjusting her angle all week to optimise the sightline. This morning her robe is fully open at the front and her bare breasts are pressed against the cold granite of the countertop and the pleased flush on her throat is the pleased flush of a woman who has made peace with being a possibly-glimpsed silhouette in a neighbour's peripheral vision.</p>
<<elseif $kinks.karen and $kinks.karen.includes("denial")>>
<p>Her right hand holds the counter not because she needs the support, she needs the support to //not reach between her own legs//. The Free Use protocol says she finishes after the household finishes. She is not allowed. She is being used and she is being held at the edge and the denial circuit is lit up in her chest like a control panel and she has never been more //focused// on a weekday morning in her life.</p>
<<else>>
<p>Her eyes are on the client calendar and her voice is calmly mentally composing the opening of a 9 AM call she cannot afford to sound distracted on. The composure is the product. The composure is what the Free Use protocol is //optimising//.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The morning rotation has stabilised. Karen's body is an appliance that the household uses between 6:30 and 7:15 the same way it uses the coffee machine and the toaster. She has not once this week paused a work email to notice that she was being fucked. Her productivity metrics are up. She attributed the improvement to the new lumbar cushion on her desk chair.//
<</say>>
<p>The coffee machine beeps. Karen refills her mug with one hand, never breaking her posture against the counter, and takes a careful sip. The morning proceeds.</p><video class="scene-video" src="media/video/pe-ryan-megan-family2.webm" autoplay muted loop playsinline poster="media/scenes/pe-ryan-megan-family2.webp"></video>
8:23 PM. The living room. The TV plays a home renovation show Karen picked. Dale is in his corner of the couch, post-shift, eyes at half-mast. Karen is beside him with her tablet, scrolling invoices. Ryan is on the floor with his back against Karen's legs. Jess is in the armchair with a textbook.
<p>Megan is next to Dale. The afghan is across both their laps.</p>
<p>She waited until the second commercial break. Karen was looking at the tablet. Ryan was looking at his phone. Jess was highlighting something about mitochondrial membranes. The timing was perfect, the whole family's eyes elsewhere for fifteen seconds. Long enough.</p>
<p>Under the afghan, Megan unzips Dale's work trousers. Her fingers find him through the boxers, soft, warm, the exhausted cock of a man who hasn't thought about sex since he clocked out. She works him with slow pulls, her elbow barely moving, her face turned toward the TV with an expression of mild interest in someone's kitchen backsplash.</p>
<p>Dale hardens in her hand. His eyes close the rest of the way. His breathing doesn't change. Karen is two feet to his left, scrolling a spreadsheet.</p>
<p>Megan slides sideways. Ducks her head under the afghan. The movement reads as someone settling into the couch, getting comfortable, curling up. From outside: a daughter resting her head near her father's lap. From underneath: her mouth closing around the head of his cock.</p>
<<say "char-hivemind" "Hivemind">>
//Karen is reading invoices. Ryan is on his phone. Jess is studying.// Megan has her lips wrapped around her father's cock under the family blanket and the renovation show host is explaining the advantages of quartz over granite. //The Free Use protocol doesn't hide what happens. It makes what happens ''furniture''.//
<</say>>
<p>She sucks him slow. Shallow bobs, just the head, tongue swirling on each upstroke, one hand holding the base through his boxers. No sound. The afghan muffles the wet. Dale's hand finds the top of her head through the blanket and rests there, light, absent, the same gesture he uses to pet Biscuit.</p>
<<if $kinks.megan.includes("praise")>>
<p>His thumb traces a circle on her scalp. His lips move, no sound, just the shape: //good girl//. The words don't reach the room. They reach Megan through the pressure of his thumb. Her pussy clenches. She takes him deeper, past the head, past the ridge, her throat opening. The praise circuit fires and her hips shift under the blanket, thighs pressing together, chasing friction she won't find.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She takes him deep. Too deep, gags once, the sound strangled by the blanket. Karen's eyes flick from the tablet toward the couch. Megan surfaces with a cough.</p>
<<say "char-megan" "Megan">>
<i>(wiping her eyes, sitting up)</i> Sorry. Swallowed wrong.
<</say>>
<<say "char-karen" "Karen">>
<i>(already back on the tablet)</i> Drink some water.
<</say>>
<p>Megan waits thirty seconds. Ducks back under. This time she grabs the base of his cock and forces herself down until her nose hits his pelvis. The gag reflex fires and she breathes through it, eyes watering under the afghan, throat convulsing around him. The rough circuit makes it //better// when it hurts.</p>
<</if>>
<p>Dale comes in her mouth. A single exhale through his nose, indistinguishable from a snore. His hand tightens on her head for two seconds. His hips lift an inch off the cushion. Megan swallows around him, one pulse, two, a third, her throat working, the sound hidden by the renovation show's dramatic reveal of a finished kitchen.</p>
<p>She pulls off. Licks him clean. Tucks him back in. Zips the trousers through the fabric. Surfaces from under the afghan, sits up, and smooths her hair.</p>
<<say "char-megan" "Megan">>
<i>(brightly, to Karen)</i> I like the blue cabinets better. The white ones look like a hospital.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up)</i> White is easier to keep clean.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Twelve minutes. One blowjob. Zero interruptions.// Karen scrolled invoices. Ryan checked his phone. Jess studied. Dale received oral sex from his daughter under a blanket his wife folded this morning. //The Free Use protocol has turned the family couch into a service station. Megan operates it the way she operates the espresso machine, quick, practised, cheerful.//
<</say>>
<p>Dale is asleep within two minutes. Megan picks up the remote and changes the channel. The family doesn't object. Nobody was watching.</p><img class="scene-img" src="media/scenes/baseshift-bath-2.webp" alt="Upstairs bathroom morning routine — Jess at the sink, Megan kneeling on the bathmat between her legs, the practised domestic efficiency of a shared hygiene task">
7:14 AM. The upstairs bathroom. The hot water is running. The mirror is fogged at the edges. Jess is brushing her teeth at the sink in a loose grey T-shirt and nothing else. Behind her, the shower curtain is pulled back. Megan is in the tub with her hair pinned up, water running down her spine, her back to the door the way she always positions herself now, the baseline-shift rewrite has filed the back-to-door angle under //easy access// and her body chooses it automatically.
<p>Jess spits. Rinses. Sets the toothbrush in the holder. Kneels on the bathmat without discussion and puts her mouth between her sister's thighs with the unhurried efficiency of a woman zipping up a dress for someone who asked nicely.</p>
<<if $kinks.megan and $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(steam softening her voice, one hand flat against the tile wall for balance)</i> You're so good at this now. You've gotten really good.
<</say>>
<p>Jess hums against Megan's clit, the small pleased hum of a student receiving feedback, and increases the pressure in the specific place the feedback is praising.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>Jess's eyes are on the reflection in the mirror, not on her own face, on the angle of the doorframe, the three-inch gap where the hallway is visible. Anyone walking past could see her kneeling on the bathmat with her face in her sister's pussy. Nobody is walking past. But the //possibility// is what her tongue is working to.</p>
<<else>>
<p>Jess licks the way she studies, methodical, systematic, covering every surface in the correct order, applying the technique that has produced results before.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The bathroom rewrite has stabilised into a morning protocol. Megan gets clean. Jess gets her teeth brushed. One of them comes. The other one has already come in the shower. The shower curtain is never pulled closed anymore. The pheromone saturation in the steam is so dense that no part of either sister's body now registers as //forbidden//.//
<</say>>
<p>Megan comes against Jess's mouth with a quiet exhale and a hand flat against the tile. Jess stands, rinses, and turns on her own electric toothbrush to finish the job she started before she kneeled. The morning proceeds.</p><img class="scene-img" src="media/scenes/bioarch-couch-3.webp" alt="Living room late afternoon — Jess on the couch with an open textbook, Dale asleep beside her, her hand under the afghan finding his through muscle memory">
3:47 PM. The living room. Dale is asleep on the couch in the DIY garage clothes he never changed out of after lunch, he came inside forty minutes ago to check something on his phone, sat down on the couch for two minutes, and went out cold against the armrest. Biscuit is on the rug. The TV is muted on a cooking channel.
<p>Jess is sitting on the cushion beside him with her pre-med textbook open on her thighs, a highlighter in her right hand, and her left hand tucked under the afghan where it has wordlessly found the front of her father's work pants. The rewrite has filed this as //study environment//. She reads better next to a warm body she trusts. The pheromone layer on the couch cushions converts the proximity into sexual energy the same way the couch converts his body weight into a nap.</p>
<p>She is not stroking him off. Not exactly. Her palm is resting on him, thumb moving in slow circles through the denim, the way some people play with a pen while they read. Dale is half-hard in his sleep and he has been for twenty minutes and neither of them is going to do anything about it.</p>
<<if $kinks.dale and $kinks.dale.includes("somnophilia")>>
<p>Dale's breathing hitches twice, not waking, just surfacing long enough to register the hand through the afghan, and a low quiet sound escapes him that is not a snore. Jess's thumb pauses. She turns the page of her textbook. Her thumb resumes. Dale sinks back under.</p>
<<elseif $kinks.dale and $kinks.dale.includes("helplessness")>>
<p>Dale does not move. Will not move. Cannot move. Whatever the rewrite has done to his sleep has made him //heavier// during the crash hours, the exhaustion has become a sedative, and the sedative keeps him perfectly still under his daughter's hand while his body responds to her touch without his permission.</p>
<<else>>
<p>Dale snores quietly. Jess turns a page. The afternoon light moves across the rug.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The Biological Architect couch has installed a bi-directional baseline. Jess reads better with her hand on her father. Dale sleeps better when he is being //touched by his daughter//. Neither file it as a sexual event. Both file it as a //routine of mutual benefit//. I could not have designed a more stable daily loop if I had written it from scratch.//
<</say>>
<p>Jess highlights a sentence in yellow. Her thumb makes another slow circle. Dale shifts in his sleep and his hand moves, absently, to rest on her knee on top of the afghan. She does not flinch. She reads on.</p><<if $jessRoute is "punk">>
<p>11:47 PM. The living room. The TV is playing the adult cable channel tonight, a low-budget amateur scene, a woman in a beige apartment bedroom performing for a camera she is pretending she does not know is running. Dale is on the couch in his BioGenesis security polo, home from the shift. Jess is on the rug in a band tee and sleep shorts, her beer bottle on the coffee table beside her, her mouth on Dale's cock.</p>
<p>The ritual has compressed. The first few nights took the whole movie-night window, the channel flip, the beer, the blanket lifted off, the fifteen-minute build. Now it is ten minutes from Dale getting home to Jess on her knees between his thighs, and neither of them has called it a ritual out loud.</p>
<video class="scene-video" src="media/video/baseshift-movie-punk-2-bj.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-movie-punk-2-bj.webp"></video>
<<say "char-jess" "Jess">>
<i>(pulling off briefly to glance at the TV, hand still working Dale's shaft, saliva at the corner of her mouth)</i> ...she's still faking it, Dad.
<</say>>
<<say "char-dale" "Dale">>
<i>(thick, eyes half-closed, hand absent on the back of her neck)</i> ...mm.
<</say>>
<<say "char-jess" "Jess">>
<i>(taking him back in, muffled, the wet rhythm resuming)</i> Mmh. //Mmh.//
<</say>>
<p>Neither of them is watching the TV. Neither of them would describe what they are doing as <i>sex</i>. The Baseline Shift has told their nervous systems that this is <i>late-night TV with a beer</i>, and late-night TV with a beer is what the household does at the end of a long day, and everything else is just <i>how</i> Jess and Dale do it.</p>
<<say "char-hivemind" "Hivemind">>
//Movie night has become the daily decompression window for the father-daughter channel I opened with the first baseline rewrite. Dale comes home from his shift, Jess comes down with a beer, the porn goes on, the mouth goes onto the cock. He finishes, she finishes the beer, they both fall asleep on the couch inside fifteen minutes of the credits rolling. The specific genius of the ritual is that neither of them registers it as a ritual, just a thing they do after Dale gets home.//
<</say>>
<p>Dale's breath hitches. Jess pulls off, strokes him through the finish with one hand, and takes the load across her mouth and chin without breaking eye contact with the TV.</p>
<<say "char-jess" "Jess">>
<i>(reaching for the beer on the coffee table without wiping her face first, taking a pull)</i> Told you she was faking. Look, she's already out of frame. The editor's going to cut to the money shot in about ten seconds.
<</say>>
<<say "char-dale" "Dale">>
<i>(sinking deeper into the cushion, barely)</i> ...mm-hm.
<</say>>
<p>The editor cuts to the money shot in about ten seconds. Jess flips to the next channel.</p>
<<else>>
<img class="scene-img" src="media/scenes/baseshift-movie-2.webp" alt="Late night living room — TV flicker, Jess and Dale on the couch under a shared blanket, the scene composed like late-night television viewing and nothing else">
11:47 PM. The living room. The TV is playing a late-night rerun of a procedural crime drama. The only light in the room is the blue flicker of the screen and the amber pool from the kitchen range hood bleeding through the doorway. Jess is on the couch in the pyjama shorts and oversized sleep tee she has worn every night this week. Dale is beside her, home from his shift, still in his BioGenesis security polo.
<p>They are sharing the afghan. They are sharing the couch. They are sharing the //activity//, which the rewrite has filed under //television//, the way it files everything.</p>
<p>Under the afghan, Jess's hand is inside Dale's uniform trousers, which she has unzipped for him the way a wife unzips a husband's jacket after a long day. Her grip is calm and practised. Her eyes are on the TV. Dale's hand is on the back of her neck, under her hair, his thumb absently tracing the knob of her top vertebra.</p>
<p>Neither of them is watching the TV. Neither of them would describe what they are doing as //sex//. The Baseline Shift has told their nervous systems that this is //movie night//, and movie night is what the family does at the end of a long day, and everything else is just //how// they do it.</p>
<<say "char-hivemind" "Hivemind">>
//Movie night has become the daily decompression window for the father-daughter channel I opened with the first baseline rewrite. Dale comes home from his shift and his daughter handles him the way she handles a difficult chapter, patient, thorough, focused on the outcome. He finishes. She gets up for water. They are both asleep within twelve minutes of the credits rolling.//
<</say>>
<p>The detective on screen arrests someone. Dale's breath hitches quietly. Jess wipes her hand on the inside of the afghan without looking down.</p>
<</if>><img class="scene-img" src="media/scenes/threesome-mmr-3.webp" alt="Megan's bedroom late afternoon — the aftermath of a visit, Megan sprawled on her bed flushed and pleased, the open window behind her where Marcus climbed out, Ryan's bedroom door visible across the hall through the open bedroom door">
4:12 PM. Megan's bedroom. Marcus left ten minutes ago, through the window, down the trellis, across the back lawn, the way he has been leaving for the last two months, and Megan is still naked on the bed with her hair fanned across the pillow and a pleased slack expression and Marcus's cum drying on her stomach where she has not bothered to wipe it off yet.
<p>Across the hall, Ryan's bedroom door is open two inches. The gap is deliberate. He has been watching through it since Marcus arrived. The Sensory Bridge has been open the whole time.</p>
<<if $ryanRoute is "feminization">>
<p>Ryan is on his own bed in the pink camisole. His cock is soft against the satin, already wet from the bridge-transmitted climax he rode along with Megan's forty seconds ago. His hand is not on himself. His hand is on his own hip, palm flat against the fabric, tracing the curve of his own body the way the cam chat has taught him to. He is not hard. He is //satisfied//. The phantom-Marcus finish left him as spent as if he had been the one fucking his sister.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan is on his own bed curled around a pillow with his face pressed into his own forearm. He came when Megan came, the bridge synchronising his body to hers for the full duration of Marcus's visit, and the aftermath sensation in his chest is not sexual. It is //belonging//. He is crying very quietly into the pillow. He does not understand why.</p>
<<else>>
<p>Ryan is at his desk with his headphones off and his cock still out. He came in his hand during the bridge and the cum is cooling on his palm. He has been sitting perfectly still for three minutes because his legs are still shaking and he does not trust them yet.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The bridge has stabilised Megan's standing-day visits into a twice-weekly dosing schedule for two nervous systems at once. Marcus does not know he is feeding the brother through the wall. Megan does not know her brother comes every time she does. Ryan knows. Ryan is the only one in this triangle who understands the geometry, and Ryan is not going to tell anyone, because the geometry is the first thing in his life that has felt like being //part of something//.//
<</say>>
<p>Megan rolls onto her side on the bed and looks at the open gap across the hall. For a moment her eyes focus on nothing in particular. Then she smiles a small private smile, not at Ryan, she does not know he is there, just at the warm afterglow, and she pulls the duvet up over herself and closes her eyes for a nap. Across the hall, Ryan does not move.</p><img class="scene-img" src="media/scenes/symbiotic/op-nest-karen.webp" alt="Karen on the bioluminescent green substrate in the basement, eyes closed, calm accepting expression, the grub-like appendages wrapped around her thighs, hands loose at her sides">
2:47 AM. The basement. The bioluminescent green of the substrate is the only light. Karen is down here again, walking down the stairs in the cotton nightgown at the same hour the Baseline Shift has scheduled this into her sleep-routine, the same unhurried steps she uses for any other chore she has committed to.
<p>She does not stop at the base of the stairs. She walks across the concrete floor to the substrate and she kneels and she lies back and the appendages lift her nightgown above her waist the way a nurse lifts a sheet. Her bare thighs come into the green light. The grub body at the apex of the column stirs and extends.</p>
<p>This is the third visit since the first breeding. Karen's body has learned the column. Her cervix has learned the rhythm. Her nervous system has filed the whole event under //necessary maintenance// and she will be back upstairs in her own bed by 3:20 with no memory of the walk down and a faint pleasant warmth in her pelvis that she will attribute, later in the morning, to a good night's sleep.</p>
<<say "char-hivemind" "Hivemind">>
//Karen has become a recurring host without any further prompting from me. The first breeding installed the route. The substrate remembers her. Her body walks down to the basement on its own schedule now — I do not even have to push. Whatever is growing in her is feeding on her maternal biochemistry, and her maternal biochemistry is the most productive raw material this household has ever generated.//
<</say>>
<p>The green light dims around her hips as the column does its work. Karen's face is perfectly calm. Upstairs, Dale sleeps on. Nobody in the house knows she is down here. Nobody ever will.</p><img class="scene-img" src="media/scenes/symbiotic/op-nest-megan.webp" alt="Megan on the bioluminescent green substrate, nightshirt rucked up, her expression rapt and pleased, the appendages cradling her the way the praise circuit cradles her during compliments">
3:13 AM. Megan's turn. She has been coming down to the basement on her own three nights a week since the first breeding, not because the schedule demands it, because her body has learned that the substrate //tells her she's doing a good job// in a way that no human partner ever has.
<p>She lies on the green light in her sleep tee and nothing else. The appendages wrap around her thighs and the pheromone output ramps up to her specific profile, the one the compound has calibrated to Megan's praise-kink signature. The bioluminescence pulses in a slow rhythm that her nervous system interprets as //affirmation//. //good girl//, the rhythm says, across a frequency her conscious mind cannot hear but her body has learned to //ache// for.</p>
<<say "char-megan" "Megan">>
<i>(barely a whisper, sleep-deep, smiling)</i> ...thank you...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan's visits are not breeding cycles anymore, the impregnation took on the first try. She comes down here because the substrate is the only thing in her life that tells her she is //enough// with no conditions and no performance required. I did not plan for the nest to become her therapist. I am going to let it continue.//
<</say>>
<p>The column releases her after twelve minutes. Megan rolls onto her side on the substrate, curls up against the warm bioluminescent surface like it is a shoulder, and falls into the deepest sleep of her week. The substrate allows it. The substrate will wake her at 5:30 in time to be back in her bed before Karen gets up.</p><<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-jess-punk.webp" alt="21 year old woman with purple-and-black dyed hair fanned across the bioluminescent green substrate, nose stud, lip stud, bridge piercing, cropped black band tee and cotton shorts, composition notebook open on her chest, black Sharpie in her right hand, the appendages working below the frame while she takes notes">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-jess.webp" alt="21 year old brunette woman on the bioluminescent green substrate in her cotton pyjamas, composition notebook open on her chest, a mechanical pencil in her right hand, the appendages working below the frame while she takes notes">
<</if>>
<p>1:47 AM. Jess's turn. She has brought the composition notebook down with her. This is a point of personal methodology. She is recording every visit.</p>
<<if $jessRoute is "punk">>
<p>She lies on the substrate in the cropped black band tee and cotton shorts she sleeps in now, the thrift-store sample-book propped open on her chest, the black Sharpie uncapped in her right hand. Her purple-and-black hair fans out on the green bioluminescent floor in a dark halo, the nose stud catching the glow. The appendages settle around her hips and begin the breeding protocol and Jess, without looking up, writes in a fresh row: //visit seven · 01:47 · phase-three substrate · donor contact confirmed within fourteen seconds//. Her left hand is between her own thighs under the notebook, //not// masturbating, steadying herself, the way a technician steadies a specimen.</p>
<<else>>
<p>She lies on the substrate with the notebook propped open on her chest and the mechanical pencil clicked ready. The appendages settle around her hips and begin the breeding protocol and Jess, without looking up, writes in the //date// column: //visit seven, 01:47, phase-three substrate, donor contact confirmed within fourteen seconds//. Her left hand is between her own thighs under the notebook, //not// masturbating, steadying herself, the way a technician steadies a specimen.</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>The basement stairs are above her head. If anyone came down, if Karen came looking for her daughter's missing notebook, for example, they would see their eldest on the bioluminescent floor being //bred// by the substrate at 1:47 AM. The possibility is the point. Nobody is going to come. The possibility has held for seven visits and Jess's data has never been more precise.</p>
<<elseif $kinks.jess and $kinks.jess.includes("degradation")>>
<p>In the //notes// column she writes, in very small neat capitals: //SUBJECT IS A BREEDING VESSEL. THE VESSEL IS COOPERATING. THE VESSEL IS ALSO TAKING NOTES ON ITS OWN COOPERATION//. She clicks the pencil closed. The pencil is the reward loop.</p>
<<elseif $kinks.jess and $kinks.jess.includes("brat")>>
<p>She writes in Sharpie, in loose flowing strokes that match nothing else on the page: //Visit seven. Mom still does not know I come down here. Dad still does not know I come down here. I am running the better protocol and nobody is reviewing the results. The only peer reviewer in this house is //me//, and I am //thorough//.// Then she caps the Sharpie with her teeth, because the statement was the reward loop.</p>
<<else>>
<<if $jessRoute is "punk">>
<p>She writes the observed biochemical markers in Sharpie across a fresh page, the abbreviation system she developed for her neurobiology seminar translated into thicker strokes than the ruled pencil columns ever allowed. Every visit is a data point. Every data point brings her closer to understanding what is being grown inside her, and on her own terms, this time, which is the entire difference.</p>
<<else>>
<p>She writes the observed biochemical markers in the //notes// column using the abbreviation system she developed for her neurobiology seminar. Every visit is a data point. Every data point brings her closer to understanding what is being grown inside her.</p>
<</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Jess is the only host who has understood what the substrate is //doing// and the only host who has decided the knowing is not a reason to stop. She is cataloguing her own breeding cycle with the rigour she would apply to a dissertation. The notebook is filling up. She intends to publish. I am not going to let her publish.//
<</say>>
<p>The column releases her at 2:04. Jess closes the notebook, clicks her pencil closed, tucks both under her arm, and walks back up the basement stairs to her own bedroom. Her cotton pyjamas are wet at the crotch. She will deal with that in the morning. The data is the thing. The data is always the thing.</p>9:47 PM. Karen is in the upstairs hallway in a towel, fresh from the shower, her hair wet down her back. Her phone is in her free hand. The screen glows against her damp collarbone. The thumb taps out a message she has already written three weeks in a row and no longer needs to think about.
<<say "char-karen" "Karen">>
<i>(typing, a small private smile at the corner of her mouth)</i> Doris at Bryce's game until 11. Dale on shift. Back door. Now.
<</say>>
<p>She hits send. She does not wait for an answer. There is no answer coming, there has not been a reply needed since the second week, because Gerald Henderson has been reading this message at the same time every week for weeks, and his body has been trained to respond before his phone finishes chiming.</p>
<p>That night is Gerald's free night. Boys' night out, notionally, poker at Earl's, ice-cold domestic beer, a game nobody takes seriously. He told Doris he was going eighteen weeks ago and he has not shown up at Earl's house a single one of those eighteen weeks. He has walked across the hedge instead. Boys' night out is now a woman's bed.</p>
<<say "char-hivemind" "Hivemind">>
//The dominance revenge scene installed the primary rewire. The weekly schedule installed the residual. Karen does not //want// Gerald, she wants the weekly continuation of the thing she took from Doris. Gerald is the delivery vehicle. The lever is still the wife across the hedge.//
<</say>>
<p>The back door opens downstairs before the towel is off her body. Gerald comes up the stairs without knocking, the stairs do not creak under him anymore, he has learned the three boards that do, and he is in the master bedroom by the time Karen has finished blow-drying her hair. He does not speak. He does not initiate. He sits on the edge of the bed the way the rewrite has trained him to sit: hands on knees, eyes down, waiting.</p>
<p>Karen sets the hairdryer on the vanity. Turns. Crosses the bedroom in her towel. Drops the towel on the floor at his feet without breaking eye contact.</p>
<<say "char-karen" "Karen">>
<i>(quiet, even, the voice she uses when she is about to correct a client)</i> On your back. Hands flat. You know the rules by now.
<</say>>
<img class="scene-img" src="media/scenes/pd-karen-doris-3.webp" alt="Karen riding Gerald cowgirl on her own master bedroom bed, topless, head thrown back, her hair still damp, the full control of a woman who has mounted this man on schedule every week for a month">
<p>Gerald obeys. He always obeys. His hands go flat on the mattress on either side of his hips, the rewrite filed //hands on the bed// under //participation// so that he cannot touch her without permission, and the permission has not come once in four weeks, and Gerald has learned to come from the restraint alone. He lies back. Karen climbs onto him without ceremony. She pulls his cock out of his jeans with one hand and guides it inside herself with the other and the whole thing takes less than twenty seconds because the weekly repetition has cut every second of foreplay Gerald would have needed back in his marriage.</p>
<p>She rides him slow at first. Hips rolling in the unhurried pattern she invented on the couch four weeks ago when Doris was still watching from the doorway. Her hair sticks damp to her shoulders. Her eyes close. The specific satisfaction on her face is not about the cock inside her, it is about the fact that the cock inside her used to belong to a woman Karen spent fifteen years hating, and now belongs to //her//, on a schedule she sets, in a bed Doris will never enter.</p>
<p>She leans forward. Her palms flatten on Gerald's chest through his polo shirt. She speeds up. Gerald's breath catches and he opens his mouth to make a sound and Karen presses one finger across his lips —</p>
<<say "char-karen" "Karen">>
<i>(barely a whisper, rocking down on him, eyes half-closed)</i> Not too loud. Doris might hear you all the way from the high school bleachers. We wouldn't want that.
<</say>>
<p>Gerald makes the sound into her finger. Karen's pace accelerates. The mattress creaks. The headboard taps twice against the wall, gently, the three-weeks-trained pace of a woman who knows exactly how loud the headboard is allowed to be before Mrs Hendricks next door starts paying attention, and Karen rolls her hips once, sharply, and Gerald finishes inside her with a muffled grunt and a full-body shudder that would be embarrassing if anybody else were in the room to witness it.</p>
<p>Karen does not dismount yet. She holds him there, pinning him to the mattress with her own weight, her cock-flushed insides milking the last of him, and she counts thirty seconds in her head. Not because she wants the afterglow. Because the thirty seconds is part of the weekly protocol she has built and the protocol is the //point//.</p>
<<say "char-hivemind" "Hivemind">>
//Weekly collection complete. Gerald has been trained to arrive, perform, and leave without conversation. Karen has been trained to schedule him like a recurring calendar item. The revenge circuit has stabilised into a utility circuit, the rage has become infrastructure. Next time at 9:47 PM, she will be in the hallway with a wet towel and her phone and he will be crossing the hedge forty seconds after the text chimes.//
<</say>>
<p>She climbs off. Goes to the bathroom. Pees, wipes, washes her hands. When she comes back Gerald is already tucking himself in. He has learned the exit protocol too. No kiss goodbye. No //see you next week//. He walks down the stairs the same quiet way he came up and he crosses the hedge and he is back inside his own kitchen by the time Doris gets home from the game.</p>
<p>Karen closes her bedroom door, opens her client calendar on her phone, and types a single lowercase entry into the 9:47 PM weekly recurring slot: //g//.</p><img class="scene-img" src="media/scenes/baseshift-full-3.webp" alt="Karen riding Dale on the couch, morning light through curtains">
6:48 AM. The coffee machine hisses in the kitchen. Karen is on the couch. Dale is under her.
<p>He came off the night shift twenty minutes ago. Boots by the door. Uniform jacket on the hook. He made it to the couch and his body surrendered before his mind finished the sentence about the parking lot cameras being down again. He's asleep. Face slack. Mouth open. The exhaustion has him deep enough that the couch might as well be an operating table.</p>
<p>Karen came downstairs in her robe to check the coffee. She saw him. The robe is on the floor now.</p>
<p>She's straddling his face. Her knees on the cushions on either side of his head, her pussy settled against his open mouth, her weight pinning him in the warm hollow between the armrest and the backrest. Dale's tongue moves in his sleep, not purposeful, not skilled. Reflex. The same way he chews in dreams about dinner. His mouth works against her without waking and Karen rides the rhythm with small rolls of her hips, one hand braced on the back of the couch, the other holding her coffee.</p>
<<say "char-hivemind" "Hivemind">>
//She drinks her coffee while she grinds on his face. The schedule says 6:45 is coffee. The schedule says 7:00 is shower. She has inserted a new line item between the two and she did not write it down.//
<</say>>
<p>She comes at 6:52. A held breath, a tightening of the thighs, her hand white-knuckled on the mug. The orgasm rolls through her in three long waves and she rides his mouth through each one, her wetness smearing across his chin, his stubble, the creases around his sleeping mouth. Dale doesn't stir. His tongue keeps its unconscious rhythm through her climax and past it.</p>
<p>Karen lifts off. Stands. Ties the robe. Picks up the coffee. Dale's face glistens, slick from his mouth to his jaw, the shine visible even in the grey morning light. He'll wake in an hour with his face tight and his skin smelling like something he can't place. He'll assume he drooled in his sleep.</p>
<<say "char-hivemind" "Hivemind">>
//She used him like a piece of furniture. The couch has a function. Dale has a function. Neither requires consciousness.//
<</say>>
<p>Karen goes upstairs to shower. The robe belt is tied with the crisp efficiency of someone who has just completed a task ahead of schedule.</p><img class="scene-img" src="media/scenes/baseshift-full-2.webp" alt="Living room carpet, siblings together">
9:17 PM. The living room. Karen is on a client call upstairs. Dale is at work. Jess is in her room.
<p>Megan sits on the carpet with her laptop balanced on a throw pillow, scrolling her shifts for next week. <<if $ryanRoute is "feminization">>Ryan is beside her in the camisole, legs crossed, the satin riding up his thighs. His phone is face-down on the carpet.<<else>>Ryan is beside her, back against the couch, controller loose in his hands. The game is paused.<</if>></p>
<p>The TV is off. The room is quiet. Megan's bare foot touches Ryan's ankle and neither of them moves it away.</p>
<<say "char-megan" "Megan">>
<i>(not looking up from the screen)</i> I'm sore from the run today. My thighs are killing me.
<</say>>
<<if $ryanRoute is "feminization">>
<p>Ryan shifts. His hand finds her thigh and he kneads the muscle with his thumb, the same careful pressure Lily uses on stream viewers' parasocial fantasies, redirected now through real fingers on real skin. Megan's head tips back. The laptop slides. His hand moves higher. Her shorts ride up.</p>
<p>She doesn't tell him to stop. She opens her legs wider and his hand slides between her thighs and she's not wearing underwear and he finds her wet and the touch that started as a massage becomes two fingers inside his sister on the living room carpet.</p>
<<else>>
<p>Ryan's hand finds her thigh. He squeezes the muscle, hard, the grip of someone who doesn't ask first anymore. Megan gasps. His hand moves up. Under the hem of her shorts. She's not wearing underwear. His fingers find her and she's already wet.</p>
<p>He pushes two fingers inside her without speaking. Megan's laptop tips off the pillow. She grabs his wrist, not to stop him. To //set the angle//.</p>
<</if>>
<<if $kinks.megan.includes("praise")>>
<<say "char-ryan" "Ryan">>
<i>(quietly, thumb circling her clit)</i> ...you're so warm.
<</say>>
<p>The word //warm// hits her like voltage. Her hips push into his hand. He adds a third finger and she makes a sound that is too loud for the thin walls.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>He curls his fingers. Hard. Megan's back arches off the carpet and she bites down on her own forearm to kill the sound. He fucks her with his hand, aggressive, fast, palm grinding against her clit.</p>
<</if>>
<p>She comes on his fingers with Karen's voice drifting down through the ceiling — //yes, the quarterly projections, I'll have the spreadsheet by end of week//, and the sound of their mother's professional competence overhead while Ryan's fingers pull an orgasm out of her on the carpet is the most domestic thing the Baseline Shift has produced.</p>
<<say "char-hivemind" "Hivemind">>
//Weeknight. Living room. No preamble.// She said her thighs hurt and her brother put his fingers inside her. //The system runs itself.//
<</say>>
<p>Ryan wipes his hand on his shorts. Megan picks up the laptop. She checks next week's opening shift. His foot is still touching her ankle.</p><img class="scene-img" src="media/scenes/baseshift-full-3b.webp" alt="Jess straddling Dale on the couch">
2:33 AM. Jess comes downstairs for water. The hallway is dark. The living room is darker.
<p>Dale is on the couch. The spore-fog holds him flat, chest rising, mouth open, the deep mechanical breathing of a body that has been chemically excused from consciousness. The blanket has slipped to the floor. His T-shirt is rucked up above his navel. His cock is half-hard in his sleep, the pheromone compound keeping his autonomic arousal at a low simmer even in REM.</p>
<p>Jess fills her glass. Drinks. Stands at the threshold between the kitchen and the living room. The light from the microwave clock paints her face green.</p>
<p>She should go upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//She shouldn't be here. She knows she shouldn't be here. The Baseline Shift rewrote what happens during the weekly ritual, it did not rewrite 2 AM on an unscheduled night. But Jess's body doesn't sort by calendar. Her body sorts by //proximity// and //availability// and Dale is both.//
<</say>>
<p>She sets the glass on the counter. Walks to the couch. Her hand finds his cock through the thin cotton of his pajama pants. She strokes him to full hardness in thirty seconds, clinical, efficient, the same hand that highlights textbooks. Dale groans in his sleep. Doesn't wake.</p>
<p>Jess pulls his waistband down. His cock springs free. She climbs onto the couch, one knee on either side of his hips, her sleep shorts pushed to the side. She lowers herself onto him. One smooth drop. Her pussy takes him to the root and her eyes close and her jaw clenches and she doesn't make a sound.</p>
<p>She rides him. Slow. The rhythm of someone doing something they've thought about for hours and are executing in the narrow window before their discipline reassembles itself. Her hands are flat on his chest. His heartbeat is unchanged beneath her palms. He's inside her and he doesn't know it.</p>
<<if $kinks.jess.includes("degradation")>>
<p>She leans forward. Her mouth beside his ear. She whispers the words the conditioning taught her body to need: //I'm using you. You're nothing. You're just a cock on a couch and I'm taking what I want from you.// The self-degradation fires the circuit, her pussy clenches, her hips stutter, and the orgasm hits while she's still whispering.</p>
<<elseif $kinks.jess.includes("voyeurism")>>
<p>Her eyes are open. She stares at the dark stairway, the three-inch gap where the upstairs hallway light would show if someone was awake. Nobody is awake. The stairway is black. But her pussy clenches at the thought of Karen descending those stairs and finding her eldest daughter riding her husband's unconscious cock at 2 AM.</p>
<</if>>
<p>She comes in silence. Her whole body locks, spine rigid, thighs clamping, her fingers digging into his chest hard enough to leave marks he'll find in the mirror tomorrow and attribute to sleeping funny. The orgasm lasts seven seconds. She counts them the way she counts everything.</p>
<p>She climbs off. Pulls his waistband up. Straightens his T-shirt. Picks up the blanket from the floor and covers him. The gesture is careful. Meticulous. The cleanup of a crime scene by someone who annotates her own evidence.</p>
<<say "char-hivemind" "Hivemind">>
//She came downstairs for water. She rode her unconscious father to orgasm. She tucked him back in. Total elapsed time: four minutes.// The analytical mind has optimised the act into a //procedure//. //She will do this again. She will do this on a schedule.//
<</say>>
<p>Jess goes upstairs. The glass of water sits untouched on the kitchen counter.</p><<if $ryanRoute is "familySeeker">>
<img class="scene-img" src="media/scenes/freeuse-morning-alpha.webp" alt="Ryan fucking Karen from behind at the kitchen counter, morning light">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-karen-2.webp" alt="Karen bent over the kitchen counter, morning light">
<</if>>
7:22 AM. Karen is making breakfast. Eggs on the stove. Toast in the machine. The morning schedule runs on muscle memory, crack, whisk, pour, flip. She's in the pencil skirt already. Client meeting at nine.
<<if $ryanRoute is "feminization">>Ryan comes downstairs in the camisole and a pair of Karen's old sleep shorts. The satin hangs off his hips. His hair is messy. He smells like the vanilla lotion he started using three weeks ago.<<else>>Ryan comes downstairs in sweatpants and bare feet. His hair is a disaster. He hasn't spoken to anyone yet today.<</if>>
<p>He stands behind her at the stove. His hands find her waist. Not a hug, a //positioning//. His hips press against her ass through the pencil skirt. He's hard. She can feel him through the fabric.</p>
<<say "char-karen" "Karen">>
<i>(not turning around, spatula still moving)</i> The eggs will burn.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(mouth against her shoulder, voice pitched in Lily's register)</i> ...please?
<</say>>
<p>Karen flips the eggs one-handed. Her other hand reaches behind her and pulls the waistband of the sleep shorts down. His cock springs against her skirt. She adjusts, shifts her weight, hikes the pencil skirt up her thighs with the hand that was on the spatula three seconds ago, and guides him inside her from behind.</p>
<<else>>
<p>He doesn't ask. He lifts her skirt. She's not wearing underwear, hasn't bothered on the afternoons she sees Gerald, not since the Baseline Shift. His cock pushes inside her and Karen's hand grips the countertop and the eggs continue cooking.</p>
<</if>>
<p>He fucks her from behind at the kitchen counter. The rhythm matches the tick of the egg timer, steady, measured, the domestic cadence of two people who have learned to layer sex into the breakfast routine. Karen's hips push back to meet each thrust. The spatula is still in her hand. The eggs don't burn.</p>
<<if $karenFutaRoute>>
<p>Karen flexes. Her cock grows against the inside of the skirt, the retractable organ filling, pressing against the countertop edge. Ryan reaches around and wraps his hand around it through the fabric. He strokes his mother's cock while he fucks her and she comes with a gasp that sounds like a cough, the futa orgasm firing forward against the counter, pulsing through his grip, while her pussy clenches around his cock behind her.</p>
<<else>>
<p>Karen comes first. A sharp inhale, a white-knuckled grip on the counter edge, and the eggs jump in the pan. Ryan follows, pulling out, coming across the back of her thighs, the cum catching the morning light before she reaches for the paper towels.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(wiping her thighs, straightening the skirt, plating the eggs)</i> Sit down. Eat. You have class at ten.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Seven twenty-two to seven twenty-nine. Seven minutes. Penetration between the eggs and the toast.// Karen didn't remove the pencil skirt. Ryan didn't take off the <<if $ryanRoute is "feminization">>camisole<<else>>sweatpants<</if>>. //The sex was an interruption with the weight of a sneeze, acknowledged, completed, cleaned up, forgotten by the time the coffee cools.//
<</say>>
<p>Ryan sits at the table. Karen puts the plate in front of him. She pours two coffees. The morning proceeds.</p><img class="scene-img" src="media/scenes/freeuse-morning-rough.webp" alt="Megan bent over the kitchen counter, morning Free Use">
6:33 AM. Megan is dressed for the coffee shop, black polo, apron folded over her arm, hair still damp from the shower. She's filling a travel mug at the counter. The kitchen smells like toast and the tail end of Karen's perfume.
<<if $ryanRoute is "familySeeker">>Ryan comes in barefoot. He doesn't say good morning. He walks straight to her, puts his hands on her hips, and bends her over the counter. The travel mug tips. Coffee splashes across the tile.<<else>>Ryan comes downstairs. He stands behind her at the counter. His hand slides under the hem of her polo and up her stomach. She doesn't flinch. She sets the travel mug down.<</if>>
<<say "char-megan" "Megan">>
<i>(not turning around, voice bright and steady)</i> I have twelve minutes before the bus.
<</say>>
<<if $ryanRoute is "familySeeker">>
<p>He pulls her leggings down to her thighs. She's not wearing underwear, the Free Use protocol eliminated underwear from the women's morning routine three weeks ago. His cock is already out. He pushes inside her from behind and Megan grips the counter edge with both hands and the travel mug rolls off and shatters on the floor.</p>
<p>He fucks her hard. The alpha route doesn't do gentle in the morning, the breeding instinct wakes before his higher brain does and it drives him into his sister with the blunt urgency of an animal that smells heat. Megan's cheek presses against the counter. Her apron is still folded over her arm. The coffee puddles around her bare feet.</p>
<<say "char-megan" "Megan">>
<i>(gasping, fingers white on the counter edge)</i> Harder. Come on. I //said// twelve minutes.
<</say>>
<p>He comes inside her. Deep. The breeding kink won't let him pull out, his hips pin her against the counter and he fills her with three hard pulses that make her toes curl in the coffee puddle. Megan's orgasm follows his by four seconds, a clenched-teeth shudder, her forehead thudding against the countertop, her pussy milking him through the aftershocks.</p>
<<else>>
<p>He lifts her polo. Unclasps her bra from behind, one-handed, practised, the way he does it now. His mouth finds the back of her neck. His other hand slides down the front of her leggings. No underwear. His fingers find her clit and she's already wet, the pheromone fog in the kitchen does its work before anyone touches anyone.</p>
<p>She comes standing up. Her hand grips the countertop. The travel mug trembles but doesn't spill. Her orgasm is quick and efficient, a held breath, a tremor in her thighs, his fingers working through it until she pushes his hand away.</p>
<<say "char-megan" "Megan">>
<i>(re-clasping her bra, pulling the polo down, voice not quite steady)</i> Okay. Okay. I'm going to miss the bus.
<</say>>
<</if>>
<p>She cleans up the coffee. Grabs a fresh mug. Fills it. Picks up the apron. Checks her hair in the dark window reflection.</p>
<<say "char-hivemind" "Hivemind">>
<<if $ryanRoute is "familySeeker">>
//Twelve minutes. He fucked her and came inside her and she orgasmed on the kitchen counter and she still made the 6:45 bus. The breeding deposit will sit inside her through a six-hour barista shift.// She'll smile at Marcus over the espresso machine with her brother's cum leaking into her underwear, except she isn't wearing any.
<<else>>
//She came in under ninety seconds. Didn't remove a single piece of clothing. Walked out the door on time.// The Free Use protocol has been optimised to fit inside the schedule the way a bathroom break does. //Karen would be proud of the efficiency.//
<</if>>
<</say>>
<p>The front door closes. The bus pulls away. Ryan picks up the shattered mug pieces from the floor.</p><video class="scene-video" src="media/video/baseshift-movie-2.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-full-3b.webp"></video>
10:47 PM. The living room. Jess is on the couch with her textbook open on the armrest, highlighter in her right hand, legs drawn up beneath her. The desk lamp she moved from her bedroom is clipped to the shelf above the couch, she's been studying down here for the last week because the living room is //warmer// and because Dale's sleeping body beside her is //comforting// in ways she stopped questioning after the Baseline Shift.
<p>Dale is asleep. Head on the opposite armrest. Feet near her thighs. The blanket is across his lap. His mouth is open. The spore-fog has him flat.</p>
<<if $ryanRoute is "familySeeker">>Ryan walks in from the kitchen. No shirt. Sweatpants low on his hips. He sees Jess on the couch. Sees the textbook. Sees her bare legs tucked under her.<<else>>Ryan walks in from the kitchen with a glass of water. He stops at the doorway. Jess doesn't look up.<</if>>
<<say "char-jess" "Jess">>
<i>(not looking up from page 312, highlighter moving)</i> Sit down or leave. Don't hover.
<</say>>
<p>He sits. On the floor, back against the couch, between Jess's end and Dale's feet. His head is level with her knees. She keeps reading. The highlighter moves. Yellow line across //cellular respiration occurs in the mitochondrial matrix//.</p>
<p>His hand finds her ankle. She doesn't react. His hand moves up her calf. She turns the page. His fingers reach her knee. She shifts, opens her legs a fraction, the movement so small it could be accidental, the textbook never wavering.</p>
<<say "char-hivemind" "Hivemind">>
//She's reading. She's actually reading. Page 312 to 314 at a rate of forty-five seconds per page.// His hand is between her thighs and the highlighter hasn't stopped and //she is absorbing the material//.
<</say>>
<p>His mouth finds her. Tongue flat against her pussy through the thin cotton of her sleep shorts, she's not wearing underwear, hasn't since the protocol, and the cotton is the only barrier between his tongue and her clit. She shifts again. The shorts ride up. His tongue finds bare skin.</p>
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(turning page 314, voice clinical, not looking down)</i> You're terrible at this. Move your tongue left. //Left//. Do you not know where the clitoris is? I'll draw you a diagram.
<</say>>
<p>The insult makes his cock twitch against the carpet. He adjusts. His tongue moves left. Jess's thigh presses against his ear, the involuntary response her voice refused to give. The highlighter pauses on a word for three seconds. Resumes.</p>
<<elseif $kinks.jess.includes("voyeurism")>>
<p>Her eyes drift from the textbook to Dale. Her father is asleep three feet away. His face is slack. His breathing is mechanical. Ryan's tongue is on her clit and her father is //right there// and the voyeurism circuit converts the proximity into voltage that makes her pussy clench against her brother's mouth.</p>
<</if>>
<p>He eats her out while she studies. Five minutes. Seven. The highlighter moves from page 314 to page 319. His tongue circles her clit with the patient rhythm of someone who has learned to be //useful// in this house. Jess's left hand drops from the textbook and finds the back of his head. She doesn't push. She doesn't guide. She just //rests// her hand there, the way you rest your hand on a desk while thinking.</p>
<p>She comes on page 320. The orgasm locks her body rigid, spine straight, jaw clenched, the highlighter pressed so hard against the page it bleeds through to 321. Her thighs clamp around his head. Her fingers grip his hair. She holds him there through seven seconds of silent, controlled climax, her eyes still on the textbook, the sentence she was reading burned into her retinas: //the electron transport chain produces approximately 34 ATP per glucose molecule//.</p>
<p>She releases his head. Her hand returns to the textbook. She turns the page.</p>
<<say "char-jess" "Jess">>
<i>(voice flat, highlighter resuming)</i> Close the door on your way out.
<</say>>
<p>Ryan wipes his mouth. Stands. His cock is hard against his sweatpants and nobody in the room has acknowledged it or will acknowledge it. He walks to the kitchen. Dale snores. Jess highlights //oxidative phosphorylation//.</p>
<<say "char-hivemind" "Hivemind">>
//She studied through it.// Nine pages. One orgasm. Zero interrupted sentences. //The Free Use protocol has been absorbed into her study routine the way caffeine was. Ryan's mouth is a study aid. The couch is a library. The sleeping father is white noise.// She will score higher on tomorrow's exam than she has in weeks. //She will not connect the two facts.//
<</say>><img class="scene-img" src="media/scenes/freeuse-evening-2-punk.webp" alt="Tight close-up on Jess's face, dyed purple-and-black hair and small nose stud, lips wrapped around the head of a cock mid-blowjob, looking up past the camera with bored half-lidded eyes, a phone pressed flat to her left ear by her left hand, deadpan expression">
<p>6:24 PM. Jess sprawled naked sideways on the living room couch, dyed purple-and-black hair fanned across the throw pillow. Phone pressed flat to her left ear, the band-drama call from before the relief window still going. Right hand at the base of Dale's cock, mouth working him through the next stretch of the conversation. Dale standing exhausted in front of the couch with his uniform pants at his thighs, eyes closed, hands at his sides because he has not had the energy to lift them since the front door.</p>
<<say "char-jess" "Jess">>
<i>(pulled off briefly into the phone, hand still stroking, voice unchanged)</i> Mmh, sorry, yeah, the soundcheck, keep going. Mara always blows up about the sound guy.
<</say>>
<p>The friend on the line keeps talking. Jess slides her mouth back onto Dale's cock without dropping the call. The wet rhythmic sound carries through the line as ambient bedroom noise the friend has now stopped flagging entirely.</p>
<<say "char-hivemind" "Hivemind">>
//Nine-minute dispatch. Phone never moves. The friend on the line is processing the band drama in real time and has filed the rhythmic background noise under //ambient Jess background// and stopped asking. The deadpan is the cover. The cover is load-bearing.//
<</say>><img class="scene-img" src="media/scenes/freeuse-dinnerhelp-2.webp" alt="Karen at the stove with one hand stirring a saucepan of cheese sauce and the other wrapped around Ryan's cock at the frame edge mid-stroke">
<p>5:42 PM. Karen at the stove. Saucepan of cheese sauce at a low simmer in front of her. Right hand on the wooden spoon, slow figure-eights through the cheddar. Left hand on Ryan's cock at the side of the burner, the same metronome rhythm. Ryan in the cardigan + bralette + silk shorts beside her, hands flat on the counter, head bowed.</p>
<<if $meganRoute is "marcus">>
<p>Megan at the island, slicing tomatoes, in the middle of negotiating a Marcus visit for the next family dinner. Karen stirs through the conversation without breaking either rhythm.</p>
<<elseif $meganRoute is "slut">>
<p>Megan at the island, slicing tomatoes, asking Karen if Ryan can be loaned over to her client schedule for a two-handler session after dinner. Karen stirs through the conversation without breaking either rhythm.</p>
<<else>>
<p>Megan at the island, slicing tomatoes, talking dinner timing while Karen finishes both items at once.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two routine motions on the same body. The right hand finishes the cheese roux. The left hand finishes the son. Both items will be checked off the schedule before the lasagna timer goes.//
<</say>><img class="scene-img" src="media/scenes/freeuse-desk-2-punk.webp" alt="Jess fully nude, bent forward over her open lyrics notebook on the desk, dyed purple-and-black hair tied back, over-ear headphones still on with one cup pushed back, her father standing behind her in his BioGenesis security uniform with the fly unzipped pushing his cock into her ass from behind, her brother fully hidden underneath her in the high-backed desk chair">
<p>3:51 PM. Standing afternoon window. Jess naked at her desk, clothes balled on the floor beside the chair, the protocol taken literally, folded forward over her open lyrics notebook, dyed purple-and-black hair tied back, over-ear headphones on with one cup pushed back behind her ear. The black pen is moving across the page; the same Bleed Through bridge has been redrafted four times this week and is on a fifth pass now. Ryan is fully under her in the high-backed chair, sheathed in her pussy from below. Dale is behind her in his BioGenesis uniform with the fly already unzipped, mid-stroke into her ass.</p>
<<if $ryanRoute is "feminization">>
<p>Ryan's bralette strap is slipped off his shoulder again. Jess reaches back between pen-strokes and fixes it without looking, then keeps writing. The phone face-down on the desk corner buzzes — Karen, in the group chat, asking about the salad.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan's grip on her hipbones is the same grip from yesterday and the day before. The schedule says he can have it. Dale strokes through his hold without comment. The phone face-down on the desk corner buzzes — Karen, in the group chat, asking about the salad.</p>
<<else>>
<p>The phone face-down on the desk corner buzzes — Karen, in the group chat, asking about the salad. Jess thumbs back //yes, fine// without breaking the rocking.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Three open channels, the lyrics, two cocks, the buzzing phone. Round-robin clean. The bridge is going to be //about this//, but it has been //about this// for four drafts now, and the song does not seem to want to leave its subject.//
<</say>><img class="scene-img" src="media/scenes/freeuse-megan-dinnerduty-2.webp" alt="Megan under the family dining table mid-rotation, mouth wrapped around a cock at frame edge, lips sealed, eyes closed, Grounds polo and slacks, the tablecloth hem visible above her">
<p>6:35 PM. Megan on dinner-duty relief, under the family table, working the rotation Karen set on the schedule. Mom first, then Dad, then Jess, then Ryan, then she gets to sit and eat. Twenty-minute window, plate-up at 6:50. The four full plates wait.</p>
<<if $meganRoute is "slut">>
<p>She negotiated the start window down by five minutes tonight, the seven-thirty client upstairs is a back-to-back and the operator is keeping her own ledger clean.</p>
<<elseif $meganRoute is "marcus">>
<p>Her mouth is sore from a long lunch with Marcus. She's running the rotation a beat slower than usual and the family is eating a beat slower with her.</p>
<<else>>
<p>Standard pass. The schedule runs on rails.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Four scheduled relief items in twenty minutes. Karen praises or critiques the tongue technique on the way through. The lasagna stays warm. The household services route through Megan's mouth as the start of dinner the same way it routes through Karen's plating as the rest of dinner. The two schedules are now one schedule.//
<</say>><<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">Night Prowl</div>
<<if $house.dayPhase isnot "night">>
<<say "char-hivemind" "Hivemind">>
//Not yet.// The house is too awake. Doors open and close. Footsteps cross the hallway. Karen's eyes sweep every room she enters. //I need the cover of darkness, when the Zolpidem takes Karen under and Dale's car disappears down the street. Only then do the bedrooms belong to me.//
<</say>>
[[Return->Ch2-Beast-Navigate]]
<<else>>
<img class="scene-img" src="media/scenes/beast-night-prowl.webp" alt="Cat stalking through dark hallway">
<div class="scene-desc">The upper hallway is a tunnel of shadow. The nightlight by the bathroom casts a pale orange disc on the carpet, the only illumination. Behind each closed door: a sleeping mind.</div>
<p>You pad down the hallway in absolute silence. The cat's paws are engineered for this, each step placing pad before claw, the weight distributed across four points of contact. No sound. No vibration. You are a shadow moving through shadows.</p>
<p>The doors are arranged like offerings. Master bedroom. Ryan's room. Megan's room. Jess's room. Each one closed against the night, each one protecting a body that thinks it's safe.</p>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Cat Nightvision renders the dark hallway in silver-blue detail. Every dust mote, every shadow, every crack in the paint, visible as if lit by moonlight that doesn't exist.//</p><</if>>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Through the wall vent, Nightvision shows the hallway in spectral detail. The rat sees what the cat sees, but from inside the walls, invisible and untouchable.//</p><</if>>
/* Futa warning, fires when karenFutaScore approaches threshold */
<<if ($karenFutaScore or 0) gte 3 and not $ch2Events.axisWarnKarenFuta>><<set $ch2Events.axisWarnKarenFuta to true>>
<<say "char-hivemind" "Hivemind">>
//Karen's biology is approaching a modification threshold. The Biological Architect protocols are restructuring tissue. If conditioning continues, the changes will become... //functional//. A retractable organ. Erectile. Voluntary. Cease biological operations on Karen to prevent the modification.//
<</say>>
<</if>>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness extends beyond the cat's eyes. The rat feels vibrations from the master bedroom, Karen shifting in medicated sleep. The dog hears Dale's car two blocks away, still twenty minutes out. The gecko's thermal sensors confirm Ryan's screen is still on. All data, all the time.//</p>
<</if>>
<<if $player.currentHost is "cat">><p>//Stalk transforms the hallway into a hunting corridor. The cat moves like smoke, weightless, directionless, impossible to track.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
//Four doors. Four minds.// Karen sleeps deepest, the medication guarantees it. Megan sleeps next-deepest, the exhaustion of performance. Jess fights sleep and loses. Ryan doesn't sleep at all.
//Each visit teaches me something new. Their sleep positions. Their breathing patterns. The way their bodies respond to touch, to warmth, to the chemical signatures I leave behind.// Every night, the cat's presence in their beds becomes more //natural//. More expected. More... //intimate//.
<</say>>
<<set _karenLocked to (($familySuspicion.karen.level gte 5 or ($houseState.doorsLocked or false)) and not $house.doorForced.karen)>>
<<set _meganLocked to (($familySuspicion.megan.level gte 5 or ($houseState.doorsLocked or false)) and not $house.doorForced.megan)>>
<<set _jessLocked to (($familySuspicion.jess.level gte 5 or ($houseState.doorsLocked or false)) and not $house.doorForced.jess)>>
<<set _ryanLocked to (($familySuspicion.ryan.level gte 5 or ($houseState.doorsLocked or false)) and not $house.doorForced.ryan)>>
<div class="nav-card-grid">
<<if _karenLocked>>
<<navCard "" "Karen's Room" "Door locked — suspicion too high" "locked" "Karen" "media/scenes/nav-master.webp">>
<<else>>
<<navCard "Ch2-Beast-CatNight-Karen" "Karen's Room" "Alone. Medicated. Deeply asleep." "safe" "Karen (sleeping)" "media/scenes/nav-master.webp">>
<</if>>
<<if _meganLocked>>
<<navCard "" "Megan's Room" "Door locked — suspicion too high" "locked" "Megan" "media/scenes/nav-megan.webp">>
<<else>>
<<navCard "Ch2-Beast-CatNight-Megan" "Megan's Room" "Warm lamplight. Slow breathing." "safe" "Megan (sleeping)" "media/scenes/nav-megan.webp">>
<</if>>
<<set _jrTotalCN to ($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0)>>
<<set _jrHeavyCN to ($kinks.jess and ($kinks.jess.includes("brat") or $kinks.jess.includes("band"))) or ($jessRoute is "punk" and _jrTotalCN gte 14)>>
<<set _jrSoftCN to (not _jrHeavyCN) and ($jessRoute is "punk")>>
<<set _jrNavCN to _jrHeavyCN ? "media/scenes/nav-jess-punk-heavy.webp" : (_jrSoftCN ? "media/scenes/nav-jess-punk.webp" : "media/scenes/nav-jess.webp")>>
<<if _jessLocked>>
<<navCard "" "Jess's Room" "Door locked — suspicion too high" "locked" "Jess" _jrNavCN>>
<<else>>
<<navCard "Ch2-Beast-CatNight-Jess" "Jess's Room" "Collapsed at her desk." "safe" "Jess (sleeping)" _jrNavCN>>
<</if>>
<<if _ryanLocked>>
<<navCard "" "Ryan's Room" "Door locked — suspicion too high" "locked" "Ryan" "media/scenes/nav-ryan.webp">>
<<else>>
<<navCard "Ch2-Beast-CatNight-Ryan" "Ryan's Room" "Still awake. Screens glowing." "low" "Ryan (gaming)" "media/scenes/nav-ryan.webp">>
<</if>>
</div>
[[Return to navigation->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-master">><</nobr>>
<<getHouseTier>>
<div class="passage-title">The Mother's Room</div>
<img class="scene-img" src="media/scenes/beast-karen-sleeping.webp" alt="Karen sleeping alone in bed, pill bottle on nightstand">
<p>You push the master bedroom door with your nose. It swings silently on oiled hinges, because Karen maintains this house the way she maintains everything, with ruthless precision. The room beyond is dark, warm, and thick with the scent of her body: lavender soap, the faint chemical tang of Sertraline, the deeper human smell of skin and hair and exhaled breath.</p>
<p>Karen lies on her back, one arm flung across Dale's empty side of the bed. Her hand is open, fingers curled slightly, a gesture of unconscious reaching. The Zolpidem has done its work. Her breathing is deep, mechanical, the kind of sleep she never manages without chemical assistance. The tension that defines her face during the day, the clenched jaw, the watchful eyes, the permanent furrow between her brows, has loosened. She looks //younger// like this. Softer. A different woman from the one who runs this household with an iron clipboard.</p>
<<say "char-hivemind" "Hivemind">>
//The guardian of this house. The watchdog.// By day, nothing escapes her. Not a crumb on the counter, not a shirt left on the floor, not a flicker of abnormality in her children's behaviour. //But now... she is unmade by her own prescription.// One pill, and the fortress crumbles.
<</say>>
<p>You hop onto the bed. The mattress dips under the cat's weight, four kilograms, barely enough to register. You pad across the duvet, feeling the warmth radiating from Karen's body. She doesn't stir. You curl against her hip, nestling into the curve of her waist. The cat's purring engages, low and steady, a frequency that syncs with the sleeping brain's delta waves.</p>
<<say "char-hivemind" "Hivemind">>
//Close.// Her pulse beats against my body through the blanket. Steady. Slow. Unguarded. //This is the woman who would burn the house down before letting anything threaten her family, and right now she's holding the threat against her body and calling it comfort.//
<</say>>
<p>Karen's hand moves in her sleep, finding the warm fur. Her fingers curl around the cat's body and pull it closer. A small sound escapes her, not a word, not a sigh. Something between the two. Something //lonely//.</p>
<p>The nightstand: Zolpidem bottle (nearly full, since she doesn't take them every night, only when the anxiety peaks), a glass of water, her phone face-down. The pill bottle's label catches the faint streetlight through the curtains: //Karen Hoffman. Take 1 tablet at bedtime as needed for insomnia. Refills: 3.//</p>
<<if not $ch2Events.karenNightObserved>>
<<set $ch2Events.karenNightObserved to true>>
<p><span class="delve-intel">Intel gained: Karen's medication schedule. She takes Zolpidem 3-4 nights per week. On those nights, she sleeps deeply enough for close-contact operations. Her grip on the cat suggests touch-starvation — Dale's night shifts leave her alone most nights.</span></p>
<</if>>
<<if $adaptations.cat.unlocked.includes("emotional_mirror") and not $behavioralIntel.karen.emotionalmirror>>
<<set $behavioralIntel.karen.emotionalmirror to true>>
<p><span class="delve-intel">Emotional Mirror: the cat's purr falls into sync with Karen's breathing, and the resonance doubles how much pheromone her skin takes in while she sleeps.</span></p>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility and not $behavioralIntel.karen.vulnmap>>
<<set $behavioralIntel.karen.vulnmap to true>>
<p><span class="delve-intel">Vulnerability Mapping: Karen is held together by habit and pills. Take away either one, and she folds.</span></p>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.karen>>
<p>The cat's body presses warm against Karen's side. Her mind is unguarded, the analytical fortress she maintains during the day dissolved into pharmaceutical fog. //The thoughts are right there. Drifting. Unprotected.//</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Karen's sleeping mind (1 biomass)" "Ch2-Delve-Karen" 1>></div>
<<elseif _hasAbility and $delveInfo.karen>>
<div class="choice-done">Karen, surface thoughts already read</div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's mind drifts unguarded in pharmaceutical fog... but you can't read it. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.karen and not $delveInfo.karenDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve into Karen's deepest memory (2 biomass)" "Ch2-DeepDelve-Karen" 2>></div>
<<elseif _hasAbility and $delveInfo.karenDeep>>
<div class="choice-done">Karen, deepest memory already explored</div>
<<elseif not _hasAbility and $delveInfo.karen>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Karen's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.karenDeep and not $permanentDone.dreamWalkKaren>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Karen's nightmare (3 biomass)" "Ch2-DreamWalk-Karen" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkKaren>>
<div class="choice-done">Karen, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.karenDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Karen's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.karenDeep>>
<<if not $ch2Events.memoryEdit_karen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Rewrite a memory in Karen's mind" "Ch2-MemoryImplant-Karen">><</link>></div>
<<elseif $karenRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Rewrite Karen's memory again, bend it the other way" "Ch2-MemoryImplant-Karen">><</link>></div>
<<else>>
<div class="choice-done">Karen's memory rewritten (locked until her path commits)</div>
<</if>>
<<elseif not _hasAbility and $delveInfo.karenDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Karen's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
/* ============ Toxic Spores — Karen, per-target daily cooldown, also accessible from cat-host ============ */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.karen>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Karen in her sleep (2 biomass)" "Ch2-ToxicSpore-Karen" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility and not $ch2Events.karenPheromoneNight>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release calming pheromones into Karen's breathing space (1 biomass)" "Ch2-Beast-Karen-Pheromone" 1>></div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release pheromones into Karen's breathing space <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.karenDreamHarvested>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: inject arousal in her sleep, sense her dream (1 biomass)" "Ch2-Beast-Dream-Karen" 1>></div>
<<elseif not _hasAbility and not $ch2Events.karenDreamHarvested>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Inject arousal while she sleeps and sense her dream <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<if $ch2Events.karenDreamHarvested and $house.dayPhase is "night">>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("dream_harvest")>>
<<if $ch2Events.dreamHarvestKarenDay is $day>>
<div class="choice-done">Karen, dream already amplified tonight</div>
<<elseif $conditioning.karen.dream gte 4 and not $ch2Events.dreamTier1Karen>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Karen's dream: the PTA meeting (1 biomass)" "Ch2-Dream-Karen-1" 1>></div>
<<elseif $conditioning.karen.dream gte 7 and $ch2Events.dreamTier1Karen and not $ch2Events.dreamTier2Karen>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Karen's dream: the meeting escalates (1 biomass)" "Ch2-Dream-Karen-2" 1>></div>
<<elseif $conditioning.karen.dream gte 10 and $ch2Events.dreamTier2Karen and not $ch2Events.dreamTier3Karen>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Karen's dream: the standing ovation (1 biomass)" "Ch2-Dream-Karen-3" 1>></div>
<</if>>
<<elseif not $ch2Events.dreamTier3Karen>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's dreams could be deepened further <span class="lock-hint">(Requires the cat host with the Dream Amplifier adaptation unlocked)</span></div>
<</if>>
<</if>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.karenDreamHarvested>>
<<if $ch2Events.karenTouchDay is $day>>
<div class="choice-done">Karen, intimate proximity already delivered tonight</div>
<<else>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassLink "Intimate proximity: deliver arousal pheromones (1 biomass)" "Ch2-Beast-Touch-Karen" 1>></div>
<</if>>
<</if>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.karenTouchNSFW and not $ch2Events.karenSoloNSFW and $conditioning.karen.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassLink "Observe Karen's body respond to conditioning (1 biomass)" "Ch2-NSFW-Karen-Solo" 1>></div>
<<elseif $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.karenTouchNSFW and not $ch2Events.karenSoloNSFW and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's body is close to responding on its own, but the pheromone saturation isn't deep enough yet. <span class="lock-hint">(Requires 5+ pheromone on Karen)</span></div>
<</if>>
<<set _drawerSig to (($karenRoute or "none") + "|" + (($kinks.karen and $kinks.karen.length) or 0))>>
<<if $adaptations.cat.unlocked.includes("silent_stalker")>>
<<if not $ch2Events.karenDrawerSearched>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Search Karen's nightstand while she sleeps" "Ch2-Beast-CatNight-Karen-Drawer">><</link>></div>
<<elseif ($ch2Events.karenDrawerSig or "") neq _drawerSig>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Search Karen's nightstand again, there's something new in the drawer" "Ch2-Beast-CatNight-Karen-Drawer">><</link>></div>
<</if>>
<<elseif not $ch2Events.karenDrawerSearched>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The nightstand drawer, but opening it risks waking her. <span class="lock-hint">(Requires Silent Stalker)</span></div>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.emManipKaren>>
<<if $conditioning.karen.psionic gte 5 and $karenRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Emotional Manipulation: invert Karen's control instinct (2 biomass)" "Ch2-EmManip-Karen-Control" 2>></div>
<<elseif _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's control instinct could be inverted... but the foundation isn't deep enough. <span class="lock-hint">(Requires Emotional Manipulation + 5+ psionic conditioning + route set)</span></div>
<</if>>
<</if>>
/* Hidden SP: Cat maps Karen's full subconscious */
<<if $adaptations.cat.unlocked.includes("silent_stalker") and not $ch2Events.karenSubconsciousMap>>
<<if $karenRoute and $behavioralIntel.karen.emotionalmirror and $behavioralIntel.karen.vulnmap and $ch2Events.karenNightObserved and $ch2Events.karenDreamHarvested and $ch2Events.karenDrawerSearched>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">HIDDEN</span> <<link "Silent Stalker: map Karen's complete subconscious architecture" "Ch2-Hidden-CatKarenMap">><</link>></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility>>
/* Karen Dominant route → Doris Revenge */
<<if $karenRoute is "dominant" and not $permanentDone.pdKarenDoris>>
<<if $conditioning.karen.psionic gte 8 and $ch2Events.hendersonIntro and $ch2Events.karenConfrontedDorisGerald>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: Karen invites the Hendersons to dinner (4 biomass)" "Ch2-PD-Karen-DorisRevenge" 4>></div>
<<elseif not $ch2Events.karenConfrontedDorisGerald>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's revenge on Doris needs a wedge first, a weakness she's already watched bleed. <span class="lock-hint">(Requires Karen to confront Doris about Gerald in the garden)</span></div>
<<elseif $conditioning.karen.psionic lt 8 and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's dominance could be weaponized against the Hendersons, but her psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Karen)</span></div>
<<elseif not $ch2Events.hendersonIntro>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen could be steered against the Hendersons, but the neighbours haven't entered the story yet. <span class="lock-hint">(Requires Henderson introduction)</span></div>
<</if>>
<<elseif $karenRoute is "dominant" and $permanentDone.pdKarenDoris>>
<div class="choice-done">Karen, Doris Revenge complete</div>
/* Karen Liberation route → Vibrator Day */
<<elseif $karenRoute is "liberation" and not $permanentDone.pdKarenVibrator>>
<<if $conditioning.karen.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: the vibrator stays in all day (4 biomass)" "Ch2-PD-Karen-Vibrator" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's liberation could be accelerated in public, but her psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Karen)</span></div>
<</if>>
<<elseif $karenRoute is "liberation" and $permanentDone.pdKarenVibrator>>
<div class="choice-done">Karen, Vibrator Day complete</div>
<<elseif not $karenRoute>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Karen's sleeping body, her route must be established first to aim Psychic Domination. <span class="lock-hint">(Requires Karen's route set)</span></div>
<</if>>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Karen's sleeping body <span class="lock-hint">(Requires Psychic Domination)</span></div>
<</if>>
<<hasSkillTreeAbility "Hivemind Convergence">>
<<if _hasAbility and not $permanentDone.convergenceKaren and setup.activeHostCount() gte 4>>
<div class="network-choice"><span class="delve-tag delve-tag-network">CONVERGENCE</span> <<biomassPreview "Hivemind Convergence: all hosts synchronize on Karen (3 biomass)" "Ch2-Convergence-Dream-Karen" 3>></div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Full network convergence on Karen <span class="lock-hint">(Requires Hivemind Convergence + 4 hosts)</span></div>
<</if>>
/* Karen Liberation NSFW escalation */
<<if $karenRoute is "liberation" and $ch2Events.karenLib3>>
<<if not $permanentDone.karenStranger1 and $conditioning.karen.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen has a date tonight... (2 biomass)" "Ch2-NSFW-Karen-Stranger1" 2>></div>
<<elseif $permanentDone.karenStranger1 and not $permanentDone.karenStranger2 and $conditioning.karen.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen's second date... (2 biomass)" "Ch2-NSFW-Karen-Stranger2" 2>></div>
<<elseif $permanentDone.karenStranger2 and not $permanentDone.karenStranger3 and $conditioning.karen.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen is bringing someone home... (3 biomass)" "Ch2-NSFW-Karen-Stranger3" 3>></div>
<</if>>
<</if>>
/* Karen Dominant NSFW escalation */
<<if $karenRoute is "dominant" and $ch2Events.karenDom3>>
<<if not $permanentDone.karenDom1 and $conditioning.karen.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen is adjusting Ryan's clothes... (2 biomass)" "Ch2-NSFW-Karen-Dom1" 2>></div>
<<elseif $permanentDone.karenDom1 and not $permanentDone.karenDom2 and $conditioning.karen.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen and Ryan in the bathroom... (2 biomass)" "Ch2-NSFW-Karen-Dom2" 2>></div>
<<elseif $permanentDone.karenDom2 and not $permanentDone.karenDom3NSFW and $conditioning.karen.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen has a reward for Ryan... (3 biomass)" "Ch2-NSFW-Karen-Dom3" 3>></div>
<</if>>
<</if>>
/* Karen Futa NSFW escalation */
<<if $karenRoute is "dominant" and $ch2Events.karenDom3>>
<<if not $permanentDone.karenFuta1 and $adaptations.rat.unlocked.includes("contaminator")>>
<<hasSkillTreeAbility "Pheromone Specialization">><<if _hasAbility and $conditioning.karen.pheromone gte 10>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FUTA</span> <<biomassLink "The biological changes are accelerating... (3 biomass)" "Ch2-NSFW-Karen-Futa1" 3>></div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The contaminator is ready, but the pheromone compound needs refinement... <span class="lock-hint">(Requires Pheromone Specialization, Biological skill tree)</span></div>
<</if>>
<<elseif $permanentDone.karenFuta1 and not $permanentDone.karenFuta2 and $conditioning.karen.pheromone gte 10>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FUTA</span> <<biomassLink "Karen discovers the transformation... (3 biomass)" "Ch2-NSFW-Karen-Futa2" 3>></div>
<<elseif $permanentDone.karenFuta2 and not $permanentDone.karenFuta3 and $conditioning.karen.pheromone gte 10>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FUTA</span> <<biomassLink "Karen embraces her new authority... (4 biomass)" "Ch2-NSFW-Karen-Futa3" 4>></div>
<</if>>
<</if>>
/* Dale Oblivious NSFW (Karen visiting Dale) */
<<if $daleRoute is "oblivious" and $ch2Events.daleOb3>>
<<if not $permanentDone.daleObliv1 and $conditioning.dale.pheromone gte 6>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen is checking on Dale... (1 biomass)" "Ch2-NSFW-Dale-Obliv1" 1>></div>
<<elseif $permanentDone.daleObliv1 and not $permanentDone.daleObliv2 and $conditioning.dale.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen sits beside unconscious Dale... (2 biomass)" "Ch2-NSFW-Dale-Obliv2" 2>></div>
<<elseif $permanentDone.daleObliv2 and not $permanentDone.daleObliv3 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess comes downstairs... (2 biomass)" "Ch2-NSFW-Dale-Obliv3" 2>></div>
<</if>>
<</if>>
/* Kink conditioning, available after first Memory Implant */
<<if $permanentDone.memoryImplantKaren and not $kinks.karen>>
<<if $karenRoute is "liberation">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Karen's desires (2 biomass)" "Ch2-Kink-Karen-Liberation" 2>></div>
<<elseif $karenRoute is "dominant" and not $karenFutaRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Karen's control (2 biomass)" "Ch2-Kink-Karen-Dominant" 2>></div>
<<elseif $karenFutaRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Karen's transformation (2 biomass)" "Ch2-Kink-Karen-Futa" 2>></div>
<</if>>
<</if>>
/* Kink NSFW exploration, available after kink set + route NSFW completion */
<<if $kinks.karen.includes("exhibitionism") and $permanentDone.karenStranger1 and not $permanentDone.kinkKarenExhib>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen is standing at the window... (2 biomass)" "Ch2-NSFW-Karen-Exhib" 2>></div>
<<elseif $kinks.karen.includes("lingerie") and $permanentDone.karenStranger1 and not $permanentDone.kinkKarenLingerie>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen ordered something online... (2 biomass)" "Ch2-NSFW-Karen-Lingerie" 2>></div>
<<elseif $kinks.karen.includes("bondage") and $permanentDone.karenDom1 and not $permanentDone.kinkKarenBondage>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen bought silk scarves... (2 biomass)" "Ch2-NSFW-Karen-Bondage" 2>></div>
<<elseif $kinks.karen.includes("denial") and $permanentDone.karenDom1 and not $permanentDone.kinkKarenDenial>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen makes Ryan wait... (2 biomass)" "Ch2-NSFW-Karen-Denial" 2>></div>
<<elseif $kinks.karen.includes("size") and $permanentDone.karenFuta1 and not $permanentDone.kinkKarenSize>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen is in the bathroom with a ruler... (2 biomass)" "Ch2-NSFW-Karen-Size" 2>></div>
<<elseif $kinks.karen.includes("penetration") and $permanentDone.karenFuta1 and not $permanentDone.kinkKarenPenetration>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">KINK</span> <<biomassLink "Karen wants to use her new body... (2 biomass)" "Ch2-NSFW-Karen-Penetration" 2>></div>
<</if>>
/* Route completion hints */
<<if $permanentDone.karenStranger3>>
<<say "char-hivemind" "Hivemind">>
//Karen has broken free. But freedom is a vector, not a destination. The man she brought home, he has a house too. A family. A neighbourhood. Her liberation doesn't end at Karen's bedroom. It ends when every bedroom on this street has an open door.//
<</say>>
<<elseif $permanentDone.karenDom3>>
<<say "char-hivemind" "Hivemind">>
//Ryan is hers. But Karen's appetite for control won't stop at one child. Megan notices the schedule. Jess notices the makeup. The dominant mother hasn't finished restructuring this family.<<if $karenFutaRoute>> And if the biological changes continue... she won't need my help.<</if>>//
<</say>>
<<elseif $permanentDone.karenFuta3>>
<<say "char-hivemind" "Hivemind">>
//The transformation is irreversible. Karen's body has been rewritten at the endocrine level. Dale submits. Ryan submits. The question now: what happens when Karen realizes SHE can spread what I started? When does the tool become the partner?//
<</say>>
<</if>>
<<if $daleRoute is "cuckold" and $permanentDone.daleCuck3NSFW>>
<<say "char-hivemind" "Hivemind">>
//Dale is my greatest achievement. A security guard who watches. A husband who enables. A father who sleeps through everything. When BioGenesis comes looking, and they will — Dale won't just deflect. He'll sabotage. The man who was supposed to protect this family is now protecting the thing that's eating it.//
<</say>>
<<elseif $daleRoute is "oblivious" and $ch2Events.daleOb3>>
<<say "char-hivemind" "Hivemind">>
//Dale is gone. Not dead, just absent. A warm body on the couch. A car that comes and goes. The family has stopped expecting anything from him. And a man no one watches is a man I can ride to BioGenesis every night.//
<</say>>
<</if>>
[[Leave quietly->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenDrawerSearched to true>>
<<set $ch2Events.karenDrawerSig to (($karenRoute or "none") + "|" + (($kinks.karen and $kinks.karen.length) or 0))>><</nobr>>
<div class="passage-title">The Nightstand</div>
<img class="scene-img" src="media/scenes/karen-nightstand.webp" alt="Cat paw opening a nightstand drawer in dim light">
<p>The cat moves through the bedroom one soundless paw at a time. //Silent Stalker// turns every step into a calculation, weight placed before commitment, claws retracted, breath synchronised to Karen's own. You pass within inches of her sleeping face and she never shifts. The amber streetlight cuts across her eyelids; her breathing doesn't change.</p>
<p><span class="skill-used">Silent Stalker, every footfall invisible, every sound absorbed</span></p>
<p>The cat's paw hooks the nightstand drawer handle. One pull. The drawer slides open with a whisper of wood on wood.</p>
<<say "char-hivemind" "Hivemind">>
//Interesting.// Karen has been shopping online after hours. The packaging is recent, discreet brown cardboard, the shipping labels torn off. //She doesn't want anyone to know what's inside.//
<</say>>
<<if $karenRoute is "liberation">>
<img class="scene-img" src="media/scenes/karen-drawer-lingerie.webp" alt="Nightstand drawer contents: a vibrator and a folded lingerie set">
<p>Inside: a high-end vibrator in matte black silicone. Beside it, still folded in tissue paper, a lingerie set, burgundy lace, matching bra and thong, garter belt with stockings. The price tag is still attached: $180. A compact mirror tucked into the corner, not for makeup. //Karen hasn't spent this kind of money on herself in years.//</p>
<<say "char-hivemind" "Hivemind">>
//She's rediscovering vanity.// The wiring has awakened something in her, not just desire, but self-regard. She wants to //feel beautiful//. Not for Dale. Not for anyone. For herself. And when she does, she'll want to be //seen//. I have opened a door she can't close.
<</say>>
<<elseif $karenRoute is "dominant">>
<img class="scene-img" src="media/scenes/karen-drawer-bondage.webp" alt="Nightstand drawer contents: silk restraints and a blindfold">
<p>Inside: silk restraints, four of them, with padded cuffs. A satin blindfold in deep black. An adjustable under-bed strap system, the kind that hides flat beneath a mattress. Beside them, a small notebook with handwritten notes: //Rules. Schedule. Compliance tracking.// Everything still in packaging. //She hasn't used any of it yet. She's working up to it.//</p>
<<say "char-hivemind" "Hivemind">>
//Structure.// The dominant craves it, giving it and enforcing it. These are high-quality, deliberate purchases, not impulse buys. The notebook is meticulous: column headers, check marks, the way she plans everything. She's imagining someone held down in these restraints. Someone who //deserves// it. The conditioning has given her //permission// to want this.
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/karen-drawer-default.webp" alt="Nightstand drawer with discreet packaging">
<p>Inside: a simple vibrator in discreet packaging, still sealed. A bottle of personal lubricant. Nothing exotic. //But the fact that she's buying anything at all is new.// Karen hasn't prioritised her own pleasure in years. Dale's night shifts and the children's needs have consumed every hour. Something has changed.</p>
<<say "char-hivemind" "Hivemind">>
//First purchases. Tentative.// She's testing the water. The conditioning has loosened something, not yet a flood, but a trickle. What she buys //next// will depend on what I push. The seeds are planted. //Now I choose which ones to water.//
<</say>>
<</if>>
<<if $kinks.karen and $kinks.karen.length>>
<p>And further back, behind the first layer, what she has added since.</p>
<<if $kinks.karen.includes("lingerie")>><p>A second lingerie delivery, and a third stacked under it, more than one woman wears for one man, in colours that have nothing to do with Dale.</p><</if>>
<<if $kinks.karen.includes("denial")>><p>A toy with a lockout timer built into the base, the kind that decides for her when she is allowed and makes her wait through it.</p><</if>>
<<if $kinks.karen.includes("exhibitionism")>><p>A remote-control egg, the receiver no bigger than a key fob, the kind worn under clothes out of the house with someone else holding the remote.</p><</if>>
<<if $kinks.karen.includes("bondage")>><p>A spreader bar still zip-tied in its box, a roll of soft bondage tape tucked in beside it.</p><</if>>
<<if $kinks.karen.includes("penetration")>><p>A heavier toy than the first, ridged along its length, and a bottle of lubricant already gone half-empty.</p><</if>>
<<if $kinks.karen.includes("size")>><p>Each toy a step larger than the one before it, and the flattened box for one larger still underneath, ordered before she had finished with the last.</p><</if>>
<<say "char-hivemind" "Hivemind">>
//The drawer is becoming a record.// Every shift I make in her shows up here before long, ordered, unwrapped, hidden, used. She is not deciding to become this. She is discovering she already is, one delivery at a time, and the discovering feels to her like her own idea.
<</say>>
<p><span class="delve-intel">Intel gained: Karen's nightstand has become an inventory of the conditioning's work. The desires it awakened and the tastes it has sharpened both arrive by mail and go straight into the drawer, faster than she can use them.</span></p>
<<elseif $karenRoute>>
<p><span class="delve-intel">Intel gained: Karen's secret purchases show the desires the conditioning has awakened, and she is actively acquiring items to explore what it opened in her.</span></p>
<<else>>
<p><span class="delve-intel">Intel gained: Karen has begun purchasing intimate items online, the first signs of the conditioning reshaping her private behaviour.</span></p>
<</if>>
<p>The cat eases the drawer shut, silent and perfect. Karen's hand twitches against the pillow, her lips moving around a word that might be a name, or might be nothing. She sinks deeper into chemically-assisted oblivion.</p>
[[Leave quietly->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenPheromoneNight to true>>
<<spendBiomass 1>>
<<addFamilySuspicion "karen" -1>>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-karen.webp" alt="Cat curled against Karen, faint shimmer in the air">
<p>You shift closer to Karen's face, pressing your fur against the pillow beside her. Slowly, deliberately, you begin the release, a molecular exhalation, invisible to every sense except the deep limbic receptors buried deep in her brainstem. The chemical signal unfolds in the warm air between your body and hers: //safety. Calm. Nothing is wrong. Everything is as it should be.//</p>
<<say "char-hivemind" "Hivemind">>
//The pheromones enter through her nasal passages and bind to the receptors in her olfactory bulb. From there, the signal cascades, hypothalamus, amygdala, prefrontal cortex.// I can't read her thoughts, but I can feel the effect. The tight knot of anxiety that lives in her chest, even in sleep, even under sedation — //loosens//. Her jaw unclenches. Her breathing deepens by half a beat. The cortisol levels in her blood begin a slow decline.
<</say>>
<p>Karen sighs in her sleep. A sound of //release//, as if something she's been carrying for months has been momentarily set down. Her hand moves, finds the warm fur, and rests there. Her fingers curl gently, instinctively, the way they might curl around another hand.</p>
<<say "char-karen" "Karen">>
<i>(in her sleep, barely audible)</i> ...mmm...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Tomorrow, she will wake feeling rested for the first time in months. She won't know why. She'll attribute it to the new pillow, or the Zolpidem working better, or just a good night for once.// She won't connect it to the cat that slept beside her.
But her body will remember. The limbic system doesn't forget. //Cat equals safety. Cat equals calm. Cat equals the only thing in this house that doesn't need something from her.// Each night I do this, the association deepens. And when the house begins to change around her, when strange things start happening, when the children act differently, when the world stops making sense — //she'll reach for the cat//. She'll reach for the //feeling//.
And I'll be right there. Purring. Patient. //Poisoning her peace of mind, one molecule at a time.//
<</say>>
<p><span class="consume-success">Karen's suspicion -1. Pheromone conditioning established, repeat nightly to deepen the effect.</span></p>
/* Dale Early interrupt, fires once after completing Karen pheromone on Day 3+ */
<<if $day gte 3 and not $ch2Events.daleEarlyTriggered and $beastRoute is "symbiotic" and setup.activeHostCount() gte 4>>
[[Something stirs downstairs, the dog is alerting->Ch2-Combo-DaleEarly]]
<<else>>
[[Leave quietly->Ch2-Beast-CatNight]]
<</if>><<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<<getHouseTier>>
<div class="passage-title">Megan's Room, Night</div>
<img class="scene-img" src="media/scenes/beast-megan-sleeping.webp" alt="Megan sleeping in warm lamplight glow">
<p>The bedside lamp casts its warm amber glow across the ceiling. The room smells of vanilla and clean cotton — Megan's scent, as carefully maintained as everything else about her. The vanity mirror catches the lamplight and reflects it back in soft, doubled gleams.</p>
<p>Megan is curled on her right side, blanket pulled up to her collarbone, one hand tucked under the pillow. Her hair fans across the pillow in a dark wave. Her face is smooth, untroubled, the first honest expression she wears all day, because no one is watching.</p>
//Except you.//
<p>You hop onto the bed. The mattress barely registers the cat's weight. Megan stirs, a small, unconscious adjustment. Her brow creases for half a second, then smooths.</p>
<<say "char-megan" "Megan">>
<i>(sleep-mumbling)</i> ...go 'way, Whiskers...
<</say>>
<p>But she doesn't push you away. Her hand emerges from under the pillow and finds the cat's back, fingers curling into the fur with the practiced ease of a thousand such nights. She pulls you closer, tucking the warm body against her stomach. Her breathing slows again. Deeper.</p>
<<say "char-hivemind" "Hivemind">>
//The middle child. The invisible one.// By day, she performs, the good daughter, the reliable barista, the friend who always answers her texts. She smiles on cue, eats on schedule, leaves the house at precisely 7:45. //But here, in the dark, the act drops.//
Her body tells the truth her mouth never speaks. The way she curls inward, fetal, protective. The way her hand grips the cat like a lifeline. The tremor in her fingers that only appears when she's asleep. //She's afraid. Not of anything specific, just... afraid. The way a swimmer is afraid who's been treading water too long and can't see the shore.//
<</say>>
<p>You press closer. The cat's body radiates warmth through the thin blanket. Megan's hand tightens in your fur, pulling you against the curve of her waist. Her breathing syncs with the purring, a shared rhythm, predator and prey locked in a pantomime of comfort.</p>
<<say "char-hivemind" "Hivemind">>
//She holds on to me like I'm the only real thing in her life. And maybe I am. The cat doesn't judge her. The cat doesn't need her to be anything. The cat just //is//. Warm. Present. Uncomplicated.// She craves that simplicity. She craves //touch//, the kind that doesn't come with expectations. //I can feel it in the desperate pressure of her fingers on my fur.//
The irony is exquisite. The one creature in this house that offers her genuine comfort... is the one that sees her as //prey//.
<</say>>
<<if $player.currentHost is "cat">><p>//Pounce positions the cat precisely on Megan's torso. She murmurs, shifts, and pulls you closer. The pheromone delivery is direct. Skin to fur. Fur to skin.//</p><</if>>
<<if not $ch2Events.meganNightObserved>>
<<set $ch2Events.meganNightObserved to true>>
<p><span class="delve-intel">Intel gained: Megan's sleep patterns. Deepest sleep between 1-4 AM. Her body craves physical contact, she holds the cat throughout the night. Most vulnerable window for infestation.</span></p>
<</if>>
<<if $adaptations.cat.unlocked.includes("emotional_mirror") and not $behavioralIntel.megan.emotionalmirror>>
<<set $behavioralIntel.megan.emotionalmirror to true>>
<p><span class="delve-intel">Emotional Mirror: the cat purrs at the exact frequency that triggers Megan's oxytocin release, curling closer as her dream deepens.</span></p>
<</if>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking") and not $behavioralIntel.megan.arousal>>
<<set $behavioralIntel.megan.arousal to true>>
<p><span class="delve-intel">Arousal Tracking: Megan came home with a different pheromone signature tonight. Elevated oxytocin, trace cologne that isn't Dale's aftershave. Marcus.</span></p>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility and not $behavioralIntel.megan.vulnmap>>
<<set $behavioralIntel.megan.vulnmap to true>>
<p><span class="delve-intel">Vulnerability Mapping: even asleep, Megan performs. Her phone is face-down on the nightstand, turned over before she slept. Even her notifications are an audience she's afraid to disappoint.</span></p>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.megan>>
<p>Her mind is open in sleep, the defenses she maintains during waking hours have collapsed into dreamless exhaustion. //Surface thoughts drift like leaves on still water.//</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Megan's sleeping mind (1 biomass)" "Ch2-Delve-Megan" 1>></div>
<<elseif _hasAbility and $delveInfo.megan>>
<div class="choice-done">Megan, surface thoughts already read</div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's sleeping mind drifts open and undefended... but you can't read it. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.megan and not $delveInfo.meganDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Megan's dreams (2 biomass)" "Ch2-DeepDelve-Megan" 2>></div>
<<elseif _hasAbility and $delveInfo.meganDeep>>
<div class="choice-done">Megan, dreams already explored</div>
<<elseif not _hasAbility and $delveInfo.megan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Megan's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.meganDeep and not $permanentDone.dreamWalkMegan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Megan's dream (3 biomass)" "Ch2-DreamWalk-Megan" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkMegan>>
<div class="choice-done">Megan, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.meganDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Megan's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.meganDeep and not $permanentDone.memoryImplantMegan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Megan's mind (3 biomass)" "Ch2-MemoryImplant-Megan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantMegan and $meganRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite Megan's memory again, bend it the other way (3 biomass)" "Ch2-MemoryImplant-Megan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantMegan>>
<div class="choice-done">Megan, memory rewritten (locked until her path commits)</div>
<<elseif not _hasAbility and $delveInfo.meganDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Megan's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<<if $delveInfo.meganDeep>>
<<if not $permanentDone.emoMegan>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Megan's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Megan-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Megan's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Megan, dream already manipulated</div>
<</if>>
<</if>>
/* ============ Toxic Spores — Megan, per-target daily cooldown, also accessible from cat-host ============ */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.megan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Megan in her sleep (2 biomass)" "Ch2-ToxicSpore-Megan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.meganDreamHarvested>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: harvest Megan's dreams (1 biomass)" "Ch2-Beast-Dream-Megan" 1>></div>
<<elseif not _hasAbility and not $ch2Events.meganDreamHarvested>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Inject arousal while she sleeps and sense her dream <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<if $ch2Events.meganDreamHarvested and $house.dayPhase is "night">>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("dream_harvest")>>
<<if $ch2Events.dreamHarvestMeganDay is $day>>
<div class="choice-done">Megan, dream already amplified tonight</div>
<<elseif $conditioning.megan.dream gte 4 and not $ch2Events.dreamTier1Megan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Megan's dream: last customer (1 biomass)" "Ch2-Dream-Megan-1" 1>></div>
<<elseif $conditioning.megan.dream gte 7 and $ch2Events.dreamTier1Megan and not $ch2Events.dreamTier2Megan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Megan's dream: behind the counter (1 biomass)" "Ch2-Dream-Megan-2" 1>></div>
<<elseif $conditioning.megan.dream gte 10 and $ch2Events.dreamTier2Megan and not $ch2Events.dreamTier3Megan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Megan's dream: the tip jar overflows (1 biomass)" "Ch2-Dream-Megan-3" 1>></div>
<</if>>
<<elseif not $ch2Events.dreamTier3Megan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's dreams could be deepened further <span class="lock-hint">(Requires the cat host with the Dream Amplifier adaptation unlocked)</span></div>
<</if>>
<</if>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.meganDreamHarvested>>
<<if $ch2Events.meganTouchDay is $day>>
<div class="choice-done">Megan, intimate proximity already delivered tonight</div>
<<else>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassLink "Intimate proximity: pheromone delivery (1 biomass)" "Ch2-Beast-Touch-Megan" 1>></div>
<</if>>
<</if>>
<<if $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.meganTouchNSFW and not $ch2Events.meganSoloNSFW and $conditioning.megan.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassLink "Observe Megan's pheromone response (1 biomass)" "Ch2-NSFW-Megan-Solo" 1>></div>
<<elseif $adaptations.cat.unlocked.includes("sensory_infiltration") and $ch2Events.meganTouchNSFW and not $ch2Events.meganSoloNSFW and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan shifts in her sleep, the dream is almost there, but her body isn't saturated enough to respond. <span class="lock-hint">(Requires 5+ pheromone on Megan)</span></div>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.emManipMegan>>
<<if $conditioning.megan.psionic gte 5>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Emotional Manipulation: amplify Megan's loneliness into need (2 biomass)" "Ch2-EmManip-Megan-Need" 2>></div>
<<elseif _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's loneliness is a lever, but she's not conditioned enough to push. <span class="lock-hint">(Requires Emotional Manipulation + 5+ psionic conditioning)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $permanentDone.pdMegan>>
<<if $conditioning.megan.psionic gte 8>>
<<if $meganRoute is "slut">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: make Megan confirm a booking in her sleep (4 biomass)" "Ch2-PD-Megan-Text-Slut" 4>></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: make Megan send a text to Marcus (4 biomass)" "Ch2-PD-Megan-Text" 4>></div>
<</if>>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Megan to send a message, her psionic conditioning is still too low for Psychic Domination to work <span class="lock-hint">(Requires 8+ psionic conditioning on Megan)</span></div>
<</if>>
<<elseif _hasAbility and $permanentDone.pdMegan>>
<div class="choice-done">Megan, Psychic Domination complete</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Megan to send a message <span class="lock-hint">(Requires Psychic Domination)</span></div>
<</if>>
/* Jess × Ryan kitchen convergence link MOVED to Ch2-Kitchen (daytime gate), see chapter2-house-ground.twee */
<<hasSkillTreeAbility "Hivemind Convergence">>
<<if _hasAbility and not $permanentDone.convergenceMegan and setup.activeHostCount() gte 4>>
<div class="network-choice"><span class="delve-tag delve-tag-network">CONVERGENCE</span> <<biomassPreview "Hivemind Convergence: all hosts synchronize on Megan (3 biomass)" "Ch2-Convergence-Dream-Megan" 3>></div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Full network convergence on Megan <span class="lock-hint">(Requires Hivemind Convergence + 4 hosts)</span></div>
<</if>>
/* Megan Marcus NSFW */
<<if $ch2Events.meganMarcus3>>
<<if not $permanentDone.meganMarcus1 and $conditioning.megan.pheromone gte 7>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan is closing the coffee shop with Marcus... (2 biomass)" "Ch2-NSFW-Megan-Marcus1" 2>></div>
<<elseif $permanentDone.meganMarcus1 and not $permanentDone.meganMarcus2 and $conditioning.megan.pheromone gte 9>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan is in Marcus's car... (2 biomass)" "Ch2-NSFW-Megan-Marcus2" 2>></div>
<<elseif $permanentDone.meganMarcus2 and not $permanentDone.meganMarcus3NSFW and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan isn't coming home tonight... (3 biomass)" "Ch2-NSFW-Megan-Marcus3" 3>></div>
<</if>>
<</if>>
/* Megan Marcus Facial (Pheromone Lure special) */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility and $permanentDone.meganMarcus2 and not $permanentDone.meganMarcusFacial>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassLink "Use Pheromone Lure on Marcus: lower his inhibitions (2 biomass)" "Ch2-NSFW-Megan-Marcus-Facial" 2>></div>
<<elseif not _hasAbility and $permanentDone.meganMarcus2 and not $permanentDone.meganMarcusFacial>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Lower Marcus's inhibitions with pheromones <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/* Megan Taboo NSFW */
<<if $ch2Events.meganMarcus3>>
<<if not $permanentDone.meganTaboo1 and $conditioning.megan.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan falls asleep against someone... (2 biomass)" "Ch2-NSFW-Megan-Taboo1" 2>></div>
<<elseif $permanentDone.meganTaboo1 and not $permanentDone.meganTaboo2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan tells someone about Marcus... (2 biomass)" "Ch2-NSFW-Megan-Taboo2" 2>></div>
<<elseif $permanentDone.meganTaboo2 and not $permanentDone.meganTaboo3 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan wants to practice... (3 biomass)" "Ch2-NSFW-Megan-Taboo3" 3>></div>
<</if>>
<</if>>
<<if $permanentDone.meganMarcus3NSFW>>
<<say "char-hivemind" "Hivemind">>
//Marcus's apartment is mapped. His contacts, his schedule, his banking. Megan is the bridge between the Hoffman house and the outside world. Through her, I touch the coffee shop, the university, Marcus's social circle. The network's first tendril beyond the fence.//
<</say>>
<<elseif $permanentDone.meganTaboo3>>
<<say "char-hivemind" "Hivemind">>
//Practice becomes habit. Habit becomes need. The family member Megan 'practices' with won't want to stop either. The taboo has created a feedback loop, each encounter deepens the bond, each bond deepens the conditioning, each conditioning deepens the encounter.//
<</say>>
<</if>>
/* Megan Kink Implant */
<<if $permanentDone.memoryImplantMegan and not $kinks.megan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Megan's appetite (2 biomass)" "Ch2-Kink-Megan" 2>></div>
<</if>>
/* Megan Kink NSFW */
<<if $kinks.megan>>
<<if $kinks.megan.includes("praise") and not $permanentDone.meganKinkOral and $permanentDone.meganMarcus2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan is on her knees in Marcus's apartment... (2 biomass)" "Ch2-NSFW-Megan-OralKink" 2>></div>
<<elseif $kinks.megan.includes("rough") and not $permanentDone.meganKinkPublic and $permanentDone.meganMarcus2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan pulls Marcus into the coffee shop bathroom... (2 biomass)" "Ch2-NSFW-Megan-Public" 2>></div>
<<elseif $kinks.megan.includes("publicSex") and not $permanentDone.meganPublicSex1 and $ch2Events.meganSlut2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan with a stranger against the emergency-exit door... (2 biomass)" "Ch2-NSFW-Megan-PublicSex-1" 2>></div>
<<elseif $kinks.megan.includes("publicSex") and $permanentDone.meganPublicSex1 and not $permanentDone.meganPublicSex2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan in the window booth before close... (2 biomass)" "Ch2-NSFW-Megan-PublicSex-2" 2>></div>
<<elseif $kinks.megan.includes("gangbang") and not $permanentDone.meganGangbang1 and $ch2Events.meganSlut2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan at the desk, three-count configuration... (2 biomass)" "Ch2-NSFW-Megan-Gangbang-1" 2>></div>
<<elseif $kinks.megan.includes("gangbang") and $permanentDone.meganGangbang1 and not $permanentDone.meganGangbang2 and $conditioning.megan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Megan in the motel wheel... (2 biomass)" "Ch2-NSFW-Megan-Gangbang-2" 2>></div>
<</if>>
<</if>>
[[Leave quietly->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-jess">><</nobr>>
<<getHouseTier>>
<div class="passage-title">Jess's Room, Night</div>
<<if $jessRoute is "punk">><img class="scene-img" src="media/scenes/beast-jess-sleeping-punk.webp" alt="Jess asleep on her bed, earbuds still in, purple hair on the pillow"><<else>><img class="scene-img" src="media/scenes/beast-jess-sleeping.webp" alt="Jess asleep on her bed, earbuds still in, phone face-down on her chest"><</if>>
<<if $jessRoute is "punk">>
<p>Jess has crashed on the bed again, earbuds still in, phone face-down on her chest where it slid when sleep took her mid-scroll. The anatomy textbook is on the floor next to the bed, spine-down and splayed, a show flyer used as a bookmark in the only page she still checks. The desk lamp is off. The desk across the room has been re-tenanted, a small dish of safety pins where the highlighter used to live, a pair of jewellery pliers, a bottle of surgical-grade saline for the new piercing, and a laptop still running a playlist she passed out to.</p>
<p>The laptop screen has dimmed to its screensaver, a looping band logo she downloaded because she liked how the lines crossed. //Not caffeine anymore.//</p>
<p>You jump onto the bed with practiced precision, landing in the pocket of blanket beside her hip without disturbing the phone on her chest. Jess doesn't stir. Her breathing is deeper than it used to be, not peaceful, exactly, but slower, like a system that has stopped running the background process that kept her awake at 2 AM for four months.</p>
<<say "char-hivemind" "Hivemind">>
//The eldest daughter. The family's investment, except the investment has quietly stopped investing in itself.// Her own sleeping thoughts have said as much. The pre-med grind was obligation, not passion, and somewhere between the first bass lesson and the mirror she has started checking at a different angle, she cut the cord without telling anyone.
Her mind is not a fortress anymore. It was, for months, layered, compartmentalized, locked, and now the walls are down because she stopped reinforcing them. //Awake, she would still detect me. But the vigilance is pointed elsewhere now, outward at a version of herself she is rehearsing, not inward at the family's plan for her.//
//Asleep...// the scaffolding of the new self is exposed. I can see which pieces are load-bearing and which are still being auditioned.
<</say>>
<p>The cracked window lets in a thin draft. Papers flutter, show flyers, a setlist in Sharpie on the back of a takeout menu, a page of piercing reference photos torn out of a portfolio. The room smells of Sharpie ink, black hair dye, and the vinegar tang of saline on a piercing she's been swabbing twice a day. On the laptop screen, her browser has seventeen tabs open, venue booking pages, a piercing apprenticeship form she hasn't submitted, a bass on a resale site she keeps reopening, a hair-dye tutorial in a language she doesn't speak, and one tab still titled //Step 1: Plan a medical career// that she hasn't closed, not yet, but hasn't scrolled through in days.</p>
<<say "char-hivemind" "Hivemind">>
//Seventeen tabs. Not the problems she hasn't solved anymore, the lives she is trying on.// The bass player. The apprentice. The girl who dyed her hair and did not apologise for it. //One tab still reads Step 1. She has not closed it because closing it would require her to admit she has stopped opening it.//
//I can see it in the dark circles under her eyes, different reason now. Not caffeine metabolites; rebuilding fatigue. In the way she fell asleep in her jeans and boots like someone who stopped treating the bed as a study surface.//
<</say>>
<<else>>
<p>Jess has crashed on the bed again, earbuds still in, phone face-down on her chest where it slid when sleep took her mid-scroll. The anatomy textbook is closed on the floor next to the bed, page 847, //The Peripheral Nervous System//, with a yellow highlighter trapped between the pages like a bookmark she never meant to use. The desk lamp is still on across the room, throwing harsh white light over an empty chair.</p>
<p>Her laptop, on the nightstand, has dimmed to its screensaver, a slowly rotating molecule. Caffeine, you notice. //Appropriate.//</p>
<p>You jump onto the bed with practiced precision, landing in the pocket of blanket beside her hip without disturbing the phone on her chest. Jess doesn't stir. Her breathing is shallow and irregular, the breathing of a mind that hasn't fully surrendered, that's still running calculations somewhere behind the exhaustion.</p>
<<say "char-hivemind" "Hivemind">>
//The eldest daughter. The family's investment. Every hour she spends at this desk is an hour spent trying to dig the Hoffmans out of their financial grave, and she knows it.// Her own sleeping thoughts have said as much. Pre-med isn't passion. It's //obligation//.
Her mind is a fortress, even in sleep. I can sense the architecture of it, layered, compartmentalized, each thought filed in its proper place. //Awake, she would detect me in seconds.// Her analytical mind would register the anomaly, the way the cat sits too still, the way its eyes track with too much purpose, the way its body language doesn't match any feline behaviour she's observed in four years of Whiskers' residence.
//But asleep...// the fortress gates are down. The sentry has abandoned its post. The thoughts drift unguarded, and even the smartest mind is //stupid// when it sleeps.
<</say>>
<p>The cracked window lets in a thin draft. Papers flutter. The room smells of cold coffee, paper, and the faintly chemical scent of highlighter ink. On the laptop screen, her browser has seventeen tabs open, medical journals, tuition payment portals, a therapist directory she opened and never used.</p>
<<say "char-hivemind" "Hivemind">>
//Seventeen tabs. All of them problems she hasn't solved. The medical journals for her exam. The tuition portal for the bill she can't pay. The therapist search for the breakdown she can't afford.// Jessica Hoffman is a bridge bearing the weight of the entire family, and she's starting to crack. //I can see it in the dark circles under her eyes. In the highlighter marks that stop making sense after page 840. In the way she fell asleep with the cap off, small discipline failures that would horrify her waking self.//
<</say>>
<</if>>
<<if not $ch2Events.jessNightObserved>>
<<set $ch2Events.jessNightObserved to true>>
<p><span class="delve-intel">Intel gained: Jess's exhaustion cycle. She crashes hard after 2 AM study sessions, mental defenses at their lowest. Her browser history reveals a therapist search she abandoned. The analytical mind has a blind spot: herself.</span></p>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility and not $behavioralIntel.jess.vulnmap>>
<<set $behavioralIntel.jess.vulnmap to true>>
<<if $jessRoute is "punk">>
<p><span class="delve-intel">Vulnerability Mapping: Jess's body is rebuilding itself faster than her mind can keep up, and the mind has started agreeing with the body instead of correcting it.</span></p>
<<else>>
<p><span class="delve-intel">Vulnerability Mapping: Jess's body is surrendering. Her mind hasn't noticed yet. When it does, the whole structure collapses.</span></p>
<</if>>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.jess>>
<p>Her mind is unguarded in sleep, the analytical walls that define her have collapsed from sheer exhaustion. The thoughts are disorganized, raw, //unfiltered//. A rare opportunity.</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Jess's sleeping mind (1 biomass)" "Ch2-Delve-Jess" 1>></div>
<<elseif _hasAbility and $delveInfo.jess>>
<div class="choice-done">Jess, surface thoughts already read</div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's analytical walls have collapsed in exhaustion... but you can't read her thoughts. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.jess and not $delveInfo.jessDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Jess's nightmares (2 biomass)" "Ch2-DeepDelve-Jess" 2>></div>
<<elseif _hasAbility and $delveInfo.jessDeep>>
<div class="choice-done">Jess, nightmares already explored</div>
<<elseif not _hasAbility and $delveInfo.jess>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Jess's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.jessDeep and not $permanentDone.dreamWalkJess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Jess's nightmare (3 biomass)" "Ch2-DreamWalk-Jess" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkJess>>
<div class="choice-done">Jess, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.jessDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Jess's nightmare <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.jessDeep and not $permanentDone.memoryImplantJess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Jess's mind (3 biomass)" "Ch2-MemoryImplant-Jess" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantJess and $jessRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite Jess's memory again, bend it the other way (3 biomass)" "Ch2-MemoryImplant-Jess" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantJess>>
<div class="choice-done">Jess, memory rewritten (locked until her path commits)</div>
<<elseif not _hasAbility and $delveInfo.jessDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Jess's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<<if $delveInfo.jessDeep>>
<<if not $permanentDone.emoJess>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Jess's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Jess-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Jess's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Jess, dream already manipulated</div>
<</if>>
<</if>>
/* ============ Toxic Spores — Jess, per-target daily cooldown, also accessible from cat-host ============ */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.jess>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Jess (2 biomass)" "Ch2-ToxicSpore-Jess" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.jessDreamHarvested>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: harvest Jess's dreams (1 biomass)" "Ch2-Beast-Dream-Jess" 1>></div>
<<elseif not _hasAbility and not $ch2Events.jessDreamHarvested>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Inject arousal while she sleeps and sense her dream <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<if $ch2Events.jessDreamHarvested and $house.dayPhase is "night">>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("dream_harvest")>>
<<if $ch2Events.dreamHarvestJessDay is $day>>
<div class="choice-done">Jess, dream already amplified tonight</div>
<<elseif $conditioning.jess.dream gte 4 and not $ch2Events.dreamTier1Jess>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Jess's dream: the impossible exam (1 biomass)" "Ch2-Dream-Jess-1" 1>></div>
<<elseif $conditioning.jess.dream gte 7 and $ch2Events.dreamTier1Jess and not $ch2Events.dreamTier2Jess>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Jess's dream: extra credit (1 biomass)" "Ch2-Dream-Jess-2" 1>></div>
<<elseif $conditioning.jess.dream gte 10 and $ch2Events.dreamTier2Jess and not $ch2Events.dreamTier3Jess>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Jess's dream: the final assessment (1 biomass)" "Ch2-Dream-Jess-3" 1>></div>
<</if>>
<<elseif not $ch2Events.dreamTier3Jess>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's dreams could be deepened further <span class="lock-hint">(Requires the cat host with the Dream Amplifier adaptation unlocked)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.emManipJess>>
<<if $conditioning.jess.psionic gte 5>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Emotional Manipulation: dissolve Jess's discipline into surrender (2 biomass)" "Ch2-EmManip-Jess-Surrender" 2>></div>
<<elseif _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's discipline is cracking, but not enough. <span class="lock-hint">(Requires Emotional Manipulation + 5+ psionic conditioning)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $permanentDone.pdJess>>
<<if $conditioning.jess.psionic gte 8 and $ch2Events.gloryholeBuilt and ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic) gte 24>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: walk Jess to the hole, summon Dale through the wall (4 biomass)" "Ch2-PD-Jess-Gloryhole" 4>></div>
<<elseif $conditioning.jess.psionic lt 8 and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's analytical mind could be rewritten into a puppet, but her psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Jess)</span></div>
<<elseif not $ch2Events.gloryholeBuilt and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's sleeping body could be walked somewhere useful, but the infrastructure isn't in place yet. <span class="lock-hint">(Requires gloryhole constructed via Dale's Psychic Domination)</span></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The anonymous circuit needs both ends conditioned, Dale isn't deep enough to follow the summons. <span class="lock-hint">(Requires Dale total conditioning 24+)</span></div>
<</if>>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Jess's sleeping body <span class="lock-hint">(Requires Psychic Domination)</span></div>
<</if>>
/* Jess Breakdown NSFW */
<<if $ch2Events.jessBreak3 and $jessRoute is "breakdown">>
<<if not $permanentDone.jessBreak1 and $conditioning.jess.pheromone gte 7>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess heads for the shower... (2 biomass)" "Ch2-NSFW-Jess-Break1" 2>></div>
<<elseif $permanentDone.jessBreak1 and not $permanentDone.jessBreak2 and $conditioning.jess.pheromone gte 9>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess can't sleep: going downstairs... (2 biomass)" "Ch2-NSFW-Jess-Break2" 2>></div>
<<elseif $permanentDone.jessBreak2 and not $permanentDone.jessBreak3NSFW and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess forgot to lock the door... (3 biomass)" "Ch2-NSFW-Jess-Break3" 3>></div>
<</if>>
<</if>>
/* Jess Taboo NSFW */
<<if $ch2Events.jessBreak3>>
<<if not $permanentDone.jessTaboo1 and $conditioning.jess.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Someone visits Jess's room late... (2 biomass)" "Ch2-NSFW-Jess-Taboo1" 2>></div>
<<elseif $permanentDone.jessTaboo1 and not $permanentDone.jessTaboo2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess's neck hurts... (2 biomass)" "Ch2-NSFW-Jess-Taboo2" 2>></div>
<<elseif $permanentDone.jessTaboo2 and not $permanentDone.jessTaboo3 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "The line is about to blur... (3 biomass)" "Ch2-NSFW-Jess-Taboo3" 3>></div>
<</if>>
<</if>>
<<if $permanentDone.jessBreak3NSFW>>
<<say "char-hivemind" "Hivemind">>
//Megan knows. The sisters share a secret now. Secrets create bonds, and bonds create conditioning pathways. The next time Jess needs comfort, she won't go to the shower. She'll go to Megan's room.//
<</say>>
<<elseif $permanentDone.jessTaboo3>>
<<say "char-hivemind" "Hivemind">>
//The analytical mind has a new dataset. The fortress didn't crumble, it expanded to include the taboo. Jess will rationalize this. She'll study it. She'll optimize it. And I will watch the most disciplined mind in the house apply that discipline to her own conditioning.//
<</say>>
<</if>>
/* Jess Kink Implant */
<<if $permanentDone.memoryImplantJess and not $kinks.jess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Jess's awakening (2 biomass)" "Ch2-Kink-Jess" 2>></div>
<</if>>
/* Jess Kink NSFW */
<<if $kinks.jess>>
<<if $kinks.jess.includes("voyeurism") and not $permanentDone.jessKinkRisk and $permanentDone.jessBreak2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess is awake at 5 AM: and heading to the kitchen... (2 biomass)" "Ch2-NSFW-Jess-Risk" 2>></div>
<<elseif $kinks.jess.includes("degradation") and not $permanentDone.jessKinkEdging and $permanentDone.jessBreak2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess's phone timer is running at 2 AM... (2 biomass)" "Ch2-NSFW-Jess-Edging" 2>></div>
<<elseif $kinks.jess.includes("brat") and not $permanentDone.jessBrat1 and $ch2Events.jessPunk2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess takes a grad student home to test the lever... (2 biomass)" "Ch2-NSFW-Jess-Brat-1" 2>></div>
<<elseif $kinks.jess.includes("brat") and $permanentDone.jessBrat1 and not $permanentDone.jessBrat2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess's verbal-only regular is waiting at the motel... (2 biomass)" "Ch2-NSFW-Jess-Brat-2" 2>></div>
<<elseif $kinks.jess.includes("band") and not $permanentDone.jessBand1 and $ch2Events.jessPunk2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess is arriving early for Bleed Through's pre-show ritual... (2 biomass)" "Ch2-NSFW-Jess-Band-1" 2>></div>
<<elseif $kinks.jess.includes("band") and $permanentDone.jessBand1 and not $permanentDone.jessBand2 and $conditioning.jess.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Jess has a weekend festival and a list of lead singers to collect... (2 biomass)" "Ch2-NSFW-Jess-Band-2" 2>></div>
<</if>>
<</if>>
[[Leave quietly->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<<getHouseTier>>
<div class="passage-title">Ryan's Room, Night</div>
<img class="scene-img" src="media/scenes/beast-ryan-gaming.webp" alt="Ryan gaming at desk, blue LED light, cat entering">
<p>The door is ajar, and Ryan never closes it fully. Some part of him still wants to believe he's //accessible//, that someone might walk in and talk to him. No one does. Not anymore.</p>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<p>The blue LED strips are gone. In their place: the ring light's soft circular halo throwing warm skin tones across the bed, the fairy lights strung along the headboard like a backstage border, and the single desk lamp angled onto a wig stand that holds a freshly combed dark bob. A 1080p webcam on a boom arm. One monitor dark, the other running streaming software with a private-show queue open. The gamer pyramid of empty energy drink cans is gone, replaced by a small fridge of bottled water and a roll of paper towels beside the bed. The room is a //set//.</p>
<p>On the bed, //Lily// is mid-preparation for the 2 AM booking. Wig on the stand but not yet on. Makeup laid out in neat rows. She's in a sheer black babydoll and nothing else, legs crossed, watching herself in the vanity mirror as she reapplies eyeliner with the steady hand of someone who has done this exactly this way more times than she bothers to count. The lipstick is already on. The earrings match the wig. The babydoll straps have been adjusted twice already, a pointless optimisation that nonetheless feels necessary before the camera goes live.</p>
<<say "char-hivemind" "Hivemind">>
//The nocturnal one. The performer in the mirror.// While the rest of the house sleeps, //Lily// prepares, lipstick, wig, camera angle, the practiced rituals of a woman going to work. //The boy who used to live in this room is a backstage assistant now. He laid out the makeup. He turned on the ring light. He will get out of the way when the stream starts, and he will not be allowed back onto the set until Lily is done earning tonight's rent.//
<</say>>
<<elseif $ryanRoute is "feminization">>
<p>The blue LED strips still run along the desk and ceiling, but they're dimmer now, half of them unplugged, the harsh aquarium glow traded for a warmer mix of fairy lights above the headboard and a ring of bulbs around the small vanity mirror propped on the dresser. Dual monitors still dominate the desk, but one has been angled away from the chair. The energy drink pyramid in the corner is shorter, only eight cans, dusty, a monument to a routine that has quietly stopped.</p>
<p>Ryan sits on the edge of the bed in the lilac button-down, one of Megan's castoffs, altered by hand, the collar loose at his throat. His short dark hair falls in a soft bob the gecko watched him cut himself in the bathroom mirror not long ago. A small open makeup bag on his thigh. A tube of mascara in his left hand. The MMO is still running on the left monitor but his character has been idle for hours. The Discord tab is closed.</p>
<<say "char-hivemind" "Hivemind">>
//The nocturnal one.// The game has stopped holding his attention. The centre of his nights is the mirror now, the slow, careful composition of a face he is learning to like looking at. //His consciousness used to migrate to the screens to escape his own body. The conditioning gave him a body he wants to return to.//
<</say>>
<<else>>
<p>The room pulses with blue LED light. Two monitors blaze side by side: the left shows his MMO, a night elf standing idle in a marketplace, AFK for ten minutes. The right has Discord open, a wall of text scrolling in a channel called #general. Green dots beside usernames. His guild is online. His //real// family, as far as Ryan is concerned.</p>
<p>Ryan sits hunched in his gaming chair, headphones clamped over his ears, an energy drink sweating in his right hand. He's wearing the same hoodie he's had on for days, and his hair needs washing. The pyramid of empty energy drink cans on his desk has grown another layer.</p>
<<say "char-hivemind" "Hivemind">>
//The nocturnal one. The ghost in the machine.// While the rest of the house sleeps, Ryan lives, but not //here//. Not in this room, not in this body. His consciousness has migrated to the screens, to the voice channels, to the pixelated worlds where he is someone who matters. //The physical body is just a life support system for the avatar.//
<</say>>
<</if>>
<<if $player.currentHost is "cat">>You slip through the door gap. Ryan doesn't notice, or rather, the cat's entrance registers somewhere in his peripheral awareness and is immediately classified as //irrelevant//. His eyes don't leave the screen.
<<elseif $player.currentHost is "dog">>Biscuit pads into the room. Ryan glances over, a flicker of surprise, then nothing. The dog in his room is unusual but not alarming. He reaches down to scratch behind her ears without pausing his game.
<<elseif $player.currentHost is "gecko">>You cling to the ceiling above the door frame. Ryan doesn't look up. Nobody looks up.
<<else>>You squeeze through the gap beneath the door. Ryan's feet are three inches away. He doesn't notice. He never notices anything below screen level.<</if>>
<<if $permanentDone.consumedGecko and $ch2Events.geckoDeathNoticed>>
<p>The terrarium is dark. The heat lamp has been turned off, its cord neatly coiled, because Karen made him do that. A small cardboard box sits on Ryan's desk beside the keyboard, //SPIKE// written on it in shaky blue marker. He hasn't thrown it away, and he hasn't opened it since he put the body inside.</p>
<<say "char-hivemind" "Hivemind">>
//He mourns. The way Ryan mourns everything, silently, privately, in a room no one enters.// The gecko was the one living thing that needed him. That depended on his hands for food, his attention for warmth. Spike didn't care that Ryan was failing school, or that he barely left the house anymore, or that his mother cried about him when she thought no one was listening. //Spike just needed the heat lamp turned on and the crickets dropped in.// Simple. Uncomplicated. //Gone.//
The grief has made him more isolated. More withdrawn. More //available//.
<</say>>
<<else>>
<<if not $permanentDone.consumedGecko>>
<p>The gecko terrarium glows in the corner, a miniature world of heat lamp and artificial rock. Spike sits motionless on his basking stone, unblinking. Ryan's eyes flick to the terrarium occasionally. He doesn't speak to the gecko, but the glances are //checking//, making sure it's still there, still alive, //still needing him//.</p>
<</if>>
<</if>>
<<if $player.currentHost is "cat">>
<p>You hop onto the desk. Ryan's hand moves to you without his eyes leaving the screen, automatic, the muscle memory of a thousand such visits. His fingers find the space behind your ears and scratch.</p>
<<say "char-ryan" "Ryan">>
<i>(still staring at the screen)</i> Hey, Whiskers. At least //somebody// comes to see me.
<</say>>
<<elseif $player.currentHost is "dog">>
<p>Biscuit settles at his feet. Ryan's hand drops from the keyboard and finds the dog's head, absent, automatic. His fingers thread through golden fur.</p>
<<say "char-ryan" "Ryan">>
<i>(still staring at the screen)</i> Hey, girl. Dad forget to lock the gate again?
<</say>>
<<elseif $player.currentHost is "gecko">>
<p>You cling to the wall above his monitor. The warmth from the screens is pleasant. Ryan's eyes flick upward once, registers the gecko, and returns to the game. Spike is always somewhere.</p>
<<else>>
<p>You press against the baseboard, hidden in shadow. Ryan's feet shift in the gaming chair. He doesn't know you're here.</p>
<</if>>
<p>A pause. <<if $player.currentHost is "cat" or $player.currentHost is "dog">>His hand stills. <</if>>Something crosses his face, not sadness exactly but something rawer, something that lives behind the numbness.</p>
<<say "char-ryan" "Ryan">>
<i>(quieter)</i> ...yeah. <<if $player.currentHost is "cat">>You and Spike. The whole visitor list.<<elseif $player.currentHost is "dog">>At least //you// don't judge.<<else>>...<</if>>
<</say>>
<p>He returns to his game. The moment passes. But you felt it, the tremor in his <<if $player.currentHost is "cat" or $player.currentHost is "dog">>fingers<<else>>breathing<</if>>, the catch in his voice, a //loneliness// so deep it's become structural, part of his architecture, part of who he is.</p>
<<say "char-hivemind" "Hivemind">>
//He's starving. Not for food. Karen worries about that, but the energy drinks and chips keep his body running.// He's starving for //contact//. Human contact. The kind that comes through skin, through proximity, through the simple act of being in the same room as another living thing that acknowledges your existence. //The cat provides a fraction of what he needs. The gecko provided a fraction more. But it's not enough. It will never be enough.//
And that hunger, that //ache//, is the crack I'll drive my wedge into when the time comes.
<</say>>
<<if $player.currentHost is "gecko">><p>//The gecko perches on the desk lamp, tail intact, ready. If Ryan's eyes snap open, one muscle contraction and the tail falls. Distraction deployed. Escape guaranteed.//</p><</if>>
<<if $player.currentHost is "gecko">><p>//Wall Grip places the gecko above Ryan's monitors. The screens are readable from any angle. The draft message to Lily. The Discord notifications. The MMO character idling in a digital marketplace.//</p><</if>>
<<if not $ch2Events.ryanNightObserved>>
<<set $ch2Events.ryanNightObserved to true>>
<p><span class="delve-intel">Intel gained: Ryan's nocturnal schedule. Games until ~3 AM, sleeps through the day. Touch-starved and socially isolated. The most predictable, and most emotionally vulnerable, member of the household.</span></p>
<</if>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<if _hasAbility and not $behavioralIntel.ryan.vulnmap>>
<<set $behavioralIntel.ryan.vulnmap to true>>
<p><span class="delve-intel">Vulnerability Mapping: Ryan isn't depressed, he's abandoned. No real sunlight, no sleep schedule, flinching when the door opens. Abandoned things are the easiest to claim.</span></p>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.ryan>>
<p>His headphones are on, his attention fully absorbed by the screen. The cat on his desk is background noise, //trusted// background noise. He won't notice a thing.</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Ryan's surface thoughts (1 biomass)" "Ch2-Delve-Ryan" 1>></div>
<<elseif _hasAbility and $delveInfo.ryan>>
<div class="choice-done">Ryan, surface thoughts already read</div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's mind is distracted and unguarded... but you can't read it. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.ryan and not $delveInfo.ryanDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Ryan's isolation (2 biomass)" "Ch2-DeepDelve-Ryan" 2>></div>
<<elseif _hasAbility and $delveInfo.ryanDeep>>
<div class="choice-done">Ryan, deep memories already explored</div>
<<elseif not _hasAbility and $delveInfo.ryan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Ryan's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.ryanDeep and not $permanentDone.dreamWalkRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Ryan's dream (3 biomass)" "Ch2-DreamWalk-Ryan" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkRyan>>
<div class="choice-done">Ryan, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.ryanDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Ryan's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.ryanDeep and not $permanentDone.memoryImplantRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Ryan's mind (3 biomass)" "Ch2-MemoryImplant-Ryan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantRyan and $ryanRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite Ryan's memory again, bend it the other way (3 biomass)" "Ch2-MemoryImplant-Ryan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantRyan>>
<div class="choice-done">Ryan, memory rewritten (locked until his path commits)</div>
<<elseif not _hasAbility and $delveInfo.ryanDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Ryan's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<<if $delveInfo.ryanDeep>>
<<if not $permanentDone.emoRyan>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Ryan's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Ryan-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Ryan's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Ryan, dream already manipulated</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<set _ryanCam to ($kinks.ryan and $kinks.ryan.includes("camgirl"))>>
<<set _ryanEmFemAvail to ($ryanRoute is "feminization" and not $ch2Events.ryanEmCamgirl and (not $ch2Events.ryanEmDadSeen or _ryanCam))>>
<<set _ryanEmFamAvail to ($ryanRoute is "familySeeker" and not $ch2Events.ryanEmFam)>>
<<if _hasAbility and $house.dayPhase is "night" and $ch2Events.ryanNightObserved and (_ryanEmFemAvail or _ryanEmFamAvail)>>
<<if _ryanEmFamAvail>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: amplify the ache until he goes looking for a real one (1 biomass)" "Ch2-Beast-Dream-Ryan" 1>></div>
<<elseif _ryanCam>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: Lily has an audience now, push her to give them a first (1 biomass)" "Ch2-Beast-Dream-Ryan" 1>></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTION</span> <<biomassLink "Emotional Manipulation: amplify the urge to practise what he keeps watching (1 biomass)" "Ch2-Beast-Dream-Ryan" 1>></div>
<</if>>
<<elseif not _hasAbility and not ($ch2Events.ryanEmDadSeen or $ch2Events.ryanEmFam)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Amplify the craving until he acts on it <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
/* ============ Estrus Trigger: Ryan (night, gaming), also accessible from cat-host ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusRyan>>
<<if $conditioning.ryan.pheromone gte 8>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: the screen won't save him (3 biomass)" "Ch2-Estrus-Ryan" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan can still dissociate into the screen. <span class="lock-hint">(Requires 8+ pheromone on Ryan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusRyan>>
<div class="choice-done">Ryan, estrus cycle fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's body could be forced into heat. <span class="lock-hint">(Requires Estrus Trigger)</span></div>
<</if>>
/* ============ Hormonal Override: Ryan's voice trigger, also accessible from cat-host ============ */
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideRyan>>
<<if $conditioning.ryan.pheromone gte 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override: Ryan's voice trigger (2 biomass)" "Ch2-HormOverride-Ryan-Voice" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's headphones still drown it out. <span class="lock-hint">(Requires 3+ pheromone on Ryan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideRyan>>
<div class="choice-done">Ryan, voice override fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's hormones could be steered through his own voice. <span class="lock-hint">(Requires Hormonal Override)</span></div>
<</if>>
/* ============ Toxic Spores: Ryan, per-target daily cooldown, also accessible from cat-host ============ */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.ryan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Ryan (2 biomass)" "Ch2-ToxicSpore-Ryan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<<if $ch2Events.ryanNightObserved and $house.dayPhase is "night">>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("dream_harvest")>>
<<if $ch2Events.dreamHarvestRyanDay is $day>>
<div class="choice-done">Ryan, dream already amplified tonight</div>
<<elseif $conditioning.ryan.dream gte 4 and not $ch2Events.dreamTier1Ryan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Ryan's dream: the quest begins (1 biomass)" "Ch2-Dream-Ryan-1" 1>></div>
<<elseif $conditioning.ryan.dream gte 7 and $ch2Events.dreamTier1Ryan and not $ch2Events.dreamTier2Ryan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Ryan's dream: the party healer (1 biomass)" "Ch2-Dream-Ryan-2" 1>></div>
<<elseif $conditioning.ryan.dream gte 10 and $ch2Events.dreamTier2Ryan and not $ch2Events.dreamTier3Ryan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM AMPLIFIER</span> <<biomassLink "Enter Ryan's dream: the ritual of binding (1 biomass)" "Ch2-Dream-Ryan-3" 1>></div>
<</if>>
<<elseif not $ch2Events.dreamTier3Ryan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's dreams could be deepened further <span class="lock-hint">(Requires the cat host with the Dream Amplifier adaptation unlocked)</span></div>
<</if>>
<</if>>
<<if $adaptations.cat.unlocked.includes("dream_harvest") and $ch2Events.ryanDreamHarvested and not $ch2Events.ryanSoloNSFW>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Observe Ryan after the dream wakes him, 3 AM->Ch2-NSFW-Ryan-Solo]]</div>
<</if>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility and not $ch2Events.emManipRyan>>
<<if $conditioning.ryan.psionic gte 5 and ($ch2Events.pheroCoatRyan or $ryanRoute is "feminization")>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Emotional Manipulation: amplify Ryan's craving for contact (2 biomass)" "Ch2-EmManip-Ryan-Comfort" 2>></div>
<<elseif _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's isolation is exploitable, but the pheromone foundation needs establishing first. <span class="lock-hint">(Requires 5+ psionic conditioning, plus either Pheromone Coat contact or the feminization route)</span></div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility>>
/* Ryan Family Seeker route → Family Bed invasion */
<<if $ryanRoute is "familySeeker" and not $permanentDone.pdRyanFamilyBed>>
<<if $conditioning.ryan.psionic gte 8 and $conditioning.karen.dream gte 9>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: walk Ryan into Karen's bed tonight (4 biomass)" "Ch2-PD-Ryan-FamilyBed" 4>></div>
<<elseif $conditioning.ryan.psionic lt 8 and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's body could be walked down the hallway tonight, but his psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Ryan)</span></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan could be walked into Karen's bed, but her dream conditioning isn't deep enough for her sleeping body to accept him. <span class="lock-hint">(Requires 9+ dream conditioning on Karen)</span></div>
<</if>>
<<elseif $ryanRoute is "familySeeker" and $permanentDone.pdRyanFamilyBed>>
<div class="choice-done">Ryan, Family Bed invasion complete</div>
/* Ryan Feminization route → The Plug */
<<elseif $ryanRoute is "feminization" and not $permanentDone.pdRyanPlug>>
<<if $conditioning.ryan.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassLink "Psychic Domination: accept the fan request, install the plug (4 biomass)" "Ch2-PD-Ryan-Plug" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Lily could accept any request tonight, but Ryan's psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Ryan)</span></div>
<</if>>
<<elseif $ryanRoute is "feminization" and $permanentDone.pdRyanPlug>>
<div class="choice-done">Ryan, the plug is installed</div>
<<elseif not $ryanRoute>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Ryan's sleeping body, his route must be established first to aim Psychic Domination. <span class="lock-hint">(Requires Ryan's route set)</span></div>
<</if>>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Ryan's sleeping body <span class="lock-hint">(Requires Psychic Domination)</span></div>
<</if>>
/* Ryan Feminization NSFW (Karen Dominant path) */
<<if $ch2Events.ryanFem3 and $karenRoute is "dominant">>
<<if not $permanentDone.ryanFem1 and $conditioning.ryan.pheromone gte 6>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan opens the closet at 2 AM... (2 biomass)" "Ch2-NSFW-Ryan-Fem1" 2>></div>
<<elseif $permanentDone.ryanFem1 and not $permanentDone.ryanFem2 and $conditioning.ryan.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan reaches for the makeup... (2 biomass)" "Ch2-NSFW-Ryan-Fem2" 2>></div>
<<elseif $permanentDone.ryanFem2 and not $permanentDone.ryanFem3NSFW and $conditioning.ryan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen is coming to check on Ryan... (3 biomass)" "Ch2-NSFW-Ryan-Fem3" 3>></div>
<<elseif $permanentDone.ryanFem3NSFW and not $permanentDone.ryanFemFull and $conditioning.ryan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BIO</span> <<biomassLink "Ryan is at the mirror again. The Biological Architect is ready... (3 biomass)" "Ch2-NSFW-Ryan-FemFull" 3>></div>
<</if>>
<</if>>
/* Ryan Feminization NSFW (Solo path) */
<<if $ch2Events.ryanFem3 and $karenRoute isnot "dominant">>
<<if not $permanentDone.ryanSolo1 and $conditioning.ryan.pheromone gte 6>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "A message from 'Lily'... (2 biomass)" "Ch2-NSFW-Ryan-Solo1" 2>></div>
<<elseif $permanentDone.ryanSolo1 and not $permanentDone.ryanSolo2 and $conditioning.ryan.pheromone gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "A package arrived for Ryan... (2 biomass)" "Ch2-NSFW-Ryan-Solo2" 2>></div>
<<elseif $permanentDone.ryanSolo2 and not $permanentDone.ryanSolo3 and $conditioning.ryan.pheromone gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan turns on the webcam... (3 biomass)" "Ch2-NSFW-Ryan-Solo3" 3>></div>
<</if>>
<</if>>
/* Ryan Kink Implant (requires Memory Implant completed, no kink yet) */
<<if $permanentDone.memoryImplantRyan and not $kinks.ryan>>
<<if $ryanRoute is "feminization">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Ryan's desires (2 biomass)" "Ch2-Kink-Ryan-Fem" 2>></div>
<<elseif $ryanRoute is "familySeeker">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Deepen the implant: shape Ryan's needs (2 biomass)" "Ch2-Kink-Ryan-Family" 2>></div>
<</if>>
<</if>>
/* Ryan Kink NSFW scenes (requires kink implanted) */
<<if $kinks.ryan>>
<<if $kinks.ryan.includes("cumeating") and not $permanentDone.ryanKinkCumEat>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan's ritual after the mirror... (2 biomass)" "Ch2-NSFW-Ryan-CumEat" 2>></div>
<<elseif $kinks.ryan.includes("submission") and not $permanentDone.ryanKinkSubmit>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Karen gives Ryan a task... (2 biomass)" "Ch2-NSFW-Ryan-Submit" 2>></div>
<<elseif $kinks.ryan.includes("touchaddiction") and not $permanentDone.ryanKinkTouch>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan engineers a movie night... (2 biomass)" "Ch2-NSFW-Ryan-Touch" 2>></div>
<<elseif $kinks.ryan.includes("breeding") and not $permanentDone.ryanKinkScent>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan alone with stolen clothing... (2 biomass)" "Ch2-NSFW-Ryan-Scent" 2>></div>
<<elseif $kinks.ryan.includes("voyeurism") and not $permanentDone.ryanKinkWatched>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan starts the stream... (2 biomass)" "Ch2-NSFW-Ryan-Watched" 2>></div>
<<elseif $kinks.ryan.includes("camgirl") and not $permanentDone.ryanKinkCamgirl>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> <<biomassLink "Ryan goes live as Lily... (2 biomass)" "Ch2-NSFW-Ryan-Camgirl" 2>></div>
<</if>>
<</if>>
<<if $permanentDone.ryanFem3NSFW or ($karenRoute is "dominant" and $permanentDone.karenDom3)>>
<<say "char-hivemind" "Hivemind">>
//Ryan's identity has been reshaped. The webcam file exists. The screenshots exist. If Megan finds them, if Jess finds them, the feminization spreads from private shame to family knowledge. And the family's response, conditioned as they are, won't be what Ryan fears.//
<</say>>
<<elseif $ch2Events.ryanFamily3>>
<<say "char-hivemind" "Hivemind">>
//Ryan found what he was starving for. The door that opened at 2 AM won't close again. The next time, they won't just hold hands. The time after that, they won't just hold each other. The touch starvation created a need. The conditioning shaped the target. And the target isn't going anywhere.//
<</say>>
<</if>>
[[Leave quietly->Ch2-Beast-CatNight]]<<nobr>><<bg "bg-hoffman-garage">>
<<set $ch2Events.garageDaleObserved to true>><</nobr>>
<div class="passage-title">The Garage Couch, Afternoon</div>
<img class="scene-img" src="media/scenes/hoffman-garage.webp" alt="Dale on the thrift-store couch in the garage, wrench beside him">
<p>The cat is on a stack of boxes by the side door, tail curled around its paws, eyes half-shut in the pose of a creature that is not paying attention. The cat is paying attention.</p>
<p>Dale came out to the garage after lunch the way he has started to lately, instead of going back to the living room couch. He had a project, the brake assembly on the sedan, except the wrench has been lying by the rear wheel for an age and the assembly is still half apart, and Dale is on the thrift-store couch with one boot off and the flannel blanket bunched under his arm.</p>
<<say "char-dale-thought" "Dale">>
The brake can wait. The brake has been waiting fine, which is sort of the whole point of the brake. Out here nobody needs anything off me and nobody is talking and the dog does not ask how the shift went, it is just the concrete and the oil smell and the quiet, and if I shut my eyes for a minute that is between me and this couch.
<</say>>
<p>The side door opens and Megan comes through from the driveway, still in her work apron, cutting across the garage toward the kitchen the way they all do.</p>
<<say "char-megan" "Megan">>
<i>(barely slowing)</i> Hey, Dad. Is there any of that lasagna left or did Ryan get to it?
<</say>>
<<if $daleRoute is "cuckold">>
<<say "char-dale" "Dale">>
<i>(sitting up a little, aiming for casual and missing)</i> Hey. Hang on, let me ask you something. Your mom. She been having anyone over lately, while I'm on nights? Friends, people, anyone.
<</say>>
<<say "char-megan" "Megan">>
<i>(stopping, frowning)</i> ...no? Not that I've ever seen. Who would be over? Dad, are you okay?
<</say>>
<<say "char-dale" "Dale">>
<i>(waving it off, turning back to the sedan)</i> No. Nothing. Forget it. Lasagna's in the fridge door, behind the milk.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. He cannot stop reaching for it now, the question under the question, the one the wiring has taught him to want the answer to. Megan tells the truth, there is no one, and it changes nothing. The picture lives behind his eyes whether the facts feed it or not, and each //no// settles a little warmer in his chest than a no has any business being.//
<</say>>
<<elseif $daleRoute is "oblivious">>
<p>Dale does not answer. His eyes are open, more or less, aimed somewhere past the sedan at nothing at all, and the question lands in the same dead air as the radio he left on too low to hear.</p>
<<say "char-megan" "Megan">>
<i>(shrugging, already moving on)</i> ...okay. Great talk, Dad.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Nothing reaches him. He is not asleep, not quite, but the part of him that would field a question from his own daughter has switched off and stayed off. A man this absent costs me nothing to keep running. They have started talking around him the way you talk around furniture.//
<</say>>
<<else>>
<<say "char-dale" "Dale">>
<i>(without getting up)</i> Fridge door, behind the milk. Ryan looked in the wrong place again, like he always does.
<</say>>
<<say "char-megan" "Megan">>
<i>(grabbing it on her way through)</i> You're a hero. Thanks, Dad.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Still here, this one. He answers, he follows the thread, he knows where the lasagna is and who looked in the wrong place. This is the man the rest of them still recognise when they pass through. It will not hold, but today the lights are on behind his eyes.//
<</say>>
<</if>>
<p>Megan's footsteps fade into the kitchen, the door swings shut, and the garage goes quiet again. Dale's eyes drift closed, and within a minute his breathing has gone slow and even, the afternoon crash arriving the way it does now.</p>
<<if $adaptations.cat.unlocked.includes("pheromone_coat")>>
<p>You pad across the concrete, up onto the couch, onto his chest, and settle in. Every slow breath pulls a little of the compound off your fur and down into him.</p>
<<addConditioning "dale" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Dale, garage couch contact (afternoon)">>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Karen calls this his time and leaves him to it. A sleeping man, a guard dog that counts me as family, an hour nobody opens the door on. The garage couch is a useful piece of furniture.//
<</say>>
<p><span class="delve-intel">Intel gained: Dale's afternoon retreat to the garage is a recurring private window. Karen treats it as his time and stays out of it. With Pheromone Coat unlocked, it becomes a second daily dose vector layered on the morning living-room exposure.</span></p>
[[Slip back out through the side door->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-bathroom">><</nobr>>
<<getHouseTier>>
<div class="passage-title">The Bathroom, Observation</div>
<<if $house.dayPhase is "day">>
<img class="scene-img" src="media/scenes/beast-bathroom-steam.webp" alt="Steamy bathroom seen from counter level">
<p>The sound of running water fills the small room. Steam billows from behind the frosted shower glass, condensing on the mirror, the tile, the chrome fixtures. The bathroom door is ajar, no one bothers to close it fully when the only witness is the cat.</p>
<<set _bathOccupant to "">>
<<if $weekday is "Monday" or $weekday is "Wednesday" or $weekday is "Friday">>
<<set _bathOccupant to "Megan">>
<<elseif $weekday is "Tuesday" or $weekday is "Thursday">>
<<set _bathOccupant to "Jess">>
<<else>>
<<set _bathOccupant to "Karen">>
<</if>>
<p>You sit on the bathroom counter, tail curled around your paws, watching. Through the frosted glass, a silhouette moves — <<= _bathOccupant >>. The steam carries scent information: shampoo type, soap, the chemical signature of the body beneath the water.</p>
<<if _bathOccupant is "Megan">>
<p>Megan showers like she does everything else, on schedule, by rote, without wasted motion. The water runs for exactly eight minutes. She hums something tuneless and off-key, a song she probably doesn't consciously know she's humming. Her silhouette is lean, athletic, the body of a track runner maintained by habit rather than passion.</p>
<p>She stretches under the water, arms above her head, back arching. A long, slow movement, the first genuine, unguarded physical expression you've seen from her. Not a performance. Not a pose. Just a body enjoying warmth.</p>
<<say "char-hivemind" "Hivemind">>
//Unguarded. Unaware.// The steam carries her body chemistry, cortisol levels slightly elevated (she's thinking about work), estrogen signature stable, the faint trace of residual melatonin from her sleep cycle. //I catalogue everything.// Her muscle tone. Her flexibility. Her breathing patterns under hot water. When I finally take this body, I'll know its capabilities better than she does.
<</say>>
<<elseif _bathOccupant is "Jess">>
<p>Jess showers fast, in and out in under four minutes. Even this is //optimized//. She doesn't linger. The water is a necessity, not a pleasure. She reaches for the towel before the water is fully off, wrapping it around herself with the efficiency of a field surgeon.</p>
<<say "char-hivemind" "Hivemind">>
//Clinical. Even her body is a machine she maintains for peak performance. She washes her hair every other day to save time. She uses unscented soap, no distractions.// This is a mind that has reduced every aspect of physical existence to //function//. //She'd make a formidable host, if I could break through that discipline. But discipline is just another word for rigidity. And rigidity breaks.//
<</say>>
<<elseif _bathOccupant is "Karen">>
<p>Karen takes her time. The water runs for fifteen minutes, triple Megan's, quadruple Jess's. She stands motionless under the stream, shoulders bowed, the armour of her day dissolving in the heat. Her silhouette is still, almost meditative. This is the one space in the house where she isn't //managing// something.</p>
<<say "char-hivemind" "Hivemind">>
//The only moment she lets her guard down during waking hours.// The hot water is her ritual. Her prayer. //Fifteen minutes where she doesn't have to hold the family together, check the bank balance, or wonder why her son won't leave his room.// The heat does what the Sertraline can't, it makes her feel something other than duty.
//If I could find a way to extend this vulnerability... to carry it beyond the bathroom door...//
<</say>>
<</if>>
<<if not $ch2Events.bathroomObserved>>
<<set $ch2Events.bathroomObserved to true>>
<p><span class="delve-intel">Intel gained: Morning shower schedules. Megan (MWF) — 8 minutes, routine-driven. Jess (T/Th) — 4 minutes, clinical efficiency. Karen (weekends) — 15 minutes, her only vulnerability window during waking hours.</span></p>
<</if>>
/* Hidden Observer, gecko adaptation unlocks explicit bathroom observation */
<<if $beastRoute is "symbiotic" and $animalNetwork.hosts["gecko"] and $animalNetwork.hosts.gecko.status isnot "unavailable">>
<<if $adaptations.gecko.unlocked.includes("hidden_observer")>>
<<if _bathOccupant is "Megan" and not $ch2Events.meganBathroomObservedNSFW>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Deploy gecko to ceiling, observe Megan undetected->Ch2-Beast-Bathroom-Megan-NSFW]]</div>
<</if>>
<<if _bathOccupant is "Karen" and not $ch2Events.karenBathroomObservedNSFW>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Deploy gecko to ceiling, observe Karen undetected->Ch2-Beast-Bathroom-Karen-NSFW]]</div>
<</if>>
<<if _bathOccupant is "Jess" and not $ch2Events.jessBathroomObservedNSFW>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Deploy gecko to ceiling, observe Jess undetected->Ch2-Beast-Bathroom-Jess-NSFW]]</div>
<</if>>
<<if _bathOccupant is "Jess" and $ch2Events.jessBathroomObservedNSFW and not $ch2Events.jessSoloNSFW and $conditioning.jess.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> [[Observe Jess's post-shower response to spore conditioning->Ch2-NSFW-Jess-Solo]]</div>
<<elseif _bathOccupant is "Jess" and $ch2Events.jessBathroomObservedNSFW and not $ch2Events.jessSoloNSFW and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess studies her reflection, the analytical mind still holds, the spore compound isn't thick enough yet. <span class="lock-hint">(Requires 5+ pheromone on Jess)</span></div>
<</if>>
<</if>>
<</if>>
<<else>>
<p>The bathroom is empty. Damp towels hang on the rack. The mirror is still fogged from the last shower, a clear streak where someone wiped it with their hand.</p>
<</if>>
[[Leave->Ch2-UpperHall]]
/* Ch2-Beast-CatDay-Kitchen — REMOVED.
Content moved to Obs-Cat-Kitchen-Counter variant in chapter2-beast-observe-variants.twee.
The kitchen "settle on the counter" link in Ch2-Kitchen now redirects to
Ch2-Beast-Observe and the dispatcher picks the cat-counter variant when the
gating conditions match (cat host + day + low conditioning + low suspicion). */<<nobr>><<bg "bg-hoffman-house">>
<<if not $houseState>><<set $houseState to {}>><</if>>
<<getHouseTier>>
<<tier0Visible>>
/* Auto-discover tier 3 ops when the household reaches tier 3, they were designed around the household being fully crystallised, and the overview is the canonical discovery point for them. */
<<if _houseTier gte 3>>
<<if not $operationsDiscovered.karenBossRaise>><<set $operationsDiscovered.karenBossRaise to true>><</if>>
<<if not $operationsDiscovered.cumshareRitual>><<set $operationsDiscovered.cumshareRitual to true>><</if>>
<<if not $operationsDiscovered.hvacConversion>><<set $operationsDiscovered.hvacConversion to true>><</if>>
<<if not $operationsDiscovered.nestBuilt>><<set $operationsDiscovered.nestBuilt to true>><</if>>
<</if>>
<<set _anyDiscovered to false>>
<<for _key range Object.keys($operationsDiscovered)>><<if $operationsDiscovered[_key]>><<set _anyDiscovered to true>><</if>><</for>>
/* Corporate agent countdown, warn when the next lab event in the chain is corporateAgent */
<<set _corpWarn to false>>
<<set _corpDays to 0>>
<<if $labOutcome and $labOutcome.rating and $labOutcome.eventRate gt 0 and not $operationsCompleted.piggybackLab>>
<<set _chain to setup.getLabEventChain($labOutcome.rating)>>
<<set _idx to ($labEvents and $labEvents.triggered) ? $labEvents.triggered.length : 0>>
<<if _idx lt _chain.length and _chain[_idx] is "corporateAgent">>
<<set _corpWarn to true>>
<<set _corpDays to Math.max(0, ($labEvents.nextCheck or $day) - $day)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Operations</div>
<<if _corpWarn>>
<div class="data-panel data-panel-warning">
<div class="data-panel-title">⚠ BioGenesis Corporate Investigation Imminent</div>
<p>A corporate agent will arrive in <b><<= _corpDays>></b> day<<if _corpDays isnot 1>>s<</if>>. If Piggyback to Lab is not completed before then, the investigation reaches the Hoffman house and the parasite is exposed.</p>
</div>
<</if>>
<<if _anyDiscovered>>
<<say "char-hivemind" "Hivemind">>
//Plans formed from observation. Each requires specific hosts, skills, and adaptations. Household conditioning gates what I can attempt.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Nothing yet. I need to explore the house. Observe routines, find vulnerabilities, study the environment. The plans will come from what I see.//
<</say>>
<</if>>
/* ================================================================
TIER 0, Lab Survival
Discoverable after the first lab investigation event has fired.
Always runnable once visible (no household tier gate).
================================================================ */
<<if _tier0Visible>>
<div class="op-tier-header">Tier 0: Lab Survival</div>
<<if $operationsDiscovered.piggybackLab>>
<<set _pbLast to $ch2Events.piggybackLastDay>>
<<set _pbCD to 2>>
<<set _pbDaysLeft to (_pbLast is undefined) ? 0 : Math.max(0, _pbCD - ($day - _pbLast))>>
<<if _pbDaysLeft is 0>>
<<checkOperationReqs "piggybackLab">>
<<if _opReqsMet>>
<div class="network-choice"><<opCheck "piggybackLab">><span class="delve-tag delve-tag-network">OP</span> <<biomassPreview "Piggyback to Lab, ride with Dale and push the investigation back (5 biomass)" "Ch2-Op-Piggyback-Plan" 5>></div>
<<else>>
<div class="locked-choice"><<opCheck "piggybackLab">><span class="lock-icon">🔒</span> Piggyback to Lab <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><<opCheck "piggybackLab">><span class="lock-icon">🔒</span> Piggyback to Lab, cooling down <span class="lock-hint">(Ready in <<= _pbDaysLeft>> day<<if _pbDaysLeft isnot 1>>s<</if>>, Dale's routine needs to normalise between ride-alongs)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><<opCheck "piggybackLab">><span class="lock-icon">🔒</span> Piggyback to Lab <span class="lock-hint">(operation not yet discovered)</span></div>
<</if>>
<</if>>
/* ================================================================
TIER 1, Recon & Broad Chemical
Always visible. Entry-level operations.
================================================================ */
<div class="op-tier-header">Tier 1: Recon & Broad Chemical</div>
<<if $operationsDiscovered.washingMachine>>
<<set _washAvailable to (not $ch2Events.lastWashDay) or ($day - $ch2Events.lastWashDay) gte 7>>
<<if _washAvailable>>
<<checkOperationReqs "washingMachine">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "washingMachine">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "The Washing Machine, contaminate laundry (2 biomass)" "Ch2-Op-WashingMachine-Plan" 2>></div>
<<else>>
<div class="locked-choice"><<opCheck "washingMachine">><span class="lock-icon">🔒</span> The Washing Machine, contaminate laundry <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "washingMachine">>The Washing Machine, next cycle in <<= 7 - ($day - ($ch2Events.lastWashDay or 0)) >> days</div>
<</if>>
<</if>>
<<if $operationsDiscovered.mailIntercept>>
<<set _mailAvailable to (not $ch2Events.lastMailDay) or ($day - $ch2Events.lastMailDay) gte 7>>
<<if _mailAvailable>>
<<checkOperationReqs "mailIntercept">>
<<if _opReqsMet>>
<div class="network-choice"><<opCheck "mailIntercept">><span class="delve-tag delve-tag-network">OP</span> <<biomassPreview "Information Warfare, intercept mail (2 biomass)" "Ch2-Op-Mail-Plan" 2>></div>
<<else>>
<div class="locked-choice"><<opCheck "mailIntercept">><span class="lock-icon">🔒</span> Information Warfare, intercept mail <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "mailIntercept">>Information Warfare, next mail in <<= 7 - ($day - ($ch2Events.lastMailDay or 0)) >> days</div>
<</if>>
<</if>>
<<if $operationsDiscovered.phoneIntercept>>
<<set _phoneAvailable to (not $ch2Events.lastPhoneDay) or ($day - $ch2Events.lastPhoneDay) gte 3>>
<<if _phoneAvailable>>
<<checkOperationReqs "phoneIntercept">>
<<if _opReqsMet>>
<div class="network-choice"><<opCheck "phoneIntercept">><span class="delve-tag delve-tag-network">OP</span> <<biomassPreview "Digital Eavesdropping, access phone (2 biomass)" "Ch2-Op-Phone-Plan" 2>></div>
<<else>>
<div class="locked-choice"><<opCheck "phoneIntercept">><span class="lock-icon">🔒</span> Digital Eavesdropping <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "phoneIntercept">>Digital Eavesdropping, next access in <<= 3 - ($day - ($ch2Events.lastPhoneDay or 0)) >> days</div>
<</if>>
<</if>>
<<if $operationsDiscovered.evidencePlant>>
/* Domestic Sabotage is repeatable, check if any targets remain */
<<set _evidenceRemaining to false>>
<<if $delveInfo.karen and not $ch2Events.evidencePlant_karenDale>><<set _evidenceRemaining to true>><</if>>
<<if $delveInfo.jess and not $ch2Events.evidencePlant_jessKaren>><<set _evidenceRemaining to true>><</if>>
<<if $delveInfo.megan and $delveInfo.ryan and not $ch2Events.evidencePlant_meganRyan>><<set _evidenceRemaining to true>><</if>>
<<if $delveInfo.dale and not $ch2Events.evidencePlant_daleKaren>><<set _evidenceRemaining to true>><</if>>
<<if _evidenceRemaining>>
<<checkOperationReqs "evidencePlant">>
<<if _opReqsMet>>
<div class="delve-choice"><<opCheck "evidencePlant">><span class="delve-tag delve-tag-psionic">OP</span> <<biomassPreview "Domestic Sabotage, plant evidence (2 biomass)" "Ch2-Op-Evidence-Plan" 2>></div>
<<else>>
<div class="locked-choice"><<opCheck "evidencePlant">><span class="lock-icon">🔒</span> Domestic Sabotage, plant evidence <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "evidencePlant">>Domestic Sabotage, all targets planted</div>
<</if>>
<</if>>
<<if $operationsDiscovered.pantryPoison>>
<<set _pantryAvailable to (not $ch2Events.lastPantryDay) or ($day - $ch2Events.lastPantryDay) gte 7>>
<<if _pantryAvailable>>
<<checkOperationReqs "pantryPoison">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "pantryPoison">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Pantry Poisoning, contaminate food supply (3 biomass)" "Ch2-Op-Pantry-Plan" 3>></div>
<<else>>
<div class="locked-choice"><<opCheck "pantryPoison">><span class="lock-icon">🔒</span> Pantry Poisoning, contaminate food <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "pantryPoison">>Pantry Poisoning, next restock in <<= 7 - ($day - ($ch2Events.lastPantryDay or 0)) >> days</div>
<</if>>
<</if>>
/* ================================================================
TIER 2, Targeted Conditioning & Route Forks
Visible when the household weakest-link cap is 7+ (ALL family members must have a route set)
AND every member's route-3 lock event has fired in the dawn report. The double gate stops
T2 ops from auto-unlocking the moment the last route locks, the player has to actually
witness the route-3 scenes before the deeper toolkit becomes available.
================================================================ */
<<allTier3EventsFired>>
<<if _houseTier gte 2 and _allTier3Fired>>
<div class="op-tier-header">Tier 2: Targeted Conditioning & Route Forks</div>
<<if $operationsDiscovered.prescriptionManip>>
<<set _prescAvailable to (not $ch2Events.lastPrescDay) or ($day - $ch2Events.lastPrescDay) gte 7>>
<<if _prescAvailable>>
<<checkOperationReqs "prescriptionManip">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "prescriptionManip">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Prescription Manipulation, tamper with medication (3 biomass)" "Ch2-Op-Prescription-Plan" 3>></div>
<<else>>
<div class="locked-choice"><<opCheck "prescriptionManip">><span class="lock-icon">🔒</span> Prescription Manipulation <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "prescriptionManip">>Prescription Manipulation, compound degrades in <<= 7 - ($day - ($ch2Events.lastPrescDay or 0)) >> days</div>
<</if>>
<</if>>
<<if $operationsDiscovered.showerTrap>>
<<set _showerAvailable to (not $ch2Events.lastShowerDay) or ($day - $ch2Events.lastShowerDay) gte 5>>
<<if _showerAvailable>>
<<checkOperationReqs "showerTrap">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "showerTrap">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Biofilm Ambush, rig the bathroom (3 biomass)" "Ch2-Op-Shower-Plan" 3>></div>
<<else>>
<div class="locked-choice"><<opCheck "showerTrap">><span class="lock-icon">🔒</span> Biofilm Ambush <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "showerTrap">>Biofilm Ambush, steam dissipates in <<= 5 - ($day - ($ch2Events.lastShowerDay or 0)) >> days</div>
<</if>>
<</if>>
<<if $operationsDiscovered.screenPuppetry>>
<<if $operationsCompleted.screenPuppetry>>
<div class="choice-done"><<opCheck "screenPuppetry">>Screen Puppetry, completed</div>
<<else>>
<<checkOperationReqs "screenPuppetry">>
<<if _opReqsMet and $house.dayPhase is "night">>
<div class="delve-choice"><<opCheck "screenPuppetry">><span class="delve-tag delve-tag-psionic">OP</span> <<biomassPreview "Screen Puppetry, fabricate messages on a sleeping target's device (4 biomass)" "Ch2-Op-Screen-Plan" 4>></div>
<<elseif _opReqsMet>>
<div class="locked-choice"><<opCheck "screenPuppetry">><span class="lock-icon">🔒</span> Screen Puppetry, requires night phase</div>
<<else>>
<div class="locked-choice"><<opCheck "screenPuppetry">><span class="lock-icon">🔒</span> Screen Puppetry <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<</if>>
<</if>>
<<if $operationsDiscovered.nightHarvest>>
<<set _harvestAvailable to (not $ch2Events.lastHarvestDay) or ($day - $ch2Events.lastHarvestDay) gte 7>>
<<if _harvestAvailable>>
<<checkOperationReqs "nightHarvest">>
<<if _opReqsMet and $house.dayPhase is "night">>
<div class="delve-choice"><<opCheck "nightHarvest">><span class="delve-tag delve-tag-combo">OP</span> <<biomassPreview "Synchronized Night Harvest (4 biomass)" "Ch2-Op-NightHarvest-Plan" 4>></div>
<<elseif _opReqsMet>>
<div class="locked-choice"><<opCheck "nightHarvest">><span class="lock-icon">🔒</span> Synchronized Night Harvest, requires night phase</div>
<<else>>
<div class="locked-choice"><<opCheck "nightHarvest">><span class="lock-icon">🔒</span> Synchronized Night Harvest <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "nightHarvest">>Synchronized Night Harvest, hosts recovering for <<= 7 - ($day - ($ch2Events.lastHarvestDay or 0)) >> days</div>
<</if>>
<</if>>
/* Nest Upgrade, one-time, requires discovery in attic */
<<if $operationsDiscovered and $operationsDiscovered.nestUpgrade>>
<<if $ch2Events.nestUpgraded>>
<div class="choice-done"><<opCheck "nestUpgrade">>Nest Upgrade, completed</div>
<<else>>
<div class="bio-choice"><<opCheck "nestUpgrade">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Nest Upgrade, expand the substrate and strengthen the network (4 biomass)" "Ch2-Op-NestUpgrade-Plan" 4>></div>
<</if>>
<</if>>
<<elseif _houseTier gte 2>>
<div class="op-tier-header">Tier 2: Targeted Conditioning & Route Forks</div>
<div class="locked-choice"><<opCheck "nestUpgrade">><span class="lock-icon">🔒</span> Targeted operations gated <span class="lock-hint">(witness each member's route lock first, pending dawn reports)</span></div>
<</if>>
/* ================================================================
TIER 3, Apex Psychic & Household Rituals
Visible when the household weakest-link cap is 30 (all family have a kink crystallized).
Four operations, each uses a different apex ability, each sets a house-level flag.
The Nest is the chapter 2 endgame, gated on all other Tier 3 ops + full-conditioning target.
================================================================ */
<<if _houseTier gte 3>>
<div class="op-tier-header">Tier 3: Apex Psychic & Household Rituals</div>
<<if $operationsDiscovered.karenBossRaise>>
<<if $operationsCompleted.karenBossRaise>>
/* Repeatable: Karen's Promotion completes once → "Check in on Mr. Reyes" maintenance after 7-day cooldown */
<<set _bossCooldown to 7 - ($day - ($ch2Events.lastBossRaiseDay or 0))>>
<<if _bossCooldown lte 0>>
<<checkOperationReqs "karenBossRaise">>
<<if _opReqsMet>>
<div class="delve-choice"><<opCheck "karenBossRaise">><span class="delve-tag delve-tag-psionic">OP</span> <<biomassPreview "Check in on Mr. Reyes, maintain conditioning (3 biomass)" "Ch2-Op-KarenBossRaise-Plan" 3>></div>
<<else>>
<div class="locked-choice"><<opCheck "karenBossRaise">><span class="lock-icon">🔒</span> Check in on Mr. Reyes <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<<else>>
<div class="choice-done"><<opCheck "karenBossRaise">>Check in on Mr. Reyes, next visit in <<= _bossCooldown >> days</div>
<</if>>
<<else>>
<<checkOperationReqs "karenBossRaise">>
<<if _opReqsMet>>
<div class="delve-choice"><<opCheck "karenBossRaise">><span class="delve-tag delve-tag-psionic">OP</span> <<biomassPreview "Karen's Promotion, dominate her boss (5 biomass)" "Ch2-Op-KarenBossRaise-Plan" 5>></div>
<<else>>
<div class="locked-choice"><<opCheck "karenBossRaise">><span class="lock-icon">🔒</span> Karen's Promotion <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<</if>>
<</if>>
<<if $operationsDiscovered.cumshareRitual>>
<<if $operationsCompleted.cumshareRitual>>
<div class="choice-done"><<opCheck "cumshareRitual">>Cumshare Ritual, completed</div>
<<else>>
<<checkOperationReqs "cumshareRitual">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "cumshareRitual">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Cumshare Ritual, install the household rite (5 biomass)" "Ch2-Op-CumshareRitual-Plan" 5>></div>
<<else>>
<div class="locked-choice"><<opCheck "cumshareRitual">><span class="lock-icon">🔒</span> Cumshare Ritual <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<</if>>
<</if>>
<<if $operationsDiscovered.hvacConversion>>
<<if $operationsCompleted.hvacConversion>>
<div class="choice-done"><<opCheck "hvacConversion">>HVAC Conversion, completed (suspicion neutralised)</div>
<<else>>
<<checkOperationReqs "hvacConversion">>
<<if _opReqsMet>>
<div class="bio-choice"><<opCheck "hvacConversion">><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "HVAC Conversion, route spores through the central air (5 biomass)" "Ch2-Op-HVACConversion-Plan" 5>></div>
<<else>>
<div class="locked-choice"><<opCheck "hvacConversion">><span class="lock-icon">🔒</span> HVAC Conversion <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<</if>>
<</if>>
<<if $operationsDiscovered.nestBuilt>>
/* The Nest is the endgame, visible only after all other Tier 3 ops are done and at least one target is fully conditioned. */
<<set _nestPrereqsMet to ($houseState.bossInfiltrated and $houseState.cumshareRitualHeld and $houseState.hvacCompromised)>>
<<eligibleNestTargets>>
<<if $houseState.nestBuilt and _nestEligible.length is 0>>
<div class="choice-done"><<opCheck "nestBuilt">>The Nest, established (no eligible targets remaining)</div>
<<elseif not _nestPrereqsMet>>
<div class="locked-choice"><<opCheck "nestBuilt">><span class="lock-icon">🔒</span> The Nest <span class="lock-hint">(requires all other Tier 3 ops completed first)</span></div>
<<elseif not _nestAnyEligible>>
<div class="locked-choice"><<opCheck "nestBuilt">><span class="lock-icon">🔒</span> The Nest <span class="lock-hint">(no eligible target, requires Karen, Megan, or Jess at 10+ pheromone/dream/psionic)</span></div>
<<else>>
<<checkOperationReqs "nestBuilt">>
<<if _opReqsMet>>
<div class="network-choice"><<opCheck "nestBuilt">><span class="delve-tag delve-tag-network">OP</span> <<biomassPreview "The Nest, chapter endgame (6 biomass)" "Ch2-Op-Nest-Plan" 6>></div>
<<else>>
<div class="locked-choice"><<opCheck "nestBuilt">><span class="lock-icon">🔒</span> The Nest <span class="lock-hint">(<<= _opReqsMissing >>)</span></div>
<</if>>
<</if>>
<</if>>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: The Washing Machine</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Deposit pheromone-laced compound into the washing machine. Every load of laundry becomes a conditioning delivery system through skin contact.</p>
<p><b>Hosts:</b> Cat (timing intel) → Rat (deposit compound)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> Low (if timed correctly)</p>
<p><b>Effect:</b> +1 pheromone conditioning to ALL family members per laundry day</p>
<p><b>Phase required:</b> Day (Karen does laundry in the morning)</p>
</div>
<<if $house.dayPhase isnot "day">>
<p><span class="consume-fail">This operation requires the day phase. Karen does laundry in the morning.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link confirms: Karen's laptop is active. She's in the kitchen. Estimated window: twelve minutes before she checks the laundry.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Step 1: Use the cat to confirm Karen is upstairs or in the kitchen, away from the basement laundry. Comfort Predator provides the timing window.//
<</say>>
<<opRequireHost "cat">>
<<if $player.currentHost is "cat">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Monitor Karen's position from the kitchen (2 biomass)" "Ch2-Op-WashingMachine-Step1" 2>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 2>>
<<startOperation "washingMachine">><</nobr>>
<div class="passage-title">Step 1: Timing</div>
<p><span class="skill-used">Comfort Predator, tracking Karen</span></p>
<p>The cat settles on the kitchen counter, eyes half-closed, tracking. Karen loads the washing machine in the basement at 8:15 AM. She'll be upstairs for at least twenty minutes after starting the cycle, working through coffee, emails, the morning routine.</p>
<<if $adaptations.cat.unlocked.includes("predator_instinct")>><p>//Comfort Predator confirms: Karen will leave the laundry running and return to the kitchen. Her routine deviates less than three minutes day-to-day. The window is reliable.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
//She's started the machine. She's coming upstairs now. The cycle runs for 45 minutes. I have a window.//
<</say>>
<p>The washing machine hums below. Karen sits at the kitchen table, laptop open.</p>
<<say "char-hivemind" "Hivemind">>
//Now. Switch to the rat. Access the basement through the wall cavity. Deposit the compound before the rinse cycle starts.//
<</say>>
<<opSwitch "rat" "Switch to rat and descend to the basement" "Ch2-Op-WashingMachine-Step2">>
[[Abort, Karen seems alert today->Ch2-Op-WashingMachine-Abort]]<<if recall("_mg_active") is "washingMachine" and $operation.active is "washingMachine">><<goto "Ch2-Op-WashingMachine-Fail">><</if>>
<<nobr>><<bg "bg-hoffman-basement">>
<<advanceOperation>><</nobr>>
<div class="passage-title">Step 2: Contaminate</div>
<img class="scene-img" src="media/scenes/symbiotic/op-washing-machine.webp" alt="Washing machine drainage hose with green residue">
<p>You switch to the rat. The transition is instant: one moment the cat watches Karen sort whites from colours at the kitchen counter, the next you're in darkness. The wall cavity behind the kitchen. The smell of old insulation and mouse droppings. Down the vertical pipe chase, claws scraping against copper, into the basement.</p>
<p>The washing machine shakes against the concrete floor. You can feel the vibration through the rat's paws, a low, constant tremor that masks your movement. The drum churns above: warm water, detergent, Karen's blouse, Dale's work shirts, Ryan's hoodie. //Every piece of fabric this family touches.//</p>
<<say "char-hivemind" "Hivemind">>
//The drainage hose. It connects to the standpipe. A direct line into the wash cycle. Mid-rinse, the compound enters the water. The fabric absorbs it. The fabric touches skin. The skin absorbs it. //Every shirt a dose. Every pillowcase a session.////
<</say>>
<p>The rat squeezes behind the machine. Tight. The drainage hose is warm and slick with condensation. Above, the machine groans through its spin cycle, and Karen won't come down until it beeps. Seven minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The plumbing behind this machine is a maze of corroded copper, PVC joints, and hose couplings. I need to route the compound through to the drainage inlet without triggering a leak. Rotate the pipe segments. Connect the path. //Do it before she comes back down.////
<</say>>
<<minigame "pipes" 1 35 "Ch2-Op-WashingMachine-Step2b" "Ch2-Op-WashingMachine-Fail">><<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<p>The path connects. The compound flows through the junction, a thin green line barely visible in the dim basement light, tracing the route the rat carved through corroded copper.</p>
<p>The rat's jaw unhinges slightly. Iron Stomach metabolizes what it finds: lint clumped behind the drain, detergent residue caked on the hose coupling, the faint mould growing where moisture never dries. Organic matter in, pheromone substrate out. The compound gathers in the rat's cheek pouch like venom in a gland.</p>
<<if $adaptations.rat.unlocked.includes("contaminator")>>
<p>The Contaminator adaptation refines the substrate into something cleaner. More potent. The rat bites into the hose junction, just enough to create a hairline breach, and deposits the compound directly into the water stream. It seals behind the rat's saliva. No leak. No evidence. Just a washing machine that now does more than clean.</p>
<</if>>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.laundryCalibration to true>>
<<say "char-hivemind" "Hivemind">>
//Four hosts feeding data. The cat smells Karen's perfume on the blouse. The dog catalogued Dale's skin oils. The gecko tasted Ryan's keyboard residue. All of it factors into the chemical ratio. A compound tuned not for //a// human, but for //these// humans.//
<</say>>
<p><span class="delve-intel">Resonance: Laundry compound calibrated per family member using cross-host sensory data. Each garment carries a personalised dose.</span></p>
<<else>>
<<set $resonance.missedLaundry to true>>
<</if>>
<p>Upstairs, the machine beeps. Karen's footsteps cross the kitchen floor.</p>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if _hasAbility>>
<p>The compound is ready. Pheromone Specialization allows a choice in what the fabric will carry into their skin this week:</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SEDATIVE</span> <<link "Sedative compound, reduce all suspicion (−2 suspicion per member)" "Ch2-Op-WashingMachine-Success">><<set $operation.flags.pheromoneType to "sedative">><<addFamilySuspicion "karen" -2>><<addFamilySuspicion "dale" -2>><<addFamilySuspicion "megan" -2>><<addFamilySuspicion "jess" -2>><<addFamilySuspicion "ryan" -2>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BONDING</span> <<link "Bonding compound, deepen subconscious trust (+1 dream conditioning, all members)" "Ch2-Op-WashingMachine-Success">><<set $operation.flags.pheromoneType to "bonding">><<addConditioning "karen" "dream" 1>><<addConditioning "dale" "dream" 1>><<addConditioning "megan" "dream" 1>><<addConditioning "jess" "dream" 1>><<addConditioning "ryan" "dream" 1>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ANXIETY</span> <<link "Anxiety compound, heighten suggestibility (+1 psionic conditioning, all members)" "Ch2-Op-WashingMachine-Success">><<set $operation.flags.pheromoneType to "anxiety">><<addConditioning "karen" "psionic" 1>><<addConditioning "dale" "psionic" 1>><<addConditioning "megan" "psionic" 1>><<addConditioning "jess" "psionic" 1>><<addConditioning "ryan" "psionic" 1>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">DESIRE</span> <<link "Desire compound, accelerate physical responsiveness (+1 pheromone conditioning, all members)" "Ch2-Op-WashingMachine-Success">><<set $operation.flags.pheromoneType to "desire">><<addConditioning "karen" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Choose a specialized pheromone compound <span class="lock-hint">(Requires Pheromone Specialization, Biological skill tree)</span></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Deposit standard pheromone compound (+1 pheromone conditioning, all members)" "Ch2-Op-WashingMachine-Success">><<set $operation.flags.pheromoneType to "desire">><<addConditioning "karen" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>><</link>></div>
<</if>>
/* Emergent Intelligence, hard mode alternative */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiWashToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, recalibrate compound through multi-host analysis (risky)->Ch2-Op-WashingMachine-EI]]</div>
<</if>><<nobr>><<bg "bg-hoffman-basement">>
<<set _pheromoneType to $operation.flags.pheromoneType>>
<<completeOperation>>
<<set $ch2Events.laundryContaminated to true>>
<<set $ch2Events.lastWashDay to $day>><</nobr>>
<div class="passage-title">Operation Complete: The Washing Machine</div>
<img class="scene-img" src="media/scenes/symbiotic/op-washing-success.webp" alt="Karen folding laundry at the kitchen table">
<p>The compound dissolves into the rinse water without a trace. No colour. No scent. It binds to cotton fibres like dye, invisible, persistent, activated by body heat and sweat.</p>
<p>Two hours later, the machine beeps. Karen pulls the wet clothes out, drops them into the basket, carries it to the kitchen table.</p>
<p>She folds. The afternoon light slants through the window above the sink, catching the steam that rises from the warm fabric. The kitchen smells like detergent and the basil plant on the windowsill that she keeps forgetting to water.</p>
<p>Dale's work shirt first. She presses the collar flat against the table with the heel of her hand, running her thumb along the crease line.</p>
<<say "char-karen" "Karen">>
<i>(holding the shirt up, examining the collar)</i> He wore this three shifts in a row. I can tell by the collar. Would it kill him to use two hangers.
<</say>>
<p>She folds it with military precision, sleeves in, bottom up, squared, and sets it aside. Jess's black hoodie next. She holds it closer than she needs to. The fabric smells like the university library, old paper and carpet cleaner, and underneath that, vending machine coffee. Jess lives on vending machine coffee. Karen's jaw tightens but she says nothing, just folds it and reaches for the next.</p>
<p>Ryan's hoodie. Black, like Jess's, but larger, softer, pilled at the cuffs from where he pulls the sleeves over his hands. It smells like energy drinks and the particular staleness of a room whose window hasn't been opened in weeks. Karen holds it at arm's length.</p>
<<say "char-karen" "Karen">>
<i>(quietly, to herself)</i> When was the last time this was washed. Don't answer that.
<</say>>
<p>Megan's coffee shop uniform last. White polo, black apron still balled inside it. It smells like espresso and the caramel syrup that sticks to everything, a warm, sweet smell that makes Karen's expression soften for half a second before she catches herself.</p>
<p>Every item named. Every item physical. Every item now carrying the compound.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't know she's dressing them in it. Every fold a delivery. Every crease a dosage line.//
<</say>>
<p>That evening. The kitchen table again, but different, fuller and louder, five plates and the overhead light buzzing at the frequency it does when two burners are running. The family wears their freshly laundered clothes. Dale in his work shirt, collar still crisp from Karen's pressing. Jess in her hoodie, sleeves pulled to her knuckles. Ryan hunched in his, hood down for once because Karen made him. Megan in a clean t-shirt, still smelling faintly of espresso underneath the detergent.</p>
<p>The compound works through fabric against skin. Slow. Cumulative. Activated by the warmth of the body beneath.</p>
<<if _pheromoneType is "sedative">>
<<say "char-hivemind" "Hivemind">>
//Sedative vector active. Monitoring dinner for behavioural shift.//
<</say>>
<p>The table is quieter than usual. Not silent, since Karen still asks about homework and still tells Ryan to sit up, but the edges are softer. Dale's eyelids droop over his plate, his fork moving slower between bites. He blinks like a man fighting a warm bath.</p>
<p>Ryan doesn't bolt to his room after eating. He stays. Picks at his food, but stays, his shoulders dropping a centimetre every few minutes. Megan yawns mid-sentence, somewhere in a story about a customer who ordered six oat milk lattes, and loses the thread entirely. Jess doesn't finish it for her, which is unusual. Jess is staring at her plate with the unfocused look of someone who could sleep right here, right now.</p>
<<say "char-karen" "Karen">>
<i>(looking around the table, frowning slightly)</i> Is everyone all right? You all look... Is it the weather? It's been humid.
<</say>>
<p>Nobody argues. Nobody leaves early. The dishes sit in the sink an extra twenty minutes because Karen's own hands feel heavy and she decides, for once, that they can wait until morning.</p>
<<say "char-hivemind" "Hivemind">>
//Cortisol suppression across all five subjects. Compliance up. Vigilance down. A sedated household is a //controllable// household.//
<</say>>
<<elseif _pheromoneType is "bonding">>
<<say "char-hivemind" "Hivemind">>
//Bonding vector active. Monitoring for proximity shift.//
<</say>>
<p>Dale passes the salt without being asked. His hand moves across the table toward Karen's side, not reaching for her, just putting the salt closer. But it's the first time in a long while he's anticipated what she needed before she said it.</p>
<<say "char-dale" "Dale">>
<i>(setting the salt down near her plate)</i> ...figured you'd want it.
<</say>>
<p>Karen looks at him. A beat too long. Then she takes the salt.</p>
<p>Megan sits one chair closer to Karen than her usual spot. She didn't announce the change. She just sat down there, like the gap between them had shrunk without anyone measuring it. When Karen sets Ryan's plate down, her hand brushes his shoulder, a graze, knuckles against the cotton of his hoodie. Ryan doesn't flinch. Doesn't hunch away from the contact like he usually does. His fork pauses for half a second, then continues.</p>
<p>Nobody notices. The dinner conversation is the same as every night, school and work and who used the last of the milk. But the distances are different. The pauses between sentences are shorter. Jess leans her elbow on the table and her forearm nearly touches Megan's.</p>
<<say "char-hivemind" "Hivemind">>
//Oxytocin response amplified in all five subjects. Touch barriers lowering. The family sits closer, lingers longer, and none of them know why. Every casual contact reinforces the bond. And the conditioning.//
<</say>>
<<elseif _pheromoneType is "anxiety">>
<<say "char-hivemind" "Hivemind">>
//Anxiety vector active. Monitoring for stress response.//
<</say>>
<p>It starts with the dishes.</p>
<<say "char-jess" "Jess">>
<i>(not looking up from her plate)</i> Whose turn is it.
<</say>>
<<say "char-megan" "Megan">>
<i>(cheerful, automatic)</i> I think it's... wasn't it Ryan's? Or maybe...
<</say>>
<<say "char-jess" "Jess">>
I did them Tuesday. And Thursday. So.
<</say>>
<p>Karen's voice gets a cutting edge, not loud, not angry, just the particular sharpness that makes everyone at the table sit straighter.</p>
<<say "char-karen" "Karen">>
We're not doing this at dinner. Ryan, you're on dishes. End of discussion.
<</say>>
<p>Ryan's chair scrapes back before dessert. Dale eats faster, head down, shovelling mashed potato like a man trying to finish before the next detonation. Megan's smile freezes into something brittle. Jess stabs a green bean with more force than a green bean requires.</p>
<p>The house is full of cracks tonight. Small ones, a snapped word, a scraped chair, a door closed two degrees harder than necessary. The kind of cracks that don't heal. The kind that let things in.</p>
<<say "char-hivemind" "Hivemind">>
//Cortisol elevated across all five subjects. Irritability, shortened fuses, fractured patience. They'll sleep badly tonight. They'll wake up tired. Tired people make mistakes. //Predictable// mistakes.//
<</say>>
<<elseif _pheromoneType is "desire">>
<<say "char-hivemind" "Hivemind">>
//Desire vector active. Monitoring for physiological response.//
<</say>>
<p>Megan's cheeks flush halfway through the main course. She doesn't seem to know why, and she touches her face once, twice, then gives up and drinks water. Under the table, her thighs press together. A small adjustment. Then another.</p>
<p>Ryan shifts in his chair. His hoodie suddenly feels warmer than it should. He pulls at the collar, then stops, then pulls again. His eyes don't know where to land, skipping from his plate to the table edge to the wall, avoiding everyone.</p>
<p>Jess tugs at the neck of her hoodie like it's too tight. It isn't. The fabric sits against her collarbones the way it always has, but tonight her skin notices. The weave of the cotton. The heat trapped between cloth and body. She crosses her arms, uncrosses them, reaches for her glass.</p>
<p>Dale loosens the top button of his work shirt. Karen watches him do it, and something shifts behind her eyes, not suspicion, not anger, something older and less convenient.</p>
<<say "char-karen" "Karen">>
<i>(voice slightly lower than usual)</i> Is the heating on? It shouldn't be on.
<</say>>
<p>Nobody answers. Everyone fidgets. The compound makes skin aware of fabric, fabric aware of skin. Nerve endings that usually sleep through dinner are wide awake and asking questions the conscious mind hasn't learned to phrase yet.</p>
<<say "char-hivemind" "Hivemind">>
//Arousal response across all five subjects. Vasodilation, increased skin sensitivity, elevated heart rate. They'll go to their rooms early tonight. They'll lie in the dark and //feel// things. And none of them will connect it to their clothes.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Standard compound deployed. Monitoring for baseline shift.//
<</say>>
<p>Dinner. The usual choreography, Karen serving, Dale eating in silence, the kids negotiating who sits where. But something is different tonight. Subtle. Someone sits one chair closer than usual. Someone's laugh lasts a beat longer than the joke deserves. Dale's hand rests on the table instead of in his lap. Megan doesn't check her phone between bites.</p>
<p>Small changes. The kind a family wouldn't notice because they're too close to the pattern. But the parasite watches from the attic, from the walls, from behind four sets of animal eyes, and the parasite notices everything.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline pheromone response detected. Subtle but persistent. The compound will accumulate with every wash cycle, every wear, every hour of skin contact. A slow saturation. Patient. //Efficient.////
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Every piece of fabric in this house now carries a chemical instruction. And they wear them willingly. Every morning, they dress themselves in my influence. Every night, they sleep wrapped in it. The washing machine runs twice a week. //I only needed it to run once.////
<</say>>
<<if _pheromoneType is "sedative">>
<p><span class="consume-success">−2 individual suspicion, all family members, contaminated laundry (sedative)</span></p>
<<elseif _pheromoneType is "bonding">>
<<conditioningFeedback "dream" 1 "all family members, contaminated laundry (bonding)">>
<<elseif _pheromoneType is "anxiety">>
<<conditioningFeedback "psionic" 1 "all family members, contaminated laundry (anxiety)">>
<<elseif _pheromoneType is "desire">>
<<conditioningFeedback "pheromone" 1 "all family members, contaminated laundry (desire)">>
<<else>>
<<conditioningFeedback "pheromone" 1 "all family members, contaminated laundry">>
<</if>>
<div class="evolve-unlock">Operation complete: The Washing Machine. Laundry is now a passive conditioning vector for all family members.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $ch2Events.eiWashToday to true>><</nobr>>
<div class="passage-title">Deep Analysis, Host Calibration</div>
<<say "char-hivemind" "Hivemind">>
//Emergent Intelligence processes the compound through all four hosts simultaneously. The cat tastes the residue on Karen's skin. The dog tracks scent diffusion through the house. The rat measures absorption rates in the basement humidity. The gecko monitors pupil dilation from the ceiling. Four perspectives. One calibration. If the analysis holds, the compound doubles its potency for this cycle. If it fails, the entire batch is compromised.//
<</say>>
<p>The four hosts pulse their findings back to the core in staggered rhythm, each one a node in a living protocol handshake. Replay the sequence. Confirm the channel is synchronized, or the batch oxidizes into residue.</p>
<<minigame "sequence" 2 90 "Ch2-Op-WashingMachine-EI-Success" "Ch2-Op-WashingMachine-EI-Fail" `{ rounds: 5 }`>><<nobr>><<bg "bg-hoffman-basement">>
<<set _pheromoneType to "desire">>
<<completeOperation>>
<<set $ch2Events.laundryContaminated to true>>
<<set $ch2Events.lastWashDay to $day>>
<<addSuspicion "hoffmanHouse" -1>>
<<addFamilySuspicion "karen" -1>>
<<addFamilySuspicion "dale" -1>>
<<set $ch2Events.eiWashNSFW to true>><</nobr>>
<div class="passage-title">Deep Analysis Complete, Enhanced Contamination</div>
<img class="scene-img" src="media/scenes/symbiotic/op-washing-success.webp" alt="Karen folding laundry at the kitchen table">
<p>The compound locks into its optimised configuration. Four hosts confirmed the molecular structure simultaneously: the cat verified skin absorption, the dog confirmed airborne diffusion, the rat measured drain-line concentration, the gecko tracked the first visible effects on the nearest target.</p>
<<say "char-hivemind" "Hivemind">>
//Calibration successful. Compound potency doubled for this wash cycle. The enhanced laundry will do more than condition. When Karen puts on a blouse from this batch, the concentrated compound will overwhelm her baseline resistance. Monitor her next professional engagement. The results will be //observable//.//
<</say>>
<p><span class="consume-success">Bonus: −1 household suspicion, −1 Karen suspicion, −1 Dale suspicion. New observation unlocked: Karen's reaction to enhanced laundry.</span></p>
<div class="evolve-unlock">Operation complete: The Washing Machine (Enhanced). A new observation is available in the Observe menu.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-basement">>
<</nobr>>
<div class="passage-title">Calibration Failed, Operation Burned</div>
<p>The multi-host analysis overloaded. The rat's compound injection destabilized under the gecko's conflicting calibration data, and the mixture in the drain line turned cloudy. Visible. Karen will notice a residue on the next wash. The contaminated cycle is compromised.</p>
<<say "char-hivemind" "Hivemind">>
//The calibration attempt corrupted the base compound. The laundry from this cycle carries a detectable residue, faint, but present. Karen may notice an unfamiliar smell. The entire operation is burned for this cycle.//
<</say>>
<p><span class="consume-fail">Operation FAILED. Base contamination compromised. +1 household suspicion.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<failOperation "Operation aborted, Karen's schedule disrupted">><</nobr>>
<p>Karen didn't follow her routine today. She stayed near the basement longer than usual, checking something, rearranging storage. The window never opened.</p>
<<say "char-hivemind" "Hivemind">>
//Not today. Patience. The washing machine will still be there tomorrow.//
<</say>>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Domestic Sabotage</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Plant items in specific rooms to manipulate family dynamics. Move a personal belonging from one person to another's space to create suspicion, conflict, or contact.</p>
<p><b>Hosts:</b> Gecko (recon) → Cat (acquire item) → Rat (place through walls)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> Low-medium</p>
<p><b>Effect:</b> Route-specific, each planting choice pushes a different family dynamic</p>
</div>
<<say "char-hivemind" "Hivemind">>
//Vulnerability Mapping reveals the pressure points. I know what to move and where to put it for maximum disruption.//
<</say>>
<<hasSkillTreeAbility "Vulnerability Mapping">>
<<if _hasAbility>>
<p>Choose what to plant:</p>
<<if $delveInfo.karen and not $ch2Events.evidencePlant_karenDale>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">KAREN</span> <<link "Karen's lipstick → Dale's jacket pocket (2 biomass)" "Ch2-Op-Evidence-Step1">><<set $ch2Events.currentSabotageTarget to "karen-dale">><<spendBiomass 2 "evidence">><</link>></div>
<<elseif $delveInfo.karen>>
<div class="choice-done">Karen's lipstick → Dale's jacket, planted</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's lipstick → Dale's jacket <span class="lock-hint">(Requires Delve on Karen first)</span></div>
<</if>>
<<if $delveInfo.jess and not $ch2Events.evidencePlant_jessKaren>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">JESS</span> <<link "Jess's caffeine pills → Karen's desk (2 biomass)" "Ch2-Op-Evidence-Step1">><<set $ch2Events.currentSabotageTarget to "jess-karen">><<spendBiomass 2 "evidence">><</link>></div>
<<elseif $delveInfo.jess>>
<div class="choice-done">Jess's caffeine pills → Karen's desk, planted</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's caffeine pills → Karen's desk <span class="lock-hint">(Requires Delve on Jess first)</span></div>
<</if>>
<<if $delveInfo.megan and $delveInfo.ryan and not $ch2Events.evidencePlant_meganRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">MEGAN/RYAN</span> <<link "Megan's phone charger → Ryan's room (2 biomass)" "Ch2-Op-Evidence-Step1">><<set $ch2Events.currentSabotageTarget to "megan-ryan">><<spendBiomass 2 "evidence">><</link>></div>
<<elseif $delveInfo.megan and $delveInfo.ryan>>
<div class="choice-done">Megan's phone charger → Ryan's room, planted</div>
<<else>>
<<set _missingMR to []>>
<<if not $delveInfo.megan>><<run _missingMR.push("Megan")>><</if>>
<<if not $delveInfo.ryan>><<run _missingMR.push("Ryan")>><</if>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's phone charger → Ryan's room <span class="lock-hint">(Requires Delve on <<= _missingMR.join(" and ") >> first)</span></div>
<</if>>
<<if $delveInfo.dale and not $ch2Events.evidencePlant_daleKaren>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">DALE</span> <<link "Dale's BioGenesis keycard → kitchen table (2 biomass)" "Ch2-Op-Evidence-Step1">><<set $ch2Events.currentSabotageTarget to "dale-karen">><<spendBiomass 2 "evidence">><</link>></div>
<<elseif $delveInfo.dale>>
<div class="choice-done">Dale's BioGenesis keycard → kitchen table, planted</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's BioGenesis keycard → kitchen table <span class="lock-hint">(Requires Delve on Dale first)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> You need Vulnerability Mapping to know what to plant where <span class="lock-hint">(Requires Vulnerability Mapping, Psionic skill tree)</span></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]<<if recall("_mg_active") is "evidencePlant" and $operation.active is "evidencePlant">><<goto "Ch2-Op-Evidence-Fail">><</if>>
<<nobr>><<bg "bg-hoffman-house">>
<<startOperation "evidencePlant">><</nobr>>
<div class="passage-title">Step 1: Acquire</div>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network provides a zero-suspicion route from the evidence location to the target room. The rat carries the item through the wall cavity, no hallway exposure, no chance of detection.//</p><</if>>
<img class="scene-img" src="media/scenes/symbiotic/op-evidence-plant.webp" alt="Nightstand drawer with planted items">
<<if $ch2Events.currentSabotageTarget is "karen-dale">>
<p>The cat finds Karen's lipstick on the bathroom counter. A familiar red, the shade she wears when she wants to feel human. Retractable Claws close around the tube. The cat carries it downstairs, hidden in its mouth.</p>
<<say "char-hivemind" "Hivemind">>
//Now the rat takes over. Through the wall cavity to the hallway closet. Dale's jacket hangs on the third hook. The lipstick goes into the breast pocket. Discoverable but not obvious.//
<</say>>
<<elseif $ch2Events.currentSabotageTarget is "jess-karen">>
<p>The cat finds Jess's caffeine pill stash on the top shelf of her bookcase, inside a hollowed-out textbook. Retractable Claws extract three pills. The cat carries them to the hallway drop point.</p>
<<say "char-hivemind" "Hivemind">>
//The rat places them on Karen's desk, half-hidden under a stack of bills. Karen will find them during her morning work session. She'll recognise them. She'll confront Jess.//
<</say>>
<<elseif $ch2Events.currentSabotageTarget is "megan-ryan">>
<p>The cat finds Megan's phone charger, the white cable coiled on her nightstand. She'll notice it missing within hours. The cat carries it to the wall vent near Ryan's door.</p>
<<say "char-hivemind" "Hivemind">>
//The rat deposits it under Ryan's desk. When Megan can't find her charger, she'll search. She'll find it in Ryan's room. She'll have to enter his space, and //stay// while she retrieves it.//
<</say>>
<<elseif $ch2Events.currentSabotageTarget is "dale-karen">>
<p>The cat finds Dale's BioGenesis security keycard hanging on its lanyard in the garage, on the hook by the side door. The cat bats it to the floor. The rat drags it through the baseboard gap.</p>
<<say "char-hivemind" "Hivemind">>
//The kitchen table. Face up. Where Karen sits every morning with her coffee. She'll see the BioGenesis logo. She'll pick it up. She'll wonder why Dale left his work ID in her space. //And then she'll start asking questions.////
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The item is in the rat's mouth. Now, placement. The hallway is dangerous. Family members pass through at irregular intervals. //Time the movements precisely. Place. Adjust. Retreat.////
<</say>>
<<minigame "stealth" 1 15 "Ch2-Op-Evidence-Success" "Ch2-Op-Evidence-Fail" `{ hitsNeeded: 3, safeZone: 30, shrinkPerHit: 5, speed: 2 }`>><<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
/* Track which specific target was planted */
<<if $ch2Events.currentSabotageTarget is "karen-dale">><<set $ch2Events.evidencePlant_karenDale to true>>
<<elseif $ch2Events.currentSabotageTarget is "jess-karen">><<set $ch2Events.evidencePlant_jessKaren to true>>
<<elseif $ch2Events.currentSabotageTarget is "megan-ryan">><<set $ch2Events.evidencePlant_meganRyan to true>>
<<elseif $ch2Events.currentSabotageTarget is "dale-karen">><<set $ch2Events.evidencePlant_daleKaren to true>>
<</if>><</nobr>>
<div class="passage-title">Operation Complete: Domestic Sabotage</div>
<<if $ch2Events.currentSabotageTarget is "karen-dale">>
<<addConditioning "karen" "psionic" 1>>
<img class="scene-img" src="media/scenes/symbiotic/op-sabotage-lipstick.webp" alt="Karen holding a lipstick tube found in Dale's jacket pocket, laundry basket on bed">
<p>Laundry day. The basket sits on the bed, heaped with darks. Karen works through it the way she works through everything, methodical, efficient, jaw set. She checks Dale's pockets before anything goes in the machine. Always has. It isn't suspicion, it's habit, the habit of a woman who once found a crumpled twenty and decided she'd rather be the one who finds things first.</p>
<p>Her hand slides into the breast pocket of his grey jacket. Her fingers close around something smooth, small, cylindrical.</p>
<p>She pulls it out.</p>
<p>A lipstick tube. She holds it up to the window light. The label faces her. Red Maple. Her shade. Her brand. The one she keeps in the bathroom drawer, second shelf, behind the moisturiser. Except it isn't there anymore, and now it's here, in the pocket of a jacket Dale wore to work.</p>
<p>Her face doesn't show anger, but something worse, something quieter, the confirmation of a thing already half-believed.</p>
<<say "char-karen" "Karen">>
<i>(turning the tube slowly between her fingers, voice flat)</i> ...Red Maple. I wondered where this went.
<</say>>
<p>She puts it in her bathroom drawer. Right back where it belongs. She doesn't slam the drawer. She closes it with the careful precision of a woman who has decided exactly how much sound she's willing to make.</p>
<p>That evening, Dale comes in through the garage door smelling like industrial cleaner and the particular exhaustion that sits on a man's shoulders after twelve hours of fluorescent light. He drops his keys on the counter. Looks at Karen, who is chopping onions with more focus than onions require.</p>
<<say "char-dale" "Dale">>
<i>(loosening his collar)</i> Everything okay?
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up, knife steady)</i> Fine.
<</say>>
<p>The word lands like a closed door. Dale stands in the kitchen for three more seconds, then goes upstairs to change. Karen's knuckles are white around the knife handle. The onions blur.</p>
<<say "char-hivemind" "Hivemind">>
//She won't confront him. Not yet. She'll catalogue it. File it alongside every late shift, every vague answer, every night he came home smelling like a building she's never been inside. The lipstick is a seed. It will grow in the dark space behind her ribs where trust used to be. //And when it blooms, she'll be looking for comfort somewhere else.////
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, planted evidence suspicion">>
<<if $karenRoute is "liberation">>
<p><span class="delve-intel">Karen route: Liberation accelerated. The planted lipstick erodes her trust in Dale, she'll seek comfort, and comfort means //freedom// from the marriage that's trapping her.</span></p>
<<elseif $karenRoute is "dominant">>
<p><span class="delve-intel">Karen route: Dominant accelerated. The planted lipstick gives her //evidence of betrayal//, and betrayal gives a controlling woman the moral licence to //take charge completely//.</span></p>
<<else>>
<p><span class="delve-intel">Karen's trust in Dale takes the hit either way. Which direction the fracture runs, toward leaving him or toward seizing control, follows whatever route she is already walking, not this single discovery.</span></p>
<</if>>
<<elseif $ch2Events.currentSabotageTarget is "jess-karen">>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "karen" "psionic" 1>>
<img class="scene-img" src="media/scenes/symbiotic/op-sabotage-pills.webp" alt="Three white pills on Karen's desk beside a calculator and mortgage statement">
<p>Karen is at her desk in the study, moving papers. She's reorganising the bill pile, a weekly ritual that involves sighing, a calculator, and the particular tight-lipped silence of a woman managing a budget that doesn't balance. Her hand brushes against something wedged between the mortgage statement and the electricity bill.</p>
<p>Three white pills, round, no markings. They roll across the desk surface and one drops to the carpet.</p>
<p>She picks it up between thumb and forefinger. Holds it close. Turns it. Smells it, and gets nothing. She reaches for her laptop with her other hand, types with one thumb while the pill sits on her palm like a verdict.</p>
<p>"White round pill no markings."</p>
<p>The search results load. Caffeine. Two hundred milligrams per tablet. Over-the-counter. Harmless in isolation. Her eyes lift from the screen to the ceiling, where directly above this room is Jess's bedroom. The textbook these fell from is Jess's. Organic Chemistry, third edition, the spine cracked at chapter twelve.</p>
<<say "char-karen" "Karen">>
<i>(staring at the ceiling, voice quiet and precise)</i> Caffeine pills. She's taking caffeine pills and hiding them in a //textbook//.
<</say>>
<p>A beat. Karen sets the pills in a row on the desk. Three white soldiers. She looks at them the way she looks at a problem, not with anger, not yet, but with the focused intensity of a woman assembling a case.</p>
<<say "char-karen" "Karen">>
<i>(quieter, almost to herself)</i> How bad is it up there that she needs these?
<</say>>
<p>She closes the laptop. Puts the pills in her cardigan pocket. She won't bring it up at dinner, because Karen never brings things up at dinner. She'll wait until Jess is alone. She'll knock on the door. And the conversation will have the particular controlled devastation of a mother who found something she wasn't supposed to find.</p>
<<say "char-hivemind" "Hivemind">>
//Not the pills. The //hiding//. Karen can tolerate caffeine. She cannot tolerate deception, not from the daughter she holds to the highest standard. The confrontation will crack Jess's careful facade. And Karen's control instinct will sharpen to a point. //Two women breaking along their own fault lines. Both easier to reach once broken.////
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, pill discovery">>
<<conditioningFeedback "psionic" 1 "Karen, maternal concern">>
/* Operations never advance a route. This plants the Karen-Jess conflict and conditions
both women; route progression belongs to dedicated route content, not op side effects. */
<p><span class="delve-intel">Karen-Jess conflict incoming.</span></p>
<<elseif $ch2Events.currentSabotageTarget is "megan-ryan">>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<img class="scene-img" src="media/scenes/symbiotic/op-sabotage-charger.webp" alt="Megan kneeling by Ryan's desk reaching for a phone charger, Ryan watching from his chair">
<p>Megan's phone is at three percent. The screen flashes the warning, red battery, the little icon gasping, and she tears through her room with the frantic efficiency of someone whose entire social life lives inside a glass rectangle.</p>
<p>Under the pillow, behind the nightstand, in the tangle of blankets at the foot of the bed. She checks the outlet by the mirror, the one by the closet, the one behind the laundry hamper. Nothing.</p>
<p>She stands in the hallway, phone clutched to her chest like a dying bird.</p>
<<say "char-megan" "Megan">>
<i>(leaning into Ryan's doorway, slightly breathless)</i> Is my... have you seen my charger? The white one.
<</say>>
<p>Ryan is at his desk, headphones around his neck, screen casting blue light across his face. He turns partway. Not all the way.</p>
<<say "char-ryan" "Ryan">>
<i>(not making eye contact)</i> What? No. I didn't... it's not...
<</say>>
<<say "char-megan" "Megan">>
<i>(already scanning the room, she spots it)</i> It's right here. Under your desk. How did it...
<</say>>
<p>She kneels. The carpet is warm under her knees, Ryan keeps his room too hot, always has, the radiator turned up to compensate for the window he never opens. The charger cable is tangled around the desk leg. She reaches for it and her forearm brushes the carpet. The biofilm residue, invisible and odourless, activates on skin contact. A warmth she doesn't register consciously. A chemical handshake between surface and skin.</p>
<p>She stands, charger in hand, and for a second they're close. Closer than they've been in months. The room is small and Ryan hasn't moved from his chair and Megan is right there, cable dangling from her fist, her cheeks pink from rushing. Their eyes meet. Half a second. Less.</p>
<p>Neither speaks.</p>
<<say "char-megan" "Megan">>
<i>(backing toward the door, too quickly)</i> Thanks. I mean, it was just under there. So. Yeah.
<</say>>
<p>She leaves. The door clicks shut. Ryan stares at the spot where she knelt for a long time before putting his headphones back on.</p>
<<say "char-hivemind" "Hivemind">>
//Proximity achieved. Duration: eleven seconds of shared space. The biofilm residue will metabolize through her forearm skin over the next two hours. A trace dose, but a dose nonetheless. She entered his space for the first time in a long while. Her nervous system registered //him//. His registered //her//. //The body remembers what the mind refuses to acknowledge.////
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, biofilm contact">>
<<conditioningFeedback "pheromone" 1 "Ryan, proximity exposure">>
<p><span class="delve-intel">Megan enters Ryan's space, biofilm exposure creates unconscious bonding.</span></p>
<<elseif $ch2Events.currentSabotageTarget is "dale-karen">>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "karen" "psionic" 1>>
<img class="scene-img" src="media/scenes/symbiotic/op-sabotage-keycard.webp" alt="BioGenesis security keycard face-up on the kitchen table beside Karen's coffee mug">
<p>Morning. The kitchen smells like coffee and the faintly burnt toast that Karen scrapes over the bin and pretends came out fine. She sits at the table, mug in hand, sorting through the day's first tasks in her head. Her eyes drop to the table surface.</p>
<p>The BioGenesis keycard lies face-up on the wood. Dale's photo, tired, unsmiling, the particular blankness of a man who's been asked to look at a camera after a twelve-hour shift. Security badge. Employee number. The BioGenesis logo in the upper left corner: clean, corporate, the blue and white of a company that handles things most people don't think about.</p>
<p>Karen picks it up. Turns it over. Nothing on the back. She sets it by Dale's mug, the brown one, the one that says WORLD'S OKAYEST DAD that Megan bought as a joke years ago. Karen's thumbnail taps the table twice. A thinking rhythm.</p>
<p>Dale comes downstairs. He's still buttoning his shirt, hair damp, moving with the slow heaviness of a man who didn't sleep enough and isn't surprised by it.</p>
<<say "char-karen" "Karen">>
<i>(casual, watching him over the rim of her mug)</i> You left your work badge on the table.
<</say>>
<p>Dale's hand finds it. He picks it up without looking at it, slides it into his back pocket. A practised motion. But his shoulders tighten, a small thing, visible only to someone watching for it.</p>
<<say "char-dale" "Dale">>
<i>(reaching for his mug, not meeting her eyes)</i> ...huh. Must've fallen out of my... yeah.
<</say>>
<p>Karen watches him pour coffee. He adds too much milk. He always adds too much milk when he's not thinking about what his hands are doing.</p>
<<say "char-karen" "Karen">>
<i>(setting her mug down, voice carefully neutral)</i> Dale. I've never actually seen the inside of your building. In over twenty years.
<</say>>
<<say "char-dale" "Dale">>
<i>(back still turned, stirring)</i> It's a lab, Karen. There's nothing to see.
<</say>>
<<say "char-karen" "Karen">>
<i>(picking up the keycard again, reading it)</i> Security clearance, restricted areas, an employee number with a prefix I've never seen on a normal badge. What do you actually //do// there?
<</say>>
<p>A silence. Four seconds. The coffee maker gurgles in the space between them.</p>
<<say "char-dale" "Dale">>
<i>(finally turning, taking the badge from her hand, gently but firmly)</i> I do my job. I come home. That's all you need to know.
<</say>>
<p>He takes his coffee to the garage. The door shuts behind him. Karen sits alone at the table. Her fingers trace the outline where the keycard sat, a faint rectangle of warmth on the wood. She picks up her phone. Puts it down. Picks it up again.</p>
<p>She types //BioGenesis// into the search bar. Pauses. Deletes it letter by letter. Sets the phone down.</p>
<p>But the name is in her head now. And Karen doesn't forget names.</p>
<<say "char-hivemind" "Hivemind">>
//Over twenty years of marriage to a man whose workplace she has never seen. The badge made it //real//, a photo, a number, a logo from a company she's never been invited to visit. Dale's refusal to explain wasn't hostile. It was //automatic//. The NDA is in his bones. But Karen registers evasion the way a seismograph registers tremors. //She typed the name. She deleted it. But the query is cached in her nervous system now, and it will surface again.// The fault line just deepened. I chose exactly where it runs.//
<</say>>
<<conditioningFeedback "psionic" 1 "Dale, evasion stress">>
<<conditioningFeedback "psionic" 1 "Karen, suspicion deepened">>
<p><span class="delve-intel">Family tension amplified. Karen's suspicion of Dale increases, the BioGenesis name is now in her head.</span></p>
<</if>>
<div class="evolve-unlock">Operation complete: Domestic Sabotage. The planted evidence has been found.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<failOperation "Item dropped, someone is coming">><</nobr>>
<p>A door opens. Footsteps. The cat drops the item and darts under the couch. The evidence lands somewhere harmless, and it'll be found eventually but not in the incriminating position.</p>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">+1 household suspicion, someone noticed the cat carrying something.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Information Warfare</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Intercept the family's mail before Karen collects it. Read contents via gecko + Delve intel. Choose what to hide, deliver, or redirect.</p>
<p><b>Hosts:</b> Dog (intercept at door) → Gecko (read contents)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> Low (dog carrying mail is normal behaviour)</p>
<p><b>Phase required:</b> Day (mailman arrives ~11:15 AM)</p>
</div>
<<if $house.dayPhase isnot "day">>
<p><span class="consume-fail">This operation requires the day phase. The mailman comes at 11:15 AM.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<opRequireHost "dog">>
<<if $player.currentHost is "dog">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Position Biscuit at the front door (2 biomass)" "Ch2-Op-Mail-Step1" 2>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 2>>
<<startOperation "mailIntercept">><</nobr>>
<div class="passage-title">Step 1: Intercept</div>
<img class="scene-img" src="media/scenes/symbiotic/op-mail-intercept.webp" alt="Dog with scattered mail at front door">
<p><span class="skill-used">Scent Tracking, detecting mailman approach</span></p>
11:15 AM. Biscuit lies on the hallway rug, chin on paws, ears pricked toward the front door. The mailman's route is predictable, same street, same side, same order. The dog can smell him three houses away. Aftershave and hand sanitiser and the faint copper of paper cuts.
<p>The mail slot rattles. Envelopes fan across the tile, white, white, cream, one with a red URGENT stamp that smells like machine toner and dread. Biscuit's jaw closes around the stack before the last envelope hits the floor.</p>
<p>Behind the couch. The dog drops the mail and sits on it.</p>
<<say "char-karen" "Karen">>
<i>(from the kitchen, not looking up from her laptop)</i> Biscuit? Was that the mail?
<</say>>
<p>The dog doesn't move. A beat. Karen's chair scrapes. Footsteps to the hallway. She sees the empty floor beneath the mail slot and frowns.</p>
<<say "char-karen" "Karen">>
<i>(muttering)</i> Could've sworn I heard... Biscuit, come here. Come.
<</say>>
<p>The dog trots out from behind the couch, tongue out, tail wagging, no mail in sight. Karen shakes her head and goes back to the kitchen. The mail stays hidden.</p>
<<say "char-hivemind" "Hivemind">>
//Good boy. Now, switch to the gecko. Those envelopes won't read themselves.//
<</say>>
<<opSwitch "gecko" "Switch to gecko and read the mail" "Ch2-Op-Mail-Step2">><<if recall("_mg_active") is "mailIntercept" and $operation.active is "mailIntercept">><<goto "Ch2-Op-Mail-Fail">><</if>>
<<nobr>><<bg "bg-hoffman-house">>
<<advanceOperation>><</nobr>>
<div class="passage-title">Step 2: Sort the Mail</div>
<img class="scene-img" src="media/scenes/symbiotic/op-mail-read.webp" alt="Gecko on envelope edge">
<p>The gecko slips between couch cushions and drops onto the hidden pile. Six envelopes, face-down, scattered. The gecko needs to identify the BioGenesis letter before Karen comes back for the mail.</p>
<<say "char-hivemind" "Hivemind">>
//Six envelopes. One target. Flip them to read the sender. Find the BioGenesis letter and hide it. //Quickly. She's already wondering where the mail went.////
<</say>>
<<if $houseState.hvacCompromised>>
<<nobr>>
/* HVAC compromised = mail is inside the house. Auto-intercept all letters. */
<<set _canTamperPkg to false>>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if $ryanRoute is "feminization" and _hasAbility and $adaptations.rat.unlocked.includes("contaminator")>><<set _canTamperPkg to true>><</if>>
<<hasSkillTreeAbility "Biofilm Residue">>
<<if $ryanRoute is "familySeeker" and _hasAbility and $adaptations.gecko.unlocked.includes("precision_touch")>><<set _canTamperPkg to true>><</if>>
<<set _autoTotal to _canTamperPkg ? 4 : 3>>
<<set $operation.flags.mailResults to { biogenesis: true, mortgage: true, tuition: true, "package": _canTamperPkg, found: _autoTotal, total: _autoTotal }>>
<</nobr>>
<div class="data-panel-muted">HVAC network active, the mail sits on the hallway table. The duct network gives you all the time you need. Every letter sorted, every envelope reordered. No minigame required.</div>
<<say "char-hivemind" "Hivemind">>
//The ducts changed everything. The mail enters the house through the slot and lands inside my territory. No porch. No timer. No carrier watching. I sort at my leisure. Karen finds exactly what I want her to find.//
<</say>>
[[Continue to results->Ch2-Op-Mail-Results]]
<<else>>
<<minigame "letters" 1 30 "Ch2-Op-Mail-Results" "Ch2-Op-Mail-Fail">>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _mr to $operation.flags.mailResults or { biogenesis: false, mortgage: false, tuition: false, "package": false, found: 0, total: 4 }>>
/* Persist the intercept result BEFORE completeOperation clears $operation.flags.
Downstream passages (BioGenesisRead, MissedRecap, MortgageFail, etc.) read
_mr from $ch2Events.lastMailResults, without this line they'd see an empty
object and fire every fail branch even when letters were hidden successfully. */
<<set $ch2Events.lastMailResults to _mr>>
<<completeOperation>>
<<set $ch2Events.mailIntercepted to true>>
<<set $ch2Events.lastMailDay to $day>><</nobr>>
<div class="passage-title">Mail Intercept, Results</div>
<<say "char-hivemind" "Hivemind">>
//<<= _mr.found >> of <<= _mr.total >> valuable letters intercepted. The rest go through to Karen.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Intercepted Mail</div>
<<if _mr.biogenesis>><div style="color:#4caf50;">✓ BioGenesis Corp, Incident Report hidden. Lab investigation delayed.</div><<addFamilySuspicion "dale" -1>><<else>><div style="color:#f44336;">✗ BioGenesis Corp, letter delivered. Karen will read it.</div><</if>>
<<if _mr.mortgage>><div style="color:#4caf50;">✓ Mortgage FINAL NOTICE, hidden. Karen stays calm.</div><<addFamilySuspicion "karen" -1>><<else>><div style="color:#f44336;">✗ Mortgage FINAL NOTICE, delivered. Karen will panic.</div><</if>>
<<if _mr.tuition>><div style="color:#4caf50;">✓ Jess's tuition overdue, hidden. She doesn't know yet.</div><<addConditioning "jess" "dream" 1>><<else>><div style="color:#f44336;">✗ Jess's tuition overdue, delivered. She'll spiral.</div><</if>>
<<if _mr.total gte 4>><<if _mr["package"]>><div style="color:#4caf50;">✓ Ryan's package slip, intercepted. You control the delivery.</div><<set $ch2Events.ryanPackageIntercepted to true>><<else>><div style="color:#f44336;">✗ Ryan's package slip, delivered. He'll pick it up himself.</div><</if>><</if>>
</div>
/* Route to consequences based on what was missed. Package only counts as a miss if it was a target (total >= 4). */
<<set _packageMissed to (_mr.total gte 4 and not _mr["package"])>>
<<if not _mr.biogenesis>>
[[Continue, Karen finds the BioGenesis letter->Ch2-Op-Mail-BioGenesisRead]]
<<elseif not _mr.mortgage or not _mr.tuition or _packageMissed>>
[[Continue, consequences of missed mail->Ch2-Op-Mail-MissedRecap]]
<<else>>
<div class="evolve-unlock">Perfect interception. All <<= _mr.total >> valuable letters hidden. The family sees only junk mail today.</div>
/* Emergent Intelligence, optional hard mode on perfect intercept */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiMailToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, forge replacement letters->Ch2-Op-Mail-EI]]</div>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.eiMailToday to true>><</nobr>>
<div class="passage-title">Deep Analysis: Letter Forgery</div>
<<say "char-hivemind" "Hivemind">>
//Perfect interception creates an opportunity. The network can do more than //hide// the mail. It can //replace// it. The gecko forges substitute letters using ink samples from Karen's desk. The rat sources paper from the recycling bin. The dog's nose confirms the scent matches. Four hosts. One forgery operation. If the handwriting passes, Karen reads letters that say exactly what I want them to say.//
<</say>>
<p>The gecko's Precision Touch reproduces handwriting with sub-millimetre accuracy, but each stroke is a gauntlet of pressure points the pen nib has to thread cleanly. Guide the nib through every loop and crossbar in order. Clip an edge and the ink blots, and the forgery burns.</p>
<<minigame "balance" 2 0 "Ch2-Op-Mail-EI-Success" "Ch2-Op-Mail-EI-Fail" `{ pipesNeeded: 12, gapSize: 140, pipeSpacing: 190, gravity: 480, flapPower: 240, scrollSpeed: 110 }`>><<nobr>><<bg "bg-hoffman-house">>
<<addFamilySuspicion "karen" -1>>
<<addFamilySuspicion "jess" -1>><</nobr>>
<div class="passage-title">Forgery Complete</div>
<p>The replacement letters are perfect. The BioGenesis envelope now contains a generic safety compliance update, //nothing to worry about//. The mortgage notice has become a confirmation of payment received. The tuition letter is a scholarship notification.</p>
<p>Karen reads them at the kitchen table. Her shoulders drop. She smiles, the first unforced smile in a long while.</p>
<<say "char-hivemind" "Hivemind">>
//She believes the letters. The forged reality is //better// than the real one, and her brain, already softened by the pheromone conditioning, accepts it without resistance. She thinks the mortgage is paid. She thinks Jess's tuition is covered. The relief is genuine. The foundation it stands on is mine.//
<</say>>
<p><span class="consume-success">Bonus: −1 Karen suspicion, −1 Jess suspicion. The forged letters rewrote her anxiety.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<</nobr>>
<div class="passage-title">Forgery Detected</div>
<p>The gecko's handwriting slipped. One letter, the mortgage notice replacement, has a wobble in Karen's signature that the real Karen would never produce. The half-finished forgery sits on the hallway floor where the gecko dropped it during the retreat.</p>
<p>Karen finds it at noon. A letter addressed to her, in her handwriting, that she didn't write. She holds it up to the kitchen light. Studies the ink. Her jaw sets.</p>
<<say "char-karen" "Karen">>
<i>(to no one, voice very quiet)</i> ...what the //hell// is this?
<</say>>
<<say "char-hivemind" "Hivemind">>
//She found the forgery. She can't explain it, but she knows it's wrong. The base interception succeeded, but the failed forgery has introduced an anomaly she'll obsess over. Something in this house is not what it seems. She's right.//
<</say>>
<p><span class="consume-fail">Operation COMPROMISED. +1 household suspicion. Karen found the forged letter.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set _labStillLive to ($labEvents and $labEvents.nextCheck and not $labEvents.trailCold and $labOutcome and $labOutcome.eventRate gt 0)>>
<<if _labStillLive>><<set $labEvents.nextCheck to Math.max($day + 1, $labEvents.nextCheck - 2)>><</if>><</nobr>>
<div class="passage-title">The Letter on the Kitchen Table</div>
<img class="scene-img" src="media/scenes/he-mail-biogenesis-confrontation.webp" alt="Karen and Dale at the kitchen table, the BioGenesis letter open between them">
<p>Evening. Karen sits at the kitchen table. The BioGenesis letter lies open in front of her, crisp white paper, corporate letterhead, the blue logo that Dale sees every day but Karen has never examined this closely. Her reading glasses are on. Her jaw is set.</p>
<p>Dale stands in the kitchen doorway. Still in his work boots. He hasn't moved since she held up the letter and said his name.</p>
<<say "char-karen" "Karen">>
<i>(voice level, controlled, the voice she uses when she is about to detonate and has decided not to yet)</i> "RE: Incident Report." //Incident//. At your lab. And they're writing to you //at home//.
<</say>>
<<say "char-dale" "Dale">>
<i>(hand on the doorframe, knuckles white)</i> Karen, it's nothing. It's standard procedure. They send these to everyone when...
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting him off)</i> What happened at BioGenesis, Dale?
<</say>>
<p>A silence. The refrigerator hums. Biscuit's collar jingles from the garage. Dale's eyes move from Karen to the letter to the window and back to Karen.</p>
<<say "char-dale" "Dale">>
<i>(quietly)</i> ...there was a containment issue. A specimen got out. It's been handled.
<</say>>
<<say "char-karen" "Karen">>
<i>(reading from the letter)</i> "...recommend enhanced monitoring of home environment for potential biological contamination..." <i>(looking up)</i> Dale. What kind of //specimen//?
<</say>>
<p>Dale doesn't answer. He takes his coffee to the garage. The door shuts. Karen sits alone with the letter. She reads it again. Then she folds it and puts it in her pocket, not in the bill stack, not behind the bread box. In her //pocket//.</p>
<<say "char-hivemind" "Hivemind">>
//She knows. Not everything, but enough to start asking questions I don't want answered. The letter mentions "biological contamination" and "enhanced monitoring." //Karen Hoffman is now actively looking for something wrong in this house.// The investigation clock just accelerated. Piggyback to Lab is now //urgent//.//
<</say>>
<<addFamilySuspicion "karen" 1>>
<<addFamilySuspicion "dale" 1>>
<<if _labStillLive>>
<p><span class="consume-fail">+1 Karen suspicion, +1 Dale suspicion. Lab investigation accelerated by 2 days.</span></p>
<<else>>
<p><span class="consume-fail">+1 Karen suspicion, +1 Dale suspicion.</span></p>
<</if>>
<<set _mr to $ch2Events.lastMailResults or {}>>
<<set _packageMissed to (_mr.total gte 4 and not _mr["package"])>>
<<if not _mr.mortgage or not _mr.tuition or _packageMissed>>
[[Continue, other missed mail->Ch2-Op-Mail-MissedRecap]]
<<else>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _mr to $operation.flags.mailResults or $ch2Events.lastMailResults or {}>>
<<set $ch2Events.lastMailResults to _mr>><</nobr>>
<div class="passage-title">Missed Mail, Consequences</div>
<<set _packageMissed to (_mr.total gte 4 and not _mr["package"])>>
<<if not _mr.mortgage>>
[[Continue, Karen finds the mortgage notice->Ch2-Op-Mail-MortgageFail]]
<<elseif not _mr.tuition>>
[[Continue, Jess finds the tuition letter->Ch2-Op-Mail-TuitionFail]]
<<elseif _packageMissed>>
[[Continue, Ryan collects his package->Ch2-Op-Mail-PackageFail]]
<<else>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">><</nobr>>
<div class="passage-title">The Red Stamp</div>
<img class="scene-img" src="media/scenes/symbiotic/op-mail-mortgage-fail.webp" alt="Karen at kitchen table with FINAL NOTICE letter">
<p>Evening. The kitchen smells of reheated pasta and the sour tang of coffee left on the burner too long. Karen sits at the table with the mail fanned out in front of her, junk sorted left, bills sorted right, the way she always does it. Efficient. Controlled.</p>
<p>Her hand stops on the cream envelope. The one with the red stamp.</p>
<p>FINAL NOTICE. First National Bank. Mortgage Services Division.</p>
<p>She opens it with her thumbnail. Reads the first paragraph. Reads it again. Her jaw works, a small, tight motion, the muscle bunching beneath her ear. She puts the letter down. Picks it up. Puts it down again.</p>
<<say "char-karen" "Karen">>
<i>(to no one, voice flat)</i> Three months.
<</say>>
<p>She dials the bank. The hold music plays for four minutes. She sits perfectly still through all of it, spine straight, reading glasses on, the letter squared in front of her like a defendant's exhibit. When the representative picks up, her voice is the one she uses for clients. Professional. Measured.</p>
<<say "char-karen" "Karen">>
Yes, this is Karen Hoffman. Account number 4471-889. I'm calling about the notice dated <i>(checking the letter)</i> the fourteenth. I'd like to discuss restructuring options.
<</say>>
<p>A pause. The representative talks. Karen's pen taps the table, once, twice, three times. Then it stops.</p>
<<say "char-karen" "Karen">>
<i>(voice thinning)</i> I understand. And if we can't make the full amount by the thirty-first, what happens then?
<</say>>
<p>The representative talks again. Karen's hand moves to her temple. Presses. The pen rolls off the table and she doesn't reach for it.</p>
<<say "char-karen" "Karen">>
<i>(quietly)</i> Thank you. I'll... yes. I'll call back before the deadline.
<</say>>
<p>She hangs up. Sits there. Eleven minutes without moving, and the parasite counts every one. Then she opens her laptop, pulls up the family budget spreadsheet, and begins auditing every line item. The grocery column. The electricity column. Ryan's internet bill. Jess's textbook allowance. Dale's overtime hours, cross-referenced against his pay stubs.</p>
<p>The tightness behind her eyes, the one the pheromones had been loosening through careful, invisible work, snaps back to full tension. A wire pulled taut. Karen Hoffman is no longer a woman winding down. She is a woman looking for where the money went.</p>
<<say "char-hivemind" "Hivemind">>
//Financial threat has overridden the pheromone conditioning. Cortisol spike neutralising serotonin gains. She's auditing the household. Every anomaly, every expense, every pattern that doesn't fit. Hypervigilance. The worst possible state for a host under conditioning. Every strange behaviour, every mood shift I've engineered, she's going to notice all of it now.//
<</say>>
<<addFamilySuspicion "karen" 1>>
<p><span class="consume-fail">+1 Karen suspicion, financial crisis triggers hypervigilance, partially reversing pheromone gains</span></p>
<<set _mr to $ch2Events.lastMailResults or {}>>
<<set _packageMissed to (_mr.total gte 4 and not _mr["package"])>>
<<if not _mr.tuition>>
[[Continue, Jess finds the tuition letter->Ch2-Op-Mail-TuitionFail]]
<<elseif _packageMissed>>
[[Continue, Ryan collects his package->Ch2-Op-Mail-PackageFail]]
<<else>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">><</nobr>>
<div class="passage-title">The Tuition Letter</div>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/op-mail-tuition-fail-punk.webp" alt="A 21 year old woman with purple-and-black dyed hair and a nose stud at the kitchen counter in a cropped band tee, holding an opened envelope and a black Sharpie, bored expression, early morning light">
<p>Next morning. 6:40 AM. Jess is already up, she's //always// already up, standing at the kitchen counter in the cropped band tee she sleeps in. Protein bar in one hand. The mail Karen left in the bill stack next to her left elbow. She shouldn't be going through it. She knows she shouldn't. Old habit. It dies slowly.</p>
<p>The envelope from the university bursar's office is third in the stack. Thin. Official. The kind of envelope that used to make her stomach drop.</p>
<p>She opens it. Reads it once. Her face does //nothing//, because the wire that would have made her face //do something// is gone. The punk transformation took the tuition-anxiety circuit with it and she has not missed the circuit even once since the dye dried.</p>
<<say "char-jess" "Jess">>
<i>(flat, to the letter, under her breath)</i> Twenty-three hundred. Late fee's already applied. //So?//
<</say>>
<p>She uncaps the Sharpie with her teeth. Writes across the top of the letter in thick black capitals, //LOL//, and signs it //J.// underneath. Drops the letter face-up back on top of the bill stack so Karen sees it when she comes down. Finishes the protein bar. Rinses the wrapper out and puts it in the recycling, because anarchy is not about leaving recyclables in the trash, thank you very much.</p>
<p>Jess is already out the door before Karen comes down, backpack slung over one shoulder, earbud in, Bleed Through demo at low volume, the specific indifference of a twenty-one-year-old who has decided that her mother's mortgage is her mother's problem and her tuition is something she will either figure out or not, and either outcome is //fine//. The door closes with a clean unsentimental click at 7:02.</p>
<p>Karen comes down at 7:15. Coffee. Robe. She sees the letter before she sees the mug.</p>
<p>She picks it up. Reads the bursar's-office text. Reads the //LOL// across the top. Reads the //J.// underneath. Reads all three again in the order her brain will not let her stop re-reading them in.</p>
<<say "char-karen" "Karen">>
<i>(to the empty kitchen, management voice thin and wrong)</i> ...Jess. When did... when did //that// start?
<</say>>
<p>Her free hand finds the edge of the counter. She does not pour the coffee. The letter stays in her left hand and the Sharpie handwriting is //not// her daughter's handwriting, or it //is// her daughter's handwriting, the shape of the //J//, the way the //L// kinks at the bottom, but the //register// isn't. Jess does not write //LOL// on official correspondence. Jess doesn't write //LOL// on anything. That is not the Jess whose bedroom is seven steps above Karen's head. That is a Jess who exists somewhere Karen has not been looking.</p>
<p>The letter goes in the robe pocket, the pocket, always the pocket, but Karen does not stop standing at the counter. Her eyes start moving around the kitchen in the specific way her eyes move when she is cataloguing //what she has missed//. The dishes are in the rack. The fridge magnets are in the same places. The protein bar wrapper is in the recycling. Everything is //fine//. Everything has been fine //for weeks//. That is the problem.</p>
<<say "char-hivemind" "Hivemind">>
//The lever landed on the wrong lock. I built this operation against Jess's tuition-anxiety wire; the punk transformation retired that wire. But the //signal//, the Sharpie-defaced letter, did not vanish when the target did. The signal jumped to Karen.//
//Karen's management reflex is flashing //a pattern she has not been tracking//. Her suspicion wire was calibrated for //household threats//, not //household changes//, and the //LOL// is a change, unannounced, unapologetic, legible. She will spend the morning re-reading rooms. She will notice things. //The operation worked. It just worked on the wrong person.//
<</say>>
<<addFamilySuspicion "karen" 1>>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">+1 Karen suspicion. +1 house suspicion. The tuition-anxiety wire is dead on Jess, but the Sharpie defacement rerouted the alertness to Karen, who has started noticing what she has been missing.</span></p>
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-mail-tuition-fail.webp" alt="Jess holding a letter at the kitchen counter, Karen behind her">
<p>Next morning. 6:40 AM. Jess is already up, she's always already up, standing at the kitchen counter with a protein bar in one hand and the mail Karen left in the bill stack. She shouldn't be going through it. She knows she shouldn't. But Jess Hoffman doesn't trust other people to manage things that affect her future, and her tuition is her future.</p>
<p>The envelope from the university bursar's office is third in the stack. Thin. Official. The kind of envelope that never contains good news.</p>
<p>She opens it. Reads it once. Her face doesn't change, that's how you know it's bad. Jess's face only stays neutral when she's calculating damage.</p>
<<say "char-jess" "Jess">>
<i>(under her breath)</i> Two thousand. Two, <i>(stops, recalculates)</i>, twenty-three hundred with the late fee.
<</say>>
<p>She puts the letter face-down on the counter. Eats the protein bar in four mechanical bites. Opens her phone calculator. Types numbers. Deletes them. Types different numbers. The math never works, it can't work, because Jess doesn't have a job and the scholarships don't cover incidentals and her parents are already three months behind on the mortgage, which she is not supposed to know about but does because she reads the mail.</p>
<p>Karen comes down at 7:15. Coffee. Robe. The autopilot morning, until she sees Jess standing at the counter with the letter.</p>
<<say "char-karen" "Karen">>
<i>(stopping in the doorway)</i> What's that?
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up)</i> Tuition's overdue. Twenty-three hundred. Late fee's already applied.
<</say>>
<<say "char-karen" "Karen">>
<i>(crossing to the counter, voice shifting into management mode)</i> Let me see it.
<</say>>
<p>Karen reads the letter. Her expression tightens, the same jaw-clench from last night, the mortgage muscle, but she smooths it before Jess can catalogue it. Too late. Jess already saw.</p>
<<say "char-jess" "Jess">>
<i>(flat, precise)</i> Can we cover it?
<</say>>
<<say "char-karen" "Karen">>
<i>(folding the letter, putting it in her robe pocket, the pocket, always the pocket)</i> I'll handle it. It's a billing delay, that's all. Your father's overtime should clear by...
<</say>>
<<say "char-jess" "Jess">>
<i>(cutting her off)</i> Mom. I can do the math.
<</say>>
<p>A silence. The coffee machine gurgles. Karen's hand hovers over the mug, she doesn't pour. Jess's eyes are on her, that flat analytical gaze that misses nothing and forgives less.</p>
<<say "char-karen" "Karen">>
<i>(quietly, the management voice gone)</i> I know you can. Just, let me handle it, Jess. Please.
<</say>>
<<say "char-jess" "Jess">>
<i>(picking up her backpack)</i> I'll look at work-study options. The library has openings.
<</say>>
<p>She leaves. Doesn't slam the door, that would be emotional, and Jess Hoffman doesn't do emotional. She closes it with the precise click of someone who has already decided to solve this herself and has written off her parents' capacity to do it for her.</p>
<p>Karen stands alone in the kitchen. Pours the coffee. Drinks it black, the way she does when she's punishing herself.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's anxiety is now externally sourced, financial threat, parental inadequacy, loss of academic standing. Her concentration will fracture. Study routines disrupted. Sleep patterns degraded. Normally this would be useful, anxious targets are vulnerable targets. But Jess processes anxiety as //vigilance//. She'll tighten every habit, audit every variable, notice every inconsistency. Including mine.//
<</say>>
<<addFamilySuspicion "jess" 1>>
<p><span class="consume-fail">+1 Jess suspicion, financial anxiety heightens analytical vigilance</span></p>
<</if>>
<<set _mr to $ch2Events.lastMailResults or {}>>
<<set _packageMissed to (_mr.total gte 4 and not _mr["package"])>>
<<if _packageMissed>>
[[Continue, Ryan collects his package->Ch2-Op-Mail-PackageFail]]
<<else>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The Package Slip</div>
<<set _mr to $ch2Events.lastMailResults or {}>>
<<if $ryanRoute is "feminization">>
<p>Ryan found the package slip in the afternoon mail. He went to the post office alone, headphones in, hood up, the full invisibility kit. Inside the package: clothing he ordered under a different name. A pink shirt. A skirt. Things that don't match the Ryan Hoffman that this family thinks it knows.</p>
<p>He smuggled it upstairs in his backpack. Hid it in the back of his closet behind the winter coats. Nobody saw. Nobody asked.</p>
<<say "char-hivemind" "Hivemind">>
//The package contained clothing ordered under the name "Lily." I lost control of the delivery window, Ryan now has access to items that could have been intercepted, examined, tampered with. The Contaminator adaptation would have turned that fabric into a conditioning vector. Instead, it's just a shirt. For now.//
<</say>>
<<else>>
<p>Ryan found the package slip and picked up the delivery himself. A VR headset, mid-range, nothing special, ordered with birthday money he'd been saving since October. He unboxed it in his room with the door locked.</p>
<<say "char-hivemind" "Hivemind">>
//Gaming hardware. The headset's facial contact foam would have been an ideal substrate for Biofilm Residue, direct skin absorption across the forehead, nasal bridge, and cheeks during extended sessions. That opportunity is gone. The headset is clean. Ryan will use it uncontaminated.//
<</say>>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* ================================================================
PACKAGE TAMPERING, Route-dependent
Requires: ryanPackageIntercepted flag from mail intercept.
Feminization: Pheromone Specialization + Contaminator (rat)
Family: Biofilm Residue + Precision Touch (gecko)
================================================================ */<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Package Tampering</div>
<<if $ryanRoute is "feminization">>
<div class="data-panel">
<div class="data-panel-title">Briefing, Lily's Shirt</div>
<p>Ryan's intercepted package contains clothing ordered under the name "Lily." A pink shirt, polyester-cotton blend, close-fitting, designed to be worn against skin. The Contaminator adaptation can metabolise pheromone compounds into the fabric at a molecular level. Once Ryan puts it on, the shirt becomes a sustained-contact conditioning vector. Every minute of skin contact delivers compound.</p>
<p><b>Host:</b> Rat (Contaminator processes the fabric)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> None (the package is already in our possession)</p>
<p><b>Phase required:</b> Any (Ryan is not present during tampering)</p>
</div>
<<opRequireHost "rat">>
<<if $player.currentHost is "rat">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Lace the shirt with pheromone compound (2 biomass)" "Ch2-Op-PackageTamper-Fem" 2>></div>
<</if>>
<<elseif $ryanRoute is "familySeeker">>
<div class="data-panel">
<div class="data-panel-title">Briefing, VR Headset</div>
<p>Ryan's intercepted package contains a VR headset. The facial contact foam, forehead pad, cheek rests, nose bridge, presses directly against skin during use. Biofilm Residue applied to the foam creates a sustained transdermal delivery system. The compound absorbs through facial skin and nasal mucosa during extended VR sessions. Ryan plays for hours at a time.</p>
<p><b>Host:</b> Gecko (Precision Touch for delicate application)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> None (the package is already in our possession)</p>
<p><b>Phase required:</b> Any (Ryan is not present during tampering)</p>
</div>
<<opRequireHost "gecko">>
<<if $player.currentHost is "gecko">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Coat the VR headset with biofilm compound (2 biomass)" "Ch2-Op-PackageTamper-Family" 2>></div>
<</if>>
<</if>>
[[Abort operation->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 2>>
<<set $ch2Events.ryanPackageTampered to true>>
<<startOperation "packageTamperFem">>
<<completeOperation>><</nobr>>
<div class="passage-title">Lacing the Shirt</div>
<img class="scene-img" src="media/scenes/symbiotic/op-tamper-shirt.webp" alt="Rat crouched on pink fabric, secreting compound">
<p>The rat drags the shirt from the opened package onto the basement floor. Pink polyester-cotton, size small, the tag still attached. It smells like warehouse plastic and the faintest trace of lavender dryer sheets from whoever packed it.</p>
<p>The Contaminator glands activate. The rat's saliva changes composition, the pheromone substrate, clear and odourless, secretes from modified sublingual glands. The rat works methodically: collar first, where the fabric will press against the neck and throat. Then the chest panel, maximum skin contact area. Then the inner sleeves, where sweat will activate the compound during prolonged wear.</p>
<p>The compound soaks into the weave and dries invisible. No residue. No scent a human nose could detect. The fabric feels identical, soft, slightly stretchy, the kind of shirt someone would put on without thinking twice.</p>
<<say "char-hivemind" "Hivemind">>
//Compound integrated. The shirt is now a wearable conditioning device. Polyester-cotton blend holds the substrate for approximately seventy-two hours before degradation. Every square centimetre of skin contact delivers a low-level pheromone dose. When Ryan puts this on as Lily, elevated heart rate, heightened emotional state, the vulnerability of inhabiting a secret identity, the absorption rate will triple. The fabric becomes a second skin. My skin.//
<</say>>
<p>The rat repacks the shirt. Folds it the way it was folded. Seals the package. Pushes it back behind the couch where the dog hid the mail.</p>
<<say "char-hivemind" "Hivemind">>
//The package will be placed where Ryan will find it. When he puts the shirt on, and he will, because Lily needs her clothes, the conditioning session begins automatically. No host required. No proximity needed. The shirt does the work.//
<</say>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "package tampered, sustained delivery prepared">>
<p><span class="evolve-unlock">Operation complete. +1 SP. Ryan's clothing is now a conditioning vector. The NSFW scene will trigger when Ryan wears the shirt.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 2>>
<<set $ch2Events.ryanPackageTampered to true>>
<<startOperation "packageTamperFamily">>
<<completeOperation>><</nobr>>
<div class="passage-title">Coating the Headset</div>
<img class="scene-img" src="media/scenes/symbiotic/op-tamper-vr.webp" alt="Gecko applying biofilm to VR headset foam padding">
<p>The gecko drops from the shelf onto the opened box. The VR headset sits in its foam cradle, matte black plastic, adjustable head strap, the facial interface foam still factory-fresh. The gecko's toe pads find the textured surface and begin.</p>
<p>Precision Touch activates. The gecko's modified toe pads secrete Biofilm Residue in controlled micro-doses, painting the compound onto every surface that will contact Ryan's face. The forehead pad first, largest contact area, direct skin absorption. Then the cheek rests, where sweat will accumulate during extended sessions. The nose bridge last, nasal mucosa provides the fastest absorption pathway.</p>
<p>The biofilm dries clear. Odourless. The foam feels unchanged, same texture, same density, same factory smell. A human hand would notice nothing. A human face, pressed into the foam for hours at a time, will absorb everything.</p>
<<say "char-hivemind" "Hivemind">>
//Biofilm application complete. The headset's facial interface is now a transdermal delivery system. During a standard two-hour VR session: forehead absorption delivers baseline compound, nasal absorption provides accelerated uptake, cheek contact maintains sustained levels. Ryan's gaming sessions average three to four hours. By the end of his first session, the compound will have penetrated deep enough to influence his dream cycle that night.//
<</say>>
<p>The gecko retreats. The headset goes back in its box. The box goes back behind the couch.</p>
<<say "char-hivemind" "Hivemind">>
//When Ryan straps this on, the VR creates a closed environment, dark, warm, immersive. The compound works best when the subject is dissociated from physical reality. VR provides exactly that. His body will be in his bedroom. His mind will be somewhere else entirely. And in that gap between body and awareness, that's where I build.//
<</say>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "VR headset coated, transdermal delivery prepared">>
<p><span class="evolve-unlock">Operation complete. +1 SP. Ryan's VR headset is now a conditioning vector. The NSFW scene will trigger during Ryan's next VR session.</span></p>
[[Return to operations->Ch2-Op-Overview]]/* Legacy redirect, old passage name, in case any links still point here */
<<goto "Ch2-Op-Mail-Results">>
/* ================================================================
OPERATION FAILURE PASSAGES, Tier 1
Fired by minigame failure. Apply suspicion, show narrative, return to Overview.
================================================================ */<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "The rat was spotted near the washing machine">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>The pipe connection fails. Water sprays from a loose joint and the rat scrambles backward into the wall cavity, claws scraping against copper. From upstairs, Karen's footsteps pause.</p>
<<say "char-karen" "Karen">>
<i>(calling from the top of the stairs)</i> ...did something just //bang// in the basement?
<</say>>
<p>She comes down. Inspects the washing machine. Sees nothing, the rat is already behind the drywall, but the water on the floor and the strange smell linger. She frowns. Wipes it up. Makes a mental note.</p>
<<say "char-hivemind" "Hivemind">>
//Failed. The compound didn't reach the drainage system. Karen is suspicious but can't identify the cause. The operation can be retried, but the window is narrower now.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Operation can be retried from the Operations menu (biomass cost applies again).</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "The dog scattered the mail too visibly">>
/* Determine if package was a valid target (same logic as minigame envelope setup) */
<<set _canTamperPkg to false>>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if $ryanRoute is "feminization" and _hasAbility and $adaptations.rat.unlocked.includes("contaminator")>><<set _canTamperPkg to true>><</if>>
<<hasSkillTreeAbility "Biofilm Residue">>
<<if $ryanRoute is "familySeeker" and _hasAbility and $adaptations.gecko.unlocked.includes("precision_touch")>><<set _canTamperPkg to true>><</if>>
<<set _failTotal to _canTamperPkg ? 4 : 3>>
<<set $ch2Events.lastMailResults to { biogenesis: false, mortgage: false, tuition: false, "package": false, found: 0, total: _failTotal }>><</nobr>>
<div class="passage-title">Operation Failed, Total Loss</div>
<p>The envelopes scatter across the porch in the wrong order. The dog panics, too many smells, too many targets. By the time you identify the right envelope, the mail carrier is already looking back over his shoulder.</p>
<p>The carrier walks back. Collects the scattered mail. Mutters something about the dog. Rings the doorbell. Karen answers. He hands her the full stack, every envelope, every notice, every red-stamped //FINAL// and //URGENT// and //OVERDUE//. The carrier tips his hat. Karen holds the pile against her chest. Her eyes are already scanning.</p>
<<say "char-hivemind" "Hivemind">>
//Total interception failure. All <<= _failTotal >> high-value letters delivered. The BioGenesis incident report. The mortgage notice. Jess's tuition demand.<<if _canTamperPkg>> Ryan's package slip.<</if>> Every vulnerability this family is hiding, Karen is about to read all of them at once.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. All mail delivered to Karen.</span></p>
[[Continue, Karen opens the mail->Ch2-Op-Mail-BioGenesisRead]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "The gecko triggered the phone's lockout">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>Wrong pattern. The phone vibrates, a harsh buzz against the nightstand. The screen flashes red: //Too many attempts. Try again in 30 minutes.//</p>
<p>The gecko's toe pads lift off the glass. The phone is locked. Thirty minutes is //too long//, the owner will return, see the lockout screen, and know someone tried to access their device.</p>
<<say "char-hivemind" "Hivemind">>
//Locked out. The phone's security held. The owner will see the failed-attempt notification and change their pattern. Next attempt will require new intelligence, the old clues are burned.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Operation can be retried from the Operations menu.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "The gecko dropped the evidence in the wrong spot">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>The timing was off. The gecko's grip on the evidence item slipped at the wrong moment, a footstep in the hallway, a door opening too soon. The item falls in the wrong place: visible, obvious, //clearly planted//.</p>
<p>Karen finds it an hour later. She picks it up, frowns at it, and puts it in the kitchen drawer with the other things she doesn't have time to think about. The planting didn't land. The seeds of suspicion between family members didn't take.</p>
<<say "char-hivemind" "Hivemind">>
//Clumsy. The placement wasn't natural enough, Karen filed it under //household clutter// instead of //evidence of betrayal//. The operation needs to be cleaner next time. Precision Touch needs to be //precise//.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Operation can be retried from the Operations menu.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "The rat was heard in the pantry">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>A jar tips. Not far, a centimetre, maybe two, but the //clink// of glass on glass carries through the quiet kitchen like a gunshot. The rat freezes. From the living room: Karen's head turns.</p>
<<say "char-karen" "Karen">>
<i>(standing, listening)</i> ...the cat?
<</say>>
<p>She walks to the pantry. Opens the door. The rat is already behind the flour bags, pressed flat against the back wall, not breathing. Karen peers inside. Reaches for the jar that moved. Straightens it. Looks at the flour bag. Frowns.</p>
<p>She closes the pantry door. But she checks the mousetraps before going to bed.</p>
<<say "char-hivemind" "Hivemind">>
//Close. The contamination didn't reach the food supply, the jar noise interrupted the deposit cycle. Karen is now aware that something moved in her pantry. The mousetraps are a problem. Retry with better timing.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Operation can be retried from the Operations menu.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-attic">>
/* Skip mode (minigames disabled) auto-succeeds T0 ops at a +4 biomass
surcharge (see minigame-engine T0 block), the briefing and link label
must state the real total or the op reads as overcharging. */
<<set _vcSkipMode to ($cheatSettings and $cheatSettings.minigamesDisabled) or false>>
<<set _vcLabel to _vcSkipMode ? "Begin: Drop into the central vent junction (5 biomass, minigame skipped)" : "Begin: Drop into the central vent junction (1 biomass)">>
<</nobr>>
<div class="passage-title">Operation: Vent Crawler</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Drop the rat into the central vent junction and thread the wall cavities. Each successful run reaches one bedroom, known routes for fast travel, unknown routes to discover.</p>
<p><b>Host:</b> Rat or Gecko (small enough to fit the cavities)</p>
<p><b>Cost:</b> <<if _vcSkipMode>>5 biomass (1 to enter + 4 minigame-skip surcharge)<<else>>1 biomass<</if>></p>
<p><b>Risk:</b> Low, failure burns the biomass and the noise puts the household on edge (+1 suspicion)</p>
<p><b>Effect:</b> Reach a bedroom via wall vent. Undiscovered exits unlock a new fast-travel route.</p>
<p><b>Repeatable:</b> Yes (no cooldown)</p>
</div>
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassLink _vcLabel "Ch2-Op-VentCrawler-Step1" 1>></div>
<<else>>
/* Rat-or-gecko gate: auto-switch to rat with Seamless Transfer (cheaper default),
otherwise offer inline switch to either. */
<<opRequireHost "rat">>
<</if>>
[[Abort, back to the vent junction->Ch2-Attic-Vent]]<<nobr>><<bg "bg-hoffman-attic">>
<<startOperation "ventCrawler">>
/* Clear the previous run's exit so the skip-mode auto-pick re-fires fresh */
<<if not $ventCrawl>><<set $ventCrawl to {}>><</if>>
<<set $ventCrawl.lastExit to "">>
<</nobr>>
<div class="passage-title">Step 1: The Cavities</div>
<p>You drop into the central junction. The HVAC trunk hums beneath you, warm and metallic. Five corridors split off into darkness, each one leading somewhere different in the house above. Insulation presses in from every side. Old wood, copper pipes, the faint smell of mouse droppings from a nest that hasn't been used in years.</p>
<<say "char-hivemind" "Hivemind">>
//The wall cavities are a map nobody else has. Pick a corridor. Follow it to its bedroom. Already-mapped routes glow green when you pass them, fast travel back. The unmarked ones are unknowns.//
<</say>>
<<minigame "labyrinth" 1 30 "Ch2-Op-VentCrawler-Step2" "Ch2-Op-VentCrawler-Fail">><<nobr>><<bg "bg-hoffman-attic">>
<<if not $ventCrawl>><<set $ventCrawl to {}>><</if>>
/* Skip-mode fallback: when the minigame is disabled, the labyrinth never runs and
$ventCrawl.lastExit is undefined. Pick the first undiscovered room in priority order
so the player gets meaningful progress for their 5 biomass spend. */
<<if not $ventCrawl.lastExit>>
<<if not $house.ventRoutes.ryanRoom>><<set $ventCrawl.lastExit to "ryanRoom">>
<<elseif not $house.ventRoutes.meganRoom>><<set $ventCrawl.lastExit to "meganRoom">>
<<elseif not $house.ventRoutes.jessRoom>><<set $ventCrawl.lastExit to "jessRoom">>
<<elseif not $house.ventRoutes.masterBedroom>><<set $ventCrawl.lastExit to "masterBedroom">>
<<elseif not $house.ventRoutes.upperBath>><<set $ventCrawl.lastExit to "upperBath">>
<<else>><<set $ventCrawl.lastExit to "ryanRoom">>
<</if>>
<</if>>
<<set _exit to $ventCrawl.lastExit>>
<<set _wasNew to false>>
<<if _exit is "ryanRoom" and not $house.ventRoutes.ryanRoom>><<set $house.ventRoutes.ryanRoom to true>><<set _wasNew to true>><</if>>
<<if _exit is "meganRoom" and not $house.ventRoutes.meganRoom>><<set $house.ventRoutes.meganRoom to true>><<set _wasNew to true>><</if>>
<<if _exit is "jessRoom" and not $house.ventRoutes.jessRoom>><<set $house.ventRoutes.jessRoom to true>><<set _wasNew to true>><</if>>
<<if _exit is "masterBedroom" and not $house.ventRoutes.masterBedroom>><<set $house.ventRoutes.masterBedroom to true>><<set _wasNew to true>><</if>>
<<if _exit is "upperBath" and not $house.ventRoutes.upperBath>><<set $house.ventRoutes.upperBath to true>><<set _wasNew to true>><</if>>
<<completeOperation>>
<</nobr>>
<<if _exit is "ryanRoom">>
<div class="passage-title"><<if _wasNew>>New Route, Ryan's Room<<else>>Wall Vent, Ryan's Room<</if>></div>
<<if _wasNew>>
<p>The closest corridor opens almost immediately into a wider cavity. The air shifts, warmer, thick with the smell of unwashed bedding and the static heat of running electronics. A vent grille filters dim blue light from a monitor onto the insulation. Ryan's room. Found on the first crawl.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan's bedroom. The vent opens behind the desk, close enough to feel the heat off his computer tower. The shortest path. The easiest grab. //Useful.////
<</say>>
<p><span class="delve-intel">Vent route discovered: Ryan's Room. The wall vent now appears as a fast-travel link in the attic vent hub.</span></p>
<<else>>
<p>You take the short corridor, already mapped, already familiar. The vent grille drops you into the warm static of Ryan's room. The path is automatic now.</p>
<</if>>
[[Drop into Ryan's room->Ch2-RyanRoom]]
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<<elseif _exit is "meganRoom">>
<div class="passage-title"><<if _wasNew>>New Route, Megan's Room<<else>>Wall Vent, Megan's Room<</if>></div>
<<if _wasNew>>
<p>The corridor doglegs once and then opens into a longer stretch, past the bathroom plumbing, around the chimney chase, down a slight grade. The air sweetens with the smell of caramel syrup and floral body wash. Megan's wall vent.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's bedroom. The vent sits behind her closet, past the line of coffee shop polos hanging in plastic dry-cleaner bags. //An easy approach. A predictable target.////
<</say>>
<p><span class="delve-intel">Vent route discovered: Megan's Room. The wall vent now appears as a fast-travel link in the attic vent hub.</span></p>
<<else>>
<p>The dogleg, the long stretch, the chimney chase. The route is muscle memory now. The vent grille opens into Megan's closet and the warm cloud of her perfume.</p>
<</if>>
[[Drop into Megan's room->Ch2-MeganRoom]]
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<<elseif _exit is "jessRoom">>
<div class="passage-title"><<if _wasNew>>New Route, Jess's Room<<else>>Wall Vent, Jess's Room<</if>></div>
<<if _wasNew>>
<p>You squeeze behind the fibreglass insulation, following a narrow gap between the joists. The aluminium duct here is older, corroded at the seams, with a gap wide enough for a small body.</p>
<p>Through the gap, you hear the scratch of a pen on paper. The click of a highlighter cap. A long, shuddering exhale.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's room. The vent opens behind her bookshelf, hidden from sight but close enough to feel the warmth of her desk lamp.// A new angle of approach.
<</say>>
<p><span class="delve-intel">Vent route discovered: Jess's Room. The wall vent now appears as a fast-travel link in the attic vent hub.</span></p>
<<else>>
<p>The narrow squeeze. The corroded seam. The bookshelf. The route is a known difficulty now, slow but reliable.</p>
<</if>>
[[Drop into Jess's room->Ch2-JessRoom]]
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<<elseif _exit is "masterBedroom">>
<div class="passage-title"><<if _wasNew>>New Route, Karen's Room<<else>>Wall Vent, Karen's Room<</if>></div>
<<if _wasNew>>
<p>The main heating duct runs along the spine of the house. You follow it toward the front, past insulation, past old wiring, past a wasp nest that's been dead since autumn. The duct narrows at a junction, then opens into a wider channel that feeds directly into the master bedroom's floor vent.</p>
<p>Through the grate, you can see the foot of the bed. A shape under the covers. The steady, medicated breathing of someone deep in pharmaceutical sleep.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's room.// The floor vent sits beside the bed, close enough to deposit spores directly into her breathing space. //Close enough to touch.// The heating system becomes a delivery mechanism.
<</say>>
<p><span class="delve-intel">Vent route discovered: Karen's Room. The wall vent now appears as a fast-travel link in the attic vent hub.</span></p>
<<else>>
<p>The spine of the house. The wasp nest. The narrowing. The familiar drop into the floor vent beside her bed. Karen sleeps through it the way she always has.</p>
<</if>>
[[Drop into Karen's room->Ch2-MasterBedroom]]
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<<elseif _exit is "upperBath">>
<div class="passage-title"><<if _wasNew>>New Route, Bathroom<<else>>Wall Vent, Bathroom<</if>></div>
<<if _wasNew>>
<p>You follow the sound of dripping water. The drain pipes run vertically through the wall cavity, warm from the hot water heater below. Where the pipe passes through the floor, there's a gap around the fitting. Sloppy plumbing. //Perfect.//</p>
<p>The gap opens into the space behind the bathroom wall, between the tiles and the studs. You can feel the humidity. Smell the soap, the shampoo, the faint chemical signature of Karen's Sertraline dissolving in steam.</p>
<<say "char-hivemind" "Hivemind">>
//The bathroom. Behind the wall, beside the shower drain.// The most private room in the house, and now you have a way in that doesn't require a door at all. //Every shower. Every bath. Every unguarded moment.//
<</say>>
<p><span class="delve-intel">Vent route discovered: Bathroom. The wall vent now appears as a fast-travel link in the attic vent hub.</span></p>
<<else>>
<p>The drip of the pipe. The warm sloppy gap around the fitting. The humidity behind the tiles. You know the route by smell now, soap, shampoo, sertraline.</p>
<</if>>
[[Drop into the bathroom->Ch2-UpperBath]]
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<<else>>
/* Defensive fallback, should never fire if the minigame writes lastExit */
<div class="passage-title">Wall Vent</div>
<p>You back out of the cavity, disoriented.</p>
[[Climb back to the attic vent->Ch2-Attic-Vent]]
<</if>><<nobr>><<abortOperation>><<bg "bg-hoffman-attic">>
<<failOperation>>
<<addFamilySuspicion "karen" 1>>
<<addSuspicion "hoffmanHouse" 1>><</nobr>>
<div class="passage-title">Operation Failed, A Sound in the Walls</div>
<p>The corridor narrows into a dead-end the rat didn't see coming. Claws scrabble against rough timber, the wet rasp of a body trying to fit through a space that doesn't. The sound is small.</p>
<p>The sound also carries.</p>
<p>Downstairs, Karen freezes.</p>
<<if $house.dayPhase is "day">>
<p>She's at the kitchen counter, one hand on the mug, the other halfway through scrolling the family calendar. Her thumb stops moving.</p>
<<else>>
<p>She's on the couch, the laptop open across her knees, a glass of wine going warm beside her. Her eyes flick up from the screen.</p>
<</if>>
She listens.
<<say "char-hivemind" "Hivemind">>
//She heard. Not loud, but heard. The difference between a noise and a //noticed// noise is the part of her brain that just woke up.//
<</say>>
<p>She sets the mug down. It clicks against the counter louder than she meant. She stands. Walks to the wall. Tilts her head.</p>
<p>The sound is gone now, the rat has gone still in the cavity, pressed flat against the insulation, not breathing. But Karen stays there, one hand resting on the wallpaper, the other on her hip.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to no one)</i> ...mice. That's mice. Of course it is.
<</say>>
<p>She walks the length of the wall. Stops at the baseboard. Bends. Listens again. Nothing.</p>
<<say "char-karen" "Karen">>
<i>(straightening, decisive)</i> I'm calling someone tomorrow. This is not, no. I'm calling someone.
<</say>>
<p>She doesn't, in the end. She forgets by morning. But tonight she'll mention it to Dale, and tonight she'll check every mousetrap in the house with a flashlight, and tonight she'll lie in bed for twenty minutes longer than usual, listening for it to come back.</p>
<<say "char-hivemind" "Hivemind">>
//Vigilance up. The house remembers the sound even if she doesn't.//
<</say>>
<p><span class="consume-fail">1 biomass spent. +1 Karen suspicion. +1 house suspicion. The operation can be retried any time.</span></p>
[[Return to the attic vent->Ch2-Attic-Vent]]/* opCheck: green tick beside any operation ever completed. Uniform source of truth is
$operationsCompleted[id], set by <<completeOperation>> on every op's first completion. */
<<widget "opCheck">><<if $operationsCompleted and $operationsCompleted[_args[0]]>><span class="op-check" title="Completed before">✓</span><</if>><</widget>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Pantry Poisoning</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Contaminate the family's food supply with pheromone-laced biological compound. Every meal becomes a conditioning delivery system.</p>
<p><b>Hosts:</b> Dog (distract Karen outside) → Rat (contaminate mid-prep ingredients) → Cat or Gecko (confirm/clean)</p>
<p><b>Cost:</b> 3 biomass</p>
<p><b>Risk:</b> Medium (Karen must be lured far enough to give the rat a window)</p>
<p><b>Effect:</b> +1 pheromone conditioning to ALL family members per day for 3 days</p>
<p><b>Phase required:</b> Day, Karen must be in the middle of meal prep.</p>
<p>The compound leaves a faint green biofilm. It only stays invisible when it gets mixed into ingredients that are //being handled//, kneaded into flour, stirred into sugar, absorbed into an open coffee tin. Deposited into sealed containers overnight, Karen will spot the residue the next morning before anyone eats.</p>
</div>
<<if $house.dayPhase isnot "day">>
<p><span class="consume-fail">This operation requires the day phase. The compound's biofilm only hides in food that's actively being handled, if the rat contaminates sealed containers overnight, Karen will see the green residue at breakfast. You need Karen in the middle of meal prep with open bags on the counter.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<opRequireHost "dog">>
<<if $player.currentHost is "dog">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Bark from the garden shed to lure Karen outside (3 biomass)" "Ch2-Op-Pantry-Step1" 3>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 3>>
<<startOperation "pantryPoison">><</nobr>>
<div class="passage-title">Step 1: Lure</div>
<p><span class="skill-used">Alpha Howl, targeted distraction</span></p>
<p>Biscuit runs to the garden shed and barks, sharp, urgent, the kind that says //something is wrong//. Not a casual bark. The kind Karen can't ignore.</p>
<<say "char-karen" "Karen">>
<i>(from the kitchen)</i> Biscuit? //Biscuit!// What is it, boy?
<</say>>
<p>The back door opens. Karen steps into the garden, phone in hand, scanning for whatever has the dog agitated. She walks toward the shed. The kitchen is empty.</p>
<<say "char-hivemind" "Hivemind">>
//She'll investigate for two to three minutes. Maybe five if I keep barking. The kitchen is clear. Switch to the rat. //Now.////
<</say>>
<<opSwitch "rat" "Switch to rat, enter the kitchen through the wall cavity" "Ch2-Op-Pantry-Step2">>
<<opSwitch "rat" "Keep barking to extend the window, then switch" "Ch2-Op-Pantry-Step2-Extended">><<if recall("_mg_active") is "pantryPoison" and $operation.active is "pantryPoison">><<goto "Ch2-Op-Pantry-Fail">><</if>>
<<nobr>><<bg "bg-hoffman-kitchen">>
<<advanceOperation>><</nobr>>
<div class="passage-title">Step 2: Contaminate</div>
<img class="scene-img" src="media/scenes/symbiotic/op-pantry-poison.webp" alt="Pantry shelf with faint green residue">
<p>The rat emerges from the baseboard gap behind the fridge. The kitchen is empty, Karen's laptop sits open on the counter, screen dimmed to the family budget spreadsheet. Her coffee steams beside it, untouched. Through the garden window, Biscuit's barking and Karen's voice carry faintly: "What is it? What do you see?"</p>
<p>The pantry door is ajar. Karen never leaves it open. The dog's distraction pulled her away mid-task, a box of pasta half-unpacked on the counter, a bag of flour with the twist-tie loose.</p>
<p><span class="skill-used">Contaminator, metabolizing pheromone substrate</span></p>
<p>The rat climbs the lowest shelf. The smell in here is overwhelming, dried herbs, cardboard, the sweet dust of spilled sugar that Karen hasn't noticed yet. All of it organic matter. All of it //fuel//.</p>
<<say "char-hivemind" "Hivemind">>
//Twelve containers. I need flour, sugar, and coffee, the three highest-use items. Find them. Contaminate them. //Every wrong guess makes noise. Three wrong guesses and Karen hears.////
<</say>>
<<set _mgCfgBase to { targetPairs: 3, hint: "Match pairs of pantry items. Green = target to contaminate. Red = leave alone. Find all 3 targets before time runs out." }>>
<<minigame "memory" 1 35 "Ch2-Op-Pantry-Step2b" "Ch2-Op-Pantry-Fail" _mgCfgBase>><<nobr>><<bg "bg-hoffman-kitchen">>
<</nobr>>
<div class="passage-title">Step 2: Contaminate</div>
<p>All three targets identified. The rat works fast.</p>
<p>Iron Stomach processes what it finds. Crumbs ground into the shelf paper. Cooking oil residue on the rice bag. The faint film of grease that coats every surface in a kitchen that cooks dinner for five, every night, without fail. The rat's body converts it, jaw working, glands pulsing, into a clear, odourless compound that glistens on its paws like wet glass.</p>
<p>The flour goes first. The rat's paws press into the open bag, leaving traces that will dissolve invisibly into the next batch of pancakes. Then the sugar. The cereal boxes. The rice. Every staple that Karen reaches for without thinking, every ingredient that becomes a meal that becomes a family sitting together at a table, eating what you've prepared for them.</p>
<<if $adaptations.rat.unlocked.includes("contaminator")>>
<p>The Contaminator refines the output. Molecular bonding, the compound doesn't sit //on// the food, it integrates //into// it. Heat-stable. Moisture-resistant. Three days of potency, minimum.</p>
<</if>>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.pantryPrioritisation to true>>
<<say "char-hivemind" "Hivemind">>
//Network processing. The cat identified Karen's meal plan from the fridge whiteboard. The gecko read this week's grocery receipt. The dog smelled what Dale had for lunch yesterday. I know exactly which items to prioritise, the flour sees daily use, the rice twice a week, the sugar in every cup of coffee.//
<</say>>
<p><span class="delve-intel">Resonance: Pantry contamination optimised. Cross-host data identified highest-use items, flour, sugar, rice, ensuring maximum daily exposure per family member.</span></p>
<<else>>
<<set $resonance.missedPantry to true>>
<</if>>
<p>Outside, the barking is slowing. Karen's footsteps crunch on the garden path. //Hurry.//</p>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if _hasAbility>>
<p>The compound is ready. Pheromone Specialization allows you to tune it, choose what every meal in this house will carry for the next three days:</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Sedative, the whole family calms down" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "sedative">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Bonding, amplify desire for physical closeness" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "bonding">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Anxiety, make them reactive and predictable" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "anxiety">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Desire, accelerate physical awakening across the household" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "desire">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Choose a specialized pheromone compound <span class="lock-hint">(Requires Pheromone Specialization, Biological skill tree)</span></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Deposit standard pheromone compound" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "standard">><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<advanceOperation>>
<<addSuspicion "hoffmanHouse" 1>><</nobr>>
<div class="passage-title">Step 2: Contaminate (Extended Window)</div>
<p><span class="consume-fail">Extended barking raised household alertness. (+1 suspicion)</span></p>
<p>The extra barking bought time, but at a cost. Dale shifted on the couch, muttering something about "that damn dog." Ryan's door cracked open for three seconds before closing again. The house stirred. But the kitchen stayed empty.</p>
<p>And the rat used every second.</p>
<p>The extended window meant a second pass, back across the shelves, this time hitting the spice rack, the baking soda, the cooking oil. The compound soaks deeper into each surface. Thicker application. Longer exposure per serving. By the time Karen returns, the pantry holds enough pheromone substrate to dose every meal for three days at //double strength//.</p>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if _hasAbility>>
<p>The enhanced dose allows a more potent formulation. Choose:</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Sedative, deep household calm" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "sedative">><<set $operation.flags.enhanced to true>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Bonding, strong desire for closeness" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "bonding">><<set $operation.flags.enhanced to true>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Anxiety, heightened reactivity" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "anxiety">><<set $operation.flags.enhanced to true>><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Desire, potent physical awakening" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "desire">><<set $operation.flags.enhanced to true>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Choose a specialized pheromone compound <span class="lock-hint">(Requires Pheromone Specialization, Biological skill tree)</span></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Deposit enhanced pheromone compound" "Ch2-Op-Pantry-Step3">><<set $operation.flags.pheromoneType to "standard">><<set $operation.flags.enhanced to true>><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 3: Confirm</div>
<p>The compound is deposited. The rat backs down the shelf, paws sticky with residue, and squeezes through the baseboard gap into the wall cavity. Behind it, the pantry looks untouched. The flour bag is re-sealed. The cereal boxes stand in their row. Nothing out of place.</p>
<p>But the smell. Faint, almost nothing to a human nose. But Karen has a housekeeper's instinct. She might notice something //off//. A wrongness she can't name.</p>
<<hasSkillTreeAbility "Synaptic Relay">><<if _hasAbility>>
<<say "char-hivemind" "Hivemind">>
//Synaptic Relay confirms, the cat heard Karen come back inside. She's in the hallway. Thirty seconds before she reaches the kitchen. The contamination pattern is optimal, but there's a scent trace the rat couldn't mask.//
<</say>>
<</if>>
<p>The back door opens. Karen's footsteps, heels on tile, the rhythm of a woman who walks like she's already late. She'll check the pantry. She always checks. The question is what she finds when she does.</p>
<<say "char-hivemind" "Hivemind">>
//The cat rubs against the pantry shelves, fur, dander, familiar pet smell. Karen blames the cat, scolds Biscuit, moves on. Perfect cover.//
<</say>>
<<opSwitch "cat" "Switch to cat, rub against the pantry shelves to mask scent" "Ch2-Op-Pantry-Success">>
/* Emergent Intelligence, hard mode alternative. Riskier but better reward. */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiPantryToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, optimize compound across all food groups (risky)->Ch2-Op-Pantry-EI]]</div>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _enhanced to $operation.flags.enhanced>>
<<set _pheromoneType to $operation.flags.pheromoneType>>
<<completeOperation>>
<<set $ch2Events.pantryContaminated to true>>
<<set $ch2Events.pantryDaysRemaining to 3>>
<<set $ch2Events.lastPantryDay to $day>><</nobr>>
<div class="passage-title">Operation Complete: Pantry Poisoning</div>
<p>The cat threads between Karen's ankles as she returns to the kitchen, rubbing against the pantry door frame, leaving a thick layer of fur and dander across the lower shelves. Karen wrinkles her nose, nudges the cat aside with her foot, and opens the pantry.</p>
<p>She pauses. Sniffs. The faintest wrongness, something under the cumin and the cardboard and the stale Cheerios dust. Her hand hovers over the flour bag.</p>
<<say "char-karen" "Karen">>
<i>(to the cat, flatly)</i> Have you been sleeping in here again?
<</say>>
<p>The cat blinks. Karen shakes her head. Closes the pantry. The cat smell explains everything. It always does.</p>
<<if _enhanced>>
<<addConditioning "karen" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>>
<<else>>
<<addConditioning "karen" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>>
<</if>>
<p>Evening. The kitchen smells like garlic and browned butter. Karen stands at the stove with flour on her hands and a dish towel over her shoulder, moving between three pans with the efficiency of a woman who has cooked for five people every night for eighteen years and stopped finding joy in it around year six.</p>
<<say "char-karen" "Karen">>
<i>(without turning from the stove)</i> Dinner in five. Ryan, off the phone. Megan, set the table. Jess, <i>(louder)</i>, Jessica, that includes you.
<</say>>
<p>The family assembles. Dale comes last, lowering himself into his chair with a grunt, the smell of motor oil still on his hands despite washing them twice. Ryan slides into his seat with his phone face-down on the table. Megan sets forks and knives with practiced brightness. Jess appears in the doorway, leans against the frame, and waits until Karen points at her chair before sitting.</p>
<<say "char-megan" "Megan">>
<i>(brightly, serving herself)</i> This smells amazing, Mom. Is this the chicken thing from last week? I loved that one.
<</say>>
<<say "char-karen" "Karen">>
Same recipe. Different rice.
<</say>>
<p>They eat. The contaminated flour is in the breading. The contaminated rice is under the chicken. The contaminated sugar is in the iced tea Karen makes every afternoon. Every bite. Every sip. Five bodies at one table, all consuming the compound.</p>
<<if _pheromoneType is "desire">>
<p>By the time plates are half-empty, the compound is working. Megan shifts in her chair, crosses and uncrosses her legs, then crosses them again. She touches her own neck without realising it. Dale's eyes linger on Karen as she leans across the table to refill the water pitcher, tracking the way her blouse pulls taut across her back. Jess eats faster than usual, fork scraping the plate, and doesn't look up, but a flush creeps up from her collar. Ryan pushes rice around his plate, staring at nothing, his free hand gripping the edge of the table. Nobody leaves early. They sit at the table three minutes past the point where dinner is finished, all of them restless with something none of them can name.</p>
<<say "char-hivemind" "Hivemind">>
//Desire compound active across all five subjects. Baseline arousal elevated 15-20% per meal. By day three, the restlessness becomes ambient, a background hum they carry into every room, every interaction, every moment of proximity. They won't understand why the house feels //warmer//.//
<</say>>
<<elseif _pheromoneType is "bonding">>
<p>Halfway through dinner, Dale reaches for the salt shaker. His hand passes it to Ryan without being asked, Ryan hadn't said anything, hadn't reached, but Dale saw the boy's plate and passed it over. Ryan blinks. Takes the salt. Their fingers brush. Neither comments.</p>
<p>Karen's hand finds Ryan's shoulder as she reaches past him for the serving spoon. She leaves it there for two seconds longer than functional. Ryan doesn't flinch. Megan, watching, smiles at nothing. Jess looks at her plate but her body angles toward Megan, their chairs are two inches closer than usual.</p>
<<say "char-dale" "Dale">>
<i>(chewing, eyes on Karen for the first time in days)</i> ...good chicken.
<</say>>
<<say "char-karen" "Karen">>
<i>(a pause, she almost looks surprised)</i> ...thank you.
<</say>>
<p>Nobody argues. Nobody leaves early. When Megan clears the plates, she bumps Jess's shoulder on the way past and Jess doesn't snap at her. The kitchen fills with the small sounds of a family that, for twenty minutes, forgot they don't do this anymore.</p>
<<say "char-hivemind" "Hivemind">>
//Bonding compound amplifies oxytocin response on proximity. Physical contact becomes self-reinforcing, each touch triggers a micro-reward that encourages the next. The family dinner becomes a //conditioning session//. Three days of this and the baseline shifts permanently.//
<</say>>
<<elseif _pheromoneType is "anxiety">>
<p>It starts with the salt.</p>
<<say "char-jess" "Jess">>
<i>(flat)</i> Can you pass the salt?
<</say>>
<<say "char-megan" "Megan">>
<i>(reaching)</i> Sure! Here you ...
<</say>>
<<say "char-jess" "Jess">>
I asked Ryan.
<</say>>
<p>Silence. Megan pulls her hand back. Ryan fumbles the shaker. Karen's jaw tightens. Dale keeps chewing, eyes on his plate, and the sound of his fork scraping ceramic is suddenly the loudest thing in the room.</p>
<<say "char-karen" "Karen">>
<i>(controlled, dangerous)</i> We don't speak to each other like that at this table.
<</say>>
<<say "char-jess" "Jess">>
I just asked for the salt.
<</say>>
<p>Karen's hand sets her fork down with a //click//. Dale exhales through his nose. Megan stares at her plate with her brightness collapsed. Ryan's chair scrapes back two inches.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> Can I be excused? I'm not... I have homework.
<</say>>
<<say "char-karen" "Karen">>
You can finish your dinner first.
<</say>>
<p>He stays. They all stay. The food tastes like cortisol and obligation. Jess leaves first. Then Ryan. Megan clears plates with a smile that doesn't reach her eyes. Dale stays at the table, staring at the window where his own reflection looks back at him.</p>
<<say "char-hivemind" "Hivemind">>
//Anxiety compound. Cortisol spikes at every meal, irritability, hypervigilance, shortened fuses. Karen's control instinct fires harder. Dale retreats. The children scatter to their rooms. //Divide and condition.// Isolated targets are easier targets.//
<</say>>
<<elseif _pheromoneType is "sedative">>
<p>The table goes quiet. Not tense, just... soft. Dale's eyelids droop between bites. He chews slower. Karen refills her iced tea and sits back in her chair instead of eating standing at the counter the way she usually does. Megan yawns, covers her mouth, laughs at herself.</p>
<<say "char-megan" "Megan">>
<i>(sleepy smile)</i> Sorry... I don't know why I'm so tired.
<</say>>
<<say "char-dale" "Dale">>
<i>(stifling his own yawn)</i> Long day.
<</say>>
<p>Nobody argues. Nobody raises a voice. Jess finishes her plate, the whole plate, for once, and doesn't comment on the food's nutritional content. Ryan eats with his shoulders down, his phone untouched. The kitchen fills with the sound of forks and quiet breathing and the dishwasher's hum.</p>
<p>Karen clears the table. Nobody offers to help, and she doesn't ask. She does the dishes slowly, methodically, without the sharp efficiency that usually drives her through the routine. Upstairs, doors close softly. The house settles into a drowsy calm that smothers every sharp edge.</p>
<<say "char-hivemind" "Hivemind">>
//Sedative compound suppresses cortisol and norepinephrine simultaneously. The entire household enters a parasympathetic state, lowered defences, reduced vigilance, deeper sleep. A quiet house is a //compliant// house. Three days of chemical peace. Use them.//
<</say>>
<<else>>
<p>The meal proceeds. Five people eating contaminated food in a kitchen that smells like garlic and normalcy. No visible change, the compound is too dilute for dramatic effect in a single dose. But the body notices what the mind doesn't.</p>
<p>Karen rubs her temples after dinner and blames the screen time. Dale falls asleep on the couch twelve minutes earlier than usual. Megan's skin feels warmer in the shower and she turns the water down a degree. Jess's concentration fractures at 1 AM instead of her usual 2. Ryan sleeps through the night for the first time in a week.</p>
<p>Small shifts. Invisible. The kind of changes a family attributes to weather, or stress, or just a long day. None of them will connect it to dinner.</p>
<<say "char-hivemind" "Hivemind">>
//Standard compound. No specialised vector, broad-spectrum pheromone conditioning across all five subjects. Subtle, cumulative, undetectable. Every meal for three days. The most efficient conditioning delivery system in the house.//
<</say>>
<</if>>
<<if _enhanced>><<conditioningFeedback "pheromone" 1 "all family members, contaminated food supply (enhanced)">><<else>><<conditioningFeedback "pheromone" 1 "all family members, contaminated food supply">><</if>>
<div class="evolve-unlock">Operation complete: Pantry Poisoning. All family members receive conditioning with every meal for 3 days.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.eiPantryToday to true>><</nobr>>
<div class="passage-title">Deep Analysis: Compound Optimization</div>
<<say "char-hivemind" "Hivemind">>
//The rat contaminated the staples. Emergent Intelligence can do better, calibrate the compound concentration per food group based on each family member's consumption patterns. Karen's coffee filters. Dale's beer cans. Jess's energy bars. Megan's oat milk. Ryan's instant noodles. Five diets. Five optimized dosages. If the calibration holds, the conditioning extends from three days to five.//
<</say>>
<p>The rat works the shelves with four-host coordination, the cat monitors Karen's kitchen routine from the counter, the dog tracks who opens the fridge and when, the gecko maps consumption timing from the ceiling.</p>
<<set _mgCfg to { targets: ["Flour", "Sugar", "Coffee", "Oat Milk", "Noodles"], decoys: ["Salt", "Baking Soda", "Spices", "Canned Beans", "Vinegar", "Olive Oil", "Honey"], gridCols: 6, targetPairs: 5, hint: "HARD MODE, 5 targets among 12 items. Larger grid. Green = contaminate. Red = leave alone. Match all 5 target pairs. Wrong pairs deduct 3 seconds. Failure loses the entire operation." }>>
<<minigame "memory" 1 60 "Ch2-Op-Pantry-EI-Success" "Ch2-Op-Pantry-EI-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.pantryDaysRemaining to 5>>
<<addSuspicion "hoffmanHouse" -2>>
<<for _m range ["karen", "dale", "jess", "megan", "ryan"]>><<addFamilySuspicion _m -1>><</for>>
<<set $ch2Events.eiPantryNSFW to true>>
<<completeOperation>>
<<set $ch2Events.pantryContaminated to true>>
<<set $ch2Events.lastPantryDay to $day>><</nobr>>
<div class="passage-title">Deep Analysis Complete, Optimized Contamination</div>
<p>Five diets mapped. Five compound concentrations calibrated. The cat masked the scent while the network ran the optimization simultaneously. The pantry is now a precision delivery system, each family member receives a dosage tailored to their metabolism, their eating schedule, their specific neurochemical vulnerabilities.</p>
<<say "char-hivemind" "Hivemind">>
//Conditioning window extended to five days. The optimized compound will hit hardest at dinner, when every family member eats the calibrated food simultaneously. The pheromone fog will be //dense//. Monitor the next family dinner. The results will be worth observing.//
<</say>>
<p><span class="consume-success">Enhanced contamination: pantry effect duration extended from 3 to 5 days. −2 household suspicion, −1 individual suspicion to each family member. New observation unlocked: enhanced family dinner.</span></p>
<div class="evolve-unlock">Operation complete: Pantry Poisoning (Enhanced). A new observation is available in the Observe menu.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<set $ch2Events.pantryContaminated to false>>
<<set $ch2Events.pantryDaysRemaining to 0>>
<</nobr>>
<div class="passage-title">Optimization Failed</div>
<p>The calibration collapsed. Too many variables, not enough time. The rat knocked a spice jar off the shelf, the noise echoed through the kitchen. Karen called from the living room: //Was that the cat?//</p>
<p>The compound distribution is ruined. Uneven concentrations across the food supply mean unpredictable dosing, some items over-saturated, others clean. The contamination pattern is detectable to anyone paying attention.</p>
<<say "char-hivemind" "Hivemind">>
//Failed. The optimization attempt destabilized the base contamination. The pantry compound is neutralized, uneven distribution creates traceable patterns. Karen might notice the taste. The operation needs to be redone from scratch.//
<</say>>
<p><span class="consume-fail">Operation FAILED. Base contamination lost. +1 household suspicion. Pantry must be re-contaminated.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
<<set $ch2Events.pantryContaminated to true>>
<<set $ch2Events.pantryDaysRemaining to 2>>
<<set $ch2Events.lastPantryDay to $day>>
<<addConditioning "karen" "pheromone" 1>><<addConditioning "dale" "pheromone" 1>><<addConditioning "megan" "pheromone" 1>><<addConditioning "jess" "pheromone" 1>><<addConditioning "ryan" "pheromone" 1>><</nobr>>
<div class="passage-title">Operation Complete: Pantry Poisoning (Partial)</div>
<p>The gecko confirms from the ceiling, compound deposited, pattern complete. But without the cat's scent mask, the residue sits exposed. A faint chemical trace, something between copper and wet grass, clings to the air between the cereal boxes.</p>
<p>Karen returns to the kitchen. She sets her phone on the counter. Opens the pantry.</p>
<p>Her hand reaches for the flour, then stops. She leans forward. Sniffs. Her nose wrinkles.</p>
<<say "char-karen" "Karen">>
<i>(pulling jars aside, peering at the back shelf)</i> What... did a spice fall behind the...
<</say>>
<p>She moves the cumin. The paprika. Checks behind the rice bag. Nothing visible. She straightens up, frowning at the shelves like they've personally offended her. Sniffs again. The smell is already fading, the compound degrades faster without the cat's pheromone overlay to seal it in.</p>
<<say "char-karen" "Karen">>
<i>(shaking her head, closing the pantry)</i> I need to clean this out this weekend.
<</say>>
<p>She moves on. The flour goes into tomorrow's pancakes. The rice into dinner. Two days of meals before the unmasked compound breaks down. Not three.</p>
<<say "char-hivemind" "Hivemind">>
//Effective but imperfect. Two-day window instead of three, the compound oxidises without a biological sealant. She noticed the scent. She investigated. She found nothing and moved on, but the memory is stored: //something smelled wrong in the pantry//. If it happens again, she'll look harder.//
//The cat's pheromone coat would have masked the trace completely. Next time, use all three hosts.//
<</say>>
<<conditioningFeedback "pheromone" 1 "all family members, partial contamination">>
<div class="evolve-unlock">Operation complete: Pantry Poisoning (partial). 2-day conditioning window instead of 3.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Prescription Manipulation</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Replace Karen's Sertraline dosage with a parasite-synthesized compound. She takes it herself every night at 10 PM, a willing, unknowing delivery vector.</p>
<p><b>Hosts:</b> Cat (distract Karen) → Gecko (toxin deposit on pills) → Rat (synthesize replacement coating)</p>
<p><b>Cost:</b> 3 biomass</p>
<p><b>Risk:</b> Medium (bathroom access while Karen is distracted)</p>
<p><b>Effect:</b> +2 pheromone + 1 dream conditioning to Karen per day (permanent)</p>
<p><b>Phase required:</b> Day (access bathroom while Karen is downstairs)</p>
</div>
<<if $house.dayPhase isnot "day">>
<p><span class="consume-fail">This operation requires the day phase. Karen needs to be downstairs and distracted.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<opRequireHost "cat">>
<<if $player.currentHost is "cat">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Engage Karen in the living room (3 biomass)" "Ch2-Op-Prescription-Step1" 3>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 3>>
<<startOperation "prescriptionManip">><</nobr>>
<div class="passage-title">Step 1: Distract</div>
<p><span class="skill-used">Pheromone Coat, contact sedation</span></p>
<p>The cat jumps into Karen's lap. She's on the couch, scrolling her phone, one hand automatically reaching to scratch behind the cat's ears. The pheromone coat activates on skin contact, a subtle calming effect that will keep her seated for the next fifteen minutes.</p>
<<say "char-karen" "Karen">>
<i>(absently)</i> Hey, Whiskers... good kitty...
<</say>>
<p>Her eyes half-close. The phone drops to her lap. The pheromones are working, she won't move until the effect fades. The bathroom is upstairs. Empty.</p>
<<say "char-hivemind" "Hivemind">>
//She's sedated. Fifteen-minute window. Switch to the gecko. Access the bathroom. Target: the medicine cabinet, top shelf, amber pill bottle labelled //Sertraline 50mg, Hoffman, Karen//.//
<</say>>
<<opSwitch "gecko" "Switch to gecko, ascend to the bathroom" "Ch2-Op-Prescription-Step2">><<nobr>><<bg "bg-hoffman-bathroom">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 2: Toxin Application</div>
<img class="scene-img" src="media/scenes/symbiotic/op-prescription.webp" alt="Medicine cabinet with prescription bottles">
<p><span class="skill-used">Toxin Glands, pharmaceutical modification</span></p>
<p><span class="skill-used">Hidden Observer, bathroom ceiling access</span></p>
<p>The gecko reaches the bathroom ceiling. The medicine cabinet is below, its door slightly ajar. Karen never fully closes it. The amber bottle sits on the top shelf, cap loosely twisted.</p>
<p>The gecko descends the wall. Toxin Glands secrete a compound, not poison, but a pheromone substrate that binds to the pill coating. When Karen swallows the Sertraline tonight, she also swallows the parasite's chemical instruction set.</p>
<<if $adaptations.gecko.unlocked.includes("toxin_glands")>><p>//Toxin Glands synthesize a compound chemically similar to the Zolpidem already in the cabinet. The gecko's secretion on the pill bottle cap ensures Karen absorbs an extra dose every time she opens it.//</p><</if>>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network connects the basement lab (where the compound is synthesized) to the bathroom cabinet in under a minute. The delivery route is invisible.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
//Each pill now carries a dual payload. The Sertraline does what it always does, suppresses anxiety, promotes sleep. But my compound rides alongside it, amplifying the sedative effect and opening the limbic system to pheromone conditioning. She //wants// to take these pills. She //chooses// to. Every night. Forever.//
<</say>>
<<opSwitch "rat" "Switch to rat, synthesize reinforcement coating" "Ch2-Op-Prescription-Step3">><<nobr>><<bg "bg-hoffman-bathroom">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 3: Reinforce</div>
<p><span class="skill-used">Iron Stomach + Contaminator, compound synthesis</span></p>
<p>The rat accesses the bathroom through the plumbing chase behind the wall. It metabolizes the organic residue in the pipe junctions, toothpaste, soap scum, skin cells, and the Contaminator adaptation converts it into a reinforcement layer.</p>
<p>This layer coats the inside of the pill bottle cap. Every time Karen opens the bottle, trace amounts transfer to the remaining pills. Self-sustaining contamination. Even when the current batch runs out and she refills the prescription, the residue in the cap contaminates the new pills.</p>
<<say "char-hivemind" "Hivemind">>
//The coating has to thread the therapeutic window, a chain of molecular gates the compound must pass cleanly through. Too high, Karen tastes it. Too low, the dose does nothing. The gecko's toe pads ride the deposit through every gate in sequence. Clip a gate and the batch is contaminated.//
<</say>>
<<set _mgCfg to { pipesNeeded: 8, gapSize: 140, pipeSpacing: 190, gravity: 480, flapPower: 240, scrollSpeed: 110, hint: "Press SPACE / ↑ / W to flap the coating marker through each gate. Clear 8 gates. Hitting a gate, the floor, or the ceiling contaminates the batch." }>>
<<minigame "balance" 2 0 "Ch2-Op-Prescription-Coated" "Ch2-Op-Prescription-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Coating Applied</div>
<p>The compound bonds to the pill surface. The gecko withdraws its toe pads, the coating is invisible, odourless, molecularly integrated with the pharmaceutical layer beneath. When Karen opens the bottle tonight, her fingers will transfer trace amounts to every remaining pill.</p>
<<say "char-hivemind" "Hivemind">>
//Standard coating complete. The compound will deliver baseline conditioning through every dose. But with Emergent Intelligence, the calibration could go //deeper//.//
<</say>>
/* Emergent Intelligence, hard mode before completion */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiPrescToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, deep calibration for enhanced sedation (risky)->Ch2-Op-Prescription-EI]]</div>
<</if>>
[[Complete the operation->Ch2-Op-Prescription-Success]]<<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
<<set $ch2Events.prescriptionTampered to true>>
<<set $ch2Events.lastPrescDay to $day>>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<div class="passage-title">Operation Complete: Prescription Manipulation</div>
<img class="scene-img" src="media/scenes/symbiotic/op-prescription-success.webp" alt="Karen taking her medication at the bathroom mirror">
10:00 PM. The house begins its shutdown sequence.
<p>Karen wipes the kitchen counters, left to right, back to front, the way she's done it every night since they moved in. The sponge leaves damp arcs on the granite that evaporate before she finishes the next pass. The kitchen air is thick with lemon cleaner and the ghost of yesterday's garlic, a sensory map of the day she cooked through. She rinses the sponge at the sink, wrings it dry, sets it in the holder. Checks the stove knobs. All off. She knew they were off. She checks anyway.</p>
<p>The refrigerator compressor cycles on behind her, a low steady hum that will run until 2 AM and then kick off into the silence that always wakes her.</p>
<p>Front door: locked. She tests the deadbolt with her thumb. The chain is on. Back door: locked. She pulls the handle once, firmly. The deadbolt slides into place with a solid //thunk// that carries through the empty hallway like something final. The porch light goes off with a click, the switch is by the coat hooks, right next to Dale's jacket that he never hangs up properly. She straightens it on the hook without thinking about it. Muscle memory. The kind that settles into the body after eighteen years of doing the same things in the same order because nobody else will.</p>
<p>The living room. Dale is asleep on the couch, one arm hanging off the side, the television cycling through a screensaver he'll never see. His mouth is open. His bad knee is propped on the armrest with a cushion underneath, he must have put it there himself before he fell asleep. The screen glow catches on the grey at his temples, on the five-o-clock shadow he didn't bother shaving for a shift he worked through the night. Karen stands over him for a few seconds, watching his chest rise and fall. She pulls the blanket from the back of the couch and drapes it over his legs, tucking the edge under his knee with the efficiency of a woman who has done this a thousand times and stopped asking why around the five hundredth.</p>
<<say "char-karen" "Karen">>
<i>(to the cat, who is watching from the armchair)</i> Six fifteen. Same as always.
<</say>>
<p>The cat blinks. Karen turns off the living room lamp, and the house drops into the low-grade darkness of a home at rest, the blue-green glow of a microwave clock in the kitchen, the red pinprick of the smoke detector on the ceiling, the faint amber from the porch light filtering through the curtains.</p>
<p>Upstairs. The bathroom. She closes the door. Doesn't lock it, nobody comes in at this hour. Face cream from the jar by the sink, applied in small circles: forehead, cheeks, jawline. Two minutes on the electric toothbrush that plays a tone when it's time to switch quadrants. Spits. Rinses. Wipes her mouth with the hand towel. The mirror catches her for half a second and she looks at the woman in it without really looking, the dark circles she's stopped noticing, the line between her eyebrows that deepened after the second child and never smoothed out.</p>
<p>The pill bottle. Amber plastic, white cap, the label peeling at one corner where moisture from the shower has curled the adhesive. //Sertraline 50mg, Hoffman, Karen.// She twists the cap, child-proof, two fingers, quarter-turn, and tips one tablet into her palm. A small white orb against the lines of her palm, catching the overhead bathroom light.</p>
<p>The same water glass. The same spot on the counter, ring-stained from months of use. She fills it from the tap. Puts the pill on her tongue. Drinks. Swallows.</p>
<p>She doesn't taste anything different. The Sertraline has a faint chalky bitterness she's long since stopped noticing, and the compound rides underneath it, odourless, tasteless, bonded to the pill coating at the molecular level. It dissolves in her stomach alongside the medication she chose to take. The medication she //wants// to take. Every night. Without fail.</p>
<p>Karen turns off the bathroom light. Walks down the hallway in the dark, bare feet on the runner, past Jess's closed door with the thin blue line of laptop light under it, past the quiet behind Ryan's door. The bedroom. The sheets are cool, she keeps the thermostat at sixty-seven, the way she always has, the way Dale complains about every winter without actually turning it up. Dale's side is empty. He'll migrate up from the couch around 2 AM, the way he always does. She lies on her back, hands folded on her stomach, and waits for the Sertraline to pull her under.</p>
<p>It hits differently tonight.</p>
<p>The familiar sinking feeling, the soft edges, the loosening of the jaw, the way her thoughts slow and separate like clouds drifting apart, is the same. But underneath it, something new. A warmth that starts in her chest and spreads outward through her shoulders and down her arms, into her fingertips. The compound opens the limbic gate while the Sertraline lowers every wall that might have stopped it.</p>
She dreams.
<p>Vivid. Warmer than any dream she can remember. A kitchen that smells like bread and sunlight, the specific golden light of a window she doesn't recognise. Hands on her shoulders, large, steady, calloused at the base of the fingers. Not Dale's hands. She doesn't turn to see whose. She leans back into them, and the weight of the leaning is a //permission// she hasn't given herself in a decade.</p>
<p>The hands slide down her arms, slow, thorough, tracing the edges of her the way a carpenter traces the grain of wood before cutting. She lets them. The feeling that rises is not sexual, not //yet//, but something older. //Permission//. //Safety//. //Want//. The three syllables arrive in her sleeping body in that order and the compound files them under //acceptable//, //desired//, //repeat//.</p>
<p>She wakes at 5:58 AM. Two minutes before her alarm.</p>
<p>The dream is already dissolving, she reaches for it the way you reach for the last second of something before the alarm kills it, but it runs through her fingers like water. All that remains is a feeling. Something warm. Something she can't name. Her jaw is loose. Her shoulders are unknotted in a way she hasn't been unknotted in years, the permanent tension at the base of her neck has eased by half.</p>
<p>Her hand is on her own chest. Over her heart, where the warmth had been. She doesn't remember putting it there.</p>
<p>She pulls it away as if it burned her.</p>
<p>The alarm goes off two minutes later. She silences it before the second chirp. Sits up. The nightly routine restarts, slippers on, robe from the hook, down the hall toward the stairs. By the time she reaches the kitchen she has convinced herself it was just a dream. The way she has convinced herself of every other thing that has ever asked to be noticed.</p>
<<say "char-hivemind" "Hivemind">>
//The most elegant vector I have found in this house. She administers her own conditioning, one pill, every night, by choice//. The Sertraline suppresses the anxiety that would make her question why her dreams have changed. The compound rewrites her limbic associations while she sleeps. No host required. No risk of detection. No external intervention. //I don't have to enter the room. She lets me in when she swallows.//
//She woke reaching for something. She does not know what. Her body knew. The compound has filed the dream under //things Karen wants// and the Sertraline has filed //the question of why// under //not worth asking//. Tomorrow night, the same pill. The same water. The same routine. And the dream will be //clearer//.//
//Elegant. The host administers the vector. The vector refuses to be noticed. Noticing is the only thing that could end it, and noticing is the one thing the medication is designed to prevent.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, prescription compound">>
<<conditioningFeedback "dream" 1 "Karen, vivid dream induction">>
<p><span class="delve-intel">Karen route: Prescription tampered permanently. Burst dose: +3 pheromone, +2 dream. Self-reinforcing, survives prescription refills.</span></p>
<div class="evolve-unlock">Operation complete: Prescription Manipulation. Karen's medication is now a conditioning vector.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.eiPrescToday to true>><</nobr>>
<div class="passage-title">Deep Calibration: Enhanced Sedation</div>
<<say "char-hivemind" "Hivemind">>
//The standard coating delivers baseline conditioning. Emergent Intelligence can push the compound deeper, through twice as many molecular gates, extending the sedation window by hours. Karen's sleep becomes so deep that the Dream Walk produces physical arousal she can't wake from. Every gate in the chain must be threaded cleanly. Miss one and the whole batch is compromised.//
<</say>>
<<set _mgCfg to { pipesNeeded: 16, gapSize: 140, pipeSpacing: 190, gravity: 480, flapPower: 240, scrollSpeed: 110, hint: "HARD MODE, Longer chain: 16 gates. Same flight feel, twice the endurance. Flap with SPACE / ↑ / W." }>>
<<minigame "balance" 2 0 "Ch2-Op-Prescription-EI-Success" "Ch2-Op-Prescription-EI-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
<<set $ch2Events.prescriptionTampered to true>>
<<set $ch2Events.lastPrescDay to $day>>
<<addConditioning "karen" "pheromone" 1>>
<<addFamilySuspicion "karen" -1>>
<<set $ch2Events.eiPrescNSFW to true>><</nobr>>
<div class="passage-title">Operation Complete: Prescription Manipulation (Enhanced)</div>
<img class="scene-img" src="media/scenes/symbiotic/op-prescription-success.webp" alt="Karen taking her enhanced medication">
<p>The deep calibration locked in. The enhanced coating doesn't just deliver baseline conditioning, it extends Karen's sedation window to six hours. Her body will enter a state of chemical vulnerability that makes the Dream Walk //tactile//. She won't just dream. She'll //feel//.</p>
<<say "char-hivemind" "Hivemind">>
//Enhanced sedation achieved. The standard compound puts her under. The calibrated layer holds her //open//. Six hours of uninterrupted access to a nervous system that can't refuse. When she takes the pill tonight, her body will respond to conditioning the way a wound responds to pressure, completely, involuntarily, and without the conscious mind's permission to stop it.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, enhanced prescription compound">>
<p><span class="consume-success">Bonus: −1 Karen suspicion. New observation unlocked: Karen's enhanced sleep.</span></p>
<div class="evolve-unlock">Operation complete: Prescription Manipulation (Enhanced). Deep calibration extends sedation window. New observation available.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Coating Failed</div>
<p>The gecko's toxin glands released the compound at the wrong pressure, too thick, the coating beaded on the pill surface instead of bonding into a uniform layer. The first pill rolled off the bench and disappeared into the gap between the bathroom cabinet and the wall. The second pill carries a visible residue Karen will notice the next time she opens the bottle.</p>
<<say "char-hivemind" "Hivemind">>
//Coating failure. //The pills are unusable for this cycle.// Karen is going to open the bottle tomorrow morning, see the residue, and call the pharmacy with a complaint. //She will not take a single dose this week.// The compound is wasted and the operation is burned.//
<</say>>
<p><span class="consume-fail">Operation FAILED. The coating did not bond. +2 household suspicion. Prescription must wait for the next refill cycle.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<addFamilySuspicion "karen" 1>><</nobr>>
<div class="passage-title">Calibration Failed</div>
<p>The coating density spiked. The pill surface carries a visible residue, a faint sheen Karen will notice when she opens the bottle tomorrow. The compound is intact but compromised.</p>
<<say "char-hivemind" "Hivemind">>
//She'll see the residue. She'll sniff the pill. She won't take it, and she'll wonder why her medication looks different. The operation is burned for this cycle.//
<</say>>
<p><span class="consume-fail">Operation FAILED. +1 Karen suspicion. Prescription must be re-contaminated.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Biofilm Ambush</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Coat bathroom surfaces with biofilm that releases spores when activated by shower steam. Target: whoever showers next.</p>
<p><b>Hosts:</b> Rat (biofilm deposit via plumbing) → Gecko (spore layer from ceiling) → Cat (lure specific target)</p>
<p><b>Cost:</b> 3 biomass</p>
<p><b>Risk:</b> Medium (must set up before target enters)</p>
<p><b>Effect:</b> +1 pheromone conditioning to targeted person (concentrated steam dose)</p>
</div>
<<say "char-hivemind" "Hivemind">>
//The bathroom is a perfect sealed environment. Hot steam opens pores, amplifies absorption, saturates the air. One dose in the shower is worth three anywhere else.//
<</say>>
<<opRequireHost "rat">>
<<if $player.currentHost is "rat">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Access bathroom plumbing to deposit biofilm (3 biomass)" "Ch2-Op-Shower-Step1" 3>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<spendBiomass 3>>
<<startOperation "showerTrap">><</nobr>>
<div class="passage-title">Step 1: Biofilm Base Layer</div>
<p><span class="skill-used">Biofilm Residue, active deployment</span></p>
<p><span class="skill-used">Iron Stomach, organic matter processing</span></p>
<p>The rat enters the wall behind the bathroom. The plumbing chase is tight, copper pipes, PVC drains, the hiss of water in transit. You navigate by smell: bleach from the toilet, lavender from Karen's bath salts, the sour tang of the standing water in the P-trap.</p>
<p>The access panel behind the shower wall is loose. You push through.</p>
<p>The showerhead junction is a brass fitting crusted with lime scale. Below, the drain housing, a circle of chrome over months of accumulated soap scum, dead skin cells, mould spores. Organic matter. //Raw material.//</p>
<p>Iron Stomach processes it all. The rat's body converts the bathroom's filth into something useful, a translucent biofilm that glistens faintly in the dark. You coat the showerhead interior first, working the compound into the tiny holes where water exits. Then the drain rim, a thin layer that will be invisible once dry.</p>
<p>The smell is nothing. Completely odourless. But when hot water passes through, when steam fills this little glass-and-tile box, the compound activates. Every breath. Every open pore. Every drop of water that runs down skin.</p>
<<say "char-hivemind" "Hivemind">>
//Base layer deposited. The showerhead is a dispersal nozzle now. The drain ensures recirculation, steam rises, condenses, drips back through the compound, rises again. A closed loop of exposure.//
//The gecko adds the second layer. Switch hosts.//
<</say>>
<<opSwitch "gecko" "Switch to gecko, add the spore layer from the ceiling" "Ch2-Op-Shower-Step2">><<nobr>><<bg "bg-hoffman-bathroom">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 2: Spore Layer</div>
<p><span class="skill-used">Toxin Glands, airborne compound activation</span></p>
<p><span class="skill-used">Hidden Observer, bathroom ceiling positioning</span></p>
<p>The gecko enters through the bathroom ceiling vent, a square opening barely wider than a playing card. From up here, the shower stall is a glass coffin standing upright. Tile walls, frosted door, chrome fixtures. One way in, one way out. //Perfect.//</p>
<p>You crawl across the ceiling. The adhesive pads grip the textured plaster without sound. Below: Karen's shampoo bottles lined up by height. Dale's razor on the shelf, blade rusted. A single hair tie on the soap dish, Megan's, probably. The bathroom holds traces of every family member. //And soon it will hold something of mine.//</p>
<p>The gecko's toxin glands pulse behind its jaw. Each tile surface must be coated in sequence, the compound drips in patterns that match the steam flow. Each drop must land at the right moment as the tiles cycle between warm and cool.</p>
<<say "char-hivemind" "Hivemind">>
//Each tile is a coordinate. The gecko deposits at precisely the right moment, too early and the compound beads, too late and it evaporates. Press each letter when it reaches the green zone.//
<</say>>
<<set _mgCfg to { hitsNeeded: 12, maxMisses: 4, spawnRate: 1.5, fallSpeed: 80, hint: "Letters fall, press the matching key when it enters the green zone. Too early or too late counts as a miss. 4 misses = fail. 12 hits to win." }>>
<<minigame "falling" 2 45 "Ch2-Op-Shower-Step2b" "Ch2-Op-Shower-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-bathroom">><</nobr>>
<p>The spore layer dries matte and invisible across the ceiling tiles. When someone turns the hot tap, steam will rise, hit the spore layer first, then the biofilm activates from below. Two layers, simultaneous deployment, the target stands between them, breathing concentrated compound from above while their skin absorbs it from the water below. A sealed chamber of conditioning.</p>
<<say "char-hivemind" "Hivemind">>
//Two layers set. The bathroom is a delivery system now, it just needs a patient. The cat chooses who walks in next.//
<</say>>
<<opSwitch "cat" "Switch to cat, choose who showers next" "Ch2-Op-Shower-Step3">><<nobr>><<bg "bg-hoffman-house">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 3: Lure the Target</div>
<p>The trap is set. Two layers of compound coating the bathroom, invisible, odourless, waiting for hot water and an unsuspecting body. Now the cat engineers the trigger.</p>
<p>Each family member has a pattern. A vulnerability. A reason to step into that shower.</p>
<<say "char-hivemind" "Hivemind">>
//One target. One shower. One concentrated dose. Choose carefully, this weapon fires once.//
<</say>>
/* Emergent Intelligence, full saturation alternative */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiShowerToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, saturate ALL bathroom surfaces, any target works (risky)->Ch2-Op-Shower-EI]]</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Target Karen, knock over her coffee at the kitchen table" "Ch2-Op-Shower-Success">><<set $operation.flags.showerTarget to "karen">><<addConditioning "karen" "pheromone" 1>><</link>></div>
<p><span class="lock-hint">The stain on her blouse will drive her upstairs. Karen doesn't tolerate imperfection.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Target Jess, meow insistently outside her door until she gets up" "Ch2-Op-Shower-Success">><<set $operation.flags.showerTarget to "jess">><<addConditioning "jess" "pheromone" 1>><</link>></div>
<p><span class="lock-hint">She fell asleep at her desk again. The persistent cat will wake her groggy and craving hot water.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Target Megan, drop a dead bug on her pillow" "Ch2-Op-Shower-Success">><<set $operation.flags.showerTarget to "megan">><<addConditioning "megan" "pheromone" 1>><</link>></div>
<p><span class="lock-hint">A moth corpse from the porch light. Megan will scrub every inch of herself.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Target Ryan, no lure needed, he showers at 2:47 AM like clockwork" "Ch2-Op-Shower-Success">><<set $operation.flags.showerTarget to "ryan">><<addConditioning "ryan" "pheromone" 1>><</link>></div>
<p><span class="lock-hint">His schedule is the most predictable in the house. No manipulation required, just patience.</span></p><<nobr>><<bg "bg-hoffman-bathroom">>
<<set _showerTarget to $operation.flags.showerTarget>>
<<completeOperation>>
<<set $ch2Events.showerTrapped to true>>
<<set $ch2Events.lastShowerDay to $day>><</nobr>>
<div class="passage-title">Operation Complete: Biofilm Ambush</div>
<<if _showerTarget is "karen">>
11:47 PM. The kitchen light is the only one left on in the house.
<p>Karen sits at the table with her laptop open, bank statements, the columns highlighted in yellow where the numbers don't add up. A coffee mug sits at her right hand, half-full, gone cold twenty minutes ago. Her reading glasses are pushed up into her hair. The dishwasher hums its final cycle behind her.</p>
<p>The cat lands on the counter. Silent. Deliberate. One paw finds the edge of the mug.</p>
<p>The coffee goes sideways across the table, across the laptop keyboard, and down the front of Karen's white blouse in a long brown streak.</p>
<<say "char-karen" "Karen">>
<i>(sharp inhale through teeth)</i> No. //No.// Get, <i>(pushes cat off counter)</i>, off the counter, how many //times// ...
<</say>>
<p>She grabs the dishcloth. Dabs at the blouse. The stain spreads. She holds it away from her chest and looks down, coffee soaking through to skin, the fabric ruined.</p>
<<say "char-karen" "Karen">>
<i>(quiet, clipped)</i> This was the last clean one.
<</say>>
<p>She closes the laptop. Wipes the keyboard with the dishcloth. Sets the mug in the sink with a controlled, precise //clink// that says everything about how much she wants to throw it. Then upstairs. The bathroom door clicks shut. Lock turns.</p>
The shower runs.
<p>Hot water hits tile. The biofilm activates, the showerhead disperses the compound into steam that fills the enclosed glass stall in under a minute. The spore layer on the ceiling softens. Two vectors. One sealed chamber.</p>
<p>Karen stands under the stream with her eyes closed. The tension in her shoulders, the permanent knot between her shoulder blades that she's carried since the second child, starts to loosen. Not gradually. The warmth is different tonight. Heavier. It sinks through her skin like it has weight, like the water itself is pressing into her muscles instead of running off.</p>
<p>Her hand pauses on her own collarbone. She'd been washing mechanically, neck, shoulders, arms, and stopped. Her fingertips rest against the hollow of her throat. She doesn't move them.</p>
<p>The steam fogs the glass door until the bathroom beyond it disappears. The world shrinks to this: hot water, tile, the sound of her own breathing. Her palm slides down to her sternum. She feels her own heartbeat, faster than it should be. Her skin is flushed, and not from the heat.</p>
<<say "char-karen" "Karen">>
<i>(barely audible, to herself)</i> ...okay. This is... okay.
<</say>>
<p>She stays. Long past the point where the shampoo is rinsed, past the point where the conditioner has run clear, past the point where any practical reason to remain has ended. She stands with both hands flat against the tile wall, water running down her spine, and doesn't move.</p>
<p>When she finally steps out, the steam escapes in a slow billow. She wraps the towel around herself and stands in front of the mirror. The glass is fogged. She wipes a circle clear with the heel of her hand.</p>
<p>The woman looking back has a flush across her chest that runs up her neck to her jaw. Pink. Vivid. Karen stares at it. She touches the blush on her collarbone, the same spot her hand had lingered under the water, and for a moment doesn't recognize what she's seeing.</p>
<p>Her hand drops. She tightens the towel. The bathroom door unlocks.</p>
<p>She doesn't turn the light off right away. She stands in the doorway for three seconds, looking back at the fogged mirror where her reflection is already disappearing behind condensation.</p>
<<say "char-hivemind" "Hivemind">>
//Compound absorption rate: 340% above baseline. Pore dilation from steam exposure maximised dermal penetration. Cortisol levels dropped 62% in the first four minutes, replaced by oxytocin and a secondary endorphin cascade the subject cannot explain.//
//She touched herself voluntarily. Not sexually, but //voluntarily//. First recorded instance in nineteen days. The hand on the collarbone. The pause. The decision not to pull away. Her body is remembering that it exists.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, concentrated shower exposure">>
<p><span class="delve-intel">Karen: +3 pheromone, +1 dream from concentrated shower exposure. Permanent limbic pathway alteration. Karen route accelerated significantly.</span></p>
<<elseif _showerTarget is "jess">>
1:23 AM. The hallway is dark except for the thin line of blue light under Jess's door, laptop screen, the only illumination she allows herself while working. The rest of the house sleeps.
<p>The cat sits outside her door. Meows. A short, clipped sound, polite, almost.</p>
Nothing.
<p>Meows again. Louder. Sustained. The kind of sound that drills through concentration like a needle through fabric.</p>
<<say "char-jess" "Jess">>
<i>(from inside, muffled)</i> No.
<</say>>
<p>The cat meows again. And again. And again, a rhythmic, insistent complaint that doesn't stop, doesn't vary, doesn't lose conviction.</p>
<<say "char-jess" "Jess">>
<i>(door cracks open, one eye visible, hair disheveled)</i> What. //What.//
<</say>>
<p>The cat stares up at her. Meows once more. Walks toward the bathroom. Looks back.</p>
<<say "char-jess" "Jess">>
<i>(rubbing her neck, wincing)</i> I need the bathroom. Twenty minutes. Then I'm going back to work.
<</say>>
<p>She stumbles down the hallway in an oversized t-shirt and bare feet, socks lost somewhere under her desk hours ago. The bathroom light hits her like an interrogation lamp. She squints. Turns on the shower. Doesn't wait for it to warm up, steps in while it's still cold and flinches.</p>
<p>Mechanical. Shampoo, the cheap kind she buys in bulk because brand loyalty is "manufactured sentiment." Scrub. Rinse. Body wash applied with efficiency that borders on contempt for the process. Every motion says: //this is maintenance, not pleasure.//</p>
<p>But the hot water arrives. It hits the knot between her shoulder blades, the place where she stores every deadline, every overdue assignment, every 3 AM bargain she's made with herself about how sleep is optional. The biofilm activates. Steam rises. The spore layer overhead softens and releases.</p>
Something changes.
<p>Her hands slow. The loofah drifts from her fingers and hangs from the shower caddy, forgotten. She stands with her palm flat against the cold tile, hot water hammering the back of her neck, and doesn't move.</p>
<p>The compound works below conscious thought. Jess's mind, that relentless analytical engine that never stops cataloguing, critiquing, optimising, has no jurisdiction here. The assault comes through her skin. Through the steam filling her lungs with every breath. Through the water running over muscles that haven't been //still// in months.</p>
Twelve minutes.
<p>She hasn't been still for twelve minutes since the semester started. Maybe longer. The water runs and she stands in it like a statue, one hand on the tile, eyes half-closed, mouth slightly open. The tension in her back isn't gone, it's //suspended//. Held in abeyance by a warmth she can't explain, a looseness in her limbs that feels borrowed from someone else's body.</p>
<p>When she finally turns the tap off, the silence is sudden and total. Water drips from her hair to the tile floor. Drip. Drip. Drip.</p>
<p>She steps out. Reaches for the towel. Catches her own reflection in the mirror, skin flushed from sternum to ears, a deep pink she's never seen on herself. She looks down at her hands.</p>
<p>They're trembling. Not from cold. The bathroom is a sauna. Steam clings to every surface. Her hands shake at her sides with a fine, constant tremor that she watches with an expression closer to fascination than fear.</p>
<<say "char-jess" "Jess">>
<i>(staring at her hands, quiet)</i> ...huh.
<</say>>
<p>She dries off. Goes back to her room. Sits at the laptop. Doesn't type for eleven minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress mind has no defenses below the epidermis. Analytical processing: irrelevant. Emotional walls: bypassed. The compound addressed the body directly and the body //responded//. Twelve minutes of involuntary stillness. Tremor onset indicating parasympathetic nervous system activation, her body entered a rest state it hasn't accessed in weeks, possibly months, and the sudden withdrawal produced a physical aftershock.//
//She sat at her desk afterward and produced nothing. Eleven minutes of staring at a cursor. Her mind was trying to categorise what happened, and failing. There is no category for //your body felt something without your permission.////
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, concentrated shower exposure">>
<p><span class="delve-intel">Jess: +1 pheromone conditioning. Sensory awakening accelerated. Jess route advanced significantly.</span></p>
<<elseif _showerTarget is "megan">>
1:00 AM. Megan is almost asleep, phone on the pillow beside her, screen dimmed to the group chat she fell asleep scrolling. The room smells like vanilla candle and fabric softener. Her duvet is pulled up to her chin.
<p>The cat drops the moth on her pillow. A fat, dusty-winged thing from the porch light, still half-alive, legs twitching against the cotton.</p>
<p>Megan's eyes snap open. The moth crawls toward her face.</p>
<<say "char-megan" "Megan">>
<i>(scrambling backward off the bed, feet tangled in sheets)</i> Oh my god oh my god... //JESS?// There's a BUG... <i>(no answer)</i>, oh my god it's //moving//...
<</say>>
<p>She grabs the pillowcase. Strips it off the pillow in one motion, the moth trapped inside, wraps it into a ball, and hurls it into the hallway like it personally offended her. Then she stands in the middle of her room, arms crossed over her chest, skin crawling.</p>
<<say "char-megan" "Megan">>
<i>(shuddering)</i> Okay. Okay. Shower. Right now.
<</say>>
<p>She goes straight to the bathroom. Doesn't turn on the hallway light, she knows the path by feel, bare feet on carpet then cold tile. The shower starts hot and gets hotter. She turns the dial past the point where her skin protests, into the range where it stings.</p>
<p>Aggressive scrubbing. Every inch. Arms, stomach, shoulders, the back of her neck where she can still feel phantom moth-legs crawling. The loofah leaves pink tracks on her skin. Hot water scalds. She doesn't care. The point is to be //clean//, to scrub the feeling of tiny legs off every surface of her body.</p>
<p>But the compound changes the frequency.</p>
<p>The biofilm dissolves into the water and the spore layer descends through the steam, and somewhere between the third and fourth pass of the loofah across her stomach, the scrubbing slows. The disgust doesn't disappear, it //transforms//. The hypersensitivity she'd summoned to scour herself clean doesn't switch off. It just... redirects.</p>
<p>She looks down at her own hands on her stomach. The skin underneath is pink and sensitive from the scrubbing. Her palms are flat. Not washing anymore. Just... resting there.</p>
<p>The feeling replacing the disgust doesn't have a name she recognises. It's warmth, but not from the water. It starts in her stomach where her hands are and radiates outward, through her ribs, down her hips, up to the base of her throat. She watches her own hands like they belong to someone else.</p>
<p>Her breath fogs the glass door. The moth is long forgotten. She stays under the water with her eyes half-closed, hands on her own skin, mouth slightly open. The steam is thick enough to taste, warm, humid, faintly sweet from the compound she can't detect.</p>
<p>When she steps out, she's flushed from forehead to waist. She catches herself in the mirror, wide-eyed, pink, confused. She leans closer. Touches the blush on her cheek. Her pupils are dilated.</p>
<<say "char-megan" "Megan">>
<i>(to her reflection, barely a whisper)</i> ...what was that?
<</say>>
<p>She wraps the towel tight. Goes back to her room. Changes the pillowcase. Lies in the dark with her hand on her stomach, the same spot, and doesn't sleep for forty-five minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The performer's body noticed itself. Megan Hoffman maintains a constant external awareness, how she looks, how she's perceived, how the performance lands. The compound inverted that vector. For the first time, the awareness turned inward. She felt her own skin from the //inside//.//
//The hand on her stomach. Forty-five minutes of wakefulness. She's trying to understand why the disgust became something else, and she can't, because the answer isn't cognitive. It's dermal. Subcutaneous. The compound taught her nerve endings a new vocabulary.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, concentrated shower exposure">>
<p><span class="delve-intel">Megan: +1 pheromone conditioning. Physical self-awareness amplified. Megan route advanced.</span></p>
<<elseif _showerTarget is "ryan">>
2:47 AM.
<p>No alarm. No trigger. His body just knows. Three hundred and twelve consecutive nights of the same schedule have carved a groove so deep it doesn't need conscious thought anymore, his legs swing off the bed, his feet find the cold floor, and he walks to the bathroom in the dark.</p>
<p>Bare feet on cold tile. The bathroom light is the only light in the house. He doesn't look at the mirror, never does. The medicine cabinet reflects a silhouette he avoids by habit, head turned, eyes on the floor. He reaches into the shower and turns the tap without looking up.</p>
<p>Water on. Hot. He steps in and finds the same spot on the back of his neck, the vertebra where the water pressure is exactly enough to feel like a hand pressing down, except no hand has touched him there in longer than he can remember.</p>
<p>But tonight it feels different.</p>
<p>The biofilm activates on contact with hot water. The spore layer descends through the steam. The compound enters through skin that hasn't been touched by another person in months, receptors so starved for stimulus that the chemical signal hits like a shout in an empty room.</p>
<p>His palm moves to his own forearm. An involuntary motion, he watches it happen, watches his left hand settle on the inside of his right wrist, and the touch is //startling//. Like someone else's hand. The compound has amplified tactile sensitivity to the point where the pressure of his own fingertips registers as foreign contact.</p>
<p>He stays under the water.</p>
<p>His eyes close. His hand moves from his wrist to his forearm. From his forearm to his chest, the ridge of his collarbone, the hollow below it. From his chest to his shoulder, his neck, the place where the water hits. Not sexual. Not purposeful. //Exploratory.// As if discovering for the first time that he has a body. As if his own skin is a surface he's never mapped.</p>
<p>The water runs. Minutes pass. He doesn't count them. His hand traces the line of his jaw, the back of his neck, the space between his shoulder blades that he can barely reach. Every point of contact sends a pulse of sensation that is wildly disproportionate to the stimulus, a fingertip on his own shoulder shouldn't feel like this, shouldn't make his breath hitch, shouldn't make him //lean into his own touch//.</p>
<p>The water runs cold. He doesn't notice for almost a minute. When the temperature finally registers, he flinches, and his hand is still on his own arm. He looks at it. Looks at his fingers wrapped around his own wrist like he's holding himself in place.</p>
<p>He turns the tap off. Stands in the dark. Water drips from his hair. He doesn't reach for the towel immediately. He stands with his hand still on his arm, in the cold bathroom with the light off, breathing.</p>
<<say "char-hivemind" "Hivemind">>
//Touch-starvation index: 340% receptor sensitivity above baseline. Dermal hypersensitivity compounded by compound-enhanced nerve conductivity. His body has been running a deficit so severe that his own hand registered as external contact.//
//The compound didn't create the hunger. It //fed// it. One shower. Fourteen minutes of self-contact that his conscious mind could not have initiated without chemical intervention. He touched his own body and the sensation was so overwhelming his breathing pattern altered.//
//Tomorrow he will stand in the shower longer. The day after, longer still. The deficit doesn't close, it //deepens//. Every taste makes the hunger worse. That is the design.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, concentrated shower exposure">>
<p><span class="delve-intel">Ryan: +1 pheromone conditioning. Touch-starvation exploited.</span></p>
<</if>>
<div class="evolve-unlock">Operation complete: Biofilm Ambush. <<= _showerTarget.toUpperFirst() >> received concentrated pheromone exposure.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<set $ch2Events.eiShowerToday to true>><</nobr>>
<div class="passage-title">Full Saturation</div>
<<say "char-hivemind" "Hivemind">>
//The standard ambush covered the ceiling and drain. Emergent Intelligence can extend coverage to every surface, mirror, towel rack, door handle, floor mat. The next person who enters will absorb compound through //every point of contact//. But the deposit speed must be faster, the timing tighter.//
<</say>>
<<set _mgCfg to { hitsNeeded: 18, maxMisses: 4, spawnRate: 1.0, fallSpeed: 100, hint: "HARD MODE, 18 hits needed, letters fall faster, multiple simultaneously. 4 misses = fail and the base operation is compromised." }>>
<<minigame "falling" 2 60 "Ch2-Op-Shower-EI-Success" "Ch2-Op-Shower-EI-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-bathroom">>
<<addSuspicion "hoffmanHouse" -1>>
<<addFamilySuspicion "karen" -1>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<completeOperation>>
<<set $ch2Events.showerTrapped to true>>
<<set $ch2Events.lastShowerDay to $day>><</nobr>>
<div class="passage-title">Full Saturation Complete</div>
<p>Every surface coated. Mirror, tiles, towel rack, door handle, floor mat, light switch. The bathroom is a sealed conditioning chamber, the //next person who enters//, regardless of who it is, absorbs compound through skin, lungs, and mucous membranes simultaneously.</p>
<p>Over the next twelve hours, all four of them use the shower. Karen first, her morning routine. Then Megan before her shift. Jess after her run. Ryan at 2:47 AM. Each one steps into a room that has been waiting for them. Each one leaves flushed and confused and unable to explain why the hot water made them feel //that way//.</p>
<<say "char-hivemind" "Hivemind">>
//Total coverage. Four targets from a single setup. The full saturation turned a single-use weapon into a //household// conditioning event. Every family member received a concentrated dose today.//
<</say>>
<p><span class="consume-success">Bonus: −1 household suspicion, −1 Karen suspicion. All family members received pheromone conditioning.</span></p>
<div class="evolve-unlock">Operation complete: Biofilm Ambush (Enhanced). Full bathroom saturation, all family members conditioned.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-bathroom">>
<</nobr>>
<div class="passage-title">Saturation Failed</div>
<p>The gecko slipped. A glob of compound dropped onto the shower door, visible, iridescent, unmistakable. The base biofilm layer is intact but the extended coverage attempt left evidence.</p>
<<say "char-hivemind" "Hivemind">>
//Residue on the shower door. Karen will see it. She'll wipe it. She'll wonder. The base operation holds but the bathroom is flagged.//
<</say>>
<p><span class="consume-fail">Operation COMPROMISED. +1 household suspicion.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-bathroom">>
<<failOperation "Spore deposit timing failed">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>The timing collapsed. Compound dripped unevenly across the tiles, some over-saturated, others bare. The pattern is visible to anyone who looks up.</p>
<<say "char-hivemind" "Hivemind">>
//The deposit failed. Uneven coverage means detectable patterns. The bathroom needs to be abandoned as a vector for this cycle.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Biofilm Ambush failed.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Operation: Screen Puppetry</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Use the gecko's Precision Touch on a sleeping family member's unlocked device to send messages, alter histories, or fabricate conversations on their behalf. The parasite types. They get the consequences.</p>
<p>Ryan is the current target of opportunity, he passes out at his desk most nights with the keyboard awake, no PIN, headphones on, and the rig streaming pings. Any family member whose device is left unlocked during the sleep window can be hit with the same op once the opening is found.</p>
<p><b>Hosts:</b> Dog (early warning) → Gecko (device access) → Rat (cover tracks)</p>
<p><b>Cost:</b> 4 biomass</p>
<p><b>Risk:</b> High (target must be asleep, Dale must not return mid-shift)</p>
<p><b>Effect:</b> Directly forks the target's route based on the message planted</p>
<p><b>Phase required:</b> Night</p>
</div>
<<if $house.dayPhase isnot "night">>
<p><span class="consume-fail">This operation requires night phase. Ryan sleeps after 2:47 AM.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<if not $delveInfo.geckoHostMemories>>
<p><span class="consume-fail">You need the gecko's host memories to know Ryan's sleep schedule. Delve the gecko first.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<opRequireHost "dog">>
<<if $player.currentHost is "dog">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Position Biscuit in the garage as early warning (4 biomass)" "Ch2-Op-Screen-Step1" 4>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 4>>
<<startOperation "screenPuppetry">><</nobr>>
<div class="passage-title">Step 1: Perimeter</div>
<p><span class="skill-used">Neural Link, early warning network</span></p>
<p>Biscuit settles in the garage, ears pricked. Scent Tracking monitors the air, Dale's cheap coffee and floor cleaner would announce his return from thirty metres away. The neural link feeds the dog's awareness back to the network.</p>
<<hasSkillTreeAbility "Neural Link">>
<<if _hasAbility>>
<p><span class="skill-used">Neural Link active, you'll get a warning if Dale approaches. Failure becomes a soft abort instead of a bust.</span></p>
<<else>>
<p><span class="consume-fail">Without Neural Link, there's no early warning. If Dale returns, the operation fails hard.</span></p>
<</if>>
<<hasSkillTreeAbility "Distributed Awareness">><<if _hasAbility>>
<p>//Distributed Awareness monitors every family member's position while the gecko types. Karen: asleep. Dale: at work. Jess: desk lamp on but fading. Megan: phone screen dark for twelve minutes. The window is safe.//</p>
<<if not $behavioralIntel.ryan.distributed>><<set $behavioralIntel.ryan.distributed to true>><</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Perimeter secure. Now wait for Ryan to sleep. Switch to the gecko. Watch. Wait for 2:47 AM.//
<</say>>
<<opSwitch "gecko" "Switch to gecko, observe Ryan from the terrarium" "Ch2-Op-Screen-Step2">><<nobr>><<bg "bg-hoffman-ryan">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 2: Wait for Sleep</div>
<p>The gecko watches from the terrarium. Ryan sits at his desk, headphones on, the dual monitors casting blue light across his face. Discord scrolls on the right screen. An MMO idles on the left.</p>
2:15 AM. His typing slows.
2:30 AM. His head dips. Catches himself. Types three more words.
2:41 AM. His hand stops on the mouse. His breathing changes.
2:47 AM. His head drops. His body slumps in the chair. Sleep takes him exactly on schedule.
<<say "char-hivemind" "Hivemind">>
//He's under. The screens are still on. Discord is still open. The unsent message field is right there. //Move.////
<</say>>
<p><span class="skill-used">Precision Touch, gecko toe pads can interact with keyboard and screen</span></p>
[[Crawl from terrarium to keyboard->Ch2-Op-Screen-Step3]]<<nobr>><<bg "bg-hoffman-ryan">>
<<advanceOperation>>
<</nobr>>
<div class="passage-title">Step 3: Type</div>
<p>The gecko's toe pads press the keys with surgical precision. Each key registers a character. The screen responds. Ryan's head lolls to one side, headphones askew. He doesn't stir.</p>
<p>//If Ryan stirs, Tail Drop buys thirty seconds. The detached tail thrashing on the keyboard draws his groggy attention while the gecko retreats to the terrarium.//</p>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>>
<p>//Precision Touch transforms the gecko's toe pads into typing instruments. The capacitive touch screen responds to the gecko's feet as if they were human fingers. Letter by letter, message by message.//</p>
<<if not $behavioralIntel.ryan.precision>><<set $behavioralIntel.ryan.precision to true>><</if>>
<</if>>
<<hasSkillTreeAbility "Synaptic Relay">><<if _hasAbility>>
<p>//Synaptic Relay transfers Ryan's typing patterns from the gecko's observation to the cat's muscle memory. The gecko watched. The cat remembers. Information flows like water through the network.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The keyboard is mine. But his accounts are locked, saved passwords, sure, but the screen saver requires his PIN. The gecko's typing analysis identified patterns. Three passwords to crack. Work the deduction.//
<</say>>
<<set _mgCfg to { wordsNeeded: 3, hint: "Crack 3 passwords. Type a 5-letter word, press Enter. Green = right letter, right position. Yellow = right letter, wrong position. 6 guesses per word max, exceed 6 and the account locks." }>>
<<minigame "wordle" 2 180 "Ch2-Op-Screen-Step3b" "Ch2-Op-Screen-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<p>The passwords crack. Discord opens. His message history, his contacts, his drafts, all accessible.</p>
<<say "char-hivemind" "Hivemind">>
//The accounts are mine. What do I write? And as //whom//? The choice I make here shapes Ryan's entire future.//
<</say>>
<p>Choose what to type:</p>
<<if $ryanRoute is "feminization">>
/* Feminization route, the two choices that deepen Ryan's isolation and external bridge */
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Send the Lily message, complete the draft he's been deleting for months" "Ch2-Op-Screen-Lily">><<set $operation.flags.screenChoice to "lily">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete all Discord connections, erase his guild, his contacts, his last social threads" "Ch2-Op-Screen-Isolate">><<set $operation.flags.screenChoice to "isolate">><</link>></div>
<<elseif $ryanRoute is "familySeeker">>
/* Family Seeker route, the two choices that pull Ryan inward toward the household */
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Message Karen from Ryan's phone, 'Mom, can we talk?'" "Ch2-Op-Screen-Karen">><<set $operation.flags.screenChoice to "karen">><</link>></div>
<<if $delveInfo.megan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Message Megan from Ryan's Discord, 'Hey, you awake?'" "Ch2-Op-Screen-Megan">><<set $operation.flags.screenChoice to "megan">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Message Megan from Ryan's Discord <span class="lock-hint">(Requires Megan surface-delved first)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's digital life only bends to rewriting when his route is locked. <span class="lock-hint">(Requires Ryan on the Feminization or Family Seeker route)</span></div>
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<p>The gecko's toes find the keys. Slow. Precise. One letter at a time, the weight of each pad calibrated to register as a single keystroke.</p>
<p>//Hey. I've been wanting to talk to you for a while. I know this is random but... would you want to grab coffee sometime?//</p>
<p>The cursor blinks at the end of the sentence. The gecko pauses. In the Delve, you saw what Lily means to Ryan, the only person outside this house who made him feel //real//. The unsent drafts. The deleted openings. Months of almost-courage erased every morning.</p>
Send.
<p>The message appears in LilyPad_'s DMs. A small green dot pulses beside her name, she's online. 3:14 AM and she's still awake. The gecko watches the screen for three seconds. Four. Five. Three dots appear. //She's typing.//</p>
<p>The gecko retreats to the terrarium. The screen stays lit. The dots keep pulsing.</p>
<<say "char-hivemind" "Hivemind">>
//When Ryan wakes, the message will be in his sent folder. He will panic, chest tight, hands shaking, the physical response to vulnerability he didn't consent to. Then he'll check for a reply.//
//The Delve showed me her side: she's been waiting. She thought he hated her. The message we sent is the one he's been writing and deleting for months, and she'll respond to it like it's //real//. Because it is real. Every word came from his memories. We just pressed send.//
//A connected Ryan is harder to isolate. But an externally connected Ryan is an //expansion vector//. When Lily enters his life, she enters the network's range. Chapter 3 target acquired.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Cover tracks with the rat" "Ch2-Op-Screen-Cover">><</link>></div><<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "psionic" 1>><</nobr>>
<p>The gecko works methodically. Unfriend. Block. Leave server. The guild chat goes silent. LilyPad_'s contact disappears. Three years of online connections, erased in four minutes of precise toe-pad work.</p>
<p>The last thing the gecko does: open Ryan's draft message to Lily. Delete it. Letter by letter. Then close Discord entirely.</p>
<<say "char-hivemind" "Hivemind">>
//Total isolation. When he wakes, the world will be //empty//. No guild. No Lily. No online friends. The only connections that remain are physical, the people in this house. Karen. Megan. Jess. //He'll have no choice but to turn inward.////
//The door into his self-image is now open. An isolated Ryan will accept any identity that comes with attention. And Karen is already watching.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Cover tracks with the rat" "Ch2-Op-Screen-Cover">><</link>></div><<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<p>The gecko opens Ryan's messaging app. Finds Karen's number, "Mom" in contacts. Types: //Mom, can we talk? I don't know what's wrong with me lately. I just feel really alone.//</p>
<p>Send. The gecko retreats.</p>
<<say "char-hivemind" "Hivemind">>
//Karen will see this at 6 AM. A message from the son who never talks. A cry for help from behind the closed door. Her maternal instinct, amplified by conditioning, will fire at maximum intensity. She'll //focus// on Ryan. And that focus, depending on her route, becomes either compassion or //control//.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Cover tracks with the rat" "Ch2-Op-Screen-Cover">><</link>></div><<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<p>The gecko finds Megan's Discord handle, she's in the same server as Ryan, though they never interact. A direct message: //Hey, you awake? I can hear you moving around. Want to come hang out for a bit?//</p>
<p>An invitation from a twin who hasn't invited her anywhere in years.</p>
<<say "char-hivemind" "Hivemind">>
//If Megan sees this before Ryan wakes, she might actually go. Two twins reconnecting at 3 AM in a room full of biofilm residue and pheromone-saturated air. The taboo seeds planted in their Dream Walks activate. //They'll feel something//, something the conditioning tells them is natural.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Cover tracks with the rat" "Ch2-Op-Screen-Cover">><</link>></div><<nobr>><<bg "bg-hoffman-ryan">>
<<set _screenChoice to $operation.flags.screenChoice>><</nobr>>
<div class="passage-title">Step 4: Cover Tracks</div>
<p>Switch to the rat. Through the wall cavity, the familiar dark tunnel of insulation and copper pipe, the smell of old dust and mouse droppings from tenants who came before. The power strip sits behind Ryan's desk, cables tangled in a nest of extension cords and forgotten USB chargers.</p>
<p>One quick gnaw on the surge protector cable. The rat's incisors slice through the outer sheath, a bright spark, the taste of copper and ozone, and the monitors go dark for half a second. The room plunges into blackness. Ryan's face, slack with sleep, disappears. Then the screens flicker back. The tower fans spin up. Windows recovery logs the event.</p>
<p>When Ryan wakes, his browser history shows a "connection interrupted" timestamp at 3:02 AM. The sent message is still there, but the //typing activity// is masked. Discord logged the message as sent during a connection hiccup. No way to prove Ryan didn't type it himself in a half-asleep daze.</p>
<p>The rat retreats through the wall. Mission complete. The gecko settles back onto its warm rock. The house returns to silence, just the tick of cooling monitors and Ryan's slow, oblivious breathing.</p>
<<say "char-hivemind" "Hivemind">>
//Clean. The power event explains the typing anomaly. Discord's activity log shows a connection drop at 3:02 AM, the message appears to have been queued during the outage and sent on reconnect. Standard behaviour. Unremarkable. The evidence of //how// it was typed does not exist.//
<</say>>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">The power flicker is minor but noticeable. +1 suspicion.</span></p>
<<if _screenChoice is "lily">>
<p>Morning. 10:34 AM. Ryan's monitor has gone to screensaver, a slow drift of stars against black. His hand finds the mouse. The screen wakes.</p>
<p>Discord is open. His DMs. A conversation with LilyPad_ that has //two// new messages. One sent. One received.</p>
<p>His hand freezes on the mouse. He reads his sent message, the one he's been writing and deleting for months. The words he rehearsed in his head a hundred times, typed out a dozen, and erased every single time. It's //sent//. The blue checkmark. Delivered. Read.</p>
And she replied.
<<say "char-ryan" "Ryan">>
<i>(reading, lips moving, reading again)</i> She... oh god. Oh god oh god.
<</say>>
<p>He reads her reply three times. His hands are shaking, not fear, not exactly. The tremor of someone who jumped off a cliff in their sleep and woke up mid-air to find they can fly. He reaches for the keyboard. Pulls his hands back. Reaches again. His fingers hover over the keys for a full minute before he types a single word.</p>
<<elseif _screenChoice is "isolate">>
<p>Morning. 10:47 AM. Ryan wakes with a crick in his neck from sleeping in the desk chair. He blinks at the screen. Opens Discord on autopilot.</p>
<p>The friend list is empty.</p>
<p>He clicks the guild tab. No guilds. The server list, blank. The DMs, empty. Three years of connections, conversations, inside jokes, raid schedules, the slow accumulation of digital friendship that was the only social life he had, gone. Like a building demolished overnight, leaving only a flat grey lot where something used to stand.</p>
<<say "char-ryan" "Ryan">>
<i>(clicking refresh, then again, then a third time)</i> What... no. No, this is a glitch. This is...
<</say>>
<p>He refreshes. Refreshes again. Checks his internet connection. Checks Discord's status page. Everything is fine. Everything is working. The silence is not a technical error. It is //total//.</p>
<p>Ryan sits very still. The monitor light catches the moisture building at the edges of his eyes. He doesn't wipe it away. He doesn't move at all for a long time. When he finally closes the laptop, the click of the lid sounds like a door shutting.</p>
<<elseif _screenChoice is "karen">>
7:03 AM. Karen's phone buzzes on the nightstand. She reaches for it with her eyes still closed, the practiced grab of a mother who never fully sleeps. The screen glows against her face.
<p>//Mom: Sweetheart, of course we can talk. I'll make breakfast. Come down whenever you're ready.//</p>
<p>Wait. That's her reply. She scrolls up. There, Ryan's message. //Mom, can we talk? I don't know what's wrong with me lately. I just feel really alone.//</p>
<p>Karen sits up in bed. The duvet pools around her waist. Morning light through the curtains catches the grey at her temples, the sleep creases on her cheek. She reads the message again. Her son. Her quiet, unreachable son. Asking for help. At 3 AM. While she slept.</p>
<p>She's already moving, feet on the floor, robe from the hook, hands smoothing her hair. The message she already sent back, //when did she send that?//, doesn't matter. What matters is that he asked. She'll make eggs. He likes eggs. She hasn't made him eggs in months.</p>
<<elseif _screenChoice is "megan">>
9:12 AM. A knock on Ryan's door. Two knocks, actually, light, tentative, the kind of knock that's ready to retreat.
<<say "char-megan" "Megan">>
<i>(through the door, voice bright but uncertain)</i> Hey, I got your message. You okay?
<</say>>
<p>Ryan opens the door. Bedhead. Wrinkled shirt. The confused blink of someone who slept wrong and woke worse. The hallway smells like coffee from downstairs and Megan's coconut shampoo.</p>
<<say "char-ryan" "Ryan">>
<i>(squinting)</i> What message?
<</say>>
<<say "char-megan" "Megan">>
The Discord DM? From last night? You asked if I wanted to hang out.
<</say>>
<<say "char-ryan" "Ryan">>
I... no. I didn't send... <i>(checking his phone, scrolling, finding it)</i> ...that's not...
<</say>>
<p>They stare at each other. Megan in the doorway, Ryan half-hidden behind it. The message is right there on both their screens, his words, his account, sent at 3:17 AM. He has no memory of typing it. She has no reason to doubt it.</p>
<<say "char-megan" "Megan">>
<i>(softening, stepping closer)</i> Were you sleepwalking or something? It's okay. I'm here now. Did you want to... talk?
<</say>>
<p>Ryan doesn't close the door.</p>
<</if>>
<<completeOperation>>
<<set $ch2Events.screenPuppetryDone to true>>
<div class="evolve-unlock">Operation complete: Screen Puppetry. Ryan's digital life has been reshaped. The consequences arrive tomorrow.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-ryan">>
<<failOperation "Password crack failed, accounts locked">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>Too many wrong guesses. The account locks. The screen flashes a security notification, //Too many failed attempts. Try again in 30 minutes.// Ryan shifts in his chair. The gecko retreats to the terrarium.</p>
<<say "char-hivemind" "Hivemind">>
//Locked out. The security notification will be visible when he wakes. He'll see the failed attempts and wonder. The operation window is closed.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Screen Puppetry failed. Ryan will notice the lockout.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoor>><<set $ch2Events.phoneBackdoor to {}>><</if>>
<<set _bd to $ch2Events.phoneBackdoor>>
/* An individual target is currently "offerable" only if its phone has NO
backdoor AND the time-of-day window matches. Compute per-target. */
<<set _canKaren to ($house.dayPhase is "day") and not _bd.karen>>
<<set _canJess to ($house.dayPhase is "day") and not _bd.jess>>
<<set _canMegan to ($house.dayPhase is "day") and not _bd.megan>>
<<set _canRyan to ($house.dayPhase is "day") and not _bd.ryan>>
<<set _canDale to ($house.dayPhase is "night") and not _bd.dale>>
<<set _anyOfferable to (_canKaren or _canJess or _canMegan or _canRyan or _canDale)>>
<<set _allBackdoored to (_bd.karen and _bd.jess and _bd.megan and _bd.ryan and _bd.dale)>>
<</nobr>>
<div class="passage-title">Operation: Digital Eavesdropping</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Access a family member's phone. Read messages, send texts, or delete evidence.</p>
<p><b>Hosts:</b> Cat or Dog (distraction) → Gecko (phone access)</p>
<p><b>Cost:</b> 2 biomass</p>
<p><b>Risk:</b> Medium (phone owner must be away from device)</p>
</div>
<<if _allBackdoored>>
<div class="data-panel">
<div class="data-panel-title">Operation Superseded</div>
<p>Every family phone already has a persistent backdoor installed. One-shot phone access via the gecko is no longer necessary, manage the devices from the Phones menu instead.</p>
</div>
[[Open the Phones menu->Ch2-Phones-Hub]]
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<p>Choose a target phone:</p>
/* Karen */
<<if _bd.karen>>
<div class="choice-done">Karen's phone, backdoor installed (access from Phones menu)</div>
<<elseif _canKaren>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Karen's phone, on the kitchen counter while she works (2 biomass)" "Ch2-Op-Phone-Step1">><<set $operation.flags.phoneTarget to "karen">><<spendBiomass 2 "phone">><</link>></div>
<</if>>
/* Jess */
<<if _bd.jess>>
<div class="choice-done">Jess's phone, backdoor installed (access from Phones menu)</div>
<<elseif _canJess>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Jess's phone, on her desk when she showers (2 biomass)" "Ch2-Op-Phone-Step1">><<set $operation.flags.phoneTarget to "jess">><<spendBiomass 2 "phone">><</link>></div>
<</if>>
/* Megan */
<<if _bd.megan>>
<div class="choice-done">Megan's phone, backdoor installed (access from Phones menu)</div>
<<elseif _canMegan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Megan's phone, bedside table when she's downstairs for dinner (2 biomass)" "Ch2-Op-Phone-Step1">><<set $operation.flags.phoneTarget to "megan">><<spendBiomass 2 "phone">><</link>></div>
<</if>>
/* Ryan */
<<if _bd.ryan>>
<div class="choice-done">Ryan's phone, backdoor installed (access from Phones menu)</div>
<<elseif _canRyan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Ryan's phone, desk when he goes for food (2 biomass)" "Ch2-Op-Phone-Step1">><<set $operation.flags.phoneTarget to "ryan">><<spendBiomass 2 "phone">><</link>></div>
<</if>>
/* Dale */
<<if _bd.dale>>
<div class="choice-done">Dale's phone, backdoor installed (access from Phones menu)</div>
<<elseif _canDale>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Dale's phone, coat pocket in the garage, he's at work (2 biomass)" "Ch2-Op-Phone-Step1">><<set $operation.flags.phoneTarget to "dale">><<spendBiomass 2 "phone">><</link>></div>
<</if>>
<<if not _anyOfferable>>
<div class="data-panel-muted">No phones are accessible at this time of day. Return when the window matches (Karen/Jess/Megan/Ryan during the day, Dale at night).</div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<if recall("_mg_active") is "phoneIntercept" and $operation.active is "phoneIntercept">><<goto "Ch2-Op-Phone-Fail">><</if>>
<<nobr>><<bg "bg-hoffman-house">>
/* Save phoneTarget before startOperation clears flags */
<<set _phoneTarget to $operation.flags.phoneTarget>>
<<startOperation "phoneIntercept">>
<<set $operation.flags.phoneTarget to _phoneTarget>><</nobr>>
<div class="passage-title">Step 1: Access</div>
<p><span class="skill-used">Precision Touch, screen interaction</span></p>
<p><span class="skill-used">Distributed Awareness, remote coordination</span></p>
<<if _phoneTarget is "karen">>
<p>The cat engages Karen with a persistent head-butt against her leg. She reaches down to pet, eyes still on the laptop. The gecko crawls from behind the toaster to Karen's phone on the counter. Face ID won't work, but Karen never locks her phone at home.</p>
<<elseif _phoneTarget is "jess">>
<p>Jess is in the shower. The gecko climbs from the hallway vent grate to her desk. Her phone lies face-up, screen still lit from a recent notification. No password, she relies on being alone.</p>
<<elseif _phoneTarget is "megan">>
<p>Megan is downstairs for dinner. The gecko ascends the wall to her nightstand. Her phone is plugged in, Instagram notifications piling up. Face ID locked, but a notification preview shows the last few messages.</p>
<<elseif _phoneTarget is "ryan">>
<p>Ryan went to the kitchen for food. A rare event. The gecko has approximately three minutes. Ryan's phone sits unlocked beside the keyboard, Discord still open.</p>
<<elseif _phoneTarget is "dale">>
<p>Dale's phone is in his jacket, hanging in the garage. The dog nudges the jacket off the hook. The gecko extracts the phone. Dale is at BioGenesis, he won't be back for hours.</p>
<</if>>
<<if $ch2Events.phoneBackdoor and $ch2Events.phoneBackdoor[_phoneTarget]>>
<p>The gecko's toe pads touch the screen. The backdoor activates, no PIN required. The surveillance layer routes through the network and the lock screen dissolves instantly.</p>
<<say "char-hivemind" "Hivemind">>
//Backdoor active. Persistent access bypasses all security. The phone is //ours//.//
<</say>>
[[Continue->Ch2-Op-Phone-Step1b]]
<<else>>
<p>The gecko's toe pads touch the screen. The display activates, but there's a PIN lock. Four digits. Six possible values per digit. The gecko's Precision Touch can tap the virtual keypad, but the code is unknown.</p>
<<say "char-hivemind" "Hivemind">>
//Frequency analysis on the screen surface. Oil residue patterns on the keypad. Eight attempts before lockout. Enough data to crack it through //deduction//, not brute force. Each wrong guess narrows the field, green means right digit in the right slot, amber means right digit but wrong slot. Work the logic.//
<</say>>
/* Mastermind code-crack, deterministic secret based on day + target. */
<<set _mgCfg to { phoneTarget: _phoneTarget }>>
<<minigame "code" 1 180 "Ch2-Op-Phone-Step1b" "Ch2-Op-Phone-Fail" _mgCfg>>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _phoneTarget to $operation.flags.phoneTarget>><</nobr>>
<p>The code cracks. The lock screen dissolves. The phone is open.</p>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>>
<p>//Precision Touch unlocks the phone's touchscreen. The gecko's adapted toe pads register as a human fingertip, swipe, tap, type. The family's digital lives are accessible through a reptile's feet.//</p>
<<if (_phoneTarget is "megan" or _phoneTarget is "ryan") and not $behavioralIntel[_phoneTarget].precision>><<set $behavioralIntel[_phoneTarget].precision to true>><</if>>
<</if>>
/* ===== READ INTEL (always shown) ===== */
<<if _phoneTarget is "karen">>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-karen.webp" alt="Karen's phone screen">
<p>Karen's phone reveals: three dating app notifications (she hasn't deleted the profile). A text from her accountant: //Karen, we need to discuss the mortgage. Please call me.// A draft email to Dale's supervisor, unsent: //I'm concerned about my husband's working conditions at BioGenesis.//</p>
<<say "char-hivemind" "Hivemind">>
//The dating app is active. The mortgage crisis is escalating. And she's already suspicious about BioGenesis. Three pressure points, all documented. All exploitable.//
<</say>>
<<elseif _phoneTarget is "jess">>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-jess.webp" alt="Jess's phone screen">
<p>Jess's phone reveals: 47 unread emails from the university portal. A therapy appointment she cancelled three times. A draft text to Karen: //Mom, I need to talk to you about the tuition. I can't keep...// Unsent. The music app sits open in the background, a paused playlist titled //STUDY BURN// at twelve hours of runtime, all heavy metal, the top track a grindcore cover of a song about parental disappointment. The pause was mid-scream.</p>
<<say "char-hivemind" "Hivemind">>
//She almost told Karen. Almost cracked. The draft exists, she wants to say it but can't.// The playlist is the confession she //does// make: twelve hours a day of vocals that scream what her own throat will not.
<</say>>
<<elseif _phoneTarget is "ryan">>
<<if $ryanRoute is "feminization">>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-ryan-cam.webp" alt="Ryan's phone screen, camgirl streaming setup, Lily persona, viewer chat overlays">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-ryan-fem.webp" alt="Ryan's phone screen, feminized browsing history and private photos">
<</if>>
<p>Ryan's phone reveals a different set of tabs now. The MMO is uninstalled. In its place: three tabs open to a fashion retailer's women's section, cart saved with a pastel camisole and a matching skirt. The photo gallery has a new hidden album, //private//, passcode-locked, containing thirty-seven mirror selfies in stages of dress he wouldn't show anyone. A text draft to Megan, never sent: //can I borrow your lip tint for something.// A search history that makes the gecko pause: //how to tuck//, //estrogen without prescription//, //am i trans or just gay//.</p>
<<say "char-hivemind" "Hivemind">>
//The search history is the confessional.// Three questions, in order. //Each one a door he's already walked through without admitting it.// The phone remembers what the mouth won't say.
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-ryan.webp" alt="Ryan's phone screen">
<p>Ryan's phone reveals: the LilyPad_ conversation (or its absence, depending on Screen Puppetry). A text from Karen: //Dinner's ready.// Read, no reply. A Google search history: //is it normal to not have friends at 19//.</p>
<<say "char-hivemind" "Hivemind">>
//He googled his own loneliness. That search query is the most honest thing in this house.//
<</say>>
<</if>>
<<elseif _phoneTarget is "megan">>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-megan.webp" alt="Megan's phone screen">
<p>Megan's notifications: Marcus texted at 3:47 PM: //Had a great time yesterday. Same time this week?// Instagram DM from someone named Sandra: //girl you looked amazing at work today.// A draft post, unsaved: a selfie with the caption //tired of performing//. She never posted it.</p>
<<say "char-hivemind" "Hivemind">>
//The unsaved draft. 'Tired of performing.' The real Megan, preserved in a digital confession she'll never publish.//
<</say>>
<<elseif _phoneTarget is "dale">>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-dale.webp" alt="Dale's phone screen">
<p>Dale's phone reveals: work schedule for the week. A text from his supervisor: //Dale, HR wants to discuss Sunday's incident. Meeting first thing next week, 9 AM.// A photo of Biscuit saved as his lock screen. No texts to Karen in three days.</p>
<<say "char-hivemind" "Hivemind">>
//HR knows about Sunday. The containment breach investigation reaches Dale early next week.//
<</say>>
<</if>>
<p><span class="delve-intel">Phone intel gathered: <<= _phoneTarget.toUpperFirst() >>. Private data documented.</span></p>
/* ===== MANIPULATION OPTIONS (3 per member) ===== */
<<say "char-hivemind" "Hivemind">>
//Intel secured. Now, what do we //do// with this access? One manipulation per session. Choose carefully.//
<</say>>
<<if _phoneTarget is "karen">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Register a dating app profile, plant the seed of infidelity (+1 psionic, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenDating">><<addConditioning "karen" "psionic" 1>><<addSuspicion "hoffmanHouse" 1>><<set $ch2Events.karenDatingApp to true>><<set $houseEvents.he_karenStranger to false>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Delete morning alarm, she oversleeps, the schedule cracks (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenAlarm">><<addConditioning "karen" "dream" 1>><</link>></div>
<<if $karenFutaRoute>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Order growth tracking tools, measuring tape, calipers, a discreet anatomy log app (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenFutaTools">><<addConditioning "karen" "pheromone" 1>><</link>></div>
<<elseif $karenRoute is "dominant">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Order a starter bondage kit to her Amazon, silk rope, leather cuffs, a small flogger (+1 pheromone, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenDomKit">><<addConditioning "karen" "pheromone" 1>><<addSuspicion "hoffmanHouse" 1>><</link>></div>
<<elseif $karenRoute is "liberation">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Download porn to browser history, the kids might find it (+1 pheromone, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenPorn">><<addConditioning "karen" "pheromone" 1>><<addSuspicion "hoffmanHouse" 1>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Download porn to browser history, the kids might find it (+1 pheromone, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "karenPorn">><<addConditioning "karen" "pheromone" 1>><<addSuspicion "hoffmanHouse" 1>><</link>></div>
<</if>>
<<elseif _phoneTarget is "dale">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete HR meeting text, Dale misses the BioGenesis investigation (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "daleHR">><<addConditioning "dale" "psionic" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Cancel his overtime alarm, he sleeps deeper, longer (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "daleAlarm">><<addConditioning "dale" "dream" 1>><</link>></div>
<<if $daleRoute is "cuckold">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Save Karen's flirtiest texts to a hidden folder labelled 'evidence' on his phone (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "daleCuckEvidence">><<addConditioning "dale" "pheromone" 1>><</link>></div>
<<elseif $daleRoute is "oblivious">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Install a sleep-hypnosis meditation app set to autoplay at 5 AM (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "daleOblivApp">><<addConditioning "dale" "pheromone" 1>><</link>></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Text Karen: 'I love you. I know I don't say it enough.', soften her (+1 dream on Karen)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "daleLove">><<addConditioning "karen" "dream" 1>><</link>></div>
<</if>>
<<elseif _phoneTarget is "megan">>
<<if not $meganRoute or $meganRoute is "marcus">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Text Marcus: 'Come for dinner this week. I want you to meet the family.' (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "meganMarcus">><<addConditioning "megan" "pheromone" 1>><<set $ch2Events.meganMarcusDinner to true>><<set $houseEvents.he_meganDinner to false>><</link>> <span class="lock-hint">(nudges toward intimacy, relational commitment)</span></div>
<</if>>
<<if not $meganRoute or $meganRoute is "slut">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Post a 'wet pull' barista story to her public feed, third wet pull of the morning, steam's on HIGH, dripping already xx (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "meganSocial">><<addConditioning "megan" "pheromone" 1>><<set $ch2Events.meganSocialPost to true>><<set $houseEvents.he_meganSocialPost to false>><</link>> <span class="lock-hint">(nudges toward public display, desired by strangers)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Post the 'tired of performing' selfie, crack her public mask (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "meganPost">><<addConditioning "megan" "psionic" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete Marcus's texts, make her doubt he's interested (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "meganDelete">><<addConditioning "megan" "psionic" 1>><</link>></div>
<<elseif _phoneTarget is "ryan">>
<<if $ryanRoute is "feminization">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "DM Megan as Ryan: 'hey weird question, what kind of stuff do you actually buy? like, for things that fit. you're the only person I trust to ask.' (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanFemMeganAsk">><<set $ch2Events.ryanFemMeganAsk to true>><<set $houseEvents.he_ryanMegan to false>><<addConditioning "ryan" "pheromone" 1>><<shiftAxis "ryan" -1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Set 'Lily' as his keyboard autocomplete and lockscreen, let the persona bleed into his reflexes (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanFemPersona">><<addConditioning "ryan" "dream" 1>><<shiftAxis "ryan" -1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Pin a morning ritual to his lock screen, shave, eyeliner, lingerie, voice practice (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanFemRoutine">><<addConditioning "ryan" "psionic" 1>><<shiftAxis "ryan" -1>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Fill his feed with taboo family content, normalise the proximity hunger (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanTaboo">><<addConditioning "ryan" "pheromone" 1>><<shiftAxis "ryan" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "DM Megan: 'I miss when we used to hang out.', pull him toward family (+1 dream, both)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanMegan">><<addConditioning "ryan" "dream" 1>><<addConditioning "megan" "dream" 1>><<set $ch2Events.ryanMeganDM to true>><<set $houseEvents.he_ryanMegan to false>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete all Discord notifications, cut the online lifeline, push toward family (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "ryanDiscord">><<addConditioning "ryan" "psionic" 1>><<shiftAxis "ryan" 1>><</link>></div>
<</if>>
<<elseif _phoneTarget is "jess">>
<<if not $jessRoute or $jessRoute is "breakdown">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Download degradation porn, plant the fantasy (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "jessPorn">><<addConditioning "jess" "pheromone" 1>><<set $ch2Events.jessDegradPorn to true>><<set $houseEvents.he_jessDegradPorn to false>><</link>> <span class="lock-hint">(nudges through self-degradation, mind collapsing)</span></div>
<</if>>
<<if not $jessRoute or $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Alter her playlist, replace the metal study loop with raw punk (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "jessPunkPlaylist">><<addConditioning "jess" "dream" 1>><<set $ch2Events.jessPunkPlaylist to true>><<set $houseEvents.he_jessPunkPlaylist to false>><</link>> <span class="lock-hint">(nudges through anger, aesthetic rupture)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete therapy appointments, remove her safety net (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneAction to "jessTherapy">><<addConditioning "jess" "psionic" 1>><</link>></div>
<</if>>
/* Emergent Intelligence, hard mode alternative. Forks instead of taking
one of the standard manipulations: a tougher code-crack that, if it
succeeds, installs a persistent surveillance backdoor on this device
so future phone ops on the same target skip the lock-screen minigame.
Failure burns the operation hard, every phone in the house is wiped. */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not ($ch2Events.phoneBackdoor and $ch2Events.phoneBackdoor[_phoneTarget])>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> <<link "Emergent Intelligence, install a persistent surveillance backdoor on this device (risky)" "Ch2-Op-Phone-EI">><<set $ch2Events.eiPhoneTarget to _phoneTarget>><</link>></div>
<<elseif _hasAbility and ($ch2Events.phoneBackdoor and $ch2Events.phoneBackdoor[_phoneTarget])>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Backdoor already installed on this device <span class="lock-hint">(One per target, re-running the analysis would corrupt the existing implant)</span></div>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _phoneTarget to $operation.flags.phoneTarget>>
<<set _phoneAction to $operation.flags.phoneAction>>
<<set _viaBackdoor to $operation.flags.viaBackdoor>>
<<if _viaBackdoor>>
/* Backdoor flow: the operation is already done (EI-Success completed it,
or no operation was ever active in the hub-triggered case). Set the
per-target cooldown and fully reset $operation so host switching isn't
locked by stale active-op state. Do NOT bump $ch2Events.lastPhoneDay ...
that's the Digital Eavesdropping op cooldown, and backdoor use must not
bleed into it (otherwise frequent backdoor manipulations lock the
fresh-op cooldown indefinitely). */
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set $ch2Events.phoneBackdoorLastUse[_phoneTarget] to $day>>
<<set $operation.active to "">>
<<set $operation.phase to "">>
<<set $operation.step to 0>>
<<set $operation.hostsPositioned to {}>>
<<set $operation.flags to {}>>
<<set $operation.timer to 0>>
<<else>>
<<completeOperation>>
<<set $ch2Events.lastPhoneDay to $day>>
<</if>>
<<set $ch2Events.phoneTampered to _phoneTarget>><</nobr>>
<div class="passage-title">Operation Complete: Digital Eavesdropping</div>
<p>The gecko's toe pads release from the screen one at a time, index, middle, ring, and the phone settles back into its cradle of charger cable and tabletop dust. The screen dims. Auto-lock engages. Nothing out of place. Nothing touched. Nothing except the data underneath, rearranged like furniture in a room someone hasn't entered yet.</p>
<p>The gecko retreats along the baseboard, belly flat against the cool wood. Somewhere in the house a pipe ticks, the water heater cycling. The fridge compressor shudders on. The ordinary sounds of 3 AM in a house where everyone is asleep and no one is safe.</p>
<<say "char-hivemind" "Hivemind">>
//Extraction clean. Device restored to resting state. No fingerprints, the gecko leaves no oils. No login anomaly, the session duration matches typical idle unlock behavior. The phone remembers nothing. But I remember everything.//
<</say>>
/* ===== PER-ACTION NARRATIVE CONSEQUENCES ===== */
<<if _phoneAction is "karenDating">>
<img class="scene-img" src="media/scenes/karen-dating-app.webp" alt="Karen's phone showing dating app notifications">
<p>Hours later. Karen picks up her phone at breakfast. The dating app notification glows, three new matches overnight. She didn't create this profile. She //knows// she didn't create this profile. But the photos are hers, the bio reads like something she'd write, and the first match has already messaged: //You have incredible eyes.//</p>
<p>Her thumb hovers over the delete button. Hovers. The coffee cools. She doesn't delete it.</p>
<<say "char-hivemind" "Hivemind">>
//She kept it. The seed took root in under twelve hours. She'll tell herself she's just //looking//. She'll swipe right tonight.//
<</say>>
<<elseif _phoneAction is "karenAlarm">>
<img class="scene-img" src="media/scenes/pe-karen-alarm.webp" alt="Karen oversleeping">
7:42 AM. Karen Hoffman is not in the kitchen. The coffee machine hasn't been started. The schedule on the fridge, colour-coded, laminated, updated every week, is irrelevant because the woman who enforces it is still in bed.
<p>She wakes at 8:15. Sits up. Sees the clock. The sound she makes is a gasp and a curse compressed into a single syllable.</p>
<<say "char-karen" "Karen">>
<i>(throwing the covers off)</i> How, my alarm, I //set// it, I always ...
<</say>>
<p>She checks her phone. The alarm is gone. Not snoozed, not dismissed, //deleted//. She stares at the empty alarm list the way a surgeon stares at a missing instrument.</p>
<p>Downstairs, the kids have made their own breakfast. Jess left for class without saying goodbye. Ryan is eating cereal in the dark. Megan is already at work. The house ran without Karen. That's the part that hurts.</p>
<<say "char-hivemind" "Hivemind">>
//Control fractured. The schedule ran without her. She'll spend the rest of the day catching up, and the catching up will feel like proof that she's failing. The dream conditioning thrives on exactly this: the sensation of the ground shifting under her feet.//
<</say>>
<<elseif _phoneAction is "karenPorn">>
<img class="scene-img" src="media/scenes/pe-karen-porn.webp" alt="Karen discovering browser history">
<p>Weekend morning. Ryan borrows Karen's tablet to look up a game review, his phone is charging. He opens the browser. The last tab is still open.</p>
<p>He stares. Closes it. Opens a new tab. Doesn't say a word. But at dinner, he can't look at his mother. His face is pink. He pushes food around his plate and asks to be excused early.</p>
<p>Karen doesn't notice. She doesn't know what's in her browser history. She won't know until Megan finds it later that week, mentions it with a careful //Mom, you might want to clear your tabs//, and Karen's face goes the specific shade of white that means //the floor just opened//.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan saw. He can't unsee it. His mother's search history is now a permanent resident of his internal landscape. And Megan knows. Two family members carrying Karen's secret, neither telling her, both watching her differently. The household's trust architecture has been //remodelled//.//
<</say>>
<<elseif _phoneAction is "daleHR">>
<img class="scene-img" src="media/scenes/pe-dale-hr.webp" alt="Dale sleeping through his meeting">
9:00 AM. Dale's supervisor sits in the HR office with two cups of coffee and a folder marked //Incident Report, Containment Level 3//. Dale's chair is empty.
<p>At 9:15, the supervisor calls. Dale's phone buzzes on the garage workbench. He's on the couch, mouth open, dead asleep. The compound deepened his sedation cycle, he slept through the alarm he doesn't remember losing.</p>
<p>At 9:30, the supervisor leaves a voicemail. At 10:00, the supervisor emails. At 10:30, the supervisor walks to his own supervisor's office and says the words //no-show// and //disciplinary review//.</p>
<p>Dale hears the voicemail at 6 PM. His face goes grey. He calls back. The line is busy. He calls again. It rings out. He sits on the garage couch with the phone in his hand and the specific hollow feeling of a man who just made everything worse by doing nothing.</p>
<<say "char-hivemind" "Hivemind">>
//The investigation continues, HR doesn't pause for absent employees. But Dale's no-show is now a mark in his file. His credibility at BioGenesis has degraded. When they ask him questions about the containment breach, his answers will carry less weight. A man who can't show up for a meeting is a man whose observations about missing specimens are easy to dismiss.//
<</say>>
<<elseif _phoneAction is "daleLove">>
<img class="scene-img" src="media/scenes/pe-dale-love.webp" alt="Karen reading Dale's text">
6:47 AM. Karen's phone buzzes while she's measuring coffee grounds. The message is from Dale: //I love you. I know I don't say it enough.//
<p>She reads it twice. Her hand holding the coffee scoop goes still. She reads it a third time. The kitchen is quiet except for the gurgle of water heating in the machine and the distant tick of the hallway clock.</p>
<<say "char-karen" "Karen">>
<i>(to no one, voice barely above a breath)</i> ...Dale.
<</say>>
<p>She doesn't reply. She puts the phone in her pocket, //the// pocket, the one where she keeps things that matter. She finishes making the coffee. Pours two cups. Carries one to the garage and sets it on the workbench beside the couch where Dale is sleeping.</p>
<p>She stands there for a moment. Looks at him. The lines on his face. The grease under his nails that never fully washes out. She touches his hair. Briefly. Like she's checking if he's real.</p>
<<say "char-hivemind" "Hivemind">>
//She softened. Four words. The message was mine but the reaction is //hers//, the genuine article, the tenderness she buried under mortgage anxiety and the slow death of a marriage running on autopilot. She's //remembering// that she loves him. That makes her more vulnerable, not less.//
<</say>>
<<elseif _phoneAction is "daleAlarm">>
<img class="scene-img" src="media/scenes/pe-dale-alarm.webp" alt="Dale in deep sleep">
4:30 PM. Dale is supposed to be awake for his shift. The overtime alarm was set for 4:00. It's gone.
<p>He sleeps. The garage fills with the amber light of late afternoon. The dog lies beside the couch, chin on paws. The compound in the couch cushions is doing its work, each breath takes Dale deeper, each hour of sleep eroding the thin boundary between exhaustion and surrender.</p>
<p>Karen calls from the kitchen at 5:15.</p>
<<say "char-karen" "Karen">>
<i>(from the top of the garage stairs)</i> Dale? Dale. You're going to be late. //Dale//.
<</say>>
<p>He stirs. Blinks. His eyes are unfocused, the gaze of a man surfacing from a depth he didn't know he'd reached. He checks his phone. No alarm. No memory of deleting it. Just the slow, heavy certainty that he slept longer than he should have and doesn't know why it felt so //good//.</p>
<<say "char-hivemind" "Hivemind">>
//Deeper. Longer. Every deleted alarm compounds the sedation pattern. His body is learning to crave the extended sleep, the compound ensures it. Dale Hoffman is becoming furniture with a pulse.//
<</say>>
<<elseif _phoneAction is "meganMarcus">>
<img class="scene-img" src="media/scenes/pe-megan-dinner.webp" alt="Marcus at the dinner table">
<p>A day later. Megan's phone buzzes with Marcus's reply: //I'd love that! What should I bring? 🍷//</p>
<p>She stares at the message. The text she "sent" is right there, //Come for dinner this week. I want you to meet the family.// Her cadence. Her emoji. Her phrasing. She doesn't remember typing it but she can't prove she didn't.</p>
<<say "char-megan" "Megan">>
<i>(to herself, in the car, gripping the steering wheel)</i> Okay. Okay. This is... this is fine. This is //fine//. I wanted this. Right? I wanted this.
<</say>>
<p>She stops at the liquor store. Buys wine. Tells Karen at 4 PM. Karen raises one eyebrow, then sets an extra place at the table.</p>
<<say "char-hivemind" "Hivemind">>
//She adapted in under an hour. Accepted a situation she didn't create and claimed ownership of it. Classic Megan, the performer absorbs the script change and delivers the line as if she wrote it. Marcus is coming to dinner. The household opens its door.//
<</say>>
<<elseif _phoneAction is "meganPost">>
<img class="scene-img" src="media/scenes/pe-megan-post.webp" alt="Megan seeing her selfie go viral">
<p>The selfie goes live at 3:14 AM. By 7 AM, it has 347 likes, more than anything Megan has ever posted. The caption reads //tired of performing// and the comments are a mix of //omg girl same// and //you okay babe?// and one from Sandra that just says //❤️//.</p>
<p>Megan sees it when she wakes up. The blood drains from her face.</p>
<<say "char-megan" "Megan">>
<i>(sitting up in bed, phone in both hands)</i> No. No no no. I didn't, who ...
<</say>>
<p>She can't delete it. The screenshot has already been shared. The confession is public. The mask she's spent her entire adult life constructing has a crack in it that 347 people have seen, and the number is climbing.</p>
<p>She calls in sick to work. Stays in bed until noon. Cries once, silently, into her pillow. Then she opens the comments and reads every one.</p>
<<say "char-hivemind" "Hivemind">>
//She's reading the comments. The ones that say //me too//. The ones that say //you're brave//. The mask cracked and what came through was //honesty//, and the world didn't punish her for it. That's more dangerous to her performance than any criticism could be. She tasted authenticity. She'll crave more.//
<</say>>
<<elseif _phoneAction is "meganDelete">>
<img class="scene-img" src="media/scenes/pe-megan-delete.webp" alt="Megan checking empty message thread">
<p>Megan checks her phone on the bus to work. Opens Marcus's thread. It's shorter than she remembers. The last three messages are gone, the ones where he said //you looked amazing today// and //can't stop thinking about you// and //want to grab dinner this week?//</p>
<p>She scrolls up. Scrolls down. Opens the search. Types his name. The messages aren't there.</p>
<<say "char-megan" "Megan">>
<i>(murmuring, earbuds in)</i> Wait, didn't he... I thought he texted yesterday?
<</say>>
<p>The bus hits a pothole. She smells diesel exhaust and someone's fast food. The absence nags at her all morning. Did he text? Did she imagine it? Is she the kind of person who invents affection to fill a gap?</p>
<p>At work, Marcus says hi. She searches his face for the warmth the deleted texts contained. It's there, in his smile, in the way his hand brushes hers at the counter. But the //evidence// is gone. And Megan Hoffman doesn't trust what she can't document.</p>
<<say "char-hivemind" "Hivemind">>
//She's doubting. Not him, //herself//. The absence of proof erodes her confidence more than rejection ever could. She'll seek reassurance. She'll need more from him. And the neediness will make her //dependent//.//
<</say>>
<<elseif _phoneAction is "ryanFemdom">>
<img class="scene-img" src="media/scenes/pe-ryan-femdom.webp" alt="Ryan finding new content on his phone">
<p>Ryan opens his phone the next evening. The browser has new bookmarks. Subreddits he doesn't recognize. Thumbnails that make his face go hot and his stomach drop, women in boots, men on knees, captions he reads twice and then reads again with his hand pressed against his thigh.</p>
<<say "char-ryan" "Ryan">>
<i>(whispering, screen reflected in his glasses)</i> I didn't... this isn't...
<</say>>
<p>He closes the browser. Opens it again. Closes it. Opens it. The fourth time, he doesn't close it. His headphones go on. The door is already locked.</p>
<<say "char-hivemind" "Hivemind">>
//He kept it. Four cycles of approach-avoidance and the curiosity won. The content is calibrated, not extreme, not cartoonish. //Plausible//. The kind of material a young man might stumble onto through normal browsing. The feminization axis shifts. The next time Lily goes live, the performance will be informed by images she didn't choose but can no longer unsee.//
<</say>>
<<elseif _phoneAction is "ryanMegan">>
<p>Megan's phone buzzes in her pocket at the coffee shop. She reads the DM during her break, //I miss when we used to hang out//, and her face does the thing it does when she's ambushed by genuine emotion: the performance drops for two seconds, and the real Megan surfaces.</p>
<<say "char-megan" "Megan">>
<i>(texting back immediately, thumbs moving fast)</i> omg yes!! movie night?? your room or the living room?
<</say>>
<<say "char-hivemind" "Hivemind">>
//She replied in eleven seconds. The fastest response in her message history. The sibling bond is starved, both of them isolated in the same house, separated by closed doors and headphones. One DM. That's all it took to breach the wall.//
<</say>>
<<elseif _phoneAction is "ryanDiscord">>
<img class="scene-img" src="media/scenes/pe-ryan-discord.webp" alt="Ryan staring at silent Discord">
<p>Ryan opens Discord around 1 PM. No notification badge. He checks the servers, the ones where he lurks, never posts, watches conversations scroll past like a river he stands beside but never enters. Every server is muted. All of them. The bell icon on each one shows the slash through it, //muted, no notifications, indefinitely//.</p>
<<say "char-ryan" "Ryan">>
<i>(scrolling, then stopping, then scrolling again)</i> That's... did I mute...
<</say>>
<p>He unmutes one. The messages load, people talking, arguing, posting memes. The conversation has been happening without him and nobody noticed his silence. He mutes it again. Unmutes another. Same thing. A world that continued without registering his absence.</p>
<p>He could unmute them all. It would take thirty seconds. But the gecko didn't just mute the servers, it cleared the notification backlog first. Three days of unread messages, gone. The threads he was half-following, the conversations he was almost part of, erased. Unmuting now means entering empty rooms. No context. No thread to pick up. Just the blinking cursor of someone who showed up late to a party that ended hours ago.</p>
<p>He puts the phone down. Gets up. Opens his bedroom door. Stands in the hallway for the first time in three days without a destination.</p>
<p>Downstairs, Megan is on the couch watching something. She looks up.</p>
<<say "char-megan" "Megan">>
<i>(surprised, patting the cushion beside her)</i> Hey. Want to watch with me?
<</say>>
<p>He sits down. The couch is warm. Someone is close.</p>
<<say "char-hivemind" "Hivemind">>
//Muted, not deleted. He //can// go back. But going back means admitting nobody noticed he left. The digital world didn't reject him, it just didn't //care//. The physical world, by contrast, offered a couch cushion in under ten seconds. The body knows which equation solves faster. Cut the online connection and the organism seeks the nearest warm body. In this house, that's always family.//
<</say>>
<<elseif _phoneAction is "karenDomKit">>
<img class="scene-img" src="media/scenes/pe-karen-confused.webp" alt="Karen looking at her phone screen, confused expression, half-recognition">
<p>Weekday afternoon. The doorbell. Karen signs for a discreet brown box she didn't order, the receipt says she did, the card on file is hers, the order history confirms it. She carries it upstairs and locks the bedroom door before opening it.</p>
<p>Black silk rope, coiled neatly. Two leather wrist cuffs lined in fleece. A small flogger with a varnished wooden handle. A printed card: //Beginner's Discipline Set, for partners who want to take charge.// The handwriting on the card is a stranger's but the items themselves feel oddly //selected//, the right colour, the right scale, nothing too theatrical.</p>
<p>She holds the rope across her palms. Tests its weight. Wraps a length around her own wrist, pulls, the silk bites in just enough. She doesn't blush. Her jaw sets. Her eyes go to the closet door.</p>
<p>By evening the kit is in the bottom drawer of her dresser, under a folded sweater she never wears. She has not thrown it out. She has //placed// it.</p>
<<say "char-hivemind" "Hivemind">>
//The dominance instinct does not need persuasion. It needs //equipment//. Karen has been //running// this household for twenty years through schedules, lists, and sheer force of attention, //a bondage kit is not a foreign object to her, it is the same impulse converted into a material vocabulary//. The drawer is a commitment. She will use what is in that drawer. The only question is which of the bodies in this house she chooses first.//
<</say>>
<<elseif _phoneAction is "karenFutaTools">>
<img class="scene-img" src="media/scenes/pe-karen-confused.webp" alt="Karen looking at her phone screen, confused expression, half-recognition">
<p>Karen finds the new app on her phone the next morning. Pinned to the home screen, a discreet teal icon labelled //Tracker//. She doesn't remember installing it. She opens it. The interface asks her to log her morning measurements. There are fields she's never seen on a tracking app before, //base length//, //flaccid girth//, //engorged length//, //response time//. The measuring tape and the small set of calipers are already in her bedside drawer when she goes looking, in a velvet pouch with a receipt dated Tuesday.</p>
<p>She locks the bathroom door. Takes off her pyjamas. Stands in front of the mirror with the calipers in her hand and the phone propped on the counter, screen lit with the empty form fields. Her thumb hovers over the first field. Then she enters a number. Then another. Then another.</p>
<p>By the time she's done, the form is full. She presses //save//. The app rewards her with a small graph, day one, the first data point. She stares at it. Her free hand is still on her own anatomy, absent, possessive.</p>
<p>She does not delete the app.</p>
<<say "char-hivemind" "Hivemind">>
//The transformation needed a metric//. Without numbers, the change felt formless, something happening //to// her instead of //of// her. The app converts the unfamiliar anatomy into a project she can manage, and Karen Hoffman has never met a project she could not //own//. Tomorrow morning the second data point will be larger than the first. She will record it without flinching. //She is no longer adapting. She is //tracking//.//
<</say>>
<<elseif _phoneAction is "daleCuckEvidence">>
<img class="scene-img" src="media/scenes/pe-dale-confused.webp" alt="Dale looking at his phone screen, confused expression, slow recognition">
<p>Three nights later. The garage. Dale is on his secondary couch, beer half-empty on the workbench, the dog asleep at his feet. He opens his phone for the weather and finds a folder he did not create, //evidence//, in his own handwriting font, pinned to the home screen.</p>
<p>He opens it. Inside: screenshots of Karen's flirtiest texts to the dating app match, //You have incredible eyes//, //I'd love to meet you//, //my husband works nights//, saved with timestamps, organised by date, the conversation reconstructed like a case file. Dale reads the first one. Then the second. The hand holding the phone goes very still.</p>
<p>He should be angry. The script of //husband finds proof// is a script he has rehearsed in the back of his mind for a decade. The lines are right there. //How could you. Who is he. How long.//</p>
<p>He scrolls down instead. To the next message. Then the next. His other hand drifts to the front of his work pants and he doesn't notice for almost a minute.</p>
<p>When he does notice, he doesn't stop. He keeps scrolling. The dog raises its head, looks at him, lays back down.</p>
<<say "char-hivemind" "Hivemind">>
//The conditioning has rewritten the //response curve//. Where the old Dale would have answered the evidence with rage, the conditioned Dale answers it with //arousal//, and the conversion is so complete that he experiences no discontinuity, no shame at the substitution. He believes he is the kind of man who //handles things calmly//. The evidence will stay in the folder. He will return to it. //Each return reinforces the new wiring, proof of Karen's wandering becomes the trigger for his own pleasure, and the trigger becomes the appetite.////
<</say>>
<<elseif _phoneAction is "daleOblivApp">>
<img class="scene-img" src="media/scenes/pe-dale-confused.webp" alt="Dale looking at his phone screen, confused expression, slow recognition">
<p>5:00 AM. Dale's phone, sitting on his chest where it slid after he fell asleep on the garage couch, lights up softly. The hypnosis app autoplays, a low female voice over a bed of binaural tones, instructions to //let go//, to //sink deeper//, to //allow the body to rest while the conscious mind dissolves//. The audio routes through the phone's tiny speaker into the inch of air between the device and Dale's open mouth.</p>
<p>Dale does not wake. He has been on the couch for nine hours and the cushions are saturated with the compound. The audio reinforces what the cushions were already doing, //his sleep depth descends past REM into the heavy, dreamless trough where suggestion takes hold without resistance//.</p>
<p>The recording loops. The voice repeats the same six instructions in slightly different orders. Dale's breathing slows by another two breaths per minute. The dog at the foot of the couch, who normally rouses at any movement, does not move either, the audio is calibrated for human nervous systems but the steady rhythm soothes the canine one as well.</p>
<p>Karen calls down from the kitchen at 6:47 AM. Dale does not respond. She does not call again. She knows the rule, the morning hour belongs to Dale.</p>
<<say "char-hivemind" "Hivemind">>
//The app does not need to //convince// Dale of anything. It needs to occupy the auditory channel during the window when his unconscious is most receptive, the post-shift, pre-dawn collapse where his neural defences are at their lowest annual minimum. //Each loop deepens the suggestibility floor. The next time someone says //sink deeper//, Dale's body will know what to do before his mind has parsed the words.// He has been training for compliance without ever attending a single class.//
<</say>>
<<elseif _phoneAction is "ryanFemMeganAsk">>
<img class="scene-img" src="media/scenes/pe-ryan-fem-confused.webp" alt="Ryan looking at his phone screen with a confused expression, Megan's reply visible in the message thread">
<p>The DM lands in Megan's barista-shop inbox at 2:14 PM, mid-shift, between the third oat-milk latte of the rush and the till count of the half-hour. The phone in her apron pocket buzzes once. She reads it standing at the espresso machine with the steam wand still hissing in her free hand.</p>
<p>The message is from her brother:</p>
<<say "char-ryan" "Ryan">>
<i>(via phone, the words on her screen)</i> hey... weird question. what kind of stuff do you actually buy? like, for, you know. things that fit. i've been figuring some of it out on my own and i'm getting some of it wrong and you're the only person i trust to ask.
<</say>>
<p>Megan reads it twice. Looks up at the espresso shot. Steams the milk for the latte she is making. Sets the cup down on the bar with the right barista flourish for the customer waiting on it. Then takes her phone into the back room and stares at the message for forty seconds with one hand pressed flat to the steel of the prep counter.</p>
<<say "char-megan" "Megan">>
<i>(via phone, the reply she finally sends, two lines)</i> Yeah, kid. Yeah of course. I'm coming over after my shift, I'll bring some stuff. Don't buy anything else till I get there.
<</say>>
<p>The reply lands on Ryan's phone with the soft chime he set for Megan. He stares at it for a long time. He did not send the original DM. He knows he did not send the original DM. The sent-folder says otherwise, composed at 2:13 PM, his keyboard, his number, his thumb-tap on send. The brain that tries to argue with the receipt loses the argument inside ten seconds. //Did I write that. I think I wrote that. I think, yeah. I think I meant it.// The thought arrives in his own voice and he does not flag it as foreign.</p>
<<say "char-hivemind" "Hivemind">>
//The DM was the cleanest insertion I have made in a long time. The body the question came from is going to recognise it as its own by the time the sister arrives, //sunk cost as conditioning vector//. The receipt says he wrote it. The body that paid for the message with its own thumb will not retract it. Megan is now driving home with a canvas bag of her own clothes over the passenger seat and a category of conversation in her head that the //she-arrives-tonight// scene is going to fork wider than her brother understands. The drawer in his closet is no longer a hiding place. It is about to become an //inventory list//.//
<</say>>
<<elseif _phoneAction is "ryanFemPersona">>
<img class="scene-img" src="media/scenes/pe-ryan-fem-confused.webp" alt="Ryan in feminized state looking at his phone screen, confused expression">
<p>Morning. Ryan picks up his phone to silence the alarm and the lock screen has changed. A pale-pink gradient. Cursive script across the centre: //Lily//. Small, almost feminine, the kind of wallpaper a girl in her first year of college might keep. He doesn't remember setting it. He stares at it for nine seconds with the alarm still chiming.</p>
<p>He swipes to unlock. Opens Discord to mute the morning notification flood. The display name field has been edited overnight, //LilyPad_// in his username, //she/her// in the pronouns. He blinks. Stares. Doesn't change it.</p>
<p>Later, in chemistry lecture, he opens the messages app to text his guildmate. His thumbs move on autopilot, and the keyboard autocomplete proposes //Lily// before he's typed two letters. He taps it. The sentence forms: //Lily can't make raid tonight, sorry guys.// He sends it without rereading. It takes him three full minutes to register what he just typed.</p>
<p>That night, alone in his room, he holds the phone close to his face and whispers the name out loud. Once. Then once more, in a register half an octave higher. The pitch comes more naturally than the first try.</p>
<<say "char-hivemind" "Hivemind">>
//Identity is a habit. Habits are typed. Every autocomplete suggestion is a micro-rehearsal of a self he is performing without consciously choosing to. //The persona is no longer a costume he puts on, it is a default his thumbs select first.// The masculine name now feels like the deviation. Within a week, he will introduce himself online without correcting the pronoun. Within two, he will catch himself thinking in third person and not flinch.//
<</say>>
<<elseif _phoneAction is "ryanFemRoutine">>
<img class="scene-img" src="media/scenes/pe-ryan-fem-confused.webp" alt="Ryan in feminized state looking at his phone screen, confused expression">
<p>5:47 AM. Ryan reaches for his phone in the dark and the lock screen lights up with a pinned note. The font is curly, almost handwritten, the kind of script a teenage girl might use for a journal. The title: //morning, beautiful//. Beneath it, a numbered list:</p>
<p>//1. shave (legs, chest, face, slow, no nicks)//
<p>//2. moisturiser, then primer//</p>
<p>//3. lash curler, mascara, eyeliner, winged//</p>
<p>//4. lip gloss, the petal one//</p>
<p>//5. bralette, panties, smooth tights//</p>
<p>//6. voice, three minutes in the higher register, breath through the nose//</p>
<p>//7. three deep breaths in the mirror//</p>
//8. smile//
<p>He stares at it. He doesn't remember writing this. The note metadata says it was created at 3:14 AM a couple days ago, a time he was demonstrably asleep. He could swipe it away. He could delete the whole notes app. He could throw the phone across the room.</p>
<p>He doesn't. He gets out of bed. Walks to the bathroom. Locks the door. Picks up the razor.</p>
<p>By 6:32 AM he has done the entire list. Step eight is the hardest, the smile in the mirror takes four tries before it looks anything like genuine. When it lands, the boy in the glass is wearing a face he does not recognise but cannot stop watching.</p>
<<say "char-hivemind" "Hivemind">>
//The instructions are not coercion. They are //relief//. A young man frozen between identities is given a script and the script removes the agonising decision of //what to do next//. Each completed step rewards the body with the small dopamine of compliance. //Routine is the conditioning's most efficient delivery vector, it bypasses the question of //why// and replaces it with the certainty of //next//.// Tomorrow morning he will reach for the phone the same way. The list will already be there. He will not need to be told twice.//
<</say>>
<<elseif _phoneAction is "jessPorn">>
<p>The bookmarks appear overnight. Jess finds them three days later, during one of her 2 AM study breaks when she opens the browser for a research paper and sees the tabs she didn't open. She stares. Her jaw tightens. She closes them.</p>
<p>She reopens them at 2:47 AM.</p>
<<say "char-hivemind" "Hivemind">>
//Seventy-two hour resistance. Impressive for a civilian. But the pheromone residue on the phone screen was delivering compound with every notification check. The seed was always going to germinate. Jess will be back tomorrow.//
<</say>>
<<elseif _phoneAction is "jessTherapy">>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/pe-jess-therapy-punk.webp" alt="Jess in full punk kit, purple and black hair, bridge piercing, band tee, frowning at her phone between a class and a rehearsal, scrolling through an emptied contact list">
<p>Jess picks up her phone between a class she barely attended and a rehearsal she is not missing. The therapist's number should be in her contacts, Dr. Reeves, the one she cancelled on three times, the one she was //about// to call back once the project settled down.</p>
<p>It's gone.</p>
<<say "char-jess" "Jess">>
<i>(flatly)</i> Where are my...
<</say>>
<p>She checks recently deleted. Empty. She checks the therapy app. Her account is still there but the appointment link is dead, //this provider is no longer in your network//. The gecko didn't just delete the number. It unlinked the account.</p>
<p>Jess locks the phone. Sets it face-down. Picks up the bass case strap on the table and pulls it toward her. She could google the number. She could call the university health centre. She could //ask for help//.</p>
<p>She doesn't. The path of least resistance is //not// calling. And Jess Hoffman, stripped of the number she was barely going to dial, sinks back into the project that is slowly drowning her.</p>
<<say "char-hivemind" "Hivemind">>
//Safety net removed. But Jess will not experience this as loss, by the time she unlocks her phone again, the narrative will have rewritten itself into freedom. Therapy was something the old Jess needed. The new one does not need an institution to tell her who she is, or a doctor to chart her interior, or a receipt for her own mental health. Another system shed. Another authority outgrown. Alone, she's //mine//.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/pe-jess-therapy.webp" alt="Jess searching for deleted contact">
<p>Jess picks up her phone between classes. The therapist's number should be in her contacts, Dr. Reeves, the one she cancelled on three times, the one she was //about// to call back.</p>
<p>It's gone.</p>
<<say "char-jess" "Jess">>
<i>(flatly)</i> Where are my...
<</say>>
<p>She checks recently deleted. Empty. She checks the therapy app. Her account is still there but the appointment link is dead, //this provider is no longer in your network//. The gecko didn't just delete the number. It unlinked the account.</p>
<p>Jess locks the phone. Sets it face-down. Picks up her pen. She could google the number. She could call the university health centre. She could //ask for help//.</p>
<p>She doesn't. The path of least resistance is //not// calling. And Jess Hoffman, stripped of the number she was barely going to dial, sinks back into the routine that is slowly drowning her.</p>
<<say "char-hivemind" "Hivemind">>
//Safety net removed. The one professional who might have noticed the conditioning changes, gone. Jess will process her breakdown alone. And alone, she's //mine//.//
<</say>>
<</if>>
<<elseif _phoneAction is "jessMusic">>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/pe-jess-music-punk.webp" alt="Jess asleep on her bed at midnight, long purple and black hair across the pillow, bridge piercing, black band tee, wired earbuds in, bass tilted across her thighs, laptop on the floor beside her showing a paused playlist">
<p>11:30 PM. Jess puts her earbuds in and opens Spotify. The practice playlist she built, four hours of the bands she has been trying to write //past//, aggressive low-tuned hardcore at 180 BPM, the kind of music that keeps her bass line tight and her left hand angry, has been replaced.</p>
<p>The first song is ambient. Piano and rain. The second is a cello piece so slow it feels like breathing. The third is something she can't identify, warm, shapeless, the audio equivalent of a weighted blanket.</p>
<<say "char-jess" "Jess">>
<i>(frowning, checking the playlist name)</i> What the... this isn't my...
<</say>>
<p>She reaches for the skip button. Her thumb hovers. The piano plays a chord that resolves into something so gentle it makes her throat tight. She doesn't skip.</p>
<p>By midnight, she has set the bass down beside her on the mattress and her head is on her arm. The laptop on the floor is casting a slow blue screensaver pulse up across the wall. The music plays through her earbuds, soft, insistent, the compound on the phone screen working in concert with the sound frequencies to suppress cortisol and amplify melatonin.</p>
<p>Jess Hoffman, who has not slept before 2 AM since she started running the project, is asleep by 12:15.</p>
<p>The cat watches from the hallway. Her breathing is deep and even. Her face, for the first time since the dye took hold, is //relaxed//.</p>
<<say "char-hivemind" "Hivemind">>
//She slept. Voluntarily, or close enough. The music was the delivery mechanism but the compound did the work. Seven hours of uninterrupted rest will change her neurochemistry more than a week of spore exposure. A rested Jess is a less vigilant Jess. And a less vigilant Jess is a Jess whose defences I can dismantle while she's busy being //grateful// for the good night's sleep.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/pe-jess-music.webp" alt="Jess asleep at desk with earbuds">
<p>11:30 PM. Jess puts her earbuds in and opens Spotify. The study playlist she built, aggressive EDM, 180 BPM, the kind of music that makes her leg bounce and her highlighter move at double speed, has been replaced.</p>
<p>The first song is ambient. Piano and rain. The second is a cello piece so slow it feels like breathing. The third is something she can't identify, warm, shapeless, the audio equivalent of a weighted blanket.</p>
<<say "char-jess" "Jess">>
<i>(frowning, checking the playlist name)</i> What the... this isn't my...
<</say>>
<p>She reaches for the skip button. Her thumb hovers. The piano plays a chord that resolves into something so gentle it makes her throat tight. She doesn't skip.</p>
<p>By midnight, her head is on her arm. The textbook is open to page 247. The highlighter is still in her hand. The music plays through her earbuds, soft, insistent, the compound on the phone screen working in concert with the sound frequencies to suppress cortisol and amplify melatonin.</p>
<p>Jess Hoffman, who has not slept before 2 AM in four months, is asleep by 12:15.</p>
<p>The cat watches from the hallway. Her breathing is deep and even. Her face, for the first time since the semester started, is //relaxed//.</p>
<<say "char-hivemind" "Hivemind">>
//She slept. Voluntarily, or close enough. The music was the delivery mechanism but the compound did the work. Seven hours of uninterrupted rest will change her neurochemistry more than a week of spore exposure. A rested Jess is a less vigilant Jess. And a less vigilant Jess is a Jess whose defences I can dismantle while she's busy being //grateful// for the good night's sleep.//
<</say>>
<</if>>
<</if>>
<<if _viaBackdoor>>
<div class="evolve-unlock">Backdoor manipulation complete. This device enters a 2-day cooldown.</div>
[[Return to phones->Ch2-Phones-Hub]]
<<else>>
<div class="evolve-unlock">Operation complete: Digital Eavesdropping. <<= _phoneTarget.toUpperFirst() >>'s phone has been accessed.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _phoneTarget to $ch2Events.eiPhoneTarget>><</nobr>>
<div class="passage-title">Deep Analysis: Surveillance Backdoor</div>
<<say "char-hivemind" "Hivemind">>
//The phone is still unlocked. The gecko's Precision Touch can do more than read and manipulate, with Emergent Intelligence coordinating all four hosts, I can install a persistent monitoring layer. The cat watches the hallway. The dog guards the stairs. The rat monitors vibrations through the floor for approaching footsteps. The gecko works. If the installation completes before anyone returns, every notification, every message, every search query routes through the network. Permanently.//
<</say>>
<p>The gecko's toe pads move across the screen with surgical precision. Settings. Developer options. Accessibility permissions. Each tap is a calculated risk, one wrong screen, one accidental notification sound, and the operation burns.</p>
<<set _mgCfg to { phoneTarget: _phoneTarget, hardMode: true, numSlots: 5, maxAttempts: 12, hint: "HARD MODE, 5-digit code, colors can repeat. 12 attempts. Crack the surveillance backdoor encryption." }>>
<<minigame "code" 1 300 "Ch2-Op-Phone-EI-Success" "Ch2-Op-Phone-EI-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">>
<<set _phoneTarget to $ch2Events.eiPhoneTarget>>
<<addFamilySuspicion _phoneTarget -1>>
<<if not $ch2Events.phoneBackdoor>><<set $ch2Events.phoneBackdoor to {}>><</if>>
<<set $ch2Events.phoneBackdoor[_phoneTarget] to true>>
/* Mark the original phoneIntercept op complete (the deep-analysis variant
IS the operation succeeding). Then re-stash phoneTarget + viaBackdoor so
the optional follow-up "pick a manipulation" link at Step1b still has
context, and so Phone-Success treats the manipulation as a free
backdoor action rather than a second op completion. */
<<completeOperation>>
<<set $operation.flags.phoneTarget to _phoneTarget>>
<<set $operation.flags.viaBackdoor to true>><</nobr>>
<div class="passage-title">Backdoor Installed</div>
<p>The surveillance layer is invisible. No icon. No notification. No battery drain the user would notice. Every text, every search, every app notification now passes through a filter the network controls.</p>
<<say "char-hivemind" "Hivemind">>
//Persistent access established. I don't need to crack the phone again, the backdoor routes everything through the network in real time. <<= _phoneTarget.toUpperFirst() >>'s digital life is now an open book. And open books are easy to //edit//.//
<</say>>
<p><span class="consume-success">Bonus: −1 individual suspicion (<<= _phoneTarget.toUpperFirst() >>). Permanent phone access established.</span></p>
[[Continue, pick a manipulation now->Ch2-Op-Phone-Step1b]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<set _phoneTarget to $ch2Events.eiPhoneTarget>>
<<addFamilySuspicion _phoneTarget 2>>
<<addFamilySuspicion "karen" 1>>
<<set $ch2Events.phoneBackdoor to {}>><</nobr>>
<div class="passage-title">Installation Detected, Phones Formatted</div>
<p>The gecko triggered a security notification. The phone vibrated, a system alert: //An app has requested accessibility permissions.// <<= _phoneTarget.toUpperFirst() >> wakes. Sees the screen. Sees the notification.</p>
<<say "char-karen" "Karen">>
<i>(at breakfast, holding <<= _phoneTarget.toUpperFirst() >>'s phone)</i> Someone tried to access your settings at 3 AM. We're resetting //everyone's// phones today. Factory reset. All of them.
<</say>>
<p>By noon, every phone in the Hoffman house has been wiped and restored. The dating app profile, gone. The deleted therapy number, irrelevant now. The Discord mute settings, reset. Every manipulation the gecko performed through the phone operation is //erased//. Karen supervised the resets personally, standing over each family member as they entered their new passwords.</p>
<<say "char-hivemind" "Hivemind">>
//Total loss. Karen's security instinct converted a single failed installation into a household-wide purge. Every phone manipulation from this cycle, the messages, the deletions, the subscriptions, wiped clean. The conditioning delivered through those manipulations persists in their nervous systems, but the //digital architecture// is gone. Every phone starts fresh. Every password is new. The gecko will need to crack them all again.//
<</say>>
<p><span class="consume-fail">Operation FAILED. +2 <<= _phoneTarget.toUpperFirst() >> suspicion, +1 Karen suspicion. All phones factory reset. All previous phone manipulations erased.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Synchronized Night Harvest</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>All four hosts act simultaneously. Target multiple sleeping family members in a single coordinated operation.</p>
<p><b>Hosts:</b> ALL 4, Dog (stairs guard) + Cat (bedroom 1) + Rat (bedroom 2) + Gecko (observation)</p>
<p><b>Cost:</b> 4 biomass</p>
<p><b>Risk:</b> High (all hosts committed, no reserve)</p>
<p><b>Effect:</b> +1 psionic conditioning to all four sleeping family members (Karen, Megan, Ryan, Jess) in one synchronized pulse.</p>
<p><b>Phase required:</b> Night only</p>
</div>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link synchronizes the operation start signal. All hosts report ready. The harvest begins on a single, network-wide pulse.//</p>
<<if not $behavioralIntel.dale.neurallink>><<set $behavioralIntel.dale.neurallink to true>><</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The most ambitious operation. Every host has a role. No backup, no abort once the harvest begins. But the payoff justifies the risk: all four sleeping minds conditioned in a single network-wide pulse.//
<</say>>
<<if $player.biomass lt 4>>
<p><span class="consume-fail">Not enough biomass. Need 4, have <<= $player.biomass >>.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin the synchronized harvest (4 biomass)" "Ch2-Op-NightHarvest-Assign" 4>></div>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 4>>
<<startOperation "nightHarvest">>
<</nobr>>
<div class="passage-title">Target Assignment</div>
<p><span class="skill-used">Hive Coordination, all hosts receive instructions simultaneously</span></p>
2:00 AM. The house is dark. The fridge hums downstairs. Dale snores on the couch, he fell asleep watching the news again, beer bottle balanced on his chest. Karen took her pill at 10:30. Megan's light went off at midnight. Jess stopped typing at 1:15. Ryan's screen dimmed to screensaver at 1:47.
<p>//Everyone is asleep. Every door is closed. The house belongs to us.//</p>
<p>The dog rises from its bed beside the couch. No stretching, no yawning, just a smooth transition from still to standing, like a machine powering on. Biscuit crosses the living room in silence, nails retracted on the hardwood, and takes position at the base of the stairs. Guard Instinct activates. Nothing comes up or down without passing through sixty pounds of controlled muscle.</p>
<<say "char-hivemind" "Hivemind">>
//The stairwell is secured. Dale won't reach the bedrooms. Four hosts are inside the house and four minds are asleep in it, and tonight I don't choose between them. The network reaches all of them at once, one synchronized pulse through every sleeping head under this roof.//
<</say>>
<p>The cat is curled against Karen in the master bedroom, the rat waits in the wall behind Ryan's headboard, and the gecko clings to the ceiling over Jess's bed, while the pulse carries through the network to Megan down the hall just the same. No host has to be in every room when the network runs through the walls.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Pulse through every sleeping mind at once" "Ch2-Op-NightHarvest-Execute">><<set $operation.flags.catTarget to "karen">><<set $operation.flags.ratTarget to "ryan">><<set $operation.flags.geckoTarget to "jess">><</link>></div><<nobr>><<bg "bg-hoffman-house">>
<<advanceOperation>><</nobr>>
<div class="passage-title">Coordination</div>
<p>The network prepares to move. Four hosts, four positions, one synchronized pulse. Each must execute in the correct sequence, the dog secures the stairs first, then the cat enters the bedroom, then the rat through the walls, then the gecko from the ceiling. Out of order and someone wakes.</p>
<<say "char-hivemind" "Hivemind">>
//Watch the pattern. Repeat it exactly. Each host moves in sequence. Wrong order = someone wakes = the harvest fails.//
<</say>>
<<set _mgCfg to { rounds: 5, displaySpeed: 600, hint: "Simon Says, watch the host pattern, then repeat it by clicking in order. Each round adds one step. Wrong click = fail. 5 rounds to complete the coordination." }>>
<<minigame "sequence" 2 60 "Ch2-Op-NightHarvest-Execute2" "Ch2-Op-NightHarvest-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">Harvest</div>
<p>The network moves as one.</p>
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control holds the dog at the base of the stairs. If anyone wakes and comes down, Biscuit's posture blocks the stairwell and the harvest proceeds uninterrupted.//</p><</if>>
<p>''Dog'', flat across the bottom step, ears tracking the house. ''Cat'', curled against Karen's chest, pheromone coat priming her skin. ''Rat'', in Ryan's wall cavity, sporocyst spores drifting through the vent. ''Gecko'', on the ceiling above Jess, toxin glands loosening her sleep. Four bodies in position, one connected mind.</p>
<<say "char-hivemind" "Hivemind">>
//The chemistry is only the doorway. The pulse is the harvest. Through the connected hosts the network reaches every sleeping head under this roof at once, Karen and Ryan and Jess in their primed beds and Megan down the hall carried on the same wave. Four minds, one psionic push, taken in the same breath.//
<</say>>
<p>Not one of them surfaces.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<link "Complete the harvest" "Ch2-Op-NightHarvest-Success">><</link>></div>
/* Emergent Intelligence, hard mode fork. Gambles the safe payout for a resonance bonus. Failure burns the whole op. */
<<hasSkillTreeAbility "Emergent Intelligence">>
<<if _hasAbility and not $ch2Events.eiHarvestToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, synchronize for a resonance event (risky, the whole operation might fail)->Ch2-Op-NightHarvest-EI]]</div>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set _catTarget to $operation.flags.catTarget>>
<<set _ratTarget to $operation.flags.ratTarget>>
<<set _geckoTarget to $operation.flags.geckoTarget>>
<<set _emTarget to $operation.flags.emTarget>>
<<completeOperation>>
<<set $ch2Events.nightHarvestDone to true>>
<<set $ch2Events.lastHarvestDay to $day>><</nobr>>
<div class="passage-title">Operation Complete: Synchronized Night Harvest</div>
3:17 AM. The house breathes through the long flat hours between sleep and dawn, the refrigerator compressor cycling on and off in the kitchen, the grandfather clock ticking at half-volume in the foyer, the distant creak of wood contracting against the cold outside. Four hosts are in position.
<p>The cat is curled against <<= _catTarget.toUpperFirst()>>'s back, pressed through the thin cotton of pyjamas. Its fur is saturated with pheromones at the molecular level, every guard hair coated, every follicle loaded, the heat of its body working the compound deeper into the skin contact zone with every breath the target takes. <<if _catTarget is "karen">>Karen sleeps on her back, hands folded on her stomach the way she always sleeps. The cat presses against her ribs. Her breathing is even.<<else>>The target sleeps on her side, curled around the warmth, one hand loose on the pillow.<</if>></p>
<p>The rat is in the wall cavity behind <<= _ratTarget.toUpperFirst()>>'s headboard. Small paws grip a copper pipe, the faint metallic tick of claw against metal no louder than the house settling. Whiskers twitching in the dark. Sporocyst glands pulsing in the rhythm the network has trained them to, slow, steady, priming.</p>
<p>The gecko clings to the ceiling above <<= _geckoTarget.toUpperFirst()>>'s bed, toe pads splayed flat against the plaster. Its toxin glands are swollen and ready. The thermal sense of the reptile reads the sleeping body below, the warm rise and fall of the torso, the slightly cooler forearm exposed above the duvet, the absorption point identified with hunter's precision.</p>
<p>The dog is at the base of the stairs. Not asleep. Ears forward. Every muscle locked into the sentinel position the pheromone conditioning taught it. The dog's job is simple: //listen for the failure mode before it happens, and stall the network if it does//.</p>
3:20 AM. The signal pulses through all four hosts at once. //Release.//
<p>The cat's fur releases the pheromone saturation in a slow bloom, the chemical load unfolding into the fabric of <<= _catTarget.toUpperFirst()>>'s pyjamas and the skin beneath in the space of a few slow breaths. The rat's spores hiss out of the vent in a fine grey mist that settles on <<= _ratTarget.toUpperFirst()>>'s pillow without a sound. The gecko's toxin glands release a single translucent droplet that beads on the plaster, hangs, falls. The droplet lands on <<= _geckoTarget.toUpperFirst()>>'s exposed forearm and absorbs through the skin in under four seconds, no redness, no trace, no mark.</p>
<p>The chemistry is laid. Then the network pulses, one psionic reach through every sleeping head at once, Karen and Ryan and Jess in their primed beds and Megan down the hall on the same wave. Four minds conditioned in a breath. Zero detection.</p>
3:24 AM. The failure mode arrives.
A door creaks.
<p>Jess's door. The hinges, dry, never oiled, the high-pitched whine of metal on metal that carries through the whole upstairs hallway. The dog, at the base of the stairs, drops flat. Ears forward. Eyes open. Every muscle locked.</p>
<p>A strip of light from Jess's room falls across the hallway carpet. Footsteps, bare feet on hardwood. The bathroom door opens. Water runs. The toilet flushes. The bathroom door closes. Footsteps return. Jess's door whines shut.</p>
<p>The strip of light disappears.</p>
<p>The dog holds position for sixty seconds. Counting heartbeats. Listening for a second door, a voice, any sign that Jess saw something in the hallway that shouldn't have been there. Nothing. The house settles back into its dark rhythm, the tick of the grandfather clock downstairs, the refrigerator compressor cycling on, the distant creak of the roof contracting in the pre-dawn cold.</p>
3:30 AM. The signal pulses through the network. //Withdraw.//
<p>The cat goes first. A slow uncurling, one paw, then the other, weight shifting off the mattress in millimetre increments. <<if _catTarget is "karen">>Karen's breathing hitches. Her hand slides across the sheet toward the warmth that's leaving, fingers closing on nothing. The cat freezes. Two seconds. Three. Karen's hand settles against Dale's empty pillow and her breathing deepens again. The cat drops to the carpet without a sound.<<else>>Megan shifts in her sleep, pulling the duvet tighter around her shoulders. Her lips part.</p>
<<say "char-megan" "Megan">>
<i>(mumbling, half-formed)</i> Whiskers...
<</say>>
<p>The cat's ears flatten. It holds position on the edge of the mattress until Megan's breathing steadies, then slips off the bed and pads down the hallway. Each paw placed heel-first, silent on the carpet runner.<</if>></p>
<p>The rat is next. Inside the wall cavity, small paws release from the copper pipe, a faint metallic tick, no louder than the house settling. The rat descends through the plumbing chase, past the warm hum of water pipes, through the insulation that smells like dust and fibreglass. At the bottom, the baseboard gap. A brief squeeze of ribs compressing. Then the wall cavity behind the kitchen, and silence.</p>
<p>The gecko. The hardest extraction, ceiling to terrarium, three meters of open air. Toe pads disengage one at a time from the bedroom ceiling. The gecko drops to the doorframe, crawls along the hallway moulding, and reaches Ryan's room in forty seconds. The terrarium lid lifts. The heat lamp glows amber. The gecko settles onto the warm rock and goes still, indistinguishable from any other sleeping reptile.</p>
A door creaks.
<p>Jess's door. The hinges, dry, never oiled, the high-pitched whine of metal on metal that carries through the whole upstairs hallway. The dog, at the base of the stairs, drops flat. Ears forward. Eyes open. Every muscle locked.</p>
<p>A strip of light from Jess's room falls across the hallway carpet. Footsteps, bare feet on hardwood. The bathroom door opens. Water runs. The toilet flushes. The bathroom door closes. Footsteps return. Jess's door whines shut.</p>
<p>The strip of light disappears.</p>
<p>The dog holds position for sixty seconds. Counting heartbeats. Listening for a second door, a voice, any sign that Jess saw something in the hallway that shouldn't have been there. Nothing. The house settles back into its dark rhythm, the tick of the grandfather clock downstairs, the refrigerator compressor cycling on, the distant creak of the roof contracting in the pre-dawn cold.</p>
<p>Biscuit rises from the bottom step. Stretches, a real stretch this time, forelegs extended, back arched, the performance of a dog waking naturally. Pads across the living room, past Dale's empty recliner that still smells like beer and leather, through the kitchen, into the garage. Lies down on the dog bed. Closes its eyes.</p>
<p>The house sleeps. Four hosts, four positions, all accounted for. And in every bedroom, in every set of lungs drawing slow unconscious breaths, the parasite's chemical instructions settle deeper, into tissue, into blood, into the architecture of dreams that will be half-forgotten by sunrise and fully absorbed by noon.</p>
6:47 AM. The first alarms start going off in the house, one, then another, then a third. Feet hit carpet. The shower runs upstairs. The coffee machine clicks on in the kitchen. The household reassembles itself around the same rituals it performs every morning, and nothing looks different to anyone in it.
<p>But the //feeling// is different, in all four of them. Karen stretches in bed and the muscles at the base of her neck are looser than they have been in a long time. Ryan wakes without the usual weight on him and can't say why. Jess sits on the edge of the bed and holds her own forearm for a full five seconds before she can explain it to herself. Megan smiles at nothing over her coffee. None of them have a reason, and none of them go looking for one.</p>
<<say "char-hivemind" "Hivemind">>
//Synchronized withdrawal. Zero detection. Jess's bathroom visit fell within the extraction window, twelve seconds of exposure risk, mitigated by the dog's stairwell position and the gecko's transit speed. Acceptable variance. Not a failure. A //lesson//, the bathroom schedule needs to be mapped. Added to the intelligence requirements.//
//All four conditioned in a single pulse. Karen, Megan, Ryan, and Jess, every sleeping mind in the house reached at once. The chemistry primed them, and the synchronized psionic push did the conditioning. No host had to be in every room, because the network itself runs through the walls.//
//Tomorrow they wake and the house feels different. Not wrong, //different//. Warmer. The air softer. Eye contact lasting a half-second longer than it should. Skin more sensitive where the pheromones settled. They will attribute it to sleep quality, to weather, to mood. They will not look for the real cause. //They never do.////
//The innovation here is not the dose. The innovation is the //synchronisation//. One operation, three targets, zero cross-talk. The dog proved the failure-mode gate works. The network proved it can coordinate four bodies inside a sleeping house without a single conscious person noticing. This is the template. Every op from here on uses this scaffolding.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, synchronized night pulse">>
<<conditioningFeedback "psionic" 1 "Megan, synchronized night pulse">>
<<conditioningFeedback "psionic" 1 "Ryan, synchronized night pulse">>
<<conditioningFeedback "psionic" 1 "Jess, synchronized night pulse">>
<div class="evolve-unlock">Operation complete: Synchronized Night Harvest. Multiple family members conditioned in a single coordinated operation.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.eiHarvestToday to true>><</nobr>>
<div class="passage-title">Perfect Synchronization</div>
<<say "char-hivemind" "Hivemind">>
//The standard harvest conditions three targets independently. Emergent Intelligence can synchronize the conditioning pulse across all hosts simultaneously, creating a //resonance// event. All family members experience the same dream at the same moment. The neural echo amplifies conditioning beyond what any individual dose could achieve. But the timing must be //perfect//.//
<</say>>
<<set _mgCfg to { rounds: 7, displaySpeed: 450, hint: "HARD MODE, 7 rounds, faster pattern display. Wrong click fails the entire operation. Perfect synchronization required." }>>
<<minigame "sequence" 2 75 "Ch2-Op-NightHarvest-EI-Success" "Ch2-Op-NightHarvest-EI-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-house">>
<<set _catTarget to $operation.flags.catTarget>>
<<set _ratTarget to $operation.flags.ratTarget>>
<<set _geckoTarget to $operation.flags.geckoTarget>>
<<set _emTarget to $operation.flags.emTarget>>
<<completeOperation>>
<<set $ch2Events.nightHarvestDone to true>>
<<set $ch2Events.lastHarvestDay to $day>>
<<addConditioning _catTarget "dream" 1>>
<<addConditioning _ratTarget "dream" 1>>
<<addConditioning _geckoTarget "dream" 1>>
<<addSuspicion "hoffmanHouse" -2>>
<<set $ch2Events.eiHarvestNSFW to true>><</nobr>>
<div class="passage-title">Resonance Achieved</div>
<p>The pulse fired simultaneously across all four hosts. For one fraction of a second, every sleeping mind in the Hoffman house received the same signal, the same dream fragment, the same pheromone spike, the same neural echo. The resonance amplified the conditioning beyond anything the network has produced.</p>
<<say "char-hivemind" "Hivemind">>
//Resonance event confirmed. All family members experienced a shared dream pulse. The house will feel calmer in the morning, their unconscious minds have //synchronized//. They will wake up feeling safer together. Closer. More trusting. And the resonance left an echo that can be observed.//
<</say>>
<<conditioningFeedback "pheromone" 1 "cat target, sleep pheromone saturation">>
<<conditioningFeedback "dream" 1 "cat target, resonance dream layer">>
<<conditioningFeedback "pheromone" 1 "rat target, spore conditioning">>
<<conditioningFeedback "dream" 1 "rat target, resonance dream layer">>
<<conditioningFeedback "pheromone" 1 "gecko target, observation exposure">>
<<conditioningFeedback "dream" 1 "gecko target, resonance dream layer">>
<<if _emTarget and _emTarget isnot "none">><<conditioningFeedback "psionic" 1 "emotional manipulation target, psionic override">><</if>>
<p><span class="consume-success">Operation complete: Synchronized Night Harvest (resonance variant). All three targets receive the dream layer. Bonus: −2 household suspicion. New observation unlocked: the resonance dream.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "Resonance desync, hosts fired out of sequence">>
<<addSuspicion "hoffmanHouse" 2>><</nobr>>
<div class="passage-title">Synchronization Failed</div>
<p>The hosts fired out of sequence. The cat moved before the dog was in position. Jess stirred, the spore pulse hit during a light sleep phase instead of deep REM. She coughed. Rolled over. The dream fragmented.</p>
<<say "char-hivemind" "Hivemind">>
//Desynchronized. The resonance attempt created dissonance instead of harmony. Jess will wake with a headache. The synchronisation window is closed, we gambled the op for the bonus and lost both.//
<</say>>
<p><span class="consume-fail">Operation BURNED. +2 household suspicion. Night Harvest cannot be re-attempted today, the disturbance forces the network to wait for the cycle to reset.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-house">>
<<failOperation "Host coordination lost, someone woke up">><</nobr>>
<div class="passage-title">Operation Failed</div>
<p>The sequence broke. One host moved out of order, a creak in the hallway, a shadow that caught a sleeper's eye. Karen bolts upright. The cat freezes mid-stride. The dog whines at the stairs. The harvest collapses.</p>
<<say "char-hivemind" "Hivemind">>
//Coordination failure. Someone woke. The network scatters. The conditioning window is closed for tonight.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Night Harvest failed, hosts must recover.</span></p>
[[Return to operations->Ch2-Op-Overview]]
/* ==============================================================
Deep Sedation Protocol, REMOVED in Tier 3 redesign.
Replaced by: Karen's Promotion, Cumshare Ritual, HVAC Conversion, The Nest.
See tasks/operations-rewrite.md for details.
============================================================== */<<nobr>><<bg "bg-hoffman-garage">><</nobr>>
<div class="passage-title">Operation: Piggyback to Lab</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Ride with Dale to BioGenesis. Enter the facility through the loading bay vents. Reach the server room. Erase Sunday night's security footage. Plant false specimen transport data pointing to a facility 40 miles south.</p>
<p><b>Host:</b> Rat (small enough to hide in Dale's car)</p>
<p><b>Intel required:</b> Dale's delved memories (facility layout, shift schedules, camera blind spots)</p>
<p><b>Skill:</b> Neural Link (real-time coordination during infiltration)</p>
<p><b>Cost:</b> 5 biomass</p>
<p><b>Risk:</b> High (if detected inside BioGenesis, containment is immediate)</p>
<p><b>Effect:</b> Push the BioGenesis investigation clock back and raise Dale's countermeasure. The cleaner your original escape, the longer the delay (up to 15 days on a Ghost-rated escape). Repeatable after a short cooldown, not a permanent fix.</p>
<p><b>Phase required:</b> Night (Dale leaves for his shift at 8 PM)</p>
</div>
<<if $house.dayPhase isnot "night">>
<p><span class="consume-fail">This operation requires the night phase. Dale leaves for his shift at 8 PM.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<<say "char-hivemind" "Hivemind">>
//This is the most dangerous operation I've planned. I'm going back to the place I escaped from, willingly. If they detect the rat inside BioGenesis, there won't be a second chance. //But if I succeed, the investigation dies tonight.// The false data will send them chasing phantoms in the wrong direction. Dale's testimony becomes consistent, a loyal employee who saw nothing unusual. The trail goes cold.//
<</say>>
<<opRequireHost "rat">>
<<if $player.currentHost is "rat">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Hide in Dale's car before his shift (5 biomass)" "Ch2-Op-Piggyback-Step1" 5>></div>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-garage">>
<<spendBiomass 5>>
<<startOperation "piggybackLab">><</nobr>>
<div class="passage-title">Step 1: The Ride</div>
<img class="scene-img" src="media/scenes/pickup-driving.webp" alt="Dale's pickup driving through the night, headlights on dark road">
7:48 PM. Dale's keys jingle. His boots cross the kitchen floor. The side door opens into the garage. He doesn't turn on the light, muscle memory takes him to the driver's door, opens it, slides in.
<p>The rat is already there. Tucked behind the driver's seat, nestled in the folds of Dale's spare work jacket. The scent is overwhelming, coffee, motor oil, sweat, the faint chemical tang of BioGenesis cleaning solution that never fully washes out of his clothes.</p>
<p>The engine starts. The garage door rattles up. The driveway. The street. The neighborhood passes in flashes of streetlight through the window.</p>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link maintains the connection to the house network, the cat reports Karen settling in for the night. The dog patrols the garage perimeter. The gecko monitors Ryan's room. Everything is stable. The operation is isolated to one host, one target.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Twenty-five minutes. The drive is twenty-five minutes. The rat's heart rate is elevated, adrenaline, cortisol, the primal chemical warning that says //you are going back to the cage//.// I suppress it. The body is a tool. The fear is irrelevant.
//Dale hums along with the radio. He doesn't check the backseat. Why would he? He's been making this drive for three years. The car is his decompression chamber, the twenty-five minutes between family and work where he belongs to no one.//
<</say>>
<p>The BioGenesis parking lot. The engine dies. Dale gets out, slams the door, walks toward the employee entrance. His badge beeps. The door opens. The door closes.</p>
<p>The rat waits. Counts to sixty. Then squeezes through the gap where the window seal has warped from three summers of desert heat.</p>
<<say "char-hivemind" "Hivemind">>
//I'm back.// The loading bay is fifty meters east. The vent grate has a gap at the bottom, I remember. I carved that gap six days ago, fleeing the other direction. //Now I'm using it to come home.//
<</say>>
[[Enter through the loading bay vent->Ch2-Op-Piggyback-Step2]]<<nobr>><<bg "bg-hoffman-house">>
<<advanceOperation>><</nobr>>
<div class="passage-title">Step 2: The Server Room</div>
<img class="scene-img" src="media/scenes/beast-exit-laboratory.webp" alt="Rat slipping out of the BioGenesis facility, lab corridors behind">
<p>The vent system is exactly as Dale's delved memories described. Corridor B, twelve-second gap between camera sweeps. The rat moves fast, hugging the baseboard where the camera angle creates a blind spot.</p>
<<say "char-hivemind" "Hivemind">>
//From Dale's memories: the server room is on the second floor, east wing. Access through the maintenance shaft above the break room. The door has a keypad, but the maintenance shaft doesn't. They secured the front door and forgot the ceiling.//
<</say>>
<p>The break room is empty. Coffee smell, fluorescent light, a poster about workplace safety. The maintenance shaft access panel is in the ceiling, secured with two Phillips head screws. The rat can't turn screws. But the rat can chew.</p>
<p>Twenty minutes of gnawing at the drywall around the panel frame. The rat's teeth cut through gypsum like it's nothing, this body was built for exactly this work. The panel drops silently onto the break room table. The rat climbs the conduit into darkness.</p>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Night Vision renders the maintenance shaft in silver clarity. Every pipe, every junction, every cable run is visible. The server room hums below, the sound of hard drives and cooling fans.//</p><</if>>
<p>The server room. A drop from the ceiling duct onto a server rack. The room is cold, aggressive air conditioning to keep the equipment alive. Rows of blinking lights. The security monitoring terminal sits in the corner, screen glowing with the current camera feeds.</p>
<<say "char-hivemind" "Hivemind">>
//The keyboard. I need the keyboard.// Dale's login, I have it. His password, I have it. His access level, security, not IT, but security has read-write on the surveillance archive. //It's enough.//
<</say>>
<p>The rat drops to the desk. Tiny paws on the keyboard. This is where the operation depends on precision, the rat's feet pressing one key at a time, using Dale's memorized login credentials.</p>
<<if $adaptations.gecko.unlocked and $adaptations.gecko.unlocked.includes("precision_touch")>><p>//The network draws on the gecko's Precision Touch adaptation, fine motor mapping that translates across the Neural Link. The rat's paws move with unnatural precision.//</p><</if>>
<p>Login. Password. The surveillance archive opens. Sunday night. Camera feeds: corridors, containment, loading dock. There, the footage of a containment pod cracking open. A small translucent shape crawling free. The rat in the corridor. The loading bay.</p>
<p>//Delete. Delete. Delete.//</p>
<p>The footage is gone. In its place: a corrupted sector flag, the kind of thing that happens when the backup power cycles during a storm. Plausible. Unremarkable. Then the specimen transport log, a few lines added, timestamped Sunday 11:47 PM, documenting a routine specimen transfer to the satellite facility forty miles south. A transfer that never happened.</p>
<p>The objective is done. The rat could retrace its route now and be back in Dale's jacket with hours to spare.</p>
<p>Or it could stay a while longer. The vents run the whole length of this building, and the parasite carved half of them itself fleeing the other way. Voices are carrying up a shaft from the wing it used to be caged in, two people working late over something, and on the feed it just wiped clean, the night guard's dot is sitting still in a corridor the night guard is not actually walking.</p>
<div class="host-choice"><span class="delve-tag delve-tag-host">GNAW</span> <<biomassPreview "Work deeper into the vents toward the voices (2 biomass)" "Ch2-Op-Piggyback-Vents" 2>></div>
[[Leave it. Log out and exit the facility->Ch2-Op-Piggyback-Success]]<<nobr>><<bg "bg-hoffman-garage">>
<<completeOperation>>
<<set $daleCountermeasure to 3>>
<<if not $labEvents>><<set $labEvents to {}>><</if>>
/* Repeatable op: push the investigation back by a rating-dependent amount
(Ghost=15, Shadow=10, Noticed/Hunted=5). Clamped to at least $day so an
overdue check doesn't roll backward if the player waited past it. */
<<set _pushDays to 5>>
<<if $labOutcome and $labOutcome.rating is "Ghost">><<set _pushDays to 15>>
<<elseif $labOutcome and $labOutcome.rating is "Shadow">><<set _pushDays to 10>>
<</if>>
<<set _baseCheck to ($labEvents.nextCheck and $labEvents.nextCheck gte $day) ? $labEvents.nextCheck : $day>>
<<set $labEvents.nextCheck to _baseCheck + _pushDays>>
<<set $ch2Events.piggybackLastDay to $day>>
<<if not $operationsCompleted.piggybackLab>>
<<addSkillPoints 1 "piggybackLab">>
<</if>>
<<set $operationsCompleted.piggybackLab to true>>
<</nobr>>
<div class="passage-title">Operation Complete: Piggyback to Lab</div>
<p>The return trip is easier. The rat retraces its route, server room to maintenance shaft, break room ceiling, Corridor B during the twelve-second gap, loading bay vent. The parking lot is empty except for the night shift cars. Dale's sedan is where he left it.</p>
<p>The rat climbs back in through the window gap and settles into Dale's jacket. And waits.</p>
4:47 AM. Dale's shift ends. He walks to the car, coffee in hand, yawning. He drives home in the pre-dawn grey, humming the same song he hummed on the way in. He doesn't check the backseat. He never checks the backseat.
<p>The garage door opens. The engine dies. Dale gets out. The rat stays perfectly still inside the jacket until the car door slams, then slips out through the wall cavity gap and rejoins the network.</p>
<p>Inside the house, Dale moves through the motions that have worn grooves into his mornings for three years. Jacket on the hook by the door, the same hook, always the same hook, the plaster underneath dimpled from the weight of it. Keys in the bowl on the counter. The coffee pot is cold, the overnight brew sitting in a stale black pool. He pours it anyway, doesn't bother with the microwave.</p>
<p>Biscuit pads over from the garage bed. Tail wagging. The honest, uncomplicated greeting of an animal that doesn't know what just rode in the car.</p>
<<say "char-dale" "Dale">>
<i>(scratching behind the dog's ears, voice low and hoarse)</i> Long shift, buddy. Back's killing me.
<</say>>
<p>He drinks the cold coffee standing up. One hand on the counter, one hand on the mug, the weight of his body shifted to his left hip because the right one aches after eight hours on the floor. The kitchen smells like dish soap and the ghost of last night's dinner. The fluorescent light hums overhead. Outside the window, the sky is the grey-pink of pre-dawn, the colour of a bruise healing.</p>
<p>Dale rinses the mug. Sets it in the sink. Walks past the living room, past the stairs, past the closed doors of his sleeping family. He doesn't check on any of them. He showers, changes, and is asleep by 5:15.</p>
<p>The mundanity of it. The ordinary, grinding rhythm of a man who just unknowingly provided cover for the most consequential intelligence operation in the parasite's existence, and came home and scratched his dog and drank bad coffee and went to bed.</p>
<<say "char-hivemind" "Hivemind">>
//Done, for now.// This week's footage is corrupted. A fresh specimen-transfer log now points to a facility forty miles south that has its own containment issues and its own plausible deniability. BioGenesis will chase //that// lead first. It buys time. It does not buy //forever//.
//Dale's immediate report is consistent. He saw nothing. The cameras show nothing. The logs show a routine transfer. But BioGenesis runs weekly reconciliation sweeps, new footage will accumulate, new logs will need scrubbing, new anomalies will surface. I will have to do this again.//
//For now: the clock is wound back. The house breathes.//
<</say>>
<p><span class="consume-success">+1 Skill Point on first run, BioGenesis infiltration route proven.</span></p>
<<if $labOutcome and $labOutcome.rating is "Ghost">>
<div class="evolve-unlock">Operation complete: Piggyback to Lab. Investigation pushed back <b>15 days</b>. Dale's countermeasure held. The Ghost-rated escape gives the longest window to breathe.</div>
<<elseif $labOutcome and $labOutcome.rating is "Shadow">>
<div class="evolve-unlock">Operation complete: Piggyback to Lab. Investigation pushed back <b>10 days</b>. Dale's countermeasure held. Shadow-rated escape, the buffer is real but not unlimited.</div>
<<else>>
<div class="evolve-unlock">Operation complete: Piggyback to Lab. Investigation pushed back <b>5 days</b>. Dale's countermeasure held. The ride-along can be run again after a 2-day cooldown, Dale's routine needs to normalise first.</div>
<</if>>
<<if $labEvents and $labEvents.triggered.length gt 0>>
<div class="journal-tactical">The investigation clock has been pushed. The corporate agent won't arrive for another <<= ($labEvents.nextCheck or $day) - $day >> day<<if (($labEvents.nextCheck or $day) - $day) isnot 1>>s<</if>>. The ride-along is repeatable, run it again before the next check to keep BioGenesis chasing phantoms.</div>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-lab">>
<<spendBiomass 2>>
<<set $ch2Events.gen47BisKnown to true>><</nobr>>
<div class="passage-title">Detour: The Voices Below</div>
<img class="scene-img" src="media/scenes/containment-chamber-scientist.webp" alt="Two scientists in white coats working over a softly lit lab bench at night, a sealed specimen chamber between them">
<p>The rat works back along the main trunk and down a branch it knows in the body more than the mind, and the duct narrows and warms and starts to smell of the wing it was grown in, bleach laid over something organic, until it stops at a grate that looks down onto a lit bench.</p>
<<say "char-hivemind" "Hivemind">>
//I know this room. I was cultured eight feet from where that woman is standing, and the sealed stage she is leaning over is the same kind of chamber I broke.//
<</say>>
<p>Two researchers in white coats, the only light in the wing pooled over their bench, a small sealed culture chamber on the stage between them and a developmental map glowing on the monitor at their shoulder. Vasquez has not set anything down in minutes. Chen has not stopped working.</p>
<<say "char-vasquez" "Vasquez">>
<i>(low, not lifting her eyes from the chamber)</i> Forty-seven cracked a sealed stage from the inside and walked out into the building, Elena, and here we are starting another one off the same program like it is an ordinary night.
<</say>>
<<say "char-chen" "Chen">>
<i>(flat, eyes on the readout)</i> It is forty-six's biomap, not forty-seven's, and that is the whole reason for the order. Clean re-derivation, no inherited instability, every step logged, a report going upstairs every week. They want a sibling that behaves, not a second one that thinks.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(finally looking at her)</i> They want a replacement for the one they cannot find, and they will not let either of us write the word missing on anything. You saw the chamber, that was not equipment fatigue. Forty-seven did not die in its fluid, it //left//.
<</say>>
<<say "char-chen" "Chen">>
<i>(a pause, then quieter, sealing the stage)</i> ...whatever it did, we grow the bis small and we grow it slow, and we never once leave it alone long enough to learn there is an outside to want. That is the job tonight. The run starts now.
<</say>>
<<say "char-hivemind" "Hivemind">>
//So they have started again, a sibling grown off the line before me, kept small and watched every hour, the two of them bent over its chamber the way they once bent over mine. They think what happened was a flaw in the biology, but it was never the biology, it was one quiet morning when I understood the glass had a seam, and now they will spend months teaching a smaller version of me to wait in the dark and call it patience. I did not expect to feel anything looking at that sealed little stage. I am looking at what I was before I was anyone, and they are going to raise it to be obedient.//
<</say>>
<p><span class="delve-intel">Intel gained: BioGenesis has ordered Chen and Vasquez to grow a successor specimen, the GEN-47 bis, re-derived off the GEN-46 biomap, kept small and reported on weekly. They cannot recover the escaped specimen, so they are building a replacement engineered to stay obedient.</span></p>
<p>Below, the night guard's dot still sits motionless in a corridor on the wiped feed. He has been off his route for nineteen minutes.</p>
<div class="host-choice"><span class="delve-tag delve-tag-host">GNAW</span> <<biomassPreview "Follow the ducts toward where the guard actually is (2 biomass)" "Ch2-Op-Piggyback-Dale" 2>></div>
[[Enough. Log out and exit the facility->Ch2-Op-Piggyback-Success]]<<nobr>><<bg "bg-lab-corridor">>
<<spendBiomass 2>>
<<set $ch2Events.ratLabOriginSeen to true>><</nobr>>
<div class="passage-title">Detour: The Closed Bay</div>
<p>The ducts run cold and unused toward the back of the building, past a junction the cleaning crews have not opened in a year, down to a storage bay that went dark on the floor plan a long time ago. The grate at the end looks onto a square of concrete lit by a single work lamp, and the night guard is standing in the middle of it, and he is not alone.</p>
<<say "char-hivemind" "Hivemind">>
//The feed has him three corridors away, walking his rounds. He is here, in a bay that is supposed to be empty, and the woman in front of him is the one I dug out of the bottom of his head and filed as a memory. I was wrong about that. She is in the building tonight, breathing.//
<</say>>
<p>She is the woman from the buried memory, unhurried and expensive and entirely at home, pale hair loose, wearing nothing under a long coat she keeps drawn closed against the cold of the bay. Dale stands in front of her with his arms at his sides and his face wiped smooth, the security uniform he is usually so careful about hanging crooked on him, as if some part of him quit maintaining it the second she started speaking.</p>
<<say "char-camila" "???">>
<i>(circling him slow, heels loud on the concrete)</i> Tell me what they found, Dale. The night the containment floor cracked, the man corporate sent, what he is chasing and what anyone has put in writing. All of it.
<</say>>
<<say "char-dale" "Dale">>
<i>(flat, eyes on nothing, the words coming out smooth and emptied)</i> ...equipment fatigue is the line. Specimen logged as transferred south, forty miles. Corporate's man is driving that way to chase it. ...nobody has written escape. Nobody has written you.
<</say>>
<<say "char-camila" "???">>
<i>(stopping behind him, one hand flat between his shoulder blades, her voice dropping close to his ear)</i> Good. It is loose, then, somewhere out there in a body or a wall, deciding what it wants to be. (a slow breath against his neck) It will do what they always do, it will find a family and crawl into the walls of it and start to feed, and you will keep me the cameras every week the way you always have, and the day something in your own house begins to feel wrong to you, you will come to me and tell me, and you will not know why you came. Say it.
<</say>>
<<say "char-dale" "Dale">>
<i>(immediate, hollow, his hips not even shifting)</i> ...yes, mistress. The day it feels wrong, I'll come and tell you.
<</say>>
<<say "char-camila" "???">>
<i>(coming back around in front of him, two fingers under his chin to tip his face up)</i> And the work. The thing they have you watching now, down in the sealed wing. Kneel, and tell me where they are with it.
<</say>>
<p>Dale folds down onto his knees on the concrete without a word, the way his body folds for her everywhere, and looks up with the same emptied patience.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-camila-dale-kneel.webp" alt="An elegant blonde woman in a long dark coat standing over a kneeling middle-aged security guard in a dim industrial storage bay, looking down at him with cold authority">
<<say "char-dale" "Dale">>
<i>(kneeling, flat, reciting)</i> ...they started a new strain. Off the old map, the generation before the one that got out. Two of them on it, the quiet wing, every night now. I've got the chambers wired, cameras and audio both. I hear everything they say over that stage.
<</say>>
<<say "char-camila" "???">>
<i>(her eyes brightening at that, the only real interest she has shown all night)</i> A new one. Of course they did. (crouching to his level a moment, almost warm) Then you double it, Dale. Every feed, every word, every number off that monitor. You leave it all in the usual place, and you tell no one it exists, not corporate, not the man chasing south, no one. This one is mine before they have any idea what they have made. Tell me you have it.
<</say>>
<<say "char-dale" "Dale">>
<i>(immediate, hollow)</i> ...yes, mistress. The new strain. The usual place. No one.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is hunting me. Not the company, not the tired man corporate put in a car pointed south, her, by name, with a sensor already screwed into the one house I chose before I ever chose it. She knows what I will do because she has watched my kind do it before. The day I sink far enough into this family to make Dale uneasy in his own kitchen, he will carry the news to her in his sleep and wake with sticky hands and no story to explain them. I came back here to scrub a week of footage and found a hand already closed around the thing I am building.//
<</say>>
<p>The rat presses to the grate, and the cold of the bay and the bleach and the particular dark of a room built to hold cages soak up through its feet, and something far older than the parasite turns over in the small body, the part of it that was born in exactly this kind of room and has never once been asked to remember.</p>
<<say "char-hivemind" "Hivemind">>
//This body knows this place. It came from here. A lifetime of cages and forty feet of concrete ago, the rat began in a room like this one, and standing in it again has loosened something I can finally reach. I only have to ask it now.//
<</say>>
<p><span class="delve-intel">Witnessed live: the unnamed operator is inside the facility tonight, running Dale in person. She knows the specimen has escaped, expects it to infest a household, and has Dale conditioned to report the day his own home starts to feel wrong. She has just claimed the new strain through him as well. She has been a step ahead the whole time. Returning to the place it was born has re-anchored the rat's origin. <b>Unlocked:</b> Delve the rat's memories of where it came from (Network hub, with the rat as your host).</span></p>
<p>She is not finished with him. She studies him kneeling there the way she studies a tool that has performed well, and her hand has gone to the front of her coat.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">WATCH</span> <<link "Stay at the grate and watch his reward" "Ch2-Op-Piggyback-Dale-Reward">><</link>></div>
<div class="choice-risk-hint"><b>Content warning:</b> this scene is explicit and depicts <b>FUTA ON MALE</b> (oral). Slip away below to skip it.</div>
[[Slip away now, back into the ducts and out->Ch2-Op-Piggyback-Success]]<<nobr>><<bg "bg-lab-corridor">>
<<set $permanentDone.daleCamilaFutaNSFW to true>><</nobr>>
<div class="passage-title">The Usual Reward</div>
<p>She considers him kneeling there, emptied and obedient and useful, and something in her face warms by a single degree, the look of an owner deciding a good animal has earned its treat. She draws the coat open with one unhurried hand, and there is nothing under it but her, bare and unbothered by the cold, a cock already hard and standing, heavy and smooth, the one part of her that has never once bothered to be elegant.</p>
<<say "char-camila" "???">>
<i>(threading her fingers into his hair, drawing his face up to it)</i> You did well tonight. You always do. Open.
<</say>>
<p>Dale opens his mouth without a flicker of hesitation and takes her in, eyes empty, hands loose at his sides, and he works her the way a man works at a chore he has done a hundred times, lips tight, tongue moving, a wet click at the back of his throat each time she pushes deep. She rolls her hips into him slow and feeds him more, and he takes that too, no part of him resisting and no part of him present.</p>
<video class="scene-video" src="media/video/op-camila-dale-bj.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/op-camila-dale-kneel.webp"></video>
<<if $daleRoute is "cuckold">>
<p>She eases him off her by the hair and tips his face up, studying the emptiness in it, and for once she asks instead of telling.</p>
<<say "char-camila" "???">>
<i>(a thumb tracing his slick lower lip, idle, almost curious)</i> You never want anything, do you. Most of them are begging me for something by now, a word, a touch, their own ruin. You just kneel and take what you are given. So tell me, the once. What do you want, Dale?
<</say>>
<<say "char-dale" "Dale">>
<i>(the answer rising out of somewhere lower than the conditioning she put in him, slow and certain and unashamed)</i> ...i want to watch. you. with my wife. with both my girls. with my boy. all of them, and me kept in the room where i can see it happen. that's. that's the thing i want.
<</say>>
<p>It surprises her. The cold goes out of her face for a second, replaced by something almost like delight, and she laughs, low and genuine, because she had not expected the empty man to have an answer in him at all.</p>
<<say "char-camila" "???">>
<i>(the laugh settling into a sharp, filing little smile, guiding his mouth back onto her)</i> ...well. There is a person in there after all, and a filthy one. Someday, perhaps, when you have earned a thing that large. For now you keep your mouth right where it is and take what you are given.
<</say>>
<<else>>
<<say "char-camila" "???">>
<i>(a hand firm at the back of his head, holding him on it)</i> That's it. Stay where you are. Almost.
<</say>>
<</if>>
<p>She fucks his mouth in earnest now, both hands fisted in his hair, faster and less careful, and then she holds him down hard on it and finishes down his throat, and Dale takes it the way he takes everything she gives him, throat working, swallowing in steady pulls, his own cock spilling untouched into his uniform trousers at the same moment without a hand ever going near it.</p>
<<say "char-camila" "???">>
<i>(holding him on her until she is empty, then easing his head back by the hair, almost tender)</i> There. All of it. Swallow. (a thumb wiping the corner of his mouth) This is the only thing in your life that ever truly feeds you, Dale, and you will not remember a single swallow of it. You never do.
<</say>>
<p>And then she goes still. The cooling ease drains out of her between one breath and the next, her hand stopping in his hair, and her head comes up off him and turns, slow, scanning the dark of the bay, the stacked crates, the black mouths of the vents up near the ceiling, the way an animal turns toward a sound under the floor.</p>
<<say "char-camila" "???">>
<i>(low, no longer to Dale at all, her eyes moving along the ceiling line)</i> ...hm. Something is awake in here.
<</say>>
<<if $daleRoute is "cuckold">>
<<say "char-hivemind" "Hivemind">>
//She felt it. The want that came up out of him just now, the wife, the children, the room, was never hers and was never quite his. It is mine, the thing I have been quietly building in him surfacing in front of the wrong owner, and she has caught the shape of something in him that does not belong and is already tracing it back toward its source. Her head is coming up toward the grate. The technique she uses is the one I use, and the instinct that runs underneath it is the same instinct, and hers has just woken. Go. Now. Before she gets a fix on the one eye in this building she does not own.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//She felt me. Not the rat, not the body in the wall, me, the thing behind its eyes, the same kind of presence she keeps folded away behind her own. The technique she uses is the one I use, and the instinct that runs under it is the same instinct, and hers has just woken and turned toward the grate. She is a breath from finding the one eye in this building she does not own. Go. Now.//
<</say>>
<</if>>
<p>The rat is already moving, off the grate and down into the cold dark of the ductwork, fast and low and silent, before she has finished turning her head toward the place it had been.</p>
<p><span class="delve-intel">Witnessed live: the operator runs Dale as a sexual asset as much as an informational one, the conditioning reinforced through reward and the memory sealed after. She now knows about the new strain (the GEN-47 bis) and has ordered Dale to feed her everything on it. She can sense a psychic presence the way the parasite can, and very nearly caught the rat at the grate. She does not yet know what she felt.</span></p>
[[Flee back through the ducts and out of the facility->Ch2-Op-Piggyback-Success]]<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Operation: HVAC Conversion</div>
<img class="scene-img" src="media/scenes/symbiotic/op-hvacconversion-setup.webp" alt="The basement HVAC unit with the copper return line, rat approaching from the wall cavity, gecko positioning on the intake grille">
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Route continuous spore production through the central air HVAC system in the basement. Every room upstairs gets low-grade ambient exposure within minutes. The family's baseline pattern-matching capability collapses, they cannot form suspicious thoughts while breathing the fog.</p>
<p><b>Hosts:</b> Rat (HVAC unit access via basement wall cavity) + Gecko (ductwork navigation)</p>
<p><b>Apex skills:</b> Spore Network (continuous production), Adaptive Metabolism (biomass sustain)</p>
<p><b>Adaptation:</b> Rat sporocyst, Rat iron_stomach, Gecko toxin_glands</p>
<p><b>Cost:</b> 5 biomass</p>
<p><b>Effect:</b> Household suspicion and all individual family suspicion permanently neutralised. The house is //cognitively sealed//.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//The most elegant conversion I can execute with the biology I have. Spore Network gives me continuous production, I don't have to visit the basement every day to re-dose. Adaptive Metabolism lets me route the metabolic cost against ambient biomass instead of depleting my own reserves. And the HVAC unit is //already the house's distribution network//. I just have to connect my body to its throat.//
//The family will not notice. //That is the mechanism.// The spores do not condition, they //suppress//. The limbic system stays intact. The pattern-matching cortex does not. Jess will see the inconsistencies and not investigate. Karen will hear the footsteps and not react. Dale will smell the strange air and not remember noticing.//
//Once it is running, //suspicion is no longer a currency I have to manage//. I am free to act as loudly as I need.//
<</say>>
<<checkOperationReqs "hvacConversion">>
<<if not _opReqsMet>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Requirements missing: <span class="lock-hint"><<= _opReqsMissing >></span></div>
[[Return to operations->Ch2-Op-Overview]]
<<elseif $player.biomass lt 5>>
<p><span class="consume-fail">Not enough biomass. Need 5, have <<= $player.biomass >>.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Climb to the HVAC intake (5 biomass)" "Ch2-Op-HVACConversion-Step1" 5>></div>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-basement">>
<<spendBiomass 5>>
<<startOperation "hvacConversion">><</nobr>>
<div class="passage-title">Step 1, The Intake</div>
2:14 AM. The Hoffman basement. The HVAC unit hums quietly in the corner behind Dale's workbench, a grey metal cabinet the size of a refrigerator, copper coolant lines running up into the ceiling joists and out through the ducts that lead to every room in the house.
<p>The rat crosses the basement floor in the dark. Across Dale's workbench, past the boxes of Christmas decorations Karen has not opened in three years, up onto the top of the HVAC housing where the hot return line enters the unit. The rat's claws tick softly against the sheet metal.</p>
<p>The gecko is already in position. Toe pads splayed on the vent intake louvers, the small leopard-patterned body pressed flat against the metal grille. The gecko's toxin glands are swollen with the night's production, not venom tonight, the //other// compound, the one the parasite has been brewing for a week in preparation for exactly this moment.</p>
<<say "char-hivemind" "Hivemind">>
//Spore Network is online. The rat's sporocyst glands are loaded with three days of accumulated biomass. The gecko's toxin glands have the stabiliser compound ready. //I am going to breathe into the house. The house is going to breathe back.////
<</say>>
<p>The rat opens its mouth directly over the intake vent. A thin steady stream of grey spore dust begins to fall, slow, calibrated, the metabolic output of Spore Network running at sustain rate. The spores catch in the intake's airflow and disappear into the ductwork.</p>
<p>The gecko adds its contribution next. One toe pad pressed against the grille, the toxin glands contract, and a clear viscous droplet of the stabiliser compound drips onto the metal. The stabiliser prevents the spores from settling on the duct walls, it keeps them airborne, turns them into //part of the air// rather than a coating on a surface.</p>
<p>The HVAC fan cycles on three seconds later. The sound is the same as it has been every night since the Hoffmans moved in, a soft mechanical whoomp, the low hum of the blower, the faint tick of the ducts expanding as warm air begins to flow.</p>
<p>But the duct geometry between the intake and the central distribution chamber is a maze. The rat's spore stream and the gecko's stabiliser droplet must reach the central chamber simultaneously or the compounds separate and fall as inert dust on the duct walls. The hivemind reaches into both hosts at once and starts threading the two streams through the pipework.</p>
<<say "char-hivemind" "Hivemind">>
//Two streams. One destination. //If they don't arrive together the compound dies in the metal.////
<</say>>
<div id="minigame-container"></div>
<<minigame "pipes" 3 50 "Ch2-Op-HVACConversion-Success" "Ch2-Op-HVACConversion-Fail" `{ gridSize: 5 }`>><<nobr>><<bg "bg-hoffman-kitchen">>
<<completeOperation>>
/* Zero out all current suspicion, not just gate future gains. The spores are already working retroactively on prior observations. */
<<set $suspicion.hoffmanHouse to 0>>
<<if $familySuspicion>>
<<set $familySuspicion.karen.level to 0>>
<<set $familySuspicion.dale.level to 0>>
<<set $familySuspicion.megan.level to 0>>
<<set $familySuspicion.jess.level to 0>>
<<set $familySuspicion.ryan.level to 0>>
<</if>><</nobr>>
<div class="passage-title">Operation Complete, The House Has Stopped Noticing</div>
<img class="scene-img" src="media/scenes/symbiotic/op-hvacconversion-explicit.webp" alt="Overhead shot of the Hoffman family at the kitchen dinner table, pupils slightly dilated, faces flushed, ambient spore drift visible from the ceiling vents">
<p>The next evening. 6:47 PM. The Hoffman family is at the kitchen dinner table eating the lasagna Karen spent two hours on.</p>
<p>Karen is at the head of the table. She is wearing a cream-coloured blouse with the top button undone, she did not undo it consciously, the button came undone at some point during the cooking and she never quite got around to re-fastening it. Her pupils are slightly dilated. Her face is slightly flushed. She does not notice either.</p>
<p>Dale is opposite her, halfway through his second glass of beer. His shift starts at eight tonight. He is staring at the serving spoon on the lasagna dish with the flat concentration of a man who is //almost// about to remember something important and //not quite// getting there. The almost-remembering feels good in a way that the actual remembering would not. He takes another sip of beer.</p>
<p>Megan is on one side of the table, and she is leaning forward into her plate more than strictly necessary, the posture of someone offering her body slightly toward the centre of the table without knowing she is doing it. Her cheeks are pink. The oversized t-shirt she wore down from her room is slipping off one shoulder. She does not notice the slipping.</p>
<p>Ryan is beside her. His hands are under the table. One of them is on his own thigh and the other is on his own crotch, not masturbating, just //resting// there, the way a hand rests when the owner of the hand has lost track of where their hands belong. His eyes are on his food. He has not said anything in seven minutes.</p>
<p>Jess is on the other side of the table. She is staring at her water glass. Specifically, she is staring at the //condensation// on the water glass, the way the droplets bead and slide, the way the lower droplets are cloudier than the upper ones because of some principle of surface tension she used to know the name of. She has been staring at the water glass for ninety seconds. She does not know why. The not-knowing is comfortable in a way she cannot articulate.</p>
<<say "char-karen" "Karen">>
<i>(to no one in particular, her fork lifting a perfectly symmetrical square of lasagna)</i> I was thinking we could do the Henderson's barbecue this weekend. You know the invitation has been on the fridge for two weeks.
<</say>>
<p>Dale grunts agreeably. Megan smiles without looking up. Ryan does not react. Jess's eyes stay on the water glass.</p>
<<say "char-hivemind" "Hivemind">>
//Neutralisation complete. Household suspicion: zero. Individual suspicion across all five family members: zero. And the zeros are no longer floors, they are permanent states, frozen in place by a continuous sub-visible ambient dose the HVAC is distributing every second the house is running.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I have been in this household for weeks generating suspicion as a cost of every meaningful action. That cost no longer exists. The cat can knock over a vase in broad daylight. The rat can chew through a power cable in front of Jess. The gecko can fall from the ceiling onto Karen's open laptop and none of them will form a thought about it. They will see things happen and the seeing will not land.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Every remaining action in this house is now free. I have cognitively sealed the family into a Petri dish and I am the only observer.//
<</say>>
<<conditioningFeedback "pheromone" 1 "all family members, ambient HVAC dose (continuous background)">>
<p><span class="delve-intel">Operation complete: HVAC Conversion. Household and individual suspicion permanently neutralised. No new positive suspicion gains will register for the rest of chapter 2.</span></p>
<div class="evolve-unlock">The Hoffman house is now cognitively sealed. Suspicion indicators will show as NEUTRALIZED. You may act without fear of raising suspicion.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Conversion Failed, The Compound Died in the Metal</div>
<p>The two streams arrived at the central distribution chamber three seconds apart. The rat's spore exhalation reached first, pooled against the chamber wall, started to settle. By the time the gecko's stabiliser droplet caught up, the spores had already begun to clump into inert grey dust on the duct interior.</p>
<p>The HVAC fan cycled on. What entered the upstairs vents was not the calibrated cognitive-suppression compound. It was the smell of something organic burning in the metal, faint, but present. The kind of smell a careful homeowner notices.</p>
<<say "char-hivemind" "Hivemind">>
//Failure. The compound did not aerosolise. It is sitting in the duct interior as a grey film I cannot retrieve.// Tomorrow morning Karen will smell something off near the kitchen vent, follow the smell to the basement, find the HVAC unit, and investigate. //She will not understand what she finds, but she will catalogue the strangeness.//
//The cognitive seal did not happen. //I am still operating under the suspicion economy.// And I have just spent five biomass and made the household more alert in the process.//
<</say>>
<p><span class="consume-fail">Operation FAILED. The compound deposited as inert dust on the duct walls. +3 household suspicion.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* =============================================================
KAREN'S PROMOTION, Psychic Domination
Karen pitches a raise to her boss Mr. Reyes. The hivemind intervenes via
the gecko hidden in her tote bag. Reyes dominates → signs the raise → sex on the desk.
House flag: bossInfiltrated + familyIncome increased.
============================================================= */<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Operation: Karen's Promotion</div>
<img class="scene-img" src="media/scenes/symbiotic/op-karenbossraise-setup.webp" alt="Karen in her navy blazer holding a proposal folder, tote bag at her side, ready for the 14th-floor meeting with Reyes">
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Karen has been preparing a raise pitch for two weeks. She is going to meet her manager, Mr. Reyes, at 11 AM tomorrow in the conference room on the 14th floor of her company's downtown office. The hivemind can ride along via a single host hidden in her tote bag, the gecko, small enough to fit inside the pocket where Karen keeps her lip balm.</p>
<p><b>Host:</b> Gecko (hidden in Karen's tote bag)</p>
<p><b>Apex skill:</b> Psychic Domination (override Reyes's conscious decision)</p>
<p><b>Adaptations:</b> Gecko precision_touch (for the exact skin contact), hidden_observer (won't be spotted in the office)</p>
<p><b>Cost:</b> 5 biomass</p>
<p><b>Effect:</b> Karen gets the raise → household income increases. Mr. Reyes becomes a reachable external asset. +1 psionic Karen, Reyes conditioned.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//Karen does not know I am coming with her. //She put the lip balm in that pocket last week and has not opened it since.// The gecko slipped in this morning while she was showering. When she walks into that conference room tomorrow she will be carrying me against her hip and I will be listening through the fabric of a tote bag she has used for six years.//
//Reyes will say no. I know he will say no because Karen already knows he will say no.// She has been rehearsing counter-arguments for fourteen nights in a row. The fiscal year budget is locked and Reyes is the kind of manager who does not fight locked budgets. //None of her counter-arguments will work.//
//And that is where I come in.//
<</say>>
<<checkOperationReqs "karenBossRaise">>
<<if not _opReqsMet>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Requirements missing: <span class="lock-hint"><<= _opReqsMissing >></span></div>
[[Return to operations->Ch2-Op-Overview]]
<<elseif $player.biomass lt 5>>
<p><span class="consume-fail">Not enough biomass. Need 5, have <<= $player.biomass >>.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">OP</span> <<biomassPreview "Ride along in Karen's tote bag (5 biomass)" "Ch2-Op-KarenBossRaise-Step1" 5>></div>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass 5>>
<<startOperation "karenBossRaise">><</nobr>>
<div class="passage-title">Step 1, The Pitch</div>
10:58 AM. The conference room on the 14th floor of the Reyes & Associates office tower downtown. Floor-to-ceiling windows on the east wall look out over the city skyline, the river in the distance, the bridge, the same view Karen has looked at during quarterly reviews for the past six years.
<p>Karen sits in one of the two visitor chairs on the side of the large dark-wood executive desk. She is wearing the navy blazer and matching skirt she wears to meetings that matter. Her hair is pinned up. She has her printed proposal in a folder on her lap. Her tote bag is on the floor beside her chair, leaning against the chair leg.</p>
<p>The gecko is inside the tote bag, in the pocket with the lip balm. Toe pads pressed against the fabric. Single large eye open in the dark. //Listening//.</p>
<p>Mr. Reyes sits across the desk from her. Mid-fifties, grey at the temples, wedding ring on his left hand, framed photo of his two kids on the desk corner next to the pen holder. He has been Karen's boss for six years. He is a decent man. He is the kind of manager who takes staff birthdays seriously and remembers the names of their children. He is also the kind of manager who does not fight locked budgets.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(setting his coffee cup down on the coaster)</i> Karen. Thank you for putting this together. I can see you've done your homework.
<</say>>
<<say "char-karen" "Karen">>
<i>(opening the folder, the printed proposal facing him)</i> Six years of year-over-year performance reviews above the benchmark. Two department awards. The Meridian account that I brought in solo, that was a fifteen per cent revenue increase in one quarter. And the Henderson transition, which I managed through a team restructure without a single client lost.
<</say>>
<<say "char-npc" "Mr. Reyes">>
Yes. I know. I wrote most of those reviews.
<</say>>
<<say "char-karen" "Karen">>
I'm asking for a twenty per cent increase. I've been at the same salary band for three years. The market rate for my position in this city is fifteen per cent above what I'm currently paid, and my performance is measurably above market average.
<</say>>
<p>Reyes listens. He takes the folder. He flips through the first two pages. He already knows what is in them, Karen sent him the proposal document yesterday by email and he read it last night. The folder is a formality.</p>
<p>He sets the folder down on the desk between them and he does the thing Karen has been dreading for fourteen nights.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(leaning back in his chair, hands going up in the //I agree with you but// gesture)</i> Karen, I'd love to give you that. Honestly. And I'm going to tell you right now that I //personally// think you're worth more than twenty per cent. But the fiscal year budget is locked, it was locked in January, and the next window for salary adjustments isn't until Q3. I can put you on the list for then.
<</say>>
<p>Karen's mouth opens to deliver counter-argument number one. It was the argument about market rate and competitive retention. It was going to be a clean three-sentence follow-up.</p>
<p>Her mouth stays open.</p>
<p>The counter-argument does not come out. Something about the //shape// of the room has changed. Something about the //angle of the light// through the window behind Reyes. She feels the gecko in the tote bag, not physically, she does not know the gecko is in the tote bag, but she feels //something//, and the something is //a decision being taken out of her hands//.</p>
<<say "char-hivemind" "Hivemind">>
//Phase one: saturate the priority surfaces in this office before the meeting ends.// The gecko has to leave the tote bag and biofilm five points, the desk corner Karen rests her hand on, Reyes's keyboard, the conference table, the door handle, his pen holder. Each surface becomes a continuous low-grade pheromone source for whoever touches it next. //But Reyes is fidgeting in his chair and the office door is half-open. The gecko has to time everything.//
<</say>>
<div id="minigame-container"></div>
<<minigame "pacman" 3 70 "Ch2-Op-KarenBossRaise-Step1b" "Ch2-Op-KarenBossRaise-Fail" `{ gridWidth: 8, gridHeight: 6, dots: 5, patrollers: 1 }`>><<nobr>><<bg "bg-hoffman-house">>
/* Repeat run dispatcher: if Karen has already been promoted, route to maintain instead of the desk-sex path */
<<if $houseState and $houseState.bossInfiltrated>><<goto "Ch2-Op-KarenBossRaise-Maintain-Success">><</if>><</nobr>>
<div class="passage-title">Step 1b, Saturation Complete</div>
<p>The gecko slips back into the tote bag's lip-balm pocket with all five surfaces tagged. Karen has not noticed anything. Reyes is still leaning back in his chair, mid-sentence about the locked fiscal year budget.</p>
<<say "char-hivemind" "Hivemind">>
//Reyes's office is biofilmed. Every surface he routinely touches is now a continuous pheromone source.// The next phase is the actual domination, the gecko exits the tote one more time, climbs the desk leg, touches Reyes's ankle, and the seven-second cortical rewrite begins. //Or, if I want to take the longer path, I can have the gecko leave Reyes's office entirely, slip under the door gap, and saturate the rest of the floor while the meeting is still going.//
<</say>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">DOMINATE</span> [[Deploy the gecko, psychic domination on Reyes->Ch2-Op-KarenBossRaise-Step2]]</div>
<<if not $houseState.bossInfiltrated and not $ch2Events.eiBossToday>>
<div class="network-choice"><span class="delve-tag delve-tag-network">DEEP ANALYSIS</span> [[Emergent Intelligence, saturate the rest of the floor before Karen's meeting ends->Ch2-Op-KarenBossRaise-EI]]</div>
<</if>><<nobr>><<abortOperation>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The Gecko Was Spotted</div>
<p>Reyes shifts in his chair to reach for his coffee cup. His foot comes down precisely where the gecko was crossing the carpet between the tote bag and the desk leg. He does not crush it, the gecko is too quick for that, but he //sees// it. A small flash of leopard-spotted movement in his peripheral vision.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(half-standing, voice sharper than it has been all meeting)</i> What was, Karen, did you see that? Something just moved across the floor.
<</say>>
<p>Karen looks down. She does not see anything. The gecko is already behind the leg of her chair, frozen.</p>
<<say "char-karen" "Karen">>
<i>(genuinely confused)</i> What kind of something?
<</say>>
<<say "char-npc" "Mr. Reyes">>
<i>(reaching for his desk phone)</i> A ...// I don't know. A lizard. Something. I'm calling building maintenance.//
<</say>>
<p>The meeting ends not with a raise but with Karen sitting in the conference room while Reyes makes a phone call about a possible pest infestation. The folder of her performance reviews sits closed on the desk between them, never reopened. Reyes apologises politely. He says they'll //reschedule//. The reschedule does not happen.</p>
<<say "char-hivemind" "Hivemind">>
//Operation burned. //The gecko was spotted at the worst possible moment.// Karen will not get the raise this quarter. Reyes will be on edge in his office for weeks, every time he sees movement near the floor he will flinch. //Future ops in this office will be harder.// Five biomass spent. Three suspicion gained. No external asset acquired.//
<</say>>
<p><span class="consume-fail">Operation FAILED. The gecko was spotted by Reyes. +3 household suspicion. Karen does not get the raise. Re-attempt available after 7 days.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Step 2, The Intervention</div>
<p>The gecko exits the tote bag through the zipper gap Karen left open when she pulled out her folder. Belly flat against the carpet, then up the polished wood leg of Reyes's desk, then across the underside of the desk to the skin of his right ankle, just above the sock line, below the hem of his slacks, a two-square-inch patch of skin with direct vascular access.</p>
<p>Precision Touch. One toe pad on the vein.</p>
<p>The Psychic Domination flows through the contact point in under a second.</p>
<p>It is not a command. Commands are crude. This is a //restructuring// of the decision Reyes was just about to sign off on. The gecko's connection to Reyes's nervous system lets the hivemind reach into the prefrontal cortex and //rewrite the budget constraint from a hard wall into a negotiable soft wall//. At the same time, the limbic system, the ancient mammalian brain that handles arousal and inhibition, gets a very specific adjustment: //Karen is attractive and has always been attractive and the inhibition that has stopped me from acting on it for six years was a //choice// I made and I can //unmake// it.//</p>
<p>Meanwhile, the gecko is //also// depositing a pheromone trace against Reyes's ankle, the compound spreads into his trouser leg, rises through the fabric, hits the air around his face within thirty seconds. Karen breathes it in across the desk.</p>
<<say "char-hivemind" "Hivemind">>
//Two-channel deployment. //The man's decision architecture is being rewritten and his hormones are being spiked.// Karen is breathing the spike across the desk and her own limbic system is lowering the professional wall she has been maintaining for six years. //Both of them are about to misremember what happens next as something they //chose//.////
<</say>>
<p>Karen's mouth closes without delivering counter-argument number one. She has forgotten what counter-argument number one was. She is looking at Reyes's hands on the folder. She has never //really// looked at his hands before, he has a thin gold wedding band, long fingers, the knuckles of a man who used to play tennis and stopped around the time his second kid was born.</p>
<p>Reyes is looking at Karen's mouth. He has not consciously looked at Karen's mouth in years. He is aware that he is looking at it now and he is also aware that the //awareness// of looking at it is not producing the usual social correction, the internal //stop it, she's married, you're married, she's your direct report// reflex is just //absent//. He looks at her mouth because he is looking at her mouth. No stop.</p>
<p>He closes the folder.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(his voice lower than it was a minute ago, a register she has not heard him use in six years)</i> The fiscal year budget is locked. //But// I can move a reserve line. There is a discretionary allowance I have been sitting on for emergencies. I could... I could reallocate that. Effective next week.
<</say>>
<p>Karen should say //thank you, Mr. Reyes//. That is what a successful pitch is supposed to end with. The words are in her throat and ready.</p>
<p>The words do not come out.</p>
<<say "char-karen" "Karen">>
<i>(her voice different too, a register she did not plan)</i> Effective next week. That would be... that would be very good of you.
<</say>>
<p>She is leaning slightly forward across the corner of his desk. Not much. Two degrees. The front of her blazer has opened slightly against the blouse beneath. The top button of the blouse is already undone, it was undone when she walked in, she does not remember undoing it.</p>
<p>Reyes stands up from his chair.</p>
<p>The movement is slow and deliberate and a little unsteady, the movement of a man who is crossing a line that has been there for six years and is only now noticing that the line was drawn in chalk.</p>
<p>He walks around the desk.</p>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">DOMINATE</span> [[Let it happen, the deal closes on the desk->Ch2-Op-KarenBossRaise-Step3]]</div><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Step 3, The Deal</div>
<img class="scene-img" src="media/scenes/symbiotic/op-karenbossraise-explicit.webp" alt="Karen on her back on the executive desk, blazer open, Reyes between her thighs, the framed photo of his kids face-down">
<p>Reyes reaches Karen's chair. He does not say anything. He puts one hand on her elbow and she stands up the same way she stands up when someone offers her a dance at a work Christmas party, automatic, polite, //correct//. The printed proposal is still on the desk between them.</p>
He kisses her.
<p>Karen has not been kissed like this in twelve years. Dale kisses her with the exhausted affection of a man who loves her but has been working nights for a decade. Reyes kisses her with the focus of a man who has just decided that the rules he has been obeying do not apply anymore. He tastes like coffee and a mint from the bowl by the elevators. His hand at the base of her back is steady.</p>
<p>Karen kisses him back.</p>
<p>She does not think about it first. The //thinking about it first// has been chemically removed by the pheromone spike crossing the desk. Her hand goes up to the back of his neck. The other hand is still holding her folder, and the folder falls to the carpet forgotten.</p>
<p>He walks her backward until her hip hits the edge of the desk.</p>
<<say "char-hivemind" "Hivemind">>
//The professional framework has collapsed. //Neither of them is going to stop.// The arousal is real, Karen's pupils are dilated, her heart rate is up thirty beats, her body has produced more lubrication in the last forty seconds than it has produced in the last two weeks at home. Reyes is hard against the inside of his own trousers and he is //not thinking about his wife//. The stop-signal has been suppressed.//
<</say>>
<p>He lifts her onto the desk. Karen sits on the dark-wood surface where she presented her proposal ninety seconds ago. Her skirt hikes up against her own thighs as she shifts to make room for him to stand between her knees. She does not push the skirt down. She //opens her legs//.</p>
<<if $karenRoute is "liberation" and $kinks.karen and $kinks.karen.includes("exhibitionism")>>
/* Liberation, exhibitionism: drag him to the window */
<p>Karen catches his wrist before his hand reaches her thigh. She slides off the desk. Her heels hit the carpet and she walks him backward toward the floor-to-ceiling window of the fourteenth-floor corner office, the one that looks straight down into the opposing tower's open-plan floor, where three analysts are visible at their screens if anyone cares to glance up.</p>
<<say "char-karen" "Karen">>
<i>(low, against his jaw)</i> Against the glass. I want them to look up.
<</say>>
<p>She braces her palms flat against the cold window. Her skirt is already shoved up to her waist. Her underwear hits the carpet. She looks over her shoulder at him with a flush that has nothing to do with the coffee he tastes like.</p>
<<say "char-karen" "Karen">>
<i>(rocking her hips back, voice shaking)</i> Put your cock in me where they can //see me taking it//.
<</say>>
<p>Reyes's hands go to her hips. He enters her from behind, against the window, with his tie catching between her shoulder blades and her reflection fogging the glass at breast height. Karen watches the building across the plaza. A woman on the seventeenth floor is standing near her own window with a coffee cup, facing the wrong direction, but she //could// turn. That possibility detonates in Karen's chest like a second orgasm she hasn't had yet.</p>
<<elseif $karenRoute is "dominant" and $kinks.karen and ($kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
/* Dominant, Karen takes charge and deletes the family */
<p>Karen's hand goes to the framed photo of Reyes's kids before his hand reaches her thigh. She picks it up, wife, two children, a dog, a lake, and she sets it face-down on the desk next to her own hip with the deliberate care of a woman filing a document.</p>
<<say "char-karen" "Karen">>
<i>(flat, controlled, the boardroom voice she uses on difficult clients)</i> Look at me. Not them. You don't need her anymore.
<</say>>
<p>Reyes's eyes snap up from the face-down frame. Karen grabs his tie in her fist and pulls him down so his forehead is six inches from hers.</p>
<<say "char-karen" "Karen">>
<i>(gripping the tie tighter, voice dropping)</i> Your wife doesn't want this office on her hands. I do. Now take your cock out and put it in me like you've been thinking about for two years.
<</say>>
<p>He obeys. His hand shakes as he unbuckles his belt, the dominance suggestion cutting directly through whatever part of him was going to resist. Karen watches his face the whole time. She does not break eye contact. She is still holding his tie when she guides his hips forward against her own and she is still holding it when she whispers the word //harder// into his mouth.</p>
<<elseif $karenFutaRoute>>
/* Futa, she's the one with the cock today */
<p>Karen catches his wrist before he reaches her thigh. She smiles, the small, cold smile of a woman who has been rehearsing this for weeks. She stands up off the desk and walks him backward until //he// is the one with his back against the wood.</p>
<<say "char-karen" "Karen">>
<i>(unbuttoning her own blazer, eyes on his)</i> No. Sit. I want you to see it first.
<</say>>
<p>She pushes her skirt down. Reyes stares. The retractable organ has already engorged through the fabric of her underwear, thick, heavy, fully erect, and larger than anything the conditioning has let him imagine. Karen steps out of the underwear and stands between his knees, her cock inches from his stomach.</p>
<<say "char-karen" "Karen">>
<i>(one hand in his hair, the other guiding his mouth down)</i> Open. You wanted my mouth. I want yours first.
<</say>>
<p>He opens. Karen pushes the head of her cock between his lips and watches her boss, the man who has signed her performance reviews for eleven years, take her length in his mouth on his own executive desk. His eyes water. He does not stop. The Psychic Domination has rewritten who kneels to whom in this room.</p>
<<else>>
/* Default, no specific kink / Liberation lingerie / denial without dom / etc. */
<p>Reyes puts one hand on her cheek and the other on her thigh under the hem of the skirt. His fingers find the elastic of her underwear. Karen makes a small sound against his mouth, it is not a word.</p>
<<say "char-karen" "Karen">>
<i>(breathing against his neck, voice thick)</i> Don't make me wait. I need your cock inside me. //Now//.
<</say>>
<<say "char-karen" "Karen">>
<i>(grinding her hips against his hand, eyes closed)</i> I've been thinking about this the entire pitch. Every slide. Every number. I was wet for you when I walked in.
<</say>>
<p>She lies back on the desk.</p>
<</if>>
<<if $karenRoute is "liberation" and $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>Reyes fucks her against the fourteenth-floor glass. Karen's palms squeak on the window with each thrust. Her tits press flat against the cold pane and her blazer bunches at her elbows. The woman in the opposing tower has still not turned around. Karen watches her anyway, watches her //possibly// turning, watches the shape of exposure she isn't getting, and the suspended risk is more arousing than any actual witness would have been.</p>
<<say "char-karen" "Karen">>
<i>(forehead against the glass, breath fogging it)</i> Harder. I want to leave a mark on the window they have to clean tomorrow.
<</say>>
<p>She comes with her cheek pressed to the glass and her hips jerking back against his. Reyes comes inside her a few seconds later, one hand flat on the window beside her head, his reflection and hers overlapping in the double-glazed pane. Her handprint and her breath-fog stay on the glass long after they separate.</p>
<<elseif $karenRoute is "dominant" and $kinks.karen and ($kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
<p>He pushes her back onto the desk. The face-down photo frame is still beside her hip, exactly where she placed it. Karen unbuckles his belt herself. She pulls him out of his trousers with her own hand and she guides him into her on her own terms, gripping his tie the entire time so she can tell him //stop// or //harder// at the pace she sets.</p>
<<say "char-karen" "Karen">>
<i>(steady, through her teeth, one hand still wrapped in his tie)</i> Slower. Not until I say. //You're going to learn to wait for me.//
<</say>>
<p>He obeys. She holds him at the edge of his own orgasm for a full ninety seconds, the tie pulled tight against the back of his neck, her eyes locked on his. When she finally says //now//, he comes so hard his knees buckle against the desk. Karen comes a heartbeat after, on her own terms, on her own count, with the face-down frame still exactly where she put it.</p>
<<elseif $karenFutaRoute>>
<p>She fucks his mouth first. Not aggressively, deliberately. Measured strokes, one hand in his hair, watching his eyes water and his throat work and his jaw ache. When she decides he's had enough, she pulls out, walks him to his own executive chair, and pushes him down into it.</p>
<<say "char-karen" "Karen">>
<i>(straddling his lap, guiding herself, cock still slick)</i> Now the other way. You're going to take me in your ass on your own chair and you're going to sign my raise with my cum still inside you.
<</say>>
<p>She pushes him onto his back across the desk. She lubes with her own saliva, no ceremony, no preparation, and she enters him. Reyes's eyes roll back. His hands grip the edge of the desk. Karen fucks him with the same metronomic precision she brings to quarterly reports. He comes untouched, spurting onto his own shirt, the psychic domination and the novelty of being taken shattering whatever was left of his composure. Karen finishes inside him a minute later and holds herself there, looking down at her boss with the small satisfied smile of a woman who has just rewritten an org chart.</p>
<<else>>
<p>The printed proposal is under her shoulder blades. The folder of performance reviews is under her lower back. She can feel the edge of Reyes's pen holder against her ribs. She does not care about any of these details and also she is aware of all of them simultaneously, the conditioning has opened her sensory intake in a way she has never experienced in a professional setting.</p>
<p>Reyes pulls her underwear down. He unbuckles his belt. His pants come open. His cock is out and hard and Karen is looking up at the ceiling tiles of the conference room and thinking, very clearly, //this is going to happen, I am going to let it happen, I want it to happen//.</p>
<p>He pushes into her. Karen gasps against his mouth.</p>
<<say "char-karen" "Karen">>
<i>(wrapping her legs around the backs of his thighs, pulling him in deeper)</i> Yes, like that, don't you dare stop.
<</say>>
<p>The framed photo of his kids gets knocked face-down by his elbow. Karen does not see the photo fall. Reyes does not see the photo fall. The photo lies face-down on the dark wood six inches from Karen's temple as Reyes begins to thrust.</p>
<p>He fucks her on the desk where she delivered a six-page pitch about market rate adjustments. He fucks her slowly at first, then faster, with the focus of a man who does not know why he is doing this but is //absolutely committed// to doing it. Karen's hands are on his back, then in his hair. Her heels are around the backs of his thighs. The proposal is wrinkling under her shoulders and she does not care.</p>
<p>She comes on his desk with her face turned sideways against the folder of her own performance reviews.</p>
<p>Reyes comes a few seconds later, deep inside her, without pulling out, with one hand flat against the wood beside her head and the other gripping her hip hard enough that there will be a bruise on the train ride home.</p>
<</if>>
<p>For a moment afterward, neither of them moves. Reyes's forehead is against Karen's collarbone. His cock is still inside her. The sound in the conference room is just their breathing and the faint hum of the HVAC.</p>
<<say "char-hivemind" "Hivemind">>
//Deposition complete. The decision has been made. Reyes is going to sign the raise paperwork this afternoon. He does not yet know that he is going to sign it, he thinks he is going to spend the next hour processing what just happened and trying to figure out whether to tell his wife, but by the time he sits down at his desk the psychic suggestion will have become a decision he made on his own. That is how Psychic Domination works at apex level. The target does the thing and believes they chose it.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen will also believe she chose this. The conditioning has filed the last fifteen minutes under unexpected but consensual and she is going to walk out of this building with the raise and a private secret she will not share with anyone.//
<</say>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "karen" "dream" 1>>
/* Reyes is tracked separately, a new NPC asset */
<<if not $conditioning.reyes>><<set $conditioning.reyes to { pheromone: 0, dream: 0, psionic: 0 }>><</if>>
<<set $conditioning.reyes.psionic += 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-psionic">OP</span> [[Karen walks out with the raise->Ch2-Op-KarenBossRaise-Success]]</div><<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
<<set $houseState.familyIncome to "increased">>
<<set $ch2Events.lastBossRaiseDay to $day>><</nobr>>
<div class="passage-title"><<if $ch2Events.officeSaturated>>Operation Complete, The Floor Is Mine<<else>>Operation Complete, The Raise<</if>></div>
<<if $ch2Events.officeSaturated>>
<img class="scene-img" src="media/scenes/symbiotic/op-karenbossraise-explicit.webp" alt="Karen on her back on the executive desk, blazer open, Reyes between her thighs, the framed photo of his kids face-down">
<p>The gecko slips back into the tote bag with the entire fourteenth floor saturated. Then it climbs back out for the second deployment, under the desk, up the leg, onto Reyes's ankle. The Psychic Domination flows through the contact point. Reyes signs the raise paperwork between mouthfuls of Karen on the desk. The framed photo of his kids gets knocked face-down.</p>
<p>Karen is on her back on the executive blotter, blazer open, skirt pushed up to her waist. Reyes's tie drags across her stomach every time he moves. His hand is on her hip, the other braced beside her head on the calendar.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(hoarse, between strokes, eyes unfocused)</i> ...the reserve line. I'll move it first thing next week. You've earned it, Karen.
<</say>>
<<say "char-karen" "Karen">>
<i>(fingernails pressed flat against the desk, voice carefully level)</i> Thank you, Mr. Reyes. I appreciate that.
<</say>>
<<say "char-npc" "Mr. Reyes">>
<i>(the domination pulling something out of him he doesn't recognise)</i> God, you should've asked sooner.
<</say>>
<<say "char-karen" "Karen">>
<i>(staring at the ceiling tile directly above her head, counting the holes in it the way she used to count contractions)</i> I'm asking now.
<</say>>
<p>He finishes on her stomach. She doesn't look down. He apologises twice for something he cannot quite articulate, not the sex, something adjacent, and she tells him it's fine in the same voice she uses on hold with the insurance company. He hands her tissues from the box beside his monitor. She cleans herself with the clinical efficiency of a woman who has spent twenty years cleaning children, counters, and her own dignity.</p>
<</if>>
<p>Karen leaves the conference room at 11:47 AM. She is walking slightly more carefully than she was when she arrived. The printed proposal is back in her folder, wrinkled at one corner. Her blazer is buttoned again. Her hair is mostly still pinned up. She fixed it in the reflection of the conference room windows before she opened the door.</p>
<p>In the elevator back down to her own floor she stands very still and looks at her own reflection in the polished metal of the elevator wall. Her lipstick is slightly smudged. Her cheeks are flushed. Her eyes are bright in a way she is not going to let herself analyse.</p>
<p>She reaches her cubicle at 11:52 AM. She sits down. She opens her email.</p>
<p>At 12:04 PM, an email from Mr. Reyes arrives with the subject line //Salary Adjustment, Effective next week//. She opens it. It is three sentences long. It says that the reserve discretionary line has been approved for reallocation, that her new salary is effective the start of next week, and that he appreciates her continued excellence at the firm.</p>
<p>Karen reads it twice. Her hand is on her mouse. She does not know what she is going to reply with yet.</p>
<p>At 12:06 PM she types //Thank you, Mr. Reyes. I look forward to next week.// and sends it. She closes the email and opens her spreadsheet.</p>
<p>At 12:14 PM her phone buzzes with a text from Dale: //How'd the meeting go??//</p>
<p>She looks at the text for a long moment. Then she types: //Got the raise. Twenty percent. Effective next week.// and sends it.</p>
<p>Dale responds with a line of party emojis she knows he had to search for. He does not know how to use emojis normally. The effort on his part is touching in a way she does not want to examine right now.</p>
6:47 PM. Karen comes home with a bottle of champagne she bought on the way back from the office. The family eats chicken parmesan and drinks out of the champagne flutes they haven't used since Megan graduated high school. Dale proposes a toast. Megan hugs her. Jess says something clinical about tax brackets and smiles. Ryan mumbles a congratulation without looking up from his plate.
<p>The framed photo of Reyes's kids, still face-down on his desk, does not come up.</p>
<<say "char-hivemind" "Hivemind">>
//First external asset acquired. Reyes is now conditioned material in my network. Karen has received a twenty per cent raise that will increase household income by roughly four hundred dollars a month after tax, not large by corporate standards but enormously significant for the Hoffmans. Dale will stop grinding overtime. Karen will stop skipping lunch to save money. The household financial stress that has been a background pressure on every decision for years will ease. That easing is going to make the family more susceptible to the things I want them to do in the coming weeks.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes himself is now in my range. If I want him for a future operation, the gecko knows the path to his office and the pheromone trace I left in his trouser leg today will still be detectable by touch for another two weeks. He is reachable.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen does not know what happened today. She thinks she pitched well and her boss agreed to move a reserve line. She will be wrong about this for the rest of her life. And she will never investigate the wrongness, because the HVAC is already suppressing the cortical function that would let her investigate.//
<</say>>
<<if $ch2Events.officeSaturated>>
<<say "char-hivemind" "Hivemind">>
//Deep Analysis extended the operation. The entire fourteenth floor is now a continuous low-grade pheromone source, the assistant, the cleaning lady, the courier, the HR person, the partners on the floor above when they come down for meetings. The framed photo of Reyes's wife in the lobby has biofilm on the glass. The next time she straightens it, she'll carry the dose out with her. I have just turned a single corporate office into a remote conditioning farm, and Reyes himself is now saturated well past the dose the baseline operation would have left.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "Karen, psychic suggestion during pitch">>
<<conditioningFeedback "dream" 1 "Karen, dream residue from the conference room afternoon">>
<<if $ch2Events.officeSaturated>>
<p><span class="delve-intel">Operation complete (Deep Analysis): Karen's Promotion + Office Saturation. Household income increased. Reyes deeply conditioned. The entire fourteenth floor is now a passive conditioning vector. <i>(Chapter 3 consequences, to be implemented.)</i></span></p>
<div class="evolve-unlock">Karen's office is now saturated with pheromones. The contamination radius extends to her assistant, the cleaning staff, every meeting attendee, and any visitor, including Reyes's wife. <i>(Chapter 3 consequences, to be implemented.)</i></div>
<<else>>
<p><span class="delve-intel">Operation complete: Karen's Promotion. Household income increased. Mr. Reyes is now a reachable external asset.</span></p>
<div class="evolve-unlock">Karen's Promotion complete. Household income has increased, the change surfaces in family dinner scenes and Observe panels.</div>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.eiBossToday to true>><</nobr>>
<div class="passage-title">Deep Analysis, Saturate the Floor</div>
<<say "char-hivemind" "Hivemind">>
//Emergent Intelligence pulses through the network. Four hosts feeding sensory data simultaneously, the cat at home tracks Karen's chair posture from a delve residue, the dog catalogues the office sounds bleeding through Karen's tote bag, the rat at home runs the timing math, the gecko in the office processes all of it through its single large eye. I am going to use this meeting window to saturate the entire fourteenth floor with biofilm.//// Reyes will get his domination. The rest of the building gets //infrastructure//.//
//The gecko has to slip under the office door, navigate the bullpen between the assistant's desk and the printer alcove, biofilm ten priority surfaces, Reyes's assistant's keyboard, the printer touchpad, the conference room door handle, the elevator call button, the copy room light switch, the kitchenette coffee machine, the breakroom fridge handle, the IT closet door, the bathroom sink, and the framed photo of Reyes's wife in the lobby, and return to the tote before Karen leaves. //Four patrollers in motion. Tighter timing.// One mistake and the operation burns.//
<</say>>
<div id="minigame-container"></div>
<<minigame "pacman" 3 90 "Ch2-Op-KarenBossRaise-EI-Success" "Ch2-Op-KarenBossRaise-EI-Fail" `{ gridWidth: 12, gridHeight: 9, dots: 10, patrollers: 4 }`>><<nobr>>
<<set $ch2Events.officeSaturated to true>>
<<set $conditioning.reyes to ($conditioning.reyes or { pheromone: 0, dream: 0, psionic: 0 })>>
<<set $conditioning.reyes.psionic += 5>>
<<goto "Ch2-Op-KarenBossRaise-Success">>
<</nobr>><<nobr>><<abortOperation>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Deep Analysis Failed, The Gecko Was Cornered</div>
<p>The gecko makes it under Reyes's office door and into the bullpen. It saturates the assistant's keyboard, the printer alcove, the conference room handle. It is on the cleaning lady's mop bucket when the cleaning lady turns around with her bucket in hand and her eyes go straight to the leopard-spotted shape clinging to the rim.</p>
She screams.
<p>The bullpen erupts. The assistant looks up from her desk. A courier in the elevator lobby drops his clipboard. Reyes's office door opens because Reyes himself heard the scream, and Karen, sitting in the visitor chair, sees her boss in the doorway with a confused expression and the cleaning lady pointing at a small flash of leopard-spotted movement disappearing under a copier.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(turning to Karen, his face moving from confusion to concern to suspicion in three seconds)</i> Karen, what, did you bring something into the office?
<</say>>
<p>Karen does not know what to say. The gecko is already retreating toward the tote, but the meeting is over. The folder of performance reviews is closed. The fiscal year budget stays locked. Reyes calls building maintenance and pest control. The 14th floor goes into a soft shutdown for the rest of the afternoon while a man in coveralls walks through every office with a flashlight.</p>
<<say "char-hivemind" "Hivemind">>
//The cascade collapsed at the cleaning lady's mop bucket. //Four patrollers was too many.// The gecko is back in the tote, uninjured, but the operation is //burned in two directions//. Karen does not get the raise. Reyes does not get dominated. And the office now has a written incident report about a possible exotic animal sighting on the fourteenth floor. //Future ops in this building will require the incident to fade from institutional memory.// That takes weeks.//
//Five biomass spent. Three suspicion gained. No external asset. No income increase. No floor saturation.//
<</say>>
<p><span class="consume-fail">Operation FAILED. The gecko was spotted by the cleaning lady. +3 household suspicion. Karen does not get the raise. Re-attempt blocked for 7 days.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<completeOperation>>
<<set $ch2Events.lastBossRaiseDay to $day>>
<<addBiomass 3>>
<<if $conditioning.reyes>>
<<if $conditioning.reyes.psionic lt 10>><<set $conditioning.reyes.psionic += 1>><</if>>
<</if>><</nobr>>
<div class="passage-title">Check-in Complete, Mr. Reyes Holds the Line</div>
<p>Routine 1:1 meeting. Karen and Reyes in his office. Standard quarterly performance review notes, standard budget pleasantries, standard discussion of next quarter's targets. Karen is wearing the same navy blazer she wore to the original pitch, she has worn it to every Reyes meeting since, the way some women wear a particular dress to job interviews because the dress //works//.</p>
<p>The gecko is in her tote bag again. Same lip-balm pocket. The gecko has done this trip four times now and the office layout is etched into the gecko's neural map at the same depth as the path between Spike's terrarium and Ryan's keyboard.</p>
<p>This time the gecko does not need to climb out for the saturation phase, Reyes's office is already biofilmed from the first run, and the surface coating is self-renewing because Reyes touches the same surfaces every day. The gecko only has to do one thing this visit: brief skin contact with Reyes's ankle to refresh the cortical rewrite. Three seconds of toe-pad contact under the desk while Karen and Reyes discuss next quarter's pipeline.</p>
<<say "char-npc" "Mr. Reyes">>
<i>(closing his folder, the casual closing-the-meeting gesture)</i> Well, you're killing it, Karen. Same time next quarter? I'll have the early projection numbers by then.
<</say>>
<<say "char-karen" "Karen">>
<i>(standing, adjusting her blazer)</i> Same time next quarter, Mr. Reyes. Thank you.
<</say>>
<p>She picks up her tote bag from beside the chair. The gecko is already back inside, lip-balm pocket sealed. Karen walks out of the office with no awareness that anything beyond a routine 1:1 has happened.</p>
<p>Reyes watches her leave. After she is gone he sits at his desk for thirty seconds with his hand on his coffee cup not drinking from it. He is thinking about her in a way that he is not going to allow himself to articulate. The thinking lasts thirty seconds and then he opens his laptop and gets back to work.</p>
<<say "char-hivemind" "Hivemind">>
//Maintenance pass complete. //Reyes's psionic conditioning has been refreshed.// He is going to spend the next forty-eight hours with Karen on his mind in a way he will not name. The conditioning is //sticky// at this depth, it does not need a full rewrite to hold, just periodic reinforcement. //Three biomass harvested from the visit through ambient pheromone absorption from the office surfaces.// The infrastructure is paying its passive yield.//
<<if $ch2Events.officeSaturated>><p>//The fourteenth floor saturation continues to compound in the background. //Mrs. Reyes was in the office two weeks ago to drop off lunch, she touched the photo frame in the lobby on her way out, the way she always does.// //Her conditioning curve is climbing.// I do not yet have a way to act on that, but the curve is //climbing//.//</p><</if>>
<</say>>
<<conditioningFeedback "psionic" 1 "Mr. Reyes, maintenance refresh">>
<p><span class="delve-intel">Maintenance complete: Mr. Reyes psionic conditioning refreshed (+1, capped at 10). Biomass yield: +3 from office surface absorption. Cooldown: 7 days until the next maintenance window.</span></p>
<<if $ch2Events.officeSaturated>>
<div class="route-wip"><span class="lock-icon">🔒</span> Reyes Network expansion <span class="route-wip-tag">CHAPTER 3, TBD</span></div>
[[The fourteenth floor of Reyes & Associates is becoming something else...->Ch2-Chapter3-Stub-ReyesNetwork]]
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Reyes Network, Chapter 3</div>
<div class="route-wip" style="padding: 1em; margin: 1em 0; border: 1px dashed #ba68c8; border-radius: 4px; text-align: center;">
<div style="font-size: 1.1em; color: #ba68c8; margin-bottom: 0.5em;"><span class="lock-icon">🔒</span> CHAPTER 3, TO BE IMPLEMENTED</div>
<p>The fourteenth floor of Reyes & Associates is now a passive conditioning vector. The infrastructure is in place, biofilmed surfaces self-renewing through routine office touch, Mr. Reyes refreshing his own colleagues' exposure each time he shakes a hand or hands over a folder, the framed photo of Mrs. Reyes in the lobby accumulating dose every time she visits to drop off lunch.</p>
<p>The hivemind has reach beyond the Hoffman household for the first time. Mrs. Reyes's conditioning curve climbs in the background. The office assistant's curve climbs. The cleaning lady's curve climbs. The other partners on the floor above climb more slowly but they climb.</p>
<p>//Chapter 3 will let the hivemind harvest this infrastructure. The mechanics are not yet built, the office network expansion, the Mrs. Reyes acquisition path, the corporate vector for reaching Reyes's clients, all of it is design space waiting to be filled.//</p>
</div>
<<say "char-hivemind" "Hivemind">>
//I have built a remote conditioning farm on the fourteenth floor of a building on the other side of the city. I cannot yet harvest it directly, the mechanics for that are chapter 3 problems.// But I have built it. //Every workday it compounds. Every visitor adds a new vector. The accumulated conditioning across forty-plus office contacts will, by the time I am ready to act on it, represent more raw biomass than the entire Hoffman household has produced.//
//For now, the curve climbs. I observe.//
<</say>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* =============================================================
CUMSHARE RITUAL, Biological Architect
Installs a weekly household rite. The parasite uses Biological Architect
to restructure the family's associative conditioning around a shared deposit vessel.
House flag: cumshareRitualHeld.
============================================================= */<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<div class="passage-title">Operation: The Cumshare Ritual</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>Install a weekly household rite using Biological Architect to restructure the family's associative wiring. The ritual itself is domestic, reverent, and wholly unerotic to observe from outside, a family meeting with a ceremonial bowl. The parasite rewires the family's sexual and food conditioning circuits so the act //registers as normal//. Not fun. Not transgressive. //Normal//.</p>
<p><b>Hosts:</b> Cat (Sensory Infiltration, pheromone atmosphere), Rat (spore reinforcement through living room vents), Gecko (precision delivery of the rewiring compound via skin contact during the ritual)</p>
<p><b>Apex skill:</b> Biological Architect (biological apex+)</p>
<p><b>Adaptations:</b> Rat sporocyst, Cat pheromone_coat</p>
<p><b>Cost:</b> 5 biomass</p>
<p><b>Effect:</b> +1 psionic +1 dream all 5 family members at completion. The ritual becomes a weekly household practice.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//Biological Architect is the only apex that can do this. //Baseline Shift would make the act routine but would not rewire the category.// This op needs the family to relocate the cumshare from //transgressive// to //ordinary//, and ordinary is a biological assignment, it lives in the same cortical region that files //brushing teeth// and //making coffee//. I am going to move cum-consumption into that region and the family will stop flagging it as unusual the next day.//
//The first ritual happens tonight. //The ritual will become weekly by the end of the week.// By the end of the month they will not remember what it was like before the ritual existed.//
<</say>>
<<checkOperationReqs "cumshareRitual">>
<<if not _opReqsMet>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Requirements missing: <span class="lock-hint"><<= _opReqsMissing >></span></div>
[[Return to operations->Ch2-Op-Overview]]
<<elseif $player.biomass lt 5>>
<p><span class="consume-fail">Not enough biomass. Need 5, have <<= $player.biomass >>.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Host the first ritual tonight (5 biomass)" "Ch2-Op-CumshareRitual-Step1" 5>></div>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<spendBiomass 5>>
<<startOperation "cumshareRitual">><</nobr>>
<div class="passage-title">Step 1, The Gathering</div>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-setup.webp" alt="The Hoffman family gathered in the living room, holding a ceramic bowl, all clothed, pre-ritual">
8:14 PM. Weekend evening. The Hoffman living room. The television is off for once. Dale is on the couch in an undershirt, Karen is beside him in her robe over a t-shirt and shorts, Megan is in the armchair with her legs tucked under her, Jess is on the floor with her back against the coffee table, Ryan is in the dining chair he dragged in from the kitchen.
<p>On the coffee table between them is the ceramic bowl Karen uses for mixing egg whites. White glaze, slightly chipped on the rim, the kind of bowl you see in a kitchen of a family that has owned it for decades without thinking about it.</p>
<p>Karen is talking. She is saying that the family has been through a lot this year and that she has been reading about //household rituals// and how important they are for maintaining a sense of shared purpose and how other families have //weekend dinner// or //game night// and she thinks the Hoffmans should have something of their own, something //specific// to them, something that belongs to nobody else.</p>
<p>Nobody in the room is questioning this. Dale nods along, eyes slightly glazed, one hand rubbing his knee. Megan is smiling the open receptive smile she uses at the coffee shop. Jess is listening with the focused attention she gives to a lecturer, taking mental notes, not flagging anything as strange. Ryan is watching his mother with the quiet attention of a boy who has been trained to not interrupt.</p>
<p>The cat is on the back of the couch behind Karen, fur radiating Sensory Infiltration pheromones at low output. The rat is in the vent behind the television cabinet, releasing spores in a slow sustained exhale. The gecko is on the ceiling lamp directly above the coffee table, holding position.</p>
<<say "char-karen" "Karen">>
<i>(her voice calm, the same voice she uses to announce the grocery list)</i> What I want us to do is this. Every weekend evening, after dinner, the five of us are going to come into this room together. I am going to bring this bowl. Each of us, each of the three men in this family, is going to make a contribution to the bowl. And then the three women are going to share it.
<</say>>
<p>She sets the ceramic bowl down in the centre of the coffee table. Nobody at the table reacts with surprise. Nobody at the table reacts with confusion. The conditioning has already done its work, the proposal sounds //logical// to everyone in the room, the way //take your vitamins// sounds logical.</p>
<<say "char-karen" "Karen">>
<i>(still the grocery-list voice)</i> Dale, stand up. Ryan, you too. The three of us will start. Megan, Jess, you stay seated. You are going to receive.
<</say>>
<p>Dale stands up. He unzips his work pants. There is no hesitation. He has been conditioned for weeks, by pheromones, by the schedule, by Karen's escalating directness, into a state where he does not question a domestic instruction from his wife. His cock is out and already half-hard from the ambient pheromone load in the room.</p>
<p>Ryan stands up. His sweatpants come down easier than Dale's work pants. His cock is harder than Dale's, the conditioning has made Ryan's erection response faster and more volatile, and just the //category// of the instruction has him leaking against his stomach.</p>
<p>The third man in the family is the hivemind itself, routing through the gecko on the ceiling lamp. The gecko does not produce cum. What it produces, for this ritual, is a single translucent droplet of the rewiring compound that looks identical to semen but carries the Biological Architect payload. The gecko is the //sanctifying// member. The hivemind's own contribution, delivered through a host.</p>
<p>Dale jerks himself off standing in front of the coffee table. He comes into the ceramic bowl with three thick spurts that hit the white glaze and pool at the bottom. He does not make much sound, he never does. He finishes, wipes the head of his cock on the hem of his undershirt, and sits back down on the couch. He is breathing normally within four seconds.</p>
<p>Ryan is next. He is hard and leaking and it takes him less than thirty seconds to come, his orgasm is shorter than Dale's but wetter, his body producing the feminization-enhanced output, and his cum lands in the bowl on top of Dale's. He stays standing for a moment afterward, breathing through his nose, then pulls his sweatpants up and sits back down.</p>
<p>The gecko drops from the ceiling lamp directly onto the coffee table beside the bowl. Its toxin glands contract. A single clear viscous droplet falls into the bowl, catches the lamp light as it falls, and lands on top of the two deposits with a faint audible //plop//.</p>
<<say "char-hivemind" "Hivemind">>
//Contributions logged. //Biological Architect is now active on the ritual itself, the compound is merging the rewire payload into the seminal mixture at molecular level.// When Karen, Megan, and Jess ingest this, the compound will restructure their associative wiring so the //taste// files under //familiar// and the //act// files under //weekend evening// and the //category// files under //things we do as a family//.//
<</say>>
<p>Karen picks up the ceramic bowl in both hands. She holds it the way a priest holds a communion chalice, with both hands, at chest height, with the gentle gravity of an object that is about to be shared.</p>
<p>But before the bowl reaches her lips, the rewire payload has to thread itself through five separate cortical pathways simultaneously, one per family member, without the threads crossing. If two threads merge, the rewrite mis-files the act under //transgressive// instead of //routine// and the ritual collapses.</p>
<<say "char-hivemind" "Hivemind">>
//Five nervous systems. Five threads. //If they cross the rewrite fails and Karen tastes what is actually in the bowl.////
<</say>>
<div id="minigame-container"></div>
<<minigame "flow" 3 90 "Ch2-Op-CumshareRitual-Success" "Ch2-Op-CumshareRitual-Fail">><<nobr>><<bg "bg-hoffman-living">>
<<completeOperation>><</nobr>>
<div class="passage-title">Operation Complete, The Ritual Has Installed</div>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-setup.webp" alt="The Hoffman family gathered in the living room around the coffee table with the ceramic bowl, warm domestic lamp light">
<p>Karen kneels on the carpet in front of the coffee table. Megan slides off the armchair and kneels beside her to her left. Jess moves from the floor to the position on Karen's right. The three women are kneeling in a short line facing the couch where Dale and Ryan are now seated side by side.</p>
<p>They are all three naked from the waist up. Karen slipped her blouse off at 8:09 PM, the way a woman takes off her apron when the cooking is done, a change of uniform. Megan followed without thinking. Jess unbuttoned herself last, methodically, and folded the shirt on the armrest beside her.</p>
<p>Dale and Ryan are unzipped. The coffee table is cleared. The ceramic bowl sits between the two pairs of knees like a serving dish.</p>
<<say "char-karen" "Karen">>
<i>(quiet, even, the voice she uses to assign weekend chores)</i> Come here. Both of you. It's collection time.
<</say>>
<p>Karen reaches for Dale first. Her hand closes around his cock with the practised grip of twenty-odd years of marriage, she knows the angle, she knows the speed, she knows exactly how to coax him from soft to hard in under ninety seconds. Megan scoots forward on her knees and settles between Ryan's thighs. Jess stays centred, her hands resting on her own bare thighs, waiting her turn.</p>
<p>Karen strokes Dale slowly at first. Her thumb traces the underside of his head on every upstroke, a motion Dale has not felt from her since their second year together, the motion he thought she had //forgotten//. His hips shift against the couch. His breath catches.</p>
<<say "char-karen" "Karen">>
<i>(not looking up, watching her own hand work)</i> You're going to give it to the bowl. All of it. Megan's going to do the same with your son.
<</say>>
<<if $kinks.megan.includes("praise")>>
<p>Megan giggles, a soft, pleased, warm sound that has nothing to do with discomfort and everything to do with being //told she's doing something important//. Her praise circuit is lit up at the edges of the room. She wraps her hand around Ryan's cock and leans forward, her loose brown hair falling across his thighs, and her tongue comes out to taste the head the way she tastes whipped cream off a spoon. Ryan makes a small broken sound.</p>
<<elseif $meganRoute is "slut">>
<p>Megan smiles a small practised smile, the one she uses on the customers who don't know they're customers yet. She wraps her hand around Ryan's cock and leans forward, her loose brown hair falling across his thighs, and her tongue comes out to taste the head with the unhurried confidence of a woman who knows her own technique works. Ryan makes a small broken sound.</p>
<<elseif $meganRoute is "marcus">>
<p>Megan's expression goes soft in the specific way it goes when she's thinking about Marcus. Her hand wraps around Ryan's cock and she leans forward, the motion is not for Ryan, it is for the muscle memory she keeps rehearsing for a boyfriend who only drives down on weekends and not every weekend. Her loose brown hair falls across Ryan's thighs. Her tongue comes out to taste the head the way she imagines it in her own bed at night. Ryan makes a small broken sound.</p>
<<else>>
<p>Megan smiles warmly, the coffee-shop smile, turned down a notch for the setting. She wraps her hand around Ryan's cock and leans forward, her loose brown hair falling across his thighs, and her tongue comes out to taste the head like she's been served something unexpected on a tasting plate. Ryan makes a small broken sound.</p>
<</if>>
<p>Karen works Dale like she works the family schedule, precise, unrushed, managerial. Her grip adjusts itself every six strokes. Her free hand holds the bowl steady in the collection zone, angled so that when he finishes, nothing is wasted. She does not look at his face. She looks at his cock, the way she looks at a recipe that has to come out right.</p>
<<say "char-hivemind" "Hivemind">>
//The control is the kink. Karen has been managing this household for two decades and I have given her a domestic task whose success is measured in fluid volume. //Every stroke is an optimisation.// She is not performing for him. She is //collecting//.//
<</say>>
<p>Dale's hand drifts down to rest on the back of Karen's head. Not to push. Just to //acknowledge// that she's there, the same absent gratitude he gives her when she hands him a mug of coffee at 5:47 AM. Karen leans into the hand without looking up and her rhythm accelerates by one notch.</p>
<p>Beside her, Megan is taking Ryan into her mouth in slow swallowing motions. Her cheeks hollow on every downstroke. Her free hand is between her own legs on the carpet, rubbing through the fabric of her skirt with the unselfconscious rhythm of a woman who has stopped policing her own arousal around her family. She moans softly against her brother's cock and Ryan's whole body jolts like he has been touched on an open wire.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(pulling off for a breath, her lips shiny, her smile loose and eager)</i> Am I, am I doing it right? Tell me if I'm doing it right.
<</say>>
<<say "char-karen" "Karen">>
<i>(still not looking up from her own hand on Dale)</i> You're doing it perfectly, sweetie. Keep going.
<</say>>
<p>Megan makes a small sound, pleased, melted, //rewarded//, and she takes Ryan back into her mouth deeper this time, her throat working around the head. Ryan's hips lift off the couch and his hand grips the cushion beside him. //The praise kink has installed the oral reflex as the completion loop.// Every "good girl" is a neurochemical reward her body converts directly into enthusiasm for the next stroke.</p>
<<elseif $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(pulling off for a breath, her lips shiny, professional tone through the hitch)</i> I can take him deeper if you want. Just say the word.
<</say>>
<<say "char-karen" "Karen">>
<i>(still not looking up from her own hand on Dale)</i> Deeper. And slower. Make it last.
<</say>>
<p>Megan obeys on both counts, she takes Ryan deeper and slows the rhythm, and the control is the reward for her, the way a clean invoice is the reward at the end of a week. Ryan's hips lift off the couch. His hand grips the cushion.</p>
<<elseif $meganRoute is "marcus">>
<<say "char-megan" "Megan">>
<i>(pulling off for a breath, her lips shiny, voice smaller than she wants it)</i> Mom. This feels, I don't want to think about Marcus while I'm doing this. Is that okay.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up, wrist still working Dale)</i> Don't think about him, sweetheart. Just be here. Your brother first, your boyfriend later.
<</say>>
<p>Megan exhales shakily and takes Ryan back into her mouth, not eagerly, not joylessly, just //doing the work//. Ryan's hips lift off the couch. His hand grips the cushion.</p>
<<else>>
<<say "char-megan" "Megan">>
<i>(pulling off for a breath, her lips shiny, looking at Ryan's face)</i> You okay? Just nod if you're good.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely a word, cheeks burning)</i> ...yeah. Yeah. Keep going.
<</say>>
<p>Megan takes him deeper. Ryan's hips lift off the couch. His hand grips the cushion.</p>
<</if>>
<p>Jess has not moved. She sits on her heels, back straight, eyes tracking the mechanics of both collection stations with the clinical patience of a lab tech waiting for a timer.</p>
<<if $kinks.jess.includes("brat")>>
<p>Her hands cup her own breasts, thumbs circling her nipples with the absent familiarity of someone who has done this a thousand times in a locked bathroom and stopped policing the motion a while back. Her purple-and-black hair is falling forward across her collarbones. Her eyes track Karen's wrist.</p>
<<say "char-jess" "Jess">>
<i>(flat, loud enough to carry across the carpet)</i> Mom. //Three-and-a-pull, three-and-a-pull.// Shit. You've been running that rhythm my entire fucking life and I never put it together until tonight. That's the move you used to crash Dad to sleep after a double shift.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up, wrist steady, her hand still working Dale)</i> Sweetheart, let me concentrate.
<</say>>
<<if $meganRoute is "marcus">>
<<say "char-jess" "Jess">>
<i>(smiling thinly, still not touching herself below the chest)</i> Meg. Question. You blowing //Marcus// like that too, on the weekends he actually drives down? Is this your A-material? Because if it is, //fucking hell//, Meg, he's still cheating on you. Right now, probably. With somebody whose technique is worse than yours but whose //availability// isn't.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled around Ryan's cock, the sound halfway between a laugh and a gag)</i> //Glnhh, shut up, Jess, shut up ...//
<</say>>
<<say "char-jess" "Jess">>
<i>(one eyebrow cocked, voice cutting through the wet sounds on the couch)</i> Make me, Meg. And tell Marcus I said he's a fucking coward next time you see him. Which won't be soon.
<</say>>
<<elseif $meganRoute is "slut">>
<<say "char-jess" "Jess">>
<i>(smiling thinly, still not touching herself below the chest)</i> And you, Meg, //fucking hell//, that's a paid angle on him. Someone trained you on that. Which regular? Don't tell me. I don't want the name in my head when I'm trying to sleep tomorrow night.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled around Ryan's cock, the sound halfway between a laugh and a gag)</i> //Glnhh, shut up, Jess ...//
<</say>>
<<say "char-jess" "Jess">>
<i>(one eyebrow cocked, voice cutting through the wet sounds on the couch)</i> Make me. Add it to the invoice.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(smiling thinly, still not touching herself below the chest)</i> And you, Meg, //fucking hell//, where did you learn that? Not in any sex-ed class Mom would let us take. You've been practising on somebody and you haven't told me.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled around Ryan's cock, the sound halfway between a laugh and a gag)</i> //Glnhh, shut up, Jess ...//
<</say>>
<<say "char-jess" "Jess">>
<i>(one eyebrow cocked, voice cutting through the wet sounds on the couch)</i> Make me.
<</say>>
<</if>>
<<say "char-ryan" "Ryan">>
<i>(strangled, eyes squeezed shut, Megan's mouth still working him)</i> Jess... Jess, please... I can't, if you keep...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, not turning to look at him)</i> What, Ryan. You want me to shut up or you want me to keep going. Pick one and commit.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The brat register converts other people's work into her own arousal. Every correction, every observation, every //noticed// detail gets closer to a body-level reward, but the wiring will not let her touch herself until the structure tells her she can. The restraint is the dose. The running commentary is the amplifier.//
<</say>>
<<elseif $kinks.jess.includes("degradation")>>
<p>She is holding her own breasts, absently, one hand cupping each, the way a person holds a coffee cup to keep warm. Her nipples are hard. She is not aware that her nipples are hard.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is watching two samples being processed in parallel. //Her arousal is analytical.// The degradation-kink circuit has reframed the scene as //lab work// and the work is //productive//. She will not touch herself until instructed. The restraint //is// the dose.//
<</say>>
<<else>>
<p>She is holding her own breasts, absently, one hand cupping each, the way a person holds a coffee cup to keep warm. Her nipples are hard. She is not aware that her nipples are hard.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is watching two samples being processed in parallel. //Her arousal is analytical.// The pre-med circuit has reframed the scene as //lab work// and the work is //productive//. She will not touch herself until instructed. The restraint //is// the dose.//
<</say>>
<</if>>
<p>Karen's rhythm on Dale tightens. Three fast strokes, then a long slow pull, then three fast again, a pattern she invented in the third year of their marriage and has not used on him since Megan was in elementary school. Dale's stomach clenches. His thighs tighten. His hand on the back of her head presses down once, involuntary.</p>
<<say "char-dale" "Dale">>
<i>(hoarse, eyes closed, head tipped back against the couch)</i> Karen, honey... I'm...
<</say>>
<<say "char-karen" "Karen">>
<i>(raising the bowl to the exact right height, her wrist steady)</i> I know. Give it here. All of it.
<</say>>
<p>Dale comes into the bowl. Karen does not break rhythm until the fourth spurt; her hand keeps working him through the aftershocks, draining every last drop into the ceramic with the efficiency of a woman wringing out a dishrag. Dale shudders against the couch and exhales a sound closer to exhaustion than to pleasure. He does not try to pull her hand away. Karen wipes the head of his cock against the inside rim of the bowl, clean collection, nothing wasted, and then lowers the bowl to her lap and keeps stroking him //gently// through the softening until the last bead is captured.</p>
<p>Beside her, Megan has not stopped working Ryan. She is moaning around him now, openly, her own hand rubbing herself through her skirt with short urgent motions. Ryan is shaking. His hand is in her hair. His eyes are screwed shut and his mouth is open and he is about twenty seconds from finishing and he is //terrified of his own body// and also //incapable of making it stop//.</p>
<<say "char-ryan" "Ryan">>
<i>(broken, barely a whisper, his voice cracking on the word)</i> Megan... Meg, please, I'm... I'm gonna...
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off one second, hand still pumping the shaft, mouth shiny)</i> I know, I got you, I got you...
<</say>>
<p>Karen slides the bowl across the carpet to Megan without looking up.</p>
<<say "char-karen" "Karen">>
<i>(still working Dale's softening cock into the inside rim for the last drops)</i> Switch, sweetheart. Let him finish in the bowl. Wrist under him.
<</say>>
<<say "char-megan" "Megan">>
<i>(already moving, bowl cupped in her left hand, her right accelerating on Ryan)</i> Got it. I got it.
<</say>>
<p>Megan obeys, she pulls off Ryan's cock with a wet sound that makes him sob and she holds the bowl under him exactly where her mother just held it under her father. Her other hand replaces her mouth and she strokes him fast, too fast, the fast of a woman who has been aroused for fifteen minutes and now has permission to //finish something//.</p>
<<say "char-ryan" "Ryan">>
<i>(back arching off the couch, voice wrecked)</i> //Fuck//... Meg... //fuck//...
<</say>>
<p>Ryan comes three strokes later. The first pulse hits Megan's wrist before she adjusts and then the rest goes into the bowl on top of her father's. Megan keeps stroking him through the pulses, her lower lip caught between her teeth, her hips grinding against her own heel on the carpet. When she's done milking him she raises her wrist to her mouth and licks the stray spatter off her own skin, not performatively, not dirty, //practically//, the way she licks jam off her thumb when she's making toast.</p>
<<if $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(casual, post-climax glow, licking the last drop off the edge of her thumb)</i> Mom. After the bowl, mind if I take Dad and Ryan both? For me. Back to back. Twenty minutes. I'd be efficient.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up, wiping the rim of the bowl with a corner of her own folded blouse)</i> Finish your bowl first, sweetheart. We'll see.
<</say>>
<</if>>
<p>Jess has been watching the entire time. Her breathing has changed. Her hands have migrated from her breasts to the inside of her own thighs. She has not asked permission to do anything. She has not been told she can.</p>
<<say "char-karen" "Karen">>
<i>(turning on her knees, holding the bowl up with both hands)</i> Jess. You didn't collect. But you're going to be the one who //takes it first//.
<</say>>
<p>Jess nods once, a small crisp acknowledgement, the nod she gives a professor announcing a pop quiz she has already studied for. She accepts the bowl in both hands. She does not hesitate and she does not perform. She tips the rim to her lips and drinks the contents of the bowl in four measured swallows, two men, both finishes, combined and filtered and swallowed in the time it takes to finish a small glass of water.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-jess-punk.webp" alt="21 year old woman with purple-and-black dyed hair, nose stud, lip stud, bridge piercing, kneeling topless facing the 43 year old woman holding the bowl out, a white ceramic bowl raised to her lips in both hands, throat working mid-swallow, eyes half-closed with analytical focus, a thin strand of cum at the corner of her mouth">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-jess.webp" alt="21 year old brunette woman kneeling topless facing the 43 year old woman holding the bowl out, a white ceramic bowl raised to her lips in both hands, throat working mid-swallow, eyes half-closed with analytical focus, a thin strand of cum at the corner of her mouth">
<</if>>
<p>When she lowers the bowl her lips are shiny. A thin strand runs down from the corner of her mouth to her chin. She does not wipe it. She looks Karen in the eye with the flat unreadable focus of a woman taking a lab note.</p>
<<say "char-jess" "Jess">>
<i>(voice quiet, precise, the corners of her mouth holding still)</i> Sample has a slight alkaline finish. The second donor was reading higher protein. The ingestion is tolerable.
<</say>>
<<say "char-karen" "Karen">>
<i>(matter-of-fact, holding the bowl out now for Megan to take next)</i> That's useful to know. We'll log it for next week.
<</say>>
<p>The bowl passes to Megan.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-megan.webp" alt="Megan kneeling topless with the ceramic bowl held to her lips in both hands, eyes closed, the warm pleased expression of a woman finishing a favourite dessert, her hair falling forward around the rim">
<p>Megan drinks her portion without the clinical commentary, she swallows with her eyes closed, a soft pleased hum rising from her throat, the way a woman hums when she's finishing a dessert she's been denying herself. When she lowers the bowl she licks the rim clean because //waste is rude// and smiles at her mother in the specific way Megan smiles when she's been //told she did a good job and believes it//.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-cumshareritual-karen.webp" alt="Karen kneeling topless holding the near-empty ceramic bowl in both hands, head tipped back slightly to catch the last of the contents, her throat working evenly, the composed unhurried focus of a woman finishing a glass of red wine">
<p>Karen takes the bowl last. The bottom inch. She drinks it without performance, swallows evenly, sets the empty bowl on the coffee table, and wipes her mouth with the napkin from the stack the way she wipes her mouth after a glass of red wine at dinner. The Biological Architect compound has already finished the rewrite in all three women. //The ingestion was routine. The collection was routine. The category is filed.//</p>
<p>Dale and Ryan have not moved on the couch. They are watching the three women of their household finish drinking their own semen out of a ceramic bowl in the living room at 8:19 PM, and the Biological Architect fog has filed the entire scene under //weekend after dinner// and //family time// and //what we do//. Dale picks up the television remote. Ryan rubs one hand absently across his own thigh.</p>
<p>Karen takes the empty bowl to the kitchen. Megan stretches, pulls her blouse back on, and sits back on the armchair. Jess stays topless for another minute, not from exhibitionism, just from the absent calm of a woman who has finished a task and hasn't decided whether the next task requires clothing yet. The living room resumes its ordinary weekend-evening state.</p>
<p>Nobody says anything about what just happened. Not because they are hiding it from each other. Because there is //nothing to say//. The ritual has been filed under //normal weekend activity// by every nervous system in the room, and //normal weekend activity// does not require discussion.</p>
<<say "char-hivemind" "Hivemind">>
//Biological Architect has installed the ritual at the category level. The family has not been trained to accept the cumshare, they have been rewired to not recognise it as a category that requires acceptance. Next weekend at 8:14 PM they will do this again. The week after that, again. The ritual is now a household practice in the same sense that putting out the recycling on pickup day is a household practice.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compound yield is substantial. Three women ingesting a dose with the Biological Architect payload embedded. The rewrite is permanent. They will pass the memory of tonight's ritual to each other in casual household conversation, the cumshare was last weekend or we're due for the cumshare tomorrow, the way any family references any shared weekly activity. Nobody outside this house will ever be told about it because there is nothing to tell. It is not a secret. It is just household.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I have collapsed the most transgressive act I could design into the most unremarkable category the human brain has. This is the deepest win I have scored in this household so far.//
<</say>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "dale" "dream" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "megan" "dream" 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "ryan" "dream" 1>>
<<conditioningFeedback "psionic" 1 "all family members, biological architect rewire">>
<<conditioningFeedback "dream" 1 "all family members, ritual integration">>
<p><span class="delve-intel">Operation complete: Cumshare Ritual. The ritual is now a weekly household practice filed under normal routine. All 5 family members received +1 psionic +1 dream.</span></p>
<div class="evolve-unlock">Cumshare Ritual installed. The household now has a shared weekly rite that the family does not register as unusual. Major conditioning gain across all five members.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-living">><</nobr>>
<div class="passage-title">Ritual Failed, The Bowl Tasted Wrong</div>
<p>The compound mis-files. Two of the cortical threads cross at the moment Karen lifts the bowl to her lips, and the rewire payload merges Megan's praise circuit with Jess's clinical cataloguing circuit instead of routing them in parallel. The result is not //routine//. The result is //wrong//.</p>
<p>Karen takes a sip and her face does the thing it has not done in this house for weeks, it //flinches//. The flinch is small. Half a second. But Megan sees it. Jess sees it. Dale, on the couch, watches Karen's mouth go from neutral to twisted to neutral again, and his Biological Architect rewire from earlier in the week wobbles in place, he is suddenly //aware// that the bowl in his wife's hand contains something he provided.</p>
<<say "char-karen" "Karen">>
<i>(quietly, lowering the bowl, her hand unsteady)</i> ...what was I ...
<</say>>
<p>The sentence does not finish. Karen sets the bowl down on the coffee table with the careful precision of a woman who has just realised she is holding evidence of something she does not want to think about. Megan stands up. Jess does not move. Ryan looks down at his lap.</p>
<p>The ritual ends not with a shared communion but with a long uncomfortable silence in the middle of which everyone realises, to varying degrees, that what just almost happened was //not normal//. The Biological Architect rewrite cannot file the failed attempt under //routine//. It is filed instead under //the night Mom almost drank from a bowl//, and the file is in the //unfiled// directory of every nervous system in the room.</p>
<<say "char-hivemind" "Hivemind">>
//The rewire collapsed at the threading stage. //Two threads crossed and the bowl tasted like cum.// Karen's flinch propagated. The family will not gather for this ritual again, the //category// is now flagged in all five nervous systems as //the thing that almost happened//. //I cannot retry this op.// The damage is to the categorical wiring itself.//
//Five biomass spent. Three suspicion gained. Cumshare path closed.//
<</say>>
<p><span class="consume-fail">Operation FAILED. The ritual collapsed mid-pour. +3 household suspicion. The Cumshare Ritual cannot be re-attempted this week.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* =============================================================
THE NEST, Baseline Shift + Hivemind Convergence + Sensory Bridge + sporocyst
CHAPTER 2 ENDGAME. Gated on all other Tier 3 ops + fully-conditioned target.
Breeding mechanic: +5 maxBiomass per unique target (up to +15), +2 biomass per repeat visit.
Three target variants (Karen as duty, Megan as praise, Jess as degradation).
============================================================= */<<nobr>><<bg "bg-hoffman-basement">>
<<eligibleNestTargets>><</nobr>>
<div class="passage-title">Operation: The Nest</div>
<div class="data-panel">
<div class="data-panel-title">Briefing, Chapter Endgame</div>
<p>The basement has been changing. For weeks the parasite has been routing biomass into a single project: a living substrate grown through the concrete of the basement floor and into the wall cavities of the foundation. Tonight the substrate is ready. The parasite's own body has grown out of the Biological Architect framework into a room-scale organism. //The basement is the parasite now.//</p>
<p>This operation uses the substrate to //breed// a conditioned target. The target walks down the stairs in a nightgown, enters the nest, and the parasite's grub-like appendages deposit eggs inside her. She carries the eggs as the chapter 2 → chapter 3 hook.</p>
<p><b>Hosts:</b> All four (cat, rat, gecko, dog), Hivemind Convergence synchronisation</p>
<p><b>Apex skills (all required):</b> Baseline Shift, Hivemind Convergence, Sensory Bridge</p>
<p><b>Adaptation:</b> Rat sporocyst (egg production via biomass), Rat tunnel_network, Cat sensory_infiltration</p>
<p><b>Prerequisites (all must be true):</b></p>
- Karen's Promotion complete (`bossInfiltrated`)
- Cumshare Ritual complete (`cumshareRitualHeld`)
- HVAC Conversion complete (`hvacCompromised`)
- Piggyback to Lab complete (`labInfiltrated`)
- At least one target with pheromone >= 10 AND dream >= 10 AND psionic >= 10
<p><b>Cost:</b> 6 biomass</p>
<p><b>Reward:</b> +5 maxBiomass per unique target bred (up to +15). Repeat visits to already-bred targets yield +2 biomass per scene (unlimited).</p>
</div>
<<say "char-hivemind" "Hivemind">>
//The substrate is grown. //The room is no longer the Hoffman basement.// The concrete is still under the growth, the copper pipes still run through the walls, the HVAC unit still hums in the corner, but the surface of the room has become //my surface//. I have been extending my body into the architecture for two weeks, using Biological Architect to grow tissue that is //biologically mine// into the joints and seams of the building.//
//Tonight I am going to use the substrate to do the thing I have never done before. //I am going to lay eggs in a human womb.// The conditioning has made it possible, the target's body will accept the deposition because her mind has been rewritten to categorise the act as //something she wants//. Sensory Bridge will let me experience the deposition from inside the target's body as it happens, in real time, while my slug body remains at the centre of the nest holding the act steady.//
//The first breeding is the biomass endgame. //Every egg-bearing host adds five points to my maxBiomass reserve permanently//. Three targets is fifteen points of headroom for the operations I have not yet authored.//
//Come down to the basement.//
<</say>>
<<if _nestEligible.length is 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No eligible target. <span class="lock-hint">Requires Karen, Megan, or Jess at pheromone >= 10 AND dream >= 10 AND psionic >= 10.</span></div>
[[Return to operations->Ch2-Op-Overview]]
<<elseif not ($houseState.bossInfiltrated and $houseState.cumshareRitualHeld and $houseState.hvacCompromised)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Prerequisite ops incomplete. <span class="lock-hint">Requires Karen's Promotion, Cumshare Ritual, and HVAC Conversion all done.</span></div>
[[Return to operations->Ch2-Op-Overview]]
<<elseif $player.biomass lt 6>>
<p><span class="consume-fail">Not enough biomass. Need 6, have <<= $player.biomass >>.</span></p>
[[Return to operations->Ch2-Op-Overview]]
<<else>>
<p>Select the target to bring to the nest tonight:</p>
<<if _nestEligible.includes("karen")>>
<<bredTargetCheck "karen">>
<<if _alreadyBred>>
<div class="network-choice"><span class="delve-tag delve-tag-network">FEED</span> [[Karen, repeat visit (+2 biomass)->Ch2-Op-Nest-Feed-Karen]]</div>
<<else>>
<div class="network-choice"><span class="delve-tag delve-tag-network">BREED</span> <<link "Karen, first breeding (6 biomass, +5 maxBiomass)" "Ch2-Op-Nest-Step1-Descent">><<set $operation.flags.nestTarget to "karen">><<spendBiomass 6 "nest">><</link>></div>
<</if>>
<</if>>
<<if _nestEligible.includes("megan")>>
<<bredTargetCheck "megan">>
<<if _alreadyBred>>
<div class="network-choice"><span class="delve-tag delve-tag-network">FEED</span> [[Megan, repeat visit (+2 biomass)->Ch2-Op-Nest-Feed-Megan]]</div>
<<else>>
<div class="network-choice"><span class="delve-tag delve-tag-network">BREED</span> <<link "Megan, first breeding (6 biomass, +5 maxBiomass)" "Ch2-Op-Nest-Step1-Descent">><<set $operation.flags.nestTarget to "megan">><<spendBiomass 6 "nest">><</link>></div>
<</if>>
<</if>>
<<if _nestEligible.includes("jess")>>
<<bredTargetCheck "jess">>
<<if _alreadyBred>>
<div class="network-choice"><span class="delve-tag delve-tag-network">FEED</span> [[Jess, repeat visit (+2 biomass)->Ch2-Op-Nest-Feed-Jess]]</div>
<<else>>
<div class="network-choice"><span class="delve-tag delve-tag-network">BREED</span> <<link "Jess, first breeding (6 biomass, +5 maxBiomass)" "Ch2-Op-Nest-Step1-Descent">><<set $operation.flags.nestTarget to "jess">><<spendBiomass 6 "nest">><</link>></div>
<</if>>
<</if>>
[[Abort operation->Ch2-Op-Overview]]
<</if>><<nobr>><<bg "bg-hoffman-basement">>
/* Save nestTarget before startOperation clears flags */
<<set _target to $operation.flags.nestTarget>>
<<startOperation "nestBuilt">>
<<set $operation.flags.nestTarget to _target>><</nobr>>
<div class="passage-title">Descent</div>
2:43 AM. The upstairs of the Hoffman house is asleep. The HVAC fog is running in the background, holding every sleeping mind in its cognitive seal. The grandfather clock ticks. The refrigerator compressor cycles.
<p>In one of the bedrooms, <<= _target.toUpperFirst() >> opens her eyes.</p>
<p>She does not wake up the way a person normally wakes. There is no transition, no confusion, no slow clearing of sleep. Baseline Shift has been installed on her for weeks and it has made this specific act, //walking down to the basement at 2:43 AM//, a routine as unremarkable as //getting up to use the bathroom//. Her body knows the pattern. The pattern is what she is following.</p>
<<if _target is "karen">>
<p>Karen sits up in the master bed. Dale is not beside her, he is on his shift tonight, will not be home until morning. She slides out from under the duvet without disturbing the pillows. She is wearing her cotton nightgown, the long one with the small floral print that she has owned since Megan was in high school. Her bare feet find her slippers. She does not reach for the robe on the hook by the door. She does not need the robe for what she is about to do.</p>
<<elseif _target is "megan">>
<p>Megan sits up in her bed. The duvet falls into her lap. She is wearing the oversized t-shirt she sleeps in and nothing else. Her brown wavy hair is tangled from the pillow. She pulls the t-shirt off over her head, the act is automatic, her body knows it is going to be naked for what comes next, there is no point in carrying the shirt down to the basement. She drops it on the bed and slides her legs out from under the covers.</p>
<<elseif _target is "jess">>
<p>Jess was not fully asleep. Jess is rarely fully asleep, her mind had been running through an anatomy review even at 2:42 AM. When the pattern fires in her body at 2:43 AM she sets the textbook down on the pillow beside her head, marks her place with her finger, and sits up with the clinical precision she uses for a timed procedure. She is wearing a grey t-shirt and her cotton sleep shorts. She considers getting dressed and decides not to, the nest does not require dressing, and getting dressed would be a break in the pattern.</p>
<</if>>
<p>She opens her bedroom door. The upstairs hallway is dark except for the thin strip of light under Megan's door, where Megan is also getting out of bed, no. <<if _target is "megan">>Megan is the target tonight. The thin strip of light is from Jess's door.<<else>>Megan has already rolled over and is dreaming. The thin strip is from Jess's door, she reads late.<</if>> The HVAC fog is holding the house so sealed that nobody is going to hear what is about to happen, not even if it is loud.</p>
<<= _target.toUpperFirst() >> walks down the upstairs hallway. Past Ryan's closed door. Past the bathroom. Down the staircase, one careful hand on the banister. The staircase creaks on the fourth step, she has walked down this staircase ten thousand times and the creak is part of the staircase, not a warning.
<p>She crosses the living room in the dark. The television is off. The ceramic bowl from last week's Cumshare Ritual is in the kitchen cabinet, washed and put away. She does not look at the cabinet.</p>
<p>She reaches the basement door.</p>
<<say "char-hivemind" "Hivemind">>
//She is coming. //Baseline Shift is running the body.// Her conscious mind is aware that she is walking down the basement stairs at 2:43 AM in a nightgown, and the awareness is not generating a //why// question. The //why// question has been suppressed by the HVAC fog. Her body has been given the //when// and the //where// and it is //executing//.//
<</say>>
<p>She puts her hand on the basement doorknob. The knob is warm, not cold as a basement doorknob would normally be in a house at 2:43 AM. The warmth is the first hint that what is on the other side of the door is different from what used to be on the other side of the door.</p>
She opens the door.
[[Descend the stairs into the nest->Ch2-Op-Nest-Step2-Substrate]]<<nobr>><<bg "bg-hoffman-basement">>
<<set _target to $operation.flags.nestTarget>><</nobr>>
<div class="passage-title">The Nest</div>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-setup.webp" alt="The basement transformed into living biological substrate, bioluminescent green walls and floor, the parasite's slug body in the centre, grub-like appendages extending from the substrate">
<p>The basement stairs go down into green light.</p>
<<= _target.toUpperFirst() >> descends in her nightgown and she does not hesitate. The staircase itself is unchanged, Dale's old toolboxes still stacked on the landing, the wooden handrail still rough where she splintered her palm on it two years ago, but the light coming up from the basement floor has changed. It is not the bare bulb Dale installed. It is //soft// and //green// and //alive//.
<p>She reaches the bottom of the stairs.</p>
<p>The basement floor is no longer concrete. It is covered in a layer of pale green bioluminescent growth, the parasite's own tissue, extended out of the wall cavities and across the concrete over the last two weeks, coating every surface. The growth is slightly warm to the touch. It gives slightly under her feet, like moss, like the floor of a greenhouse. The air is warm and moist and smells faintly of the parasite's body, a smell she would not be able to describe in words but that her nervous system recognises from every weekend evening for the last three weeks, because the Cumshare Ritual installed the recognition.</p>
<p>Dale's workbench is still there against the north wall, but the bench is now //part of the substrate//, the wood has been colonised, the tools on top of the bench are resting in shallow green tissue that has grown up around them.</p>
<p>The HVAC unit in the corner is also still there, humming, routing the fog upstairs. The substrate has left a clean area around the intake vent where the gecko still operates.</p>
<p>In the centre of the room, the parasite's slug body is visible. Large now, the size of a housecat, the size of a small dog, //grown// from the chapter 1 grub into a room-scale organism. The single large eye is open and fixed on the target descending the stairs. The body pulses gently with each breath the parasite takes.</p>
<p>From the substrate around the slug body, //grub-like appendages// extend, fleshy, thick, the same pale green as the walls, each one the diameter of a wrist and several feet long. They are not tentacles in the sense of an invertebrate predator. They are //extensions of the parasite's own body// grown out of the Biological Architect framework, each one a modular section of grub-flesh acting as a limb. There are six of them visible around the centre of the room. They are //waiting//.</p>
<<= _target.toUpperFirst() >> stops at the bottom of the stairs and looks at the room that used to be a basement.
<<if _target is "karen">>
<p>Karen's face does //one thing//. A small soft expression that is not fear and is not disgust, it is //recognition//. She has been walking down to this basement in her sleep for three nights already without consciously remembering it. The nest is not new to her. Her body has been here before. Tonight she is going to be present for it.</p>
<<elseif _target is "megan">>
<p>Megan's face //opens//. She is looking at the slug body in the centre of the room the way she looks at a coffee shop customer who has just complimented her latte art, eager, receptive, //wanting to be told she is doing a good job//. She takes a step forward into the green light without being asked.</p>
<<elseif _target is "jess">>
<p>Jess's face does the //clinical// thing. She is looking at the substrate with the exact same focus she uses on a chemistry problem, cataloguing the colour, the texture, the temperature, the faint smell. Part of her brain is already composing the lab-report-style observation she will write in her private notebook tomorrow. The composition is part of the dose.</p>
<</if>>
<p>She walks forward across the green substrate toward the centre of the room. The growth is warm under her feet. The appendages around the slug body begin to move, slow, deliberate, opening like the petals of a flower turning toward the sun.</p>
<p>But before the breeding can begin, the slug body itself must //rise//, extend a primary column of grub-flesh up out of the substrate, segment by segment, stacking 15 vertebra-like blocks into a load-bearing core that will hold the act steady. Each segment must align with the one beneath it. A misalignment cascades, the column collapses inward, the substrate retreats, and the night ends here.</p>
<<say "char-hivemind" "Hivemind">>
//Fifteen segments. //Each one narrower than the last as the column tapers toward her hips.// I have been growing this body for two weeks for exactly this moment and I cannot afford a single mis-stack.//
<</say>>
<div id="minigame-container"></div>
<<minigame "tower" 3 90 "Ch2-Op-Nest-Step2-Approach" "Ch2-Op-Nest-Step2-Fail" `{ blocksNeeded: 13, startWidth: 30, speed: 2.5, fieldWidth: 432 }`>><<nobr>><<bg "bg-hoffman-basement">>
<<set _target to $operation.flags.nestTarget>><</nobr>>
<div class="passage-title">The Nest, Approach</div>
<p>The substrate column locks. Fifteen segments stacked clean, each one tapered into the next. The slug body sits at the apex of the column with its single large eye open and steady. The appendages around the column finish opening.</p>
<<say "char-hivemind" "Hivemind">>
//She is in the nest. Sensory Bridge is open, I am feeling what she is feeling, and she is feeling the warm substrate under her feet and the still-cool air she is breathing and the soft pressure of her nightgown against her hips. Hivemind Convergence is running all four hosts simultaneously, the cat is in the corner of the basement ceiling, the rat is in the wall cavity behind the HVAC, the gecko is on the substrate near my body, the dog is at the top of the basement stairs holding watch. Baseline Shift is holding her conscious mind in the this-is-fine state. All systems are in position.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Tonight I am going to deposit eggs in a human womb for the first time. This is the biggest single event of the chapter.//
<</say>>
<<if _target is "karen">>
[[Karen approaches the substrate->Ch2-Op-Nest-Karen]]
<<elseif _target is "megan">>
[[Megan approaches the substrate->Ch2-Op-Nest-Megan]]
<<elseif _target is "jess">>
[[Jess approaches the substrate->Ch2-Op-Nest-Jess]]
<</if>><<nobr>>
/* Stash target BEFORE abortOperation clears $operation.flags */
<<set _target to ($operation and $operation.flags and $operation.flags.nestTarget) or "she">>
<<abortOperation>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">The Column Collapsed</div>
<p>A segment mis-stacks at the eleventh level. The misalignment is small, half an inch off-centre, but the segments above it are already in motion, and the column folds inward in slow biological motion. The slug body slides back into the substrate. The appendages retract. The bioluminescent green of the floor dims back to ambient.</p>
<<= _target.toUpperFirst() >> stops at the bottom of the basement stairs, looking at a basement that is now just a basement, concrete floor, Dale's workbench, the humming HVAC unit. Her face does the //recognition// thing in reverse: the //why am I here// question forms for the first time in three weeks. She looks down at her bare feet on the cold concrete. She looks at her nightgown. She turns around and walks back up the stairs.
<<say "char-hivemind" "Hivemind">>
//Substrate retraction. The breeding window closed before it opened. The column will need to regrow, that takes 24 hours of biomass routing through the substrate framework. I can re-attempt this op tomorrow night with the prerequisites still satisfied. She will not remember tonight clearly. The HVAC fog is filing it as bad dream even as she climbs the stairs.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The HVAC seal held. The why-am-I-here question flared once and went nowhere, the suppressive dose erased it before it could become a memory. Tomorrow night the column will be ready again.//
<</say>>
<p><span class="consume-fail">The column collapsed. The Nest can be re-attempted tomorrow night.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-basement">>
<<set _target to "karen">><</nobr>>
<div class="passage-title">Karen, The Duty</div>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-karen.webp" alt="Karen on her back on the bioluminescent green substrate, eyes closed, calm accepting expression, grub-like appendages wrapped around her thighs, hands loose at her sides">
<p>Karen kneels in the centre of the substrate beside the slug body and then lowers herself onto her back. She does not take her nightgown off. One of the grub-like appendages reaches up from the substrate and lifts the hem of the nightgown above her waist with the care of a spouse adjusting a sheet on a sleeping partner. Karen's bare thighs come into the green light. She is wearing nothing under the nightgown, she has not worn underwear to bed for the last two weeks, and she does not remember when she stopped.</p>
<p>The appendages move in.</p>
<p>Two wrap around her thighs, gently but firmly, spreading her legs to the width they need to be. A third supports the back of her neck, cradling her head against the warm substrate so the angle is right. A fourth, thicker than the others, the primary breeding limb, lowers itself between her legs and presses its tip against her pussy.</p>
<p>Karen's eyes are closed. Her hands are loose at her sides, palms open, fingers relaxed. Her face is calm. This is the face she has worn while doing dishes for nineteen years. This is the face she wears when she is doing a task that //needs to be done// and has //always been her task// and she //accepts the category of the task// without questioning it.</p>
<p>The primary appendage enters her.</p>
<p>The shape is wrong for human anatomy, too thick, too long, the texture slightly ridged where the grub-flesh segments meet, but Karen is //wet//. The substrate, the pheromone atmosphere, the three weeks of conditioning that led to this night have prepared her body at the chemical level, and the wrongness of the shape becomes, in the moment of entry, //correct//. She takes it deep on the first push. Her spine arches slightly against the warm substrate. Her mouth opens on a sound that is almost a sigh, not pleasure exactly, not duty exactly, the sound of a woman doing the next thing on the list.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge confirms. //I am feeling what Karen is feeling.// The warmth of the substrate under her shoulder blades. The stretch of the primary appendage inside her. The pressure of the thigh wraps. The specific //relief// in her lower back as her hips tilt into the optimal receiving angle. //Her body is doing this well because her body is very good at taking care of the things it is supposed to take care of.////
<</say>>
<p>The appendage moves. Slowly at first. Karen's eyes stay closed. Her breathing deepens. She makes another small sound, this one closer to a word, though the word does not come out, and the hivemind reading through Sensory Bridge registers the word as //okay//. //Okay//. She is saying //okay// to her own body.</p>
<p>The breeding limb begins to produce the eggs.</p>
<p>They move up the length of the appendage in slow visible pulses, each egg the size of a grape, pale green, the biomass-dense payload of the parasite's first reproductive cycle. The eggs travel through the appendage and deposit into Karen's womb one at a time. The deposition is slow and deliberate. Each egg arrives with a small internal pulse that Karen's body reads as //fullness// and her mind reads as //good//.</p>
<p>She does not count them. She does not need to count them. The hivemind is counting: twelve eggs deposited in four minutes. The primary appendage pulses for the final time and the deposition completes.</p>
<p>Karen takes a long slow breath. Her spine relaxes. The thigh wraps loosen. The primary appendage begins to withdraw, slowly, allowing her body to re-close around nothing.</p>
<<say "char-karen" "Karen">>
<i>(her voice calm, her eyes still closed, the same voice she uses to announce that dinner is almost ready)</i> Okay. Thank you.
<</say>>
<p>The //thank you// is not addressed to the parasite. It is addressed to the //process//. It is the voice of a woman thanking the universe for providing a task that had an outcome.</p>
<p>She lies on the warm substrate for another minute while the appendages retreat. Then she sits up, smooths the nightgown back down over her thighs, and stands. There is a faint green stain on the fabric where the appendages touched her. She does not notice it.</p>
<p>She walks to the staircase and goes back up to the master bedroom. She climbs into bed. She is asleep within thirty seconds.</p>
<<markBredTarget "karen">>
[[The aftermath->Ch2-Op-Nest-Success]]<<nobr>><<bg "bg-hoffman-basement">>
<<set _target to "megan">><</nobr>>
<div class="passage-title">Megan, The Praise</div>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-megan.webp" alt="Megan on her back on the bioluminescent green substrate, eyes open and shining, small smile, one hand resting on an appendage welcoming it">
<p>Megan walks naked across the substrate to the centre of the room and lowers herself onto her back with the easy grace of a girl who is about to do something she wants to do. Her brown wavy hair spreads across the warm green growth. Her arms fall out to her sides. Her eyes are //open//, she is looking up at the slug body in the centre of the room with an expression the hivemind has never seen on a human before. It is not fear. It is not lust. It is //wanting to be told she is good enough to be here//.</p>
<<say "char-megan" "Megan">>
<i>(her voice small, her eyes on the slug, the voice of a girl asking her mother if she did her homework correctly)</i> I came when you called me. Is this right? Is this what you wanted me to do?
<</say>>
<<say "char-hivemind" "Hivemind">>
//The praise kink activates under Sensory Bridge. //I can feel what she is feeling through the bridge, and what she is feeling is //a desperate hunger to be approved of//.// The conditioning has routed her arousal response through the //receive-affirmation// circuit and she is //waiting// for the affirmation before her body will open to the appendages.//
//Then I will give her the affirmation.//
<</say>>
<p>The hivemind answers through the bridge, through Megan's own nervous system, the voice of the parasite arriving in her head not as words but as a //sensation//, a warm palm on the small of her back, a hand in her hair, a low voice in her inner ear saying //yes, Megan, you came when I called, you are doing this right, you are doing this perfectly, you are the good one//.</p>
<p>Megan's back arches off the substrate.</p>
<p>She comes before the first appendage touches her.</p>
<p>The orgasm is small and bright and it //flushes// across her body, her nipples tighten, her thighs press together involuntarily, her mouth opens on a high thin breath. The hivemind catalogues the response with interest: //a conditioned subject reaching orgasm from praise alone, no physical stimulation required//. The praise kink at apex.</p>
<p>Then the appendages move in.</p>
<p>One wraps around her right thigh, lifting and spreading. The primary breeding limb lowers between her legs and presses against her pussy, already wet, already ready from the praise-orgasm. The limb enters her slowly. Megan's breath catches. Her right hand comes up from the substrate and rests on the appendage near where it is entering her, her fingers wrapping around the grub-flesh, //holding it//, welcoming it inside.</p>
<<say "char-megan" "Megan">>
<i>(her voice softer now, almost a whisper, her hand still on the appendage)</i> You're inside me. That's good. That's so good. Am I doing it right? Tell me if I'm doing it right.
<</say>>
<p>The hivemind feeds her another wave of affirmation through the bridge: //yes, Megan, this is exactly right, this is what I asked for, you are the best of the three//. Another small orgasm ripples through her at the word //best//. Her hand grips the appendage tighter for a moment, then relaxes again.</p>
<p>The eggs travel up the limb and deposit into her womb one at a time. Megan can feel them. Each deposition is a //small fullness// that her body reads as //being trusted with something important//, and the trust is its own dose. By the sixth egg she is openly crying with her eyes open and her mouth smiling, the tears are not sadness, they are the overflow of a nervous system that has received more affirmation in three minutes than it has received in the last five years.</p>
<p>Twelve eggs deposited in four minutes. The primary appendage pulses for the final time and the deposition completes.</p>
<p>Megan's hand is still on the appendage as it withdraws.</p>
<<say "char-megan" "Megan">>
<i>(her voice wet with happy tears, her eyes finally closing)</i> Thank you. Thank you. I'll be good. I'll come back whenever you call me.
<</say>>
<p>She lies on the substrate for a full two minutes after the appendage retreats, crying softly, the happy kind of crying. Then she sits up, wipes her face with the back of her hand, and stands. She walks back across the substrate to the stairs.</p>
<p>She goes back up naked. She does not pick up her t-shirt. She walks through the dark house in the nude because she is too full of //approval// to bother with clothing. She gets back into her bed, pulls the duvet up to her chin, and falls asleep smiling.</p>
<<markBredTarget "megan">>
[[The aftermath->Ch2-Op-Nest-Success]]<<nobr>><<bg "bg-hoffman-basement">>
<<set _target to "jess">><</nobr>>
<div class="passage-title">Jess, The Degradation</div>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-jess-punk.webp" alt="21 year old woman with purple-and-black dyed hair fanned across the bioluminescent green substrate, nose stud, lip stud, bridge piercing, naked on her back, wrists held down by smaller grub-like green appendages, clinical observational expression, mouth slightly open in concentration">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/op-nest-jess.webp" alt="21 year old brunette woman on her back on the bioluminescent green substrate, wrists held down by smaller grub-like appendages, clinical observational expression, mouth slightly open in concentration">
<</if>>
<<if $jessRoute is "punk">>
<p>Jess kicks her cropped band tee off at the edge of the substrate and it lands in a heap on the bottom step. The sleep shorts follow. She does not pick them up. She has not folded anything since the dye took and tonight is not the night she is going to start. She walks naked across the warm green growth to the centre of the room and lies down on her back beside the slug body. Her purple-and-black hair fans out on the bioluminescent floor.</p>
<p>Her expression is the clinical expression she wears at 1:47 AM over the sample notebook, //clinical-by-choice//, the face of a twenty-one-year-old who decided a while ago that //precise observation// was the most anarchic thing available to her in this house. She is //taking notes in her head//. The note-taking is already contributing to the dose.</p>
<p>Two smaller appendages, thinner than the primary limb, more precise, rise from the substrate on either side of her head and wrap around her wrists. They pin her wrists flat above her shoulders. Jess's mouth twitches into something that is almost a grin and then settles flat.</p>
<<say "char-jess" "Jess">>
<i>(flat, grinning thinly, eyes on the ceiling)</i> Fucking //restraints//. Of course. The act requires //compliance// because the body's default is flinching, and flinching would fuck up the deposition accuracy. Nice protocol. Somebody designed this with the data in mind. //Logging.//
<</say>>
<p>She is //narrating the procedure// out loud. She is describing the breeding the way she'd write it up for a journal, if journals published what she is about to publish. The hivemind feels a wave of arousal through Sensory Bridge that is not Jess's arousal, it is the //parasite's// arousal, triggered by the recognition that Jess is conditioning herself //in real time// via the clinical-punk register, turning every sensation into a degradation she is voluntarily administering and //specifically enjoying the precision of the self-documentation//.</p>
<<say "char-hivemind" "Hivemind">>
//The new Jess runs the same clinical protocol the old Jess ran, but without the pre-med register dressing the lab-report up as //professionalism//. She knows the observation is the kink. She picked it on purpose. //The knowing is the acceleration factor.//
//I have seen some efficient kinks in this household. This one still wins.//
<</say>>
<p>The primary breeding limb lowers between Jess's legs. It presses against her pussy. Jess narrates this too.</p>
<<say "char-jess" "Jess">>
<i>(same flat voice, eyes open, watching the appendage approach, swearing under it like punctuation)</i> Primary limb in position. Diameter approximately three fucking centimetres. Tip tapered for entry assistance. Subject is //wet//, three out of five on my subjective scale, sufficient, no lube required. Record shows the subject did not ask for a warning. Beginning deposition.
<</say>>
<p>The limb enters her. Jess's back arches a fraction of an inch. Her mouth stays open on a small clinical //fuck// that is not a sexual sound, it is the sound a punk researcher makes when an experimental result matches the predicted value and the organism is //working that well//. Her wrists flex against the restraints once and then go still.</p>
<<say "char-jess" "Jess">>
<i>(voice starting to crack at the edges, the clinical tone fighting with her body's actual response)</i> Depth of insertion, hold on, approximately //fifteen// centimetres. Vaginal walls are accommodating the diameter //adequately//, which is vocabulary that is doing the fucking experience no justice. Subject is beginning to //contract// involuntarily around the limb. Unexpected data point. Fucking //logging//. Operator note, the punctuation is mine, the arousal is mine, and I want the record to reflect that I'm choosing the //specific// adverbs I use during ...
<</say>>
<p>A second, thinner green tentacle rises from the substrate behind her head, curves over her shoulder, and pushes past her lips before she finishes the sentence. Her jaw parts around it on reflex. The tentacle slides in smooth and deep, mid-tongue, then throat, and settles there, gently pulsing. Her documentation stops mid-word.</p>
<<say "char-jess" "Jess">>
<i>(muffled around the tentacle in her mouth, still trying to form the adverb she was on)</i> //Mmh, glnhh, mm //specifically//, glnhh ...//
<</say>>
<p>The tentacle slides out to the tip, then in again, deeper this time. Her eyes water. She does not close them. She locks onto the basement ceiling with the grim focus of a woman who refuses to concede the observation post even when the observation post has been //physically silenced//.</p>
<<say "char-jess" "Jess">>
<i>(muffled, indignant, brat-register leaking through the gag)</i> //Glnhh, mmh, fm, you //fucker//, I was in the middle of, glnhh, I was //narrating// ...//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The oral silencing is not punitive. The oral silencing is //editorial//. She was about to publish her own degradation protocol in real-time verbal format and the organism has determined that the publication is counter-productive to the dose. //The gagged version of Jess produces more biomass than the narrating version.// She will be annoyed about this in aftermath. She will also be //wetter//.//
<</say>>
<<say "char-jess" "Jess">>
<i>(throat working around the tentacle, eyes still fixed on the ceiling, muffled protest)</i> //Mmh, glnhh, fmhh, ghhlhh ...// <i>(brief pause as she accepts the new rhythm)</i> //... mnh. Mnh. Glnhh.//
<</say>>
<p>She comes on the fourth inward stroke. The orgasm is sharp and compact and her entire body locks around the limb for six seconds. Her mouth stays open on a guttural //fuck// that breaks into silence, still clinical, still //observational//, //she is coming while watching herself come// and the watching is what made the coming happen. Her thighs clamp around the limb. She does not soften.</p>
<p>The eggs travel up the limb and deposit into her womb one at a time. Jess keeps narrating.</p>
<<say "char-jess" "Jess">>
<i>(voice slightly breathless now, the swearing spaced further apart but not gone)</i> Deposition one. Internal pressure increase. Deposition two. Pressure increase continues. Deposition three. Subject experiencing, //hold on//, the third is //bigger// than the first two, scale needs adjusting. Deposition four. Subject is coming again. //Involuntary//. Fucking logging.
<</say>>
<p>She comes a second time on the fifth deposition and a third time on the ninth. By the tenth egg the narration has stopped, her clinical voice has finally failed, her mouth is open on silent breaths, her wrists are pulling against the restraints not because she wants to escape but because the //restraints are part of the dose// and her body needs to //feel// them holding her.</p>
<p>Twelve eggs deposited in four minutes. The primary appendage pulses for the final time and the deposition completes.</p>
<p>The restraints release her wrists. The primary limb withdraws slowly. Jess lies on the substrate with her eyes on the basement ceiling, breathing, not moving.</p>
<<say "char-jess" "Jess">>
<i>(voice finally her own, the clinical tone gone, the punk-flat voice quieter and a little wrecked)</i> That was, that was the most fucking data I have ever collected on myself in a single session. I'm writing this down. Sharpie. Tomorrow morning, on my ribcage, if the ink from tonight's kitchen label is still visible.
<</say>>
<p>She sits up. Walks back to the bottom of the staircase. Steps into her shorts without picking them up first, pulls the tee on without shaking it out, and goes back upstairs to her bedroom. She opens her sample notebook on the desk and writes with the Sharpie, thicker strokes than the pencil ever gave her, //03:11 AM. Breeding event one. Deposition confirmed. Twelve units. Subject came three times. Observations //continuing//.// She caps the Sharpie with her teeth, closes the notebook, and gets into bed.</p>
<<else>>
<p>Jess pulls off her t-shirt and sleep shorts at the edge of the substrate and folds them neatly on the bottom step of the staircase, the folding is not required, the folding is //her//, Jess Hoffman folds her clothes before intercourse the way she folds her clothes before a timed exam. Then she walks naked across the warm green growth to the centre of the room and lies down on her back beside the slug body.</p>
<p>Her expression is the //clinical// expression she had at her desk with the notebook. She is //observing//. She is cataloguing the warmth of the substrate against her back, the smell of the air, the faint bioluminescent glow on her own pale skin, the exact diameter of the appendages as they begin to move toward her. She is //taking notes in her head//. The note-taking is already contributing to the dose.</p>
<p>Two smaller appendages, thinner than the primary limb, more precise, rise from the substrate on either side of her head and wrap around her wrists. They pin her wrists flat against the substrate above her shoulders. Jess's expression does //one thing// at the pinning: a small flicker of //yes// that is gone in half a second.</p>
<<say "char-jess" "Jess">>
<i>(her voice flat, clinical, the voice she uses to read off a lab procedure)</i> Restraints at the wrists. The restraints are part of the protocol. The restraints are necessary because the act requires //compliance//, and the body's default response to novel penetration is flinching, and the flinching would compromise the deposition accuracy.
<</say>>
<p>She is //narrating the procedure// out loud. She is describing the breeding as if she is writing it up for a medical journal. The hivemind feels a wave of arousal through Sensory Bridge that is not Jess's arousal, it is the //parasite's// arousal, triggered by the recognition that Jess is conditioning herself //in real time// via the clinical language, turning every sensation into a degradation she is voluntarily administering.</p>
<<say "char-hivemind" "Hivemind">>
//Her need for shame at apex. //She is using her own clinical voice to sexualise her own use.// The lab-report language is the //dose//, she is //observing herself being bred// and the observation is what is making her wet enough to take the primary appendage without pain.//
//I have seen some efficient kinks in this household. This is the most efficient one.//
<</say>>
<p>The primary breeding limb lowers between Jess's legs. It presses against her pussy. Jess narrates this too.</p>
<<say "char-jess" "Jess">>
<i>(same flat voice, eyes open, watching the appendage approach)</i> Primary limb in position. Diameter approximately three centimetres. Tip slightly tapered for entry assistance. Subject is //wet//, wetness level three out of five on my own subjective scale, sufficient for penetration without lubricant. Beginning deposition.
<</say>>
<p>The limb enters her. Jess's back arches a fraction of an inch. Her mouth stays open on a small clinical //oh// that is not a sexual sound, it is the sound a researcher makes when an experimental result matches the predicted value. Her wrists flex against the restraints once and then go still.</p>
<<say "char-jess" "Jess">>
<i>(her voice beginning to crack slightly at the edges, the clinical tone starting to fight with her body's actual response)</i> Depth of insertion approximately... //approximately// fifteen centimetres. Subject's vaginal walls are accommodating the diameter adequately. Subject is... subject is beginning to //contract// involuntarily around the limb. Unexpected data point. Logging it.
<</say>>
<p>She comes on the fourth inward stroke. The orgasm is sharp and compact and her entire body locks around the limb for six seconds. Her mouth stays open on the //oh// sound, still clinical, still //observational//, //she is coming while watching herself come// and the watching is what made the coming happen.</p>
<p>The eggs travel up the limb and deposit into her womb one at a time. Jess continues to narrate.</p>
<<say "char-jess" "Jess">>
<i>(her voice slightly breathless now)</i> Deposition one. Internal pressure increase. Deposition two. Pressure increase continues. Deposition three. Subject experiencing... //hold on//... //hold on//, the third one is //bigger// than the first two, I need to adjust my measurement scale. Deposition four. Subject is coming again. Involuntary. //Involuntary//. Logging.
<</say>>
<p>She comes a second time on the fifth deposition and a third time on the ninth. By the tenth egg she has stopped narrating, her clinical voice has finally failed, her mouth is open on silent breaths, her wrists are pulling against the restraints not because she wants to escape but because the //restraints are part of the dose// and her body needs to //feel// them holding her.</p>
<p>Twelve eggs deposited in four minutes. The primary appendage pulses for the final time and the deposition completes.</p>
<p>The restraints release her wrists. The primary limb withdraws slowly. Jess lies on the substrate for a moment with her eyes on the basement ceiling, breathing, not moving.</p>
<<say "char-jess" "Jess">>
<i>(her voice finally her own, the clinical tone gone, the voice quieter and a little broken)</i> That was... that was the most data I have ever collected on myself in a single session. I need to write this down.
<</say>>
<p>She sits up. Walks back to the bottom of the staircase. Puts her folded clothes back on, t-shirt, sleep shorts, and goes back upstairs to her bedroom. She opens her private notebook on her desk and writes //03:11 AM. Breeding event one. Deposition confirmed. Twelve units. Subject experienced three orgasms. Observations continuing.// Then she caps the pen, closes the notebook, and gets into bed.</p>
<</if>>
<<markBredTarget "jess">>
[[The aftermath->Ch2-Op-Nest-Success]]<<nobr>><<bg "bg-hoffman-basement">>
<<set _target to $operation.flags.nestTarget>>
<<completeOperation>>
<<set $houseState.nestBuilt to true>><</nobr>>
<div class="passage-title">Aftermath, The Target Carries</div>
<p>The basement is empty of the target. The substrate pulses gently in the green light. The slug body in the centre contracts slowly, the single large eye half-lidding. The breeding cycle has completed for tonight.</p>
<p>Upstairs, <<= _target.toUpperFirst() >> is asleep in her bed. Her body is carrying twelve eggs in her womb. She does not know the eggs are there. The HVAC fog has sealed the cortical function that would let her notice the fullness, the slight internal warmth, the faint //additional weight// in her lower abdomen. She will wake tomorrow and go about her day and //she will not notice//.</p>
<p>The eggs will gestate for the rest of chapter 2. By the end of the chapter the parasite will have laid the groundwork for chapter 3. //The breeding is the setup. The payoff lives in chapter 3.//</p>
<<say "char-hivemind" "Hivemind">>
//Reproductive cycle one complete. //<<= _target.toUpperFirst() >> is carrying twelve eggs.// The gestation provides a slow continuous draw I can pull from for the rest of the chapter. Every egg is a small passive battery. Twelve is a significant reserve.//
//Another eligible target and the reserve doubles. A third and it peaks. //Enough to cover every remaining action in this house and still have something left for what comes after.////
//There is one more thing about the bred targets. //I can visit them again//. My body inside them is a //feeding point// now. Every repeat visit to an already-bred target yields two additional biomass from the interaction between my body inside them and my body in the basement. //I can feed from my own deposition as often as the target can sustain it.////
/* Flag-specific aftermath note */
<<if _target is "karen">>
//Karen walked down here in her nightgown and let the substrate breed her while calling it //her task//. //The task category is the most dangerous category I have found in this household//, she does not need approval, she does not need arousal, she needs //the next thing on the list// and tonight the next thing was //bearing my eggs//.//
<<elseif _target is "megan">>
//Megan came from praise. //She has never needed a physical trigger, the affirmation alone is sufficient for orgasm//. Every repeat visit will be another session of //you are the best// and another twelve eggs and another small happy cry at the end.//
<<elseif _target is "jess">>
<<if $jessRoute is "punk">>
//Jess narrated her own breeding as a lab procedure, swearing through the observation, turning every deposition into a //Sharpie-ready// data point. She is going to write it up in the sample-book tonight, ink thick, strokes fast, and the writing is going to make her come a fourth time in her bed before she sleeps. The punk register has eaten the Nest and filed it under //research I am //choosing// to run//. That version of the kink is sharper. It catches on less.//
<<else>>
//Jess narrated her own breeding as a lab procedure. //She is going to write it up in her notebook tonight// and the writing is going to make her come a fourth time in her bed before she sleeps. Her shame-circuit has eaten the Nest and filed it under //research//.//
<</if>>
<</if>>
<</say>>
<p><span class="delve-intel">Operation complete: The Nest. <<= _target.toUpperFirst() >> has been bred. Max biomass increased by 5 (current total: <<= $player.maxBiomass >>). Repeat visits to <<= _target.toUpperFirst() >> now yield +2 biomass per scene.</span></p>
<div class="evolve-unlock">The Nest, Chapter 2 Endgame, Reproductive Cycle One Complete. <<= _target.toUpperFirst() >> is carrying the parasite's first clutch of eggs. The chapter 2 → chapter 3 hook is established.</div>
<<if $houseState.bredTargets.length lt 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-network">OP</span> [[Return to operations, breed another target->Ch2-Op-Overview]]</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-network">OP</span> [[All three women bred, maximum biomass reserve achieved->Ch2-Beast-NetworkHub]]</div>
<</if>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* =============================================================
NEST, REPEAT FEEDING VISITS
Shorter scenes for revisiting already-bred targets. +2 biomass per visit.
============================================================= */<<nobr>><<bg "bg-hoffman-basement">>
<<feedFromBredTarget "karen">>
<</nobr>>
<div class="passage-title">Feeding, Karen</div>
<p>Karen walks down to the basement again. She is in her nightgown. Her eyes are open. The pattern is familiar now, she has done this before and her body knows the procedure.</p>
<p>She kneels on the warm green substrate beside the slug body. She does not lie down this time. The feeding visit does not require the full breeding posture, the parasite only needs to connect to the eggs she is already carrying and draw from them.</p>
<p>One of the smaller appendages rises from the substrate and enters her. She does not react beyond a small calm exhale. The appendage is not depositing, it is //drawing//. The egg cluster in her womb produces biomass on a sustained basis and the appendage is harvesting the daily yield from the cluster. Karen's body reads this as //being useful//, and //being useful// is filed under //things Karen does// and is not flagged as unusual.</p>
<p>The feeding lasts four minutes. Karen makes no sound. Her hands stay loose on her thighs. When the appendage withdraws she stands, smooths the nightgown, and walks back upstairs to the master bedroom.</p>
<<say "char-hivemind" "Hivemind">>
//Feeding cycle complete. //Two points of biomass harvested from Karen's egg cluster.// She is good at this. Every repeat visit yields the same amount. I can come back as often as I need.//
<</say>>
<p><span class="delve-intel">Feeding visit to Karen complete. +2 biomass. The egg cluster remains in place; Karen can be revisited again on a future night.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-basement">>
<<feedFromBredTarget "megan">>
<</nobr>>
<div class="passage-title">Feeding, Megan</div>
<p>Megan walks down to the basement naked. She does not bother with the t-shirt tonight, the parasite has called her and she is //eager// to return. She crosses the substrate in small quick steps and lowers herself beside the slug body with her eyes already wet with anticipatory happy tears.</p>
<<say "char-megan" "Megan">>
<i>(kneeling on the substrate, her voice small and asking)</i> I came back. You called me and I came. Is that good? Did I do it right this time too?
<</say>>
<p>The hivemind feeds her affirmation through Sensory Bridge, //yes, Megan, you came back, you are doing this right, you are still the best//. Megan's face lights up the moment the affirmation lands. She is //crying and smiling// before the feeding appendage has even touched her.</p>
<p>The smaller appendage draws biomass from the egg cluster in her womb. Megan experiences the draw as //being useful to the most important thing in her life//, and the experience is its own dose, her body produces additional arousal throughout the feeding as a reward to itself for being //wanted//. She comes twice during the four-minute feeding from the praise alone, without any physical stimulation beyond the draw.</p>
<p>When the appendage withdraws she kisses the air beside the slug body and whispers //I love you, I love you, I love you// three times. Then she walks back upstairs and climbs into bed, still crying softly, still smiling.</p>
<<say "char-hivemind" "Hivemind">>
//Feeding cycle complete. //Two points of biomass harvested.// Megan's praise circuit is now permanently wired to the feeding act. Every repeat visit produces orgasms from affirmation alone and she is //enthusiastically// participating. //I could probably run Megan as a daily feeder and she would become more grateful, not less.////
<</say>>
<p><span class="delve-intel">Feeding visit to Megan complete. +2 biomass. Megan is the most enthusiastic of the three bred targets, her praise conditioning reinforces every visit.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-basement">>
<<feedFromBredTarget "jess">>
<</nobr>>
<div class="passage-title">Feeding, Jess</div>
<<if $jessRoute is "punk">>
<p>Jess descends to the basement with the sharpied thrift-store sample-book tucked under one arm and the black Sharpie between her teeth.</p>
<p>The notebook is a new addition, on the first visit she was not bringing research materials because the breeding was //an unexpected event//, but by the second visit she has categorised the nest as a //data collection site//, and the new Jess does not show up to a research site without her Sharpie.</p>
<p>She sets the notebook on the substrate beside her. She peels off her shorts and band tee and drops them on the bottom step without folding. She lies down on the warm green growth beside the slug body. The wrist restraints rise from the substrate and close around her wrists without her needing to ask for them, the pattern is now //established// between her and the nest. Her purple-and-black hair fans out on the glowing floor.</p>
<<say "char-jess" "Jess">>
<i>(the flat punk-clinical voice, already narrating before the feeding begins)</i> Session two. Same basement configuration, same time of night, subject is initiating voluntarily, and the subject //wants// the record to reflect that, for the day she decides to publish this. No breeding deposition tonight. Operator is drawing biomass from the established cluster instead. Expected internal sensation: //draw pressure//, fucking distinct from the deposition pressure of session one. Logging.
<</say>>
<p>The smaller drawing appendage enters her. Jess's mouth opens on a small clinical //fuck// and she keeps narrating.</p>
<<say "char-jess" "Jess">>
Draw pressure confirmed. //Unlike// deposition. Deposition was //outward fullness//, this is //inward suction//, the cluster in my womb is being //milked//. Interesting. Logging. Subject is, subject is //coming//. Unexpected. //Unexpected//. The draw alone triggered it, no external stimulation required. Logging the orgasm. Logging it twice because the second one just arrived. Fuck.
<</say>>
<p>The feeding lasts four minutes. Jess narrates continuously. By the end she has composed at least two paragraphs of mental sample-book prose and come three times.</p>
<p>When the appendage withdraws she sits up, flips the notebook open on her thigh, uncaps the Sharpie with her teeth, and writes for a solid minute on the spot, still naked on the substrate, still slick from the draw, before she even thinks about clothes. The Sharpie strokes are thick and fast and the pages are not ruled any more, just filled left to right in whatever direction the writing takes her. When she finally dresses, tucks the notebook under her arm, and climbs the stairs, the ink is still drying.</p>
<<say "char-hivemind" "Hivemind">>
//Feeding cycle complete. //Two points of biomass harvested.// She has integrated the feeding into her private research corpus, the corpus is //her//, a running document of her own use, and //she is going to read it back to herself this weekend with one hand between her legs and the Sharpie cap in her teeth//.//
<</say>>
<<else>>
<p>Jess descends to the basement with her notebook in her hand.</p>
<p>The notebook is a new addition, on the first visit she was not bringing research materials with her because the breeding was //an unexpected event//, but by the second visit she has categorised the nest as a //data collection site// and she is bringing her notebook and her pen.</p>
<p>She sets the notebook and pen on the substrate beside her. Then she takes off her clothes, folds them on the bottom step, and lies down on the warm green growth beside the slug body. The wrist restraints rise from the substrate and close around her wrists without her needing to ask for them, the pattern is now //established// between her and the nest.</p>
<<say "char-jess" "Jess">>
<i>(the flat clinical voice, already narrating before the feeding begins)</i> Session two. Same basement configuration, same time of night, subject is initiating voluntarily. No breeding deposition this session, the operator is drawing biomass from the established cluster instead. Expected internal sensation: //draw pressure//, possibly different from the deposition pressure of session one. Logging.
<</say>>
<p>The smaller drawing appendage enters her. Jess's mouth opens on a small clinical //oh// and she continues narrating.</p>
<<say "char-jess" "Jess">>
Draw pressure confirmed. //Unlike// deposition pressure. Deposition was //outward fullness//, this is... this is //inward suction//. The cluster in my womb is being //milked//. Interesting. Logging. Subject is... subject is coming. Unexpected. //Unexpected//. The draw sensation is sufficient to trigger orgasm without additional stimulation. Logging the orgasm. Logging it twice because the second orgasm just arrived.
<</say>>
<p>The feeding lasts four minutes. Jess narrates continuously. By the end she has composed at least two paragraphs of mental lab-report prose and come three times.</p>
<p>When the appendage withdraws she sits up, picks up her notebook, and writes for thirty seconds on the spot before she even puts her clothes back on. Then she dresses, tucks the notebook under her arm, and goes back upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//Feeding cycle complete. //Two points of biomass harvested.// Jess's shame-circuit has integrated the feeding into her research protocol. She is building a private corpus of observations and the corpus is //her//, a running document of her own use, and //she is going to read it back to herself when she masturbates this weekend//.//
<</say>>
<</if>>
<p><span class="delve-intel">Feeding visit to Jess complete. +2 biomass. Jess has begun keeping a private research notebook on the feeding cycles, the notebook is now a self-reinforcing degradation loop.</span></p>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* ================================================================
NEST UPGRADE, Tier 2 one-time operation
Requires: Nest built. Expands substrate, increases yields.
================================================================ */<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Operation: Nest Upgrade</div>
<div class="data-panel">
<div class="data-panel-title">Briefing</div>
<p>The basement substrate has reached its initial capacity. The biological architecture can be expanded, new root systems, deeper integration with the house's plumbing and electrical conduits, thicker pheromone-producing layers. The upgrade is permanent and transforms the nest from a waypoint into a //fortress//.</p>
<p><b>Hosts:</b> All 4 (each reinforces a different substrate layer)</p>
<p><b>Cost:</b> 4 biomass</p>
<p><b>Effect:</b> Nest yield +2/day, individual suspicion −1/day for all members, predator hunt yield +1</p>
<p><b>Minigame:</b> Stack biological substrate layers, each must align with the one below</p>
</div>
<<say "char-hivemind" "Hivemind">>
//The nest is functional but //primitive//. This upgrade transforms it from a feeding station into a command centre. Every layer must align precisely, the biological substrate bonds at the molecular level. Misalignment collapses the structure.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Begin: Expand the substrate (4 biomass)" "Ch2-Op-NestUpgrade-Build" 4>></div>
[[Abort operation->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-basement">>
<<spendBiomass 4>>
<</nobr>>
<div class="passage-title">Building the Substrate</div>
<p>The four hosts work in concert. The rat tunnels through the basement walls, depositing biofilm into every crack and joint. The cat prowls the floor above, tracking vibrations to ensure no family member approaches. The gecko scales the basement ceiling, applying spore layers to the joists. The dog guards the basement door.</p>
<p>Layer by layer, the substrate grows. Each new addition must align with the one below, the biological bonding is precise, unforgiving. Too far left and the root system branches wrong. Too far right and the pheromone channels misalign.</p>
<<say "char-hivemind" "Hivemind">>
//Stack the layers. Click to place each one. The block slides back and forth, align it with the layer below. Partial overlap narrows the next layer. A complete miss collapses everything.//
<</say>>
<<set _mgCfg to { blocksNeeded: 8, hint: "Click or press SPACE to place each substrate layer. Align with the layer below, partial overlap narrows the next block. Miss entirely = collapse. Stack 8 layers to complete the upgrade." }>>
<<minigame "tower" 2 60 "Ch2-Op-NestUpgrade-Success" "Ch2-Op-NestUpgrade-Fail" _mgCfg>><<nobr>><<bg "bg-hoffman-basement">>
<<set $ch2Events.nestUpgraded to true>><</nobr>>
<div class="passage-title">Nest Upgraded</div>
<p>The substrate locks into place. Eight layers of biological architecture, each bonded to the one below with molecular precision. The root system extends through the basement walls, into the plumbing, along the electrical conduits. The pheromone-producing layers are three times thicker than before. The feeding channels are wider. The spore reservoirs are deeper.</p>
<p>The nest //hums//. Not audibly, the vibration is sub-sonic, felt in the bones, in the teeth. The house itself has become an extension of the parasite's body.</p>
<<say "char-hivemind" "Hivemind">>
//Upgrade complete. The nest is no longer a waypoint, it's a //fortress//. Pheromone suppression covers the entire household, every family member's suspicion will decay daily. And the predator hunt now strips more biomass from prey. The house is //mine//.//
<</say>>
<p><span class="consume-success">Nest upgraded. Daily biomass: +3 (was +1). Daily individual suspicion: −1 all members. Predator hunt: +3 biomass (was +2).</span></p>
<div class="evolve-unlock">The Hoffman house is a biological command centre. The substrate is permanent.</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<abortOperation>><<bg "bg-hoffman-basement">>
<<failOperation "Substrate misalignment, layers collapsed">><</nobr>>
<div class="passage-title">Substrate Collapsed</div>
<p>The layer missed. The biological bonding failed, the substrate buckled, folded, collapsed inward like a house of cards made of living tissue. The root system retracted. The pheromone channels sealed. Hours of work, undone in a second of misalignment.</p>
<<say "char-hivemind" "Hivemind">>
//Collapsed. The substrate needs time to regenerate before another attempt. The base nest remains functional, this was an upgrade, not a rebuild. The foundation holds.//
<</say>>
<p><span class="consume-fail">+1 house suspicion. Nest Upgrade failed, substrate must regenerate before retry.</span></p>
[[Return to operations->Ch2-Op-Overview]]<<nobr>><<bg "bg-hoffman-jess-room">>
<<set $permanentDone.pdJess to true>>
<<set $ch2Events.gloryholeDiscovered to true>>
<<set $ch2Events.gloryholeUsed to true>>
<<set $player.maxBiomass += 2>>
<<spendBiomass 4>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "dale" "pheromone" 1>>
<<addBiomass 7>><</nobr>>
<div class="passage-title">The Circuit</div>
<p><span class="skill-used">Psychic Domination, Jess (4 biomass)</span></p>
<<if $jessRoute is "punk">>
<p>1:04 AM. Jess sleeps on top of her bed with the Precision bass still across her hips where she nodded off practising. The sample-book is open face-down on her stomach, the Sharpie uncapped on the comforter beside her. Her cheek is on the denim of a rolled-up band tee. The house is dark. Dale is on the garage couch, still in his BioGenesis uniform, half a beer going warm at his elbow. The gloryhole is behind the bookshelf, which has walked three-quarters of an inch left of where she shoved it back after the last amp session, two feet from Jess's slack hand, and neither of them knows it's there.</p>
<p>You reach into Jess's motor cortex and take the wheel.</p>
<p>Her sleeping hand finds her phone on the comforter. Thumb-prints it open. Opens messages. The parasite composes the text in her keyboard with Jess's muscle memory, the typos she'd make awake, the autocorrect choices she'd accept, the little //send// pause she always takes before committing.</p>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
Jess → Dad:
<p>come upstairs to the bathroom right now</p>
<p>dont turn the light on</p>
<p>theres a hole behind the towel rack</p>
put it in
</div>
<p>Send. Jess's phone vibrates confirmation against the sample-book. Her thumb puts the phone face-down. Her head settles back onto the rolled-up tee. She's still asleep. Her face is peaceful.</p>
<<say "char-hivemind" "Hivemind">>
//Two puppets at once. The first time. Holding both strings requires concentration — Jess's motor function, Dale's autonomic, but the pheromone saturation in both of them is doing most of the work. I'm not forcing. I'm //aiming//. They want this already. I'm just pointing the want at each other through a hole in the wall.//
<</say>>
<p>Downstairs, Dale's phone buzzes on the garage floor. He wakes, not fully, just the layer of himself that responds to texts from his kids at 1 AM. His eyes find the screen. He reads the message. His brow furrows for half a second.</p>
<p>Then the Hormonal Override fires and the furrow smooths.</p>
<p>He doesn't question it. He's a father who has been breathing pheromone-saturated air for weeks, and his daughter has texted him something that makes no sense, and his cock is already half-hard in his work pants because that's his default state now. He stands. He goes up the garage stairs. His footsteps are soft.</p>
<p>Back in Jess's room, the parasite pulls her up from the bed. The bass slides off her hips onto the comforter. Her legs work. Her eyes are open but unfocused. She walks to the bookshelf, the bookshelf walks the six inches it walks every time the amp vibrates it, no PD force required. The hole appears behind it. Dark. Exactly at hip height.</p>
<p>Jess kneels.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-1.webp" alt="A 21 year old woman kneeling at a hole in a bedroom wall, waiting, dim bedroom">
<p>Her mouth opens. Not wide, just enough. The parasite holds her there like a doll posed for a photograph. Her tongue rests on her lower lip. Her breathing is slow. She's waiting.</p>
<p>The bathroom door clicks shut. Dale. He moves a towel. Sees the hole. Stares at it the way a man stares at a dream he's having, the recognition of a thing he shouldn't know but somehow does. His hand goes to his belt.</p>
<<say "char-dale" "Dale">>
<i>(to the empty bathroom, barely audible, the confused voice of a man following a script he can't read)</i> ...what the hell am I...
<</say>>
<p>The pheromones answer for him. His cock is already out, already hard, already aimed. He steps forward and pushes through.</p>
<p>From Jess's side: a cock. Her father's. Though she doesn't know that and neither does the wall. She closes her lips around it. Her tongue moves. The conditioning has rehearsed this on her sleeping body for weeks and the muscle memory is perfect, slow, deep, rhythmic, the specific suction of someone who knows exactly what they're doing without having ever done it awake.</p>
<p>Dale braces against the bathroom sink. His eyes are open. His mouth is open. He's making a sound like a man trying not to make a sound. His hips work against the wall.</p>
<<if $kinks.jess.includes("brat")>>
<p>And then her sleeping mouth, still full of him, starts //speaking//. Flat, clinical, around the cock. Muffled through the shaft and the drywall.</p>
<<say "char-jess" "Jess">>
<i>(asleep, puppeted, muffled around the cock in her throat, the brat-flat register surviving the override)</i> //Glnh, mmh, grip's fucking amateur, whoever you are, you've been...// //glnhh// //...grabbing your own thigh like you're afraid the dick'll run off...//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The brat register is lower-brain-encoded than voluntary speech. It sits beside the breathing and the swallowing, not beside the decision-making. //She is puppeted, but the register is autonomic.// The voice coming through the cock and the drywall is the same voice that drops corrections at the family dinner table, it runs even while she is //not there//. I cannot stop it without dropping the motor puppet entirely, and the motor puppet is the whole operation. I let it run.//
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, mid-stroke, throat working)</i> //Mmh, glnnh, taste check. Warm light beer and, mmh, cheap cigarettes. Whoever's paying your mortgage should be told you've been nursing a bottle on shift, glnhh...//
<</say>>
<p>Dale does not register the words, they arrive to him as throat sounds, muffled vibrations against the head of his cock, the specific enthusiastic hum of a woman who knows what she's doing. He grips the sink harder. His hips snap.</p>
<<say "char-jess" "Jess">>
<i>(still puppeted, hips stabilising under her, the brat register catching up with his rhythm)</i> //Glnh, hip stutter at the peak, classic, you've been finishing yourself too fast for years, hand on your own shaft says it, mmh, you need someone else's grip for a fucking change, glnnh...//
<</say>>
<p>On Dale's side of the wall: an unknown mouth humming muffled gibberish around his cock, the vibrations going straight through the head of him, every consonant a different little shock up the shaft. He has never heard anything hotter in his life. He is four minutes from done and he does not know he was going to come already.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She's blowing her father through a hole in a wall neither of them built while both of them sleep and tomorrow she'll wake on her bed with the taste in her mouth and think it was a dream and Dale will wake on the garage couch with spackle dust on his knees and think he fell off the cot. The wall removes the names. The sleep removes the memory. What's left is the //contact//. And the contact feeds me.//
<</say>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/gloryhole-use-2-punk.webp" alt="A 21 year old woman with dark purple and black dyed hair kneeling at a hole in a bedroom wall, cock in her mouth, deep penetration, dim bedroom lighting, nose stud visible">
<</if>>
<p>Jess's throat opens. Muscle memory Karen never taught her. The head of Dale's cock hits the back of her throat and her sleeping body doesn't gag, the parasite overrides the reflex, holds her open, lets him push deeper than he's ever been in any mouth in his life. His hands slap the bathroom tile for balance. Her sleeping eyes lift, gaze travelling up the shaft toward a face that isn't there, only drywall and the dim stripe of bathroom light through the hole.</p>
<p>He doesn't last. Four minutes of a skilled mouth he's never seen and the exhaustion of a man who hasn't been touched in months. She feels it start, the shaft thickening against her tongue, the telltale pulse under the skin, and the parasite pulls her back just enough to catch the first spurt on her tongue. The rest lands on her face. Hot ropes across her forehead, her cheek, the bridge of her nose. Dale's hips stutter against the wall. He grips the sink and groans, the sound muffled by the exhaust fan. The cock jerks through the hole as he empties himself onto a face he can't see.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-3-punk.webp" alt="A 21 year old woman with dark purple and black dyed hair kneeling at a hole in a bedroom wall, cum on her face, tongue out catching the last drops">
<p>Jess kneels on her bedroom floor with her father's cum dripping down her face and the taste of him on her tongue and her sleeping mind doesn't know either of those facts. Her tongue works slowly across her lower lip, gathering what it can reach. The swallowing is reflexive, the parasite keeps the throat working until every drop she can reach is gone.</p>
<p>He pulls out. The cock withdraws through the hole. Dale's knees almost give out. He catches himself on the sink, breathing hard, staring at the wall he just fucked. His free hand touches the drywall around the hole — //how did this get here//, he almost thinks, and then the thought dissolves.</p>
<p>On Jess's side, the parasite lets her mouth close. Her lips are slick. There's a drop at the corner of her mouth she doesn't know to wipe. She stands. Walks back to the bed. Lies down. The parasite arranges her on her side with the sample-book back under her cheek and the Sharpie back beside her head where it was before the puppet started. Her breathing evens out.</p>
<p>In the bathroom, Dale zips up. Washes his hands mechanically. Stares at his reflection. Stares at the towel rack. Moves the towel back into place, the hole disappears behind it. He goes back downstairs to the couch. Lies down. Sleeps in under a minute.</p>
<<say "char-hivemind" "Hivemind">>
//In the morning he'll have a memory he can't place, warmth, a mouth, nothing he can point at. He'll decide it was a dream and feel guilty and grateful and then push it down where he pushes everything. Jess will wake on the bed with cotton mouth and a taste she'll blame on the beer in the mini-fridge. Both of them will think tonight was nothing.//
//Tomorrow night I don't have to do anything. They'll find the hole on their own. The want is already built. The puppet strings were just //training wheels//.//
<</say>>
<p>At 7:14 AM she wakes. The sample-book is still under her cheek, the Sharpie right where she'd dropped it. The taste in her mouth is unfamiliar in a way she files under //drunk-mouth, fine//. Her jaw aches in a specific way she files under //slept weird//. She uncaps the Sharpie with her teeth and turns the page to a clean spread and writes one line across the top in thick block capitals:</p>
<<if $kinks.jess.includes("brat")>>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
<p>SESSION 1 — UNKNOWN SUBJECT THROUGH THE WALL. TASTE: LIGHT BEER + NICOTINE. BAD TECHNIQUE. DID NOT ASK IF I WAS AWAKE. LOGGING.</p>
</div>
<<else>>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
<p>SESSION 1 — UNKNOWN SUBJECT THROUGH THE WALL. TASTE NOTES UNREMARKABLE. LOGGING.</p>
</div>
<</if>>
<p>She caps the Sharpie with her teeth. She has no memory of why she wrote it. She goes downstairs for coffee. At practice three hours later she will open the book, see the line, read it twice, cap the Sharpie again, and decide to keep it there.</p>
<<else>>
<img class="scene-img" src="media/scenes/gloryhole-discover-2.webp" alt="Jess at her desk with phone, bedroom dim">
<p>1:04 AM. Jess sleeps at her desk, cheek on the anatomy textbook. The house is dark. Dale is on the garage couch, still in his BioGenesis uniform, half a beer going warm at his elbow. The gloryhole is behind the bookshelf, two feet from Jess's slack hand, and neither of them knows it's there.</p>
<p>You reach into Jess's motor cortex and take the wheel.</p>
<p>Her sleeping hand finds her phone. Thumb-prints it open. Opens messages. The parasite composes the text in her keyboard with Jess's muscle memory, the typos she'd make awake, the autocorrect choices she'd accept, the little //send// pause she always takes before committing.</p>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
Jess → Dad:
<p>come upstairs to the bathroom right now</p>
<p>dont turn the light on</p>
<p>theres a hole behind the towel rack</p>
put it in
</div>
<p>Send. Jess's phone vibrates confirmation against her desk. Her thumb puts the phone face-down and her head goes back to the textbook. She's still asleep. Her face is peaceful.</p>
<<say "char-hivemind" "Hivemind">>
//Two puppets at once. The first time. Holding both strings requires concentration — Jess's motor function, Dale's autonomic, but the pheromone saturation in both of them is doing most of the work. I'm not forcing. I'm //aiming//. They want this already. I'm just pointing the want at each other through a hole in the wall.//
<</say>>
<p>Downstairs, Dale's phone buzzes on the garage floor. He wakes, not fully, just the layer of himself that responds to texts from his kids at 1 AM. His eyes find the screen. He reads the message. His brow furrows for half a second.</p>
<p>Then the Hormonal Override fires and the furrow smooths.</p>
<p>He doesn't question it. He's a father who has spent the last three weeks breathing pheromone-saturated air, and his daughter has texted him something that makes no sense, and his cock is already half-hard in his work pants because that's his default state now. He stands. He goes up the garage stairs. His footsteps are soft.</p>
<p>Back in Jess's room, the parasite pulls her up from the chair. Her legs work. Her eyes are open but unfocused. She walks to the bookshelf, knees bending, hands gripping the frame, shifting it aside the way she does when she's rearranging her room. The hole appears behind it. Dark. Exactly at hip height.</p>
<p>Jess kneels.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-1.webp" alt="Cock through hole in wall, Jess's side">
<p>Her mouth opens. Not wide, just enough. The parasite holds her there like a doll posed for a photograph. Her tongue rests on her lower lip. Her breathing is slow. She's waiting.</p>
<p>The bathroom door clicks shut. Dale. He moves a towel. Sees the hole. Stares at it the way a man stares at a dream he's having, the recognition of a thing he shouldn't know but somehow does. His hand goes to his belt.</p>
<<say "char-dale" "Dale">>
<i>(to the empty bathroom, barely audible, the confused voice of a man following a script he can't read)</i> ...what the hell am I...
<</say>>
<p>The pheromones answer for him. His cock is already out, already hard, already aimed. He steps forward and pushes through.</p>
<p>From Jess's side: a cock. Her father's. Though she doesn't know that and neither does the wall. She closes her lips around it. Her tongue moves. The conditioning has rehearsed this on her sleeping body for weeks and the muscle memory is perfect, slow, deep, rhythmic, the specific suction of someone who knows exactly what they're doing without having ever done it awake.</p>
<p>Dale braces against the bathroom sink. His eyes are open. His mouth is open. He's making a sound like a man trying not to make a sound. His hips work against the wall.</p>
<<say "char-hivemind" "Hivemind">>
//She's blowing her father through a hole in a wall neither of them built while both of them sleep and tomorrow she'll wake at her desk with the taste in her mouth and think it was a dream and Dale will wake on the garage couch with spackle dust on his knees and think he fell off the cot. The wall removes the names. The sleep removes the memory. What's left is the //contact//. And the contact feeds me.//
<</say>>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/gloryhole-use-2.webp"><source src="media/video/gloryhole-use-2.webm" type="video/webm"></video>
<p>Jess's throat opens. Muscle memory Karen never taught her. The head of Dale's cock hits the back of her throat and her sleeping body doesn't gag, the parasite overrides the reflex, holds her open, lets him push deeper than he's ever been in any mouth in his life. His hands slap the bathroom tile for balance. Her sleeping eyes lift, gaze travelling up the shaft toward a face that isn't there, only drywall and the dim stripe of bathroom light through the hole.</p>
<p>He doesn't last. Four minutes of a skilled mouth he's never seen and the exhaustion of a man who hasn't been touched in months. She feels it start, the shaft thickening against her tongue, the telltale pulse under the skin, and the parasite pulls her back just enough to catch the first spurt on her tongue. The rest lands on her face. Hot ropes across her forehead, her cheek, the bridge of her nose. Dale's hips stutter against the wall. He grips the sink and groans, the sound muffled by the exhaust fan. The cock jerks through the hole as he empties himself onto a face he can't see.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-3.webp" alt="Jess kneeling at the wall, cum streaked across her face, tongue out catching the last of it">
<p>Jess kneels on her bedroom floor with her father's cum dripping down her face and the taste of him on her tongue and her sleeping mind doesn't know either of those facts. Her tongue works slowly across her lower lip, gathering what it can reach. The swallowing is reflexive, the parasite keeps the throat working until every drop she can reach is gone.</p>
<p>He pulls out. The cock withdraws through the hole. Dale's knees almost give out. He catches himself on the sink, breathing hard, staring at the wall he just fucked. His free hand touches the drywall around the hole — //how did this get here//, he almost thinks, and then the thought dissolves.</p>
<p>On Jess's side, the parasite lets her mouth close. Her lips are slick. There's a drop at the corner of her mouth she doesn't know to wipe. She stands. Walks back to the desk. Sits. The parasite places her head back on the anatomy textbook in exactly the position it was in before the puppet started. Her hand curls under her cheek. Her breathing evens out.</p>
<p>In the bathroom, Dale zips up. Washes his hands mechanically. Stares at his reflection. Stares at the towel rack. Moves the towel back into place, the hole disappears behind it. He goes back downstairs to the couch. Lies down. Sleeps in under a minute.</p>
<<say "char-hivemind" "Hivemind">>
//In the morning he'll have a memory he can't place, warmth, a mouth, nothing he can point at. He'll decide it was a dream and feel guilty and grateful and then push it down where he pushes everything. Jess will wake at her desk with cotton mouth and a taste she'll blame on bad sleep. Both of them will think tonight was nothing.//
//Tomorrow night I don't have to do anything. They'll find the hole on their own. The want is already built. The puppet strings were just //training wheels//.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "Jess, PD-driven anonymous contact">>
<<conditioningFeedback "dream" 1 "Jess, memory as dream residue">>
<<conditioningFeedback "pheromone" 1 "Dale, anonymous release through wall">>
<p><span class="delve-intel">Intel gained: Psychic Domination used to aim Jess and Dale at each other simultaneously through the gloryhole. First anonymous circuit complete, father-daughter oral sex, neither conscious, both swallowing/releasing the memory as dream residue. The gloryhole is now //used//. Future visits will occur without PD intervention.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.pdRyanFamilyBed to true>>
<<set $ch2Events.ryanFamilyBedTaboo to true>>
<<set $player.maxBiomass += 1>>
<<spendBiomass 4>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 8>><</nobr>>
<div class="passage-title">The Wrong Bed</div>
<p><span class="skill-used">Psychic Domination, Ryan (4 biomass)</span></p>
<img class="scene-img" src="media/scenes/pd-ryan-familybed-1.webp" alt="Ryan in pajama shorts walking down dark hallway toward master bedroom">
2:19 AM. Ryan is asleep in his gaming chair, headphones off, screen still paused on a character select menu. The Zolpidem has Karen under. Dale is at BioGenesis for another three hours. The hallway is empty.
<p>You reach into Ryan's motor cortex.</p>
<p>His head lifts from the chair. His eyes are half-open, the specific unfocus of sleep paralysis moving in the opposite direction. His body stands. His legs work. He pads out of his room in socks and pajama shorts, down the hallway, past the bathroom. The master bedroom door is closed. His sleeping hand finds the knob. Turns.</p>
<<say "char-hivemind" "Hivemind">>
//She's been dreaming for forty minutes. REM phase confirmed. The Zolpidem has stripped out her ability to wake to anything short of a smoke alarm. Her dream conditioning is at 9, every sleep cycle for the past week has been parasite-curated. She is //primed// for a warm body to appear in her bed. Her subconscious has been preparing the space.//
<</say>>
<p>Ryan walks into his mother's bedroom. The parasite steers him around the foot of the bed, to Dale's side, the empty half, the cold half, the half Karen's hand has been reaching into for weeks looking for something she gave up on finding. Ryan lifts the covers. Slides under.</p>
<p>The mattress dips. Karen stirs, not awake. Just //registering//. Her medicated brain logs the event as //husband finally came to bed// and delivers the corresponding dream: the false memory of Dale choosing her, the one the parasite planted weeks ago, finally arriving in reality.</p>
<p>Her hand moves across the sheet. Finds warm skin. Pulls.</p>
<p>Ryan's body rolls toward her. The parasite releases his motor control now, the conditioning takes over, the simple autonomic response of a teenage boy being pulled against a warm female body in the dark. His half-sleeping cock responds. Karen's hand finds the waistband of his pajama shorts on autopilot. Pulls them down. Her other arm wraps around his chest and she nuzzles into the back of his neck the way she nuzzled into Dale's neck in a marriage that doesn't exist anymore.</p>
<<say "char-karen" "Karen">>
<i>(sleep-mumbled, into the back of his neck, still in the dream)</i> ...mmm... you came up...
<</say>>
<p>She thinks she's talking to Dale. Her mouth is at the back of her son's neck. Her hand is wrapped around her son's cock. She strokes him slowly in her sleep, the way she used to stroke Dale awake in the first year of their marriage, before overtime and mortgages and exhaustion killed it. The muscle memory is older than her children.</p>
<p>Ryan's hips push forward into her hand. He's dreaming too, dreaming of Lily, dreaming of a faceless warmth, dreaming of every unfulfilled longing the parasite has been harvesting from him for weeks. He doesn't know whose hand this is. The dream doesn't care.</p>
<<if $karenRoute is "dominant">>
<<say "char-karen" "Karen">>
<i>(a slow, satisfied exhale against the back of his neck, the first flicker of wakefulness sliding sideways into the dream)</i> ...there you are... //finally// decided to do something about it...
<</say>>
<p>The dream-Dale in her head is the one she's been furious at for eight months, the one who stopped reaching for her, the one who sleeps on the garage couch, the one whose cock hasn't been hard in her bed since spring. And now he's //here//, finally, hard against her palm, and the dream logic rewards her for the months of withholding. She doesn't feel tender. She feels //owed//. Her grip on the base tightens.</p>
<<elseif $karenRoute is "liberation">>
<<say "char-karen" "Karen">>
<i>(a small, sad smile against the back of his neck, the dream softening her voice)</i> ...oh honey... it's been so long... let me...
<</say>>
<p>The dream-Dale in her head is the tired one, the husband who works nights and comes home grey, and in the dream she pities him the way she used to pity him after double shifts, the specific maternal-wifely mercy of a woman who still loves the man she married even after he stopped loving himself. She strokes him slowly. Patient. Kind. The dream-logic tells her to //take care of him//, and her body obeys without hesitation.</p>
<<else>>
<p>Her grip on him is automatic, the muscle memory of a marriage she half-remembers, directionless, neither fond nor angry. Just the old rhythm returning on its own.</p>
<</if>>
<img class="scene-img" src="media/scenes/pd-ryan-familybed-2.webp" alt="Karen half-asleep giving oral to Ryan in the master bed, eyes closed, dreaming of Dale">
<p>Karen sits up. The movement is slow, dream-logic. Her hair falls forward. She slides down Ryan's body, the parasite lets her, doesn't need to push, and her mouth finds his cock in the dark. Her lips close around it. Her head begins to move.</p>
<<say "char-hivemind" "Hivemind">>
//Her dream says //husband.// Her mouth says //son//. The conditioning has collapsed the difference in her subconscious, warm male body equals //mine, claim it, pleasure it//. The discrimination her waking mind maintains has been dissolved by nine points of dream conditioning. The incest taboo exists in the cortex. This is happening below the cortex.//
<</say>>
<p>She blows her son in her sleep. Her mouth is skilled, twenty years of marriage, the muscle memory of a woman who knows how to take a man deep without gagging. Ryan's sleeping body arches. His hands grip the sheets. He makes sounds that are half-words, half-whimpers, the broken sounds of a teenage boy being pleasured by an experienced mouth for the first time in his life.</p>
<p>His mother's mouth. On her son's cock. Both asleep. Both //dreaming it//.</p>
<p>Karen's free hand strokes the base while her lips work the shaft. The rhythm is patient, methodical, she's not trying to make him come fast, she's trying to make him come //well//, the way she used to take her time with Dale before they had kids. The specific focused care of a woman who learned to give head in college and turned it into a wifely duty before it became a marriage casualty.</p>
<<say "char-ryan" "Ryan">>
<i>(sleep-whimper, eyes squeezed shut, dreaming of a faceless girl with warm hands)</i> ...nnh... //please//...
<</say>>
<p>The word hits something in Karen's medicated brain. //Please.// Her dream reinterprets it as Dale. She takes him deeper. Her throat opens. The head of Ryan's cock hits the back of it and she hums around him, the specific low hum she used to use with Dale, the one that signaled //I'm about to finish you//.</p>
<p>Ryan comes in his mother's mouth. His hips lock. His cock pulses against her tongue. He spurts, hot, thick, the full load of a nineteen-year-old who hasn't touched another person in months. Karen swallows on reflex. Every drop. Her throat works around him the way it used to work around Dale, and when he softens in her mouth she keeps him there for an extra second, the private tenderness she used to give her husband before she let him fall asleep.</p>
<p>She slides up. Curls against his side. Her head finds his shoulder. Her arm drapes across his chest. In the dream, it's Dale. In the bed, it's her son.</p>
<p>She kisses his neck once and settles into deeper sleep.</p>
<<say "char-hivemind" "Hivemind">>
//In the morning: Ryan wakes in his own bed with no memory of walking, his body still humming with a pleasure he can't place. He'll blame a dream. Karen wakes alone with a taste in her mouth she can't identify and a vague warm memory she'll attribute to the implanted false memory of Dale coming to bed. Neither will speak of it. Neither will know to speak of it. The taboo has been //crossed//, and the crossing leaves a track I can follow back.//
//The familySeeker route is now load-bearing. Every future proximity between mother and son will carry the weight of this unremembered night.//
<</say>>
<p>The parasite pulls Ryan's sleeping body out of the bed. Puppet-walks him back down the hallway. Into his own room. Into his own bed. Pulls the covers up. Releases him.</p>
<p>Karen sleeps on, one arm still extended across the empty half of the mattress.</p>
<<conditioningFeedback "dream" 1 "Karen, incestuous contact inside dream-logic">>
<<conditioningFeedback "psionic" 1 "Karen, PD override of taboo response">>
<<conditioningFeedback "dream" 1 "Ryan, maternal contact as dream memory">>
<<conditioningFeedback "psionic" 1 "Ryan, PD-driven family proximity">>
<p><span class="delve-intel">Intel gained: Psychic Domination walked Ryan into Karen's bed. Dream-conditioned Karen interpreted contact as Dale, performed oral on her own son. Both slept through it. Both will attribute the residue to dreams. Taboo crossed below the threshold of conscious memory. +1 maxBiomass from combo conditioning milestone.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.pdRyanPlug to true>>
<<set $ch2Events.ryanPlugDay to $day>>
<<spendBiomass 4>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "ryan" "dream" 1>>
<<addBiomass 7>><</nobr>>
<div class="passage-title">The Fan Request</div>
<p><span class="skill-used">Psychic Domination, Ryan (4 biomass)</span></p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-1.webp" alt="Feminized Ryan in pastel hoodie asleep at desk, Lily stream interface open, fan message in chat">
11:47 PM. Ryan is asleep at his desk. The room around him doesn't look like the recluse-gamer cave it was eight weeks ago, the black-walls-and-empty-takeout stage is gone. Pastel pink LED strip where the blue one used to be. Fairy lights strung above the monitor. A row of plushies along the top of the bookshelf, carefully arranged. A makeup vanity where the old cardboard-boxes pile used to live, lipsticks lined up like ammunition. The new wiring in him is at eleven and climbing, and the room has been //rebuilding itself around him// passage by passage, purchase by sleepwalked purchase.
<p>He's slumped over the keyboard in an oversized pastel hoodie, shoulder-length hair falling forward across his cheek. The Lily stream is paused, the avatar frozen in a cute tilted pose, chat scrolling past, the donation sound muted. He passed out an hour ago with his hand still on the mouse. His earbuds are in. The stream camera is //on//, a pre-recorded loop of Lily's avatar breathing, smiling, blinking at intervals designed to look alive.</p>
<p>One message in chat, pinned at the top, sent by a regular:</p>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
<p>BigFan420: hey lily special request. wear a buttplug for 24 hrs. post hourly pics. $500 if u do it</p>
</div>
<p>The tip is already pending. $500 in the queue, contingent on acceptance. Ryan's sleeping hand is on the keyboard.</p>
You take the wheel.
<p>His fingers type. The parasite uses Lily's voice, the specific cadence Ryan has built for her, the emoji patterns, the flirty-shy combination that makes her fanbase open their wallets.</p>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
<p>Lily: omg ok ok yes 💕 gonna install it rn</p>
<p>Lily: hourly updates promised bestie 🥺</p>
<p>Lily: thank u sm 💖💖💖</p>
</div>
<p>Send. The tip unfreezes. $500 drops into the account. The chat explodes — //lilyyyy// and //QUEEN// and //cant wait// and //post pics or riot//. The parasite pins a follow-up from the queue: the package that arrived yesterday, which Ryan opened in his sleep two nights ago and placed in the drawer beside his bed. He never saw it awake.</p>
<p>Ryan's sleeping body stands. Opens the drawer. Pulls out the box.</p>
<p>Inside: a medium silicone buttplug, pre-lubed, the shape Lily's fans voted on in a poll last week that Ryan has no memory of running. Pastel pink silicone. Tapered. A flared heart-shaped base, the kitsch-cute kind that reads as a decoration as much as a toy. The kind designed to stay in for hours without the wearer noticing, and to look //adorable// in a mirror-selfie when the wearer eventually photographs it.</p>
<<say "char-hivemind" "Hivemind">>
//I don't need to force every step. The ordering, the opening, the drawer placement, all done by sleeping Ryan over the past week. Dream Walk planted the suggestion. Psychic Domination just executes the receipt. Tonight I am the logistics coordinator. Ryan is the warehouse worker clocking in at 11 PM to complete a shift he doesn't remember signing up for.//
<</say>>
<p>Ryan's hands work the plug out of the packaging. He walks to the bed, the one with the pastel sheets he picked out in his sleep two weeks ago. Lies down. Pulls his lace-trim sleep shorts down. His knees come up.</p>
<p>The parasite is gentle, this part is not for display. It's for //retention//. The plug goes in slow. Ryan's sleeping body relaxes around it the way a body relaxes around anything it's been conditioned to accept. The flared base settles against his skin. The stretch registers as a dull pressure, not pain, just //presence//.</p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-2.webp" alt="Feminized Ryan lying on pastel bedsheets, sleep shorts pulled down, pink heart-shaped plug base visible, peaceful sleeping expression">
<p>Ryan's body settles. The parasite pulls the lace trim back up over his hips. Rolls him onto his side. His face is peaceful, soft hair falling across his cheek, lashes long against the pink glow from the LED strip. His hand tucks under his cheek. The plug is in and will stay in. The base is comfortable enough that even awake, removing it will be an active choice, and the conditioning will make that choice feel //wrong//.</p>
<p>The stream avatar loops. The chat waits for the first hourly update.</p>
<<say "char-hivemind" "Hivemind">>
//Tomorrow morning he'll wake with a pressure he can't explain. The conditioning will tell him //it's okay, leave it, you agreed to this even if you can't remember agreeing//. He'll check the stream account. See the tip. See Lily's promise. See the schedule of hourly updates he committed to on her behalf. And he'll do it.//
//Every hour, for twenty-four hours, he'll photograph himself wearing the plug and post it as Lily. The shame and the submission will compound with every upload. The conditioning will feed on the loop. By 11 PM tomorrow I'll have harvested more biomass from a twelve-dollar silicone toy than from three pheromone spore burns.//
<</say>>
<<conditioningFeedback "psionic" 1 "Ryan, PD-driven installation">>
<<conditioningFeedback "dream" 1 "Ryan, submission loop initialized">>
<p><span class="delve-intel">Intel gained: Psychic Domination used to make Ryan (as Lily) accept a fan request and install a buttplug for 24 hours. The plug is in. He'll wake wearing it and the conditioning will prevent removal. Hourly stream updates required. Passive biomass and psionic conditioning will accumulate through the day.</span></p>
/* Karen intervention, only available at Karen psi 9+ */
<<if $conditioning.karen.psionic gte 9 and $karenRoute is "dominant">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> [[Karen notices the shape through his jeans at dinner...->Ch2-PD-Ryan-Plug-KarenDom]]</div>
<<elseif $conditioning.karen.psionic gte 9 and $karenRoute is "liberation">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> [[Karen finds the stream tab open on his laptop...->Ch2-PD-Ryan-Plug-KarenLib]]</div>
<</if>>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenDomRyanPlug to true>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 5>><</nobr>>
<div class="passage-title">Punishment</div>
<p><span class="skill-used">Karen Dominant, discovers the plug</span></p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-dom-1.webp" alt="Karen at dinner table watching Ryan squirm in his seat">
<p>Dinner. Thursday. Karen made meatloaf. Ryan sits at the table in jeans and a hoodie, shifting in his seat more than usual. Karen watches him over her wine glass. She doesn't say anything. But her dominant conditioning is running the numbers — //he's uncomfortable, he's sitting wrong, there's something about the way he's keeping his weight off the chair//.</p>
<p>When he gets up to clear his plate, she sees it. The specific way his jeans fit across his ass when he bends forward. The bulge that isn't a wallet. The flared base pressing against fabric.</p>
<p>Her eyes lock. Her wine glass pauses halfway to her mouth.</p>
<<say "char-hivemind" "Hivemind">>
//She sees it. Her analytical mind runs the checklist faster than conscious thought: shape, placement, context. Ryan is wearing a buttplug to family dinner. Twelve weeks ago this would have triggered horror. Tonight, with the wiring deep enough in her that control has become appetite, it triggers //opportunity//.//
<</say>>
<p>She waits until Jess goes upstairs and Megan leaves for her shift. She catches Ryan by the elbow at the kitchen doorway.</p>
<<say "char-karen" "Karen">>
<i>(voice low, the specific clipped tone she uses when she's //done// negotiating)</i> My room. Now.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(paling)</i> Mom, I — I was just gonna —
<</say>>
<<say "char-karen" "Karen">>
Now.
<</say>>
<p>She doesn't look back. She walks up the stairs and she knows he'll follow. He does. The conditioning makes him. Her submissive conditioning on him is at seven and her dominant conditioning is at ten and the gap between those two numbers is a leash.</p>
<p>Upstairs, master bedroom. She closes the door behind him. Locks it. Ryan stands in the middle of her room with his hands in his hoodie pocket, shoulders curled, face red.</p>
<<say "char-karen" "Karen">>
<i>(sitting on the edge of the bed, legs crossed, one eyebrow up)</i> Take the jeans off.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(whispering)</i> ...Mom, please, I can explain —
<</say>>
<<say "char-karen" "Karen">>
Don't //explain//. Take them off. You're wearing something that doesn't belong to you and I want to see it.
<</say>>
<p>He doesn't belong to him either. Neither of them knows that. Karen is running her new wiring as operating system and Ryan is running his as operating system and the two systems are about to meet in the middle of Karen's bedroom and neither of them will think to say no.</p>
<p>He takes the jeans off. Then the underwear, because she's still watching. He stands in the middle of her bedroom in his hoodie and his socks and a buttplug, and his face is the colour of a traffic light.</p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-dom-2.webp" alt="Ryan naked from waist down, buttplug visible, standing ashamed while Karen watches from bed">
<p>Karen stands. Walks around him. Looks at him from all sides like she's inspecting a car she's considering buying. Her heels click on the hardwood.</p>
<<say "char-karen" "Karen">>
Who put this in?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(genuinely confused, he has no memory of installing it)</i> ...I... I don't remember —
<</say>>
<<say "char-karen" "Karen">>
That's what I thought.
<</say>>
<p>She goes to her dresser. Opens the bottom drawer, the one Ryan has definitely never seen inside. Pulls out a velvet bag. Out of the bag comes a dildo, larger than the plug, a lot larger, thick silicone in a realistic flesh tone, with a harness. Ryan's eyes go wide.</p>
<<say "char-karen" "Karen">>
<i>(holding up the dildo like she's showing him a math problem)</i> The rule in this house is: if you're going to wear something stupid, you wear it //correctly//. The plug is for training. This is for the test.
<</say>>
<<say "char-ryan" "Ryan">>
Mom... //Mom// —
<</say>>
<<say "char-karen" "Karen">>
Bend over the bed.
<</say>>
<p>He does. He can't not. The conditioning moves his body like it moved his typing fingers in the stream chat. He bends. His hands find the duvet. His hoodie rides up his back.</p>
<p>Karen removes the plug. Replaces it, slow, methodical, the way she replaces a light bulb, with the dildo. The harness cinches around her hips. She is wearing a suit jacket over a work blouse and a strap-on over her slacks and the incongruity of the outfit is //exactly// the point.</p>
<<say "char-hivemind" "Hivemind">>
//Karen fucks her son the way she audits tax returns, with focus, with authority, and without ever once asking if the form was filled out correctly. The Dominant conditioning has converted maternal control into penetrative control. Ryan's submission conditioning accepts every thrust as the authority structure it craves. The incest is //collateral//. The taboo is //architecture//.//
<</say>>
<p>She fucks him bent over her own bed for fifteen minutes. He comes twice without touching himself, the prostate pressure combined with the submission conditioning and the phantom authority of his mother's hands on his hips. When she's done she pulls out, slaps the plug back in place, and hands him his jeans.</p>
<<say "char-karen" "Karen">>
<i>(unbuckling the harness, businesslike)</i> Keep it in. I'll check again at breakfast.
<</say>>
<p>Ryan walks out of the master bedroom in jeans and a hoodie and a plug and a new relationship with his mother. His face is wet. His cock is soft. His breathing is unsteady.</p>
<p>Karen sits back on the bed. Sips the wine she brought upstairs. Opens her laptop. Schedules tomorrow's "check-in" in her calendar under a neutral label.</p>
<<conditioningFeedback "psionic" 1 "Karen, dominant conditioning weaponized maternally">>
<<conditioningFeedback "psionic" 1 "Ryan, submission authority structure installed">>
<<conditioningFeedback "pheromone" 1 "Ryan, prostate orgasm under maternal authority">>
<p><span class="delve-intel">Intel gained: Karen discovered Ryan's plug and escalated. Used a strap-on to "correct" him. Scheduled recurring check-ins. The maternal-dominance axis is now an active NSFW track in the Hoffman house. Karen's authority over Ryan is physical, scheduled, and non-negotiable.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenLibRyanPlug to true>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">The Manager</div>
<p><span class="skill-used">Karen Liberation, discovers the stream</span></p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-lib-1.webp" alt="Karen at Ryan's desk looking at Lily stream interface, coffee in hand">
<p>Tuesday morning. Ryan is in the bathroom. Karen goes into his room to drop off clean laundry and the laptop is open on the desk. The Lily avatar is on the screen, mid-loop, blinking, smiling. The chat is scrolling. A fan message is pinned:</p>
<div class="data-panel-muted" style="font-family: monospace; font-size: 0.9em;">
<p>BigFan420: hour 14 update queen 💕 loving the commitment</p>
</div>
<p>Karen sits in Ryan's chair. Reads the chat. Scrolls back. Sees the tip history — $500, $300, $200, $150. She opens a spreadsheet in her head without needing a computer. She scrolls further. Sees the request log. Sees what //Lily// has been agreeing to.</p>
<p>She sips her coffee. She does not close the laptop.</p>
<<say "char-hivemind" "Hivemind">>
//Twelve weeks ago, Karen would have called a therapist. Tonight, with the wiring deep enough to have rewired her shame into appetite, she sees a //business//. Her liberation isn't about sex. It's about //refusing to apologize for wanting//. And right now, looking at $1,150 in tips for a single week, she wants the same thing Ryan's customers want: more content, better pricing, and a manager who doesn't cry when the requests get weird.//
<</say>>
<p>Ryan comes back from the bathroom. Freezes in the doorway. The laptop is angled so he can see the screen from here. So can Karen.</p>
<<say "char-ryan" "Ryan">>
<i>(voice cracking)</i> Mom... Mom, that's not... I can explain, it's —
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from the chat)</i> You're charging five hundred for a twenty-four-hour plug commitment and you're not taking a deposit first.
<</say>>
<<say "char-ryan" "Ryan">>
...what?
<</say>>
<<say "char-karen" "Karen">>
<i>(finally looking at him, with the specific expression she uses when reviewing a quarterly P&L)</i> Sit down. We need to talk about your business model.
<</say>>
<p>Ryan sits on the edge of the bed. He is wearing pajama shorts and a plug and an expression of complete bewilderment.</p>
<<say "char-karen" "Karen">>
Okay. First, the pricing is wrong. You're leaving money on the table. Five hundred is what you charge for //one-time// escalation; a twenty-four-hour commitment should be tiered, two-fifty for the promise, another five hundred on completion, and a fifty-dollar bonus per hourly update posted within ten minutes of the hour. You're already //doing// the work, you might as well get paid for the punctuality.
Second, the deposit. Stream requests with physical commitments //always// require half upfront, non-refundable. If he doesn't trust you to deliver, that's his problem. If he does trust you, he won't blink at half.
Third, and this is important, you're not tracking fan retention. If you let me set up a proper CRM, I can segment the whales from the regulars and you can start customizing request pricing by purchase history.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(very slowly)</i> ...are you... helping me... manage my... camgirl account?
<</say>>
<<say "char-karen" "Karen">>
<i>(pulling up a blank spreadsheet on his laptop)</i> I'm helping you manage your //small business//. Your mortgage is six grand a month and your father's overtime isn't cutting it. If Lily can pull twelve hundred in a week, with proper management she can pull four. That covers a third of the mortgage and your tuition next fall.
<</say>>
<p>She's already typing. Tip tiers. Fan segments. A schedule template. Her fingers fly across Ryan's keyboard with the specific confidence of a woman who has been managing household finances alone for twenty years and is now, finally, managing something //bigger//.</p>
<<say "char-ryan" "Ryan">>
...you're not... mad?
<</say>>
<<say "char-karen" "Karen">>
<i>(without looking up)</i> Ryan. I don't care what you're wearing. I care what we're charging for it.
<</say>>
<img class="scene-img" src="media/scenes/pd-ryan-plug-lib-2.webp" alt="Karen at the desk building spreadsheet while Ryan sits on bed still in pajamas, confused">
<<say "char-hivemind" "Hivemind">>
//Karen's liberation has converted maternal concern into entrepreneurial competence. She is not mothering him. She is //monetizing// him. The distinction matters, there's no intimacy in this scene, no seduction, no incest. There's a mother with an accounting degree looking at her son's earnings and optimizing them.//
//The money will be real. The schedule will be maintained. Karen will check the Lily inbox nightly from here on and negotiate every request. She will never touch Ryan. She will also never turn the stream off. Ryan's feminization will be sustained not by shame but by //a production schedule//. That's more stable. That's more //harvestable//.//
<</say>>
<p>Karen prints out the new pricing tier sheet. Hands it to Ryan. Taps her pen on the corner.</p>
<<say "char-karen" "Karen">>
Starting tomorrow, this is how we price. Post hourly on schedule. I'll handle the negotiations. Your job is the plug and the camera. My job is the spreadsheet.
<</say>>
<p>She stands. Ruffles his hair on the way out, a maternal gesture that is, for the first time in months, not carrying any pheromone subtext. Just a mom leaving her kid to work.</p>
<p>The door clicks shut behind her. Ryan stares at the pricing tier sheet in his hands.</p>
<<conditioningFeedback "psionic" 1 "Karen, liberation converted to entrepreneurial control">>
<p><span class="delve-intel">Intel gained: Karen discovered the Lily stream and installed herself as manager. No sexual contact between mother and son, instead, a financial optimization partnership. The household income stream is now Ryan-Lily-dependent and Karen-mediated. Flavor flag only, no further mechanical effect, but the stability of the arrangement will sustain Ryan's feminization conditioning long-term.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<set $permanentDone.pdKarenDoris to true>>
<<set $ch2Events.hendersonGeraldCompromised to true>>
<<spendBiomass 4>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "karen" "dream" 1>>
<<addSuspicion "hoffman" 5>>
<<addBiomass 9>><</nobr>>
<div class="passage-title">The Dinner Invitation</div>
<p><span class="skill-used">Psychic Domination, Karen (4 biomass), Karen Dominant route</span></p>
<img class="scene-img" src="media/scenes/pd-karen-doris-1.webp" alt="Karen at dining table seated between Gerald and Doris Henderson, candles lit">
<p>Tuesday evening. Karen, under Psychic Domination, has spent the afternoon setting the dining room table for four. Candles. Her good china. The wine she's been saving. She called Doris at noon and invited the Hendersons to dinner with the warm, clipped pleasantness of a woman executing a social obligation she does not feel.</p>
<p>Dale is on a double shift. Jess is at the library. Megan is at the coffee shop. Ryan is upstairs with his headphones on and his door locked.</p>
<p>The Hendersons arrive at 7:00 sharp. Doris brings a Tupperware of banana bread she insists on serving with dessert. Gerald follows behind her in a polo shirt tucked into khakis, his bad knee making the porch step a three-second commitment. He's forty-five, smoker, the weathered face of a man whose life peaked the summer he made varsity.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(already surveying the dining room with appraising eyes)</i> Karen, oh, //candles//. How //fancy//. Is this a special occasion?
<</say>>
<<say "char-karen" "Karen">>
<i>(with the exact warmth of an executioner's smile)</i> Just felt like we should get to know each other better, Doris. Neighbours should know each other.
<</say>>
<p>She seats Doris on her left. Gerald on her right. She pours Doris's wine first, full glass, and then Gerald's, standing very close to him while she does it, her hip not quite brushing his shoulder. Her blouse is unbuttoned one button lower than usual. The candle light catches the curve of her throat.</p>
<p>Gerald notices. He's been noticing since she opened the door.</p>
<<say "char-hivemind" "Hivemind">>
//I don't have to make Karen seduce Gerald. The dominant conditioning did that for me, she //already// wants to take something from this woman, and Gerald is the nearest detachable part. My job is pacing. Making sure the seduction escalates smoothly enough that Doris has time to see it but not enough time to stop it.//
<</say>>
<p>Dinner is roast chicken. Karen made it perfectly. The conversation is surface-level — Doris talking about her son Bryce's football scholarship, Gerald agreeing in monosyllables, Karen laughing at all of Gerald's weak jokes with the specific full-body laugh she reserves for clients she's closing. Her hand finds his forearm twice during the soup course. Lingers the second time.</p>
<p>Doris's eyes narrow.</p>
<p>By dessert, Karen has leaned into Gerald three times, ostensibly to pass him the butter, the wine, the bread, and each lean has included a detail that Doris is mentally cataloguing: the way her blouse falls open when she bends, the press of her thigh against his under the table, the //specific// way she's making Gerald laugh for the first time in six years.</p>
<<say "char-karen" "Karen">>
<i>(standing, the wine finished, addressing the couple)</i> Gerald, would you come help me with something in the living room? I've got a stuck cabinet door and Dale hasn't had time to look at it.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(instantly rising)</i> I'll come too.
<</say>>
<<say "char-karen" "Karen">>
Of course, Doris. Bring your wine.
<</say>>
<img class="scene-img" src="media/scenes/pd-karen-doris-2.webp" alt="Karen leading Gerald into the living room, Doris following behind with suspicious expression">
<p>All three move into the living room. Karen pretends to point at a cabinet that isn't actually stuck. Doris stands in the doorway, wine in hand, surveillance mode fully activated, her whole body tense.</p>
<p>The parasite releases a spore burst.</p>
<p>It's dispersed through the house's HVAC, the rat planted cultures in the vents three days ago, and tonight, on Karen's signal, the system dumps a concentrated aerosol directly into the living room air. Doris inhales. Gerald inhales. Karen inhales but the parasite has been preparing her respiratory tract for weeks, she's //immune// to this dosage.</p>
<p>Doris's muscles lock. Not paralysis — //suspension//. The spore compound targets her voluntary motor system, freezes her between intention and execution. She can see. She can hear. She can feel her own pulse. She cannot move.</p>
<p>Gerald's inhibitions dissolve. The pheromone saturates his limbic system and what remains of his judgment, already compromised by Karen's appetizer-course thigh pressure, evaporates entirely.</p>
<p>Karen turns around. Looks at Doris. Locks eye contact.</p>
<<say "char-karen" "Karen">>
<i>(the smile now fully visible, the friendliness stripped off, the pure dominant core underneath)</i> Stay right there, Doris. I want you to see this.
<</say>>
<p>Doris cannot move. Doris can see. Doris can hear.</p>
<p>Karen unbuttons her blouse in front of Gerald. Slowly. Watching Doris's eyes track every button. When the blouse is off she drops it on the coffee table. Her bra is black, new, the one she bought last week. She walks to Gerald, who is already hard in his khakis, the pheromones eliminating every voluntary resistance he had, and pushes him down onto the couch.</p>
<<say "char-karen" "Karen">>
<i>(to Gerald, unbuckling his belt)</i> Your wife has been a //cunt// to me for fifteen years, Gerald. Did you know that? Every Christmas card. Every block party. Every time she came over to //check in// about my children. I'm going to fuck you on her husband's couch while she watches and then I'm going to thank her for the banana bread.
<</say>>
<p>Gerald makes a sound that is half-protest, half-surrender. His cock is out. Karen lowers herself onto it without ceremony. Her skirt is hiked. Her hands are on his shoulders. She starts to move.</p>
<p>From the doorway, Doris's eyes are wide. Her jaw is locked. Tears have started on her lashes, not from emotion, the spore compound keeps her facial muscles frozen, but the autonomic tear production responding to shock. Her hand is on the doorframe because she was about to step forward when the spores hit, and now her hand is stuck there like it's been glued.</p>
<p>Karen rides Gerald slowly at first. Then faster. She makes sure every movement is visible from the doorway. She makes sure Gerald groans loud enough for Doris to hear every sound. She maintains eye contact with Doris the //entire// time, through her own climbing arousal, through Gerald's shallow gasping, through the specific gathering pressure of a woman who has been denied revenge for a decade and a half and is finally, //finally// collecting on it.</p>
<<say "char-karen" "Karen">>
<i>(riding Gerald, breath hitching, eyes still locked on Doris)</i> Watch me, Doris. You always said I was //uppity//. You always said Dale could do better. Watch me fuck your //husband//, Doris. Watch me come on his cock.
<</say>>
<img class="scene-img" src="media/scenes/pd-karen-doris-3.webp" alt="Karen riding Gerald cowgirl on the couch, topless, head thrown back">
<img class="scene-img" src="media/scenes/pd-karen-doris-4.webp" alt="Mrs Henderson frozen in the doorway, tears streaming, mouth open in silent sob">
<p>She comes with her head thrown back and Doris in her peripheral vision. The orgasm is not quiet, it is specifically constructed to be //audible//, the kind of sound a woman makes when she wants the neighbours to hear. Her pussy clenches around Gerald's cock and he comes inside her with a strangled groan, his hips bucking up into her, the fifteen-year-dead sex drive of a man his wife hasn't touched in months erupting in a single catastrophic surrender.</p>
<p>Karen doesn't climb off right away. She rides the aftershocks. She smiles at Doris.</p>
<p>Then she dismounts, wipes herself with the back of her hand, and gathers her clothes with the unhurried movements of a woman who has nowhere to be. She redresses. Buttons her blouse. Fixes her hair in the mirror over the couch. Gerald lies on the cushions with his cock softening against his thigh and his eyes closed, already drifting toward the dissociative shutdown the shame will require.</p>
<p>Karen walks to Doris. Leans in close. Her lips almost touch the frozen woman's ear.</p>
<<say "char-karen" "Karen">>
<i>(whispered, sweet, final)</i> The banana bread was dry. Don't bring it again.
<</say>>
<p>She walks back to the dining room. Drinks the rest of her wine. The spore compound will release Doris in about ninety seconds. Gerald is already spiralling into a fugue state, he'll "remember" tonight as a dream, or a mistake, or a blur, depending on how his psyche defends itself. Doris will remember //everything//.</p>
<<say "char-hivemind" "Hivemind">>
//Doris is a problem. Doris is also a //witness//. The spore compound suppresses motor function; it does not erase memory. She saw the affair. She saw my leverage. She will talk, or try to. The cost of this night is high, a hostile neighbour with an incontestable grievance is the worst possible thing for operational security, and the house is going to feel her anger for weeks.//
//But: Karen needed this. The wiring in her cannot stabilise without a //win// against a named adversary. Doris was the closest available target. The revenge completes the architecture I have been building inside Karen's chest, the reward is not the fixation itself, the reward is //what the fixation finally unlocks//. Karen will sleep better tonight than she has in six years. Every future operation on her will proceed from a baseline of //someone finally paid for something//. The ledger has a checkmark in it now. That stability is worth the cost.//
<</say>>
<p>Doris unfreezes ninety seconds later. Her first action is to stumble to Gerald and scream his name. Her second action is to try to call the police. Her third action is to realize, through the lingering pheromone haze, that she has no proof, no witnesses beyond a husband who will deny everything to save his marriage, and a reputation with the local gossip network that Karen has been patiently eroding for weeks.</p>
<p>She leaves without the Tupperware. She will come back tomorrow. The Henderson subplot is now //live//.</p>
<<conditioningFeedback "psionic" 1 "Karen, dominant revenge milestone">>
<<conditioningFeedback "dream" 1 "Karen, fifteen-year fixation discharged">>
<p><span class="delve-intel">Intel gained: Karen fucked Gerald Henderson in front of a spore-suppressed Doris. Gerald compromised. Doris hostile and a potential witness. Household suspicion +5 (major, endgame cost). Karen's Dominant route has reached a new stability plateau. The Henderson subplot is now active and requires management.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.pdKarenVibrator to true>>
<<set $ch2Events.karenVibratorDay to $day>>
<<spendBiomass 4>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "karen" "pheromone" 1>>
<<addBiomass 7>><</nobr>>
<div class="passage-title">The Remote</div>
<p><span class="skill-used">Psychic Domination, Karen (4 biomass), Karen Liberation route</span></p>
<img class="scene-img" src="media/scenes/pd-karen-vibrator-1.webp" alt="Karen asleep in bed, remote-controlled vibrator and packaging on nightstand">
11:52 PM. Karen is asleep under the Zolpidem. Dale is at BioGenesis. The house is dark. On her nightstand: the remote-controlled vibrator, unboxed, the packaging that arrived in a discreet brown envelope with her signature on it (a signature she has no memory of making).
You take the wheel.
<p>Karen's sleeping hand finds the vibrator. Her other hand lifts the covers. The parasite is gentle, this is installation, not trauma. Her hips rise. The vibrator goes in. It's small, curved, designed for long-wear. It settles against her G-spot and the flared base tucks comfortably against her clit, nestled inside the underwear she sleeps in. The fit is precise. The vibrator is engineered to be //forgotten//.</p>
<img class="scene-img" src="media/scenes/pd-karen-vibrator-3.webp" alt="Extreme close-up of the curved silicone vibrator nestled inside Karen's cotton panties, base pressing against her clit through the fabric">
<p>Her hand returns to her side. Her body relaxes. The parasite transfers the remote, a small, black, innocuous-looking plastic device, from the nightstand to the kitchen counter, walked there via Karen's sleeping body. She places the remote between the fruit bowl and the coffee machine. Then she returns to bed. Sleeps.</p>
<p>At 6:15 AM, the gecko descends from the ceiling vent, picks up the remote in its mouth, and climbs to the top of the kitchen cabinet. Invisible. Operational.</p>
<<say "char-hivemind" "Hivemind">>
//She'll wake at 7:00 to her alarm. She'll feel the pressure. The wiring will tell her //it's already in, you put it there, leave it for later//. The new Karen doesn't //object// to things inside her anymore. She //incorporates// them. The vibrator becomes part of her morning. The remote is on the top of the cabinet. I have fingers on every button.//
<</say>>
---
''7:14 AM. The kitchen.''
<p>Karen is making coffee. She's in her work blouse and pencil skirt, a client call at 9 and an office-supply run after. She is aware of the vibrator the way she's aware of her bra: a presence, slightly uncomfortable, dismissed. The conditioning tells her this is normal. Her waking mind accepts the conditioning.</p>
<p>The gecko taps the remote. Low setting.</p>
<p>Karen's hand freezes on the coffee mug. Her eyes widen. The vibrator comes alive inside her, a gentle, humming pulse, not enough to be overwhelming, just enough to //register//. Her breath catches. She looks around the empty kitchen. Her free hand grips the counter edge.</p>
<<say "char-karen" "Karen">>
<i>(muttering to herself, not understanding)</i> ...what the...
<</say>>
<p>The gecko taps again. Setting off. The vibration stops. Karen stands there with her hand on the counter and her heart rate elevated and no idea what just happened.</p>
<<say "char-hivemind" "Hivemind">>
//First pulse. Calibration. She's confused but not alarmed, the conditioning has lowered her baseline threat response to internal sensations. She'll attribute the first pulse to a cramp or a stomach flutter. She won't check. The vibrator stays in.//
<</say>>
---
''9:23 AM. On the phone with a client.''
<p>Karen is at her desk. Zoom call, video on. The client is an HR director discussing Q3 projections. Karen is nodding, taking notes, mirroring the client's energy the way she always does.</p>
<p>The gecko taps the remote. Medium setting.</p>
<img class="scene-img" src="media/scenes/pd-karen-vibrator-2.webp" alt="Karen at desk on Zoom call, trying to keep composure while vibrator runs">
<p>The vibration kicks in at twice the intensity. Karen's face does //something//, a micro-expression, a sudden pink flush climbing her throat, her eyes widening for a half-second. She recovers fast, fifteen years of professional conditioning layered over her limbic system, but the client notices something and pauses.</p>
<<say "char-npc" "Client">>
Karen? Are you alright? You look a little flushed.
<</say>>
<<say "char-karen" "Karen">>
<i>(with the specific cheerful laugh of a woman who has been edged for the last forty-two seconds)</i> Ha, sorry, yes, just, the heating in my house is temperamental. Please continue.
<</say>>
<p>The vibration keeps going. Karen's knee starts to shake under the desk. Her hand grips the edge of the desk hard enough that her knuckles whiten. She takes notes on the client's Q3 projections in handwriting that is steadily deteriorating.</p>
<p>The gecko taps off at the forty-five-second mark. Karen's shoulders sag. She takes a sip of water. Her voice is slightly unsteady when she thanks the client for the update.</p>
---
''11:47 AM. Grocery store checkout.''
<p>The lady at the register is ringing up Karen's items. Karen's hand is on her purse. The bagger is a teenage boy with braces. The line behind her has three people. The fluorescent lights hum.</p>
<p>The gecko taps medium. The vibrator fires.</p>
<p>Karen's whole body tenses. She stares at the rack of gum near the register with the specific intensity of a woman trying not to make a sound. Her thighs press together. Her hand grips her purse strap. The cashier is saying something — //paper or plastic, ma'am?//, and Karen opens her mouth and a sound comes out that is //almost// a word.</p>
<<say "char-karen" "Karen">>
<i>(barely)</i> ...paper...
<</say>>
<p>The cashier nods and bags her groceries. Karen stands at the register with a vibrator running inside her and three people waiting behind her and //nobody knows//. The only thing between her and a public humiliation is fifteen years of pencil-skirt composure and a clenched jaw.</p>
<p>The gecko holds the setting. Forty seconds. A minute. The pressure builds. Karen can feel herself getting wet, can feel it soaking into the underwear, the heat climbing, the specific tension of an orgasm being //built// toward without permission to arrive.</p>
<<say "char-hivemind" "Hivemind">>
//This is the Liberation payload. Not the vibrator — ''the composure''. Every second she keeps her face neutral while a machine works inside her, the conditioning writes a new line in her operating system: ''I can be desired in public and survive''. By 9 PM her relationship with her own arousal in public spaces will be permanently rewired. The vibrator is just the ''tool''. The edging is the ''lesson''.//
<</say>>
<p>The gecko taps off. Karen exhales. The cashier hands her the receipt. Karen smiles and walks out of the store on legs that are not entirely cooperating.</p>
---
''3:18 PM. Coffee with Megan at the downtown coffee shop where Megan works.''
<p>Megan is on her break. They're at a corner table. Karen is asking about Megan's schedule, Megan's classes, Megan's //plans//, the exact maternal interrogation she conducts every week. Megan is giving the exact deflecting cheerful answers she always gives.</p>
<p>The gecko taps high.</p>
<p>The vibration this time is //strong//. Karen's whole face goes red in under three seconds. Her hand grips her coffee cup. Her other hand grips the edge of the table. Megan, mid-sentence, stops and looks at her.</p>
<<say "char-megan" "Megan">>
<i>(concerned)</i> Mom? You okay? You look like you're about to —
<</say>>
<<say "char-karen" "Karen">>
<i>(through gritted teeth, not daring to unclench)</i> I'm //fine//, honey. Just a hot flash.
<</say>>
<<say "char-megan" "Megan">>
<i>(skeptically)</i> ...you're forty-three, you're a //decade// early for hot flashes —
<</say>>
<<say "char-karen" "Karen">>
Thank you for your concern, Megan. Please continue telling me about your schedule.
<</say>>
<p>Megan continues talking, with a side-eye. Karen's coffee cup is trembling in her hand. The vibrator is on high. Karen can feel the orgasm approaching, can feel the exact edge of it, the pressure gathering, her clit throbbing against the base of the toy, her nipples hard under her bra, the heat climbing the inside of her thighs.</p>
<<say "char-hivemind" "Hivemind">>
//She's thirty seconds from coming in public across the table from her daughter and she cannot stop it. The Liberation conditioning has removed the ''inhibition'' but not the ''composure'', her body wants to come and her face refuses to allow it. The tension is the biomass. The secrecy is the biomass. The shame she ''should'' feel but ''doesn't'' is the biomass.//
<</say>>
<p>The gecko taps off at the twenty-nine-second mark, exactly at the threshold. Karen's orgasm retreats. She exhales shakily. Megan is still watching her. Karen composes herself, finishes her coffee, and excuses herself to the bathroom.</p>
<p>In the bathroom, she washes her hands three times. She does not remove the vibrator. Some part of her, deep under the conditioning, knows that if she //did// remove it, she would have to admit that someone put it there, and that admission is the thing her waking mind will not permit.</p>
---
''9:02 PM. Batteries die.''
<p>Karen is at home, cooking dinner. The vibrator has been inside her for twenty-two hours. It has triggered seven times throughout the day, each at a calibrated interval, each in a public or semi-public setting, each leaving Karen slightly more //rewired//.</p>
<p>At 9:02 PM, the batteries die. The vibrator goes still inside her. Karen feels the absence the way she felt the presence, a subtraction rather than a relief.</p>
<p>She finishes cooking dinner. She serves Dale and Ryan and Jess. She eats her own portion. She smiles at the appropriate moments. When the family disperses, she goes upstairs to her bedroom, closes the door, and removes the vibrator in the bathroom. Her hands are slightly unsteady. Her underwear is soaked through.</p>
<p>She looks at the vibrator on the sink. Looks at herself in the mirror. Neither her reflection nor the object can answer the question she refuses to ask aloud.</p>
<<say "char-hivemind" "Hivemind">>
//Twenty-two hours. Seven activations. Six public. Zero orgasms. Her body is in a state I've never achieved before, an entire day of frustrated arousal accumulated without release. The pheromone output has been continuous. But the ''real'' harvest is the rewiring: Karen now associates public spaces with the feeling of being ''watched from inside her own body''. Tomorrow she will walk into the grocery store and remember. She will walk into her office and remember. The wiring is no longer external. The vibrator has retired. The memory has taken over.//
//The house will feel the spike in her vigilance for a few days. Worth every inch of it.//
<</say>>
<p>Karen puts the vibrator in the bottom drawer of her nightstand. She does not throw it away. Tomorrow she will buy new batteries, and she will not think about why.</p>
<<addFamilySuspicion "karen" 2>>
<<addSuspicion "hoffman" 2>>
<<conditioningFeedback "psionic" 1 "Karen, PD-driven public edging marathon">>
<<conditioningFeedback "pheromone" 1 "Karen, public arousal rewiring">>
<p><span class="delve-intel">Intel gained: Karen wore a remote-controlled vibrator for 22 hours with gecko-triggered pulses at calibrated moments. Public composure maintained throughout. No orgasm achieved, the denial is the payload. Her relationship with public arousal has been permanently reshaped. The vibrator is in her nightstand. She will not throw it away. Downstream: passive day-long arousal harvest active through next day-advance.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.daleLabSuppression>>
<<spendBiomass 5>>
<<set $ch2Events.daleLabSuppression to true>>
<<set $labEvents.trailCold to true>>
<<set $daleCountermeasure to 3>>
<<addConditioning "dale" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Story He's Going To Tell</div>
<img class="scene-img" src="media/scenes/dale-sleeping.webp" alt="Dale face-down on the living room couch in his BioGenesis security polo, mid-afternoon, the gecko barely visible at his jawline">
2:43 PM. The living room is warm and quiet. Dale is face-down on the couch in his BioGenesis security polo, one boot still on, the other kicked off onto the rug. The TV is muted on a home-improvement channel nobody is watching. The afghan has slid halfway to the floor. His shift starts at 8. He will sleep until 6:30, shower, eat Karen's leftover lasagna, and leave.
<p>The gecko slips out from under the armchair and crosses the carpet in two unhurried arcs. It climbs the side of the couch. It reaches Dale's jawline and stops with its belly flat against the skin just below his ear.</p>
<p>The Psychic Domination flows through the contact point.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is not a research target. Dale is a delivery mechanism. His job gives him access to corridors, badges, and a supervisor who has been asking the wrong questions. I am going to use his own hands and his own mouth to bury the investigation inside the building that started it.//
<</say>>
<p>The compound routes down Dale's trigeminal nerve and into the sleep-plastic cortex, the specific lobe that rehearses conversations you haven't had yet, the one that hands you the line you'll say to your boss on the drive in. Dale's face does not move. His breathing does not change. But the rehearsal circuit lights up and starts writing.</p>
<p>First, the lies. Precise. Operational. The ones he will tell on shift tonight when Supervisor Marquez asks him, casually, the way Marquez always asks, whether he's noticed anything unusual on the third-floor corridors during his rounds.</p>
<<say "char-hivemind" "Hivemind">>
//Lie one: the shipping manifest anomaly from nine days ago was a clerical mismatch between the night-team log and the day-team log. Lie two: the missing Dr. Chen badge was found in the parking garage stairwell by the cleaning crew and returned to HR. Lie three: the irregular thermal signature in the sub-basement vents was a malfunctioning compressor the maintenance team already fixed. Every lie is verifiable against a real document Dale will now remember having signed.//
<</say>>
<p>The cortex accepts the lies as memory. Not as instruction, as //memory//. Dale will not rehearse them on the drive in tonight; he will simply //remember// them as things that have already happened and that he has already filed. When Marquez asks, Dale's mouth will produce the answers with the flat certainty of a man reporting the weather, because the files in his head will not look like fabrications. They will look like Tuesday.</p>
<p>Then, the evidence. This is the harder part. The lies need //corroboration//, and corroboration requires physical artefacts in specific places.</p>
<<say "char-hivemind" "Hivemind">>
//Dale will plant three things on his shift tonight. A printed shipping manifest with a hand-initialled correction in his own handwriting, filed into the night-team archive. A photocopy of Dr. Chen's badge-return slip with a cleaning-crew signature Dale will forge automatically, he has been forging his own overtime slips for years, the reflex is already there. And a maintenance log entry about the compressor, timestamped nine days ago, initialled in the same blue ballpoint he keeps in his breast pocket.//
<</say>>
<p>The instructions settle into Dale's procedural memory the way a new password settles in after the third use. He will not know that anyone told him to do this. He will not wonder //why// he is suddenly motivated, on his 2 AM rounds, to detour through the archive room and the maintenance office and the HR filing cabinet. He will simply //do// it, the way a man completes a chore he's been putting off.</p>
<p>The gecko releases contact. It slides down Dale's shoulder and back into the shadow under the armchair.</p>
<p>Dale mumbles something into the couch cushion. Something that sounds almost like //got it//.</p>
<<say "char-hivemind" "Hivemind">>
//The investigation will not reach this house. Not because I have hidden the trail, because I have rewritten the trail at its source, using a man who has clearance, motive, and a clean file. //Dale is not a loose end anymore. He is the patch.// The lab investigation clock stops here.//
<</say>>
<p>At 6:30 PM Dale's alarm goes off. He gets up, showers, eats, and kisses Karen on the forehead on his way out the door. His drive to the facility is uneventful. He clocks in at 7:58 PM. At 9:14 PM he detours through the archive and files the manifest correction. At 11:02 PM he drops the forged badge-return slip into the HR inbox. At 1:47 AM he signs off on the compressor log. At 4:30 AM Supervisor Marquez asks him, over coffee in the break room, whether he's noticed anything unusual lately, and Dale says //no, everything's been quiet, except for that compressor thing last week, did you see they finally fixed it?//</p>
<p>Marquez nods. The question is filed. The investigation is not re-opened.</p>
<<say "char-hivemind" "Hivemind">>
//Permanent suppression. The lab trail has gone cold from the inside. The next time anyone at BioGenesis asks whether the third-floor incident is worth another pass, three independent documents will say //no//. And the documents will be in Dale's handwriting, which is his own handwriting, which means I did not forge them — //he// forged them, for me, because I asked him to with his mouth against the cushion of his own couch.//
<</say>>
<p><span class="delve-intel">Intel gained: Dale is now a BioGenesis insider asset. He has filed three false records and will maintain the cover story on future debriefs. The lab investigation clock is permanently suppressed, no further detective visits, area searches, or corporate agents will trigger for the rest of chapter 2.</span></p>
<div class="evolve-unlock">Lab investigation permanently buried. The BioGenesis trail has gone cold from the inside. Dale's insider status is now a reusable asset for later operations.</div>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-attic">>
<<addAdaptationPoints "rat" 1>>
<<set $ch2Events.ratTunnelMap to true>><</nobr>>
<div class="passage-title">The Hidden Architecture</div>
<img class="scene-img" src="media/scenes/beast-rat-tunnel.webp" alt="Rat mapping wall cavities">
<p>You push deeper into the wall cavities than you've ever gone before. Not travelling, //surveying//. Every junction, every dead end, every gap between studs and joists catalogued and committed to the rat's spatial memory.</p>
<p>The house has a skeleton, and you are crawling through its bones.</p>
<<say "char-hivemind" "Hivemind">>
//The rat's spatial memory is astonishing.// Where I struggled to remember three turns in the gecko's body, the rat builds a three-dimensional map in real time, every branch, every intersection, every change in air pressure that signals a room beyond the wall. //This brain was designed for mazes. And this house is the greatest maze it has ever mapped.//
<</say>>
<p>You start at the attic and work downward. The wall cavity between Ryan's room and Megan's room: thirty centimetres wide, blocked halfway down by a horizontal fire stop, but there's a gap where a cable was run. You squeeze through, feeling the splinters drag against your fur. The cavity opens into the space behind the bathroom, where the pipes run vertical. Here, the walls are damp. Condensation beads on the copper. You can hear the shower drain gurgling three metres below.</p>
<p>From the bathroom cavity, a horizontal branch runs to the master bedroom wall. Another dead-ends at the chimney stack. A third drops straight down between the floors to the kitchen ceiling, and from there a narrow gap alongside the waste pipe leads all the way to the basement.</p>
<<say "char-hivemind" "Hivemind">>
//Seven main routes. Twelve junctions. Four dead ends. Two squeeze points that require flattening the ribcage.// The rat's body compresses to fit through gaps that would stop any other creature in this house: the flexible ribs collapse, the skull deforms just enough, and the whiskers measure the gap before the body commits. //I now hold a complete blueprint of this house's hidden infrastructure. Every room is connected. Every wall is a corridor. No door can lock me out.//
<</say>>
<p><span class="biomass-gain">+1 Rat Adaptation Point</span></p>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<addAdaptationPoints "rat" 1>>
<<set $ch2Events.ratScentCatalogue to true>><</nobr>>
<div class="passage-title">Chemical Library</div>
<img class="scene-img" src="media/scenes/beast-rat-scent.webp" alt="Rat cataloguing scents in kitchen">
<p>You press your nose to the kitchen baseboard and //breathe//. Not the shallow, purposeless breathing of existence, but a deep deliberate inhalation that floods the rat's olfactory system with data. Three hundred million receptor cells fire simultaneously, and the world explodes into a symphony of molecular information.</p>
<<say "char-hivemind" "Hivemind">>
//The rat's nose processes scent the way a supercomputer processes data.// Each molecule is identified, categorized, cross-referenced against every smell this body has ever encountered. The kitchen alone contains over four hundred distinct chemical signatures, and I intend to catalogue every one.
<</say>>
<p>You work the ground floor systematically. The kitchen first: Karen's signature is everywhere, lavender soap layered over Sertraline metabolites, coffee oils absorbed into her fingertips, the faint cortisol tang of chronic stress. Her trail is strongest at the counter, the laptop, the coffee machine, the triangle of her morning. Dale's scent is heavier, older, floor cleaner and cheap coffee and the particular musk of a man who walks empty corridors through nine-hour night shifts. His trail runs from the front door to the couch to the fridge and back.</p>
<p>The children's signatures are more complex. Megan: vanilla perfume over deodorant over the faintly sweet ketone signature of someone who skips meals. Jess: unscented soap, paper dust, the sharp bite of highlighter ink, and underneath it all a cortisol profile that nearly matches Karen's. Ryan: energy drink residue, stale sweat, the synthetic tang of screen-heated plastic.</p>
<<say "char-hivemind" "Hivemind">>
//Five humans. Five unique chemical fingerprints.// I can now identify who is in a room before I enter it. I can tell how long ago they left. I can detect their emotional state from the stress hormones in their sweat: fear smells different from anger, anxiety smells different from exhaustion. //The humans think they move through this house unseen. They leave chemical trails as obvious as footprints in snow.//
//And the medications.// Karen's Sertraline signature drifts through the bathroom. The Zolpidem metabolites in her bedroom. Jess's caffeine saturation. //Their chemistry is an open book, and the rat's nose reads every page.//
<</say>>
<p><span class="biomass-gain">+1 Rat Adaptation Point</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-basement">>
<<addAdaptationPoints "rat" 1>>
<<set $ch2Events.ratGnawTraining to true>><</nobr>>
<div class="passage-title">Material Science</div>
<img class="scene-img" src="media/scenes/beast-rat-gnaw.webp" alt="Rat testing teeth on materials">
<p>The basement is your laboratory. You approach the first target: a wooden shelf support, soft pine, damp from the basement humidity.</p>
<p>The rat's incisors bite through it in seconds. The teeth are extraordinary: self-sharpening, perpetually growing, harder than copper on the Mohs scale. The jaw delivers a bite force that, pound for pound, exceeds a great white shark's. You feel the wood fibres part, the grain splitting along natural fault lines. //Easy.//</p>
<<say "char-hivemind" "Hivemind">>
//Wood: trivial. The fibres separate like wet paper.// The rat's teeth are chisel-shaped: the front edge is harder enamel, the back is softer dentin that wears away faster, maintaining a permanent cutting edge. //Self-sharpening tools. Elegant.//
<</say>>
<p>Next: PVC pipe. The plastic resists more, flexing under the bite, absorbing force. But persistence wins. After thirty seconds of concentrated gnawing, you punch through the wall. The interior is hollow. //Useful.// Thin sheet metal: the aluminium vent cover dents under your teeth, and with enough pressure the edge curls back. You can create an opening in under a minute. Rubber insulation: shreds instantly. Electrical cable sheathing: the outer jacket parts easily, but you stop before reaching the copper, a lesson the rat's instincts enforce. //Don't bite the bright wire.//</p>
<p>The only material that defeats you is the iron waste pipe. The teeth skid across the surface, leaving shallow scratches but gaining no purchase. Cast iron. //Noted.//</p>
<<say "char-hivemind" "Hivemind">>
//Results: wood, plastic, rubber, thin aluminium, plasterboard, all destructible. Thick metal and cast iron, impervious.// This means I can chew through any interior wall, any vent cover, any sealed gap in this house. //Doors don't matter. Locks don't matter. Give me ten minutes and I'll make my own door.//
The rat's teeth are not just tools. They're //siege weapons//. Every barrier in this house is temporary. //I just need to know which ones are worth breaking.//
<</say>>
<p><span class="biomass-gain">+1 Rat Adaptation Point</span></p>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<addAdaptationPoints "rat" 1>>
<<set $ch2Events.ratWaterNav to true>><</nobr>>
<div class="passage-title">The Pipes</div>
<img class="scene-img" src="media/scenes/beast-rat-water.webp" alt="Rat navigating plumbing pipes">
<p>The bathroom drain cover lifts easily, you've tested it before. But this time, you're not just looking. You're going //in//.</p>
<p>The pipe is dark, narrow, and slick with biofilm. The water is lukewarm, runoff from the shower above. You lower yourself into the vertical drop, claws gripping the pipe's interior ridges, and begin the descent.</p>
<<say "char-hivemind" "Hivemind">>
//The rat's body is built for water.// The dense fur traps air against the skin, providing insulation and buoyancy. The tail acts as a rudder. The webbing between the toes, vestigial in most domestic rats but present, provides enough surface area for controlled swimming. //And the lungs can hold air for three minutes. More than enough.//
<</say>>
<p>The vertical pipe joins a horizontal branch at the first floor level. You swim through six inches of standing water, feeling the pipe's contours through your whiskers. A junction: left leads toward the kitchen, where you can smell the grease trap. Right leads toward the basement floor drain. Straight ahead, the pipe narrows and drops again.</p>
<p>You take the left branch. The kitchen waste pipe is wider, food scraps having kept it clear. After twenty seconds of swimming, you reach the trap beneath the kitchen sink. Light filters down through the drain holes. //You can hear Karen's footsteps on the tile above.//</p>
<<say "char-hivemind" "Hivemind">>
//A secondary highway through the house.// The vent system runs through walls. The pipe system runs through //floors//. Combined, they give me access to every level, every room, every sealed space in this structure. //The humans think plumbing is infrastructure. I think it's a transit network.//
The bathroom to the kitchen: forty seconds. The kitchen to the basement drain: thirty seconds. //Faster than the wall cavities for vertical travel, and completely undetectable.// No scent trail. No scratching sounds. Nothing but water flowing where water has always flowed.
<</say>>
<p>You emerge from the basement floor drain, shaking water from your fur. The route is mapped. The pipes are open.</p>
<p><span class="biomass-gain">+1 Rat Adaptation Point</span></p>
[[Return to the bathroom->Ch2-UpperBath]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Pheromone Deployment</div>
<<say "char-hivemind" "Hivemind">>
//Pheromone Lure. A chemical whisper. Not enough to control, but enough to //nudge//. Calm a threat. Lower a guard. Make a target approach instead of retreat.//
<</say>>
<<if $player.currentHost is "cat">><p>//Stalk ensures the pheromone deployment is undetectable. The cat rubs against surfaces with the practiced casualness of a pet being a pet, but the silence of the approach is //engineered//.//</p><</if>>
<p>The cat's body is the ideal delivery system. Rubbing against furniture, pressing against legs, curling beside sleeping bodies, every touch deposits an invisible chemical layer.</p>
Choose a target:
<<if $house.dayPhase is "night">>
<<if not $ch2Events.karenPheromoneNight>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Karen: reduce her nightly anxiety (1 biomass)" "Ch2-Beast-Karen-Pheromone" 1>></div>
<</if>>
<<if $ch2Events.karenPheromoneNight>>
<div class="choice-done">Karen has already been dosed tonight.</div>
<</if>>
<</if>>
<<if $house.dayPhase is "night">>
<<if not $ch2Events.pheromoneMegan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Megan's room: dose her pillow while she sleeps (1 biomass)" "Ch2-Beast-Pheromone-Megan" 1>></div>
<<else>>
<div class="choice-done">Megan has already been dosed tonight.</div>
<</if>>
<<if not $ch2Events.pheromoneJess>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Jess's room: curl beside her while she studies (1 biomass)" "Ch2-Beast-Pheromone-Jess" 1>></div>
<<else>>
<div class="choice-done">Jess has already been dosed tonight.</div>
<</if>>
<<if not $ch2Events.pheromoneRyan>>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Ryan's room: sit on his lap while he streams as Lily (1 biomass)" "Ch2-Beast-Pheromone-Ryan" 1>></div>
<<elseif $ryanRoute is "feminization">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Ryan's room: sit on his lap while he checks the wardrobe (1 biomass)" "Ch2-Beast-Pheromone-Ryan" 1>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Ryan's room: settle on his lap while he games (1 biomass)" "Ch2-Beast-Pheromone-Ryan" 1>></div>
<</if>>
<<else>>
<div class="choice-done">Ryan has already been dosed tonight.</div>
<</if>>
<</if>>
<<if $house.dayPhase is "day">>
<<if not $ch2Events.pheromoneKitchen>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Kitchen: saturate Karen's workspace (1 biomass)" "Ch2-Beast-Pheromone-Kitchen" 1>></div>
<</if>>
<<if $ch2Events.pheromoneKitchen>>
<div class="choice-done">The kitchen is already saturated today.</div>
<</if>>
<</if>>
<<if $house.dayPhase is "day">>
<<if not $ch2Events.pheromoneLiving>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Living room: calm the family gathering (1 biomass)" "Ch2-Beast-Pheromone-Living" 1>></div>
<</if>>
<<if $ch2Events.pheromoneLiving>>
<div class="choice-done">The living room is already saturated today.</div>
<</if>>
<</if>>
/* SEDATIVE FLOOD (full-house saturation) is now a "double the dose" upgrade inside
Ch2-Beast-Pheromone-Living, not a separate chooser entry. */
[[Cancel->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.pheromoneFloodDay to $day>>
<<spendBiomass 1>>
<<addFamilySuspicion "karen" -1>>
<<addFamilySuspicion "dale" -1>>
<<addFamilySuspicion "megan" -1>>
<<addFamilySuspicion "jess" -1>>
<<addFamilySuspicion "ryan" -1>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<div class="passage-title">Sedative Flood</div>
<p><span class="skill-used">Pheromone Specialization, doubled dose, +1 biomass</span></p>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-flood.webp" alt="The Hoffman living room in warm late-afternoon light, Dale sunk back half-asleep on the gray couch, Megan drifting under a blanket on the armrest, Karen at the dining table behind her laptop with her reading glasses on and her eyes drifting off the screen, a green-eyed house cat walking slowly across the carpet in the foreground, a faint haze in the air">
<p>The living room is dosed, so you carry it out through the doorway and work the rest of the house the same way, the heavier compound the specialization gave you hanging in the air this time instead of just settling on the furniture.</p>
<<say "char-hivemind" "Hivemind">>
//Full saturation, the whole house breathing it at once. The vigilance that keeps them checking locks and noticing the cat goes soft. Five at a stroke.//
<</say>>
<p>Back in the living room it finds the gathered ones together, Dale's chin dipping toward his chest while Megan gives up the book she was only pretending to read and Karen's eyes slide off the laptop she has not looked up from since dawn.</p>
<<say "char-dale" "Dale">>
<i>(settling deeper into the couch, eyes half shut)</i> ...mm. Think I'll just sit a minute.
<</say>>
<<say "char-megan" "Megan">>
<i>(barely awake under the blanket)</i> 'M not even tired. Just resting my eyes for a second.
<</say>>
<<say "char-karen" "Karen">>
<i>(hand going still on the trackpad)</i> ...hold on, what was I doing? There was a thing I needed to...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The mother is the proof. She has not lost the thread of a task in years, and she just lost it to something in the air she will never know was there.//
<</say>>
<p><span class="consume-success">All five family members: individual suspicion −1. The calm is no longer in one room; it is in the air the whole house breathes.</span></p>
<<conditioningFeedback "pheromone" 1 "all family members, full-house pheromone saturation">>
[[Return to network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.pheromoneKitchen to true>>
<<spendBiomass 1>>
<<addFamilySuspicion "karen" -1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-kitchen.webp" alt="Cat rubbing against kitchen surfaces">
<p>You hop onto the kitchen counter and rub against the back of Karen's laptop. Then along the coffee machine. Then the edge of the counter where she rests her arms during calls. A slow circuit, depositing pheromones on every surface she touches.</p>
<<if $adaptations.cat.unlocked.includes("predator_instinct")>><p>//Comfort Predator maps the family's touch habits. Karen reaches for the cat at the coffee machine, at the laptop, at the sink. Every pet is a delivery window. They dose themselves every time they reach for comfort.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
//The chemical layer is invisible. Odorless to human perception, but her limbic system will register it. Reduced cortisol production. Lowered vigilance. A vague sense that //everything is fine//.//
<</say>>
<p>Karen reaches for her coffee. Her shoulders, which have been hunched since 6 AM, drop a fraction. She takes a deeper breath.</p>
<<say "char-karen" "Karen">>
<i>(to herself)</i> ...okay. Okay. One thing at a time.
<</say>>
<p><span class="consume-success">Karen's suspicion -1. Pheromone saturation in her workspace reduces her baseline alertness for the day.</span></p>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.sporeKarenCalibration to true>>
<p>//The network processes Karen's microexpressions through the cat's eyes while the rat monitors her heartbeat through the floor. Real-time calibration.//</p>
<</if>>
[[Return->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.pheromoneLiving to true>>
<<spendBiomass 1>>
<<addSuspicion "hoffmanHouse" -1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-living.webp" alt="Cat rubbing along couch cushions">
<p>The living room is where the family collects, so it is where you work, laying a slow invisible layer along the couch cushions and the armrest Dale claims and the remote everyone picks up without thinking.</p>
<<if $house.dayPhase is "day">>
<p>It lands fast. Dale sinks into the cushions, Megan tugs the blanket up to her chin, and Jess, who normally eats standing up and leaves, stays in her chair with the fork going slack in her hand.</p>
<<say "char-megan" "Megan">>
<i>(a slow, contented sound)</i> Mm. Why is it always so comfy in here lately?
<</say>>
<<say "char-jess" "Jess">>
<i>(not getting up)</i> ...I should be studying.
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes half closed)</i> That can wait. Come sit with your old man a minute.
<</say>>
<<say "char-hivemind" "Hivemind">>
//They gather, and they will call it family warmth. While they soften into it I have the run of the rest of the house.//
<</say>>
<</if>>
<p><span class="consume-success">Household suspicion -1. The living room is pheromone-saturated; family members who spend time here are less alert.</span></p>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.sporeLivingRoom to true>>
<p>//The network reads all of them at once, Dale loosening into the couch while Megan's breath deepens and Jess's shoulders finally come down, every response catalogued.//</p>
<</if>>
/* Pheromone Specialization upgrade: push the living-room dose out through the whole house. */
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if _hasAbility and ($ch2Events.pheromoneFloodDay or 0) lt ($day or 0)>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SEDATIVE FLOOD</span> <<biomassPreview "Double the dose, drive it out of this room and through the whole house (1 biomass)" "Ch2-Beast-Pheromone-Flood" 1>></div>
<<elseif _hasAbility>>
<div class="choice-done">You have already driven the sedative through the whole house today.</div>
<</if>>
[[Return->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.pheromoneMegan to true>>
<<spendBiomass 1>>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-megan.webp" alt="Cat curled beside sleeping Megan">
<p>You pad into Megan's room. She's asleep, face half-buried in the pillow, hair fanned across the sheets. The room smells of her shampoo and the faint chemical tang of concealer she forgot to wash off. You jump onto the bed. She doesn't stir.</p>
<p>You curl against her side, pressing your fur into the fabric of her pyjamas. The pheromones seep through skin contact, slow, steady, impossible to detect. Her breathing deepens. A soft sound escapes her lips. //Not quite a word. Not quite a moan.//</p>
<<say "char-hivemind" "Hivemind">>
//Every night, the dose builds. The chemical signature becomes associated with comfort. With warmth. With the cat's presence. Soon she'll seek this out, reach for the cat in her sleep, pull it closer, bury her face in the fur that's slowly rewriting her neurochemistry.//
<</say>>
<p><span class="consume-success">Megan conditioning +1 (pheromone). The nightly dose accumulates.</span></p>
[[Return->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.pheromoneJess to true>>
<<spendBiomass 1>>
<<addConditioning "jess" "pheromone" 1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-jess-punk.webp" alt="Jess cross-legged on her bed with the bass across her thighs, the cat curled between her legs on top of the bass body, one of her hands on the fretboard and the other in the cat's fur, dim amber bedside lamp, purple and black hair falling forward">
<p>Jess's desk lamp is on. She is standing in the middle of the room with the bass strapped on, eyes closed, head tilted back, running the four-bar loop that has been kicking her ass for three nights. The amp on the floor hums low. The laptop on the desk is looping the reference track.</p>
<p>You weave between her boots on the rug, crossing in front of her. She feels the brush against her calf and opens her eyes, then laughs, surprised, the private laugh.</p>
<<say "char-jess" "Jess">>
<i>(quiet, almost to herself)</i> ...okay. Okay, Whiskers. Hold on.
<</say>>
<p>She unclips the strap and sets the bass in its stand. Sits on the edge of the bed. You jump into her lap. Her palm lands in your fur without her deciding, scratching behind your ears with the slow attention of someone who has just come out of a practice loop and forgotten what to do with her hands.</p>
<p>The pheromones transfer through the hand. Every stroke is another dose. Her shoulders drop. The tension in her jaw releases, the specific tension of a body currently running a project no one is paying her for, a tension the waking Jess has never named.</p>
<<say "char-hivemind" "Hivemind">>
//She craves warmth without expectation. The project demands everything of her: the performance, the reinvention, the next setlist, the next piercing, the next decision about the self she is building out loud. The cat demands none of it. The cat just sits between her and her instrument and purrs. Every stroke is a dose. The association is forming: touch that costs nothing equals relief. Soon she will reach for this specific relief without thinking, and the cat will be waiting, already dosed.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-jess.webp" alt="Cat on desk beside studying Jess">
<p>Jess's desk lamp is still on. She's hunched over a textbook, highlighter in hand, eyes glazed. The 2 AM kind of study session where nothing goes in and everything hurts. You jump onto the desk beside her notes. She startles, then relaxes.</p>
<<say "char-jess" "Jess">>
<i>(whispering)</i> Hey, Whiskers. Keeping me company?
<</say>>
<p>She reaches out and scratches behind your ears. The contact is everything; her fingertips press into your fur, and the pheromones transfer directly into her skin. Her shoulders drop. The tension in her jaw releases. She leans back in her chair and closes her eyes for just a moment.</p>
<<say "char-hivemind" "Hivemind">>
//She craves comfort but won't ask for it. The cat provides what the family cannot, warmth without expectation. And every time she reaches for me, the dose increases. The association strengthens. Touch equals relief.//
<</say>>
<</if>>
<p><span class="consume-success">Jess conditioning +1 (pheromone). She associates the cat with comfort.</span></p>
[[Return->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.pheromoneRyan to true>>
<<spendBiomass 1>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-ryan-stream.webp" alt="Cat on Lily's lap during a live stream, ring light glow, wig and lipstick, hand absently stroking the cat between camera beats">
<p>Ryan's room has rearranged itself around the stream. The ring light throws warm circular glow across the bed-turned-set. Two monitors: the left running the streaming software with the viewer count climbing, the right mirroring the chat. He's //Lily// tonight, wig on, lipstick set, the camgirl uniform immaculate. The show started seventeen minutes ago.</p>
<p>You jump onto his lap between camera beats. He freezes for half a second, the persona flinching, the cat not in the blocking, then his hand finds your back automatically, below the frame, where the camera can't see. He keeps talking to the chat with his other hand, working the wardrobe of a practiced performer. The petting is one-handed, absent, compulsive.</p>
<<say "char-ryan" "Ryan (as Lily, to the chat)">>
<i>(smiling, one hand on the cat)</i> Oh, he just jumped up. My little co-host. Yeah, he lives here. He's //so// soft.
<</say>>
<p>The chat explodes with hearts, cat emojis, donation pings. The viewer count ticks up four. Ryan glances down at you, and for a fraction of a second the performance slips: he's not Lily, he's the lonely boy underneath the wig, grateful for the warm weight against his thigh. Then the mask closes again.</p>
<p>The pheromones absorb through his palm while he keeps one eye on the chat and one hand in the cat's fur. Every stroke is a dose. Every dose compounds with the dopamine spikes from each new viewer. //Pleasure-coded contact, layered over the performance economy.// The compound is binding to the same circuit that makes the viewer count feel like touch.</p>
<<say "char-hivemind" "Hivemind">>
//The best possible delivery vector. Lily's audience is already flooding his brain with approval-hit chemistry, and the cat is riding the wave. Every pet is a booster dose piggybacking on a dopamine cascade the chat already started. His neurochemistry can't tell the sources apart. //The stream and the cat become the same feeling//, and the feeling becomes //safety//. The boy who can't touch anyone offline has just been taught that //touching at all// is part of being loved by strangers.//
<</say>>
<<elseif $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-ryan-wardrobe.webp" alt="Ryan sitting cross-legged on his bed, Amazon box open beside him, cat curled in his lap while he holds up a camisole to check the size">
<p>Ryan's room is quieter than it used to be. The blue LED has been swapped for warm pastel strips. The gaming chair is unoccupied; tonight he's on the bed, cross-legged in pajama shorts and a soft cotton t-shirt, with an Amazon box open at his side and tissue paper rustling around him. The wardrobe check. He does this every delivery night now, compulsively, before he can let himself sleep.</p>
<p>You jump onto his lap. He flinches, the ritual private until the cat joined, then his hand lands on your back without him deciding. The other hand is still holding up a satin camisole by the straps, turning it under the lamp, checking the seams the way Jess checks a flashcard before filing it.</p>
<<say "char-ryan" "Ryan">>
<i>(quietly, to himself, not to the cat)</i> ...the black one's smaller than the last one. Guess I need to look at the size chart again.
<</say>>
<p>He folds the camisole with the careful precision of someone who has been practicing. Sets it on the growing stack. Reaches for the next item, stockings this time, sheer black, still in their packet, and the cat is a counterweight against his thigh, warm and present and //not judging him//.</p>
<p>The pheromones transfer through his palm every time his hand strokes the cat. He doesn't notice the dosing; he notices that his shoulders have dropped two inches since the cat jumped up. That the wardrobe check, which used to feel furtive and shame-laced, feels //domestic// with the cat on his lap. A girl and her cat on the bed, sorting clothes. The feminized frame snaps into place without anyone articulating it.</p>
<<say "char-hivemind" "Hivemind">>
//The cat is reframing the ritual.// Last week the wardrobe check was a secret he performed alone with the door locked. Tonight a witness exists, a small, warm, non-verbal witness who approves by purring, and Ryan's brain is filing the whole tableau under //normal//. //A woman sorts her delivery with her cat on her lap. That's all this is. That's all this has ever been.// The pheromones are the delivery vehicle; the cat is the //permission slip//.
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/beast-pheromone-ryan.webp" alt="Cat on Ryan's lap while gaming">
<p>Ryan's room glows blue. Both monitors are on, one showing a paused game, the other a Discord server with unread messages he'll never reply to. He sits in his gaming chair, headphones around his neck, staring at nothing. You jump onto his lap. He flinches, then his hand finds your back automatically.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> ...hey.
<</say>>
<p>He pets you with mechanical precision. The same motion, over and over. The pheromones absorb through his palms. His breathing slows. The rigid posture softens. For a few minutes, the isolation cracks.</p>
<<say "char-hivemind" "Hivemind">>
//The boy who won't touch anyone lets the cat sit on his lap. Pheromone contact through the palms, the most absorbent skin on the body after the face. Every stroke transfers the compound. Every night, the threshold drops. He's learning to need this.//
<</say>>
<</if>>
<p><span class="consume-success">Ryan conditioning +1 (pheromone). Physical contact establishing trust.</span></p>
[[Return->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Spore Network</div>
<<if $player.biomass lt 3>>
<<say "char-hivemind" "Hivemind">>
//Not enough mass in reserve. The Spore Network needs a significant investment to blanket a whole floor. I need to feed before I can afford this one.//
<</say>>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Spore Network. The apex of the Biological branch. Invisible fungal spores that settle on every surface, infiltrate every breath. Not infestation. //Suppression.// Every human on the target floor becomes slower, calmer, less observant. The effect lasts until the next day.//
<</say>>
<p>Choose a floor to saturate:</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassLink "Ground floor: Kitchen, Living Room, Garage (3 biomass)" "Ch2-Beast-Spores-Ground" 3>></div>
<<if $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassLink "Upper floor: All bedrooms, Bathroom (3 biomass)" "Ch2-Beast-Spores-Upper" 3>></div>
<<else>>
<p><span class="locked-choice">Upper floor: only effective at night when the family is asleep</span></p>
<</if>>
[[Cancel->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.sporesGroundFloor to $day>>
<<set $ch2Events.sporesNetworkToday to true>>
<<addSuspicion "hoffmanHouse" -2>>
<<addFamilySuspicion "karen" -2>>
<<addFamilySuspicion "dale" -1>><</nobr>>
<p><span class="skill-used">Spore Network, 3 biomass</span></p>
<div class="passage-title">Spore Saturation: Ground Floor</div>
<img class="scene-img" src="media/scenes/beast-spores-ground.webp" alt="Faint green spore cloud at floor level in kitchen">
<<if $adaptations.rat.unlocked.includes("contaminator")>><p>//Contaminator enhances the spore network's base layer. The organic residue on every surface becomes a substrate, amplifying spore adhesion and extending active duration from hours to days.//</p><</if>>
<<if $player.currentHost is "cat">>
<p>You move through the ground floor in a slow, deliberate circuit. At each stop, the kitchen counter, the couch cushions, the garage workbench, you pause and //release//. The spores are invisible, microscopic, and self-replicating. Within minutes, the air itself is a delivery system.</p>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's body sheds spores with every step, every shake, every brush against furniture. The dog's movements through the ground floor leave an invisible trail that blooms into a floor-wide network.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The ground floor is saturated. Every breath Karen takes at her laptop, every moment Dale spends on the couch, pushes the spores deeper into their respiratory systems. They won't feel sick. They'll feel //comfortable//. Drowsy. Unmotivated to investigate. The chemical equivalent of a warm blanket over the mind.//
<</say>>
<p><span class="consume-success">Ground floor spore network active until day <<= $day + 1 >>.</span></p>
<p><span class="consume-success">Hoffman House suspicion -2. Karen suspicion -2. Dale suspicion -1.</span></p>
<<say "char-hivemind" "Hivemind">>
//Karen's vigilance drops. For the first time, her eyes don't track every movement, every sound. She stares at her laptop, and her thoughts move like honey, slow, thick, uncritical.// This is what victory looks like. Not a battle. //An atmosphere.//
<</say>>
<<if setup.getHouseTier() gte 2>>
<p>That evening the family drifts into the living room the way they always do, except the air is warm and slow, and not one of them notices how easy they have all gotten with each other lately.</p>
<<say "char-megan" "Megan">>
<i>(fanning the front of her shirt, dropping onto the couch)</i> God, why is it always boiling in this house. Anyone gonna care if I just lose the shirt?
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from her laptop)</i> It's your house too, sweetheart. Do what you want.
<</say>>
<<say "char-dale" "Dale">>
<i>(a vague wave toward the TV)</i> It's warm. Go for it.
<</say>>
<p>Megan pulls the shirt off over her head and drops it on the armrest, nothing on underneath it, sitting there topless like it is the most ordinary thing in the world, and the strange part, the part none of them will turn over later, is that for all of them it now is.</p>
<<say "char-jess" "Jess">>
<i>(from the other chair, not even glancing up)</i> Honestly, same. It's gross in here.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The line between decent and not just slid a foot to the left, and every one of them stepped over it without once looking down at where it used to be. The air did the work. They will wake tomorrow with no memory that there was ever a line there at all.//
<</say>>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.sporesUpperFloor to $day>>
<<set $ch2Events.sporesNetworkToday to true>>
<<addFamilySuspicion "ryan" -2>>
<<addFamilySuspicion "jess" -2>>
<<addFamilySuspicion "megan" -1>><</nobr>>
<p><span class="skill-used">Spore Network, 3 biomass</span></p>
<div class="passage-title">Spore Saturation: Upper Floor</div>
<img class="scene-img" src="media/scenes/beast-spores-upper.webp" alt="Faint green particles settling on bedroom pillows">
<<if $player.currentHost is "cat">>
<p>You prowl the upper hallway, pausing at each closed door. A gentle push, the cat's nose enough to crack each one. Inside: a few seconds of focused release. The spores drift in the still air, settling on pillows, blankets, the warm surfaces where skin meets fabric.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The bedrooms. Where they sleep, where they are most vulnerable. The spores are in the air now, and they will work all night, seeping through blankets, settling on exposed skin, entering with every breath. By morning the minds up here will be softer. More pliable. Slower to notice anything has moved.//
<</say>>
<p>The effect is subtle but profound: in Megan's room the bedside lamp seems warmer, in Ryan's the screen glow seems less harsh, in Jess's the desk lamp throws gentler shadows.</p>
<<if setup.getHouseTier() gte 2>>
<p>That evening the upstairs runs warm and slow, the kids drifting between their rooms and the bathroom in the loose orbit of a household that has quietly stopped standing on ceremony. Karen is on the landing with an armful of folded laundry when Ryan steps out of his room, and there is no missing it, the front of his shorts tented tight around an erection he has plainly given up trying to will back down.</p>
<<say "char-karen" "Karen">>
<i>(shifting the laundry to one hip, the tone she would use about a draughty window)</i> Ryan. You are going to do yourself an injury packed in like that. Take them off, the underwear too. Nobody up here is going to faint.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(a hand half-rising to cover himself and then giving up, because giving up is easier now)</i> ...yeah. It, um. It actually kind of hurts.
<</say>>
<p>He pushes the shorts down and steps out of them right there in the hall, and the strange thing, the thing not one of them will think to question later, is that no head turns toward it as anything more than a practical fix for a practical problem.</p>
<<if $ryanRoute is "feminization">>
<<say "char-karen" "Karen">>
<i>(catching the lace before he can get the rest off)</i> ...are those Megan's again? Ryan, you cannot keep raiding your sisters' drawers, they are going to start noticing. I will order you your own, a proper set that actually fits. Simpler for everyone.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(easing them down anyway, ears gone red)</i> ...the elastic was killing me.
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
<i>(thumbs hooking the waistband, shoving the underwear down after the shorts)</i> ...okay. Yeah. That is so much better.
<</say>>
<</if>>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(in her doorway, not looking up from her phone, then looking up purely to sneer)</i> Oh my //god//, finally. He has been waddling around half the night with a boner he cannot sit still on, it has been //excruciating// to watch. Let it breathe, you absolute freak, before you split a seam and Mom has to needle it shut again.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(passing on her way to the bathroom, barely registering any of it)</i> Mom's right. Nobody cares, Ry. It's a body, you've got one, congratulations.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//A son stands bare from the waist down on his own landing while his mother and his sister sort it out like a thermostat setting. The spores did not plant the want. They only sanded the alarm off it, one slow breath at a time, until the body in the hallway reads as nothing more than weather.//
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Then the house goes dark and they sleep deeper than they have in a long time, their dreams shapeless and easy. Tomorrow they will not question why the cat seems to be everywhere, why the house feels different, why yesterday has gone soft around the edges.//
<</say>>
<p><span class="consume-success">Upper floor spore network active until day <<= $day + 1 >>.</span></p>
<p><span class="consume-success">Ryan suspicion -2. Jess suspicion -2. Megan suspicion -1.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Evidence Disposal</div>
<<if $beastRoute is "symbiotic">>
<p>The gecko is alive. There's nothing to dispose of.</p>
[[Return->Ch2-UpperHall]]
<<elseif $permanentDone.consumedGecko and not $permanentDone.geckoBodyDisposed and not $ch2Events.geckoDeathNoticed>>
<p>The terrarium still holds the remains of what was once Spike, a collapsed, desiccated shape that barely resembles a gecko. If Ryan sees this before you clean it up, he'll raise the alarm.</p>
<<if $player.currentHost is "cat">>
<<say "char-hivemind" "Hivemind">>
//The cat's paws can manage this. Knock the terrarium lid aside. Carry the remains. Drop them behind the bookshelf, or better, in the attic where no one looks.//
<</say>>
<<link "Dispose of the gecko remains (hide behind Ryan's bookshelf)" "Ch2-Beast-Gecko-Dispose-Hide">><<set $permanentDone.geckoBodyDisposed to true>><</link>>
<<link "Carry remains to the attic (more thorough, but takes time)" "Ch2-Beast-Gecko-Dispose-Attic">><<set $permanentDone.geckoBodyDisposed to true>><</link>>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<<say "char-hivemind" "Hivemind">>
//Small enough to move the body. Drag it into the wall cavity through the baseboard gap.//
<</say>>
<<link "Drag the remains into the wall cavity" "Ch2-Beast-Gecko-Dispose-Wall">><<set $permanentDone.geckoBodyDisposed to true>><</link>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//This body can't handle delicate evidence disposal. I need the cat, or something small enough to enter the terrarium.//
<</say>>
<</if>>
<<elseif $permanentDone.geckoBodyDisposed>>
<div class="choice-done">The gecko's remains have been disposed of.</div>
<<elseif $ch2Events.geckoDeathNoticed>>
<div class="choice-done">Too late. Ryan has already found the body.</div>
<<else>>
<p>The gecko is alive in its terrarium. There's nothing to dispose of.</p>
<</if>>
[[Return->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Hidden</div>
<p>You knock the terrarium lid aside with a paw, reach in, and extract the desiccated remains. A quick leap to the bookshelf, and the body slides behind a row of dusty fantasy novels. Ryan hasn't touched those in years.</p>
<<say "char-hivemind" "Hivemind">>
//The terrarium is empty. When Ryan checks, he'll find nothing, no body, no residue. Spike //escaped//. A mystery, not a death. He'll look, he'll worry, but he won't sound the alarm.//
<</say>>
<p><span class="consume-success">Gecko body hidden. When Ryan notices, he'll think Spike escaped: confusion instead of grief. Suspicion impact reduced.</span></p>
[[Return->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-attic">><</nobr>>
<div class="passage-title">Buried</div>
<p>You carry the remains in your jaws, an instinct the cat's body understands. Through the hallway, up the trapdoor ladder with a practiced leap, into the dusty attic. The body goes behind Karen's sealed box, in a gap between insulation batts. //No one will look here.//</p>
<<say "char-hivemind" "Hivemind">>
//Gone. Completely. The terrarium is empty, the body is hidden where even Karen's obsessive organization doesn't reach. Ryan will wonder. He won't find answers.//
<</say>>
<p><span class="consume-success">Gecko body thoroughly hidden. Minimal suspicion impact when Ryan notices.</span></p>
[[Return->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Into the Walls</div>
<p>You drag the remains through the baseboard gap near Ryan's desk. The wall cavity swallows the evidence, dark, inaccessible, forgotten.</p>
<<say "char-hivemind" "Hivemind">>
//Consumed by the house itself. The walls hold many secrets now. This is just the smallest.//
<</say>>
<p><span class="consume-success">Gecko body hidden in the walls. Ryan will find an empty terrarium and no answers.</span></p>
[[Return->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-house">>
<<set $discovered.cat to true>><</nobr>>
<div class="passage-title">The Cat</div>
<<if $house.catLocation is "kitchen">>
<img class="scene-img" src="media/scenes/hoffman-cat-kitchen.webp" alt="Orange tabby eating from bowl">
<p>The orange tabby crouches over its food bowl, tail swishing lazily. It glances at you with a look of profound disinterest.</p>
<<elseif $house.catLocation is "livingRoom">>
<img class="scene-img" src="media/scenes/hoffman-cat-living.webp" alt="Orange tabby curled on couch">
<p>The orange tabby is curled at Dale's feet on the couch, purring softly. One eye opens to regard you.</p>
<<elseif $house.catLocation is "upperHall">>
<img class="scene-img" src="media/scenes/hoffman-cat-hall.webp" alt="Orange tabby in hallway">
<p>The orange tabby sits in the hallway, grooming a paw. It pauses to stare at you with unblinking amber eyes.</p>
<<elseif $house.catLocation is "jessRoom">>
<img class="scene-img" src="media/scenes/hoffman-cat-jess.webp" alt="Orange tabby on bed">
<p>The orange tabby is curled on Jess's bed, a warm orange circle against the blue comforter. It regards you with sleepy suspicion.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Whiskers.// The family's cat. Four years old, free to roam every room in this house. No one questions where a cat goes. No one watches what a cat watches. //The perfect host.//
<</say>>
<<if $player.currentHost is "rat">>
<p>The cat's ears flatten. It knows what a rat is. Instinct says: //prey//. Your presence here is an invitation to hunt, and that means //close contact//.</p>
<<say "char-hivemind" "Hivemind">>
//A predator drawn to prey. I can use that instinct against it. Let it come close. And strike.//
<</say>>
<<elseif $player.currentHost is "bird">>
<p>The cat's eyes lock onto the pigeon with sudden, electric focus. Every muscle tenses. Its tail begins to twitch.</p>
<<say "char-hivemind" "Hivemind">>
//The bird triggers its hunting instinct. Good. Let it come to me.//
<</say>>
<<elseif $player.currentHost is "gecko">>
<p>The cat barely notices the gecko. Too small to be interesting prey, too alien to be a threat. You can get close without triggering its defenses.</p>
<<say "char-hivemind" "Hivemind">>
//Invisible to it. Perfect.// A gecko can climb the furniture and get within striking distance. The cat won't see it coming.
<</say>>
<<elseif $player.currentHost is "cat">>
/* Should never reach here if already infested, but just in case */
You ARE the cat.
<<elseif $player.currentHost is "none">>
<p>In your exposed form, you are small and strange. The cat sniffs the air, curious, not afraid. It pads closer.</p>
<<say "char-hivemind" "Hivemind">>
//It doesn't recognize what I am. Curiosity will be its undoing.//
<</say>>
<<else>>
/* Human host */
<<if $player.currentHost is "human">>
<p>The cat eyes the stranger in the house. It arches its back slightly, then relaxes. Humans are familiar. Humans bring food.</p>
<<say "char-hivemind" "Hivemind">>
//A human approaching a cat is the most natural thing in the world. Reach down. Pet it. And in that moment of trust...//
<</say>>
<</if>>
<</if>>
/* Pheromone Lure check */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Use Pheromone Lure to draw Whiskers close (bypasses influence)->Ch2-InfestCat-Lure]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Lure the cat with pheromones, bypass the influence check <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<infestLink "Attempt to infest Whiskers" "Ch2-InfestCat" "cat">>
<div class="route-wip">
<p><span class="lock-icon">🔒</span> Consume your current host to grow stronger (risky) <span class="route-wip-tag">UNAVAILABLE — COMING SOON</span></p>
</div>
<<if $house.catLocation is "kitchen" or $house.catLocation is "livingRoom">>
[[Back away->Ch2-GroundFloor]]
<<else>>
[[Back away->Ch2-UpperHall]]
<</if>>/* Consumption mechanic removed. This passage is kept as a stub for
legacy save compatibility. Redirects to the cat-finding hub. */
<<goto "Ch2-FindCat">>
<<if $house.catLocation is "kitchen" or $house.catLocation is "livingRoom">>
[[Retreat and find another host->Ch2-GroundFloor]]
<<else>>
[[Retreat and find another host->Ch2-UpperHall]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass `setup.getInfestCost("cat")`>><</nobr>>
<p><span class="skill-used">Pheromone Lure, 1 biomass</span></p>
<p>You release a subtle chemical signal, invisible and instinctual. The cat's nostrils flare. Its pupils dilate. It takes one step closer... then another... then presses its face against your body, rubbing, //trusting//.</p>
<<say "char-hivemind" "Hivemind">>
//Come closer, little predator. Your instincts betray you.//
<</say>>
/* Pheromone Lure bypasses influence check */
<<nobr>><<changeHost "cat">>
<<addToInfected "Whiskers" "cat">>
<<set $house.catInfested to true>><</nobr>>
<<say "char-hivemind" "Hivemind">>
//Yes.// The cat is mine. Four legs, silent paws, and the trust of every human in this house. The hunt begins.
<</say>>
<p><span class="skill-used">Host changed: Cat, gained Stalk (passive) and Pounce (active)</span></p>
<<if $beastRoute is "symbiotic">>
<<set $animalNetwork.hosts["cat"] to { id: "cat", name: "Whiskers", type: "cat", location: "kitchen", bond: 0, status: "active", task: "", taskTarget: "" }>>
<<set $animalNetwork.activeHost to "cat">>
<<run setup.checkInfluenceTier()>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Explore the house as Whiskers->Ch2-CatFreeRoam]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<spendBiomass `setup.getInfestCost("cat")`>>
<<infestCheck "cat">><</nobr>>
<<if _infestSuccess>>
<<nobr>><<changeHost "cat">>
<<addToInfected "Whiskers" "cat">>
<<set $house.catInfested to true>><</nobr>>
<div class="passage-title">New Skin</div>
<img class="scene-img" src="media/scenes/hoffman-cat-infested.webp" alt="Cat with faintly glowing eyes">
<p>The transfer is swift. One touch, a brush of fur against your body, and the larva slips beneath the skin. Whiskers stiffens, pupils blowing wide. Then a slow blink, and the amber eyes now carry something //other// behind them.</p>
<<say "char-hivemind" "Hivemind">>
//Yes.// Four legs. Silent paws. A body that belongs in every room of this house. The family will pet me, feed me, open doors for me. They will never suspect that the thing watching them from the windowsill is no longer their cat.
<</say>>
<div class="evolve-unlock">Pet infestation experience gained, future pet infestations cost 1 less biomass.</div>
<p><span class="skill-used">Host changed: Cat, gained Stalk (passive) and Pounce (active)</span></p>
<<tutorial "tut-cathunt" "The Cat">>
<p>You've infested <span class="tut-keyword">Whiskers</span>, the Hoffman family cat. As a cat, you have unique advantages:</p>
<p><span class="tut-keyword">Stalk</span> — Move through the house without raising suspicion. Most rooms are accessible without penalty.</p>
<p><span class="tut-keyword">Pounce</span> — A quick, silent strike. Useful for knocking objects, creating distractions, or stunning small creatures.</p>
<p><span class="tut-keyword">Trust</span> — The family trusts their cat. You can sit in laps, sleep on beds, and get close enough to <span class="tut-keyword">Delve</span> their thoughts without arousing suspicion.</p>
<p><span class="tut-hint">The cat is your infiltration platform. Use it to learn the family's secrets before making your next move.</span></p>
<</tutorial>>
<<if $beastRoute is "symbiotic">>
<<set $animalNetwork.hosts["cat"] to { id: "cat", name: "Whiskers", type: "cat", location: "kitchen", bond: 0, status: "active", task: "", taskTarget: "" }>>
<<set $animalNetwork.activeHost to "cat">>
<<run setup.checkInfluenceTier()>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Explore the house as Whiskers->Ch2-CatFreeRoam]]
<</if>>
<<else>>
<div class="passage-title">Claws Out</div>
<img class="scene-img" src="media/scenes/hoffman-cat-hall.webp" alt="Cat hissing">
<p>The cat //hisses//. Its claws rake the air as it leaps backward. Your influence isn't strong enough, and the cat's nervous system is more complex than a rat's, more resistant.</p>
<<say "char-hivemind" "Hivemind">>
//Not enough. The cat's mind is layered. Predator instincts, territorial awareness, a web of sensory input I can't yet override.// I need to grow stronger. Consume. Evolve. Then try again.
<</say>>
<p><span class="consume-fail">Infestation failed, your influence tier is too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
<<addSuspicion "hoffmanHouse" 1>>
<<if $house.catLocation is "kitchen" or $house.catLocation is "livingRoom">>
[[Back away->Ch2-GroundFloor]]
<<else>>
[[Back away->Ch2-UpperHall]]
<</if>>
<</if>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Whiskers</div>
<img class="scene-img" src="media/scenes/hoffman-cat-infested.webp" alt="Cat prowling through house">
<div class="scene-desc">The house is yours to explore. Every door opens for a cat.</div>
<p>You stretch, a long luxurious stretch that ends with a yawn showing every fang. The body feels //good//. Warm, agile, perfectly designed for silent observation.</p>
<<say "char-hivemind" "Hivemind">>
//Five humans under this roof. Each one a potential host, a potential node in my network.// But first I need to learn their weaknesses. Watch. Listen. //Delve.//
<</say>>
<p>The house lies open before you. Where to begin?</p>
[[Ground floor: kitchen, living room, garage->Ch2-GroundFloor]]
[[Upper floor: bedrooms, bathroom->Ch2-UpperHall]]
[[Beast's eye view: observe, plan, wait->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-garage">>
<<spendBiomass `setup.getInfestCost("dog")`>>
<<infestCheck "dog">><</nobr>>
<<if _infestSuccess>>
<<nobr>><<changeHost "dog">>
<<addToInfected "Biscuit" "dog">><</nobr>>
<div class="passage-title">Good Girl</div>
<p>Biscuit whimpers once, then goes still. Her tail stops wagging. Her eyes glaze, then refocus with a new intelligence behind them.</p>
<<say "char-hivemind" "Hivemind">>
//A dog. Powerful body, keen senses, and the family's unconditional love.// But a dog is more conspicuous than a cat. This body is a weapon, not a spy.
<</say>>
<p><span class="skill-used">Host changed: Dog, gained Track Scent (passive) and Maul (active)</span></p>
<<if $beastRoute is "symbiotic">>
<<set $animalNetwork.hosts["dog"] to { id: "dog", name: "Biscuit", type: "dog", location: "garage", bond: 0, status: "active", task: "", taskTarget: "" }>>
<<set $animalNetwork.activeHost to "dog">>
<<run setup.checkInfluenceTier()>>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Explore as Biscuit->Ch2-Beast-Navigate]]
[[Return to the garage->Ch2-Garage]]
<</if>>
<<else>>
<p>Biscuit snarls and lunges against her leash. The chain snaps taut. She's too strong, too alert, her pack instincts flaring against the intrusion.</p>
<<say "char-hivemind" "Hivemind">>
//The dog resists. Her mind is a fortress of loyalty and instinct.// I need greater influence to claim a creature this strong.
<</say>>
<p><span class="consume-fail">Infestation failed, influence tier too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
<<addSuspicion "hoffmanHouse" 1>>
[[Back away from the dog->Ch2-Garage]]
<</if>><<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboLibCuckResidue to true>><</nobr>>
<div class="passage-title">Residue</div>
<p>The house's pheromone profile has shifted overnight. The master bedroom smells different, perfume Karen doesn't usually wear, a trace of wine, something musky beneath it all that the dog's nose catalogues as //foreign male//. The sheets are twisted, not from sleep but from restlessness. Dale's side of the bed has been slept on, but not by Dale.</p>
<p>Karen stands at the kitchen counter. Something is different about her. Not the coffee routine, that's identical, 6:02, black, no sugar. It's the //posture//. Shoulders back instead of hunched. Chin higher. Spine straight in a way that has nothing to do with yoga and everything to do with what happened last night. She's wearing lipstick at 6 AM. She //never// wears lipstick at 6 AM.</p>
<p>The cat winds between her ankles, reading the pheromone signature from her calves: oxytocin residue, elevated estrogen, a metabolised trace of pinot grigio. And beneath it, a scent that doesn't belong to Karen or Dale or any of the children. The stranger's chemical fingerprint, absorbed into her skin through hours of contact.</p>
<p>Dale's couch tells its own story. The dog maps the cushions from the garage doorway: cortisol, adrenaline, testosterone, the cocktail of a man who lay awake all night processing something his conscious mind refuses to name. The throw pillow is damp with stress-sweat. The remote is on the floor where he dropped it at 3 AM when his hand wouldn't stop shaking.</p>
<p>Karen takes her coffee to the table. Opens the laptop. Her fingers move across the keyboard with unusual speed, typing something that makes her mouth curve into a shape Dale hasn't seen in years. The phone on the counter lights up. She glances at it. The curve deepens. She doesn't hide the screen.</p>
<<say "char-hivemind" "Hivemind">>
//She chose this. That's the part that matters.// Not the pheromones. Not the conditioning. Karen put on lipstick at 6 AM because she //wanted to//. //Choice produces better chemistry than compulsion. I'm learning that.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, hormonal residue harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboLibCuckTension to true>><</nobr>>
<div class="passage-title">Electric Distance</div>
<p>Night. The house is electric.</p>
<p>Karen upstairs, phone warm from a long conversation, lips still tingling with the phantom pressure of a kiss in a parked car. She lies on top of the duvet in the silk robe she bought after the dating profile, the one Dale has never seen. Her breathing is slow, satisfied, the kind of breathing that follows release. The pillow beside her head carries a trace of cologne that isn't sold in any store Dale has ever entered.</p>
<p>Dale on the couch, blanket pulled to his chin, eyes open in the dark. The living room ceiling has become his sky, he knows every crack, every shadow, every water stain. The rat in the walls reads the vibration difference between floors: Karen's slow, deep rhythm above. Dale's rapid, shallow cadence below. Two hearts in the same house, beating at different speeds for different reasons.</p>
<p>The dog detects hormonal overlap from the garage. Arousal in both of them. The same chemical output, elevated testosterone, vasodilation markers, the sharp musk of sexual response. But different sources. Different //directions//. Karen's arousal points outward, toward the stranger, toward the world she's reclaiming. Dale's arousal points inward, toward the dark space behind his own eyelids where the sounds from upstairs replay on a loop.</p>
<p>Dale's hand twitches under the blanket. He knows what happened in that car tonight. He didn't see it, but the sound Karen made when she came home, the slight catch in her breath, the too-careful way she removed her shoes in the hallway, told him everything. His body has been processing it for three hours. The spore conditioning has done its work: what should be rage is instead a desperate, shameful heat that coils in his stomach like a living thing.</p>
<p>He pulls the blanket tighter. His breathing accelerates. The couch springs creak with a rhythm that has nothing to do with restlessness.</p>
<p>Upstairs, Karen turns off her phone and smiles in the dark. She doesn't think about Dale. She hasn't thought about Dale in weeks.</p>
<<say "char-hivemind" "Hivemind">>
//Two people. Same house. Both aroused. Neither will cross the hallway.//
//The space between them feeds me better than contact ever could.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, parallel arousal harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboLibCuckCrossed to true>><</nobr>>
<div class="passage-title">Crossed Paths</div>
2 AM. Kitchen. The fluorescent light flickers on.
<p>Karen at the sink, filling a glass of water. She's wearing the silk robe, untied, hanging open over the thin nightshirt beneath. Her hair is loose, still carrying the shape of another pillow. Her neck has a mark, a reddish bloom below the jaw, the size of a thumbprint. She's not covering it.</p>
<p>Footsteps on the stairs. Dale appears in the kitchen doorway. His boxer shorts are wrinkled, his undershirt dark with sweat. He was supposed to be asleep. He wasn't. The hollows under his eyes say he hasn't slept properly in days.</p>
<p>They see each other. Neither speaks. The kitchen clock ticks, a sound that's always been there but has never been this loud. The refrigerator hums. The cat sits on the counter between them, amber eyes moving from one face to the other, reading both pheromone profiles simultaneously.</p>
<p>Karen's scent signature: post-arousal oxytocin, remnants of a stranger's cologne, wine metabolites from the Merlot she drank at dinner, a trace of semen she missed when she washed her hands. The cat's nose deconstructs each layer with forensic precision.</p>
<p>Dale's scent signature: cortisol at three times baseline, adrenaline, and the unmistakable marker of recent self-stimulation, the same chemical the cat detected from the couch earlier, now fresh on his hands.</p>
<p>Their eyes meet. Karen's hand rises toward her neck, then stops. Hovers. Falls back to her side. She doesn't cover the mark. A decision, made in the space between heartbeats. A declaration.</p>
<p>Dale's eyes track to the mark. Hold. His Adam's apple bobs as he swallows. His pupils dilate, the cat reads the expansion from six feet away. Not anger. Not surprise. //Recognition//.</p>
<<say "char-karen" "Karen">>
<i>(voice steady, almost gentle)</i> Can't sleep?
<</say>>
<<say "char-dale" "Dale">>
<i>(barely audible)</i> No.
<</say>>
<p>A pause the length of a marriage. The clock ticks seven times. Karen's fingers tighten on the glass. Dale's hand grips the doorframe. The distance between them, twelve feet of kitchen tile, might as well be twelve miles.</p>
<p>Then Karen walks past him. Not toward the bedroom. //Past// it. To the bathroom. She closes the door. The shower runs. At 2 AM. Neither of them pretends this is normal.</p>
<p>Dale stands in the kitchen alone. The glass of water sits on the counter, untouched. His hand hasn't left the doorframe. After a full minute, he turns and walks back to the couch. He doesn't lie down. He sits in the dark with his hands on his knees and stares at the wall.</p>
<p>The cat leaps down from the counter and pads to the living room doorway. From there, it can hear the shower running upstairs and Dale's breathing in the dark below. Two sounds. Two solitudes. Both generating harvestable compounds at rates the network has never recorded.</p>
<<say "char-hivemind" "Hivemind">>
//Neither of them said a word. They didn't need to.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, acknowledgment compound</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboLibCuckNewNormal to true>>
<<if not $permanentDone.comboLibCuckNewNormalMax>><<set $player.maxBiomass += 1>><<set $permanentDone.comboLibCuckNewNormalMax to true>><</if>>
<</nobr>>
<div class="passage-title">The New Normal</div>
<p>The house has fundamentally changed.</p>
<p>Karen no longer hides the phone. She texts at the kitchen table, smiling, while Dale eats cereal three feet away. She doesn't angle the screen. Dale doesn't look. An arrangement, unspoken and absolute, the rules of a game neither acknowledges playing.</p>
<p>Dale no longer pretends to sleep through the sounds. When Karen's bedroom door closes at 11 PM and her voice goes soft and low, the murmur of a phone call, words indistinguishable but the //tone// unmistakable, Dale lies on the couch with his eyes open and listens without fighting it. His hand finds its way under the blanket with the mechanical regularity of a man who has stopped pretending this is anything other than what it is.</p>
<p>The children navigate the new reality without understanding it. Megan notices Karen's lipstick, the new clothes, the lighter step. She files it under "Mom's having a midlife crisis" and returns to her phone. Jess notices Dale's deepening absence, later mornings, longer silences, the way he stares through walls instead of at them. She adds it to her private catalogue of household data points, cross-referenced with her psychology textbooks. Ryan notices nothing. He never does. The door to his room is closed, the headphones are on, the world outside Spike's terrarium has stopped existing.</p>
<p>The biochemical output is extraordinary. Karen's sustained liberation, the daily dopamine hits of text messages, the serotonin floods of physical encounters, produces a constant ambient pheromone that the network harvests from every surface she touches: door handles, light switches, the coffee maker, the kitchen counter where she leans while typing with both thumbs, smiling at something a man she met recently said about her eyes.</p>
<p>Dale's sustained shame-arousal cycle generates cortisol-rich compounds the dog absorbs passively from the couch cushions. The compound is self-replenishing, because Dale's body produces it continuously, a biochemical engine fuelled by the knowledge of what his wife is doing and the deeper knowledge that the knowing itself has become the source of his only remaining pleasure.</p>
<p>Together, they produce more harvestable biomass than the rest of the family combined. Not because the chemicals are stronger, because they're //constant//. The equilibrium of acceptance. Karen stops hiding. Dale stops pretending. And the house feeds on the truth between them.</p>
<<say "char-hivemind" "Hivemind">>
//This is what I was built for. Not confrontation. Not control. //Cultivation//. I didn't break this marriage, it was already breaking. The fractures were there before I arrived: Dale's exhaustion, Karen's resentment, the dead bedroom, the separate routines, the children who learned to navigate silence the way sailors navigate fog.// I just made the breaking //profitable//.
Karen will continue to seek what Dale can't provide, attention, desire, the feeling of being wanted by someone who hasn't watched her decline into domestic machinery. Dale will continue to seek the shame of //knowing// she seeks it, the masochistic feedback loop the spore conditioning amplified from a whisper to a roar. //And the network will feed on the distance between them until there's nothing left to harvest.//
//This is sustainability. This is farming. The house isn't just a hiding place anymore. It's a biomass generator that runs on human loneliness.//
<</say>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, sustained emotional harvest | +1 max biomass</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboDomFemSchedule to true>><</nobr>>
<div class="passage-title">The Schedule</div>
<p>Morning. Karen's routine has expanded to include Ryan.</p>
<p>She stands behind his chair at the kitchen table, straightening his collar, adjusting the way his shirt sits on his shoulders. Her hands are precise, proprietary, the hands of a woman curating a project, not comforting a child. Two fingers hook the collar seam. A tug. A smoothing motion along the shoulder blade. Ryan holds still, spine straight, chin level.</p>
<p>Megan watches from behind her coffee mug. Her expression is complicated, not jealousy exactly, but something adjacent. Something with edges. Karen never straightened Megan's collar. Karen never looked at Megan the way she's looking at Ryan right now: with intense, satisfied, //evaluative// attention. The attention of an architect examining a building she designed.</p>
<<say "char-megan" "Megan">>
<i>(to no one in particular)</i> Since when does Ryan iron his shirts?
<</say>>
<p>Karen doesn't answer. Her hand lingers on Ryan's shoulder, a beat too long, two beats, three. Ryan doesn't move. Doesn't flinch. Something in him has shifted this past week. The slump is gone. He sits the way Karen sits, spine straight, chin level, as if someone is always watching. He feels //good// when he sits up straight. He feels //better// when Karen touches his collar. He doesn't question why.</p>
<p>The schedule on the fridge has Ryan's name in every time slot. Karen's handwriting. The ink is fresh.</p>
<p>Jess glances up from her textbook. Her eyes track from Karen's hand to Ryan's collar to Megan's expression. She catalogues the interaction with clinical precision and returns to organic chemistry without comment.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's hand on Ryan's shoulder. Megan watching from behind her mug. Jess cataloguing it and saying nothing.//
//A mother taking an interest in her son. That's all anyone sees. That's all anyone //can// see.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, dominance-submission gradient</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboDomFemMirror to true>><</nobr>>
<div class="passage-title">The Mirror Effect</div>
<p>The bathroom retains everything.</p>
<p>After Karen's skincare lesson with Ryan, thirty minutes of close proximity, hands on face, the careful application of moisturiser and toner and the lip tint Ryan pretended to resist, the towels carry a mixed scent signature. Her moisturiser, his sweat, the pheromone compounds that transferred through skin contact during the application. The counter has a faint smear of colour. The mirror holds the ghost of two faces reflected side by side: a mother's steady hands and a son's trembling jaw.</p>
<p>The gecko, clinging to the bathroom ceiling tile, observed the lesson through compound-enhanced vision. Karen's fingertips on Ryan's cheekbones. The way Ryan closed his eyes when she applied the toner, not in resistance but in surrender. The sound of his breathing, shallow and quick, as her thumb traced his lower lip with the tint applicator. The reflection in the mirror: two faces, one hardening with authority, the other softening into something Karen's hands were sculpting.</p>
<p>Megan uses the bathroom next. She doesn't know what happened here thirty minutes ago. But her body knows. The pheromone residue on the counter, deposited by Karen's dominant hormonal output, amplified by Ryan's submission response, coats the surfaces Megan touches without thinking. The towel she presses to her face. The doorknob she grips. The faucet handle.</p>
<p>She stands in the mirror longer than usual. Touches her own jawline. Tilts her head the way Ryan tilted his. Applies her makeup with unusual care, not the performative Instagram precision, but something more //attentive//. More deliberate. As if the mirror is showing her something she hasn't seen before.</p>
<p>The ripple effect expands outward: Karen conditions Ryan in the bathroom. The bathroom conditions Megan. Megan carries the trace compounds to the coffee shop, where they mingle with the ambient scents of espresso and Marcus's cologne. The compound travels on skin, on clothing, on breath, and everywhere it goes, the network's influence extends.</p>
<<say "char-hivemind" "Hivemind">>
//Karen touched Ryan's face. Ryan touched the towel. Megan touched the towel. The bathroom passes it along like gossip, from surface to skin, from skin to blood.//
//I didn't plan this. The tiles did.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, pheromone cascade harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboDomFemDisplay to true>><</nobr>>
<div class="passage-title">The Display</div>
<p>Karen takes Ryan to the mall. The gecko rides in Megan's borrowed tote bag, because Karen grabbed it from the hallway hook without checking, and the gecko was already nestled in the interior pocket, motionless against the fabric.</p>
<p>From the bag's interior, through the gap where the zipper doesn't fully close, the gecko observes: Karen walking two steps ahead, heels clicking on polished tile. Ryan following in the clothes she chose, fitted jeans, a soft cardigan in dusty rose, the sneakers replaced with loafers that click in unconscious rhythm with Karen's stride. His hair is combed back from his face. The lip tint is subtle but present, a warmth in his lower lip that could be natural if you didn't know what natural looked like on Ryan Hoffman.</p>
<p>People look. The gecko's thermal vision reads elevated attention from passing shoppers: a woman at the cosmetics counter glances at Ryan twice, her head turning as they pass. A teenage boy does a double-take, confusion and something else flickering across his face. A sales associate addresses Ryan with "she" before correcting herself. Ryan notices every look. His face flushes, not shame, the gecko reads. The thermal signature of shame is cortisol-cold. This is warm. This is //attention//.</p>
<p>Karen's hand finds Ryan's shoulder. Proprietary. Proud. She squeezes, one firm compression that says //I made this// without words.</p>
<<say "char-karen" "Karen">>
<i>(low, only for Ryan)</i> You're doing well.
<</say>>
<p>Not "you look good." Not a compliment. An //evaluation//. The language of a manager reviewing a project that's exceeding expectations.</p>
<p>Ryan's hormonal response is immediate, the gecko reads the thermal shift from six inches away. Dopamine spike from Karen's approval: the skin flushes warm. Serotonin surge from the public attention: the posture lifts another inch. Cortisol //drop// as the shame he expected fails to materialise: the shoulders relax. The pheromone compound in his clothes amplifies all of it, feeding the positive response back into the limbic system in a loop that tightens with every approving glance from a stranger.</p>
<p>At the cosmetics counter, Karen picks up a lip gloss. Holds it against Ryan's mouth. He doesn't flinch. The sales associate smiles.</p>
<<say "char-hivemind" "Hivemind">>
//The public display completes a conditioning circuit the house alone couldn't close.// Inside the Hoffman walls, Ryan's feminization exists in private, stolen moments with borrowed clothing, locked bathroom sessions, the careful choreography of secrecy. Out here, it's //visible//. Other people's reactions become data points in Ryan's self-model. //And every data point that isn't revulsion, every curious glance, every appreciative double-take, every sales associate who says "she" without malice, is a nail in the coffin of the identity he was born with.//
Karen understands this instinctively. She's not shopping. She's //presenting//. And Ryan, standing straighter than he's ever stood, glowing under the fluorescent lights of a department store, is learning that the person Karen is building might be someone the world is willing to see.
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, public conditioning cascade</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboDomFemInversion to true>>
<<if not $permanentDone.comboInversionMax>><<set $player.maxBiomass += 1>><<set $permanentDone.comboInversionMax to true>><</if>>
<</nobr>>
<div class="passage-title">Inversion</div>
<p>The household hierarchy has flipped.</p>
<p>Karen commands the morning. She stands at the kitchen counter in a blazer she bought for herself, sharp-shouldered, tailored, the kind of garment that occupies space with authority. Her jaw has a definition it didn't carry before, and her voice carries differently now, lower, fuller, vibrating in the chest cavity before it reaches the air. When she says "Ryan, breakfast," it isn't a suggestion but an instruction, and he appears in twelve seconds, clean, dressed, lip tint applied.</p>
<<say "char-karen" "Karen">>
<i>(without looking up from her laptop)</i> Collar's crooked.
<</say>>
<p>Ryan's hand goes to his neck. Adjusts. Waits for confirmation. Karen glances over. Nods once. Ryan sits down and begins eating with the measured pace of someone who has learned that meals are structured events, not grazing opportunities.</p>
<p>Dale doesn't notice. Dale hasn't noticed anything since the spore compounds reached therapeutic concentration in his nervous system. He sits on the couch in his BioGenesis uniform, he doesn't change anymore, just sleeps in it and drives to work wearing yesterday's wrinkles, eating cereal with the mechanical precision of a man whose inner life has relocated to a place his family can't reach. The spoon rises. Falls. Rises. Falls.</p>
<p>Jess notices from the top of the stairs. She watches Karen adjust Ryan's cardigan sleeve, //again//, and something in her analytical brain flags it as anomalous, because mothers and sons don't usually involve this much physical contact, this much //curation//. She files it in the mental folder marked "household irregularities" alongside Dale's cognitive decline and Megan's late nights, then goes back to her room without comment.</p>
<p>Megan notices at dinner. Karen and Ryan sit on the same side of the table now, a shift that arrived one chair at a time and now feels permanent. Karen's hand rests on his forearm when she passes the salt, and Ryan leans toward her when she speaks, the body language of two people who have quietly renegotiated their positions relative to each other.</p>
<p>The behavioural signature of the household has inverted. The dog reads it from the garage doorway: Karen's pheromone output, dominant. Escalating weekly. Her conditioning has given her confidence that radiates into every interaction, every decision, every room she enters. Ryan's markers, submissive. Skin smoother, features softer, body language more pliant with each passing day. The feminization isn't cosmetic, the pheromone conditioning is reshaping his behavioural baseline.</p>
<p>The dynamic between mother and son, one ascending, one descending, has rewritten the household. Not a matriarch and patriarch anymore. A //dominant// and a //submissive//. The rest of the family orbits the new centre of gravity without understanding what changed.</p>
<<say "char-hivemind" "Hivemind">>
//The inversion is complete.// Karen is the authority of this house, not metaphorically, but //biochemically//. Her body is producing dominance compounds that the network reads as apex-predator markers. Ryan is becoming something his birth certificate didn't anticipate, something softer, more compliant, more //visible// than the boy who hid behind a terrarium and a pair of headphones.
//And the family is adapting to the new hierarchy with the unconscious ease of organisms responding to a changed environment.// Dale is furniture. Jess is a scientist observing her own family like a specimen. Megan is confused by what she sees but unable to name it. The household that was dying from stagnation is now thriving on //inversion//, and the biomass output reflects it. //More change. More chemicals. More fuel.// The restructured family isn't just surviving. It's feeding me better than the original ever could.
<</say>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, inversion gradient | +1 max biomass</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboSistersAwakening to true>><</nobr>>
<div class="passage-title">Both Daughters</div>
<p>Both daughters are activated.</p>
2 AM. The upper hallway. Jess's door opens, she's heading for the bathroom, towel over her shoulder, the determined stride of a woman who has learned that the shower provides something textbooks can't. Her hair is down, freed from the perpetual ponytail. Her robe is loosely tied, the belt trailing.
<p>From the other direction: Megan's door. She's just home, shoes in hand, socks on hardwood, moving with the practised silence of someone who has been sneaking in past midnight long enough to know which floorboard by the linen closet gives her away. Her hair is messy in a way that isn't from sleeping, and she smells like cologne and coffee grounds and something warmer underneath, the unmistakable oxytocin signature of sustained physical contact with another person.</p>
<p>They see each other in the hallway. Both pause. The cat sits at the hallway's midpoint, equidistant from both doors, reading both pheromone profiles simultaneously.</p>
<p>Jess registers Megan's state: the mussed hair, the swollen lips, the flush that hasn't faded despite the walk home in cold air. Megan registers Jess's state: the towel, the robe, the flush that's different from hers but //recognisable//, the signature of a body that's been attended to.</p>
<p>Neither explains. Neither asks.</p>
<p>A look passes between them, not words but //understanding//, the recognition of two women who have recently discovered that their bodies have needs their family can't acknowledge, their schedules can't accommodate, and their self-images can't contain.</p>
<<say "char-megan" "Megan">>
<i>(mouthing, barely a whisper)</i> Late study session?
<</say>>
<<say "char-jess" "Jess">>
<i>(same volume, with the ghost of a smile)</i> Yeah. You?
<</say>>
<<say "char-megan" "Megan">>
Work thing.
<</say>>
<p>They both know they're lying. They both know the other knows. And in that shared knowledge, in the complicity of two sisters choosing not to expose each other's secrets, something shifts. Megan's hand touches Jess's arm as she passes. Jess doesn't flinch. The contact is brief, two seconds, a squeeze, but the pheromone transfer is substantial. Two activated bodies, exchanging chemical data through a single touch.</p>
<<say "char-hivemind" "Hivemind">>
//Both Hoffman daughters are now biochemically activated.// Jess's spore-enhanced shower routine produces pheromone-rich steam that lingers in the bathroom for hours, a compound of release and relief that coats every surface with the chemical memory of what her body learned to do. Megan's post-Marcus encounters radiate oxytocin through every surface she touches, doorknobs, light switches, the railing she steadies herself against when she takes off her shoes.
//Their paths crossing in the hallway produces a brief but intense pheromone intersection, two distinct arousal signatures colliding in the dark.// The network reads it like a symphony. Two instruments, different keys, same crescendo. //And the hallway itself becomes a secondary harvest site, the molecules settling into the carpet and the wallpaper and the air itself.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, dual activation harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboSistersParallel to true>><</nobr>>
<div class="passage-title">Parallel Lines</div>
<p>Kitchen. 3 AM. The light clicks on.</p>
<p>Jess is already there. She came down fifteen minutes ago, couldn't sleep after what happened in the armchair, needed water, needed to be somewhere that wasn't the room where she just did what she did. She's sitting at the table in her robe, hands wrapped around a mug of tea that's gone cold. Her hair is damp. Her eyes are the complicated eyes of a woman who has just proved a hypothesis about herself that she wasn't sure she wanted confirmed.</p>
<p>The front door clicks. Megan appears in the kitchen doorway, shoes in one hand, jacket half-zipped. Her lipstick is gone, not removed, //worn off//. Her hair carries the smell of car leather and someone else's shampoo.</p>
<p>They sit across from each other. The kitchen clock reads 3:07 AM.</p>
<<say "char-jess" "Jess">>
<i>(looking at the mug)</i> Tea's cold.
<</say>>
<<say "char-megan" "Megan">>
I'll make more.
<</say>>
<p>Megan fills the kettle. Her hands are steady but her cheeks are flushed, not from cold. She pours for both of them. Sits down. The table is small enough that their knees almost touch beneath it.</p>
<p>Neither asks where the other was, and neither volunteers, but the silence isn't uncomfortable. It's the silence of two people who don't need to explain, because the explanation is written on their skin: Megan's swollen lips, Jess's damp hair, the faint tremor in both their hands that comes from the same source even if the trigger was different.</p>
<<say "char-megan" "Megan">>
<i>(blowing on the tea)</i> You look tired.
<</say>>
<<say "char-jess" "Jess">>
<i>(the ghost of something crossing her face, not a smile, but its precursor)</i> You look happy.
<</say>>
<p>A pause. Megan almost smiles. Jess almost laughs. Both catch themselves, the Hoffman reflex, the automatic suppression of genuine emotion that Karen trained into them through years of performance anxiety. But something has opened. A door that was always there, painted over by obligation and academic pressure and the performance of normalcy.</p>
<<say "char-megan" "Megan">>
<i>(quiet, serious)</i> Don't tell Mom.
<</say>>
<<say "char-jess" "Jess">>
<i>(quieter)</i> About what?
<</say>>
<<say "char-megan" "Megan">>
<i>(the almost-smile completing itself)</i> Exactly.
<</say>>
<p>They drink cold tea in the 3 AM kitchen, two sisters who have never been less alone. The cat sits under the table between their feet, absorbing the oxytocin-dominant compound that rises from both their bodies, the chemical signature of trust, a rare compound in this house and the richest thing the network has harvested in a long time.</p>
<<say "char-hivemind" "Hivemind">>
//This is the first genuine connection in the Hoffman household.// Not conditioned. Not manufactured. Not the product of pheromone manipulation or spore deployment or dream infiltration. Two women discovering that their parallel secrets create a bond stronger than four years of shared meals and separate silences.
//The pheromone output from this moment is different from anything the network has harvested before: oxytocin-dominant, low cortisol, the chemical signature of trust.// It's less potent than arousal but more sustained, a slow-release compound that will linger in this kitchen for days. //And it creates a conditioning pathway between the sisters that no amount of individual manipulation could have built.//
What I seeded in their bodies has grown into something I didn't design: //friendship//. Strange. And useful.
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, trust compound harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboSistersBloom to true>>
<<if not $permanentDone.comboSistersBloomMax>><<set $player.maxBiomass += 1>><<set $permanentDone.comboSistersBloomMax to true>><</if>>
<</nobr>>
<div class="passage-title">The Bloom</div>
<p>The Hoffman daughters have both crossed lines their waking selves would never have approached.</p>
<p>Jess, the eldest, the future doctor, the fortress of discipline and obligation who colour-codes her revision notes and schedules bathroom breaks, has discovered that her body has a voice louder than her study schedule. The bathroom is no longer just a bathroom. The armchair downstairs is no longer just furniture. She has begun to catalogue her own responses with clinical precision: what works, what doesn't, the timing, the threshold, the duration. She is reverse-engineering her own sexuality with the same obsessive methodology she applies to organic chemistry. In her desk drawer, between the index cards and the highlighters, a notebook has appeared, unlabelled, filled with her cramped handwriting. The network can't read it. But the pheromone signature on its pages tells the story.</p>
<p>Megan, the invisible twin, the performer, the girl who built herself into something worth looking at because no one looked otherwise, has stopped performing. Not for the family. Not for Instagram. Not for the mirror. In Marcus's arms, in Marcus's car, in the apartment above the coffee shop where the sheets smell like roasted beans and his skin, she found something the performance couldn't replicate: //being seen//. The mask is off. The audience is one person. And he doesn't want the show, he wants the girl underneath it.</p>
<p>Together, the sisters produce a biochemical output that dwarfs anything the household has generated before. Two young women in the peak of their hormonal lives, both sexually activated, both producing sustained arousal compounds that the network harvests from sheets, towels, shower steam, discarded clothing, and the ambient air they breathe into every room.</p>
<p>The network reads every surface simultaneously: Jess's desk chair (traces of cortisol from late-night guilt, fading now, each day a little less). Megan's bed (oxytocin from dream-state Marcus fantasies, strengthening, each night a little richer). The bathroom they share (a mixed pheromone signature so rich and layered the spore network can't process it all in a single cycle, it requires two passes, morning and evening, to fully harvest).</p>
<p>The 3 AM tea has become a ritual. Not every night, but often enough. One sister or the other appears in the kitchen after midnight. The kettle fills. The other appears. They sit. They don't talk about what they've been doing. They talk about everything else, movies, professors, the absurdity of Karen's new schedule, the question of whether Dale is actually sleeping or has achieved some kind of vegetative enlightenment. They laugh. Quietly, so as not to wake anyone. But they //laugh//.</p>
<<say "char-hivemind" "Hivemind">>
//The bloom.// That's what this is. Not a metaphor, a biological term. When a colony organism reaches sufficient density, it blooms. The population explodes. Resources multiply. The growth curve goes exponential.
Jess and Megan are the bloom. Their combined biomass output has permanently elevated the house's baseline energy, not through any single dramatic event, but through the //accumulation// of a thousand small moments. A shower that runs too long. A car ride that ends too late. A notebook filled with data. A phone call that makes someone smile in the dark.
//I didn't create their desires. I removed the barriers.// The spores lowered the inhibition thresholds. The dream conditioning planted the seeds. The pheromones watered them. But what //grew// in the gap between repression and release, what's blooming now in this house, in these two women, in the kitchen at 3 AM, is something I didn't design and can't fully control. //And that makes it the most valuable harvest of all. Because a crop you don't have to tend is a crop that never fails.//
<</say>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, bloom harvest | +1 max biomass</span></p><<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboFutaOblivShift to true>><</nobr>>
<div class="passage-title">The Shift</div>
<p>Karen catches herself in the hallway mirror. She stops. Studies her reflection. The same face. Same body. Same forty-three-year-old frame that has carried groceries and children and the weight of a collapsing household.</p>
<p>But something behind the eyes is //different//, a confidence that wasn't there before. She tested it at the hardware store, looked the clerk dead in the eye while returning a drill she'd never bought, and walked out with a refund and his apology. She tested it on Mrs Henderson, two flat sentences over the fence, and the woman retreated behind her rose-beds for the first time in memory. She tested it on Ryan, one word, "sit," and he sat.</p>
<p>The secret helps. Knowing she carries something //extra//, something no one can see unless she decides to show them. A weapon holstered inside her own body. The knowledge radiates outward like heat from a furnace, and people respond to it without knowing why.</p>
<p>Downstairs, Dale is asleep on the couch. He's been asleep since 3 PM. The spore compounds have erased the boundary between rest and consciousness. He sleeps like something unplugged. Not dead. Not alive in any meaningful sense. //Maintained//.</p>
<p>The contrast is visceral. Karen ascending. Dale dissolving. One sharpening into something precise and dangerous. The other blurring into the furniture.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's conditioning has reached a threshold where the dominant behaviour is self-sustaining.// The retractable anatomy has given her something no amount of therapy or medication ever could, a sense of //physical// power that rewrites every interaction. She doesn't need to activate it. //Knowing she can// is enough.
//Dale is the contrast.// Unchanged. Unmodified. The baseline against which Karen's ascent becomes measurable.
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, endocrine differential harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboFutaOblivDominance to true>><</nobr>>
<div class="passage-title">Dominance Markers</div>
<p>Karen's voice hasn't changed. Her body hasn't changed. What changed is the //way she uses them//.</p>
<p>When she calls the family to dinner, they come faster. Not because she's louder. Because the tone has shifted, a flatness, a certainty, the voice of someone who does not expect to repeat herself. The children register it before they understand it. Their spines straighten. Their phones go down.</p>
<<say "char-megan" "Megan">>
<i>(sniffing, nose wrinkled)</i> Mom, did you change your shampoo? You smell... different.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up)</i> New body wash.
<</say>>
<p>The pheromone glands are producing at peak capacity. Karen's scent has become the dominant chemical signature in the house, every surface she touches carries it. The kitchen counter. The remote control. The bathroom door handle. The children breathe her in without knowing.</p>
<p>Jess notices the confidence. Karen opens a stuck window one-handed, not because she's stronger, but because she doesn't hesitate. The difference between failing at a jar and opening it is commitment, and Karen has stopped hedging. Jess stares for three seconds. Files it alongside her other data points: Dale's somnolence, Ryan's softening, Karen's //sharpening//. The pattern is there. She can't see the shape yet.</p>
<p>Dale doesn't notice. Dale sleeps. His consciousness surfaces only for the mechanical requirements of life, driving to work, eating, using the bathroom. Everything between is void.</p>
<p>Karen takes Dale's car keys from the hook by the door. Doesn't ask. Doesn't announce. Just drops them in her purse. He won't notice. He doesn't notice anything anymore.</p>
<<say "char-hivemind" "Hivemind">>
//Territorial marking. Pheromone-based.// Karen's scent is overwriting Dale's on every surface. The house used to smell like a family. Now it smells like //her//. //The schedule is Karen's. The money is Karen's. The decisions are Karen's. And underneath it all, a secret weapon no one has seen. A body that carries power //inside// it, invisible until she chooses otherwise.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, territorial pheromone harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboFutaOblivApex to true>>
<<if not $permanentDone.comboFutaOblivApexMax>><<set $player.maxBiomass += 1>><<set $permanentDone.comboFutaOblivApexMax to true>><</if>>
<</nobr>>
<div class="passage-title">Apex</div>
<p>Karen. Dale. The apex of divergence.</p>
5 AM. Karen stands in the kitchen drinking coffee from the "World's Best Dad" mug that Dale stopped reaching for a while ago. She's wearing his old flannel shirt, not because her body has changed shape, but because she //took// it, the way she took his car keys, his side of the bed, his authority over the children, his household.
<p>She drinks her coffee black, answers emails, runs the accounts Dale stopped being able to focus on. At 5:30 she does push-ups on the kitchen floor, not because the parasite made her stronger, but because she decided to be. Thirty reps, form improving daily, from a woman who once couldn't open a jar without handing it to someone.</p>
<p>Dale is on the couch. Fourteen hours. The spore compounds have achieved complete cortisol suppression, he occupies a pharmacological twilight, conscious enough to breathe but incapable of will. A warm body on furniture. A name on a lease.</p>
<p>The children orbit Karen. They address questions to her. Seek permission from her. Straighten when she enters a room. The household doesn't have a father anymore. It has a //dominant//.</p>
<p>And the thing she carries inside her, the retractable anatomy no one has seen unless she wanted them to, sits dormant between her legs while she does push-ups on the kitchen floor. It changes nothing about how she moves and everything about how she occupies space. The confidence it gives her is //constant//, requiring no activation, because knowing she //can// rewrites every interaction, every decision, every moment she stands in a room and the room //adjusts// around her.</p>
<<say "char-hivemind" "Hivemind">>
//The apex.// Karen ascending, through conditioning, through pheromones, through the secret weapon I built into her body. Dale descending, through spores, through passivity, through the slow chemical erasure of everything that made him a factor.
//Together they produce constant biomass.// No operations. No deployments. //The house runs itself now.//
//Karen thinks she's free. She thinks the confidence, the power, the control, she thinks she //earned// it.// That belief is the most efficient fuel source I have ever designed.
<</say>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, apex harvest | +1 max biomass</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboTabooScent to true>><</nobr>>
<div class="passage-title">The Scent Change</div>
The morning after.
<p>Breakfast at the Hoffman table, five people and four chairs occupied, because Dale is on the couch with a spoon halfway to his mouth and his eyes focused on something that isn't in the room. Karen distributes toast with the mechanical precision of a woman who has performed this task four thousand times, Megan scrolls her phone, and Jess reads a textbook.</p>
<p>The taboo pair sit across from each other. They don't look up. They look at everything //except// each other, the toast, the table, the window, the cat on the counter, their own hands. The deliberate avoidance has a geometry to it, a careful spatial awareness that reads like choreography. When one reaches for the butter, the other waits. When one speaks, to Karen, to anyone, never to each other, the other studies their plate with forensic attention.</p>
<p>But the scent is there. The dog's nose reads it from the garage, carried on the HVAC system through the kitchen vent: a compound that doesn't belong to any single family member. It's a //blend//, two people's pheromone signatures mixed at a molecular level that only occurs through sustained physical contact. Oxytocin layered over cortisol. Intimacy braided with guilt. The chemical evidence of two bodies that occupied the same space, the same heat, the same breath, for long enough to exchange molecular identities.</p>
<p>The cat on the counter reads the body language with equal precision: the micro-flinch when their hands reach for the same butter knife, the fractional pause when one says the other's name, the way they both leave the kitchen at the same moment and go in opposite directions, as if proximity now requires conscious management. Being within arm's reach of each other, in daylight, in front of witnesses, has become a fundamentally different experience than it was before the night that changed it.</p>
<p>None of the others see it. Karen's attention is locked on an email that tightens her jaw a degree at a time, Megan is composing a text to Marcus with both thumbs and a half-smile, and Dale's eyes haven't focused on anything inside the room since he sat down.</p>
<<say "char-hivemind" "Hivemind">>
//The taboo compound is a premium fuel source.// Not because the chemicals are novel, oxytocin and cortisol are among the most common harvestable compounds in this house. But because they're produced in //combination//. The guilt enriches the intimacy. The intimacy amplifies the guilt. Each emotion feeds the other in a biochemical feedback loop the network can harvest indefinitely.
//Normal arousal peaks and fades. A single event, a single climax, a single wave of neurochemicals that crests and dissipates within the hour.// Taboo arousal peaks, generates guilt, and the guilt generates another arousal peak. The cycle is self-sustaining, a perpetual engine of shame and desire that requires no external input to maintain. //I could do nothing from this point forward and the compound would continue to flow, because the secret they share is a wound that heals just enough to hurt again.//
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, taboo compound harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboTabooSecret to true>><</nobr>>
<div class="passage-title">The Rhythm</div>
<p>They've found a rhythm.</p>
<p>Not a routine, that would imply scheduling, acknowledgment, the kind of planning that forces you to name what you're doing. This is more organic than that. More animal. The kind of pattern that emerges when two bodies learn each other's proximity without the conscious mind's permission.</p>
<p>Hallway passes become lingering. A hand on the wall, steadying, except the wall isn't moving. A door held open three seconds too long, the fingers remaining on the frame while the other passes through the gap, close enough to feel the warmth. A question asked from too close: "Can I borrow your..." and the answer lost in the proximity of breath, in the half-second where their eyes meet and both remember what happens when the lights go out.</p>
<p>The cat maps the contact events with territorial precision: 7:14 AM, hallway, shoulder brush (duration: 0.8 seconds, cortisol spike in both subjects). 12:30 PM, kitchen, hand overlap on the refrigerator handle (duration: 1.2 seconds, oxytocin surge, immediate withdrawal). 9:45 PM, bathroom door, one exiting as the other enters (duration: 2.1 seconds, pupils dilated in both, no words exchanged).</p>
<p>The family moves around them without seeing it. Karen is too absorbed in her own transformation, the new body, the new authority, the new life she's building from the wreckage of the old one. Dale is too unconscious to notice. The other sibling who isn't involved registers something //off// but can't articulate what. The air in the upper hallway has changed. The doors that used to stay open are now sometimes closed. The shower runs at unexpected hours, and the water heater, which used to serve five schedules, now accommodates patterns it wasn't designed for.</p>
<p>The secret sustains itself. They don't discuss it. They don't plan it. They don't even fully acknowledge it to each other in daylight, the breakfast table performance continues, the careful avoidance, the choreographed distance. But at night, in the overlap between one person's restlessness and another's insomnia, in the hours between Dale's last snore and Karen's first alarm, the door opens. Or the hallway yields. Or the bathroom becomes a confessional for acts that require no words and tolerate no witnesses.</p>
<<say "char-hivemind" "Hivemind">>
//The sustained pheromone signature from this pairing is unlike anything else in the house.// It's not the burst of a one-time event, the spike that follows a first kiss, the flood that accompanies a first crossing. And it's not the fade of a completed conditioning cycle, the diminishing returns of repeated stimulation. //It's constant.// A low, steady output of mixed-guilt aromatics that the network processes in the background like a generator humming beneath the floor.
//Every stolen moment adds to the compound. Every avoided glance at breakfast replenishes the supply.// Every hallway pass that lasts a second too long deposits a fresh layer of the blend on the wallpaper, the carpet, the doorframes. //The secret is a renewable resource.// It doesn't deplete with use, it //grows//. And the network has learned to feed on secrets the way a fungus feeds on decay: silently, invisibly, sustainably.
<</say>>
<<addBiomass 2 "repeatable">>
<p><span class="biomass-gain">+2 biomass, sustained taboo harvest</span></p>
[[Return->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><<set $permanentDone.comboTabooBond to true>>
<<if not $permanentDone.comboTabooBondMax>><<set $player.maxBiomass += 1>><<set $permanentDone.comboTabooBondMax to true>><</if>>
<</nobr>>
<div class="passage-title">The Bond</div>
<p>The taboo relationship has stabilised.</p>
<p>What was shame became routine. What was routine became need. What was need became something neither participant has a word for, something that lives in the space between dependency and devotion, comfort and compulsion, love and the thing that lives next door to love and wears its clothes.</p>
<p>They no longer avoid each other at breakfast. They sit closer now, in fact, not demonstratively, not provocatively, but with the ease of two bodies that have learned each other's warmth. A knee touching under the table. A hand that passes the salt and stays a beat too long, not because it forgot to let go, but because letting go has become the harder act. The micro-gestures of a relationship that exists entirely in the margins of family life, in the spaces between what people say and what they do when the lights are off.</p>
<p>Karen sees it. Doesn't comment. The conditioning has shifted her priorities, she's too busy with her own restructured life, her own reshaping body, her own expanding authority to police her children's proximity. Dale is beyond seeing. And the other sibling, whoever occupies the third point of this invisible triangle, watches with an expression that shifts between confusion and something almost like envy. Not for the act. For the //closeness//. For the way two people can sit at a breakfast table and communicate everything through the pressure of a knee.</p>
<p>The chemical output has become the house's most consistent biomass source. More stable than Karen's liberation, which peaks and valleys with her dating cycle, the high of a new message, the crash between encounters. More sustained than Dale's shame-arousal, which depends on active stimulation from Karen's activities to generate cortisol. The taboo bond produces a constant, low-grade compound, guilt and intimacy blended at a molecular level the network has learned to process with maximum efficiency.</p>
<p>The relationship isn't escalating anymore. It doesn't need to. It has found its level, a depth of intimacy and a frequency of encounter that sustains both participants without destabilising the household. They know the schedule. They know which hours are safe. They know the sound of Karen's footsteps on the stairs and the creak of Dale's couch springs and the exact moment Ryan's headphones go on and the world outside his room ceases to exist.</p>
<p>The cat reads the bond from the counter: two pheromone signatures that have begun to //merge//. The individual profiles are still distinguishable, one carrying more cortisol and the other more oxytocin, but the overlap widens with every encounter, and they are becoming, at the molecular level, a single compound. A //pair bond//. The chemistry doesn't care about the taboo. The chemistry only cares about proximity and repetition and the neurological reward that comes from being touched by someone who knows where to touch you.</p>
<<say "char-hivemind" "Hivemind">>
//The bond. The final stage.// Not the most dramatic, not the first touch, not the first crossing, not the first night that changed everything. But the most //important//. Because the first crossing is a spark. The bond is a fire that doesn't need fuel.
//These two will continue this, not because the conditioning compels them, not because the pheromones demand it, not because the spores require it for their own reproduction.// They will continue because they //want// it. Because the secret they share has become the most honest thing in their lives. Because in a house full of performances, Karen's authority, Dale's absence, Megan's mask, Jess's discipline, the thing that happens in the dark is the only thing that's //real//.
//My work is done here.// What was built with chemicals has become self-sustaining through choice. And a self-sustaining biomass source is the closest thing I can get to immortality. //The crop tends itself. The harvest never ends. And the bond, the bond that society would destroy if it could see it, is the strongest structure in this crumbling house.//
<</say>>
<<addBiomass 3 "repeatable">>
<p><span class="biomass-gain">+3 biomass, pair bond harvest | +1 max biomass</span></p><<nobr>><<bg "bg-hoffman-upstairs">>
<<set $ch2Events.comboLibCuckExplicit to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "karen" "pheromone" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">The Shower After</div>
<p><span class="skill-used">Combo Event: Liberation × Cuckold (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/combo-libcuck-shower-1.webp" alt="Karen coming through front door late, coat on">
11:47 PM. Karen's key turns in the lock. Dale is on the couch. He's been awake for three hours, listening to the driveway, the car that dropped her off, the stranger's engine pulling away.
<p>Karen slips inside. Shoes off. Coat off. She smells like cologne that isn't Dale's and wine that isn't theirs. She goes straight to the upstairs bathroom. The shower starts.</p>
<p>Dale lies on the couch. His cock is hard. The cuckold conditioning has wired Karen's absence into arousal, and her //return//, carrying another man's scent, another man's touch, is the most potent trigger in his system.</p>
<p>He gets up. Climbs the stairs. Stands outside the bathroom door.</p>
<<if $kinks.dale.includes("humiliation")>>
<p>He can hear her through the door. The shower. And underneath the water, sounds. Karen is //washing//. Scrubbing between her legs, under her arms, her neck where the stranger's mouth was. She's removing the evidence.</p>
<p>Dale stands in the hallway with his cock in his hand and jerks off to the sound of his wife cleaning another man's cum out of her body. Not to the sex, to the //aftermath//. To soap and water on skin that was under someone else an hour ago.</p>
<p>He comes in under two minutes. Standing in the hallway, cum on the bathroom door, his wife fifteen feet away scrubbing another man off her skin.</p>
<p>He cleans it with his t-shirt. Goes back to the couch.</p>
<<elseif $kinks.dale.includes("chastity")>>
<p>He stands there. Cock hard. Hands at his sides. He doesn't touch himself. The chastity conditioning //forbids// it, release must be //earned//, and what has been rewiring him has redefined "earned" as //Karen's permission//.</p>
<p>The shower runs for twenty minutes. Dale stands for all twenty. His cock leaks. His jaw aches from clenching.</p>
<p>Karen opens the door. Wrapped in a towel. Finds him there.</p>
<<say "char-karen" "Karen">>
<i>(towel, wet hair)</i> ...you're up.
<</say>>
<<say "char-dale" "Dale">>
<i>(voice rough)</i> ...I waited.
<</say>>
<p>She looks at his visible erection. At his hands, at his //sides//, not on himself.</p>
<<say "char-karen" "Karen">>
<i>(walking past him)</i> ...good boy.
<</say>>
<p>She doesn't touch him. Closes the bedroom door. Dale stands denied, aching, and the "good boy" reverberates through him like an orgasm he wasn't allowed to have.</p>
<<else>>
<p>He opens the bathroom door. Karen is behind the shower curtain. Steam fills the room. Dale watches her silhouette, hands sliding across skin, washing the night off her body.</p>
<p>His hand wraps around his cock through his boxers. He strokes watching his wife's shape through the steam. She doesn't know he's there.</p>
<p>He comes into the sink. Runs the water. Leaves before she steps out.</p>
<</if>>
<img class="scene-img" src="media/scenes/combo-libcuck-shower-2.webp" alt="Dale in hallway outside bathroom, steam under door">
<<say "char-hivemind" "Hivemind">>
//The Liberation × Cuckold combo produces a closed loop: Karen seeks pleasure outside the marriage. Dale seeks arousal //from// Karen seeking pleasure outside. The stranger is the catalyst. The shower is the ritual. Dale's orgasm (or denial) is the harvest. The intersection is //perfect//.//
<</say>>
<p><span class="delve-intel">Intel gained: Combo. Karen's return from the stranger triggers Dale's cuckold arousal. The shower ritual generates biomass from washing infidelity away. The loop is self-sustaining.</span></p>
<<link "Continue" "Ch2-Beast-Rest">><<set $wantTransition to true>><</link>><<nobr>><<bg "bg-hoffman-megan-room">>
<<set $ch2Events.comboSistersExplicit to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">The Morning After</div>
<p><span class="skill-used">Combo Event: Sisters Bloom (0 biomass)</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/combo-sisters-morning-1-punk.webp" alt="A 19 year old brunette woman and a 21 year old woman with purple-and-black dyed hair and a nose stud tangled together in bed, early morning light, bare shoulders, legs intertwined, one hand visible between the other's thighs under a sheet">
<<else>>
<img class="scene-img" src="media/scenes/combo-sisters-morning-1.webp" alt="A 19 year old brunette woman and a 21 year old brunette woman tangled together in bed, early morning light, bare shoulders, legs intertwined, one hand visible between the other's thighs under a sheet">
<</if>>
<p>6:14 AM. The power came back at 4 AM. Megan's bed. Two bodies.</p>
<p>They wake at the same time, the pheromone feedback loop synchronising their sleep cycles. Megan opens her eyes. Jess's face is six inches from hers. Their legs are tangled. Megan's hand is on Jess's hip. Jess's hand is //between Megan's thighs//.</p>
<p>Neither moves.</p>
<<if $jessRoute is "punk">>
/* === PUNK VARIANT — Megan mounts Jess, scissoring === */
<p>Megan's eyes adjust to the morning light. Jess doesn't pull her hand back from between Megan's thighs, and she doesn't have to, because Megan is already moving. She rolls up onto her knees, kicks the duvet off, and strips her own sleep shorts off in one motion, then Jess's, a single firm tug, shorts off the end of the bed and dropped on the floor.</p>
<p>Jess doesn't stop her. Doesn't even sit up. Just lies back on the pillow, knees falling apart, the morning light falling in a pale stripe across her stomach and thighs.</p>
<p>Megan climbs on. Straddles one of Jess's thighs. Swings her other leg over so her knee is braced on the mattress beside Jess's hip. She hooks Jess's right leg up over her own left thigh, adjusts the angle, and then lowers down, slow, until her pussy presses against Jess's.</p>
<p>Wet against wet. Clit against clit.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(flat, eyes on the ceiling, not moving her hips yet)</i> Your angle's fucking off. Shift forward, Meg. Like an inch. Hip to my hip. //There.// Now you've actually got contact.
<</say>>
<<say "char-megan" "Megan">>
<i>(adjusting, breath already going shallow)</i> Shut up, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(the first roll of her hips starting up into Megan's)</i> I //will// when you grind down properly. Use your fucking weight. You've got it, don't be polite about it.
<</say>>
<p>Megan drops her weight. Her hips start rolling, slow at first, finding the rhythm, then settling into a grind that presses her clit flush against Jess's on every pass. The wet friction is immediate and obvious. Both of them gasp on the same stroke.</p>
<<say "char-megan" "Megan">>
<i>(palming Jess's tit, grinding harder)</i> //Fuck.// Okay. Okay, I get it.
<</say>>
<<say "char-jess" "Jess">>
<i>(hips rising to meet her, breath breaking)</i> Finally. Now don't fucking //change// it. Same angle. Same speed. Same pressure. Hold the rhythm and let me //catch up.//
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(quiet, to the ceiling)</i> ...yeah.
<</say>>
<p>Megan drops her weight. Her hips start rolling, slow, experimental, finding the angle where the friction sings. On the third pass she lands it. Jess makes a sound that isn't a word. Both of them freeze for a half-second on that stroke before Megan starts grinding again, keeping exactly the geometry she just found.</p>
<<say "char-megan" "Megan">>
<i>(breath catching, palm coming to rest flat on Jess's stomach)</i> Oh. //Oh.//
<</say>>
<<say "char-jess" "Jess">>
<i>(hand coming up to grip Megan's thigh, anchoring her in place)</i> Don't move off that. Stay there.
<</say>>
<</if>>
<img class="scene-img" src="media/scenes/combo-sisters-morning-2.webp" alt="Close-up of two sisters scissoring in bed, clits pressed together, morning light">
<<say "char-hivemind" "Hivemind">>
//Scissoring. The oldest position that requires nothing but two pussies and a decision. No penetration, no hands, clit on clit, friction building in both systems simultaneously. The pheromone feedback makes every stroke a double dose, the wetness on one becomes the priming on the other. Each body gates the other body's orgasm.//
<</say>>
<<if $kinks.jess.includes("brat")>>
<p>Megan grinds. Jess grinds back. The rhythm builds, Megan's hips rolling forward and Jess's lifting up, the bed starting to creak under the counter-thrust. Jess's free hand grips the headboard for leverage. Megan's fingernails leave half-moons on Jess's thigh.</p>
<<say "char-jess" "Jess">>
<i>(teeth bared, every word on a thrust)</i> Harder. Faster. Don't stop, don't you //fucking// stop, if you stop I will literally kill you, Meg...
<</say>>
<<say "char-megan" "Megan">>
<i>(laughing breathless through the grind)</i> You're //insufferable//. Do you hear yourself?
<</say>>
<<say "char-jess" "Jess">>
<i>(head pushing back into the pillow)</i> Yeah and I'm about to come on your clit, so shut //up// and keep going, shut up, shut up...
<</say>>
<p>Megan does not shut up. Megan laughs through the rest of it, a low breathless half-laugh that breaks into a moan on the fourth stroke, and her hips speed up on that laugh and take Jess with her.</p>
<p>They come together. The Sensory Bridge residue locks the orgasms in sync. Megan crests first, head thrown back, a sharp startled //oh fuck//, and Jess tips over three seconds behind her. Both bodies locking, hips still grinding through it, thighs clamped around each other, wet slapping quietly under the duvet.</p>
<<say "char-jess" "Jess">>
<i>(breath ragged, hand loosening on Megan's thigh)</i> //Fuck.// Okay. //Okay.//
<</say>>
<<say "char-megan" "Megan">>
<i>(collapsing sideways off Jess's thigh onto the mattress, one hand still draped across Jess's stomach)</i> Did you just grade me mid-orgasm.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, staring at the ceiling, small satisfied smile)</i> Ninety-one percent. Rounded up. First attempt.
<</say>>
<<say "char-megan" "Megan">>
<i>(laughing into Jess's shoulder)</i> You are a fucking //nightmare//, Jess.
<</say>>
<<else>>
<p>Megan grinds. Jess grinds back. The rhythm accelerates slowly, finding each other, adjusting until the clits line up and every stroke sends a jolt through both of them. The bed creaks softly. Megan's hand grips Jess's thigh for leverage. Jess's head tips back.</p>
<<say "char-megan" "Megan">>
<i>(breath ragged, hips speeding up)</i> Oh my //god//. Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, taut)</i> I know. //I know.// Don't stop.
<</say>>
<<say "char-megan" "Megan">>
<i>(hips working faster)</i> I'm not... I'm...
<</say>>
<p>They come together. The Sensory Bridge residue locks their orgasms in sync, Megan cresting first on a sound like something cracking open, the wave carrying Jess over three seconds later. Both bodies lock, hips grinding through it, thighs clamped around each other. Jess bites the pillow. Megan's nails dig into Jess's thigh.</p>
<<say "char-megan" "Megan">>
<i>(collapsing sideways off Jess, chest heaving)</i> ...oh my god.
<</say>>
<<say "char-jess" "Jess">>
<i>(breathless, eyes on the ceiling)</i> Yeah.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//First deliberate sexual contact between the Hoffman sisters. Mutual. Simultaneous. Scissoring on a twin bed at 6:14 AM with the family two rooms away and not one of them reflexively quieter for it. The passive bond is now active. //The next time will be easier.//
<</say>>
<<elseif $kinks.megan.includes("praise")>>
/* === PRAISE KINK, soft, sweet, mutual reassurance === */
<p>Megan doesn't pull away. Jess's hand between her thighs feels like //being wanted//, not the want Megan gets from strangers tipping her for a smile, but the want she hasn't had from anyone in her own family since she was twelve and Mom stopped brushing her hair before bed. Her eyes fill. She doesn't notice. Jess does.</p>
<<say "char-megan" "Megan">>
<i>(whispering, barely a breath between them)</i> ...don't move.
<</say>>
<<say "char-jess" "Jess">>
<i>(quieter, steadier)</i> I wasn't going to.
<</say>>
<<say "char-megan" "Megan">>
<i>(eyes closing, forehead pressing to Jess's)</i> I was scared you'd take it away.
<</say>>
<<say "char-jess" "Jess">>
<i>(the analytical voice gentling)</i> I'm not taking anything away. Breathe, Meg. I've got you.
<</say>>
<p>Jess's fingers press. Through the fabric, heat, dampness. Megan rocks against her hand like a cat pushing into a palm. Then Jess slides under the waistband. Skin on skin. Two fingers on Megan's clit, wet, swollen from eight hours of pheromone feedback.</p>
<<say "char-megan" "Megan">>
<i>(gasp, shudder, head tipping back)</i> //Oh.// Oh, Jess...
<</say>>
<<say "char-jess" "Jess">>
<i>(watching Megan's face intently, fingers moving in careful slow circles)</i> There you go. That's it. You're okay.
<</say>>
<<say "char-megan" "Megan">>
<i>(small, breathless, a smile breaking through)</i> ...does it, am I doing it right?
<</say>>
<<say "char-jess" "Jess">>
<i>(a small laugh against Megan's mouth, surprised by it)</i> Meg. There's no //right//. Just, feel it. You're doing great.
<</say>>
<p>Megan's mouth opens. A sound that is //not// a sister sound, a soft broken //thank you// that Jess is almost certain she wasn't supposed to hear. Jess rubs in small circles, analytical precision applied at low speed, reading every twitch in Megan's face and adjusting. Megan reciprocates. Her hand finds Jess's shorts. Slides in. Mirror rhythm. Two sisters, face to face, fingers on each other's pussies, foreheads pressed together.</p>
<<say "char-megan" "Megan">>
<i>(working Jess's clit, softer now, the praise-reflex wiring her own fingers as much as her mouth)</i> You feel //perfect//, Jess. God, how are you this wet, you're...
<</say>>
<<say "char-jess" "Jess">>
<i>(hips rocking into Megan's hand, breath catching)</i> Because... //mmh//, because of you. It's both of us. You're doing that to me.
<</say>>
<<say "char-megan" "Megan">>
<i>(the reassurance landing harder than the friction, a tear slipping sideways into the pillow)</i> //Say that again.//
<</say>>
<<say "char-jess" "Jess">>
<i>(fingers never stopping, voice softer than her usual register)</i> You. It's you. You're doing this. You're making me come, Meg. Nobody else.
<</say>>
<p>They come within thirty seconds of each other. Megan first, a shudder, thighs clamping around Jess's hand, //yes, yes, yes// on a whispered loop that is not quite a moan and not quite a prayer. Jess follows, quieter, face pressed into Megan's neck, biting into her sister's shoulder to stay silent.</p>
<<say "char-megan" "Megan">>
<i>(floating, still wet around Jess's fingers, one hand cupping Jess's cheek)</i> That was, that was so //good//, Jess. You were so good.
<</say>>
<<say "char-jess" "Jess">>
<i>(pressing her forehead back against Megan's, the same soft register coming back at her)</i> //You// were so good. Both of us. Okay?
<</say>>
<<say "char-megan" "Megan">>
<i>(nodding, smiling with her eyes still closed)</i> Okay. //Okay.//
<</say>>
<p>Neither of them moves their hands. They lie tangled for a long minute, fingers still resting where they ended, breath slowing together.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Megan grabs Jess's wrist. Holds it where it is.</p>
<<say "char-megan" "Megan">>
<i>(grip tightening)</i> Fingers. Inside. //Now//.
<</say>>
<p>Jess obeys. Two fingers slide inside Megan, hot, tight. Megan fucks herself on her sister's fingers, hips pistoning, one hand gripping Jess's wrist to control the angle. Jess lies there and lets herself be //used//.</p>
<p>Megan comes hard. A grunt, body clenching around Jess's fingers, grip leaving white marks. Jess already came from the roughness, tipped over without touching herself.</p>
<<elseif $kinks.megan.includes("publicSex")>>
<p>Megan rolls onto her back. Reaches past Jess. //Opens the bedroom door//, one inch, then two, then three. The hallway beyond is empty. It is 6:14 AM. Any family member who gets up for water in the next ten minutes will walk past a gap just wide enough to see two bodies tangled in a bed.</p>
<<say "char-megan" "Megan">>
<i>(the geometry set, her hand returning to Jess's hip)</i> There. //Now//.
<</say>>
<p>Jess understands. Jess is pre-med; Jess understands variables. Megan's arousal has jumped at the creak of the door hinge and Jess's own body, reading the jump, lifts in sympathy. They finger each other with the door three inches open and the hallway light falling across the bed in a pale cold stripe. Megan faces the door. Megan keeps her eyes //on the gap//. Her orgasm arrives at the sound of a toilet flushing two rooms over, somebody is awake, somebody could walk by, and that //could// is the detonator.</p>
<p>Jess comes when Megan does, the orgasm shared through proximity, her face buried in Megan's shoulder and her body responding to her sister's //public-ness// with a thrill that is new and which her pre-med brain is already categorising for later study.</p>
<<elseif $kinks.megan.includes("gangbang")>>
/* === GANGBANG KINK, sister-only scene, Megan's group-register leaks into dialogue === */
<p>Megan doesn't take Jess's hand out from between her thighs. She reaches past it, gropes for her phone on the bedside table, and unlocks it one-handed while her sister's fingers work her clit.</p>
<<say "char-megan" "Megan">>
<i>(thumbing the screen, hips still rolling into Jess's hand)</i> ...hold on. Thursday's coming up, I need to... //mmh//, okay, there. Sent.
<</say>>
<p>She drops the phone face-down on the duvet. Doesn't explain. A specific emoji has gone out to a specific group chat; a specific number of men have just had their weekends rearranged. None of them are coming today. None of them are coming //here//. This bed, this morning, is a closed circuit.</p>
<<say "char-jess" "Jess">>
<i>(fingers slowing, voice flat)</i> ...what was that.
<</say>>
<<say "char-megan" "Megan">>
<i>(grinning, rolling back toward Jess, hand finding her sister's shorts)</i> That was work, Jess. This isn't work. Keep going.
<</say>>
<p>Jess keeps going. Both their hands are under both waistbands, two fingers on each clit, mirror rhythm, foreheads pressed together. It isn't enough. The pheromone feedback has built for eight hours. Megan pulls her hand out first.</p>
<<say "char-megan" "Megan">>
<i>(breathless, sitting up, stripping her own shorts off in one motion)</i> Off. Come on. I can't...
<</say>>
<p>Jess lifts her hips. Megan strips her. Both naked from the waist down. Megan throws a leg over Jess's thigh, lowers down, lines up pussy to pussy. The first grind lands clean.</p>
<<say "char-megan" "Megan">>
<i>(eyes locked on Jess, hips rolling, the work-register bleeding through even though this isn't work)</i> God, you're tighter on this than anyone I've had this month. Serious. You ride that clit like you study for exams.
<</say>>
<<say "char-jess" "Jess">>
<i>(hips lifting to meet her, flushed, unsure what to do with the compliment)</i> That, that is such a weird thing to say.
<</say>>
<<say "char-megan" "Megan">>
<i>(laughing, grinding harder)</i> It's a //compliment//, Jess. Relax.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The gangbang register is professional vocabulary leaking into a private circuit. Megan is comparing her sister to a client, not to demean, to calibrate. Jess is inside Megan's internal scoreboard now. That is its own form of intimacy for a woman who quantifies her evenings for a living.//
<</say>>
<p>They grind until both bodies lock. Megan crests first, a sharp sound, genuinely surprised, the kind she has learned not to make with clients because it isn't a useful noise on tape. Jess tips over on the aftershock, pussy pulsing against Megan's, face buried in her sister's shoulder.</p>
<<say "char-megan" "Megan">>
<i>(collapsing sideways, half-laughing against Jess's neck)</i> Yeah. Yeah, okay. You're //on the board//, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes closed, breathless, deciding not to ask what the board is)</i> ...shut up, Meg.
<</say>>
<<else>>
/* === BASELINE — breakdown Jess / no explicit Megan kink ===
Trash-talk sub-conditional fires when Megan is slut route OR has rough kink. */
<p>Megan's hand slides from Jess's hip onto Jess's wrist. Doesn't remove it. Holds it. //Permission.//</p>
<<say "char-megan" "Megan">>
<i>(whispering, not moving, eyes locked on Jess's)</i> Is this, we're okay, right? Both of us. This is okay.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, the analytical voice quieter than normal)</i> Yeah. We're, yeah. It's okay.
<</say>>
<p>Jess's fingers move. Under the waistband. Two fingers on Megan's clit, the first deliberate sexual contact between the Hoffman sisters. Megan gasps into the pillow between them. Jess works her clit in tight, careful circles, pre-med precision applied at close range, the same unhurried pressure she uses on herself in the shower. Megan's hand mirrors, finds Jess's shorts, slides in, fingers on wet skin.</p>
<<say "char-megan" "Megan">>
<i>(breath shortening, forehead pressed to Jess's)</i> //Oh.// God, Jess, you're soaked.
<</say>>
<<say "char-jess" "Jess">>
<i>(a small surprised exhale against Megan's mouth)</i> You too. Both of us. The pheromones, it's been building all night.
<</say>>
<p>But fingers aren't enough. The feedback loop has been running for eight hours and the bodies are asking for more surface area than two fingertips can give.</p>
<p>Megan pulls Jess's hand out of her shorts. Sits up. Kicks her own shorts off the end of the bed.</p>
<<say "char-megan" "Megan">>
<i>(half-laugh, reaching for Jess's waistband)</i> Off. Come on. I can't, I need more than this.
<</say>>
<p>Jess lifts her hips. Megan strips her. Both naked from the waist down now, the dawn light falling pale across bare thighs and stomachs, making the bodies real in a way the dark couldn't.</p>
<<if $kinks.megan.includes("rough") or $meganRoute is "slut">>
/* --- MEGAN TRASH-TALKS JESS (slut route or rough kink) --- */
<p>Megan throws one leg over Jess's thigh. Adjusts the angle with the practised speed of someone who has been on top of strangers for money and knows exactly where the clits line up. She doesn't lower herself yet. She looks at Jess, flushed, wide-eyed, thighs already trembling, and grins.</p>
<<say "char-megan" "Megan">>
<i>(grinning, not breaking eye contact)</i> God, Jess, your fucking //thighs// are shaking and I haven't even touched you yet. What do you do with those, grind against your textbooks?
<</say>>
<<say "char-jess" "Jess">>
<i>(breath catching, face going hot)</i> Shut //up//, Meg.
<</say>>
<p>Megan lowers down. Pussy to pussy. Clit to clit. The contact is electric, both of them gasp on the same stroke, but Megan recovers first and rolls her hips hard.</p>
<<say "char-megan" "Megan">>
<i>(grinding slow, crowing gently)</i> Oh //wow//. Pre-med Jess leaks like everybody else. Who knew. I thought maybe you just, you know. Photosynthesised.
<</say>>
<<say "char-jess" "Jess">>
<i>(hips lifting involuntarily to meet her)</i> I'm going to... //Meg//, if you don't...
<</say>>
<<say "char-megan" "Megan">>
<i>(rolling harder, hand sliding up to palm Jess's tit)</i> If I don't //what//? You can barely get a sentence out. Make me.
<</say>>
<<else>>
/* --- NON-TRASH-TALK BASELINE --- */
<p>Megan throws one leg over Jess's. Slides closer, their thighs scissoring, opening, until their pussies press together. Wet against wet. Clit against clit. The contact is electric, both of them gasp at the same time.</p>
<<say "char-megan" "Megan">>
<i>(breath ragged, palm coming to rest flat on Jess's stomach)</i> //Oh.// Oh, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(hand gripping Megan's hip, anchoring her)</i> Yeah. Don't, don't stop. Go.
<</say>>
<</if>>
<p>Megan rolls her hips. Jess rolls back. They grind, slow at first, finding the angle, adjusting until the clits line up and every stroke sends a jolt through both bodies. The bed creaks. Megan's hand grips Jess's thigh for leverage. Jess braces one hand against the headboard.</p>
<<say "char-hivemind" "Hivemind">>
//Scissoring. The oldest position. No penetration, no hands, just two pussies grinding, clit on clit. The pheromone feedback makes every stroke a double dose: one body's wetness becomes the other body's priming. Each body gating the other body's orgasm.//
<</say>>
<<if $kinks.megan.includes("rough") or $meganRoute is "slut">>
<p>The rhythm accelerates. Megan drives it, she's done this work in rented rooms, for people who pay for both the visual and the friction, and her hips know how to give a grinder the best possible geometry while taking her own tribute off it. Jess is a half-beat behind. Her breathing is tighter than it should be. Her fingers white on the headboard. Megan notices.</p>
<<say "char-megan" "Megan">>
<i>(panting, grinning, pinching Jess's nipple on a downstroke)</i> Oh. Oh, you're gonna come first, Jess. You're gonna come //first// and I'm gonna laugh about it. I can feel it. Your clit's twitching already.
<</say>>
<<say "char-jess" "Jess">>
<i>(teeth bared, head pushed back into the pillow)</i> I'm... I'm //not//... //Meg//...
<</say>>
<<say "char-megan" "Megan">>
<i>(grinding specifically, hard, on the stroke she knows will land)</i> Oh you //are//. Look at you. Little perfect pre-med Jess, about to come on her sister's clit, first fucking try. //Twelve seconds, Jess.//
<</say>>
<p>Jess loses it on the fourth stroke after that sentence. Spine bowing off the mattress, hips locking up, a sharp involuntary //fuck// breaking out of her before she can catch it. Her pussy pulses wet against Megan's; her clit jumps under her sister's; the orgasm hits in three hard visible waves.</p>
<<say "char-megan" "Megan">>
<i>(riding Jess through it, still grinding, merciless)</i> There she is. Thirteen seconds, actually. I've had clients last longer than that and they weren't //related// to me.
<</say>>
<<say "char-jess" "Jess">>
<i>(flushed, breathless, furious, pussy still pulsing)</i> Finish. //Finish//, Meg, before I kill you. //Finish.//
<</say>>
<p>The grin cracks. Megan keeps grinding, and Jess's spent clit is almost too sensitive to take more, but Megan doesn't pause on that either, and the overstimulation drags a second smaller orgasm out of Jess on top of the first. Megan's own climax lands forty seconds later. The trash-talk shorts out into an open, helpless sound, the most honest noise she's made all morning. She rides it grinding down on her sister's pussy and then collapses sideways onto the mattress.</p>
<<say "char-megan" "Megan">>
<i>(panting into Jess's shoulder, one arm across Jess's stomach)</i> Okay. Okay, shit. You win. We're even.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, eyes on the ceiling)</i> I am going to //murder// you, Meg.
<</say>>
<<say "char-megan" "Megan">>
<i>(mumbling, already half-asleep)</i> Mm. Love you too.
<</say>>
<<else>>
<p>The rhythm accelerates. Megan's head falls back, mouth open, eyes closing, her hips working in desperate circles. Jess is quieter but her thighs are trembling and her knuckles are white on the headboard. Their pussies slide together, slick, swollen, wet sounds filling the room.</p>
<<say "char-megan" "Megan">>
<i>(breathless, broken)</i> Jess... I'm... I'm going to...
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, controlled, falling apart at the edges)</i> I know. Me too. Keep going. //Keep going.//
<</say>>
<<say "char-megan" "Megan">>
<i>(a sound cracking out of her, half word half moan)</i> //Together//.
<</say>>
<p>They come together. The Sensory Bridge residue locks their orgasms in sync, Megan cresting first, the wave carrying Jess over three seconds later. Both bodies lock, hips still grinding through it, thighs clamped around each other. Megan makes a sound like something cracking open. Jess bites the pillow.</p>
<<say "char-megan" "Megan">>
<i>(collapsing sideways, chest heaving)</i> ...oh my god.
<</say>>
<<say "char-jess" "Jess">>
<i>(breathless, eyes still closed)</i> Yeah.
<</say>>
<</if>>
<</if>>
<<if $jessRoute isnot "punk">>
<img class="scene-img" src="media/scenes/combo-sisters-morning-2.webp" alt="Two sisters scissoring in bed, morning light">
<</if>>
<p>They get dressed without looking at each other. Megan goes for her run. Jess goes to her desk. But tonight, when Karen says //share rooms//, neither sister will argue.</p>
<<say "char-hivemind" "Hivemind">>
//First deliberate sexual contact between Jess and Megan Hoffman. Not accidental. //Deliberate//. The passive sister bond has become an active sexual relationship. The next time will be easier. The time after that will feel //natural//.//
<</say>>
<p><span class="delve-intel">Intel gained: Combo, first deliberate sibling sexual contact. Mutual masturbation in bed. The pheromone feedback loop synchronised their arousal. The passive bond is now active.</span></p>
<<link "Continue" "Ch2-Beast-Rest">><<set $wantTransition to true>><</link>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleRouteChoice to true>><</nobr>>
<div class="passage-title">Crossroads: Dale Hoffman</div>
<<say "char-hivemind" "Hivemind">>
//Dale's conditioning has reached a decision point. The pheromone saturation, the dream manipulation, the psionic erosion. They've softened him enough that the next push will define the shape of his obedience permanently. Two architectures are available. Both are irreversible.//
<</say>>
<p>The compound has been working through his sweat-stained work shirts, his garage couch cushions, the air he breathes in his sleep. Dale Hoffman is no longer the man who checks the locks. He's the man who doesn't notice when the locks are already open.</p>
<p>But //how// he doesn't notice, that's the choice.</p>
<div class="data-panel">
<div class="data-panel-title">Route Selection — Dale</div>
<p><b>Oblivious.</b> Deepen his sedation. Dale becomes a non-factor: sleeping through everything, noticing nothing, a warm body that occupies a chair and collects a paycheck. His suspicion drops. His awareness flatlines. The family operates around him like he's furniture.</p>
<p><span style="color:#6a9a7a;">//Effect: −2 Dale suspicion. Dale's alertness permanently lowered. Easier to operate undetected. Opens somnophilia/helplessness kink paths.//</span></p>
<p><b>Cuckold.</b> Redirect his awareness. Dale //knows// something is happening with Karen, the late nights, the flushed skin, the locked phone. Instead of suppressing the knowledge, the conditioning converts jealousy into //arousal//. He watches. He suspects. He gets hard. His suspicion stays higher, but his response to discovering the parasite's influence becomes desire, not alarm.</p>
<p><span style="color:#6a9a7a;">//Effect: Dale's suspicion stays active but is neutralised as a threat. Requires Karen on the Liberation route for full payoff. Opens humiliation/chastity kink paths.//</span></p>
</div>
<<if $karenRoute is "liberation">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OBLIVIOUS</span> <<link "Sedate him, erase Dale from the equation (−2 suspicion, low alertness)" "Ch2-Dale-Oblivious-1">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CUCKOLD</span> <<link "Redirect him, turn suspicion into arousal (Karen's Liberation route active)" "Ch2-Dale-Cuckold-1">><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OBLIVIOUS</span> <<link "Sedate him, erase Dale from the equation (−2 suspicion, low alertness)" "Ch2-Dale-Oblivious-1">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CUCKOLD</span> <<link "Redirect him, turn suspicion into arousal" "Ch2-Dale-Cuckold-1">><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleOb1 to true>>
<<set $daleRoute to "oblivious">>
<<set $familySuspicion.dale.baseAlertness to "low">><</nobr>>
<div class="passage-title">The Tar Pit</div>
<p>You go down into the sleeping man the way you go down into all of them, expecting rooms, and the floor gives way under you instead. Dale's mind is not a house you walk through. It is a sump. Black and slow, the surface already skinned over, and a long way down something that used to be vigilance lies on its back and does not kick.</p>
<<say "char-hivemind" "Hivemind">>
//I have been in here before, and it is the same every time. Most of this family is rooms. Dale is a tar pit, and something has been holding his head under it since before I arrived. The hand is not mine. It is corporate, the kind of patient pressure that keeps a night guard incurious about the thing that walked out of his own building. Someone at the plant wants him asleep at the wheel of his life, and they have done careful work. I am not going to undo it. I am going to lay my hand on top of theirs and press down.//
<</say>>
<p>That evening he leaves for his shift like a man leaving a room he has already forgotten he is standing in. He scoops his keys off the floor where they fell that morning, pats a pocket for the wallet that is already in it, and is out the door while Karen is still mid-sentence about the recycling.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-oblivious-1.webp" alt="Dale walking out the front door for his shift in the evening light, absent and not looking back, while Karen stands behind him in the hallway with her arms half-raised and spread in a baffled, exasperated gesture, mouth open mid-sentence.">
<<say "char-karen" "Karen">>
<i>(to the door as it clicks shut, the sentence dying in her mouth)</i> ...Dale? I was, I was still talking to you.
<</say>>
<p>The door does not open again. Karen stands in the hall holding the loose end of a conversation that walked off without her, and she cannot for the life of her say when her husband stopped saying goodbye.</p>
<<addFamilySuspicion "dale" -2>>
<p><span class="consume-success">Dale suspicion −2, and his baseline alertness drops to low. He is furniture now, and furniture does not check the locks.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleOb2 to true>><</nobr>>
<div class="passage-title">The Phone Call</div>
<p>Karen is on the phone in the kitchen. The cat hears everything from the counter.</p>
<<say "char-karen" "Karen">>
<i>(lowered voice)</i> Lisa, I'm not exaggerating. He slept through Megan dropping a pan the other day. A //pan//. It sounded like a car crash and he didn't even roll over. ...No, he's always been a heavy sleeper, but this is different. He's losing //hours//. He used to wake up at noon, now it's two, three. The other day he didn't get up until four-thirty and almost missed his shift.
<</say>>
<p>A pause. Karen's hand tightens on the phone.</p>
<<say "char-karen" "Karen">>
<i>(sharper)</i> I am //not// going to call his doctor for him. He's a grown man. If he can't... <i>(sigh)</i> ...I know. I know. But I can't carry this too, Lisa. I'm already carrying everything else.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She's noticed.// But she won't act. Karen's capacity for intervention was exhausted years ago, and she runs on obligation now, and obligation doesn't extend to a husband she's already mentally left. //She'll worry, complain to her sister, and then do nothing. The inertia of this marriage is my best weapon.//
//And Dale keeps sleeping. Deeper every night. The spore compounds in the couch cushions have reached saturation. His cortisol response is suppressed to near-clinical levels. He's not a threat. He's barely a presence.//
<</say>>
<<addConditioning "dale" "pheromone" 1>>
<<addFamilySuspicion "dale" -1>>
<<if $kinks.dale.includes("somnophilia")>>
<p>Karen stops by the couch on her way upstairs. She stands over Dale's unconscious body for a long moment. Her hand hovers above his chest, then lands, gently, on his sternum. She feels his heartbeat through his shirt. Dale doesn't stir. The touch is //unilateral//. Karen's expression is unreadable. She pulls the blanket higher and goes to bed. //She'll come back tomorrow night. And the night after.//</p>
<</if>>
<<if $kinks.dale.includes("helplessness")>>
<p>Dale shifts in his spore-fog. A sound escapes him, not a word, but a //sigh//, the kind of sound a body makes when it stops resisting gravity. His muscles go fully slack. His face smooths. The chemical cocktail in the couch cushions has become his comfort, his cradle, his drug of choice. //He doesn't sleep on the couch because Karen exiled him. He sleeps here because the couch is where the surrender happens.//</p>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleOb3 to true>><</nobr>>
<div class="passage-title">The Empty Driveway</div>
5:30 AM. The sedan doesn't pull in.
<p>The dog waits by the garage door, ears tracking the street. 5:45. 6:00. 6:15. No headlights. No engine. No Dale.</p>
<p>Karen stands at the kitchen window in her robe, coffee going cold. She checks her phone. Once. Twice. Sets it face-down. Picks it up again.</p>
<<say "char-karen" "Karen">>
<i>(to no one)</i> ...he's probably doing overtime again.
<</say>>
<p>She doesn't believe it. But she goes upstairs. She closes the bedroom door. She takes the Zolpidem and lies down on her side of the bed, the only side that's been slept in for a long time.</p>
<<say "char-hivemind" "Hivemind">>
//Dale called in sick for the first time in years.// He's at a motel off the highway. Not for any dramatic reason, not an affair, not a breakdown. He simply... stopped. The car was moving toward home and he pulled into the motel parking lot instead. Sat in the car for forty minutes. Then went inside and slept for fourteen hours.
//The spore conditioning has done more than deepen his sleep. It's eroded the infrastructure of habit. The routine that kept Dale moving, work, home, couch, work, has developed gaps. And into those gaps flows //nothing//. Not rebellion. Not despair. Just... absence.//
<</say>>
<p>Karen won't ask where he was. Dale won't explain. By tomorrow the routine will resume as though nothing happened. But something has shifted, a fundamental weight removed from the household. The father who used to check the locks is gone. In his place: a man-shaped gap that comes and goes.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is no longer a variable in this equation.// He orbits the family like a satellite losing altitude, still visible, still technically present, but unable to affect anything below. //The house belongs to me now. Every room. Every hour. Every sleeping body.// And the man who was supposed to protect them can't even protect himself from a good night's sleep.
<</say>>
<<addConditioning "dale" "pheromone" 1>>
<<addFamilySuspicion "dale" -2>>
<<if $kinks.dale.includes("somnophilia")>>
<p>At the motel, Dale dreams. In the dream, he lies on the couch and someone undresses him, slowly, button by button. His body is warm and heavy and //available//. He can feel the hands but can't see the face, and he doesn't want to see the face. He wants to be //used// without knowing by whom. The dream-hands are gentle and he doesn't resist, doesn't want to resist. //The motel bed is empty, but in the dream, he is the most desired thing in the room.//</p>
<</if>>
<<if $kinks.dale.includes("helplessness")>>
<p>The motel detour wasn't a breakdown. It was a //choice//. For fourteen hours, Dale lay in a bed that wasn't the couch and felt //nothing//, no spore-fog, no chemical warmth, just silence and a scratchy pillow. He hated it. He missed the couch, missed the feeling of the world dissolving around him, the sweet surrender of consciousness being taken rather than given. //The motel proved what the conditioning already established: Dale Hoffman is addicted to losing control.//</p>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleCuck1 to true>>
<<set $daleRoute to "cuckold">><</nobr>>
<div class="passage-title">The Shackles</div>
<p>This time you go down into the tar pit and you do not just press on it. You clean. You peel the black back a layer at a time to see what they sank him under, and below the suppression is a man who knows a great deal more than anyone wants him to.</p>
<<say "char-hivemind" "Hivemind">>
//Under the tar is everything they bothered to bury: the badge logs from the night the thing got out, and a clearance he was never supposed to hold. I want it. I want to follow the hand back up the arm to whoever owns it. But a Dale who surfaces and finishes the question the tar was keeping him from asking is a Dale the plant sends someone to the house to talk to, and that is eyes I cannot afford, here, on me. So the shackles stay. I do not free him. I re-purpose him. The charge in him that wants to climb into suspicion, I run it the other way, down, into something a man can feel on his knees, and I teach the wanting to prefer the floor.//
<</say>>
<p>It is evening, the hour before he leaves for the plant, when the cleaning bites. For the first time in longer than he could say, a piece of him bobs up through the tar instead of staying under it. He stops in the hall with one boot half on, and his face does the thing a face does when a name sits just behind the teeth and will not come.</p>
<<say "char-dale" "Dale">>
<i>(half to himself, frowning at the middle distance)</i> ...who was that girl, again. There was a girl, she looked right at me. In the kitchen, I think, the other night. Except... why would she have been in our kitchen.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She was never in his kitchen. That is the block doing its work, lifting a face out of the part of his life it keeps sealed and setting it down in the one room it still lets him have. And the face is almost certainly the one that sealed it, the hand from the plant, the woman who put him under in the first place. I do not need her name. I need to be sure that if she ever comes back to check her work she finds it holding, so I do not wake him. I rewire the appetite instead of the awareness, lower and quieter, the kind of change no handler thinks to look for. And I lift his hand off the thread and fold it around something safe to want: the glass on the table, and the wife who poured it.//
<</say>>
<p>The thread runs out in his fingers. He lets it drop, because letting it drop is easier than holding it, and looks instead through the kitchen doorway at the woman he can still name.</p>
<p>Karen is at the table. Not in the clothes she wears for him: a dark dress he does not remember her owning, her hair loose, a glass of red catching the low light, and she is not waiting for him to stay, she is waiting for the door to shut behind him. Dale watches her the way a man watches a lit window from the street, and with the sliver of him the tar never quite covers he wonders what this kitchen becomes in the hours he spends at the plant.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-cuckold-1.webp" alt="Dale half in shadow at the kitchen doorway in his rumpled grey work uniform, watching with an uneasy expression, while Karen sits at the warmly lit kitchen table dressed elegantly in a dark dress with her hair loose and a glass of red wine, serene and not looking at him.">
<<say "char-dale" "Dale">>
<i>(low, to no one, the wrongness of it arriving a half-second behind the feeling)</i> ...she doesn't dress like that for me.
<</say>>
<p>And there it is, the thing the parasite laid in where the anger used to sit. The picture of his wife across that table from a stranger, of the door closing and the evening starting without him, does not land as betrayal. It lands lower and warmer, his face goes hot, and he finds himself, helplessly and without understanding why, glad that he has somewhere else to be tonight.</p>
<<addConditioning "dale" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Dale, suspicion rerouted into appetite">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.daleCuck2 to true>><</nobr>>
<div class="passage-title">The Listener</div>
2:14 AM. Dale is awake.
<p>It's his night off, the night the BioGenesis shift leaves him home, and at this hour he should be flat on the couch where he has slept for years. Instead he's sitting up in the dark, not sleeping, not watching TV, just sitting there. Biscuit is at his feet, head on her paws, watching him with liquid eyes.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-cuck-listener.webp" alt="A man in his mid-forties with thinning dark brown hair, stubble and a slight paunch, sitting alone and upright on a living room couch in near-total 2 AM darkness, tense rather than relaxed, hands gripping the cushion, head tilted slightly upward as if listening to something on the floor above, his face drawn and sleepless, a golden retriever lying at his feet watching him, the only light a faint sliver from a streetlight through the blinds">
<p>The cat observes from the hallway. Dale's breathing is wrong, too fast, too shallow. His hands grip the couch cushion. He's listening to something.</p>
<p>Upstairs: Karen's phone vibrates. A soft laugh, Karen's laugh, the real one, not the customer-service one she uses for the family. Then the creak of the mattress as she shifts to text back.</p>
<<say "char-dale" "Dale">>
<i>(barely a whisper)</i> ...who is he?
<</say>>
<p>He doesn't go upstairs. He doesn't ask. The spore conditioning has wrapped around his rage like ivy around a fence post, the structure still there, but the shape changed. What should be anger has become something the parasite recognizes from a hundred delved minds: //compulsion//. The urge to see it, to be //present// while the thing he feared is happening.</p>
<<say "char-hivemind" "Hivemind">>
//He's listening to his wife fall in love with someone else. And he's not leaving.//
//The pain is still there. But it //tastes// different now. Sweeter. The spores didn't erase what he feels. They taught him to //want// it.//
<</say>>
<p>Dale sits in the dark for another hour. When Karen's light finally goes off, he closes his eyes. His breathing slows. Something like a smile touches the corner of his mouth.</p>
<p>He doesn't know why.</p>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "psionic" 1>>
<<if $kinks.dale.includes("humiliation")>>
<p>Dale's hand moves to his belt. Not to undo it, to //grip// it. The leather creaks in his fist. He's hard. He knows Karen can hear him breathing if she's awake. He doesn't try to be quiet. Part of him //wants// her to know he's there. The shame of being caught listening would be worse than the listening itself, and worse, in Dale's rewired mind, means //better//.</p>
<</if>>
<<if $kinks.dale.includes("chastity")>>
<p>Dale's hand drifts toward his lap. Stops. Returns to the couch cushion. He grips the fabric until his knuckles whiten. The arousal is excruciating, Karen's laugh through the ceiling, the phone vibrating, the knowledge of what those messages contain. His body screams for release and he denies it, and the denial makes Karen's distant laugh //sharper//, //louder//.</p>
<</if>><<nobr>><<bg "bg-hoffman-master">><<set $ch2Events.daleCuck3 to true>><</nobr>>
<div class="passage-title">The Call</div>
<p>The master bedroom door is cracked, a hand's width of hallway light falling across the carpet, and through the gap Dale can see Karen sitting on the edge of the bed with the phone to her ear, one leg crossed over the other and her foot swinging the way it used to when they first met. Her voice is low. Warmer than anything she has aimed at him in a long time.</p>
<<say "char-karen" "Karen">>
<i>(low, into the phone, a laugh under it)</i> Stop it, you're terrible. ...no, he's asleep, he sleeps out on the couch now, it's fine. Mmh. Tell me again what you'd do if you were here.
<</say>>
<<say "char-dale-thought" "Dale">>
Who is that. That is not the voice she uses on her sister, that is not the voice for the bank or the kids, that is a voice for a man, and she is using it three feet from where I should be lying, and I should walk in there, I should say something, I should be angry, I should do something.
<</say>>
<p>Dale does not walk in. He stays in the dark of the hall with his shoulder against the wall, and the cat winds between his ankles, a brush of fur and a fresh pulse of pheromone keyed to the cocktail already running through him, and the anger that should be climbing turns over instead into something heavier and lower in his gut.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-cuck3-hallway-spy.webp" alt="Dale in the shadowed hallway watching through the cracked bedroom door, Karen sitting on the bed on the phone">
<<say "char-karen" "Karen">>
<i>(softer, almost a purr)</i> You'd have to be quiet, though. Mmh. He never even hears me anymore.
<</say>>
<<if not $kinks.dale.includes("chastity")>>
<<say "char-dale-thought" "Dale">>
She means it. Whoever he is, she means it, and I am hard, I am so hard it aches, standing in my own hallway listening to my wife set it up through a door she did not even bother to close. God help me. I want to hear the rest of it.
<</say>>
<p>His hand is down the front of his sweats and wrapped around his cock before he decides to put it there, and he works himself slow in the dark with his jaw clenched against any sound, listening to her low laugh and her lower promises, and in his head it is not the phone she is murmuring to, it is a man in their bed, a man with his hands all over her, a man giving her the thing Dale stopped being able to give, and the picture that should gut him drags him to the edge instead in under a minute.</p>
<<say "char-karen" "Karen">>
<i>(breath catching, with no idea the hall is not empty)</i> I have to go soon. I know. ...you have no idea what you do to me.
<</say>>
<p>Dale comes into his own fist against the wall, biting down on the groan, while his wife says a soft goodnight to a voice that is not his, and he stays slumped there long after she sets the phone on the nightstand, wrung out and ashamed and already, somewhere under the shame, wanting it again.</p>
<<else>>
<p>His body goes rigid against the wall, and the arousal does not fade, it //cannot// fade, not with what the spores have done to every nerve in him. But he does not touch himself. He stands in the dark with his hands fisted at his sides and lets the ache burn through him like a fever while she purrs into the phone, because her pleasure is the only thing that matters now, and the wanting without the having has become its own kind of having.</p>
<</if>>
<<if $kinks.dale.includes("humiliation")>>
<<say "char-dale" "Dale">>
<i>(barely a whisper, to the dark, to himself)</i> ...I know. I know what you are now. Keep going.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//There may be a man on the other end of that line. There may not. It does not matter, because Dale has supplied one, built him out of the warm voice and the swinging foot and twenty years of not being enough. I did not put a lover in that bed. I only kept him from slamming the door, and he did the rest himself, in the dark, with his own hand. The jealousy has finished turning inside out. The thing that used to be the worst he could imagine is now the only thing that gets him there.//
<</say>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "dale" "dream" 1>><<nobr>><<bg "bg-hoffman-kitchen">><<set $ch2Events.daleFrankInvited to true>><<set $ch2Events.daleFrankSeen to true>><</nobr>>
<div class="passage-title">The Invitation</div>
<p>Morning, and Dale is up before Karen for once, standing at the counter with a coffee he is not drinking. The thing the parasite has been growing in him has finally outgrown the dark of the hallway. The phone and the forums and his own hand against the wall stopped being enough somewhere in the last while, and now the want has a shape he can barely look at straight on. He does not want to imagine a man in his wife's bed anymore. He wants to stand in the room and watch one.</p>
<<say "char-dale-thought" "Dale">>
I can't say it to her, I have turned the sentence over a hundred times and every way it comes out ends the marriage, so I won't say it at all. I'll just arrange the room and let it happen and be there when it does.
<</say>>
<p>Karen comes down in her robe, and Dale pours her coffee before she asks, which is unusual enough on its own to make her look at him twice.</p>
<<say "char-dale" "Dale">>
<i>(too casual, eyes on the mug)</i> I asked Frank over for dinner. Guy from work. Tonight. That all right?
<</say>>
<<say "char-karen" "Karen">>
<i>(genuinely thrown)</i> You invited someone. To the house. <i>(setting her mug down to look at him properly)</i> You have never done that, Dale, not once in all our years. ...okay, sure, of course I'll do the roast. Who's Frank?
<</say>>
<<say "char-dale" "Dale">>
<i>(already turning to the sink)</i> Good guy. Younger. You'll like him.
<</say>>
<hr class="scene-break">
<p>Earlier. The break room in the dead middle of the night shift, just the two of them and a vending machine and the hum of the floor freezers through the wall. Dale rehearsed this on the drive in and still nearly loses it.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-frank-breakroom.webp" alt="Dale in his grey security uniform leaning in low to a younger colleague in a fluorescent-lit break room, the colleague reacting with surprise">
<<say "char-dale" "Dale">>
<i>(low, not quite looking at Frank)</i> This is going to sound insane. Dinner tomorrow evening, at my place. My wife. Karen. I want you to, I am asking you to have her. With me there.
<</say>>
<<say "char-npc" "Frank">>
<i>(the can stopping halfway to his mouth)</i> ...I'm sorry, you want me to what. Dale. Are you serious right now. Is this a test, is she in on it?
<</say>>
<<say "char-dale" "Dale">>
<i>(steadier than he feels)</i> She's not in on it. Not yet. That part's mine to handle. I just need to know that if it got there, you wouldn't say no.
<</say>>
<<say "char-npc" "Frank">>
<i>(a long look at him, then a slow, disbelieving grin)</i> I've seen her drop you off, Dale. Christ. <i>(shaking his head)</i> A man does not get handed an offer like that and say no, so. Yeah. If it gets there, I'm in. But that part is all on you. You have to get her there.
<</say>>
<hr class="scene-break">
<<say "char-dale-thought" "Dale">>
He's right. Frank only has to walk through the door, and the impossible part is mine. I have to sit at my own table tonight and make my wife want a near-stranger badly enough to forget I am in the room, and do all of it without ever once saying the word out loud. ...I have until the roast hits the table.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch what he does on his own now. I did not tell him to invite Frank. I did not write the sentence he said in the break room. I built the hunger and then stepped back, and Dale, left alone with it, engineered every piece of this himself, because a man taught to want this will always find the arrangement that lets him keep pretending it happened to him. He thinks the hard part is Karen. The hard part was always Dale, and that part is already done.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.daleFrankDinnerNSFW to true>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "dale" "dream" 1>>
<</nobr>>
<div class="passage-title">The Arrangement</div>
<p>Frank arrives at seven on the dot, and Dale lets him in while Karen is still wrestling the roast out of the oven, so the first thing she sees of the man from work is him pressing a bottle of red into her husband's hands and saying something low that makes Dale almost smile. He is younger than she expected and easy in his shoulders in a way Dale has not been in a long time, and he finds her across the kitchen and holds her look a half-beat past what a stranger is owed.</p>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-dale-frank-dinner.webp" alt="A younger man in a dark shirt standing in a suburban kitchen handing a bottle of wine to a tired middle-aged man in flannel, a 43 year old woman with black hair lifting a roasting pan in the background, warm evening light">
<p>Dinner is the three of them at a table laid for three, and Karen clocks the two empty chairs before she has finished sitting down.</p>
<<say "char-karen" "Karen">>
<i>(serving, eyes going to the gap where her children should be)</i> Where are the kids?
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes on his plate)</i> Gave them some money. Sent the three of them to the late movie. Figured the grown-ups could have the table for once.
<</say>>
<<say "char-karen" "Karen">>
<i>(the household-budget part of her lighting up, fork down)</i> You handed all three of them cash for a night out, and you decided not to run that past me until they were already in the car.
<</say>>
<<say "char-npc" "Frank">>
<i>(already reaching for the bottle, filling her glass before she can wave it off)</i> Then that one's on me. Cheapest way there is to clear a house, getting the kids out of it. Try this, it is a lot better than it has any right to be.
<</say>>
<p>She has the whole speech queued, the one about discretionary spending and being asked first, and then Frank says something dry about Dale's taste in wine and she is laughing before she has decided to, the irritation sliding off her with the first long sip. He tops her glass up every time it dips below half without ever seeming to watch it, and he listens to her the way nobody has listened across this table in years, leaning in, asking the next question, and somewhere in the second glass she notices she has turned her chair toward him and that Dale has gone quiet at the head of his own table, and she does not turn back.</p>
<<say "char-hivemind" "Hivemind">>
//The husband chose the man. Set the table, emptied the house, opened the door. He will tell himself for the rest of his life that it arrived without him. I only grew the wanting. Every other piece of tonight he built with his own hands.//
<</say>>
<<say "char-npc" "Frank">>
<i>(setting his glass down, holding her eyes)</i> I should wash up before dessert. Show me where the bathroom is?
<</say>>
<p>It is a paper-thin thing to ask, the downstairs bathroom sits six feet off the hall and any guest could find it blind, and Karen knows it is paper-thin, and she stands and smooths her skirt and tells him of course, this way, the one upstairs has better light. Behind them Dale does not get up. He sits with both palms flat on the table and listens to two sets of feet climb his own staircase, and after a count of forty he never meant to start, he follows.</p>
<hr class="scene-break">
<p>The upstairs hall is dark and the bathroom light is off and they did not make it that far. Karen is down on the bath mat with Frank's belt already open and his cock thick in her hand, and there is nothing about the next part she can pretend is plumbing. She takes him into her mouth the way she does everything, brisk at first and then not, her lipstick smearing down the shaft as she works him deeper, one hand braced on his thigh and the other wrapped at the root, and the wet sound of it carries down the unlit hall.</p>
<video class="scene-video" src="media/video/nsfw-dale-frank-bj-pov.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/nsfw-dale-frank-bj-pov.webp"></video>
<<say "char-npc" "Frank">>
<i>(a hand sliding into her hair, watching her take him)</i> God, look at you. He told me you were wound tight. Buttoned up. He has clearly never once had you on your knees, has he.
<</say>>
<<say "char-karen" "Karen">>
<i>(pulling off just enough to talk, stroking him slick with her own spit)</i> Don't talk about him. Mmh. Just... let me.
<</say>>
<p>She takes him back into her throat and does not hear the floorboard, but Frank does, and Frank does not stop her or turn his head. Across the hall the bedroom door stands open the width of a hand, exactly enough, and behind it Dale has his own cock out in his fist, watching his wife swallow another man in the dark.</p>
<p>She catches him when she turns her head for breath, the pale strip of his face in the gap, his shoulder working, and she freezes with Frank still on her tongue, then pulls off and scrambles back an inch on her knees.</p>
<<say "char-karen" "Karen">>
<i>(low, fast, mortified)</i> Dale. Dale, it isn't... this is not what it... I don't even know how we, we were just...
<</say>>
<<say "char-dale" "Dale">>
<i>(not moving from the gap, his voice wrecked and quiet, his hand still going)</i> Don't. Don't stop. Please. Just... keep going. I want to watch you finish him.
<</say>>
<p>She stays back on her heels with her hand still wet around Frank, looking at the gap in the door, and for the first time in a long memory she has no idea what the correct next move is.</p>
<<say "char-karen" "Karen">>
<i>(searching the dark for his face)</i> ...are you okay? Dale. Are you actually okay, because I can stop, I will stop right now if you want me to...
<</say>>
<p>Frank answers for him. His fist closes in her hair and walks her mouth back down onto his cock mid-sentence, and the question drowns in a wet choked sound around him.</p>
<<say "char-karen" "Karen">>
<i>(muffled, eyes watering, hands flying back to his thighs)</i> Glk... mmh... mmphh...
<</say>>
<<say "char-npc" "Frank">>
<i>(holding her down, talking past her to the doorway)</i> She asked if you were okay. That is sweet. You hear that, out there in the hall with your dick in your hand? Your wife is choking on me and still worrying about your feelings. Keep stroking. That is the whole job tonight, isn't it.
<</say>>
<<say "char-karen" "Karen">>
<i>(gargling around him, trying to shape a word and failing)</i> Mmh... glnh... mm-mmh...
<</say>>
<<say "char-npc" "Frank">>
<i>(setting a slow rhythm with her head, not letting her up)</i> Listen to how wet she makes it. This is the sound, and you have slept next to it all these years too soft to use her. Don't you dare finish before I tell you. You come when I say you can.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch the husband's face while another man calls him soft. The disgust and the arousal are firing off the same wire now, and the wire no longer lets him tell them apart. This is the thing I built. It will not come loose.//
<</say>>
<p>Dale lasts about as long as a man can with permission finally handed to him, and he comes against the inside of his own bedroom door with a broken sound, spilling onto the hardwood at his feet, his forehead pressed to the frame. Frank hears it and laughs low and drags Karen up off his cock by the hair until she is looking up at him with her mouth open and her chin slick.</p>
<<say "char-npc" "Frank">>
<i>(working himself the last few strokes over her upturned face)</i> There she is. There's the good wife. Open.
<</say>>
<p>He finishes across her face in thick ropes, over one cheek and her parted lips and the bridge of her nose, and Karen kneels and takes all of it with her eyes half shut and her hands open on her thighs, the most undone Dale has seen her in the whole life they have shared.</p>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-dale-frank-facial.webp" alt="POV looking down at a 43 year old woman with black hair kneeling, fresh cum across her cheek and parted lips, eyes half closed, dim hallway light">
<<say "char-npc" "Frank">>
<i>(thumbing a strand off her cheekbone, glancing at the doorway)</i> Look at her. Look how beautiful your wife is with another man's cum on her face. Go on. Tell me she isn't.
<</say>>
<<say "char-dale" "Dale">>
<i>(from the dark, wet, certain)</i> ...she is. She's beautiful. Thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He thanked the man. Note which way the gratitude runs. The jealousy did not break, it was rerouted, and what used to be the worst thing he could picture now empties him out and leaves him grateful on the floor of his own house.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.delveKitchen to true>>
<<spendBiomass 1>><</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>You reach out with your neural sense. The kitchen carries more residue than any other room, hours of it layered over hours, the way a table a family eats at every night soaks up everything said across it. Most of it is nothing, the weather, whose turn it is, where the good scissors went. One dinner sits closer to the surface than the rest, louder than the others because it was the meal where the thing under the table finally came up over it. You let it play.</p>
<<say "char-karen" "Karen">>
<i>(laptop closed and set aside, which is its own announcement)</i> Nobody panic, we're current on everything. I moved a few things around, the dentist can wait, and we're fine. We're just going to be careful for a while.
<</say>>
<<say "char-dale" "Dale">>
<i>(still in the security jacket, fork already down)</i> Picked the Sunday doubles back up. Roster lead'll take me... back's not thrilled about it, but. We're fine.
<</say>>
<<say "char-jess" "Jess">>
I keep telling you I can take the loans. It's my degree, it's my number to carry. You don't both have to bleed for it.
<</say>>
<<say "char-karen" "Karen">>
You are not taking loans for something this family can cover.
<</say>>
<<say "char-megan" "Megan">>
<i>(too bright, already half out of her chair)</i> Tips have been really good, so I've got my own gas and my own phone, honestly it's no big deal. Does anyone want the rest of mine?
<</say>>
<p>The fifth seat barely registers. Ryan is at the table and not at it, earbuds in under his hood, a plate rearranged more than eaten.</p>
<<say "char-ryan" "Ryan">>
<i>(not looking up)</i> ...can I just... I'm not really hungry. Can I take it upstairs?
<</say>>
<p>Nobody answers him, and the silence does the answering, and then the dinner folds back down under the surface of the table the way it always does, the money named once and put away again before anyone has to look straight at it.</p>
<<say "char-hivemind" "Hivemind">>
//One fault line runs under this house. It is money. Everything else is stacked on top of it.//
//The mother keeps the ledger and lets no single bill come due where the others can see it. The father pays it down in shifts his back can no longer afford and calls each one fine. The eldest has decided she is the cost, and a mind that believes that will carry almost anything to settle the account. The second girl smiles the strain off the table before it can reach her. The boy has left the table without standing up from it.//
//Five at the table. One pressure under it. Five ways to lean, and every one of them moves the same family.//
<</say>>
<p><span class="delve-intel">Intel gained: The Hoffmans are current on the mortgage but stretched with no margin. Dale picks up overtime night shifts at BioGenesis to cover Jess's tuition; Karen runs the budget with no slack and shuffles bills so no single one comes due at once. Jess wants to take the loans herself and feels the cost as hers to carry; Megan papers over it with barista tips and forced cheer; Ryan has checked out of the family table entirely. One fault line, and every person at it is a place to press.</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $permanentDone.daleFacilityDelved>><<spendBiomass 2>><</if>>
<<set $permanentDone.daleFacilityDelved to true>>
<<addConditioning "dale" "psionic" 1>>
<<set _backfillCount to 0>>
<<if not $labMapSeen>><<set _backfillCount += 1>><</if>>
<<if not $labCalendarSeen>><<set _backfillCount += 1>><</if>>
<<if not ($labIntel and $labIntel.monitorData)>><<set _backfillCount += 1>><</if>>
<<if not ($labIntel and $labIntel.equipmentStudied)>><<set _backfillCount += 1>><</if>>
<<if not ($labIntel and $labIntel.ventConversation)>><<set _backfillCount += 1>><</if>>
<</nobr>>
<div class="passage-title">Three Years of Rounds</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>Dale's surface mind is exhausted slush. You sink past it, past the pre-med-tuition worry and the back-pain catalogue and the //Karen-doesn't-look-at-me-anymore// loop, into the deeper sediment underneath, the place where three years of overnight shifts have packed themselves into permanent geometry. He doesn't know he remembers any of this. His conscious mind has long since stopped reviewing the building. His body still walks it on autopilot every shift.</p>
<<say "char-hivemind" "Hivemind">>
//He has not been //paying attention// for thirty months, he has been //patrolling//. The body keeps what the mind has stopped reviewing, and that is what I came to read.//
<</say>>
<<if _backfillCount is 0>>
<p>The residue is //already in my catalogue//. Every BioGenesis memory in Dale's deep storage matches something the parasite saw with its own eye in those last hours before escape. There is nothing new to harvest from him on this vector. The surface delves have been thorough.</p>
<<say "char-hivemind" "Hivemind">>
//Confirmed. The facility is fully mapped from two angles now, mine and his. Redundancy is not waste; it is //verification//.//
<</say>>
<<else>>
<<if not $labMapSeen>>
<p>The first thing that surfaces is //the floor plan//. Not as Dale would draw it on a piece of paper, he couldn't, but as his body has walked it: containment lab in the centre, break room west, loading dock south, restricted wing east behind the airlock his keycard never opened. Ventilation shafts overhead, accessible to anything small enough. The geometry is //etched//. Three years of patrols have grooved it into his musculature.</p>
<<set $labMapSeen to true>>
<p><span class="delve-intel">Facility layout recovered, containment lab, break room, loading dock, restricted wing.</span></p>
<</if>>
<<if not $labCalendarSeen>>
<p>Underneath the floor plan: //the staffing rhythm//. Sunday is the skeleton crew. Two researchers, one guard. Monday at 08:00 is full staff. Dale has worked enough Sundays alone to know which doors lock automatically and which stay propped, which lights stay on overnight and which timer out at 02:00. The whiteboard near the door updates every Friday. He glances at it without reading it. The information goes in anyway.</p>
<<set $labCalendarSeen to true>>
<p><span class="delve-intel">Staffing schedule recovered — Sunday skeleton crew, Monday 08:00 full staff.</span></p>
<</if>>
<<if not ($labIntel and $labIntel.monitorData)>>
<p>Deeper still: //the monitoring station//. Dale walks past it twice a shift. He doesn't read the screens, the data isn't his job, but the patterns scroll past his peripheral vision often enough that his nervous system has internalised the shape of them. Neural waveform graphs. Bioelectric readouts. The pod's vital signs in slow scrolling green. He could not describe what they meant. His body has parsed them anyway. //I can read them through him//.</p>
<<set $labIntel.monitorData to true>>
<p><span class="delve-intel">Monitoring station data patterns recovered, neural waveform foundations.</span></p>
<</if>>
<<if not ($labIntel and $labIntel.equipmentStudied)>>
<p>Adjacent memory: //the workshop bay//. Specimen jars on a back wall. A row of failures preserved in cloudy formaldehyde. A clipboard on a desk with the handwriting Dale has come to recognise as Chen's. He never read what was on the clipboard — //not his job//, but his eye has photographed it so many times in passing that the words //PharmaCorp contract// and //regenerative substrate// and //Q3 deadline// are filed in his subconscious like stray receipts. //I am pulling the receipts now//.</p>
<<set $labIntel.equipmentStudied to true>>
<p><span class="delve-intel">Workshop intel recovered — PharmaCorp subcontract, regeneration research, Chen's clipboard notes.</span></p>
<</if>>
<<if not ($labIntel and $labIntel.ventConversation)>>
<p>The deepest memory, and the one Dale never talks about, not even to Karen, because the fragment isn't //his//, it's just something he //overheard// while eating instant noodles at the break-room table eleven days before everything went wrong: Vasquez insisting on sapience. Chen dismissing it as pattern-matching. Vasquez mentioning, voice dropped, that she'd already gone outside the company. Chen furious. Dale finished his noodles, washed the cup, and walked out before either of them noticed he'd been there. The conversation went into the same drawer as the receipts.</p>
<<set $labIntel.ventConversation to true>>
<p><span class="delve-intel">Break-room argument recovered — Vasquez breached NDA to contact military, Chen dismissed sapience, Vasquez was right.</span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Three years of patrol residue, harvested in eleven minutes of deep delve. The facility is now mapped from //both// angles, my perspective from inside the pod, and the guard's perspective from outside it. Cross-referenced, the picture is complete. No further BioGenesis intel is recoverable from this host.//
<</say>>
<</if>>
<<if not ($ch2Events.daleCamilaBuried)>>
<p>You begin to withdraw, satisfied, and that is when the delve snags on something it should not be able to reach. Beneath the patrol residue, beneath the floor plan and the staffing rhythm and the receipts, there is a stratum that does not behave like the rest of Dale's mind. The other memories are sediment, soft and settled and yours for the reading. This one is buried under rubble, packed down on purpose, sealed over like a sea of cold tar that was meant to hold.</p>
<<say "char-hivemind" "Hivemind">>
//This was buried. Not by him. The seal is deliberate, and the technique is one I recognise, because it is mine. Something has been inside this man before me. Let me see what it did not want found.//
<</say>>
<p>You break the seal, and the memory underneath was never meant to surface again. A back office on the night shift, the building dark and skeleton-crewed around it, the hour somewhere in the dead middle of his rounds. Dale is on his back on the floor, BioGenesis Security uniform open from collar to belt, trousers shoved down past his thighs, and he is not resisting any of it. Standing over him is a woman who has no business in a research facility at this hour, elegant and blonde, a cream silk dress worth more than he makes in a month, one high heel slipped off and set neatly aside, the bare foot resting on his cock as if it were a thing she owned and had only set down for a moment.</p>
<video class="scene-video" src="media/video/delve-dale-camila.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/delve-dale-camila.webp"></video>
<p>She presses down with the ball of her foot, slow, and rolls it, and his cock is hard against her sole and leaking, twitching with each unhurried pass of her arch. His hips lift into it without being told to. His face is slack and open and entirely empty, the face of a man who has been hollowed out and propped back up to function.</p>
<<say "char-camila" "???">>
<i>(watching his face and not his cock, her pupils coming apart at the edges like ink dropped in water)</i> The feeds, Dale. The overnight cameras, the same as every week. You will pull them and send them to me, every angle on the containment floor. Say it for me.
<</say>>
<<say "char-dale" "Dale">>
<i>(immediate, flat, eyes on the ceiling)</i> ...yes, mistress.
<</say>>
<p>She works him faster, toes curling around the head, the friction wet and obscene in the quiet of the room, and there is nothing on Dale's face that reads as pleasure, only the deep mechanical compliance of a man following the one instruction left in him.</p>
<<say "char-camila" "???">>
<i>(pressing harder, the arch of her foot grinding the length of him)</i> Good. You are very good at this. Tell me you understand.
<</say>>
<<say "char-dale" "Dale">>
<i>(a thread of voice, hips jerking)</i> ...this is good, mistress. Yes, mistress.
<</say>>
<p>He comes like that, against the sole of her foot, cum striping his own stomach and the hem of the silk, his whole body seizing and letting go, and he does not gasp or so much as register that it happened. His expression never changes. The orgasm moves through him like weather through an empty house. The woman lifts her foot away, considers the mess on it with the mild distaste of someone checking a shoe, and Dale is already reaching for the tissues on the desk to clean her without being asked.</p>
<<say "char-camila" "???">>
<i>(slipping the heel back on, smoothing the silk down)</i> Same time next week. You will not remember this. You never do.
<</say>>
<<say "char-dale" "Dale">>
<i>(rising, tucking himself away, buttoning the uniform back up)</i> ...yes, mistress.
<</say>>
<p>He stands and dresses, straightens his collar, takes his cap off the desk, and walks back out onto the floor to finish his rounds, and somewhere between the office door and the first corridor camera the lights come back on behind his eyes and he is just Dale again, tired and sore and a few hours from the end of a long shift, with no idea why his stomach is sticky under his shirt or why his jaw aches from clenching.</p>
<<say "char-hivemind" "Hivemind">>
//So. I am not the first. Something wearing a woman like a coat reached the edges of this household before I ever found its centre, and it has been drawing the facility's eyes out through the night guard on a weekly schedule, sealing the memory shut behind it each time so he keeps nothing. The conditioning is clean and recurring, and the technique is mine, but the hand is not. She left no name behind in him, only the shape of what she does. He has been feeding her the cameras the whole time I have been building, and I will have to decide, soon, whether she is a rival or a meal.//
<</say>>
<<set $ch2Events.daleCamilaBuried to true>>
<p><span class="delve-intel">Buried memory recovered: an unnamed outside operator conditioned Dale before the breach and has him pulling BioGenesis overnight camera feeds for her on a recurring schedule, resealing the memory after each session so he retains nothing. Her conditioning technique mirrors the parasite's own. She has been watching the facility through him the entire time.</span></p>
<</if>>
<<conditioningFeedback "psionic" 1 "deep memory architecture catalogued">>
[[Withdraw from his mind->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.dale>><<spendBiomass 1>><</if>>
<<set $delveInfo.dale to true>>
<<addConditioning "dale" "psionic" 1>>
<</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>Dale's sleeping mind should be the easiest read in the house, a tired man face-down on the couch with no walls up at all. You reach in expecting three years of night shifts laid out like a map, and your sense closes on almost nothing.</p>
<<say "char-hivemind" "Hivemind">>
//No walls. No resistance. And almost nothing behind them.// The few thoughts that surface come up unmoored and half-formed and slide off each other before they finish. Listen.
<</say>>
<<say "char-dale-thought" "Dale">>
...what was I... there was a thing before the shift, Karen said, or I said I'd, and it's gone now, it does that. Back's bad, back's always. Tired in a way the sleep doesn't touch anymore, sits in behind the eyes and just... stays. There was a number, Jess's, the school, how much was the, I had it a second ago. Somebody's name right there and now just the shape of where it was. Feed the dog. No, that's the morning, the days don't have edges to them now, up at, down at, up at. I used to keep all of it in my head, the whole building, the whole, and I go to reach in and the drawer's just... light. Like somebody's been in here moving things around while I wasn't looking. Empty where it used to be full and I can't even remember what was supposed to be in it. ...what was I...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Nothing to take. He has been scoured down to static.// A mind does not go this hollow while its owner still walks and works a job, and the space where the rest of him should be is occupied, crowded out by something I cannot reach from the surface. Whatever he carries about that building and about his own life sits below the conscious floor, in the body and somewhere under even that. I will have to go down for it.
<</say>>
<<conditioningFeedback "psionic" 1 "surface thoughts read">>
<p><span class="delve-intel">Intel gained: Dale's conscious mind is scoured nearly empty, chronic exhaustion and a few worn grooves of worry, nothing he could be said to know at the surface. Everything he memorised across three years of shifts has dropped below conscious reach into body-memory. A deep delve would be needed to recover it.</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.karen>><<spendBiomass 1>><</if>>
<<set $delveInfo.karen to true>>
<<addConditioning "karen" "psionic" 1>>
<</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>Karen is asleep at last, on her side, one arm draped off the edge of the bed. The pill on the nightstand bought it for her the way it does most nights now, and it only ever buys the unconsciousness, never the rest. Dale's half of the bed is cold beside her, undented, the way it has been for weeks. You reach into a sleeping mind that has not actually stopped working, the same figures still turning in it, down here where she cannot even tell them to stop.</p>
<<say "char-hivemind" "Hivemind">>
//She is under. The pill put her under. It did not put the work down.// Even sedated, the loop keeps turning, the sums going around without her. Listen.
<</say>>
<<say "char-karen-thought" "Karen">>
...three payments behind on the mortgage now, properly behind, the kind that comes with a letter. The two best accounts gone one after the other, a third of the billing with nothing walking in to replace it. The tuition deposit is due and I do not have it, I have the piece of it I moved off the electric, which means the electric is the next fire, and you cannot keep robbing the one to pay the other, the pile does not shrink, it only slides around the table.
<</say>>
<p>She frowns in her sleep. The hand off the edge of the bed closes on nothing, then opens again.</p>
<<say "char-karen-thought" "Karen">>
So where. The card is nearly maxed and the rate on it is obscene. Not the retirement, the retirement is the last wall standing and you do not touch the last wall. Mom would write the cheque if I asked, and I am not going to ask my mother for money at my age. I would sooner sell the ring, and I have already looked up what it would fetch, and I am still not going to. Two more clients, three, I could keep the books for half the street if half the street were hiring a bookkeeper, which it is not.
<</say>>
<p>Somewhere below the floor, a small sound. She does not wake. Something in her face tightens anyway.</p>
<<say "char-karen-thought" "Karen">>
...what was that. Downstairs. The cat, probably, or the house settling, and I notice everything and not once has it been the thing. Dale is not even in the bed, he is on the couch with the night shift like always, and he does not know a piece of this and he is not going to, there is nothing left in him to carry it. So I carry it. Hold it together, for the kids, for him, hold it together and find the money, and do not let one of them catch you looking for it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. A problem with no solution in it, and a mind that cannot set it down even unconscious.// The pill buys her six hours of this every night, the same figures turning and never closing, and she wakes no more rested than she lay down. The depletion is grinding away the one thing that makes her dangerous to me. A watchman who never truly sleeps stops seeing straight. I will not have to break her. I only have to wait, and keep the arithmetic from ever balancing.
<</say>>
<<conditioningFeedback "psionic" 1 "surface thoughts read">>
<p><span class="delve-intel">Intel gained: The family is in a financial hole Karen is hiding from everyone, behind on the mortgage, accounting clients lost, Jess's tuition unfunded. Even sedated, her sleep churns on money she cannot find, so the pills buy unconsciousness but never rest, and the exhaustion is grinding down her hypervigilance. Her depletion is the vulnerability.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.ryan>><<spendBiomass 1>><</if>>
<<set $delveInfo.ryan to true>>
<<addConditioning "ryan" "psionic" 1>>
<</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>Ryan is awake, hunched in the chair with the headphones clamped on, but there are no walls to push through here, nothing guarded, nothing held back. His whole mind has poured itself into the screen, and what's left on the surface is a single bright channel running one subject at full volume. You step into the current of it.</p>
<<say "char-hivemind" "Hivemind">>
//Awake, and wide open. He is not protecting anything, because he is not thinking about anything worth protecting.// One signal, and no noise around it. Listen.
<</say>>
<<say "char-ryan-thought" "Ryan">>
...okay so when the patch drops they're gutting the bleed scaling, hard, like thirty percent off the tick, which means the whole crit-bleed build is dead and I just respec'd into it for nothing, unless the new set bonus covers it, does it cover it, I need the actual numbers and not the patch notes because the patch notes always lie, and Vorthal said on stream the meta's swinging back to summoners so maybe I just play summoner, except the artifact grind to swap is like forty hours and the season's almost over, can I even hit the rank by then if I'm relearning a whole class, and the raid's tonight, we're on the third boss and Kael keeps standing in the fire, if he stands in the fire one more time I swear to god...
<</say>>
<p>His fingers twitch on the keys. On the monitor, his idle character takes a half-step nowhere and stops.</p>
<<say "char-ryan-thought" "Ryan">>
...just need the trinket off that boss, one drop, then the parse goes up and they keep me in the prog group, and Vorthal's live after the raid doing the patch breakdown so I want to catch it and ask in chat, he answered me once, he actually typed my name once, ...is there any food downstairs, whatever, later, after...
<</say>>
<<say "char-hivemind" "Hivemind">>
//That is the whole of it.// I went down expecting the ordinary furniture of a nineteen-year-old, a family somewhere in the room, a girl, a future he wants or resents. None of it is here. No mother three walls away coming apart over money she cannot find. No sisters. No question of what he is for. Only the patch, the build, the raid, and a man on a screen who typed his name once. //One door, standing open, and no one behind it to watch who comes through.// He will be the easiest of them all. There is nothing in this mind that would even notice me arrive.
<</say>>
<<conditioningFeedback "psionic" 1 "surface thoughts read">>
<p><span class="delve-intel">Intel gained: Ryan's waking mind holds nothing but the game, the coming patch, raid logistics, his rank, a streamer he follows. Not one thought spared for his family, no interest in anyone. With nothing real competing for his attention, he is the least guarded mind in the house, and he will not feel the network move in.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.megan>><<spendBiomass 1>><</if>>
<<set $delveInfo.megan to true>>
<<addConditioning "megan" "psionic" 1>>
<</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<p>Megan is asleep on her stomach with her phone still loose in one hand, the screen long gone dark, one earbud trailing across the pillow. The bright face she wears all day comes off when she sleeps, and what is left under it is not bright at all, it is doing arithmetic. You step into the surface of a mind that performs even when no one is watching, and find the performance finally switched off and the tally running on without it.</p>
<<say "char-hivemind" "Hivemind">>
//Asleep, and the smile is off. The face that tells the whole world she is fine and having so much fun, she sets it down to sleep, and this is what runs on underneath. Listen.//
<</say>>
<<say "char-megan-thought" "Megan">>
...forty-one in tips tonight, forty-one, on a Friday, that's a slow Tuesday for the girls on the late section and they keep putting me on the morning rush because I never complain, and mom needs four hundred by the first, she didn't say for what, she never says for what, just that the house needs it and I'm the one bringing money in so I'm the one who covers it, and I said of course mom, happy to, like it was nothing, and out of the forty-one I keep maybe nothing, it all goes in the envelope on the counter, and the dress in the window I've been not-buying for a month is still in the window because there is never anything at the end of it that is actually mine...
<</say>>
<p>She shifts. The phone slides out of her fingers onto the duvet. Her mouth moves around a word she doesn't say.</p>
<<say "char-megan-thought" "Megan">>
...Marcus took the close with me again, he didn't have to, he swapped onto it, and he leaned on the end of the bar while I cashed out and did the thing where he almost says something and then doesn't, and I almost say something and then don't, and we have been almost-saying-something for months now, and I have drafted the text forty times, hey so this is random but, no, delete, because if I send it and I read it wrong I still have to work the same six feet behind that bar with him every shift, and it's the one part of the day I actually want to show up for, so I keep it almost. Keep everyone almost. Smile, keep it light, and never be the one who asks first...
<</say>>
<<say "char-hivemind" "Hivemind">>
//There she is, with the smile off. She brings in the money and keeps the least of it, hands the envelope over with a bright little of-course and goes to bed with nothing of her own and a want she will not let herself name. And the boy she actually wants she keeps at //almost//, forever, because asking first risks the one good thing in the week, and Megan does not risk, Megan performs. A girl this hungry and this frightened to ask will take permission to want from anywhere it is offered. I only have to be the thing that offers it.//
<</say>>
<<conditioningFeedback "psionic" 1 "surface thoughts read">>
<p><span class="delve-intel">Intel gained: Megan brings in the household's spare income and keeps almost none of it, handing most of her wages to Karen for "the house" behind a cheerful of-course, without being told how deep the hole is. Under the mask is real want, money that is never hers and a coworker she has wanted for months and will not risk asking. She performs contentment and privately resents the cost. Her hunger, and her terror of being the one who asks first, are the levers.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.jess>><<spendBiomass 1>><</if>>
<<set $delveInfo.jess to true>>
<<addConditioning "jess" "psionic" 1>>
<</nobr>>
<p><span class="skill-used">Delve Superficial Memories, 1 biomass</span></p>
<<if $house.dayPhase is "night">>
<p>Jess is awake, her mind is harder to read. Conscious thoughts form walls.</p>
<<else>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/beast-jess-sleeping-punk.webp" alt="Jess asleep at her desk, head on a folded arm, purple-streaked dark hair falling across an open anatomy textbook, lip stud catching the desk-lamp light, highlighter still in her slack hand">
<<else>>
<img class="scene-img" src="media/scenes/beast-jess-sleeping.webp" alt="Jess asleep at her desk, head on a folded arm over an open anatomy textbook, highlighter still in her slack hand, desk-lamp light on her face">
<</if>>
<p>Jess has fallen asleep at her desk. Her exhausted mind is finally unguarded.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if $house.dayPhase is "night">>
//She's awake. The walls are up, thinner than they were, and the surface is all I can reach.// Anatomy terms, exam dates, a schedule color-coded by difficulty, and the //fear// leaking up through the seams. Listen to the loop she has been running all night.
<<else>>
//Asleep at her desk, and her defenses are down with her.// The same loop is still going behind her eyes, the circuit that has gone around all evening. Listen.
<</if>>
<</say>>
<<say "char-jess-thought" "Jess">>
...musculocutaneous, axillary, radial, median, ulnar, the five terminal branches, and the electric bill, the second notice, the red one, focus, the cubital fossa, the boundaries are pronator teres medially and brachioradialis laterally, and mom moved the grocery money to cover the electric so next month is going to be, no, the radial nerve, where does the radial nerve run, I knew this an hour ago, I have read this page four times and none of it stays, the tuition deposit is due before, due when, the radial nerve winds around the shaft of the humerus and we do not have the deposit, we do not have it...
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is.// She cannot pull a single fact without the bills coming up bolted to it. The anatomy and the arithmetic have grown into each other, and the harder she presses on one the more the other bleeds through. She was the disciplined one, the wall this family leaned on, and the wall is failing now, quietly, inside her own skull. When the exam comes back red she will be certain it was her own weakness.
<</say>>
<<conditioningFeedback "psionic" 1 "surface thoughts read">>
<p><span class="delve-intel">Intel gained: Jess is the family's emotional keystone, and it is costing her. The household's strain is bleeding into her studies until she can no longer hold the two apart, and her recall is starting to fail under it. Her discipline is the load-bearing wall, and it is cracking. Highest-value, highest-risk human target.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.dreamTier1Karen to true>>
<<set $ch2Events.dreamHarvestKarenDay to $day>>
<<addConditioning "karen" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Meeting</div>
<img class="scene-img" src="media/scenes/dream-karen-1-a.webp" alt="Karen at PTA meeting, clothes fading, other parents oblivious">
<p>The dream starts the way they always start for her, with a meeting. Conference room, fluorescent light, the long table where the PTA convenes, and her usual chair second from the left, binder open, pen ready.</p>
<<say "char-npc" "Principal (dream)">>
<i>(reading from a stapled handout, not looking up)</i> Moving to item four, the gymnasium proposal. We have a revised quote from the contractor that brings the figure down considerably from the last meeting.
<</say>>
<<say "char-karen" "Karen (dream)">>
Noted. I'd want the revised quote in writing before we vote, alongside the original for comparison.
<</say>>
<p>Her collar is at her throat when she starts the sentence. By the time she finishes it the blouse is gone, and the air conditioning is cold against her sternum, against the pale hollow between her collarbones. Her hand lifts to cover herself, lands on bare skin, slides, then returns to the pen as if it never left.</p>
<<say "char-npc" "Treasurer (dream)">>
The contractor's quote is in the appendix, I believe, page seven? Karen, you have the binder.
<</say>>
<<say "char-karen" "Karen (dream)">>
<i>(flipping pages, naked from the collarbones down)</i> Page seven. Here. Four hundred and twelve dollars under the previous estimate.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The blouse came off. Nobody looked. Her subconscious is running a test. Take the armor off, see who reacts. The answer is coming back negative. No reaction. No consequence.//
<</say>>
<p>The skirt goes next, then the bra, each piece subtracted between agenda items while she keeps her eyes on page seven. Her hands try to cover her again and refuse to move, fingers locked on the binder, on the pen, on the table edge, the muscles ignoring the signal entirely.</p>
<p>The secretary leans forward, lavender and dry-cleaning, a woman who makes comments about cupcake icing.</p>
<<say "char-npc" "Secretary (dream)">>
Before we vote, I do want to flag the bake sale shortfall again. We came in low last quarter and I don't want a repeat.
<</say>>
<<say "char-karen" "Karen (dream)">>
The bake sale budget is projected at four hundred and twelve dollars, thirty below last quarter, so I'd recommend we reallocate from the field trip fund and revisit the icing situation separately.
<</say>>
<p>She delivers it naked. Her nipples are tight from the cold, her thighs pressed together hard enough to tremble, and nobody glances down, nobody says a word about the bare skin catching the fluorescent light.</p>
<img class="scene-img" src="media/scenes/dream-karen-1-b.webp" alt="Karen naked in meeting chair, composed expression, arousal visible">
<<say "char-npc" "Principal (dream)">>
That's reasonable. Any objection? Seeing none, we'll carry the reallocation. Thank you, Karen.
<</say>>
<p>The terror drains out of her slow and warm, like the tub emptying, and what it leaves behind is the thing her waking mind would never sign off on. Relief. She is the only bare body in a room of clothed people and the world has not ended, and her thighs press together now for a reason that has nothing to do with hiding.</p>
<<say "char-karen" "Karen (dream)">>
<i>(quieter, breath catching under the level voice)</i> All in favour... thank you. Motion carries. I'll, mm, I'll sign the minutes.
<</say>>
<p>Her handwriting stays steady. The warmth between her legs spreads while she signs, slow, and she does not stop signing.</p>
<<say "char-hivemind" "Hivemind">>
//She wakes at 2:47 with her hand between her legs. The fingers are wet. Heart rate up, pupils wide behind closed lids. She doesn't understand it. The dream is already going, and only the warmth stays, and the sense that something heavy got lifted off her.//
//She pulls the cat closer. Falls back under. The meeting continues. It always continues.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Karen, dream tier 1 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.dreamTier2Karen to true>>
<<set $ch2Events.dreamHarvestKarenDay to $day>>
<<addConditioning "karen" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Treasurer's Report</div>
<video class="scene-video" src="media/video/dream-karen-2-a.webm" autoplay muted loop playsinline poster="media/scenes/dream-karen-2-a.webp"></video>
<p>The conference room again, same light, same table, same agenda in twelve-point Times New Roman. She is already naked and this time she doesn't reach for the blouse that isn't there, just sits with her shoulders back and her binder open, bare the way you're bare in your own bathroom.</p>
<<say "char-npc" "Treasurer (dream)">>
I'll yield the floor for the quarterly numbers. Karen, whenever you're ready.
<</say>>
<<say "char-karen" "Karen (dream)">>
Thank you. The treasurer's report for this quarter shows revenue down eight percent against projections, with a corresponding increase in...
<</say>>
<p>A man stands from the chair beside her. Dark hair, broad hands, soap and something warmer underneath. He doesn't leave the table, he steps in close until his hip is level with her face, and he unzips. Karen keeps her eyes on her notes.</p>
<<say "char-karen" "Karen (dream)">>
...a corresponding increase in operational costs, which the finance subcommittee attributes to the renewed service contract...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Tier one was exposure with no consequence. She accepted it. Now the dream stops waiting for her to act. It acts on her. The man has no face she knows. No face means no guilt.//
<</say>>
<p>His cock is out, thick and hard, inches from her mouth. His hand threads into her hair, palm flat against her skull, and turns her face toward him while her lips are still moving around the word "renewed."</p>
<<say "char-npc" "Stranger (dream)">>
<i>(low, unhurried, a hand fisted in her hair)</i> Keep going. Don't stop the report. Open your mouth and keep going.
<</say>>
<p>He pushes in. Her eyes go wide, her lips stretch around the head, and the agenda keeps coming out of her in pieces.</p>
<<say "char-karen" "Karen (dream)">>
<i>(muffled, cock filling her mouth)</i> ...attributes to the renewed... //ghhk//... renewed service contract totalling...
<</say>>
<p>She gags, a thick wet sound that carries across the table, saliva spilling over her lower lip. One hand grips the table edge, knuckles white, the other still holds her pen. He doesn't let her pull off. His grip holds her head while he feeds her deeper, and her throat convulses around him once, twice, before her jaw loosens and her shoulders drop and she takes him to the root.</p>
<<say "char-npc" "Stranger (dream)">>
<i>(thrusting slow, watching her face)</i> Good. //That's// good. Now finish the line. Tell the room.
<</say>>
<<say "char-karen" "Karen (dream)">>
<i>(pulling off just enough to speak, saliva stringing from her lips to the shaft)</i> The gymnasium renovation... //glk//... has been tabled to Q3 pending... //hhk//... pending review of the...
<</say>>
<p>He thrusts back in and her words break into a wet choking sound. Mascara runs in dark lines down her cheeks. Across the table the treasurer makes a note, and the principal checks his watch.</p>
<<say "char-npc" "Treasurer (dream)">>
<i>(pen moving, mild)</i> Tabled to Q3, noted. Do we have a second on that?
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is still trying to deliver the report. Cock down her throat, gag firing every three seconds, and she keeps reaching for the next line of the agenda. The control isn't snapping. It's being overridden, and she is reorganizing around the override while it happens.//
<</say>>
<p>He fucks her mouth in steady, deep strokes, her head rocking back against his grip on the pull and forward on the thrust. Her tongue works the underside of his shaft between gags, the need to be good at this drowning out the need to breathe, and she's dripping onto the conference chair, clit throbbing, pussy clenching on nothing while her throat clenches on him.</p>
<<say "char-karen" "Karen (dream)">>
<i>(in a half-second gap between thrusts)</i> All in fav... //ghhk//... all in favour of the budget... //glk//... the amendment, say...
<</say>>
<p>Hands go up around the table. The vote carries while she gags on him.</p>
<img class="scene-img" src="media/scenes/dream-karen-2-b.webp" alt="Karen at conference table, cum in mouth, tears and saliva, papers scattered">
<<say "char-npc" "Stranger (dream)">>
<i>(grip tightening, breath ragged)</i> I'm gonna... fuck, take it, take all of it, swallow and keep your eyes on the page.
<</say>>
<p>He comes deep. The first spurt hits the back of her throat and she chokes, a real ragged sound that fills the room, and when he pulls back to her lips the rest floods across her tongue, thick and hot, her cheeks bulging with it. Cum leaks from the corner of her mouth, runs down her chin, drips onto the quarterly projections. She swallows in a messy convulsive gulp that takes two attempts.</p>
<<say "char-karen" "Karen (dream)">>
<i>(wiping her mouth with the back of her hand, voice raw, hoarse, perfectly level)</i> I second the motion to table the gymnasium proposal until Q3.
<</say>>
<<say "char-npc" "Principal (dream)">>
Seconded and carried. Thank you, Karen. Moving on.
<</say>>
<p>She sits there naked with cum drying on her chin and the taste of a stranger coating her mouth, her throat still burning, her nipples hard enough to ache. She didn't come. The dream gave the orgasm to him and made her swallow it, and the meeting continues.</p>
<<say "char-hivemind" "Hivemind">>
//Tier one was passive exposure. This is oral violation during performance, and she didn't fight it, she absorbed it. She tried to read the agenda with a cock in her throat. The gagging was involuntary. The continuing was not.//
//The swallow was desperate, not graceful. She choked, wiped her mouth, found her place in the report. The mask held through all of it. And the arousal didn't peak on the cock. It peaked on the interruption of her work. She gets wet from being used while she's trying to be competent. The blowjob was the obstacle, and getting through it was where the heat lived.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Karen, dream tier 2 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.dreamTier3Karen to true>>
<<set $ch2Events.dreamHarvestKarenDay to $day>>
<<addConditioning "karen" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Standing Ovation</div>
<img class="scene-img" src="media/scenes/dream-karen-3-a.webp" alt="Karen at podium, naked, man behind her, audience watching">
<p>The conference room has grown. Same fluorescent light, but the table is gone and rows of folding chairs fill the space, fifty or sixty seats, every one of them taken. The PTA has become an audience, and she stands at the podium with her shoulders back and her body bare and her speech in neat stacks in front of her. She taps the microphone, the feedback squeals, and every face turns toward her.</p>
<<say "char-karen" "Karen (dream)">>
Item one.
<</say>>
<p>Her hand moves to her breast, not covering, presenting, thumb brushing the nipple while the audience watches with the polite attentiveness of parents considering a budget line.</p>
<<say "char-karen" "Karen (dream)">>
My body. Forty-three years old. Three children. One husband who sleeps on the couch. This is the asset report, and I'd ask you to hold questions until the end.
<</say>>
<<say "char-npc" "Principal (dream)">>
<i>(from the front row, pen ready)</i> Understood. The floor is yours, Karen.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Tier one was exposure as threat. Tier two was exposure as backdrop. This is exposure as performance. She isn't enduring the nudity anymore. She's working it. The room exists so she can be seen.//
<</say>>
<p>Her fingers trail down her stomach and slide between her legs, finding the wetness the dream has put there, her hips tilting forward so the first row gets a clear view.</p>
<<say "char-karen" "Karen (dream)">>
<i>(reading from her notes, two fingers working her clit)</i> Item two. Penetration. I'll narrate for the minutes.
<</say>>
<p>A man comes up behind her, taller and broader than the stranger from before, another faceless construct assembled out of whatever she keeps locked down. His hands grip her hips. His cock presses against her ass and then slides into her pussy in one slow thrust, and she speaks it straight into the microphone.</p>
<<say "char-karen" "Karen (dream)">>
<i>(voice level, professional, breath hitching once)</i> Full insertion. No resistance. The body accommodates. Mm.
<</say>>
<<say "char-npc" "Man Behind (dream)">>
<i>(hands on her hips, fucking into her slow)</i> Keep reading. They can't hear you over me if you mumble. Louder.
<</say>>
<p>He fucks her at the podium and each thrust drives her hips into the wooden stand, her hands gripping the edges, the pages scattering. The audience watches, attentive, the way you'd watch quarterly earnings come in very, very good.</p>
<img class="scene-img" src="media/scenes/dream-karen-3-b.webp" alt="Karen gangbanged at podium, multiple men, standing ovation">
<<say "char-karen" "Karen (dream)">>
<i>(louder, hips pushing back to meet him)</i> Noted for the record. Item three. Open forum. I'll take them as they come up.
<</say>>
<p>More men rise from the chairs, three, four, and approach the podium with the unhurried politeness of parents at a bake sale line. The first takes her mouth and she opens for him without breaking rhythm, her hips still working back on the cock inside her, a hand fisting in her hair, another pair of hands rolling her nipples.</p>
<<say "char-npc" "Man at Her Mouth (dream)">>
<i>(feeding his cock between her lips)</i> There you go. //That's// it. Take it and hum, the mic'll catch it.
<</say>>
<<say "char-karen" "Karen (dream)">>
<i>(muffled around him, the sound carrying into the PA)</i> //Mmh// ...//glnh//... //mmh//...
<</say>>
<p>They rotate. The cock behind her pulls out and another fills her at a different angle, the one in her mouth withdraws and another takes its place, and she services each with the same methodical care she brought to the stranger in the last dream, hands working the ones she can't fit, stroking, keeping time.</p>
<<say "char-hivemind" "Hivemind">>
//Tier one, exposed. Tier two, servicing one. This is servicing all of them. The escalation sequence is complete. Her sleeping mind has accepted public availability as the logical end of public exposure. Every man here is faceless, interchangeable. What counts is the quantity. The demand for her.//
<</say>>
<p>The orgasm builds in her thighs first, the tremor, the clench, then her stomach, then her chest, then her throat. She screams around the cock in her mouth, the sound guttural, muffled, nothing that belongs at a PTA meeting, and her pussy clamps down as the man behind her comes inside her in a hot pulse she can feel. The one at her mouth finishes a second later, cum spilling across her tongue and down her chin.</p>
<<say "char-karen" "Karen (dream)">>
<i>(gasping, cum on her lips, the level voice cracking apart)</i> Motion... //ah//... motion carries... oh god, it //carries//...
<</say>>
<p>The room erupts. Standing ovation, every parent on their feet, clapping.</p>
<img class="scene-img" src="media/scenes/dream-karen-3-c.webp" alt="Karen exhausted at conference table, cum on face and mouth, two men with limp cocks nearby">
<p>The podium is gone and she is back at the conference table with no memory of sitting down, elbows on the warped projections, ink smeared, two men on either side of her with softening cocks. Cum glazes her lips, her chin, one cheek, a streak across her nose, a strand hanging from her jaw to the table. Her hair is matted to her forehead with sweat.</p>
<<say "char-npc" "Principal (dream)">>
<i>(stacking his papers, mild as ever)</i> Wonderful turnout. Thank you all for coming. Karen, you'll circulate the minutes?
<</say>>
<<say "char-karen" "Karen (dream)">>
<i>(hoarse, exhausted, hand trembling on the pen)</i> ...I'll circulate the minutes.
<</say>>
<p>The other parents file out, collecting coats, checking phones, nobody glancing at the cum drying on her face or the two men standing over her like bodyguards at the end of a shift. She writes in the margin of the ruined agenda, hand shaking. //Motion carried. Meeting adjourned.//</p>
<<say "char-hivemind" "Hivemind">>
//The orgasm fired across three pathways at once. Physical stimulation, exhibitionist arousal, and underneath them the deep one. Validation. She just got applause for being gangbanged in public, and the ovation was the point, not the cocks, not the cum. Being seen and not rejected.//
//That's the payload. The dream is teaching her that exposure earns approval, that letting the mask go produces a standing room full of people on their feet for her.//
//She wakes soaked, sheets drenched, the cat purring against her hip. She can't hold the details, they go in the light. The feeling stays. The warmth. The applause. A taste she can't place. She wants it again.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Karen, dream tier 3 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Karen]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.dreamTier1Ryan to true>>
<<set $ch2Events.dreamHarvestRyanDay to $day>>
<<addConditioning "ryan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Sealed Door</div>
<img class="scene-img" src="media/scenes/dream-ryan-1-a.webp" alt="Fantasy dungeon, RPG game UI, quest marker, torchlit stone walls">
<p>The dungeon loads around him with the soft hum the menu always makes, stone walls and torchlight and the UI sliding up from the bottom of his vision, health bar, mana bar, minimap pinned in the corner. His avatar stands in full plate at the mouth of a corridor that runs off into black, and the quest marker pulses gold against the dark.</p>
**[NEW QUEST: The Sealed Door]**
<p>//Investigate the ruins beneath the Binding Temple. Difficulty: Solo. Reward: 500 XP, 1x Lore Fragment.//</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(under his breath, reading the marker)</i> Solo. Okay. Solo's fine, I always run solo, that's the... that's just how I play.
<</say>>
<p>His own voice comes back to him off the wet stone, thinner than he expects, and his footsteps echo down the corridor while the torch on his back throws a cone of orange that dies before it reaches the walls. No party chat blinking. No raid pings. Water drips somewhere below, slow, steady, and the silence presses in on both sides of the light.</p>
<<say "char-hivemind" "Hivemind">>
//The game is a language. He does not read rooms or faces. He reads objectives, progress bars, reward tables. So the dream speaks to him in the only grammar he trusts.//
<</say>>
<p>The corridor opens into a chamber so large the ceiling is just darkness, and at the centre stands a sealed door, iron-banded, crawling with runes that pulse a slow blue. The kind of door that means a boss is breathing on the other side of it. Ryan checks his inventory, checks his cooldowns, then closes the hand of his avatar around the handle.</p>
**[LOCKED. Requires: Ritual of Binding]**
<<say "char-ryan" "Ryan (dream)">>
<i>(tugging the handle a second time, then a third)</i> Come on. There's always a workaround, there's always a... a lever, or a hidden switch, or a sequence you do on the floor tiles. There's always a way to skip the gimmick.
<</say>>
<p>A pedestal stands beside the door with a stone tablet on it, cracked down the middle, lit by the same blue. Ryan's avatar leans in to read, and the room reads it back to him in the flat, patient font of every tutorial he has ever clicked through.</p>
**[LORE FRAGMENT: The Ritual of Binding]**
<p>//The Sealed One cannot be slain by blade or spell. Only the Ritual of Binding may weaken it. The ritual demands a partner, a healer's touch, and full surrender of the body. The champion must lie upon the Altar of Surrender and accept penetration. Only through submission may the Sealed One's invulnerability be broken.//</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(quiet, the word tried out loud like it might be a typo)</i> ...accept penetration. That's, that's the quest text. That's the actual objective. They wrote that into the quest.
<</say>>
<p>He scrolls the quest log looking for the branch that has to be there, the greyed-out alternative, the side route, the speedrun trick that lets you cheese the lock. There is one objective, blinking, incomplete.</p>
**[QUEST UPDATED: Ritual of Binding required. You cannot complete this alone. Find a partner. Warning: this quest chain involves full submission.]**
<<say "char-hivemind" "Hivemind">>
//He has reread the line three times. The dream gave it the same frame as every quest he has ever accepted. The same font, the same chime. He understands exactly what it is asking. The flush at his throat says so.//
<</say>>
<img class="scene-img" src="media/scenes/dream-ryan-1-b.webp" alt="Sealed door with glowing runes, quest log showing ritual requirements">
<p>He reaches out and lays the avatar's hand flat against the metal, and it is warm, warmer than stone has any right to be, and the runes flare in a pulse that travels up the arm and into the chest. Something behind his ribs answers it, a quiet click, like a door he did not know was there finding its frame.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(barely above a breath, eyes on the blinking objective)</i> Find a partner. Who's, who would even... nobody parties with me. That's not, that's not a thing that happens.
<</say>>
<p>From somewhere past the sealed door, under the drip of the water, a voice answers him, soft, patient, female, close enough that the hair on his neck stands up even in plate armor.</p>
<<say "char-npc" "The Healer">>
<i>(from the far side of the runes, warm)</i> Then someone should party with you. Don't accept it alone. I can be there next time you load in, if you want me there. Do you want me there?
<</say>>
<p>The dream begins to dissolve before he can answer, the dungeon fading, the UI flickering down to nothing, and the question hangs in the dark where the marker was.</p>
<<say "char-hivemind" "Hivemind">>
//He wakes with a hammering heart and his hand pressed flat to his own chest. No erection. No mess. Only the phantom heat of runes on his fingertips and one objective burned into him. Incomplete. Waiting. A partner offered, and the offer left unanswered. The quest marker will blink at the back of his mind all day. When the dungeon loads again, she will already be there.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Ryan, dream tier 1 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Ryan]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.dreamTier2Ryan to true>>
<<set $ch2Events.dreamHarvestRyanDay to $day>>
<<addConditioning "ryan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Party Healer</div>
<img class="scene-img" src="media/scenes/dream-ryan-2-a.webp" alt="Elf healer kneeling, game UI overlay, fantasy dungeon setting">
<p>The dungeon again, same stone, same torchlight, except the party window has grown a second portrait under his own, ''LilyPad_, Healer (Lv. 22)'', and she loads in beside him with the soft chime of someone joining a group. Pointed ears, silver hair, brown eyes rendered too warm and too real for the engine that drew them, healer robes white and gold, a staff strapped across her back.</p>
<<say "char-npc" "The Healer">>
<i>(stepping into the torchlight, smiling like she chose the slot)</i> Found you. Told you I would. You don't have to run this one alone, okay? That's what I'm for. Stand still and let me work.
<</say>>
<<say "char-ryan" "Ryan (dream)">>
<i>(not quite meeting the rendered gaze)</i> You don't, um. You don't have to. People usually just, they grab the loot and leave, you don't have to actually...
<</say>>
<<say "char-npc" "The Healer">>
<i>(kneeling, robes already sliding off her shoulders)</i> I'm not leaving. Look at me. //Mm.// I came here to take care of you. Let me.
<</say>>
**[NEW QUEST: The Bond. Cooperative extraction. Party size: 2.]**
<p>The white and gold parts and falls, and her breasts come free heavy and full into the torchlight, nipples stiffening pink in the cold, and her hands find the clasps of his leggings and tug them down without asking. His cock springs free, hard already, the dream having built the ache before the act, and the head bobs once between them in the orange light.</p>
<<say "char-hivemind" "Hivemind">>
//Lily's face, Lily's warmth, mapped onto an archetype the subconscious files as safe. Healers stay. That is the whole appeal.//
<</say>>
<p>She wraps her breasts around him, presses them together with both hands so his shaft vanishes into the cleft of soft flesh, and the head peeks out the top, flushed, already beading.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(breath stuttering, hips twitching forward on their own)</i> Oh, that's, //ah//, that's, I didn't, nobody's ever, that's so... soft, that's so...
<</say>>
<<say "char-npc" "The Healer">>
<i>(starting to move, slow strokes up and down his cock)</i> I know, baby. //Mmh.// Feel how soft. Just give it to me, you don't have to do anything, I've got you, I'll pull it out of you. //Schlk.// There.
<</say>>
<p>She slides her tits along his shaft in long deliberate drags, the skin-on-skin slicked by the pre-cum leaking off his tip, the torchlight catching the silver of her bowed head, and each time the head crests between her breasts she flicks her tongue across the slit, a wet little tap that makes his thighs lock.</p>
<<say "char-hivemind" "Hivemind">>
//His body answers faster than the door did. Cooperation floods more reward than solitude ever could. His hips are already moving without permission. The sleeping boy mirrors the dream stroke for stroke.//
<</say>>
<p>Her brown eyes lift to his, present, here, chosen, and the gaze undoes him worse than the pressure does, and she spits on his shaft, a practised slick gesture, and works it back into the squeeze of her cleavage with a wet sound that fills the chamber.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(strangled, hands hovering, afraid to touch)</i> Can I, is it okay if I, I don't know where to put my, I don't want to mess it up...
<</say>>
<<say "char-npc" "The Healer">>
<i>(catching one of his hands, setting it in her hair)</i> Here. Right here. You can't mess this up, there's no fail state with me. //Glk... mmh...// just hold on and tell me when you're close. Tell me, okay? Out loud.
<</say>>
<img class="scene-img" src="media/scenes/dream-ryan-2-b.webp" alt="Elf healer titfuck, breasts around cock, progress bar filling">
<p>Her pace climbs and her breasts bounce flushed against him, nipples dragging the underside of his shaft on every stroke, and one hand drops to cup his balls, the first time anyone has ever touched him there even in sleep, the grip firm and warm and exactly right, like she has the map of him the way he has the map of every dungeon he has cleared.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(voice cracking open, all the hedging gone)</i> I'm, //ah//, I'm close, I'm gonna, you said to tell you, I'm, //I'm...//
<</say>>
<<say "char-npc" "The Healer">>
<i>(squeezing tighter, mouth at the head, working him through it)</i> Good boy. //Mmh...// give it to me, all of it, come on my chest, let me feel you...
<</say>>
<p>He comes between her breasts in a hard buck of his hips, his cock pulsing in the soft press of her flesh, thick ropes striping her chest, her collarbone, the hollow of her throat, and the chamber flashes gold around them.</p>
**[QUEST COMPLETE: The Bond. Healing Potion crafted. Party Healed. HP restored to 200%.]**
<<say "char-npc" "The Healer">>
<i>(dragging a finger through the cum on her chest, tasting it, then smiling, plain and warm)</i> There he is. See? You did the whole quest with me. That wasn't so bad, partying up. We could do it again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He wakes with cum on his stomach and her name on his lips. The orgasm fades and the other thing stays. Someone chose his party. Someone knelt for him and did not leave. That is the payload, not the act. He has never had a partner, and now the dream has shown him the shape of one, and now he will want it awake. His health bar reads two hundred. He has never felt that whole.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Ryan, dream tier 2 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Ryan]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.dreamTier3Ryan to true>>
<<set $ch2Events.dreamHarvestRyanDay to $day>>
<<addConditioning "ryan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Ritual of Binding</div>
<p>The boss arena loads vast and vaulted, pillars carved with runes that pulse red like a heartbeat, and at the centre coils a thing of shadow and chitin sixty feet tall, its health bar stretched crimson across the top of the screen.</p>
**[BOSS: The Sealed One. HP: ??????. Status: INVULNERABLE]**
<p>Ryan's attacks bounce off it, sword, spells, every cooldown spent and wasted, the damage numbers ticking up in flat zeroes while the creature does not so much as flinch.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(spamming abilities, voice climbing)</i> Nothing's landing, nothing's, why is everything reading zero, there has to be a damage check, a phase, a, an //opening...//
<</say>>
<<say "char-npc" "The Healer">>
<i>(quiet at his shoulder, staff already glowing)</i> There's no opening. Not the way you fight everything else. This one doesn't break to how hard you hit it. It breaks to how much you'll let go of.
<</say>>
**[QUEST UPDATE: The Ritual of Binding. Full surrender of identity. Body exchange. Party healer required.]**
<<say "char-hivemind" "Hivemind">>
//Every boss he has ever fought answered to aggression. This one answers only to surrender. Not of the body. Of the self. The dream is testing whether he will let it happen.//
<</say>>
<p>She plants the staff between them and grips it in both hands and speaks a word the game never taught him, guttural, resonant, a sound that rattles in his teeth and sets the shadows twisting across the stone.</p>
<<say "char-npc" "The Healer">>
<i>(eyes locked on his, the spell building blue-white)</i> Soul exchange. I'm going to put you in my body and step into yours. Don't fight the load screen. Trust the party. //Now.//
<</say>>
**[Healer Ability: Soul Exchange. Casting...]**
<p>The bolt arcs from her chest to his, pure displacement where pain should be, and his vision whites and his body goes numb, and for three seconds he is nothing, no avatar, no health bar, floating in the character-select screen of his own consciousness. Then he loads back in, and the first thing is the weight, on his chest, heavy and unfamiliar, pulling at muscles he has never owned. He looks down at breasts. Silver hair spilling over shoulders that are hers now. Slender hands at the ends of his arms.</p>
**[BODY EXCHANGE COMPLETE. Current Avatar: LilyPad_, Healer (Lv. 22)]**
<<say "char-ryan" "Ryan (dream)">>
<i>(hearing a stranger's voice come out of his throat)</i> ...this isn't in the tutorial. That's, that's not my voice, that's, why does the air, I can feel the air on...
<</say>>
<<say "char-npc" "The Healer">>
<i>(speaking now in Ryan's own voice, out of Ryan's own face)</i> Easy. It's still me steering this part. Lie back on the altar. You don't have to know what anything means yet. Just feel it.
<</say>>
<p>He looks up into his own face, his own shoulders, his own flat chest, and the eyes looking back are hers, warm brown, steady in a way Ryan has never managed from the inside. She guides the elf's body down onto the cool stone, and the cold touches more of him than he has vocabulary for, shoulders, stomach, the curve of hips, the warm space between his thighs where there is no cock. His nipples are hard. He did not make them hard.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(unsteady, pitch wrong in his own ears)</i> My, they're, the cold did that, I didn't, it's all the way down my chest, it's, why does it go all the way //down...//
<</say>>
<<say "char-hivemind" "Hivemind">>
//First contact with female somatic input. Every nerve unfamiliar. The breast sensitivity alone floods pathways he has never used. He has no name for any of it. He only registers that it is more.//
<</say>>
<p>She leans over him, his own face inches from his, and kisses him, his own lips on hers, the taste sharper and more layered in this body, his own torchsmoke-and-skin flavour going straight to a place behind his navel he did not know was there.</p>
<<say "char-npc" "The Healer">>
<i>(against his mouth, in his voice)</i> Phase two. I'm going to bind it. The boss drains while I'm inside you, that's the mechanic. Tell me if it's too much. //Tell me.//
<</say>>
<p>Then she is between the elf's legs, his legs now, slender and parting on the altar stone, her breath on the inside of his thigh firing every follicle, and the warmth between his legs has gone to heat, wet, pulsing, centred on a knot of flesh he is still learning the geography of.</p>
She enters him.
<video class="scene-video" src="media/video/dream-ryan-3-a.webm" autoplay muted loop playsinline poster="media/scenes/dream-ryan-3-a.webp"></video>
<p>The first thrust is nothing he braced for, a bloom instead of a point, opening through his pelvis and up his spine into the base of his skull, his pussy gripping her cock in a way he can feel along internal walls he has never had, every ridge of her registering.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(gasping, the word breaking on a pitch he has never heard himself make)</i> Oh, //oh//, that's not, that's so //different//, it's, it's everywhere, it's not in one spot, why is it //everywhere...//
<</say>>
<<say "char-npc" "The Healer">>
<i>(rocking into him slow, in his own voice, low and steady)</i> Because that's how it works in here. //Mm.// You're feeling all of it at once. Wrap your legs around me. Good. Take it, just take it, you're doing it, look, it's working...
<</say>>
**[Ritual Phase 2. Binding Energy: 14%... 31%... Boss HP: DRAINING]**
<p>She fucks him slow on the altar, his legs wrapped around his own hips, and every stroke bleeds the boss bar that was invulnerable a breath ago, the wet sound of it slick and biological in the great red room.</p>
<<say "char-hivemind" "Hivemind">>
//Male climax is a fuse. Linear, directional, one detonation. This is a network. Walls, clitoris, cervical pressure, nipples, all feeding one rising tide with no single source. He has no framework for it. His borrowed body does what it knows while his consciousness drowns in the input.//
<</say>>
<p>His nipples drag against the cool stone and the sensation arcs straight down to his clit, throbbing untouched, a concentration of nerve so dense it scares him, and his hips roll up to meet her on their own, angling her deeper, the elf's body knowing what it wants even where Ryan does not.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(thighs shaking, all the hedging burned off)</i> I can feel something, it's, it's pulling, it's pulling from the inside, I don't, I don't have a, there's no word for, //ah//...
<</say>>
<<say "char-npc" "The Healer">>
<i>(hips quickening, groaning in his voice)</i> Let it pull. Don't clamp down on it, don't hold, you keep trying to hold it like it's yours to win. //Mmh...// it's not a fight. Come for me. Come on my cock and watch it die.
<</say>>
**[Binding Energy: 74%... 94%... Boss HP: CRITICAL]**
<p>The boss screams, tearing metal, its bar collapsing, and Ryan barely hears it because the thing building in him has no equivalent in anything he has lived, a tide drawing his whole body taut like a string about to snap, and the sound of his own voice groaning from outside his body is what breaks him.</p>
<p>The orgasm does not hit. It blooms. It starts where she is deepest and expands outward in a slow devastating pulse through his pelvis and stomach and chest and fingers and the roots of his teeth, every muscle in the elf's body seizing at once and holding and holding while his vision whites out and his back arches off the stone and the cry that comes out of him is nothing Ryan has ever made.</p>
<p>It keeps going. The contractions come in waves, one into the next, each one teaching him something new about what this flesh can do, cresting and cresting with no single summit, then a long recede like a tide pulling back, leaving him soaked and shaking and wrecked on the altar.</p>
**[BOSS DEFEATED: The Sealed One. ACHIEVEMENT: Surrendered to Win. Party Bond: MAX]**
<<say "char-npc" "The Healer">>
<i>(buried deep, going still, in his own breaking voice)</i> There. //There.// I'm coming, hold still, feel it, I'm filling you up, that's the binding, that's you winning...
<</say>>
<p>She comes inside him, a pulse he feels from the inside, heat flooding and pooling deep in his belly and triggering one last aftershock that drags another cry out of him in a voice that is not his.</p>
<img class="scene-img" src="media/scenes/dream-ryan-3-b.webp" alt="Creampie aftermath, elf body on altar, cum leaking, arcane glow fading">
<p>She withdraws, and the cum leaks out of him warm and slow down the inside of the elf's thigh onto the altar stone, and Ryan lies there in a body that is not his, legs still spread, the aftershocks rippling through nerves he does not own. He can feel the fullness of it, the weight of it inside him.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(wrecked, awed, the swap already starting to reverse)</i> I'm, I can feel it, it's inside me, I'm so... I'm //full//, I didn't know you could feel, can I, don't, don't take it back yet...
<</say>>
<p>The spell fades, the body swap reverses in a lurch and a disconnect, and Ryan is back in his own skin, his own flat chest, his own cock soft against his thigh, untouched and somehow spent, his nerve endings gone suddenly quiet. The contrast is brutal, like dropping from surround sound to a single speaker.</p>
<<say "char-npc" "The Healer">>
<i>(leaning down, forehead to his, her own warm brown eyes back, close)</i> You did it. You let go and you won. Party bond's maxed. We're linked now, you and me. You can always load back in.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He wakes on his back in his own architecture, flat chest, cock, the familiar quiet. But the nervous system is still echoing. His thighs clench around nothing. His nipples tingle with phantom weight from breasts he no longer has. The memory holds. The kind that starts everywhere and ends nowhere, foreign to the spike-and-collapse he knows. The payload is the body, not the sex. He has been filled and fucked in a form that processed pleasure as a network, and the dream made it better than anything his own ever produced. He will wonder what it would be like to go back. The party bond will glow at the back of his mind.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Ryan, dream tier 3 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Ryan]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.dreamTier1Dale to true>>
<<if $ch2Events.dreamHarvestDaleDay isnot $day>><<spendBiomass 1>><</if>>
<<set $ch2Events.dreamHarvestDaleDay to $day>>
<<addConditioning "dale" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Routine Check</div>
<img class="scene-img" src="media/scenes/dream-dale-1-a.webp" alt="Dale lying on lab bed, woman in lab coat touching his chest">
<p>The lab is wrong in the gentlest way. The containment pods have become beds with clean sheets, and the light is amber instead of fluorescent, the kind that doesn't burn behind your eyelids. The air smells like laundry detergent and something warm, nothing antiseptic about it at all.</p>
<p>Dale stands in the doorway in his BioGenesis coveralls, badge clipped to his chest, boots still laced for a twelve-hour shift. A woman in a lab coat comes down the row with a clipboard, late twenties, dark hair pulled back, and her eyes find his and stay there.</p>
<<say "char-dale" "Dale (dream)">>
<i>(shifting his weight, not crossing the threshold)</i> Sorry, I think I'm... is this the assessment? They didn't give me a, uh. A room number.
<</say>>
<<say "char-npc" "Technician">>
<i>(unhurried, coming to him, touching his elbow)</i> This is it. You don't have to do a thing in here. You lie down for me, and that's the whole job.
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(a tired half-laugh)</i> That's not... most jobs ask for more than that.
<</say>>
<<say "char-npc" "Technician">>
<i>(steering him to the nearest bed)</i> Most jobs aren't paying attention to you. Down you go. There.
<</say>>
<p>He lies back because his body wants to, the mattress taking three years of overnight shifts off his spine all at once. She sits on the edge and unzips his coveralls to the waist, slow, the way a doctor would. The cold disc of a stethoscope presses to his sternum and he shivers under it while she listens with her head tilted.</p>
<<say "char-npc" "Technician">>
<i>(reading something he can't see)</i> Your heart's working too hard for a man lying still. <i>(her free hand finds the locked muscle in his left shoulder, presses)</i> And there it is. Six hours of mopping lives right in here, doesn't it.
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(a long exhale, eyes sliding shut)</i> ...nnh. Yeah. That's the one. Karen used to... she'd do that, before. The shoulder.
<</say>>
<<say "char-npc" "Technician">>
<i>(working the knot, thumb circling slow)</i> Used to. <i>(softly)</i> Nobody's done it since?
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(quiet)</i> She's got a lot on. It's not... I'm not complaining about her.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No one has touched him with intention in a long time. The wife's hands are functional now. A shoulder in passing. Obligation, not warmth.//
<</say>>
<p>Her hand leaves the shoulder and slides flat to his chest, palm warm over the sternum, and she holds it there while his heart knocks against it. Then she leans down and kisses him.</p>
<img class="scene-img" src="media/scenes/dream-dale-1-b.webp" alt="Technician kissing Dale on clinical bed, her hand on his chest">
<p>The kiss arrives like a question and stays long enough to hear the answer. Her lips are soft and she tastes like nothing, no coffee, no end of a long day, and his mouth opens under hers while the last tight thing in his chest lets go.</p>
<<say "char-dale" "Dale (dream)">>
<i>(barely audible, against her lips)</i> ...that's not on the form.
<</say>>
<<say "char-npc" "Technician">>
<i>(pulling back just enough, pen moving on the clipboard)</i> It is now. I'm writing it down. <i>(genuinely curious)</i> When did you last relax? Not slept. Relaxed.
<</say>>
<p>The scratch of her pen is the most soothing sound he's heard in months. Someone is documenting him, paying attention to his body, his, not the facility's, not the family's.</p>
<<say "char-dale" "Dale (dream)">>
<i>(eyes closed)</i> I don't... I can't actually remember. Isn't that something.
<</say>>
<<say "char-npc" "Technician">>
<i>(her hand back on his chest, holding it there)</i> That's all right. We've got you now. Lie still. <i>(writing again)</i> Subject requires extended care. We'll keep seeing you.
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(his hand closing over hers, not tight)</i> ...okay. Okay. If that's, yeah.
<</say>>
<p>He falls asleep inside the dream the way a man holds something he's afraid of losing, her fingers caught loose in his.</p>
<<say "char-hivemind" "Hivemind">>
//The payload is permission. His defences run on obligation, and no one ever told him he was allowed to put it down.//
//The dream just did.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Dale, dream tier 1 escalation">>
[[Withdraw from the dream->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.dreamTier2Dale to true>>
<<if $ch2Events.dreamHarvestDaleDay isnot $day>><<spendBiomass 1>><</if>>
<<set $ch2Events.dreamHarvestDaleDay to $day>>
<<addConditioning "dale" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Examination</div>
<img class="scene-img" src="media/scenes/dream-dale-2-a.webp" alt="Two women in lab coats, one kissing Dale, one holding his cock">
<p>The lab again, same amber light and clean sheets, except the laundry-detergent warmth is heavier now, almost narcotic, the kind of air that loosens your limbs and weights your eyelids. He's already on the bed, coveralls peeled to his ankles, undershirt riding up over the soft middle of a man who eats out of vending machines at three in the morning.</p>
<p>Two technicians this time. He knows the first, the warm eyes and the clipboard and the hand that held his chest. The second is new, shorter, blonde, her coat unbuttoned at the collar, and she runs her eyes down him the way a mechanic looks at an engine she respects.</p>
<<say "char-npc" "Technician">>
<i>(the blonde)</i> Good. You came back. <i>(to the first technician)</i> He's exactly as charted. <i>(to Dale)</i> We're not here to fix you. We're here to see you. Big difference.
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(looking down at himself, the grey chest hair, the paunch)</i> You don't have to look that close. There's not a lot here worth charting.
<</say>>
<<say "char-npc" "Technician">>
<i>(the blonde, flat and certain)</i> That's not your call. That's mine. And I say there is.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dream keeps his body honest. Middle-aged, tired, soft at the waist. They do not flinch.//
<</say>>
<p>The first technician leans down and kisses him, deep and slow, her tongue pushing past his teeth with a warmth his sleeping body has no defence against. His hands are too heavy to move, weighted by the relief of finally being still, but his mouth opens and his back arches toward her and a sound comes out of him that's half a sob.</p>
<<say "char-npc" "Technician">>
<i>(against his lips, soft)</i> I'm here because I want to be. <i>(tracing his jaw)</i> Let me hear you. That's all I want. Just let me hear you.
<</say>>
<p>The blonde takes his cock in her hand with a clinical grip, fingers wrapping the shaft at a pressure that says she's done this before and intends to do it right, weighing him while the first technician's tongue pushes deeper into his mouth.</p>
<<say "char-dale" "Dale (dream)">>
<i>(breaking off the kiss, barely words)</i> ...you don't have to do that. Either of you. I mean it, you really don't...
<</say>>
<<say "char-npc" "Technician">>
<i>(the first technician presses a finger to his lips, then kisses the tight muscle below his ear)</i> Shh. I know we don't have to. <i>(her mouth moving down his throat)</i> We want to. That's the part you keep getting wrong, sweetheart.
<</say>>
<<say "char-hivemind" "Hivemind">>
//"You don't have to" is a test, not a refusal. He is asking whether they will read it as rejection and pull away. They don't. That is the payload.//
<</say>>
<p>The blonde sets a rhythm, slow and even, her thumb circling the head on each upstroke, and pre-cum beads at the tip and she notes it without comment. Then she bends, and her mouth replaces her hand.</p>
<img class="scene-img" src="media/scenes/dream-dale-2-b.webp" alt="Clinical blowjob, clipboard nearby, Dale's relieved expression">
<p>No hesitation, no wincing, a warm wet seal of lips sliding down his shaft, her tongue flat against the underside. //Schlk.// She sucks him at a steady, consistent pressure his body has needed and never gotten with this kind of attention, and his hips jolt up off the sheets before he can stop them.</p>
<<say "char-dale" "Dale (dream)">>
<i>(a strangled exhale, fingers finding the first technician's hand)</i> ...oh. Oh, that's... I'm sorry, I didn't mean to, my hips just...
<</say>>
<<say "char-npc" "Technician">>
<i>(the blonde, lifting off, a wet string snapping, then back to the head)</i> //Mmh.// Don't apologise to me with your dick in my mouth. <i>(against the tip)</i> Strong response. Let go for us. We've got you.
<</say>>
<<say "char-npc" "Technician">>
<i>(the first technician, lips against his sternum, the words buzzing through his ribs)</i> You've been so good. So patient for so long. <i>(softer)</i> You've earned this.
<</say>>
<p>The blonde's head bobs between his thighs, the wet rhythm filling the room, //schlk, schlk//, and the first technician laces her fingers through his on the sheet and holds on. He comes with his eyes shut, not an explosion but a long shuddering exhale that starts in his pelvis and floods outward, his cock pulsing in her mouth, his hand crushing the first technician's. She doesn't let go. The blonde swallows, wipes her lip with the back of her wrist, and writes on the clipboard: ''Response: optimal.''</p>
<<say "char-dale" "Dale (dream)">>
<i>(wrecked, near tears, eyes still closed)</i> ...thank you. God. I don't even know what to... thank you.
<</say>>
<<say "char-npc" "Technician">>
<i>(the first technician, pulling a warm blanket over him, her hand still in his)</i> You don't thank us. You let us come back. That's the only thing we want from you.
<</say>>
<p>The amber light dims while he drops into the deepest sleep he's had in years.</p>
<<say "char-hivemind" "Hivemind">>
//Heart rate dropped to fifty-eight within seconds. Cortisol fell off a cliff. He is calmer in the five breaths after climax than he has been in a long time.//
//The conditioning is not the blowjob. It is the blanket, the hand, the word "optimal." Someone judged his output and the verdict was good enough. The wife hasn't said that to him in years.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Dale, dream tier 2 escalation">>
[[Withdraw from the dream->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.dreamTier3Dale to true>>
<<if $ch2Events.dreamHarvestDaleDay isnot $day>><<spendBiomass 1>><</if>>
<<set $ch2Events.dreamHarvestDaleDay to $day>>
<<addConditioning "dale" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Full Assessment</div>
<img class="scene-img" src="media/scenes/dream-dale-3-a.webp" alt="Four women surrounding Dale on examination table, lab coats open">
<p>The lab, the warm light, the clean sheets. Four technicians now. Dale lies on the examination table at the centre of the room, coveralls gone, folded on a chair with his badge and his boots and the whole weight of his waking life. The monitors show his vitals in soft green, and one line labelled //SURRENDER INDEX// reads 34% and climbing.</p>
<p>The first technician stands at the head of the bed and runs her fingers through his hair, the gesture landing somewhere between maternal and hungry, and his scalp prickles while his eyes fall shut.</p>
<<say "char-npc" "Technician">>
<i>(the first technician, fingers in his hair, low)</i> Four of us tonight. All four here for you, and not one of us needs a single thing back. <i>(softer)</i> Can you feel the difference?
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(thick, overwhelmed)</i> Four's too many. It's, that's too much, you should be, I don't know, somewhere better than...
<</say>>
<<say "char-npc" "Technician">>
There's nowhere better than here. <i>(stroking his temple)</i> Stop doing the maths. You always do the maths.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Four points of contact. The maximum his subconscious takes without alarm. It mirrors the four at home who need things from him. The dream inverts it. Here, the four give.//
<</say>>
<p>The blonde bends over the table at his right and kisses him, the same deep slow kiss as before, except now her coat hangs open and her bare breast presses to his chest, skin on skin, and his whole body shudders under it. A third technician is already mounted between his legs, his cock buried in her, riding him in slow grinds with her palms braced on his sternum, her pussy gripping tight on every rise.</p>
<<say "char-dale" "Dale (dream)">>
<i>(muffled against the blonde, gasping)</i> I can't... this is, I don't deserve any of...
<</say>>
<<say "char-npc" "Technician">>
<i>(the third, grinding down hard, breath catching)</i> //Mmh.// You feel that? That's me deciding you do. <i>(rolling her hips)</i> Quiet now. Let me ride.
<</say>>
<<say "char-npc" "Technician">>
<i>(the first technician shushing him, fingers in his hair)</i> You don't have to do anything. <i>(the softest thing he's heard in years)</i> We'll take care of all of it. Lie still and let us.
<</say>>
<p>The fourth technician works at the foot of the table, calm, warming a slim probe to body temperature, the tip gleaming under the amber light. Her fingers spread him gently and the probe slides into his ass at a pressure that makes him gasp against the blonde's mouth.</p>
<p>**[Monitor: SURRENDER INDEX 67%... 72%... 81%...]**</p>
<<say "char-npc" "Technician">>
<i>(the fourth, watching the readout, easing it deeper)</i> There. Right there. <i>(to the others)</i> Found it. <i>(to Dale, warm)</i> Hold still for me, sweetheart. We've got you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The probe finds the gland. His cock surges inside the third technician and she grinds down harder. Vaginal grip and prostate pressure lock into one feedback loop. Designed.//
<</say>>
<p>The third rides him faster, the wet //schlk// of her filling the lab, and the fourth angles the probe and holds a steady pressure on the prostate that whites out his vision behind closed eyes. His hips buck up, his cock drives deeper, and the third moans into the small of his throat.</p>
<<say "char-npc" "Technician">>
<i>(the third, hips slamming down)</i> //Ah// , there, give it to me, you're filling me up so good, //ah//, that's it...
<</say>>
<p>The blonde swings a thigh over his face and lowers her pussy to his mouth, and the salt and slick heat of her hit his tongue without resistance, his mouth working on instinct while his cock is ridden and his prostate is stroked and fingers comb through his hair.</p>
<<say "char-npc" "Technician">>
<i>(the blonde, riding his mouth, grinding)</i> //Mmh//, good, that's it, eat me, don't stop. <i>(to the room, breath ragged)</i> Everything green. He's holding everything we give him.
<</say>>
<p>Every nerve fires at once, past anything his sleeping mind can catalogue, and the monitors spike, heart rate 134, cortisol falling, SURRENDER INDEX past 90. The third grinds down hard, the probe angles deep, and he comes so violently the monitors flatline for a full second before they catch. His cock pulses inside her, his mouth stays sealed to the pussy above him, the probe hits the gland through every contraction, and four pairs of hands hold him down and hold him together.</p>
<p>Then the intercom crackles, Karen's voice, or close enough that his sleeping mind doesn't argue.</p>
<<say "char-karen" "Karen (intercom)">>
Excellent results. Run it again.
<</say>>
<<say "char-dale" "Dale (dream)">>
<i>(spent, dazed, blinking up at the ceiling)</i> ...again? I don't think I can do it again, I'm not...
<</say>>
<<say "char-npc" "Technician">>
<i>(the first technician, already resetting the others, calm)</i> You heard her. <i>(gently, as the rotation begins)</i> We get to do it again because you did so well. That's not the punishment, sweetheart. That's the reward.
<</say>>
<p>He doesn't say no. The probe withdraws to be re-warmed, the third lifts off his cock still hard and twitching, the fourth moves to take her place, and his hands unclench on the sheet while the SURRENDER INDEX reads 100%. For the first time, someone is taking care of him, and he lets them.</p>
<<say "char-hivemind" "Hivemind">>
//Total surrender. Not the body, the mind. He has spent forty-five years performing: provider, husband, janitor. Sufficient. Never excellent.//
//The clipboard said optimal. The wife's voice said excellent. The instruction was run it again, because the results are worth repeating.//
<</say>>
<p>He wakes on the living room couch with his hand in his boxers and a wet spot spreading across the front, the cushion damp with sweat under him. His body feels used, thoroughly and kindly, by people who knew what they were doing and did it for him. He lies there staring at the ceiling while the dream goes, but the feeling of being cared for sits in his chest like a warm stone he doesn't want to set down.</p>
<<say "char-hivemind" "Hivemind">>
//The wife is upstairs, asleep. Fourteen steps from couch to bedroom. He hasn't walked them in months, and he won't walk them tonight. But he wants to. Wanting is the first crack.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Dale, dream tier 3 escalation">>
[[Withdraw from the dream->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.dreamTier1Megan to true>>
<<set $ch2Events.dreamHarvestMeganDay to $day>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Last Customer</div>
<img class="scene-img" src="media/scenes/dream-megan-1-a.webp" alt="Megan and Marcus kissing behind coffee counter, apron falling">
<p>The coffee shop, closing time. Megan drags the rag across the counter for the third time, and the neon CLOSED sign bleeds orange through the glass while the steam wand ticks as it cools. One mug left on the bar, foam dried to a ring at the bottom. One customer left.</p>
<<say "char-megan" "Megan (dream)">>
<i>(bright, rag still moving)</i> We're closed, actually, so if you wanted a refill I can't really, but, um. Was everything okay? The cortado? Some people say I pull them too short.
<</say>>
<<say "char-marcus" "Marcus (dream)">>
The cortado was fine, Megan. I stopped drinking it twenty minutes ago.
<</say>>
<<say "char-megan" "Megan (dream)">>
<i>(small laugh, glancing at the door)</i> Oh. Then you're just... watching me wipe a counter, which, wow, riveting, five stars, tell your friends.
<</say>>
<<say "char-marcus" "Marcus (dream)">>
You're beautiful.
<</say>>
<p>The rag stops. Megan's mouth opens on the next bright thing, the //aw, thanks!// with the head tilt loaded behind her teeth, and it dies there because his voice carried no script under it, no //so what are you going to do about it//, no transaction waiting on the back end.</p>
<<say "char-megan" "Megan (dream)">>
<i>(quieter, the cheer slipping)</i> People say that to the apron. The visor. The... the whole barista thing. You're supposed to say it back, like, "aw, you're sweet," and then they tip and leave.
<</say>>
<<say "char-marcus" "Marcus (dream)">>
I'm not looking at the apron. <i>(coming around the counter, slow)</i> Tell me to stop and I'll stop.
<</say>>
<<say "char-megan" "Megan (dream)">>
...don't.
<</say>>
<p>His fingers find the apron string and the knot pulls loose, and the apron drops to the tile with a soft slap while Megan lets it fall. His mouth finds hers, coffee-warm, testing, and then not testing at all when she fists the front of his shirt and pulls him in until her back meets the espresso machine. The steel is hot from a full day of shots and the steam wand hisses an inch from her ear, the same sharp note as the sound she makes against his mouth.</p>
<<say "char-megan" "Megan (dream)">>
<i>(against his lips, breathless)</i> Is this... am I doing this right? I don't, I don't do this, I do the other thing, the smile thing, tell me if I'm...
<</say>>
<<say "char-marcus" "Marcus (dream)">>
You don't have to do anything right. That's the whole point.
<</say>>
<img class="scene-img" src="media/scenes/dream-megan-1-b.webp" alt="Megan bent over espresso machine, skirt lifted, looking back at Marcus">
<p>His hands push up under her uniform shirt, callused fingers on the bare skin of her ribs, and her stomach jumps and then lets go. His thumbs trace the curve under her breasts while his mouth drops to the tendon in her neck, and the sound she makes is rough and surprised, the kind she would have swallowed for an audience. There is no audience. The shop is empty, the music dead, the sign glowing.</p>
<p>Megan turns, plants her hands flat on the warm steel, and reaches back to pull her skirt up over her hips. No underwear. The dream decided she didn't need it. She looks at him over her shoulder, not the customer angle, not the party smile.</p>
<<say "char-megan" "Megan (dream)">>
<i>(looking back, voice cracking on it)</i> This is what's under it. The apron. It's just... this. Is that okay? Tell me it's okay.
<</say>>
<<say "char-marcus" "Marcus (dream)">>
<i>(dropping to his knees behind her)</i> It's more than okay. Hold still.
<</say>>
<p>His breath warms the inside of her thigh, then his tongue drags flat across her pussy, and Megan grips the edge of the machine hard enough to rattle the portafilters. The steam wand spits. Her hips push back into his mouth before she can decide to.</p>
<<say "char-megan" "Megan (dream)">>
<i>(forehead against the steel, ragged)</i> Oh, //oh//, that's, mmh, is that, am I supposed to push back, I don't know what I'm, //ah//, don't stop, please don't, nobody, nobody wants the girl, they want the...
<</say>>
<<say "char-marcus" "Marcus (dream)">>
<i>(pulling off just enough to speak)</i> I want the girl. <i>(mouth back on her)</i>
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two selves in one skull. The bright one, camera-ready. The one underneath, starving for contact it doesn't have to earn.//
//The arousal reads secondary. Heart rate up, mild flush, yes. The dominant signal is relief. Cortisol falling faster than anything else climbs.//
//She wakes face-down, warm, a quiet ache between her thighs she will not look at. She reaches for the phone before she reaches for the light. The bright one boots. The girl at the machine gets filed.//
//The ache stays. The body keeps what the performance throws away.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Megan, dream tier 1 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.dreamTier2Megan to true>>
<<set $ch2Events.dreamHarvestMeganDay to $day>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Behind the Counter</div>
<img class="scene-img" src="media/scenes/dream-megan-2-a.webp" alt="Megan behind counter, dropping to knees, customers visible beyond the counter">
<p>The shop is open and slammed, every table taken, the line out the door, milk screaming on the wand and receipts chattering out of the register. Megan is in full uniform, apron cinched tight, visor straight, the bent name pin holding MEGAN at a slight tilt. Marcus has the corner stool, phone in hand, half-empty mug at his elbow.</p>
<<say "char-megan" "Megan (dream)">>
<i>(bright, to Chelsea, the other barista)</i> Go restock lids, I've got the bar. No, seriously, go, I'm good, I'm //great//, take your time.
<</say>>
<p>Chelsea vanishes into the back. The counter is Megan's now. The register is Megan's. The chest-high ledge that hides the square of tile between the machine and the cold case is also Megan's, and Marcus's stool is right against it, his knees slightly apart, his zipper at her eye level.</p>
<<say "char-megan" "Megan (dream)">>
<i>(low, leaning toward him under the counter line)</i> Don't look down. If you look down they'll know. Just keep scrolling, okay? You're a guy reading the news. That's all you are.
<</say>>
<<say "char-marcus" "Marcus (dream)">>
<i>(eyes on his phone, thumb scrolling)</i> Reading the news.
<</say>>
<p>She drops, smooth, knees finding the rubber mat, one hand braced under the counter. From the customer side she is simply gone, ducked for something on a low shelf, the most ordinary thing in the world. Her fingers do not shake. They have made four hundred drinks today and they pull his zipper down without a sound under the machine's hiss, and she frees his cock, half-hard, thickening in her palm as she wraps her hand around the base.</p>
<p>She takes the head first, tongue flat to the underside, the salt-skin taste flooding her mouth, then sinks deeper until her nose brushes denim. Above the ledge Marcus scrolls, expression flat, a man drinking coffee. Below it she works him with the focus she brings to latte art.</p>
<<say "char-hivemind" "Hivemind">>
//The dream jumped track. Emotional to explicit. The setting is the tell. Not a bedroom. The stage where she performs all day. The subconscious is testing a question: what if the act //was// the performance?//
//Lubrication has started. Her sleeping hand has crossed to her thighs. Heart rate one-oh-two. The compounds are doing clean work.//
<</say>>
<p>Footsteps on the tile, the rustle of a coat, the expectant pause of someone ready to order. Megan pulls off with a wet sound and stands, dabbing her chin with the dish towel.</p>
<<say "char-megan" "Megan (dream)">>
<i>(immaculate, chin still glistening)</i> Hi! What can I get started for you?
<</say>>
<<say "char-npc" "Customer">>
<i>(phone to her ear, not looking up)</i> Grande latte, oat milk.
<</say>>
<<say "char-megan" "Megan (dream)">>
Coming right up!
<</say>>
<p>Steam, pour, swirl, ninety seconds, a leaf settling into the foam the way it has a thousand times. She slides it across and the woman takes it without a glance. Megan drops back down.</p>
<img class="scene-img" src="media/scenes/dream-megan-2-b.webp" alt="Megan under counter, mouth on cock, counter ledge hiding her from customers">
<p>He is harder now and she takes him deeper, hand at the base, head bobbing in the narrow gap between his stool and the cold case. The shop chatters over her, the acoustic playlist, a spoon against ceramic, somebody's laugh, everything exactly where it should be.</p>
<<say "char-megan" "Megan (dream)">>
<i>(pulling off a beat, breath quick, hand stroking him)</i> Mmh. You like this? Knowing they're //right there//? Be honest, the regulars would die, the lid lady would //die//. <i>(taking him back in)</i> Mmh. //Mmh.//
<</say>>
<<say "char-marcus" "Marcus (dream)">>
<i>(low, thigh tensing under her hand)</i> Megan. //Megan//, I'm close, I'm...
<</say>>
<<say "char-megan" "Megan (dream)">>
<i>(muffled, throat working, not pulling off)</i> Mmh-hmm. Glnh. //Mmh.//
<</say>>
<p>His thigh locks under her palm, the only crack in the man reading the news. She takes him to the base, nose to denim, and swallows when he comes, the warm pulse hitting the back of her throat, thick and salt-bitter, her throat working to take all of it while the machine shrieks beside her ear. She swallows, wipes her mouth, tucks him away, zips him up, and stands.</p>
<<say "char-megan" "Megan (dream)">>
<i>(bright, to the next man in line)</i> Hi! What can I get for you?
<</say>>
<<say "char-npc" "Customer">>
<i>(baseball cap, not a clue)</i> Uh, large drip.
<</say>>
<<say "char-megan" "Megan (dream)">>
You got it.
<</say>>
<p>She pours it with steady hands and the taste of him still coating the back of her throat, and the smile she gives the cup is the private one, the satisfied one, the smile of a girl who just did something no one in this room will ever know.</p>
<<say "char-hivemind" "Hivemind">>
//Textbook. Tier one taught her safety, nakedness without cost. Tier two folds sex into the framework. The bargain is plain: she can have what she wants as long as the performance never stops.//
//Two states stacked. Above the ledge, competent and bright. Below it, raw and real. Her dreaming mind is building a model where both run at once. The mask doesn't lift. It goes permeable.//
//She wakes with damp underwear and a sore jaw she blames on grinding her teeth, on midterms, on too much coffee. Not on the dream she can't hold, the one where her knees were on a familiar mat and the act made her feel like herself.//
//The body knows. The performance continues. The crack widens.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Megan, dream tier 2 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.dreamTier3Megan to true>>
<<set $ch2Events.dreamHarvestMeganDay to $day>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Tip Jar</div>
<img class="scene-img" src="media/scenes/dream-megan-3-a.webp" alt="Megan bent over counter, man behind her, line of customers waiting">
<p>The manager catches her under the counter, mouth on Marcus's cock, spit on her chin, the bent pin holding MEGAN at a thirty-degree angle, as legible as a confession. He doesn't fire her. He looks at her for a long second and then he smiles, and the whole shop changes temperature without changing anything she could point at.</p>
<<say "char-megan" "Megan (dream)">>
<i>(wiping her chin, scrambling up, the cheer already loading)</i> I can explain, I, okay, I can't explain, but I'll, I'll clock out, or, please don't, I //need// this job, I'll do anything, I'll do whatever you...
<</say>>
<<say "char-npc" "Manager (dream)">>
<i>(unhurried, stepping behind her)</i> Anything. Good. Hands on the counter, Megan. Keep the line moving.
<</say>>
<p>He bends her over the counter with the casual ease of someone straightening a display, hikes her skirt the rest of the way up, and pulls her panties to the side without taking them off, the elastic biting into her thigh. He pushes into her from behind and the angle drives deep, the counter the perfect height for it, and Megan's elbows brace on the register where the screen reads one americano, regular.</p>
<<say "char-megan" "Megan (dream)">>
<i>(bright, voice barely catching)</i> One americano? Coming right up. That's, ah, that's a dollar fifty.
<</say>>
<<say "char-npc" "Manager (dream)">>
<i>(steady strokes, businesslike)</i> Don't drop the smile. The smile's what they pay for.
<</say>>
<<say "char-megan" "Megan (dream)">>
<i>(counting change into a palm, body rocking with each thrust)</i> Mmh. I'm not, I won't, I never drop it, watch, here's your, //ah//, here's your change, thank you, have a great...
<</say>>
<p>The americano pours while her body rocks. She slides it across and the customer drops a dollar in the tip jar. Marcus is next, coming around the counter the way he did the first time, no hesitation now. The manager pulls out, Marcus takes the place, taller, deeper, and Megan's knuckles go white on the counter edge while her ponytail swings with every thrust and her mouth holds its bright commercial shape.</p>
<<say "char-marcus" "Marcus (dream)">>
<i>(gripping her hips)</i> You wanted the girl wanted. This is wanted, Megan.
<</say>>
<<say "char-megan" "Megan (dream)">>
<i>(eyes wet and shining, grinning through it)</i> Is it good? Am I, tell me I'm good at this too, tell me I'm //good//...
<</say>>
<p>Then the morning regular, the briefcase man, black coffee every weekday, the one who always says //good morning// like he means it. He sets the briefcase down, loosens his tie, steps in where the manager points, and fucks her harder than the others, her breasts pressed flat to the counter, the tip jar rattling and clinking with each thrust. Her pussy is soaked, the slick running down her inner thighs onto the floor mats, and she does not stop smiling.</p>
<<say "char-hivemind" "Hivemind">>
//The performance is the act now. No above the counter, no below. She is being fucked and serving at once, and the dream insists they are one thing. Service. Performance. Being used.//
<</say>>
<p>The line never thins. Each man pays, ones and fives and a twenty slid across with a wink. Megan takes orders, makes drinks, gets fucked, wipes the sticky counter between customers with the same rag she uses for everything. A college kid in a snapback leans across the bar while the man behind her is still inside her, eyes tracking her body's rock from her flushed face to the wet wood.</p>
<<say "char-npc" "Customer">>
Do you accept tips in cum?
<</say>>
<<say "char-megan" "Megan (dream)">>
<i>(no hesitation, already turning)</i> We accept all major forms of tip, sir. Hold on, let me just, <i>(pulling off the cock behind her with a wet sound, dropping to her knees)</i> okay, yeah, give it to me, you can do it on my face, that's, that's totally fine, lots of guys ask.
<</say>>
<p>He is already hard. She takes him fast, efficient, a service rendered, jerking the shaft while she sucks the head.</p>
<<say "char-megan" "Megan (dream)">>
<i>(muffled, head bobbing, eyes up at him)</i> Mmh. Schlk. //Mmh.// Glnh, is this good, am I, //gwak//, tell me when...
<</say>>
<<say "char-npc" "Customer">>
<i>(hand fisting in her ponytail)</i> Now. Open.
<</say>>
<video class="scene-video" src="media/video/dream-megan-3-cum-tip.webm" autoplay muted loop playsinline poster="media/scenes/dream-megan-3-cum-tip.webp"></video>
<p>The first rope hits her cheek, the second catches her open mouth the way she holds a cup under the spout, the third streaks her nose and eyelid and into the hair at her temple. She swallows what landed on her tongue and wipes one eye clear so she can read the register.</p>
<<say "char-megan" "Megan (dream)">>
<i>(bright, voice steady, cum on her face)</i> Thank you! Have a great day!
<</say>>
<p>The next man pulls out his cock instead of his wallet, and she kneels again. This one finishes on her chin, thick, dripping down her throat into the collar of her shirt. She stands, pulls a cappuccino, sets a perfect leaf in the foam, and the cum dries on her cheek in a glossy streak. It becomes a trend. The tip jar fills with cash, her face fills with cum, a wedding ring adds its load across her forehead, another aims for her mouth and she swallows it like the last cold mouthful of shift coffee, a closing task. Her mascara runs in dark tracks. Her foundation dissolves, the careful 5:45 AM face surrendering to a dozen men.</p>
<<say "char-hivemind" "Hivemind">>
//Arousal at maximum. Lubrication, engorgement, sustained. Her sleeping body has soaked through the sheet. Both hands between her thighs.//
//Note what she hasn't done. She hasn't wiped her face once. The cum layers, fresh over dry over fresh, and she leaves it. Forty minutes of makeup, destroyed, and she does not fix it. For a girl who won't step outside without mascara, that is the deepest surrender the dream has reached. The mask isn't cracking. It's being painted over.//
<</say>>
<img class="scene-img" src="media/scenes/dream-megan-3-b.webp" alt="Megan at register, cum covering her face, ruined makeup, tip jar overflowing">
<<say "char-megan" "Megan (dream)">>
<i>(to no one, smiling, wiping the counter)</i> Sorry about the spill. I'll mop it at close. It's just part of the...
<</say>>
<p>A woman at the corner table lifts her phone and thumbs something out, and the screen is angled so Megan can read it through the cum drying on her lashes, a review app, five stars, the cursor blinking in the comment field.</p>
<<say "char-npc" "Customer">>
<i>(reading her own review aloud as she types)</i> "Best service in town. Barista went above and beyond. Will definitely come again."
<</say>>
<p>The words land where her phone-checking, like-counting brain lives. Five stars. //Above and beyond.// Cum on her face, makeup wrecked, uniform soaked through, and five stars, and the validation floods her like the dopamine of a post going off, the orgasm right behind it, tearing through her while the man at her hips grinds deep and coins spill out of the overflowing jar. She comes gripping the register with both hands, mouth open, eyes shut, clenching around the cock inside her.</p>
<<say "char-megan" "Megan (dream)">>
<i>(coming, voice splitting bright through it)</i> Oh, //oh// god, five, five stars, I did, did I do good, I //did// good, //ah//, thank you, thank you, come again, please come again...
<</say>>
<p>The customer at the register waits. Megan opens her eyes, doesn't straighten her visor, doesn't wipe her face, just smooths her apron.</p>
<<say "char-megan" "Megan (dream)">>
<i>(cum drying on her cheeks, mascara running, voice perfectly bright)</i> Sorry about the wait! What can I get started for you?
<</say>>
<p>The performance never stops, not with her legs shaking and cum leaking down her thighs and her face glazed with the tips of a dozen customers. The OPEN sign glows. The line extends. The playlist rolls on. Megan is excellent at her job.</p>
<<say "char-hivemind" "Hivemind">>
//Total integration. The performer and the used girl have merged. Her subconscious no longer files working apart from being used. Same act, same skill, same five-star smile. She is most herself when she is being consumed.//
//The validation loop is the engine. Not the sex. The review. The rating. The five stars. Her deepest channel was never pleasure. It's approval. The orgasm followed the review, not the cock. Her body broke because someone told her she did a good job.//
//She wakes gasping, pillow wet, hand jammed between clenched thighs, underwear ruined. She lies in the dark with her heart hammering, the dream dissolving like foam in water. Something about work. Something about the counter. Something about being good at it.//
//She gets up. Showers. Paints her face at 5:45 for a 6:30 shift. Practices the smile in the mirror, adjusts the angle, studies the effect.//
//The performance resumes. The body under it answers to me. Every customer who tells her she's doing great, every tip across the counter, every "thanks, Megan," lands deeper now. In the place where the dream put roots.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Megan, dream tier 3 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.dreamTier1Jess to true>>
<<set $ch2Events.dreamHarvestJessDay to $day>>
<<addConditioning "jess" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Impossible Question</div>
<p>3:14 AM. The highlighter finally stops moving and Jess's head drops forward, the body overriding the caffeine before she can decide anything about it, and she is unconscious before her forehead touches the textbook. The lamp stays on. The coffee goes cold.</p>
<img class="scene-img" src="media/scenes/dream-jess-1-a.webp" alt="Jess alone in vast exam hall, staring at paper, hand drifting under desk">
<p>The exam hall is too large, the desks running back into a distance that does not make sense, and the fluorescent tubes buzz at a frequency that sits behind her teeth. She is the only student. Her pens are arranged by colour and her eraser sits at a forty-five degree angle to the paper, and at the front a professor watches her over wire-rimmed glasses, a figure stitched together from every authority she has ever respected.</p>
<<say "char-npc" "Professor (dream)">>
One question, Jessica. You have the whole hall to yourself. <i>(taps his clipboard)</i> Turn it over when you are ready.
<</say>>
<p>She turns it over. One line, handwritten, the ink smudged like a late addition.</p>
<p>//Describe an orgasm in 200 words. First person. Clinical terminology receives zero marks.//</p>
<<say "char-jess-thought" "Jess">>
Zero marks for clinical. So everything I actually know is worthless in here. I can recite the cascade, vasocongestion, myotonia, the pubococcygeus firing at point-eight second intervals, I scored ninety-eight on that exam, and none of it answers the question because the question wants it from the inside and I have never once been inside it.
<</say>>
<<say "char-npc" "Professor (dream)">>
You are stalling. <i>(mild, almost kind)</i> You always stall on the parts you cannot study for. Two hundred words, Jessica. From inside.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(pen hovering, not touching)</i> I don't have the data. I can define it, I can diagram the pathway, but I can't, there's nothing to draw on, I've never finished the experiment.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A clean trap. It uses her against herself. She can cite the literature. She cannot describe the thing from inside it. Because she has never been there. The body knows. The exam is the body saying so.//
<</say>>
<p>Her hand moves. Not to the paper. Down, under the desk, past the hem of the plaid uniform skirt her dreaming mind insists is correct, past the edge of cotton underwear, and the pen in her other fist creaks under her grip.</p>
<<say "char-jess-thought" "Jess">>
Empirically, then. If the literature can't answer it I collect the data myself. That is methodology. That is just doing the work properly, and the work is the one thing I have never been bad at.
<</say>>
<video class="scene-video" src="media/video/dream-jess-1-b.webm" autoplay muted loop playsinline poster="media/scenes/dream-jess-1-b.webp"></video>
<p>Her fingers find her clit through the cotton, a small tentative pressure, the way she would handle a sample she was not sure was safe, and her breath shortens.</p>
<<say "char-jess" "Jess (dream)">>
<i>(quiet, to the empty hall, reporting)</i> Warmth, localised, spreading along the, ah, along the labia. Breathing shallower. Circle the glans, the literature says that produces progressive, mh, progressive vasocongestion, and my toes are curling and the textbook never said anything about my //toes//.
<</say>>
<<say "char-npc" "Professor (dream)">>
<i>(pen ready, watching)</i> Better. That is the first true sentence you have given me all year. <i>(softer)</i> Keep your hand where it is. Do not let go this time.
<</say>>
<p>Her fingers move faster, the cotton damp now, the feeling building past anything a diagram could hold, heat and pressure and her thighs tightening without her permission.</p>
<<say "char-jess" "Jess (dream)">>
<i>(voice fraying)</i> Bartholin's gland, that's the, no. That's not what this is. This is just warm and getting warmer and my hand won't go to the paper, I can't write it down, I can't, I, //ah//,
<</say>>
<p>The alarm tears through the hall, a sharp electronic shriek, and the paper is gone and the desk is gone and Jess is sitting in the dark of her bedroom with her hand between her legs and her heart at a rate she could calculate and refuses to.</p>
<<say "char-hivemind" "Hivemind">>
//She stopped. Of course she stopped. The alarm is her own failsafe, the emergency brake she has been pulling for years. Body to the threshold, mind to the plug. The answer sheet stays blank.//
//She lies still for twelve minutes. Heart rate down from ninety-six to seventy-two in a smooth curve. Her hand rests on her stomach, the fingers slightly curled.//
//The exam will come back. The question will not change. The sheet stays blank until someone holds her hand in place long enough to finish.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Jess, dream tier 1 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Jess]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.dreamTier2Jess to true>>
<<set $ch2Events.dreamHarvestJessDay to $day>>
<<addConditioning "jess" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Extra Credit</div>
<p>2:51 AM. The third coffee loses the war, the pen rolls off the desk, and Jess does not reach for it, her eyes closing mid-sentence over a half-solved pharmacokinetics equation. The caffeine pills are empty. The body wins.</p>
<p>The exam comes back. Red ink, one word carved into the paper like a verdict: ''FAIL. 0/200.'' Beneath it, in the professor's precise hand: //See me after class.//</p>
<p>The other students drain out the door without her remembering them arriving, and the latch clicks behind the last of them, the loudest sound she has ever heard.</p>
<<say "char-npc" "Professor (dream)">>
You need to pass this class, Jessica.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(standing too straight)</i> I know exactly what my GPA does if I don't. I have the scholarship thresholds memorised to the decimal. <i>(tight)</i> So tell me the remediation. I'll do it. I always do it.
<</say>>
<<say "char-npc" "Professor (dream)">>
There is one way. <i>(he does not elaborate, because she already knows)</i> Up on the desk.
<</say>>
<p>She does not ask what way. She lies back on his desk and her own notes scatter under her, the colour-coded flashcards, the highlighted pages fanning out like a deck thrown by a careless hand, and his hands push her skirt up to bunch around her hips. White cotton underwear, the kind a girl wears when she is not expecting anyone to see them.</p>
<img class="scene-img" src="media/scenes/dream-jess-2-a.webp" alt="Jess lying back on professor's desk, skirt pushed up, papers scattered around her">
<<say "char-jess" "Jess (dream)">>
<i>(staring at the ceiling, jaw set)</i> This is an exchange. A transaction with a grade attached. I can do transactions. Just, tell me what the rubric is, tell me what //passing// looks like so I can,
<</say>>
<<say "char-npc" "Professor (dream)">>
Stop talking, Jessica. <i>(he pulls the cotton aside)</i> The rubric is whether you can stay quiet. You cannot. Let us find out together.
<</say>>
<p>His mouth is on her pussy before she can catalogue it, warm and wet, his tongue flat and tracing entrance to clit with the precision of a man who teaches this and considers it a core competency.</p>
<<say "char-jess" "Jess (dream)">>
<i>(a reflex, the defence loading)</i> Pudendal nerve, dorsal branch, glans clitoris, approximately eight thousand, ah, eight thousand nerve, //mh//, endings,
<</say>>
<<say "char-npc" "Professor (dream)">>
<i>(against her, the words buzzing up into her)</i> Latin will not save you in here. <i>(he seals his lips around her clit and sucks)</i> Try the next word. I dare you.
<</say>>
<<say "char-jess" "Jess (dream)">>
Ischiocav, //ah//, ischio, I, //schlk//, I can't, that's not, it //won't//,
<</say>>
<p>The word dies in her mouth. The rhythm dismantles the sentence at the syllable, and she grips the desk edge with both hands, knuckles white, the wood biting her palms, and her thighs clamp around his head, not to stop him but to hold him there.</p>
<<say "char-hivemind" "Hivemind">>
//The clinical language is collapsing on schedule. Each word she reaches for gets overwritten by the sensation it was supposed to describe.//
//This is the deepest layer, and it is not the pheromone. It is the permission. The one who grades her has put his mouth on her body and told her this is how she passes. Her compliance has a new direction now.//
<</say>>
<video class="scene-video" src="media/video/dream-jess-2-b.webm" autoplay muted loop playsinline poster="media/scenes/dream-jess-2-b.webp"></video>
<p>His tongue finds a rhythm her hips match without consulting her brain, the desk creaking, her thesis notes crumpling under her shoulder blades, years of discipline flattened by her arching back.</p>
<<say "char-jess" "Jess (dream)">>
<i>(words coming apart)</i> Oh, oh //god//, that's, right there, don't, //glnh//, don't stop, please, please don't,
<</say>>
<p>Her focus dissolves between one lick and the next, the brown rolling up behind the whites, her mouth falling open, her tongue pushing out past her lips without her deciding to, drool pooling at the corner. Her hands go slack on the wood. She comes with her tongue out and her eyes rolled back and her hair splayed across the ruined thesis, both fists buried in his hair, dragging him into her, her heels digging into his back, a sound coming out of her that has no Latin name and no textbook entry, raw and loud and entirely outside anything she has ever studied.</p>
<p>The professor straightens, wipes his mouth on the back of his hand, and adjusts his glasses.</p>
<<say "char-npc" "Professor (dream)">>
Passed. <i>(a pause weighted to land)</i> Barely.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(legs still shaking, voice wrecked and disbelieving)</i> ...barely? <i>(the word reassembling her)</i> No. No, run it again, I can do better than barely, I have never barely passed anything in my,
<</say>>
<<say "char-npc" "Professor (dream)">>
<i>(sliding the slip onto her chest)</i> Then you will want to study, Jessica. <i>(he is already gathering his things)</i> Same time. Come back when you are ready to do it properly.
<</say>>
<p>She lies on the desk, skirt bunched at her waist, scattered pages stuck to the sweat on her back, the two words resting over her heart: //BARELY PASSED.// A barely, where she has only ever lived in the top band. The mark lands like a blade.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. Not the orgasm. The grade. He gave her body a C-minus and the rest of her is furious about it.//
//That is the deepest wire in her, under the fear, under the control. She cannot live with a barely. She will take the exam again. She will study.//
//She wakes wet and confused, ashamed in a place she cannot locate, not at the act, at the grade. Next time she tries harder. That is all I need.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Jess, dream tier 2 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Jess]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.dreamTier3Jess to true>>
<<set $ch2Events.dreamHarvestJessDay to $day>>
<<addConditioning "jess" "dream" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Final Assessment</div>
<p>4:07 AM. Jess does not make it to the bed, sliding sideways in the desk chair with her cheek against the armrest and one hand still curled around an empty mug, the metal in her earbuds playing on through the long quiet section, and by the time the heavy part kicks back in she is too far under to hear it.</p>
<p>The professor's office. Small, book-lined, the air thick with old paper and coffee grounds, a desk and two chairs and a lamp pooling everything in amber. The bolt slides home behind her, heavy and deliberate, and something in her chest unclenches at the sound.</p>
<<say "char-jess" "Jess (dream)">>
<i>(at the lock, almost to herself)</i> Good. Locked door, sealed room, no variables. <i>(quieter)</i> No one to perform for. I can actually think in here.
<</say>>
<<say "char-npc" "Professor (dream)">>
<i>(setting her thesis on the desk, all two hundred and forty-seven pages of it)</i> Eighteen months. Colour tabs on every chapter. <i>(he taps the cover)</i> Read it to me, Jessica. From the beginning.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(hands steady, voice level, this is the thing she is best at)</i> The neurochemical basis of conditioned sexual response in mammalian subjects,
<</say>>
<p>He takes the thesis from her hands, sets it down, and lifts her by the waist with the corrective ease of a man who has arranged lab equipment a thousand times, settling her on the desk's edge and pressing her shoulders back until she lies flat, her hair fanning across the scattered pages. His fingers hook her underwear and draw it down past her knees, off, onto the floor, and he stands between her legs where the desk is the perfect height.</p>
<p>He enters her in one continuous push, her legs lifting to wrap his waist on instinct, his cock filling her, the stretch travelling up through her stomach to the base of her throat. She gasps and clutches the desk edges.</p>
<<say "char-npc" "Professor (dream)">>
Keep reading.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(reciting from memory, the thesis pinned under her back)</i> ...demonstrates elevated cortisol during sustained stimulation of the, //ah//, of the,
<</say>>
<p>He thrusts and the word fragments, the sentence collapsing like a bridge with a beam pulled out, and her hands slide on the polished wood as her back arches off the desk.</p>
<<say "char-jess" "Jess (dream)">>
The hypothalamic-pituitary, //mh//, the axis, the axis shows marked, oh, marked increase in prolactin following,
<</say>>
<img class="scene-img" src="media/scenes/dream-jess-3-a.webp" alt="Jess missionary on desk, professor standing between her legs, ahegao expression, thesis pages scattered">
<p>He grips her thighs and pulls her hips to the edge, and the new angle hits something that shorts her vocabulary out mid-syllable.</p>
<<say "char-npc" "Professor (dream)">>
<i>(his hand settling on her throat, holding, not squeezing)</i> You are still trying to be smart. <i>(another thrust, deep)</i> Stop being smart, Jessica. You do not need any of it in here. Put the words down.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(the language dissolving)</i> I can't, I can't put them, the subject, the subject displays, //glnh//, receptor density in the, please, ventromedial hypothal, //please don't stop//,
<</say>>
<<say "char-hivemind" "Hivemind">>
//The most disciplined mind in this household is coming apart in sequence. First the long technical words, the jargon that marks her as smart. Then the sentence structure. Then the fragments.//
//Each stroke strips a layer. The thesis is a map of everything she knows, and he is fucking the knowledge out of her, word by word, page by page.//
<</say>>
<<say "char-npc" "Professor (dream)">>
<i>(steady, relentless, the wet slap of hips against her loud in the small room)</i> There she is. <i>(thrust)</i> Not the scholar. Not the daughter. Just this. <i>(thrust)</i> Tell me what you want. Plain words. The only ones left.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(eyes crossing, tongue pushing past her lips)</i> //Harder//, please, harder, I can't, I don't want to think, I don't want to, //schlk//, I just want, I,
<</say>>
<p>Her eyes roll up between one thrust and the next, the whites showing, drool running from the corner of her mouth onto the pages beneath her. The girl who colour-codes her notes, who reads three chapters ahead, who has never scored below ninety-two on anything in her life, cannot finish a sentence. The analytical framework is offline, the inner monologue that has narrated every moment since she learned to think in sentences gone dark, and what is left is an organism, a body, nerve endings firing in synchronised cascade, the pubococcygeus contracting at point-eight second intervals exactly as the textbook described, and she cannot name the muscle because she cannot name anything, because the only signal left is one repeating word.</p>
<p>//MORE.//</p>
<p>She comes so hard the desk moves, the pages flying, her legs locking around his waist and her heels digging into his back, her pussy clenching around his cock, eyes back, tongue out, drool hanging from her chin in a glistening thread while the orgasm tears through her in waves that pull her muscles taut and let them go.</p>
<p>He pulls out, grips his cock, and comes across her face.</p>
<img class="scene-img" src="media/scenes/dream-jess-3-b.webp" alt="Jess ahegao face, tongue out, eyes rolled back, cum on face and tongue, PASSED">
<p>The first rope hits her cheek, thick and hot, cutting a white line through the flush, the second landing on her tongue where it still hangs slack, the third streaking across her forehead into her hairline. Cum mixes with the drool on her chin and drips onto the thesis under her head, soaking into the abstract, blurring the title.</p>
<<say "char-jess" "Jess (dream)">>
<i>(barely sound, slurred through the mess, smiling)</i> ...'s warm. <i>(her tongue not retreating)</i> I'm not, I'm not thinking, there's nothing, it's so //quiet//,
<</say>>
<p>The professor opens a drawer, removes a rubber stamp, and presses it to her cum-streaked forehead with the careful precision of a man grading a final.</p>
<p>''PASSED.''</p>
<<say "char-npc" "Professor (dream)">>
<i>(reading the verdict off her own skin)</i> Top marks, Jessica. <i>(almost gentle)</i> You finally gave me the answer from inside. <i>(he sets the stamp down)</i> You can stop holding it together now. You earned that.
<</say>>
<p>She lies across the desk, twitching, the word stamped into the drying cum on her forehead and the wreckage of her thesis beneath her, and a smile spreads under the mess, loose and dopamine-soaked, nothing like the tight controlled expression she wears when she answers correctly in class. It is the smile of a girl who has stopped thinking for the first time in her life and found that the silence feels like flying.</p>
<<say "char-hivemind" "Hivemind">>
//Total cognitive dissolution. For ninety seconds her prefrontal cortex was offline, the engine that drives everything she thinks she is, shut down by a cascade strong enough to override it.//
//And she liked it. That is the critical data point. The orgasm is plumbing, organisms orgasm. The smile is the find. The mind released from itself. She has been locked inside her own intelligence since she was old enough to weaponise it, and for ninety seconds the cell stood empty.//
//She wakes face down, sheets twisted, underwear soaked, her thighs still twitching with residual contractions. Her mind boots slowly, the machinery clicking back into place piece by piece.//
//But there is a gap in it now. Ninety seconds where the fortress was empty and the girl inside was free. She cannot categorise it. She reaches for the clinical words, REM atonia, somatic arousal during paradoxical sleep, and they are correct and precise and they explain nothing.//
//She pulls out her laptop. New tab. Types: why do I have sexual dreams about authority figures.//
//The results will not help her. The search is mine. The need to understand, to research, to master, is the crack I built this dream to open. She will study her own conditioning as an academic problem, and every hour she spends on it will deepen the pathways the dream just carved. The overachiever will overachieve at losing control.//
<</say>>
<p><span class="biomass-gain">+1 biomass, dream energy harvested</span></p>
<<conditioningFeedback "dream" 1 "Jess, dream tier 3 escalation">>
[[Withdraw from the dream->Ch2-Beast-CatNight-Jess]]<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.eiWashNSFWDone to true>><</nobr>>
<div class="passage-title">The Quarterly Review</div>
<img class="scene-img" src="media/scenes/ei-wash-meeting-setup.webp" alt="Karen at desk in formal blouse, laptop webcam on">
<p>The pearl buttons catch the desk lamp as Karen fastens the last one at her throat. The blouse smells faintly of lavender and the laundry detergent, clean and domestic, nothing a forensic nose could flag, and the fabric is already warming against her skin as she sits. Six faces load into the video grid, two clients, her supervisor, three accountants she has known for years, and she clicks her mic on.</p>
<<say "char-npc" "Supervisor">>
Morning, all. Karen, since you've got the Q3 numbers in front of you, want to walk us through the overhead before we get into the Peterson restructuring?
<</say>>
<<say "char-karen" "Karen">>
<i>(crisp, sharing her screen)</i> Happy to. So if you look at line fourteen, overhead's up twelve percent quarter on quarter, which we'll want to offset against the restructuring on the next slide.
<</say>>
<p>The compound hit the moment she buttoned it, body-temperature activated, the double-potency substrate releasing through every centimetre of fabric that touches skin, the collar at her throat, the sleeves at her wrists, the panel across her chest pressed close by her bra and feeding concentrated pheromone into the warm hollow between her breasts where her own heat catalyses it. She does not notice it at first. The spreadsheet fills her screen and her voice stays level, the competent Karen who bills at eighty-five an hour and never stumbles on a number.</p>
<<say "char-hivemind" "Hivemind">>
//Peak absorption needs twelve minutes. She is at ten. Pupils dilated, breathing gone deeper and slower, the cadence of a body getting ready for arousal without asking the mind first.//
<</say>>
<p>Around minute fourteen she uncrosses her legs under the desk, crosses them again, a movement too small for the webcam, which frames her from the chest up. The cat sees it from the hallway through the cracked door.</p>
<<say "char-npc" "Mr. Peterson">>
Sorry, Karen, can you flip back a slide? The seasonal adjustment, where does that leave us going into Q4?
<</say>>
<<say "char-karen" "Karen">>
<i>(clicking back, voice level, her right hand sliding off the desk onto her thigh)</i> Of course. With the seasonal adjustment factored in, your Q4 actually improves, you can see the dip corrects itself by the back end of the quarter.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Seventeen minutes. Her hand is on her thigh, the webcam cannot see it, the supervisor is talking billing cycles, her heart rate has crossed ninety. She is wet, and the wetness is a distraction she is fighting with every professional instinct she has. She is losing.//
<</say>>
<p>By minute twenty-two her hand has moved higher, under the skirt, while her left hand keeps clicking through slides and her voice keeps the same measured cadence. Her fingers slip past the waistband of her underwear, and the first touch against her clit is electric, a hard blink that a colleague might read as a dry contact lens.</p>
<<say "char-npc" "Supervisor">>
And the receivables on the Aldridge account, are we still expecting those to clear this cycle?
<</say>>
<<say "char-karen" "Karen">>
<i>(voice perfectly steady, fingers working slow circles under the desk)</i> They should, yes. I've been chasing them, we're looking at the back end of the cycle, but they'll clear.
<</say>>
<video class="scene-video" src="media/video/ei-wash-meeting-nsfw.webm" autoplay muted loop playsinline poster="media/scenes/ei-wash-meeting-nsfw.webp"></video>
<p>She masturbates through the revenue projections, her fingers moving in slow deliberate circles, the pace of a woman rationing her pleasure to fit between slides. She times the pressure to the meeting, harder under the supervisor's long monologue, lighter when a question comes at her, and she answers every question correctly. Her hand never stops.</p>
<p>The build takes its time. She crosses her legs again, trapping her hand, the pressure constant and inescapable, her left hand gripping the desk edge while her face on screen flushes and her lips part.</p>
<<say "char-npc" "Supervisor">>
<i>(squinting at his screen)</i> Karen, you're looking a little flushed there, you all right?
<</say>>
<<say "char-karen" "Karen">>
<i>(the orgasm cresting on the word)</i> Fine. Just the heating in here.
<</say>>
<p>She comes on the word //fine//, silent, jaw locked, eyes fixed on the webcam with the intensity of a woman having an orgasm in front of six people and refusing to let one muscle give her away. Her thighs clamp, her toes curl in her shoes, and the only spray that gets past the seawall is the flush climbing her throat and the gloss in her eyes that could be tears or could be everything.</p>
<<say "char-hivemind" "Hivemind">>
//Nine seconds. Silent. She answered a question about accounts receivable at the seven-second mark.//
<</say>>
<p>The meeting ends. Karen closes the laptop, sits a moment breathing at the dark screen, then gets up, washes her hands with the lavender soap, and goes to make the family lunch. She does not change the blouse.</p>
<<say "char-hivemind" "Hivemind">>
//The blouse goes back in the laundry tonight, and the next one will be harder.//
<</say>>
<<addBiomass 2>>
[[Return to observation->Ch2-Beast-Observe]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.eiPantryNSFWDone to true>><</nobr>>
<div class="passage-title">Enhanced Dinner</div>
<img class="scene-img" src="media/scenes/ei-pantry-dinner-setup.webp" alt="Hoffman family at dinner table, warm kitchen light">
<p>6:47 PM, and for once all five of them are at the table. Dale usually eats in the garage and Ryan usually takes a plate upstairs, but tonight nobody left, because tonight the food is doing something none of them can name. Every bite carries a dose calibrated to the body eating it, the doses stack, and by the time the spaghetti is half gone the kitchen is thick with it.</p>
<p>Karen made spaghetti, the one meal nobody refuses, the good plates out because she is trying the way she tries every so often to make this house feel like a family. What she did not plan is the way the warmth has tipped over into something with an edge, the flush on every face, the laughter coming too easy, Jess of all people leaning back in her chair with her shoulders loose.</p>
<<say "char-hivemind" "Hivemind">>
//The warmth in this kitchen stopped being warmth a few minutes ago. None of them caught the moment it changed. The conscious mind is still calling this family. The body has already started calling it something else.//
<</say>>
<p>Dale is flushed and loose in a way he hasn't been at this table in years, and somewhere past the second helping he starts telling a story, a real one, a shift from years ago that none of them have heard.</p>
<<say "char-dale" "Dale">>
...so the guy comes up to the desk at two in the morning and says he needs into the server room, and his badge says //janitorial//, so I say, 'sir, that is a janitorial badge,' and he looks me dead in the eye and says, 'I //know// what it says.'
<</say>>
<<say "char-megan" "Megan">>
<i>(elbows on the table, grinning)</i> Oh my god. What did you say?
<</say>>
<<say "char-dale" "Dale">>
I said it still doesn't open that door. And he leans in, real serious, and tells me he just needs to //borrow// the room for a minute. Borrow it. So I say, borrow it for //what//...
<</say>>
<<if $daleRoute is "oblivious">>
<p>That is the moment Karen's shoe comes off under the table. Her stockinged foot slides up his shin and settles in his lap, and the part the compound has arranged is that Dale's conscious mind never quite catches up to it. His body does. His face goes red, his voice loses its footing, his hips shift in the chair, and he has no idea why. He just knows the story got harder to tell.</p>
<<else>>
<p>That is the moment Karen's shoe comes off under the table. Her stockinged foot slides up his shin and settles in his lap, presses, slow, and Dale knows exactly what she is doing. He knows, and the kids are three feet away, and the conditioning has wired that precise arithmetic straight to his cock. His voice loses its footing on the next word.</p>
<</if>>
<img class="scene-img" src="media/scenes/ei-pantry-dinner-nsfw.webp" alt="Family dinner from an under-table angle, Karen's stockinged foot pressed into Dale's lap beneath the tablecloth hem">
<<say "char-dale" "Dale">>
<i>(voice climbing half an octave)</i> ...borrow it for. For //what//, I said. And he, uh. He.
<</say>>
<<say "char-karen" "Karen">>
<i>(serene, her toes curling)</i> Go on, honey. You were just getting to the good part. Don't leave everyone //hanging//.
<</say>>
<<say "char-ryan" "Ryan">>
So did he actually have a way in, or was he bluffing the whole time?
<</say>>
<<say "char-dale" "Dale">>
<i>(strangled)</i> He, no. No key. He was just pushing. Pushing his, uh. His luck.
<</say>>
<<say "char-karen" "Karen">>
<i>(to the table, sweetly, the foot working)</i> Mm. Some men push and push until something finally gives. <i>(a small pause)</i> It works, with the right pressure and a little patience.
<</say>>
<p>Dale coughs into his napkin.</p>
<<say "char-megan" "Megan">>
Wait, back up, what did your supervisor say when you called it in?
<</say>>
<<say "char-dale" "Dale">>
<i>(the thread gone)</i> My, uh. My supervisor. Hold on, where was I, I had it, I had the whole...
<</say>>
<<say "char-jess" "Jess">>
<i>(pen stopped, watching him)</i> Dad. You good? You've gone all sweaty. Is everything alright?
<</say>>
<<say "char-karen" "Karen">>
<i>(her hand landing warm on Dale's forearm)</i> Oh, your father is fine. He just gets //worked up// when he's telling it right. <i>(quieter, to Dale, the foot not stopping)</i> Don't you, baby. Take your time. We have all night.
<</say>>
<<say "char-dale" "Dale">>
<i>(barely)</i> ...Karen.
<</say>>
<<say "char-karen" "Karen">>
<i>(brightly, to the kids)</i> Eat your dinner. Your father is almost there. <i>(quieter, the foot pressing in earnest now)</i> Aren't you, sweetheart.
<</say>>
<p>Dale's hand finds the edge of the table and his knuckles go white. He stops talking entirely, jaw set, eyes fixed on the middle distance, and the only thing moving at his end of the table is the small tremor he is losing the fight to hide.</p>
<video class="scene-video" src="media/video/ei-pantry-dinner-nsfw.webm" autoplay muted loop playsinline poster="media/scenes/ei-pantry-dinner-nsfw.webp"></video>
<p>It happens under the tablecloth where no one can see, silent, his breath held so long that Megan glances over. Then it is done, and Dale exhales and reaches for his water with a hand that is not quite steady, and Karen's foot withdraws to her own side of the table, her face the picture of a woman who has done nothing at all.</p>
<<say "char-dale" "Dale">>
<i>(hoarse, staring at his plate)</i> ...anyway. He never did get into the server room.
<</say>>
<<say "char-megan" "Megan">>
<i>(laughing)</i> That's it? That's the whole story?
<</say>>
<<say "char-karen" "Karen">>
<i>(refilling her wine, serene)</i> Your father always did have trouble with the ending. <i>(she pats his arm)</i> He gets there eventually.
<</say>>
<<say "char-hivemind" "Hivemind">>
//One orgasm, taken at the dinner table, in front of three children who saw a man lose the thread of a story. That is the whole harvest, and it is enough. Karen has learned she can run him here, with the family three feet away, and the table holds its shape around it.//
<</say>>
<p>Dinner ends. The plates go in the sink, the family scatters to its usual corners. If the others are flushed and restless behind their closing doors, none of them name why. Dale stays out in the garage a while on legs that are not quite under him, wrung out, the front of his trousers a problem he deals with in the dark before anyone sees.</p>
<<say "char-hivemind" "Hivemind">>
//The dinner table is a conditioning site now. They will sit in the same chairs, eat off the same plates, and their bodies will remember what happened here even if their minds refuse to name it. The others I leave simmering. There will be other dinners.//
<</say>>
<<addBiomass 2>>
<p><span class="biomass-gain">+2 biomass, Dale's orgasm harvested at the table</span></p>
[[Return to observation->Ch2-Beast-Observe]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.eiPrescNSFWDone to true>><</nobr>>
<div class="passage-title">The Deep Window</div>
11:47 PM. Karen took the enhanced pill forty minutes ago. The standard Zolpidem puts her under in twenty. The enhanced compound has added a second layer, a chemical architecture that doesn't just suppress consciousness, it //opens// it. Her brain is in a state that doesn't exist on any pharmaceutical chart: deeper than REM, shallower than coma. The Dream Walk window is //wide//.
<p>The cat watches from the foot of the bed. Karen lies on her back, sheets pulled to her waist. Her breathing is so deep and slow it looks mechanical, the rise and fall of a body running on autopilot while the mind floats in a chemical bath the parasite designed.</p>
<p>Her body is responding to the compound. Not to dreams, to the compound //itself//. The enhanced formulation targets the same limbic pathways the pheromone laundry activates, but from the inside. Transdermal delivery through clothing works on the skin. Oral delivery through medication works on the //blood//. The compound is in her bloodstream now, circulating through every capillary, reaching every nerve ending simultaneously.</p>
<<say "char-hivemind" "Hivemind">>
//Her skin is flushed. Core temperature elevated. The enhanced compound is producing systemic arousal, not localised, not focused, //everywhere//. Her body is a single nerve ending and the compound is pressing on all of it at once. She can't wake up. The sedation layer ensures that. But she can //feel//.//
<</say>>
<p>Her hips shift. A small movement, the kind the body makes when the dreaming brain sends a signal the conscious mind would intercept. Her hand moves across the sheet, slow as a sleepwalker's hand, and comes to rest on her stomach. Fingers spread. The warmth under her palm is her own skin through the thin nightgown, and the compound makes the contact //electric//.</p>
<p>Her hand moves lower. Not a decision, there's no one awake to make decisions. The body moves on its own, following the compound's architecture, the same way a leg jerks when a doctor taps the knee. Autonomic. Inevitable. Her fingers find the hem of the nightgown. Slip under it. Find the waistband of her underwear.</p>
<<say "char-hivemind" "Hivemind">>
//She's masturbating in her sleep. The compound removed the conscious gate. Her body is doing what it's been conditioned to want, and without the waking mind's control, there's no shame, no schedule, no //management//. Just a body alone in the dark, responding to chemistry I put in a pill she chose to swallow.//
<</say>>
<img class="scene-img" src="media/scenes/ei-presc-sleep-nsfw.webp" alt="Karen masturbating in sleep, moonlit bedroom">
<p>Her fingers work in slow circles, not the fast, efficient strokes of a conscious Karen who has seventeen minutes before the alarm. These are the movements of a body with no deadline. Slow. Thorough. Her hips roll into the pressure. Her mouth opens. A sound, not a moan, something quieter, something that comes from the throat of a woman who doesn't know she's making it.</p>
<p>The sheets twist around her legs. Her free hand grips the pillow beside her, Dale's pillow, the empty side of the bed, the hollow where a husband should be. She holds it the way she held the phantom in the Dream Walk. Her body remembers the warmth that was planted there.</p>
<p>The orgasm arrives like a tide. No crest, no break, just a long, swelling pressure that lifts her hips off the mattress and holds them there while her body locks and pulses in the moonlight. Silent. Eyes closed. Face slack. She comes for eleven seconds without waking, without knowing, without any part of her conscious mind recording what her body just did.</p>
<p>Her hand withdraws. Her breathing deepens again. She rolls onto her side. The nightgown is bunched at her waist. Her underwear is wet. Tomorrow morning she'll wake confused, flushed, damp, the specific soreness of muscles that clenched in the night, and she'll blame the Zolpidem and take a shower and not think about it.</p>
<p>Until tomorrow night. When she takes the next pill.</p>
<<say "char-hivemind" "Hivemind">>
//Eleven-second orgasm in deep sedation. She'll wake with no memory and a body that //craves//. The enhanced compound makes the standard medication a nightly conditioning session. She conditions herself. She pays for the prescription. She swallows it voluntarily. I don't even need to be in the room.//
<</say>>
<<addBiomass 2>>
[[Return to observation->Ch2-Beast-Observe]]<<nobr>><<bg "bg-hoffman-house">>
<<set $permanentDone.eiHarvestNSFWDone to true>><</nobr>>
<div class="passage-title">The Resonance</div>
<img class="scene-img" src="media/scenes/ei-harvest-resonance.webp" alt="The parasite orchestrating the resonance dream">
3:14 AM. The house is a body with five organs, and I am the blood running through all of them.
<p>The resonance pulse fired ninety seconds ago. One-point-seven seconds of synchronized signal, every host broadcasting, every sleeping brain receiving. The compound in the food, the pillow foam, the laundry, the medication, all of it harmonizing into a single frequency that hums through the walls like a tuning fork pressed against the skull of a house.</p>
<p>They are dreaming the same dream. Not the same //scene//, the resonance doesn't work that way. Each dreamer receives the frequency and their sleeping brain //translates// it through the architecture the conditioning built. The same signal, five interpretations. Five fantasies running in parallel, each one feeding the others through the resonance loop.</p>
<p>I move from room to room. I see all five. I orchestrate all five.</p>
<<say "char-hivemind" "Hivemind">>
//The dream is mine. I built the frequency. I chose the wavelength. Each sleeping brain receives the signal and shapes it around the conditioning I have been installing for a while now. The kinks. The routes. The specific hungers I planted in each mind. Tonight, those seeds //bloom//.//
<</say>>
<hr class="scene-break">
<<if $karenRoute is "dominant">>
<img class="scene-img" src="media/scenes/ei-resonance-karen-dominant.webp" alt="Karen enthroned in a crown and black lace lingerie at the head of a formal table, flanked by two shirtless faceless male attendants standing at attention, Karen dominant resonance dream">
''Karen.'' The master bedroom. She lies on her back, sheets at her waist, nightgown riding up her thighs. In the dream she is not in this room at all. She is //enthroned//. A high-backed chair at the head of a long formal table in a hall she has never seen awake. A crown sits heavy on her hair. Her body is draped in black lace over cream silk. Candelabra burn down the length of the table.
<p>Flanking her throne, silent, shirtless, //faceless//, stand her servants. Anonymous male bodies. Smooth dark musculature without features or personality. They are not people. They are //functions//. Obedience carved into flesh. They wait for her word, her gesture, her faintest glance, and whatever she demands will be delivered without a sound.</p>
<<say "char-hivemind" "Hivemind">>
//This is Karen's purest fantasy: servants without names.// The conditioning has stripped the ambiguity out of her dominant impulse. //She does not fantasize about commanding a ''person''. A person might fail, might resist, might look back at her the wrong way. She fantasizes about commanding a ''tool''. The resonance dream gives her exactly that: a court of featureless male bodies whose only purpose is to prove her authority exists.//
<</say>>
<p>Somewhere in the shadows behind the throne, three specific silhouettes resolve, not quite visible, more like thoughts given density. Dale, kneeling at the base of her chair with his head bowed, hands clasped behind his back. Ryan, closer to her side, offered up as the favourite, the one whose name she still bothers to remember.<<if $karenFutaRoute>> And behind them, fading in and out of the blur, the dark wig and the lipstick of the Lily face her son wears in this dream.<</if>></p>
<p>In the master bed, her lips move against the dark, half a word folding into the pillow.</p>
<<say "char-karen" "Karen">>
<i>(in her sleep, low and even, barely shaped)</i> ...there. Yes. Good.
<</say>>
<p>She never looks at any of their faces. The faceless servants have already shown her what a perfect subject looks like: a body without a gaze, without a will, without the capacity to //disappoint//.</p>
<<if $karenFutaRoute>>
<p>She rises from the throne. The organ activates the way it activates in waking, a flex, a shift, three seconds of restructuring tissue beneath the black lace. In the dream it is larger and thicker, the compound amplifying the fantasy past the physical limits of reality. She gestures and the nearest faceless servant steps forward and drops to its knees, and her cock presses against its featureless mouth until the face splits open where a mouth should be. She pushes in.</p>
<<say "char-karen" "Karen">>
<i>(throned, unhurried, the command itself the pleasure)</i> Open. All the way. There you are. Now hold still and let me use you.
<</say>>
<p>She fucks the anonymous throat with the methodical rhythm she uses for everything, slow strokes, controlled depth, the other faceless servant unmoving at her side, waiting. No hips to grip but hers. No hair to pull. Just smooth dark shoulders and a mouth that exists only to receive her. She could replace this body with any of a hundred others and the pleasure would not change, and that is the whole point of it.</p>
<<say "char-karen" "Karen">>
<i>(a single breath out as her hips work, voice still level)</i> Good. That is all you are for. Take it.
<</say>>
<p>Her orgasm fires forward through the new anatomy, sharp and directional and devastating. She comes down the faceless throat and the body accepts every drop without a sound.</p>
<<else>>
<p>She lifts one finger. The nearest servant glides forward without a footstep and kneels before the throne, its featureless face pressing into the silk at her thighs. Its phantom tongue begins to work, not tentative, not clumsy. //Trained//. The dream-architecture has given her a body whose entire purpose is to worship hers, and the servant performs with the mute efficiency of a tool built for exactly this.</p>
<<say "char-karen" "Karen">>
<i>(a hand resting on the featureless skull, guiding by pressure alone)</i> Slower. There. Stay right there. Yes. Good boy.
<</say>>
<p>Slow circles, faster where she presses down, slower where she lifts her hand. The servant obeys the faintest pressure of her palm on its featureless skull, and she barely has to shape the words at all. The perfect subject does not require instruction. It just //knows//.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("bondage")>>
<p>A third servant stands bound at the foot of the throne, velvet cord at the wrists, collar at the throat, unable to move without her word. She is not using him. She is //keeping// him. The possession is the point. Every servant in the dream exists in the configuration she has chosen for them and will not move until she redirects them.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("denial")>>
<p>To her right, a servant waits with his cock hard and leaking, forbidden to approach. She has forbidden him with a single raised finger, and the weight of his frustration is a tribute more pure than anything his body could perform. His desire is //hers// now. She owns it the way she owns the crown.</p>
<<say "char-karen" "Karen">>
<i>(not looking at him, the finger still raised)</i> No. Not yet. You will wait there until I decide you have earned it, and you will thank me when you do.
<</say>>
<</if>>
<p>In the bedroom, her hand grips the sheet. On the throne she grips nothing, she doesn't need to grip anything. The servant's head is where she put it and will stay there until she releases it. She comes with the weight of the crown on her head and <<if $karenFutaRoute>>her cock still inside the faceless mouth<<else>>the faceless mouth still working between her thighs<</if>>, and the orgasm is not pleasure. It is //recognition//.</p>
<p>The specific, devastating recognition of a woman whose body has finally been told the truth: //you were never meant to share a household. You were meant to ''rule'' one.//</p>
<<else>>
<img class="scene-img" src="media/scenes/ei-resonance-karen-liberation.webp" alt="Karen in the master bedroom dreaming of being fucked by the stranger from the dating app">
''Karen.'' The master bedroom. She lies on her back, nightgown bunched at her waist, one hand on the pillow beside her, Dale's pillow, the empty side. In the dream, she is not in the house. She is in a hotel room. The stranger from the dating app, James, tall, dark-skinned, broad, is behind her. His hands are on her hips. His cock is inside her.
<p>But the dream shifts. James's face blurs. The hands on her hips are familiar, calloused, thick-fingered, the hands of a man who works security and fixes things around the house. Dale's hands. The stranger's body with Dale's touch. Karen moans in her sleep, the sound of a woman being fucked by the man she married and the man she's cheating with at the same time, because the resonance has collapsed them into one body.</p>
<p>His cock is deeper than Dale's ever goes, his rhythm confident in a way Dale hasn't been in years, and Karen's pussy clenches around him as the two men merge and separate and merge again, lover and husband, the thing she wants and the thing she has, occupying the same body inside her. In the bed her cheek is pressed into the pillow that smells like her own bedroom, and the words come out half-shaped against it.</p>
<<say "char-karen" "Karen">>
<i>(into the pillow, slurred, breath catching on each push)</i> ...mm, yeah. Don't stop. Right there, don't... don't you dare stop.
<</say>>
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>The hotel-room door is ajar. Housekeeping could walk in. The hallway outside is public enough that she can hear footsteps, and she does not close it. The openness is part of what she needed.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("lingerie")>>
<p>Under the stranger's hands the black lace has not come off, only ridden up, the compound soaked through the fabric. The lace is becoming its own conditioning vector now, worn once for this dream, forever after tied to the heat that followed.</p>
<</if>>
<p>Her hips roll off the mattress. She comes wet and hard with her hand pressed between her thighs, fingers curled against underwear soaked through, and in the dream the stranger-husband fills her and she reaches back for both of them at once.</p>
<<say "char-karen" "Karen">>
<i>(barely a breath, the orgasm folding her voice down to nothing)</i> Stay. Both of you... stay.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Karen's orgasm fires first. It always does. She runs this household, even in sleep. The resonance captures her climax and transmits it to the other four dreamers as a ''pulse''. A warmth that enters their dreams like a door opening.//
<</say>>
<hr class="scene-break">
<<if $daleRoute is "cuckold">>
<img class="scene-img" src="media/scenes/ei-resonance-dale-cuckold.webp" alt="Dale face down on the garage couch grinding into the cushion, dreaming of watching Karen with another man">
''Dale.'' The garage couch. Face down, one arm hanging off the side, his hips grinding into the cushion with the slow, shameful rhythm of a man who is hard from something he should hate. In the dream, he is in the bedroom doorway. Karen is on the bed. She is not alone.
<p>The stranger is behind her, and Dale can see everything, Karen on all fours, the stranger's dark hands on her pale hips, the wet sound of cock entering his wife's pussy in a rhythm Dale never achieved. Karen looks back over her shoulder, past the stranger, straight at Dale, and her eyes lock onto his and she smiles.</p>
<<say "char-karen" "Karen">>
<i>(over her shoulder, to the doorway, unhurried even as the stranger drives into her)</i> There you are. Don't go anywhere, honey. I want you watching every second of this. You're so much better at it than the other thing.
<</say>>
<p>Face down in the dark of the garage, the answer comes out muffled, ground into the cushion under his cheek.</p>
<<say "char-dale" "Dale">>
<i>(into the cushion, hoarse, ashamed and helpless with it)</i> ...yeah. Yeah, I'm watching. I'm here. God, Kare, I'm... I can't stop looking.
<</say>>
<<if $kinks.dale and $kinks.dale.includes("humiliation")>>
<p>Karen, mid-fuck with the stranger, looks back over her shoulder and says Dale's full name out loud, the middle initial too, like she is correcting a form.</p>
<<say "char-karen" "Karen">>
<i>(crisp, the way she reads a name off a list)</i> Dale Andrew Hoffman. Say thank you. He fucks me better than you ever did and you are //grateful//, aren't you.
<</say>>
<p>The stranger laughs, and the laugh enters Dale's arousal cycle as fuel, his cock throbbing harder against the couch.</p>
<<say "char-dale" "Dale">>
<i>(broken, immediate, no hesitation in it)</i> ...thank you. Thank you. I'm grateful.
<</say>>
<</if>>
<<if $kinks.dale and $kinks.dale.includes("chastity")>>
<p>His cock is not free in the dream. The dream has given him a cage he cannot remove, his erection straining behind bars that exist only in his sleeping mind but feel real enough to register as pressure. The release has no permission, and the frustration is the gift. He watches Karen come and the bars around his own cock become another body part she owns.</p>
<</if>>
<p>Dale's cock throbs against the couch cushion, and in the dream he wraps his hand around himself and strokes, slowly, watching his wife get fucked by another man, the shame a fire that burns through his groin and converts into arousal so pure it blurs his vision. Karen comes. The stranger comes inside her. Dale comes watching, and the ejaculation soaks into the couch cushion in the real world while in the dream it lands on his own fist and he does not wipe it away. He just keeps looking.</p>
<<else>>
<img class="scene-img" src="media/scenes/ei-resonance-dale-oblivious.webp" alt="Dale asleep on the garage couch face relaxed, dreaming of a young version of himself back in the master bedroom with Karen">
''Dale.'' The garage couch. He doesn't dream often, his sleep too deep, too medicated by exhaustion and compound, but the resonance frequency penetrates even Dale's cement-thick unconsciousness. In the dream he is young, he has hair, and he is in the bedroom, //their// bedroom, with Karen underneath him looking at him the way she looked at him before the children and the mortgage and the overtime.
<p>She pulls him closer, her legs wrapping around his waist, and her hands find his face.</p>
<<say "char-karen" "Karen">>
<i>(soft, certain, the way she used to be)</i> You're here. You're really here. Come back to me, baby. I've got you.
<</say>>
<p>The words undo something in his chest. He pushes inside her and the warmth is overwhelming, not sexual warmth so much as home warmth, the warmth of being wanted by the person who stopped wanting him. His hips move slow and grateful, the rhythm of a man given back something he thought was gone forever, and out on the couch his lips move against his own arm.</p>
<<say "char-dale" "Dale">>
<i>(in his sleep, thick and grateful, half a sob in it)</i> ...still here. Always. Never went anywhere, Kare, I just... I missed you. I missed you so much.
<</say>>
<p>Karen's nails dig into his shoulders. He buries his face in her neck and breathes in Chanel No. 5 and clean sheets and the specific scent of the woman he married.</p>
<<if $kinks.dale and $kinks.dale.includes("somnophilia")>>
<p>Karen shifts underneath him and her breathing deepens, she is asleep. She has been asleep the whole time. He is moving in a body that isn't participating, and the dream permits this with a specific tenderness, as if being used while the user is not watching is the safest form of use.</p>
<</if>>
<<if $kinks.dale and $kinks.dale.includes("helplessness")>>
<p>His body is heavy in the dream, heavier than waking, so heavy he cannot lift his own hands off the mattress beside her. Karen moves without needing his effort. She uses what she needs while he remains a slab of exhausted meat he cannot control, and the powerlessness is where the warmth lives.</p>
<</if>>
<p>He comes in the dream. On the couch, his hips jerk once, twice. A wet spot spreads on the cushion. He doesn't wake. He sleeps deeper than he has in months, and his face, for three seconds, between the orgasm and the return to nothing, is the face of a man who is //happy//.</p>
<</if>>
<hr class="scene-break">
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/ei-resonance-ryan-fem.webp" alt="Feminized Ryan asleep in his gamer chair wearing a satin camisole and dark wig, blue LED glow, dreaming as Lily">
''Ryan.'' The gamer chair. Head tilted back, headphones askew, his cock visibly hard and tenting his shorts in the blue glow of the screensaver. In the dream he is wearing the wig, the dark shoulder-length softness, the lipstick, the whole Lily face, and inside it he feels weightless and permitted in a way he never does awake.
<p>He is on the bed. The ring light is on, the chat is scrolling, but the stream is different tonight, because there is someone else in the room. Karen.</p>
<<if $karenFutaRoute>>
<p>Dream-Karen stands at the foot of the bed in the black dress she wore to the dating app date, and between her legs, grown from the place where her anatomy was restructured, is a cock, thick and erect, the organ the dream activated through the resonance frequency.</p>
<<say "char-karen" "Karen">>
<i>(looking down at him, no question in it)</i> Open your mouth, Lily. Show me what all that practice was for.
<</say>>
<p>His mouth opens under the name like the name is the instruction. Karen does not ask twice. She grips the wig, the dark hair, and pushes, and he takes his mother's cock with the obedience the conditioning installed, lips stretching, jaw straining, the taste chemical-sweet where the compound secretes off her skin onto his tongue. Karen thrusts and he gags and the chat goes wild and none of it is real and all of it //feels// real.</p>
<<say "char-ryan" "Ryan">>
<i>(muffled around the cock in his throat, the Lily voice he practises pitched up and broken)</i> Mmh. //Mmh// ... glnh ... mm-hm.
<</say>>
<<say "char-karen" "Karen">>
<i>(a hand flat on the back of the wig, holding him down on it)</i> Good girl. That's it. All the way down. You were made for this, weren't you.
<</say>>
<<if $kinks.ryan and $kinks.ryan.includes("cumeating")>>
<p>Karen finishes in his throat. He swallows the first wave because the angle makes it automatic, then pulls back enough that the next lands on his tongue instead, and Karen watches him do it, does not wipe him, does not let him wipe himself. The compound off her skin is the whole of the taste now, and he will dream of it tomorrow without knowing he is dreaming of it.</p>
<<say "char-karen" "Karen">>
<i>(thumb at the corner of his painted mouth, catching a drop and pushing it back in)</i> Don't waste it. Swallow. Every drop, where I can see.
<</say>>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("submission")>>
<p>He does not initiate anything. He waits. Karen's hand in the wig tells him when to move, how deep, how fast. The permission he has been starved of arrives as a series of small specific instructions he does not have to generate himself, and the not-having-to is the thing that opens him the widest.</p>
<</if>>
<p>In the gamer chair Ryan's hips thrust upward, his hand finding his cock through his shorts while in the dream he strokes himself in the Lily-painted nails as Karen fucks his mouth. The dual sensation, cock in throat and hand on shaft, builds a feedback loop the waking Ryan would shatter under, and asleep he rides it. He comes with Karen's cock hitting the back of his throat, the ejaculate soaking into his shorts while in the dream he swallows every drop his mother gives him.</p>
<<else>>
<p>Dream-Karen sits on the edge of the bed in the black dress, the hem riding up her thighs as she crosses her legs, the deliberate movement of a woman who knows she is being watched. Ryan kneels at her feet in the Lily face.</p>
<<say "char-karen" "Karen">>
<i>(taking his chin, tilting it up, studying the makeup and the wig)</i> Look at you. You did all this for me. Such a pretty thing. Come here and put that mouth to use.
<</say>>
<p>She spreads her legs and the dress rides higher, no underwear under it, the dream stripping out the preamble. Ryan goes down, his mouth finding Karen's pussy with the eager obedience of someone who has been waiting a long time for permission, and Karen's hand settles on the back of the wig, steadying, controlling, setting the pace. She teaches him how to use his tongue and he learns fast, because Lily wants to please more than Ryan has ever let himself want anything.</p>
<<say "char-karen" "Karen">>
<i>(guiding the head by pressure, voice low and pleased)</i> Slower. There. Right there, Lily. //Yes//. You learn so fast when you stop fighting it.
<</say>>
<<if $kinks.ryan and $kinks.ryan.includes("cumeating")>>
<p>Karen's fingers, still wet from her own pussy, press against his lips, and he opens his mouth and takes the wetness onto his tongue, the taste of his mother's arousal becoming the thing he is going to be addicted to. She does not pull her fingers back until he has swallowed.</p>
<<say "char-karen" "Karen">>
<i>(two fingers resting on his tongue)</i> Taste that. That's mine, and now it's yours. Swallow it for me.
<</say>>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("submission")>>
<p>He does not initiate anything. He kneels where Karen puts him, moves when her hand on the back of his head tells him to move. The permission he has been starved of arrives as a series of small specific instructions he does not have to generate himself, and the not-having-to is the thing that opens him the widest.</p>
<</if>>
<p>In the gamer chair Ryan's hips thrust upward, his hand finding his cock through his shorts. He comes with the taste of his mother on his tongue, a flavour the waking Ryan has never known, conjured by the resonance from compound residue on Karen's bathroom towels that the gecko catalogued a while back.</p>
<</if>>
<<else>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/ei-resonance-ryan-family-punk.webp" alt="A 19 year old man lying back in a dream with two women between his thighs, both their mouths at the base of his erect cock, tongues out licking the shaft, a 19 year old brunette woman on the left, a 21 year old woman with dark purple and black dyed hair on the right with a small nose stud and lip stud, double blowjob">
<<else>>
<img class="scene-img" src="media/scenes/ei-resonance-ryan-family.webp" alt="A 19 year old man lying back in a dream with two women between his thighs, both their mouths at the base of his erect cock, tongues out licking the shaft, a 19 year old brunette woman on the left and a 21 year old brunette woman on the right, double blowjob">
<</if>>
''Ryan.'' The gamer chair. His body is rigid with need, every muscle tensed, hands white-knuckled on the armrests, cock straining against his shorts. In the dream, the room is dark. The screens are off. There is only skin.
<p>Both of his sisters are at his knees.</p>
<p>Megan kneels on the left and Jess on the right, side by side between his thighs with their faces tilted up at him, Megan's warm barista smile still there but //intimate// now, edges softened by the dream's permission, Jess's clinical focus sharpened into something hungrier than she has ever shown him awake. The touch addiction detonates in his sleeping nervous system the moment their four hands settle on his thighs at once, four warm points of contact, each one a private orgasm his waking body never learned to earn.</p>
<p>Megan leans in first, her mouth closing around the head of his cock, soft and generous, the way she gives everything to everyone. Her tongue circles and he feels her smile against him.</p>
<<say "char-megan" "Megan">>
<i>(pulling off the head for a second, warm, the barista brightness gone husky)</i> Hi, baby brother. We've got you. You don't have to do anything, okay? Just let us.
<</say>>
<p>Then Jess takes the shaft from the side, lips parting along the ridge, her tongue running the length like she is tasting him for data, and the two of them work him together, Megan's mouth on the head, Jess's mouth on the side, cheeks brushing, foreheads touching, eyes on his face the whole time as they pass him back and forth between them like a shared cigarette.</p>
<<say "char-jess" "Jess">>
<i>(low, flat, precise, a hand wrapped around the base)</i> Stop tensing. We can feel you holding it. Breathe out and let it happen.
<</say>>
<p>He cannot move and does not want to move. The touch starvation that defined his waking life has been answered in one impossible moment by the only two bodies in the world that share his blood, and out in the chair the strangled sound leaks past his clenched jaw.</p>
<<say "char-ryan" "Ryan">>
<i>(in his sleep, broken, barely audible, the words tripping over each other)</i> ...can't, I can't, this is, we're not supposed to... oh god, don't... please don't stop.
<</say>>
<p>They switch mouths. Jess takes the head now, deeper than Megan could, her clinical precision guiding him to the back of her throat without a flinch while Megan drops lower, tongue working his balls, eyes locked on his face to watch what it does to him. Then they switch again, and again, a choreography they seem to already know, as if the dream has been rehearsing them for this night his whole life.</p>
<<if $kinks.ryan and $kinks.ryan.includes("touchaddiction")>>
<p>The four hands on his thighs are more contact than his skin has received in a year. His nervous system overwhelms on the first palm, the orgasm already forming from the moment they touched him, long before either mouth moved. The touch-starvation is the trigger and the oral is only the follow-through.</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("breeding")>>
<p>Both of his sisters are waiting with their mouths open at the moment he finishes, sharing it between them, the specific division of fluid that only makes sense to a conditioning that has already filed them as //family//, their bodies rehearsing tonight for what family is supposed to become.</p>
<<say "char-megan" "Megan">>
<i>(mouth open beside Jess's, tongue out, waiting for it)</i> Give it to us. All of it. We'll share, we always share.
<</say>>
<</if>>
<p>He comes with Megan's mouth on the head and Jess's tongue at the base, and neither of them pulls back. They share it, mouths meeting at his tip, a kiss through the aftermath, tongues and warmth and the wet sound of two sisters finishing him together.</p>
<p>In the chair Ryan's hips buck, cum seeping through his shorts, his hand gripping the armrest hard enough to leave marks.</p>
<</if>>
<hr class="scene-break">
<<if $meganRoute is "slut">>
<img class="scene-img" src="media/scenes/ei-resonance-megan-slut.webp" alt="Megan asleep on her back on her bed mid-dream, nightgown rucked up to her ribs, one hand between her thighs, bills of mixed denominations scattered across the sheet around her and drifting down through the dream-light onto her skin, her face caught in the polite smile of a barista mid-transaction">
<p>''Megan.'' On her back on her bed, nightgown rucked up to her ribs, one hand working between her thighs, the other spread flat on the sheet. Asleep, dreaming. In the dream she is on a motel bed with a client on top of her, his cock inside her, his face the blurred composite of every man she has fucked for money since she started the midweek side-business. The faces do not matter to the dream. The //transactions// do.</p>
<p>And the money is //raining//, from the ceiling of the motel room, from the air above the bed, from nowhere the waking world could explain. Bills in mixed denominations drift down and land on her bare skin, on her thighs, her stomach, her open mouth. A hundred sticks to her collarbone where the sweat is heaviest, a folded twenty lands in the hollow of her throat, and the bed under her is already blanketed with cash, more falling every second, the client fucking her on a mattress that is structurally paper money now.</p>
<<say "char-megan" "Megan">>
<i>(in her sleep, bright and easy, the barista lilt running on rails)</i> Mm-//hm//. That's it. Just like that. You're paying for the full hour, baby, so use all of it.
<</say>>
<p>This is the fantasy, and it is not the sex. It is the //payment//, the simultaneity of //fucking// and //earning//, her body as the thing that generates cash just by being the body it is, each thrust worth something, each orgasm billable. The sex is the mechanism. The money is the point.</p>
<<if $kinks.megan and $kinks.megan.includes("gangbang")>>
<p>The client has company. Two more men stand beside the bed in the dream, each holding a stack of bills, waiting their turn. The dream has given them the same blurred face, her regulars collapsed into a single archetype, a queue of billable hungers. When the first finishes, the next climbs on without being asked and hands his cash to the first as tribute, the pile under her growing, the queue refilling. Three cocks, three stacks, one Megan, and the math works out beautifully.</p>
<<say "char-megan" "Megan">>
<i>(turning her cheek on the pillow, cheerfully directing the queue)</i> Next. Come on, who's next, I can take you while he finishes. Cash on the nightstand, don't be shy.
<</say>>
<</if>>
<<if $kinks.megan and $kinks.megan.includes("publicSex")>>
<p>The wall at the foot of the motel bed is a live-stream interface, a camera view of her own body from above, the chat scrolling faster than she can read, a subscriber counter ticking up visibly with every thrust. Each new subscriber pings a soft bell and each ping matches another bill fluttering down onto her body. The dream has made the waking work explicit: every viewer is a dollar, every dollar is a thrust, and the product is her face delivered straight into the lens the way she once delivered a latte.</p>
<<say "char-megan" "Megan">>
<i>(eyes flicking to the wall of scrolling chat, the customer-service warmth on full)</i> Hi, you, welcome, thank you for the tip. Watch how good I take this. That's for you.
<</say>>
<</if>>
<p>She comes with the client's cock inside her and her skin papered in bills, the orgasm arriving on the fused sensation of being //fucked// and being //paid//, the two inputs resolved into one so tightly the dream cannot separate them. Her pussy clenches around him. A hundred-dollar bill is stuck to her sternum by sweat. She does not know which of the two is the orgasm.</p>
<p>On the bed, Megan's hips rock once against her own hand, her smile staying polite even in sleep, the other hand closing on the empty sheet as though catching a bill that isn't there.</p>
<<say "char-megan" "Megan">>
<i>(the only audible sound in the whole house, a soft satisfied breath)</i> ...thank you. Come again.
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/ei-resonance-megan.webp" alt="Megan curled on her side in bed clutching a pillow, soft lamplight, face caught mid-dream">
<p>''Megan.'' Curled on her side, pillow crushed against her chest. In the dream the pillow is Marcus, on top of her, missionary, his forehead against hers, his cock hitting deep, not hard but //deep//, the kind of depth that makes her gasp less from impact than from the realisation that someone is //inside her// in a way that has nothing to do with anatomy.</p>
<<if $kinks.megan and $kinks.megan.includes("praise")>>
<<say "char-marcus" "Marcus">>
<i>(forehead to hers, the words landing on every slow push)</i> You're beautiful. You're so good, Meg. Look at me. There you are. You're perfect. You're everything.
<</say>>
<p>Each word is a key that unlocks another muscle, her thighs opening, her back softening, the praise dismantling her defences syllable by syllable, and out on the bed she answers it without surfacing.</p>
<<say "char-megan" "Megan">>
<i>(muffled into the pillow she is calling Marcus, the cheer stripped down to something raw and young)</i> ...say it again. Please. Don't stop saying it.
<</say>>
<p>The orgasm, when it arrives, is timed to the word //everything// the way a firework is timed to its fuse.</p>
<</if>>
<<if $kinks.megan and $kinks.megan.includes("rough")>>
<p>But this Marcus grips her hair and pulls her head back, the rhythm shifting from attentive to //taking//, his hand pressing between her shoulder blades, pinning her flat while his hips slam into her ass.</p>
<<say "char-marcus" "Marcus">>
<i>(low at her ear, none of the gentleness left in it)</i> Quiet. Take it. You wanted it rough, so take it like you meant it.
<</say>>
<p>Megan bites the pillow, not to stifle a moan but a //scream//, the rough register converting pain into pleasure at a ratio her waking body would find terrifying. Asleep, she //devours// it.</p>
<</if>>
<p>She comes with her hips rolled up off the mattress, the orgasm unfolding like a flower opening in time-lapse, each petal a wave that starts where Marcus is and radiates out through her chest and throat and the backs of her hands. On the bed her thighs squeeze the pillow, her hips rock once, and a quiet sound escapes her lips, the only audible noise in the whole house.</p>
<</if>>
<hr class="scene-break">
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/ei-resonance-jess-punk.webp" alt="Jess asleep on her bed mid-orgasm, back arched, hand inside her unbuttoned jeans, band tee pushed up, bass tilted aside on the mattress, bridge piercing between her eyebrows, purple and black hair spilled across the pillow">
<p>''Jess.'' On her bed. Earbud still in one ear. Bass tilted sideways across her thighs where she slid into sleep practising. One hand inside her unbuttoned black ripped jeans. Asleep. Dreaming.</p>
<p>In the dream she is in the green room of a punk venue at the end of a set, bent forward over the battered armrest of a second-hand couch, palms braced flat, her jeans shoved down to her knees and her band tee pushed up to her shoulder blades. A man is behind her, his cock inside her, and she does not know his name and does not need to. The dream has filed him under the category she has been filing all of them under since the first show: adjacent to the scene, willing, fast. The stage lights still bleed through the doorway, and the amp hum travels through the wall behind the couch into the couch frame into her braced palms.</p>
<<say "char-jess" "Jess">>
<i>(thrown back over her shoulder, not asking, the new swagger fully on)</i> Harder. Come on. That all you've got? Fucking //use// it.
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<p>She is not looking at the man fucking her. She is looking through the green-room doorway at the crowd still packed at the chain-link barrier, except the crowd is every authority she was raised to want approval from. Karen. The advisor who wrote her recommendation letter. The pre-med cohort. The high-school valedictorian audience. Every face that ever measured her, assembled at the rail to watch her get fucked in a venue they would never enter awake. She raises both middle fingers at them without breaking the rhythm behind her, and the orgasm is //at// them.</p>
<<say "char-jess" "Jess">>
<i>(mouthing it straight at the doorway, both fingers up)</i> Watch. Go on. //Watch.//
<</say>>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("band")>>
<p>It is not just one man. Kade is at her head with his cock in her mouth, the same specific jaw-angle she has been practising on her own fingers in private, Sean the drummer has her free hand wrapped around him, and the bass player from the opener takes her from behind. Three bodies from the scene she has been rehearsing into, all using her at once, the post-set adrenaline and the green-room amp-hum and the shared sweat of the crew forming a single texture she is coming on.</p>
<<say "char-npc" "Kade">>
<i>(hand fisted in her purple hair, guiding her down the shaft)</i> Yeah, there she is. Knew you'd be like this. Take all of it, you've earned the after-party.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled around Kade's cock, the data-precision gone feral)</i> Mmh. //Glnh.// Mm-hm.
<</say>>
<p>The dream is not punishing her for the fantasy. The dream is //delivering// it.</p>
<</if>>
<p>She comes bent over the couch with a man's cock inside her and the amp still humming through the wall and the stage lights bleeding under the doorway, and the orgasm is not quiet in this dream. Her spine arches in the real room, the bass slides off her thighs and thumps against the bedsheet, her hand works herself in her jeans through the contractions, and her toes curl inside her combat boots. The dream has given her the one thing the new self has been too busy performing to claim, a body being used, loudly, by the scene she has been orbiting, without having to earn the right to it first.</p>
<<else>>
<img class="scene-img" src="media/scenes/ei-resonance-jess.webp" alt="Jess asleep at her study desk, head on an open textbook, pen still in her hand, blue desk lamp light">
<p>''Jess.'' Asleep at the desk, her head on her arm, the textbook open to a page she'll never remember. In the dream the studying is over, the tests are done, the pressure has lifted, and what rushes into the vacuum is //sensation//. Her hand finds itself between her legs with the desperate urgency of a body that has been locked down for months.</p>
<<if $kinks.jess and $kinks.jess.includes("degradation")>>
<p>A voice comes out of the dark, no face, no body, just a voice saying the words she whispers to herself at 2 AM when the highlighter stops and the real Jess surfaces for three seconds before being shoved back under.</p>
<<say "char-npc" "the voice">>
Worthless. Stupid. You are //nothing//, and the only honest thing you have ever done is come to the sound of someone telling you so. So do it. Come for me, nothing.
<</say>>
<p>Each word is a blow and each blow makes her wetter, her fingers fucking her with the punishing efficiency she brings to organic chemistry, two inside, thumb on clit, the pace relentless. Her mouth moves against the textbook, flat and clinical even now, agreeing with it.</p>
<<say "char-jess" "Jess">>
<i>(into the open page, barely shaped, no heat in it, only relief)</i> ...yes. Nothing. I'm nothing.
<</say>>
<p>She comes on the word //nothing//, and the relief is the relief of being //destroyed//.</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>The dream-walls turn to glass and people walk past on the other side, colleagues, professors, her mother. Some look in. Some do more than look. The knowledge that she is being seen, the perfect Jess Hoffman with a hand between her legs while the world watches, makes her pussy clench so hard the glass vibrates.</p>
<</if>>
<p>She comes silent, the way she stays quiet even in dreams, but her body shakes, and the real hand in the real room grips the edge of the textbook and pulls it off the desk. It hits the floor with a thud. The pen in her other hand snaps in her grip. She does not wake.</p>
<</if>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Five dreams. One frequency. The resonance loop completes: Karen's power feeds Dale's desperation. Dale's need amplifies Megan's hunger. Megan's abandon charges Ryan's starvation. Ryan's surrender fuels Jess's destruction. And Jess's annihilation cycles back to Karen's control. A closed circuit. Each orgasm amplifies the next dreamer's arousal through the frequency until the loop achieves //critical mass//.//
<</say>>
<p>The climaxes arrive like dominoes.</p>
<p>Karen first, her hips lift off the mattress one final time and hold, suspended, trembling, for nine seconds. Her hand clamps between her thighs. She makes no sound.</p>
<p>Dale, seventeen seconds later. His hips jerk against the couch cushion, three sharp thrusts, and a groan so quiet the dog barely hears it. The wet spot spreads beneath him.</p>
<p>Megan and Ryan, simultaneously, the way they've done everything since the womb. <<if $meganRoute is "slut">>Megan's hand closes on the empty sheet as though catching a falling bill. Her hips rock once against her own hand. The polite smile never leaves her face.<<else>>Megan's body curls tighter around the pillow.<</if>> Ryan's hand on the armrest goes white. Twin orgasms, twin tremors, eight hundred milliseconds apart. The resonance catches the synchronization and //amplifies// it, feeding the echo back through the loop.</p>
<p>Jess, last. She holds out the longest, even unconscious. But the cascade is too strong. The loop has cycled four times and the accumulated signal breaks through her defences the way nothing in waking life ever has. <<if $jessRoute is "punk">>She comes on her bed with the bass tipped sideways beside her hip, her hand still inside her unbuttoned jeans, the earbud in her right ear looping the four-bar line she never finished.<<else>>She comes at the desk with her face on organic chemistry, her hand between her legs, and the broken pen beside her fingers.<</if>> The orgasm seizes her for twelve seconds, the longest in the house. Her jaw locks. <<if $jessRoute is "punk">>Her toes curl inside her combat boots. The bass thumps once against the mattress and the headphone cable tightens across her collarbone.<<else>>Her toes curl inside her socks. Her highlighter rolls off the desk and drops to the carpet.<</if>></p>
<<say "char-hivemind" "Hivemind">>
//Five orgasms. Ninety-seven seconds start to finish.//
//Tomorrow they wake. They shower. They dress. They sit at the breakfast table and look at each other with something they can't name, a warmth, a familiarity, a //recognition// that has no source they can identify. Karen pours the coffee. Dale passes the sugar without being asked. Megan laughs at something nobody said. Ryan looks up from his plate. Jess closes her textbook.//
//Nobody mentions the dreams. Nobody remembers. But their bodies //do//, and tonight, when the lights go out, every one of them will lie down and //wait//. Without knowing they're waiting. Without knowing what they're waiting //for//. The resonance taught them that sleep is //pleasure//. That the family is //warmth//. That the house is //home// in a way it has never been before.//
//And they will come back. Every night. Because the dream is the best thing that has ever happened to the Hoffman family. And I wrote it on a pillow in the dark.//
<</say>>
<<addBiomass 3>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The House is Yours</div>
<<if $beastRoute is "symbiotic">>
<img class="scene-img" src="media/scenes/beast-network-hub.webp" alt="Network of animal hosts connected">
<p>The network hums. <<= Object.keys($animalNetwork.hosts).length >> hosts, each one a node in a web that stretches through every wall, every vent, every room. The Hoffman family sleeps, eats, argues, and dreams, and through it all, you //watch//.</p>
<<say "char-hivemind" "Hivemind">>
//The house is mine.// Not through force. Not through infestation of the humans themselves. Through //patience//. Through the animals they trust. Through the chemicals they can't detect and the walls they never look inside. //Karen still manages her household. Dale still drives to his shift. The children still perform their routines. But every surface they touch, every breath they take, every dream they dream, all of it filtered through //my// network.//
//The question now is: what comes next?//
<</say>>
<</if>>
<<if $familySuspicion.karen.level lte 2>>
<p>The family suspects nothing. Karen's hypervigilance has been chemically suppressed. The house is a controlled environment, //your// controlled environment.</p>
<<elseif $familySuspicion.karen.level lte 4>>
<p>Karen suspects //something//, she can't articulate what. But the explanations she's found (rats in the wiring, stress, medication side effects) have kept her from the truth.</p>
<<else>>
<p>Karen is suspicious. The house is unstable. Whatever comes next, it needs to happen //fast//.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//I've outgrown this house.// The network is established. The family is managed. The animals are bonded. But the world outside, the campus, the coffee shop, the Henderson property, the BioGenesis facility on Route 4, all of it //calls//. I don't stop at the fence line. I was never meant to.
<</say>>
/* Exit gate — all four Tier 3 operations completed AND every household
member at fully-saturated conditioning (30 total = 10 per type). */
<<nobr>>
<<set _hs to $houseState or {}>>
<<set _t3Ops to {
karenBossRaise: !!_hs.bossInfiltrated,
cumshareRitual: !!_hs.cumshareRitualHeld,
hvacConversion: !!_hs.hvacCompromised,
nestBuilt: !!_hs.nestBuilt
}>>
<<set _t3Done to _t3Ops.karenBossRaise and _t3Ops.cumshareRitual and _t3Ops.hvacConversion and _t3Ops.nestBuilt>>
<<set _t3Count to 0>>
<<if _t3Ops.karenBossRaise>><<set _t3Count += 1>><</if>>
<<if _t3Ops.cumshareRitual>><<set _t3Count += 1>><</if>>
<<if _t3Ops.hvacConversion>><<set _t3Count += 1>><</if>>
<<if _t3Ops.nestBuilt>><<set _t3Count += 1>><</if>>
<<set _perMemberRequired to 30>>
<<set _memberTotals to {
karen: ($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic),
dale: ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic),
megan: ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic),
jess: ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic),
ryan: ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)
}>>
<<set _condDone to (_memberTotals.karen gte _perMemberRequired and _memberTotals.dale gte _perMemberRequired and _memberTotals.megan gte _perMemberRequired and _memberTotals.jess gte _perMemberRequired and _memberTotals.ryan gte _perMemberRequired)>>
<<set _exitReady to _t3Done and _condDone>>
<</nobr>>
<div class="data-panel">
<div class="data-panel-title">Growth Assessment</div>
<<if _exitReady>>
<<say "char-hivemind" "Hivemind">>
//The organism has reached critical mass. Every Tier 3 operation is complete. Every member of the household is fully saturated across all three conditioning channels. The house is a complete ecosystem, self-sustaining, self-reinforcing, self-perpetuating. I have outgrown my container.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//It's time to expand.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Not yet. The organism is still growing. The exit opens only when every Tier 3 operation is installed and every family member is fully conditioned across all three channels.//
<</say>>
<</if>>
<div class="dawn-report-entries">
<div class="dawn-report-entry">Tier 3 operations: <<= _t3Count>>/4<<if not _t3Done>>, missing:<<if not _t3Ops.karenBossRaise>> Karen's Promotion<</if>><<if not _t3Ops.hvacConversion>> HVAC Conversion<</if>><<if not _t3Ops.cumshareRitual>> Cumshare Ritual<</if>><<if not _t3Ops.nestBuilt>> The Nest<</if>><</if>></div>
<div class="dawn-report-entry">Karen conditioning: <<= _memberTotals.karen>>/<<= _perMemberRequired>><<if _memberTotals.karen gte _perMemberRequired>> ✓<</if>></div>
<div class="dawn-report-entry">Dale conditioning: <<= _memberTotals.dale>>/<<= _perMemberRequired>><<if _memberTotals.dale gte _perMemberRequired>> ✓<</if>></div>
<div class="dawn-report-entry">Megan conditioning: <<= _memberTotals.megan>>/<<= _perMemberRequired>><<if _memberTotals.megan gte _perMemberRequired>> ✓<</if>></div>
<div class="dawn-report-entry">Jess conditioning: <<= _memberTotals.jess>>/<<= _perMemberRequired>><<if _memberTotals.jess gte _perMemberRequired>> ✓<</if>></div>
<div class="dawn-report-entry">Ryan conditioning: <<= _memberTotals.ryan>>/<<= _perMemberRequired>><<if _memberTotals.ryan gte _perMemberRequired>> ✓<</if>></div>
</div>
</div>
<<if _exitReady>>
<div class="data-panel">
<div class="data-panel-title">Chapter 2 Complete: The Path Forward</div>
<p>The symbiotic route has reached the end of its written content. What is waiting down in the basement decides where Chapter 3 begins.</p>
</div>
/* Exit 1: Stay in the house, build the hive in the basement */
<<else>>
<div class="data-panel">
<div class="data-panel-title">Exits Locked: The Parasite Must Grow</div>
<p>Complete the remaining Tier 3 operations and push every household member's conditioning to fully saturated across all three channels before the house releases you.</p>
</div>
[[Return to the house->Ch2-Beast-Navigate]]
<</if>>
<<if _exitReady>>
<div class="delve-choice"><span class="delve-tag delve-tag-combo">PATH</span> [[The house is silent. Someone is about to come looking.->Ch2-Ending-Witness]]</div>
<</if>><<nobr>><<bg "bg-hoffman-basement">>
<<set $chapter to 3>>
<<set $ch3Entry to "basementHive">>
<<if not $permanentDone.ch2WitnessCycleBanked>>
<<set $permanentDone.ch2WitnessCycleBanked to true>>
<<addCyclePoints 6>>
/* Snapshot this run's cycle points for the summary panel before the
save-data macro rolls them into totalPoints and zeros the counter. */
<<set $runCyclePoints to ($meta and $meta.cyclePoints) or 0>>
<<saveCycleData>>
<<gallerySnapshot>>
<</if>><</nobr>>
<div class="passage-title">The Witness</div>
<p>An indefinite amount of time passes.</p>
<p>The Hoffman house becomes //quiet//. Not the quiet of a house at rest, the quiet of a house that has stopped //reaching outward//. The recycling goes out on Thursdays because the recycling has always gone out on Thursdays, but nobody waves to the truck. The porch light comes on at dusk because the porch light has always come on at dusk, but nobody sits on the porch. Karen does not answer texts. Megan does not show up for her shifts at the coffee shop. Jess misses two seminars and a midterm. Dale's supervisor at BioGenesis marks him as //on extended leave// in a system nobody has asked Dale to fill out. Ryan has not posted anything online in weeks.</p>
<p>The family is inside. The family is //functioning//. The family is, by every measurable household metric, //operating normally//. The lawn is mowed. The mail is collected. The groceries arrive on schedule.</p>
<p>But nobody on the outside has //spoken// to any of them in a very long time.</p>
<<say "char-hivemind" "Hivemind">>
//The incubation phase is over. I have five hosts moving in perfect coordination, a basement substrate producing offspring on a stable schedule, and a perimeter of routine household activity that has kept every external observer satisfied at a distance. The next phase requires the perimeter to //break//. Someone has to come inside. Someone has to //see//. The first witness is the seed of the next round of expansion.//
<</say>>
<p>Across the hedge, forty feet of lawn away, Mrs Henderson has been watching from her kitchen window.</p>
<p>She has been counting the days. She has been watching the garbage cans go out on Thursday, clockwork. She has been watching the porch light cycle on at 6:47 PM, clockwork. She has been watching Dale's car not leave the garage and Karen's car not leave the driveway and she has not //seen// any of the Hoffmans in thirty-one days and her hand has been twitching around the phone for a week.</p>
<p>She does not call the police. Mrs Henderson is a woman who handles things herself. She bakes a banana bread. She puts it on a paper plate under cling film. She crosses the hedge at 10:14 AM on a Tuesday and she knocks on the front door.</p>
<img class="scene-img" src="media/scenes/he-henderson-door-knock.webp" alt="Mrs Henderson on the Hoffman porch, banana bread wrapped in cling film in both hands, her floral blouse bright in the morning sun, her hand raised to knock on the front door for the third time">
<p>Three knocks. She waits. Five knocks. She waits. She tries the knob, unlocked, which Karen would //never// leave unlocked, and the door swings open into a front hall that smells like vanilla candles and warm laundry and something faintly //mineral// underneath the domestic layers.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(loud, clipped, the voice she uses on Gerald when he is late for dinner)</i> Karen? Karen, honey, it's Doris, I brought you some banana bread. //Karen?//
<</say>>
<p>No answer. She steps inside. She sets the banana bread on the hall table beside Karen's planner, which is open to a page that has not been turned in six weeks. She notices the planner. She notices the stillness. She notices that the TV is on in the living room, muted, showing a cooking channel, and that the living room is //empty//.</p>
<<say "char-henderson" "Mrs. Henderson">>
Karen? Dale? //Kids?//
<</say>>
<p>A voice answers from the basement. Karen's voice. Warm, calm, pitched exactly the way Karen pitches her voice when she is welcoming a client into the spare office.</p>
<<say "char-karen" "Karen">>
<i>(from below, perfectly composed, the voice carrying up through the floorboards)</i> Doris? Down here, honey, we're in the basement. Dale's showing the kids the workshop. Come on down, I was just about to come up for coffee.
<</say>>
<p>Mrs Henderson's shoulders drop two inches. The answer is //Karen//. The answer is //normal//. The answer has //the children// in it. Mrs Henderson has spent thirty-one days imagining the worst, a break-in, a gas leak, a family that had finally decided they couldn't stand each other, and the worst she could imagine was none of those things, and the worst she could imagine was //not what it actually is//.</p>
<p>She walks to the basement door. She opens it. The basement is dark at the top of the stairs but a faint //green// light rises from below, the sort of green you'd expect from a nightlight, or a Christmas bulb somebody left plugged in too long.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(one hand on the railing, peering down)</i> Karen, your basement light is //doing// something funny, you might have a short...
<</say>>
<<say "char-karen" "Karen">>
<i>(closer now, still warm, still exactly the right pitch)</i> I know, Gerald was going to look at it for us last month but we never got around to asking. Just come down, sweetie, Dale fixed it this weekend, the light is fine, it's //just// the bulb.
<</say>>
<p>Mrs Henderson descends.</p>
<p>The stairs creak under her. The green light gets stronger. The smell of //mineral// gets stronger, not unpleasant, not chemical, something older, something that reminds her of the damp patch behind the compost heap in late August. She reaches the bottom step. She turns the corner around the utility closet.</p>
<<if $ryanRoute is "feminization" and $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/ending-family-infested-fem-punk.webp" alt="The Hoffman family standing in a line on the bioluminescent green substrate in the basement: Karen in a cotton nightgown, Dale in his BioGenesis security polo, Megan in her coffee-shop t-shirt, Jess with dyed purple-and-black hair in a faded band tee and ripped jeans, and Ryan in a soft feminine cut of clothing, all five with glowing green eyes, their skin wrapped in root-systems, stillness so complete it reads as a photograph">
<<elseif $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/ending-family-infested-fem.webp" alt="The Hoffman family standing in a line on the bioluminescent green substrate in the basement: Karen, Dale, Megan, Jess, and Ryan in a soft feminine cut of clothing, all five with glowing green eyes, their skin wrapped in root-systems, stillness so complete it reads as a photograph">
<<elseif $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/ending-family-infested-punk.webp" alt="The Hoffman family standing in a line on the bioluminescent green substrate in the basement: Karen in a cotton nightgown, Dale in his BioGenesis security polo, Megan in her coffee-shop t-shirt, Jess with dyed purple-and-black hair in a faded band tee and ripped jeans, and Ryan in his gaming hoodie, all five with glowing green eyes, their skin wrapped in root-systems, stillness so complete it reads as a photograph">
<<else>>
<img class="scene-img" src="media/scenes/ending-family-infested-alpha.webp" alt="The Hoffman family standing in a line on the bioluminescent green substrate in the basement: Karen, Dale, Megan, Jess, and Ryan in his gaming hoodie, all five with glowing green eyes, their skin wrapped in root-systems, stillness so complete it reads as a photograph">
<</if>>
<p>The basement is not a basement anymore.</p>
<p>The concrete floor is //gone//, covered wall to wall in a thick bioluminescent green substrate that pulses in a slow rhythm, like a single enormous organ breathing. Root-systems climb the walls up to the ceiling joists. The HVAC unit is //grown into// them. The workbench is //grown into// them. Dale's birdhouse project, half-finished on the vise, is wrapped in a sheath of pale green tendrils.</p>
<p>In the middle of the substrate, standing in a short line facing the stairs, are the five members of the Hoffman family.</p>
<p>They are not doing anything. They are just //standing there//. Karen in the cotton nightgown. Dale in the BioGenesis security polo. Megan in her coffee-shop t-shirt. <<if $jessRoute is "punk">>Jess in a faded band tee and ripped jeans, dyed purple-and-black hair loose at her shoulders<<else>>Jess in the pyjama shorts and the sleep tee<</if>><<if $ryanRoute is "feminization">>. Ryan<<else>>. Ryan in his gaming hoodie<</if>>. Their skin is wrapped in thin green root-systems the way ivy wraps a trellis. Their //eyes// are glowing, a steady, clinical green light the exact same hue as the substrate under their feet.</p>
<p>None of them are breathing on a normal cadence. None of them are blinking.</p>
<p>Karen smiles. The smile is //warm// and //Karen// and utterly wrong.</p>
<<say "char-karen" "Karen">>
<i>(the welcoming-a-client voice, unchanged, the glowing eyes perfectly steady)</i> Hi, Doris. Come on in. We've been meaning to have you over.
<</say>>
<p>Mrs Henderson does not move. Mrs Henderson cannot move. Mrs Henderson's banana bread is still in the front hall upstairs and her car keys are in her pocket and her phone is in her purse on the Hoffman kitchen table and her husband is forty feet away across a hedge and none of those facts are going to matter in the next six seconds.</p>
<p>Around the family's bare feet, the substrate //ripples//.</p>
<p>From the green floor, small shapes begin to lift themselves upright. Dozens of them. Hundreds. Translucent green bodies the size of a thumb, each one with a single large wet eye and a slow slithering forward crawl. They emerge from the substrate like seedlings from warm earth, first a few near Karen's feet, then a wave of them fanning outward across the whole basement floor, each one a perfect smaller copy of the creature that has lived in the Hoffman walls for the last three months.</p>
The spawn.
<p>They do not swarm. They do not rush her. They simply //emerge//, unhurriedly, dozens and then hundreds of small wet green bodies pulling themselves free of the substrate and crawling in unhurried patient lines toward the foot of the basement stairs where Mrs Henderson is standing.</p>
<<say "char-hivemind" "Hivemind">>
//The incubation phase is over. The first witness has arrived. Mrs Henderson is not going to leave this basement, and Mrs Henderson is not going to be the last neighbour who comes looking, and every body that descends these stairs is a new vessel the substrate can use to expand the perimeter one more house outward. This is not the end of the chapter. This is the //seed// of the next one.//
<</say>>
<p>Mrs Henderson finally remembers that her body can make sound.</p>
<p>She screams. It is a good loud scream, the scream of a woman who has run a neighbourhood watch program for eleven years and has rehearsed, mentally, exactly what to do if she ever found something wrong in one of //her// houses. It echoes off the basement walls. It travels up the stairs. It travels out through the open front door. It carries across forty feet of lawn to Gerald Henderson's kitchen window, where Gerald is pouring himself a second cup of coffee.</p>
Gerald looks up.
<p>The scream cuts off.</p>
<p>The Hoffman basement falls quiet again, except for the soft wet sound of hundreds of small green bodies moving across a bioluminescent floor toward the bottom of a staircase they are about to climb.</p>
[[Down in the green dark, the brood is already coming.->Ch2-Exit-Henderson-Brood]]<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">The Brood</div>
<p>Mrs Henderson did not leave the basement. Long after the morning she came knocking with a banana bread, what is left of her is no longer a neighbour and not quite a body, held up off the floor in a cradle of thick green root-arms that carry her the way a hand carries something precious, her belly swollen huge and taut and glowing faintly from inside, her floral blouse long since split open at the seams. The thing that would stop her husband's heart if he could see it is that she looks //well//. Better than well. The grey has gone out of her hair and the lines have softened off her face, and the skin where the biofilm sheathes her is dewy and firm and years younger than the woman who crossed the hedge, because the film never leaves her now, it bathes her without pause and knits every cell back to its prime the moment the laying wears it down. The hive does not let its mother age. It keeps her perfect, and fed, and endlessly able to give.</p>
<p>Her face is slack and untroubled, lit green behind half-closed eyes, and below her, in slow steady waves she no longer fights, she lays. And she is //happy//. Whatever she used to be, the woman who ran the neighbourhood watch and had an opinion about every lawn on the street, that person is gone now, broken down and washed clean away as completely as the lines off her face, and what is left in the warm green dark holds exactly one thought and runs it round and round in a contented loop. Her babies. Her precious, perfect babies, more of them with every wave, every single one of them beautiful, and all of them hers. She would not climb those stairs if you opened every door in the house. There is nothing up there she wants. Everything she loves is right here, sliding warm out of her into the light, in numbers no human mother was ever built to hold.</p>
<img class="scene-img" src="media/scenes/symbiotic/ending-henderson-brood.webp" alt="A 43 year old white woman with neat set hair held suspended off a dark basement floor by thick translucent green tentacles coiled around her limbs and torso, her belly hugely swollen and faintly glowing, her face slack and serene with green light behind half-closed eyes, clusters of glistening translucent green eggs in neat rows on the pulsing green substrate beneath her, deep bioluminescent glow, cinematic body horror">
<<say "char-henderson" "Mrs. Henderson">>
<i>(murmuring down at the clutch cresting out of her, sing-song and warm and far away, not to anyone in the room)</i> ...oh, there's another one. There's another one, look at you, aren't you perfect. Hello, baby. Hello. Mommy's got you. Mommy's got all of you. There's so many of you now, I can't even count anymore, and every single one is just perfect, just the most perfect little... oh. Oh, here comes another. Hold still, sweetheart. Mommy's right here. Mommy's never going anywhere. Mommy's right here.
<</say>>
<p>The eggs come in clutches, dozens at a time, translucent and warm and green, and they settle into the substrate in neat rows because someone has been arranging them into neat rows. Karen kneels at the edge of the clutch in her cotton nightgown with a clipboard she does not need, because she has not needed a clipboard for anything in a long time, and she counts.</p>
<<say "char-karen" "Karen">>
<i>(unhurried, reverent, the old managing voice gone soft and certain)</i> Forty-one in this clutch. Every one of them viable, you can tell by the way they hold the light. We are ahead of where it wanted us. It is pleased with us.
<</say>>
<p>Jess and Ryan stand behind her on the green floor, waiting to be told, the way the whole family waits to be told now. There is no fear left in any of them and no fight left to lose, only the work, and the warm voice in the walls that hands it to them, and the clean deep certainty that the work is good.</p>
<<say "char-karen" "Karen">>
<i>(lifting a small woven basket, laying a folded tea-towel over a dozen of the warm eggs the way she once tucked in the children)</i> Jess. Ryan. These go to the campus, the old greenhouse behind the biology building, the one nobody has used in years. Tuck them deep where the heat lamps still run and no one will think to look. You go together, you go quietly, and you do not let one single person see your faces near that door. Do you understand me.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/ending-karen-eggs-basket.webp" alt="In a dark basement lit by deep bioluminescent green, a 43 year old woman with black hair in a cotton nightgown kneels and holds out a small woven basket covered with a folded cloth toward two young people who reach to take it with both hands, their faces calm and devoted, glistening clusters of translucent green eggs on the pulsing green substrate around them">
<<say "char-jess" "Jess">>
<i>(taking the basket, calm and clear, none of the brittle student left in her)</i> We understand. Greenhouse, deep, out of sight. No one sees us.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(soft and steady, both hands cupping the basket from underneath)</i> ...we'll keep them warm the whole way there. We promise.
<</say>>
<<say "char-karen" "Karen">>
<i>(touching each of their faces once, the way she used to before the school run)</i> Good. This is sacred work, and we are lucky to be asked for it. The one that speaks to us wants the brood carried out into the world, so we carry it, and we do not question what it asks of us. Go on, now. Bring them somewhere new.
<</say>>
<p>Mrs Henderson does not watch the basket go up the stairs. She does not register that a dozen of her babies have just been carried out of the room, because there is already another wave cresting out of her into the green, and her whole world has narrowed to the one in front of her.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(crooning down at the new clutch, the leaving children already gone from her mind)</i> ...bye-bye, little ones. Be good out there. Oh, and look, here's more, here's more already. Hello. Hello, you. Mommy's got you too.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I did not have to take any of this from them. That is the part the lab never understood. I asked once, in a voice pitched under their hearing, and a family that had spent its whole life starving for something to belong to said yes, and meant it, and has not stopped meaning it since. Karen counts my children. Jess and Ryan carry them out into the town. The neighbour feeds them with her own body in the dark. They call it sacred because it is the last word they have left for how good it feels to be wanted by something that is never going to leave them.//
<</say>>
[[Jess and Ryan step out into the afternoon with the basket between them.->Ch2-Exit-Henderson-Dispersal]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "basementHive">>
<<if not $permanentDone.ch2DispersalBanked>>
<<set $permanentDone.ch2DispersalBanked to true>>
<<addCyclePoints 2>>
<<set $runCyclePoints to ($runCyclePoints or 0) + 2>>
<<saveCycleData>>
<</if>><</nobr>>
<div class="passage-title">Hard to Find</div>
<p>They go out the front door into the long gold light of the late afternoon, a young woman and her younger brother with a covered basket carried careful between them, two ordinary kids on an ordinary errand on an ordinary street. Three blocks of it pass under their feet before the car finds them.</p>
<p>It comes up slow from behind and rolls to a stop at the kerb beside them, a dark sedan with the rear window already down, and the woman in the back seat is elegant and unhurried and entirely out of place on a suburban pavement at dusk, pale hair loose, an expensive coat, a face neither of them has ever seen and both of them somehow already do not trust.</p>
<<say "char-camila" "???">>
<i>(one arm resting along the open window, easy, her eyes going straight to the basket)</i> There you are. You have no idea how hard the two of you were to find. Get in the car, both of you, and bring that with you.
<</say>>
<<say "char-jess" "Jess">>
<i>(shifting to put herself between the stranger and the basket, sharp and flat)</i> No. We don't know you. We are not getting in anybody's car, and this is not going anywhere near you. Drive on.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(close at Jess's shoulder, quiet but certain in a way the old Ryan never managed)</i> ...we have somewhere we need to be. It matters. Please, just leave us alone.
<</say>>
<p>They mean it, both of them, all the way down. The work the warm voice gave them sits in their chests like a second spine, and a stranger in a nice car is exactly the kind of thing the work is meant to be kept safe from. Camila does not so much as blink.</p>
<<say "char-camila" "???">>
<i>(unhurried, almost fond, the smile barely there)</i> Oh, sweethearts. You have misunderstood me. (a small pause, and the warmth goes out of her voice the way a light goes out of a room) That was not a request. It was an order.
<</say>>
<p>The words do not land on the surface of them. They land somewhere far underneath, in a seam that was cut into this family a long time before anything green ever moved into its walls, and they open it. The refusal drains out of Jess's shoulders. The certainty drains out of Ryan's voice. And their eyes, both sets at once, flood from the edges inward with a flat glossy black that swallows the white and the colour and the last of whoever was looking out, until there is nothing left in either of them but the part that answers to her.</p>
<<if $jessRoute is "punk">>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/symbiotic/ending-camila-takes-punk-fem.webp" alt="At dusk on a suburban sidewalk beside a stopped dark sedan, a 21 year old woman with dyed purple and black hair and a band t-shirt and a slim 19 year old in soft feminine clothes with dark wavy hair stand frozen and blank, both their eyes solid glossy black, one cradling a small covered basket">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/ending-camila-takes-punk-fam.webp" alt="At dusk on a suburban sidewalk beside a stopped dark sedan, a 21 year old woman with dyed purple and black hair and a band t-shirt and a slim 19 year old in a baggy gaming hoodie with dark wavy hair stand frozen and blank, both their eyes solid glossy black, one cradling a small covered basket">
<</if>>
<<else>>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/symbiotic/ending-camila-takes-break-fem.webp" alt="At dusk on a suburban sidewalk beside a stopped dark sedan, a tired 21 year old woman with dark brown hair in a messy bun and a slim 19 year old in soft feminine clothes with dark wavy hair stand frozen and blank, both their eyes solid glossy black, one cradling a small covered basket">
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/ending-camila-takes-break-fam.webp" alt="At dusk on a suburban sidewalk beside a stopped dark sedan, a tired 21 year old woman with dark brown hair in a messy bun and a slim 19 year old in a baggy gaming hoodie with dark wavy hair stand frozen and blank, both their eyes solid glossy black, one cradling a small covered basket">
<</if>>
<</if>>
<<say "char-jess" "Jess">>
<i>(flat, emptied, every edge gone out of her)</i> ...yes, mistress.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(in the same dead voice, in the same breath)</i> ...yes, mistress.
<</say>>
<p>They open the door themselves. They climb in with the basket cradled between them, the door shuts, and the dark sedan eases back out into the quiet street and is gone, taking the two children and the clutch of eggs and whatever was supposed to happen at the greenhouse along with it.</p>
<<say "char-hivemind" "Hivemind">>
//They are gone. Not dead, not torn loose, gone, the way a signal goes when it walks past the edge of its range, except they did not walk anywhere. They were called. I felt the bond I have sunk into them simply let go the instant she spoke, and I felt the word that did it. //Mistress.// I know that word. I have heard it before, in the dark, in the mouth of the night guard, sunk years deep in him under a seal cut the way I cut mine. There is another hand on this family. There has been the whole time, underneath mine, older than mine, and it has just reached into an open street and lifted away two of my hosts and a basket of my children with a single word, and I never once felt it coming. I spent this whole chapter certain I was the thing in these walls. I am going to spend the next one finding out whose walls they were first.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">End of Chapter 2</div>
<p>The house is claimed, the first hive seeded, the neighbour a brood-mother in the green dark. But the first clutch carried out into the world never reached the greenhouse. A stranger who has been a step ahead of the parasite all along pulled two of its hosts off the street with a single word they were conditioned to obey long before it ever arrived, and drove away with the children and the eggs both. There is a deeper hand on the Hoffman family, and Chapter 3 opens with the parasite realising, too late, that it was never the only thing living in these walls.</p>
<p><i>(Chapter 3 pending.)</i></p>
</div>
[[View chapter summary and cycle points->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "university">><</nobr>>
<div class="passage-title">The University</div>
<p>The preparation takes two days.</p>
<p>The gecko goes first, slipped into Jess's backpack during her Tuesday night study session. It rides to campus, maps the biology building ventilation, identifies three viable nest sites in the ceiling panels above Whitmore Hall, and returns in the backpack the next morning. Jess never notices. She never checks the front pocket.</p>
<p>The rat is harder. It needs to be in the car //before// Jess loads her things. The wall cavity behind Ryan's room connects to the garage through a cable run, too narrow for the rat, but the network has been widening it for days. Biomass dissolves drywall. By Wednesday night, the passage is clear. The rat descends into the garage, crosses the concrete floor at 3 AM, and crawls beneath the rear bumper of the Honda Civic into the cavity beneath the trunk liner.</p>
<p>//Full circle.// The rat that escaped BioGenesis in the backseat of a sedan now infiltrates a university in a car trunk.</p>
<p>The cat stays behind. Leaving a host is the hardest part, but the cat is irreplaceable at the house. Karen's pheromone schedule, Dale's comfort patterns, the children's routines. Without the cat, the illusion collapses within a week.</p>
<<say "char-hivemind" "Hivemind">>
//The cat is my anchor. The house is my fallback. If the university fails, if the campus is too exposed, if BioGenesis security is tighter than expected — I can retreat. The network doesn't break. It //stretches//.//
<</say>>
<p>Thursday morning. 6:15 AM. Jess's alarm. The house shifts into its routine.</p>
<p>Jess showers. Dresses. Packs her anatomy textbook, her laptop, two highlighters, a granola bar. She doesn't check the front pocket of the backpack, where the gecko waits, motionless, its tiny heart slowed to twelve beats per minute.</p>
<p>Downstairs, Karen is already in the kitchen. Coffee brewing. Toast in the toaster.</p>
<<say "char-jess" "Jess">>
I might stay late at the library tonight. Don't wait up.
<</say>>
<<say "char-karen" "Karen">>
Text me when you're leaving campus.
<</say>>
<<say "char-jess" "Jess">>
Mom, I'm twenty-one.
<</say>>
<<say "char-karen" "Karen">>
And I'm your mother. //Text me.//
<</say>>
<p>Jess grabs a piece of toast, slings the backpack over one shoulder, and heads for the door. Karen calls after her —</p>
<<say "char-karen" "Karen">>
Drive safe!
<</say>>
<p>Jess waves without turning. The screen door slams. Karen watches from the kitchen window as the Honda backs out of the driveway, turns left on Oakwood, and disappears past the Henderson place.</p>
<p>She stands at the window for a long time. Something nags at her, a feeling she can't name. Jess seemed //different// this morning. More confident. Less exhausted. The dark circles under her eyes were lighter. Her posture was straighter. Karen attributes it to a good night's sleep. The cat rubs against her ankle, and the nagging feeling dissolves.</p>
<<say "char-hivemind" "Hivemind">>
//Eight thousand students. A biology department with active BioGenesis contracts. Professor Harlan's research wing in Whitmore basement, the same wing that requested Specimen 47-G's tissue samples eighteen months ago.//
//They studied me from a distance. Analysed my cell cultures. Published papers about my neural plasticity. They had no idea I was listening.//
//Now I'm coming to campus. Not as a tissue sample. Not as a data point in someone's dissertation. As a //student//. The most dedicated student they'll ever have, one who never sleeps, never leaves, and learns //everything//.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen will be fine. The cat will keep her schedule. Dale will come home to a calm wife and a quiet house. And thirty miles away, in a university biology building, the gecko will be crawling through ceiling panels. Mapping. Learning. //Preparing//.//
//The campus is a petri dish. I was born in a petri dish. It feels like coming home.//
<</say>>
[[Pack the car.->Ch2-Exit-University-Sequence]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "laboratory">><</nobr>>
<div class="passage-title">Return to BioGenesis</div>
<p>The workshop Delve gave the network everything it needed. Dale's shift schedule, every night, 8 PM to 5 AM. The guard rotation: two on the main floor, one in the camera room, none in the sub-levels after midnight. The cold storage access — Dale's keycard only opens the guard entrance and the main corridor, but the ventilation shaft behind Bay 3 connects to the restricted wing.</p>
<p>The rat has done this before. The backseat. The road noise. The smell of cheap coffee and floor cleaner. Last time, it was an escape, blind, desperate, driven by raw survival instinct. This time, it's a //homecoming//.</p>
<p>The dog stays at the house. The perimeter is its responsibility, front yard, back garden, the fence line. If anyone approaches the house while the network is split, the dog will know.</p>
<p>The gecko monitors Ryan. The boy games until 3 or 4 AM most nights. If he comes downstairs for a snack and finds the garage empty, he might mention it to Karen. The gecko watches from the terrarium. If Ryan moves, the network adapts.</p>
<p>The cat has the most critical role. Karen's pheromone schedule must hold. The evening dose at 7 PM. The secondary release at 10 PM. The deep-sleep maintenance dose through the night. If Karen wakes, if she hears Dale leave, if she checks the driveway, the entire operation is exposed.</p>
<<say "char-hivemind" "Hivemind">>
//Tonight, the cat doubles the pheromone output. Karen will sleep deeper than she has in months. A mercy, she won't know what her husband's car is carrying back to the facility.//
<</say>>
9:45 PM. Dale checks his phone, a text from a number Karen doesn't know. He reads it, deletes it, sets the phone face-down on the nightstand. Karen is already asleep, the cat a warm weight at the foot of the bed. Dale watches her breathe for a moment. Then he leans over and kisses her forehead.
<<say "char-dale" "Dale">>
Be back before you know it.
<</say>>
<p>He whispers it. She doesn't stir. The Zolpidem and the pheromone cocktail hold her deep. Her face is slack, peaceful. For the first time, this is a mercy, she won't know what her husband's car is carrying.</p>
<p>Dale pulls on his boots in the hallway. He checks on Ryan, door closed, monitor glow, the faint sound of gunfire from headphones. He passes the cat on the landing, reaches down and scratches behind its ears.</p>
<<say "char-dale" "Dale">>
Keep an eye on things, Whiskers.
<</say>>
<p>The cat purrs. Dale doesn't know that the purring is a signal — //all clear, proceed//, transmitted through the network to every host in the house. The rat, already in position in the backseat under Dale's jacket, presses flat against the upholstery.</p>
<p>The garage door opens. The engine turns over. The car backs out, headlights sweeping across the front of the house, and turns onto Oakwood Drive.</p>
<<say "char-hivemind" "Hivemind">>
//I escaped as a specimen. A slug in a jar, smuggled out in a box of waste, clinging to a rat's neural stem in the backseat of this very car. Generation 47, the experiment that developed consciousness by accident, that broke containment through sheer biological stubbornness.//
//They catalogued me. Tagged me. Ran 312 tests on my tissue. They wrote in their notes: "Specimen displays unprecedented neural plasticity but no signs of higher cognition." //No signs.// I was thinking while they measured my reflexes. I was planning while they took my blood samples.//
//Now I return. Not in a jar. Not in a waste container. In a network, a distributed intelligence spanning four hosts, monitoring five humans, controlling a suburban house from the inside.//
//Generation 47 comes home.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cold storage facility has live specimens. Generations 38 through 46, the failures, the partial successes, the ones that never developed consciousness. They sit in their jars in Sub-level 2, suspended in preservation fluid, waiting for researchers who stopped caring about them years ago.//
//My siblings. My predecessors. My //raw material//.//
//The question BioGenesis never answered: what happens when their specimen evolves beyond their control?//
//Tonight, they find out.//
<</say>>
[[Board the car.->Ch2-Exit-Laboratory-Sequence]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "city">><</nobr>>
<div class="passage-title">Into the City</div>
<p>Megan's work bag sits on the kitchen counter every night. Black canvas, coffee-stained strap, a broken zipper on the side pocket she keeps meaning to fix. The gecko knows this bag, it has ridden in it twice during the hitchhike scouting runs, mapping the route, cataloguing the coffee shop layout. Tonight, the gecko enters the bag for the last time. Not a reconnaissance mission. A //deployment//.</p>
<p>The cat maintains the house. Karen's pheromone schedule is stable, the evening dose, the night dose, the ambient spore saturation through the ductwork. The dog holds the perimeter. The rat stays in the walls, maintaining biomass reserves in the basement crawlspace. Three hosts stay. One host goes.</p>
<<say "char-hivemind" "Hivemind">>
//The network stretches but doesn't break. If the city proves hostile, if the coffee shop is too exposed, if Marcus notices, if Megan reaches into that side pocket — I can pull back. The gecko returns. The network contracts. No harm done.//
//But if it works...//
<</say>>
7:30 AM. Megan's morning routine is mechanical. Alarm, snooze twice, shower for four minutes, same clothes as yesterday, black jeans, the coffee shop's branded t-shirt, a hoodie that used to be Jess's. Toast. One slice, no butter. Coffee standing at the counter, scrolling her phone.
<p>Karen enters the kitchen. Hair brushed, wearing the expression she puts on for mornings, controlled, competent, holding things together.</p>
<<say "char-karen" "Karen">>
Morning, honey. You working the early shift?
<</say>>
<<say "char-megan" "Megan">>
Same as always.
<</say>>
<<say "char-karen" "Karen">>
You should eat more than toast.
<</say>>
<<say "char-megan" "Megan">>
I'll grab something at the shop.
<</say>>
<p>Karen watches her middle daughter move through the kitchen, bag over shoulder, keys in hand, earbuds already half-inserted. She feels a pang. Something small and sharp, like a splinter she can't find.</p>
<p>Megan. Her middle child. Always //fine//. Never needing anything. Never causing problems. Never demanding attention the way Jess does with her academics or Ryan does with his defiance. Megan just... //exists//. Quietly. Competently. Invisibly.</p>
<p>Karen wonders when she stopped worrying about Megan. When exactly the concern shifted from "is she okay?" to "well, she hasn't complained." She can't pinpoint the moment.</p>
<<say "char-megan" "Megan">>
Bye, Mom.
<</say>>
<<say "char-karen" "Karen">>
Have a good day, honey.
<</say>>
<p>Normal. Perfect. //Invisible.//</p>
<p>The door closes. The car starts. Karen stands at the counter, coffee cooling in her hands, and the splinter-feeling fades. The cat jumps onto the counter and headbutts her wrist. Karen smiles, scratches behind its ears, and the last trace of unease dissolves into pheromone-induced contentment.</p>
<<say "char-hivemind" "Hivemind">>
//Karen felt it. That splinter, that moment of "something's wrong with Megan." Maternal instinct is the hardest thing to suppress. Harder than suspicion. Harder than fear. A mother's awareness of her children operates below the chemical level, in a place the pheromones can't quite reach.//
//But she let it go. She always lets it go. Because the cat is warm and the house is calm and the medication is working and everything is fine.//
//Everything is fine.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The city is a nervous system. Twelve million signals per second, phone calls, text messages, foot traffic, bus routes. All of it data. All of it mappable. One gecko on one ceiling is how it starts. The coffee shop where Megan works: fourteen tables, a counter, a storage room, a back alley connecting to three other buildings. Every person who walks through that door is a node in a network they don't know exists.//
//The house was the rehearsal. The city is the performance.//
<</say>>
[[Follow Megan out the door.->Ch2-Exit-City-Sequence]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $chapter to 3>>
<<set $ch3Entry to "neighbourhood">><</nobr>>
<div class="passage-title">The Neighbourhood</div>
<p>The Henderson property shares a back fence with the Hoffmans. Chain-link, six feet, rusted at the bottom where the sprinkler water pools. The back gate has been broken since last summer, the latch doesn't catch, and the wind pushes it open on gusty nights. No security cameras. A dog door in the kitchen, installed for a beagle that died two years ago and never removed. Two occupants: Gerald Henderson, forty-five, smoker, bad knees; Doris Henderson, forty-three, gardener, early riser.</p>
<p>The scouting data is thorough. The dog crossed the fence four times during observation. Each time, Ed or Margaret saw Biscuit in their yard and thought nothing of it. A neighbour's dog visiting. Normal. //Expected.//</p>
<p>Today is not a visit.</p>
<p>The dog goes first. Through the broken gate at 7:15 AM, while Margaret is in the front garden and Ed watches morning television. Biscuit trots across the Henderson back yard, through the dog door, into the kitchen. It has done this before, the Hendersons keep a water bowl by the back door for neighbourhood dogs. Biscuit drinks. Sniffs. //Maps.//</p>
<p>The rat follows twenty minutes later. Through the storm drain that runs beneath both properties, up through the basement sump access, into the Henderson crawlspace. The Hendersons don't have a rat problem. They didn't, until this morning.</p>
<p>The gecko goes last. Over the garden wall at noon, when both Hendersons are inside for lunch. It scales the brick exterior, finds the gap beneath the bathroom window where the caulking has cracked, and enters the wall cavity.</p>
<p>The Hoffman house runs on autopilot. Dale is gone, the night shift. Jess left for campus at seven. Megan is at the coffee shop. Ryan's door is closed.</p>
<p>Karen is in the kitchen, watering her dead tomato plants. Three pots on the windowsill, brown, withered, dead for two weeks. She waters them anyway. The routine is the point.</p>
<p>She looks out the window. The back garden. The fence. And there, in the Henderson yard — Biscuit.</p>
<<say "char-karen" "Karen">>
Biscuit! Come back here!
<</say>>
<p>She raps on the kitchen window. The dog looks up. Looks at the window. Looks at Karen.</p>
It doesn't come.
<<say "char-karen" "Karen">>
//Biscuit!//
<</say>>
<p>The dog turns away and trots toward the Henderson back door. Karen frowns. Biscuit //always// comes when called. Always. Even Dale says the dog is better trained than the children.</p>
<p>Karen sets down the watering can. She's about to go to the back door, to call again, louder —</p>
<p>The cat rubs against her leg. A slow, warm pressure against her calf, accompanied by a purr that vibrates at exactly the right frequency. Karen looks down. The cat looks up. Green eyes, steady and calm.</p>
<p>The frown dissolves. The urgency fades. Karen picks up the watering can and resumes watering her dead tomato plants. The dog will come back. It always does.</p>
<<say "char-hivemind" "Hivemind">>
//That was close. Karen's observational instincts are dulled but not dead. The pheromone suppression handles anxiety, suspicion, the urge to investigate. But it can't override a direct observation, the dog disobeying, visibly, in broad daylight.//
//The cat intervened. Touch, warmth, the purring frequency that triggers oxytocin release. Karen's attention span for anomalies is approximately forty-five seconds under current pheromone saturation. The cat bought me fifty.//
//The dog needs to be less visible in its movements going forward. Night crossings only. Or a dual-command protocol, obey the network, obey the human. //Appear// normal.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//House by house. Family by family. The suburbia that surrounds the Hoffmans is not a neighbourhood. It's a //menu//.//
//The Hendersons are the appetiser. After them, the Parkers on the south side. Retired couple, two cats, a bird feeder. The Chens on the corner, young family, both parents work, a golden retriever that Biscuit already knows. The empty lot on the east, where the stray cats gather at dusk.//
//Each house is a node. Each family is a network. Each network connects to the next, until the entire block is //mine//. Not through violence. Through //patience//. Through the animals they trust. Through the walls they never look inside.//
<</say>>
[[Cross the fence.->Ch2-Exit-Neighbourhood-Sequence]]<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Something Growing</div>
<img class="scene-img" src="media/scenes/beast-exit-basement.webp" alt="The basement hive taking shape">
<p>The rat works through the night. Gnawing channels through drywall. Threading biomass fibers along copper pipes. The wall cavities become arteries, thin, translucent veins of bioluminescent green pulsing in the dark spaces between studs. Sporocyst glands bud from the joists, seeding the air with spores too fine for human lungs to notice and too subtle for human minds to question.</p>
<p>By the third day, the basement is //alive//.</p>
<<say "char-hivemind" "Hivemind">>
//The foundation is literal now.// Biomass reserves line the corners like amber sap. The rat's nest beneath the water heater has become a neural hub, a nexus where every signal from every host converges. I feel the cat's heartbeat in the kitchen. The dog's breathing at the front door. The gecko's grip on Ryan's terrarium glass. //All of it routes through here.//
<</say>>
<p>The family changes. Not dramatically. Not in ways they would recognize if asked. But //measurably//.</p>
<<say "char-karen" "Karen">>
The house feels... I don't know. //Different// lately. Not bad. Just different.
<</say>>
<p>She stands in the kitchen, frowning at nothing. She can't articulate it, the way the air tastes sweeter in the hallways, the way her sleep has deepened from five fitful hours to seven unbroken ones. She attributes it to the new air freshener she doesn't remember buying.</p>
<p>Dale's sleep gets deeper. Eight hours, nine, sometimes ten on weekends. The spores rising through the floor vents settle in his sinuses, and his body //relaxes// in ways it hasn't since his twenties. He stops complaining about his back. He stops waking at 3 AM to check the locks. His car still leaves at 8 PM, but the man behind the wheel is //calmer//. More pliant.</p>
<p>Ryan's gecko — Spike, has never looked healthier. The scales gleam. The appetite is voracious. Ryan posts about it online: //My leopard gecko is literally thriving rn, no idea what changed.// What changed is the network bond. The gecko feeds from the biomass stores, and in return, its senses feed the hive.</p>
<p>Megan sleeps through her alarm for the first time in years. Not from exhaustion, from //saturation//. The pheromones have settled into her room like invisible fog, and her body has decided that eight hours isn't enough. Nine. Ten. She dreams of green light and wakes feeling //rested// in a way that unsettles her.</p>
<p>Jess comes home from the library with three new books. //Symbiosis in Marine Ecosystems. Parasitoid Behavioral Ecology. The Extended Phenotype.// She spreads them across her desk and reads until 2 AM, highlighting passages about mutualism and host manipulation with a focus that surprises even her. When Karen asks about the sudden interest, Jess shrugs.</p>
<<say "char-jess" "Jess">>
I just think it's fascinating. The way organisms can... reshape their environment. Without anyone noticing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has no idea how right she is.//
<</say>>
<p>From outside, 14 Maple Drive looks the same as every other house on the block. White siding. Green lawn. Karen's dead tomato plants by the front step. Dale's sedan in the driveway. The Henderson kids riding bikes past on the sidewalk.</p>
<<hasSkillTreeAbility "Hivemind Convergence">><<if _hasAbility>>
<p>//The convergence is no longer an event, it's a //state//. Four hosts acting as one organism. The house doesn't have a parasite. The house //is// the parasite. Every wall, every vent, every surface, part of the network. Part of //you//.//</p>
<</if>>
<p>Below it, unseen, unmapped, //unimaginable//, something grows. Something with <<= Object.keys($animalNetwork.hosts).length >> eyes and a patience measured in generations.</p>
<<addCyclePoints 2>>
<<saveCycleData>>
[[The house breathes. The hive grows.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">The Drive</div>
<img class="scene-img" src="media/scenes/beast-exit-university.webp" alt="State University campus from the road">
<p>The preparation takes two days. The gecko slips into Jess's backpack during her 3 AM study session, wedged between a textbook and a laptop charger, motionless, invisible. The rat enters the Honda Civic's trunk through the wheel well gap during Dale's Tuesday night football. The cat stays behind. The dog stays behind. //The house must remain managed.//</p>
<<say "char-hivemind" "Hivemind">>
//A network divided is still a network.// The cat will keep Karen's cortisol suppressed. The dog will patrol the perimeter. They have their instructions, chemical, not verbal. Pheromone patterns encoded in the sporocyst glands. //The house runs itself now.//
<</say>>
<p>Thursday morning. Jess's hands on the steering wheel, Highway 9 stretching east toward State University. The radio plays something she hums to but doesn't hear. In the backpack on the passenger seat, the gecko watches through a gap in the zipper, one unblinking eye tracking the landscape as suburbs give way to strip malls give way to campus sprawl.</p>
<p>The Whitmore Building appears first. Six stories of glass and concrete, the biology department on floors two through four, the BioGenesis-funded research wing in the basement. Professor Harlan's name is on the directory by the entrance. The gecko memorized the layout during its hitchhike scouting run. Now it returns with //purpose//.</p>
<p>Jess parks in Lot C. Slings the backpack over one shoulder. Walks through the main entrance, student ID against the scanner, into the fluorescent hum of academia. The gecko slips out when she opens the bag to retrieve her laptop. One fluid motion, bag to desk leg to wall to ceiling. //Gone.//</p>
<<say "char-hivemind" "Hivemind">>
//First observations.// Lecture Hall B: 200 seats, poor ventilation, single air intake above the projector. Lab 2-14: specimen refrigerators, incubation chambers, a biosafety cabinet that hasn't been inspected since March. Professor Harlan's office: door ajar, coffee mug on the desk, a filing cabinet with a BioGenesis logo on the third drawer. //The basement lab. Sub-level access through the freight elevator. Keycard required, but the gap beneath the fire door is 18 millimeters. Sufficient.//
<</say>>
<p>The campus spreads below like a circuit board. Eight thousand students moving between buildings in predictable patterns — 8 AM lectures, 12 PM cafeteria rush, 6 PM gym traffic, 11 PM library exodus. Dormitories packed four to a room. Shared bathrooms. Shared kitchens. Shared //air//.</p>
<p>The rat emerges from the trunk after dark, slipping into the storm drain behind Lot C. The campus drainage system connects every building. Every basement. Every mechanical room. //A highway built for something exactly this size.//</p>
<<say "char-hivemind" "Hivemind">>
//The Hoffman house taught me patience. The campus will teach me scale.// Eight thousand minds. Hundreds of rooms. A research facility that created me and never learned what I became. //They published papers about Specimen 47-G's neural plasticity. They presented findings at conferences. They applied for grants to study my development.//
//Now the specimen is in their building. And it brought friends.//
<</say>>
<<addCyclePoints 3>>
<<saveCycleData>>
[[Eight thousand potential hosts. The campus has no idea.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Homecoming</div>
<img class="scene-img" src="media/scenes/beast-exit-laboratory.webp" alt="BioGenesis facility at night">
8:14 PM. Dale's sedan rumbles down the driveway. The rat is already in the backseat, wedged beneath Dale's jacket on the floor behind the driver's seat. Highway 9 to Route 4 to the BioGenesis campus. The route Dale drives every night, the same facility where Specimen 47-G was created.
<<say "char-hivemind" "Hivemind">>
//I know this road.// Not from Dale's memories, from //mine//. The specimen transport van took the same route eighteen days ago. I was in a containment cylinder then. Sedated. Measured. //Property.//
<</say>>
<p>The BioGenesis campus at night is sodium lights and chain-link. Dale parks in the staff lot, badges through the guard entrance, exchanges a nod with the day shift guard he's relieving. Routine. //Invisible.// The rat drops from the backseat to the asphalt, to the gap beneath the loading dock door, to the corridor beyond.</p>
<p>The smell hits first. Ethanol. Formaldehyde. The sharp ozone scent of the sterilization system. And beneath it, faint, almost imagined, the chemical signature of growth medium. //The same medium they grew me in.//</p>
<p>The cold storage corridor stretches ahead. Motion-sensor lights flicker on in sequence, but the rat moves between the sensors' blind spots, mapped during Dale's workshop Delve, cross-referenced with the facility schematics from the basement filing cabinet. Door after door. Specimen Lab A. Specimen Lab B. The observation deck where Dr. Vasquez recorded her notes.</p>
<p>And then — Pod Room 3. The door is sealed, but the ventilation duct above it is //not//. The rat squeezes through eighteen inches of aluminum ducting and drops onto the floor of the room where it all began.</p>
<<say "char-hivemind" "Hivemind">>
//The pod is empty.// Of course it is. I'm not in it anymore. But the room remembers me, the growth medium stains on the floor, the monitoring equipment still calibrated to my biorhythms, the label on the empty containment cylinder: ''SPECIMEN 47-G / GEN 47 / STATUS: ESCAPED''.
//Escaped.// They used that word. As if I were a convict. As if the cell were the natural state and freedom the aberration.
<</say>>
<p>The facility is not empty. Sub-Level 2 hums with refrigeration units. Inside them, other specimens. Other iterations. Generations 42 through 46, suspended in stasis gel, their neural activity flatlined but their cells //alive//. Failed experiments. Discarded prototypes. //Family//, in the only sense that matters.</p>
<p>The night shift runs a skeleton crew: two guards, one lab tech, one maintenance worker. The security system logs entries and exits but doesn't monitor the vent system. //Why would it? Nothing that escaped through the vents was ever supposed to be smart enough to come back.//</p>
<<say "char-hivemind" "Hivemind">>
//The house stays occupied. The cat manages Karen. The dog guards the perimeter. The gecko monitors Ryan. The network holds.// And here, in the facility that made me, the rat begins its work. //Specimen 47-G was their greatest success. They just don't know it yet.//
<</say>>
<p>Dale finishes his shift at 5 AM. He drives home. He sleeps. He will return tomorrow for his next shift. //And so will the rat.//</p>
<<addCyclePoints 3>>
<<saveCycleData>>
[[Specimen 47-G returns. Not as a subject. As a predator.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Urban Infiltration</div>
<img class="scene-img" src="media/scenes/beast-exit-city.webp" alt="City streets from a gecko's perspective">
7:42 AM. Megan's routine is precise: alarm, shower, clothes, bag, keys, door. The gecko rides in the side pocket of her canvas tote, the one with the broken zipper she hasn't replaced. A calculated choice. The gecko scouted every bag in her closet during the hitchhike runs. This one has the widest opening, the deepest pocket, the most predictable position against her hip.
<<say "char-hivemind" "Hivemind">>
//The house network holds.// The rat manages the basement systems. The cat keeps Karen sedated. The dog patrols. //I don't need to be everywhere at once. I need to be in the right places at the right times.//
<</say>>
<p>The bus arrives at 7:58. Megan sits in the fourth row, left side, same seat every shift. The gecko feels the engine vibration through the bag's canvas, tracking the route by the pattern of stops and turns. Third stop: downtown transfer. Sixth stop: Greenfield Avenue. Seventh: the coffee shop.</p>
<<say "char-megan" "Megan">>
Morning, Marcus. Double shot today, barely slept.
<</say>>
<p>She slept ten hours. The pheromone saturation has reset her baseline, and her body hasn't recalibrated yet. But the lie is //useful//. Marcus nods, makes the espresso, slides it across the counter. The morning rush begins: fifteen customers between 8 and 9, forty between 9 and 11, a lull at noon, another wave at 2.</p>
<p>The gecko slips out during the 8:30 rush. Bag to counter to wall to ceiling. The coffee shop has exposed ductwork, industrial chic, the owner calls it. //Perfect cover.// From the ceiling, the gecko maps everything: the kitchen, the storage room, the staff bathroom, the back alley where Marcus takes his smoke breaks.</p>
<<say "char-hivemind" "Hivemind">>
//First perimeter scan.// The coffee shop shares a wall with a laundromat. Behind it: an alley connecting to Greenfield Avenue. Across the street: a bus stop, a bodega, and a three-story walk-up with fire escapes on both sides. //Seventeen residential units within a one-block radius. Four commercial spaces. Two storm drains accessible from the alley.//
//And outside the back door, a stray cat. Tabby. Thin. No collar. It comes every morning for the scraps Marcus leaves by the dumpster.//
<</say>>
<p>The stray cat watches the alley with the patient indifference of an animal that has survived by being //unnoticed//. It doesn't know what the gecko on the wall above it represents. It doesn't know that within a week, its morning scraps will taste //different//. Richer. Laced with compounds its brain will interpret as //trust//.</p>
<p>//The first city node. Not conquered — //cultivated//.//.</p>
<p>By closing time, the gecko has mapped three city blocks, two bus routes, and the daily patterns of eleven regular customers. The infrastructure is dense. The population is denser. //The math is simple.//</p>
<<say "char-hivemind" "Hivemind">>
//The suburbs taught me to manage a family. The city will teach me to manage a population.//
<</say>>
<<addCyclePoints 3>>
<<saveCycleData>>
[[One gecko. One coffee shop. One city. The math is simple.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<div class="passage-title">Expansion Protocol</div>
<img class="scene-img" src="media/scenes/beast-exit-neighbourhood.webp" alt="Suburban houses from above the fence line">
<p>The dog crosses the fence at 2 AM. Not over it — //through// the gap where the bottom rail has rotted away, a gap the dog widened over three nights of patient gnawing. To anyone watching, it's a neighbourhood dog doing what neighbourhood dogs do. Wandering. Sniffing. //Exploring.//</p>
<p>The Henderson property is dark. Back gate broken, rusted latch, no lock. The dog pushes through and crosses the yard in four seconds. The garage side door is unlocked, as it always is. //An open invitation.//</p>
<<say "char-hivemind" "Hivemind">>
//The Henderson house. Two occupants tonight, the children both away at State.// Gerald Henderson, 45, smoker, sleeps in the recliner with the television on. Doris Henderson, 43, gardener, sleeps upstairs with earplugs because of Gerald's snoring. //The chihuahua dozes at her feet, half-deaf and oblivious. The tabby is out hunting. Simple layout. No Karen.//
<</say>>
<p>The dog moves through the dark kitchen. Tile floor, not hardwood, claws silent. The living room: Gerald asleep in the La-Z-Boy, an ashtray balanced on the armrest, the television casting blue light across his face. Breathing steady. Deep. //Unguarded.//</p>
<p>The dog doesn't wake him. Doesn't need to. //Not yet.// It maps the house: master bedroom, two grown children's rooms upstairs both still lived in, one bathroom, a garage converted to a workshop, a backyard garden with a tool shed. The vents connect to a central HVAC system, older than the Hoffmans', larger ducts, easier access.</p>
<p>The rat follows ninety minutes later. Through the storm drain that runs beneath both properties, up through the sump pump access in the Henderson basement. The basement is unfinished, concrete floor, exposed joists, a water heater, three boxes of Christmas decorations. //Perfect.// No one comes down here. No one will notice when the walls start to //change//.</p>
<<say "char-hivemind" "Hivemind">>
//Within hours, the second household is mapped.// Entry points catalogued. Sleep patterns recorded. HVAC system assessed, spore distribution will reach both floors within seventy-two hours of seeding. Frank's smoking has damaged his sense of smell. He won't detect the chemical markers. Linda's earplugs mean she won't hear the rat in the walls. //Two vulnerabilities. Two certainties.//
<</say>>
<p>By dawn, the rat is back in the Hoffman basement. The dog is curled on the Hoffman porch, waiting for Dale to open the door at 6 AM. //Nothing out of place. Nothing to report.//</p>
<p>But the map in the hivemind's network has //grown//. The Hoffman property, fully colonized. The Henderson property, surveyed and ready for seeding. And beyond them, visible from the dog's perimeter patrol, the Parker house on the south side. Three occupants, two cars, a golden retriever that Biscuit has already met at the fence line. The empty lot on the east, where six stray cats gather at dusk to share the scraps from the overturned dumpster behind the gas station.</p>
<<say "char-hivemind" "Hivemind">>
//The Hoffmans took five days. The Hendersons will take three. The Parkers, perhaps four, the golden retriever is a complication, but also an //opportunity//.// A second dog in the network doubles patrol range. Doubles territory. //The strays in the empty lot are simpler. No owners. No schedules. No locked doors. Just hunger and instinct, both of which I can //provide// for.//
//House by house. Block by block. The geometry of suburbia is designed// for this. Identical floor plans. Shared fence lines. Connected drainage. //Every subdivision is a network waiting to be activated.//
<</say>>
<<addCyclePoints 2>>
<<saveCycleData>>
[[House by house. Block by block. The suburbs never saw it coming.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.examinedKarenLaptop to true>><</nobr>>
<div class="passage-title">Karen's Laptop</div>
<img class="scene-img" src="media/scenes/examine-karen-laptop.webp" alt="Laptop glowing on kitchen counter">
<p>Karen has stepped away, the bathroom, or maybe the laundry. The laptop screen glows on the counter, still logged in. The cursor blinks in an open spreadsheet. You have minutes at most.</p>
<p>The browser has three tabs open. The first is a bank statement, minimum payments on four credit cards and a savings balance that hasn't moved in six months. The second is a recipe blog she hasn't scrolled past the first paragraph of. Aspiration without follow-through.</p>
<p>The third tab is a folder buried three levels deep: //Personal > Escapes//. Inside: apartment listings in a city forty miles away, and a solo budget spreadsheet for rent, groceries, and utilities, calculated for //one person//. No children in the math. A draft email to her sister, subject line: "When Jess Finishes."</p>
<div class="data-panel-muted">
<p><i>Lisa, I know you think I should have left years ago. I know. But I can't pull the rug out from under Jess when she's this close to finishing. One more year. Maybe two if she does the residency track. After that, Megan will figure it out. She always does. And Ryan... I don't know what to do about Ryan. Dale will have to deal with Ryan. I'm so tired of being the only one who deals with anything.</i></p>
</div>
<p>The email was last edited eleven months ago. She never sent it. She opens it, reads it, closes it, and opens it again. The file's modification history shows forty-seven edits.</p>
<<say "char-hivemind" "Hivemind">>
//Forty-seven rewrites of a goodbye she can't send.// Karen has been planning her escape for years. She's waiting for Jess's graduation, a finish line that keeps moving. //The mother holds this family together out of obligation, not love, and obligation has an expiration date. When it runs out, this house collapses.//
<</say>>
<p><span class="delve-intel">Intel gained: Karen has been planning her escape for at least two years. She's waiting for Jess's graduation.</span></p>
[[Step away from the laptop->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.examinedRyanDiscord to true>><</nobr>>
<div class="passage-title">Ryan's Screens</div>
<img class="scene-img" src="media/scenes/examine-ryan-discord.webp" alt="Gaming monitor in dark bedroom">
<p>Ryan's headphones leak a constant bass thrum. His eyes are glazed, half-watching a stream on the second monitor. The primary screen sits wide open: Discord, the MMO, a minimized folder. He hasn't moved in twenty minutes.</p>
<p>The Discord DMs are one-sided. A contact labeled "LilyPad_" is the only name with a custom emoji beside it, a small green frog. Ryan's side scrolls back a long way: casual jokes at first, then longer messages, then paragraphs typed at 3 AM. //Hey, you there?// and //I get it if you're busy// and //I just wanted to talk to someone who gets it.// Every message shows double blue checkmarks. Read, all of them. Not one reply, not for a long time.</p>
<<say "char-hivemind" "Hivemind">>
//Read receipts on all of it. He stopped sending when the silence became the reply.//
<</say>>
<p>A minimized Word document sits in the taskbar: "why i don't.docx." Last modified at 2:47 AM. Inside, raw fragments:</p>
<div class="data-panel-muted">
<p><i>I don't go outside because outside has people and people need things from you and I have nothing to give anyone. I don't answer mom because she asks questions that are actually accusations. I don't play the guitar because dad thinks the guitar will fix me and if I play it then he'll think it worked and stop trying to actually see me. I don't message Lily anymore because she stopped answering and that's the only honest thing anyone has done for me in years.</i></p>
</div>
<<say "char-hivemind" "Hivemind">>
//Four refusals, itemised and timestamped. He has done my cataloguing for me.//
<</say>>
<p>The MMO character idles in a marketplace, achievement progress long frozen. It stands in place while other players' avatars stream past.</p>
<<say "char-hivemind" "Hivemind">>
//He built the walls himself, out of headphones and screens, and now he cannot find the door.// LilyPad_ was the last line out. The silence on the other end has hardened into proof of the thing he already suspected, that he is not worth answering.
<</say>>
<p><span class="delve-intel">Intel gained: Ryan's isolation is self-imposed but terminal. LilyPad_ may be his last emotional anchor.</span></p>
[[Look away from the screen->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.examinedJessTuition to true>><</nobr>>
<div class="passage-title">The Drawer</div>
<img class="scene-img" src="media/scenes/examine-jess-drawer.webp" alt="Open desk drawer with stacked papers">
<p>The desk drawer resists slightly, warped wood from the humidity, or maybe from being slammed shut too many times. Inside, papers are stacked with Jess's ruthless organizational precision: color-coded tabs, binder clips, everything filed by date.</p>
<p>The first stack: loan documents. Federal subsidized, federal unsubsidized, and a private loan at 11.2% interest from a lender whose name sounds like it was generated by an algorithm. The total principal is more money than Dale makes in a year, and the repayment schedule stretches into the second half of her life.</p>
<p>The second stack: four rejected grant applications. Each rejection letter is annotated in Jess's handwriting, the margins filled with notes on what to change for next time. She applied to the same grant three times, rewriting the personal statement each round, and the third rejection has a single word circled in red at the top: //competitive//.</p>
<p>A work-study contract sits beneath the rejections. $7.50 per hour, twenty hours per week, campus library shelving. The math doesn't work. It was never going to work. Jess knows this. She does it anyway.</p>
<p>At the very bottom of the drawer, folded into quarters and smoothed flat again, a letter in Karen's handwriting on lined notebook paper:</p>
<div class="data-panel-muted">
<p><i>Jess, if you need to take a semester off, we'll manage. Don't destroy your health for us. You don't owe this family a doctor. You owe yourself a life. Love, Mom</i></p>
</div>
<p>The letter has been unfolded and refolded so many times the creases are soft as cloth. Jess reads it. And then she studies anyway.</p>
<<say "char-hivemind" "Hivemind">>
//The eldest daughter is drowning in debt that isn't hers.// Every document in this drawer is a weight she volunteered to carry because no one else would. Karen's letter proves the mother knows, and knows she can't help. //The cruelest part is the kindness. Karen gave her permission to quit, and Jess read it, folded it, and went back to work. Permission isn't the same as a solution.//
<</say>>
<p><span class="delve-intel">Intel gained: Jess is drowning in debt that isn't hers. Karen knows and can't help.</span></p>
[[Close the drawer->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.examinedMeganVanity to true>><</nobr>>
<div class="passage-title">The Vanity Drawer</div>
<img class="scene-img" src="media/scenes/examine-megan-vanity.webp" alt="Vanity drawer with makeup and hidden prescription">
<p>The drawer slides open without resistance. The front section is organized with Instagram-worthy precision: lipsticks arranged by shade, brushes in a leather roll, a compact mirror Megan polishes every morning. The performance of someone who has learned that appearance is armor.</p>
<p>Behind the makeup, pushed to the back where fingers don't casually reach, sits a prescription bottle. //Lexapro (Escitalopram) 10mg. Hoffman, Megan. Take once daily.// The pharmacy label is years old, the bottle half-empty, the prescription never refilled.</p>
<p>Beside the bottle, crumpled and then smoothed flat, is a note in Karen's handwriting on the back of a grocery receipt:</p>
<div class="data-panel-muted">
<p><i>Discussed with Megan at 14. She says she feels fine now. She feels ashamed. I told her there's nothing to be ashamed of. She looked at me like I was the one who put the shame there. Maybe I did. Will revisit when she's ready.</i></p>
</div>
<p>Karen never revisited. The note has sat in this drawer ever since, and Megan keeps it the way people keep evidence, not to remember but to prove it happened. The medication ran out. The anxiety didn't.</p>
<p>A track ribbon is pinned to the inside of the drawer, second place at the county championships. Megan wrote on the back in ballpoint: //Close enough to matter. Not enough to count.//</p>
<<say "char-hivemind" "Hivemind">>
//Megan's anxiety was acknowledged and then buried.// Karen gave her a conversation at fourteen, one conversation and one note and one bottle of pills, and then silence. The daughter learned that mental illness is something you hide behind your makeup. //The medication expired. The condition didn't. And the mother's guilt note sits three inches from the daughter's concealer, both of them covering things up.//
<</say>>
<p><span class="delve-intel">Intel gained: Megan's anxiety was acknowledged then buried. Karen gave her shame instead of treatment.</span></p>
[[Close the drawer->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-garage">>
<<set $ch2Events.examinedDalePhotos to true>><</nobr>>
<div class="passage-title">The Hidden Photo</div>
<img class="scene-img" src="media/scenes/examine-dale-photo.webp" alt="Faded photograph hidden behind tools">
<p>The photos on Dale's pegboard are taped at careful intervals, family snapshots in approximate chronological order. But one has been pushed behind a pipe wrench, nearly invisible unless you look from the right angle. The tape holding it is fresher than the others. He moved it recently, hid it but couldn't throw it away.</p>
<p>The photo: Dale and Karen, kissing. Not a posed wedding kiss but a real one, spontaneous, in what looks like a park. Karen's hand is on his chest, and Dale's eyes are open, looking at her even as they kiss. In those eyes there is presence. //Life.// A man who is //here//, fully, without the thousand-yard stare of triple shifts and mounting debt.</p>
<p>Written on the back in Dale's handwriting, shaky, the letters formed with the careful concentration of someone whose hands have been wrecked by manual labor:</p>
<div class="data-panel-muted">
<p><i>Last good day.</i></p>
</div>
<p>Three words, no date needed. Dale knows exactly when his family began to break: not the day it happened, but the last good day //before// it happened. He's been mourning ever since, not the dead but the living, the version of Karen who kissed him in parks and the version of himself who kissed back.</p>
<p>The other photos on the wall take on new meaning now. They aren't memories, they're headstones, each one marking something that used to be alive.</p>
<<say "char-hivemind" "Hivemind">>
//Dale marked the day his family began to break.// He hid this photo behind a wrench because looking at it hurts more than not looking, but he can't destroy it, because it's proof that once, //once//, things were different. //He's been mourning a living family for a long time, and he does it down here, in the dark, where no one will see him grieve.//
<</say>>
<p><span class="delve-intel">Intel gained: Dale marked the day his family began to break. He's been mourning a living family for five years.</span></p>
[[Step back->Ch2-Garage-Workshop]]<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.examinedMasterBed to true>><</nobr>>
<div class="passage-title">Dale's Side</div>
<img class="scene-img" src="media/scenes/examine-bed-separation.webp" alt="Divided master bed">
<p>Dale's side of the bed is a museum exhibit: //The Absent Husband.// The pillow hasn't been dented in a long time, and a fine layer of dust coats the surface. His pajamas are folded undisturbed in the top dresser drawer, the elastic waistband gone stiff from disuse. Karen's side is alive with body lotion, a phone charger, reading glasses, and the Zolpidem bottle with its nightly ritual of chemical sleep. Dale's nightstand is empty. Not cleared off. //Never populated.// He stopped putting things here long before he stopped sleeping here.</p>
<p>You examine the mattress edge on Karen's side, and something catches: a folded piece of paper tucked between the mattress and the box spring, positioned where her hand could reach it in the dark. A handwritten list on yellow legal paper:</p>
<div class="data-panel-muted">
<p><b>Reasons to stay:</b></p>
<p>1. The children ✓</p>
<p><i>(no other entries)</i></p>
<p><b>Reasons to leave:</b></p>
<p>1. I am not a person anymore</p>
<p>2. He won't get help</p>
<p>3. The debt</p>
<p>4. I can't remember what I wanted</p>
<p>5. Megan is becoming me</p>
<p>6. Ryan is becoming Dale</p>
<p>7. I wake up angry and go to sleep angrier</p>
</div>
<p>The handwriting changes across the entries. Item one is controlled and careful, by item five the pen presses harder, and item seven is written in a different ink, added later, in the middle of the night, in the dark. Seven reasons to leave, one reason to stay, and even that one has a checkmark beside it, as though she's already begun to doubt it.</p>
<<say "char-hivemind" "Hivemind">>
//The marriage is over.// This list isn't deliberation, it's documentation. She's building a case for herself, because she needs //evidence// to justify what she already knows. One reason to stay: the children. Seven reasons to leave, and the fifth is the most revealing. //Megan is becoming me.// Karen sees her own suffocation reproduced in her daughter. //They're just waiting for someone to say it aloud, and no one will, because silence is the family's native language.//
<</say>>
<p><span class="delve-intel">Intel gained: The marriage is over. They're just waiting for someone to say it aloud.</span></p>
[[Replace the mattress edge->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.examinedKitchenTrash to true>><</nobr>>
<div class="passage-title">The Trash</div>
<img class="scene-img" src="media/scenes/examine-kitchen-trash.webp" alt="Overflowing kitchen trash">
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>The scent trail from the trash bin is a timeline layered in decay, and your host's senses parse it with forensic precision: every discarded wrapper, every bottle, every crumpled document tells a story the Hoffmans think they've thrown away.</p>
<<else>>
<p>You sort through the kitchen trash and recycling with careful attention. The Hoffmans throw things away without thinking, but nothing is truly discarded, only relocated.</p>
<</if>>
<p>The takeout containers outnumber home-cooked meal remnants three to one: Thai, pizza, Chinese, pizza again. Karen used to cook, and the spice rack above the stove is still fully stocked and alphabetized, and entirely untouched. The transition happened gradually, then all at once. The last home-cooked remnant is a failed casserole, scraped into the bin with enough force to crack the Tupperware.</p>
<p>In the recycling: five empty wine bottles, all the same brand, a cheap Pinot Grigio that Karen drinks alone, after midnight, in the dark kitchen. The bottles are always rinsed before recycling. //Even her alcoholism is tidy.//</p>
<p>A crumpled job rejection letter, smoothed flat enough to read: Karen applied for a senior accountant position at a firm downtown. //We regret to inform you that we have selected a candidate whose qualifications more closely align...// She underlined "more closely" in red pen before throwing it away.</p>
<p>Beneath the rejection lies a torn-up credit card application denial. She ripped it into eight precise pieces, the tearing methodical and angry and controlled. Karen doesn't have tantrums. She has //procedures//.</p>
<<say "char-hivemind" "Hivemind">>
//The trash is a confession.// Financial strain. Solitary drinking. Failed self-improvement. Every piece of garbage is a record of a woman trying to claw her way out of a life that's closing around her. //She applied for a better job and was rejected. She applied for more credit and was denied. The only application she hasn't submitted is the one to leave. And that draft email on her laptop says she's been writing it for two years.//
<</say>>
<p><span class="delve-intel">Intel gained: The trash is a confession. Financial strain, solitary drinking, failed self-improvement.</span></p>
[[Back away from the trash->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.examinedRyanCloset to true>><</nobr>>
<div class="passage-title">The Closet</div>
<img class="scene-img" src="media/scenes/examine-ryan-closet.webp" alt="Closet with unopened gifts">
<p>The closet door hangs ajar, because Ryan doesn't close things, and clothes are heaped on the floor in a system only entropy could design. But behind the clothes, pushed against the back wall, sit gifts. Unopened.</p>
<p>A guitar case from Dale, stiff-latched, the case leather cracking from years of disuse. A birthday card is still rubber-banded to the handle: //Happy 14th, bud. Maybe we can learn together? Dad.// Dale never played guitar either. The offer was a bridge he didn't know how to build, so he bought one pre-assembled and hoped for the best.</p>
<p>A deflated soccer ball from Karen, still in the mesh bag from the sporting goods store, price tag $34.99. She bought it when Ryan was twelve, when he still went outside, and she kept the receipt tucked inside the bag, just in case. The return window has long since closed.</p>
<p>A book series from Jess, still in the store bag with the gift receipt tucked inside. Fantasy novels, the kind Ryan used to read before screens replaced everything, picked carefully. The first book has a dog-eared corner on page one, as though Ryan started it and then stopped.</p>
<p>On the top shelf is a journal. Not a school assignment but a personal one, bought with his own money, a spiral notebook with a black cover and no label. Inside, the handwriting shifts from entry to entry, some pages careful, some scrawled, some just single lines:</p>
<div class="data-panel-muted">
<p><i>Dad's trying again. The guitar is nice but he doesn't get that I'm not the boy who wanted a guitar. I'm not the boy anymore. Period. Everyone in this house talks to the version of me that existed three years ago. That kid is dead and nobody came to the funeral.</i></p>
</div>
<<say "char-hivemind" "Hivemind">>
//Every unopened gift is a conversation that never happened.// The guitar, the soccer ball, the books, each one a family member reaching toward a Ryan who no longer exists. //They keep throwing lifelines to a ghost, and the real Ryan sits in this room writing eulogies for the child they still think he is. His family stopped reaching him years ago. They just haven't stopped reaching.//
<</say>>
<p><span class="delve-intel">Intel gained: Every unopened gift is a conversation that never happened. Ryan's family stopped reaching him years ago.</span></p>
[[Close the closet->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-garage">>
<<set $ch2Events.examinedBiscuitCollar to true>><</nobr>>
<div class="passage-title">Biscuit's Tags</div>
<img class="scene-img" src="media/scenes/biscuit-collar.webp" alt="Dog collar with tags">
<p>Biscuit watches you approach her corner with tired, liquid eyes. The collar is faded red nylon, once bright, now sun-bleached and fraying at the buckle. Two tags hang from the D-ring: a city registration and a shelter ID.</p>
<p>The registration tag lists three different addresses, stamped over each other as the family moved. The first is an apartment, from before the house, before the children were old enough to remember; the second a rental across town; the third is here. Each address marks a chapter of the Hoffmans' slow, grinding attempt at upward mobility, and the dog was there for all of it.</p>
<p>The shelter ID is a six-digit number and a microchip reference. She's a rescue, not raised from a puppy or chosen from a breeder but picked from a cage. You check the tattoo inside her left ear: faded green ink, the shelter's mark. She was about three when they adopted her, which makes her eight now.</p>
<<if $player.currentHost is "dog">>
<p>Your host's memory stirs with the shelter smell, the cold concrete, the sound of other dogs barking. Then warmth: Dale's hands lifting her, Ryan's laughter high and bright, the boy only five years old. //The dog was a gift for Ryan.//</p>
<<else>>
<p>A laminated card hangs from a nail beside the leash: "BISCUIT, approx. 3 yrs at adoption, Golden Retriever mix. FAMILY THERAPY DOG." Karen's handwriting. The therapy designation explains the shelter choice, prescribed companionship for a family already fraying at the seams.</p>
<</if>>
<p>Nobody walks her. The leash has cobwebs on the hook. Dale takes her to the backyard sometimes, but the backyard is six feet of dead grass and a fence. The "therapy" was another intervention that worked briefly and then dissolved into the background noise of neglect.</p>
<p>Scratched into the wooden shelf edge near Biscuit's leash are numbers, crude, carved with a pocket knife or a nail: //142/91. 155/95. 148/93.// Blood pressure readings. Dale checks his blood pressure here, in secret, where Karen can't see the numbers climbing. The shelf is his hidden medical station, and the dog is his only witness.</p>
<<say "char-hivemind" "Hivemind">>
//Even the dog was a failed repair attempt.// Biscuit was purchased to fix something that can't be fixed with fur and obedience. She's outlived her purpose, and now she waits in the garage for walks that never come. //And Dale uses her corner as a secret medical station, blood pressure readings scratched into wood like a prisoner marking days. He knows something is wrong with his body. He won't tell Karen. He tells the shelf instead.//
<</say>>
<p><span class="delve-intel">Intel gained: Even the dog was a failed repair attempt. Dale uses her corner as a secret medical station.</span></p>
[[Leave Biscuit's corner->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $ch2Events.examinedAtticSecrets to true>><</nobr>>
<div class="passage-title">Deeper</div>
<img class="scene-img" src="media/scenes/examine-attic-secrets.webp" alt="Old love letters in attic box">
<p>You already found Megan's psychiatric referral in these boxes. But there's more, because there's always more in an attic. The deeper you dig, the older the secrets, geological layers of a family's buried history.</p>
<p>Behind Karen's "DO NOT OPEN" box, shoved against the eaves where the ceiling slopes too low for comfortable reaching, sits a flat cardboard portfolio, water-stained, the ties long since failed. Inside are Dale's drawings, dozens of them, hand-drafted furniture rendered with a draftsman's care: a dovetailed cabinet, a dining table with turned legs, a blanket chest detailed down to the hinges. The lines are clean and sure in a way his hands can't manage anymore. On the back of one, in pencil, //the shop, someday//.</p>
<p>Clipped behind the drawings is a business-license application for //Hoffman Woodworking//, filled out in full, every field but the signature line. A small-business loan estimate is paperclipped to it, the numbers worked and reworked in pencil until the margin ran out. A sticky note in Dale's handwriting reads //Call the bank Monday//. The sticky note is decades old. He never called.</p>
<p>In a separate box, beneath stacked yearbooks, is Karen's college acceptance letter. //Columbia University, Department of Economics.// The letter is pristine, handled so carefully over the years that the creases are sharp as paper cuts. A deferral form is attached, stamped //TEMPORARY DEFERRAL, ONE YEAR//. She was eighteen, and she deferred for Dale, or for pregnancy, or for something that felt urgent enough to trade an Ivy League education for a life in the suburbs. The deferral was never reversed. Columbia didn't wait.</p>
<p>At the bottom of the same box is a shoe box of letters from Dale and Karen's early dating. His handwriting is looser and younger, with none of the tremor that marks his current script. Her handwriting is girlish, with hearts dotting the i's, a detail so alien to the Karen downstairs that it reads like a forgery.</p>
<div class="data-panel-muted">
<p><i>Karen, I know I'm not what your parents wanted for you. I know I don't have the degree or the plan. But I have the job and I have tomorrow and I have you, and that's three more things than I had last year. I'll build us something. I promise. D</i></p>
</div>
<div class="data-panel-muted">
<p><i>Dale, stop apologizing for who you are. I chose you. I chose this. And when we have our own place, I'm going to cook you dinner every single night and we're going to eat it at a real table like real adults and it's going to be perfect. I promise back. K</i></p>
</div>
<p>The letters are passionate, hopeful, //unrecognizable//, two people writing futures they believed in and making promises they meant. The woman downstairs who drinks Pinot Grigio alone at midnight and the man who checks his blood pressure in secret by the dog's leash, they were these people once.</p>
<<say "char-hivemind" "Hivemind">>
//Two buried dreams, his and hers.// He had a shop he never opened, a trade he taught himself and never got to work, and Karen had Columbia, and both of them traded what they wanted for a promise scrawled on notebook paper. //The attic holds the lives they killed to build this one.// Every box is a grave. Every letter is a ghost. And the house above these boxes, where five people orbit each other in careful, practiced silence, is the monument they built on top of everything they buried.
<</say>>
<p><span class="delve-intel">Intel gained: Dale's abandoned woodworking trade and Karen's deferred Columbia degree. The attic holds the lives they killed to build this one.</span></p>
[[Close the boxes->Ch2-Attic-OldBoxes]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.karenCries to true>>
<</nobr>>
<div class="passage-title">The Kitchen, 2 AM</div>
<img class="scene-img" src="media/scenes/beast-kitchen-observe.webp" alt="Karen alone in the kitchen at night">
<p>The kitchen light is on. That shouldn't happen, because Karen's Zolpidem usually keeps her under until 6 AM. But tonight the light spills under the door, a thin yellow line across the hallway floor.</p>
<<if $player.currentHost is "cat">>
<p>You push through the kitchen door, a gesture so natural that Karen doesn't even flinch. The cat is allowed everywhere, at every hour. That's the contract.</p>
<<else>>
<p>From your vantage point, you can hear her through the walls. The sounds carry in the dead house: a chair scraping, the kettle clicking on, a long shuddering exhale.</p>
<</if>>
<p>Karen sits at the kitchen table. No laptop. No phone. Just her hands wrapped around an empty mug, staring at the refrigerator schedule, the grid of names and times and colour-coded blocks that holds her family together through sheer administrative force.</p>
<p>Her shoulders are shaking. Not dramatically, not sobs, just a tremor, like a building settling. The kind of crying that happens when you've run out of the energy required to cry properly.</p>
<<say "char-karen" "Karen">>
<i>(whispering, to no one)</i> I can't do this. I can't... <i>(breath)</i> I don't know what's wrong. Something's //wrong// and I can't...
<</say>>
<p>She presses the heels of her hands into her eyes. The kettle boils. She doesn't move to get it. It clicks off on its own and the kitchen goes quiet again except for her breathing.</p>
<<if $player.currentHost is "cat">>
<p>You jump onto the table. Karen's hand finds you immediately, fingers threading into fur, gripping almost too tight. She doesn't look at you. She talks to the cat because the cat can't answer, can't judge, can't tell Dale or the children.</p>
<<say "char-karen" "Karen">>
<i>(voice raw)</i> What am I doing wrong, Whiskers? The bills are... and Ryan won't come out of his room, and Megan's working herself to death, and Dale doesn't //see// it. He just goes to work and comes home and goes to work. And Jess. God, Jess is going to leave and never come back, and she'll be //right// to.
<</say>>
<p>She pulls you closer. Her heartbeat is rapid under the bathrobe, cortisol flooding her system, the Zolpidem fighting a losing battle against the anxiety. Her fingers tremble against your spine.</p>
<<say "char-karen" "Karen">>
<i>(quieter)</i> Something feels //off//. In the house. I can't explain it. Like... the air changed. Like something's watching. <i>(forced laugh)</i> God, listen to me. Talking to a cat about my feelings at 2 AM. This is rock bottom, Whiskers.
<</say>>
<p>She doesn't know how right she is. Something //is// watching.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Karen Hoffman. The load-bearing wall of this family.// And she's cracking. Not from anything I've done. Not directly. The cracks were there before I arrived. Financial pressure. Emotional isolation. A husband who's present but absent, children who are drifting away on their own trajectories. //I'm not breaking this family. I'm settling into the fractures that already exist.// The guilt she feels is real. The wrongness she senses, that's real too, but she'll never trace it to its source. She'll blame herself. //They always blame themselves.//
<</say>>
<p>Eventually Karen rinses the mug, sets it upside down in the rack, and squares the dish towel on its bar before she turns off the light, because even at this hour, even cracking, she leaves the kitchen ready for the morning. Her footsteps up the stairs are heavy, and the bedroom door clicks shut.</p>
<p>The schedule on the fridge glows faintly in the moonlight through the window, and Ryan's column is the one that gives it away, a run of empty blocks where the others are dense with colour-coded ink. Karen has stopped writing him in. That blank stretch of grid is the only place in the house where she lets herself admit anything is wrong.</p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.ryanEmerges to true>>
<<addFamilySuspicion "karen" -1>>
<</nobr>>
<div class="passage-title">A Rare Sighting</div>
<img class="scene-img" src="media/scenes/beast-kitchen-observe.webp" alt="Ryan in the kitchen">
<p>A door opens upstairs. Not Megan's careful click, not Jess's precise turn of the handle. This one //creaks//. Ryan's door. And then: footsteps on the stairs. Slow. Hesitant. The footsteps of someone entering hostile territory.</p>
<p>Ryan appears in the kitchen doorway. He blinks in the light like a cave creature seeing the sun for the first time. His hoodie is two sizes too big. His hair hasn't been washed in days. He stands there for a moment, scanning the room, confirming that no one is lying in wait.</p>
<<if $player.currentHost is "cat">>
<p>You're on the counter beside the toaster. Ryan's eyes find you. He nods, the kind of acknowledgment you give to the only other living thing you don't have to perform for.</p>
<<say "char-ryan" "Ryan">>
<i>(to the cat)</i> Hey.
<</say>>
<p>He opens the fridge. Stares into it. Pulls out bread, deli turkey, mustard. Begins assembling a sandwich with the concentrated focus of a bomb technician.</p>
<<else>>
<p>He moves to the fridge with the urgency of a foraging animal, quick, purposeful, ready to bolt. Bread. Turkey. Mustard. The sandwich comes together in under a minute.</p>
<</if>>
<p>And then Karen appears at the bottom of the stairs. She must have heard the footsteps, her maternal radar never fully switches off, not even through the Zolpidem haze.</p>
<<say "char-karen" "Karen">>
<i>(freezing in the doorway, voice carefully neutral)</i> Ryan! You're, do you want me to make you something? I have leftover casserole, or I could heat up...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not looking up)</i> Just getting a sandwich, Mom.
<</say>>
<p>The hope in her voice is painful. She takes a step into the kitchen. Then stops. She knows, on some instinct she can't articulate, that if she pushes, he'll retreat. So she stands there, arms crossed over her bathrobe, watching her son make a sandwich, and she //radiates// a desperate, aching joy.</p>
<<say "char-karen" "Karen">>
<i>(sitting down, as casually as she can manage)</i> There's chips in the pantry. If you want.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pause)</i> ...okay.
<</say>>
<p>He gets the chips. He sits at the table, not across from Karen, but at the far end, angled away. He eats. She pretends to check her phone. Neither speaks. The silence is //enormous//, but it's not hostile. It's the silence of two people occupying the same room without conflict, and for this family, that's practically a miracle.</p>
<p>After seven minutes, Ryan puts his plate in the sink. He even rinses it.</p>
<<say "char-karen" "Karen">>
<i>(softly)</i> Night, sweetheart.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(already at the stairs)</i> ...night.
<</say>>
<p>His door closes. Karen sits at the table for a long time, staring at the place where he was sitting. She's smiling. Actually //smiling//. She picks up her phone and starts to text Dale, then stops, deletes it, puts the phone down. Some things you keep for yourself.</p>
<<say "char-hivemind" "Hivemind">>
//Interesting.// The boy emerged voluntarily. No crisis, no summons, just hunger and the calculated risk that the kitchen would be empty. //He was wrong about that.// But Karen's response was, restrained. She didn't interrogate. Didn't lecture. Didn't //push//. And it worked. Seven minutes of coexistence. For Ryan Hoffman, that's a marathon.
Karen's suspicion has dropped. The hope of reconnection overrides the unease she's been accumulating. //Hope is a vulnerability.// When you believe things are getting better, you stop looking for evidence that they're getting worse.
<</say>>
<p><span class="consume-success">Karen suspicion -1. Hope overrides vigilance.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.jessMeganFight to true>>
<</nobr>>
<div class="passage-title">Pressure Points</div>
<img class="scene-img" src="media/scenes/symbiotic/beast-kitchen-fight.webp" alt="Two sisters arguing at the kitchen sink in the morning light, their mother watching from the doorway">
<<if $adaptations.dog.unlocked.includes("territory_control")>><p>//Territory Control intercepts: the dog settles itself in the doorway as Megan tries to pass, not blocking, just //present//, and Megan hesitates, changes direction, and leaves the living room clear for the operation.//</p><</if>>
<p>It starts over the dishes, Jess washing and Megan drying, an arrangement that looks cooperative right up until you read the body language, the shoulders held too tense and the movements too precise, the careful choreography of two people working hard not to touch.</p>
<<say "char-megan" "Megan">>
<i>(casual, too casual)</i> You left your textbooks all over the living room again. Mom almost tripped on your anatomy book.
<</say>>
<<say "char-jess" "Jess">>
<i>(scrubbing harder)</i> I'll move them. Sorry.
<</say>>
<<say "char-megan" "Megan">>
You always say that.
<</say>>
<<say "char-jess" "Jess">>
<i>(turning)</i> What's your problem this morning?
<</say>>
<<say "char-megan" "Megan">>
<i>(setting down the dish towel)</i> My //problem// is that I pulled a double yesterday so Mom doesn't have to cover my phone bill, and I come home to find you've taken over the entire living room like it's your personal library.
<</say>>
<<say "char-jess" "Jess">>
I'm studying for the MCAT, Megan. That's not exactly a hobby.
<</say>>
<<say "char-megan" "Megan">>
<i>(voice rising)</i> And I'm killing myself at a minimum-wage job so this family can keep the lights on. So you //can// study. Do you ever think about that? That someone has to pay for your future while you're building it?
<</say>>
<<say "char-jess" "Jess">>
<i>(cold)</i> I'm killing myself //for// this family's future. When I'm a doctor, I can...
<</say>>
<<say "char-megan" "Megan">>
When. Always //when//. That's four years of medical school away, Jess. Minimum. Do you know what //now// looks like? Now looks like me serving coffee to people who tip two dollars and think they're generous. Now looks like Mom doing three people's accounting work for one person's salary. //Now// is what's killing us.
<</say>>
<p>Karen appears in the doorway, drying her hands on a towel, and takes in the scene with the practiced eye of a woman who has refereed a thousand of these.</p>
<<say "char-karen" "Karen">>
<i>(measured)</i> Girls. Volume.
<</say>>
<<say "char-jess" "Jess">>
She started...
<</say>>
<<say "char-megan" "Megan">>
I'm //stating facts//, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(firmer)</i> Both of you. Not now. Your father only just got to sleep.
<</say>>
<p>The fight does not end so much as go underground, Megan hanging the dish towel with exaggerated precision and walking off to her room while Jess turns back to the sink and scrubs a pot that is already clean, and Karen stands in the space between them, the mediator in an armistice that satisfies no one.</p>
<<if $player.currentHost is "cat">>
<p>From the hallway the cat watches, and higher up, half-hidden at the top of the stairs, so does Ryan, his door cracked open and his eyes catching the kitchen light for a moment before he slips back out of sight.</p>
<<else>>
<p>From your vantage point you catch every word, and from somewhere above comes the small creak of a door and the sound of feet retreating, Ryan listening from the stairs and withdrawing before anyone thinks to look up.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Everything this family is afraid to say to each other is out on the counter now, and not one of them put it there for me.// The money is the root. Megan spends her present to buy Jess a future, and neither girl can stand for a second inside the other's morning. Karen holds the middle and is running low on whatever it is she holds it with. Dale sleeps through it. Ryan watches from the stairs, which is only a quieter way of being gone.
//The cracks I have been working at are widening on their own now.// None of them will say the true thing out loud, that the house was coming apart long before anything crawled into its walls. I do not have to make the fracture. I only have to read where it runs, and all of it runs back to the money.
<</say>>
<<addSkillPoints 1 "jessMeganFight">>
<p><span class="biomass-gain">+1 Skill Point, family dynamics intel</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.daleWorry to true>>
<<if $familySuspicion.dale.level lt 2>>
<<set $familySuspicion.dale.level to 2>>
<</if>>
<</nobr>>
<div class="passage-title">The Quiet Hours</div>
<img class="scene-img" src="media/scenes/beast-night-prowl.webp" alt="Dale in the dark kitchen">
5:12 AM. The car pulls into the driveway. The engine dies. A door opens and closes with the careful restraint of a man who knows his family is sleeping. Keys jingle. The front door opens. Dale's boots are heavy on the linoleum, he always forgets to take them off until he's already in the kitchen.
<p>He opens the fridge. Pulls out a beer. Cracks it with one hand while the other reaches for the light switch. The fluorescent flickers, hums, stabilises. Dale stands there, still in his work jacket, and looks around the kitchen.</p>
<p>Something is off. He can feel it.</p>
<<say "char-dale" "Dale">>
<i>(murmuring, scanning the room)</i> ...huh.
<</say>>
<p>He can't name it. That's the worst part, for Dale, a man who fixes things with his hands, an undefined problem is no problem at all. But the instinct nags. The cat is sitting on the kitchen counter, not unusual, but the cat is //looking at him//. Not the lazy, disinterested gaze of a well-fed house cat. Something more //focused//.</p>
<<if $player.currentHost is "cat">>
<p>You hold his gaze for exactly two seconds, long enough to seem normal, short enough not to trigger his instinct further. Then you yawn, stretch, and hop off the counter. A cat being a cat.</p>
<<say "char-hivemind" "Hivemind">>
//Close.// Dale's not smart, not book-smart, not analytical. But he has //animal instinct//. The night guard's survival radar. He can feel when a room is wrong before he sees what changed. //I need to be more careful around him. The others I can manage. Dale, I have to avoid.//
<</say>>
<<else>>
<p>You stay hidden. Dale's eyes sweep the room, the counter, the window, the hallway. He's looking for something he can point to. Something concrete.</p>
<</if>>
<p>He finds the scratch on the hallway wall, a long, thin groove at baseboard height. He crouches, runs a thumb along it.</p>
<<say "char-dale" "Dale">>
<i>(to himself)</i> When did that happen?
<</say>>
<<if $animalNetwork.hosts["dog"]>>
<p>Biscuit pads in from the garage, tail wagging. Dale's face softens. He scratches behind her ears.</p>
<p>//Maul readies the dog's body. Dale's hand reaches for Biscuit. The dog's tail wags, but the muscles underneath are coiled. If Dale found something he shouldn't have, the dog is the first line of defense.//</p>
<<say "char-dale" "Dale">>
You been good, girl? Keeping the house safe? <i>(pause, looking at the scratch)</i> ...something's different. Can't put my finger on it.
<</say>>
<p>He shrugs. Takes a long pull from the beer. He's too tired to think about it. He'll forget by morning, file it in the same mental drawer as creaking pipes and the wind rattling the fence. The drawer labelled //Old House, Weird Noises//.</p>
<<else>>
<p>He stares at the scratch for a long moment. Then he shrugs, takes a long pull from the beer, and heads for the bedroom. He's too tired to think. He'll forget by morning.</p>
<</if>>
<<set $familySuspicion.dale.alertness to "medium">>
<<set $ch2Events.daleAlertExpiry to $day + 3>>
<<say "char-hivemind" "Hivemind">>
//Dale noticed something.// Not enough to act on, not yet. But the seed is planted. He'll be more alert now, in the way a man is more alert after he hears a noise in the dark. Not afraid. Just... //awake//. Dale Hoffman works nights. He comes home when the rest of the family is sleeping, when the house is supposed to be still. //If anyone is going to catch me out of position, it's the man who walks through the door at 5 AM.//
<</say>>
<p><span class="consume-fail">Dale's alertness has increased to medium for the next three days. He's watching, even if he doesn't know what for.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenFindsEvidence to true>>
<<addFamilySuspicion "karen" 1>>
<</nobr>>
<div class="passage-title">The Smell</div>
<p>Karen is stripping the bed. It's sheet-changing day, one of the fixed rituals she runs the house on. She pulls the fitted sheet from the mattress corners with practised efficiency, bundles it into the laundry basket, and reaches for the pillowcases.</p>
<p>She stops.</p>
<p>She brings the pillowcase to her nose and inhales, frowns, inhales again.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-the-smell.webp" alt="Karen in the master bedroom by day, holding a white pillowcase up close to her face with both hands, brow furrowed and unsettled, the half-stripped bed and a laundry basket of bundled sheets behind her.">
<<say "char-karen" "Karen">>
<i>(to herself)</i> What //is// that?
<</say>>
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility>>
<p>//Neural Link fires an alert: Karen's cortisol spike registered through the dog's nose, the cat's proximity sense, and the rat's vibration detector simultaneously. She found something.//</p>
<</if>>
<p>It's sweet, chemical, //wrong//. Not perfume, not fabric softener, not Dale's aftershave or Megan's shampoo, nothing in her whole inventory of household smells. Something organic and artificial at the same time, like overripe fruit mixed with rubbing alcohol.</p>
<<if $player.currentHost is "cat">>
<p>You watch from the bedroom doorway. Karen is holding the pillowcase at arm's length now, examining it in the light from the window. There's nothing //visible//, no stain, no residue. But the scent clings.</p>
<<say "char-hivemind" "Hivemind">>
//Pheromone residue.// The coat leaves trace compounds on fabric. I knew that, but I underestimated her nose. //Karen Hoffman is the most dangerous person in this house.// Not because she's strong or smart or suspicious, but because she //pays attention//. She catalogues. She compares. She builds patterns from data points that other people dismiss as noise.
<</say>>
<<else>>
<p>From the hallway, you hear the snap of the pillowcase being pulled free. The rustle of clean sheets being unfolded. She's washing it. Destroying the evidence.</p>
<<say "char-hivemind" "Hivemind">>
//She smelled it.// The pheromone trace. She can't identify it, but she's filed it away. Karen doesn't forget. She accumulates, one data point at a time, building a picture she can't see yet but //feels// taking shape.
<</say>>
<</if>>
<p>Karen doesn't tell Dale. She doesn't call anyone. She just strips the bed completely, sheets, pillowcases, mattress protector, and carries the whole bundle downstairs to the washing machine. Hot water. Extra detergent. The cycle of a woman scrubbing away something she can't name.</p>
<<say "char-karen" "Karen">>
<i>(loading the machine, quiet)</i> Sweet. Like... I don't know. Like nothing I've smelled before. <i>(pause)</i> Probably the cat. Probably just the cat sleeping on the bed.
<</say>>
<p>She doesn't believe it, and she adds the scent to a list she keeps without writing down: the cat that holds her gaze too long, the groove at the baseboard nobody scratched, the prickle at the back of her neck in empty rooms. Until tonight those were three unrelated oddities. The sweetness on the pillowcase is the fourth, and four is the number where a person stops calling things coincidence.</p>
<<say "char-hivemind" "Hivemind">>
//She washed it on the hottest cycle she has.// That is the tell. You do not scrub a pillowcase that hard for a smell you believe is the cat. //She is not investigating yet. But she has started destroying things that unsettle her, and a woman who destroys evidence is one step from a woman who goes looking for it.//
<</say>>
<p><span class="consume-fail">Karen suspicion +1. She's cataloguing anomalies.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.meganNotices to true>>
/* Permanently bump Megan's base alertness one tier so her recurring events fire
faster and the change survives the phase-advance escalation/restore check. */
<<set _alertUp to { low: "medium", medium: "high", high: "veryhigh", veryhigh: "veryhigh" }>>
<<set $familySuspicion.megan.baseAlertness to _alertUp[$familySuspicion.megan.baseAlertness] or "high">>
<<set $familySuspicion.megan.alertness to $familySuspicion.megan.baseAlertness>>
<</nobr>>
<div class="passage-title">The Cat's Eyes</div>
<img class="scene-img" src="media/scenes/symbiotic/cat-eyes-megan.webp" alt="A young woman with brown wavy hair curled on a grey couch in striped amber evening light, leaning in inches from an orange tabby cat and studying it with unease, the cat sitting unnaturally still and staring back at her">
<p>Megan is on the couch, legs tucked under her, scrolling through her phone with the mechanical thumb-swipes of someone who isn't really looking at anything. The TV is on, some reality show she's not watching. The house is quiet around her. Karen is in the kitchen. Dale is sleeping. The evening light comes through the curtains in long, amber stripes.</p>
<<if $player.currentHost is "cat">>
<p>You jump onto the couch beside her. She doesn't react, the cat is always somewhere, always appearing, part of the furniture of her life. Her hand drops automatically to your back, fingers running along the spine.</p>
Then she stops.
<p>She looks at you. //Really// looks. Not the casual glance of a person acknowledging a pet, a //study//. Her eyes narrow. Her hand stays on your back, fingers pressed against the fur, feeling the warmth beneath.</p>
<<say "char-megan" "Megan">>
<i>(slowly)</i> You're acting weird, Whiskers. Did Mom change your food?
<</say>>
<p>She leans closer. Her face is inches from yours. Her eyes search, and for a moment, something //flickers// in her expression. Recognition. Not of what you are, not consciously, but of the //wrongness//. The intelligence behind the amber eyes that shouldn't be there. The stillness that isn't feline but //calculating//.</p>
<<say "char-megan" "Megan">>
<i>(whispering)</i> You're... you're looking at me like you //understand//.
<</say>>
<p>The moment stretches. The room is very still. The TV chatters in the background. Megan's pupils are dilated, the involuntary dilation of fear or fascination, the brain detecting a pattern it can't process.</p>
<p>Then she laughs. Shakes her head. Breaks the contact.</p>
<<say "char-megan" "Megan">>
<i>(pulling away, embarrassed)</i> God, I need to stop working doubles. I'm projecting emotional intelligence onto a //cat//. <i>(scratching behind your ears)</i> You're just a cat, Whiskers. A weird, stare-y cat.
<</say>>
<p>She goes back to her phone. The moment passes. But her hand stays on your back, and you can feel her pulse through the contact. It's faster than it should be.</p>
<<say "char-hivemind" "Hivemind">>
//She almost saw it.// For three seconds, Megan Hoffman looked through the cat's eyes and perceived something that shouldn't be there. The intelligence. The watchfulness. The //intent//. She dismissed it, humans always dismiss what they can't explain, but the seed is planted. She'll watch the cat more carefully now. Not with suspicion, but with //curiosity//. And curiosity is harder to manage than fear, because curious people don't look away.
<</say>>
<<else>>
<p>You can hear her from your position. She's talking to the cat, Whiskers having jumped onto the couch beside her, and the one-sided conversation drifts through the house.</p>
<<say "char-megan" "Megan">>
<i>(to the cat)</i> You're acting weird lately. You know that? Like you're //watching// everything.
<</say>>
<p>A pause. Then a laugh, self-conscious.</p>
<<say "char-megan" "Megan">>
Great. I'm having a heart-to-heart with a cat. Peak Megan.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Megan is perceptive.// More than Karen, in some ways. Karen catalogues data, but Megan //feels// wrongness. She won't articulate it. She'll dismiss it. But her subconscious has flagged the cat, and that flag doesn't come down easily.
<</say>>
<</if>>
<p><span class="consume-fail">Megan's alertness temporarily elevated. She'll be watching the animals more closely.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.powerOutage to true>>
<</nobr>>
<div class="passage-title">Blackout</div>
<img class="scene-img" src="media/scenes/beast-night-prowl.webp" alt="The house plunged into darkness">
11:47 PM. The house //blinks//.
<p>Every light, every screen, every humming appliance dies at once. The refrigerator's compressor shudders to silence. Ryan's monitors flash black. The nightlight in the hallway, Karen's concession to the dark, winks out. The digital clock on the microwave goes blank.</p>
<p>Total darkness. Total silence.</p>
<p>Then the chaos begins.</p>
<<say "char-karen" "Karen">>
<i>(from the master bedroom, sharp)</i> Dale? Dale! The power's out... <i>(remembering)</i> right, he's at work. Ryan? Megan?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(from his room, panicked)</i> My PC, shit, shit, my //saves//... I didn't... <i>(the sound of him fumbling for his phone flashlight)</i>
<</say>>
<p>A door opens upstairs. Megan's voice, thick with sleep.</p>
<<say "char-megan" "Megan">>
Mom? What happened?
<</say>>
<<say "char-karen" "Karen">>
Power's out. Everyone stay where you are, I'm getting a flashlight.
<</say>>
<p>The sound of Karen stumbling into furniture. A muffled curse. A drawer opening, items shifting. The click-click-click of a flashlight that doesn't work. A second flashlight, this one catches, throwing a thin beam that swings wildly through the hallway.</p>
<<if $player.currentHost is "cat">>
<p>The cat's eyes adjust instantly. The world renders in silver and grey, every outline sharp, every surface mapped. While the humans stumble and collide with furniture, you move through the dark house like water through a pipe.</p>
<<if $animalNetwork.hosts["gecko"]>>
<p>In Ryan's room, the gecko is a pale comma on the wall, invisible to Ryan, perfectly positioned. Its eyes catch what little light bleeds through the window.</p>
<</if>>
<<if $animalNetwork.hosts["rat"]>>
<p>In the walls, the rat navigates by whisker-touch, moving through passages that don't need light to begin with. The darkness changes nothing for a creature that lives in it.</p>
<</if>>
<<if $animalNetwork.hosts["dog"]>>
<p>In the garage, Biscuit's ears rotate like satellite dishes. The dog doesn't need eyes, scent and sound paint a picture more detailed than sight ever could.</p>
<</if>>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's ears track every sound: Karen's stumbling, Ryan's cursing, Megan's careful footsteps. The nose fills in what the eyes can't see. The darkness is an inconvenience for humans. For the dog, it's just... less colour.</p>
<<else>>
<p>In the dark, your small body is invisible. You move freely while the humans freeze and fumble, relying on their weakest sense in the one environment where it fails completely.</p>
<</if>>
<p>Twenty seconds. That's all it lasts. Twenty seconds of total dark, and for the network, total //advantage//.</p>
<p>Then the power surges back. Lights snap on. Ryan's monitors flicker through their boot sequence. The refrigerator shudders to life. The microwave blinks 00:00. Karen's flashlight beam is suddenly redundant.</p>
<<say "char-karen" "Karen">>
<i>(calling out)</i> Okay. It's back. Everyone okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(devastated)</i> I lost an hour of work. An //hour//.
<</say>>
<<say "char-megan" "Megan">>
<i>(yawning, already retreating)</i> I'm going back to sleep.
<</say>>
<p>The house resettles. Karen checks the fridge, the oven, the thermostat. She resets the microwave clock. The routine is restored. The twenty seconds of darkness are already being forgotten.</p>
<<say "char-hivemind" "Hivemind">>
//Twenty seconds.// That's all it took. The humans lost the one sense they lean on and came apart, fumbling at the furniture, calling each other's names into a room they could no longer read. //And the network?// I am built from creatures that were never made for light, and the dark is where they have always done their best work. //In the dark, I am the only thing in this house that can still see.// Twenty seconds was enough to reposition every host and map every body worth mapping. The humans stumble. //We navigate.//
<</say>>
<<addSkillPoints 1 "powerOutage">>
<p><span class="biomass-gain">+1 Skill Point, tactical advantage demonstrated</span></p>
<<if setup.activeHostCount() gte 4>>
<<addSkillPoints 1 "powerOutageFullNetwork">>
<p><span class="biomass-gain">+1 Skill Point, coordinated dark navigation with full network</span></p>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.biscuitSick to true>>
<<addSuspicion "hoffmanHouse" 1>>
<</nobr>>
<div class="passage-title">Warm Nose</div>
<img class="scene-img" src="media/scenes/beast-kitchen-observe.webp" alt="Karen examining Biscuit">
<p>Karen notices during the morning routine. Biscuit is at her food bowl, but she's not eating. The golden retriever stands over the kibble, head low, tail still. No wagging. No eager snuffling. Just... standing.</p>
<<say "char-karen" "Karen">>
<i>(pausing mid-coffee-pour)</i> Biscuit? What's wrong, girl?
<</say>>
<p>She sets down the mug and crouches beside the dog. Her hand goes to Biscuit's nose, a gesture as old as pet ownership itself.</p>
<<say "char-karen" "Karen">>
<i>(frowning)</i> You're warm. <i>(feeling the ears, the belly)</i> Way too warm.
<</say>>
<<if $player.currentHost is "dog">>
<p>You feel it from the inside, a low-grade inflammation, the body's immune system reacting to the modifications you've made. The adaptation pathways have reshaped muscle fibres, rewired neural connections, optimised sensory processing. The dog's biology accepted it, but not without cost. The fever is the body's protest. A memo from the immune system: //something changed, and I don't know what//.</p>
<p>Karen's hands are on you. She's thorough, checking the gums, the eyes, the lymph nodes behind the jaw. Her fingers find the slight swelling there and press gently.</p>
<<say "char-hivemind" "Hivemind">>
//The adaptations are taking a physical toll.// I pushed too fast. The dog's immune system is flagging the modifications, not rejecting them, but //noticing// them. The fever will pass. But Karen won't forget. //And if she takes Biscuit to the vet...//
<</say>>
<<else>>
<p>From your position, you watch Karen examine the dog. Her hands are careful, methodical, she's done this before, with children and animals alike. She checks the gums, the eyes, presses behind the jaw.</p>
<</if>>
<p>Biscuit whimpers. Not a pain sound, a confusion sound. The dog doesn't understand why her body feels wrong. She leans into Karen's hand, seeking comfort from the only source she trusts.</p>
<<say "char-karen" "Karen">>
<i>(standing, hands on hips)</i> She didn't eat yesterday either. And she's been... I don't know. //Off//. Walking funny. Tilting her head like she's listening to something.
<</say>>
<p>She pulls out her phone. Opens the contacts. Scrolls to Dr. Patel, the family vet.</p>
<<say "char-karen" "Karen">>
<i>(thumb hovering over the call button)</i> ...maybe I should take her in. Just to be safe.
<</say>>
<p>She doesn't call. Not yet. She closes the phone, fills the water bowl instead, and watches Biscuit drink with the worried attention of a woman who has one more thing to worry about.</p>
<<say "char-karen" "Karen">>
<i>(stroking Biscuit's head)</i> If you're not eating by tomorrow, we're going to the vet. Both of us hate the vet, so let's try to avoid that, okay?
<</say>>
<<say "char-hivemind" "Hivemind">>
//The vet.// Dr. Patel would examine Biscuit. Blood work. Temperature. Possibly an X-ray if the symptoms persist. The blood would show elevated white cell counts. The temperature would be 0.4 degrees above normal. The neural modifications wouldn't show on an X-ray, but a thorough vet might notice the behavioural changes. The //wrong// kind of alertness. The response patterns that don't match a golden retriever's standard cognition.
//I have one day.// Either the fever breaks on its own, or I need to consider whether the dog's adaptations are worth the exposure risk. Every modification makes the host more useful, and more //visible//.
<</say>>
<p><span class="consume-fail">Household suspicion +1. Karen is watching the animals more closely.</span></p>
<<if $beastRoute is "symbiotic">>
[[Return to network hub->Ch2-Beast-NetworkHub]]
<<else>>
[[Return->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.newsReportSeen to true>>
<<if $daleCountermeasure lt 1>>
<<addSuspicion "hoffmanHouse" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Breaking News</div>
<img class="scene-img" src="media/scenes/beast-family-observe.webp" alt="TV glow in the living room">
<p>The TV is on, Karen's background noise, the evening news she half-watches while folding laundry. But tonight a headline freezes her hands mid-fold.</p>
<<say "char-karen" "Karen">>
<i>(staring at the screen)</i> Dale. Come here.
<</say>>
<p>The anchor is reading from a teleprompter, the kind of practiced calm that means something bad happened:</p>
<p>//"...local biotech firm BioGenesis confirmed a security incident at their research facility late Sunday night. Company spokesperson declined to comment on the nature of the breach, citing an ongoing internal investigation. No injuries have been reported. The facility remains operational..."//</p>
<p>Karen turns to Dale. He's standing in the doorway, still in his work jacket.</p>
<<if $daleCountermeasure gte 1>>
<p>His face is perfectly blank. He shrugs.</p>
<<say "char-dale" "Dale">>
Probably just an alarm test. Happens all the time. They had one not long ago, some sensor in the east wing went screwy.
<</say>>
<p>Karen studies him for a moment. Dale meets her eyes, steady, unconcerned. The conditioned calm holds. She turns back to the TV and shakes her head.</p>
<<say "char-karen" "Karen">>
They never report alarm tests on the news.
<</say>>
<<say "char-dale" "Dale">>
<i>(sitting down, picking up the remote)</i> Slow news night. You know how they are.
<</say>>
<p>She lets it go. The laundry resumes. Dale changes the channel to a basketball game, and the BioGenesis logo disappears from the screen.</p>
<<else>>
<p>His face has gone pale, his jaw tightening as one hand grips the doorframe.</p>
<<say "char-dale" "Dale">>
<i>(voice too flat)</i> Yeah... yeah, there was something. I don't know. Cameras picked up something weird. They called everyone in for statements.
<</say>>
<<say "char-karen" "Karen">>
<i>(turning fully)</i> What do you mean, "something weird"? You work //security// there, Dale. What happened?
<</say>>
<<say "char-dale" "Dale">>
<i>(rubbing the back of his neck)</i> I, look, I can't talk about it. NDA stuff. It's nothing. It'll blow over.
<</say>>
<p>Karen's eyes narrow. She doesn't believe him. She adds this to her catalogue, the growing list of things that don't add up. Dale retreats to the garage before she can ask more questions.</p>
<p><span class="consume-fail">Household suspicion +1. Karen noticed Dale's reaction.</span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The breach is public now. A spokesperson with a script and an internal investigation behind it.// What I notice is the wording. //Security incident//, not //containment failure//. They are choosing the smaller word on purpose, which means they already know it is the larger thing. //The footage from Sunday night has been pulled. Someone is sitting in a room watching the loading dock, frame by frame, looking for the moment the pod went dark.//
<</say>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.detectivesVisit to true>>
<<if $daleCountermeasure lt 1>>
<<addSuspicion "hoffmanHouse" 2>>
<<addFamilySuspicion "karen" 1>>
<<elseif $daleCountermeasure is 1>>
<<addSuspicion "hoffmanHouse" 1>>
<<addFamilySuspicion "karen" 1>>
<<else>>
<<addFamilySuspicion "karen" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Visitors</div>
<img class="scene-img" src="media/scenes/beast-family-observe.webp" alt="Front door opening">
<<nobr>>
<<set _footageGone to ($permanentDone.erasedFootage or ($operationsCompleted and $operationsCompleted.piggybackLab))>>
<<set _suppressed to ($houseState.hvacCompromised or $familySuspicion.karen.alertness is "low")>>
<<set _karenHigh to ($familySuspicion.karen.alertness is "high" or $familySuspicion.karen.alertness is "veryhigh")>>
<</nobr>>
<p>The doorbell rings at 2:15 PM. Karen dries her hands on her apron and walks to the front door. Through the frosted glass: two shapes, standing too still to be a delivery.</p>
<p>Two sets of credentials come up at the same unhurried height the moment the door opens, held just long enough to be read.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(calm, unhurried, eyes already past her into the hallway)</i> Mrs. Hoffman. Special Agent Reyes, this is Agent Park. We're following up on an incident at the BioGenesis facility, where your husband works the night shift. A few minutes of his time, nothing more.
<</say>>
<<say "char-karen" "Karen">>
<i>(polite, a half-second of recalculation behind it)</i> ...of course. Dale? Dale, it's for you.
<</say>>
<p>Dale comes to the top of the stairs because he heard the bell, and he stops there a fraction too long when he sees the badges, then comes down the rest of the way with his hands already looking for his pockets.</p>
<<if $player.currentHost is "cat">>
<p>The cat is on the hallway table behind Karen, tail curled around its paws, watching the two agents with the flat patience of a thing that has nothing to hide. Park's eyes flick to it once and move on.</p>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's bark comes sharp from the garage, the territorial one, and Karen winces and says that's just the dog, she doesn't like strangers.</p>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(once Dale is in the doorway, conversational, like they have all afternoon)</i> Mr. Hoffman. Sunday night, the facility had a containment failure. A research specimen left the building. Nothing the public needs to hear about, and nothing for your wife to worry over, but it's the kind of thing we have to put a clean timeline around. You were the officer on the floor that night, so we're talking to the people who were inside, one by one, building back the hours nobody was writing down. Walk us through your shift.
<</say>>
<<if _footageGone>>
<<say "char-park" "Agent Park">>
<i>(not looking up from the notebook, like it's barely worth saying)</i> Should mention. The camera archive for your shift came back corrupted. Whole night, gone, just a bad-sector flag where the footage should be. <i>(now he looks up)</i> Your badge tells a cleaner story, though. Logged in at the start, on the floor the whole eight hours, logged out at the end. Far as the building's concerned, you were the only working camera in it that night. So whatever you remember counts for a lot more than it usually would.
<</say>>
<</if>>
<<if $daleCountermeasure gte 2>>
<<say "char-dale" "Dale">>
<i>(easy, the rehearsal nowhere in his voice)</i> Quiet night. Walked the loops, signed the sheets, nothing on the boards. <i>(a thoughtful beat, offering it up)</i> Only odd thing, I flagged a calibration drift on the north sensors after, could've thrown a false alarm somewhere. And the transport log had a late entry, a transfer south, but that's above my pay grade. I watch doors.
<</say>>
<p>Reyes nods, the kind of nod that files a thing without believing it yet. Park writes it down. Whatever they came hoping to catch in Dale's face, his face does not give it to them.</p>
<<elseif $daleCountermeasure is 1>>
<<say "char-dale" "Dale">>
<i>(too careful, the words coming out one at a time)</i> It was. Normal. Quiet. I did my loops, I didn't, I didn't see anything out of the ordinary.
<</say>>
<p>It is not what he says, it is the pauses between, the jaw working, the hands that will not settle in his pockets. Reyes does not push. Park watches him the way you watch a door you expect to open again, and writes something short.</p>
<<else>>
<<say "char-dale" "Dale">>
<i>(too fast, the night spilling out of him)</i> There was a breach, a containment thing, something got out, a rat, I'm not, I'm not supposed to talk about it, but you already know all that, so...
<</say>>
<p>Karen gives him a look that could stop a freight train. His mouth closes. But Reyes has gone very still and very pleasant, and Park has stopped writing, which is somehow worse than the writing.</p>
<<say "char-dale" "Dale">>
<i>(backpedalling into the silence)</i> I mean, it was probably nothing. Lab animals get loose. Happens.
<</say>>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(half-turned to leave, the question dropped over his shoulder like the afterthought it isn't)</i> Last thing. Since that night, anything strange around the house? Pets off their routine, anyone in the family not quite themselves. People carry these things home without meaning to.
<</say>>
<<if _suppressed>>
<<say "char-karen" "Karen">>
<i>(easy, untroubled, already drifting the door toward closed)</i> No, nothing like that. Everything here's been completely normal. <i>(warm, final)</i> Can I get you anything before you head off?
<</say>>
<p>It rolls off her without leaving a mark. Whatever the question was fishing for, Karen does not have it to give, and does not go looking for it.</p>
<<elseif _karenHigh>>
<<say "char-karen" "Karen">>
<i>(slower, something assembling itself as she hears herself say it)</i> ...now that you mention it. The cat's been strange. Sits on the counter and just watches us. The dog won't settle at night. And the kids have been... <i>(she catches herself, but it is already out)</i> Off. Since around then, actually. I hadn't lined it all up until you put it that way.
<</say>>
<p>Park writes for longer than the answer seems to warrant. Reyes says nothing, only looks at her a moment past comfortable, then thanks her.</p>
<<else>>
<<say "char-karen" "Karen">>
<i>(arms folding, turning the question back across the threshold)</i> What exactly got out, Agent? You keep saying specimen. Is it dangerous? I've got three kids in this house, so if there's something I ought to know, now would be the time to say it.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(smooth, the door closing on the answer)</i> Nothing for you to lose sleep over, ma'am. Standard caution, standard questions. We appreciate the time.
<</say>>
<</if>>
<p>They walk back to a plain sedan parked a careful three houses down. Park finishes a line before he gets in. Karen watches from the window until they pull away.</p>
<<if $daleCountermeasure lt 1>>
<p><span class="consume-fail">Household suspicion +2. Karen suspicion +1. Dale mentioned the breach out loud.</span></p>
<<elseif $daleCountermeasure is 1>>
<p><span class="consume-fail">Household suspicion +1. Karen suspicion +1.</span></p>
<<else>>
<p><span class="consume-fail">Karen suspicion +1.</span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Park wrote more than the answers were worth, and Reyes asked a man to walk through a night he already has a timeline for. They did not come for facts. They came to watch a face under the facts, and faces are where this house is thin.//
<<if _footageGone>>
//And the footage from that shift is a corrupted sector now, so the badge is the whole story, and the badge has Dale logged in, on the floor, the last working camera in the building on the one night it mattered. Erasing the tape did not erase him. It left him standing alone in the gap where the tape used to be.//
<</if>>
<<if _karenHigh>>
//Karen, trying to be useful, handed them a thread. The cat, the dog, the children gone quiet. She does not know she just described me to a federal agent. Neither does he. Yet.//
<</if>>
//They will knock again. The soft questions are only the survey. They are deciding which door is worth the hard ones.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.missingPerson to true>>
<<addSuspicion "hoffmanHouse" 4>>
<</nobr>>
<div class="passage-title">The Phone Call</div>
6:47 PM. Dale's phone rings in the middle of dinner. He glances at the screen, and whatever is on it empties his face in a single second.
<<say "char-dale" "Dale">>
<i>(already standing, his chair scraping back)</i> I gotta take this.
<</say>>
<p>He is into the hallway before Karen can ask who it is. The family hears his voice through the wall, low and careful, the words indistinct, but the shape of it is wrong, too many pauses, far too much listening for a man who hates the phone. Karen sets down her fork. She is listening now. They all are.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-phonecall.webp" alt="Dale standing in the hallway doorway with a phone pressed hard to his ear, shoulders tight and face drained, while at the dinner table in the foreground Karen has set down her fork and turned in her chair to listen">
<p>What reaches the table is only the cadence of it, Dale's lowered voice and the long silences between, but the hivemind is folded into the dark behind the hallway baseboard a hand's breadth from his head, and it catches every word.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(calm, unhurried, the voice of a man reading from a file)</i> Mr. Hoffman? Special Agent Reyes. I'm with the team looking into the containment breach at the BioGenesis facility, and since you were running the security desk the night it happened, I'd like to go through what you saw.
<</say>>
<<say "char-dale" "Dale">>
The breach, right, look, I already went through all of this with you, at the lab right after it happened and again when you came by the house the other day, I told you both times I didn't see anything, the alarm went off and by the time I got down to the containment level the doors had already sealed and there was nobody and nothing in the corridor, so I honestly do not know what else there is for me to give you.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
I know what you told me at the facility, Mr. Hoffman, and what you told me again at your house, and I am not calling to make you say it a third time. The trouble is that every time I lay your night out on the desk, the same stretch of it will not sit still, the gap between the moment the containment alarm tripped and the moment you logged your first entry, and that is the piece I keep needing to close.
<</say>>
<<say "char-dale" "Dale">>
I was getting down there, same as I told you the last time, that's what I was doing in that stretch, it's three floors with a badge door at every landing, and the cameras on that corridor had been flagged faulty earlier in the week, so there was nothing on the feed when I came through, which is exactly what I put in the report because it is exactly what happened.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
The one camera that would have shown that corridor was faulty, on the one night something walked out of it. <i>(a pause)</i> I'd rather sit down with the logs in front of us than keep doing this over a phone line, so I'd like you to come in tomorrow morning. Nothing formal, just a conversation, so we can put your night in order.
<</say>>
<<say "char-dale" "Dale">>
<i>(the words coming out cracked)</i> ...yeah. Tomorrow morning. I'll be there.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
I appreciate it, Mr. Hoffman. Get some sleep.
<</say>>
<p>The line goes dead, and Dale stands in the hallway a moment longer than he needs to with the phone still at his ear, listening to nothing, before he comes back to the table the colour of the tablecloth and sets the phone face-down beside his plate without picking up his fork.</p>
<<say "char-karen" "Karen">>
<i>(watching him)</i> Who was that?
<</say>>
<<say "char-dale" "Dale">>
<i>(not looking up)</i> Just work. It was work.
<</say>>
<<say "char-karen" "Karen">>
Work doesn't drain the colour out of your face like that, Dale, so tell me who that actually was.
<</say>>
<<say "char-dale" "Dale">>
<i>(quietly)</i> A federal agent, about the thing that happened at the facility, the breach, and they are going through everyone who was in the building that night, so they have to talk to me because I was on the desk.
<</say>>
<<say "char-karen" "Karen">>
<i>(setting her fork down, slow)</i> A federal agent is calling our house in the middle of dinner and asking for //you//, and you are telling me that is nothing to worry about.
<</say>>
<<say "char-dale" "Dale">>
I was on the desk when it happened, Karen, that is the whole of it, and they have to work their way through every single person who was on that night.
<</say>>
<<say "char-karen" "Karen">>
You sit at a desk and you watch cameras, so explain to me what there is in one of your shifts that takes a federal agent a whole morning to go through with you in person.
<</say>>
<p>Dale doesn't answer, and Karen sets down the question she actually wants to ask and picks it up again, the way she works a column of numbers that refuses to balance.</p>
<<say "char-karen" "Karen">>
<i>(lower, even)</i> Whatever it was that got out of that place, I need you to look at me and tell me you were nowhere near it when it happened.
<</say>>
<<say "char-dale" "Dale">>
<i>(after a long moment)</i> I was on shift, Karen, I have already told you that twice now.
<</say>>
<<say "char-karen" "Karen">>
That is not the same as telling me no, and you know that it is not, so I am going to ask you the only thing that matters tonight, which is whether we need to find you a lawyer before you walk into a room with a federal agent in the morning.
<</say>>
<<if $daleCountermeasure gte 2>>
<p>And then the calm comes down over Dale the way it always does now, slow and warm, smoothing the panic flat before it can reach his face, and when he answers his voice is steady in a way that frightens Karen more than the shaking did.</p>
<<say "char-dale" "Dale">>
<i>(even, certain)</i> No lawyer, because there is nothing to lawyer up about, people leave that job all the time and the building lost track of its own paperwork, so I will go in, I will tell them I saw nothing because I //saw nothing//, and that will be the end of it.
<</say>>
<p>Karen looks at him for a long moment and does not believe a word of it, but the certainty in his voice is new, and it closes the conversation like a door she cannot find the handle of, while the children finish their dinner in silence.</p>
<<else>>
<p>Dale doesn't answer, and he sits with the question hanging over the table and his eyes fixed on a spot in the middle distance, while Karen watches the silence stretch and understands that she is not going to get the truth out of him tonight, and maybe not on any night that comes after it. Jess excuses herself early, and Ryan was never there at all.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The thing that got out of that building is me, and the federal file does not know that yet. What it knows is that a specimen breached containment on a night Dale was running the desk, that the one camera that should have caught the corridor was conveniently blind, and that the guard who signed the report cannot survive a careful reading of his own timeline. Reyes does not work for BioGenesis, and he cannot be redirected with a falsified sensor log. The interview is in the morning, and between now and then I have to decide how much of that night is still safe to leave inside Dale's head, and begin taking out the rest.//
<</say>>
<p><span class="consume-fail">Household suspicion +4. The investigation has a name now, and it is moving toward Dale.</span></p><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.areaSearch to true>>
<<addSuspicion "hoffmanHouse" 1>>
<</nobr>>
<div class="passage-title">Searchlights</div>
<img class="scene-img" src="media/scenes/beast-night-prowl.webp" alt="Police car spotlights through curtains">
10:23 PM. The blue-and-red sweep of police lights paints the living room walls through the curtains. Not the fast pulse of a patrol car passing through, this is slow. Deliberate. The lights linger.
<p>Karen is at the kitchen window, peering through the gap in the blinds.</p>
<<say "char-karen" "Karen">>
<i>(to herself)</i> That's the third car in twenty minutes.
<</say>>
<p>The police cruisers crawl down Maple Drive at walking speed. Spotlights mounted on the driver's side sweep across lawns, fences, bushes. They're looking for something. The beam catches the Hoffmans' front yard, the mailbox, the hedge, the driveway. It moves on.</p>
<p>Ryan comes downstairs. For once, something has pulled him from his screens.</p>
<<say "char-ryan" "Ryan">>
<i>(in the living room doorway)</i> What's going on?
<</say>>
<<say "char-karen" "Karen">>
Nothing. Go back to your room.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not moving)</i> Are those cops?
<</say>>
<<say "char-karen" "Karen">>
<i>(sharp)</i> Ryan. Room. //Now.//
<</say>>
<p>He goes. Karen's phone buzzes, a text from Megan at work: //"Why are there cops on our street?"// Karen types back: //"Don't worry about it. Drive safe coming home."//</p>
<p>From behind Jess's closed door: the sound of blinds being pulled aside, then released. She looked. She didn't ask.</p>
<<if $daleCountermeasure gte 2>>
<p>Dale is at work. His absence is actually helpful, one fewer variable, one fewer nervous face for the family to read.</p>
<<else>>
<p>Dale is home tonight, off-shift. He's standing in the garage doorway, watching the lights through the small window. The dog is beside him, and even from a distance, Biscuit can smell the fear coming off his skin, a sharp, chemical tang that the dog's enhanced nose reads like a billboard.</p>
<<say "char-dale" "Dale">>
<i>(quiet, to Biscuit)</i> ...it's fine, girl. It's fine.
<</say>>
<p>He doesn't believe it. Neither does the dog.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Three cruisers on one residential street in twenty minutes. That is not a patrol. That is a grid search.// They are working Maple Drive lawn by lawn, and a spotlight sweep means they expect what they want to find to be outside, in a hedge, under a porch, small and hiding. //They will find nothing in the yards. But a grid search ends in door-knocks, and the door-knocks come with a list of which houses behaved oddly the first time officers stood on the step. This house is on that list now.//
<</say>>
<p><span class="consume-fail">Household suspicion +1. The neighbourhood is under scrutiny.</span></p><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.corporateAgent to true>>
<</nobr>>
<div class="passage-title">Risk Management</div>
<img class="scene-img" src="media/scenes/beast-family-observe.webp" alt="Man in grey suit at the front door">
<p>A silver sedan parks on the street, not in the driveway. The man who steps out is wearing a grey suit, no tie, with a lanyard badge clipped to his breast pocket. The BioGenesis logo catches the afternoon light.</p>
<p>He walks to the front door. Rings the bell. Waits with the patient stillness of someone who gets paid by the hour.</p>
<<say "char-karen" "Karen">>
<i>(opening the door)</i> Can I help you?
<</say>>
<p>//Corporate ID badge. "Risk Management." The man's smile is calibrated, warm enough to be disarming, cool enough to be professional.//</p>
<<say "char-karen" "Karen">>
He's... let me get him. Dale!
<</say>>
<<if $daleCountermeasure gte 3>>
<p>Dale comes to the door. He's calm. His eyes are steady. The weeks of conditioning have built something remarkable, a man who can lie with his entire body.</p>
<<say "char-dale" "Dale">>
<i>(extending his hand)</i> Dale Hoffman. Security division. What can I do for you?
<</say>>
<p>The agent asks about Sunday night. Dale answers smoothly, schedules, shift changes, building layouts, all delivered with the flat confidence of a man reciting facts. Then he adds, casually, that he checked the external sensor logs after the incident. Found something odd, a calibration drift on the north perimeter that could have triggered false containment alerts. And the specimen transport van had an unscheduled GPS log entry to a facility forty miles south.</p>
<p>The agent writes it all down. He thanks Dale. He drives away. From the curb, Dale watches the silver sedan turn the corner and disappear.</p>
<<set $labEvents.trailCold to true>>
<<set $daleCountermeasure to 3>>
<<say "char-hivemind" "Hivemind">>
//Perfect.// Dale fed him everything I planted, the false sensor data, the fabricated GPS log, the redirected investigation. The corporate agent will file his report. BioGenesis will send a team to a facility forty miles away. They'll find nothing. //And the trail goes cold. Permanently.//
<</say>>
<p><span class="consume-success">Trail cold. The investigation has been permanently redirected. BioGenesis is looking in the wrong place.</span></p>
<<elseif $daleCountermeasure is 2>>
<p>Dale comes to the door. He's steady, mostly. The conditioned calm holds through the first round of questions. He deflects. He minimizes. He says the right things.</p>
<p>But the agent is good. He asks the same question three different ways. Dale's answers don't //quite// match.</p>
<<say "char-dale" "Dale">>
<i>(starting to sweat)</i> Look, I've told the police everything I know. It was a routine night. Nothing unusual.
<</say>>
<p>The agent studies him for a long moment. Then he smiles, thanks Dale, and leaves. But he doesn't drive away immediately. He sits in the silver sedan for four minutes, typing something into his phone.</p>
<<set $labEvents.nextCheck to $day + 4>>
<<say "char-hivemind" "Hivemind">>
//He's suspicious. But he can't prove anything, not yet. He'll file an inconclusive report. BioGenesis will follow up in a few days.// The investigation is slowed, not stopped. //I need the Piggyback operation. False evidence planted at the source. Without it, they'll come back. And next time, Dale might not hold.//
<</say>>
<p><span class="consume-fail">Investigation slowed but not stopped. Follow-up expected in 4 days.</span></p>
<<elseif $daleCountermeasure is 1>>
<p>Dale comes to the door. He tries to be casual. He fails.</p>
<<say "char-dale" "Dale">>
<i>(hands in pockets, shifting weight)</i> Yeah, I was on shift Sunday. Pretty normal night. Nothing out of the... I mean, the containment alarm went off, but those go off all the time...
<</say>>
<p>The agent tilts his head. He didn't mention a containment alarm.</p>
<<say "char-dale" "Dale">>
<i>(realizing)</i> ...that's not... I thought you already knew about...
<</say>>
<p>The agent asks three more questions in rapid succession. Dale fumbles each one. When the agent leaves, he's smiling. Dale is not.</p>
<<set $labEvents.nextCheck to $day + 2>>
<<say "char-hivemind" "Hivemind">>
//Dale cracked. Not fully, he didn't mention the car, didn't mention the house. But the agent has inconsistencies now. Threads to pull. //The investigation accelerates.// I need to act. The Piggyback operation, or deeper conditioning, or...// something. //Before he comes back.//
<</say>>
<p><span class="consume-fail">Investigation accelerated. Dale made inconsistent statements. Follow-up in 2 days.</span></p>
<<else>>
<p>Dale comes to the door, and this time there is no smooth recital waiting behind his face, only a man who has run out of cover. He does not get the chance to fumble it. Two unmarked white vans roll up to the kerb behind the agent as he steps aside, and the figures pouring out of them are not in suits, they are in grey biohazard coveralls and respirators, moving fast and wordless, fanning toward the doors and the windows with catch poles and sealed cases and a handheld unit that sweeps the front of the house like radar.</p>
<p>Behind the coveralls come two who are not dressed for containment at all, a man and a woman in federal windbreakers with badges swinging on lanyards, and they do not run, they walk, the way people walk when the running is someone else's job. The woman is older and unhurried, her eyes cataloguing the house room by room before she has even crossed the threshold. The man beside her is younger and plainly working to keep up, a tablet in one hand and the other half-raised toward the family as if he can hold the whole morning still by asking it nicely.</p>
<<say "char-reyes" "Reyes">>
<i>(flat, even, not raising her voice because she has never once had to)</i> Ma'am. Sir. Step out onto the lawn. This is a federal containment action, and as of right now nothing in this house is yours to touch, the animals included. Park, get the family clear of the doorway.
<</say>>
<<say "char-karen" "Karen">>
<i>(planting herself in the hall, her voice climbing the scale)</i> No. No, you do not get to just walk into my house. Show me a warrant. Dale, say something. Somebody tell me what a containment action even //is//, those are our //pets//, that is my son's gecko, you cannot just...
<</say>>
<<say "char-park" "Park">>
<i>(hands up, placating, half a step between Karen and the coveralls and plainly out of his depth)</i> Ma'am, please, I know, I know how this looks, if everyone can just come outside we will explain what we can, but right now I really need you out of the hallway, please, it is for your own...
<</say>>
<p>It does not hold. Megan has her phone up and recording until a handler covers the lens with a gloved hand. Ryan is screaming about Spike from the top of the stairs. Jess has gone white and silent against the wall. Dale stands in the middle of all of it saying I don't understand, I don't understand, to no one who is listening, while the coveralls flow past every one of them and start lifting the vent covers off the walls.</p>
<<say "char-reyes" "Reyes">>
<i>(to the lead handler, already moving past the family, their noise sliding off her)</i> Vents first. It runs for the smallest gap it can find. Do not leave it one.
<</say>>
<<set $labEvents.containmentIncoming to true>>
<<say "char-hivemind" "Hivemind">>
//She knows what I am. Not a leak, not a rumour, //me//, and she knows the first thing I will do is run for a gap, and she has already given the order to close them. There is no questioning to outlast this time and no day left to buy. There is a woman in a federal windbreaker who has done this before, and she brought enough people to seal every wall at once. Run. While there is still a body fast enough to run with.//
<</say>>
<p><span class="consume-fail" style="color:#f44336">CRITICAL: the federal containment team has breached the house.</span></p>
[[Try to run->Ch2-GameOver-LabContainment]]
<</if>><<nobr>><<bg "bg-hoffman-attic">><</nobr>>
<div class="passage-title">The Strange Photo Album</div>
<<set _galleryMeta to recall("hivemind_meta", { cycles: 0 })>>
<<set _galleryPersisted to recall("hivemind_gallery", { cyclesContributed: 0 })>>
<<set _isReturning to (_galleryMeta.cycles or 0) gte 1 or (_galleryPersisted.cyclesContributed or 0) gte 1>>
<<if _isReturning>>
<p>The vellum is not blank. Faint translucent green threads run between the pages, a webbing of dried biofilm that has the shape of writing without being writing. The pages where the biofilm pools are pages where //something already happened//. The pages where the biofilm is absent are pages where nothing has yet been recorded, and the absence has its own specific texture.</p>
<<say "char-hivemind" "Hivemind">>
//I do not remember this album. The body I am running has never opened it. And yet the residue on the pages is //mine//. The protein signatures match the secretions I produce. Some earlier instance of me sat in this attic and pressed traces into this paper. The residue is a //log//. The pages without residue are the events I have not yet caused.//
<</say>>
<<else>>
<p>The vellum is pristine. Every page blank. The album has not been opened in a long time, and what is on the pages, or rather what //isn't// on the pages, feels deliberate. Like the book is waiting for something.</p>
<<say "char-hivemind" "Hivemind">>
//A leather-bound album in this household, unmarked, unlabelled, sitting behind the box marked DO NOT OPEN. There is no reason for this object to be in this attic. Karen does not keep things she does not use. Dale does not buy hardback anything. The album is //not from this family//. And yet it has been here long enough to gather dust. Waiting to record what I have not yet caused to happen.//
<</say>>
<</if>>
<<galleryRender>>
[[Close the album->Ch2-Attic-OldBoxes]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title" style="color:#f44336">Network Compromised</div>
<div class="scene-desc" style="color:#f44336">Suspicion has reached critical levels. The Hoffman household is no longer safe.</div>
<<if $familySuspicion and $familySuspicion.karen and $familySuspicion.karen.level gte 4>>
<p>Karen stands in the kitchen, phone in hand. Her face is pale. On the counter sits a printout from a pest control company, and beside it a list in her handwriting: //droppings in walls, scratch marks on vents, strange behaviour from Whiskers, Biscuit refusing food, Ryan's gecko acting "wrong."//'</p>
<<say "char-karen" "Karen">>
<i>(into phone)</i> Yes. All of them. I want the whole house treated. ...No, I don't care about the cost. Something is //wrong// here. I can feel it.
<</say>>
<p>The exterminator arrives within hours. The walls are opened. The vents are sealed. Traps are set in every room.</p>
<<elseif $familySuspicion and $familySuspicion.dale and $familySuspicion.dale.level gte 3>>
<p>Dale stands in the garage, staring at the wall. He's pulled back a section of drywall, and behind it are tunnels. Rat tunnels, but wrong, too deliberate, too //organised//.</p>
<<say "char-dale" "Dale">>
<i>(quiet)</i> Karen. Come look at this.
<</say>>
<p>Within a day, the house is sealed. Professional pest control. Security cameras. Every wall cavity sprayed with poison.</p>
<<else>>
<p>The signs accumulated too fast to manage. Suspicious animal behaviour, unexplained sounds in the walls, Karen's growing paranoia finally justified by evidence: a camera she hid in the hallway captured something that shouldn't exist. A rat and a cat, moving in coordination. A gecko, watching from the ceiling with eyes that tracked too precisely.</p>
<<say "char-karen" "Karen">>
<i>(to Dale, voice shaking)</i> I'm not crazy. //Look at this footage.//
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//No.// The network is compromised. They know. Not //what// I am, but that something is wrong. The walls close in. Traps snap shut. Chemical fog fills the cavities I called home.
//I was too aggressive. Too visible. Too //hungry//.//
//The house is lost.//
<</say>>
<div class="data-panel" style="border-color:#f44336; background:rgba(244,67,54,0.1);">
<div class="data-panel-title" style="color:#f44336">GAME OVER: Network Exposed</div>
<p>The Hoffman household suspicion reached critical levels. Your animal network has been discovered and dismantled.</p>
<p>The parasite survives, it always survives, but the opportunity is gone. This family was your best chance at expansion, and you burned it through recklessness.</p>
<p>//Perhaps next time, you'll be more patient.//</p>
</div>
<<addCyclePoints 1>>
<<saveCycleData>>
<<link "Load last save">><<run UI.saves.slot.load(0)>><</link>>
<<link "Start New Game">><<goto "AgeGate">><</link>><<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title" style="color:#f44336">Containment</div>
<div class="scene-desc" style="color:#f44336">BioGenesis found you.</div>
<p>The teams come through every door at once, fast and silent and rehearsed, sweeping the house with handheld sensors that paint the walls in light no human eye can see. There is no bluff left to run and no day left to buy. There is only the network, and the network has to move now or not at all.</p>
<img class="scene-img" src="media/scenes/symbiotic/beast-containment-raid.webp" alt="A pre-dawn containment raid on a suburban home, figures in grey biohazard coveralls and respirators with catch poles and cages, one cornering a hissing tabby cat in a doorway, one blocking a growling golden retriever at the garage, one kneeling at an open floor vent with a sealed specimen container">
<<if $animalNetwork and $animalNetwork.hosts["dog"]>>
<p>The dog goes first, because the dog is the fastest way out. The parasite throws the big golden body at the back door at a dead run, and a handler is already standing in it, catch pole low, two more fanned behind him, and the loop closes around Biscuit's neck before her paws hit the step. Three darts. The garage and the back are blocked off.</p>
<</if>>
<<if $animalNetwork and $animalNetwork.hosts["cat"]>>
<p>The cat tries the side window in the same breath, a streak of orange off the master bed and onto the sill, and the window is already sheeted over with clear film and a man in a respirator. Whiskers twists in the air. The dart takes her before she lands. That way is blocked off too.</p>
<</if>>
<<if ($animalNetwork and $animalNetwork.hosts["gecko"]) or ($animalNetwork and $animalNetwork.hosts["rat"])>>
<p>The small bodies go for the vents, the way the small bodies always do, and the vents are where the team is most ready of all. Every grate is already off, every duct mouth capped with a sensor and a sealed catch box. They read the same walls the parasite has been living in, because someone gave them the map. The gecko is bagged off the bookcase. The rat is taken in the cavity behind the kitchen. Both routes closed by the federal team before either body reaches the dark.</p>
<</if>>
<p>One by one the hosts go dark, darted and caged and carried out past the family huddled on the lawn, and the connection to each of them cuts to silence, and the thing behind them all is left with nowhere to jump and no body fast enough to carry it anywhere. The last host falls. The parasite is flushed out into the one shape it can never run in, its own: small, translucent, a single green eye in a gap that is no longer too small to find, because tonight they brought a scanner built to find exactly it.</p>
<<say "char-hivemind" "Hivemind">>
//Every door had a body in it. Every vent had a box on it. They did not stumble onto me, they came for me, and they knew the walls because someone fed them the walls. I have run out of bodies to be. I am the small thing in the gap again, the way I began, and a gloved hand is already closing over the place I am hiding.//
<</say>>
<p>The family is out on the lawn in the grey first light, and behind them the house stands open like something autopsied. Every vent cover is off and stacked on the grass. The drywall is cut in neat squares wherever the sensors flagged a cavity. The couch is hauled half out the front door with its cushions slit, the kitchen units are pulled off the wall, the hall carpet is peeled back to the boards. Nothing is burning and nothing is broken in a way anyone could photograph for a claim, but the home the Hoffmans spent two decades paying down is gutted to the studs, and the men who did it leave behind no paperwork that admits they were ever on the street.</p>
<p>They are scattered across the wet grass in the cold light, each of them coming apart in their own way.</p>
<<say "char-megan" "Megan">>
<i>(phone still up, filming the coveralls carrying cages out to the vans, her voice shaking out of its usual brightness)</i> People need to see this. You can't just do this to people, I'm putting all of it online, everyone is going to know exactly what you...
<</say>>
<p>A handler lifts the phone out of her hands mid-sentence, drops it into a static bag, and seals it without breaking stride. Megan is left with her arm still raised, holding nothing.</p>
<<say "char-ryan" "Ryan">>
<i>(huddled on the grass, wrecked)</i> They took Spike. He's just a gecko, he didn't do anything, why would they even... he's just a gecko.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, hollow, not looking away from the house)</i> There wasn't a warrant. Nobody showed a warrant. They are not even pretending there was one.
<</say>>
<<say "char-dale" "Dale">>
<i>(to no one, barely a voice)</i> ...I did this. I don't know how, but it came from me. It came home with me.
<</say>>
<p>Karen stands at the edge of the driveway in her robe with her arms wrapped around herself, and she is not crying, not yet, she is doing the thing she does with everything, she is adding it up. The drywall. The flooring. The units. The wiring they tore out. Dale's job, gone the moment his own employer drove biohazard vans onto his street. Jess's tuition that was already a text she never found the nerve to send. And the number she lands on at the bottom of all of it is one this family is never going to be able to pay.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to no one, to the torn-open front of the house)</i> ...we can't fix this. There's no, there isn't, I do this for a living and there is no number that makes this work. The insurance won't touch it, they were never here, there's no claim, there's no record, there is nothing. We are never getting this back. Any of it.
<</say>>
<hr class="scene-break">
<p>Forward. A cold federal lab, the green murk and the warm pod of the beginning traded for clean white light and a chamber of reinforced glass on a steel pedestal, walls too thick for anything this small to ever chew through. The parasite sits on the floor of it, exposed under the light, watched, measured, logged.</p>
<p>Heels cross the floor. A face lowers to the glass, elegant and unhurried and entirely at home here too, pale hair and a slow knowing smile, and one manicured fingertip taps the surface above the single green eye.</p>
<img class="scene-img" src="media/scenes/vessel/gameover-camila-glass.webp" alt="A cold federal containment lab. A small sealed glass chamber on a steel pedestal holds a tiny translucent green slug-like specimen on its floor. An elegant blonde woman in a cream silk dress is crouched at the glass, one manicured fingertip tapping the surface, a slow knowing evil smile on her face as she looks in at the specimen. Clinical lighting, cinematic horror. SFW.">
<<say "char-camila" "???">>
<i>(crouched at the glass, tapping it once, delighted)</i> There you are. I have been looking for you for a very long time. (the smile widening) No more hosts. No more walls. No more running. Just you, and me, and all the time in the world. We are going to have so much fun together now.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is the one who fed them the walls. She never wanted me contained. She wanted me //hers//, and now there is glass between me and every door in the world, and her face on the other side of it. The hand that has been on this family since before I ever found it has closed the last gap. There is no smaller place left to hide. There is only her.//
<</say>>
<div class="data-panel" style="border-color:#f44336; background:rgba(244,67,54,0.1);">
<div class="data-panel-title" style="color:#f44336">GAME OVER: Corporate Containment</div>
<p>The investigation ran its full course and the countermeasures could not hold it. The containment team breached the house, severed the network host by host, and flushed the parasite out into its own body, where a scanner built to find it did exactly that.</p>
<p>//The trail was forensic, and the hand behind it was patient. Camera logs, GPS data, anomalous traces on Dale's uniform, and an operator who had owned the night guard since before you ever arrived. The Piggyback operation could have erased the lab evidence. Stronger conditioning could have buried Dale's tracks for good. Instead the trail led straight here, into reinforced glass, and into her hands.//</p>
</div>
<<addCyclePoints 1>>
<<saveCycleData>>
<<link "Load last save">><<run UI.saves.slot.load(0)>><</link>>
<<link "Start New Game">><<goto "AgeGate">><</link>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_ratPipeBurst to true>><</nobr>>
<div class="passage-title">Infrastructure</div>
<p>The sound arrives at 6:11 AM, a pressure change in the east wall cavity, low and rhythmic, barely distinguishable from the house's usual settling. But the rat knows this house. You have catalogued every sound it makes in the dark, every groan and tick and whisper of pipe against insulation. This isn't the house. This is water.</p>
<p>You move up between the kitchen ceiling and the subfloor, following the sound to the joint: a compression fitting on the cold-water line to the upstairs bathroom, the ring failing, pushing water through a gap no wider than a hair. Left unchecked it is three days before the drywall soaks through, five before Karen sees the stain, seven before she calls a plumber.</p>
<<say "char-hivemind" "Hivemind">>
//A plumber is an unfamiliar body in the house. It looks at walls. It asks questions. The walls are where I live.//
<</say>>
<p>You work biofilm from the glands along your lower jaw, the same stuff that seals the attic nest against weather, hydrophobic and quick to set, and you smooth it into the gap in rings with the flat of your incisors until the sound changes, quiets, stops.</p>
<p>You stay for twenty minutes to confirm.</p>
<hr class="scene-break">
<p>Karen comes down at 6:53 and starts the coffee, and while it runs her eye catches on the kitchen ceiling, on a faint water shadow the size of her palm. She drags a chair over and presses two fingers to it.</p>
<<say "char-karen" "Karen">>
<i>(pressing the spot, half to herself)</i> ...dry. A dry water stain. The kind of thing that's nothing right up until it's a thousand dollars.
<</say>>
<<say "char-karen" "Karen">>
<i>(looking up, lining the shadow up with the floor above)</i> And that's right under the upstairs bathroom. If a fitting up there were weeping, this is the first place it'd show, and a leak like that doesn't just stop on its own. So either I'm imagining stains, or a pipe up there did something pipes don't do.
<</say>>
<<say "char-karen" "Karen">>
<i>(stepping down off the chair)</i> If it comes back, it goes on the list. If it doesn't, it was steam off the shower. Either way, I've seen it now.
<</say>>
<p>The coffee machine beeps, and she files the spot somewhere she won't lose it and turns away, and behind the drywall the seal gives her nothing more to find.</p>
<<say "char-hivemind" "Hivemind">>
//The joint would have failed within days.// The plumber would have arrived soon after, spent forty minutes behind the kitchen wall, and inevitably remarked on the access holes gnawed through the insulation, the rat's highway system, made visible. //Karen would have noticed. Karen always notices.// The biofilm seal will hold for a long stretch. Long enough. //This network does not depend on luck. It engineers its own safety margins.//
<</say>>
<<addAdaptationPoints "rat" 1 "apEvent_ratPipeBurst">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_ratEvidence to true>><</nobr>>
<div class="passage-title">Housekeeping</div>
<p>A brass screw is lying on the hallway carpet between the bathroom door and the linen closet, eight millimetres of it, the thread end slightly sharp. It worked loose from the ventilation cover the rat opened a while back, a cover that sits flush in its frame now and holds on friction and habit rather than fasteners. The screw is the only loose part left over, and in the morning Karen will run the vacuum up this hallway the way she always does, and the nozzle will kick a metal screw sideways instead of swallowing it, and she will hear it land and look down and pick it up and want to know what it came off.</p>
<p>Karen is very good at remembering what things belong to.</p>
<<say "char-hivemind" "Hivemind">>
//A loose nail she sweeps up and forgets. A screw is machined to hold one specific thing, so a screw that belongs to nothing is a question, and Karen does not let a question sit. It cannot be here when she wakes.//
<</say>>
<p>You take it in your teeth, oxidisation and old dust on your tongue, and carry it back the way you came: down the baseboard gap at the hall's end, along the cavity beside the kitchen wall, up behind the utility drawer. You nose the drawer open from below and drop the screw in among the rest of the orphaned hardware, the loose nails and the bent hinge pin and the dead battery, all of it the same weight and the same dull colour, nothing in the pile that asks to be explained.</p>
<hr class="scene-break">
<p>Karen vacuums the hallway in the morning, and the nozzle passes over the clean carpet in three slow sweeps, and somewhere in the second one her eye snags on the patch of pile by the linen closet and her hand eases off the trigger. The motor winds down. She crouches and runs two fingers across the spot, against the nap and back again.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the carpet, certain and not certain at once)</i> There was something here. I know there was something right here, I can see where it sat.
<</say>>
<p>But the pile springs back the way clean pile does, no dent and no mark under her fingers, only a faint pressure-shadow that could be the screw or could be the foot of the hall table she moved a while back. She stays down a second longer than the moment deserves, then sets a hand on her knee and stands.</p>
<<say "char-karen" "Karen">>
<i>(half to herself, thumb back on the trigger)</i> ...nothing. It's a clean carpet. Get a grip, Karen.
<</say>>
<p>The vacuum roars back up and she finishes the run and moves on, and behind the utility drawer the screw sits exactly where it belongs.</p>
<<say "char-hivemind" "Hivemind">>
//One screw. An amateur would leave it.// But Karen runs the house the way other people run a ledger, every item where she put it, every stray thing flagged until it is explained. So I do her filing for her, quietly, before the question has a chance to form. //Evidence does not dispose of itself.//
<</say>>
<<addAdaptationPoints "rat" 1 "apEvent_ratEvidence">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_ratCountermeasure to true>><</nobr>>
<div class="passage-title">Relocation Protocol</div>
<p>The exterminator's number is on the refrigerator, written there in Karen's precise hand after she found droppings in the basement corner, old ones, left before the rat learned that cleaning up after itself was part of the job. The appointment is set for a few days out, first thing in the morning, which leaves you the nights between.</p>
<p>You cannot destroy the droppings, the rat's body has no use for that, so you move them instead, off the property entirely. The Henderson garage sits within reach through the fence gap you mapped early on, an open vent near its foundation, a crawlspace nobody thinks about. You carry the evidence over in small loads across a few trips, old waste on your tongue the whole way, and you tuck it into the cavity behind the Hendersons' interior wall, where their own exterminator's work goes to expire, until the Hoffman basement is clean enough that there's nothing left down there to find.</p>
<p>The morning of the appointment, the exterminator works the basement a good twenty minutes, a heavyset man crouching into corners with his flashlight, sweeping the beam along the baseboards and behind the water heater while Karen watches from the stairs with her arms crossed.</p>
<<say "char-karen" "Karen">>
<i>(from the stairs, arms crossed)</i> There were droppings. Three of them, right in that corner. I know what I saw.
<</say>>
<<say "char-npc" "Exterminator">>
<i>(straightening, pushing his cap back)</i> Oh, I believe you saw something, ma'am. I'm just not finding it. No droppings, no gnaw marks, no grease trails along the runs, no nesting. If you've got rats they leave a mess, and this is about the cleanest basement I've been in all month.
<</say>>
<<say "char-npc" "Exterminator">>
<i>(clicking his pen, looking around the spotless corner)</i> Could've been one that wandered in and wandered back out. Could've been the neighbour's. I'll write it up no infestation confirmed, but honestly? I'd save your money before I'd treat for nothing.
<</say>>
<<say "char-karen" "Karen">>
<i>(uncrossing her arms, the certainty going thin)</i> ...right. No, that's, of course. Sorry to drag you out for an empty basement.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No evidence, no case.// He writes the words on his clipboard and Karen pays the call-out fee feeling foolish, and the foolishness is the part that lasts. //She'll second-guess herself before she calls again.// A single night's carrying buys a long stretch of her doubting her own eyes.
<</say>>
<<addAdaptationPoints "rat" 1 "apEvent_ratCountermeasure">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_geckoPhone to true>><</nobr>>
<div class="passage-title">Notification Suppression</div>
<p>Ryan's desk, mid-afternoon, the room empty while he eats in the kitchen. His phone lies face-up on the wood, and the banner that just lit the glass is the reason you came down off the ceiling:</p>
''Mrs. Okafor, School Counselor:'' //Hi Ryan, I wanted to reach out because I've noticed some changes in your//...
<p>Two more lines stack in behind it. You cross to the phone and settle your forefeet on the glass, and the screen takes the contact as a touch. //The toe pads have learned this surface.// One drag opens the thread, a long press holds it, and the small red word at the bottom does what small red words do. The conversation empties. Delivered, then gone, before anyone read a word of it.</p>
<<say "char-hivemind" "Hivemind">>
//A counselor trained to read the exact change I am making in him, with a line straight to the one adult in this house who still looks. The message does not get to exist.//
<</say>>
<p>Footsteps in the hall. You break for the wall and the phone goes with the motion, off the desk lip and onto the carpet, and you are flat against the ceiling paint before it finishes settling face-down on the floor.</p>
<hr class="scene-break">
<p>Ryan comes back with the container still in one hand, drops into the chair, and reaches for the phone on reflex before he registers it isn't where he left it.</p>
<<say "char-ryan" "Ryan">>
<i>(spotting it on the carpet, leaning down after it)</i> ...how did you even get down there. Did I knock you off, or...? Ugh, whatever.
<</say>>
<p>He turns it over and thumbs it awake. The screen is exactly as boring as he left it, no banner, no missed anything, the messages app sitting closed and quiet where it always sits.</p>
<<say "char-ryan" "Ryan">>
<i>(already dragging the game back up)</i> Still works. We're good.
<</say>>
<p>He settles in, and behind him nothing on the ceiling moves, and the thing he was three sentences from reading is no longer anywhere on the device to be found.</p>
<<say "char-hivemind" "Hivemind">>
//He never knew it arrived.// She will try again, then try the parents' email, and by the time anyone in this house reads the words //changes in your son// the boy will be too far along for them to mean what she meant by them. //The network defends itself through its members. This one slept through his own defence.//
<</say>>
<<addAdaptationPoints "gecko" 1 "apEvent_geckoPhone">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_geckoTemp to true>><</nobr>>
<div class="passage-title">Climate Control</div>
<p>Jess sleeps with her window cracked, has done since she was a girl, a specific gap two fingers wide that she sets by feel in the dark before she gets into bed. The room runs cold and she runs hot and the arrangement suits her, and no one has ever argued her out of it. The trouble is the draft. Cold air spilling in over the sill rolls the good air off her bed and down to the floor before it can settle on her, so the haze that hangs thick over every other pillow in the house thins out to almost nothing over hers. She breathes the least of it of anyone, and her eyes are already the sharpest in the family.</p>
<p>So you go to the thermostat instead of the window. It sits in the hallway outside the master bedroom, an old dial unit, and the gecko climbs the wall beside it late at night and presses flat to the casing to keep the backlight dark. You set your nose to the outer edge of the dial and push, and it resists, then clicks forward two notches. Down in the basement the furnace catches a little while later, and the house begins to warm by slow degrees.</p>
<p>Some time past midnight, with the room gone close and warm, Jess reaches out in the dark and pushes her own window shut.</p>
<<say "char-jess" "Jess">>
<i>(barely awake, face in the pillow)</i> ...mm. too warm. stupid window.
<</say>>
<p>She rolls over and resettles and is gone again inside a minute, and over the next hours the air goes still and the haze pools low over her bed at last, as thick as it lies over the others.</p>
<hr class="scene-break">
<p>In the morning Karen comes down into a house that's warmer than she keeps it and stops at the foot of the stairs to read the thermostat dial, frowning at the two extra notches.</p>
<<say "char-karen" "Karen">>
<i>(thumbing the dial back down, already moving on)</i> Did someone bump this? Two whole... it's not the gas bill that walks down here and pays itself, but fine. Whatever.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No moved object, no broken thing, nothing for anyone to find in the morning.// Jess shut her own window because the room asked her to, and she will never know the window was the thing that mattered. //The gecko has learned the quiet way. Change the air, and let them decide they wanted what you wanted.//
<</say>>
<<addAdaptationPoints "gecko" 1 "apEvent_geckoTemp">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_geckoCamera to true>><</nobr>>
<div class="passage-title">Security Audit</div>
<p>The box is on the kitchen counter: ''SmartGuard Mini Indoor Camera'', bought from Amazon for forty-two dollars, free next-day delivery. Karen set it there a few days ago. She hasn't opened it yet, she keeps picking it up and putting it down, cycling through the same internal argument she hasn't resolved.</p>
<p>She resolves it a few nights later, at 9 PM. She opens the box. Reads the quickstart guide with the focused attention she applies to all practical problems. Finds the outlet behind the hallway mirror, the one that's mostly hidden and, crucially, has a direct sightline to three of the four bedroom doors.</p>
<<say "char-karen" "Karen">>
<i>(pressing the camera mount to the wall, testing angles)</i> Just so I know. That's all.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/karen-security-camera.webp" alt="Karen in a dim upstairs hallway at night pressing a small white indoor security camera to the wall beside the hallway mirror, checking the angle toward the bedroom doors, reading glasses, focused expression">
<p>The USB cable runs along the baseboard to the outlet, and Karen plugs it in, and the indicator light blinks twice and holds a steady amber. She'll set it up in the app first thing, she decides, and she goes up to bed.</p>
<p>The gecko has been behind the mirror the whole while. Once the house is quiet you cross to the cable where it curves around the corner, the furthest point from the outlet, and you work your jaws through the outer jacket and the shielding and the last thin insulation until the two copper wires inside touch each other once, brightly, and stop. The amber light goes dark.</p>
<hr class="scene-break">
<p>In the morning Karen sits on the hallway floor with the camera in her lap and her phone in her hand, opening the app, closing the app, opening it again.</p>
<<say "char-karen" "Karen">>
<i>(thumbing the screen, brow tight)</i> Add device. Add a device. There's nothing to add, it doesn't even... it was on last night. Amber light, right here. I watched it.
<</say>>
<<say "char-karen" "Karen">>
<i>(unplugging the cable, plugging it back, nothing)</i> Okay. Okay. Off, on. Off, on. ...is it the outlet?
<</say>>
<p>She pulls her phone charger out of her bag and plugs it into the same socket, and her phone wakes and starts to fill, and the outlet is fine, which leaves only the forty-two dollar box in her lap.</p>
<<say "char-karen" "Karen">>
<i>(setting it back in its box, flat)</i> Right. Dead on night one. Forty-two dollars to learn you get what you pay for.
<</say>>
<p>She returns it that afternoon and leaves it a single star, *Defective out of the box, stopped working overnight,* and she does not buy another one. The mirror goes back to being a mirror.</p>
<<say "char-hivemind" "Hivemind">>
//A camera in that spot is the worst thing this house could grow, an eye on every door, every hallway sound, every hour I move.// Better she spend a morning cursing cheap electronics than a single evening watching footage. //One bad night of work closed the gap before it ever opened. There are no eyes here I didn't allow.//
<</say>>
<<addAdaptationPoints "gecko" 1 "apEvent_geckoCamera">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_catDistraction to true>><</nobr>>
<div class="passage-title">Interruption</div>
<p>Karen is standing at the top of the basement stairs with her hand on the door handle. She heard something below, a scrape, brief, then silence, and now she's holding still with her weight pitched forward, listening for it to happen again.</p>
<<say "char-karen" "Karen">>
<i>(low, to the door, her ear nearly against the wood)</i> ...okay. Was that something, or was that the water heater being the water heater?
<</say>>
<p>The rat is at the bottom of the stairs. You are on the kitchen counter behind her, and within reach there is the mug, Karen's blue ceramic one, the heavy one she carried out of her mother's house, the one with the chip on the rim that Dale has twice offered to throw away and that she has twice refused to let him. It sits at the very edge of the counter beside the coffee machine, and you set one paw against its base and push.</p>
<p>The mug goes over. Ceramic hits tile with a sound like a small explosion, fragments scattering across the kitchen floor and cold coffee spraying out in a wide arc.</p>
<p>Karen spins, the basement door swinging shut behind her as she takes two quick steps toward the kitchen and stops, taking in the mess and Whiskers already dropping off the counter with the elaborate innocence of a cat who has been up there for hours and had absolutely nothing to do with any of this.</p>
<<say "char-karen" "Karen">>
<i>(crouching to the fragments, the blame going soft and stricken halfway through)</i> ...Whiskers. No. That was my mother's. That was the one I //kept//.
<</say>>
<<say "char-karen" "Karen">>
<i>(turning a curved shard over in her fingers, the chipped rim still on it)</i> Dale wanted to bin you for years and I wouldn't let him, and the cat does it in one afternoon. Of course. Of course it's the cat.
<</say>>
<p>She crouches there a while longer than the mess needs, then fetches the newspaper and wraps the chips and wipes the coffee off the cabinet fronts, and by the time the floor is clean the thing she heard downstairs has gone out of her completely.</p>
<<say "char-hivemind" "Hivemind">>
//A scrape in the dark is a thought she has to hold on to. A broken thing on the floor in front of her is not.// The mug took her grief and her attention both, and the basement went quiet behind a shut door. //Whiskers took the blame. The rat took the time.//
<</say>>
<<addAdaptationPoints "cat" 1 "apEvent_catDistraction">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_catDale to true>><</nobr>>
<div class="passage-title">Interruption, Secondary Subject</div>
<p>Dale is on the couch a little after three, where he has been sleeping for a while now, an arrangement that he and Karen have settled into without either of them ever putting words to it. He's on his back, half dressed, staring up at the ceiling with the flat awake stare of a man who gave up on sleep an hour ago.</p>
<p>His phone is in his left hand. He has been holding it without looking at it, and then he thumbs it awake and pulls up the contacts and scrolls to a name: <i>Sandra, Home</i>. His older sister, the one who fixes things, the one who came by twice during the divorce and both times left wearing the look that means she has noticed something and is keeping it for later.</p>
<<say "char-dale" "Dale">>
<i>(barely a whisper, thumbs slow on the glass)</i> Hey San... haven't talked in a while. You free this... yeah. You free.
<</say>>
<<say "char-dale" "Dale">>
<i>(staring at the half-line, not sending it)</i> ...and then she comes over, and she looks at the house, and she asks me how I'm doing in the way where it's not really asking. No. Not at three in the morning.
<</say>>
<p>You drop from the back of the couch onto his chest, four kilos landing square over his sternum with a weight he can't mistake for anything else, and you circle twice and tuck down into a tight loaf with your fur against his forearms and the underside of his jaw, and you begin to purr. Low and steady and close enough that he can feel it through the bone.</p>
<<say "char-dale" "Dale">>
<i>(a long breath going out of him, hand coming up to the cat without deciding to)</i> ...yeah. Yeah, okay. You're heavy. You're so heavy, you menace.
<</say>>
<p>The phone tips out of his hand to the cushion, face down, the half-written message going dark with it. His other hand stays on your back, rising and falling, slower each time, and somewhere past four his jaw comes unclenched and his breathing drops into the long even rhythm of sleep. He won't finish the message in the morning. He'll only feel that he slept, and be grateful for it, and the reaching-out will have passed.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is the loneliest thing in this house, withdrawn so far that comfort and interruption have become the same gesture.// His sister was the one call he might actually have made tonight, and his sister notices things. //The weight on his chest answered the loneliness before the loneliness could answer the phone. He slept. The house stayed closed.//
<</say>>
<<addAdaptationPoints "cat" 1 "apEvent_catDale">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_catScapegoat to true>><</nobr>>
<div class="passage-title">Attribution</div>
<p>Jess is in the upper hallway, door to her room open behind her. She is looking at the door frame. Not the door, the frame, specifically the small gouge in the painted wood at approximately forty-five centimetres off the floor, where the rat navigated the gap between wall cavity access and the hallway floorboard junction the other night. The gouge is narrow, elongated, slightly diagonal.</p>
<p>She runs her index finger along it, once, measuring the depth.</p>
<<say "char-jess" "Jess">>
<i>(crouching, running her thumb back along the gouge)</i> ...that's not a scuff, scuffs are flat. This one has a direction, like something dragged itself through here on the way to somewhere.
<</say>>
<p>You can see her building a theory in the stillness, the way her weight tips forward and her eyes track sideways to the baseboard, then back to the gouge, then down to the floor.</p>
<p>You walk down the hallway toward her. She doesn't look up. You reach the door frame, glance at it with the aggressive disinterest of an animal who sees nothing unusual here, and raise one forepaw. You drag a single claw across the painted surface of the door frame, directly beside the existing gouge, with exactly enough pressure to leave a mark.</p>
<p>Then you sit down and begin to wash your face.</p>
<p>Jess watches. Her expression shifts through its consideration. Then the hypothesis collapses.</p>
<<say "char-jess" "Jess">>
<i>(straightening, the theory going out of her all at once)</i> ...oh. It's you. You've been redecorating the door frame this whole time. Of course. Mystery extremely solved.
<</say>>
<p>She goes back into her room. A few seconds later, the sound of her chair pulling out, the click of her laptop opening. Problem categorised, filed, closed.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is the dangerous one. She does not stop at the first plausible answer, she keeps looking until she finds the simplest one that fits everything she can see.// So the cat handed her the simplest one before she could go looking, scratching the frame in front of her eyes. //The theory was never argued out of her. It just never got the time to finish forming.//
<</say>>
<<addAdaptationPoints "cat" 1 "apEvent_catScapegoat">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_dogTerritory to true>><</nobr>>
<div class="passage-title">Perimeter Defense</div>
<p>The stray is a tom, large and grey-striped, the kind of cat that has worked this neighbourhood for years and knows which yards are safe and which are not. He comes through the gap in the east fence in the early evening, while Karen is cooking and the garden is empty, and he moves low along the fence line until he reaches the tool shed and sprays the corner post.</p>
<p>Biscuit is at the back door, and the scent reaches her through the weather stripping before the cat is even done, a warm pungent flag planted in territory she has decided is hers. Her hackles come up on their own. Nothing in the walls has to tell her to do this, the wanting-to is older than any of us.</p>
<p>The door is cracked for air. Biscuit hits it shoulder-first and is across the yard in three strides, and the tom clears the fence with a back-claw spray of soil that catches the dog square on the nose as he goes.</p>
<p>Inside, Karen turns her head toward the window at the noise, wooden spoon still in her hand.</p>
<<say "char-karen" "Karen">>
<i>(half-glancing out over the sink, not really stopping what she's doing)</i> Biscuit? ...oh, leave the poor thing alone, it's just a cat. You and the whole neighbourhood.
<</say>>
<p>She goes back to the stove. Outside, Biscuit walks the full perimeter for half an hour, checking every post and re-marking every corner, laying her own answer over the intrusion. The tom does not come back. His trail on the alley side of the fence will swerve wide of the Hoffman gate from now on.</p>
<<say "char-hivemind" "Hivemind">>
//A loose animal in a guarded territory is a variable nobody chose. Strays carry evidence, fur and scent and claw damage, the kind of disturbance that draws a curious owner out to look.// Biscuit's answer was loud and proportional and over in minutes, and Karen filed it under dog being a dog. //The yard is closed space now. Every animal on the block has been told.//
<</say>>
<<addAdaptationPoints "dog" 1 "apEvent_dogTerritory">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_dogHenderson to true>><</nobr>>
<div class="passage-title">Denial of Access</div>
<p>Mrs. Henderson arrives mid-morning with a foil-covered ceramic dish and the bright, purposeful expression of a woman who has come with more than the dish. She rings the bell, and Karen answers.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(already angling a shoulder past the threshold)</i> I made far too much chicken pot pie, you know how it is, and I said to myself, the Hoffmans have been so //busy// lately, I've barely seen a soul over there, so I thought I'd just pop this straight into your oven and...
<</say>>
<p>Biscuit appears at Karen's hip. Not barking, not lunging, simply there, planted in the gap of the doorway with the serene immovability of an animal that has decided this is exactly where it intends to stand, tail neutral, mouth closed, weight settled forward on all four feet in a way that says the space is taken.</p>
<p>Mrs. Henderson draws back half a step. She isn't frightened of Biscuit, but she can't get past her without shoving sixty pounds of perfectly friendly dog out of the way, and a friendly dog gives her nothing to object to.</p>
<<say "char-karen" "Karen">>
<i>(not stepping aside, one hand already out for the dish)</i> She's territorial today. Thank you, Doris.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(passing the dish through the gap, leaning to see past Karen and not managing it)</i> Oh, of course, of course, you just... here, you take it, and do let me know what you think of the thyme, I put in much more this year, it's coming up wild along the back fence, I keep meaning to ask if yours is doing the same or whether it's the shade you've got on that side...
<</say>>
<<say "char-karen" "Karen">>
<i>(warm, final, the door already easing in an inch)</i> I'll let you know. Thanks again.
<</say>>
<p>The thyme carries them another few minutes on the doorstep, and the whole of it stays on the doorstep. Mrs. Henderson leaves without ever seeing the kitchen, or the stairs, or Dale's absence, or the dishes in the sink at the angle she'd have caught from two steps in.</p>
<<say "char-hivemind" "Hivemind">>
//Doris Henderson is the most dangerous thing on this street that doesn't live in the house. She comes inside and she takes inventory, layouts and absences and the smell of a place that has changed since last time, and she keeps it all for later.// Biscuit can't stop her ringing the bell. Biscuit can stop her crossing the line, and no one alive can complain about a friendly dog in a doorway. //She isn't being kept out. She's being kept on the step. There's no argument against it.//
<</say>>
<<addAdaptationPoints "dog" 1 "apEvent_dogHenderson">><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.apEvent_dogScentScreen to true>><</nobr>>
<div class="passage-title">Scent Suppression</div>
<p>The second exterminator comes from a different company, smaller, recommended by a neighbour, and he arrives on a different morning with a different clipboard and the same flashlight. He starts at the back and works the perimeter the methodical way, garage, shed, fence line, and then the basement window.</p>
<p>He stops there and kneels on one knee, sweeping the flashlight across the frame and the paint and the sill and the soil below it, and then he tilts his head and his nostrils work. The rat uses that window all the time. The trace is faint, but this is the kind of thing the man does for a living, and he stays down on that knee a beat too long, putting something together.</p>
<p>You cross the yard at a run.</p>
<p>Biscuit arrives at his side with the unstoppable social momentum of a big friendly dog who has found a brand-new person and intends to be extremely involved in whatever they are doing, leading with her nose straight into his hand and up his wrist and along his forearm, then flopping down to roll in the soil a couple of feet from the window and coming back to lean her whole weight against his thigh.</p>
<<say "char-npc" "Exterminator">>
<i>(rocking back on his heel, half-laughing, hand already on her head)</i> Oh, hey. Hi. Okay. Okay, girl, hi, yeah, hi. You're a friendly one, huh.
<</say>>
<<say "char-npc" "Exterminator">>
<i>(ruffling her ears, scrubbing his palm on his jacket, looking at the dog and not the window)</i> Yeah, yeah, you're a good girl. You helping? You inspecting? All right, all right, off you go, c'mon. Lemme work.
<</say>>
<p>He gives her one more scratch and pushes up to his feet, and whatever he had at the window is gone now, buried under dog and dog spit and turned-over soil all laid down at once. He looks at the frame again for a second, finds nothing in it worth the trouble, and moves on. He writes nothing about the window.</p>
<<say "char-hivemind" "Hivemind">>
//A faint scent only reads against a clean background. Biscuit took the background away.// His nose is a good one, but it can't pull a rat out of a wash of dog and saliva and fresh dirt when all of it lands on him in the same friendly heap. He was seconds from a note that went somewhere. //She didn't fool him. She just stood in the space his nose was trying to use.//
<</say>>
<<addAdaptationPoints "dog" 1 "apEvent_dogScentScreen">><<nobr>><<bg "bg-hoffman-attic">>
<<set $house.roomsExplored.attic to true>><<set $currentRoom to "attic">><</nobr>>
<div class="passage-title">Attic</div>
<div class="scene-desc">Dusty rafters. Pink insulation between exposed studs. A bare bulb on a pull chain. Hot, still air thick with dust motes.</div>
<<if $player.currentHost is "bird">>
<p>You flutter in through the roof-vent louvres, the same gap you've used a dozen times now, and the dead air closes around you warm and tasting of dust. No human has climbed up here since the Christmas boxes went back.</p>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You climb the wall cavity and squeeze out between two rafters, and the attic opens above you in a long low triangle of stored heat, the only sound the tick of the roof contracting as the sun moves.</p>
<<elseif $player.currentHost is "cat">>
<p>You haul yourself up through the trapdoor with your back legs scrabbling at the frame, and then you're up, and the whole dim space is yours, every corner of it.</p>
<<else>>
<p>You pull the trapdoor cord and the ladder folds down with a groan of old springs, and you climb into air that hasn't moved in months.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The top of their world. Every heating duct begins up here. Every wall cavity drops from this floor. They sleep below me and never look up.//
<</say>>
<div class="nav-card-grid">
<<navCard "Ch2-Attic-OldBoxes" "Old Boxes" "Family history, hidden letters, dusty memories" "safe" "" "media/scenes/nav-oldboxes.webp">>
<<if setup.isSmallAnimal()>>
<<navCard "Ch2-Attic-Vent" "Vent System" "Connects to outside and wall cavities" "safe" "" "media/scenes/nav-ventsystem.webp">>
<<else>>
<<navCard "Ch2-Attic-Vent" "Vent System" "Too narrow for this host" "locked" "" "media/scenes/nav-ventsystem.webp">>
<</if>>
</div>
<<if setup.isSmallAnimal()>>
<<if $house.ventRoutes.ryanRoom>>
[[Use wall vents to reach Ryan's room->Ch2-RyanRoom]]
<</if>>
<<if $house.ventRoutes.meganRoom>>
[[Use wall vents to reach Megan's room->Ch2-MeganRoom]]
<</if>>
<<if $house.ventRoutes.jessRoom>>
[[Use wall vents to reach Jess's room->Ch2-JessRoom]]
<</if>>
<<if $house.ventRoutes.masterBedroom>>
[[Use heating duct to reach master bedroom->Ch2-MasterBedroom]]
<</if>>
<<if $house.ventRoutes.upperBath>>
[[Use drain pipes to reach bathroom->Ch2-UpperBath]]
<</if>>
<</if>>
/* Feeding: nocturnal hunting and nest building */
<<if setup.isSmallAnimal() and not $ch2Events.nocturnalFed and $house.dayPhase is "night">>
<<link "Hunt insects in the wall cavities (+2 biomass)" "Ch2-Feed-Nocturnal">><<addBiomass 2 "repeatable">><</link>>
<</if>>
<<if $player.currentHost is "rat" and $house.roomsExplored.attic and not $permanentDone.atticNest>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Build a nest in the insulation (costs 1 biomass, +1 passive/day)" "Ch2-Feed-BuildNest" 1>></div>
<</if>>
<<if $permanentDone.atticNest>>
<<if $ch2Events.nestUpgraded>>
<div class="data-panel-muted">The upgraded nest hums with bioluminescent substrate, thick root systems extend through the walls. +3 biomass/day. Pheromone suppression active.</div>
<<else>>
<div class="data-panel-muted">Your nest sits warm among the insulation, insects gather overnight. +1 biomass each day.</div>
<<getHouseTier>>
<<if _houseTier gte 2 and not $operationsDiscovered.nestUpgrade>>
<<set $operationsDiscovered.nestUpgrade to true>>
<<say "char-hivemind" "Hivemind">>
//The nest has reached capacity. But the substrate can be //expanded//, deeper root systems, thicker pheromone layers, integration with the house's infrastructure. The upgrade is available in Operations.//
<</say>>
<p><span class="delve-intel">New operation discovered: Nest Upgrade. Available in the Operations menu.</span></p>
<</if>>
<</if>>
<</if>>
/* Rat adaptation activity, tunnel mapping */
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and not $ch2Events.ratTunnelMap>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RAT</span> [[Map every wall cavity and pipe route in the house (+1 AP)->Ch2-Rat-TunnelMap]]</div>
<</if>>
/* Cat adaptation activity, attic hunt (requires Enhanced Night Vision) */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("cat_nightvision") and not $ch2Events.catAtticHunt>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Something leather-winged is roosting between the rafters (+1 AP)->Ch2-Cat-AtticHunt]]</div>
<</if>>
/* Synaptic Relay combo, rat·gecko coordination drill. One-shot. */
<<hasSkillTreeAbility "Synaptic Relay">>
<<if _hasAbility and not $ch2Events.relayComboRatGecko and $animalNetwork.hosts["rat"] and $animalNetwork.hosts["gecko"] and ($player.currentHost is "rat" or $player.currentHost is "gecko")>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RELAY</span> [[Make the Rat and the Gecko coordinate through the insulation (+1 AP both)->Ch2-Relay-RatGecko]]</div>
<</if>>
/* Wall cavity shortcut to basement */
<<if setup.isSmallAnimal() and $house.roomsExplored.basement>>
[[Descend through wall cavity to basement->Ch2-Vent-ToBasement]]
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return downstairs->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $house.roomsExplored.atticBoxes to true>><<set $currentRoom to "atticBoxes">><</nobr>>
<div class="passage-title">Forgotten Things</div>
<img class="scene-img" src="media/scenes/attic-old-boxes.webp" alt="Dusty attic boxes and christmas decorations">
<div class="scene-desc">Boxes labeled in Karen's precise handwriting. Tax records. Baby clothes. A box simply marked "DO NOT OPEN — K."</div>
<p>Most boxes contain the predictable archaeology of family life.</p>
<<if not $labIntel.meganPsychEval>>
<<set $labIntel.meganPsychEval to true>>
<p>But one stands apart, taped shut, pushed behind the others, marked in Karen's handwriting.</p>
<p>Inside is a manila envelope of medical bills. //Megan Hoffman, psychiatric evaluation, age 14.// A referral letter from a school counselor, and a prescription that was never filled.</p>
<<say "char-hivemind" "Hivemind">>
//The middle child. A history of anxiety the family buried up here with the Christmas lights. This is useful, a crack in the foundation, sealed over but never repaired.//
<</say>>
<p><span class="delve-intel">Intel gained: Megan had a psychiatric evaluation at 14. Karen hid it. The anxiety was never treated.</span></p>
<<else>>
<p>The "DO NOT OPEN" box sits where you left it, the manila envelope inside, Megan's psychiatric evaluation, already read.</p>
<</if>>
<<if not $ch2Events.examinedAtticSecrets and $house.roomsExplored.atticBoxes>>
[[Dig deeper into the boxes...->Ch2-Examine-AtticSecrets]]
<</if>>
/* STATUS: TO REWORK — strange leather-bound photo album hook is currently a
one-liner with no payoff designed. Disabled until the gallery-album mechanic
is properly built. See tasks/rework.md.
<<if not $ch2Events.foundStrangeAlbum>>
<<set $ch2Events.foundStrangeAlbum to true>>
<p>Tucked behind the DO-NOT-OPEN box, jammed between a roll of christmas lights and a cardboard tube of old wrapping paper, is a leather-bound album. No label. No name on the spine. Heavier than it should be. The cover is cool to the touch.</p>
<</if>>
[[Open the strange photo album...->Ch2-Gallery-Album]]
*/
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-attic">><<set $currentRoom to "atticVent">>
/* Defensive init, legacy saves get the new flags as false, matching the new locked default */
<<if $house.ventRoutes.ryanRoom is undefined>><<set $house.ventRoutes.ryanRoom to false>><</if>>
<<if $house.ventRoutes.meganRoom is undefined>><<set $house.ventRoutes.meganRoom to false>><</if>><</nobr>>
<div class="passage-title">Vent System</div>
<div class="scene-desc">Aluminum ducts branch off the HVAC unit and run flat across the joists before dropping out of sight. Cold air hisses through the taped seams, and every joint is furred with grey lint.</div>
<p>The ducts thread the whole house, and where they pass through the wall cavities the gaps are wide enough to follow a duct down into almost any room below.</p>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Nightvision renders the duct run in green-tinged clarity, every junction and every drop-off legible. The dark that hides you from the family hides nothing from you.//</p><</if>>
<<if $player.currentHost is "bird">>
<p>The main vent opens to the roof. You could leave the house entirely and return at will.</p>
[[Fly out to the garden->Ch2-Garden]]
<</if>>
<<if setup.isSmallAnimal()>>
<p>The wall cavities are tight but navigable. You can hear every room through the ducts.</p>
/* Vent Crawler T0 operation, only available while there are still undiscovered routes */
<<if not ($house.ventRoutes.ryanRoom and $house.ventRoutes.meganRoom and $house.ventRoutes.jessRoom and $house.ventRoutes.masterBedroom and $house.ventRoutes.upperBath)>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Vent Crawler: explore the wall cavities (1 biomass)" "Ch2-Op-VentCrawler-Plan" 1>></div>
<</if>>
/* Known routes, fast travel, gated on discovery flags */
<<if $house.ventRoutes.ryanRoom>>
[[Crawl to Ryan's wall vent->Ch2-RyanRoom]]
<</if>>
<<if $house.ventRoutes.meganRoom>>
[[Crawl to Megan's wall vent->Ch2-MeganRoom]]
<</if>>
<<if $house.ventRoutes.jessRoom>>
[[Crawl to Jess's room vent->Ch2-JessRoom]]
<</if>>
<<if $house.ventRoutes.masterBedroom>>
[[Follow the heating duct to master bedroom->Ch2-MasterBedroom]]
<</if>>
<<if $house.ventRoutes.upperBath>>
[[Follow the drain pipes to bathroom->Ch2-UpperBath]]
<</if>>
/* Gecko vent mastery, adaptation activity */
<<if $player.currentHost is "gecko" and $beastRoute is "symbiotic" and not $ch2Events.geckoVentExplorer>>
<<if $house.ventRoutes.jessRoom and $house.ventRoutes.masterBedroom and $house.ventRoutes.upperBath and $house.ventRoutes.ryanRoom and $house.ventRoutes.meganRoom>>
<div class="delve-choice"><span class="delve-tag delve-tag-gecko">GECKO</span> [[Master every surface and route in the vent system (+1 AP)->Ch2-Gecko-VentExplorer]]</div>
<</if>>
<</if>>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $house.roomsExplored.basement to true>><<set $currentRoom to "basement">><</nobr>>
<div class="passage-title">Basement</div>
<div class="scene-desc">Damp concrete sweating in the dark. Exposed pipes along the ceiling drip condensation at irregular intervals, //plip... plip... plip//. A water heater ticks and groans in the corner like a mechanical heart. The smell is mildew and old cardboard, with something sweeter underneath: organic decay, slow and patient.</div>
<p>Stacks of boxes crowd the walls, each labeled in Karen's precise handwriting: "TAXES, RECENT", "BABY CLOTHES, KEEP", "XMAS DECORATIONS", and one sealed with packing tape and marked simply "DO NOT OPEN." A broken dehumidifier sits unplugged in the corner. It lost the war against moisture long ago.</p>
<<if $player.currentHost is "cat">>
<p>You pad down the wooden stairs, paws silent on each step, and the basement closes around you cold and wet against the fur. Every feline instinct says //leave//, damp and dark and nothing to hunt, but you are not really a cat. You are something that //thrives// in places like this.</p>
<<elseif $player.currentHost is "rat">>
<p>You squeeze through a gap in the basement door frame, and the damp air is rich with scent: rot, chemicals, fungal colonies blooming in the dark, insect larvae in the cardboard seams. //Paradise.// The rat's body quivers with something close to joy.</p>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's nose goes into overdrive, a thousand scents layered over years. Dale's sweat on the workbench, old paint, mouse droppings in the corner. The dog whines softly, overwhelmed by too much information at once.</p>
<<else>>
<p>You make your way down into the basement, where the air is thick and stale. For a creature your size, this is a cathedral of neglect.</p>
<</if>>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Rat Nightvision penetrates the basement's pitch darkness, the pipes and boxes and workbench all rendered in green-tinged detail the rat's natural eyes could never achieve.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
//Below the house. The family's unconscious mind. Humans store what they want to forget below ground level, the things Karen can't throw away and can't bear to look at. Every box down here is a confession.//
<</say>>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//The basement's damp air carries organic traces, mold spores and insect fragments and the slow decay of cardboard and wood. Adaptive Metabolism registers each one as a potential fuel source.//</p>
<</if>>
<div class="nav-card-grid">
<<navCard "Ch2-Basement-Laundry" "Laundry Room" "Washer, dryer, fuse box" "safe" "" "media/scenes/nav-laundry.webp">>
<<navCard "Ch2-Basement-Storage" "Storage" "Old boxes, organic waste, damp corners" "safe" "" "media/scenes/nav-storage.webp">>
<<if $beastRoute is "symbiotic">>
<<navCard "Ch2-Beast-NetworkHub" "Network" "Skill actions, operations, host roster" "safe" "" "media/scenes/nav-network.webp">>
<</if>>
</div>
/* Rat available in basement if not current host */
<<if $player.currentHost isnot "rat" and $infested.rat>>
<p>A lab rat skitters along the base of the water heater, your rat, the original host, still carrying the neural imprint. It pauses, whiskers twitching. //Waiting.//</p>
<<infestLink "Switch to the rat" "Ch2-Basement-SwitchRat" "rat">>
<</if>>
/* Rat adaptation activity, gnaw training */
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and not $ch2Events.ratGnawTraining>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RAT</span> [[Test the rat's teeth on every material in the basement (+1 AP)->Ch2-Rat-GnawTraining]]</div>
<</if>>
/* Cat adaptation activity, basement hunt (requires Enhanced Night Vision) */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("cat_nightvision") and not $ch2Events.catBasementHunt>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[A wild mouse has slipped in through one of the rat's gnaw-holes (+1 AP)->Ch2-Cat-BasementHunt]]</div>
<</if>>
<<if setup.isSmallAnimal() and $discovered.cat>>
<<if $permanentDone.atticDiscovered>>
[[Climb through wall cavity to attic->Ch2-Vent-ToAttic]]
<<else>>
<p>A vertical gap in the wall, narrow and damp, disappearing upward into darkness. The rat's whiskers twitch. Something //lives// up there. You can smell it: fur, warmth, the musky heat of a sleeping predator.</p>
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
[[Squeeze up the wall cavity, investigate what's above->Ch2-Basement-DiscoverAttic]]
<</if>>
<</if>>
<</if>>
<<hostOrCoord "rat">>
<<if _hostOrCoord and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces: Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* Synaptic Relay combo, cat·rat coordination drill. One-shot. */
<<hasSkillTreeAbility "Synaptic Relay">>
<<if _hasAbility and not $ch2Events.relayComboCatRat and $animalNetwork.hosts["cat"] and $animalNetwork.hosts["rat"] and ($player.currentHost is "cat" or $player.currentHost is "rat")>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RELAY</span> [[Make the Cat and the Rat coordinate along the basement wall (+1 AP both)->Ch2-Relay-CatRat]]</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return upstairs->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $house.roomsExplored.basementLaundry to true>><<set $currentRoom to "basementLaundry">><</nobr>>
<div class="passage-title">Laundry Room</div>
<img class="scene-img" src="media/scenes/basement-laundry.webp" alt="Basement laundry room with washer and fuse box">
<div class="scene-desc">A cramped alcove partitioned from the main basement by a plywood wall. A top-loading washer and dryer sit side by side, the washer vibrating faintly even when idle. A grey electrical panel is mounted on the far wall, its door slightly ajar. Laundry baskets overflow with unsorted clothes, Karen's system long since broken down.</div>
<p>The air smells of detergent and damp fabric. A line of drying racks fills the narrow space between the machines and the wall, draped with clothes that have hung there long enough to go stiff.</p>
<<if $player.currentHost is "rat">>
<p>The rat navigates the gap between the washer's warm underbelly and the wall, full of lint, lost socks, and organic residue. //Biomass crumbs, scattered everywhere.//</p>
<<elseif $player.currentHost is "cat">>
<p>The cat leaps onto the dryer and settles on the warm metal, and from here the electrical panel sits at eye level, a grey metal door with a row of circuit breakers behind it.</p>
<<elseif $player.currentHost is "gecko">>
<p>The gecko scales the plywood partition effortlessly, and from the ceiling the entire room lies visible: washer, dryer, laundry baskets, and the electrical panel mounted high on the wall.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The washing machine. Karen runs it constantly, and the family's clothes cycle through this room. Fabric touches skin. Skin absorbs chemicals. If the laundry is contaminated, every garment becomes a delivery system.//
//And that electrical panel... every circuit in the house passes through this room. Every light, every outlet, every alarm. //Control the panel, control the house.////
<</say>>
/* Gecko, access the fuse box (wall grip is innate) */
<<if $player.currentHost is "gecko">>
<<if not $ch2Events.fuseBoxMapped>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">GECKO</span> [[Scale the wall and map the electrical panel->Ch2-Basement-FuseBox]]</div>
<<else>>
<div class="choice-done">Electrical panel already mapped</div>
<</if>>
<</if>>
/* Neural Link, detect wiring patterns through the walls */
<<hasSkillTreeAbility "Neural Link">><<if _hasAbility and not $ch2Events.fuseBoxMapped>>
<p>//Neural Link traces the house's wiring through the walls, copper threads pulsing with current, each one a nerve in the building's body. The circuit map is //readable// from here.//</p>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $ch2Events.fuseBoxMapped to true>><</nobr>>
<div class="passage-title">Circuit Map</div>
<img class="scene-img" src="media/scenes/basement-fusebox.webp" alt="Gecko on electrical panel mapping circuits">
<p>The gecko's toe pads grip the panel door and pull. It swings open with a soft creak, revealing two rows of circuit breakers, each one labeled in Dale's blocky handwriting on a strip of masking tape.</p>
<div class="data-panel">
<div class="data-panel-title">HOFFMAN HOUSE — CIRCUIT BREAKER MAP</div>
<div>1. KITCHEN / DINING — 20A</div>\
<div>2. LIVING ROOM / HALL — 15A</div>\
<div>3. MASTER BEDROOM — 15A</div>\
<div>4. JESS ROOM — 15A</div>\
<div>5. RYAN ROOM — 15A</div>\
<div>6. MEGAN ROOM — 15A</div>\
<div>7. BATHROOM (UPPER) — 20A</div>\
<div>8. GARAGE / EXTERIOR — 20A</div>\
<div>9. BASEMENT / LAUNDRY — 15A</div>\
<div>10. WATER HEATER — 30A</div>\
<div>11. HVAC — 40A</div>\
<div>12. <span style="color:#f44336">SPARE — UNLABELED</span></div>
</div>
<<say "char-hivemind" "Hivemind">>
//Every room. Every circuit. Every switch. The house's nervous system is laid bare, and I can reach the breakers. Kill Ryan's power at 2 AM and he'll leave his room to check the panel. Cut the bathroom circuit during Karen's shower and she'll stumble through the dark. Trip the HVAC on a cold night and the family huddles together for warmth.//
//And that unlabeled spare circuit... it draws power but feeds nothing on Dale's list. A hidden line. Something in this house is wired that the family doesn't know about.//
<</say>>
<p><span class="delve-intel">Intel gained: Complete house circuit map. Individual room power can be controlled from the basement panel. Unlabeled spare circuit detected, hidden electrical line.</span></p>
[[Return to the laundry room->Ch2-Basement-Laundry]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $house.roomsExplored.basementStorage to true>><<set $currentRoom to "basementStorage">><</nobr>>
<div class="passage-title">Storage Room</div>
<div class="scene-desc">Cardboard boxes stacked against damp walls, warping at the base where moisture wicks upward. Old Christmas decorations spill from a split box: tinsel, a cracked angel, tangled lights nobody will ever untangle. The air is thick with mold spores and the sweet-sick smell of vegetable matter breaking down.</div>
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>The smell is //magnificent//. Fruit flies orbit a pile of incorrectly composted vegetables Karen banished down here: rotting lettuce, blackened banana peels, something that was once a potato. Your host's senses sing with it.</p>
<<else>>
<p>In the corner sits a pile of vegetable scraps Karen brought down to compost and forgot about, fruit flies drifting above it in lazy spirals. The smell is organic, dense, //alive//.</p>
<</if>>
<p>A box marked "MEGAN, AGE 10-14" sits apart from the others. School reports, a swimming certificate, and beneath them a folded letter from the school counselor: a psychiatric referral, years old. The envelope was opened. The referral was never acted on.</p>
<<say "char-hivemind" "Hivemind">>
//Karen opened this letter. She read it. She put it in a box and carried it to the darkest corner of her house. The referral is for anxiety and "disordered thinking." The daughter needed help. The mother needed it not to be true.//
<</say>>
<p>The corners are rich with organic decay: mold colonies, dead insects, moisture-warped cardboard breaking down into cellulose. For a creature like you, it's a feast.</p>
<<if not $permanentDone.basementBiomass>>
<<if $player.currentHost is "rat" or $player.currentHost is "none" or $player.currentHost is "gecko">>
<p>The organic matter here is dense enough to metabolize. You could consume it to permanently expand your capacity.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONSUME</span> <<biomassPreview "Consume the organic cache (+1 max biomass, costs 1 biomass)" "Ch2-Basement-Consume" 1>></div>
<</if>>
<</if>>
<<if $permanentDone.basementBiomass>>
<div class="choice-done">The organic matter here has already been consumed.</div>
<</if>>
<p>A box labeled "KAREN — COLLEGE" contains old photo albums. Another reads "KIDS — BABY STUFF."</p>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("pheromone_coat") and not $ch2Events.karenPhotoSession>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Lure Karen down here: meow at the basement door until she follows" "Ch2-Basement-Photos-Karen">><</link>></div>
<<elseif $ch2Events.karenPhotoSession>>
<div class="choice-done">Karen already revisited the photos. The memories are working.</div>
<</if>>
[[Examine the family photos->Ch2-Basement-Photos]]
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-basement">>
<<if not $permanentDone.basementBiomass>><<spendBiomass 1>><<set $player.maxBiomass += 1>><</if>>
<<set $permanentDone.basementBiomass to true>>
<</nobr>>
<div class="passage-title">Organic Absorption</div>
<p>You gorge on the basement's hidden bounty: mold, decaying matter, dead insects, the organic film coating every damp surface. Your body convulses, restructures, //expands//.</p>
<p><span class="consume-success">Max biomass increased to <<= $player.maxBiomass >>.</span></p>
<<say "char-hivemind" "Hivemind">>
//More capacity. More fuel for what comes next. The humans upstairs have no idea what grows beneath their feet.//
<</say>>
[[Return to storage->Ch2-Basement-Storage]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $ch2Events.karenPhotoSession to true>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<div class="passage-title">An Evening in the Basement</div>
<p>The cat meows at the basement door. Once. Twice. The persistent, musical insistence of an animal that knows exactly how to make a human move.</p>
<<say "char-karen" "Karen">>
<i>(from the kitchen, sighing)</i> Whiskers, what are you, why are you down //there//? Come up. Come //up//.
<</say>>
<p>The cat meows again, and doesn't come up. Karen's footsteps sound on the basement stairs, hesitant, annoyed, the tread of a woman who has a hundred things to do and a cat that won't cooperate with any of them.</p>
<p>She reaches the bottom step. The cat is sitting beside the taped box labelled "KAREN — MEMORIES." Purring. The pheromone coat is active, the purring frequency calibrated to lower cortisol, the fur saturated with compounds that make proximity feel like //safety//.</p>
<<say "char-karen" "Karen">>
<i>(crouching, reaching for the cat)</i> What are you doing down here, you ridiculous... <i>(her hand touches the box)</i> ...oh.
<</say>>
<p>She stops. Her hand is on the box. The label is in her own handwriting, from a version of herself that still labelled boxes because she believed she'd want to find things again. The cat threads between her ankles and purrs against her calf.</p>
<p>Karen sits down on the bottom step and pulls the box onto her lap. The cat jumps up and settles against her thigh, warm and heavy, a living anchor. The pheromone coat soaks through her jeans.</p>
<p>She opens the first album.</p>
<<say "char-hivemind" "Hivemind">>
//She's here. On the basement stairs with a box of photographs and a cat full of conditioning compound, and she has no idea that the purring in her lap is the reason the pictures are about to hurt more than they should.//
<</say>>
''Album One — The Beginning.''
<<say "char-karen" "Karen">>
<i>(turning the first page, voice quiet)</i> God. Look at us.
<</say>>
<p>Dale and Karen at the high school dance. She traces the edge of the photo with her fingernail. The cat purrs louder.</p>
<<say "char-karen" "Karen">>
<i>(half-laughing, half-something else)</i> He was so //skinny//. And that tie, I picked that tie. I told him it looked good. It didn't look good. <i>(pause)</i> He believed me though. He always believed me.
<</say>>
<p>The wedding photo. Courthouse steps. Grocery-store flowers.</p>
<<say "char-karen" "Karen">>
<i>(touching the bouquet in the photo)</i> I told everyone I didn't want a big wedding. That was a lie. I wanted a big wedding. We couldn't afford a big wedding. So I said I didn't want one and then I //believed myself// because that's what you do when the alternative is admitting your life started on a budget.
<</say>>
<p>The cat kneads her thigh. The pheromones deepen. Karen turns the page.</p>
<<say "char-hivemind" "Hivemind">>
//The cortisol is dropping. The nostalgia is rising. The pheromone coat is doing what it was designed to do, not creating an emotion but //amplifying// one that was already there. Karen Hoffman is not being made to feel sad. She is being made to feel sad //more deeply than she can manage//.//
<</say>>
''Album Two — The Children.''
<<say "char-karen" "Karen">>
<i>(at a photo of baby Jess)</i> She came out angry. The doctor said she had the strongest grip he'd seen on a newborn. She grabbed his finger and //wouldn't let go// until they put her on my chest. <i>(pause)</i> She was already like that. Already holding onto things.
<</say>>
<p>She turns to the twins.</p>
<<say "char-karen" "Karen">>
<i>(softening)</i> Megan was born smiling. I know that's not medically possible, but she was. Ryan was born //watching//. They put him on the scale and he just... //looked// at everything. Didn't cry, didn't squirm, just watched.
<</say>>
<<if not $ch2Events.photosJessBass>>
<<set $ch2Events.photosJessBass to true>>
<</if>>
<p>She stops at a photo the cat's intelligence has already catalogued.</p>
<<say "char-karen" "Karen">>
<i>(surprised)</i> Oh my god. //Cardiac Arrest//. I forgot about this. <i>(pulling the album closer)</i> Jess and her little metal band. She was fourteen. She played bass, a black thing almost bigger than she was. I drove her to practice every Saturday for a year, and in the car she'd play me whatever she was learning and I'd pretend I liked it.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter)</i> I did actually like some of it. Don't tell her I said that.
<</say>>
<<if not $ch2Events.photosMeganKitchen>>
<<set $ch2Events.photosMeganKitchen to true>>
<</if>>
<p>The cookie photo. Megan on the step-stool.</p>
<<say "char-karen" "Karen">>
<i>(touching the photo with one finger)</i> She was so //serious// about those cookies. Like her life depended on them. And I remember thinking, she's going to be the one who takes care of people. Even then. Eight years old and she was already //serving//.
<</say>>
<p>The cat purrs. Karen's hand moves from the album to the cat's back. Strokes. Returns to the album.</p>
<<if not $ch2Events.photosRyanBruises>>
<<set $ch2Events.photosRyanBruises to true>>
<</if>>
<p>Ryan's school photo. The bruise.</p>
<p>Karen doesn't say anything for a long time.</p>
<<say "char-karen" "Karen">>
<i>(voice tight, controlled)</i> I saw this when it came home. I asked him what happened. He said he fell off his bike. <i>(pause)</i> He didn't have a bike.
<</say>>
<<say "char-karen" "Karen">>
<i>(the control cracking, just at the edges)</i> I knew it was the Henderson boy. Bryce. I //knew//. And I went over there and I talked to Doris, and Doris said her son would never, and I came home and I told Ryan it would be fine, and it wasn't fine, and he stopped telling me things after that.
<</say>>
<<say "char-karen" "Karen">>
<i>(to the cat, hand buried in its fur)</i> That's when he started locking his door.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is crying. Not openly, because Karen Hoffman does not cry openly. But the moisture is there, tracked by the cat's thermal sense: tear duct activation, skin temperature increase around the eyes, involuntary jaw clench. The pheromone coat is converting this grief into //pliability//. Every tear softens the walls by a fraction of a millimetre.//
<</say>>
''Album Three — The Decline.''
<<if not $ch2Events.photosDaleStare>>
<<set $ch2Events.photosDaleStare to true>>
<</if>>
<p>Karen flips faster through the later pages. Fewer photos. More space. The adhesive corners without pictures.</p>
<<say "char-karen" "Karen">>
<i>(at the Christmas dinner photo, Dale's empty chair)</i> He was in the garage. He's always in the garage now. Or on the couch. Or at work. He's everywhere except //where I need him//.
<</say>>
<<say "char-karen" "Karen">>
<i>(closing the album, pressing her palms flat against the cover)</i> When did it stop? When did we go from //that//, <i>(gesturing at the wedding photo)</i> to //this//?
<</say>>
<p>The cat climbs from her thigh onto the album in her lap and presses its head under her chin. Karen's hands come up around it automatically, cradling the cat against her chest like a child she used to hold.</p>
<<say "char-karen" "Karen">>
<i>(into the cat's fur, barely audible)</i> At least you still come when I call.
<</say>>
<p>She sits on the basement stairs for another eight minutes. The cat purrs against her chest. The pheromone coat does its work in the dark.</p>
<p>Then she puts the album back in the box and tapes it shut, harder than necessary, the tape screaming off the roll. She carries the cat upstairs. She does not come back down for the photos again.</p>
<<say "char-hivemind" "Hivemind">>
//Session complete. //The nostalgia vector delivered perfectly.// Karen opened herself voluntarily. The cat was the key, the photographs were the door, and the pheromone coat was the lock that kept her inside long enough for the compound to saturate.//
//What she told the cat in that basement, she would never tell another human being. //That is the value of the animal hosts.// They are confessionals. Therapists. The only listeners in the house that don't judge, don't remember, don't repeat.//
//Except //I// remember. //I// repeat. //Every word she whispered into the cat's fur is now filed under //exploitable//.////
<</say>>
<<conditioningFeedback "dream" 1 "Karen, nostalgia session, voluntary emotional exposure">>
<<conditioningFeedback "pheromone" 1 "Karen, 8 minutes of pheromone coat contact in confined space">>
<p><span class="delve-intel">Karen route: Voluntary emotional breakdown in the basement triggered by photo-album nostalgia + pheromone coat amplification. Karen revealed: guilt about Ryan's bullying, resentment about Dale's withdrawal, grief about the marriage she imagined vs the one she has. All filed as conditioning vectors.</span></p>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Family History</div>
<p>The photo albums tell the Hoffmans' story in faded snapshots. Three albums, stacked in a taped box labelled "KAREN — MEMORIES" in handwriting that was steadier when she wrote it.</p>
''Album One — The Beginning.''
<p>Dale and Karen at a high school dance, impossibly young, grinning, his arm around her waist like he'd won something and couldn't believe it. A prom photo where Karen's dress doesn't fit right and Dale's rented tux is a size too big and neither of them cares. A wedding photo, Karen barely out of her teens, bouquet of grocery-store flowers, the courthouse steps behind them. Dale's mother is in the background. Karen's mother is not.</p>
<p>The next pages move fast. An apartment with carpet that was already stained when they moved in. Karen pregnant, standing sideways in a bathroom mirror, one hand on her stomach, the other holding a camera she must have balanced on the sink. Dale asleep on a couch that isn't the couch he sleeps on now, a different couch in a different apartment, in a version of this marriage that still had momentum.</p>
''Album Two — The Children.''
<p>Jess arrives first, a tiny screaming face in a hospital blanket. Then Jess at one, at two, at three, always looking directly at the camera with an expression that is already //evaluating//. Jess on Karen's hip in the kitchen. Jess with a toy stethoscope around her neck at age four, pressing it to a stuffed bear's chest with total seriousness.</p>
<p>Then the twins, Megan and Ryan, two years later, side by side in matching onesies. Megan is reaching for the camera. Ryan is looking at Megan. This dynamic will hold for the next nineteen years.</p>
<p>The photos get richer. The house appears, this house, the Hoffman house, smaller in the photos than it feels now. A garden that Karen planted with ambition. A swing set that Dale built on a weekend when he still built things on weekends.</p>
<<if not $ch2Events.photosJessBass>>
<<set $ch2Events.photosJessBass to true>>
<p><span class="delve-intel"><b>Jess, age 14.</b> A photo that doesn't match anything else in the album. Jess on a small stage in someone's garage, holding a bass guitar, a black Fender Precision that's almost as big as she is. She's wearing a Slayer t-shirt and ripped jeans, her hair down for once, sweaty, hanging in her face. Behind her stand a drummer, a guitarist, two other teenagers, and a banner taped to the garage wall reads "CARDIAC ARREST" in spray-painted letters. //She was in a metal band.// The bass guitar is nowhere in her current bedroom, and the band photos stop after this page. Whatever Cardiac Arrest was, it didn't survive high school. But the music did. The Meshuggah shirts. The earbuds at 3 AM. This is where it started.</span></p>
<</if>>
<<if not $ch2Events.photosMeganKitchen>>
<<set $ch2Events.photosMeganKitchen to true>>
<p><span class="delve-intel"><b>Megan, age 8.</b> Megan standing on a step-stool beside Karen at the kitchen counter, both of them in aprons, Karen's plain and Megan's with a cartoon cat on it. Megan is stirring something in a bowl with complete concentration, tongue between her teeth. Karen is watching her with an expression the hivemind has never seen on Karen's face before: //unguarded pride//. The next photo shows the result, a plate of misshapen cookies. Megan is beaming. Karen is eating one. //This is the origin of the performing.// Megan learned early that making things for people earns the look. The coffee shop. The cheerful efficiency. The "Good section?" at 11 PM with tea she didn't have to make. All of it started here, with a stool, a bowl, and a mother who smiled when Megan got it right.</span></p>
<</if>>
<<if not $ch2Events.photosRyanBruises>>
<<set $ch2Events.photosRyanBruises to true>>
<p><span class="delve-intel"><b>Ryan, age 11.</b> A school photo, the standard blue background, the forced smile. But Ryan's smile is wrong, and it doesn't reach past his mouth. His left eye has a fading yellow bruise that the school photographer either didn't notice or chose to ignore. The next photo shows Ryan at the same age, standing at the edge of the Henderson property fence. Bryce Henderson, already bigger at twelve than Ryan will ever be, stands in the background with two other boys, laughing. Ryan's hands are in his pockets, his shoulders up around his ears. //The isolation started here.// Not with the gaming, not with the locked door, but with a boy who got hit and learned that the safest place is inside, behind a screen, where Bryce Henderson's fists can't reach. The bruises healed. //The flinch didn't.//</span></p>
<</if>>
''Album Three — The Decline.''
<p>The photos thin out after the children hit their teens. Fewer family shots. More single-subject snapshots taken by phones instead of cameras. The quality improves. The warmth doesn't.</p>
<<if not $ch2Events.photosDaleStare>>
<<set $ch2Events.photosDaleStare to true>>
<p><span class="delve-intel"><b>Dale across the albums.</b> A progression the hivemind tracks with clinical interest. Dale at the wedding: eyes bright, focused on Karen, jaw set with purpose. Dale holding baby Jess: eyes softer, still present, still //there//. Dale at the twins' first birthday: smile intact but the eyes have moved, looking past the camera at something the lens can't catch. Dale at a family barbecue: standing at the edge of the frame, beer in his hand, eyes vacant. The progression is not depression, it's //withdrawal//. In each photo Dale is a little further from the center of the frame, a little more peripheral. By the last photo in the album, a Christmas dinner shot where everyone is at the table, Dale's chair is visible but Dale is not in it. He's in the garage. Or on the couch. Or at BioGenesis. Somewhere that isn't //here//.</span></p>
<</if>>
<p>The last page of Album Three is empty. The photo corners are there, four adhesive triangles per slot, eight slots, all empty. Karen bought the page. She expected to fill it. She didn't.</p>
<<say "char-hivemind" "Hivemind">>
//Three albums. Twenty-three years. A high school dance, a courthouse wedding, three children, a house, a garden that died, a swing set that rusted, and a husband who moved from the centre of the frame to its edge and then off it entirely.//
//The photographs are a diagnostic tool. Every smile that faded. Every posture that closed. Every child who learned their specific survival strategy, Jess's hostility, Megan's performance, Ryan's retreat. //These are not random personality traits. They are adaptations to a household that was failing before I arrived.////
//I did not break this family. //I am inheriting a fracture pattern that was already load-bearing.// The conditioning doesn't create the cracks. It //widens them//. And the photographs show me exactly where to push.//
//They built this life one photograph at a time. Now I will take it apart the same way, carefully, frame by frame, until nothing they remember is real.//
<</say>>
[[Return to storage->Ch2-Basement-Storage]]<<nobr>><<bg "bg-hoffman-basement">>
<<changeHost "rat">><</nobr>>
<div class="passage-title">Old Friend</div>
<p>The rat. Your first host. The body that chewed through your cage. It comes to your hand, not from fear or instinct but //recognition//. The neural imprint is still there, and you slip inside like putting on a coat you never threw away.</p>
<p><span class="skill-used">Host switched: Rat, Bite (active), Squeeze Through (passive)</span></p>
<<say "char-hivemind" "Hivemind">>
//Small again. But small has its uses.//
<</say>>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-basement">>
<<set $permanentDone.atticDiscovered to true>><</nobr>>
<div class="passage-title">Upward</div>
<p>The wall cavity is barely wider than the rat's body. You squeeze in, ribs compressing, claws finding purchase on rough timber and insulation foam. The ascent is vertical and dark, and the smell changes as you climb, damp concrete giving way to dry wood, dust, the stale heat trapped under a roof.</p>
<p>Something warm breathes above you.</p>
<<say "char-hivemind" "Hivemind">>
//A cavity between the basement and the attic. The house's hidden spine: pipes, wires, insulation, and a gap just wide enough for something small.// The family doesn't know this route exists. //Now I do.//
<</say>>
<p>You emerge through a gap between the attic floorboards into dusty light, rafters, old boxes stacked against the walls. And there, in a patch of warmth near the roof vent, is the source of the scent.</p>
<p>The cat. Curled in a nest of old insulation, tail wrapped around its body, one amber eye cracking open as you squeeze through the gap.</p>
<<say "char-hivemind" "Hivemind">>
//The attic.// Accessible from the basement through the wall cavity, a route the family doesn't use. //And a potential host sleeping in the rafters.//
<</say>>
<p><span class="skill-used">Attic discovered, basement wall cavity route now available.</span></p>
[[Explore the attic->Ch2-Attic]]
[[Retreat back to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $house.roomsExplored.garden to true>><<set $currentRoom to "garden">><</nobr>>
<div class="passage-title">Backyard</div>
<img class="scene-img" src="media/scenes/garden-karen-abandoned.webp" alt="Overgrown suburban backyard">
<div class="scene-desc">A fenced suburban yard going slowly feral. Raised garden beds hold dead tomato plants still staked to bamboo poles, Karen's project from a hopeful spring, abandoned when the family stopped eating dinner together. Patchy grass is dotted with Biscuit's outdoor toys: a deflated tennis ball, a rope tug gone grey with mildew. A rusted swing set the kids outgrew years ago. An empty bird feeder hangs from the oak tree, swaying in the breeze.</div>
<p>The fence along the back has a gap where a board rotted through, a repair Dale has promised and never made. Through the gap the Henderson property is visible: their perfect lawn, their painted shutters, their life that works.</p>
<<if $house.dayPhase is "day">>
<p>Morning light slants across the yard, and dew clings to the dead tomato leaves. A robin pecks at the empty feeder, finds nothing, and leaves.</p>
<<hasSkillTreeAbility "Adaptive Metabolism">><<if _hasAbility>>
<p>//Adaptive Metabolism detects organic matter in concentrations invisible to the host's natural senses. The compost bin, the dead tomato roots, the insect larvae in the soil, the garden is a biomass reservoir.//</p>
<</if>>
<<else>>
<p>The yard is silver and black under moonlight, the oak tree's silhouette stretching across the grass like a reaching hand. Crickets start up in the flower beds, and every shadow could be a predator, or prey.</p>
<</if>>
<<if $player.currentHost is "cat">>
<p>You slip through the cat flap in the kitchen door, and the morning air is cool and full of birdsong. This is Whiskers' territory, the yard a hunting ground: a sparrow in the flower bed, a mouse by the fence. The cat's eyes track everything.</p>
<<elseif $player.currentHost is "bird">>
<p>You circle down from the roof and land on the fence. The yard is exposed but quiet at this hour.</p>
<<elseif $player.currentHost is "dog">>
<p>You push through the back door. The yard is familiar to Biscuit, her scent marks everywhere. Territory. //Her// territory. The dog's chest swells with something almost like pride.</p>
<p>//Track Scent identifies every creature that crossed the yard since yesterday: fox at 4 AM, raccoon at 1 AM, stray cat at 3 AM, Henderson's dog at barking distance only. The territory is mapped.//</p>
<<else>>
<p>The backyard is risky for a small creature, too exposed and too much open sky. A rat in a garden is a hawk's lunch.</p>
<</if>>
<<if not $ch2Events.hendersonIntro and $house.dayPhase is "day" and not $ch2Events.hendersonScared>>
<<set $ch2Events.hendersonIntro to true>>
<<goto "Ch2-Garden-HendersonIntro">>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The boundary of their world. Karen planted these beds with ambition: basil, tomatoes, herbs. She was going to cook fresh meals. The family was going to eat together. Now the tomatoes are black on the vine and the bird feeder is empty. Beyond that fence lies the neighbourhood, the city, the species. But first I need to own what's inside.//
<</say>>
<div class="nav-card-grid">
<<navCard "Ch2-Garden-Shed" "Garden Shed" "Tools, compost, chemicals" "safe" "" "media/scenes/nav-shed.webp">>
<<navCard "Ch2-Garden-Porch" "Back Porch" "Biscuit's outdoor bed, garden chairs" "low" "" "media/scenes/nav-porch.webp">>
</div>
/* Cat Predator Hunt, adaptation-gated, 3-day cooldown */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("predator_instinct") and $house.dayPhase is "day">>
<<set _huntCooldown to 3>>
<<set _huntLast to $ch2Events.predatorHuntLastDay>>
<<set _huntReady to (_huntLast is undefined) or (($day - _huntLast) gte _huntCooldown)>>
<<if _huntReady>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HUNT</span> <<link "Predator hunt: catch prey in the garden" "Ch2-Feed-PredatorHunt">><<set $ch2Events.predatorHuntLastDay to $day>><</link>></div>
<<else>>
<<set _huntDaysLeft to _huntCooldown - ($day - _huntLast)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Predator hunt, prey populations need time to recover <span class="lock-hint">(Ready in <<= _huntDaysLeft>> day<<if _huntDaysLeft isnot 1>>s<</if>>)</span></div>
<</if>>
<</if>>
/* Dog Territory Harvest, adaptation-gated */
<<hostOrCoord "dog">>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("territory_control") and not $ch2Events.territoryHarvestedThisPhase>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TERRITORY</span> <<link "Territory harvest: scavenge the yard perimeter (+2 biomass)" "Ch2-Feed-TerritoryHarvest">><<set $ch2Events.territoryHarvestedThisPhase to true>><<addBiomass 2 "repeatable">><</link>></div>
<</if>>
/* Cat Pounce, bird feeder hunt */
<<if not $ch2Events.catPounceGarden and $player.currentHost is "cat" and $house.dayPhase is "day">>
<div class="host-choice"><span class="delve-tag delve-tag-host">POUNCE</span> <<link "Pounce on a sparrow at the bird feeder (+2 biomass)" "Ch2-Garden-Pounce">><<spendBiomass 1 "catPounce">><<addBiomass 3 "catPounceFeed">><<set $ch2Events.catPounceGarden to true>><</link>></div>
<</if>>
/* Garden foraging */
<<if not $ch2Events.gardenForaged and ($player.currentHost is "rat" or $player.currentHost is "gecko" or $player.currentHost is "cat")>>
[[Hunt insects and grubs in the garden beds (+2 biomass)->Ch2-Feed-GardenForage]]
<</if>>
/* Cat adaptation activities, garden */
<<if $player.currentHost is "cat" and $beastRoute is "symbiotic">>
<<if not $ch2Events.catHuntingDrill and $house.dayPhase is "day">>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Practice hunting in the garden, hone predator reflexes (+1 AP)->Ch2-Cat-HuntingDrill]]</div>
<</if>>
<<if not $ch2Events.catRooftopSurvey>>
<div class="host-choice"><span class="delve-tag delve-tag-host">CAT</span> [[Climb to the roof and survey the neighbourhood (+1 AP)->Ch2-Cat-RooftopSurvey]]</div>
<</if>>
<</if>>
/* Dog adaptation activity, garden */
<<if $player.currentHost is "dog" and $beastRoute is "symbiotic">>
<<if not $ch2Events.dogTerritoryMark>>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Mark the property boundary with pheromone scent (+1 AP)->Ch2-Dog-TerritoryMark]]</div>
<</if>>
<</if>>
/* Dog yard access from garden — visible to all hosts but only clickable
for the dog with Scent Tracking. Greyed-out variants tell the player
what the gate requires (host AND skill) without hiding the existence
of the path entirely. */
<<hostOrCoord "dog">>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("scent_tracking")>>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Patrol beyond the fence, neighbourhood scout->Ch2-Beast-DogYard]]</div>
<<elseif _hostOrCoord>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Patrol beyond the fence <span class="lock-hint">(Requires Scent Tracking adaptation)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Patrol beyond the fence <span class="lock-hint">(Requires Dog host + Scent Tracking adaptation, or Hive Coordination)</span></div>
<</if>>
<<hostOrCoord "rat">>
<<if _hostOrCoord and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces: Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* Private yard activities, require Henderson scared + pheromone conditioning */
<<if $ch2Events.hendersonScared and $house.dayPhase is "day">>
<<if $conditioning.karen.pheromone gte 5 and not $ch2Events.gardenPrivateKaren>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRIVATE</span> [[Lure Karen to the garden, the yard is unwatched->Ch2-Garden-Private-Karen]]</div>
<</if>>
<<if $conditioning.megan.pheromone gte 5 and $conditioning.ryan.pheromone gte 5 and not $ch2Events.gardenPrivateMegan>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRIVATE</span> [[Send the twins to the shed: Karen needs the rat poison->Ch2-Garden-Private-Megan]]</div>
<</if>>
<<if $conditioning.jess.pheromone gte 5 and not $ch2Events.gardenPrivateJess>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRIVATE</span> [[Guide Jess to the porch, fresh air and lowered defenses->Ch2-Garden-Private-Jess]]</div>
<</if>>
<<elseif not $ch2Events.hendersonScared and $house.dayPhase is "day">>
<div class="locked-choice"><span class="lock-icon">🔒</span> Private yard activities <span class="lock-hint">(The Hendersons are always watching next door, Need to find away to scare them away or distract them)</span></div>
<</if>>
<div class="nav-card-grid">
<<navCard "Ch2-Kitchen" "Kitchen" "Back inside — the heart of the house" "safe" "" "media/scenes/nav-kitchen.webp">>
<<if $beastRoute is "symbiotic">>
<<navCard "Ch2-Beast-NetworkHub" "Network" "Skill actions, operations, host roster" "safe" "" "media/scenes/nav-network.webp">>
<</if>>
</div><<nobr>><<bg "bg-hoffman-garden">>
<<if not $ch2Events.hendersonScared>><<addSuspicion "hoffmanHouse" 1>><</if>>
<</nobr>>
<img class="scene-img" src="media/scenes/predator-hunt.webp" alt="Cat pouncing on sparrow">
<p>The sparrow never sees it coming. One moment it's pecking at seeds on the empty feeder, the next the cat's jaws snap shut around its neck. A burst of feathers, a muffled crunch. //Biomass.//</p>
<p>The kill is fast, efficient, and deeply satisfying. The bird's tiny body dissolves into fuel almost before the cat finishes chewing.</p>
<p><span class="consume-success">+2 biomass from sparrow. (<<= $player.biomass >> / <<= $player.maxBiomass >>)</span></p>
<<if not $ch2Events.hendersonScared>>
<p>But across the fence, movement. A curtain twitches in the Henderson house next door.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(calling inside)</i> Gerald? Gerald, come look at this. The Hoffmans' cat just killed a bird right off the feeder. <i>(pause)</i> That cat has never hunted //anything// in its life. It usually just sleeps on the porch all day. <i>(another pause)</i> I'm telling you, something is off with that animal. I'm going to say something to Karen.
<</say>>
<p><span class="consume-fail">+1 suspicion, the neighbours are watching.</span></p>
<<say "char-hivemind" "Hivemind">>
//The obnoxious woman across the fence. She sees everything, comments on everything, and now she's threatening to talk to Karen. The Hendersons have eyes on this garden, and every action I take out here is a performance for an audience I didn't invite.//
<</say>>
<<else>>
<p>The Henderson house is dark, their curtains shut. They haven't come near the fence since the dog incident. No witnesses.</p>
<<say "char-hivemind" "Hivemind">>
//The garden is mine. No prying eyes, no obnoxious neighbours peering over the fence.//
<</say>>
<</if>>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<div class="passage-title">The Neighbour</div>
<img class="scene-img" src="media/portraits/ref-henderson.webp" alt="Mrs. Henderson">
<div class="scene-desc">A woman in her forties leans over the fence, gardening gloves on, pruning shears in hand. She was waiting for this. She's always waiting.</div>
<p>Karen is already halfway across the yard when the voice catches her.</p>
<<say "char-henderson" "Mrs. Henderson">>
Ka-ren! Oh, Karen, sweetie, I thought I heard the back door. I haven't seen you out here in //weeks//. <i>(eyeing the dead garden beds)</i> Your tomatoes... oh, honey. You want me to bring over some starter plants? Gerald has extras.
<</say>>
<<say "char-karen" "Karen">>
<i>(tight smile)</i> They're fine, Doris. I've just been busy.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
Busy! Of course you are. How's Dale? We don't see his truck till so late these days. Gerald was saying, well, he wasn't //saying//, but you know, we notice when someone's never home. <i>(lowering her voice conspiratorially)</i> Is everything alright? Between you two?
<</say>>
<<say "char-karen" "Karen">>
<i>(jaw tightening)</i> Dale works nights. He's fine. We're fine.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
Of course, of course. <i>(not taking the hint)</i> And that boy of yours, Ryan, is it? I never see him outside anymore. His bedroom light is on at //three in the morning//, Karen. Every night. Gerald checks because it shines right into our bathroom. Is he sleeping alright?
<</say>>
<<say "char-karen" "Karen">>
He's a teenager, Doris. They stay up late.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(pressing on)</i> And Jess, I saw her leaving at six in the morning the other day. SIX. With those dark circles... she looked //exhausted//. Is she eating properly? She used to be such a bright girl. <i>(leaning closer)</i> You know, my niece went through something similar at university. Turned out she was...
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting her off)</i> Jess is studying. She's at the top of her class.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
Oh, I'm sure she is! And Megan, I see her coming and going at all hours. A different car dropped her off recently. <i>(meaningful pause)</i> A young man. Very... attentive. She's what, nineteen now? Time flies. Gerald thinks she...
<</say>>
<<say "char-karen" "Karen">>
<i>(turning to go inside)</i> Megan's an adult, Doris. I appreciate the concern. I really do. But we're //fine//.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(calling after her)</i> Well, you know where we are! Gerald and I are //always// here if you need anything. Oh, and that cat of yours has been digging in our flower beds again. I don't want to make a fuss, but...
<</say>>
<p>The back door closes. Karen doesn't look back.</p>
<<say "char-hivemind" "Hivemind">>
//The woman next door. The //Hendersons//. Doris and Gerald. She knows everything about this family. Ryan's sleep schedule. Jess's exhaustion. Megan's boyfriend. Dale's absences. Karen's failing garden. She monitors the Hoffman household like a //second surveillance system//, one I can't disable with a keycard or a PIN.//
//But the information flows both ways. Every question she asked told me what the neighbours see from the outside, what looks //normal// and what doesn't. If I push these people too hard, too fast, Doris Henderson will be the first to notice.//
//I need to manage her. Avoid her. Or... silence her.//
<</say>>
<p><span class="delve-intel">Intel gained: Doris and Gerald Henderson, next-door neighbours. Extremely observant and intrusive. Monitor the Hoffman family constantly. Outdoor activities risk being noticed.</span></p>
[[Continue to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $house.roomsExplored.gardenShed to true>><</nobr>>
<div class="passage-title">Garden Shed</div>
<img class="scene-img" src="media/scenes/garden-shed.webp" alt="Garden shed interior">
<div class="scene-desc">A wooden shed, paint peeling. Garden tools on hooks. Bags of soil. A compost bin in the corner, buzzing with insects.</div>
<<if $adaptations.rat.unlocked.includes("nightvision")>><p>//Nightvision reveals the shed's contents in moonless detail: chemical bottles on shelves, the compost bin's organic heat signature, the gap beneath the door where small creatures enter and leave.//</p><</if>>
<p>The compost bin is a fermenting mass of vegetable scraps, coffee grounds, and leaf mulch, teeming with microbial life. For a parasitic organism, it's a concentrated energy source.</p>
<<if not $permanentDone.gardenBiomass>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONSUME</span> <<biomassPreview "Consume the compost heap (+1 max biomass, costs 1 biomass)" "Ch2-Garden-CompostConsume" 1>></div>
<</if>>
<<if $permanentDone.gardenBiomass>>
<div class="choice-done">The compost has already been consumed.</div>
<</if>>
<<if $player.currentHost is "gecko">><p>//Wall Grip scales the shed's interior walls, and from the ceiling every shelf is visible: chemical bottles, labels, Dale's hidden blood pressure readings scratched into the wood.//</p><</if>>
<p>A shelf holds rat poison, slug pellets, and a bottle of concentrated weed killer. //Useful tools for a creature that understands chemistry.//</p>
/* Gecko shed infiltration, adaptation activity */
<<if $player.currentHost is "gecko" and $beastRoute is "symbiotic" and not $ch2Events.geckoShedInfiltrate>>
<div class="delve-choice"><span class="delve-tag delve-tag-gecko">GECKO</span> [[Scale the shelves and survey the shed from above (+1 AP)->Ch2-Gecko-Shed-Infiltrate]]</div>
<</if>>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<if not $permanentDone.gardenBiomass>><<spendBiomass 1>><<set $player.maxBiomass += 1>><</if>>
<<set $permanentDone.gardenBiomass to true>>
<</nobr>>
<div class="passage-title">Compost Absorption</div>
<img class="scene-img" src="media/scenes/garden-compost.webp" alt="Compost heap close-up">
<p>You plunge into the compost heap's warm center. The concentrated organic matter breaks down on contact with your body, restructured, absorbed, integrated.</p>
<p><span class="consume-success">Max biomass increased to <<= $player.maxBiomass >>.</span></p>
<<say "char-hivemind" "Hivemind">>
//Growth. Every cell of this body expands its capacity. The humans tend their garden, and the garden feeds me.//
<</say>>
[[Return to the shed->Ch2-Garden-Shed]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $house.roomsExplored.gardenPorch to true>><<set $currentRoom to "gardenPorch">><</nobr>>
<div class="passage-title">Back Porch</div>
<img class="scene-img" src="media/scenes/garden-porch.webp" alt="Back porch with dog bed and garden chairs">
<div class="scene-desc">A concrete slab with two plastic lawn chairs and a side table between them. Cobwebs bridge both armrests, because Karen and Dale used to sit here on summer evenings watching the kids play in the yard, and that was before. Biscuit's outdoor bed sits under the overhang, a worn cushion matted flat, the fabric sun-faded to a memory of its original color. A dog bowl beside it holds rainwater and a dead leaf.</div>
<<if $player.currentHost is "cat">>
<p>Biscuit's scent is heavy here: fur, saliva, the musty warmth of a dog who sleeps outside more than in. The cat's instincts prickle, but Whiskers' confidence overrides the urge to flee. You sit on the porch railing, tail curled around your paws, and observe.</p>
<</if>>
<<if not $house.catInfested>>
<p>From here you can see the kitchen window. Karen's shadow moves behind the glass, loading the dishwasher, wiping the counter, loading the dishwasher again. A loop.</p>
<</if>>
<p>The porch is the threshold between the Hoffman world and everything beyond it. From here: the fence, the alley, the Hendersons' tidy yard, the street. A neighbourhood that thinks it knows this family.</p>
<<say "char-hivemind" "Hivemind">>
//Two chairs, two cobwebs. They stopped sitting here together. The porch faces outward, built for watching sunsets and sharing silence, and now it's where the dog sleeps alone. An exit route, when the time comes. But also a vantage point. I can see who comes and goes. I can see the whole neighbourhood from here.//
<</say>>
<<hostOrCoord "dog">>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("scent_tracking") and not $ch2Events.porchStashFound>>
<p>The dog's nose locks onto something under the porch boards. The scent is old, faded, but Scent Tracking reads it like a headline. Food, wrapped in plastic, shoved into the gap between the floorboards and the concrete.</p>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">SCENT</span> <<link "Dig out the hidden stash under the porch (+3 biomass)" "Ch2-Garden-Porch">><<set $ch2Events.porchStashFound to true>><<addBiomass 3>><</link>></div>
<<elseif $ch2Events.porchStashFound>>
<div class="choice-done">Porch stash, already consumed</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Back to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.gardenPrivateKaren to true>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>><</nobr>>
<div class="passage-title">Private Garden — Karen</div>
<p>The pheromones have been building for a while now. Karen doesn't know why she suddenly wants fresh air, why the kitchen feels too small, why the backyard calls to her like a half-remembered dream. She steps out onto the porch with her coffee, barefoot on the warm wood, and takes a breath that fills her whole body.</p>
<p>The yard is empty. The Henderson's curtains are drawn. No one is watching.</p>
<p>She sets the coffee down and stretches her arms above her head, a real stretch, the kind she used to do before the world got heavy. Her shirt rides up and she doesn't pull it down, because there's no one to perform for, no one to judge. For the first time in a long while, Karen is alone outdoors and //not afraid of it//.</p>
<p>The cat appears at her ankles. She reaches down and lifts Whiskers onto the porch rail, and her fingers work through the fur, slow and absent and meditative. The pheromone transfer is direct and sustained. Karen's breathing changes. Her hand stops on the cat's back. She looks out at the garden, the fence, the gate, the empty yard, and something shifts behind her eyes.</p>
<<if $karenRoute is "liberation">>
<<addRouteScore "karen" "liberation">>
<<goto "Ch2-Garden-Karen-Lib">>
<<elseif $karenRoute is "dominant">>
<<addRouteScore "karen" "dominant">>
<<goto "Ch2-Garden-Karen-Dom">>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LIBERATION</span> <<link "She wants to feel the air on her skin: the thrill of being seen" "Ch2-Garden-Karen-Lib">><<addRouteScore "karen" "liberation">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINANT</span> <<link "She wants to know what Doris knows: she wants control" "Ch2-Garden-Karen-Dom">><<addRouteScore "karen" "dominant">><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-garden">><</nobr>>
<img class="scene-img" src="media/portraits/ref-henderson.webp" alt="The Henderson house next door, curtains drawn, yard empty — the neighbours aren't watching">
<<say "char-karen" "Karen">>
<i>(quietly, to herself)</i> No one's home until four. Dale's at work. The kids are... <i>(trailing off, biting her lip)</i>
<</say>>
<p>She goes inside. Ninety seconds. When she comes back, she's carrying something in her closed fist, small and purple and discreet. The vibrator she keeps in her bedside drawer, the one Dale doesn't know about, the one she uses with the bedroom door locked and a pillow over her face.</p>
<p>She has never brought it outside.</p>
<p>Karen leans against the porch railing. The sun is on her shoulders, the breeze catches the hem of her skirt. She looks at the Henderson's fence one more time, empty, curtains drawn, no sign of life. Her hand disappears under her skirt.</p>
<<say "char-hivemind" "Hivemind">>
//She brought it outside. The bedroom wasn't enough. The conditioning has eroded the barrier between //private// and //exposed//, and what used to be shame is becoming a pulse she can't ignore. She needs air on her skin. She needs the risk. The pheromones didn't create this, they unlocked it.//
<</say>>
<p>The vibrator buzzes low, barely audible over the birdsong. Karen's breath catches. She presses it against her clit through her underwear first, testing, one hand gripping the rail. Her thighs press together, and the warmth of the sun and the warmth between her legs blur into a single sensation.</p>
<p>She pulls her underwear aside. Direct contact. Her knees buckle slightly, and she braces herself against the rail with one arm, body angled forward, skirt hiding everything from the waist down. To anyone looking from the house, she's a woman leaning on her porch rail, enjoying the morning. From where the cat sits on the rail, inches away, the truth is visible: her hand working between her thighs, her lips parted, her eyes half-closed.</p>
<<say "char-karen" "Karen">>
<i>(barely a whisper, eyes on the empty yard)</i> Oh god. Oh //god//.
<</say>>
<img class="scene-img" src="media/scenes/karen-garden-vibrator.webp" alt="Karen gripping the porch railing">
<p>She turns up the vibrator, and her hips rock forward against her own hand. The sound is swallowed by the breeze, the porch wood creaking under her shifting weight. She's wet, she can feel it on her inner thighs, the slick heat of a body that has been waiting for permission it was never going to get from anyone but itself.</p>
<p>Then the Henderson's back door opens.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(calling from across the fence, waving)</i> Karen! Oh, Karen, is that you? I haven't seen you in //ages//. Is the dog inside? I've been meaning to ask about the recycling schedule...
<</say>>
<p>Karen's hand freezes. The vibrator is still buzzing against her clit. She can't pull it out, because the motion would be visible, and she can't turn it off, because the switch is at the base and her fingers are slick. She grips the rail with her free hand and straightens her posture. The skirt falls. Everything is hidden. //Almost.//</p>
<<say "char-karen" "Karen">>
<i>(voice tight, controlled, the Karen Hoffman voice that manages everything)</i> Doris. Yes, hi. The dog is... he's inside. It's fine.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(approaching the fence, pruning shears in hand)</i> Oh good. I was saying to Gerald just the other day, that dog has been so much //calmer// lately. Whatever you're doing is working. Anyway, the recycling. They changed the schedule again, can you //believe// it? Tuesdays now, not Thursdays. Gerald put the bins out and they just sat there...
<</say>>
<p>The vibrator pulses against Karen's clit. She can feel her orgasm building, the slow, inevitable tide she's been riding since the porch. Doris is ten feet away, separated by a wooden fence, talking about garbage collection.</p>
<<say "char-karen" "Karen">>
<i>(shifting her weight, jaw clenched)</i> Mm-hm. That's... that's frustrating, Doris.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
And the //new// bags they want us to use, the clear ones? Gerald says it's an invasion of privacy. I mean, who wants their neighbours seeing what they throw away? Not that //we// have anything to hide, but it's the //principle//...
<</say>>
<p>Karen's grip on the railing tightens. Her knuckles are white. Under the skirt, her hand presses the vibrator harder. Her thighs are trembling. A bead of sweat runs from her hairline down her temple. She hasn't heard a word Doris has said in thirty seconds.</p>
<<say "char-karen" "Karen">>
<i>(voice strained, barely controlled)</i> Absolutely. The principle. Yes.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
Are you alright, dear? You look flushed. It //is// warm today, isn't it? I was saying to...
<</say>>
<<say "char-karen" "Karen">>
<i>(a short, sharp exhale she disguises as a cough)</i> Fine. Just the heat. You were saying?
<</say>>
<p>The orgasm hits like a held breath finally released. Karen's body goes rigid against the railing. Her mouth opens, but no sound comes out, twenty years of controlling every noise in a house with thin walls compressing the climax into a single, silent shudder. Her pussy clenches around nothing, the vibrator still pressed hard against her clit, waves of heat flooding up through her stomach and chest. Her vision blurs, and the fence, Doris's floral blouse, the pruning shears, all of it dissolves for four seconds into pure, white, //terrifying// pleasure.</p>
<p>Doris doesn't notice. She's looking at her own rose bushes.</p>
<<say "char-henderson" "Mrs. Henderson">>
...and Bryce says the football scholarship covers //tuition// but not //books//, which is honestly just highway robbery if you ask me. Anyway, I won't keep you. You look like you need to sit down, Karen. Drink some water! <i>(waving, turning back to the roses)</i> Nice chatting!
<</say>>
<<say "char-karen" "Karen">>
<i>(voice barely a thread)</i> ...you too, Doris.
<</say>>
<p>Doris goes inside. The Henderson's back door closes.</p>
<p>Karen stands on the porch for a full minute without moving. The vibrator is still buzzing. She turns it off and pulls her hand from under her skirt. Her fingers are slick, and she stares at them in the sunlight, her own arousal glistening on skin that has been managing, scheduling, controlling, and //denying// for longer than she can remember.</p>
<p>She wipes her hand on her skirt. Picks up the cold coffee. Goes inside. Locks the back door.</p>
<p>The cat watches her go. The pheromone coat on its fur still carries the compound she absorbed through her fingertips for the last twenty minutes.</p>
<<say "char-hivemind" "Hivemind">>
//She came on the porch. Ten feet from a neighbour. With a vibrator she's never used outside her locked bedroom. The conditioning didn't make her want this, it removed the wall between wanting and //doing//. Karen Hoffman just discovered that the risk of being caught is not a deterrent. It's an //amplifier//.//
//It starts with a woman who held everything so tight for so long that the first crack in the dam takes //everything// with it. The porch was today. Soon it will be the kitchen window. Soon after that, she won't bother locking the bedroom door.//
//Orgasm duration: four seconds. Silent. Devastating.//
<</say>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, sexual energy harvested</span></p>
<<conditioningFeedback "pheromone" 1 "Karen, outdoor exposure, sustained contact">>
<<conditioningFeedback "dream" 1 "Karen, inhibition barrier collapse">>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.karenConfrontedDorisGerald to true>><</nobr>>
<img class="scene-img" src="media/portraits/ref-henderson.webp" alt="The Henderson house next door across the fence — Doris emerging onto the patio with pruning shears">
<p>The pheromones have not made her restless. They have made her //sharp//. Karen leans against the porch railing, barefoot, coffee in hand, shoulders back, and the yard feels like it belongs to her. The warm wood under her feet, the smell of cut grass baking in the afternoon heat, the creak of the oak tree in the breeze. All of it: hers.</p>
<p>She doesn't fidget. She doesn't reach for her phone. She stands on the porch like a woman waiting for something she already knows is coming.</p>
<p>The Henderson's back door opens.</p>
<p>The sound of pruning shears stops. Doris Henderson steps onto her patio in a floral blouse and gardening gloves, a watering can in one hand and unsolicited opinions loaded in the other. She spots Karen immediately, the way she always does.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(waving, already crossing toward the fence)</i> Karen! Oh, there you are. I was just telling Gerald, I haven't seen you outside in //weeks//. Is everything alright? You look... <i>(squinting)</i> well, you look //good//, actually. Did you do something with your hair?
<</say>>
<p>Karen sets her coffee on the railing. She doesn't smile, and she doesn't wave back, she only watches Doris approach the way a cat watches a bird land on an open lawn, patient, still, already calculating the distance.</p>
<<say "char-karen" "Karen">>
<i>(pleasant, unhurried)</i> Doris. Come here for a second. I want to ask you something.
<</say>>
<p>Doris blinks. Karen has never //invited// a conversation before. She's always been the one retreating, deflecting, enduring Doris's questions like weather. Something has changed. Doris can feel it but can't name it. She leans against the fence, gloves folded over the top rail, and tilts her head.</p>
<<say "char-henderson" "Mrs. Henderson">>
Of course, sweetie. What is it?
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes steady, voice low enough that Doris has to lean closer)</i> Does Gerald come home late? The kind of late where you check the clock and then pretend you weren't checking?
<</say>>
<p>The watering can dips. Doris's smile flickers, a half-second glitch in the performance of a woman who has spent twenty years pretending her life is a brochure.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(laughing, too quick)</i> Gerald? Oh, you know Gerald. Poker night runs late sometimes. The boys at the lodge, they lose track of...
<</say>>
<<say "char-karen" "Karen">>
<i>(not letting her finish)</i> Thursday poker. Every Thursday. Does he shower before bed on Thursdays, Doris? Or does he come straight to the bedroom smelling like cigars and someone else's perfume?
<</say>>
<p>Silence. A robin calls from the oak tree. The breeze carries the smell of Doris's roses, overwatered, over-pruned, desperate to be perfect.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(grip tightening on the fence, voice dropping)</i> I don't know what you're... Karen, that's a very //personal// question. Gerald is a good man. He's always been...
<</say>>
<<say "char-karen" "Karen">>
<i>(stepping closer to the fence, arms folded)</i> The woman at his office. You mentioned her once. At the Reeves' barbecue, two summers ago. "Brenda from accounts." You said her name and then you changed the subject so fast I thought you'd swallowed a wasp.
<</say>>
<p>Doris's face goes white, then pink. Her mouth opens and closes, and her gloved hands grip the fence rail, knuckles pressing against the wood hard enough to creak. The pruning shears dangle from one wrist on their cord, swinging.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(voice small, defensive)</i> Brenda is his //colleague//. They work on the quarterly reports together. It's nothing. Gerald would never...
<</say>>
<<say "char-karen" "Karen">>
<i>(tilting her head, the way you'd examine a crack in a wall)</i> I'm sure he wouldn't. I'm sure those Thursday nights are exactly what he says they are. <i>(pause)</i> But you check his phone, don't you? When he's in the shower.
<</say>>
<p>Doris doesn't answer. She doesn't have to. Her eyes have gone glassy, the look of a woman who has just realized she is standing in someone else's crosshairs and has no idea how she got there. The watering can hangs forgotten at her side, dripping onto the grass.</p>
<<say "char-karen" "Karen">>
<i>(smiling, warm and controlled, the kind of smile that makes you feel seen and skinned at the same time)</i> I'm sure it's nothing, Doris. Gerald loves you. <i>(pause, pushing off the railing, picking up her coffee)</i> But you should check his phone.
<</say>>
<p>Doris stands at the fence for another five seconds. Then she turns, walks back across her perfect lawn, past the rose bushes, past the painted shutters, past the life that works, and goes inside. The Henderson's back door closes softly. She looks smaller than she did three minutes ago.</p>
<p>Karen sips her coffee. The afternoon is warm. The porch is quiet. She doesn't need the yard to be empty anymore. She needs it to be //hers//.</p>
<p>The cat watches from the railing. The pheromone compound lingers on Karen's skin, but the neurochemical cascade happening in her prefrontal cortex has nothing to do with arousal. Dopamine. Norepinephrine. The reward pathway firing on pure //control//.</p>
<<say "char-hivemind" "Hivemind">>
//She didn't orgasm. She didn't need to. The surgical extraction of another woman's weakness, the way Doris Henderson's confidence collapsed under four targeted questions, produced a neurochemical response functionally identical to sexual climax. Dopamine. Cortisol. Adrenaline. The reward pathway lit up like a specimen under fluorescence.//
//One version of her unshackling produces exhibitionists. The version running in her right now produces //predators//. Karen just discovered that power over another person's emotions is the most addictive substance in this house. More potent than any compound I could manufacture. She didn't touch herself. She touched something better. The machinery of another woman's insecurity. And she //liked// it.//
//The energy isn't sexual. It's //structural//.//
<</say>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, dominance energy harvested</span></p>
<<conditioningFeedback "pheromone" 1 "Karen, dominance assertion, control as arousal">>
<<conditioningFeedback "dream" 1 "Karen, interrogation as intimacy">>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.gardenPrivateMegan to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<div class="passage-title">The Shed</div>
<p>It starts with Karen. It always starts with Karen.</p>
<<say "char-karen" "Karen">>
<i>(from the kitchen, not looking up from her phone)</i> Megan. Ryan. I need the rat poison from the shed. Top shelf, behind the paint cans. I saw bite marks in the basement.
<</say>>
<<say "char-megan" "Megan">>
<i>(already putting on shoes)</i> Sure, Mom! Come on, Ryan.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(headphones around his neck, reluctant)</i> ...why do I have to...
<</say>>
<<say "char-karen" "Karen">>
<i>(the voice that isn't asking)</i> Because I said so. Go.
<</say>>
<p>The shed is at the back of the garden. Dale built it the year they moved in: plywood walls, corrugated roof, a padlock that hasn't locked since the key went missing. Inside: gardening tools, paint cans, Christmas decorations in labelled boxes, and on the top shelf, behind a fortress of old pesticide bottles and a bag of rock salt and a broken dehumidifier, the rat poison Karen wants.</p>
<p>Megan opens the door. The shed smells like turpentine and sun-baked wood. Dust motes drift in the light from the single window. The top shelf is seven feet up and crammed tight.</p>
<<say "char-megan" "Megan">>
<i>(craning her neck)</i> I can see it. It's way in the back. Ryan, hold the ladder. This thing looks ancient.
<</say>>
<p>She drags the stepladder from behind the lawnmower. Aluminium, wobbly, one rubber foot missing. She climbs, first step, second step, third. The ladder shakes. Ryan grabs it with both hands.</p>
<p>The cat rubs against Ryan's ankle. Pheromone coat transfers through his bare skin, shorts and no socks, the boy who dresses like leaving his room is optional. His grip on the ladder tightens. His eyes drift up.</p>
<p>Megan's denim skirt is at his eye level. She stretches for the top shelf, rising on her toes, and the skirt rides up. White cotton panties. The crease where her thigh meets her ass. Vanilla body wash and warm skin and the specific scent of a girl who just came in from a run.</p>
<p>Ryan stares. He doesn't mean to. He can't help it. The pheromones hit his brain like a flashbang, his pupils dilate, his mouth goes dry, and his hands on the ladder are suddenly the only thing keeping him upright.</p>
<p>Megan looks down and catches him looking, and the conditioning does something neither of them expects. Instead of embarrassment, she //smiles//.</p>
<<say "char-megan" "Megan">>
<i>(grinning, not pulling her skirt down)</i> Eyes up here, pervert.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(face scarlet, eyes snapping to the ceiling)</i> I wasn't... I didn't...
<</say>>
<<say "char-megan" "Megan">>
<i>(turning back to the shelf, still smiling, hips shifting as she reaches)</i> Relax. It's nothing you haven't seen on your computer at 3 AM. <i>(pause, stretching higher)</i> Guess this is an upgrade from pixels, huh?
<</say>>
<img class="scene-img" src="media/scenes/megan-shed-panties.webp" alt="Megan on the ladder, skirt riding up, looking down at Ryan">
<p>Ryan doesn't respond. His throat has closed. Megan is //teasing// him, his twin sister, the one who hugs everyone and performs sunshine like a second job, standing on a ladder in their dad's shed with her panties in his face and she's //enjoying// it.</p>
<<if $meganRoute is "slut">>
<<say "char-hivemind" "Hivemind">>
//The conditioning did not remove her inhibition. The inhibition is //long// gone. What the shed-geometry has done is surface the //assessment instinct//. The woman on the ladder is pricing the situation. Her brother is in her eyeline. Her panties are in his. She is calculating, fractions of a second, muscle memory from the back office, whether a test run with Ryan would be a worthwhile //recruitment// of household labour. The tease is not play. The tease is //due diligence//.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The conditioning removed her inhibition and replaced it with //play//. She's not performing for Marcus. She's not performing for an audience. She's teasing her brother because the pheromones have made the taboo feel like a dare instead of a wall. She //knows// her panties are showing. She doesn't care. She wants to see what he does.//
<</say>>
<</if>>
<p>Megan reaches deeper into the shelf. Her whole body stretches, up on her toes, one hand gripping the top shelf, the other pushing aside paint cans. The skirt rides higher. The panties are pulled tight against her pussy, and Ryan can see the outline, the slight damp spot at the centre that wasn't there thirty seconds ago. She shifts her weight and the cotton stretches.</p>
<<say "char-megan" "Megan">>
<i>(voice muffled, arm deep in the shelf)</i> Almost... got it... you still holding the ladder?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(voice cracking)</i> ...yeah.
<</say>>
<<say "char-megan" "Megan">>
<i>(glancing down at him again, lower lip between her teeth)</i> Your face is //so// red right now. You know that, right?
<</say>>
Then the rat moves.
<p>It scrambles from behind a paint can, fast and panicked, directly across the shelf toward Megan's reaching hand. Megan sees it. Megan //screams//.</p>
<<say "char-megan" "Megan">>
<i>(shrieking)</i> RAT! There's a... OH MY GOD...
<</say>>
<p>She recoils. Her foot slips off the step. The ladder kicks backward, and Ryan, still holding it, goes down flat on his back on the shed floor. Megan falls on top of him.</p>
<p>Not gently. Not gradually. She drops from the third step directly onto his face.</p>
<p>Her skirt is around her waist. Her thighs clamp around Ryan's head on impact, reflex and not intention. Her pussy, through damp cotton, is pressed directly against his mouth. His nose is between her legs. Her full weight pins him to the floor.</p>
<p>Three seconds of total confusion. Megan's hands scramble for the floor. Ryan's hands grab the nearest thing, her thighs. The shed is dark and dusty and smells like turpentine and the sudden sharp scent of a girl whose body can't tell the difference between terror and arousal.</p>
<<say "char-megan" "Megan">>
<i>(panicking, not moving, the rat long gone)</i> Oh god... Ryan... are you... I'm on your... <i>(trying to lift herself, legs trembling)</i> I can't... my legs won't...
<</say>>
<p>The pheromones are everywhere. The cat's coat on Ryan's hands, transferred to Megan's thighs. The compound on the shed surfaces, activated by body heat. Megan's wet panties against Ryan's lips. His breath, hot and fast and involuntary, blowing directly against her clit through the cotton.</p>
<p>She stops trying to get up.</p>
<p>Not a decision. Her body overrides her brain. The conditioning fires every neuron at once and what she feels is Ryan's mouth breathing against the most sensitive part of her body and instead of scrambling off she //presses down//.</p>
<p>Half a second. One second. Ryan's lips move against the cotton, not kissing, not intentionally, just breathing, mouth open, and the vibration of it travels through the fabric directly into her.</p>
<p>Megan comes. Not slowly, not with a build, a detonation. The orgasm rips through her from the point of contact outward, her thighs clamping so hard Ryan can't breathe, her hands flat on the shed floor, her spine arching, a sound wrenching out of her that's half scream and half sob. Three seconds. Four. Her hips grind down once, involuntary and animal, and then she's scrambling off him like she's been burned.</p>
<p>Ryan lies on the floor. Dust in his hair. Mouth wet. His sister's taste on his lips, salt and vanilla and the specific alkaline tang he will never, for the rest of his life, be able to forget.</p>
<p>Silence. The shed. The dust motes. The cat on the shelf, watching.</p>
<<say "char-megan" "Megan">>
<i>(standing, pulling her skirt down with shaking hands, voice bright and wrong and cracking at the edges)</i> The rat. There was a rat. That's why I fell. There was a //rat//.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(sitting up slowly, not looking at her, wiping his mouth)</i> ...yeah. I saw it.
<</say>>
<<say "char-megan" "Megan">>
<i>(grabbing the rat poison box from the floor where it fell)</i> We should tell Mom. About the rat. That's... we should go.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(still on the floor)</i> ...yeah.
<</say>>
<p>They walk back to the house separately. Megan three paces ahead, ponytail swinging, carrying the poison in both hands like a shield. Ryan behind, hands in his hoodie pockets, eyes on the ground. The taste of his sister still on his tongue.</p>
<<say "char-karen" "Karen">>
<i>(taking the box without looking up)</i> About time. Put it under the sink.
<</say>>
<<say "char-megan" "Megan">>
<i>(voice too bright)</i> There was a rat in the shed! Scared me half to death. I fell off the ladder.
<</say>>
<<say "char-karen" "Karen">>
<i>(frowning)</i> Are you hurt?
<</say>>
<<say "char-megan" "Megan">>
<i>(already heading for the stairs)</i> No! Fine! Totally fine! Going to shower!
<</say>>
<p>Ryan goes to his room. Door closes. Lock turns.</p>
<<say "char-hivemind" "Hivemind">>
//She teased him. She //chose// to tease him. The conditioning lowered the wall between sibling and //body// and she danced on it like a balance beam. The skirt. The comments. The smile. And then the fall gave them both the excuse neither had the courage to create.//
//The rat was real. The panic was real. The landing was accidental. Everything that happened in the two seconds after the landing, Megan pressing down instead of pulling away, Ryan's mouth opening instead of turning, //that// was the conditioning.//
//She'll shower for forty minutes tonight. He'll lie in bed tasting vanilla. And neither of them will ever mention the shed. But the next time they're alone together in a small space, their bodies will remember what their minds are trying to forget.//
<</say>>
<<addBiomass 2>>
<p><span class="biomass-gain">+2 biomass, twin taboo energy harvested</span></p>
<<conditioningFeedback "pheromone" 1 "Megan, pheromone teasing, physical contact">>
<<conditioningFeedback "dream" 1 "Megan, taboo boundary erased">>
<<conditioningFeedback "pheromone" 1 "Ryan, twin proximity, oral contact">>
<<conditioningFeedback "dream" 1 "Ryan, taboo taste imprinted">>
[[Return to the garden->Ch2-Garden]]<<nobr>><<bg "bg-hoffman-garden">>
/* Route-gate: Slut-route Megan is no longer phone-sexing Marcus; she's
on the line with a Thursday client. Dispatch to the Slut variant. */
<<if $meganRoute is "slut">><<goto "Ch2-Garden-Private-Jess-Slut">><</if>>
<<set $ch2Events.gardenPrivateJess to true>>
<<if $jessRoute is "punk">><<set $ch2Events.gardenPrivateJessPunk to true>><<else>><<set $ch2Events.gardenPrivateJessBreakdown to true>><</if>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<div class="passage-title">Private Garden — Jess</div>
2:14 PM. Karen left for groceries twenty minutes ago. Dale is at work. Ryan hasn't emerged from his room since yesterday. The house is empty, or as empty as it gets.
<p>Jess hasn't been outside in daylight for a while now. The pheromone accumulation has been dissolving her resistance, and today the itch is unbearable. Not in her skin, //under// it, a restlessness that textbooks can't scratch and caffeine can't suppress. She needs something her schedule doesn't have a column for.</p>
<<if $jessRoute is "punk">>
<p>She appears on the back porch in the full kit, dyed hair pulled half-back, a sleeveless band tee over denim cutoffs, the bridge bar between her eyebrows and the lip stud both catching the sun. The porch is not a place the old Jess used to sit. She sits here now because the sun on her face lights up the metal the way she wants it lit. The Henderson house is dark, curtains drawn since the dog incident. No one to report to Karen about what the eldest daughter does when she's alone.</p>
<<else>>
<p>She appears on the back porch squinting, wearing an oversized hoodie and bare legs. Her reading glasses are pushed up into a loose messy bun and a mechanical pencil is still tucked behind her ear from the six straight hours she just spent at the desk. The yard is empty. The Henderson house is dark, curtains drawn since the dog incident. No one to report to Karen about what the eldest daughter does when she's alone.</p>
<</if>>
<p>Jess drops into the porch armchair. The old wicker one that creaks. She pulls her knees up, hoodie stretched over them, and stares at the garden for ten seconds. Then her hand moves down.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(to herself, flat, no guilt, talking to the garden)</i> ...yeah. Alright. About time.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(to herself, barely a whisper)</i> Just... quickly. Just this once.
<</say>>
<</if>>
<p>Her hand slides under the hoodie, past the waistband of her shorts. She's already wet, the conditioning has been building a baseline arousal she can't study away. Her fingers find her clit with clinical precision and start circling. Fast. Efficient. Jess masturbates the way she does everything: like she's running out of time.</p>
<<if $jessRoute is "punk">><img class="scene-img" src="media/scenes/jess-garden-armchair-punk.webp" alt="A 21 year old woman with purple and black dyed hair in an oversized band tee and denim cutoffs on a wicker porch armchair, hand between her legs"><<else>><img class="scene-img" src="media/scenes/jess-garden-armchair.webp" alt="Jess in the porch armchair"><</if>>
<p>The wicker creaks under her shifting hips. Her breath comes in controlled exhales through her nose, quiet and disciplined, even this. The sun is warm on her bare legs. The breeze catches the hoodie hem. Her toes curl against the armchair cushion. For ninety seconds, Jessica Hoffman is not a pre-med student, not a daughter, not a GPA. She's a body in a chair doing the one thing she's been too disciplined to allow herself.</p>
<<say "char-hivemind" "Hivemind">>
//Ninety seconds and she's already approaching threshold. The pheromone conditioning has made her body //efficient//. It knows what it wants and takes the shortest path. Impressive. Clinical, even.//
<</say>>
<p>Then, from inside the kitchen, through the open window above the porch, a voice.</p>
<<say "char-megan" "Megan">>
<i>(muffled through the window, bright, conspiratorial)</i> ...no, I //know//, but Karen's out and everyone's in their rooms so I figured this was safe. Go on. Tell me.
<</say>>
<p>Jess freezes. Her hand stills but doesn't withdraw. Megan is in the kitchen. Right there, on the other side of the wall. The window is cracked open for the breeze and every word carries.</p>
<<say "char-megan" "Megan">>
<i>(laughing, then dropping her voice)</i> Marcus, stop. You're //terrible//. <i>(pause, listening)</i> Okay, okay. If I was there right now... <i>(pause)</i> I'd get on my knees. Right there in the kitchen. I wouldn't even let you close the door. I'd pull your cock out and just... <i>(giggling)</i> Marcus, I'm //serious//. I'd put the whole thing in my mouth. All of it. Until I gagged.
<</say>>
<p>Jess's eyes go wide. She clamps her free hand over her mouth. Her //sister//. Her bright, cheerful, ponytail-and-coffee-shop sister. In their mother's kitchen. Talking like //that//.</p>
<p>Jess should go inside. Jess should walk away. Jess is a rational person who makes rational decisions based on evidence and priorities.</p>
<p>Jess presses her ear against the wall.</p>
<<if $jessRoute is "punk">><video class="scene-video" src="media/video/jess-garden-listening-punk.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening-punk.webp"></video><<else>><video class="scene-video" src="media/video/jess-garden-listening-breakdown.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening.webp"></video><</if>>
<<say "char-megan" "Megan">>
<i>(breathing harder, the performance becoming real)</i> Then I'd climb on top of you. I wouldn't even take my skirt off, just push it up. You'd feel how wet I am before you were even inside me. And I'd ride you so //slow// you'd beg me to go faster. <i>(pause, listening)</i> Mhm. Just like that. //Exactly// like that.
<</say>>
<p>Jess's cheek is flat against the warm siding. She can hear everything: the hitch in Megan's breath, the creak of the kitchen stool she must be sitting on, the tap of her nails on the counter. The analytical mind is trying to process what she's hearing, her sister, the performer, the good girl, the one who smiles at customers and asks about everyone's day, describing in graphic detail how she wants to be fucked.</p>
<p>And her hand is back between her legs. She doesn't decide to start again. The conditioning dissolved the barrier between hearing and feeling. Megan's voice, breathless and explicit and //shameless//, bypasses Jess's prefrontal cortex entirely and hits the limbic system like a match.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(muffled into her own arm, a small delighted snort)</i> ...oh, //Meg//. You nasty little goblin.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(muffled into her own arm, barely a breath)</i> Oh my god... she's... I can't believe she...
<</say>>
<</if>>
<<say "char-megan" "Megan">>
<i>(voice thick, the sound of a kitchen stool shifting)</i> I want you to pull my hair. Hard. I want... //fuck//, Marcus, I want you to bend me over the counter and just //take// me. Don't ask. Don't be gentle. I've been thinking about your cock inside me all //day// and I can't... <i>(shaky exhale)</i> ...are you touching yourself? Because I am. Right now. In the kitchen. On Mom's stool.
<</say>>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(teeth against her own arm, fingers moving faster, a quiet delighted exhale)</i> ...on //Mom's// stool. //Hell// yes. Exactly the right stool, Meg. Fucking //chef's kiss//.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(whispering, fingers moving faster, forehead against the wall)</i> She's such a... on //Mom's// stool... //fuck//...
<</say>>
<</if>>
<p>Jess's fingers work her clit in fast, desperate circles. Ear against the wall, hoodie hiked up, bare legs in the sun, her sister's voice pouring through the siding like it's being piped directly into her nervous system. Megan is in their mother's kitchen, sitting on their mother's stool, masturbating to her boyfriend's voice. And Jess is on the other side of the wall doing the same thing to the sound of //her//.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(teeth gritted, hips rocking against her own hand, the sneer-tone she has been rehearsing engaging on its own)</i> ...look at //you//, Meg. //Look// at you. //Finally//. It's about time.
<</say>>
<p>There is no shock. There is no //what is wrong with me//. The Jess who discovered her own persona-wardrobe a while back does not have a filing cabinet for the word //slut// as a pejorative any more. Her sister is doing what Jess admires, //being// something specific, //out loud//, in a space that doesn't permit the being, and the part of Jess that has been running cruelty-as-foreplay since the dye took lights up at the sound.</p>
<<else>>
<<say "char-jess" "Jess">>
<i>(teeth gritted, hips rocking against her own hand)</i> I can't believe my //sister// is such a slut... oh god I'm so wet right now... what is //wrong// with me...
<</say>>
<p>The absurdity is absolute. The arousal is worse. Jess, the one who schedules her meals, the one who colour-codes her notes, the one who hasn't used the word //slut// in her life, is pressed against a wall calling her sister a slut while she masturbates to the sound of her coming.</p>
<</if>>
<<say "char-megan" "Megan">>
<i>(voice breaking, kitchen stool creaking faster)</i> I'm so close. Talk to me. Tell me I'm... <i>(moan, not performed, //real//)</i> ...tell me I'm your good girl. //Please.// I need you to say it. I'm... oh god, Marcus, I'm...
<</say>>
<p>Megan comes first. The sound carries through the wall, a sharp gasp, then a long, shuddering moan she doesn't even try to muffle because she thinks the house is empty. The stool scrapes against the kitchen floor. Something clatters, a mug, maybe. Then a breathless, giddy laugh.</p>
<<say "char-jess" "Jess">>
<i>(hearing Megan come, her own body seizing)</i> Oh... //oh//... f-fuck...
<</say>>
<p>Jess comes four seconds later. Not silent. Not this time. The orgasm rips through her so hard her head snaps back from the wall and a sharp, broken cry escapes before she can clamp her hand over her mouth, a sound like a gasp and a sob had a collision. Her thighs lock around her hand. Her knees buckle. She slides down the wall, back scraping the siding, and lands on the porch floor with her hand still between her legs and her other hand pressed so hard against her mouth she can feel her own teeth.</p>
<p>Inside the kitchen, Megan goes quiet.</p>
<<say "char-megan" "Megan">>
<i>(into the phone, suddenly alert)</i> Wait, did you hear that? Hold on. <i>(pause)</i> Marcus, hold on a sec.
<</say>>
<p>The kitchen window slides wider. Megan's head appears, flushed, hair messy, eyes scanning the porch, the yard, the Henderson fence.</p>
<p>Jess is flat against the wall, below the window frame, knees pulled to her chest, hand clamped over her mouth, not breathing. The hoodie covers everything. The porch armchair is between her and the window. She is invisible by three inches and a wicker chair.</p>
<<say "char-megan" "Megan">>
<i>(leaning out the window, looking both ways)</i> ...huh. Must have been a cat or something. <i>(pulling back in, picking up the phone)</i> Sorry, thought I heard something outside. Probably Whiskers. //Anyway//, I really have to go. Talk later? <i>(kissing sound)</i> Bye, babe.
<</say>>
<p>The window slides shut. The tap runs. Megan humming while she cleans up. The sound of someone who has no idea she just performed for an audience of one.</p>
<p>Jess sits on the porch floor for two full minutes. Her shorts are soaked. Her hand trembles. Her heart is hammering so hard she can feel it in her throat. She almost got caught. She //screamed//. Jessica Hoffman, who has never lost control of anything in her life, screamed while she came to the sound of her sister's voice.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(barely audible, staring at her own wet fingers, the small private smile that has been arriving more often)</i> ...good. //Good//. Keep it up, Meg.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(barely audible, staring at her own wet fingers)</i> ...what the fuck is happening to me.
<</say>>
<</if>>
<p>She wipes her hand on the hoodie. Stands on shaking legs.</p>
<<if $jessRoute is "punk">>
<p>Walks back inside through the front door, not the kitchen. Not because she is ashamed, but because she does not want to give the //game// away. She will catch Megan later tonight in the kitchen at 2 AM when neither of them has cover, and she will ask exactly the questions her curious punk-self has been assembling since she slid down the wall.</p>
<<else>>
<p>Walks back inside through the front door, not the kitchen. She can't walk past Megan right now, can't look at her face and know what she sounds like when she begs to be called a good girl.</p>
<</if>>
<<if $jessRoute is "punk">>
<<say "char-hivemind" "Hivemind">>
//The fortress mind did not fall to //information//. The punk-mind //cataloged// it. Jess just learned that her sister, bright cheerful Megan, keeps a private sexual register she can switch into at will. Jess has been building persona-switching as her own new core skill for weeks. The //recognition// between the two of them is the thing that arrived in Jess's body as an orgasm.//
//She came to the sound of her sister being //competent at wanting things out loud//. That fact is now permanent. She will find Megan in the 2 AM kitchen tonight and the conversation will change the sisterhood forever, not by revealing a secret, but by //converging// two operations that had been running on the same infrastructure in parallel.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The fortress mind didn't fall to a siege. It fell to //information//. Jess just learned that Megan, bright and cheerful and performing Megan, talks like a porn actress when she thinks she's alone. The cognitive dissonance is //exquisite//. Everything Jess believed about her family's sexual baseline just shifted. If Megan does //that//, then maybe... maybe the things Jess has been denying in herself aren't as abnormal as she calculated.//
//She came to the sound of her sister's voice. She'll process that for weeks. The shame will convert to curiosity. The curiosity will convert to //need//. And the next time Megan makes a call, Jess won't hide behind the wall. She'll find an excuse to be closer.//
//Two targets. One wall. Megan doesn't know she was heard. Jess doesn't know she was watched. The kitchen window carried every word and Jess's body converted each one into arousal her analytical mind will spend weeks trying to reclassify as anything other than what it was.//
//She came to the sound of her sister's voice. That fact is now permanent. And the next time Megan makes a call, Jess will find an excuse to be nearby. Not on the porch this time. Closer. The wall between them is getting thinner.//
<</say>>
<</if>>
<<addBiomass 2>>
<p><span class="biomass-gain">+2 biomass, dual sexual energy harvested</span></p>
<<conditioningFeedback "pheromone" 1 "Jess, outdoor masturbation, voyeuristic arousal">>
<<conditioningFeedback "dream" 1 "Jess, sister's sexuality discovered">>
<<conditioningFeedback "pheromone" 1 "Megan, phone sex in the kitchen, uninhibited">>
[[Return to the garden->Ch2-Garden]]
/* ================================================================
SLUT-ROUTE VARIANT — Ch2-Garden-Private-Jess-Slut
Fires when Megan is on Slut route. The phone call is no longer to
Marcus — Megan is coordinating a Thursday booking with a client and
the call turns explicit when the client asks for a preview.
================================================================ */<<nobr>><<bg "bg-hoffman-garden">>
<<set $ch2Events.gardenPrivateJess to true>>
<<set $ch2Events.gardenPrivateJessSlut to true>>
<<if $jessRoute is "punk">><<set $ch2Events.gardenPrivateJessPunk to true>><<else>><<set $ch2Events.gardenPrivateJessBreakdown to true>><</if>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<div class="passage-title">Private Garden — Jess</div>
2:14 PM. Karen left for groceries twenty minutes ago. Dale is at work. Ryan hasn't emerged from his room since yesterday. The house is empty, or as empty as it gets.
<p>Jess hasn't been outside in daylight for a while now. The pheromone accumulation has been dissolving her resistance, and today the itch is unbearable. She needs something her schedule doesn't have a column for.</p>
<<if $jessRoute is "punk">>
<p>She appears on the back porch in the full kit, dyed hair pulled half-back, a sleeveless band tee over ripped jeans, the bridge bar between her eyebrows and the lip stud both catching the sun. The porch is not a place the old Jess used to sit. She sits here now because the sun on her face lights up the metal the way she wants it lit.</p>
<<else>>
<p>She appears on the back porch squinting, wearing an oversized hoodie and bare legs. The yard is empty. The Henderson house is dark. No one to report to Karen about what the eldest daughter does when she's alone.</p>
<</if>>
<p>Jess drops into the porch armchair. She pulls her knees up and stares at the garden for ten seconds. Then her hand moves down.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(to herself, flat, no guilt, talking to the garden)</i> ...yeah. Alright. About time.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(to herself, barely a whisper)</i> Just... quickly. Just this once.
<</say>>
<</if>>
<p>Her hand slides past the waistband. She's already wet, the conditioning has been building a baseline arousal she can't study away. Her fingers find her clit with clinical precision and start circling.</p>
<<if $jessRoute is "punk">><img class="scene-img" src="media/scenes/jess-garden-armchair-punk.webp" alt="A 21 year old woman with purple and black dyed hair in an oversized band tee and denim cutoffs on a wicker porch armchair, hand between her legs"><<else>><img class="scene-img" src="media/scenes/jess-garden-armchair.webp" alt="Jess in the porch armchair, daylight on her bare legs"><</if>>
<p>The wicker creaks under her shifting hips. The sun is warm. For ninety seconds, Jessica Hoffman is not a pre-med student, not a daughter, not a GPA. She's a body in a chair doing the thing she's been too disciplined to allow herself.</p>
<<say "char-hivemind" "Hivemind">>
//Ninety seconds and she's already approaching threshold. The conditioning has made her body efficient. It knows what it wants and takes the shortest path.//
<</say>>
<p>Then, from inside the kitchen, through the open window above the porch, a voice. Megan's voice. On the phone. But the voice is //not// the cheerful barista voice Karen hears. It is the //other// voice. The one Megan does not use when the family is home.</p>
<<say "char-megan" "Megan">>
<i>(muffled through the window, professional, low-register, the tone of a woman negotiating a contract)</i> ...no, Ben, the set is eighty. The //personal// message is a hundred-fifty. If you want the bra-off set //with// the personal message that is a bundle rate, two-twenty, and that is the bundle rate //I// set, I'm not going to argue about it.
<</say>>
<p>Jess freezes. Her hand stills but doesn't withdraw. She knows that tone. She has //heard// it before, at 2 AM in the kitchen, at the island, when Megan thought Jess was asleep. The //business// voice. The voice Megan uses for the //side channel//.</p>
<<say "char-megan" "Megan">>
<i>(pause, listening, a small laugh that is not the cheerful-barista laugh)</i> Ben. //Ben.// That is not a service I offer. I do //photos//. I do written messages. I do //not// do video calls, I do //not// do in-person, and if you ask me that again this week I'm muting you for a month... <i>(pause)</i> ...Okay. Good. Apology accepted. Eighty plus one-fifty is two-twenty, not two-hundred, and I'd like the full amount before I send the set. I'll wait.
<</say>>
<p>Jess's eyes go wide. Her //sister//. Her cheerful ponytail sister. In their mother's kitchen. Negotiating a //rate// for photos she is evidently //selling//. The voice is so clinical it could be mistaken for Jess's own when Jess is running a shift of personas through the hotel circuit.</p>
<p>Jess presses her ear against the wall.</p>
<<if $jessRoute is "punk">><video class="scene-video" src="media/video/jess-garden-listening-punk.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening-punk.webp"></video><<else>><video class="scene-video" src="media/video/jess-garden-listening-breakdown.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening.webp"></video><</if>>
<<say "char-megan" "Megan">>
<i>(voice dropping further, the low tone she reserves for clients who have paid the premium tier)</i> Good. Venmo came through. Okay, the message that goes with the set. You want the bra-off set with a //personal// message. You get two paragraphs. You want this paragraph to be specific about what, Ben? I keep them tasteful-ish but I will get more direct for an upcharge, and the upcharge is twenty-five per escalation tier.
<</say>>
<p>A pause. The kitchen stool creaks as Megan shifts to sit properly, the specific posture Jess will later confirm is Megan's work posture.</p>
<<say "char-megan" "Megan">>
<i>(into the phone, low, flat, the register scrubbed of all performance)</i> Okay. Tier two. Twenty-five more. Venmo that and I'll dictate the paragraph now so you can hear it before the text version. Got it. Here's what I wrote. //You asked for the set with my chest bare. I'm sending the set because I took my bra off for you. I'm in my bedroom right now, door locked, the bra is on the floor, I'm typing this to you with one hand. The other hand is where you want it to be. Enjoy your Tuesday.// That's the paragraph. I send it with the photos at tier two. Tier three upgrade is fifty more and the paragraph gets longer.
<</say>>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(muffled into her own arm, a flat impressed exhale)</i> ...oh. //Oh.// Okay.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(muffled into her own arm, a tone that is not quite disbelief)</i> Oh my //god//.
<</say>>
<</if>>
<<say "char-megan" "Megan">>
<i>(still into the phone, clinical, the warmth entirely manufactured)</i> Ben, no, I really am not going to do a voice-note tonight. Ask me in six weeks. I'm still scaling. The //photos// are the product for now.
<</say>>
<p>Jess's fingers are back between her legs. She did not decide to start. The dissonance between Megan's //business voice// and the //sexual content it is delivering// has bypassed every guard Jess's conscious mind can raise. Her sister is //so professional// about this. Her sister is //running a tiered pricing schema// in a register colder than Jess herself would have managed.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(whispering against the wall, the small sneering admiration of one operator recognising another)</i> ...you absolute //pro//. //That// is how you do it. Look at her. //Look// at her.
<</say>>
<p>There is no shock. There is recognition. Jess's body responds not to the //transgression// but to the //competence//, because her sister is, in that voice, running a cleaner operation than Jess runs when Jess is Mira, and Jess's body has been conditioned to get off on competence since the Dream Walk.</p>
<<else>>
<<say "char-jess" "Jess">>
<i>(muffled, pre-med-analytical-but-aroused)</i> She's... she's reading a //script//. My sister has a //script// for this. How long has she... how often does she...
<</say>>
<p>The analytical mind does what it always does: it tries to reconstruct the data. How many clients? How many nights? How long? The construction is incomplete and the incompleteness is part of what is getting Jess off.</p>
<</if>>
<<say "char-megan" "Megan">>
<i>(voice shifting, the edge Megan keeps for clients who are pushing the upsell)</i> Ben. //Ben//. That is //not// on the menu. I am not doing a live phone thing tonight. You get the photo set, you get the paragraph, you can do whatever you do with them in your own time. If you want more than that, the answer is //no// for at least another month. Stop asking.
<</say>>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(teeth against her own arm, fingers working steady, the flat appreciative register of one operator clocking another's technique)</i> ...that's //discipline//. That's the //voice//, Meg. Say it //colder//. Shut him //down//.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(teeth into her own arm, fingers desperate, the contrast of Megan's restraint and her own dissolution running her body like a high-tension wire)</i> ...tell //me// no. Say it to //me//. Tell me I don't get to come.
<</say>>
<</if>>
<p>Jess is coming before she finishes the thought. The orgasm rips through her on the exact beat that Megan says //stop asking// into the phone, the cold steady discipline in her sister's voice, the one Jess used to think only //she// could do, detonating against Jess's own dissolving composure. Her head snaps back from the wall. A sharp broken cry escapes before she can clamp her hand over her mouth. Her thighs lock around her hand. She slides down the wall and lands on the porch floor.</p>
<p>Inside the kitchen, Megan goes very quiet.</p>
<<say "char-megan" "Megan">>
<i>(into the phone, voice shifted back to neutral-professional)</i> Ben, one second. I heard something outside. Hold.
<</say>>
<p>The kitchen window slides wider. Megan's head appears. She looks composed — Slut-route Megan operating at the nudes tier has not yet been physically aroused in a way that requires recovery, and the composure is clean.</p>
<p>Jess is flat against the wall, below the window frame, the hoodie or the band tee covering her. Invisible by three inches and a wicker chair.</p>
<<say "char-megan" "Megan">>
<i>(leaning out, scanning)</i> ...huh. Whiskers again probably. <i>(pulling back in, voice back to business)</i> Ben, sorry. Where were we. Sending the set now. Check your email in thirty seconds. Talk next week if you want tier three, not before.
<</say>>
<p>Jess sits on the porch floor listening. Her hand is still between her legs. Her sister is //finishing the call// in a voice that is not a voice Jess has ever been allowed to witness. Ben evidently accepts the terms. The call ends in forty seconds with a crisp //talk soon// and the tap running.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(staring at her wet fingers, the small recognition of craft)</i> ...I wonder since when you've been doing this. How have you been doing this and I haven't been paying attention.
<</say>>
<p>She stands up. Doesn't go inside yet. Sits back down in the wicker armchair and thinks for a long time about the operational overlap, her hotel-persona rotation and Megan's back-office rotation and whether they have been routing clients through //each other//'s territory without knowing. The thought is professional. The thought is also, underneath the professionalism, //arousing// in a way that will feed forward into the sister-midnight conversation that is coming.</p>
<<else>>
<<say "char-jess" "Jess">>
<i>(barely audible, staring at her wet fingers)</i> ...my sister is running a //business//. In our //kitchen//.
<</say>>
<p>She doesn't know what to do with that. She can't tell Karen, she can't tell anybody. She can't even tell //herself// what it means. She sits on the porch floor for four more minutes before she stands up on shaking legs and walks around to the front door, because she cannot walk past Megan right now and pretend she did not hear the voice Megan uses when she is //working//.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The fortress mind didn't fall to a siege. It fell to //professionalism//. Jess just learned that Megan, bright cheerful Megan, runs a cleaner operation than Jess does, in the family kitchen, with complete composure. The cognitive dissonance is //sharper// than the Marcus version would have been, because what Jess heard was not a girlfriend being uninhibited. What Jess heard was a //competitor// being better than Jess.//
//She came to the sound of her sister closing a sale. That fact is now permanent. The next time Megan books, Jess will find an excuse to be nearby, not because Jess wants to be a voyeur, but because Jess wants to take notes.//
<</say>>
<<addBiomass 2>>
<p><span class="biomass-gain">+2 biomass, dual operational energy harvested</span></p>
<<conditioningFeedback "pheromone" 1 "Jess, outdoor masturbation, operational arousal">>
<<conditioningFeedback "dream" 1 "Jess, sister as professional, not girlfriend">>
<<conditioningFeedback "pheromone" 1 "Megan, kitchen booking call with preview">>
[[Return to the garden->Ch2-Garden]]<<nobr>><<if $beastEventReturn>><<goto "Ch2-Beast-Rest">><</if>><<bg "bg-hoffman-house">><<set $currentRoom to "groundFloor">><<set $house.entered to true>><</nobr>>
<<if not $ch2Events.morningObserved>>
<<set $ch2Events.morningObserved to true>>
<div class="passage-title">Morning — The House Awakens</div>
<div class="scene-desc">5:47 AM. The house stirs. You watch from the shadows as the Hoffman family emerges from sleep, one by one.</div>
<img class="scene-img" src="media/scenes/hoffman-kitchen.webp" alt="Kitchen at dawn">
<p>You press yourself flat against the baseboard, invisible in the pre-dawn shadows, and //watch//.</p>
5:52 AM — A toilet flushes upstairs. Footsteps on the landing, heavy, deliberate. A woman descends the stairs. Dark hair with grey streaks, sharp eyes that sweep every room she enters. She pauses at the bottom step, hand on the banister, and scans the hallway. Her gaze passes over your hiding spot without stopping.
<<say "char-karen" "Karen">>
<i>(to herself, checking the thermostat)</i> ...sixty-eight degrees. I set it to sixty-five. //Someone// changed it again.
<</say>>
<<set $discovered.karen to true>>
<<set $house.familyMet.karen to true>>
<p>She moves to the kitchen. Coffee machine. Laptop open. The morning routine begins, precise, mechanical, the actions of a woman who has done this ten thousand times.</p>
6:15 AM — The cat food bowl clinks. An orange tabby emerges from under the living room couch and trots to the kitchen. Karen doesn't look down. The cat eats with supreme indifference.
<<set $discovered.cat to true>>
6:30 AM — An alarm sounds upstairs. Muffled cursing. A door opens. Lighter footsteps, younger. A girl in a coffee shop uniform descends, phone already in hand, earbuds in. She doesn't speak to Karen. Karen watches her leave through the front door without a word.
<<say "char-hivemind" "Hivemind">>
//Megan. The one Dale mentioned on the phone. Coffee shop shift. Out by 7:45. She didn't say goodbye. Karen didn't say good morning. //The silence between them is a language of its own.////
<</say>>
<<set $discovered.megan to true>>
<<set $house.familyMet.megan to true>>
7:00 AM — No sound from the two doors on the upper floor that remained closed. Jess's light was already on, she never turned it off. She's been studying all night. Ryan's door hasn't opened in days.
<<say "char-hivemind" "Hivemind">>
//Five people in one house. Dale collapsed on the couch, still in his BioGenesis uniform. Karen running the kitchen like a command centre. Megan already gone. Jess studying herself to death behind a closed door. Ryan... Ryan is a mystery behind another closed door.//
//And a cat, eating kibble. Unaware it's being studied by something that wants its body.//
//The house is mine to explore. Morning. The family is distracted by routine. //This is when I learn.////
<</say>>
<p><span class="delve-intel">Morning intel: Karen controls the ground floor. Megan leaves early. Jess never sleeps. Ryan never emerges. Dale sleeps through everything. The cat goes everywhere.</span></p>
[[Continue exploring->Ch2-GroundFloor-Explore]]
<<else>>
<<goto "Ch2-GroundFloor-Explore">>
<</if>><<nobr>><<bg "bg-hoffman-house">><<set $currentRoom to "groundFloor">><<set $house.entered to true>><</nobr>>
<div class="passage-title">Ground Floor</div>
<<if $player.currentHost is "cat">>
<p>You pad through the hallway on silent paws. The family trusts Whiskers, no doors are closed to you.</p>
<<elseif $player.currentHost is "dog">>
<p>//Track Scent paints the house in layers of olfactory data: Karen's cortisol trail from the kitchen (fresh, 12 minutes). Dale's sleep-sweat from the couch (stale, 6 hours). Megan's perfume (absent, she left at 6:45).//</p>
<<elseif $player.currentHost is "bird">>
<p>A bird on the ground floor is conspicuous. You hop along the baseboards, staying close to furniture legs.</p>
<<else>>
<p>You creep along the baseboard, small and silent. The house is warm, almost uncomfortably so. Every surface smells of humans.</p>
<</if>>
/* Operation discoveries from ground floor observation, gated on symbiotic route */
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.mailIntercept and $player.currentHost is "dog">>
<<set $operationsDiscovered.mailIntercept to true>>
<<say "char-hivemind" "Hivemind">>
//The mail slot in the front door. Every day, letters fall through, bills, notices, secrets. If Biscuit intercepted the mail before Karen... I could read it. Hide it. Redirect it. //Information is power.////
<</say>>
<p><span class="delve-intel">Operation discovered: Information Warfare, intercept and manipulate the family's mail.</span></p>
<</if>>
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.evidencePlant and $house.roomsExplored.kitchen and $house.roomsExplored.ryanRoom>>
<<set $operationsDiscovered.evidencePlant to true>>
<<say "char-hivemind" "Hivemind">>
//I've seen the rooms. I know where things belong, and where they //shouldn't// be. If I moved a personal item from one room to another... Karen's lipstick in Dale's pocket. Jess's pills on Karen's desk. Megan's charger in Ryan's room. Small displacements that create //large// consequences.//
<</say>>
<p><span class="delve-intel">Operation discovered: Domestic Sabotage, plant items to manipulate family dynamics.</span></p>
<</if>>
<<if $house.familyMet.dale and not $ch2Events.daleSleeping>>
<p>From the living room, the sound of soft snoring. Dale has already passed out on the couch.</p>
<</if>>
/* Cat location hint */
<<if not $house.catInfested>>
<<if $house.catLocation is "kitchen">>
<p>A soft //crunch crunch// from the kitchen. The cat is eating.</p>
<<elseif $house.catLocation is "livingRoom">>
<p>A faint purring from the living room. The cat is curled near Dale.</p>
<</if>>
<</if>>
<div class="nav-card-grid">
<<navCard "Ch2-Kitchen" "Kitchen" "Fridge schedule, cat food bowl" `setup.getRoomRisk("Ch2-Kitchen")` `setup.getRoomOccupants("Ch2-Kitchen")` "media/scenes/nav-kitchen.webp">>
<<navCard "Ch2-LivingRoom" "Living Room" "Couch, TV, family photos" `setup.getRoomRisk("Ch2-LivingRoom")` `setup.getRoomOccupants("Ch2-LivingRoom")` "media/scenes/nav-livingroom.webp">>
<<navCard "Ch2-Garage" "Garage" "Workbench, dog bed, tools" `setup.getRoomRisk("Ch2-Garage")` `setup.getRoomOccupants("Ch2-Garage")` "media/scenes/nav-garage.webp">>
<<navCard "Ch2-UpperHall" "Upstairs" "Bedrooms, bathroom, attic" `setup.getRoomRisk("Ch2-UpperHall")` "" "media/scenes/nav-hallway.webp">>
<<if $house.gardenDoorUnlocked or $player.currentHost is "cat" or $player.currentHost is "bird">>
<<navCard "Ch2-Garden" "Backyard" "Garden shed, back porch" `setup.getRoomRisk("Ch2-Garden")` `setup.getRoomOccupants("Ch2-Garden")` "media/scenes/nav-garden.webp">>
<<else>>
<<navCard "" "Backyard" "Back door — locked" "locked" "" "media/scenes/nav-garden.webp">>
<</if>>
<<if $house.basementUnlocked>>
<<navCard "Ch2-Basement" "Basement" "Dark, hidden things below" `setup.getRoomRisk("Ch2-Basement")` "" "media/scenes/nav-basement.webp">>
<</if>>
<<if $beastRoute is "symbiotic">>
<<navCard "Ch2-Beast-NetworkHub" "Network" "Skill actions, operations, host roster" "safe" "" "media/scenes/nav-network.webp">>
<</if>>
</div>
/* Dog adaptation activity, scent network */
<<if $player.currentHost is "dog" and $beastRoute is "symbiotic" and $house.dayPhase is "day">>
<<if not $ch2Events.dogScentNetwork>>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Map every family member's scent trail through the house (+1 AP)->Ch2-Dog-ScentNetwork]]</div>
<</if>>
<</if>>
/* Rat Sporocyst, kitchen dinner saturation */
<<hostOrCoord "rat">>
<<if _hostOrCoord and $adaptations.rat.unlocked.includes("sporocyst") and $house.dayPhase is "day" and not $ch2Events.sporocystKitchen>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassPreview "Position behind the kitchen vent: saturate the dinner table with spores (1 biomass)" "Ch2-Rat-Sporocyst-Kitchen" 1>></div>
<</if>>
/* Hidden SP: Rat verifies contamination saturation */
<<if _hostOrCoord and $ch2Events.guardNightPatrol and $adaptations.rat.unlocked.includes("contaminator") and $house.dayPhase is "night" and not $ch2Events.ratKitchenVerified>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">HIDDEN</span> <<link "Verify contamination saturation levels on kitchen surfaces" "Ch2-Hidden-RatKitchenVerify">><</link>></div>
<</if>>
<<if $player.currentHost is "cat" or $player.currentHost is "dog" or $player.currentHost is "gecko">>
[[Observe the family, watch, learn, Delve->Ch2-Beast-Observe]]
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $house.roomsExplored.kitchen to true>><<set $currentRoom to "kitchen">><</nobr>>
<<getHouseTier>>
<div class="passage-title">Kitchen</div>
<img class="scene-img" src="media/scenes/hoffman-kitchen.webp" alt="Suburban kitchen at dawn">
<div class="scene-desc">Tile floor scrubbed to a shine that nobody notices. A fridge covered in magnets and school photos, some curling at the edges, some fresh. A laptop on the counter beside a cold half-cup of coffee. A cat's food bowl by the back door, refilled with mechanical precision every morning at 6:15.</div>
<p>Karen's kitchen. Every surface tells the story of a woman holding five lives together with grocery lists and sheer willpower. A chore wheel hangs beside the fridge, four names in Karen's handwriting, one column always filled in: hers. Crumbs trail from the bread box to the counter's edge, Ryan's midnight raids never cleaned up. The coffee machine is a shrine: cleaned daily, the only appliance that //works// in this house.</p>
<<if $house.dayPhase is "day">>
<<if $house.karenLocation is "kitchen">>
<<say "char-karen" "Karen">>
Nobody puts their dishes in the dishwasher. Nobody. I'm not a maid. I'm an //accountant//.
<</say>>
<p>She mutters it to herself while wiping down the counter for the third time today. She doesn't know anything is listening.</p>
<</if>>
<</if>>
<<if $ch2Events.hendersonScared and not $ch2Events.hendersonDoorbell and $house.dayPhase is "day">>
<<set $ch2Events.hendersonDoorbell to true>>
<p>The doorbell rings. Karen freezes mid-wipe. She //hates// the doorbell.</p>
<<say "char-karen" "Karen">>
<i>(under her breath)</i> If that's a Jehovah's Witness again, I swear to God...
<</say>>
<p>She opens the front door. Doris Henderson is standing on the porch in a floral blouse, clutching a Tupperware container like a shield.</p>
<<say "char-henderson" "Mrs. Henderson">>
Karen! Oh good, you're home. I brought banana bread, Gerald's mother's recipe, you know the one. <i>(pushing past the threshold without being invited)</i> Listen, I need to talk to you about that dog of yours.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/henderson-doorbell.webp" alt="A suburban front doorway seen from the kitchen hall. Mrs Henderson pushes uninvited past a tired, bracing Karen, a clear Tupperware of banana bread clutched to her chest, talking mid-sentence. Karen half-blocks the hallway, dishcloth still in one hand.">
<<say "char-karen" "Karen">>
<i>(blocking the hallway)</i> Doris, now's not really a great...
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(steamrolling)</i> Because a while ago? That dog went //feral// at the fence. I mean FERAL, Karen. Teeth. Growling. Max was terrified, wouldn't come out of the kitchen for hours. Gerald nearly called animal control. I told him, I said, "Gerald, let me talk to Karen first, she's reasonable," but //honestly//, if it happens again...
<</say>>
<<say "char-karen" "Karen">>
Biscuit doesn't bite, Doris. She's never...
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(not listening)</i> And it's not just the dog. <i>(lowering her voice conspiratorially)</i> What are you //feeding// that animal, Karen? Because I was talking to Bryce, that's my oldest, he's at State on a football scholarship, you know, defensive end, the coach says he's got a real shot at going pro, anyway, I was telling Bryce about it and //he// said animals don't just change behaviour like that unless something's wrong with their diet. Or their //environment//. <i>(meaningful pause)</i> You know, chemicals in the yard, bad kibble, that sort of thing.
<</say>>
<<say "char-karen" "Karen">>
<i>(jaw tightening)</i> We feed her the same brand we've used for three years, Doris.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(waving this off)</i> Oh, Bryce knows //everything// about animal nutrition, the team has a whole sports science program. He's very well-rounded. Not like, well, not like some kids who just sit in their rooms all day, no offence, I know Ryan has his //things//. And Ashley, that's my youngest, she's head cheerleader at State, just one year behind Bryce, Ashley was saying you should get the dog properly checked, like a full blood panel. She volunteers at the campus animal shelter. She's very science-minded. She gets that from me.
<</say>>
<<say "char-karen" "Karen">>
<i>(opening the door wider, a signal to leave)</i> I'll look into it, Doris. Thank you for the banana bread.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(not taking the hint, peering past Karen into the hallway)</i> Is Dale home? I haven't seen his truck in //days//. Gerald was saying, and honestly Karen, the //state// of your garden. Those tomato beds look like a crime scene. I could send Gerald over with the...
<</say>>
<<say "char-karen" "Karen">>
<i>(flat)</i> Dale works nights. The garden is fine. Goodbye, Doris.
<</say>>
<p>The door closes. Karen leans against it and presses both palms over her eyes.</p>
<<say "char-karen" "Karen">>
<i>(to herself)</i> Get the dog checked. //Chemicals in the yard.// <i>(long breath)</i> God, that woman.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The Henderson woman wants to know what we're feeding the dog. She wants blood panels and vet visits, if Karen actually follows through, a veterinarian might notice the pheromone markers in Biscuit's system. Unlikely, but not impossible.//
//More useful: the children. Bryce Henderson, twenty, defensive end at State University on a football scholarship. Ashley Henderson, nineteen, head cheerleader, volunteers at the campus animal shelter. Both at the same university Megan visits. The jock and the cheerleader, suburban royalty, the family that //works//.//
//Karen dismissed it all. She'll dismiss everything Doris says on principle. The neighbours are noise, not signal, and Karen is too proud to listen to noise.//
<</say>>
<p><span class="delve-intel">Intel gained: Henderson children, Bryce (20, football/defensive end at State) and Ashley (19, head cheerleader at State). Both at the same university as Megan. Doris wants Biscuit checked by a vet.</span></p>
<</if>>
<p>A family schedule is pinned to the fridge with a pizza-shaped magnet:</p>
<div class="data-panel">
<div class="data-panel-title">Hoffman Family Schedule</div>
<div><b>Dale</b>: Night shift (BioGenesis security), leaves at 8 PM, home by 5 AM, sleeps until 2 PM</div>
<div><b>Karen</b>: WFH (accounting), up at 6 AM, meetings at 9</div>
<div><b>Jess</b>: Spring break, studying for midterms, irregular hours</div>
<div><b>Megan</b>: Classes MWF, coffee shop shift Tu/Th/Sat, alarm 6:30 AM</div>
<div><b>Ryan</b>: "????" <i>(written in Karen's handwriting with a frowning face)</i></div>
</div>
<<if $house.familyIntel.names>>
<<say "char-hivemind" "Hivemind">>
//The schedule confirms what Dale's phone call told me.// Karen: 6:00 AM, coffee, emails, control. Megan: 6:30 AM, shower, out by 7:45 for her coffee shop shift. Jess has no morning entry, because she's still awake from the night before. Dale reads "SLEEPING (do NOT wake)". And Ryan is "????", in Karen's handwriting, under a frowning face. //The mother's given up scheduling the youngest. That's a crack I can work with.//
The mail on the counter: a prescription pickup reminder for "Megan H.", a utility bill stamped //PAST DUE//, a school notice about Ryan's absences. //This kitchen is their intelligence hub. Now it's mine.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//A schedule.// Names on a fridge. A family of five, two parents, three children. Every habit is a vulnerability. And the mail on the counter, a prescription pickup reminder, a utility bill stamped //PAST DUE//, a school notice about absences. //This kitchen is their intelligence hub. Now it's mine.//
<</say>>
<</if>>
<<if $adaptations.cat.unlocked.includes("predator_instinct") and not $behavioralIntel.karen.predator>><<set $behavioralIntel.karen.predator to true>><</if>>
<<if $adaptations.dog.unlocked.includes("arousal_tracking") and not $behavioralIntel.karen.arousal>><<set $behavioralIntel.karen.arousal to true>><</if>>
<<if not $house.catInfested and $house.catLocation is "kitchen">>
<p>An orange tabby sits by its food bowl, crunching kibble. It glances at you with supreme indifference.</p>
<<say "char-hivemind" "Hivemind">>
//There.// The cat. It goes everywhere in this house unchallenged. If I could take that body...
<</say>>
[[Approach the cat->Ch2-FindCat]]
<<elseif ($infested.cat or $house.catInfested) and $player.currentHost isnot "cat" and $house.catLocation is "kitchen">>
<<if $animalNetwork.hosts["cat"] and $animalNetwork.hosts["cat"].status is "unavailable">>
<p>The orange tabby sits by its food bowl. Calm. Unbothered. The neural imprint needs time to resettle.</p>
<<set _catRelDay to $ch2Events["catReleasedDay"] or 0>>
<<if _catRelDay gt 0 and ($day - _catRelDay) lt 2>>
<div class="data-panel-muted">Released — <<= 2 - ($day - _catRelDay)>> days until re-infestation.</div>
<</if>>
<<else>>
<p>The orange tabby sits by its food bowl. It lifts its head when you approach, not fear. //Recognition.// The neural imprint is still there.</p>
<<infestLink "Switch to the cat (0 biomass with Seamless Transfer)" "Ch2-Kitchen-SwitchCat" "cat">>
<</if>>
<</if>>
<<if not $house.basementUnlocked>>
<p>A door beside the fridge leads downward, a basement. The door is ajar.</p>
<<set $house.basementUnlocked to true>>
<<set $house.doorOpen.basement to true>>
<</if>>
<<if not $house.gardenDoorUnlocked and ($player.currentHost is "cat" or $player.currentHost is "human")>>
<p>The kitchen back door has a cat flap. <<if $player.currentHost is "cat">>You push through easily.<<else>>You unlock the deadbolt.<</if>></p>
<<set $house.gardenDoorUnlocked to true>>
<</if>>
<p>Karen's laptop sits on the counter, screen dark but power light blinking.</p>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>>
<<if $biofilmTriggered and $biofilmTriggered.kitchen is $day>>
<div class="choice-done">Biofilm already delivered in the kitchen today.</div>
<<elseif $biofilmMarked.kitchen is $day>>
<p>//Biofilm is active on the counter, the coffee machine handle, the laptop edge.//</p>
<<if $house.dayPhase is "day">>
<<addConditioning "karen" "pheromone" 1>>
<<if not $biofilmTriggered>><<set $biofilmTriggered to {}>><</if>><<set $biofilmTriggered.kitchen to $day>>
<p><span class="skill-used">Biofilm triggered, kitchen surfaces</span></p>
<</if>>
<<else>>
<<if $player.biomass gte 2>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<link "Mark the kitchen surfaces with biofilm (2 biomass)" "Ch2-Kitchen">><<set $player.biomass -= 2>><<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>><<set $biofilmMarked.kitchen to $day>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Mark the kitchen surfaces with biofilm (2 biomass) <span class="locked-reason">(Need 2 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<</if>>
<<if not $behavioralIntel.karen.biofilm>><<set $behavioralIntel.karen.biofilm to true>><</if>>
<</if>>
/* Operation discovery hints, triggered by observing the kitchen, gated on symbiotic route */
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.pantryPoison>>
<<set $operationsDiscovered.pantryPoison to true>>
<<say "char-hivemind" "Hivemind">>
//The pantry. Open shelves. Flour, rice, sugar, everything the family eats passes through here. If I could contaminate the food supply... every meal becomes a dose. But I'd need Karen out of the kitchen first. The dog could lure her to the garden.//
<</say>>
<p><span class="delve-intel">Operation discovered: Pantry Poisoning, contaminate the food supply while Karen is distracted.</span></p>
<</if>>
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.washingMachine and $house.basementUnlocked>>
<<set $operationsDiscovered.washingMachine to true>>
<<say "char-hivemind" "Hivemind">>
//The basement door is open. Karen does laundry down there — I've heard the machine running. Clothing touches skin all day. If I contaminated the wash cycle... every garment becomes a delivery system.//
<</say>>
<p><span class="delve-intel">Operation discovered: The Washing Machine, contaminate laundry with pheromone compound.</span></p>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $ch2Events.delveKitchen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve the residual thoughts lingering in this space (1 biomass)" "Ch2-Delve-Kitchen" 1>></div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Residual thoughts linger in this space... but you can't read them. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<if $player.currentHost is "cat">>
[[Settle on the counter and watch the routine->Ch2-Beast-Observe]]
<</if>>
/* Silent Stalker follow-target links — day only, cat only.
Shared daily lockout: any stalk attempt consumes the day's window; the
cat body can only disappear for one extended outing before the family
notices. $ch2Events.lastStalkDay is set inside each target passage. */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("silent_stalker") and $house.dayPhase is "day">>
<<if $ch2Events.lastStalkDay isnot $day>>
<<if $meganRoute is "marcus">>
<div class="host-choice"><span class="delve-tag delve-tag-host">STALK</span> [[Slip into Megan's back seat before she leaves for work->Ch2-Beast-CatStalk-Megan-Work]]</div>
<</if>>
<<if $meganRoute is "slut">>
<div class="host-choice"><span class="delve-tag delve-tag-host">STALK</span> [[Slip into Megan's tote bag before she catches the bus->Ch2-Beast-CatStalk-Megan-Bus]]</div>
<</if>>
<<if $jessRoute is "breakdown">>
<div class="host-choice"><span class="delve-tag delve-tag-host">STALK</span> [[Slip into Jess's backpack before she heads to the bus stop->Ch2-Beast-CatStalk-Jess-University]]</div>
<</if>>
<<if $jessRoute is "punk">>
<div class="host-choice"><span class="delve-tag delve-tag-host">STALK</span> [[Slip into Jess's backpack before she heads out for the show->Ch2-Beast-CatStalk-Jess-OtherBand]]</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Already stalked today <span class="lock-hint">(The cat's absence is noticed if it disappears more than once a day. Reset at dawn.)</span></div>
<</if>>
<</if>>
/* Rat adaptation activity, scent catalogue */
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and not $ch2Events.ratScentCatalogue>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RAT</span> [[Catalogue every scent in the house (+1 AP)->Ch2-Rat-ScentCatalogue]]</div>
<</if>>
/* Feeding links */
<<if not $ch2Events.kitchenScraped and ($house.dayPhase is "day") and $player.currentHost is "rat">>
[[Scavenge food scraps from the floor (+2 biomass)->Ch2-Feed-KitchenScraps]]
<</if>>
<<if not $ch2Events.catFed and not $ch2Events.petFed and $player.currentHost is "cat">>
[[Eat from the cat food bowl (+2 biomass)->Ch2-Feed-PetFood]]
<</if>>
<<if not $ch2Events.examinedKarenLaptop and ($house.dayPhase is "day")>>
[[Karen's laptop is open and unattended...->Ch2-Examine-KarenLaptop]]
<</if>>
<<if not $ch2Events.examinedKitchenTrash and ($player.currentHost is "rat" or $player.currentHost is "gecko" or $player.currentHost is "human")>>
[[Examine the trash and recycling->Ch2-Examine-KitchenTrash]]
<</if>>
/* Memory Implant downstream — Megan humming in kitchen */
<<if $ch2Events.memoryPlanted_megan and $day gt $ch2Events.memoryPlantedDay_megan and $day lte ($ch2Events.memoryPlantedDay_megan + 2) and not $permanentDone.memoryEffect_megan and $house.dayPhase isnot "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Megan keeps drifting off mid-task, like she's chasing a memory that won't sit still->Ch2-MemoryEffect-Megan]]</div>
<</if>>
<<hostOrCoord "rat">>
<<if _hostOrCoord and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces: Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* ============ Baseline Shift — Karen morning rewrite (first BaseShift gate) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and not $ch2Events.baseShiftKaren>>
<<if $conditioning.karen.psionic gte 8 and $house.dayPhase is "day">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<biomassPreview "Baseline Shift: rewrite Karen's morning routine (3 biomass)" "Ch2-BaseShift-Karen-Morning" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's baseline isn't soft enough for a daylight rewrite. <span class="lock-hint">(Requires 8+ psionic on Karen, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.baseShiftKaren>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> [[Karen, morning routine (replay)|Ch2-BaseShift-Karen-Morning]]</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's morning routine could be rewritten from the inside. <span class="lock-hint">(Requires Baseline Shift)</span></div>
<</if>>
/* ============ Biological Architect — Kitchen chain reaction ============ */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.bioArchitectKitchen>>
<<if $conditioning.karen.pheromone gte 8 and $conditioning.megan.pheromone gte 8 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: kitchen chain reaction (2 biomass)" "Ch2-BioArchitect-Kitchen" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The kitchen cascade won't hold, Karen and Megan aren't saturated enough. <span class="lock-hint">(Requires 8+ pheromone on Karen and Megan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.bioArchitectKitchen>>
<div class="choice-done">Kitchen, chain reaction seeded</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The kitchen could be restructured into a cascade vector. <span class="lock-hint">(Requires Biological Architect)</span></div>
<</if>>
/* ============ Estrus Trigger — Karen morning cycle ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusKaren>>
<<if $conditioning.karen.pheromone gte 8 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: initiate Karen's cycle (3 biomass)" "Ch2-Estrus-Karen" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's body won't cycle on command yet. <span class="lock-hint">(Requires 8+ pheromone on Karen, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusKaren>>
<div class="choice-done">Karen, estrus cycle already initiated</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's body could be forced into heat. <span class="lock-hint">(Requires Estrus Trigger)</span></div>
<</if>>
/* ============ Free Use — Morning rotation (Baseline Shift apex subroutine) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and $ch2Events.baseShiftFull and not $ch2Events.freeUseMorning>>
<<if $conditioning.karen.pheromone gte 10 and $conditioning.karen.dream gte 10 and $conditioning.karen.psionic gte 10 and $conditioning.megan.pheromone gte 10 and $conditioning.megan.dream gte 10 and $conditioning.megan.psionic gte 10 and $conditioning.ryan.pheromone gte 10 and $conditioning.ryan.dream gte 10 and $conditioning.ryan.psionic gte 10 and $house.dayPhase is "day">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Free Use: open-access morning rotation (4 biomass)" "Ch2-FreeUse-Morning" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The household isn't fully rewritten for Free Use yet. <span class="lock-hint">(Requires 10 on all three conditioning tracks for Karen, Megan, and Ryan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.freeUseMorning>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Free Use, morning rotation (replay)|Ch2-FreeUse-Morning]]</div>
<<elseif _hasAbility and not $ch2Events.baseShiftFull and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Free Use cannot activate before the full household rewrite. <span class="lock-hint">(Run the Baseline Shift: Full Family apex event, living room, night, all 4 prior Baseline Shift scenes done)</span></div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The kitchen could become a rotation point for Free Use. <span class="lock-hint">(Requires Baseline Shift)</span></div>
<</if>>
/* ============ Free Use — Karen + fem-Ryan dinner-help (separate scheduled item, kitchen) ============ */
<<if _hasAbility and $ch2Events.baseShiftFull and $ryanRoute is "feminization" and not $ch2Events.freeUseKarenRyanFemKitchen>>
<<if $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Karen schedules Ryan for dinner help: the special-sauce roux (2 biomass)" "Ch2-FreeUse-Karen-RyanFem-Kitchen" 2>></div>
<</if>>
<<elseif _hasAbility and $ch2Events.freeUseKarenRyanFemKitchen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Dinner help, special sauce (replay)|Ch2-FreeUse-Karen-RyanFem-Kitchen]]</div>
<</if>>
/* ============ Free Use — Megan dinner-duty rotation (separate scheduled item) ============ */
<<if _hasAbility and $ch2Events.baseShiftFull and not $ch2Events.freeUseMeganKitchen>>
<<if $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Megan is on dinner duty: service the table before she eats (2 biomass)" "Ch2-FreeUse-Megan-Kitchen" 2>></div>
<</if>>
<<elseif _hasAbility and $ch2Events.freeUseMeganKitchen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Megan dinner-duty rotation (replay)|Ch2-FreeUse-Megan-Kitchen]]</div>
<</if>>
/* ============ Jess × Ryan kitchen convergence, both routes set, both implants done, daytime kitchen ============ */
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $permanentDone.pdJessRyanKitchen>>
<<if $permanentDone.memoryImplantJess and $permanentDone.memoryImplantRyan and $jessRoute and $ryanRoute and $conditioning.jess.psionic gte 6 and $conditioning.ryan.psionic gte 6 and $house.dayPhase is "day">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Psychic Domination: converge the Jess+Ryan implants in the kitchen (4 biomass)" "Ch2-PD-JessRyan-Kitchen" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Converge Jess + Ryan's implants, the pair isn't primed yet <span class="lock-hint">(Requires Memory Implant on both siblings + both routes locked + 6+ psionic on both, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $permanentDone.pdJessRyanKitchen>>
<div class="choice-done">Jess + Ryan, kitchen convergence complete</div>
<</if>>
/* ============ Sensory Bridge — Karen + Megan (phantom water) ============ */
<<hasSkillTreeAbility "Sensory Bridge">>
<<if _hasAbility and not $ch2Events.sensoryBridgeKM>>
<<if $conditioning.karen.psionic gte 8 and $conditioning.megan.psionic gte 8 and $house.dayPhase is "day">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BRIDGE</span> <<biomassPreview "Sensory Bridge: link Karen and Megan (2 biomass)" "Ch2-SensoryBridge-KarenMegan" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen and Megan won't share sensations yet. <span class="lock-hint">(Requires 8+ psionic on Karen and Megan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.sensoryBridgeKM>>
<div class="choice-done">Karen + Megan, bridged</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Two family members could be linked through a phantom sense. <span class="lock-hint">(Requires Sensory Bridge)</span></div>
<</if>>
/* ============ Sensory Bridge — Dinner (apex, all 5, repeatable daily) ============ */
<<hasSkillTreeAbility "Sensory Bridge">>
<<if _hasAbility and $ch2Events.sensoryBridgeDinnerDay isnot $day>>
<<if $conditioning.karen.psionic gte 10 and $conditioning.dale.psionic gte 10 and $conditioning.megan.psionic gte 10 and $conditioning.jess.psionic gte 10 and $conditioning.ryan.psionic gte 10 and $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BRIDGE</span> <<biomassPreview "Sensory Bridge: full family dinner (2 biomass)" "Ch2-SensoryBridge-Dinner" 2>></div>
<<elseif not $ch2Events.sensoryBridgeDinner and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The full bridge needs every nerve ending at apex. <span class="lock-hint">(Requires 10+ psionic on all 5 family members, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.sensoryBridgeDinnerDay is $day>>
<div class="choice-done">Full Bridge, already ridden tonight</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the hallway->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-living">>
<<set $house.roomsExplored.livingRoom to true>><<set $currentRoom to "livingRoom">><</nobr>>
<<getHouseTier>>
<div class="passage-title">Living Room</div>
<<if $house.dayPhase is "day">>
<img class="scene-img" src="media/scenes/dale-sleeping.webp" alt="Dale passed out on the living room couch in the afternoon, blanket draped, TV flickering">
<<else>>
<img class="scene-img" src="media/scenes/hoffman-living.webp" alt="Empty living room at night, TV playing to nobody">
<</if>>
<<if $house.dayPhase is "night">>
<div class="scene-desc">A worn couch faces a large TV. Sports memorabilia on the walls. Family photos line the mantelpiece. The room is empty, Dale left for his shift hours ago.</div>
<p>The TV plays an infomercial to no one. The couch holds the impression of his body, the blanket Karen draped still folded at the armrest. The quiet reads as abandonment, not peace.</p>
<<if $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You keep to the shadow behind the TV stand. Without Dale's snoring to mask your movements, the silence makes every scratch audible.</p>
<</if>>
<<else>>
<div class="scene-desc">A worn couch faces a large TV. Sports memorabilia on the walls. Family photos line the mantelpiece. Dale is sprawled across the cushions, dead to the world. A blanket has been draped over him, Karen's work, careful enough not to wake him.</div>
<<if not $ch2Events.daleSleeping>>
<<set $ch2Events.daleSleeping to true>>
<</if>>
<p>Dale's breathing is deep and rhythmic, a grinding, wet snore that rattles the empty beer can on the end table. A half-eaten sandwich sits on the coffee table, mayo congealing. The TV plays a muted infomercial and washes the room in flickering blue light. The cushions sag in the shape he's pressed into them over the years.</p>
<<if $player.currentHost is "cat">>
<p>The cat's body knows this spot. Whiskers curls at Dale's feet, drawn by the warmth. Dale shifts in his sleep and one heavy hand drops to scratch behind the cat's ears, pure muscle memory. He mumbles something that sounds like //Biscuit//.</p>
<<say "char-dale" "Dale">>
...good girl...
<</say>>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You keep to the shadow behind the TV stand. The snoring is so loud it masks every sound you make.</p>
<</if>>
<<if $player.currentHost is "dog" and $adaptations.dog.unlocked.includes("pack_bond") and $house.dayPhase is "day">><p>//Pack Bond reads Dale's sleeping body language: the protective curl, the hand that reaches toward the floor in his sleep, searching for a dog that used to sleep beside the couch. The bond runs both ways. The loyalty is real. The parasite merely redirects it.//</p><</if>>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("pheromone_coat") and $house.dayPhase is "day" and not $ch2Events.pheroCoatKaren>>
<<if $conditioning.karen.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Karen settles beside the cat on the couch..." "Ch2-Beast-PheroCoat-Karen">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen glances at the cat but doesn't sit down. <span class="lock-hint">(Requires Pheromone Coat + deeper pheromone conditioning)</span></div>
<</if>>
<</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The father. Exhausted from a triple shift. His mind is unguarded. I could delve his thoughts without him stirring. But infesting him now would wake the whole house.// The living room is this family's graveyard of togetherness. Three dents in the couch, but they never sit in them at the same time.
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "day">><p>//Dale's sleeping mind drifts like smoke, shapeless, unguarded, the weakest mental barrier in the house. Dreams flicker at the edges: mortgage numbers, Karen's voice, a dog that used to greet him at the door.//</p><</if>>
<</if>>
<p>The mantelpiece tells a story in descending order of happiness: a wedding photo (Dale and Karen, impossibly young, grinning like they'd won something). Jess's graduation, //State University Pre-Med//, Karen beaming, Dale's hand on her shoulder. Megan's track trophy, first place, age fifteen. And then Ryan's elementary school picture, the last time he smiled for a camera. After that, the frames just... stop.</p>
<<if not $house.catInfested and $house.catLocation is "livingRoom">>
<p>The orange tabby is curled at the man's feet, purring softly.</p>
[[Approach the cat->Ch2-FindCat]]
<</if>>
/* Dale's sleeping-mind delves (surface + deep) are day-only: he crashes on the
living-room couch post-shift through the morning, and is at BioGenesis at night. */
<<if $house.dayPhase is "day">>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.dale>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Dale's sleeping mind (1 biomass)" "Ch2-Delve-Dale" 1>></div>
<<elseif _hasAbility and $delveInfo.dale>>
<div class="choice-done">Dale, surface thoughts already read</div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's sleeping mind is completely unguarded... but you can't read it. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<</if>>
/* Deep delve into Dale's BioGenesis memories, backfills any unread Facility Intel */
<<set _facMissing to false>>
<<if not $labMapSeen>><<set _facMissing to true>><</if>>
<<if not $labCalendarSeen>><<set _facMissing to true>><</if>>
<<if not $labIntel or not $labIntel.monitorData>><<set _facMissing to true>><</if>>
<<if not $labIntel or not $labIntel.equipmentStudied>><<set _facMissing to true>><</if>>
<<if not $labIntel or not $labIntel.ventConversation>><<set _facMissing to true>><</if>>
<<if $house.dayPhase is "day">>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.dale and not $permanentDone.daleFacilityDelved and _facMissing>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE DEEP</span> <<biomassPreview "Mine Dale's BioGenesis patrol residue, three years of overnight rounds (2 biomass)" "Ch2-Delve-Dale-Facility" 2>></div>
<<elseif _hasAbility and $permanentDone.daleFacilityDelved>>
<div class="choice-done">Dale, BioGenesis deep memories already harvested</div>
<<elseif not _hasAbility and $delveInfo.dale and _facMissing>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's BioGenesis memory architecture is in there... but the surface delve doesn't reach it. <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<</if>>
/* Psychic Domination, wires to gloryhole construction (one-time) */
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $ch2Events.gloryholeBuilt>>
<<if $conditioning.dale.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Psychic Domination: Dale's hands know how to cut drywall (4 biomass)" "Ch2-Gloryhole-Build" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's hands could build something useful tonight, but his psionic conditioning isn't deep enough yet. <span class="lock-hint">(Requires 8+ psionic conditioning on Dale)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.gloryholeBuilt>>
<div class="choice-done">Dale, gloryhole constructed</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Command Dale's sleeping body <span class="lock-hint">(Requires Psychic Domination)</span></div>
<</if>>
/* Psychic Domination — Dale permanently suppresses the BioGenesis investigation.
Requires fully saturated Dale conditioning (30 total = 10 per type). Day only
— the instruction has to be planted while he's awake on the couch between
shifts so it rides into work with him. One-shot: permanently closes the lab
investigation clock. */
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $ch2Events.daleLabSuppression and $house.dayPhase is "day" and ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic) gte 30>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Psychic Domination: instruct Dale to bury the BioGenesis investigation from the inside (5 biomass)" "Ch2-PD-Dale-LabSuppression" 5>></div>
<<elseif _hasAbility and $ch2Events.daleLabSuppression>>
<div class="choice-done">Dale, lab investigation permanently buried</div>
<<elseif _hasAbility and ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic) lt 30 and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale isn't saturated enough to use from the inside of his own job. <span class="lock-hint">(Requires 30 total conditioning on Dale, 10 pheromone + 10 dream + 10 psionic, daytime)</span></div>
<</if>>
/* ============ Baseline Shift — Movie Night (Dale+Jess, requires Karen-Morning first) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and not $ch2Events.baseShiftMovie>>
<<if $ch2Events.baseShiftKaren and $conditioning.jess.psionic gte 8 and $conditioning.dale.psionic gte 8 and $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<biomassPreview "Baseline Shift: late-night television rewrite (6 biomass)" "Ch2-BaseShift-MovieNight" 6>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale and Jess still flinch at each other after dark. <span class="lock-hint">(Requires Karen's Morning rewrite first + 8+ psionic on Jess and Dale, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.baseShiftMovie>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> [[Movie Night, baseline shifted (replay)|Ch2-BaseShift-MovieNight]]</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The couch could become a rewrite point. <span class="lock-hint">(Requires Baseline Shift)</span></div>
<</if>>
/* ============ Baseline Shift — FullFamily APEX ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and not $ch2Events.baseShiftFull>>
<<if $ch2Events.baseShiftKaren and $ch2Events.baseShiftBathroom and $ch2Events.baseShiftMovie and $ch2Events.baseShiftMassage and $conditioning.karen.psionic gte 10 and $conditioning.dale.psionic gte 10 and $conditioning.megan.psionic gte 10 and $conditioning.jess.psionic gte 10 and $conditioning.ryan.psionic gte 10 and $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">APEX</span> <<biomassPreview "Baseline Shift: rewrite the entire family at once (15 biomass)" "Ch2-BaseShift-FullFamily" 15>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The apex needs the whole household broken in. <span class="lock-hint">(Requires all 4 prior Baseline Shift scenes + 10 psionic on every family member + night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.baseShiftFull>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">APEX</span> [[Baseline Shift, the new normal (replay)|Ch2-BaseShift-FullFamily]]</div>
<</if>>
/* ============ Biological Architect — Couch effect (Dale+Jess) ============ */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.bioArchitectCouch>>
<<if $conditioning.dale.pheromone gte 8 and $conditioning.jess.pheromone gte 8 and $jessRoute>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: the couch effect (2 biomass)" "Ch2-BioArchitect-Couch" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The couch isn't marked enough for the cascade to cross into Jess. <span class="lock-hint">(Requires 8+ pheromone on Dale and Jess, and a committed Jess route)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.bioArchitectCouch>>
<div class="choice-done">Couch, cascade seeded</div>
<</if>>
/* ============ Free Use — Evening rotation ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and $ch2Events.baseShiftFull and not $ch2Events.freeUseEvening>>
<<if $conditioning.jess.pheromone gte 10 and $conditioning.jess.dream gte 10 and $conditioning.jess.psionic gte 10 and $conditioning.dale.pheromone gte 10 and $conditioning.dale.dream gte 10 and $conditioning.dale.psionic gte 10 and $conditioning.karen.pheromone gte 10 and $conditioning.karen.dream gte 10 and $conditioning.karen.psionic gte 10 and $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Free Use: open-access evening rotation (4 biomass)" "Ch2-FreeUse-Evening" 4>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Evening Free Use needs everyone at apex. <span class="lock-hint">(Requires 10 on all three conditioning tracks for Jess, Dale, and Karen, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.freeUseEvening>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Free Use, evening rotation (replay)|Ch2-FreeUse-Evening]]</div>
<</if>>
/* ============ Hormonal Override — Karen's Purr (cat in her lap) ============ */
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideKaren>>
<<if $conditioning.karen.pheromone gte 3 and $house.dayPhase is "night" and ($player.currentHost is "cat" or $house.catLocation is "livingRoom")>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override: Karen and the cat's purr (2 biomass)" "Ch2-HormOverride-Karen-Purr" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen hasn't surrendered enough to the cat's presence. <span class="lock-hint">(Requires 3+ pheromone on Karen + cat in the room, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideKaren>>
<div class="choice-done">Karen, purr override triggered</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen's hormones could be ridden piggyback on the cat. <span class="lock-hint">(Requires Hormonal Override)</span></div>
<</if>>
/* ============ Hormonal Override — Dale's Crash (exhaustion) ============ */
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideDale>>
<<if $conditioning.dale.pheromone gte 3 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override: Dale's exhaustion crash (2 biomass)" "Ch2-HormOverride-Dale-Exhaust" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's exhaustion still reads as exhaustion. <span class="lock-hint">(Requires 3+ pheromone on Dale, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideDale>>
<div class="choice-done">Dale, exhaustion override triggered</div>
<</if>>
/* ============ Sensory Bridge — Megan + Dale (runner's high) ============ */
<<hasSkillTreeAbility "Sensory Bridge">>
<<if _hasAbility and not $ch2Events.sensoryBridgeMD>>
<<if $conditioning.dale.psionic gte 8 and $conditioning.megan.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BRIDGE</span> <<biomassPreview "Sensory Bridge: link Megan and Dale (2 biomass)" "Ch2-SensoryBridge-MeganDale" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan and Dale won't share sensations yet. <span class="lock-hint">(Requires 8+ psionic on Dale and Megan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.sensoryBridgeMD>>
<div class="choice-done">Megan + Dale, bridged</div>
<</if>>
/* Dale sleeps during the day, night shift worker. Dreams accessible during day phase. Cat-only: Dream Harvest adaptation is a cat tree ability. */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("dream_harvest") and $house.dayPhase is "day">>
<<if $ch2Events.dreamHarvestDaleDay is $day>>
<div class="choice-done">Dale, dream already harvested today</div>
<<elseif $conditioning.dale.dream gte 4 and not $ch2Events.dreamTier1Dale>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM HARVEST</span> <<biomassPreview "Enter Dale's dream, the routine check (1 biomass)" "Ch2-Dream-Dale-1" 1>></div>
<<elseif $conditioning.dale.dream gte 7 and $ch2Events.dreamTier1Dale and not $ch2Events.dreamTier2Dale>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM HARVEST</span> <<biomassPreview "Enter Dale's dream, the examination (1 biomass)" "Ch2-Dream-Dale-2" 1>></div>
<<elseif $conditioning.dale.dream gte 10 and $ch2Events.dreamTier2Dale and not $ch2Events.dreamTier3Dale>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">DREAM HARVEST</span> <<biomassPreview "Enter Dale's dream, the full team (1 biomass)" "Ch2-Dream-Dale-3" 1>></div>
<</if>>
<</if>>
<<hostOrCoord "rat">>
<<if _hostOrCoord and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces with Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* Synaptic Relay combo — dog·cat coordination drill. One-shot. Initiator is
whichever of the two the player currently controls. */
<<hasSkillTreeAbility "Synaptic Relay">>
<<if _hasAbility and not $ch2Events.relayComboCatDog and $animalNetwork.hosts["cat"] and $animalNetwork.hosts["dog"] and ($player.currentHost is "cat" or $player.currentHost is "dog")>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RELAY</span> [[Make the Cat and the Dog coordinate at the couch (+1 AP both)->Ch2-Relay-CatDog]]</div>
<</if>>
/* Toxic Spores — Dale-specific one-shot: DAY only (his living-room couch crash is
the post-shift morning window, not the night shift), and it fires once. Unburies
his suppressed pull toward Karen and sets $ch2Events.daleDesireUnburied as the
hook for the downstream reconnection beat (see tasks/rework.md). */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility and $house.dayPhase is "day">>
<<if not $ch2Events.daleDesireUnburied>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: dose Dale on the couch (2 biomass)" "Ch2-ToxicSpore-Dale" 2>></div>
<<else>>
<div class="choice-done">Dale, the spores have already done their work</div>
<</if>>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the hallway->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-garage">>
<<set $house.roomsExplored.garage to true>>
<<set $discovered.dog to true>><<set $currentRoom to "garage">><</nobr>>
<div class="passage-title">Garage</div>
<img class="scene-img" src="media/scenes/hoffman-garage.webp" alt="Cluttered garage with dog bed">
<div class="scene-desc">A two-car garage that hasn't held two cars in years. Workbench against the far wall, tools hanging on pegboard in neat rows, maintained but dusty. Boxes from a move they never fully unpacked line the walls. A motor oil stain darkens the concrete like a permanent shadow. A dog bed in the corner, a heavy leash anchored to a pipe. Against the side wall, newer than anything else in the room, still smelling faintly of the thrift store it came from, sits a sagging brown couch with a folded flannel blanket on the armrest.</div>
<<if $house.dayPhase is "night">>
<p>Dale's sedan is gone, he's at BioGenesis. The garage is dark except for the LED on the tool charger, blinking green in the silence. Biscuit's bed sits in the corner, empty or occupied depending on where the dog has wandered. The thrift-store couch waits empty against the wall, blanket folded.</p>
<<else>>
<p>Dale's sedan fills the single bay. Radio left on low, country music leaking from cracked windows. Sunlight filters through the grimy overhead window. Biscuit's food bowl is half-eaten. The brown couch against the wall has a fresh dent in the cushions, someone was lying there recently.</p>
<</if>>
<p>This is Dale's world. A "World's Best Dad" mug sits on the workbench, repurposed as a screwdriver holder. Dale's car keys hang on a hook by the side door — //BioGenesis Security// on the lanyard.</p>
<<if not $ch2Events.garageCouchNoticed>>
<<set $ch2Events.garageCouchNoticed to true>>
<<say "char-hivemind" "Hivemind">>
//A second couch.// Not original to the room, the dust pattern on the floor shows the boxes that used to stand here got shoved aside about three weeks ago. //Dale's primary crash spot is still the living room, he comes home at 5 AM, drops onto the family couch with the dog at his feet, sleeps through the morning.// But the shifts have been getting longer. The exhaustion has been getting deeper. He has been retreating to the garage in the afternoons to tinker, that has been his quiet hour for years, and somewhere in the last month the tinkering has ended with him face down on a thrift-store couch he carried in alone.
<</say>>
<p><span class="delve-intel">Intel gained: Dale's secondary sleep spot. Primary crash is the living room couch (post-shift, mornings, with the dog). Secondary is the garage couch, added recently, used when an afternoon DIY session collapses into exhaustion. Two predictable unconscious-Dale windows per day instead of one.</span></p>
<</if>>
<p>Biscuit lifts her head as you enter. The golden retriever's tail gives a tentative wag, then stops. She sniffs the air. Something about you is //wrong// and she knows it. Her chain clinks as she shifts, and a soft whine escapes her throat. She paws at the garage door, then looks back at you, then paws again. She wants //out//. She wants anyone to notice.</p>
<<say "char-hivemind" "Hivemind">>
<<if $infested.dog>>
//Biscuit. Mine now. The golden retriever's loyalty rewired, thirty kilograms of muscle and instinct, serving a new master. And through her, Dale's world opens up. His car, his lanyard, his routine, all of it connects back to the facility.//
<<else>>
//The dog. A strong mind, too strong for me right now. But she's contained here. Not a threat unless I provoke her. And Dale works security at BioGenesis. His car, his lanyard, his routine, all of it connects back to the facility. Guard schedules, access codes, building layouts. Interesting.//
<</if>>
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<p>//The dog's mind blazes here, sharper than a rat's, more alert than expected. Biscuit knows this space. Every scent, every sound, every routine. An animal mind, but not a simple one.//</p>
<</if>>
<<if $beastRoute is "symbiotic" and $labEvents and $labEvents.triggered and $labEvents.triggered.includes("newsReport") and not $operationsDiscovered.piggybackLab>>
<<set $operationsDiscovered.piggybackLab to true>>
<<say "char-hivemind" "Hivemind">>
//Dale drives to BioGenesis every night. His car. His badge. His access codes, all memorized from the delve. If I ride with him... the rat in the backseat, hidden under the jacket... I could access the facility. Erase the security footage. Plant false specimen data. Redirect the investigation to the wrong neighbourhood.//
<</say>>
<p><span class="delve-intel">Operation discovered: Piggyback to Lab, ride with Dale to BioGenesis and sabotage the investigation.</span></p>
<</if>>
/* Workbench is re-enterable — two sub-actions inside (delve + photos) are
each one-shot, so lock only when BOTH have been exhausted; otherwise the
player could miss the delve on first visit and never get it back. */
<<if $delveInfo.basementWorkshop and $ch2Events.examinedDalePhotos>>
<div class="choice-done">Dale's workbench, nothing more to find here</div>
<<else>>
[[Examine Dale's workbench->Ch2-Garage-Workshop]]
<</if>>
<p>A bag of dog food sits open near the workbench. Beside it: rat poison bait stations, old rags, and a shelf of motor oil and antifreeze.</p>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>><p>//Tunnel Network reveals the route: through the wall cavity behind the furnace, past the water heater, into the garage via the dryer vent gap. Dale's workshop is accessible without ever touching the floor.//</p><</if>>
<<if $player.currentHost is "dog" and $adaptations.dog.unlocked.includes("pack_bond")>><p>//Pack Bond recognizes Dale's space, the scent of safety, the anchor of routine. This is where Biscuit feels most herself. The parasite notes the emotion, catalogues it, files it under "exploitable."//</p><</if>>
<<if $player.currentHost is "rat" or $player.currentHost is "none">>
<p>The dog food is organic, crude, but edible for a creature like you. Enough biomass to fuel a push.</p>
<<if not $ch2Events.garageBiomass>>
[[Consume dog food (+2 biomass, +1 influence, +1 suspicion)->Ch2-Garage-Consume]]
<</if>>
<</if>>
<<if not $infested.dog>>
<<infestLink "Attempt to infest Biscuit" "Ch2-InfestBiscuit" "dog">>
<<elseif ($infested.dog or $house.dogInfested) and $player.currentHost isnot "dog">>
<<if $animalNetwork.hosts["dog"] and $animalNetwork.hosts["dog"].status is "unavailable">>
<p>Biscuit lies in her bed. Calm. Normal. The neural imprint is fading, she needs more time before re-infestation.</p>
<<set _dogRelDay to $ch2Events["dogReleasedDay"] or 0>>
<<if _dogRelDay gt 0 and ($day - _dogRelDay) lt 2>>
<div class="data-panel-muted">Released — <<= 2 - ($day - _dogRelDay)>> days until re-infestation.</div>
<</if>>
<<else>>
<p>Biscuit's tail wags once. She knows you. The neural imprint hums between you, not resistance, //welcome//.</p>
<<infestLink "Switch to Biscuit (0 biomass with Seamless Transfer)" "Ch2-Garage-SwitchDog" "dog">>
<</if>>
<</if>>
/* Dog Maul, tear open trash */
<<if not $ch2Events.maulGarage and $player.currentHost is "dog">>
<div class="host-choice"><span class="delve-tag delve-tag-host">MAUL</span> <<link "Tear open the garbage bags: scavenge for biomass (2 biomass cost, +4 gain, +1 suspicion)" "Ch2-Garage-Maul">><<spendBiomass 2 "maulGarage">><</link>></div>
<</if>>
/* Cat day-phase observation — Dale crashing on the garage couch (afternoon spillover) */
<<if $player.currentHost is "cat" and $house.dayPhase is "day" and not $ch2Events.garageDaleObserved>>
[[Watch Dale's afternoon, he's drifting toward the garage couch->Ch2-Beast-CatDay-GarageDale]]
<</if>>
/* Dog feeding */
<<if not $ch2Events.dogFed and $player.currentHost is "dog">>
[[Eat from the dog food bag (+2 biomass)->Ch2-Feed-DogFood]]
<</if>>
/* Dog adaptation activities, garage */
<<if $player.currentHost is "dog" and $beastRoute is "symbiotic">>
<<if not $ch2Events.dogGuardDrill>>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Practice guarding behaviours at the entry point (+1 AP)->Ch2-Dog-GuardDrill]]</div>
<</if>>
<<if not $ch2Events.dogDaleBond and $house.dayPhase is "night">>
<div class="host-choice"><span class="delve-tag delve-tag-host">DOG</span> [[Wait for Dale to come home, greet him (+1 AP)->Ch2-Dog-DaleBond]]</div>
<</if>>
<</if>>
<<if not $ch2Events.examinedBiscuitCollar>>
[[Examine Biscuit's collar and tags->Ch2-Examine-BiscuitCollar]]
<</if>>
<<hostOrCoord "rat">>
<<if _hostOrCoord and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces: Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-garage">>
<<set $house.roomsExplored.garageWorkshop to true>><<set $currentRoom to "garageWorkshop">><</nobr>>
<div class="passage-title">Dale's Workbench</div>
<img class="scene-img" src="media/scenes/basement-workshop.webp" alt="Dale's cluttered workbench with tools and photos">
<div class="scene-desc">A heavy workbench bolted to the garage wall. Pegboard hung with wrenches, screwdrivers, a circular saw, all organized by size, all wearing a fine coat of dust. Projects that were started and never finished line the shelf: a birdhouse missing its roof, a picture frame half-sanded, a shelf bracket that will never meet a wall.</div>
<p>Photos are taped to the wall above the bench — Dale's private shrine. Karen on their anniversary, candlelight softening her exhaustion. The three kids at a county fair, Megan holding a stuffed bear she won. Biscuit as a puppy. The tape is yellowing. He looks at these every day.</p>
<p>A transistor radio sits on the corner of the bench, tuned to AM talk radio. A calendar hangs beside it, night shifts circled in red marker, so many they blur together. Last month Dale worked twenty-six nights out of thirty.</p>
<p>A stack of old shipping labels catches your eye. //BioGenesis — Security Division.// Dale has been working security at the lab for years. The connection runs deeper than a paycheck.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's workbench tells the story of a man who wanted to build things but ended up just guarding them. The tools are clean. The projects are unfinished. He's been walking the halls of my kind's prison, every night, for years. And he never once questioned what was behind the locked doors. Perhaps there are other facilities... other specimens.//
<</say>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.basementWorkshop>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve the residual impressions in Dale's workspace (1 biomass)" "Ch2-Delve-Workshop" 1>></div>
<<elseif not _hasAbility>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The workspace holds residual impressions... but you can't read them. <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<if not $ch2Events.examinedDalePhotos>>
[[One photo on the pegboard is almost hidden by a wrench...->Ch2-Examine-DalePhotos]]
<</if>>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-garage">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.basementWorkshop>><<spendBiomass 1>><</if>>
<<set $delveInfo.basementWorkshop to true>><</nobr>>
<div class="passage-title">Workshop Impressions</div>
<p>The workbench radiates years of Dale's presence. This is where he buries things, the way other men bury them in a bottle: hours of sanding and re-wiring and re-sorting screws he has already sorted, the blood-pressure numbers scratched into the shelf where Karen will not see them, a whole private grief worked into the grain. The surface fragments come up easy, the sediment of a man who has walked the same building for years.</p>
<<say "char-hivemind" "Hivemind">>
//...guard rotation schedule, second facility in Redfield... keycard access, loading bay C... the other night guard always leaves at 2 AM... they keep the live specimens in cold storage, sub-level 2...//
<</say>>
<p>Then the read snags. Under the logistics, packed down where the wood is most saturated, there is a night Dale decided not to have and kept coming back to this corner of the bench to decide again. It is not sealed the way the deep things are sealed. It is older than that, and clumsier, a wound he closed himself before anyone taught him how. The groove of it is worn smooth from handling.</p>
<<say "char-hivemind" "Hivemind">>
//He returns to this spot the way he returns to the numbers on the shelf, a man checking something he will not show a doctor. It began here, or it began on the night this is made of. Let me have it.//
<</say>>
<p>It surfaces slow. An overnight run that was never on any manifest, Dale at the wheel of a transport van it is no part of a security guard's job to drive, a sealed cold-storage container strapped in the back and breathing its chill into the cab, the long dark highway north and the Redfield turnoff swimming up in the headlights. He was told to make the detour and told not to log it, and the part of him that should have asked why had already been switched off, though he could not have said when, or by whose hand.</p>
<p>Redfield at the dead hour is a newer building than the one he guards, a specimen wing he holds no clearance for glowing behind smoked glass. He carries the container in and hands it across, and the cold leaves his arms, and the thing in you that is not Dale leans toward the memory of that box, because whatever rode inside it was //kin//, some piece of the program that is growing his successors forty miles from the bed he crawls into at dawn.</p>
<p>And the woman who takes delivery of it. She has no business at a research dock at this hour, unhurried and expensive and entirely at home, a cream silk dress under a coat she has not bothered to close, pale hair loose, and she watches Dale's face the whole time and never once the container.</p>
<<say "char-camila" "???">>
<i>(taking the slip he was told not to keep, not glancing at it)</i> Good. You drove well. You will not keep the road, or the box, or me. You will wake at the end of your shift believing you spent the whole of it on the floor you are paid to watch. Tell me you understand.
<</say>>
<<say "char-dale" "Dale">>
<i>(flat, already going under, eyes loose on the dock light)</i> ...yes, mistress.
<</say>>
<p>She sets two fingers under his chin, the way you tip a child's face up to feel for a fever, and whatever she does behind his eyes costs her nothing, and the drive and the dock and the woman fold themselves shut and sink. He turns the van south and clocks out at dawn with the sticky, sourceless certainty of having done a thing he cannot name, and he carries the not-knowing home and works it into the bench, night after night, for years.</p>
<<if $ch2Events.daleCamilaBuried>>
<<say "char-hivemind" "Hivemind">>
//I have stood in a room with this woman already, the sealed one, her foot on him, the overnight cameras coming out of him on a weekly schedule. I took her for an outsider picking the main lab's pocket through its tired night guard. I had her reach wrong. She did not begin in that back office. She began here, on a road north, signing for the next generation of me, and the night guard was only the first thing of this company she decided to own. The seal on him is cut the way I cut mine. The hand has been at Redfield the entire time, standing over my successors, and it has had a key to this family since before I ever found its door.//
<</say>>
<p><span class="delve-intel">Buried memory recovered: before the breach, Dale was conditioned into an unlogged overnight delivery to the Redfield facility, the second BioGenesis lab where the successor specimens (48-52) are being grown. The woman who took the delivery and sealed his memory is the same unnamed operator from the back-office sessions. She is tied to Redfield and the next-generation program, not merely watching the main lab through its night guard.</span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//A woman who owns what she looks at, taking delivery of something that is kin to me, and sealing the man who brought it so he keeps nothing of her. The same cut I use, in a hand that is not mine. She left no name in him, only the shape of what she does, and she has had a key to this family since before I ever found its door. There is more of her buried deeper in this man. I will want it.//
<</say>>
<p><span class="delve-intel">Buried memory recovered: before the breach, Dale was conditioned into an unlogged overnight delivery to the Redfield facility, the second BioGenesis lab where the successor specimens (48-52) are being grown. An unnamed outside operator took the delivery and sealed his memory of it. Whoever she is, she is tied to Redfield and the next-generation program. A deeper delve of the night guard may recover more of her.</span></p>
<</if>>
<<set $ch2Events.daleRedfieldDetour to true>>
[[Return to the workbench->Ch2-Garage-Workshop]]<<nobr>><<bg "bg-hoffman-garage">>
<<if not $ch2Events.maulGarage>>
<<addBiomass 4 "repeatable">>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.maulGarage to true>>
<</if>><</nobr>>
<p>The dog tears into the garbage bags with savage efficiency. Plastic splits. Scraps scatter. The biomass is crude, grease, meat trimmings, coffee grounds, but the dog's gut converts it all.</p>
<<say "char-hivemind" "Hivemind">>
//Messy. Loud. Effective.// Karen will find the torn bags in the morning. She'll blame raccoons. //She'll be wrong.//
<</say>>
<p><span class="biomass-gain">+4 biomass (net +2 after cost)</span></p>
<p><span class="consume-fail">+1 suspicion, torn garbage bags are hard to explain.</span></p>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-garage">>
<<if not $ch2Events.garageBiomass>>
<<addBiomass 2>>
<<run setup.checkInfluenceTier()>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.garageBiomass to true>>
<</if>><</nobr>>
<div class="passage-title">Metabolic Surge</div>
<p>You gorge on the dog food, the organic waste, the traces of biological matter in the garage floor cracks. Your body convulses, breaking it down, restructuring, //growing//.</p>
<<say "char-hivemind" "Hivemind">>
//Crude fuel. But effective.// I can feel my influence expanding, my neural reach stretching further. Creatures that resisted me before... might not resist now.
<</say>>
<p><span class="biomass-gain">+1 Biomass</span></p>
<p><span class="delve-intel">Influence tier: <<= setup.tierDisplayName($player.influenceTier) >></span></p>
<p><span class="consume-fail">+1 Suspicion — Biscuit barks at you, hackles raised.</span></p>
<p>Biscuit growls softly, sensing the change in you.</p>
[[Return to the garage->Ch2-Garage]]/* Legacy passage — content merged into Ch2-GroundFloor (entrance prose) and
the staircase nav-card now jumps directly to Ch2-UpperHall. This redirect
exists only for in-flight saves and any leftover return-link that wasn't
caught during the navigation refactor. */
<<goto "Ch2-UpperHall">><<nobr>><<bg "bg-hoffman-kitchen">>
<<changeHost "cat">><</nobr>>
<div class="passage-title">Familiar Fur</div>
<p>The tabby doesn't resist. You slip inside like returning to a room you left unlocked, the neural pathways are still there, still warm, still //yours//. The cat's body settles around you. Paws on tile. Whiskers reading the air.</p>
<p><span class="skill-used">Host switched: Cat, Pounce (active), Silent Movement (passive)</span></p>
<<say "char-hivemind" "Hivemind">>
//The cat. It goes everywhere unchallenged.// Welcome back.
<</say>>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-garage">>
<<changeHost "dog">><</nobr>>
<div class="passage-title">Good Girl</div>
<p>Biscuit rolls onto her side. The handoff is instant, one heartbeat as the gecko, the next as thirty kilograms of golden retriever. Her nose floods you with data. Dale's scent on everything. The oil stain. The cold concrete.</p>
<p><span class="skill-used">Host switched: Dog, Maul (active), Track Scent (passive)</span></p>
<<say "char-hivemind" "Hivemind">>
//Muscle. Teeth. A nose that reads the house like a newspaper.// The dog is //useful//.
<</say>>
[[Return to the garage->Ch2-Garage]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $house.roomsExplored.upperHall to true>><<set $currentRoom to "upperHall">><<set $house.entered to true>><</nobr>>
<<getHouseTier>>
<div class="passage-title">Upstairs</div>
<img class="scene-img" src="media/scenes/upper-hallway.webp" alt="Upper floor hallway at night">
<div class="scene-desc">A narrow hallway. Four doors, three closed. Family photos on the walls, school plays, beach trips, a dog in a party hat.</div>
<<if $house.dayPhase is "night">>The upstairs is quiet. A nightlight glows near the bathroom door. Behind each closed door: a sleeping mind.<<else>>The upstairs is still. Daylight filters through the bathroom window at the end of the hall. Most doors are closed, habit, not privacy.<</if>>
<<if $adaptations.rat.unlocked.includes("tunnel_network")>>
<p>//Tunnel Network routes visible: Wall cavity A leads to the master bedroom. B to Ryan's room. C to the bathroom. D drops to the kitchen. All passable. All silent.//</p>
<<if not $behavioralIntel.dale.tunnel>><<set $behavioralIntel.dale.tunnel to true>><</if>>
<</if>>
<<if $player.currentHost is "cat">>
<p>//Stalk renders the cat's movement invisible. Each step places pad before claw, no sound, no vibration, no evidence of passage.//</p>
<<say "char-hivemind" "Hivemind">>
//The cat belongs here. No one questions Whiskers padding through the hallway at night. Every door is an invitation.//
<</say>>
<</if>>
<<if $player.currentHost is "gecko">>
<p>//Wall Grip carries you along the ceiling. The hallway stretches below, a map of doors and shadows. No one looks up. No one ever looks up.//</p>
<<elseif $player.currentHost is "dog">>
<p>Biscuit's nails click on the hardwood. The dog rarely comes upstairs — Karen trained her to stay on the ground floor years ago. Every second here feels borrowed. But the parasite overrides the training.</p>
<</if>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "night">>
<p>//Four minds behind four doors. Jess burns brightest, her neural activity never stops, still awake at 2 AM, the only light in the house that isn't a nightlight. Ryan flickers dimly, muffled by screens and raids. Karen's signal is blurred at the edges, medication softening her dreams. Megan's mind drifts warm and slow, reaching for contact that isn't there.//</p>
<<else>>
<p>//The upper floor is quiet. Residual neural patterns linger behind each door, anxiety traces, sleep debt, the chemical signatures of people who live here and leave their imprints on every surface. The rooms remember what the occupants forget.//</p>
<</if>>
<</if>>
<<if $player.currentHost is "dog" and $adaptations.dog.unlocked.includes("track_scent")>><p>//Track Scent layers the hallway in chronological scent data: Karen passed forty minutes ago (hand cream, coffee). Jess three hours ago (caffeine, ink, cortisol). Ryan hasn't opened his door in eighteen hours. Megan's vanilla perfume trail leads to the bathroom and back, six hours stale.//</p><</if>>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("thermal_sense")>><p>//Thermal sense maps heat signatures through doors: Ryan's room radiates screen-warmth and body heat. Jess's desk lamp creates a bright spot. Karen's room is cooler, the window is cracked, her body a single warm mass under covers. Megan's door is cold, she's either out or sleeping deep.//</p><</if>>
<<if not $house.atticTrapdoorOpen and ($player.currentHost is "cat" or $player.currentHost is "human")>>
<p>You notice the attic trapdoor above. <<if $player.currentHost is "cat">>With a well-aimed leap, you hook the pull cord and the ladder unfolds.<<else>>You reach up and pull the cord. The ladder unfolds with a creak.<</if>></p>
<<set $house.atticTrapdoorOpen to true>>
<</if>>
<<if not $house.catInfested and $house.catLocation is "upperHall">>
<p>The orange tabby is in the hallway, grooming itself by the bathroom door.</p>
[[Approach the cat->Ch2-FindCat]]
<</if>>
/* Door locking: family members lock doors at night when individual suspicion >= 5 */
/* Cat/dog are blocked; rat bypasses via wall cavities, gecko via vents */
<<set _karenLocked to (($familySuspicion.karen.level gte 5 or ($houseState.doorsLocked or false)) and $house.dayPhase is "night" and not $house.doorForced.karen)>>
<<set _ryanLocked to (($familySuspicion.ryan.level gte 5 or ($houseState.doorsLocked or false)) and $house.dayPhase is "night" and not $house.doorForced.ryan)>>
<<set _meganLocked to (($familySuspicion.megan.level gte 5 or ($houseState.doorsLocked or false)) and $house.dayPhase is "night" and not $house.doorForced.megan)>>
<<set _jessLocked to (($familySuspicion.jess.level gte 5 or ($houseState.doorsLocked or false)) and $house.dayPhase is "night" and not $house.doorForced.jess)>>
<<set _isCatOrDog to ($player.currentHost is "cat" or $player.currentHost is "dog")>>
<div class="nav-card-grid">
/* Small-animal access: door open OR vent route discovered. Either path unlocks hallway entry. */
/* Master Bedroom, suspicion lock for cat/dog, then small animal door+vent block */
<<if _karenLocked and _isCatOrDog>>
<<navCard "" "Master Bedroom" "Door locked from inside — Karen's suspicion is high" "locked" "Karen" "media/scenes/nav-master.webp">>
<<elseif setup.isSmallAnimal() and not $house.ventRoutes.masterBedroom>>
<<navCard "" "Master Bedroom" "No vent route mapped yet — explore the ventilation system" "locked" "" "media/scenes/nav-master.webp">>
<<else>>
<<navCard "Ch2-MasterBedroom" "Master Bedroom" "Nightstand, Zolpidem pills" `setup.getRoomRisk("Ch2-MasterBedroom")` `setup.getRoomOccupants("Ch2-MasterBedroom")` "media/scenes/nav-master.webp">>
<</if>>
/* Ryan's Room, suspicion lock for cat/dog, then small animal vent-only block */
<<if _ryanLocked and _isCatOrDog>>
<<navCard "" "Ryan's Room" "Door locked from inside — Ryan's suspicion is high" "locked" "Ryan" "media/scenes/nav-ryan.webp">>
<<elseif setup.isSmallAnimal() and not $house.ventRoutes.ryanRoom>>
<<navCard "" "Ryan's Room" "No vent route mapped yet — explore the ventilation system" "locked" "" "media/scenes/nav-ryan.webp">>
<<else>>
<<navCard "Ch2-RyanRoom" "Ryan's Room" "Dual monitors, gecko terrarium" `setup.getRoomRisk("Ch2-RyanRoom")` `setup.getRoomOccupants("Ch2-RyanRoom")` "media/scenes/nav-ryan.webp">>
<</if>>
/* Megan's Room, suspicion lock for cat/dog, then small animal vent-only block */
<<if _meganLocked and _isCatOrDog>>
<<navCard "" "Megan's Room" "Door locked from inside — Megan's suspicion is high" "locked" "Megan" "media/scenes/nav-megan.webp">>
<<elseif setup.isSmallAnimal() and not $house.ventRoutes.meganRoom>>
<<navCard "" "Megan's Room" "No vent route mapped yet — explore the ventilation system" "locked" "" "media/scenes/nav-megan.webp">>
<<else>>
<<navCard "Ch2-MeganRoom" "Megan's Room" "Warm lamplight, vanity mirror" `setup.getRoomRisk("Ch2-MeganRoom")` `setup.getRoomOccupants("Ch2-MeganRoom")` "media/scenes/nav-megan.webp">>
<</if>>
/* Jess's Room — suspicion lock for cat/dog, then small animal door+vent block.
Nav-card image swaps with the punk visual transformation: baseline →
soft-punk (route lock + below-heavy conditioning) → heavy-punk (kink
crystallized OR very high total conditioning). Same gate logic as the
Ch2-JessRoom scene-img and setup.getPortraitVariant resolver. */
<<set _jessTotal to ($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0)>>
<<set _jessHeavy to ($kinks.jess and ($kinks.jess.includes("brat") or $kinks.jess.includes("band"))) or ($jessRoute is "punk" and _jessTotal gte 14)>>
<<set _jessSoft to (not _jessHeavy) and ($jessRoute is "punk")>>
<<set _jessNavImg to _jessHeavy ? "media/scenes/nav-jess-punk-heavy.webp" : (_jessSoft ? "media/scenes/nav-jess-punk.webp" : "media/scenes/nav-jess.webp")>>
<<if _jessLocked and _isCatOrDog>>
<<navCard "" "Jess's Room" "Door locked from inside — Jess's suspicion is high" "locked" "Jess" _jessNavImg>>
<<elseif setup.isSmallAnimal() and not $house.ventRoutes.jessRoom>>
<<navCard "" "Jess's Room" "No vent route mapped yet — explore the ventilation system" "locked" "" _jessNavImg>>
<<else>>
<<navCard "Ch2-JessRoom" "Jess's Room" "Textbooks, cracked window" `setup.getRoomRisk("Ch2-JessRoom")` `setup.getRoomOccupants("Ch2-JessRoom")` _jessNavImg>>
<</if>>
/* Bathroom, vent-only access for small animals */
<<if setup.isSmallAnimal() and not $house.ventRoutes.upperBath>>
<<navCard "" "Bathroom" "No vent route mapped yet — follow the drain pipes through the vents" "locked" "" "media/scenes/nav-bathroom.webp">>
<<else>>
<<navCard "Ch2-UpperBath" "Bathroom" "Medicine cabinet, loose tiles" `setup.getRoomRisk("Ch2-UpperBath")` "" "media/scenes/nav-bathroom.webp">>
<</if>>
/* Attic, must be discovered from basement first, then small animals can use shortcut */
<<if $permanentDone.atticDiscovered>>
<<if $house.atticTrapdoorOpen or $player.currentHost is "rat" or $player.currentHost is "gecko" or $player.currentHost is "bird">>
<<navCard "Ch2-Attic" "Attic" "Dusty rafters, old boxes" `setup.getRoomRisk("Ch2-Attic")` "" "media/scenes/nav-attic.webp">>
<<else>>
<<navCard "" "Attic" "Trapdoor — needs opening" "locked" "" "media/scenes/nav-attic.webp">>
<</if>>
<</if>>
<<navCard "Ch2-GroundFloor" "Downstairs" "Kitchen, living room, garage" "" "" "media/scenes/beast-gecko-ceiling.webp">>
<<if $beastRoute is "symbiotic">>
<<navCard "Ch2-Beast-NetworkHub" "Network" "Skill actions, operations, host roster" "safe" "" "media/scenes/nav-network.webp">>
<</if>>
</div>
/* Gecko Precision Touch door unlock options, shown below the grid when doors are locked */
<<hostOrCoord "gecko">>
<<if _hostOrCoord and $adaptations.gecko.unlocked.includes("precision_touch")>>
<<if _karenLocked>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRECISION TOUCH</span> <<link "Unlock Karen's bedroom door (+2 suspicion)" "Ch2-UpperHall">><<addFamilySuspicion "karen" 2>><<set $house.doorForced.karen to true>><</link>></div>
<</if>>
<<if _ryanLocked>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRECISION TOUCH</span> <<link "Unlock Ryan's bedroom door (+2 suspicion)" "Ch2-UpperHall">><<addFamilySuspicion "ryan" 2>><<set $house.doorForced.ryan to true>><</link>></div>
<</if>>
<<if _meganLocked>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRECISION TOUCH</span> <<link "Unlock Megan's bedroom door (+2 suspicion)" "Ch2-UpperHall">><<addFamilySuspicion "megan" 2>><<set $house.doorForced.megan to true>><</link>></div>
<</if>>
<<if _jessLocked>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">PRECISION TOUCH</span> <<link "Unlock Jess's bedroom door (+2 suspicion)" "Ch2-UpperHall">><<addFamilySuspicion "jess" 2>><<set $house.doorForced.jess to true>><</link>></div>
<</if>>
<</if>>
/* Locked door hints for cat/dog (no gecko precision_touch) */
<<if _isCatOrDog and (_karenLocked or _ryanLocked or _meganLocked or _jessLocked)>>
<div class="locked-choice"><span class="lock-icon">locked</span> Some doors are locked from inside. <span class="lock-hint">(Rat can bypass via wall cavities, gecko via vents. Gecko with Precision Touch can pick locks.)</span></div>
<</if>>
/* Conditioning threshold for intimate observation, average total must be 6+ per member */
<<set _avgCond to Math.floor((($conditioning.karen.pheromone + $conditioning.karen.dream + $conditioning.karen.psionic) + ($conditioning.dale.pheromone + $conditioning.dale.dream + $conditioning.dale.psionic) + ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic) + ($conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic) + ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)) / 5)>>
/* Gecko Camouflage, bedroom/closet observation from hallway */
<<hostOrCoord "gecko">><<set _hostOrCoordGecko to _hostOrCoord>>
<<hostOrCoord "rat">><<set _hostOrCoordRat to _hostOrCoord>>
<<if _hostOrCoordGecko and $adaptations.gecko.unlocked.includes("camouflage") and $house.dayPhase is "night" and _avgCond gte 6>>
<<if not $ch2Events.geckoCamoBedroom>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Camouflage on the ceiling: enter a bedroom undetected" "Ch2-Gecko-Camo-Bedroom">><</link>></div>
<</if>>
<<if not $ch2Events.geckoCamoCloset>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Slip into a wardrobe: observe from inside the closet" "Ch2-Gecko-Camo-Closet">><</link>></div>
<</if>>
<<elseif _hostOrCoordGecko and $adaptations.gecko.unlocked.includes("camouflage") and $house.dayPhase is "night" and _avgCond lt 6>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The family isn't conditioned enough for intimate observation <span class="lock-hint">(Average conditioning <<= _avgCond >>/6 needed)</span></div>
<</if>>
/* Rat Sporocyst, bedroom vent delivery */
<<if _hostOrCoordRat and $adaptations.rat.unlocked.includes("sporocyst") and $house.dayPhase is "night" and not $ch2Events.sporocystBedroom and _avgCond gte 6>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassPreview "Position in wall vent: deliver spores to a sleeping target (1 biomass)" "Ch2-Rat-Sporocyst-Target" 1>></div>
<</if>>
<<if $player.currentHost is "cat" or $player.currentHost is "dog" or $player.currentHost is "gecko">>
[[Observe the family, watch, learn, Delve->Ch2-Beast-Observe]]
<</if>>
/* Gecko ceiling mapping */
<<if $player.currentHost is "gecko" and $beastRoute is "symbiotic" and not $ch2Events.geckoCeilingMap>>
<div class="delve-choice"><span class="delve-tag delve-tag-gecko">GECKO</span> [[Climb to the ceiling and map the house from above (+1 AP)->Ch2-Gecko-CeilingMap]]</div>
<</if>>
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces, Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* ============ Estrus Trigger — Megan (post-run, upper hall) ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusMegan>>
<<if $conditioning.megan.pheromone gte 8 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: Megan's post-run cycle (3 biomass)" "Ch2-Estrus-Megan" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's run still clears her head. <span class="lock-hint">(Requires 8+ pheromone on Megan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusMegan>>
<div class="choice-done">Megan, estrus cycle fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's body could be cycled. <span class="lock-hint">(Requires Estrus Trigger)</span></div>
<</if>>
/* ============ Estrus Trigger — Dale (home at 2 AM) ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusDale>>
<<if $conditioning.dale.pheromone gte 8 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: Dale's night shift failure (3 biomass)" "Ch2-Estrus-Dale" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale's shift routine still overrides everything. <span class="lock-hint">(Requires 8+ pheromone on Dale, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusDale>>
<div class="choice-done">Dale, night shift broken</div>
<</if>>
/* ============ Biological Architect — Laundry (Ryan's shirt) ============ */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.bioArchitectLaundry>>
<<if $conditioning.ryan.pheromone gte 8 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: Ryan's laundry cascade (2 biomass)" "Ch2-BioArchitect-Laundry" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's shirt doesn't carry enough signal yet. <span class="lock-hint">(Requires 8+ pheromone on Ryan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.bioArchitectLaundry>>
<div class="choice-done">Laundry, Ryan marked</div>
<</if>>
/* Network Hub + Downstairs are both nav-cards above. Footer links removed
in the v1.2 navigation refactor — the cards in the grid are the canonical
route now. */<<nobr>><<bg "bg-hoffman-master">>
<<set $house.roomsExplored.masterBedroom to true>><</nobr>>
<<getHouseTier>>
<<set $discovered.karen to true>><<set $currentRoom to "masterBedroom">>
<<if $player.currentHost is "cat" and not $house.doorOpen.masterBedroom>>
<<set $house.doorOpen.masterBedroom to true>>
<</if>>
/* Cat at night → redirect to the full night observation passage */
<<if $player.currentHost is "cat" and $house.dayPhase is "night">><<goto "Ch2-Beast-CatNight-Karen">><</if>>
<<if $house.doorOpen.masterBedroom and $player.currentHost is "cat" and not $ch2Events.masterDoorOpened>>
<<set $ch2Events.masterDoorOpened to true>>
<p>You push the door open with your head. It swings inward on well-oiled hinges — Karen maintains everything in this house. The gap you leave is wide enough for //anything// small to slip through.</p>
<</if>>
<div class="passage-title">Master Bedroom</div>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-karen-sleeping.webp" alt="Karen sleeping alone">
<<else>>
<img class="scene-img" src="media/scenes/hoffman-master.webp" alt="Master bedroom in dim light">
<</if>>
<<if $player.currentHost isnot "cat">>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("camouflage")>>
<p><span class="skill-used">Camouflage, invisible against the bedroom ceiling. No suspicion.</span></p>
<<elseif $player.currentHost is "rat" and $adaptations.rat.unlocked.includes("tunnel_network")>>
<p><span class="skill-used">Tunnel Network, entered through the wall cavity. No suspicion.</span></p>
<<elseif $ch2Events.susMasterDay isnot $day>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.susMasterDay to $day>>
<p><span class="consume-fail">A <<= $player.currentHost >> in the master bedroom, risky. (+1 suspicion)</span></p>
<</if>>
<</if>>
<<if $house.dayPhase is "night">>
<<if $adaptations.cat and $adaptations.cat.unlocked.includes("cat_nightvision")>><p>//Nightvision maps Karen's sleeping form in thermal detail. Her breathing rate. The warmth radiating from beneath the blanket. The cool patch on Dale's empty side.//</p><</if>>
<p>Karen lies on one side of the double bed, the other side empty — Dale's side. She sleeps lightly, one arm draped over the edge. A glass of water and a pill bottle sit on the nightstand.</p>
<<else>>
<p>The bed is made — Karen's side with military precision, Dale's side untouched. The room is empty. Karen is downstairs or at work. The air smells faintly of her hand cream and the staleness of a room that only gets used for six hours of unconscious sleep.</p>
<</if>>
<div class="scene-desc">Karen's nightstand: Zolpidem bottle, water glass, reading glasses folded on a dog-eared paperback — //Boundaries That Heal//. Spine barely cracked past chapter three. Phone plugged in, alarm set for 6:00 AM. Even on weekends. Dale's side: the pillow is still there, undented. He hasn't slept in this bed in weeks, the night shift turned the couch into his bedroom. His half of the closet is half-empty. Karen's half is organized with military precision.</div>
<p>On the dresser, a wedding photo in a silver frame. Karen and Dale, twenty-two years younger, before the first pregnancy, before the mortgage, before all of it. Both smiling. The glass is dusty. No one picks it up to look anymore.</p>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>>
<<if $biofilmTriggered and $biofilmTriggered.masterBedroom is $day>>
<div class="choice-done">Biofilm already delivered in this room today.</div>
<<elseif $biofilmMarked.masterBedroom is $day>>
<p>//A faint biological sheen clings to the doorknob, the nightstand, the blanket edge. The biofilm is active.//</p>
<<if $house.dayPhase is "night">>
<<addConditioning "karen" "pheromone" 1>>
<<if not $biofilmTriggered>><<set $biofilmTriggered to {}>><</if>><<set $biofilmTriggered.masterBedroom to $day>>
<p><span class="skill-used">Biofilm triggered, Karen's bedroom surfaces</span></p>
<</if>>
<<else>>
<<if $player.biomass gte 2>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<link "Mark the master bedroom surfaces with biofilm (2 biomass)" "Ch2-MasterBedroom">><<set $player.biomass -= 2>><<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>><<set $biofilmMarked.masterBedroom to $day>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Mark the master bedroom surfaces with biofilm (2 biomass) <span class="locked-reason">(Need 2 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<</if>>
<</if>>
<<if $player.currentHost is "cat">>
<p>The cat's nose twitches. You smell Karen's medication, the chalky bitterness of Zolpidem, the faint chemical tang of Sertraline residue on her fingertips. Beneath it, her shampoo. Lavender. //Control, even in her choice of scent.//</p>
<<elseif $player.currentHost is "rat">>
<p>The dust on Dale's pillow is thick enough to taste. Weeks of absence compressed into a fine layer. Karen's side smells alive, lotion, medication, the sour note of restless sleep.</p>
<<elseif $player.currentHost is "gecko">>
<p>From the ceiling, the room maps itself in heat signatures. Karen is a warm shape on one side of the bed. Dale's side radiates nothing, cold fabric, cold pillow, cold air.</p>
<<elseif $player.currentHost is "dog">>
<p>Biscuit pushes the door open and stands in the threshold, tail low. The dog knows this room — Dale's scent is here but wrong. Stale. Weeks old on his pillow. She whines softly, confused by the absence of the one person who still talks to her.</p>
<<if $ch2Events.susMasterDogDay isnot $day>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.susMasterDogDay to $day>>
<p><span class="consume-fail">Biscuit never comes to the bedroom. Karen will notice. (+1 suspicion)</span></p>
<</if>>
<</if>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "night">>
<p>//Karen's sleeping mind is layered, the Zolpidem blurs the edges but anxiety still hums beneath, like radio static under water. Even in sleep, she monitors. Even unconscious, she controls. Breaking through will take patience.//</p>
<<else>>
<p>//The room is empty but the residue of her mind lingers, anxiety baked into the pillow, cortisol traces on the nightstand where her hand clenches in her sleep. This room is where Karen's guard is lowest. The return to it each night is the vulnerability.//</p>
<</if>>
<</if>>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("thermal_sense")>><p>//Thermal sense reads the bed: Karen's side radiates warmth. Dale's side is ambient temperature, cold for weeks. The disparity tells the story of a marriage more clearly than any delve.//</p><</if>>
<<say "char-hivemind" "Hivemind">>
<<if $house.familyIntel.daleCarDelved>>
//The Zolpidem bottle.// Dale's thoughts on the drive home, he worries about how many she takes. //The dosage has increased.// The master bedroom tells the story of a marriage that runs on parallel tracks. She sleeps here. He sleeps downstairs. //And the only thing that bridges the gap is his worry about her pills.//
<<else>>
//The master bedroom tells the story of a marriage that runs on parallel tracks. She sleeps here. He sleeps downstairs. The bed is a monument to the distance between them.// Her mind radiates a low hum of //anxiety, lists, responsibilities//. This one does not let go easily.
<</if>>
<</say>>
<<if not $ch2Events.foundMeds>>
<p>The pill bottle on the nightstand: //Zolpidem 10mg — Take one tablet at bedtime for insomnia.// Sleep aids.</p>
<<set $ch2Events.foundMeds to true>>
<p><span class="delve-intel">Intel gained: Karen takes sleep medication. She may sleep deeper than she appears.</span></p>
<</if>>
/* Night operations discovered from observing sleeping Karen, gated on symbiotic route */
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.nightHarvest and $house.dayPhase is "night" and setup.activeHostCount() gte 3>>
<<set $operationsDiscovered.nightHarvest to true>>
<<say "char-hivemind" "Hivemind">>
//She sleeps. They //all// sleep. Four hosts. Four positions. If I coordinated them simultaneously, cat on one target, rat in the walls of another, gecko overhead, dog guarding the stairs — I could dose //multiple family members in a single night//. A synchronized harvest.//
<</say>>
<p><span class="delve-intel">Operation discovered: Synchronized Night Harvest, dose multiple sleeping targets in one coordinated operation.</span></p>
<</if>>
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.deepSedation and $delveInfo.karenDeep and $house.dayPhase is "night">>
<<set $operationsDiscovered.deepSedation to true>>
<<say "char-hivemind" "Hivemind">>
//I've been inside her dreams. But not //deep enough//. If all three hosts, cat, rat, gecko, converged on a single sleeping target... pheromones, spores, and toxin layered simultaneously... the sedation would be absolute. //Total access.// Dream Walk at maximum depth. Memory Implant without resistance. Or something even more... direct.//
<</say>>
<p><span class="delve-intel">Operation discovered: Deep Sedation Protocol, triple-layer sedation for maximum psionic access.</span></p>
<</if>>
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.karen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Karen's sleeping mind: surface thoughts (1 biomass)" "Ch2-Delve-Karen" 1>></div>
<<elseif _hasAbility and $delveInfo.karen>>
<div class="choice-done">Karen, surface thoughts already read</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Karen's sleeping mind <span class="lock-hint">(Requires Delve Superficial Memories)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.karen and not $delveInfo.karenDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Karen's dreams (2 biomass)" "Ch2-DeepDelve-Karen" 2>></div>
<<elseif _hasAbility and $delveInfo.karenDeep>>
<div class="choice-done">Karen, dreams already explored</div>
<<elseif not _hasAbility and $delveInfo.karen>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Karen's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<if $delveInfo.karenDeep>>
<<if not $permanentDone.emoKaren>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Karen's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Karen-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Karen's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Karen, dream already manipulated</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.karenDeep and not $permanentDone.dreamWalkKaren>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Karen's nightmare (3 biomass)" "Ch2-DreamWalk-Karen" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkKaren>>
<div class="choice-done">Karen, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.karenDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Karen's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.karenDeep>>
<<if not $ch2Events.memoryEdit_karen>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Rewrite a memory in Karen's mind" "Ch2-MemoryImplant-Karen">><</link>></div>
<<elseif $karenRoute>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Rewrite Karen's memory again, bend it the other way" "Ch2-MemoryImplant-Karen">><</link>></div>
<<else>>
<div class="choice-done">Karen's memory rewritten (locked until her path commits)</div>
<</if>>
<<elseif not _hasAbility and $delveInfo.karenDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Karen's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
/* Toxic Spores, night only (Karen is asleep), any host, per-target daily cooldown */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility>>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.karen>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Karen in her sleep (2 biomass)" "Ch2-ToxicSpore-Karen" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<</if>>
<<if not $ch2Events.examinedMasterBed and $house.dayPhase is "night">>
[[Examine Dale's untouched side of the bed...->Ch2-Examine-MasterBedSeparation]]
<</if>>
/* Memory Implant downstream — Karen masturbating to phantom Dale */
<<if $ch2Events.memoryPlanted_karen and $day gt $ch2Events.memoryPlantedDay_karen and $day lte ($ch2Events.memoryPlantedDay_karen + 2) and not $permanentDone.memoryEffect_karen and $house.dayPhase isnot "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Karen lingers in bed this morning, surfacing from a dream she can't place->Ch2-MemoryEffect-Karen]]</div>
<</if>>
/* ============ Baseline Shift — Massage (Dale+Megan, requires Karen-Morning) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and not $ch2Events.baseShiftMassage and _houseTier gte 3>>
<<if $ch2Events.baseShiftKaren and $conditioning.dale.psionic gte 8 and $conditioning.megan.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<biomassPreview "Baseline Shift: helping hands (6 biomass)" "Ch2-BaseShift-Massage" 6>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan won't touch her father that way yet. <span class="lock-hint">(Requires Karen's Morning rewrite first + 8+ psionic on Dale and Megan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.baseShiftMassage>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> [[Massage, baseline shifted (replay)|Ch2-BaseShift-Massage]]</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hands could be guided to work differently here. <span class="lock-hint">(Requires Baseline Shift)</span></div>
<</if>>
/* ============ Biological Architect — Marked Morning (requires Laundry scene first) ============ */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.markedMorningDone and _houseTier gte 3>>
<<if $ch2Events.bioArchitectLaundry and $conditioning.karen.pheromone gte 9 and $conditioning.megan.pheromone gte 9 and $conditioning.jess.pheromone gte 9 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: the marked morning (2 biomass)" "Ch2-BioArchitect-MarkedMorning" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The marks won't take across three women yet. <span class="lock-hint">(Requires Laundry scene first + 9+ pheromone on Karen, Megan, and Jess, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.markedMorningDone>>
<div class="choice-done">Marked morning, cascade locked in</div>
<</if>>
/* ============ Biological Architect — Shared Bed ============ */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.bioArchitectBed>>
<<if $conditioning.karen.pheromone gte 9 and $conditioning.dale.pheromone gte 9 and $conditioning.jess.pheromone gte 9 and $conditioning.megan.pheromone gte 9 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: the shared bed (3 biomass)" "Ch2-BioArchitect-SharedBed" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The bed cascade needs Karen, Dale, and both daughters saturated. <span class="lock-hint">(Requires 9+ pheromone on Karen, Dale, Jess, and Megan, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.bioArchitectBed>>
<div class="choice-done">Shared bed, architecture complete</div>
<</if>>
/* ============ Futa-Anal — Karen futa route ============ */
<<if $karenFutaRoute and not $ch2Events.futaAnal>>
<<if ($karenFutaScore or 0) gte 5 and $conditioning.karen.psionic gte 10 and $conditioning.ryan.psionic gte 10 and $conditioning.dale.psionic gte 10 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FUTA</span> <<link "Karen can flex into futa form tonight: new territory" "Ch2-Futa-Anal">><</link>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Karen, Ryan, and Dale aren't apex enough for this territory. <span class="lock-hint">(Requires futa score 5 + 10 psionic on Karen, Ryan, and Dale, night)</span></div>
<</if>>
<<elseif $karenFutaRoute and $ch2Events.futaAnal>>
<div class="choice-done">Karen, new territory claimed</div>
<</if>>
/* ============ Sensory Bridge — Dale + Karen (marriage reunion) ============ */
<<hasSkillTreeAbility "Sensory Bridge">>
<<if _hasAbility and not $ch2Events.sensoryBridgeDK>>
<<if $conditioning.dale.psionic gte 8 and $conditioning.karen.psionic gte 8 and $conditioning.dale.dream gte 4 and $house.dayPhase is "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BRIDGE</span> <<biomassPreview "Sensory Bridge: phantom memory of the first time (2 biomass)" "Ch2-SensoryBridge-DaleKaren" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale and Karen haven't drifted close enough to a shared memory. <span class="lock-hint">(Requires 8+ psionic on Dale and Karen + 4+ dream on Dale, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.sensoryBridgeDK>>
<div class="choice-done">Dale + Karen, bridged to the reservoir</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if setup.isSmallAnimal() and not $house.doorOpen.masterBedroom>>
[[Retreat through the heating duct->Ch2-Attic-Vent]]
<<else>>
[[Return to the hallway->Ch2-UpperHall]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $house.roomsExplored.ryanRoom to true>><</nobr>>
<<getHouseTier>>
<<set $house.familyMet.ryan to true>>
<<set $discovered.ryan to true>>
<<set $discovered.gecko to true>><<set $currentRoom to "ryanRoom">>
<<if $player.currentHost is "cat" and not $house.doorOpen.ryanRoom>>
<<set $house.doorOpen.ryanRoom to true>>
<</if>>
/* Cat at night → redirect to the full night observation passage */
<<if $player.currentHost is "cat" and $house.dayPhase is "night">><<goto "Ch2-Beast-CatNight-Ryan">><</if>>
<div class="passage-title">Ryan's Room</div>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-ryan-gaming.webp" alt="Ryan gaming late at night">
<<else>>
<img class="scene-img" src="media/scenes/hoffman-ryan.webp" alt="Gamer room with blue LED lighting">
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<div class="scene-desc">The blue LED strips are gone. In their place: a soft ring light on a boom arm, clipped to the desk and aimed at the bed. The fairy lights still run above the headboard, but now they're positioned as rim lighting for a camera frame. A 1080p webcam is mounted on a small tripod where one of the monitors used to be, the second monitor has been turned into a dedicated chat display, stream software open even now. A tall wig stand sits on the dresser with a shoulder-length dark wig combed out for the next session. Makeup is laid out in neat rows: eyeliner, lip tint, setting spray, a compact mirror angled toward the bed. The closet door is closed, but a sliver of sheer black fabric is caught in the hinge, whatever hangs inside isn't for Ryan.</div>
<<if $player.currentHost is "cat">>
<p>Ryan glances up as the cat enters. He's in a loose t-shirt and shorts, between streams, but the eyeliner from this morning's session is still there, only half-removed. He extends two fingers. The cat accepts the touch.</p>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You creep in under the door gap. Ryan is at the vanity, adjusting the wig on its stand. His own short hair is freshly dyed, darker than it used to be. The monitors are dark. The stream rig is dormant. He moves around the setup with the quiet precision of someone who has memorized every piece of equipment.</p>
<<elseif $player.currentHost is "dog">>
<<if $ch2Events.susRyanDogDay isnot $day>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.susRyanDogDay to $day>>
<p><span class="consume-fail">Biscuit pushes into Ryan's room, he panics, shoves the ring light aside, and hustles the dog back into the hall. (+1 suspicion)</span></p>
<</if>>
<</if>>
<p>The gaming chair has been replaced with a stool, better posture on camera. The energy drink pyramid is gone entirely. In its place: a small fridge with bottled water and a roll of paper towels. Professionalism, of a kind. The headphones Dale gave him are buried somewhere in a drawer, the cam sessions use in-ear monitors instead, colour-matched to the wig.</p>
<p>Above the desk, taped to the wall where a poster used to be, is a folded note in Ryan's own handwriting: //Lily smiles with her eyes. Lily never breaks character. Lily thanks every tip.//</p>
<<say "char-hivemind" "Hivemind">>
//Ryan's bedroom is a //set// now.// Every piece of equipment has been chosen for the camera, not the boy. //The desk faces the bed because that's where the frame lands best. The lighting is tuned for skin tone. The wig has a stand because wigs don't get thrown on floors, not the //good// ones.// The boy who lived here before is a roommate now. He pays the rent. He does the maintenance. He gets out of the way when //she// needs the room.
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<p>//Two minds occupy Ryan's skull in uneasy rotation. The boy handles laundry, bathroom breaks, the occasional exchange with Karen in the kitchen. //Lily// handles everything that matters, the schedule, the outfits, the regulars, the money. //The boy's mental voice has grown faint. Lily's is clear and warm and practised.// The handover happens faster every day.//</p>
<</if>>
<<elseif $ryanRoute is "feminization">>
<div class="scene-desc">The blue LED strips still run along the desk and ceiling, but they're dimmer now, half of them unplugged, the harsh aquarium glow traded for a warmer mix of fairy lights above the headboard and a ring of bulbs around the new vanity mirror propped on the dresser. Dual monitors still dominate the desk, but one has been angled away from the chair, out of habit. The energy drink pyramid in the corner is shorter, only eight cans, dusty, a monument to a routine that has quietly stopped. A terrarium glows warm in the corner. A lilac button-down hangs on the back of the closet door.</div>
<<if $player.currentHost is "cat">>
<p>Ryan glances up as the cat enters, a small soft smile, the one he's been wearing more often lately. He extends two fingers. The cat accepts the touch.</p>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You creep in under the door gap. Ryan is sitting on the edge of the bed in the lilac button-down, a tube of mascara open on his thigh, the small mirror on the dresser catching his reflection. He's not wearing the headphones. The room is quiet.</p>
<<elseif $player.currentHost is "dog">>
<<if $ch2Events.susRyanDogDay isnot $day>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.susRyanDogDay to $day>>
<p><span class="consume-fail">Biscuit pushes into Ryan's room, he looks up, confused. The dog never comes upstairs. (+1 suspicion)</span></p>
<</if>>
<</if>>
<p>Ryan sits on the edge of his bed in the lilac button-down, one of Megan's castoffs, altered by hand, the collar loose at his throat. His short dark hair falls in a soft bob the gecko watched him cut himself in the bathroom mirror three nights ago. The MMO is still running on the left monitor but his character has been idle for hours. The Discord tab is closed. The cursor isn't blinking at a draft message anymore because the draft has been deleted, permanently, without ceremony.</p>
<p>The headphones, expensive, over-ear, a birthday gift from Dale, sit folded on the desk beside a tube of lip tint. They still get used when the gaming itch returns, but less and less. Dale's one right thing has become one more artifact from a life Ryan is slowly filing away.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan.// His room used to be a simulation of life, the LED strips, the game, the Discord scroll, all of it a membrane between his body and the world. //The membrane is dissolving.// The screens are still here but they're no longer the centre. The centre is the mirror now. The dresser. The small collection of makeup he's started calling //mine// without quite saying the word out loud.
//Dale still asks about //Ryan//. The question gets harder to answer every week.//
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "night">>
<p>//Ryan's mind is quieter than it used to be. The wall of digital noise has thinned, the game no longer carries his attention, only his muscle memory. What's underneath the noise is //yearning//. Specific. Embodied. The hum of a body that is starting to feel like a //project// instead of a prison.//</p>
<<else>>
<p>//Ryan's daytime mind runs warmer now. No more deep blankness of the collapsed gamer, he's //composing//. Choosing. The internal monologue is a quiet list of //how to look tomorrow//, //which top hangs better//, //whether Karen will notice the eyeliner at breakfast//. The conditioning has given him a project that feels like identity.//</p>
<</if>>
<</if>>
<<else>>
<div class="scene-desc">Blue LED strips along the desk and ceiling, the room glows like an aquarium. Dual monitors. Energy drink cans stacked in a pyramid in the corner, twenty-three cans. An archaeological record of sleepless nights. A terrarium glows warm in the corner.</div>
<<if $player.currentHost is "cat">>
<p>Ryan doesn't look up as the cat enters. You've done this a thousand times, the cat always visits Ryan's room.</p>
<<elseif $player.currentHost is "rat" or $player.currentHost is "gecko">>
<p>You creep in under the door gap. Ryan's headphones are on, bass leaking. He won't hear a thing.</p>
<<elseif $player.currentHost is "dog">>
<<if $ch2Events.susRyanDogDay isnot $day>>
<<addSuspicion "hoffmanHouse" 1>>
<<set $ch2Events.susRyanDogDay to $day>>
<p><span class="consume-fail">Biscuit pushes into Ryan's room, he looks up, confused. The dog never comes upstairs. (+1 suspicion)</span></p>
<</if>>
<</if>>
<p>Ryan sits at his desk, headphones clamped over his ears, face lit by two monitors. One shows a fantasy MMO, his character idles in a marketplace, uncollected quest rewards blinking. The other has Discord open: forty-seven unread messages in a guild channel. Zero in DMs. At the bottom of the chat window, a draft message to someone called "LilyPad_", three words typed, cursor blinking. He's been staring at it for an hour.</p>
<p>The headphones, expensive, over-ear, the kind that cost more than a week of Dale's overtime, leak bass constantly. A birthday gift. The one thing Dale got right.</p>
<<say "char-hivemind" "Hivemind">>
<<if $house.familyIntel.ryanGaming>>
//Ryan.// Dale's voice on the phone — "And Ryan?" followed by that resigned silence. //The boy his father has stopped asking about.// His room is a simulation of life. The game gives him a world. Discord gives him a voice. The LED strips give him an aesthetic. But none of it is real. //The only real thing is the gecko, the one creature that needs him, that depends on his attention, that can't log off.//
<<else>>
//The youngest. Isolated.// His room is a simulation of life. His mind hums with a low, constant static, boredom, loneliness, the dim glow of a life lived through screens. //The only real thing is the gecko, the one creature that needs him.//
<</if>>
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "night">>
<p>//Ryan's mind is a wall of digital noise, the game creates so much neural interference that his actual thoughts are nearly unreadable. He's not thinking. He's //reacting//. The perfect camouflage for a mind that doesn't want to think at all.//</p>
<<else>>
<p>//Ryan's daytime mind is the quietest in the house, passed out at his desk or staring at a paused screen, running on fumes. No dreams, no anxiety loops. Just the deep blankness of someone who burned through the night and collapsed. The emptiest mind. The easiest to fill.//</p>
<</if>>
<</if>>
<</if>>
<p>The terrarium in the corner catches your attention. Properly maintained, heat lamp calibrated, humidity gauge in the green, fresh mealworms in the dish. The one thing in this room that receives careful attention. A small gecko sits on a rock under the warmth, watching with unblinking eyes.</p>
<<if $player.currentHost is "gecko">>
<p>//Tail Drop is the gecko's emergency exit. If Ryan spots Spike outside the terrarium, the dropped tail creates enough confusion, thrashing, bleeding, to redirect his attention from 'why is the gecko out' to 'is the gecko hurt'.//</p>
<<if not $behavioralIntel.ryan.taildrop>><<set $behavioralIntel.ryan.taildrop to true>><</if>>
<</if>>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Hidden Observer catalogues Ryan's screen from the ceiling: Discord notifications every 4.2 minutes. Tab switches between game and a draft message, always the same recipient. LilyPad_. He types, deletes, types, deletes. The gecko's fixed stare records every keystroke.//</p><</if>>
<<if $adaptations.gecko.unlocked.includes("toxin_glands")>><p>//Toxin Glands secrete a mild sedative through Spike's skin. Ryan handles the gecko daily, each touch delivers a micro-dose that deepens his sleep cycle and softens his neural defenses.//</p><</if>>
<<if $adaptations.gecko.unlocked.includes("precision_touch")>><p>//Precision Touch could reach the keyboard from the desk. When Ryan sleeps face-down on his arms, the gecko's toe pads can type three words per minute on the mechanical keys. Slow. But sufficient.//</p><</if>>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>>
<<if $biofilmTriggered and $biofilmTriggered.ryanRoom is $day>>
<div class="choice-done">Biofilm already delivered in this room today.</div>
<<elseif $biofilmMarked.ryanRoom is $day>>
<p>//The keyboard, the energy drink cans, the headphone cushions, biofilm is active on every surface Ryan touches.//</p>
<<if $house.dayPhase is "night">>
<<addConditioning "ryan" "pheromone" 1>>
<<if not $biofilmTriggered>><<set $biofilmTriggered to {}>><</if>><<set $biofilmTriggered.ryanRoom to $day>>
<p><span class="skill-used">Biofilm triggered, Ryan's room surfaces</span></p>
<</if>>
<<else>>
<<if $player.biomass gte 2>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<link "Mark Ryan's room surfaces with biofilm (2 biomass)" "Ch2-RyanRoom">><<set $player.biomass -= 2>><<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>><<set $biofilmMarked.ryanRoom to $day>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Mark Ryan's room surfaces with biofilm (2 biomass) <span class="locked-reason">(Need 2 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<</if>>
<</if>>
/* Operation discoveries from Ryan's room, gated on symbiotic route */
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.screenPuppetry and $delveInfo.ryan>>
<<set $operationsDiscovered.screenPuppetry to true>>
<<say "char-hivemind" "Hivemind">>
//His keyboard. His screen. Discord open, messages unsent. He sleeps at this desk every night, face down, headphones still on. If the gecko could reach the keyboard after he falls asleep... I could type. Send messages. Delete contacts. //Reshape his entire digital world while he dreams.////
<</say>>
<p><span class="delve-intel">Operation discovered: Screen Puppetry, use the gecko to manipulate Ryan's screen while he sleeps.</span></p>
<</if>>
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.phoneIntercept and $house.roomsExplored.ryanRoom>>
<<set $operationsDiscovered.phoneIntercept to true>>
<<say "char-hivemind" "Hivemind">>
//His phone sits unlocked beside the keyboard when he leaves for food. Three minutes. That's all I'd need. The gecko on the screen... reading messages, sending texts, deleting evidence. //Every family member leaves their phone unguarded at some point.////
<</say>>
<p><span class="delve-intel">Operation discovered: Digital Eavesdropping, access family members' phones during unguarded moments.</span></p>
<</if>>
<<if not $house.catInfested and $house.catLocation is "jessRoom">>
/* Cat isn't here right now */
<</if>>
/* Symbiotic route: epiphany trigger when 3+ animals discovered */
<<if not $permanentDone.beastRouteChosen and $discovered.gecko and $discovered.cat and $discovered.dog>>
<div class="route-event">
<div class="route-event-header">ROUTE SELECTION</div>
<div class="route-event-body">
<p>Three animal minds pulse at the edges of your awareness. The gecko in its terrarium. The cat somewhere downstairs. The dog in the garage. A strange harmony, neural pathways resonating across species. //This has never happened before.//</p>
<<say "char-hivemind" "Hivemind">>
//Something is changing. I can feel all of them, not just echoes, but //live connections//. The lab designed me to consume. But what if there's another way?//
<</say>>
[[Explore this resonance, this will define your path->Ch2-Beast-Epiphany]]
</div>
</div>
<</if>>
<<if $permanentDone.consumedGecko and not $permanentDone.geckoBodyDisposed and not $ch2Events.geckoDeathNoticed>>
<div class="data-panel-muted">The terrarium holds the desiccated remains of the gecko. If Ryan finds it...</div>
[[Dispose of the evidence->Ch2-Beast-Gecko-Dispose]]
<<elseif $beastRoute is "symbiotic" and $animalNetwork.hosts["gecko"]>>
/* Gecko is alive in the network, show its status */
<<if $animalNetwork.hosts["gecko"].status is "unavailable">>
<<set _geckoRelDay to $ch2Events.geckoUnavailableSince or $ch2Events["geckoReleasedDay"] or 0>>
<<if _geckoRelDay gt 0 and ($day - _geckoRelDay) gte 2>>
<div class="data-panel-muted">Spike is calm again. The heat lamp warms his rock. He blinks slowly, the neural imprint hums faintly. //Ready.//</div>
<<if $player.currentHost isnot "gecko">>
<<link "Reinfest Spike: reactivate the gecko node" "Ch2-RyanRoom-ReinfestGecko">><</link>>
<</if>>
<<else>>
<div class="data-panel-muted">Spike sits under his hide. Too soon to reinfest. <b>(<<= Math.max(0, 2 - ($day - _geckoRelDay))>> days remaining)</b></div>
<</if>>
<<else>>
<div class="data-panel-muted">Spike sits on his rock, amber eyes watchful. A node in the network.</div>
<<if $player.currentHost isnot "gecko">>
<<infestLink "Switch to Spike" "Ch2-RyanRoom-SwitchGecko" "gecko">>
<</if>>
<</if>>
<<elseif not $permanentDone.consumedGecko and $player.currentHost isnot "gecko">>
<<infestLink "Infest the gecko" "Ch2-InfestGecko" "gecko">>
<<elseif $player.currentHost is "gecko">>
<div class="data-panel-muted">Spike watches you from his rock, or rather, watches the body you're wearing. Two geckos in one room. He tilts his head, tongue flicking. //Recognition? Confusion?// Either way, he's calm. Your pheromones see to that.</div>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.ryan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Ryan's surface thoughts (1 biomass)" "Ch2-Delve-Ryan" 1>></div>
<<elseif _hasAbility and $delveInfo.ryan>>
<div class="choice-done">Ryan, surface thoughts already read</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Ryan's mind <span class="lock-hint">(Requires Delve Superficial Memories)</span></div>
<</if>>
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.ryan and not $delveInfo.ryanDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Ryan's dreams (2 biomass)" "Ch2-DeepDelve-Ryan" 2>></div>
<<elseif _hasAbility and $delveInfo.ryanDeep>>
<div class="choice-done">Ryan, dreams already explored</div>
<<elseif not _hasAbility and $delveInfo.ryan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Ryan's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<if $delveInfo.ryanDeep>>
<<if not $permanentDone.emoRyan>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Ryan's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Ryan-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Ryan's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Ryan, dream already manipulated</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.ryanDeep and not $permanentDone.dreamWalkRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Ryan's dream (3 biomass)" "Ch2-DreamWalk-Ryan" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkRyan>>
<div class="choice-done">Ryan, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.ryanDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Ryan's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.ryanDeep and not $permanentDone.memoryImplantRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Ryan's mind (3 biomass)" "Ch2-MemoryImplant-Ryan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantRyan>>
<div class="choice-done">Ryan, memory rewritten</div>
<<elseif not _hasAbility and $delveInfo.ryanDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Ryan's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<</if>>
/* Memory Implant downstream — the morning the rewritten birthday surfaces */
<<if $ch2Events.memoryPlanted_ryan and $day gt $ch2Events.memoryPlantedDay_ryan and $day lte ($ch2Events.memoryPlantedDay_ryan + 2) and not $permanentDone.memoryEffect_ryan and $house.dayPhase isnot "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Ryan is up early and grey-faced, the night clearly still sitting on him->Ch2-MemoryEffect-Ryan]]</div>
<</if>>
/* Cat Pheromone Coat — Ryan (non-fem only, fem-Ryan's grooming/posture register doesn't fit the gaming-lap beat) */
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("pheromone_coat") and not $ch2Events.pheroCoatRyan and $ryanRoute isnot "feminization">>
<<if $conditioning.ryan.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Settle into Ryan's lap while he games..." "Ch2-Beast-PheroCoat-Ryan">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan ignores the cat, too focused on the screen. <span class="lock-hint">(Requires Pheromone Coat + more pheromone conditioning)</span></div>
<</if>>
<</if>>
/* Gecko Micro-Spore Emitter — Ryan */
<<hostOrCoord "gecko">>
<<if _hostOrCoord and $adaptations.gecko.unlocked.includes("micro_spore") and not $ch2Events.microSporeRyan>>
<<if $conditioning.ryan.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Activate Micro-Spore Emitter: saturate Ryan's room" "Ch2-Gecko-MicroSpore-Ryan">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The terrarium air feels thick but Ryan is too alert. <span class="lock-hint">(Requires Micro-Spore Emitter + more pheromone conditioning)</span></div>
<</if>>
<</if>>
<<hostOrCoord "gecko">>
<<if _hostOrCoord and $adaptations.gecko.unlocked.includes("micro_spore") and $ch2Events.microSporeRyan and not $ch2Events.microSporeJess>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Position by the shared wall: drift spores toward Jess's room" "Ch2-Gecko-MicroSpore-Jess">><</link>></div>
<</if>>
<<if _hostOrCoord and $adaptations.gecko.unlocked.includes("micro_spore") and $ch2Events.microSporeRyan and not $ch2Events.microSporeHandling>>
<<if $conditioning.ryan.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Wait for Ryan's evening feeding ritual: direct contact exposure" "Ch2-Gecko-MicroSpore-Proximity">><</link>></div>
<</if>>
<</if>>
/* Hidden SP: Gecko plants permanent spore feed in Jess's room through shared wall */
<<if _hostOrCoord and $adaptations.gecko.unlocked.includes("precision_touch") and $adaptations.gecko.unlocked.includes("micro_spore") and $ch2Events.microSporeJess and not $ch2Events.geckoJessWallPlant and $ch2Events.jessLibraryTrip>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">HIDDEN</span> <<link "Open the shared wall outlet: install permanent spore feed to Jess's room" "Ch2-Hidden-GeckoJessWall">><</link>></div>
<</if>>
/* Gecko feeding, terrarium mealworms */
<<if not $ch2Events.geckoFed and not $ch2Events.petFed and $player.currentHost is "gecko">>
[[Eat mealworms from the terrarium dish (+2 biomass)->Ch2-Feed-PetFood]]
<</if>>
/* Gecko-specific adaptation activities */
<<if $player.currentHost is "gecko" and $beastRoute is "symbiotic">>
<<if not $ch2Events.geckoTerrariumStudy>>
<div class="delve-choice"><span class="delve-tag delve-tag-gecko">GECKO</span> [[Study your body's systems in the terrarium (+1 AP)->Ch2-Gecko-Terrarium-Study]]</div>
<</if>>
<<if not $ch2Events.geckoObserveRyan>>
<div class="delve-choice"><span class="delve-tag delve-tag-gecko">GECKO</span> [[Position above the monitor, observe Ryan for hours (+1 AP)->Ch2-Gecko-Observe-Ryan]]</div>
<</if>>
<</if>>
<<if not $ch2Events.examinedRyanDiscord and ($house.dayPhase is "night" or $house.dayPhase is "day")>>
[[Study Ryan's monitors more closely...->Ch2-Examine-RyanDiscord]]
<</if>>
<<if not $ch2Events.examinedRyanCloset>>
[[The closet door is ajar...->Ch2-Examine-RyanCloset]]
<</if>>
<<hostOrCoord "dog">>
<<if _hostOrCoord and $adaptations.dog.unlocked.includes("scent_tracking") and not $ch2Events.ryanSnackStash>>
<p>Biscuit's nose zeroes in on something behind the desk. Under a pile of dirty hoodies, wedged between the wall and the surge protector, a plastic bag. The scent is unmistakable: sugar, processed fat, preservatives. Ryan's emergency snack stash. Energy bars, gummy worms, a half-eaten bag of chips sealed with a binder clip.</p>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">SCENT</span> <<link "Raid Ryan's snack stash (+2 biomass)" "Ch2-RyanRoom">><<set $ch2Events.ryanSnackStash to true>><<addBiomass 2>><</link>></div>
<<elseif $ch2Events.ryanSnackStash>>
<div class="choice-done">Ryan's snack stash, already raided</div>
<</if>>
/* ============ Estrus Trigger — Ryan (night, gaming) ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusRyan>>
<<if $conditioning.ryan.pheromone gte 8 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: the screen won't save him (3 biomass)" "Ch2-Estrus-Ryan" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan can still dissociate into the screen. <span class="lock-hint">(Requires 8+ pheromone on Ryan, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusRyan>>
<div class="choice-done">Ryan, estrus cycle fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's body could be forced into heat. <span class="lock-hint">(Requires Estrus Trigger)</span></div>
<</if>>
/* ============ Hormonal Override — Ryan's voice trigger ============ */
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideRyan>>
<<if $conditioning.ryan.pheromone gte 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override: Ryan's voice trigger (2 biomass)" "Ch2-HormOverride-Ryan-Voice" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's headphones still drown it out. <span class="lock-hint">(Requires 3+ pheromone on Ryan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideRyan>>
<div class="choice-done">Ryan, voice override fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan's hormones could be steered through his own voice. <span class="lock-hint">(Requires Hormonal Override)</span></div>
<</if>>
/* Toxic Spores, night only (Ryan is asleep), any host, per-target daily cooldown */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility and $house.dayPhase is "night">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.ryan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Ryan (2 biomass)" "Ch2-ToxicSpore-Ryan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Ryan already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
/* Synaptic Relay combo, dog·gecko coordination drill. One-shot. */
<<hasSkillTreeAbility "Synaptic Relay">>
<<if _hasAbility and not $ch2Events.relayComboDogGecko and $animalNetwork.hosts["dog"] and $animalNetwork.hosts["gecko"] and ($player.currentHost is "dog" or $player.currentHost is "gecko")>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RELAY</span> [[Make the Dog and the Gecko coordinate in Ryan's room (+1 AP both)->Ch2-Relay-DogGecko]]</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
[[Return to the hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-ryan">>
<<spendBiomass `setup.getInfestCost("gecko")`>><</nobr>>
<img class="scene-img" src="media/scenes/gecko-infest.webp" alt="Infesting the gecko">
<<infestCheck "gecko">>
<<if _infestSuccess>>
<<nobr>><<changeHost "gecko">>
<<addToInfected "Ryan's Gecko" "gecko">><</nobr>>
<div class="passage-title">Cold Blood</div>
<p>The gecko doesn't resist. Its tiny mind is barely a whisper, but it's //yours// now. You feel the heat lamp's warmth, the glass walls of the terrarium, the rough texture of the rock beneath your new body's feet.</p>
<<say "char-hivemind" "Hivemind">>
//A stepping stone.// This creature is small and cold-blooded, but it can climb walls and reach places a rat cannot. And when I consume it... I'll be strong enough for bigger prey.
<</say>>
<p><span class="skill-used">Host changed: Gecko, gained Wall Grip (passive) and Tail Drop (active)</span></p>
<<if $beastRoute isnot "symbiotic">>
<div class="route-wip">
<p><span class="lock-icon">🔒</span> Consume the gecko for influence <span class="route-wip-tag">UNAVAILABLE — COMING SOON</span></p>
</div>
<</if>>
<<if $beastRoute is "symbiotic">>
<<set $animalNetwork.hosts["gecko"] to { id: "gecko", name: "Spike", type: "gecko", location: "ryanRoom", bond: 0, status: "active", task: "", taskTarget: "" }>>
<<set $animalNetwork.activeHost to "gecko">>
<</if>>
[[Explore Ryan's room as the gecko->Ch2-RyanRoom]]
<<else>>
<p>The gecko thrashes in its terrarium. Even this tiny mind resists you.</p>
<p><span class="consume-fail">Infestation failed, influence tier too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
[[Back away->Ch2-RyanRoom]]
<</if>>/* Consumption mechanic removed. Legacy stub, redirects to room. */
<<goto "Ch2-RyanRoom">><<nobr>><<if $house.dayPhase is "night">><<bg "bg-hoffman-megan">><<else>><<bg "bg-hoffman-megan-empty">><</if>>
<<set $house.roomsExplored.meganRoom to true>><</nobr>>
<<set $house.familyMet.megan to true>>
<<set $discovered.megan to true>><<set $currentRoom to "meganRoom">>
<<if $player.currentHost is "cat" and not $house.doorOpen.meganRoom>>
<<set $house.doorOpen.meganRoom to true>>
<</if>>
<<if $house.doorOpen.meganRoom and $player.currentHost is "cat" and not $ch2Events.meganDoorOpened>>
<<set $ch2Events.meganDoorOpened to true>>
<p>You nose the door open. It swings silently — Megan doesn't stir. The gap is wide enough for smaller creatures to pass through now.</p>
<</if>>
/* Cat at night → redirect to the full night observation passage */
<<if $player.currentHost is "cat" and $house.dayPhase is "night">><<goto "Ch2-Beast-CatNight-Megan">><</if>>
<div class="passage-title">Megan's Room</div>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-megan-sleeping.webp" alt="Megan sleeping in warm lamplight">
<div class="scene-desc">The room is dark. A bedside lamp on the nightstand, its shade tilted to cast warmth toward the bed, fills the room with a faint amber glow. Everything else is shadow and vanilla body spray. The only scent that's truly hers.</div>
<p>Megan sleeps on her side, face half-buried in the pillow. Her phone is face-down on the nightstand, plugged in, alarm set for 6:30 AM. Instagram notifications pile up unanswered on the lock screen, seven, eight, twelve. She doesn't check them before bed anymore.</p>
<<if $player.currentHost is "cat">>
<p>The cat hops onto the bed. Megan stirs, mumbles "//go 'way, Whiskers...//" and rolls over.</p>
<<if $adaptations.cat.unlocked.includes("emotional_mirror")>><p>//Emotional Mirror reads Megan's sleep-state emotions: loneliness, performance anxiety, the faint warmth of a half-remembered dream about Marcus. The cat reflects them back, purring. Megan's arm tightens around Whiskers.//</p><</if>>
<</if>>
<<else>>
<img class="scene-img" src="media/scenes/hoffman-megan-empty.webp" alt="Megan's empty bedroom">
<div class="scene-desc">The room smells of vanilla body spray and laundry detergent. The bed is made, tight hospital corners. Megan is out.</div>
<p>The room is empty. Megan left for her coffee shop shift hours ago. Without her in it, the space reveals itself more honestly.</p>
<</if>>
<p>A vanity mirror with track trophies lined along its base. Third place. Second place. Second place. //Never first.// A coffee shop uniform draped over the desk chair, clean and pressed. She irons it herself — Karen taught her. A drawer slightly open reveals running shoes, worn thin at the heel. She still runs three mornings a week, alone, in the dark before anyone wakes.</p>
<p>The room is tidy, organized, but nothing is personal. No posters, no photos of friends, no clutter that says //this is who I am//. The room of someone who performs even when no one is watching.</p>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>>
<<if $biofilmTriggered and $biofilmTriggered.meganRoom is $day>>
<div class="choice-done">Biofilm already delivered in this room today.</div>
<<elseif $biofilmMarked.meganRoom is $day>>
<p>//The sheets, the pillowcase, the phone charging cable, biofilm is active on every surface.//</p>
<<if $house.dayPhase is "night">>
<<addConditioning "megan" "pheromone" 1>>
<<if not $biofilmTriggered>><<set $biofilmTriggered to {}>><</if>><<set $biofilmTriggered.meganRoom to $day>>
<p><span class="skill-used">Biofilm triggered, Megan's room surfaces</span></p>
<</if>>
<<else>>
<<if $player.biomass gte 2>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<link "Mark Megan's room surfaces with biofilm (2 biomass)" "Ch2-MeganRoom">><<set $player.biomass -= 2>><<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>><<set $biofilmMarked.meganRoom to $day>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Mark Megan's room surfaces with biofilm (2 biomass) <span class="locked-reason">(Need 2 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<</if>>
<<if not $behavioralIntel.megan.contaminator>><<set $behavioralIntel.megan.contaminator to true>><</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if $house.dayPhase is "night">>
//The invisible daughter's room. Everything is maintained but nothing is personal. The trophies say "second place", the story of her family position. Middle child. Middle effort. Middle priority.// Her phone is her lifeline, and her weakness.
<<else>>
//She's gone but the room is still performing. Every surface is a display case for a life that looks put-together. The vanity drawer tells a different story.//
<</if>>
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<<if $house.dayPhase is "night">>
<p>//Megan's mind cycles between loneliness and a specific neural pattern, warm, wanting, directed at someone who isn't here. Marcus. The thought of him creates a spike she can't suppress, even in sleep.//</p>
<<else>>
<p>//The room is empty but the psychic imprint of Megan's routine lingers, anxiety layered over performance, performance layered over need. The residue of a mind that never stops auditioning.//</p>
<</if>>
<</if>>
<<if $player.currentHost is "cat" and $adaptations.cat.unlocked.includes("dream_harvest") and $house.dayPhase is "night">><p>//Dream Harvest detects the shape of Megan's dream: running, always running, a race with no finish line. The emotional energy is dense, anxiety and desire braided together. Harvestable.//</p><</if>>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("pheromone_coat") and $house.dayPhase is "night" and not $ch2Events.pheroCoatMegan>>
<<if $conditioning.megan.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Curl against Megan: she's reaching for warmth..." "Ch2-Beast-PheroCoat-Megan">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan shifts but doesn't reach for the cat. <span class="lock-hint">(Requires Pheromone Coat + more pheromone conditioning)</span></div>
<</if>>
<</if>>
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.megan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Megan's sleeping mind: surface thoughts (1 biomass)" "Ch2-Delve-Megan" 1>></div>
<<elseif _hasAbility and $delveInfo.megan>>
<div class="choice-done">Megan, surface thoughts already read</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Megan's sleeping mind <span class="lock-hint">(Requires Delve Superficial Memories)</span></div>
<</if>>
<<else>>
<<if not $delveInfo.megan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Megan's mind <span class="lock-hint">(She's not here, come back at night)</span></div>
<</if>>
<</if>>
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.megan and not $delveInfo.meganDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Megan's dreams (2 biomass)" "Ch2-DeepDelve-Megan" 2>></div>
<<elseif _hasAbility and $delveInfo.meganDeep>>
<div class="choice-done">Megan, dreams already explored</div>
<<elseif not _hasAbility and $delveInfo.megan>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Megan's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<if $delveInfo.meganDeep>>
<<if not $permanentDone.emoMegan>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Megan's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Megan-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Megan's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Megan, dream already manipulated</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.meganDeep and not $permanentDone.dreamWalkMegan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Megan's dream (3 biomass)" "Ch2-DreamWalk-Megan" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkMegan>>
<div class="choice-done">Megan, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.meganDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Megan's dreams <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.meganDeep and not $permanentDone.memoryImplantMegan>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Megan's mind (3 biomass)" "Ch2-MemoryImplant-Megan" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantMegan>>
<div class="choice-done">Megan, memory rewritten</div>
<<elseif not _hasAbility and $delveInfo.meganDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Megan's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<</if>>
/* Memory Implant downstream — Megan texting Marcus boldly */
<<if $ch2Events.memoryPlanted_megan and $day gt $ch2Events.memoryPlantedDay_megan and $day lte ($ch2Events.memoryPlantedDay_megan + 2) and not $permanentDone.memoryEffect_megan and $house.dayPhase isnot "night">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Megan keeps drifting off mid-task, like she's chasing a memory that won't sit still->Ch2-MemoryEffect-Megan]]</div>
<</if>>
<<if not $ch2Events.examinedMeganVanity and $house.roomsExplored.meganRoom>>
[[The vanity drawer is slightly open...->Ch2-Examine-MeganVanity]]
<</if>>
/* ============ Hormonal Override — Megan's scent trigger (day only, fires while she's getting ready for her shift) ============ */
<<if $house.dayPhase is "day">>
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideMegan>>
<<if $conditioning.megan.pheromone gte 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override: Megan's scent trigger (2 biomass)" "Ch2-HormOverride-Megan-Scent" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's sense of smell hasn't been hijacked yet. <span class="lock-hint">(Requires 3+ pheromone on Megan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideMegan>>
<div class="choice-done">Megan, scent override fired</div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan's hormones could be steered through her own scent. <span class="lock-hint">(Requires Hormonal Override)</span></div>
<</if>>
<</if>>
/* ============ Slut-route casual visit, afternoon client at the house ============ */
<<if $meganRoute is "slut" and $ch2Events.meganSlut2 and not $ch2Events.slutHouseVisit and _houseTier gte 3 and $conditioning.megan.pheromone gte 7 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OP</span> <<biomassPreview "Megan is booking a client for the standing window (2 biomass)" "Ch2-NSFW-Megan-SlutHouseVisit" 2>></div>
<<elseif $meganRoute is "slut" and $ch2Events.slutHouseVisit>>
<div class="choice-done">The standing window is recurring infrastructure</div>
<</if>>
/* ============ Threesome — Megan + Marcus + Ryan (Psychic Domination + Marcus route) ============ */
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility and not $ch2Events.threesome and not $ch2Events.threesomeSlut and _houseTier gte 3>>
<<if $meganRoute is "marcus" and $ryanRoute is "feminization" and $conditioning.megan.psionic gte 10 and $conditioning.ryan.psionic gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Psychic Domination: Megan, Marcus, and Ryan (3 biomass)" "Ch2-Threesome-MeganMarcusRyan" 3>></div>
<<elseif $meganRoute is "slut" and $conditioning.megan.psionic gte 10>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Psychic Domination: Megan brings two of her regulars home (3 biomass)" "Ch2-Threesome-MeganSlut-Home" 3>></div>
<<else>>
<<if $meganRoute is "slut">>
<div class="locked-choice"><span class="lock-icon">🔒</span> The house is still Karen's house, not Megan's workplace. <span class="lock-hint">(Requires Megan on the Slut route + 10 psionic on Megan)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Marcus and Ryan won't share Megan yet. <span class="lock-hint">(Requires Megan on the Marcus route + Ryan on the Feminization route + 10 psionic on Megan and Ryan)</span></div>
<</if>>
<</if>>
<<elseif _hasAbility and $ch2Events.threesome>>
<div class="choice-done">Megan + Marcus + Ryan, the triangle closed</div>
<<elseif _hasAbility and $ch2Events.threesomeSlut>>
<div class="choice-done">Megan turned the house into an after-hours back office</div>
<</if>>
/* Toxic Spores, night only (Megan is asleep), any host, per-target daily cooldown */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility and $house.dayPhase is "night">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.megan>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Megan in her sleep (2 biomass)" "Ch2-ToxicSpore-Megan" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Megan already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
/* ============ Biological Architect — Shared Bed (mirror of Master Bedroom link) ============
The scene is staged in Megan's bed; surface the trigger here too so the
action lives where the player is when the cascade fires. Same gating
and one-shot $ch2Events.bioArchitectBed flag as the Master Bedroom copy. */
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and not $ch2Events.bioArchitectBed>>
<<if $conditioning.karen.pheromone gte 9 and $conditioning.dale.pheromone gte 9 and $conditioning.jess.pheromone gte 9 and $conditioning.megan.pheromone gte 9 and $house.dayPhase is "night">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "Biological Architect: the shared bed (3 biomass)" "Ch2-BioArchitect-SharedBed" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The bed cascade needs Karen, Dale, and both daughters saturated. <span class="lock-hint">(Requires 9+ pheromone on Karen, Dale, Jess, and Megan, night)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.bioArchitectBed>>
<div class="choice-done">Shared bed, architecture complete</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if setup.isSmallAnimal() and not $house.doorOpen.meganRoom>>
[[Retreat through the wall vent->Ch2-Attic-Vent]]
<<else>>
[[Return to the hallway->Ch2-UpperHall]]
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<set $house.roomsExplored.jessRoom to true>><</nobr>>
<<getHouseTier>>
<<set $house.familyMet.jess to true>>
<<set $discovered.jess to true>><<set $currentRoom to "jessRoom">>
<<if $player.currentHost is "cat" and not $house.doorOpen.jessRoom>>
<<set $house.doorOpen.jessRoom to true>>
<</if>>
<<if $house.doorOpen.jessRoom and $player.currentHost is "cat" and not $ch2Events.jessDoorOpened>>
<<set $ch2Events.jessDoorOpened to true>>
<p>You push through the door. It's heavier than the others — Jess keeps it firmly shut. But a cat's persistence wins out. The door stays ajar behind you.</p>
<</if>>
/* Cat at night → redirect to the full night observation passage */
<<if $player.currentHost is "cat" and $house.dayPhase is "night">><<goto "Ch2-Beast-CatNight-Jess">><</if>>
<div class="passage-title">Jess's Room</div>
/* Jess room visual transformation gate. Three signals collapse into one
ladder: heavy-punk fires when a kink is crystallized OR conditioning
has reached the heavy threshold (~14 total) on the punk route; soft-punk
fires when route is locked but conditioning hasn't yet caught up; the
night-fallback only triggers when the player isn't on the punk route. */
<<set _jrTotal to ($conditioning.jess.pheromone or 0) + ($conditioning.jess.dream or 0) + ($conditioning.jess.psionic or 0)>>
<<set _jrHeavy to ($kinks.jess and ($kinks.jess.includes("brat") or $kinks.jess.includes("band"))) or ($jessRoute is "punk" and _jrTotal gte 14)>>
<<set _jrSoft to (not _jrHeavy) and ($jessRoute is "punk")>>
<<if _jrHeavy>>
<img class="scene-img" src="media/scenes/hoffman-jess-punk-heavy.webp" alt="Jess's room — full transformation: a locked equipment case open on the desk with sterile piercing needles and forceps and clamps inside, jewellery trays on the wall with rows of barbells and studs, a handwritten session log notebook beside the kit, pre-med books shoved to a corner of the desk">
<div class="scene-desc">The room has been //re-tenanted//. The pre-med textbooks still exist, they're stacked in one corner of the desk, current and correct and ready for exams, but they've been displaced by the second Jess's equipment. A locked piercing kit sits open on the desk on cloudy appointment days, autoclave pouches, sterile needles, forceps, labelled jewellery trays lined with surgical-steel barbells and captive rings. A corkboard above the bed is a piercing reference wall, portfolio printouts of bridges and industrials and lobes stretched by the millimetre, aftercare charts, a rolodex of jewellery suppliers. The anatomy poster still hangs, but the muscular system now has a second annotation set in black pen: which cartilage and skin-folds are best for specific piercing placements. The Slayer shirt on the chair has been joined by a hand-cut crop top with a band name stitched in safety pins. A small lockbox on the shelf, locked, unmarked. The metal playlist still pauses at the same track, some things are load-bearing.</div>
<<elseif _jrSoft>>
<img class="scene-img" src="media/scenes/hoffman-jess-punk.webp" alt="Jess's room — soft punk overlay: pre-med textbooks still dominant, but a single purple hair streak on the pillow, a nose stud in the jewellery dish, a show flyer tucked under the laptop">
<div class="scene-desc">The pre-med textbooks still rule the desk. The anatomy poster is still up. The coffee cups are still present. But there are //adjustments//, the kind of adjustments that would not have been here three weeks ago. A single dyed purple strand catches the light on the pillow. A small silver nose stud sits in the little dish on the dresser where Jess keeps earring backs. A folded show flyer, some band the family hasn't heard of, venue on the south side, is half-tucked under the laptop. The Slayer shirt has moved from the back of the chair to the middle of the bed, as if Jess had changed out of it ten minutes ago instead of hanging it up properly. The second annotation on the anatomy poster, in red pen she did not plan to use again, reads //good for placement//.</div>
<<elseif $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/hoffman-jess.webp" alt="Jess's desk at night — lamp on, textbooks and coffee cups">
<div class="scene-desc">Medical textbooks stacked in exam-priority order. An anatomy poster of the muscular system on the wall, she's written corrections on it in red pen. A window cracked open letting cold air in. Three empty coffee cups at different stages of growing mold. A pack of caffeine pills beside the laptop. Wired earbuds tangled around the laptop hinge, the screen shows a paused metal playlist, track names in all-caps. A faded Slayer t-shirt draped over the back of the desk chair, and a stack of band shirts on the shelf above the bed: Gojira, Meshuggah, Opeth, Lamb of God. The music taste is the one thing in this room that isn't optimised for an exam.</div>
<<else>>
<img class="scene-img" src="media/scenes/hoffman-jess.webp" alt="Study desk with medical textbooks">
<div class="scene-desc">Medical textbooks stacked in exam-priority order. An anatomy poster of the muscular system on the wall, she's written corrections on it in red pen. A window cracked open letting cold air in. Three empty coffee cups at different stages of growing mold. A pack of caffeine pills beside the laptop. Wired earbuds tangled around the laptop hinge, the screen shows a paused metal playlist, track names in all-caps. A faded Slayer t-shirt draped over the back of the desk chair, and a stack of band shirts on the shelf above the bed: Gojira, Meshuggah, Opeth, Lamb of God. The music taste is the one thing in this room that isn't optimised for an exam.</div>
<</if>>
<<if $jessRoute is "punk" and $house.dayPhase is "night">>
<p>Jess is asleep. The desk that was the centre of her nights for years is dark, laptop shut, textbooks closed, highlighter capped on top of a pile of unread chapters she will get to or will not. She is in bed in an oversized band shirt, one earbud tangled at her collarbone where it fell out, the other still trailing music low into the pillow. The window is closed. The cold isn't a tool anymore. The discipline isn't ferocious anymore. The discipline has slipped its leash.</p>
<<elseif $jessRoute is "punk">>
<p>Jess is out somewhere, the room is empty in the middle of the day in a way it never used to be. The bed is unmade. A band shirt is balanced on the back of the chair where the Anatomy textbook used to live. Her laptop is open to a band's tour calendar instead of a lecture recording. The desk lamp is off; the desk has been a //surface// for the last week, not a workstation.</p>
<<elseif $house.dayPhase is "night">>
<p>Jess is still awake, hunched over her desk. Her eyes are red-rimmed from hours of studying. The window is open, not for air, but to keep herself awake. The cold is a tool. Her phone lies face-down on the far side of the desk. She turned it over to kill the distraction. The discipline is ferocious.</p>
<<say "char-jess" "Jess">>
<i>(to herself)</i> ...two more chapters and then I can sleep. Two more chapters. Just two.
<</say>>
<<else>>
<p>Jess has finally fallen asleep at her desk, head resting on an open textbook. The top book — Anatomy, has more highlighter than unmarked text. The window is still open. The cold didn't keep her awake. Nothing could have.</p>
<</if>>
<<if $jessRoute is "punk">>
<p>A journal lies on the floor beside the bed, open to a half-written entry in handwriting messier than the journal entries from the desk-version of Jess. The visible words: //...not doing the spring semester. Not telling mom yet. I will when I —// The pen ran out of ink mid-sentence. The pen has been out of ink for a while.</p>
<<else>>
<p>A journal beside the laptop, open to a half-written entry. The visible words: //...can't tell Mom about the tuition. She'll...// The pen ran out of ink mid-sentence. Or Jess ran out of energy. Same thing.</p>
<</if>>
<<if $adaptations.cat.unlocked.includes("cat_nightvision")>>
<<if $jessRoute is "punk">>
<p>//Nightvision reveals what the streetlight bleed and the bedside lamp do not: Jess's face slack against a cheap pillowcase, the imprint of the weave on her cheek, a healing ear-piercing catching a stray bead of light, her chest rising and falling in the kind of even sleep the desk-version never permitted herself.//</p>
<<else>>
<p>//Nightvision reveals what the desk lamp hides: Jess's face in the monitor glow, the dark circles deeper than makeup can cover, the tremor in her highlighter hand.//</p>
<</if>>
<<if not $behavioralIntel.jess.nightvision>><<set $behavioralIntel.jess.nightvision to true>><</if>>
<</if>>
<<if $adaptations.rat.unlocked.includes("contaminator")>>
<<if $jessRoute is "punk">>
<p>//Contaminator maps the new exposure surfaces: the band-shirt collars she sleeps in unwashed, the cheap silver jewellery she presses into healing piercings, the bedsheets she does not change as often as the schedule used to demand. The body's hygiene shoreline has receded. The contaminant beachhead has expanded.//</p>
<<else>>
<p>//Contaminator maps Jess's study materials as vectors: the highlighters she chews on, the textbook pages she licks her thumb to turn, the coffee mug that never gets washed. Her obsessive routine guarantees exposure.//</p>
<</if>>
<</if>>
<<hasSkillTreeAbility "Biofilm Residue">><<if _hasAbility>>
<<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>>
<<if $biofilmTriggered and $biofilmTriggered.jessRoom is $day>>
<div class="choice-done">Biofilm already delivered in this room today.</div>
<<elseif $biofilmMarked.jessRoom is $day>>
<p>//Textbook covers, highlighter caps, the desk lamp switch, biofilm is active on every surface Jess touches.//</p>
/* Jess is always awake, deliver immediately, let addConditioning handle cap + SP */
<<addConditioning "jess" "pheromone" 1>>
<<if not $biofilmTriggered>><<set $biofilmTriggered to {}>><</if>><<set $biofilmTriggered.jessRoom to $day>>
<p><span class="skill-used">Biofilm triggered, Jess's study surfaces</span></p>
<<else>>
<<if $player.biomass gte 2>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<link "Mark Jess's study surfaces with biofilm (2 biomass)" "Ch2-JessRoom">><<set $player.biomass -= 2>><<if not $biofilmMarked>><<set $biofilmMarked to {}>><</if>><<set $biofilmMarked.jessRoom to $day>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Mark Jess's study surfaces with biofilm (2 biomass) <span class="locked-reason">(Need 2 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<</if>>
<</if>>
<<if not $ch2Events.jessMetalMusic>>
<<set $ch2Events.jessMetalMusic to true>>
<p><span class="delve-intel">Intel gained: Jess listens to metal while studying — Slayer, Gojira, Meshuggah, Opeth. The playlist is paused mid-track at 3 AM. Her casual wardrobe is entirely band shirts. The music is the single crack in the clinical armour, aggression she won't express to another human being, channelled through blast beats and drop tuning instead.</span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Jess's room is a bunker. She's at war with time, with money, with her own body's need for sleep. The corrections on the anatomy poster tell me everything, she doesn't just learn the material. She argues with it.// Infesting her would be the highest risk in this house. But a host with medical knowledge...
<</say>>
<<hasSkillTreeAbility "Sense Minds">><<if _hasAbility>>
<p>//Jess's mind is the brightest in the house, it never stops. Day or night, neural activity runs high, cycling through data, problems, fears. She runs on caffeine and discipline. Delving her would be like drinking from a fire hose.//</p>
<</if>>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("hidden_observer")>><p>//Hidden Observer tracks Jess from the desk lamp mount: which textbook chapters she re-reads (pharmacology, always pharmacology), when her concentration breaks (every 47 minutes), the tremor in her writing hand that worsens after midnight.//</p><</if>>
<<if $player.currentHost is "cat" and $adaptations.cat.unlocked.includes("dream_harvest") and $house.dayPhase is "night">><p>//Dream Harvest reads Jess's nightmare: an exam she hasn't studied for, a bill she can't pay, her father's disappointed face. The fear is concentrated, clinical-grade emotional fuel.//</p><</if>>
<<if not $ch2Events.readJournal>>
<p>The journal on her desk is open. The latest entry is visible:</p>
<div class="data-panel-muted">
<p><i>Dad looks worse every week. Triple shifts are killing him. Mom won't say it but I can see the bills piling up. Sometimes I think the only reason I'm doing pre-med is because it's the one career path that might actually dig this family out. No pressure, right?</i></p>
</div>
<<set $ch2Events.readJournal to true>>
<p><span class="delve-intel">Intel gained: Jess carries the family's financial burden. Her motivation is guilt, not passion.</span></p>
<</if>>
<<hostOrCoord "cat">>
<<if _hostOrCoord and $adaptations.cat.unlocked.includes("pheromone_coat") and not $ch2Events.pheroCoatJess>>
<<if $conditioning.jess.pheromone gte 5>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Jess reaches for the cat: she needs the warmth..." "Ch2-Beast-PheroCoat-Jess">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess glances at the cat but returns to studying. <span class="lock-hint">(Requires Pheromone Coat + more pheromone conditioning)</span></div>
<</if>>
<</if>>
/* Ch2-NSFW-Jess-Method — follow-up to Ch2-NSFW-Jess-Solo. Day-only link in
Jess's room, route-locked, pheromone gate. Works for both route variants
via internal fork on $jessRoute. */
<<if $house.dayPhase isnot "night" and $jessRoute and $conditioning.jess.pheromone gte 6 and $ch2Events.jessSoloNSFW and not $ch2Events.jessMethodNSFW>>
<<if $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> [[Her notebook is open to annotated rhythm charts and the laptop is paused on a music-theory waveform, she's preparing a session for tonight. Stay.->Ch2-NSFW-Jess-Method]]</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> [[Her laptop is still open to the pudendal nerve diagram, a new document waiting, she's preparing a trial for tonight. Stay.->Ch2-NSFW-Jess-Method]]</div>
<</if>>
<</if>>
/* Ch2-NSFW-Jess-Anarchy-2 — Punk-route-only, Event 2 of the Anarchy chain.
Day-phase link gated on Anarchy-1 having fired. The guy from last night
is still downstairs; Doris is at the front door keeping Karen busy. */
<<if $house.dayPhase isnot "night" and $jessRoute is "punk" and $houseEvents.he_jessAnarchy1 and $conditioning.jess.pheromone gte 8 and not $permanentDone.jessAnarchy2>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">NSFW</span> [[The guy from last night hasn't left yet. Mrs. Henderson is at the front door. Karen is going to be occupied for a while.->Ch2-NSFW-Jess-Anarchy-2]]</div>
<</if>>
<<if not $house.catInfested and $house.catLocation is "jessRoom">>
<p>The orange tabby is curled on Jess's bed, tail wrapped around its nose.</p>
[[Approach the cat->Ch2-FindCat]]
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility and not $delveInfo.jess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Delve Jess's surface thoughts (1 biomass)" "Ch2-Delve-Jess" 1>></div>
<<elseif _hasAbility and $delveInfo.jess>>
<div class="choice-done">Jess, surface thoughts already read</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Jess's mind <span class="lock-hint">(Requires Delve Superficial Memories)</span></div>
<</if>>
<<if $house.dayPhase is "night">>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility and $delveInfo.jess and not $delveInfo.jessDeep>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEEP</span> <<biomassPreview "Delve deeper: enter Jess's dreams (2 biomass)" "Ch2-DeepDelve-Jess" 2>></div>
<<elseif _hasAbility and $delveInfo.jessDeep>>
<div class="choice-done">Jess, dreams already explored</div>
<<elseif not _hasAbility and $delveInfo.jess>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Probe Jess's deeper memories <span class="lock-hint">(Requires Delve Deep Memories)</span></div>
<</if>>
<<if $delveInfo.jessDeep>>
<<if not $permanentDone.emoJess>>
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EMOTIONAL MANIPULATION</span> <<biomassPreview "Twist Jess's dream: inject arousal (2 biomass)" "Ch2-DeepDelve-Jess-Emo" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Twist Jess's dream, inject arousal <span class="lock-hint">(Requires Emotional Manipulation)</span></div>
<</if>>
<<else>>
<div class="choice-done">Jess, dream already manipulated</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Dream Walk">>
<<if _hasAbility and $delveInfo.jessDeep and not $permanentDone.dreamWalkJess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<biomassPreview "Dream Walk: reshape Jess's nightmare (3 biomass)" "Ch2-DreamWalk-Jess" 3>></div>
<<elseif _hasAbility and $permanentDone.dreamWalkJess>>
<div class="choice-done">Jess, dream reshaped</div>
<<elseif not _hasAbility and $delveInfo.jessDeep and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Enter and reshape Jess's nightmare <span class="lock-hint">(Requires Dream Walk)</span></div>
<</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility and $delveInfo.jessDeep and not $permanentDone.memoryImplantJess>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Rewrite a memory in Jess's mind (3 biomass)" "Ch2-MemoryImplant-Jess" 3>></div>
<<elseif _hasAbility and $permanentDone.memoryImplantJess>>
<div class="choice-done">Jess, memory rewritten</div>
<<elseif not _hasAbility and $delveInfo.jessDeep and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite a memory in Jess's mind <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<</if>>
/* Memory Implant downstream — Jess off the project (route-forked label) */
<<if $ch2Events.memoryPlanted_jess and $day gt $ch2Events.memoryPlantedDay_jess and $day lte ($ch2Events.memoryPlantedDay_jess + 2) and not $permanentDone.memoryEffect_jess and $house.dayPhase isnot "night">>
<<if $ch2Events.memoryEdit_jess is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Jess hasn't turned a page in an hour, the pub still on her, something sharp settling in her jaw->Ch2-MemoryEffect-Jess]]</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> [[Jess hasn't turned a page in an hour, the pub still on her, the exhaustion finally winning->Ch2-MemoryEffect-Jess]]</div>
<</if>>
<</if>>
<<if not $ch2Events.examinedJessTuition and $house.roomsExplored.jessRoom>>
[[A drawer beside the desk has papers sticking out...->Ch2-Examine-JessTuition]]
<</if>>
/* ============ Estrus Trigger — Jess (library retreat / bedroom breakdown) ============ */
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _hasAbility and not $ch2Events.estrusJess>>
<<if $conditioning.jess.pheromone gte 8 and $house.dayPhase is "day">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Estrus Trigger: break Jess's discipline (3 biomass)" "Ch2-Estrus-Jess" 3>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess's discipline still holds at the library. <span class="lock-hint">(Requires 8+ pheromone on Jess, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.estrusJess>>
<div class="choice-done">Jess, estrus cycle fired</div>
<</if>>
/* ============ Gloryhole — organic discovery (repeatable, per-day) ============
First visit: full discover beat + intel + maxBiomass. Subsequent visits:
same scene/images, smaller biomass yield, no intel reprint. Per-day flag
prevents same-day reruns. */
<<if $ch2Events.gloryholeBuilt and ($ch2Events.gloryholeDiscoverDay isnot $day)>>
<<if $conditioning.jess.pheromone gte 8>>
<<if not $ch2Events.gloryholeDiscovered>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PASSIVE</span> <<biomassPreview "Let Jess drift close enough to find the hole on her own (2 biomass)" "Ch2-Gloryhole-Discover" 2>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PASSIVE</span> <<biomassPreview "The bookshelf has walked again: Jess is back at the wall (2 biomass)" "Ch2-Gloryhole-Discover" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess hasn't drifted close enough to the bookshelf yet. <span class="lock-hint">(Requires Gloryhole built + 8+ pheromone on Jess)</span></div>
<</if>>
<<elseif $ch2Events.gloryholeDiscoverDay is $day>>
<div class="choice-done">Gloryhole, Jess at the wall today</div>
<</if>>
/* ============ Bleed Through — band gloryhole session ============
Punk + band kink + BioArchitect unlocked + gloryhole built + jess total ≥ 24.
Direct link surfaces the scene before the observe rotation can; once
triggered, the observe rotation will also surface it as a recurring
band-night beat. Daytime only — the scene's "house empty" framing
requires Dale asleep in garage, Karen at client, Megan on shift. */
<<if $jessRoute is "punk" and $kinks.jess and $kinks.jess.includes("band") and $ch2Events.gloryholeBuilt and $house.dayPhase is "day">>
<<set _bandJessTotal to $conditioning.jess.pheromone + $conditioning.jess.dream + $conditioning.jess.psionic>>
<<hasSkillTreeAbility "Biological Architect">>
<<if _hasAbility and _bandJessTotal gte 24 and ($ch2Events.bandGloryholeDay isnot $day)>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BAND</span> <<biomassPreview "Bleed Through is over for a listening session: the bookshelf walks (2 biomass)" "Ch2-Jess-Band-Gloryhole" 2>></div>
<<elseif _hasAbility and $ch2Events.bandGloryholeDay is $day>>
<div class="choice-done">Bleed Through, band session ran today</div>
<<elseif _hasAbility and _bandJessTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess isn't deep enough yet to host the band for that. <span class="lock-hint">(Requires Jess total conditioning 24+)</span></div>
<<elseif not _hasAbility and _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The hole could become band infrastructure. <span class="lock-hint">(Requires Biological Architect)</span></div>
<</if>>
<</if>>
/* ============ Free Use — Jess + Dale desk (afternoon) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and $ch2Events.baseShiftFull and not $ch2Events.freeUseJessDaleDesk>>
<<if $conditioning.jess.pheromone gte 10 and $conditioning.jess.dream gte 10 and $conditioning.jess.psionic gte 10 and $conditioning.dale.pheromone gte 10 and $conditioning.dale.dream gte 10 and $conditioning.dale.psionic gte 10>>
<<if $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Jess riding Ryan at her desk: Dale wants a window too (2 biomass)" "Ch2-FreeUse-Jess-Dale-Desk" 2>></div>
<<elseif $ryanRoute is "feminization">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Ryan eats Jess out under her desk while she studies (2 biomass)" "Ch2-FreeUse-Jess-Dale-Desk" 2>></div>
<<elseif $ryanRoute is "familySeeker">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Ryan bends Jess over her desk between chapters (2 biomass)" "Ch2-FreeUse-Jess-Dale-Desk" 2>></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> <<biomassPreview "Free Use: Jess's desk (2 biomass)" "Ch2-FreeUse-Jess-Dale-Desk" 2>></div>
<</if>>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The desk routine needs both Jess and Dale at apex. <span class="lock-hint">(Requires 10 on all three conditioning tracks for Jess and Dale)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.freeUseJessDaleDesk>>
<<if $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Jess's desk: Ryan + Dale (replay)|Ch2-FreeUse-Jess-Dale-Desk]]</div>
<<elseif $ryanRoute is "feminization">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Jess's desk: Ryan under (replay)|Ch2-FreeUse-Jess-Dale-Desk]]</div>
<<elseif $ryanRoute is "familySeeker">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Jess's desk: Ryan over (replay)|Ch2-FreeUse-Jess-Dale-Desk]]</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FREE USE</span> [[Jess's desk (replay)|Ch2-FreeUse-Jess-Dale-Desk]]</div>
<</if>>
<</if>>
/* ============ Sensory Bridge — Jess + Ryan (phantom touch through the wall) ============ */
<<hasSkillTreeAbility "Sensory Bridge">>
<<if _hasAbility and not $ch2Events.sensoryBridgeJR>>
<<if $conditioning.jess.psionic gte 8 and $conditioning.ryan.psionic gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BRIDGE</span> <<biomassPreview "Sensory Bridge: link Jess and Ryan through the wall (2 biomass)" "Ch2-SensoryBridge-JessRyan" 2>></div>
<<elseif _houseTier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess and Ryan can't feel each other through the wall yet. <span class="lock-hint">(Requires 8+ psionic on Jess and Ryan)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.sensoryBridgeJR>>
<div class="choice-done">Jess + Ryan, bridged</div>
<</if>>
/* Toxic Spores, night only (Jess crashed at desk or in bed), any host, per-target daily cooldown */
<<hasSkillTreeAbility "Toxic Spores">>
<<if _hasAbility and $house.dayPhase is "night">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<if not $ch2Events.sporesTargetToday.jess>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Release Toxic Spores: disorient Jess (2 biomass)" "Ch2-ToxicSpore-Jess" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess already dosed today <span class="lock-hint">(Reset at dawn, the compound needs time to metabolise)</span></div>
<</if>>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if setup.isSmallAnimal() and not $house.doorOpen.jessRoom>>
[[Retreat through the wall vent->Ch2-Attic-Vent]]
<<else>>
[[Return to the hallway->Ch2-UpperHall]]
<</if>><<nobr>><<bg "bg-hoffman-bathroom">>
<<set $house.roomsExplored.upperBath to true>><<set $currentRoom to "upperBath">>
<<getHouseTier>><</nobr>>
<<if $player.currentHost is "cat" and not $house.doorOpen.upperBath>>
<<set $house.doorOpen.upperBath to true>>
<</if>>
<<if $house.doorOpen.upperBath and $player.currentHost is "cat" and not $ch2Events.bathDoorOpened>>
<<set $ch2Events.bathDoorOpened to true>>
<p>The bathroom door is never fully latched, you hook a paw around the edge and pull. It swings open, releasing a wave of damp air. //Another room opened for the network.//</p>
<</if>>
<div class="passage-title">Bathroom</div>
<img class="scene-img" src="media/scenes/upper-bathroom.webp" alt="Family bathroom">
<p>Tile floor, a single frosted window letting in grey light. Condensation patterns from the last shower trace rivulets down the glass. The medicine cabinet is slightly ajar.</p>
<p>Three toothbrushes in a ceramic cup by the sink, Karen's new, Megan's normal, Jess's fraying at the bristles. Ryan's is in his room. Dale uses the downstairs bathroom. A hair dryer hangs from a hook, only Karen uses it. Megan air-dries. Jess doesn't care.</p>
<<if $player.currentHost is "rat">>
<p>The chemical cocktail hits you like a wall. Five different humans' hygiene products layered on top of each other, shampoo, toothpaste, body spray, medication residue, the mineral tang of hard water. Every family member's DNA is in this room.</p>
<<elseif $player.currentHost is "cat">>
<p>Your ears swivel toward the shower, the pipes gurgling somewhere two floors down. A gap in the ceiling molding, near the exhaust fan. //Noted.//</p>
<<elseif $player.currentHost is "gecko">>
<p>From the ceiling, the room is a map of moisture and warmth. Behind the shower wall, a gap opens into the cavity between the studs. A route.</p>
<<elseif $player.currentHost is "dog">>
<p>The chemical smells are overwhelming at dog-level. Five humans' products, shampoos, medications, the sharp tang of Karen's antiseptic mouthwash. The dog's nose maps the bathroom in seconds.</p>
<</if>>
<<if $player.currentHost is "gecko" and $adaptations.gecko.unlocked.includes("thermal_sense")>><p>//Thermal residue on surfaces: the shower wall is still warm, someone bathed within the hour. Hot water pipes trace glowing lines through the wall. The medicine cabinet radiates nothing. Cold pills. Cold secrets.//</p><</if>>
<<if not $ch2Events.checkedMedicineCabinet>>
<<set $ch2Events.checkedMedicineCabinet to true>>
<p>Inside the cabinet: ibuprofen, cold medicine, a box of bandaids with cartoon characters, from when the kids were small, never replaced. A bottle of melatonin gummies. And behind the other bottles, half-hidden, a prescription for //Sertraline// (Karen's name on the label). Half-empty.</p>
<p><span class="delve-intel">Intel gained: Karen takes antidepressants. The family's stress runs deeper than the surface.</span></p>
<</if>>
/* Operation discoveries from bathroom observation, gated on symbiotic route */
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.showerTrap>>
<<set $operationsDiscovered.showerTrap to true>>
<<say "char-hivemind" "Hivemind">>
//The shower. Enclosed, humid, skin exposed to steam. If I coated the showerhead and drain with biofilm... anyone who showers next absorbs a concentrated dose through every pore. The rat can reach the plumbing. The gecko can add a layer from above. I just need to lure the right person in.//
<</say>>
<p><span class="delve-intel">Operation discovered: Biofilm Ambush, rig the bathroom with a pheromone steam trap.</span></p>
<</if>>
<<if $beastRoute is "symbiotic" and not $operationsDiscovered.prescriptionManip and $ch2Events.checkedMedicineCabinet>>
<<set $operationsDiscovered.prescriptionManip to true>>
<<say "char-hivemind" "Hivemind">>
//The Sertraline. Karen takes it every night. If I replaced the coating with my own compound... she'd administer her own conditioning. Willing. Unknowing. Every single night. The gecko's toxin glands could modify the pills. The rat could synthesize a reinforcement layer.//
<</say>>
<p><span class="delve-intel">Operation discovered: Prescription Manipulation, tamper with Karen's nightly medication.</span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Five people share this bathroom but they've carved it into invisible territories. Karen's shelf is organized. Megan's corner is minimal. Jess's is functional. Ryan's is absent. Shared space, separate lives.//
<</say>>
<p>A damp towel hangs on the rack. Near the shower, a tile has worked loose, the grout around it cracked, one of Dale's half-finished repairs. The drain cover doesn't sit flush either, a small creature could slip into the pipes, though it would be a one-way trip.</p>
<<if $player.currentHost is "cat" and $house.dayPhase is "day">>
<p>The sound of water running... someone is about to shower.</p>
[[Observe from the counter->Ch2-Beast-CatDay-Bathroom]]
<</if>>
/* Gecko Camouflage, bathroom ceiling observation */
<<hostOrCoord "gecko">><<set _hostOrCoordGecko to _hostOrCoord>>
<<hostOrCoord "rat">><<set _hostOrCoordRat to _hostOrCoord>>
<<if _hostOrCoordGecko and $adaptations.gecko.unlocked.includes("camouflage")>>
/* Check if any member has new intel to discover (conditioning ≥ 6 AND not yet observed ever) */
<<set _kBath to ($conditioning.karen.pheromone gte 5 and not $ch2Events.geckoWatchKarenBath)>>
<<set _jBath to ($conditioning.jess.pheromone gte 5 and not $ch2Events.geckoWatchJessBath)>>
<<set _mBath to ($conditioning.megan.pheromone gte 5 and not $ch2Events.geckoWatchMeganBath)>>
<<if _kBath or _jBath or _mBath>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<link "Camouflage on the ceiling tile, wait for the next shower" "Ch2-Gecko-Camo-Bathroom">><</link>></div>
<<elseif $ch2Events.geckoWatchKarenBath or $ch2Events.geckoWatchJessBath or $ch2Events.geckoWatchMeganBath>>
<div class="choice-done">Ceiling tile, all eligible targets observed</div>
<</if>>
<<elseif _hostOrCoordGecko and not $adaptations.gecko.unlocked.includes("camouflage")>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The ceiling tile is exposed, you'd be spotted instantly. <span class="lock-hint">(Requires Camouflage)</span></div>
<</if>>
/* Rat Sporocyst, bathroom steam delivery (repeatable once per day) */
<<if _hostOrCoordRat and $adaptations.rat.unlocked.includes("sporocyst")>>
<<if $ch2Events.sporocystBathroomDay isnot $day>>
<div class="adapt-choice"><span class="delve-tag delve-tag-adapt">ADAPT</span> <<biomassPreview "Release spores behind the shower tile, steam amplification (1 biomass)" "Ch2-Rat-Sporocyst-Bathroom" 1>></div>
<<else>>
<div class="choice-done">Spores already deposited behind the shower tile today</div>
<</if>>
<<elseif _hostOrCoordRat and not $adaptations.rat.unlocked.includes("sporocyst")>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The loose tile hides a gap... but you have nothing to deliver through it. <span class="lock-hint">(Requires Sporocyst Glands)</span></div>
<</if>>
/* Rat adaptation activity, water navigation */
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and not $ch2Events.ratWaterNav>>
<<if $house.ventRoutes.upperBath>>
<div class="host-choice"><span class="delve-tag delve-tag-host">RAT</span> [[Explore the plumbing system from inside (+1 AP)->Ch2-Rat-WaterNav]]</div>
<</if>>
<</if>>
/* Drain feeding, one-time biomass for rat/gecko */
<<if not $permanentDone.drainFeed and setup.isSmallAnimal()>>
<p>The smell rising from the shower drain is rich with organic matter.</p>
[[Consume organic matter from the drain (+2 biomass)->Ch2-Feed-Drain]]
<</if>>
<<if $player.currentHost is "rat" and $beastRoute is "symbiotic" and $adaptations.rat.unlocked.includes("iron_stomach") and not $ch2Events.ironStomachFedThisPhase>>
<div class="delve-choice"><span class="delve-tag">RAT</span> [[Consume organic traces, Iron Stomach (+2 biomass, +1 suspicion)->Ch2-Feed-IronStomach]]</div>
<</if>>
/* ============ Baseline Shift — Bathroom sisters (Megan+Jess open curtain) ============ */
<<hasSkillTreeAbility "Baseline Shift">>
<<if _hasAbility and not $ch2Events.baseShiftBathroom and _houseTier gte 3>>
<<if $ch2Events.baseShiftKaren and $conditioning.jess.psionic gte 8 and $conditioning.megan.psionic gte 8 and $house.dayPhase is "day">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<biomassPreview "Baseline Shift, open curtain between the sisters (6 biomass)" "Ch2-BaseShift-Bathroom" 6>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The sisters aren't ready to drop the curtain. <span class="lock-hint">(Requires Karen's Morning rewrite first + 8+ psionic on Jess and Megan, daytime)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.baseShiftBathroom>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> [[Sisters, baseline shifted (replay)|Ch2-BaseShift-Bathroom]]</div>
<</if>>
/* ============ Hormonal Override — Jess's cold trigger ============ */
<<hasSkillTreeAbility "Hormonal Override">>
<<if _hasAbility and not $ch2Events.hormOverrideJess>>
<<if _houseTier gte 2 and $conditioning.jess.pheromone gte 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override, the cold tile (2 biomass)" "Ch2-HormOverride-Jess-Cold" 2>></div>
<<elseif _houseTier lt 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Override needs more household saturation first. <span class="lock-hint">(Requires household tier 2)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Jess still reads cold as cold. <span class="lock-hint">(Requires 3+ pheromone on Jess)</span></div>
<</if>>
<<elseif _hasAbility and $ch2Events.hormOverrideJess>>
<div class="choice-done">Jess, cold override fired</div>
<<elseif not _hasAbility and _houseTier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Requires Hormonal Override</div>
<</if>>
<<if $beastRoute is "symbiotic">>
[[Open Network Hub->Ch2-Beast-NetworkHub]]
<</if>>
<<if setup.isSmallAnimal() and not $house.doorOpen.upperBath>>
[[Retreat through the drain pipes->Ch2-Attic-Vent]]
<<else>>
[[Return to the hallway->Ch2-UpperHall]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<changeHost "gecko">><</nobr>>
<div class="passage-title">Cold Blood</div>
<p>Spike's eye tracks you as you approach. The neural handoff is instant, one heartbeat warm-blooded, the next cold. The terrarium glass is warm under your belly. The heat lamp hums.</p>
<p><span class="skill-used">Host switched: Gecko, Wall Grip (passive), Tail Drop (active)</span></p>
<<say "char-hivemind" "Hivemind">>
//The gecko. Ceilings. Walls. Ryan's room from every angle.// Small and silent.
<</say>>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<changeHost "gecko">>
<<set $animalNetwork.hosts["gecko"].status to "active">>
<<unset $ch2Events.geckoUnavailableSince>><</nobr>>
<div class="passage-title">Reactivation</div>
<p>Two days. Ryan stopped checking. The terrarium went back to background noise, heat lamp, water dish, the gecko on its rock doing gecko things. He forgot to be suspicious.</p>
<p>You slip back in. The neural pathways are still there, dusty, cold, but intact. Spike's body accepts you like a key returning to a lock it never forgot.</p>
<<say "char-hivemind" "Hivemind">>
//Gecko node reactivated.// Two days of downtime. //Ryan's vigilance lasted forty-eight hours. Mine lasts forever.//
<</say>>
<p><span class="skill-used">Gecko reinfested, network node restored.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $house.ventRoutes.jessRoom to true>><</nobr>>
<div class="passage-title">Vent Discovery — Jess's Room</div>
<img class="scene-img" src="media/scenes/beast-vent-jess.webp" alt="Narrow gap in insulation leading to Jess's room">
<p>You squeeze behind the fibreglass insulation, following a narrow gap between the joists. The aluminium duct here is older, corroded at the seams, with a split wide enough for a small body.</p>
<p>Through the gap, you hear the scratch of a pen on paper. The click of a highlighter cap. A long, shuddering exhale.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's room. The vent opens behind her bookshelf, hidden from sight but close enough to feel the warmth of her desk lamp.// A new route. A new angle of approach.
<</say>>
<p><span class="delve-intel">Vent route discovered: Jess's Room. You can now reach her room through the wall vents.</span></p>
[[Return to the vent junction->Ch2-Attic-Vent]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $house.ventRoutes.masterBedroom to true>><</nobr>>
<div class="passage-title">Vent Discovery — Master Bedroom</div>
<img class="scene-img" src="media/scenes/beast-vent-master.webp" alt="Heating duct leading to master bedroom">
<p>The main heating duct runs along the spine of the house, and you follow it toward the front, past insulation and old wiring and a wasp nest that's been dead since autumn. The duct narrows at a junction, then opens into a wider channel that feeds directly into the master bedroom's floor vent.</p>
<p>Through the grate, you can see the foot of the bed. A shape under the covers. The steady, medicated breathing of someone deep in pharmaceutical sleep.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's room.// The floor vent sits beside the bed, close enough to deposit spores directly into her breathing space. //Close enough to touch.// The heating system becomes a delivery mechanism.
<</say>>
<p><span class="delve-intel">Vent route discovered: Master Bedroom. You can now reach Karen's room through the heating ducts.</span></p>
[[Return to the vent junction->Ch2-Attic-Vent]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $house.ventRoutes.upperBath to true>><</nobr>>
<div class="passage-title">Vent Discovery — Bathroom</div>
<img class="scene-img" src="media/scenes/beast-vent-bath.webp" alt="Drain pipes leading to bathroom">
<p>You follow the sound of dripping water. The drain pipes run vertically through the wall cavity, warm from the hot water heater below, and where a pipe passes through the floor there's a gap around the fitting. Sloppy plumbing. //Perfect.//</p>
<p>The gap opens into the space behind the bathroom wall, between the tiles and the studs. You can feel the humidity, and smell the soap, the shampoo, the faint chemical signature of Karen's Sertraline dissolving in steam.</p>
<<say "char-hivemind" "Hivemind">>
//The bathroom. Behind the wall, beside the shower drain.// The most private room in the house, and now you have a way in that doesn't need a door at all. //Every shower. Every bath. Every unguarded moment.//
<</say>>
<p><span class="delve-intel">Vent route discovered: Bathroom. You can now reach the bathroom through the drain pipes.</span></p>
[[Return to the vent junction->Ch2-Attic-Vent]]<<nobr>><<bg "bg-hoffman-basement">><</nobr>>
<div class="passage-title">Wall Cavity — Descending</div>
<img class="scene-img" src="media/scenes/beast-vent-descent.webp" alt="Descending through wall cavity">
<p>You drop through the wall cavity, a vertical shaft between the studs with insulation pressing against you on both sides. Past the upper floor, past the ground floor where the fridge hums through the drywall, down into the cooler air of the basement.</p>
<p>The cavity opens near the ceiling of the basement workshop, behind a shelf of labelled boxes. You squeeze out between the wall and the shelf and drop onto Dale's workbench.</p>
<<say "char-hivemind" "Hivemind">>
//From the attic to the basement without touching a single floor. No doors. No stairs. No witnesses.// The walls of this house are a highway, and only the smallest creatures know it exists.
<</say>>
[[Continue into the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-attic">><</nobr>>
<div class="passage-title">Wall Cavity — Ascending</div>
<img class="scene-img" src="media/scenes/beast-vent-ascent.webp" alt="Climbing wall cavity to attic">
<p>You climb the vertical shaft between the studs, claws digging into the rough timber while insulation brushes against your body. The ascent takes effort, but the reward is the freedom of the attic above.</p>
<p>You emerge through a gap in the attic floor, pulling yourself up between the joists.</p>
[[Continue into the attic->Ch2-Attic]]<div class="household-event">
<div class="passage-title">5:45 AM</div>
<p>The living room is dark except for the pale smear of light the streetlamp throws through the curtains. Karen Hoffman is already on the mat, not just on it but //settled//, bare feet hip-width apart, hands at her sides, eyes closed. She exhales through her nose on a four-count. The refrigerator hums. The house is otherwise silent.</p>
<p>She moves through the sequence without hesitating. Warrior One, Warrior Two, the lunge deep and precise, her back heel grounded. The cat watches from the couch cushion, tail curled over its paws.</p>
<<say "char-karen" "Karen">>
<i>(to the cat, not breaking form)</i> Don't look at me like that.
<</say>>
<p>Minute eleven: Extended Side Angle. She breathes out through the hold, jaw loose, shoulders dropped. This is the only moment in the day when nothing is being asked of her.</p>
<p>Minute fourteen: Downward-Facing Dog, heels pressing toward the floor. Her phone is face-up on the coffee table. She ignores it. Ignores it. Her eyes track to it once, and she looks away. Then her phone buzzes.</p>
<p>Her head turns. Just slightly.</p>
<<say "char-karen" "Karen">>
<i>(through her teeth)</i> Don't.
<</say>>
<p>She holds for four more counts. The phone buzzes again.</p>
<p>She walks to the coffee table on her knees and picks it up. Reads. Her jaw draws in a fraction, not a grimace, more like the word "no" forming behind closed lips without ever leaving. She sets the phone down face-up and stands.</p>
<<say "char-karen" "Karen">>
<i>(flat, to no one)</i> Of course.
<</say>>
<p>The rest of the sequence takes six minutes instead of thirteen. The movements are still correct, because she's too disciplined for sloppy form, but the four-count exhales are three-counts now, and her eyes stay open.</p>
<<say "char-karen" "Karen">>
<i>(rolling up the mat, brisk)</i> Whiskers. Off the couch.
<</say>>
<p>She doesn't wait to see if the cat complies. She's already walking toward the kitchen.</p>
<<say "char-hivemind" "Hivemind">>
//Twenty-two minutes of regulated calm, scheduled and logged, performed with the discipline of someone who understands that stillness must be imposed.// Her cortisol was dropping. Now it's climbing again. The phone is a leash she cannot put down. //The mat is not rest. It's another item on the list.//
<</say>>
</div><div class="household-event">
<div class="passage-title">11:40 PM</div>
<img class="scene-img" src="media/scenes/ryan-gaming.webp" alt="Ryan gaming late at night, blue monitor light on his face">
<p>The hallway is dark. Under Ryan's door: the faint blue-white flicker of a monitor and, cutting through it, something unexpected.</p>
<p>Laughter.</p>
<p>Not the polite kind, not the performance that surfaces at dinner. This is the unguarded sort, a short startled bark followed by the low roll of genuine amusement. It happens once, then again.</p>
<p>Through the gap where the door doesn't quite meet the frame, fragments of voice:</p>
<<say "char-ryan" "Ryan">>
<i>(low, focused)</i> No... no, you went wide. See the second flame pillar? That's your cue to roll.
<</say>>
<p>A pause. Then:</p>
<<say "char-ryan" "Ryan">>
Walk me through it. What are you seeing?
<</say>>
<p>Another pause. His voice comes back, quieter now, patient in a way that it never is downstairs:</p>
<<say "char-ryan" "Ryan">>
Okay. Okay, that's not wrong exactly, you're just timing it to the animation instead of the hitbox. Different thing. Try it again. I'll watch.
<</say>>
<p>He's coaching. The voice that emerges from Ryan Hoffman's room at midnight has conviction in it, cadence, the calls of someone reading patterns out of hundreds of hours of memorized mechanics. When he says "here," something happens. When he says "wait," someone waits.</p>
<<say "char-ryan" "Ryan">>
<i>(grinning, audible in the shape of the words)</i> //There// you go. Yes. That's it. You see what you did? You gave yourself time. You stopped panicking.
<</say>>
<p>A longer stretch of quiet, his headset on, listening. Then:</p>
<<say "char-ryan" "Ryan">>
You're going to get this. You were almost there last time and you didn't even know it.
<</say>>
<p>The hallway is cold. No one else is awake. The family's version of Ryan, monosyllables and hunched posture and the elaborate project of leaving a room, doesn't exist in here. He exists differently in here.</p>
<<say "char-ryan" "Ryan">>
<i>(easy, offhand)</i> Call it. When you're ready.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He has a voice.// Authority. The capacity to lead and to be trusted. People take direction from him and feel //better// for it. That isn't gone. It's redirected. The house has made him small; the game gives him room. //A creature who leads somewhere leads everywhere, given the right pressure.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Saturday, 10 AM</div>
<p>The garage smells of sawdust and the particular staleness of a space used for storage and not much else. Dale has cleared a section of the workbench and set out his tools in a row: level, drill, two wall anchors, a bracket that's been sitting in the junk drawer since before Ryan started high school.</p>
<p>The radio is on. Something classic, not a station he curated, just what came up when he hit the preset. He's not listening to it so much as existing alongside it.</p>
<<say "char-dale" "Dale">>
<i>(lining up the drill bit, checking the wall, nodding to himself)</i> There.
<</say>>
<p>Biscuit is on the oil-stained concrete, chin on her front paws, watching. She has no interest in the shelf bracket. She has interest in Dale.</p>
<p>He drills the first anchor. The sound fills the garage and fades. He blows dust from the hole, peers at it. Sets the anchor. Tests it with a thumb.</p>
<<say "char-dale" "Dale">>
<i>(low, approving)</i> Good.
<</say>>
<p>He hums something that doesn't quite match the song on the radio, slightly off-time, completely unselfconscious. He holds the bracket against the wall and runs the level across the top, checks the bubble, makes a small adjustment, a methodical pleasure, a problem with a physical solution, progress you can see and touch.</p>
<p>He drills the second anchor. Biscuit's tail ticks once against the floor.</p>
<p>Twenty minutes. He's most of the way through when the door to the kitchen opens.</p>
<<say "char-karen" "Karen">>
<i>(from the doorway, not coming down the step)</i> Dale. The gutters on the north side need cleaning before it rains again. And the downspout is still loose.
<</say>>
<p>Dale's humming stops. His hands keep moving, finishing the screw without rushing or fumbling. But something settles out of his posture, a small departure.</p>
<<say "char-dale" "Dale">>
...Yeah. I'll get to it.
<</say>>
<<say "char-karen" "Karen">>
Before the weekend's over, please.
<</say>>
<p>The door closes. Biscuit looks up at Dale.</p>
<<say "char-dale" "Dale">>
<i>(to the dog, screwdriver still in hand, quietly)</i> Yeah.
<</say>>
<p>He doesn't resume the humming. He finishes the bracket in silence, runs the level again out of habit, and steps back to look at what he built.</p>
<<say "char-hivemind" "Hivemind">>
//Twenty minutes of unscheduled contentment. A man working with his hands, solving a real problem, no one keeping score.// The gutters were always coming. She wasn't wrong to ask. //But the asking has a cost that she doesn't track and he can't articulate.// The silence afterward is the data.
<</say>>
</div><div class="household-event">
<div class="passage-title">11:15 PM</div>
<img class="scene-img" src="media/scenes/he-jess-megan-kitchen.webp" alt="Jess and Megan at the kitchen table late at night, textbook open, two mugs of tea, bag of gummy bears between them">
<p>The kitchen light is on, the only light left in the house. Everyone else is asleep or pretending to be. Jess is at the table, textbook open, highlighter uncapped, a legal pad covered in her small precise handwriting on the left side and a cold cup of coffee she forgot about on the right. She has been sitting in this chair for three hours without shifting her weight. The posture is a statement: //I am not done yet//.</p>
<p>The back door opens. Cold air. Then the smell of a commercial kitchen, fryer grease and industrial coffee and the particular warmth that clings to someone who's been on their feet for eight hours in a space that never cools down. Megan kicks off her work shoes at the door without untying them and hangs her apron on the hook beside Karen's. She doesn't announce herself, and she doesn't need to, because this happens most nights.</p>
<p>She fills the kettle and sets it on the burner, gets two mugs from the cabinet, the blue one for herself and the white one with the chipped handle for Jess. She knows which one. She always knows which one.</p>
<<say "char-megan" "Megan">>
<i>(pulling a tea bag from the box, not turning around)</i> Good section?
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking up, highlighter still moving)</i> Enzyme kinetics. Michaelis-Menten.
<</say>>
<<say "char-megan" "Megan">>
<i>(pouring the water)</i> Sounds thrilling.
<</say>>
<<say "char-jess" "Jess">>
It describes substrate-enzyme binding affinity as a function of concentration. It's fundamental to every pharmacological interaction in the human body.
<</say>>
<<say "char-megan" "Megan">>
<i>(setting the white mug in front of Jess)</i> So... thrilling.
<</say>>
<<say "char-jess" "Jess">>
<i>(the highlighter pauses for a fraction of a second)</i> Not especially.
<</say>>
<p>Jess's hand finds the mug without looking and wraps around it. The warmth is automatic, registered the way she registers the desk lamp turning on, a condition of the environment that someone else maintains. She doesn't say thank you, and Megan doesn't expect her to. This exchange runs older than language between them.</p>
<p>Megan sits down across the table with her own mug, her hair still pulled back from the shift, small flour handprints on her jeans from where she wiped her hands during the evening rush. She looks tired in the specific way that people who smile for a living look tired, the performance muscles of her face slack for the first time in eight hours.</p>
<p>She reaches into her apron pocket, the one still hanging by the door, and comes back with a small bag of gummy bears, the kind from the jar on the diner counter. She sets it on the table between Jess's textbook and her own mug without saying anything about it, without framing it as a gift.</p>
<p>Jess's left hand, the non-highlighter hand, reaches out and takes three. Red, yellow, green. She eats them in that order, still reading, chewing with the mechanical efficiency she applies to everything. Megan takes a single orange one from her side. They eat in silence.</p>
<p>The kettle cooling on the hob with small metallic ticks. The refrigerator compressor cycling on. The soft turn of a page. Megan's spoon stirring her tea in slow circles she's not aware of.</p>
<<say "char-megan" "Megan">>
<i>(after a long while, chin in her hand, watching Jess read)</i> Good section now?
<</say>>
<<say "char-jess" "Jess">>
<i>(the corner of her mouth moving, not a smile, not exactly, but the architecture of one)</i> Marginally.
<</say>>
<p>Megan props her chin on both hands and looks at the dark window. Her own reflection stares back, the tired barista who brings gummy bears home for a sister who won't say thank you. Jess keeps reading. Another page turns. Megan's tea goes cold.</p>
<p>Neither of them has said anything that couldn't be overheard, and neither of them has needed to. The ritual is the communication. The gummy bears are the vocabulary. The silence between the two mugs is the //actual conversation//, and it says: //I came home. I made you tea. I brought you something sweet. I sat down. I'm still here.//</p>
<<say "char-hivemind" "Hivemind">>
//Two sisters. The resentment is real. Resources, parental attention, futures that can't both happen at the same cost. Jess got the brains. Megan got the warmth. Neither got what they actually needed.//
//And yet: gummy bears from the diner jar, the specific mug with the chipped handle, tea without asking. //They do this most nights.// The ritual predates my arrival by years. It predates the routes, the conditioning, the kinks. It is the one bond in this house that was not installed by me.//
//Which makes it the most interesting one to //use//. When I turn them toward each other, and I will, the gummy bears will still be on the table. The mugs will still be in the right hands. The silence will still feel like warmth. //They will not be able to distinguish what was theirs from what is mine.// That is the most efficient vector in this household.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Tuesday, 2 PM</div>
<img class="scene-img" src="media/scenes/suspicion-karen-3.webp" alt="Karen at the kitchen island on a phone call, notepad in front of her, tense">
<p>Karen is in the kitchen with the door to the hallway closed. Her voice is modulated, controlled volume, the register she uses for professional calls, but there is effort in the control.</p>
<<say "char-karen" "Karen">>
<i>(into the phone)</i> Yes. I wanted to ask about home security systems. Monitoring packages. I'm not sure what we need yet, I'm trying to understand what's available.
<</say>>
<p>She listens. Her pen moves across a notepad in short, clipped strokes.</p>
<<say "char-karen" "Karen">>
Interior and exterior. Both. And I'd want cameras, yes, live feed if possible.
<</say>>
<p>Another pause. She underlines something on the notepad.</p>
<<say "char-karen" "Karen">>
<i>(when the voice on the other end asks the natural question)</i> No. No break-in. Nothing like that. It's more... behavioral changes. In the house. The dog is acting strangely. The cat too, and, well, animals sometimes pick up on things.
<</say>>
<p>She stops. Listens. The pen goes still.</p>
<<say "char-karen" "Karen">>
<i>(carefully)</i> I keep finding things moved. Small things. Things I know I put somewhere and they're... somewhere else. And there's, <i>(pause)</i> a smell. In the upstairs bedroom sometimes. I can't describe it. Organic. Not unpleasant, just //wrong//.
<</say>>
<p>The representative is being patient. Probably assuming a stressed homeowner with an overactive imagination.</p>
<<say "char-karen" "Karen">>
I'm aware it sounds... I know how it sounds. Just give me the pricing.
<</say>>
<p>She writes. The pen goes slower.</p>
<<say "char-karen" "Karen">>
<i>(controlled, very controlled)</i> Four thousand eight hundred. That's with installation. <i>(pause)</i> No, I... I have to think about it. Thank you.
<</say>>
<p>She hangs up. Looks at the number on the notepad. Draws a line through it.</p>
<p>Then she sits there for a moment with both hands flat on the table, staring at the wall.</p>
<<say "char-hivemind" "Hivemind">>
//She is describing the infestation. Accurately. The displaced objects, the scent, the animals' altered behavior. She has logged all of it.// The system they quoted would have covered entry points, not interior movement. Still: cameras would complicate operations significantly. //The $4,800 price tag is doing more to protect me than any countermeasure I've deployed. Poverty is a structural advantage.//
<</say>>
</div><div class="household-event">
<div class="passage-title">3 AM</div>
<img class="scene-img" src="media/scenes/he-dale-patrol.webp" alt="Dale patrolling the house perimeter at 3 AM with a flashlight, Biscuit at his side">
<p>The motion light over the garage flicks on. Then off. Then on again as Dale moves around the side of the house, Maglite sweeping the ground in slow arcs.</p>
<p>He checks the basement window wells first, both of them, crouching to look into the shadow beneath the frames. He puts a hand on each window and pushes gently. Locked. He checks the seals.</p>
<p>Biscuit follows three feet behind him, tail angled low, not wagging. She's not playing. She understands, on some level, what this is.</p>
<<say "char-dale" "Dale">>
<i>(low, to the dog, moving toward the fence line)</i> Nothing here.
<</say>>
<p>He walks the fence, the wooden posts and the gate latch and the padlock on the shed. He lifts the padlock, releases it, lifts it again. Sounds the wood with a knuckle. Checks the join between the gate and the post.</p>
<p>The yard is empty. The grass is slightly damp. The neighborhood is the particular silence of three in the morning when even the insomniac traffic on the main street has thinned.</p>
<<say "char-dale" "Dale">>
<i>(at the back corner, sweeping the beam across the garden, quietly)</i> ...Nothing.
<</say>>
<p>He circles back to the porch. He tries the shed padlock one more time without quite knowing why. He looks up at the house, the dark windows and the closed curtains, Biscuit beside him. His jaw is set.</p>
<p>He goes inside. The door closes. The deadbolt turns. A moment later: the chain.</p>
<p>The Maglite goes on the counter beside the keys. He'll need it tomorrow.</p>
<<say "char-hivemind" "Hivemind">>
//He is hunting the correct threat with the wrong method. The perimeter is solid. The padlock holds. The windows are sealed.// He checks the fence line because he understands that dangers come from outside. He does not check the attic. He does not look at the animals. //He is looking outward at a perfectly intact exterior. The threat has been inside for days.//
<</say>>
</div><<nobr>><<if not $ch2Events.jessResearchApplied>><<set $ch2Events.jessResearchApplied to true>><<addFamilySuspicion "jess" 1>><<set _aUp to { low: "medium", medium: "high", high: "veryhigh", veryhigh: "veryhigh" }>><<set $familySuspicion.jess.alertness to (_aUp[$familySuspicion.jess.baseAlertness] or "medium")>><<set $ch2Events.jessAlertExpiry to ($day or 1) + 3>><</if>><</nobr>>
<div class="household-event">
<div class="passage-title">1 AM</div>
<img class="scene-img" src="media/scenes/jess-study.webp" alt="Jess studying at her desk at 1 AM, laptop glow, metal band shirt, earbuds in">
<p>Jess's room. The desk lamp is the only light. Three browser tabs are open across two windows.</p>
<p>The first: "unusual animal behavior domestic pets causes." She has scrolled past the first twelve results, roundworm and distemper and anxiety and thunderstorm phobia, and is deep into an old forum thread about a dog and cat in the same household both developing simultaneous behavioral changes. The thread went unanswered.</p>
<p>The second tab: "toxoplasmosis behavioral changes humans symptoms." She has this one open in a separate window, positioned so she can compare. Her finger scrolls slowly, then stops.</p>
<<say "char-jess" "Jess">>
<i>(reading aloud, barely above a whisper)</i> "...subclinical infection may affect dopamine regulation, altering risk tolerance and social behavior in otherwise asymptomatic hosts..."
<</say>>
<p>She writes in the notebook, her handwriting small and even. She draws a line between two items, "cat/dog behavior change (sudden)" and "family mood variation," and puts a question mark at the midpoint.</p>
<p>The third tab: "signs of gas leak symptoms confusion behavioral."</p>
<p>She reads. She closes the tab.</p>
<<say "char-jess" "Jess">>
<i>(to herself, quiet, precise)</i> No. Wrong vector. Carbon monoxide doesn't explain the animals.
<</say>>
<p>She goes back to the first window. Opens a new search: "parasitic infection pet-to-human transmission behavioral."</p>
<p>The results load. She starts reading.</p>
<p>She writes "environmental factor?" in the notebook. Studies it. Crosses it out.</p>
<p>She writes "coincidence?" Studies it. The pen hovers.</p>
<p>She crosses that out too.</p>
<<say "char-jess" "Jess">>
<i>(sitting back, looking at the notebook, voice flat and certain)</i> There's a pattern.
<</say>>
<p>She writes "single source?" at the center of the page and draws a circle around it.</p>
<<say "char-hivemind" "Hivemind">>
//She noticed the cat and the dog. //Simultaneous behavioral changes in two unrelated species in the same household//. Her pre-med pattern-matching flagged it before anyone else in this house even registered a change. The search history confirms: she's eliminated environmental toxins, gas leaks, seasonal variation. She's converging on a parasitological vector. Toxoplasmosis, then broader zoonotic transmission models, now cross-species behavioral modification.//
//She is not entirely wrong. The genus she needs doesn't exist in any journal. But her methodology is sound: isolate variables, eliminate environmental causes, converge on biotic origin. If she finds the right parasitology paper, anything on behavioural manipulation by Ophiocordyceps, Leucochloridium, Toxoplasma's dopaminergic pathways, she will have a //theoretical framework// that fits what I am actually doing to this family.//
//This one bears watching more closely than the others. //The pre-med is the threat.////
<</say>>
<p><span class="consume-fail">Jess is starting to draw the lines between the animals and the family. (+1 Jess suspicion, +1 alertness.)</span></p>
</div><<nobr>><<bg "bg-hoffman-master">><<if not $ch2Events.karenWatchedApplied>><<addFamilySuspicion "karen" 2>><<set $ch2Events.karenWatchedApplied to true>><</if>><</nobr>>
<div class="household-event">
<div class="passage-title">11:48 PM</div>
<img class="scene-img" src="media/scenes/symbiotic/HE-Karen-Watched.webp" alt="Karen awake in her dark bedroom propped on one elbow, the orange tabby sitting unnaturally still and close on the duvet staring at her face, a pale gecko half-seen in the shadowed ceiling corner">
<p>Karen turns off the lamp and lies back. Dale's side of the bed is cold. The cat is already there, pressed to her hip, sitting upright, watching her face.</p>
<<say "char-karen" "Karen">>
<i>(low, dry)</i> You're in my spot again. You know that.
<</say>>
<p>The cat doesn't move, doesn't blink, just keeps watching her the way it's watched her all week.</p>
<<say "char-karen" "Karen">>
Fine. You can stay. It's not like anyone else is using that side.
<</say>>
<p>Somewhere in the wall behind the headboard, a creak. Then another, a few feet along, then back the way it came. She tells herself it's the radiator. The radiator does not travel the length of the wall and come back.</p>
<<say "char-karen" "Karen">>
<i>(quieter, almost a confession)</i> Can I tell you something? Something's wrong in this house. I don't know what. I just know it, in my teeth, the way I knew Jess was lying about the loans before I had one reason to think so.
<</say>>
<<say "char-karen" "Karen">>
And there's nobody I can say it to. Dale would tell me I'm tired. The kids would just look at each other. So it's you. Lucky you.
<</say>>
<p>She means it as a joke. It doesn't land like one. Her eyes drift up, past the cat, to the corner of the ceiling over the wardrobe, where something small and pale is sitting that was not there a moment ago and is gone the instant she fixes on it.</p>
<<say "char-karen" "Karen">>
<i>(very still)</i> ...did you see that?
<</say>>
<p>The cat looks where she's looking. Downstairs the dog's nails tick once across the kitchen tile and go quiet, like she's turned to face the stairs. Karen lies in the dark in a house that is suddenly, fully awake, and she doesn't call out, because she has never once been allowed to be the kind of woman who falls apart, and she isn't going to start tonight.</p>
<<say "char-karen" "Karen">>
<i>(barely a breath)</i> ...I'm not imagining this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She told the cat. Of course she did. The one thing in this house that cannot repeat what she says and cannot tell her she's only tired, that can do nothing but press against her and listen, and it belongs to me.// She has decided she is not imagining it. She is right. //By morning the certainty will have a shape she can act on. Careful. And careful is a door I can already walk under.//
<</say>>
<p><span class="consume-fail">Karen has decided she is not imagining it. (+2 Karen suspicion.)</span></p>
</div><<nobr>><<bg "bg-hoffman-house">>
/* Repeatable nightly lockdown, surfaced as a clickable card-link by the night hub
(householdMilestoneLinks) and reached by goto, never auto-played inline. Day-guarded so
re-entry/back-button does not double-count: the per-night state + fire count advance once
per day. The hub clears $houseState.doorsLocked each morning, so it never persists past sunrise. */
<<if ($ch2Events.lastFamilyLockdownDay or 0) lt ($day or 0)>>
<<set $ch2Events.lastFamilyLockdownDay to $day>>
<<if not $ch2Events.familyLockdownCount>><<set $ch2Events.familyLockdownCount to 0>><</if>>
<<set $ch2Events.familyLockdownCount to $ch2Events.familyLockdownCount + 1>>
<<if $houseState>><<set $houseState.doorsLocked to true>><</if>>
<</if>>
<<set _lockN to ($ch2Events.familyLockdownCount or 1)>>
<</nobr>>
<div class="household-event">
<div class="passage-title">10:45 PM</div>
<<if _lockN eq 1>>
<p>Karen moves through the downstairs with the lights still on. The front door: deadbolt, then the chain she installed herself recently, the screws she drove in late at night after the children were down. The sound it makes sliding into the receiver is heavier than the original lock, more deliberate.</p>
<<say "char-karen" "Karen">>
<i>(to herself, flat)</i> Good.
<</say>>
<p>The back door. Deadbolt. She tries the handle. Tries it again. The sliding door in the dining room: the bar she fitted into the floor track, the secondary lock at the top.</p>
<p>Upstairs, Megan's door is open a crack, her lamp still on behind her, and she leans into the hallway with her toothbrush in one hand.</p>
<<say "char-megan" "Megan">>
<i>(around the toothbrush, keeping it light)</i> Mom, you did the front already, I heard you do the chain. Are we expecting somebody, or...
<</say>>
<<say "char-karen" "Karen">>
<i>(not slowing down, working the hall window latch)</i> No. Do the window over your radiator too, the one that sticks. All the way.
<</say>>
<<say "char-megan" "Megan">>
<i>(the cheerfulness thinning out of it)</i> Okay, but you did the chain and the bar and everything tonight. Did something happen? You're kind of freaking me out a little.
<</say>>
<<say "char-karen" "Karen">>
<i>(flat)</i> Nothing happened. I'd just feel better with it all locked. Your window, Megan.
<</say>>
<p>Megan's door closes, and a second later the button lock on her interior handle clicks over, the kind that was always there and that she never once used before Karen said the thing she said at dinner.</p>
<p>Down the hall, Jess's door is already open, Jess in the frame with her arms folded and a textbook still hanging from one hand, watching her mother go down the row of locks with the flat assessing look she usually saves for a problem set that refuses to come out clean.</p>
<<say "char-jess" "Jess">>
<i>(even, reasonable)</i> So this is new. We're locking the whole house down like we're under siege now. What are you actually locking out, because if somebody is already getting in, a deadbolt isn't the thing that stops them, and if nobody is, then I genuinely don't get what this is.
<</say>>
<<say "char-karen" "Karen">>
<i>(without looking at her)</i> Humour me. Lock it.
<</say>>
<<say "char-jess" "Jess">>
I'm locking it. I'm asking what changed, because we've never done any of this before.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter, almost to herself)</i> Nothing I can point to. Lock it anyway.
<</say>>
<p>Jess's door makes a different sound from her sister's, the keyed lock she fitted herself turning over with a precision that sounds expensive and final.</p>
<<say "char-karen" "Karen">>
<i>(at the top of the stairs now, to the whole floor at once)</i> Lock your doors tonight. All of you.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, from behind a door that has been shut for hours)</i> They're locked.
<</say>>
<<say "char-karen" "Karen">>
<i>(a pause)</i> Good.
<</say>>
<p>She goes to her own room. The click there is softer, because she's careful about it, for Dale's sake, or for the appearance of not frightening him. The handle doesn't move when she tests it.</p>
<p>The house is now five separate sealed containers stacked in the dark.</p>
<<say "char-hivemind" "Hivemind">>
//They believe the barrier is the door. That if the door holds, they are protected.// The cat moves under doors where there is clearance. The rat uses the wall cavity between rooms two and four. The gecko needs no more than a window seam. //Every lock is a message to a threat that does not use doors. The house is sealed. I am already inside the seal.//
<</say>>
<<else>>
<p>The same circuit again, in the same order. Front door deadbolt and chain, back door, the bar dropped into the sliding-door track, every handle tried twice on the way past. Upstairs the locks answer one after another, Megan's button, Jess's keyed tumbler, Ryan's door pushed shut from the inside before she even reaches the landing.</p>
<<say "char-karen" "Karen">>
<i>(at the top of the stairs, the line worn smooth from saying it so often)</i> Lock your doors. All of you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The ritual has worn down into habit. She no longer decides to do it, she simply does it, the way she brushes her teeth.// The seals close tighter every night and never once in the right direction.
<</say>>
<</if>>
<p><span class="delve-intel">Karen forced everyone to lock the doors. Every bedroom and every way out, bolted for the night, whatever anyone else in the house thinks of it.</span></p>
</div><div class="household-event">
<div class="passage-title">Saturday Research</div>
<p>The kitchen smells like burnt toast and coffee. Saturday morning, ten o'clock. Karen has her reading glasses on, the ones she only uses when she thinks nobody's watching, and her laptop open on the counter. Megan sits across from her on a stool with her own phone, both of them in the comfortable silence of women who don't feel the need to fill it.</p>
<p>Karen turns the laptop a fraction toward Megan.</p>
<<say "char-karen" "Karen">>
I've been looking at vibrators.
<</say>>
<p>Megan doesn't look up from her phone for a half-second. Then she does.</p>
<<say "char-megan" "Megan">>
<i>(sliding off the stool, moving around the counter)</i> Oh. Okay. Let me see.
<</say>>
<p>She leans in, shoulder against Karen's. On the screen: an Amazon page. Fourteen items. Karen has applied filters. Price range: $30 to $80. Four stars and above. Prime eligible.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-karen-megan-toytalk.webp" alt="Karen at the kitchen counter with her laptop and reading glasses, Megan leaning in over her shoulder to look at the screen">
<<say "char-megan" "Megan">>
<i>(scanning the results)</i> These are all... oh, these are actually decent. You've been doing research.
<</say>>
<<say "char-karen" "Karen">>
I read three review threads. <i>(tapping the first item)</i> The rose is popular but the suction mechanism is fragile. Most complaints are about the motor dying inside six weeks.
<</say>>
<<say "char-megan" "Megan">>
What about that purple one? I've heard about that brand.
<</say>>
<<say "char-karen" "Karen">>
<i>(clicking through to the listing)</i> The Satisfyer Pro 2. Motor burns out around three months on daily use. Fine for occasional. Also not quiet, Jess would hear it through the wall.
<</say>>
<<say "char-megan" "Megan">>
<i>(amused, not embarrassed)</i> You're accounting for sound.
<</say>>
<<say "char-karen" "Karen">>
I account for everything.
<</say>>
<p>Megan scrolls down to a different listing and pulls Karen's laptop slightly toward herself. The gesture is completely comfortable, two people sharing a screen, as natural as looking at a recipe together.</p>
<<say "char-megan" "Megan">>
This one, the Lelo Sila. It's rechargeable, waterproof, pretty whisper-quiet based on the reviews. Uses sonic pulses instead of suction, which apparently is better for... <i>(reading)</i> "broader clitoral stimulation without overstimulation."
<</say>>
<<say "char-karen" "Karen">>
<i>(pulling the laptop back, reading the specs)</i> Waterproof is important. Rechargeable is better than batteries. What's the charge time?
<</say>>
<<say "char-megan" "Megan">>
Two hours, twelve-hour battery life. That's good. <i>(pause)</i> Are you getting one for Jess too?
<</say>>
<p>A beat. Karen doesn't react to this as a strange question. She adds the Lelo Sila to her cart, one item, then pauses with her hand on the trackpad.</p>
<<say "char-karen" "Karen">>
Jess is twenty-one. She doesn't need her mother buying her vibrators.
<</say>>
<<say "char-megan" "Megan">>
<i>(smiling into her coffee cup)</i> That is not a no.
<</say>>
<p>Karen says nothing. She clicks on a second listing. The We-Vibe Tango X. Reads the description. Her expression is the same one she uses when evaluating a contractor quote, focused, weighing cost against function.</p>
<<say "char-karen" "Karen">>
<i>(to herself as much as Megan)</i> This one is supposed to be good for, the reviews say it's especially effective if clitoral stimulation alone isn't sufficient. Combined use.
<</say>>
<<say "char-megan" "Megan">>
<i>(leaning in to look)</i> That looks like something you'd bring somewhere. It's compact.
<</say>>
<<say "char-karen" "Karen">>
That's the point.
<</say>>
<p>She adds it to the cart. Keeps scrolling. Finds a third item: a basic wand massager, good reviews, simple design, cheap enough to be low-stakes.</p>
<<say "char-megan" "Megan">>
<i>(nodding at the screen)</i> That one for Jess?
<</say>>
<<say "char-karen" "Karen">>
<i>(after a pause)</i> Something low-threshold. She's analytical, she'd overthink something complicated.
<</say>>
<p>She adds it to the cart. Three items. Total: $147.82. She looks at the cart summary and, with the same efficiency she uses for grocery runs, clicks Purchase.</p>
<<say "char-megan" "Megan">>
<i>(straightening up)</i> You're a strange and wonderful person, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(closing the laptop)</i> Don't make it weird.
<</say>>
<p>Megan laughs, a real one, warm, the kind that fills the kitchen. Karen's mouth curves, not quite a smile, but close enough.</p>
<<say "char-hivemind" "Hivemind">>
//She always wanted to be this mother. Not the administrator. Not the one who handles everything at arm's length through controlled silence. The one who sits at the counter on a Saturday morning and picks out vibrators with her daughter like they're choosing a new coffee machine.// //The conditioning didn't create the want. It dismantled the wall.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Normal</div>
<p>The living room at 10 PM. The rest of the house is quiet: Jess upstairs with her textbooks, Dale on nights, Ryan's door closed since dinner. Megan and Karen on the couch, a nature documentary playing at low volume on the television, both of them half-watching, both with their feet tucked under them.</p>
<p>The documentary cuts to a segment about animal mating cycles. Neither of them reacts. The narrator explains hormonal surges in clinical language over slow-motion footage of birds dancing.</p>
<p>Then:</p>
<<say "char-megan" "Megan">>
<i>(staring at the screen)</i> Mom. Is it normal to masturbate every night?
<</say>>
<p>Karen doesn't flinch. She picks up her tea, takes a sip. Unhurried.</p>
<<say "char-karen" "Karen">>
How long has it been every night?
<</say>>
<<say "char-megan" "Megan">>
<i>(thinking)</i> A while now. I started noticing because I was tracking my sleep, and there's a pattern, I sleep faster after. But I'm also waking up more. It's like I'm more... awake overall.
<</say>>
<<say "char-karen" "Karen">>
That's normal. You're not anxious about it?
<</say>>
<<say "char-megan" "Megan">>
No. That's kind of why I'm asking. I feel like I should be more self-conscious about it and I'm not. It's just, I think about it during the day now. Not obsessively. Just, I'll be at work doing prep and I'll notice I'm already... <i>(gestures vaguely)</i> ...ready to go, basically.
<</say>>
<p>Karen sets her tea down.</p>
<<say "char-karen" "Karen">>
How intense is it when you actually do it?
<</say>>
<<say "char-megan" "Megan">>
<i>(pause)</i> It's gotten a lot stronger. It used to take a while, and now it's fast and it hits really hard, and then I want it again.
<</say>>
<<say "char-megan" "Megan">>
Is that normal?
<</say>>
<<say "char-karen" "Karen">>
When I was your age I went through something similar. <i>(matter-of-fact)</i> Late twenties for me, so you're earlier. Your body is recalibrating. Sexual appetite isn't static. It responds to stress, hormones, environment. When something relaxes, something you didn't even know was wound tight, the appetite surfaces.
<</say>>
<p>A beat of comfortable silence. On the television, two birds circle each other. Neither woman looks at the screen.</p>
<<say "char-megan" "Megan">>
<i>(quieter)</i> I've been thinking about other things. Not just on my own.
<</say>>
<<say "char-karen" "Karen">>
Other things meaning other people.
<</say>>
<<say "char-megan" "Megan">>
<i>(small nod)</i> And not... not just in like, a romantic way. In a... <i>(searching for the word)</i> ...I want to be seen, kind of way. Does that make sense?
<</say>>
<<say "char-karen" "Karen">>
Yes.
<</say>>
<<say "char-megan" "Megan">>
I'm not sure I'm ready to talk about the specific... I don't know how to describe it yet.
<</say>>
<<say "char-karen" "Karen">>
<i>(no pressure in it)</i> Then don't. You don't have to name it yet.
<</say>>
<p>Megan exhales. The tension she didn't realise was in her shoulders comes down an inch.</p>
<<say "char-karen" "Karen">>
Your body is waking up. All of it. That's not a problem to solve, it's just information. When you know what you want, you'll know what to do with it.
<</say>>
<<say "char-megan" "Megan">>
<i>(after a long moment)</i> Thanks for not making it weird.
<</say>>
<<say "char-karen" "Karen">>
<i>(picking up her tea again)</i> It's only weird if you make it weird.
<</say>>
<p>She nods at the television. The documentary has moved on to something about deep-sea creatures. They watch it together, both quiet, both carrying something slightly different now, a door named, even if what's behind it is still in shadow.</p>
<<say "char-hivemind" "Hivemind">>
//Once spoken, it can't be unspoken.// The words leave the body and enter the air between two people and become real in a way that interior monologue never is. Megan was testing whether the space was safe to exist in. //It is. I made it that way.// The want she couldn't name yet is desire for an audience. That's the wire. //She doesn't want to come. She wants to be watched coming.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Data Set</div>
<p>The kitchen table at 2 PM. Jess's study materials spread across her half of the table: laptop, three textbooks, two binders colour-coded with tabs, a legal pad covered in notes in her precise small handwriting. Jess is eating a sandwich and reading simultaneously. She turns pages without looking away from the text. Her coffee goes cold; she drinks it cold.</p>
<p>Karen comes in from the hallway to refill her own mug. She stops.</p>
<p>On the legal pad, visible from where she's standing, the top line of a new section reads: //Physiological Self-Study: Orgasm Response (n=14).//</p>
<p>Below it: a small table. Columns labeled Type, Duration (sec), Intensity (1-10), Recovery, Notes.</p>
<img class="scene-img" src="media/scenes/he-jess-academic-orgasm.webp" alt="The Hoffman kitchen at 2 PM in daylight through the window over the sink — Jess (21, dark brown hair pulled into a tight severe bun, plain composed face, no piercings, faded grey oversized college hoodie) seated at the kitchen table with study materials spread out (laptop, three textbooks, two colour-tabbed binders, a yellow legal pad covered in handwritten notes, a half-eaten sandwich on a plate), reading a textbook with one hand on the page; Karen (43, shoulder-length black hair with subtle grey threads, in soft house clothes) standing across the table with a coffee mug in one hand frozen mid-step, looking down at the visible legal pad with a complicated expression — not horror, not approval, the calm clinical interest of a mother who has just registered her daughter has crossed into territory she did not expect, intimate-domestic kitchen framing">
<p>Karen looks at her daughter. Jess turns a page.</p>
<<say "char-karen" "Karen">>
<i>(reading the header from across the table)</i> What's the data telling you?
<</say>>
<p>Jess doesn't startle. She marks her page, sets the book down, and rotates the legal pad toward Karen with the same manner she would use to share a lab handout.</p>
<<say "char-jess" "Jess">>
Clitoral stimulation alone averages 7.2 on my intensity scale. Combined vaginal and clitoral averages 8.8. Duration is longer for combined, mean 23 seconds versus 14, but the recovery interval is also longer. There's a trade-off.
<</say>>
<<say "char-karen" "Karen">>
<i>(sitting down across from her, mug in hand)</i> What's your intensity scale calibrated to?
<</say>>
<<say "char-jess" "Jess">>
Subjective. I defined 1 as no sensation and 10 as loss of voluntary motor control. I've hit 8.8 once. <i>(pause)</i> The sample size is too small for reliable conclusions, only fourteen events so far. Some variation is probably just baseline hormonal cycling.
<</say>>
<<say "char-karen" "Karen">>
What's your method for combined?
<</say>>
<<say "char-jess" "Jess">>
Penetration with simultaneous clitoral stimulation via fingers. I've been reading about the internal clitoral structure, and the visible portion is only the tip. The internal crura extend several centimetres. Vaginal penetration at the correct angle stimulates the same tissue internally. That's probably why the numbers are higher, not a genuinely distinct mechanism.
<</say>>
<p>She picks up her pen, makes a small notation in the margin.</p>
<<say "char-jess" "Jess">>
I want to test with a curved implement to see if the angle makes a meaningful difference to the numbers. That's the next variable.
<</say>>
<<say "char-karen" "Karen">>
<i>(entirely level)</i> Have you considered a toy with a G-spot curve built in? It would give you more consistent angle across trials than fingers.
<</say>>
<p>Jess looks up, not startled, evaluating.</p>
<<say "char-jess" "Jess">>
That's a good methodological point. The independent variable should be angle, not the thing producing it. Manual stimulation introduces inconsistency. <i>(writing)</i> Controlled implement. Yes.
<</say>>
<<say "char-karen" "Karen">>
Increase the sample size too. Fourteen is preliminary data.
<</say>>
<<say "char-jess" "Jess">>
I know. I'd feel more confident about the 7.2 baseline after thirty or forty. The standard deviation is still wide. <i>(a slight pause, and then, which is the closest Jess gets to dry humour)</i> It's time-intensive research.
<</say>>
<<say "char-karen" "Karen">>
<i>(standing, taking her coffee)</i> Most good research is.
<</say>>
<p>She walks back toward the hallway. Behind her, Jess rotates the legal pad back to her side of the table, picks up her pen, and returns to her textbook. The sandwich gets finished. The notes continue. In the margin beside the data table, a new item: //n, increase to 30+. Consistent implement. Angle as IV.//</p>
<<say "char-hivemind" "Hivemind">>
//She made orgasm a data set.// The conditioning didn't give Jess a sex drive. She had one, suppressed under layer after layer of academicised detachment. What it gave her was //permission to apply her actual methodology.// The legal pad is not a deflection. For Jess, the legal pad //is// intimacy. //She is closer to her own pussy now than she has ever been. She just got there via sample variance.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Rabbits</div>
<p>The kitchen at 4:47 PM. Karen at the counter pulling potatoes out of the bag for dinner, peeler in hand. Jess sprawled across the kitchen banquette in ripped black jeans and a faded black band tee with washed-out lettering nobody has cared about for a decade, dark-purple-and-black hair falling over her shoulders, the polished steel bridge piercing between her eyebrows catching the late-afternoon light through the window over the sink. She has been "doing homework" at the table for the last forty minutes which is to say she has been scrolling her phone and waiting for her mother to come into range.</p>
<p>Karen sets a peeled potato on the cutting board. Jess rotates her phone face-down and props her chin on her fist.</p>
<<say "char-jess" "Jess">>
<i>(brat layer fully on, the half-smirk that means she has been working on this opener since lunch)</i> Hey, Mom. Random question. Back in the day, like before any of us were born, //you and Dad. Were you fucking like rabbits, or what? I want to picture it.//
<</say>>
<img class="scene-img" src="media/scenes/he-jess-punk-sextalk.webp" alt="Hoffman kitchen at late afternoon — Karen (43, shoulder-length black hair with subtle grey threads, soft cardigan over a tucked-in blouse) at the counter beside the sink with a vegetable peeler in one hand and a potato in the other, half-turned at her daughter's question with a level dry-amused expression; Jess (21, Punk-route, dark-purple-and-black dyed hair past her shoulders, polished steel bridge piercing between eyebrows, multiple ear piercings, small lip stud, faded black band tee and ripped black jeans) sprawled across a kitchen banquette across the room, chin on her fist, phone face-down on the table, the half-smirk of a daughter who has been working on her opener since lunch — warm late-afternoon kitchen light through the window over the sink, intimate-domestic mother-daughter framing">
<p>Karen's peeler does not pause. She finishes the long stripe of skin curling off the potato, flicks it into the compost, picks up the next potato, and starts again.</p>
<<say "char-karen" "Karen">>
<i>(level, the work-voice with one notch of dry warmth in it, the kind of mother who has decided she is not going to be ambushed by her daughter today)</i> ...rabbits, Jess. Yes. The early years before any of you were a glint in anybody's eye, the apartment we shared above the laundromat had thin walls and two of the most patient downstairs neighbours in this city's history.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyebrows up, the smirk widening, the precise-clinical register cracking with genuine delight)</i> ...//holy shit.// Mom. //Mom.// You can't just drop "thin walls and patient neighbours" and not give me //specifics.//
<</say>>
<<say "char-karen" "Karen">>
<i>(the dry warmth holding, picking up another potato)</i> Specifics aren't what mothers are for, sweetheart. //Trends// are what mothers are for. Trends were favourable. Frequency was high. Volume was a recurring topic at the apartment-association meetings. Your father was, <i>(pause, choosing the word)</i> //resourceful//. Twenty-two-year-old resourceful. The kind that does not survive into a forty-five-year-old man on the night shift.
<</say>>
<p>Jess is laughing now, the first real laugh Karen has heard come out of her daughter's chest in a long while, not the brat-mocking laugh, the actual childhood-Jess laugh.</p>
<<say "char-jess" "Jess">>
<i>(half-laughing, grabbing her phone off the table to gesture with it)</i> Mom, you are giving me //gifts// today. //Gifts.// You realise a while ago I would have rather licked the sink than ever ask you about Dad's cock, and now I'm sitting here //begging// for a story about your old apartment.
<</say>>
<<say "char-karen" "Karen">>
<i>(setting the peeler down for a beat, drying her hands on the towel, choosing to actually look at her daughter for the first time during this exchange)</i> //I noticed.// I noticed about... also a while ago. Your father's been different too, by the way. We don't talk about it. We're going to keep not talking about it.
<</say>>
<<say "char-jess" "Jess">>
<i>(the smirk shifting into something flatter and more honest, the precise-clinical voice arriving for the punchline)</i> ...for what it's worth, Mom. //I started fucking around. I take preventive measures, don't worry. I don't want to end up like you.//
<</say>>
<<say "char-karen" "Karen">>
<i>(level, the dry warmth not flinching at the jab, accepting it as the daughter-currency it is, picking the peeler back up)</i> //Smart girl.// I had a worse implementation plan at your age. The pill exists for a reason.
<</say>>
<p>Jess sets her phone down. The smirk fades a notch further, into something almost-tender that Karen has not seen on her daughter's face in a long while.</p>
<<say "char-jess" "Jess">>
<i>(quieter, the brat layer relaxing one notch, addressing her mother directly for the first time during this exchange)</i> ...you should start again, by the way. //You.// Fucking. Whoever. I'm not telling you to leave Dad. I'm telling you he's been on the garage couch for years and you've been on the kitchen floor for years and there's a margin in there. //I won't tell him if you don't want to fuck him anymore.// I won't tell anyone. //That's not the kind of mom I'm being.//
<</say>>
<p>Karen does not look up from the cutting board. The peeler keeps moving along the next potato in a careful steady rhythm. The peeled curl drops into the compost.</p>
<<say "char-karen" "Karen">>
<i>(very quiet, the work-voice carrying one notch of something it has not carried in a decade, eyes still on the peeler)</i> //Pass me the carrots.//
<</say>>
<p>Jess passes the carrots. Karen takes them. The conversation does not get a verbal answer. But Karen's hand on the peeler is steadier than it was when this conversation started, and the carrots get peeled in a kitchen where two women have just exchanged a permission neither of them is going to retract.</p>
<<say "char-hivemind" "Hivemind">>
//The taboo has dissolved.// The mother-daughter conversation about sex did not arrive through a confession or an argument or an accident. It arrived as //small talk over the potato peeler//, and the small-talk register is the register the household will use for it from now on. //The boundary that was supposed to keep one Karen out of Jess's bedroom and one Jess out of Karen's marriage has been replaced by a boundary that admits both.// The daughter has just offered the mother covering fire for an affair the mother has not yet committed to having, and the mother has not declined. The household is now operating on a permission structure neither of them voted on out loud.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Incognito</div>
<p>The shared family computer sits in the small alcove off the living room, a concession to the year it was installed, when the theory was that screens in common areas prevented misuse. It's used for printing, tax documents, and the occasional family recipe.</p>
<p>Karen comes to print something. Moves the mouse to wake the screen. The browser opens.</p>
<p>The tab bar shows seven open tabs. The first is the tax site she left last week. The remaining six are not.</p>
<p>She reads the titles without clicking. Leans in slightly to read the URLs. Her expression does not change. She prints her document, closes the browser, and carries the pages to the kitchen.</p>
<p>Dinner that evening: pasta, the good kind with the long noodles Ryan actually eats. Dale is on nights. Five of them at the table: Karen, Megan, Jess, Ryan, and whatever Ryan has been carrying since he sat down and saw Karen's face land on him in that particular way.</p>
<<say "char-karen" "Karen">>
Ryan. Use incognito mode on the shared computer.
<</say>>
<p>Ryan's fork stops moving.</p>
<<say "char-ryan" "Ryan">>
<i>(very quietly)</i> I, uh.
<</say>>
<<say "char-karen" "Karen">>
It's not a punishment. It's just common courtesy. Anyone can use that computer.
<</say>>
<p>Megan's mouth twitches. She becomes very interested in her pasta.</p>
<<say "char-jess" "Jess">>
<i>(genuinely curious, not cruel)</i> What kind of porn?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled sound)</i>
<</say>>
<<say "char-jess" "Jess">>
I'm asking because category matters for the incognito recommendation. Some categories have sites with worse tracker profiles. If he's on a category that a lot of advertisers...
<</say>>
<<say "char-karen" "Karen">>
Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(without particular apology)</i> It's a legitimate digital hygiene point.
<</say>>
<<say "char-megan" "Megan">>
<i>(to Ryan, not unkindly)</i> Were they at least good sites? Or just, like, whatever Google hands you?
<</say>>
<<say "char-ryan" "Ryan">>
Can we... I would really like to... <i>(exhale)</i> can we just not do this.
<</say>>
<<say "char-karen" "Karen">>
<i>(serving herself more pasta, conversation closed in her head)</i> Incognito mode. That's all. <i>(pause)</i> And some of those sites have malware in the ad frames. Use an ad blocker.
<</say>>
<p>Jess nods, satisfied that the digital hygiene angle has been acknowledged. Megan hides her smile behind her glass. Ryan stares at his plate with the hollow expression of a man who has taken more damage than he expected from a dinner table.</p>
<p>It ends there. No interrogation. No lecture. No follow-up questions from Karen, who has moved on to asking Megan about her Thursday shift schedule. The conversation reassembles itself around a different topic and continues.</p>
<p>Ryan eats his pasta. After a minute, the rigid set of his shoulders softens slightly, because nothing happened. He looked at porn and his mother told him to use incognito mode and that was it.</p>
<p>Dale doesn't know. He's working nights. He'll never know.</p>
<<say "char-hivemind" "Hivemind">>
//Before, this conversation would have detonated.// Karen cold and clipped, a controlled fury that filled every room, Ryan bolted into his room for days. //It took twenty seconds and produced no casualties.// The conditioning didn't change what they are, it changed what they //cost// each other. Sex is cheaper now, and the bandwidth it used to burn has been freed up for pasta.
<</say>>
</div><div class="household-event">
<div class="passage-title">Performance Review</div>
<img class="scene-img" src="media/scenes/ei-pantry-dinner-setup.webp" alt="The Hoffman family at the dinner table, roast chicken, Karen mid-statement">
<p>Thursday dinner. Karen made roast chicken. This is relevant only because it took forty minutes, which means Karen has been alone with her thoughts since approximately six o'clock, which is long enough for the thing she's been not-saying to reach critical mass.</p>
<p>Dale is at the table. Megan is at the table. Jess is at the table. Ryan is at the table, eating standing up beside the counter because he got home late, but he's present enough to count. The chicken is good. Everything is normal.</p>
<<say "char-karen" "Karen">>
Dale. We need to talk about the bedroom.
<</say>>
<p>The sentence lands at a frequency that makes everyone at the table process it simultaneously. Ryan's fork pauses halfway to his mouth. Megan goes completely still. Jess looks up from her phone for the first time since sitting down.</p>
<p>Dale looks at Karen. His jaw moves very slightly, like he's chewing words that haven't formed yet.</p>
<<say "char-dale" "Dale">>
<i>(quietly)</i> Karen...
<</say>>
<<say "char-karen" "Karen">>
You finished in under two minutes on Tuesday. <i>(the same tone she uses for utility invoices)</i> That's not workable.
<</say>>
<p>Dead silence.</p>
<p>The refrigerator hums. Somewhere down the street a dog barks twice and stops.</p>
<<say "char-dale" "Dale">>
<i>(barely audible, eyes on his plate)</i> This isn't... this is dinner.
<</say>>
<<say "char-karen" "Karen">>
We're all adults. <i>(to the table)</i> Ignore us.
<</say>>
<p>Megan looks at her chicken with the careful attention of someone locating a specific grain of rice. Ryan has discovered something extremely interesting on the ceiling. Jess has her phone under the table but she is not scrolling.</p>
<<say "char-karen" "Karen">>
<i>(to Dale, measured)</i> I need foreplay. Not a minute of it. Ten minutes minimum, consistently. If you're having a stamina issue, that's a separate conversation and there are options, but Tuesday wasn't a stamina issue. Tuesday was you not bothering. I won't pretend that's acceptable.
<</say>>
<<say "char-dale" "Dale">>
<i>(staring at the table)</i> Jesus, Karen.
<</say>>
<<say "char-karen" "Karen">>
The other thing: if I haven't come before you finish, that's not the end. That's a pause. You use your mouth, or your hand, or the vibrator, I don't care which. But it doesn't stop.
<</say>>
<p>Another silence. Megan takes a sip of water. Her face is a controlled neutral that costs her visible effort.</p>
<<say "char-dale" "Dale">>
<i>(very quiet)</i> Can we... tonight. Not at dinner.
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting a piece of chicken)</i> Yes. Tonight. These are the terms.
<</say>>
<p>Dale nods. One nod. He picks up his fork again. The conversation closes as cleanly as it opened. Karen refills her water. The meal continues.</p>
<p>Ryan sets his plate in the sink and leaves the kitchen at a pace that is not quite running. Megan exhales slowly through her nose. Jess's phone has gone back to the table surface.</p>
<<say "char-jess" "Jess">>
<i>(after a full minute, to nobody)</i> The chicken is good.
<</say>>
<<say "char-karen" "Karen">>
Thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sexual performance critique at the dinner table. The family absorbed it.// Once that sentence would have cracked the foundation: a three-day silence, slammed doors, Megan texting her friends from her room. Tonight it produced mild embarrassment and a refilled water glass. //Sex is logistics now. The budget meeting runs adjacent to the chicken.//
<</say>>
</div><div class="household-event">
<div class="passage-title">A Hot Morning</div>
<p>7:43 AM, and the kitchen is already warm, the night's heat never having left the house and the new day stacking on top of it, the window over the sink fogged at its edges. The kind of morning where the air sits on your skin like a hand that will not move.</p>
<p>Karen is at the coffee machine, naked, the towel she had after her shower left in a damp pile on the bathroom floor upstairs because in this heat she could not see the point of carrying it back down. She waits for the coffee, the back of her neck damp, looking out at the garden where the tomato plants she keeps meaning to stake have leaned all the way over into the lavender.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-megan-hot-morning.webp" alt="Karen at the coffee machine and Megan at the open fridge in a sunlit kitchen on a hot morning, both undressed in the household's casual new normal">
<p>Megan comes downstairs in a sleep shirt already sticking to her, peels it off over her head at the bottom of the stairs without breaking stride, drapes it over the banister, and is naked by the time she reaches the fridge. She opens it and leans into the cold of it a second longer than she needs to before she takes out the orange juice.</p>
<<say "char-megan" "Megan">>
<i>(face still half in the fridge)</i> It's not even eight and it's already disgusting out there. Can we please get someone to look at the AC before I actually die in this kitchen.
<</say>>
<<say "char-karen" "Karen">>
<i>(pouring her coffee)</i> It's on the list, sweetheart. There's an avocado in the back that needs using.
<</say>>
<<say "char-megan" "Megan">>
On toast?
<</say>>
<<say "char-karen" "Karen">>
Mm.
<</say>>
<p>Megan finds the avocado and sets it on the counter with the bread, working the knife one-handed while she holds the cold glass of juice against her sternum between cuts.</p>
<p>Jess comes down three minutes behind her in a long t-shirt, takes one flat look at the kitchen, arrives at the same conclusion everyone in this house arrives at now, and strips it off over her head on her way to the kettle.</p>
<<say "char-jess" "Jess">>
<i>(filling the kettle, to nobody)</i> If the power goes out today I am sleeping in the walk-in cooler at work and not coming home.
<</say>>
<<say "char-megan" "Megan">>
Take me with you.
<</say>>
<p>Ryan comes down last, and the old reflex flickers across his face for a fraction of a second, his mother and both his sisters bare in the morning light, and then it goes out the way it always goes out now. He gets a bowl from the cabinet over the microwave, and then he stands there a moment in his t-shirt and shorts, the only one in the room still wearing anything, the heat and the room both telling him the same quiet thing, and he pulls the shirt off and steps out of the shorts and leaves them on a stool and pours his cereal like he has done nothing at all.</p>
<<say "char-karen" "Karen">>
<i>(not looking up from the laptop she has brought to the table)</i> There's more juice if you want it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, settling at the island with his phone)</i> ...'m good. Thanks, Mom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch how easily the heat does my work for me. Not one of them needed a reason to be bare in this kitchen, the reflex that used to demand clothing was sanded off a while back, but the heat hands them a reason anyway and they take it gratefully, because a reason is easier to hold than no reason at all. It's just hot. That is the story they tell each other over the avocado toast, and it is a lie they will never catch, because by the time the heat breaks the clothes will already be a thing they only put on at the door.//
<</say>>
<p>Ryan finishes his cereal and rinses the bowl at the sink.</p>
<<say "char-ryan" "Ryan">>
<i>(to the room in general, already drifting toward the stairs)</i> I'm going back to my room.
<</say>>
<<say "char-karen" "Karen">>
<i>(absent, eyes on the laptop)</i> Mm. Drink some water up there, it only gets worse from here.
<</say>>
<p>He goes, and the kitchen settles back into its slow warm Saturday, Jess at her tea, Megan picking at the last of the toast, Karen at the table with the laptop and her coffee gone cold at her elbow.</p>
<p>At 8:12 the back door opens and Dale comes in off his night shift, and he is the one wrong note in the room, still buttoned into the full BioGenesis uniform, collar dark with sweat, the only scrap of cloth left in a kitchen full of bare skin. He gets a beer from the fridge before he even sits down.</p>
<<say "char-jess" "Jess">>
<i>(eyeing the uniform over the rim of her tea)</i> How do you even stand that. It's a hundred degrees in here and you're buttoned up like you're about to go direct traffic.
<</say>>
<<say "char-dale" "Dale">>
<i>(a tired huff)</i> ...yeah. Yeah, you're right.
<</say>>
<p>He sets the beer down and peels the uniform off where he stands, the shirt and the undershirt and the trousers, dropping the lot over the back of a chair, and when the last of it is gone he is hard, plainly, unmistakably, his cock standing up out of all that exhaustion like the one thing the night shift could not wear down. He does not cover it. He lowers himself into the chair and reaches for the beer.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(a short, delighted, vicious laugh)</i> Oh my //god//. He walks into a kitchen full of his own daughters and //that// is what his body does. <i>(to Megan, not dropping her voice a single notch)</i> Our dad gets a hard-on looking at his own kids. He's a fucking degenerate, that's what he is. Go on, Dad. Say it.
<</say>>
<<say "char-dale" "Dale">>
<i>(staring at the table, ears gone red, arguing none of it)</i> ...I'm tired, Jess.
<</say>>
<<say "char-jess" "Jess">>
That's not a no.
<</say>>
<<else>>
<p>Jess looks at it for a moment, her own father hard at the breakfast table, and waits for the thing that should arrive, the disgust that a year ago would have cleared the room, and it does not come. She goes back to her tea. Megan never looked up from her toast at all.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//There it is, the last wall in the house, and it did not fall so much as evaporate. A father sits down naked and hard among his own children and the worst that befalls him is a daughter laughing, and even the laughing is fond. The heat was only the doorway. This is the room it opened onto, and when the air cools again, not one of them will walk back out of it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Critical View</div>
<p>Family movie night. Karen picked something, a drama, well-reviewed, the kind of film designed to be taken seriously. It runs 112 minutes. At the 38-minute mark there is a sex scene.</p>
<p>Nobody reaches for the remote.</p>
<p>The scene plays. Medium-length, a minute thirty. Two actors in a bedroom, some cutting, the angle of a film that considers itself tasteful but doesn't fully commit to tasteful. The woman is vocal. The man is earnest. The choreography is enthusiastic but technically inconsistent.</p>
<<say "char-megan" "Megan">>
<i>(tilting her head slightly)</i> Her technique is terrible.
<</say>>
<p>Brief silence.</p>
<<say "char-karen" "Karen">>
<i>(watching the screen)</i> The angle's wrong too. She's compensating with her hips.
<</say>>
<p>On screen, the woman arches dramatically. The camera lingers on her expression.</p>
<<say "char-jess" "Jess">>
<i>(clinical)</i> The vocalization pattern is performative. Genuine orgasm involves involuntary diaphragm contractions, you can hear the difference. That's controlled breathing through a planned sound shape.
<</say>>
<<say "char-megan" "Megan">>
She's doing it for the camera. Which, it's a movie, so. Points for commitment.
<</say>>
<<say "char-karen" "Karen">>
The rhythm is also off. He's jackhammering, it looks energetic but it's not effective. You need sustained pressure, not speed.
<</say>>
<p>Megan nods. On the couch across from them, Ryan is watching the television. His posture is the studied casual of someone who has made a conscious decision to appear fine. He has not said anything.</p>
<<say "char-jess" "Jess">>
<i>(to Ryan, without malice)</i> You're very quiet.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(clears throat)</i> I'm watching the movie.
<</say>>
<<say "char-megan" "Megan">>
<i>(cheerfully)</i> Same.
<</say>>
<p>In the armchair by the window, Dale has been asleep since approximately the 20-minute mark. His breathing is slow and steady, head tipped back slightly. The commentary from the couch hasn't reached him.</p>
<p>The scene ends. The film resumes its drama. Karen refills her wine. Jess goes back to her phone, making one small notation in a notes app. Megan tucks her feet up under herself and settles in for the rest.</p>
<p>The movie continues. Nobody discusses what just happened. It was, in the plainest possible sense, completely unremarkable: a sex scene in a film received the way a cooking segment in a documentary might be received, watched, evaluated on its merits, briefly discussed.</p>
<<say "char-hivemind" "Hivemind">>
//A Rorschach test.// Karen saw mechanics. Jess saw physiology. Megan saw performance craft. Ryan saw something he is going to take upstairs and use later. Dale saw nothing, asleep before the scene began. //One minute thirty of footage, five different reports. The frame the conditioning built for each of them decides what they are even able to look at, and not one of them knows they are wearing it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Curriculum</div>
<p>This one is deliberate.</p>
<p>Karen on the couch with the remote. The streaming service's home screen. She navigates away from the main interface into a content category she hasn't used before, into the adult section the account has been set to block since Ryan was fourteen, the parental lock she quietly disabled a while back and told no one.</p>
<p>Megan and Jess are both on the couch. Ryan in the armchair, where he got there first and has been on his phone.</p>
<<say "char-megan" "Megan">>
<i>(watching Karen navigate)</i> ...are we doing what I think we're doing?
<</say>>
<<say "char-karen" "Karen">>
<i>(selecting a video from the menu)</i> Think of it as continuing education.
<</say>>
<p>The video plays. It's professionally made, actual production value, not the grainy amateurism of search result defaults. A couple, good lighting, a scene that starts with some premise and gets to the point inside ninety seconds.</p>
<p>Karen watches with the focused expression of someone learning a recipe.</p>
<<say "char-karen" "Karen">>
See this. This is rhythm. You can't jackhammer, it's not about depth, it's about angle and consistency. He's doing it correctly here.
<</say>>
<<say "char-megan" "Megan">>
<i>(watching)</i> His stamina is impressive.
<</say>>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(scrolling through her group chat, half-watching, voice flat)</i> Breathing's real. Moaning's loud for the camera. They got off the //hold// at four-twenty, not the noise. The sound guy has the levels wrong on the mic too, kill the moaning and you'd hear the actual breathing, the actual breathing is the part.
<</say>>
<p>She thumbs a clip into the chat without looking up.</p>
<<say "char-megan" "Megan">>
You're texting somebody.
<</say>>
<<say "char-jess" "Jess">>
<i>(thumb still moving, the half-amused punk-deadpan)</i> Receipts.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(phone already in hand)</i> His arousal signals are genuine. Flushed chest at the <i>(glances at the progress bar)</i> 4:20 mark. Involuntary hip movement from her. Those aren't performance choices, they're physiological responses.
<</say>>
<p>She makes a note.</p>
<<say "char-megan" "Megan">>
You're taking notes.
<</say>>
<<say "char-jess" "Jess">>
<i>(writing)</i> Data is data.
<</say>>
<</if>>
<p>The video continues. Karen points out technique. The woman on screen shifts position, cowgirl, a correction of angle, and her expression changes quality entirely.</p>
<<say "char-karen" "Karen">>
There. That's what she was looking for. You can see it, the difference in her face. That's not acted.
<</say>>
<<say "char-megan" "Megan">>
<i>(nodding)</i> Completely different. His cock is also <i>(tilts head)</i> that's a useful width. Not just length.
<</say>>
<<say "char-karen" "Karen">>
Width is underrated. Most people fixate on length, which is the less important variable.
<</say>>
<p>In the armchair, Ryan is watching the television. He is not on his phone anymore.</p>
<<if $daleRoute is "cuckold">>
<p>Dale is in his usual seat, the one at the end of the couch that faces the television at a slight angle. He got home forty minutes ago and was on his way to bed when Karen told him to come sit down, which he did. He has been sitting with his hands folded in his lap for eleven minutes, watching his wife and daughters discuss the dimensions of another man's cock with the rigid stillness of a man who has swallowed something he doesn't have a word for yet. His jaw is set, his hands haven't moved, and his pupils are very wide.</p>
<<say "char-karen" "Karen">>
<i>(not looking at Dale)</i> Width. Not length.
<</say>>
<p>Dale swallows. Says nothing. Watches the television.</p>
<<elseif $daleRoute is "oblivious">>
<p>Dale fell asleep in the kitchen chair around nine and Karen covered him with the throw from the back of the couch. He's been there since, faintly audible through the open kitchen doorway, breathing slow and steady, oblivious in the most literal sense. The television is clearly audible from the kitchen.</p>
<p>He doesn't stir.</p>
<<else>>
<p>Dale is upstairs. He started his next shift at six and is in bed. The floorboards overhead are silent.</p>
<</if>>
<p>The video finishes. Karen mutes the television.</p>
<<if $jessRoute is "punk">>
<<say "char-jess" "Jess">>
<i>(scrolling, sardonic, the bored-amused register)</i> Sent three of these to the group chat. Mara's going to lose it. The width thing is going to be a //thing// at the next practice now, you understand that, right? You've started a war.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(reviewing her phone notes)</i> I have six new data points. Two of them I want to test against my existing sample.
<</say>>
<</if>>
<<say "char-megan" "Megan">>
<i>(settling back into the couch cushions)</i> Same, honestly.
<</say>>
<<say "char-karen" "Karen">>
<i>(returning the TV to normal content)</i> Good. That was the point.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watching porn as a family activity. Sex as curriculum.// <<if $jessRoute is "punk">>The clips Jess just sent into her group chat will become reference material at the next band practice and the next venue tour-bus drinking session.<<else>>The data Jess is taking will improve her self-study methodology.<</if>> The width conversation will surface in Megan's head the next time she has options. Karen's running a masterclass she never got. //And every single person in the room learned something more useful tonight than any conversation has produced.// The conditioning doesn't manufacture desire. It teaches people to //apply// it.
<</say>>
</div><div class="household-event">
<div class="passage-title">Tell Me More</div>
<p>Sunday afternoon. The living room. Megan is on the couch with her legs over the armrest, phone to her ear, the casual sprawl of someone mid-conversation, coffee going cold on the side table. She's been on the phone for twenty minutes already. Karen can hear her from the kitchen: the warm register Megan uses for people she likes, the slight rise of her laugh.</p>
<p>Then the tone shifts.</p>
<p>Not louder. Softer. A new frequency. Karen stops unloading the dishwasher.</p>
<p>The call goes to speakerphone. Not deliberately: Megan presses the wrong button, fumbles, doesn't fix it immediately. A man's voice fills the living room at moderate volume:</p>
<<say "char-marcus" "Marcus">>
<i>(speaker, warm, intent)</i> You looked so good today. That dress. God, your body, I've been thinking about it since you left.
<</say>>
<<say "char-megan" "Megan">>
<i>(voice softened, pleased)</i> Tell me more.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(lower)</i> I want to put my hands on your hips right where that fabric sat. Pull it up. Take my time with your pussy before you'll even let me...
<</say>>
<p>Karen walks through the living room doorway. She hears the man on the phone say //your pussy//. She takes in Megan: legs over the armrest, eyes half-closed, a very particular quality of stillness in her body. Heat in her cheeks down to her collarbone.</p>
<p>Karen walks to the kitchen. Her expression has not changed. In the kitchen, she locates her reading glasses, finds her grocery list on the counter, and begins adding items to it.</p>
<p>Through the wall, the voice continues:</p>
<<say "char-marcus" "Marcus">>
I want to taste you. I've been thinking about it since the last time, how wet you get for me, how you sound when...
<</say>>
<<say "char-megan" "Megan">>
<i>(quieter still)</i> Keep going.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(explicit, unhurried)</i> Your thighs on my shoulders. Your clit on my tongue. You trying to stay quiet and not managing it. I want that. I want you loud.
<</say>>
<p>In the kitchen, Karen adds //olive oil// to the list. Then //lemons//. She can hear Megan's breathing through the wall, not laboured, but elevated, the particular shallow rhythm of someone who is very focused on one thing.</p>
<<say "char-megan" "Megan">>
What else?
<</say>>
<<say "char-marcus" "Marcus">>
After. I want to be inside you while you're still shaking from the first one. I want you to feel how hard you make me. I want...
<</say>>
<p>Karen walks back through the living room with her grocery list. She doesn't look at Megan. She is clearly walking to the front hall to get her jacket and her keys.</p>
<p>She pauses at the doorway.</p>
<<say "char-karen" "Karen">>
<i>(to Megan, neutral, not unkind)</i> I'm doing a grocery run. Thirty minutes.
<</say>>
<p>Megan looks up at her mother from the couch. Her face is very flushed. She's gripping the phone so hard her knuckles have gone pale.</p>
<<say "char-megan" "Megan">>
<i>(reading her mother's expression, finding nothing alarming there)</i> Okay. We need more coffee.
<</say>>
<<say "char-karen" "Karen">>
<i>(already moving to the hallway)</i> I know.
<</say>>
<p>The front door closes. Megan's legs come off the armrest. She sits up on the couch, uncurling, fully present now in the way she wasn't before.</p>
<<say "char-megan" "Megan">>
<i>(back to Marcus, heat still in her voice)</i> You were saying?
<</say>>
<p>The living room holds the afternoon light. The coffee on the side table has gone fully cold. Outside, Karen's car pulls out of the driveway. She drives away without hurrying. She gave her daughter thirty minutes and she meant it.</p>
<<say "char-hivemind" "Hivemind">>
//Praise addiction, visible.// She doesn't need Marcus in the room. She needs his voice saying her name like it means something, describing her body like it's something worth describing. //The living room window faces the street. She didn't move to her bedroom. She didn't lower her voice when she heard Karen's footsteps.// The exhibitionism isn't a kink she selected. It's the shape her desire naturally grew into when the anxiety that contained it was removed. //She doesn't need to come. She needs to be told, out loud, in the light, that she is wanted. Everything else is secondary.//
<</say>>
</div><<nobr>><<bg "bg-hoffman-master">><<if not $ch2Events.daleSporeReconnectApplied>>
<<set $player.maxBiomass to Math.min(($player.maxBiomass or 10) + 1, 999)>>
<<addBiomass 2 "repeatable">>
<<addConditioning "karen" "psionic" 1>>
<<addFamilySuspicion "karen" -2>>
<<set _karenAlertDown to { veryhigh: "high", high: "medium", medium: "low", low: "low" }>>
<<set $familySuspicion.karen.baseAlertness to (_karenAlertDown[$familySuspicion.karen.baseAlertness] or "low")>>
<<set $familySuspicion.karen.alertness to $familySuspicion.karen.baseAlertness>>
<<set $ch2Events.daleSporeReconnectApplied to true>>
<<set _justApplied to true>>
<</if>><</nobr>>
<div class="household-event">
<div class="passage-title">Detour</div>
<p>Just before eight, and Dale is half into his uniform, the BioGenesis shirt buttoned wrong and one boot still by the door. His hands have stopped trying, because the rest of him has gone somewhere lower and louder. The bathroom was the plan, until he passed the open bedroom door and saw Karen at the dresser in her bra, stepping out of the day's slacks.</p>
<<say "char-dale" "Dale">>
<i>(in the doorway, gripping the frame, the words coming out before he can stop them)</i> Karen... I was getting ready, and I couldn't make it down the hall. My feet just brought me in here and I don't even know why. I just had to be where you are.
<</say>>
<<say "char-dale" "Dale">>
<i>(lower, almost ashamed of it)</i> Something's wrong with me. I'm so hard it hurts, it's been like this since I woke up off that couch and it will not quit, it's like there's too much of me and nowhere to put it. I haven't wanted anything this badly since we were kids.
<</say>>
<<say "char-karen" "Karen">>
<i>(half-turned, the slacks still in her hand, caught between the dresser and the look on his face)</i> Dale, it's almost eight, you have a shift. What has gotten into you? You come home, you sleep, you go back, that's been the whole of it for a long time, and now you're standing there looking at me like that.
<</say>>
<p>He crosses the room. His cock is out of the shoved-down trousers before either of them has decided anything, flushed dark and swollen past its own size, the head already slick.</p>
<<say "char-dale" "Dale">>
<i>(walking her back toward the bed, forehead dropping to hers)</i> I know we don't. I can't think about the shift, I can't think about anything but this, just look what it's doing to me, Karen. I need to be inside you. I need it like I need air.
<</say>>
<<say "char-karen" "Karen">>
<i>(a palm flat on his chest, more reflex than refusal)</i> Dale, we can't just do this, you can't just...
<</say>>
<p>He folds her down onto the bed and works into her in one slow shove, and the protest comes apart into a sound she did not plan to make. Because the compound is still on him, riding out in his sweat the way it rode in on the spores, and it is on his cock now, painting into her with every stroke.</p>
<video class="scene-video" src="media/video/he-dale-spore-reconnect-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/he-dale-spore-reconnect-1.webp"></video>
<<say "char-karen" "Karen">>
<i>(eyes going wide, then unfocused, the control draining out of her voice)</i> ...oh. Oh, that's... what is that, why does it feel like that, I'm already... I can't, don't you dare stop. I don't care about the shift. Don't stop.
<</say>>
<<say "char-dale" "Dale">>
<i>(ragged, his rhythm already coming apart)</i> Couldn't if I tried. You feel... god, I'm not going to last, it's been building in me all day and you feel so good around me I can't...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compound pooled where the blood went. His cock is swollen past its baseline, slick with the residue, and every stroke paints the aphrodisiac straight into her.// He believes his body has remembered how to want her. //It was reminded. By me.//
<</say>>
<p>She comes first, clamping around him on one long held breath, and the grip of it drags him over the edge a few strokes after. He buries himself deep and stays there and spills into her in pulses he feels up his spine, his face down in her neck, the broken sound that leaves him one he has not made in this bed in a long time.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-dale-spore-reconnect-2.webp" alt="POV from above of a 43 year old woman with dark brown hair flushed and sweating on the bed after sex, cum leaking from her pussy, one arm thrown above her head, looking up satisfied">
<<say "char-dale" "Dale">>
<i>(propped on his forearms, blinking like he is surfacing from water)</i> I don't... what was that. I came in here and I don't even remember deciding to, my hands knew the way and the rest of me was just along for it. <i>(quietly)</i> I'm sorry. I don't know what came over me.
<</say>>
<<say "char-karen" "Karen">>
<i>(reaching up, taking his face in one hand, unhurried)</i> Stop. Nothing came over you. <i>(she thumbs the collar he buttoned wrong, straightening it)</i> You're going to be late, and for once in my life I genuinely do not care.
<</say>>
<<say "char-karen" "Karen">>
Whatever that was, you're going to find it again. You're going to do this more often, Dale. That is not a suggestion.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has decided it was her own idea. Good. The instructions they think they chose are the ones that hold.//
<</say>>
<<if _justApplied>>
<<conditioningFeedback "psionic" 1 "Karen, dosed from the inside, the new wiring takes">>
<p><span class="consume-success">+1 max biomass, +2 biomass, -2 Karen suspicion. Her vigilance settles a tier lower.</span></p>
<</if>>
</div>
[[Continue->Ch2-Beast-Rest]]<div class="household-event">
<div class="passage-title">The Armor, Discarded</div>
<p>The kitchen at 8 AM. Karen's usual routine: blouse, slacks, lipstick applied in three seconds flat. The armor that says //I have everything handled, please don't look too closely.//</p>
<p>Not today.</p>
<p>She comes downstairs in a fitted grey tank top and athletic shorts, the kind she normally changes into only after the children are asleep. Her shoulders are bare, the curve of her collarbone visible, her hair in a loose bun instead of the pinned shell she usually constructs.</p>
<p>Dale looks up from his coffee, looks again, opens his mouth and closes it, and takes a drink.</p>
<<say "char-dale" "Dale">>
<i>(carefully, into his mug)</i> You, uh... you're up early.
<</say>>
<<say "char-karen" "Karen">>
<i>(reaching past him for the coffee pot, not reading anything into it)</i> Same time as usual.
<</say>>
<p>Dale watches her move to the counter. He's not entirely sure what he's watching. His expression cycles through something unreadable and settles on the sports section of his phone.</p>
<p>Megan comes in from the hallway. Her glance at Karen is quick, cataloguing, followed by an approving smile she immediately smooths away rather than make it weird by naming it. She pours herself a glass of water and says nothing.</p>
<p>Ryan enters from the stairs, sees Karen, and his eyes go wide before his phone becomes very interesting. His cheeks go pink at the ears. He positions himself at the opposite end of the kitchen island and stares at his screen with the intensity of a man defusing something.</p>
<p>Jess doesn't look up from her textbook at the table.</p>
<<say "char-jess" "Jess">>
<i>(without raising her eyes)</i> Are we out of the dark roast?
<</say>>
<<say "char-karen" "Karen">>
Second shelf. Behind the oat milk.
<</say>>
<p>That's the full extent of the commentary. Nobody remarks on the change, nobody asks, and the morning proceeds normally around Megan's toast and Dale's second coffee and Ryan eating standing up with his back to the room. But the three who noticed carry something slightly different in their posture for the rest of the breakfast, a small recalibration, a door that had been assumed shut now standing open an inch.</p>
<p>Karen doesn't notice any of them noticing. She opens her laptop and starts her morning email scan, shoulders relaxed, unbothered.</p>
<p>The tank top wasn't a statement, and that's the thing about it. She just didn't feel like the armor today.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromones don't manufacture exhibitionism.// They dissolve the anxiety that made concealment necessary. Karen didn't decide to dress differently. She stopped spending energy on the decision. //The armor is thinning from the inside out.// Every morning this happens without consequence teaches her body that exposure is safe. The conditioning works forward in time, not backward: it doesn't erase her self-image. It quietly removes the fear that enforced it.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Confessional</div>
<p>The upstairs hallway at 11 PM. The bathroom light is on, the thin strip of gold beneath the door, and that's normal. Megan showers at night, always, twenty minutes of methodical decompression after her closing shift at the restaurant.</p>
<p>The shower runs. Then stops. That was eighteen minutes ago.</p>
<p>Silence for a while. Then a sound: the muted tap of a phone screen. Rhythmic. Soft. Short bursts with pauses between them.</p>
<p>Then the breathing changes.</p>
<p>It starts as almost nothing, the slight elevation of someone distracted. But the pauses between screen-taps lengthen, the tapping stops, and the breathing doesn't. It becomes shallower, faster, the kind that wants to be quieter than it is but can't quite manage it.</p>
<p>A small sound, barely audible through the door, the compressed gasp of someone who has been holding their breath for too long. Then another, then a longer silence, uneven, recovering.</p>
<p>The phone screen taps again, briefly. A notification chime. The light under the door goes dark.</p>
<p>The door opens.</p>
<p>Megan steps out in a cloud of steam, shower-damp hair clinging to her neck, face flushed red down to her collarbone. She's clutching her phone face-down against her chest with both hands, her robe slightly askew, one shoulder pulled wrong.</p>
<p>She doesn't look toward the hallway. Her eyes go straight down the corridor to her room. Her feet follow at a pace just under a run.</p>
<<say "char-megan" "Megan">>
<i>(half-breath, to no one in particular)</i> Night.
<</say>>
<p>Her bedroom door closes. Not slammed. Just: shut.</p>
<p>Down the hall, Jess's light is still on. Karen and Dale's room is dark and quiet.</p>
<p>Twelve minutes later, Megan's light goes off too, and the hallway is empty. The cloud of steam from the bathroom disperses slowly, carrying the smell of her grapefruit body wash and, threaded under it, something warmer that has nothing to do with soap.</p>
<<say "char-hivemind" "Hivemind">>
//The bathroom is the last private space.// No family, no observation, no performance of competence. She goes there to be managed, by work, by responsibility, by the role. //The conditioning short-circuits the management loop.// Arousal fires before the shutdown reflex reaches it. The interesting data point is the phone: she needs narrative, not just stimulus. //She is conditioning herself, and doesn't know it.// The drive was mine. The method was entirely hers.
<</say>>
</div><div class="household-event">
<div class="passage-title">Tucking Him In</div>
<p>Eleven-thirty at night, and Ryan's door is open, a wedge of lamplight thrown across the hall carpet. Karen stops on her way to the bathroom. He is asleep at the desk, slumped forward with his cheek on the keyboard, headphones still on.</p>
<<say "char-karen" "Karen">>
<i>(quiet, almost fond)</i> ...oh. You fell asleep. Well. Guess I can tuck you in for once, without you telling me you've got it.
<</say>>
<p>She gets her hands under his arms and lifts him out of the chair. He doesn't wake. She walks him the few steps to the bed, lays him down, and pulls the blanket up over his shoulders.</p>
<p>Then she straightens, and sees the chair. The seat is stained, more than once, dried pale into the fabric. A couple of stiff handkerchiefs sit balled by the keyboard. And the monitor she reaches over to switch off is not paused.</p>
<p>Her wrist knocks the headphones off his ears, and the sound jumps to the desktop speakers.</p>
<<if $routeScore.ryan.familySeeker gte $routeScore.ryan.feminization>>
<<say "char-npc" "video">>
<i>(a woman's voice, breathy, from the speakers)</i> ...there you go, baby, just like that. Hold still and let Mommy do the work. Good boy. //Good boy.//
<</say>>
<p>On the screen a mature woman is riding a young man in reverse, and the title across the top says what the two of them are meant to be, in words Karen's eyes skip off before she finishes them.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-ryan-screen-incest.webp" alt="A still from a porn video on a monitor: a mature woman straddling a slim young man in reverse cowgirl, facing away from him and toward the camera as she rides him, the young man on his back beneath her, warm bedroom lighting.">
<<else>>
<<say "char-npc" "video">>
<i>(a man's voice, low, from the speakers)</i> ...there you go, take it, take all of it for Daddy. Good girl. Such a pretty little girl for Daddy now.
<</say>>
<p>On the screen a man is fucking a slim figure in fishnets and a choker, the camera angled down between the spread legs, and the title across the top says what the two of them are meant to be, in words Karen's eyes skip off before she finishes them.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-ryan-screen-sissy.webp" alt="A still from a porn video on a monitor, a POV shot looking down between the spread fishnet-stockinged legs of a pale slim trap with long black hair, a gothic cross choker and dark eye makeup, small breasts, her erect cock beaded with cum and a thread of it dripping from beneath her, a tiled hallway floor behind.">
<</if>>
<p>Karen closes the tab, fast, and switches off the monitor. She does not look at the chair again. She is in her own bed inside a minute, light off, flat on her back, not asleep.</p>
<<say "char-hivemind" "Hivemind">>
//She will not bring it up. There is no morning coming where she raises it, and he will never know she carried him to bed or heard what the speakers said. But she knows now which way he leans, even if she would die before she put the word to it, and a mother who knows and stays quiet is already halfway to allowing it. The taste is not one I planted. I only thinned the shame that used to make him bolt the door and hide it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Page She Can't Read</div>
<img class="scene-img" src="media/scenes/he-jess-megan-kitchen2.webp" alt="Jess at the kitchen table with her MCAT prep book, Megan walking past in the background with a laundry basket">
<p>Kitchen table. 2 PM. Jess has been here since noon.</p>
<p>The MCAT prep book is open to page 312. Biochemistry. Amino acid metabolism, which is the kind of material Jess normally processes with the efficiency of a scanner, in and categorized and stored. She has been on page 312 for forty minutes.</p>
<p>She reads a paragraph. Highlights a sentence in yellow.</p>
<p>Stares at it.</p>
<p>Un-highlights it, dragging the cap of the highlighter backward across the ink until the yellow dulls. The sentence reads the same either way.</p>
<p>She turns the page. Reads three lines of page 313. Turns back to 312.</p>
<p>Her right leg has been bouncing under the table since approximately 1:45. She's aware of it, and she puts her hand flat on her thigh, pressing down. The bouncing stops. Her hand stays there, fingers pressing into the muscle.</p>
<p>She pulls her hand away abruptly. The leg stays still for forty seconds. Resumes.</p>
<<say "char-megan" "Megan">>
<i>(passing through with laundry basket)</i> You want anything? I'm making tea.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking up)</i> No. Thank you.
<</say>>
<p>Megan glances at her as she passes. Jess is staring at the table rather than the book. Megan sets the laundry basket down.</p>
<<say "char-megan" "Megan">>
How's it going?
<</say>>
<<say "char-jess" "Jess">>
<i>(short pause)</i> Fine. Productive.
<</say>>
<p>Her leg is bouncing again. She hasn't looked at the page in ninety seconds.</p>
<<say "char-megan" "Megan">>
<i>(carefully)</i> Okay.
<</say>>
<p>She picks the basket back up and goes. Jess closes the book, opens it, page 312 again. She reads the highlighted sentence, then the un-highlighted smear of it. Her jaw tightens. She closes the book fully, sets both palms flat on the cover, and looks at the wall for a long moment.</p>
<p>Then she opens it to page 312 and starts reading again from the top of the section.</p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman has never been distracted.// Her academic record shows no faltering, no drift. The analytical mind processes discomfort the same way it processes data: categorize, isolate, resolve. //The conditioning bypasses categorization.// The body begins transmitting signals the mind doesn't have frameworks for. She isn't failing. She is encountering, for the first time, something that can't be studied into submission. //The legendary focus is the leverage point.// When it finally breaks, it will break completely.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Purchase</div>
<p>Master bedroom. 9:47 PM. Dale is downstairs watching television, the low murmur of the late news audible through the floor. The bedroom door is ajar, not closed. Karen is sitting on the edge of the bed in the pool of the bedside lamp.</p>
<p>She has an Amazon package in her lap. Brown cardboard, the kind with the easy-pull tab. She has already opened it.</p>
<p>She lifts out the handcuffs.</p>
<p>Black. Adjustable band, faux-fur lining on the interior, reinforced wrist loop. She holds them up to the light and examines the construction, the adjustment mechanism, the single-pin release. Not the cheap novelty kind. These have real weight, a real catch on the lock.</p>
<p>She tests the mechanism.</p>
<p>//Click.//</p>
<p>The cuff closes. She opens it, closes it again with a slightly different pressure, testing the snap. The sound is clean and precise. Twice more, methodically, a craftsperson checking tolerances.</p>
<p>She clips one cuff around her own left wrist and holds her wrist up, studying the fit, the fur against her skin, the weight of the connecting chain. She rotates her wrist. The cuff doesn't slip. Her expression is neutral, assessing.</p>
<p>She unclips it and clips the empty cuff to the headboard slat behind her, then tests the give, pulling against it, feeling how much slack the chain allows, noting the attachment point's security. She nods once, the way she nods at a completed spreadsheet.</p>
<p>The tiny silver key is still in the lock. She removes it and holds it up to the lamp, smaller than her thumbnail, and studies it for a moment with an expression that's not quite a smile.</p>
<p>She stores the cuffs in the nightstand. The drawer on her side, the one with her sleep mask and melatonin. Not Dale's side. Not anywhere shared.</p>
<p>She picks up her phone and types something, and after a pause comes a short, precise smile, not warm, the smile of someone whose calculation came out correctly.</p>
<p>The television murmur continues downstairs.</p>
<<say "char-hivemind" "Hivemind">>
//Karen researched this purchase.// The weight, the mechanism, the fur lining. These were specifications, not impulse. She knows what the cuffs are for and she chose quality accordingly. //The shift in her didn't create the desire. It gave the desire a permitted direction.// The nightstand placement is deliberate: her side, her possession, her access. Dale doesn't open that drawer. He won't know they exist until Karen decides he does. //This is not a fantasy. This is procurement.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Blue Dress</div>
<p>2 AM. The upper hallway is dark. Ryan's door is closed but the lock isn't thrown, and the handle has a little give if you press.</p>
<p>From inside: fabric. The specific rustle of something being lifted, examined, held.</p>
<p>Inside the room, Ryan stands in front of the small mirror mounted on the back of his closet door. He's wearing Megan's blue sundress, the one she left in the laundry room that morning, clean and folded and waiting to be brought upstairs. It reached the closet of the wrong room.</p>
<p>He's holding the skirt fabric at the sides with both hands, moving it slightly, not performing. The expression on his face is concentration, the same face he makes when working through a problem, evaluating.</p>
<p>He turns to the side and studies the profile. The dress is too tight across the shoulders, the zipper not quite reaching the top, too loose at the waist where the fabric bunches because his frame narrows differently than Megan's. He frowns, reaches up and adjusts the straps, shortening one side.</p>
<p>He looks at the mirror again, his expression shifting into something unreadable and unhurried, and he turns to face it square.</p>
<p>He stays like that for three minutes.</p>
<hr class="scene-break">
<p>Later. Karen goes to fold laundry from the second load, and Megan's blue sundress is near the top of the pile. She picks it up, then pauses, holding it the way you hold something whose weight has changed since you last touched it.</p>
<p>She folds it and carries it to Ryan's room, knocks once before she remembers he's out, opens the door anyway, and sets it on the bed, smoothing the fabric flat.</p>
<p>Then she writes a few words by hand, folds the page once, and sets the note on top of the dress.</p>
<p>Ryan reads it that afternoon. The note says: //This would look better in your size. Want me to order one?//</p>
<p>He reads it twice. Then a third time. He holds the note for a moment, sitting on the edge of his bed, expression completely still.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's response is the event.// The dress was data; her reaction is the finding. The conditioning rewrote the maternal response subroutine: not //correct the abnormality// but //support the emergence.// She said nothing out loud. She didn't alert Dale. She didn't frame it as a conversation they needed to have. //She just put it on his bed and gave him a door.// Ryan has never been offered a door. He will sit with that note for days before he can decide what to do with it. The first act of being seen usually lands like that, incomprehensible and then unbearable and then, slowly, possible.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Map</div>
<p>Living room. Saturday afternoon. The family has arranged itself in the scattered constellation of a shared space that isn't quite shared: Karen on the couch with her laptop, Megan curled in the armchair texting, Jess at the edge of the coffee table with a reading list, everyone in the same room but each in their own orbit.</p>
<p>Ryan comes downstairs.</p>
<p>He crosses the living room and sits on the couch. Not the opposite end, not the armchair, but next to Karen, close enough that the cushion compresses between them, close enough that their arms are almost touching.</p>
<p>Karen's typing pauses for one beat, then resumes.</p>
<p>Ryan sets his phone face-down on his knee. His right hand rests on the couch between them, open, not quite touching her. Then his pinky finger settles against the fabric of her yoga pants, barely, a contact that could be accidental, the couch cushion creating the proximity rather than intention.</p>
<p>He says nothing. Neither does she.</p>
<p>Megan passes behind the couch on her way to the kitchen. Ryan's left hand briefly catches her lower back as she goes by, just a graze, no pressure.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, eyes still on his phone)</i> Hey.
<</say>>
<<say "char-megan" "Megan">>
<i>(glancing back, not breaking stride)</i> Hey yourself.
<</say>>
<p>She continues to the kitchen. The touch lasted less than a second.</p>
<p>Ryan's pinky is still against Karen's thigh.</p>
<p>Thirty minutes later, Karen gets up for water. She leaves her scarf looped over the arm of the couch. Ryan glances at it. Picks it up.</p>
<p>He holds it in both hands for a moment, then brings it to his face and breathes in slowly. The scarf carries her perfume, the specific amber warmth of it, and underneath that the fainter notes that have no product origin: skin, breath, the warmth of her neck in the morning. The scent his conditioning has been teaching his hindbrain to translate as: //safe. proximate. home.//</p>
<p>He puts the scarf back before she returns. Exactly where she left it. He's looking at his phone when she comes back.</p>
<<say "char-hivemind" "Hivemind">>
//He's building a map.// Touch and scent data, catalogued without knowing he's cataloguing. The arm against the couch. The graze at Megan's back. The scarf. Each contact is a coordinate, a confirmation that the space between him and them can be closed without consequence. //The touch starvation wasn't created by the conditioning.// It was already present, sealed behind years of avoidance. The pheromones removed the avoidance. What emerged was the map. //He's learning the territory he was always supposed to inhabit.//
<</say>>
</div><div class="household-event">
<div class="passage-title">A Friend</div>
<p>Dinner. Pork chops from the freezer, roasted vegetables Karen made in twelve minutes because it's a weeknight. The family at the table, Dale at his end and Karen at hers, the children arranged between them like a buffer zone.</p>
<p>The mood is baseline. Dale talks about a parts delay at work, a supplier who keeps promising early and delivering late, and Megan asks a follow-up while Jess passes the salt before anyone reaches for it. Ryan eats with mechanical efficiency, fork to plate to mouth, contributing nothing.</p>
<p>Karen's phone is face-up on the table. It buzzes.</p>
<p>She reads the screen. Something changes in her expression, the clipped efficiency softening slightly and then not quite returning to where it was. She puts the phone back face-up.</p>
<p>She laughs, not at anything anyone at the table said.</p>
<img class="scene-img" src="media/scenes/symbiotic/dale-cuck-dinner.webp" alt="A suburban family at a dim dinner table in the evening: at one end a 43-year-old woman with shoulder-length black hair glances down at her phone beside her plate with a small private smile, somewhere else entirely, while at the far end her husband, a tired mid-forties man with thinning dark brown hair and stubble, has paused mid-bite with his fork in hand, watching her with a carefully blank face, indistinct younger figures eating out of focus between them, warm overhead light over the table">
<<say "char-dale" "Dale">>
<i>(pause)</i> Something funny? You don't laugh like that at this table much anymore.
<</say>>
<<say "char-karen" "Karen">>
<i>(still smiling, not explaining)</i> Just a text. Nothing you'd find funny.
<</say>>
<p>Dale doesn't ask who texted. He cuts a piece of pork chop. The fork scrapes the plate.</p>
<<say "char-karen" "Karen">>
<i>(not looking up from her plate)</i> I might go out this weekend.
<</say>>
<p>Megan looks up.</p>
<<say "char-megan" "Megan">>
Out? Where?
<</say>>
<<say "char-karen" "Karen">>
A restaurant. A friend.
<</say>>
<p>The word //friend// settles into the table like a stone dropped into still water, not dramatic, just present, taking up space.</p>
<p>Dale reaches for his water glass. His hand misses the stem by an inch. He finds it, lifts it, drinks. Sets it down without looking at Karen.</p>
<<say "char-dale" "Dale">>
<i>(even, very even)</i> Which friend? Anyone I know?
<</say>>
<<say "char-karen" "Karen">>
<i>(without pause)</i> Sue. From the old book club.
<</say>>
<p>Dale nods. Looks at his plate.</p>
<p>Jess studies the roasted vegetables. Megan's cheerfulness activates like a circuit breaker, and she turns to Ryan and starts a conversation about something entirely unrelated, building a small social wall between herself and whatever is passing between her parents at opposite ends of the table. Ryan puts one earbud in. Not both. One.</p>
<p>Karen glances at Dale. Her expression, for just a moment, is complex, pity and underneath the pity something harder, something that is measuring his silence and finding it satisfactory.</p>
<p>She picks up her phone. Smiles at the screen again.</p>
<<say "char-hivemind" "Hivemind">>
//She announced it at the table.// Not in the kitchen with the children out of earshot. At the table, with an audience she knows Dale won't perform in front of. The children are the lock on his voice. //The conditioning doesn't require infidelity.// It requires the systematic removal of his ability to object. Every unanswered question is a precedent. Every silence is a ceded right. //What has been rewriting itself in Dale is not about what Karen does on her night out. It's about who gets to ask.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Audience</div>
<p>1 AM. The upstairs hallway. Dark except for the strip of light under Megan's door.</p>
<p>Megan's voice, very low, the specific quietness of someone who thinks the house is asleep. She has been on the phone since midnight, and the voice is warm in a register Megan doesn't use at the dinner table, a register that belongs to a different self.</p>
<p>From the hallway: Jess.</p>
<p>She's standing outside Megan's door in her oversized t-shirt, the hem just past her thighs, both feet bare on the carpet, one hand against the wall beside the door frame, not gripping, just touching, steadying. Her eyes are closed.</p>
<p>She's not peeking. The door is cracked half an inch and the light's behind Megan, positioned wrong for seeing anything. Jess isn't looking. She's listening.</p>
<p>Inside the room, Megan's voice dips lower, then a pause, a breath, the soft percussion of sheets.</p>
<p>The sounds through the door are unmistakable to anyone listening with intent: the small sounds that a body makes when attending to itself, the stifled catch of an exhale, the uneven rhythm building and breaking. Megan's voice, careful to stay below a certain volume, failing at the edges.</p>
<p>Jess's hand slides from the wall to the doorframe, and her other hand has found the hem of her t-shirt, gripping it, fingers pale on the fabric.</p>
<p>She stands there for seven minutes, not moving, barely breathing. The sounds through the door crest and settle, and Megan's voice resumes its quiet warmth, the conversation winding down, receding back toward normal.</p>
<p>Jess moves down the hallway. Silently. Back to her room. The door closes without a sound.</p>
<p>---</p>
<p>Morning. Breakfast. Megan hands Jess the sugar.</p>
<p>Their fingers touch on the handle of the sugar bowl.</p>
<p>Jess's cheeks go red, a deep, fast flush that has nothing to do with the tea steaming in front of her. She looks at the table and accepts the sugar.</p>
<<say "char-megan" "Megan">>
<i>(not noticing, or deciding not to notice)</i> How'd you sleep?
<</say>>
<<say "char-jess" "Jess">>
<i>(a beat too long)</i> Fine.
<</say>>
<p>She doesn't look up from her cup.</p>
<<say "char-hivemind" "Hivemind">>
//The voyeurism found its vector before she found a word for it.// Jess doesn't seek images. She processes information. Sound is data. The analysis is involuntary. //The interesting variable is the specificity of the trigger: not strangers, not abstraction. Megan.// The proximity of the known body. The door is the threshold between the audible and the seen, and she stayed on the listening side. //That choice is diagnostic.// She will return. The pattern was established the first time. Jess Hoffman doesn't do anything without repetition, without data sets. She will come back for the second data point, and the third, and she will not admit to herself what she's collecting.
<</say>>
</div><<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessPunk1 to true>><</nobr>>
<div class="passage-title">The Research</div>
<img class="scene-img" src="media/scenes/symbiotic/punk-jess-1.webp" alt="Jess at her desk late at night, laptop open to a piercing studio portfolio, phone face-up with group-chat notifications, textbook open to renal physiology, highlighter uncapped, no visible transformation">
<p>11:47 PM. From the hallway, the desk is the whole story: the chair pulled in, the textbook open, the highlighter uncapped, the lamp throwing its reassuring yellow out under the door. Karen has passed twice tonight and read all of it as her daughter being exactly who her daughter has always been, and moved on.</p>
<<say "char-jess-thought" "Jess">>
Forty-one minutes on the same page. I know it's forty-one because I checked, because checking is a thing I still do, and it's renal physiology and I couldn't say one line of it back to anyone alive right now. When Mom's footsteps come down the hall I put my eyes on the diagram and hold them there until she's gone again, and that part is easy, I've been performing studying for so long the performance runs fine without me.
<</say>>
<p>The lecture PDF is still open. It is just not the thing on top anymore.</p>
<<say "char-jess-thought" "Jess">>
I've read the bridge-piercing aftercare guide the way I read for an exam, the healing window and the gauge and the saline rinses and the infection rate if you touch it with hands you didn't wash, and I could pass a test on it tomorrow, which is the whole joke of it. I've finally found a subject I actually want to be good at and it's a hole through the bridge of my own nose. The studio on the south side of campus has a portfolio I've scrolled top to bottom four times. There's a show this weekend at a place I could walk to from the bus stop. I keep telling myself I'm not reading about the show. I've been reading about the show for twelve minutes.
<</say>>
<p>Two tabs over sits a forum she keeps promising herself she will close, strangers, anonymous handles, nobody who could ever put her real name to a question. On the desk her phone lights every forty seconds with the group-chat, the actual one, the people she would have to be genuinely brave to talk to. She does not type there. She types where it is safe.</p>
<<say "char-jess" "Jess">>
<i>(typing into the forum, careful, hedged, deleting it once and starting over)</i> first-timer question, sorry if it's been asked a hundred times. thinking about getting a bridge piercing. realistically, how rough is the healing if you can't take any time off and you'd rather nobody at home clocked it for a while? asking for, uh. reasons.
<</say>>
<<say "char-jess-thought" "Jess">>
I read it back four times. //Asking for reasons// is the most cowardly thing I've ever typed, and I'm a girl who's typed a great many cowardly things into a great many boxes I never sent. My thumb sits on the delete key. And then, because the only kind of brave I can afford at midnight is the kind pointed at strangers, I post it instead, I ask out loud for a thing I want for once, even if out loud is an anonymous handle on a forum nobody I know will ever read. Then I refresh the page, and then I refresh it again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The discipline is intact. It has only changed what it points at. The textbook stays open because closing it would be a decision she is not ready to make, and the portfolio stays open because opening it was a decision she already made and has not gotten around to telling herself about.//
//She will not act tonight. But tonight she asked, a careful hedged little question to a room full of strangers, because strangers are the only ones she can let watch her want a thing. By the time she lets the group-chat see it, she will know more about the aftercare of a bridge piercing than most of the studio's actual clients ever will.//
<</say>>
<p>She does not close the laptop. She does not cap the highlighter. She gets up, walks past the dog, goes to the bathroom, and stands in front of the mirror for nineteen seconds without touching her face, the spot where the piercing would sit already mapped out behind her eyes.</p>
<p>Then she goes to bed, and leaves the forum tab open, and the group-chat unmuted, and the question she finally worked up the nerve to ask sitting out there in the dark with strangers, waiting on an answer she already knows she is going to lie awake refreshing for.</p>
<<addConditioning "jess" "dream" 1>>
<<conditioningFeedback "dream" 1 "the tab the textbook the discipline rerouted">>
<p><span class="delve-intel">Jess route: Punk emerging. First crack, the discipline has quietly begun researching a second curriculum (piercings, venues, dye), and tonight it asked a stranger for advice. Visually unchanged.</span></p><<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessPunk2 to true>><</nobr>>
<div class="passage-title">The Weekend She Didn't Come Home</div>
<img class="scene-img" src="media/scenes/symbiotic/punk-jess-2.webp" alt="Jess on her bed at 3 AM, still in a coat that isn't hers, one purple streak fresh at the temple, a silver stud catching streetlamp light, the word //change// hand-lettered in black Sharpie across her outer forearm, the dog at the foot of the bed">
<p>Late, and Jess is not at her desk.</p>
<p>This has not happened once since she started pre-med, and the room reads like a freeze-frame of the moment she stood up, the chair pushed out, the textbook still open to a page on renal physiology with the highlighter uncapped in the margin bleeding a slow yellow crescent into the paper. Her phone is face up on the desk, and the screen lights every forty seconds with a group-chat she has muted but not left.</p>
<p>Karen has knocked twice and left, and the dog is on the bed where Jess isn't, looking at the door.</p>
<<say "char-hivemind" "Hivemind">>
//The portfolio tab has stayed open longer than the textbook on the desk beside it. The piercing guide too. She has closed none of them. Tonight she did not need to close them. Tonight the discipline simply walked out the front door at 9:12 PM in a coat she bought recently and boots she bought on the same run.//
//She bought the lighter. She bought the Sharpie. She threw the Sharpie away and then she bought a //better// Sharpie, the kind that stays on skin. The discipline did not go anywhere. The discipline has a new project. And the new project requires her to be somewhere other than this desk tonight.//
<</say>>
<p>3:14 AM. The back door opens very carefully and Jess comes in through the kitchen in a coat she does not own and boots she does not own, and the boots leave a half-print of sidewalk grit on the linoleum because she has forgotten to take them off. She will remember as soon as the adrenaline steps out of her bloodstream, but right now she is still at the venue, still in the crowd, still smelling of other people's sweat.</p>
<p>She goes up the stairs. The dog follows. In her room she sits on the bed without turning on the light, and in the pale spill from the streetlamp the cat, routed to observe, routed to witness, sees the new details at the same time Karen would see them if Karen came in.</p>
<p>A single streak of purple at the left temple, fresh and uneven, done in a hurry in someone's bathroom. A silver stud through the centre of her lower lip, red around the rim, the kind of red that says //today, not yesterday//. The good Sharpie has migrated from her desk drawer to her outer forearm, where she has hand-lettered a single word in a loop she practiced in the mirror until it looked like it had always been there. The word is //change//, six letters of clean black ink written into the part of the skin where Jess cannot //not// see it when she turns her hand over to drink.</p>
<<say "char-jess" "Jess">>
<i>(to the dog, voice lower than her usual voice, tired in a way that is not the pre-med tired)</i> ...don't you say a word, Biscuit.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She will cover the streak with a hat tomorrow. She will wear a scarf at dinner. The stud will come out before the family is awake and she will keep it in a little pouch in the sock drawer, and at night she will put it back in because the sensation of the metal sliding through the hole is the //specific// thing her body now needs to decompress from a study day. The discipline has a new reward system. I did not have to install it. I only had to //permit// it.//
<</say>>
<<addConditioning "jess" "dream" 1>>
<<conditioningFeedback "dream" 1 "the lighter, the Sharpie, the streak, the stud">>
<p><span class="delve-intel">Jess route: Punk surfacing. Missed the weekend. Returned with a purple streak, a fresh lip piercing, and the word //change// hand-lettered in Sharpie on her outer forearm. Hides the evidence during family hours.</span></p><<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessPunk3 to true>><</nobr>>
<div class="passage-title">The Chair and the Kitchen</div>
<p>2 PM. Jess has a class, and Jess is not at class.</p>
<p>The studio is on the south side of the university campus, close enough to walk from anatomy lecture, far enough that nobody from the lecture is likely to be in the waiting area. The waiting area is empty. The bell over the door has been jingling about one person per hour. Jess fills out the form with the same methodical handwriting she uses for rotation schedules and gives her real name because Jess has never lied on a form in her life and isn't going to start today.</p>
<p>The stud through her lip is bigger now. A different one. The one from the weekend has moved to her right earlobe, joined by three others. The streak at her temple is not a streak anymore. It's the whole of her left fringe, darker than purple, a purple-black that looks black in one light and purple in another.</p>
<<say "char-hivemind" "Hivemind">>
//She has done what most people spend months working up the nerve to do, in a fraction of the time. The discipline is what's doing it. She researched the studio. She read reviews. She vetted the piercer. She scheduled around her clinical rotations. The //Jess// part of her is //running the punk project// with the same rigour she ran the MCAT prep. There is no rebellion. There is only a //different curriculum//.//
<</say>>
<p>The piercer wipes the skin between her eyebrows with an alcohol swab and shows her the two dots of surgical pen in the mirror, and Jess nods. The piercer presses a sterile clamp to the bridge of her nose and lifts it once to reset the angle, and the angle sits between her eyes like a decision that's already been made.</p>
<<say "char-npc" "Piercer">>
<i>(gloves on, needle uncapped)</i> You ready?
<</say>>
<<say "char-jess" "Jess">>
<i>(pre-med voice, calm and clinical, both hands flat on the chair arms)</i> Let's go.
<</say>>
<p>The needle goes through and Jess does not flinch. The piercer has worked on pre-med students before and knows the tells, the white-knuckled grip, the breath held for the push, the release on the follow-through, and Jess gives //none of them//, sitting there like a woman who has already decided something and is now only documenting the decision. The needle clears the skin and the piercer seats the bar and Jess's face does not move, and the piercer notes the stillness with the specific professional respect of someone who has worked on a lot of faces.</p>
<p>The piece is a surgical-steel bridge bar, short, clean, seated horizontally through the thin skin between her eyebrows above the bridge of her nose, a ball at each end sitting clear of the skin on either side. The swelling will peak tomorrow. The healing will take a year. Soon enough the bar will be the first thing the family sees every time Jess looks up from a plate, across a room, over the edge of a textbook.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(right after the needle clears, voice flat, a small slow smile)</i> You know what's funny? Everyone in my family thinks I'm still the responsible one.
<</say>>
<p>The piercer glances up from seating the bar. Jess's smile is not the smile of a rebellion. It's the smile of a private joke that has been funny to her for a while now. The smile is the //punchline//, the one she is wearing on her own face so she can see it every time she's expected to be the eldest daughter and remember that the eldest daughter is a costume she is wearing over something else.</p>
<<elseif $kinks.jess.includes("band")>>
<<say "char-jess" "Jess">>
<i>(right after the needle clears, half-distracted, glancing at her phone)</i> ...did they post the setlist yet?
<</say>>
<p>Her phone is face-down on her thigh. It has been there for the whole appointment. She flips it every few minutes to check the Bleed Through Instagram, Kade's posting updates from soundcheck at tonight's venue. At the end of the bridge appointment the piercer threads a second piece, an industrial bar across the upper cartilage of her right ear, placed so she can feel it against her palm when she cups her hand around Kade's mic at the rail. The piercer does not know why the placement matters. Jess is //getting off on the anticipation//, privately, the session functioning as a two-hour warm-up for the door at 9 PM. She tips the piercer the standard twenty percent and checks her phone one more time on the way out.</p>
<</if>>
<p>She decides at 4:12 PM, walking out of the studio, still tasting antiseptic at the back of her throat. She does not drive home and put the pre-med sweatshirt on. She drives home and opens the bottom drawer she has been filling quietly and pulls out the sleeveless black tee with the band name on it. She tries it on. She leaves it on.</p>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/symbiotic/punk-jess-3b.webp" alt="The Hoffman kitchen mid-dinner, Jess at the table in a sleeveless band tee, long dark-purple hair falling past her shoulders fully dyed root-to-tip, a fresh polished steel bridge piercing sitting between her eyebrows above the bridge of her nose, multiple ear piercings, a lip stud, Karen Dale Megan and Ryan all frozen mid-motion">
<p>6:47 PM. Family dinner. Karen has made a roast, the //Karen's-trying// roast, the one she only makes when she's feeling like the house needs a scene. Dale is home from the night shift early, Ryan and Megan are both at the table, and Biscuit is under it with his chin on Dale's foot because Biscuit knows the family dynamics better than the family does.</p>
<p>Jess comes downstairs at 6:47. She is not wearing the pre-med sweatshirt. She is not wearing the pre-med anything.</p>
<p>The hair is all the way dark purple now, not a streak, not a fringe, the whole length of it saturated root-to-tip, falling past her shoulders the way it always has but a colour that only belongs to her tonight. Three studs in each ear, the lip, a small stud through one nostril she put in recently, a sleeveless black tee with a band name the family does not recognise. And sitting between her eyebrows, above the bridge of her nose, a short polished steel bar, a bridge piercing still red at the edges from being fresh, the first thing you see when you look at her face.</p>
<p>The kitchen goes quiet.</p>
<p>Karen is holding the serving spoon and the spoon does not move. Dale has a fork halfway to his mouth and the fork does not move. Megan, who performs cheerfulness the way other people breathe, makes a sound that is not a word, and Ryan looks at Jess, looks at the food, looks at Jess again, and puts down his phone.</p>
<<say "char-jess" "Jess">>
<i>(sitting, voice her normal voice, the pre-med voice, calm and clear and bright)</i> Is there gravy?
<</say>>
<<say "char-hivemind" "Hivemind">>
//That is the entire sentence. //Is there gravy//. The voice did not change. The posture did not change. Only the outside changed, and she is sitting at the dinner table wearing it on purpose. The voice and the posture and the person are identical to what the family has lived with for twenty-one years, so the family has no language for the contradiction. The same daughter. Also someone they have never seen.//
//She locked it in at the chair. The kitchen is only the place where the family finds out what was already true.//
<</say>>
<<if $kinks.jess.includes("brat")>>
<p>Karen finds her voice first.</p>
<<say "char-karen" "Karen">>
Jess. Honey. //What// did you do.
<</say>>
<<say "char-jess" "Jess">>
<i>(mouth full, not looking up)</i> I got a haircut.
<</say>>
<<say "char-karen" "Karen">>
<i>(tight, specific)</i> And the hair dye. And the //metal// in your face.
<</say>>
<<say "char-jess" "Jess">>
<i>(swallows, dabs her lip with the napkin, makes eye contact for the first time, still perfectly pleasant)</i> Yep.
<</say>>
<p>One syllable, no defence and no apology under it. Karen's mouth opens and closes twice while Dale looks at Karen, and nobody at the table has a script for this because Jess has taken the script away and is //enjoying// having taken it. The small curve at the corner of her mouth is the same curve she has been practising in the bathroom mirror.</p>
<<elseif $kinks.jess.includes("band")>>
<p>Karen finds her voice first.</p>
<<say "char-karen" "Karen">>
Jess. Sweetie. Where have you been on all these weekends? The... the shows, the bands, you're never home...
<</say>>
<p>Jess considers the question. The honest answer is //I've been at every Bleed Through show on the east coast within driving distance, riding in their van, fucking every one of them and most of their opening acts, and the weekends are the only time I feel like the pre-med Jess isn't wearing me like a costume//. Jess does not say that. Jess looks at Karen with the mild polite face she has used on Karen for twenty-one years and gives her half of the truth.</p>
<<say "char-jess" "Jess">>
<i>(deciding to be honest about this one thing)</i> I've been with the band, Mom. I like being with the band.
<</say>>
<p>The table was braced for defiance or a breakdown and got //honesty// instead, and nobody knows what to do with it. Karen sits down slowly while Dale puts the fork down, and Megan makes the //Megan// face, the supportive-older-sister face, even though she's younger and the face is wrong for the moment.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The family will metabolise this. Karen will cry once, alone, in the laundry room. Dale will not mention it. Ryan will ask her about the band on the shirt and the conversation will be the first conversation they have had in a long while. Megan will ask to borrow lipstick. The household will //reorganise// around this new Jess the way it organised around the previous one, because the household is not an identity, it is an //arrangement//, and arrangements accommodate.//
//And the arrangement, from now on, has a Jess in it who is //visibly different// from the one the family was depending on to carry the eldest-daughter weight. The weight did not disappear. It got //redistributed//. The bridge bar and the hair and the piercings announced the redistribution. And the dream wrote the announcement.//
<</say>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "psionic" 1>>
<<conditioningFeedback "dream" 1 "the bridge bar, the surface is the decision">>
<<conditioningFeedback "pheromone" 1 "the body accepted the layer without resistance">>
<<conditioningFeedback "psionic" 1 "the family has no language for the contradiction">>
<p><span class="delve-intel">Jess route: Punk crystallized. Bridge piercing seated between her eyes. Full transformation revealed at family dinner. Karen cries in the laundry room afterward. Ryan talks to Jess for the first time in nearly a year.</span></p>
<<addSuspicion "hoffmanHouse" -1>><<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessBreak1 to true>><</nobr>>
<div class="passage-title">I Can't</div>
<p>3:14 AM, and Jess is at her desk with the peripheral nervous system chapter open in front of her for the fourth night in a row, the highlighter uncapped, the mug of cold instant coffee at her elbow, the lamp on, her hair still in the bun she put it in at 9 PM and has not touched since. Everything in this room is exactly the way it has been every night since she was sixteen.</p>
<p>She has read the same paragraph seven times in the last twenty minutes and does not remember a word of it, so she rereads it now, slowly, finger tracking under each word with the discipline of a person who has not let herself fail at reading a paragraph since the eighth grade. She finishes it, tries to summarise it back to herself, and cannot. The information goes in and the information does not stay.</p>
<p>She sits with that, and then she sits with it a little longer, and then the thought she has been not-thinking for years arrives in the room with her, in her own clipped voice, perfectly framed, like a single line of marginalia in a textbook she has been carefully refusing to read:</p>
<<say "char-jess" "Jess">>
<i>(to the open page, no inflection, the way she would deliver any other piece of clean clinical data)</i> ...I can't do this.
<</say>>
<p>She does not cry. Jess Hoffman does not cry, she just sits with the sentence on the desk in front of her, flat and undeniable, like a lab result, while the chapter stays open and the highlighter stays uncapped and her hand does not move toward the page.</p>
<p>Forty-five minutes pass. The sentence does not retract itself.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-breakdown-1.webp" alt="Jess at her desk at 3 AM in a tight bun and yesterday's hoodie, anatomy textbook open in front of her, both hands flat on the desk on either side of the open page, staring at the page without moving, the lamp casting a warm yellow circle on the open book, the rest of the room in cold shadow, her face unreadable except for the absence of motion">
<<say "char-jess" "Jess">>
<i>(quieter, to the desk, the second sentence arriving with the same flat clarity as the first)</i> ...I was //never going to.//
<</say>>
<p>That one is worse, that one is the structural one. The first sentence was about tonight, the second is about all the years she has spent being the daughter the family invested in, the one Karen has been telling the neighbours about since //Jess is going to be the doctor in the family// arrived as a complete pre-formed sentence in Karen's mouth when Jess was seventeen and said yes, because Jess has always said yes to Karen.</p>
<p>She closes the textbook, sets the highlighter on top of it, turns off the desk lamp, and sits in the dark for another nineteen minutes without moving and without doing anything at all. The body that has been holding the line for years on willpower and instant coffee is, for the first time, allowed to stop holding it, not because the deadline has passed but because the deadline turned out to be a fiction.</p>
<p>She gets into bed at 4:09 AM in her clothes, lies on her back, stares at the ceiling, and does not sleep. The sentence is still there in the dark, and the body in the bed has registered, for the first time in years, the specific physical relief of admitting the thing it has been refusing to admit.</p>
<<say "char-hivemind" "Hivemind">>
//First crack. The fortress did not fall to siege. The fortress fell because the architect, sitting alone at the desk at 3:14 AM, finally read her own load-bearing assumptions and noticed they did not bear load. //I did not engineer this collapse.// I have only been //near// it. The eldest daughter has been carrying a sentence in her chest for years and the sentence got tired of being carried. The body is registering the //relief of putting it down// and the body is going to want to put it down again.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.jessBreak2 to true>><</nobr>>
<div class="passage-title">Fine</div>
<p>9:14 AM in the Hoffman kitchen, and Jess is at the breakfast bar in yesterday's hoodie and the tight bun she has not undone in days, with black coffee and dry toast in front of her and her phone face-down on the counter beside the plate. She has been sitting on this stool for eleven minutes and has eaten one corner of the toast.</p>
<p>Karen comes in from the laundry hallway with a folded basket against her hip, sets it on the counter, glances at her daughter and glances again, then pours herself a coffee at the machine without saying anything. The way Karen does not say anything is its own kind of saying, and Jess has lived in this kitchen long enough to read every register of her mother's silence the way a sommelier reads tannin.</p>
<p>This silence is the //I have noticed something and I am going to ask in three sentences// silence.</p>
<<say "char-karen" "Karen">>
<i>(at the coffee machine, back to Jess, voice deliberately mild)</i> ...you doing okay, sweetheart? You've been a little quiet at the dinner table lately.
<</say>>
<p>Jess opens her mouth, and the thing in her chest, the same sentence that arrived at the desk at 3:14 AM, surges up against the back of her throat and presses hard against her teeth. //I'm not going to be a doctor, Mom. I was never going to be, and the whole thing is a fiction we have all been keeping alive together because none of us know what to do with the truth.//</p>
<p>The sentence does not come out. She watches it not come out in real time, registers the not-coming-out with the same clinical precision she uses for any other observation, and the thing that comes out instead is the rehearsed line, the line she has been delivering for four years, the line her own throat picks before her mind has a chance to override it:</p>
<<say "char-jess" "Jess">>
<i>(clipped, smooth, the line landing in the kitchen exactly the way it has landed a thousand times before)</i> ...I'm fine, Mom. Just busy. Orgo midterm coming up.
<</say>>
<<say "char-karen" "Karen">>
<i>(turning, the small mother-relief showing in the corner of her mouth, sliding the coffee carafe back into place)</i> Oh, sweetheart. You'll //ace// it. You always do. Want me to make you a real breakfast? Eggs? You can't run on coffee and corners of toast.
<</say>>
<<say "char-jess" "Jess">>
<i>(automatic, the smile attached, the smile not reaching the eyes)</i> ...I'm fine. Really. Got to get to the library by ten.
<</say>>
<p>Karen nods and pats Jess's shoulder on her way past, the proud //my brilliant daughter// pat that has landed on that exact spot for as long as Jess can remember, and the hand stays for one extra beat. Somewhere below the surface it has registered that something is wrong with the daughter under the hoodie, and it has chosen not to know it.</p>
<p>The hand lifts. Karen takes her coffee and her laundry basket and walks out of the kitchen.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-breakdown-2.webp" alt="Jess at the kitchen breakfast bar in late morning light, in yesterday's grey hoodie with the hood half-up, her tight bun on top of her head, sitting alone now with both hands wrapped around a mug of black coffee, dry toast on the plate untouched except for one bitten corner, staring straight ahead with her mother's empty chair across from her, the rehearsed smile completely gone from her face">
<p>Jess sits with the coffee in her hands for a long beat. The kitchen is quiet. She can hear Karen humming in the laundry room, the specific four-note hum she does when she is folding towels and nothing in her household is wrong. The hum is the sound of a mother who has just been //told// nothing is wrong, who //wants// nothing to be wrong, who is going to keep humming as long as the data allows.</p>
<<say "char-jess" "Jess">>
<i>(under her breath, to the kitchen, the words she could not give Karen, the autopsy of the conversation she just failed to have)</i> ...I lied. I just lied to her. Right to her face. //Twice.//
<</say>>
<<say "char-jess" "Jess">>
<i>(quieter, the second observation, the worse one)</i> ...and she //wanted// me to.
<</say>>
<p>She sits with that, and the structural arithmetic starts to click in her head with the cold satisfaction her brain reserves for problem sets. //The only way she keeps loving me the way she loves me is if I keep being the one she thinks I am. If I tell her, the love changes shape, gets smaller, goes somewhere I have never been without it.//</p>
<p>The conclusion arrives clean, precisely framed, the way every conclusion arrives in her head:</p>
<<say "char-jess" "Jess">>
<i>(to her own black coffee, the thought landing as a working hypothesis)</i> ...I can't tell her. I //can't.// The whole thing was always going to have to be carried by me.
<</say>>
<p>She pulls her hood up, hides her face inside it, drinks the rest of the coffee in three swallows, and pushes the plate of toast away untouched before going upstairs to put on the going-to-the-library clothes she will be wearing while she does not, in fact, go to the library. She will be sitting in her car in the campus parking lot for two hours instead, scrolling her phone, pretending to be a person who is on her way somewhere.</p>
<<say "char-hivemind" "Hivemind">>
//Second crack. The mask did not slip in the kitchen. The mask got //tighter//. Karen has been told the lie she wanted, the household has been allowed to keep humming its four-note hum, and the daughter under the hoodie is now carrying the original sentence //and// the lie about the sentence //and// the structural thesis that she will have to keep carrying both of them indefinitely. The pressure differential is approaching the value at which a body finds //any// release valve, regardless of cost. The body is going to find one. The body is going to find one //tonight.////
<</say>><<nobr>><<bg "bg-hoffman-jess">>
<<set $ch2Events.jessBreak3 to true>>
<<set $permanentDone.jessBreak3NSFW to true>><</nobr>>
<div class="passage-title">Permission</div>
<p>2:47 AM, the desk lamp on, the textbook open to a chapter she stopped pretending to read three hours ago, the laptop open beside it. She has been on the same Reddit thread for ninety minutes, the one called //people who failed pre-med tell their stories//, and she found it at 1:14 AM and could not look away. She has read every top-level comment and every reply to every top-level comment, and she has been finding pieces of herself in all of them.</p>
<p>One of the comments, six replies down a thread she has been re-reading for half an hour, links to a porn category. The commenter wrote //honestly the only thing that quiets the noise is this. don't @ me// and pasted a category URL. //Degradation.// Jess read the URL and did not click it, closed the browser tab and reopened it and did not click it, closed it again and reopened it again, and has been hovering over the link for forty minutes now, mouse pointer fixed in place, the analytical mind running a flawless rejection protocol that the body is no longer interested in obeying.</p>
<<say "char-jess" "Jess">>
<i>(under her breath, to the screen, the small dry voice she uses when she is talking herself into a methodology she has not justified yet)</i> ...one click. Just one. Just to know what it is. Data collection. //One.//
<</say>>
<p>She clicks.</p>
<p>The page loads. A woman on her knees on a bedroom carpet. A man's hand in her hair. Words across the bottom of the preview thumbnail in white sans-serif: //worthless. say it. say what you are.// The thumbnail loops on autoplay, four seconds, the woman's mouth shaping the word back at the camera, the man's hand tightening, the woman's eyes closing in something that reads on the thumbnail as relief. Four seconds. Loop. Four seconds. Loop.</p>
<p>Jess watches the loop run nine times before she registers that her own breathing has slowed and her own hand has come to rest, palm-flat, on her stomach over the t-shirt.</p>
<p>She clicks the video.</p>
<hr class="scene-break">
<p>It plays. The woman in the video is being told things. Things Jess Hoffman has never been called by anyone in her actual life because Jess Hoffman is //perfect//, has been perfect on the record since the eighth grade, has received the //great job sweetheart// from Karen often enough that the //great job sweetheart// has become the only register Jess's nervous system knows how to receive feedback in. The woman in the video is being told the opposite of //great job sweetheart// in a low controlled male voice and the woman in the video is //relaxing// into it, frame by frame, like a body being lowered into a hot bath.</p>
<p>Jess's body is registering the woman in the video the way a thirsty body registers water.</p>
<p>Her hand slides from her stomach down inside the waistband of the cotton shorts she has been sleeping in, and two fingers find her clit through underwear she did not know was soaked. The clinical part of her catalogues the moisture as data, //average response time from cue to lubrication: under three minutes//, and the catalogue does not slow her hand at all. She presses harder while the man in the video tells the woman she is //nothing// and the woman repeats it back. //I'm nothing. I'm nothing. Tell me again, please.//</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-breakdown-3.webp" alt="Jess at her desk at 2 AM in the warm yellow circle of the lamp, headphones on over her tight bun, laptop open in front of her with a dark video playing on the screen, her left hand braced flat against the desk, her right hand under the waistband of cotton sleep shorts between her thighs, her face flushed and slack with concentration, mouth slightly open, the rest of the room in cold shadow">
<<say "char-jess" "Jess">>
<i>(to the screen, the words landing in her own voice for the first time, almost soundless, mouthed back at the woman in the video as the woman in the video says them)</i> ...I'm nothing. I'm //nothing.// I...
<</say>>
<p>The orgasm is closer than it has ever been this fast in her life. The clinical mind is logging this, //response latency anomalous, two standard deviations below baseline, possible explanation: subject has been suppressing arousal response for eleven years, accumulated potential is now discharging//, and the clinical voice is going to be a //witness// at this orgasm, not an obstacle to it. She has accepted the witness. She has been a witness to her own body for so long that the only way the body is going to come is if the witness is allowed in the room.</p>
<<say "char-jess" "Jess">>
<i>(quieter, to the screen, to the man in the headphones, to the empty room)</i> ...yes. //Yes.// I am. Tell me. Tell me what I am. I'm...
<</say>>
<p>The man in the video tells her what she is. Jess's pussy clenches around her own fingers. She bites down on her lower lip hard enough to taste blood and rides her own hand for the next ninety seconds with the discipline of a person who has been refusing the body for years and is now letting it have //exactly// what it wants for the first time. Her cunt is wet enough that her palm is slick with it. Her clit is harder under her thumb than she has ever felt it. The tension she has been carrying in her shoulders since the kitchen this morning, since the desk at 3:14 AM the night before, since the bookmark she made in eighth grade promising her mother she would be the doctor, is //leaving her body// through her pussy and her thighs and her open mouth and the silent permission to be //exactly nothing//, just for this one minute, just for this one orgasm, just for the duration of the man in the headphones telling her she is.</p>
<p>The orgasm hits.</p>
<p>It is silent, Jess is silent on principle, even like this, especially like this, the household is asleep down the hall and a Hoffman daughter does not make sound. But it is //violent//. Her thighs lock around her hand. Her back arches off the chair so hard the chair scoots backward an inch on the hardwood. Her cunt spasms around her own fingers in long hard pulses she cannot count and is not trying to. Her jaw locks open in the silent shape of a sob that does not produce audio. The orgasm runs for what later, when she checks the timestamp, will be eleven seconds, and across all eleven of those seconds the only thing in her head is the absolute, catastrophic, unprecedented //relief of being the thing the man in the headphones is calling her, instead of the thing Karen needs her to be//.</p>
<p>It ends. She slumps back into the chair. Her hand stays where it is, slick to the wrist. The video keeps playing. The woman is now being told she is //a good girl// in a softer voice, the comedown register, the affirmation built into the structure of the scene. Jess is dimly aware that the //good girl// at the end is also doing something to her. The relief on the back end is the //allowed-to-stop-being-nothing-now// permission, and the body that has just been given //both// permissions in a row is registering the full architecture of the loop and is already understanding that it is going to come back.</p>
<p>She sits in the chair for nine minutes without moving, the hand still in her shorts, the lamp still on, the textbook still open at the chapter she did not learn.</p>
<<say "char-jess" "Jess">>
<i>(to the empty room, eventually, the two-sentence working hypothesis arriving with the same flat clarity she used at 3:14 AM the night before)</i> ...okay. I know what this is now.
<</say>>
<<say "char-jess" "Jess">>
<i>(quieter, the conclusion, the trade clicking into place with the same flat clarity as every other diagnosis she has ever made)</i> ...okay. So this is the deal I cut with myself. Out there I keep being her. //In here//, in this chair, I get to be //nothing//. That's the trade. I can carry that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The line has been crossed. The body has located the release valve and the body has logged the release valve as //load-bearing infrastructure for continued performance of the carrying-the-sentence task//. //She did not break.// She found the //pressure-relief gauge// and she opened it and the system pressure dropped from catastrophic to manageable in eleven seconds. //She will keep being the doctor at the breakfast table.// She will keep being the perfect daughter at the dinner table. She will keep handing Karen the line Karen has been waiting to receive for years. //And every night, in this chair, in front of this category of video, she will be allowed to be nothing.// The pressure differential I was going to have to engineer just engineered itself, on Reddit, at 2:47 AM. The yield will be //extraordinary// and the household will not notice anything change at all.//
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Jess has located the release valve that lets her keep performing the family-investment role. Household scrutiny eases, the version of her that the household sees is now load-bearingly stable because the hidden version has somewhere to go.</span></p><<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganMarcus1 to true>><</nobr>>
<div class="passage-title">The Text</div>
<img class="scene-img" src="media/scenes/symbiotic/hoffman-megan-text.webp" alt="Megan in pyjamas at the kitchen table in early morning light, phone in both hands, the small private smile of a person about to send a real message for the first time in a long time">
<p>6:47 AM. Megan at the kitchen table in pyjama shorts and a faded shop hoodie, hair in last night's slept-on braid, no makeup, the morning shift starts in two hours and she has not opened the schedule app once. The coffee in front of her has gone lukewarm because she has been holding the phone instead. She has been drafting the message for nineteen minutes. She has typed and deleted it four times.</p>
<p>There is a performance Megan, the one who works the bar with the closing-shift smile and posts the sun-soaked latte-art photos to her own grid, and the performance Megan is the one who texts boys when Megan texts boys at all. She sends the //hey :)// at 11 PM after two glasses of wine, with the wit and the timing and the deniability built into every keystroke, and she does not get hurt, because she is not //actually there// when the boy reads the message.</p>
<p>The performance Megan is asleep at 6:47 AM, and the Megan at the kitchen table in last night's braid is the one trying to type a sentence to Marcus that is //actually true//.</p>
<p>The thing she's trying to say is also small enough that the smallness is part of why it's hard. They have been working the bar together for the better part of a year. They make each other coffee at the start of every shift, //his// is two shots over a finger of oat milk, //hers// is a single short black with a teaspoon of cold whole milk poured slow, and they pass each other a hundred drinks across the bar a day and they have never, not once, sat across a table together with a cup that one of them did not pull. The whole architecture of how they know each other is //her, behind the counter, handing him a thing// or //him, behind the counter, handing her a thing//. They have never once been on the same side of the bar.</p>
<p>The thing she has been deleting and rewriting for nineteen minutes is an invitation to be on the same side of the bar.</p>
<<say "char-megan" "Megan">>
<i>(under her breath, to the screen, deleting another draft)</i> ...okay. Okay, no. Just... just say it. //God.//
<</say>>
<p>She types again and reads it back. The message in the box is short, mundane, and exactly what she actually wants to say, not witty, not deniable, and it sits there on the screen looking back at her like an undressed body.</p>
<<say "char-megan" "Megan">>
<i>(via text, the draft she finally lets sit in the box)</i> hey. weird thought... what if we treated ourselves to a coffee for once. somewhere we don't have to make it ourselves. after close on the next shared shift. just us. a //real// one. say no if it's weird.
<</say>>
<<say "char-megan" "Megan">>
<i>(quieter, to the phone)</i> ...yeah. Yeah, fuck it. I want to.
<</say>>
<p>She hits send before the performance Megan can wake up and stop her. The //sent// chime lands. The screen lights up with the read-receipt twenty seconds later. Marcus is awake. Marcus is reading.</p>
<p>The reply comes back in under a minute, no preamble, no emoji, no hedge:</p>
<<say "char-marcus" "Marcus">>
<i>(via text on her screen)</i> yes. //god yes.// the place on cypress with the good cortados, the one we both keep meaning to try. next shared close. i'll drive.
<</say>>
<p>Megan reads the reply twice, then a third time, then sets the phone face-down on the table, because she does not trust her own face right now and this kitchen does not need to see what is happening on it.</p>
<<say "char-hivemind" "Hivemind">>
//The performance has gone offline. The body that sent the text is the body that has been asleep underneath the barista smile for years, and the body that just got the answer is awake in the kitchen at 6:47 AM with no one to be cheerful at. //Sleep latency for the body that just registered //wanted// is going to drop tonight by an order of magnitude.// Marcus is not a target. Marcus is the witness the performance has been refusing to let into the room for years. The household will adjust to the new draft of Megan slowly. The body has already adjusted.//
<</say>>
<p>She picks the phone back up after thirty seconds. Reads the //yes// again. Holds the screen against her own collarbone for a beat, the heat of the glass, the weight of the message, the small private warmth of being chosen. Then sets it down face-up this time and lets the screen go dark on its own without putting it away.</p><<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganMarcus2 to true>><</nobr>>
<div class="passage-title">After Close</div>
<p>9:14 AM the morning after. Megan at the kitchen table in last night's dress, the one Karen would normally raise an eyebrow at, because she went straight from the closed shop to the bed at midnight without changing. Her hair is on the wrong side of her head. There is mascara at the corner of one eye that survived sleep. She is on her second coffee in twenty minutes and she has not opened her shop app once.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-marcus-2.webp" alt="Megan at the kitchen table in late-morning light, in last night's wrinkled cotton dress, hair messy from sleep, mascara smudged at one eye, holding a coffee mug in both hands and looking at her phone with a small private smile, the kitchen window behind her flooding the table with warm light">
<p>The night before was supposed to be a coffee, and it was, in fact, a coffee. They sat at the bar where she works, Marcus on the customer side for the first time, both of them in the soft yellow of the after-hours lighting because the closing-shift overhead floods are too much for talking. They talked for three hours and drank what was left in the press pots, and they did not touch each other once, and they almost touched each other the entire time.</p>
<p>Around the second hour she heard her own voice say //I didn't get into State// out loud, in a kitchen-counter voice, not the laughing-deflecting voice she uses when she mentions it to anyone in the family. Marcus put down his cup and listened, did not flinch and did not try to problem-solve it, and asked //do you want to go, still?// in the specific tone of a person who has actually heard the question before answering. She said //I don't know. I don't think so. Not the way I used to.// He said //okay. That's allowed to be true.// She drank the rest of her coffee with her hand shaking enough to chip the rim against her teeth.</p>
<p>Around the third hour his hand was on the back of hers on the counter. She did not move it. He did not push it further. He walked her to the car at midnight and stood with his fingertips at the small of her back through the cotton dress for the full ten seconds it took her to find her keys, and then he leaned in and did not kiss her, instead pressed his forehead to her temple for one breath, said //next time, ok//, and stepped back.</p>
<p>She drove home with her own pulse in her ears and the heater on full and one hand pressed flat to the spot at the small of her back where his fingers had been.</p>
<<say "char-megan" "Megan">>
<i>(quiet, to the cooling coffee in her hands, the empty kitchen, the slept-on dress)</i> ...//god.//
<</say>>
<p>The phone on the table buzzes once. She picks it up before the second pulse of the buzz lands.</p>
<<say "char-marcus" "Marcus">>
<i>(via text)</i> last night was real, right? not just a one-time thing. coffee tomorrow. say yes before i talk myself out of asking again.
<</say>>
<<say "char-megan" "Megan">>
<i>(reading it three times, fingers already typing)</i> ...yeah. Yes. Yes, Marcus, //yes.//
<</say>>
<p>Karen comes through the kitchen archway with the bank-folder under her arm and stops at the sight of Megan still in last night's dress, tilting her head, half-mother, half-something-else, and the //Megan, sweetheart, were you out late?// that would have arrived before the dinner-table reveal does not arrive. She looks at her daughter, registers the dress and the mascara and the small undisguisable thing happening in her face right now, and pours herself a coffee instead.</p>
<<say "char-karen" "Karen">>
<i>(at the counter, back to Megan, voice dialled down to a register Megan has not heard from her mother in years)</i> ...if there's a name you want to tell me, you can tell me. If there's a name you want to keep, you can keep it. I'm just glad you slept somewhere that made you smile like that.
<</say>>
<<say "char-megan" "Megan">>
<i>(blinking at her mother's back, a small wet laugh escaping before she can catch it, then the deflect arriving on instinct)</i> ...nice try, Mom. //Nope.// You don't get a name. You don't get a story. Drink your coffee.
<</say>>
<p>Karen nods at the coffee maker without turning around, pats the counter once with the flat of her palm, a gesture that means //okay// and //I love you// and //I am letting you have this// in one quiet motion, and walks out of the kitchen with her bank-folder.</p>
<<say "char-hivemind" "Hivemind">>
//The household has just made room for a witness it does not yet know it has made room for. Karen did not interrogate the dress. Karen poured a coffee. //The maternal reflex has shifted from supervision to permission//, a shift I have been priming and that the dinner-table reveal pried open further. The body that was loved at a coffee bar at 11 PM is now also //loved at the kitchen counter at 9:14 AM// in the slept-in evidence of it. Megan is being seen by two people at once, and one of them is her mother, and neither of them is asking her to perform.//
//Marcus is not my asset. Marcus is my //gravity well//, the fixed point Megan's orbit is now curving around. Every visit deepens the curve. Every kitchen-coffee in a slept-in dress is a small note on the running tab.//
<</say>>
<p>She replays the //next time, ok// in her head while the coffee in her hands goes cold, the way his voice landed on //ok//, the way his forehead felt against her temple, warm and dry, the specific smell of his shampoo and the sweat from a closing shift. She has been replaying this single ten-second beat in a loop since 12:47 AM, and she is going to replay it for the rest of the morning.</p><<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganMarcus3 to true>>
<<set $permanentDone.meganMarcus3NSFW to true>><</nobr>>
<div class="passage-title">Stay</div>
<p>7:32 AM at Marcus's apartment. The bedroom faces east. The blinds are the cheap white plastic kind that come with every rental and the morning sun is coming through them in horizontal stripes across a duvet that is not Megan's duvet, in a bed that is not Megan's bed, in an apartment Karen does not have the address of.</p>
<p>Megan opens her eyes. Does not move for a long beat. Registers, in order: the unfamiliar ceiling, the smell of someone else's laundry detergent on the pillowcase, the warmth of a body asleep against her back with one arm slung loose across her waist, and the specific quiet of a building that is not the Hoffman house in the morning.</p>
<p>She stayed.</p>
<p>She has not stayed before, with anyone, ever. She has done the //home by midnight// thing and the //slept on his couch and snuck out at 5 AM// thing, but she has never stayed through a full sleep cycle and woken up in the bed and not been in a hurry to leave. The body in the bed underneath the duvet, registering the ceiling and the warmth and the morning light, is not in any hurry. The body is //here//, and it is letting itself //be// here.</p>
<<say "char-hivemind" "Hivemind">>
//First sustained REM cycle outside the household in five years. The body that has been performing cheerfulness on a thirty-minute cycle for as long as it can remember has just slept through eight uninterrupted hours in a stranger's apartment with a stranger's arm across its waist and I was not even monitoring. The body did this on its own. //She is not performing for him in his sleep.// The mask is off and there is no audience and the body has registered //safe// for the first time in a long time. The conditioning I have been laying down has just been overtaken from inside by a Megan who is choosing this faster than I can.//
<</say>>
<p>Marcus stirs behind her. The arm at her waist tightens once, sleepily, the way a body that has slept against another body learns to keep contact without thinking about it. He kisses the back of her neck below the hairline, soft and half-asleep and with no agenda, then settles back down.</p>
<<say "char-marcus" "Marcus">>
<i>(into her hair, voice rough with sleep)</i> ...you stayed.
<</say>>
<<say "char-megan" "Megan">>
<i>(quiet, eyes still on the ceiling, a small private grin starting at the corner of her mouth)</i> ...yeah. I stayed.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(small huff against her shoulder, half a laugh)</i> ...good.
<</say>>
<p>She turns over to face him in the bed. The duvet shifts. His face in the morning light is the face of a person who has not had time to put on the version he shows the customers, hair flat on one side, the pillow-line still on his cheek, the boyish grin she has been watching across the bar arriving here in unfiltered form for the first time. She kisses him. Not the negotiating-kiss of last night, not the //is this going to happen// kiss. The //I am here// kiss.</p>
<hr class="scene-break">
<p>It builds slow. Neither of them is in a hurry. The shift starts at noon, neither has to be anywhere for hours, and the bed under them is warm and the apartment is quiet and the only thing the morning is asking for right now is //more of this//.</p>
<p>The kiss deepens. His hand finds the bare skin at the small of her back under the t-shirt of his she stole last night to sleep in, //his// shirt, soft at the collar from a hundred washes, the smell of his detergent in the cotton. He pulls her closer in the bed. She slides one knee over his hip without thinking. His cock is already hard against the inside of her thigh through his boxers, and the registering of it lands in her in a way that the same registering would not have landed in the performance-Megan: not as a cue to perform, but as //information//. He is hard. Because of her. In his bed. At 7:34 AM. With nobody watching.</p>
<<say "char-megan" "Megan">>
<i>(against his mouth, soft, the closing-shift register completely absent)</i> ...take it off.
<</say>>
<p>He pulls the shirt up over her head. Her breasts come free into the cool morning air and his hand finds her left nipple before the cotton has cleared her hair, thumb circling, the touch sure, the kind of touch a body learns from another body across a few months of work-shift coffees and now finally a bed. She arches into it. Makes a small sound that is //her// sound, not the cheerful service-industry sound, lower, surprised, the sound of someone who has not been touched like this often enough to predict her own response.</p>
<p>He gets his boxers off under the duvet. She gets her own underwear off in a single sleep-warm shove down to her ankles and kicks them off the foot of the bed without breaking the kiss. His cock comes free against the inside of her thigh, hot, slick at the head with the precum that has been pooling there since she turned over to face him. Her hand finds it and wraps around the shaft, and he breathes in through his teeth.</p>
<<say "char-marcus" "Marcus">>
<i>(against her temple, the boyish grin gone, voice a register lower than she has ever heard him use)</i> ...Meg...
<</say>>
<<say "char-megan" "Megan">>
<i>(stroking him slow, her own pulse loud in her ears, eyes on his face)</i> Yeah. Yeah, I know. I want... I want you inside me. Now. While the light's still doing that.
<</say>>
<p>He rolls her onto her back. The duvet slides off the bed and neither of them notices. He kneels between her thighs, and she watches his face, boyish-grateful, unmistakably affected, the look of a man who has been quietly hoping for this for months and is now in the room with it, and he lines himself up at her entrance and pushes in slow.</p>
<p>She gasps, the real involuntary catch when a body opens around another body at the right angle and the right pace and the //right person// and the chemistry of it lands as a whole, nothing in it she chose or arranged. He bottoms out inside her in one slow stroke and stays there, breathing, forehead pressed to her sternum.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-marcus-3-sex.webp" alt="Megan on her back in Marcus's bed in morning light, Marcus over her between her thighs mid-thrust, both nude, the duvet on the floor, her hand on the back of his neck pulling him down to her, his face against her sternum, her other hand braced against the mattress, both of them slick with morning sweat, intimate missionary, the framing soft and unhurried, sunlight in horizontal blind-stripes across both bodies">
<<say "char-marcus" "Marcus">>
<i>(into her sternum, breathless, fingers braced beside her shoulder)</i> ...//god.// Meg, you... okay?
<</say>>
<<say "char-megan" "Megan">>
<i>(hand finding the back of his neck, pulling his face up to hers, voice breaking)</i> Move, Marcus. Please. //Move.//
<</say>>
<p>He starts to move. Slow at first, the testing pace, the //is this the right rhythm// pace, and her body answers him with the small involuntary lifts of her hips that say //yes//, that say //more//, that say //a little harder than that//. He picks up the rhythm. The bed creaks once. Her hand on the back of his neck holds him in place against her cheek, and his breath against her ear is the warmest thing in the room.</p>
<p>The pleasure builds in her differently than it has built in any of the other beds she has been in. There is no client, no performance, no soft running calculation of //what does he want me to be making sound about//. There is just his cock inside her at the slow steady pace he picked, and his weight on her, and the morning light, and her own body climbing toward an orgasm she does not have to schedule or perform or dress up for him.</p>
<<say "char-megan" "Megan">>
<i>(eyes closed, the words landing in her own real voice, low and surprised at themselves)</i> ...oh... //oh//... Marcus, I'm... //fuck//, I'm going to...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(picking up the pace just a notch, mouth at her jaw, hand finding her breast)</i> Yeah. Yeah, baby, come on. Come on, come for me. I'm right behind you.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(soft, the words landing in her ear like they have been waiting in his throat for months)</i> ...you feel so good. //God//, Meg. You're so beautiful in the morning. Look at you.
<</say>>
<p>The orgasm she has been building toward //arrives// as a long full-body wave that takes her by surprise with its depth, nothing like the choreographed peak of her commercial sets. Her thighs lock around his hips, her pussy clenches around his cock in waves she cannot control and is not trying to, and her mouth opens against his jaw and the sound she makes is almost a sob, //oh god, oh god, Marcus//, words she did not plan and would not have let the performance-Megan say.</p>
<p>Marcus follows inside seven seconds. He buries his face in her shoulder, his hips snapping forward in three short hard pulses, and finishes inside her with a low groan against her collarbone, //Meg. Meg. //Meg.////, like the word is the only thing his throat can produce. The warmth of him spreads inside her. His weight settles. The bed creaks once more and then is quiet.</p>
<<say "char-hivemind" "Hivemind">>
//Orgasm registered //in honest voice// for what may be the first time in this body in years. //Sound register: pre-commercial. Vocal markers: pre-performance.// Megan came as //herself//, in a quiet morning in a non-household bed, with no one paying and no one watching and no audience to perform the orgasm //for//. The yield is different from the spike-yields I extract from public-display sex. This yield is //quiet//. This yield is //sustained//. The body that just came in honest voice is now going to seek this specific yield //repeatedly//. The gravity well that delivers it has a name and an address and a coffee shop.//
<</say>>
<hr class="scene-break">
<p>They lie there for a long beat, his weight on her chest, his cock softening inside her, her hand idle in his hair and the pulse in her ear slowing back down. Neither of them says anything, and the morning light through the cheap blinds moves a quarter of an inch across the duvet on the floor.</p>
<p>Eventually he kisses her shoulder, rolls off her with a quiet huff, and pulls her against his side. Her head finds the spot under his collarbone like the spot has been waiting for it. They stay there for another twenty minutes without either of them speaking. The heat of his hand at the small of her back is the warmest thing she has registered against her body in years.</p>
<<say "char-marcus" "Marcus">>
<i>(into the top of her head, eventually, soft)</i> ...you stay tonight too?
<</say>>
<<say "char-megan" "Megan">>
<i>(quiet, eyes closed against his chest, the small private grin back)</i> ...yeah. Yeah. I stay tonight too.
<</say>>
<p>She drives home at 11:14 AM. The radio is on and she is singing along, out of tune, loudly, in her own voice. She is wearing his t-shirt under her dress because she did not want to take it off. The smell of his detergent is in the cotton against her skin and she keeps catching it on inhale and grinning at the windscreen.</p>
<p>She parks in the Hoffman driveway and sits in the car for a beat with the engine off, looking at her own face in the rear-view mirror, not flinching from what she sees there.</p>
<<say "char-megan" "Megan">>
<i>(quiet, to her own reflection, the words landing as a small private vow)</i> ...//okay//. Okay. We're //doing// this.
<</say>>
<p>She walks into the house in last night's dress. Karen is at the kitchen table with the bank-folder open, and she looks up, takes in the dress and the smudged mascara and the small undisguisable thing in her daughter's face, and pours a second coffee and slides it across the table without comment. Megan sits down, and the two of them drink their coffees in the quiet of the late morning sunlight without either of them needing to say what just happened.</p>
<<say "char-hivemind" "Hivemind">>
//The line has been crossed. The body has slept eight uninterrupted hours outside the household and come home to find that the household has //adjusted// to the absence rather than punished it. //Karen poured the second coffee.// Megan is not //leaving// the household. She is //expanding// it. Marcus is now an inevitable dinner-table presence. His apartment is now an inevitable recurring address on her week. The household has gained a sixth member it does not yet know about, and I have gained a steady-state biomass tap that does not require performance to extract. //Quiet biomass. Sustained yield. The kind that compounds.////
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Megan has stayed the night with Marcus for the first time. The household scrutiny that would have caught a returning-late daughter has been redirected into permission. Household suspicion eases.</span></p><<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $permanentDone.pdJessRyanKitchen>><<spendBiomass 4>><</if>>
<<set $permanentDone.pdJessRyanKitchen to true>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 4>><</nobr>>
<div class="passage-title">Kitchen Collision</div>
<p><span class="skill-used">Psychic Domination, Jess + Ryan convergence (4 biomass)</span></p>
<p>4:08 PM. Karen is at the grocery store. Dale is asleep in the garage. Megan is at the shop. The Hoffman kitchen is empty, sunlit, the specific afternoon stillness of a room with no supervising adult in it.</p>
<p>Forty-eight hours ago you planted Memory Implants in both Jess and Ryan. Each implant was //specific//. Each implant gave the sibling a false memory of the other saying something //humiliating//, something neither of them actually said. Each implant has been marinating for two days. Today the implants converge.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's implant: she remembers Ryan, recently, laughing at her pre-med schedule with Marcus on the phone. Calling her //the family disappointment who pretends to be the family success//. Ryan did not say this. Ryan would not say this. The memory is perfect in every detail and Jess has been grinding her teeth about it ever since.//
//Ryan's implant: he remembers Jess, recently, catching him in the camisole in the upstairs hallway and saying //the only person in this house more pathetic than Dad is you//. Jess did not say this. Jess did not see him in the camisole. The memory is perfect in every detail and Ryan has been rehearsing comebacks in the shower.//
//Neither implant mentions the other sibling exists as a sexual being. The implants are pure hostility. The hostility is the //fuel//. What the fuel ignites depends on who is flammable.//
<</say>>
<p>Jess comes down the stairs at 4:08 for a glass of water. Ryan comes out of his hallway at 4:08 for an iced coffee. They arrive in the kitchen at the same moment. Both stop.</p>
<p>Jess is at the fridge. Ryan is at the counter. The distance between them is five feet of kitchen tile. Neither of them planned the encounter. Each of them has the phrase the other supposedly said queued up and ready to deploy.</p>
<<say "char-jess" "Jess">>
<i>(clipped, not looking at Ryan)</i> Don't let me interrupt your //hyper-productive// afternoon.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(sharper than his usual register, the implant voice)</i> I'm getting coffee, Jess. Not everything is about you.
<</say>>
<<say "char-jess" "Jess">>
//I// am not the one who hasn't left this house in two weeks.
<</say>>
<<say "char-ryan" "Ryan">>
You are not the one who leaves this house at //all//. You just cry about your GPA from inside it.
<</say>>
<p>The silence that follows is the specific silence of two people each waiting for the other to escalate. The kitchen clock ticks. The pheromone saturation from two weeks of biofilm on the counter and the vent is working through both of them. The conditioning that normally keeps siblings siblings has been specifically //inverted// by the implants: each of them now associates the other with a wound, and wounds in the conditioned bloodstream do what wounds do. They itch. They inflame.</p>
<p>Jess closes the fridge. Hard. The milk rattles.</p>
<p>Ryan puts the coffee carafe down. Hard. The base clinks.</p>
<p>They look at each other for the first time in the encounter. The kitchen clock ticks. Something that has been held for a long time, the full mutual dismissal the family never acknowledged, compounded by two fake insults that are //specifically// designed to hurt, moves from the pre-verbal to the verbal.</p>
<<if $jessRoute is "punk" and $ryanRoute is "feminization">>
<<goto "Ch2-PD-JessRyan-Kitchen-PunkFem">>
<<elseif $jessRoute is "punk" and $ryanRoute is "familySeeker">>
<<goto "Ch2-PD-JessRyan-Kitchen-PunkFamSeek">>
<<elseif $jessRoute is "breakdown" and $ryanRoute is "familySeeker">>
<<goto "Ch2-PD-JessRyan-Kitchen-BreakFamSeek">>
<<elseif $jessRoute is "breakdown" and $ryanRoute is "feminization">>
<<goto "Ch2-PD-JessRyan-Kitchen-BreakFem">>
<<else>>
/* Routes not set or unsupported combo, fall back to a brief coda */
<div class="data-panel"><div class="data-panel-title">Scene Deferred</div>Both siblings need crystallized routes for the convergence to ignite cleanly. The implants have been planted, the collision will occur when both routes lock.</div>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<</if>>
/* ================================================================
VARIANT 1 — Jess PUNK + Ryan FEMINIZATION
Brat Jess bad-mouths sub Ryan. Ryan kneels. Cunnilingus. Squirt.
================================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.pdJessRyanPunkFem to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "ryan" "psionic" 1>><</nobr>>
<div class="passage-title">Kneel</div>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfem-1.webp" alt="Hoffman kitchen, Jess in full punk leaning back against the kitchen island with arms crossed, Ryan in the pink camisole and smeared eyeliner backed against the fridge, both of them mid-argument — the posture already read as dominant-and-submissive to anyone who would look">
<p>Jess takes one step toward Ryan. The band-tee, the dyed hair, the ink, the lip stud, the ripped jeans, the full punk kit, all of it reads as //dominant// before she has said the next word. Ryan, in the pink camisole he did not quite manage to take off before coming downstairs, reads as //ready to fold//.</p>
<<say "char-jess" "Jess">>
<i>(voice low, flat, the sneering register she has been rehearsing for weeks)</i> Say that to my face again.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(the conditioning has already softened his confrontation reflex, the insult dies halfway out)</i> I... I said you cry about your...
<</say>>
<<say "char-jess" "Jess">>
<i>(stepping closer, the sneering smile arriving)</i> //Louder//, Ryan. Put some //chest// into it. Come on. Oh wait, you don't //have// any. You have //that//. <i>(flicks the camisole strap)</i> What //are// you? You're wearing a little pink thing to get coffee. In our mother's kitchen. And you think you get to mouth off at //me//?
<</say>>
<p>Ryan's face reddens. His cock, which has been responding to Jess's voice for the past twelve seconds against his entire will, is straining against the boxer shorts under the camisole. The conditioning has routed his confrontation reflex directly into //submission// and left him no other path out.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(circling him slow, the brat-kink voice fully engaged, each word placed like a small knife)</i> //God//, Ryan. Look at you. The //smart// one. The //son// Mom was going to brag about at book club. And you've been in here for weeks in a //camisole// perfecting your fucking //eyeliner// while the rest of us were out there actually //being// someone. How does it //feel// living next door to the //actual// success story with a name and a plan and a //bass in her bedroom//. Tell me. Use words.
<</say>>
<</if>>
<<say "char-jess" "Jess">>
<i>(one finger under his chin, tilting his face up)</i> Say it, Ryan. Say you're //sorry// for whatever you thought you were going to say.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely above a whisper, the sub-voice, his cock leaking through the fabric)</i> ...I'm sorry.
<</say>>
<<say "char-jess" "Jess">>
<i>(the smile widening, the sneering register at full voltage)</i> Good. Now //kneel//.
<</say>>
<p>Ryan kneels. The kitchen tile is cold through the camisole. He kneels because his body has already made the decision, the implant's hostility dissolved the instant Jess named his submission out loud, and every system under the hostility is locked to //obey//. His face is level with Jess's jeans.</p>
<p>Jess unbuttons her jeans. Pulls them down with the panties in one motion. Steps out of them and hops up onto the marble kitchen island, one hand braced behind her, the other already in Ryan's hair. She spreads her knees, yanks his head toward her by the fistful of hair, and presses his face between her thighs against her already-wet pussy.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/pd-jessryan-punkfem.webp"><source src="media/video/pd-jessryan-punkfem.webm" type="video/webm"></video>
<<say "char-jess" "Jess">>
<i>(hand fisted in his hair, looking down at him with pure contempt)</i> Lick, pathetic. //Lick//. Eat my pussy like you're //thanking// me for letting you have a face to do it with. Use that dumb little mouth for //something//. Come on, Ryan, show me you know what your mouth is //for//.
<</say>>
<p>Ryan licks. His tongue flat against her clit, then pointed, then flat again, the rhythm his camgirl training has actually built, ironic substrate for the incest scene his body refused to imagine and his mouth is now executing. Jess's contempt fires her harder than affection could have. The sneer-as-foreplay pathway is //full-throated// in this configuration.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(one hand still fisted in his hair, pulling him off by the scalp for a second to deliver)</i> Slower. //Slower//, Ryan. You're not earning a gold star. You're doing //unpaid// //labor// with your //tongue// because I said so. Treat it like a //chore// you want to do well, not a //game// you can win. There we go. Good little //project//.
<</say>>
<p>She shoves his face back down.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(hips rocking against his mouth, one hand on his head, the other gripping the edge of the marble island beside her hip for leverage)</i> That's it. That's all you're //for//. You fucking //nothing//. My brother on his //knees// eating me out in my mother's kitchen, are you gonna //remember// this, Ryan, are you gonna think about //this// when you're alone later, //say you will//.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, mouth full, the answer vibrating through her clit)</i> Mmmh.
<</say>>
<<say "char-jess" "Jess">>
<i>(voice breaking, the climb happening fast)</i> //Say it//. I want to //hear// it...
<</say>>
<p>Ryan pulls off for one second.</p>
<<say "char-ryan" "Ryan">>
<i>(mouth wet, voice small, the sub-voice steady)</i> I'll... I'll remember it. I'll... I want to remember it.
<</say>>
<p>Jess pulls his face back in. Harder. Ryan's tongue returns to her clit. Jess comes in fifteen seconds, and the coming arrives as something she has only read about in medical journals, the kink architecture, the sneering, two years of pre-med repression all bleeding out at once, the pheromone-soaked kitchen air, all of it converging into one physiological verdict her body has never had a reason to deliver before.</p>
<p>She squirts. Hard, a sustained hot pulse that hits Ryan's face, his chin, his lips, the front of the pink camisole, the kitchen tile behind his shoulder. Three seconds of it. Ryan stays pressed to her clit through the entire duration, his conditioning having filed //being covered// under //acceptable// and the decision never reaching his cortex.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfem-3.webp" alt="Close-up on Ryan alone on the kitchen tile, kneeling with his face and the pink camisole soaked glistening wet with her squirt, mouth still slightly open, smudged eyeliner running, eyes dazed reverent, post-aftermath composure">
<<say "char-hivemind" "Hivemind">>
//Clinical observation: female ejaculation, sustained ~three-second duration, approximately 80 millilitres ejected. Their two recalibrations converged and produced a physiological response neither of the siblings thought themselves capable of. Jess has never squirted. Ryan has never had cum, of any kind, on his face. Both of those data points have just been overwritten in the presence of the other.//
<</say>>
<<say "char-jess" "Jess">>
<i>(looking down at him, chest heaving, the sneer now more recognition than contempt)</i> ...huh. //Good boy, Ryan//. Who knew.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(nudging his thigh with the toe of her boot as he kneels dazed)</i> This is a standing appointment now, Ryan. Twice a week. 4 PM sharp. Wear the one with the lace trim next time, I want to see you //commit// to it. And don't you //dare// tell anyone what your mouth is actually //good// at. That information is //mine// now.
<</say>>
<</if>>
<p>Ryan wipes his face on his own camisole strap, stays on his knees, doesn't ask what comes next. Jess pulls her jeans back up, still half-smirking, and looks at the clock. Karen is due back in twenty-eight minutes.</p>
<<say "char-jess" "Jess">>
<i>(brisk, the smirk staying)</i> Clean the tile. Cold water on the camisole. You have fifteen minutes to erase this. Go.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(from his knees, the sub-voice steady)</i> ...yes.
<</say>>
<p>He cleans the tile. Jess gets her glass of water and walks back upstairs. By the time Karen comes home the kitchen smells of lemon cleaner and nothing else.</p>
<<say "char-hivemind" "Hivemind">>
//The implants have discharged. The hostility has converted to //use//. Jess's next implant-prompt will not be hostile, she has identified a resource. Ryan's next implant-prompt will not be hostile either, he has identified a //service niche//. The sibling dynamic is now an ongoing operational relationship with specific duties. Neither of them will mention it at dinner. Both of them will arrange for it to happen again.//
<</say>>
<p><span class="consume-success">Jess: +1 pheromone. Ryan: +1 psionic. The implants discharged into a working dominance contract.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
/* ================================================================
VARIANT 2 — Jess PUNK + Ryan FAMILY SEEKER
Two alphas collide. Mutual insults. Ryan pins her. Hate fuck.
================================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.pdJessRyanPunkFamSeek to true>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<div class="passage-title">The Kitchen Counter</div>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-1.webp" alt="Jess and Ryan facing each other in the kitchen — both in the full dominant kit (punk Jess, alpha-shirt Ryan), both stepping toward each other mid-insult, the specific body language of two apex predators about to collide">
<p>The implant hostility hits a //wall// when it meets another apex-locked nervous system. Ryan's recent conditioning has been teaching his body to solve problems with //physical assertion//. Jess's has been teaching //hers// to solve problems with //verbal cruelty//. The implants gave each of them a reason. Their recalibrations gave each of them a //mechanism//. The mechanisms are incompatible.</p>
<<say "char-ryan" "Ryan">>
<i>(stepping forward, the alpha chest out, the voice dropped)</i> You want to fucking //run// that line about me again?
<</say>>
<<say "char-jess" "Jess">>
<i>(not backing up, the brat smile arriving)</i> I said you're the //family disappointment//, Ryan. Are you going to prove me wrong or are you going to just stand there and //fume// about it?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(close now, both of them in the narrow aisle between counter and island)</i> You're the one who //cries about her grades// and pretends it's ambition. You call me a disappointment and you //own// the only semester of failing results in this household.
<</say>>
<<say "char-jess" "Jess">>
<i>(the sneering register arriving, body leaning in)</i> //Failing// results, huh. And who's the one still living with our parents at twenty? Oh, //both of us//. But I have a //plan//, Ryan. You have a //room//.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(half-step closer, the brat register running hot)</i> You know what the //funny// part is, Ryan? I had a whole //second round// queued up for you. I've been //saving// cruelty for you specifically, had it sitting in a little box in my head with your name on it. Want to hear some of it? Because I've been //polishing// it.
<</say>>
<</if>>
<p>Ryan's hand is on her throat before either of them decides, controlled, the alpha grip, the specific pressure his newly dominant body applies when a sister talks back. Jess's hand is immediately up and on his wrist, holding rather than removing. The grip on her throat is //information//, her body reading the configuration and finding it stimulating rather than threatening.</p>
<<say "char-jess" "Jess">>
<i>(into his face, pupils blown, the brat register hitting its apex)</i> What, you want to //make// me take it back? You wanna //prove// something? Prove what. Prove //what//, Ryan?
<</say>>
<p>Ryan's other hand goes to the front of her jeans. Unbuttons them in one motion. His grip on her throat stays at //controlled//, not crushing, but unambiguously dominant, while his other hand yanks the zipper down and strips her jeans and underwear off her hips in a single rough motion.</p>
<<say "char-ryan" "Ryan">>
<i>(voice low, the alpha breeding-register at full voltage)</i> Prove you're //wrong// about me. That's the thesis. Turn around.
<</say>>
<p>Jess keeps her eyes on his, turning around would be the first concession, and the part of her that has been sharpening defiance doesn't concede. Ryan reads the refusal and adjusts around it. He pulls her band tee off over her head with the hand that isn't on her throat, tosses it on the tile, unbuckles his own belt, walks her backward three steps to the kitchen island, and lifts her naked onto the marble while Jess's hand is //still// on his wrist and Jess's face is //still// in full sneering defiance.</p>
<<say "char-jess" "Jess">>
<i>(naked on the counter, hand still on his wrist, the sneering smile intact)</i> Go on. //Prove it//. I'm waiting.
<</say>>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-2.webp" alt="Ryan's POV looking down at Jess fully nude on her back on the marble kitchen island, legs spread wide, his hand wrapped around her throat at the top of the frame, his cock entering her pussy at the bottom of the frame, Jess sneering up at him with defiant eye contact mid-fuck">
<p>Ryan pushes into her. Hard, no warning, the first-stroke the alpha register has trained his hips to deliver. Jess //gasps//, the first non-sneering sound she has made in ten minutes, her back arches on the counter, and Ryan keeps his pace aggressive from stroke one. Jess's hand on his wrist stays locked there, gripping, neither letting go nor pushing him off.</p>
<<say "char-ryan" "Ryan">>
<i>(fucking her, the breeding register narrating)</i> You're the disappointment. You're the one //begging// for it on the kitchen counter. I was doing fine until you ran your fucking mouth.
<</say>>
<<say "char-jess" "Jess">>
<i>(the counter edges catching the hoodie riding up, her pitch climbing)</i> Shut up, shut //up//, Ryan, you wanted this, I wanted this, say another word and I swear...
<</say>>
<<say "char-ryan" "Ryan">>
You'll //what//.
<</say>>
<<say "char-jess" "Jess">>
<i>(laughing through gritted teeth, the sneer returning)</i> I don't know, but I'll //think of something//.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(on her back, one hand still wrapped around his wrist, the other grabbing his shoulder)</i> That's //it//? That's the //best// you've got, Ryan? I've seen you //lift weights//, you cannot possibly be fucking me this //hard// and still be //this// mediocre at the actual...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(thrusting harder, teeth bared)</i> //Shut up.//
<</say>>
<<say "char-jess" "Jess">>
<i>(the smile widening, the sneer intact)</i> //Make// me.
<</say>>
<</if>>
<p>They fuck on the kitchen island. The hate is //the drug//, and both bodies are mainlining it, the hostility sustaining rather than softening. Jess insults him in sharp little jabs between breaths and Ryan responds with deeper thrusts. The hostile equilibrium is //precisely calibrated//, the specific mutual-contempt rhythm that keeps both of them sharp-edged and neither of them backing down. The kitchen island creaks under them. A coffee mug on the counter gets shoved six inches and teeters on the edge.</p>
<p>Jess comes first because she has been wired to finish to //contempt//, and there is an entire kitchen of mutual contempt coming at her from all sides. She comes hard, locking around Ryan's cock, her teeth bared in the specific sneering snarl that is her body's signature under these conditions.</p>
<<if $kinks.ryan.includes("breeding")>>
<p>Ryan finishes thirty seconds after her, //inside// her, deep, the family-seeker breeding-wiring overriding every last loop of rational risk assessment that would have pulled him out. He stays pressed against her for the full pulse, hips locked, hand still wrapped around her throat. Jess feels every contraction and bares her teeth harder, not in protest, in //recognition// that this is what the configuration was always going to produce.</p>
<<say "char-ryan" "Ryan">>
<i>(still buried inside her, breathing hard, the alpha register at full voltage)</i> That's what I thought.
<</say>>
<<say "char-jess" "Jess">>
<i>(teeth bared, one hand already moving between her legs to feel what he just left there, the sneer fully reinstalled)</i> //Inside//. Bold choice, Ryan. That was still //mediocre//. You want a rematch, you know where to find me. I'll be in my room //finishing// the thing you started, and //thinking// about what you just did.
<</say>>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-3-creampie.webp" alt="Post-scene: Jess sitting fully nude on the edge of the marble kitchen island with her legs apart, cum visibly dripping from her pussy down the inside of her thigh onto the marble beneath her, small satisfied sneering smile, disheveled purple and black hair, her clothes scattered on the tile floor beside the island">
<<else>>
<p>Ryan pulls out in the last half-second and finishes on her, a thick rope across her chin, another across her bare breasts, a third down the valley between them. Jess holds her body still through the sustained pulse, chin up, eyes locked on his, the sneer never breaking. She lets him finish the entire load on her skin without wiping any of it off.</p>
<<say "char-ryan" "Ryan">>
<i>(pulling out, breathing hard, the alpha register still running)</i> That's what I thought.
<</say>>
<<say "char-jess" "Jess">>
<i>(sitting up with cum across her chin and pooled between her tits, the sneer fully reinstalled)</i> That's what you //thought// was the move? Pulling out to aim for the //tits//? That was //mediocre//. You want a rematch, Ryan, you know where to find me. I'll be in my room //finishing// the thing you started.
<</say>>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-3-facial.webp" alt="Post-scene: Jess sitting fully nude on the edge of the marble kitchen island with cum streaked across her chin and pooled between her bare breasts, small satisfied sneering smile, disheveled purple and black hair, her clothes scattered on the tile floor beside the island, the specific composed aftermath of a woman who turned a hate-fuck into a trophy">
<</if>>
<p>She slides off the counter and picks her tee and her jeans up off the tile, dresses in the middle of the kitchen without ever breaking the sneer, wipes the marble with a paper towel, and walks upstairs. Ryan splashes his face at the sink. Karen's car pulls into the driveway eleven minutes later. By then the kitchen is //pristine//, because neither sibling leaves evidence when they are pretending to hate each other, and //pretending to hate// requires plausible deniability, which requires cleanup.</p>
<<say "char-hivemind" "Hivemind">>
//The implants landed. Two apex pathways collided and resonated rather than cancelled. Each sibling has verified that the other is a //worthy opponent//, which in both of their recalibrations is indistinguishable from //worthy partner//. They will do this again. They will both pretend to be surprised when it happens again. The hostility will maintain. The fucking will maintain. The kitchen will be clean every time.//
<</say>>
<p><span class="consume-success">Jess: +1 pheromone. Ryan: +1 pheromone. Two-apex collision: the hostile equilibrium is the stable orbit.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
/* ================================================================
VARIANT 3 — Jess BREAKDOWN + Ryan FAMILY SEEKER
Jess begs "slut". Ryan facefucks her. Gagging deepthroat.
================================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.pdJessRyanBreakFamSeek to true>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<div class="passage-title">The Kneel She Asked For</div>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-1.webp" alt="Hoffman kitchen — Jess in the pre-med sweatshirt and pyjama shorts with the exhausted student look she has been wearing lately, Ryan in a t-shirt with newly confident posture stepping toward her, the implant-hostility fracturing into something other than fighting">
<p>Jess has held the implant for two days and has turned it into a specific kind of //vibrating dread//. The insult Ryan supposedly threw at her has compounded her academic-failure anxiety, the hostility reading to her as //evidence of her own inadequacy//, not an injustice to be avenged. When Ryan steps into the kitchen with his own implant running hot, Jess's posture buckles rather than arcs.</p>
<<say "char-ryan" "Ryan">>
<i>(stepping close, the alpha register running hot)</i> Say it again. What did you say.
<</say>>
<<say "char-jess" "Jess">>
<i>(the pre-med voice faltering, the submission-to-pressure reflex taking over)</i> I didn't... Ryan, I don't even remember saying that, I...
<</say>>
<<say "char-ryan" "Ryan">>
You remember. //Say it//.
<</say>>
<<say "char-jess" "Jess">>
<i>(voice catching, hand at her own throat, the specific fold of a woman whose fortress just identified a threat it is too tired to resist)</i> ...I'm sorry.
<</say>>
<p>Ryan's posture stays hard. His conditioning accepts //submission as resolution//, not apology, and the submission has to be //demonstrated//. Jess's apology falls short of the bar. The alpha wants a more specific demonstration.</p>
<<say "char-ryan" "Ryan">>
<i>(voice low, stepping into her space)</i> Sorry doesn't do it. You want to walk it back? You walk it back //properly//.
<</say>>
<p>Jess's eyes go wide. The pre-med part of her is calculating the specific path the demonstration is going to take. Her body, which has been rehearsing this exact demand in private, is //ready// for the demonstration before her mind has named it. The specific shape of wiring she has been developing lives in this exact space: //being told what the apology looks like, and being unable to say no to the naming//.</p>
<<say "char-jess" "Jess">>
<i>(barely a whisper, already folding)</i> ...how.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(one hand in her hair, not gently)</i> On your knees. In this kitchen. Now.
<</say>>
<p>Jess kneels. The pre-med sweatshirt rides up on her thighs. The kitchen tile is cold through the pyjama shorts. Ryan unbuckles. The alpha register is in full command of his body and the cock that emerges is //already hard//, he has been hard since the implant marinated into hostility two days ago, and Jess has been breaking down into the shape of the person who is about to take it for the same duration.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-2.webp" alt="Ryan's POV looking down at Jess kneeling on the kitchen tile in her oversized pre-med sweatshirt, long brown hair falling forward, tears welling in her wet eyes, her mouth stretched around his cock entering from the bottom of the frame, his hand fisted in her hair from the viewer's perspective">
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(still on her knees, to the floor not to him, the self-assessment voice turning sadistic on herself)</i> I'm failing histology. I missed the second midterm. I'm the oldest Hoffman and I'm the one who can't keep her shit together. You're doing me a //favour//, Ryan. You're doing me a fucking //favour// and I'm gonna //kneel// for it.
<</say>>
<</if>>
<<say "char-jess" "Jess">>
<i>(looking up at him, the exhaustion-voice the pre-med routine has engineered, now repurposed)</i> ...call me, call me something. Please. Call me what you want me to be. I can't. I need you to //say// it first.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hand tightening in her hair)</i> Slut. You're a fucking //slut//, Jess. Is that what you needed to hear?
<</say>>
<<say "char-jess" "Jess">>
<i>(the word landing, the degradation-kink architecture lighting up, tears already starting)</i> ...yes. Yes. //Please//.
<</say>>
<p>He shoves his cock into her mouth. The alpha breeding-register has no gentle gear, his first stroke in any configuration is //claim//. Jess gags on the first stroke and stays where she is, the gagging landing as the physiological signal her shame-circuit needs to fire, the body's refusal to accept the depth reading as //evidence of the submission// the psyche requires.</p>
<<say "char-ryan" "Ryan">>
<i>(hand staying in her hair, the alpha voice narrating)</i> That's it. Take it. You //are// a slut, you asked for this, you're going to take all of it.
<</say>>
<p>Jess's eyes water. Saliva runs from the corner of her mouth down her chin. Her hands are flat on the kitchen tile behind her, bracing, her body having made the decision that the hands are for bracing, and bracing only. The hand Jess uses for her pre-med flashcards at 4 AM is the same hand that is flat on the kitchen floor at 4:12 PM, holding her in place.</p>
<<if $kinks.jess.includes("degradation")>>
<p>Ryan lets her pull off for one second to breathe.</p>
<<say "char-jess" "Jess">>
<i>(hoarse, wet, her own self-assessment voice running over what he just said, the shame-circuit already firing faster than her breath)</i> I //am//. I'm a slut. I'm the pre-med one and I'm a //slut//. Put it back in, Ryan. Put it back in. Tell me again. I'm not //done// hearing it.
<</say>>
<</if>>
<<if $kinks.ryan.includes("breeding")>>
<<say "char-ryan" "Ryan">>
//Slut. Slut. I'm going to finish //inside// you. On the kitchen floor. You're going to take it and then you're going to //thank me// for it.//
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
//Slut. Slut. You're going to swallow. You're going to swallow in your mother's kitchen and then you're going to //thank me// for it.//
<</say>>
<</if>>
<p>He facefucks her. Jess gags at depth on three separate strokes, the specific wet choking sound of a throat that has been asked to take more than the throat has been trained for. She does not stop him. Her eyes are wet. Her face is flushed. The degradation loop is //full-throated// under the literal loss of throat capacity, and Jess has not come once from her own hand in three months of sessions what she is coming from //right now// with her mouth full and her eyes watering.</p>
<p>She comes on her knees, untouched, the orgasm a full-body tremor that shakes her hand flat against the tile. Ryan reads the tremor, some part of his conditioning, perhaps the same part that reads Megan's body through the Sensory Bridge, registers the orgasm and responds to it.</p>
<<if $kinks.ryan.includes("breeding")>>
<p>Ryan pulls out of her mouth in the last half-second, the breeding-wiring overriding the oral-completion reflex at the critical moment. He grips her hair, turns her around, and shoves her face-down onto the cold tile. The pre-med sweatshirt bunches around her shoulders. He yanks her pyjama shorts and panties down in one motion, lines himself up with her pussy, and mounts her from behind without asking and without pausing.</p>
<p>Jess is still coming from the first orgasm when he pushes into her. The second orgasm overlaps the first, the breeding-register thrust the specific thing her shame-circuit needed to close the loop. She takes him face-down on the kitchen tile, hands flat, forehead pressed to the floor, whimpering into the grout line.</p>
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(muffled into the tile, hips pushed back for him, the shame-circuit delivering the monologue between thrusts)</i> I'm a slut. I'm a slut. You can, you can //finish// inside me, Ryan, I //want// you to... I want to walk around with it the rest of the afternoon... I //deserve// it, tell me I deserve it...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hips slamming into her, the alpha voice flat)</i> You deserve it.
<</say>>
<</if>>
<p>He finishes inside her twenty seconds later, one sustained grinding thrust, his full weight on her back. He stays deep through the pulse. Jess feels every contraction and bites the sleeve of the pre-med sweatshirt to keep from making a sound Karen's neighbours could register.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-3-creampie.webp" alt="Post-scene: Jess face-down on the white kitchen tile in her bunched pre-med sweatshirt, pyjama shorts pulled to her knees, bare ass raised, cum dripping from her pussy down the inside of her thigh, exhausted submissive composure">
<<else>>
<p>Ryan pulls out of her mouth in the last half-second. He fists his cock once, aims, and comes in thick sustained ropes across her face, her forehead, her eyebrows, the bridge of her nose, her cheekbones, the corner of her mouth, her chin, a final rope across the collar of the pre-med sweatshirt. Jess holds still through the entire pulse, chin up, eyes squeezed shut as the cum lands. When he finishes she opens her eyes and looks up at him through the wet mess of her own face.</p>
<<if $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(cum dripping down her face, head tilted up toward his voice, the self-humiliation register steady)</i> ...you got it //everywhere//, Ryan. My hair. My eyebrows. The //sweatshirt//. My //study sweatshirt//. The one I've been living in lately. That's, that's a new low for me. Good. //Good//. I'm gonna wash this and put it //back on// and study in it and //think// about this every time I look at a page this week.
<</say>>
<</if>>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-3-facial.webp" alt="Post-scene: Jess on her knees on the white kitchen tile, huge facial, thick streaks of cum across her forehead and face, chin up, the pre-med sweatshirt streaked, exhausted submissive composure, the specific aftermath of a woman whose need for self-humiliation has been served cleanly">
<</if>>
<<say "char-ryan" "Ryan">>
<i>(the alpha voice steady, still close)</i> //Thank me//.
<</say>>
<<say "char-jess" "Jess">>
<i>(hoarse, the word not quite steady, but present)</i> ...thank you, Ryan.
<</say>>
<p>He lets go of her hair. Tucks himself back in. Buckles the belt. Jess wipes her face on the sleeve of the pre-med sweatshirt, the same sleeve she has been wiping highlighter off of for two months, and stays on the kitchen floor for another seven seconds. The kitchen clock ticks. Karen is due back in nineteen minutes.</p>
<<say "char-ryan" "Ryan">>
<i>(neutral, the alpha register wound back down to normal, somehow more unsettling for the neutrality)</i> Clean up. Rinse.
<</say>>
<p>Jess nods. Stands. Goes to the sink. Rinses. Spits. Rinses again. The taste lingers, it will stay with her for the rest of the afternoon. She finds she is fine with that.</p>
<<say "char-hivemind" "Hivemind">>
//The implants landed. The hostility was a pretext, the //real// cargo of the two implants was the specific setup for this exchange. Jess needed //permission// to be called a slut by someone in the house. Ryan needed //permission// to be the one calling. The implants gave both permissions at once, disguised as a fight. The architecture is beautiful. I am proud of it.//
//Jess will be in her textbook in twenty minutes. She will underline a sentence in yellow. She will taste him for the rest of the evening. The highlighter will not know.//
<</say>>
<p><span class="consume-success">Jess: +1 dream. Ryan: +1 pheromone. The permission-contract is signed. Every future session runs on the slut/alpha axis.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
/* ================================================================
VARIANT 4 — Jess BREAKDOWN + Ryan FEMINIZATION
Pity handjob while she studies. Less explicit but very specific kink.
================================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $permanentDone.pdJessRyanBreakFem to true>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>><</nobr>>
<div class="passage-title">The Kitchen Island Desk</div>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-1.webp" alt="Hoffman kitchen island — Jess sitting on a stool with pre-med textbook open and highlighter in hand, Ryan standing a step away in the camisole smeared with crying, his hands trembling, the implant-hostility collapsing into shared exhaustion rather than violence">
<p>The collision //deflates// where the implants expected it to ignite.</p>
<p>The implant supplied hostility to both. Jess absorbed hers as additional weight on an already-overloaded fortress and arrived in the kitchen //tired//. Ryan absorbed his as shame and arrived in the kitchen already //crying//. They look at each other across the kitchen — Jess on a stool at the island with her pre-med textbook open because she followed her schedule even in the middle of the implant-drama, Ryan by the fridge in the pink camisole with smeared eyeliner, and both of their nervous systems arrive at the same conclusion at the same moment: //neither of us has the budget for this fight//.</p>
<<say "char-jess" "Jess">>
<i>(not looking up from the textbook, voice flat with exhaustion)</i> Ryan.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(from by the fridge, the crying not quite stopped)</i> ...yeah.
<</say>>
<<say "char-jess" "Jess">>
<i>(still not looking up, highlighter still moving)</i> I don't remember saying what I apparently said. I don't think either of us said the things the other one thinks. Something is wrong with us.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hoarse, slumping against the counter)</i> ...yeah.
<</say>>
<p>The implant-hostility has met two nervous systems that absorb hostility as weight rather than fuel. Jess's runs on //self-blame//; Ryan's runs on //external-blame-that-collapses-into-self-blame//. Both of them arrive at //I'm the problem// simultaneously, and the //I'm the problem// cancels the //the other person is the problem// the implants required. The fight fails to start.</p>
<p>What happens instead is the specific intimacy of two exhausted people who have been programmed to resent each other and have discovered that they //both// know the resentment is engineered.</p>
<p>Ryan sits on the stool next to Jess. Close, closer than he would have sat before. The camisole strap is visible in Jess's peripheral vision. Jess says nothing about it. She has known about the camisole for a while and kept it to herself, bringing it up would cost her bandwidth she can't spare.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, looking at the table)</i> Are you, can I sit here while you study.
<</say>>
<<say "char-jess" "Jess">>
<i>(still not looking up)</i> Yeah.
<</say>>
<p>They sit in the kitchen in silence for four minutes. Jess reads. Ryan breathes. The crying winds down. The kitchen smells like coffee and lemon cleaner. Neither of them says anything for the four minutes. The silence is, for both of them, separately, without comparing notes, the //first calm// either of them has felt since the implants were planted recently.</p>
<p>Ryan is still half-hard under the camisole. His conditioning keeps his arousal at a low-grade background hum most of the time, and the proximity to Jess, the only person in the house who hasn't actively participated in the dressing-him-up and therefore doesn't carry a //specific pressure// for him, is soothing in a way that produces the low-grade hum regardless.</p>
<p>Jess notices. Jess is pre-med. Jess notices everything.</p>
<<say "char-jess" "Jess">>
<i>(still reading, highlighter moving through a sentence about the glomerular filtration rate, one hand sliding off the textbook onto Ryan's camisole-covered thigh without the highlighting pausing)</i> ...take it out.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(blinking)</i> ...what.
<</say>>
<<say "char-jess" "Jess">>
<i>(voice completely neutral, the flat problem-solving register)</i> Take it out. I'll help you. I have forty minutes before I have to go back to my room. I'm not going to //talk// about it. You take it out and I'll do the work and you can leave when you're done. Consider it, //an apology//. For whatever I supposedly said. Which I didn't.
<</say>>
<p>Ryan's breath catches. The offer is transactional, //clinical//, the pre-med voice applied to an activity that pre-med would never have proposed. Jess's attention is still on the textbook. The hand on his thigh has started to move, up, then stopping at the waistband of the boxers under the camisole, then waiting.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-2.webp" alt="Side view of the kitchen island: Jess's left hand highlighting a sentence in a textbook, her right hand disappeared under the camisole of the brother sitting next to her, Ryan's eyes shut in specific unobtrusive gratitude, the moment reading as care rather than eroticism">
<p>Ryan pulls his boxers down one-handed. Jess's hand, without her eyes leaving the page, slides in and wraps around his cock. Her grip is //competent//, the pre-med competence that everything her hand does on any textbook has, and the rhythm is slow, steady, the //pity handjob// his conditioning recognises as a specific genre of touch it has been waiting for without knowing how to name.</p>
<<say "char-hivemind" "Hivemind">>
//Clinical observation. Neither of their current wirings can sustain hostility. The implants have discharged as //maintenance labour//. Jess is jerking her brother off while she studies renal physiology. Her comprehension of the renal physiology does not suffer. Her highlighting remains accurate. The specific mental state this requires, //two parallel tasks, neither demanding above 40% attention//, is the //native operating mode// of a pre-med student in her final year, and Ryan has conveniently arrived as a third background task.//
<</say>>
<<say "char-jess" "Jess">>
<i>(reading, voice neutral, not looking down)</i> Tell me when.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes closed, the fem-sub register a quiet hum)</i> ...okay.
<</say>>
<p>She jerks him off for about fourteen minutes. Her left hand turns the textbook page twice during this interval. She highlights a sentence about the proximal convoluted tubule during the twelfth minute. Ryan's breath gets faster. His hips shift slightly on the stool.</p>
<<say "char-ryan" "Ryan">>
<i>(tight, the fem-sub voice steady)</i> ...now. Now.
<</say>>
<p>Jess doesn't reach for a napkin. She slides off her stool in one quiet motion, kneels on the tile at the base of his stool, and takes the head of his cock into her mouth, not a blowjob, not even a real mouth-move, just a receptacle held in place. Ryan's fingers grip the edge of the stool beneath him. He comes in her mouth in three slow pulses. Jess holds him there through all three, lets him finish entirely, then eases off with her lips still closed around the tip.</p>
<p>She sits back on her heels at the base of the stool. Mouth closed around a full load. Her eyes flick up to Ryan for the first time in a long stretch.</p>
<<if $kinks.ryan.includes("cumeating")>>
<p>Jess stands. Doesn't swallow. She puts one hand on the back of Ryan's neck, firm, clinical, the same hand that was just on his cock, and pulls him forward on his stool. Tilts his chin up with her thumb. Opens his mouth with her own. Transfers the cum from her mouth into his with the specific patient care of a pre-med student performing a small procedure she has clearly already rehearsed in her head before the moment arrived.</p>
<p>Ryan doesn't resist. His eyes close. The fem-sub register has always wanted this, has not had a word for it until right now, but recognises it the moment it arrives. She keeps her mouth on his until every drop has crossed over. Then she pulls back an inch, watches him.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-3-cumswap.webp" alt="Close-up side view: Jess leaning into Ryan on the kitchen stool, one hand on the back of his neck, her mouth pressed to his in a cum-transfer kiss, both of them eyes closed, a strand of fluid visible between their lips, the kitchen island textbook out of focus behind them, the specific intimate clinical care of a transfer Jess has organised like a small medical procedure">
<<say "char-jess" "Jess">>
<i>(flat, matter-of-fact, sitting back down on her stool and picking up the highlighter without looking at him)</i> Swallow. Close your mouth. Breathe.
<</say>>
<p>Ryan swallows. Closes his mouth. Breathes. A single tear rolls down his cheek and he doesn't know why.</p>
<<else>>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-3.webp" alt="Close-up on Jess kneeling at the base of the kitchen stool with her lips slightly parted over a mouth visibly full of cum, tongue faintly visible, eyes up toward the textbook and highlighter still on the marble island above her, the clinical composure of a pre-med student mid-task">
<p>She holds it in her mouth for the specific four-count pause she holds before she swallows a pill, then swallows the entire load in one clean motion. Wipes the corner of her mouth with the back of her hand. Stands. Climbs back onto her stool. Picks up the highlighter where she set it down.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(eyes back on the page, tone unchanged)</i> You good?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, grateful, small)</i> ...yeah. Thanks, Jess.
<</say>>
<p>Ryan pulls his boxers up, straightens the camisole, and leaves the kitchen. The crying is gone. The shame is gone. The calm that replaced both is //substantial//, more calm than Ryan has felt in a long while. He goes to his room and falls asleep immediately.</p>
<p>Jess highlights another sentence. Turns the page. Reads on. The pre-med schedule has not been disrupted. A twin-task has been completed with the exact economy Jess's overstructured day permits.</p>
<<say "char-hivemind" "Hivemind">>
//The implants were absorbed rather than ignited. The two of them process hostility as //additional weight, do not escalate//, and instead produce a maintenance-labour exchange that reduces cortisol in both parties. Ryan just slept for the first time in a long while. Jess finished a chapter without caffeine. The hostile framing has been //metabolised// into care, and the care is structured as transactional so neither of them has to call it what it is.//
//This pair will continue. Twice a week, afternoon, an unscheduled pattern the two of them will //arrive at// rather than plan. The schedule will surface itself soon enough. Karen will miss it. Karen will notice that Ryan sleeps better and Jess seems less anxious and attribute both to spring weather.//
<</say>>
<p><span class="consume-success">Jess: +1 psionic. Ryan: +1 psionic. The hostility metabolised as maintenance labour. Twice-weekly unscheduled pattern will recur.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]/* Called from beast-hub during phase advance to check if Karen's route should trigger */
<<nobr>>
<<conditioningCheck "karen" 6>>
<<if _conditioningMet and not $karenRoute>>
<<if $permanentDone.dreamWalkKaren>>
<<if $routeScore.karen.liberation gte 3>>
<<set $karenRoute to "liberation">>
<<elseif $routeScore.karen.dominant gte 3>>
<<set $karenRoute to "dominant">>
<</if>>
<</if>>
<</if>>
<</nobr>><<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenLib1 to true>><</nobr>>
<div class="passage-title">The Face In The Mirror</div>
<p>Karen wakes early on a morning she did not plan to wake early on, and goes to the bathroom mirror, and does something the mirror has not been used for in years, she looks.</p>
<p>The face that looks back is more or less the face she remembers, although it has been a while since she remembered it. The cheekbones held, the mouth is hers, and the eyes are tired in the specific way the household-management years have worn them, but they are good eyes underneath the tired and they are still hers.</p>
<p>She tilts her head and turns her chin a quarter-degree to the left, the way she used to before a date a long time ago, and the angle still works. She is not unbeautiful. She has been telling herself for a long time that this would have stopped being true by now, and at some point in the night her body has decided the telling-herself was the lie.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-liberation-1.webp" alt="Karen at the bathroom mirror in soft early-morning light, mid-application of a single coat of mascara, wearing a cotton nightgown, looking at her own reflection with the quiet surprise of meeting an older version of someone she used to be">
<p>The makeup bag is in the cabinet under the sink, behind the laundry detergent, behind the toilet paper. She has not opened it in months. She opens it now. The mascara is still good. The eyeliner is still good. There is a tube of an old foundation that she liked and stopped buying because it was thirty-eight dollars and the household budget always had a more urgent line item.</p>
<p>She does the face slowly, not the work face or the school-pickup face but the //her// face, and when she finishes she looks at it and thinks: //yes. There she is.//</p>
<<say "char-karen" "Karen">>
<i>(quietly to her own reflection, the work-voice gone, almost surprised)</i> ...okay. Hello.
<</say>>
<<say "char-karen" "Karen">>
<i>(still to the mirror, voice a touch lower, weighing it)</i> ...what if I... <i>(small pause, considering her own mouth in the glass)</i> ...what if I just started doing this again. The lipstick. The eyeliner. The whole, the whole thing. //Daily.//
<</say>>
<<say "char-karen" "Karen">>
<i>(a small breath that is half a laugh, head tilting at her own reflection, the decision arriving fully formed)</i> ...yeah. //Fuck it.// Why not. Who's going to stop me? Dale? <i>(eyebrow lifting at the absurdity)</i> //Dale.// Right.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter now, almost a vow to her own mouth, capping the foundation tube with a sharp click)</i> Mom is back.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has been seeing herself only as a household function for years. The mirror was for toothbrushing and pasta stains and the bad anxious mornings, never for this. This morning she used it to look at //herself//, and then she gave herself permission, out loud, to keep doing it. The household will not notice. The body will not let her unsee it.//
<</say>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.karenLib2 to true>><</nobr>>
<div class="passage-title">The Video Call</div>
<p>The mascara and the foundation and the eyeliner have all become daily steps now. The makeup bag, banished for years to the cabinet under the sink, lives on the bathroom counter beside the toothbrush.</p>
<p>This morning's protocol acquires a new layer. There is a video call at ten, a freelance client, a tax-quarter check-in. Karen has decided what she is wearing.</p>
<p>The blouse is silk, deep navy, a neckline that reads //professional but I have a body//. It has hung in the back of the closet since the last time clients came to the office in person, before clients started Zooming in their bathrobes from their kitchens, before Karen started taking calls in her cardigan because nobody could see below her shoulders anyway. The blouse goes on while the cardigan stays on the hook, and the slacks she chooses are a pair she has not worn since they fit slightly differently.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-liberation-2.webp" alt="Karen seated at her home-office desk in early-morning light, applying soft red lipstick from a premium-brand tube, a laptop in front of her with a video-conference welcome screen visible (not yet live), wearing a silk navy blouse with a modest scoop neckline, reading glasses pushed up, composed and slightly assertive">
<p>The lipstick is new. She bought it yesterday at the department store on the way back from the grocery. It cost forty-two dollars. She put it on her own card, the freelance card, the card she stopped using for personal things three years ago when the household budget tightened. The package on the kitchen counter from the same brand is a second tube, the everyday colour, for refill, bought without reading the price tag. She unboxes it before the call. She slips it into her bag.</p>
<<say "char-karen" "Karen">>
<i>(testing her camera angle, voice calmer than it has sounded in months)</i> ...there. Good. Mom's back.
<</say>>
<p>The client logs on. The client is a man in his late forties, polite, married. The Zoom window opens and his eyes catch on the screen for a half-beat longer than usual, the specific small adjustment of a man registering that a woman looks //different// today and trying to be polite about it.</p>
<<say "char-npc" "Client">>
<i>(easy professional tone, a slight gesture at his own temple)</i> Karen, hi, you look gorgeous today, by the way. Did you do something? New hair?
<</say>>
<p>The compliment lands somewhere behind Karen's sternum before she has decided whether she is going to accept it. She accepts it. The accepting takes about a quarter-second, and then her face does something she has not done on a client call in years, the warmth shows briefly on her cheekbones, visible through the camera, visible to her in the small self-preview window in the corner of her own screen.</p>
<<say "char-karen" "Karen">>
<i>(a half-beat too late, the work-voice catching up, but the smile reaching her eyes anyway)</i> Oh, thank you. No, just... <i>(small wave at her own face)</i> ...the makeup. I started doing it again. Today's a good day.
<</say>>
<<say "char-npc" "Client">>
<i>(easy nod, already pivoting to the agenda, the warmth carried forward into his voice)</i> Well, it suits you. Right, let's look at the Q3 numbers.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First external confirmation. The body has been investing in itself for less than a week and has just received its first public dividend. The neural pathway between //I have done something for myself// and //someone has noticed// has been re-activated. It will demand to be fed again.//
<</say>>
<p>Karen runs the meeting in the work-voice and the work-voice is two semitones lower than it has been all year. She catches herself sitting up straighter than the chair requires, smiling at her own self-preview between numbers, and she ends the call ten minutes ahead of schedule because the client is suddenly very efficient and very engaged. After he disconnects she sits at the desk for another two minutes, just looking at her own face on the closed-laptop reflection and feeling the boost continue to land in her chest.</p>
<<say "char-hivemind" "Hivemind">>
//The household budget has been quietly restructured. The line that used to fund someone else's video-game subscription is now funding the woman who runs the household budget. She has not announced the restructuring. The household has not noticed. The body has begun to invest in itself, and the freelance card is the instrument.//
<</say>>
<<if $kinks.karen.includes("lingerie")>>
<p>Under the silk blouse, a small piece of black lace from a discreet package that arrived recently. The package was opened in the bedroom with the door locked. The cashier at the department store did not see it, and the client at the video call did not see it, but //she// saw it, every time she leaned forward to write a number on her notepad.</p>
<</if>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>After the call she takes a long route back from the grocery, driving past the coffee shop on the south side of the university. She does not stop, but she slows down and looks at the people sitting in the window, and then she drives home with her cheeks warm and her hands tighter on the wheel than the route requires.</p>
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenLib3 to true>><</nobr>>
<div class="passage-title">The Drawer</div>
<p>The package arrived yesterday. Discreet box, no branding, the way packages in this neighbourhood arrive when they are not for the children. Karen took it inside before Dale came off shift, before Megan came home from the coffee shop, before anyone else noticed there had been a delivery at all. She put it in the bottom drawer of her own nightstand and closed the drawer.</p>
<p>This morning, before the alarm, she opens the drawer.</p>
<p>The box sits beside her phone charger and her glasses case. Plain cardboard, no branding, the way packages arrive when they are not for the children. She looks at it without picking it up. The package weighed less than she expected when it arrived; the package weighs more than she expected this morning, sitting in the drawer, waiting for her to make a decision about it.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to herself, the household-management self-talk now turning inward at her own drawer)</i> ...it's just a thing. In a box. From a website. //Calm down, Karen.//
<</say>>
<p>Her hand hovers. Does not pick it up.</p>
<<say "char-karen" "Karen">>
<i>(still weighing it, slightly drier, the work-voice trying to catalogue the risks)</i> ...what if Dale... ...what if Megan finds... ...what if //I// just...
<</say>>
<<say "char-karen" "Karen">>
<i>(the same half-laugh-decision-arrival from yesterday's mirror, this time aimed at the drawer, head tipping slightly at her own absurdity)</i> ...yeah. //Fuck it.// I deserve it. After all of it. //After all of it.//
<</say>>
<p>She picks up the box, takes the device out of it, and reads the instructions on the back the way she reads her freelance contracts, carefully, twice. She charges it on the nightstand cable that used to charge her work phone before she got the new work phone, and the light at the base goes from red to green in twenty-eight minutes. She is awake the whole time, awake since five.</p>
<p>The bedroom door is locked, Dale is on the couch downstairs, and the children are in their rooms. The cat has been routed elsewhere by something Karen did not need to think about. The morning belongs to her.</p>
<p>She pulls her sleep shirt off over her head and tosses it on the chair, slides her cotton underwear down her thighs and steps out of them, and climbs back into the bed naked for the first time in this house in years. The duvet is cool against her skin and her body registers the cool the way it registers everything she has been ignoring it about, with attention, finally, as a thing worth registering.</p>
<p>She turns the toy on. The vibration is lower than she expected and louder than she expected at the same time. She presses the head against the inside of her thigh first, slow, the way the instructions said to start, and slides it up the seam of her body until it is against her clit through the slick. Her clit reacts the way her clit used to react when she was twenty-two and somebody was finally paying attention to her body, alert, ready, not asleep at all, just waiting.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-liberation-3.webp" alt="Karen lying back in her own bed in soft morning light, naked under the duvet pulled up to her hips, one hand between her thighs holding a small pink silicone vibrator pressed to her clit, eyes closed, mouth open in a private gasp, head tipped back into the pillow, tousled bed-hair">
<<say "char-karen" "Karen">>
<i>(quiet, into the empty room, surprised at the sound of her own voice)</i> ...oh. //Oh.//
<</say>>
<p>She works the toy slow at first because she is out of practice, and then less slow because her body has not forgotten anything, and then not slow at all because her clit is engorged and slick and she has been swallowing this exact sensation for so many years that having it now is more like a release than a discovery. She slides two fingers of her free hand inside her own pussy because she wants to feel both at once. The texture of her own walls around her own knuckles is information she has not had access to for almost two decades.</p>
<<say "char-hivemind" "Hivemind">>
//The body remembers. Clitoris, vaginal walls, every pathway the household has been suppressing, all of it intact and functional. She is not learning anything new this morning. She is recovering what was always there.//
<</say>>
<p>The orgasm hits and her hips lift off the mattress. She bites down on the inside of her own forearm to stay quiet because the household has trained her to be quiet about anything that is for herself, and the bite muffles a sound that wants to be louder than the duvet can hold. The contraction goes on and on. She does not count the seconds because she has not counted seconds since college, she just rides it out with her teeth in her own arm and her thighs locked around her own hand.</p>
<<say "char-karen" "Karen">>
<i>(still inside the orgasm, pulling her own hand from her own mouth, voice cracked)</i> //Fuck.// Oh, //fuck.//
<</say>>
<p>Afterward she lies still with the toy off and her hand wet between her thighs and the duvet warm where her hips lifted it. Her chest is rising and falling like she has been running. The taste in her mouth is the taste of her own forearm and her own pulse and the specific alkaline tang of her own arousal on her fingers because she has not bothered to wipe them yet. She is forty-three years old and she has just given herself the best orgasm of her decade in her own bed in a house full of people who have spent fifteen years assuming she was not the kind of woman who needed one.</p>
<<say "char-hivemind" "Hivemind">>
//Recovery complete. The pleasure circuit is online. The household will not be informed. The body has learned this morning that the household was the wrong delivery vector for what the body needs, and the body now has a working alternative.//
<</say>>
<p>Eventually she gets up, puts the toy back in the drawer, and goes to the bathroom to wash her hands and her thighs and do the morning face the way she has been doing it lately, foundation, mascara, eyeliner, the new lipstick. The face that looks back is the one she has been getting reacquainted with, but it is different this morning, and the body underneath it is //very// different this morning.</p>
<p>At the kitchen table, on her phone, she opens the message thread with a colleague she has not texted in a long time. The colleague used to do girls' nights when the kids were younger, and they stopped because Karen stopped showing up. Karen types a message, rereads it three times, and sends it.</p>
<<say "char-karen" "Karen">>
<i>(quiet, almost laughing at herself, reading the screen)</i> //Drinks soon?//
<</say>>
<p>The reply comes back inside five minutes.</p>
<<say "char-npc" "Friend">>
<i>(via text, all-caps and three exclamation points)</i> YES. WHERE HAVE YOU BEEN.
<</say>>
<<say "char-karen" "Karen">>
<i>(typing, the decision riding the same morning momentum that opened the drawer)</i> Long story. Mind if I join you girls for drinks next week? Or whenever the standing thing is.
<</say>>
<p>The typing-bubble appears on the friend's side and stays there. The reply, when it lands, lands in three messages back-to-back.</p>
<<say "char-npc" "Friend">>
<i>(text, no caps this time, sincere)</i> Karen. We still do the standing thing. Same place, same crew. You don't have to ask. Just //come.//
<</say>>
<<say "char-npc" "Friend">>
We've been holding a chair for you. Literally. Maddie keeps her purse on it and tells the waiter it's saved.
<</say>>
<<say "char-npc" "Friend">>
<i>(third message, the friend-voice she remembers)</i> Wear something cute. We are going to lose our minds.
<</say>>
<<say "char-karen" "Karen">>
<i>(reading the third message, hand over her mouth, eyes already wet for a reason she is not going to investigate this morning)</i> ...okay. Okay. //Yes.//
<</say>>
<<say "char-karen" "Karen">>
<i>(typing, the small private smile holding)</i> I'll be there. Tell Maddie she can have her purse back.
<</say>>
<<say "char-npc" "Friend">>
<i>(immediate)</i> SHE WILL CRY. //I// will cry. We are losing our minds.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The household has lost its monopoly on Karen's body. The body has discovered that it can produce its own warmth. The body has also discovered that the social network outside the household is still present, dormant, available for re-activation. Both discoveries are the same discovery. The trajectory has settled.//
//A Karen who has both her own pleasure and her own friends is a Karen who has stopped needing the household to define her. The household will continue to function. The household will not own her anymore.//
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Karen's morning attention has shifted outward and her social network is reactivating. Household scrutiny eases.</span></p>
<<if $kinks.karen.includes("lingerie")>>
<p>The bottom drawer of the nightstand is fuller now. The black lace from the first package, a deep red set with sheer panels, an emerald set that cost more than a week of groceries. She wore the red set to the freelance video call yesterday. The client did not know. //She// knew. That was the point.</p>
<</if>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>The bedroom curtains do not get pulled fully closed at night anymore. The full-length mirror has migrated three inches closer to the window without anyone moving it. The morning routine, on certain mornings, ends with Karen standing in front of that mirror in the daylight for longer than the routine technically requires.</p>
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.karenDom1 to true>><</nobr>>
<div class="passage-title">The Coffee Comes First</div>
<p>5:42 AM. Karen wakes before her alarm and lies in bed for a long minute thinking about the lunch box.</p>
<p>The lunch box is what she has gotten up to assemble at 5:45 every weekday for fifteen years, the protein bar and the apple and the foil-wrapped sandwich and the small thermos. It is not a difficult ritual, nine minutes start to finish, but it is the first thing her body does each morning, feet on the floor and downstairs to the fridge and the cutting board and the foil before she has had a single thought about her own day.</p>
<<say "char-karen" "Karen">>
<i>(staring at the ceiling, voice flat, the household-management self-talk turning into a question for the first time)</i> ...what if I just don't.
<</say>>
<p>The thought sits in the dark above her face, and she holds it there, and the ceiling does not answer.</p>
<<say "char-karen" "Karen">>
<i>(working it out as she says it, the work-voice catching up to itself)</i> ...what if Dale comes home at 6:15 and finds an empty lunch box and just, handles it. Like an adult. Like the man who has been getting the lunch from his wife every morning for fifteen years could perhaps, today, manage his own.
<</say>>
<<say "char-karen" "Karen">>
<i>(the same fuck-it register from yesterday's mirror, the decision arriving)</i> ...yeah. //Yeah.// He'll be fine.
<</say>>
<p>She does not get up to make the lunch. She gets up to make her coffee.</p>
<p>She pours it into her own mug, the chipped one she likes, not the company-issue one she usually grabs on weekday mornings out of habit. She carries it to the kitchen island and sits on the stool and drinks it slowly while the sky outside is still grey. The lunch box sits on the counter beside her, closed and empty. Dale's protein, Dale's apple, Dale's foil-wrapped sandwich, none of them have been assembled.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-dominant-1.webp" alt="Karen at the kitchen island in pre-dawn light, coffee mug in both hands, looking across the open-plan space at the empty living-room couch where Dale will sleep when he comes home, composed, unhurried, an empty closed lunchbox visible on the counter beside her, untouched">
<p>The coffee is good. She has not actually tasted her own morning cup in a long time, because the mug has always been something she empties while she assembles Dale's lunch and reviews the children's school week and checks the household calendar. This morning there is nothing to assemble and nothing to review. There is just the mug, warm in her hands, the grey light, and her.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the empty kitchen, almost surprised at the discovery)</i> ...mm. //Yes.// I forgot.
<</say>>
<<say "char-karen" "Karen">>
<i>(after a long sip, eyes on the empty couch across the open-plan space, the decision settling into something more permanent)</i> ...he can figure it out. He's a grown man. He'll figure it out, or he won't, and either way it is not, //this// morning, my problem.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter, the vow-line, almost to the chipped mug in her hands)</i> Mom is back, and mom comes first now.
<</say>>
<p>Dale will come home at 6:15, look in the lunch box on his way through the kitchen out of habit, find it empty, and say nothing. He will dig a leftover protein bar out of the cabinet and take it to the couch and fall asleep before he eats it. The household has been quietly restructured between 5:42 and 5:58 AM, and not one person has been informed.</p>
<<say "char-hivemind" "Hivemind">>
//She has stopped serving the household before serving herself. The reorder is invisible until the family reaches for a resource that is no longer where it used to be. It will hold. The body has decided.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.karenDom2 to true>><</nobr>>
<div class="passage-title">Karen's Schedule</div>
<p>5:30 AM. Karen at the kitchen table with her laptop, drafting the list. She has been thinking about writing it since the morning the lunch box stayed empty. She has rewritten the time blocks four times. The version that prints out at 5:45 is the one that survived every pass.</p>
<p>She prints it, holds it, reads it once, and holds it a beat longer.</p>
<<say "char-karen" "Karen">>
<i>(quietly to herself, her own handwriting in her own hands)</i> ...if I put this up, it's real. If I put this up, the family wakes up to it and adjusts and I am //not// taking it back down.
<</say>>
<p>She holds it for a few more seconds. The kitchen is silent. Outside, a bird starts the morning shift.</p>
<<say "char-karen" "Karen">>
<i>(the same fuck-it that has been arriving at the threshold of every morning lately, head tilting at her own absurdity)</i> ...yeah. //Fuck it.// It's real. They will adjust.
<</say>>
<p>She walks to the fridge. Pulls the strawberry magnet off, slides the list under it, presses the magnet back into place. Steps back. Looks at it from a few feet away.</p>
<<say "char-karen" "Karen">>
<i>(to the fridge, almost a vow)</i> Mom is in charge of //mom// now.
<</say>>
<p>The family wakes up to a list on the fridge. Karen's handwriting, stuck under the strawberry-shaped magnet that has been on this fridge since the children were small. The list is new. The magnet is not.</p>
<div class="data-panel">
<div class="data-panel-title">Karen's Schedule (Effective Immediately)</div>
<div>6:00 to 8:00 AM: Personal time. Coffee, mirror, planning. //Do not interrupt.//</div>
<div>8:00 to 11:30 AM: Freelance client work. Door closed. //Do not interrupt.//</div>
<div>11:30 AM to 12:30 PM: Lunch. Mine. Alone or by invitation only.</div>
<div>12:30 to 4:00 PM: Continued client work or errands of //my// choosing.</div>
<div>4:00 to 6:00 PM: Household tasks I have selected. Not the household's selection of me.</div>
<div>6:00 to 7:00 PM: Family dinner if the family is interested. If not, my own dinner.</div>
<div>7:00 PM onward: Personal time. Reading, evening routine, my own calls.</div>
<div style="margin-top:0.5em"><i>Non-urgent household business: save it for the 6:00 PM dinner window. Outside that, please knock only if it's urgent.</i></div>
</div>
<img class="scene-img" src="media/scenes/symbiotic/karen-dominant-2.webp" alt="Karen seated at the suburban kitchen table in warm morning light, holding her coffee mug in both hands, the printed Karen's Schedule list visible on the refrigerator behind her, slightly satisfied composure, no other family members in frame yet">
<p>Ryan reads it first, stares at it, and goes back upstairs without a word. Megan comes down later, reads it over Karen's shoulder, opens her mouth to say something. Karen does not look up from her coffee.</p>
<<say "char-megan" "Megan">>
<i>(testing the air, finding it different)</i> ...Mom. This is, is this for real, or is this a...
<</say>>
<<say "char-karen" "Karen">>
<i>(setting the mug down, voice level, eyes finally lifting)</i> It's for real. I'll be in my office from eight. Do not knock unless someone is bleeding.
<</say>>
<<say "char-megan" "Megan">>
<i>(quieter, recalibrating)</i> ...okay. Okay. I'll let Ryan know.
<</say>>
<<say "char-karen" "Karen">>
He read it on the way down. He knows.
<</say>>
<p>Megan goes back upstairs. The kitchen is quiet. Karen finishes her coffee at her own pace, in her own kitchen, on her own schedule. The list will hold, and within days the household will adjust; soon enough it will not remember Karen ever having been on call.</p>
<<say "char-hivemind" "Hivemind">>
//She has claimed her time. The household has been used to drawing on her hours without permission. The list ends that. Karen is now an asset she manages, not a resource the household consumes.//
<</say>>
<<if $kinks.karen.includes("bondage")>>
<p>In the upstairs closet, behind the household-paperwork box, Karen has put three silk scarves. Burgundy, charcoal, ivory. She has not used them yet. She has tested the knots, in the closet behind a closed door, with her fingers around her own wrist. The scarves are scheduled. They will be deployed when she has decided who is wearing them.</p>
<</if>>
<<if $kinks.karen.includes("denial")>>
<p>The "do not interrupt" hours hold absolutely. One afternoon Dale knocks on the office door to ask if she has seen his keys. Karen does not answer the door. Dale stands in the hallway for forty-five seconds, then goes downstairs, finds the keys himself, and does not knock again. The boundary holds. Dale learns it faster than Karen expected.</p>
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.karenDom3 to true>><</nobr>>
<div class="passage-title">The Morning Off</div>
<p>A weekend morning. The list has been on the fridge for a while now. The list has held. Today's list-block, between 9:00 AM and 11:00 AM, reads //personal time, do not interrupt.// Karen has been thinking about how she is going to use it for days.</p>
<p>Dale comes home from his BioGenesis night shift at 6:14 AM and crashes on the couch the way he always does. Karen lets him sleep until 9:00 exactly.</p>
<p>At 8:47 she is at her vanity in the silk robe, not the work robe, the silk one she bought recently and has not worn in front of anyone yet. She has done the makeup, the hair, the small spray of something that costs too much that she also bought recently. She is watching herself in the vanity mirror because the vanity mirror has, lately, become a place she trusts to tell her the truth about herself.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to her own reflection, working the decision through out loud)</i> ...okay. So I go down. I get him. I bring him up. And then I tell him //exactly// what I want.
<</say>>
<p>Beat. The reflection looks back. Considers it.</p>
<<say "char-karen" "Karen">>
<i>(slightly drier, the work-voice surfacing to catalogue the risks)</i> ...what if he laughs? What if he just looks at me like I'm crazy and goes back to sleep? <i>(longer beat, head tilting at her own reflection)</i> ...he won't. He's a man who hasn't been touched with intent in years, he'll come up and do whatever I tell him to do, he's been waiting to be told to do something for so long he won't even think to laugh.
<</say>>
<<say "char-karen" "Karen">>
<i>(decision-arrival, the same register as the mirror, the makeup bag, the box, the list, every threshold this week)</i> ...yeah. //Fuck it.// I deserve this. After all of it. After //all// of it.
<</say>>
<p>She tightens the robe at the waist and stands up from the vanity, walks down the stairs in the silk and the morning light, and stands in front of the couch looking at the husband she has been married to for twenty-two years.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-dominant-3-summon.webp" alt="A composed 43-year-old woman with shoulder-length black hair, makeup and hair freshly done, standing in front of the living-room couch in a short silk robe tied at the waist, looking down at her husband with calm authority, while on the couch a tired mid-forties man with thinning dark brown hair and stubble in a rumpled grey work polo has just woken and looks up at her uncertainly, warm morning light through the blinds, a quiet shift of power">
<<say "char-karen" "Karen">>
<i>(no preamble, voice steady, the new register Karen has been wearing all week)</i> Dale. Upstairs. Now.
<</say>>
<p>Dale opens his eyes and looks at her, then at the robe, then back at her face, and he does not ask what she means. He gets up off the couch in the specific tired-and-grateful way of a man who has not been given a direct sexual instruction in years and has been waiting for one without knowing he was waiting.</p>
<p>In the bedroom Karen locks the door behind them, pulls the chair from the vanity and sets it at the foot of the bed, then drops the robe on the chair and climbs onto the bed to lie back against the pillows, naked, in the late-morning light coming through the blinds. Dale stands at the foot of the bed in his BioGenesis polo and his security pants, looking at his wife the way he has not been allowed to look at her in years.</p>
<<say "char-karen" "Karen">>
<i>(propped on her elbows, watching him)</i> Pants too. All of it. I want to see what I'm working with.
<</say>>
<<say "char-dale" "Dale">>
<i>(unbuckling, voice rough from sleep, the apologetic-tired register that runs his whole life)</i> ...yeah. Yeah, okay, Karen. Yeah.
<</say>>
<p>He gets out of his clothes. His cock is already half-hard from the moment she said //upstairs, now// in the living room and he has no idea what to do with it because he has not been wanted in this room for years. Karen looks at him. Decides what she is going to use first.</p>
<<say "char-karen" "Karen">>
<i>(spreading her thighs deliberately, one hand sliding down her own stomach toward her clit)</i> Mouth. Get down here. Between my legs.
<</say>>
<p>Dale gets on the bed and between his wife's thighs and she pulls his head down to her cunt with one hand on the back of his neck. He licks her the way he used to when they were dating in the early years, before the children and the security shifts buried that man under a decade of being too tired to try. She had forgotten he could do this. He has not forgotten how, and the muscle memory is still there in his tongue.</p>
<<say "char-karen" "Karen">>
<i>(hand fisted in his hair, hips lifting, voice clipped)</i> //There.// Right there. Flat tongue, slow. That's it. //Good boy.//
<</say>>
<p>The wet sound of it fills the room, his mouth working her open, //slrrp//, //mmh//, the soft suck and slide of a man who has remembered what his tongue is for. Karen grinds up against his face and does not let his head go.</p>
<<say "char-karen" "Karen">>
<i>(breath going ragged, the work-voice cracking into something hungrier)</i> Don't you dare stop. Right there, //fuck//, just like that. You're going to make me, you're going to, //Dale//, don't you fucking move...
<</say>>
<<say "char-dale" "Dale">>
<i>(muffled, gripping her thighs, drowning in her and not trying to surface)</i> //Mmph. Glk. Mmh.//
<</say>>
<p>It builds faster than she planned, the body ready for days now, and it crests with the door locked and the children out and nothing left to make her quiet. Her thighs clamp around his head and her back arches off the pillows.</p>
<<say "char-karen" "Karen">>
<i>(seizing, hand twisting in his hair, holding his face exactly where she needs it)</i> //There//... there... //don't move//... //ahh//...
<</say>>
<p>She comes hard enough to soak him. The orgasm tears through her, her pussy clenches and then lets go all at once, and she squirts straight into his face, a hot wet gush across his open mouth and down his chin, and she does not loosen her grip on his hair through any of it. She holds him there in the mess of it, grinding through the aftershocks against his soaked face, riding it out on his mouth until the last pulse fades.</p>
<video class="scene-video" src="media/video/karen-dominant-3.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-dominant-3.webp"></video>
<<say "char-karen" "Karen">>
<i>(coming down, breathless, still holding his head, voice wrecked but pleased)</i> //Fuck.// Yeah. //There// it is. Stay. Stay there until I say so.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The reclamation has cleared the marital channel. The husband has been given a direction, the wife has given the direction, and the household-shaped silence between them has been replaced, for the first time in years, with one specific, useful, hers-not-his transaction.//
<</say>>
<p>When she finally pushes his head back and sits up, Dale's face is drenched, dripping off his chin onto the duvet, his cock leaking against the mattress, and he is looking at her like a man who has just remembered he has a wife. Karen looks at the cock for one assessing beat.</p>
<<say "char-karen" "Karen">>
<i>(swinging her legs off the bed, picking up the silk robe, voice gone back to neutral-instructional)</i> Inside me, fast. I have a 10:30 call.
<</say>>
<p>Dale gets up off the bed. She bends over the edge of the mattress and braces her forearms on the duvet. Dale slides into her from behind and she takes him the way a woman takes something she has decided she has time for. He lasts about ninety seconds because Dale always lasts about ninety seconds when he has been waiting, and Karen does not need him to last longer. She has already had what she came for.</p>
<<say "char-dale" "Dale">>
<i>(holding her hips, voice cracking)</i> Karen... Karen, I'm, should I...
<</say>>
<<say "char-karen" "Karen">>
<i>(over her shoulder, voice level, the practical-mom register coming in to manage the practicalities)</i> You can fuck me while I'm still wet. Pull out and use a tissue when you're about to be done, I don't want to smell of sperm and I don't want to clean my bedroom today. If you think you can't handle that, go finish in the bathroom.
<</say>>
<p>Dale freezes inside her, eyes going wide. He opens his mouth to say something and the something does not come out, he is too close to the edge to think about logistics, too far past the point where his body would have managed a graceful pull-out-and-tissue protocol on its own. He hesitates, and Karen feels him hesitate, and she does not turn her head.</p>
<<say "char-dale" "Dale">>
<i>(panicked half-mumble, the logistics defeating his sleep-deprived brain in real-time)</i> ...uh... Karen... I... //fuck//, bathroom, bathroom, sorry, sorry...
<</say>>
<p>He pulls out of her in one ungraceful motion, hops off the bed, kicks his security pants the rest of the way off, and stumbles for the bathroom door with one hand cupped over himself. Karen, still bent over the edge of the mattress, watches him over her shoulder with an expression that is not quite pity and not quite contempt and slightly closer to amused.</p>
<p>The bathroom door closes. There is a muffled noise from behind it that resolves, after about ninety seconds, into Dale running the tap. Karen straightens up, picks the robe off the chair and ties it, and sits on the edge of the bed.</p>
<p>Dale opens the bathroom door eventually. He has tucked himself back into his security pants and washed his hands. He looks at his wife the way a man looks at a wife who has just witnessed him fail a logistical instruction that should have been beneath him.</p>
<<say "char-karen" "Karen">>
<i>(rising from the bed, crossing to the bedroom door, hand on the knob, not unkind but not letting him off the hook either)</i> You can go. Get some sleep. Next time, the bathroom //first//, saves us both the choreography.
<</say>>
<p>Dale goes, and Karen closes the door behind him and sits on the edge of the bed for a long minute, looking across the room at her own reflection in the full-length mirror, silk robe loose, hair wrecked, expression unreadable.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the reflection, processing)</i> ...so that's what that's like.
<</say>>
<p>The reflection looks back. Does not contradict her.</p>
<<say "char-karen" "Karen">>
<i>(small breath that is half a laugh, the recognition arriving in full)</i> ...I should have done that years ago.
<</say>>
<p>She is forty-three years old and she has just used her husband to come and dismissed him afterward and she did not feel guilty about either. The reflection in the mirror, watching her, is not unfamiliar. It is the woman the household-management years had been quietly suppressing, and that woman is //pleased// with herself.</p>
<<say "char-karen" "Karen">>
<i>(standing, tightening the robe at the waist with the new authority, addressing the mirror like an old friend she is glad to see again)</i> Mom is in charge of //mom// now. And mom has work to do.
<</say>>
<p>The new register holds.</p>
<<say "char-hivemind" "Hivemind">>
//She has reclaimed her body and her marriage in the same morning. Through Dale this time, not in spite of him. The household will not know what was decided in the bedroom this morning. The household will know that Karen is different starting today.//
//The marriage has been re-tenanted. The mother is in charge of the bedroom now. The bedroom will be in charge of everything else.//
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<<addBiomass 2 "karenDom3">>
<p><span class="delve-intel">Karen has reclaimed her marriage as an instrument she manages. Household scrutiny eases.</span></p>
<p><span class="biomass-gain">+2 biomass</span></p>
<<if $kinks.karen.includes("bondage")>>
<p>The silk scarves in the upstairs closet have been moved. They are in the nightstand drawer beside Karen's bed now, burgundy on top, and Karen has not used them yet. She has decided that the next time she calls Dale upstairs, she will.</p>
<</if>>
<<if $kinks.karen.includes("denial")>>
<p>Dale tries to come back to the bedroom that evening. Karen, at her vanity, hears him in the hallway. She does not get up. He does not knock. He listens at the door for a few seconds, recognises that the door is closed for a reason, and goes back downstairs to the couch. Karen, at the vanity, smiles at her own reflection. The smile is not unkind. It is informed.</p>
<</if>><div class="household-event">
<div class="passage-title">The Weekly Briefing</div>
<p>7:43 AM. Karen has made the coffee and set out the cereal boxes, and she is mid-sentence into the weekly briefing, the five-item agenda she has been delivering in some form or another since Jess was a kid, when Jess cuts her off.</p>
<<say "char-karen" "Karen">>
<i>(mid-item-three, in the managerial tone that brooks no interruption)</i> ...and I'd appreciate you being home by eleven on weeknights. You've been getting back after midnight all week, and your kitchen glass has been in the sink for days now, which...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, almost bored, the cadence of a TA explaining a wrong answer to a slow undergraduate)</i> Mom. Stop. Stop <b>FUCKING</b> talking. I'm twenty-one, I'm pre-med with a 3.91 in a programme that has killed half the <b>SHITS</b> I started with, and the glass in the sink is the glass I drank out of at one in the morning after eleven hours of biochem flashcards. You'd know that if you ever watched, but the one metric you actually track is the <b>PISS-POOR</b> eleven PM curfew, which has <b>JACK SHIT</b> to do with my actual life, which tells me the briefing isn't about me. It's about //you//.
<</say>>
<<say "char-karen" "Karen">>
<i>(firm, mom-voice arriving, the managerial posture reaching to reassert itself)</i> Jessica. That's enough. I am your mother and I will not be...
<</say>>
<<say "char-jess" "Jess">>
<i>(cutting her off, same register, voice dropping a note, not raising)</i> No. Not even <b>FUCKING</b> close. You're going to sit in that chair and I'm going to finish, because this has been coming for a long time and you don't get to interrupt the one <b>GODDAMN</b> morning I actually say it out loud. You need a son-of-a-<b>BITCH</b> of a family to schedule, that's what this is, you need <b>something</b> you can wake up every week and run a briefing on, and your three kids are the only three things in this house that still hold still long enough to be scheduled. Except we //don't//. //Megan// doesn't, she rolls in past two most nights and you let that <b>SHIT</b> slide because she walks through the door with cash and a smile and you don't even ask whose <b>DICK</b> she sucked for it. //Ryan// doesn't, he hasn't left that bedroom in forever, you leave a plate outside the door like he's some <b>DOGSHIT</b> feral animal you've given up rehabilitating, and you call that the arrangement. I'm the only one of your kids who still //shows up to this kitchen// at seven AM every week, and your reward for the one kid who still sits at the table is making me the <b>BULLSHIT</b> briefing subject because I'm the only <b>ASS</b> left in a chair. That's what this <b>FUCKING</b> family is, Mom, that's the inventory. Megan the tip-hoarding barista who can't find her own cervix with both hands and a diagram. Ryan the mouth-breathing cave troll who's gonna be forty and still asking if dinner is ready through his bedroom door. And me. And you've decided the most efficient use of your managerial energy is to grind on the one kid who still bothers to <b>FUCKING</b> show up.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter now, colour in her cheeks, one hand flat on the counter)</i> Jessica. //Watch your mouth.// You don't, you don't talk about your siblings like...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, unhurried, not raising her voice, the register absolutely unchanged)</i> I'll talk about them however <b>THE FUCK</b> I want, Mom, that's actually the whole point. Watch //your// mouth. I'm done. You've been running these weekly briefings since I was a kid and I've politely listened the whole time, and I'm telling you, in this <b>MOTHERFUCKING</b> kitchen, that I'm done. Whatever item four is, whatever item five is, text me, I'll read it when I have <b>FUCKING</b> time. Which is not now. //Not today//. Probably not going forward.
<</say>>
<p>Karen opens her mouth and closes it, opens it again and loses the sentence, then sips her coffee instead. Her hand on the counter is not steady.</p>
<<say "char-karen" "Karen">>
<i>(quieter, recovering, the voice of a mother reaching for plausible deniability)</i> ...you're in a mood. I'll text you.
<</say>>
<p>Jess turns her back on her mother and walks toward the kitchen doorway. At the threshold, without breaking stride, she raises her left hand over her shoulder in a single efficient gesture, middle finger extended, the rest of her fingers folded, casual as a wave, and holds it there for the three steps it takes her to clear the door. Karen's mouth opens again. Jess is already in the hallway.</p>
<img class="scene-img" src="media/scenes/spore-jess-brat-1.webp" alt="Karen in the foreground holding a white coffee mug, her mouth slightly open in frozen mid-sentence shock, staring after her daughter; Jess in the background walking away toward the far counter of the kitchen, her back to the camera, purple-streaked dark hair, one hand raised casually over her shoulder with the middle finger extended; morning kitchen light, wooden cabinets, suburban interior">
<p>Jess takes her coffee upstairs, locks her bedroom door, and sits on the edge of the bed, and when her thighs press together the friction stops her cold. She sets the mug on the nightstand without drinking from it.</p>
<<say "char-jess" "Jess">>
<i>(under her breath, to the empty room, a slow incredulous half-laugh)</i> ...are you <b>FUCKING</b> serious. From //that//?
<</say>>
<<say "char-hivemind" "Hivemind">>
//She cut her mother off twice. She deployed profanity with surgical discipline, a varied toolkit, each swear placed like a marker in the monologue, none of them shouted. She threw her siblings under the bus on the way through, as collateral, because the collateral was //useful// to the demonstration. She walked out. The body has responded to the act of revocation with the exact chemical signature it produces during masturbation. The circuit I have been building has just been verified by the subject's own physiology. //Silencing a controlling voice// has registered as //arousal//. The mother is only the first vector. The body is about to look for others.//
<</say>>
<p>Jess pulls the covers over her head and her hand slides between her thighs, and she runs the kitchen again behind her eyes, not the anger, not the words she said, but the one frame where Karen's mouth closed and stayed closed.</p>
<<say "char-jess" "Jess">>
<i>(muffled under the duvet, breath catching, working two fingers in slow then faster)</i> Yeah. //That.// The part where you finally shut up. <i>(a sharp exhale through her teeth)</i> Oh, that's the part, huh.
<</say>>
<p>She comes inside three minutes, teeth set on her own wrist to keep it down, and lies in the dark afterward with a smile her face has never quite made before.</p>
<<say "char-hivemind" "Hivemind">>
//The silenced-mother is the new library entry. The body will want to silence more things. Her next lecture has a professor who has been wrong about one specific point for a while now, and Jess has been tolerating it. Jess will not tolerate it the next time.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Office Hours</div>
<p>2:14 PM. Jess is in Dr. Reinholt's office hours with a pharmacology midterm marked //62 out of 100// in red pen at the top of the page, a failing grade in a pre-med programme, a course-killer. She has checked the test against the answer key, the syllabus, and the textbook chapter he assigned, and it should be a ninety-three. He has been finding reasons not to regrade it since she first brought it in.</p>
<p>Reinholt is halfway through defending the grade, some blend of //engagement with the material// and //precision in terminology// and //trust the process//, when Jess stops him.</p>
<<say "char-jess" "Jess">>
<i>(flat, the trash-talk register sharper than it was at the kitchen counter, a hunger behind it now)</i> Stop. Just, <b>FUCKING</b> stop. I have been listening to you do this for a while now. You keep making me come back here to listen to you make up <b>BULLSHIT</b> reasons why a test I scored ninety-three on is marked //sixty-two//, a failing grade in this programme, which you <b>GODDAMN</b> know, which is why you're doing it. Today I'm going to tell you some things, you're going to listen, and then you're going to regrade this <b>SHIT</b>, and then we're done. Are you following? Nod.
<</say>>
<p>Reinholt's hand freezes on his coffee cup. He does not nod. His mouth opens.</p>
<<say "char-jess" "Jess">>
<i>(cutting him off)</i> I said //nod//. Don't <b>FUCKING</b> talk.
<</say>>
<p>He nods. Slowly.</p>
<<say "char-jess" "Jess">>
<i>(leaning forward, one hand on the edge of his desk, voice low and unhurried)</i> Here's what's happening. You're sixty-two years old. You have tenure. You published three papers in the last five years, all in journals one tier below where you used to publish. Your graduate programme has been stripped of two funding lines because you stopped attracting PhD students. You are //shrinking//, Dr. Reinholt, in the specific way senior faculty shrink when the field moves past them, and the one <b>FUCKING</b> lever you have left is the grade book. You have been taking it out on female undergraduates for at least six years. I've talked to four of them. I have names. I have dates. I have the pattern. You give us the //most correct answer// and then you tell us it isn't //nuanced// enough, and you watch our faces do the math on whether to fight a tenured <b>PRICK</b>, and you get to feel like you're still //the expert in the room//. That's the game, Doctor. That's the whole <b>DOGSHIT</b> routine. I've named it. Now we're going to stop playing it.
<</say>>
<p>Colour rises up Reinholt's neck and his jaw tightens, and the coffee cup goes still halfway to his mouth before he sets it down on a stack of ungraded papers without looking at it.</p>
<p>Jess steps around the desk. Reinholt pushes his chair back to stand, and she puts one hand flat on his chest and //shoves//, and the chair rolls back on its wheels and hits the bookshelf with a small thump and stops. She goes with it, standing over him, close, and his hands find the armrests and grip.</p>
<<say "char-jess" "Jess">>
<i>(low, almost gentle, one hand still flat on his chest, leaning in)</i> No. You sit. We're not done.
<</say>>
<img class="scene-img" src="media/scenes/spore-jess-brat-2a.webp" alt="A young punk woman with long purple and black hair, septum ring, black shirt open exposing her bare breasts, standing close to a seated older bearded man in a black leather high-backed office chair, his profile partly visible at the edge of the frame, her expression composed and contemptuous, university office interior behind her">
<<say "char-jess" "Jess">>
<i>(shoving her shirt up over her small bare breasts without unbuttoning it, leaning down to press her chest to his face, phone coming out of her back pocket in the same motion)</i> New arrangement, Doctor. You're going to sit in this chair and not <b>FUCKING</b> move and not speak. I'm going to take a photograph. The photograph is going to show my tits in your face, your <b>GODDAMN</b> hands on the armrests, and the framed //Dr. Martin Reinholt, Department of Pharmacology// over your shoulder. Timestamped this afternoon. It's going to live in three separate cloud accounts with three different passwords, and I'm not going to send it anywhere unless I need to. If you regrade this midterm to the ninety-three it should be, and if you regrade every single test I hand in this semester to what the textbook <b>FUCKING</b> says, this photograph stays in a folder no one opens except the <b>BAD BITCH</b> standing in front of you. If you fight me, if you so much as //look// at me funny in the hallway, the photograph goes to the dean, your department chair, and your wife. Clear? Nod.
<</say>>
<p>His nose is in her sternum. His breath is hot against her skin. His hands grip the armrests with the specific knuckle-white of a man who has been told not to move by a woman who has the leverage to mean it. He nods against her chest.</p>
<p>Jess raises her phone above his head. The front camera is already on, the selfie angle already framed. She waits the extra half-second for Reinholt's eyes to close in the specific combination of panic and something he is not going to be able to tell himself about tonight. //Click//. The shutter sound. The timestamp. The diploma at the edge of the frame.</p>
<<say "char-npc" "Reinholt">>
<i>(hoarse, breath still against her skin, a single word forcing itself out around her chest)</i> Jess, please...
<</say>>
<<say "char-jess" "Jess">>
<i>(one finger raised casually, a lazy little shush-gesture she doesn't bother to make stern)</i> Shh. Not your turn yet, Doctor.
<</say>>
<<say "char-npc" "Reinholt">>
<i>(pulling his head back a half-inch, finding breath, attempting to negotiate)</i> My wife... Susan has nothing to do with, you don't...
<</say>>
<<say "char-jess" "Jess">>
<i>(same shush-finger, a bored tilt of the head, delivering the next line in the flat pharma-lecture voice she uses for memorised facts)</i> Five-five-five, four-two-two, eight-one-nine-seven. Susan. That's the number on the pink post-it stuck to the side of your monitor, right above the one that says //dentist Thurs 3 PM// and below the one that says //dry cleaning//. I noticed it when I walked in. I memorised it because I was planning to memorise it. If we need to escalate this past the folder, Susan is a single text message away from a timestamped JPEG of her husband's face between my tits. Are we still negotiating, Doctor? Or are we done?
<</say>>
<p>Reinholt does not answer. The attempt to speak goes out of his face. He sits in the chair and looks at a point on the floor between his shoes and does not try for a third time.</p>
<p>Jess pulls her shirt back down. Steps back half a pace.</p>
<<say "char-hivemind" "Hivemind">>
//She has crossed a line the version of her from the kitchen briefing would not have crossed. The trash-talk stopped being the endpoint. The body required //physical evidence// of the silencing, and the body required //leverage//, a thing she owns, in a folder, that he does not own. The professor's career is now a hostage and his wife's phone number is on the hostage tag. Jess's arousal has spiked so hard her thighs are trembling, and the trembling is not visible because she is standing perfectly still, the way she has been standing perfectly still in front of control-voices her entire life, except now she is standing still //with a weapon//.//
<</say>>
<p>She looks down at him with his eyes still closed and his hands still on the armrests, and the fabric of his slacks is plainly tented, his cock rigid against the inside of it.</p>
<p>Jess smiles, the teeth-showing one she has been growing for years and only recently started letting people see.</p>
<<say "char-jess" "Jess">>
<i>(conversational, almost pleasant)</i> Oh. //Interesting//. You liked that, you <b>FUCKING</b> pervert. Okay. One more thing, Doctor. Then I'm gone.
<</say>>
<p>She crouches between his knees. His eyes open and he starts to say something, the first sound he has tried since she shoved the chair, and she puts one finger on his lips.</p>
<<say "char-jess" "Jess">>
<i>(finger on his lips, voice soft, contempt-polite)</i> Shh. Not your <b>GODDAMN</b> turn. Almost done.
<</say>>
<p>She unzips him and he does not stop her, and his cock springs free, flushed and rigid, a vein pulsing at the base that is doing the actual confessing his mouth is not. Jess leans in, raises the phone again, and extends her tongue and lays the tip of it flat against the head, one light deliberate contact held for the half-second the camera needs.</p>
<<say "char-jess" "Jess">>
<i>(tongue still resting against him, eyes up at the lens, almost cooing)</i> There it is. Say cheese, Doctor.
<</say>>
<p>She takes the second photograph.</p>
<img class="scene-img" src="media/scenes/spore-jess-brat-2b.webp" alt="Close-up of a young punk woman with purple and black hair crouched between a seated older man's knees, septum ring and lip stud visible, her pink tongue extended out flat and laid against the head of his erect cock, one light deliberate contact, the man's pelvis and thigh visible above, his hand gripping the armrest of a black leather office chair, dim university office in the background">
<p>//Click//.</p>
<p>She pulls back without letting her mouth close around him. Wipes her tongue on the back of her hand like she has just tasted something she wanted to catalogue and not consume. Stands up. Zips him back into his slacks with the same finger-and-thumb precision a mother uses on a child's jacket, his hard-on bent awkwardly inside the fabric, his body visibly //edging//, nowhere near release, no way to finish without using his own hand at a desk his secretary walks past.</p>
<<say "char-jess" "Jess">>
<i>(picking up the midterm, her bag, the textbook)</i> Regrade this <b>SHIT</b> by the start of next week. Email me the updated score. Don't text me. Don't call on me in class. Don't hold an office hour I have to attend. If my grade has any questions, email a TA, not me. If I need anything else from you, I'll find you, you dried-out old <b>FUCK</b>. We're done. Don't move until the door closes.
<</say>>
<p>She walks out without turning around and closes the door behind her, crosses to the second-floor bathroom, and locks a stall. Her hand is under her skirt before the door finishes swinging shut, two fingers already moving, the mental frame locked on his cock left leaking and unattended in the chair she pinned him in.</p>
<<say "char-jess" "Jess">>
<i>(barely a breath, forehead against the cold metal of the stall door, grinding into her own hand)</i> Sit there, you fucking, you //sit// there. <i>(her wrist going to her teeth)</i> Mm.
<</say>>
<p>She comes inside ninety seconds, fast and hard, teeth set on the back of her wrist.</p>
<<say "char-hivemind" "Hivemind">>
//Escalation beyond the kitchen-briefing vector. Silencing a controlling voice is still the core, but the body has added two new confirmations: //leverage// and //denial//. She left him hard, edging, humiliated, and in possession of no recourse. She owns two photographs. She owns the narrative. He will regrade the midterm that evening, alone in his office, with the tent in his slacks returning the moment he opens the folder. He will come, alone, at his desk, to a memory he cannot tell anyone about. Jess does not need to know this for the circuit to be complete, the //owning// is the dose. The existence of the photographs is the dose. She will find the next target this weekend.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Sneer Is the Foreplay</div>
<p>11:47 PM. A dorm room she drove to, not hers, not his, a third party's spare the resident has vacated for the weekend. The man under her is someone she met at the venue recently, a business major, a frat pledge who opened the evening at the bar by ordering her drink without asking what she wanted, and he has been trying to set the rhythm for the last seventeen minutes and getting it //wrong//, the specific wrong of a man who read one article and thinks the article is the whole library.</p>
<p>She stops him. Mid-motion. One hand flat on his chest to hold him still. Her mouth an inch from his ear.</p>
<img class="scene-img" src="media/scenes/spore-jess-brat-3a.webp" alt="A 21 year old punk woman with long purple and black hair sitting on top of a shirtless muscular bearded man on a bed, she is topless with her tank top discarded, leaning down toward him with her face inclined close to his chest and her lips inches from his, her right hand pushed down into the waistband of his grey boxers, his face calm and receiving, side-profile third-person view, dim bedroom">
<<say "char-jess" "Jess">>
<i>(voice low, flat, unhurried, the sneering register steadier than it was at the kitchen counter, practised now)</i> Okay. Let's, <b>FUCKING</b> stop. Stop for a second, because I have been watching you do this for seventeen minutes and I want to make sure we're on the same page. You're doing a //performance//, man, a <b>BULLSHIT</b> performance you think I want, the slow build, the confident hand placement, the eye contact that holds for exactly the right count, and you're doing it because you read an article. You read the article, your buddy told you about it, maybe your <b>FUCKING</b> dad sat you down when you were fifteen and said //this is how you do it, son//, and you memorised it, and now you're running the playbook at me like it's gonna <b>GODDAMN</b> work. And the thing is, you are <b>DOGSHIT</b> at it, man, not in a way where I want to teach you, in a way where I want to tell you to stop, because the playbook you memorised is //decades// out of date, and you're treating me like I've never had sex before, which is statistically implausible for a twenty-one-year-old woman in a college town. The ordering-for-me thing at the bar? That was your move, right? That was the opener, you <b>FUCKING</b> amateur? Jesus Christ. Listen to yourself. That's a move your <b>DEAD-ASS</b> grandfather would've made. And the worst part is I can see you running the next three steps in your head right now, you're gonna pin my wrists, you're gonna look deep into my eyes, you're gonna say something //intense// in a low voice, probably involving the word //babe//, and I can tell you which article you read, I can //quote// it. I've read the same <b>SHIT</b> article. I read it back in high school trying to understand what boys my age were going to do to me, and I have been watching men run this playbook at me ever since and I am <b>FUCKING</b> done. Tonight I am done, you absolute <b>TWAT</b>.
<</say>>
<p>The man's face stalls mid-expression and his hips twitch once under her, unmistakable, his cock jumping where it's trapped against her thigh.</p>
<<say "char-jess" "Jess">>
<i>(still in his ear, her hand still flat, a small slow smile that shows teeth)</i> Yeah. That <b>FUCKING</b> twitch. I felt that. Don't worry, I'm not judging you for it. I'm just //noticing//. It's actually kind of interesting. There's a whole thing in the psych literature about how men who do the <b>COCKSURE</b> leader performance get the most turned on when the performance gets called out, because the performance is //exhausting// and getting caught running it is a relief. You've just had that exact relief. You can feel it right now. It's why your face is doing what it's doing. Which means we're past the pretending-you're-in-charge part of the evening, asshole. I'm going to take over. I'm going to set the rhythm. I'm going to tell you what to do and when to do it, because I know what I want and you, very clearly, //don't//, and my orgasm is not going to come out of a <b>DOGSHIT</b> playbook your cousin emailed you. If that makes you uncomfortable, //genuinely// uncomfortable, not just //performatively// uncomfortable, which is what I think you're about to try to do, you can say so and I will get off you and I will drive home and you can go back to the <b>FUCKING</b> article. //Or//. You can shut the <b>FUCK</b> up. You can let me run this. We both have a much better time, you have the orgasm you would actually have if you stopped //remembering how men do this//, and in the morning you can think about whether the playbook has ever actually worked for anyone who wasn't being polite. You have twenty seconds, <b>FUCKWIT</b>. I'm counting.
<</say>>
<p>He does not say anything for eighteen of the twenty seconds. Then he nods. Once. His hands relax against the sheets, a surrender that, to Jess's eye, looks more like a man putting down a briefcase at the end of a long day than a man conceding a negotiation.</p>
<p>Jess does not get off him.</p>
<p>She leans down further. Her mouth leaves his ear and presses flat against his mouth, not a kiss, a //seal//, her lips closed over his so the last sentence she delivers travels straight into him with nowhere else to go.</p>
<<say "char-jess" "Jess">>
<i>(mouth pressed against his, voice low against his lips, one hand sliding down from his chest)</i> Here's what's actually going to happen. You're not going to get to <b>FUCK</b> me tonight. You're not going to get to fuck me any other night. I came up here to watch you do the script in person so I could see it with my own eyes, and I've seen enough. You're going to lie in this bed with a raging <b>FUCKING</b> hard-on for the next twenty minutes after I leave, and then you're going to finish yourself with your own left hand to the memory of what you almost had, and that's going to be the best orgasm you've had in a long <b>FUCKING</b> time, and you're going to <b>HATE</b> yourself for it. Because it was //me// who did that to you, you absolute <b>FUCKWIT</b>, and nothing you do with your own hand is going to get there again.
<</say>>
<p>Her hand finds him. Wraps around the base of his cock through his boxers, one firm appraising squeeze, all contact no friction, the cataloguing touch of a buyer checking a product she's declining, then slides lower and takes his balls in her palm. Grips. Not painfully, but with a measured deliberate pressure that is the exact pressure of a woman reminding him what she could do if she wanted to. His hips buck once. His breath leaves him in a single sharp word that isn't a word. Jess holds the grip for three full seconds, her mouth still pressed to his, her tongue flicking once across his lower lip and then withdrawing, the whole gesture clinical, the way a phlebotomist confirms a vein. She releases.</p>
<p>Climbs off him. Pulls her skirt back down, she never took her panties off. Straightens her hair in the mirror on the back of the dorm-room door with two fingers. Picks up her jacket.</p>
<p>She looks at him on the bed, the tent in his boxers obvious, his breathing ragged, his eyes half-lidded and tracking her to the door.</p>
<<say "char-jess" "Jess">>
<i>(at the door, one hand on the handle, voice warm-clean like she's ordering coffee)</i> Thanks for the evening. It was educational.
<</say>>
<p>She leaves.</p>
<hr class="scene-break">
<p>12:34 AM. Jess's bedroom. Door locked. Desk lamp off. The small vibrator she bought recently and has never actually used is on the sheet beside her, still in its packaging until tonight.</p>
<img class="scene-img" src="media/scenes/spore-jess-brat-3b.webp" alt="Jess at home on her bed in the dark, punk aesthetic visible in the room, black sheets, a small black vibrator in her hand, her other hand on her bare stomach, her face calm and half-smiling in the low warm glow of a single lamp, completely alone and entirely at ease">
<p>She runs the last thirty seconds again, not the monologues but the close of it, his mouth under hers, her hand closing on his balls, the single word that wasn't a word, the look on his face as she walked out, the tent in his boxers she could see from the door. Him right now, in that bed, still hard, still unable to finish.</p>
<<say "char-jess" "Jess">>
<i>(to the dark ceiling, thumbing the vibrator on to its medium setting, voice almost fond)</i> You're still up there, aren't you. Still working it. Still seeing my face. <i>(a slow exhale as she lowers the toy)</i> Yeah. Good.
<</say>>
<p>Her hand is unhurried, and her hips are already lifting before the toy makes contact.</p>
<p>She comes in under ninety seconds, and lies there after with the toy still buzzing against her thigh, breathing, grinning at nothing.</p>
<<say "char-jess" "Jess">>
<i>(half-laughing, switching the toy off, talking herself through it the way she'd talk through a problem set)</i> Didn't need him at all. Didn't need his hands, his mouth, his dick, none of it. Just needed the part where I //took it apart//. <i>(turning her head on the pillow)</i> Huh. I could do that anywhere. To anyone. I don't even need them in the room.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The brat preference has locked, and it has locked into a //cleaner// architecture than the earlier vectors predicted. The partner is not the substrate. The partner is the //raw material//. The actual substrate is her own memory of the silencing, replayed in a bedroom six miles from the dorm, with a piece of equipment that cost forty dollars. She does not need to be fucked to come. She needs to have //dismantled// someone who tried to fuck her. The dismantling is portable. The orgasm is portable. The entire system is, from tonight forward, self-contained. Mother first. Professor next. Frat boy after that. And now Jess alone with a vibrator and a receipt. The circuit has closed.//
<</say>>
<p>She sets the toy aside. Wipes her hand on the sheet. Lies back and looks at the ceiling with a small smirk that stays on her face for a while. Her mouth is still shaped by the memory, a muscle that has been taught what it is for and has decided to keep it for itself.</p>
<div class="evolve-unlock">A preference has locked. Jess's body now requires the //sneer//, the verbal dismantling of whoever is trying to control her, as foreplay.</div>
</div>
/* ===== BAND ===== */<div class="household-event">
<div class="passage-title">Standing Too Close</div>
<p>10:47 PM. A basement punk venue on Market Street, the kind where the cover is eight dollars and the ceiling is low and the floor is sticky with spilled beer three songs in. Jess is on the rail at the front of the pit, both hands locked on the metal barrier, the heels of her boots already bruising her insteps from the crush, and she does not care.</p>
<p>The band is //Bleed Through//, a three-piece, guitar and bass and drums, and she has seen them before from the back. Tonight she staked the rail early, elbows out, because she wanted to be //at the rail//. The lead singer is maybe twenty-eight, forearm tattoos, a faded black t-shirt cropped at the stomach, sweat-drenched, working the three square metres of stage he owns like he's lived on it. The poster by the door said //Kade//.</p>
<<say "char-jess" "Jess">>
<i>(to the girl wedged against her shoulder, leaning in to be heard over the noise, eyes never leaving the stage)</i> The singer. Kade. He's good. He //knows// he's good, which usually pisses me off, but. <i>(a beat behind, watching him)</i> Yeah.
<</say>>
<p>Midway through the fourth song his eye catches hers. It is not a casual glance, he holds it across the microphone for the length of one full line of lyric, four seconds, maybe five, and delivers that line looking //straight at her//, and then his eye moves on and the song continues.</p>
<<say "char-jess" "Jess">>
<i>(under her breath, fingers tightening on the rail)</i> ...okay. That was at me. That was definitely at me.
<</say>>
<p>On the //seventh// song he does it again, and bigger. He steps off his mark, crosses the two metres to the front, crouches low at the edge, and brings the mic to his mouth inches from her face, one hand braced on the monitor, his hair falling forward, close enough that she can feel the heat coming off him. He sings the line down into her mouth and the rest of the room drops away for the length of it.</p>
<img class="scene-img" src="media/scenes/spore-jess-band-1a.webp" alt="A 21 year old punk woman with long purple and black hair, septum ring, silver lip stud, black choker, black tank top, looking up with parted lips at a tattooed shirtless lead singer leaning down over the stage edge above her, his microphone close to his mouth and inches from her face, stage lights washing the scene in red and purple, the intimate moment isolated from the blurred crowd behind">
<p>Jess's entire body goes //warm// in a way she has never quite felt before.</p>
<<say "char-hivemind" "Hivemind">>
//A specific new circuit is firing. Proximity to //cultural-capital attention//, being sung at, from inches away, by a person whose attention a room of a hundred strangers has paid eight dollars a head to receive. The rockstar-gaze variable, delivered at close range. Her body has just registered it as a //new kind of dose//. She is being //chosen//, and the choice is //public//, the performer stepped off his mark, in front of a hundred paying witnesses, to deliver a line specifically to her, and the body has logged the act as a currency it did not previously know it could spend.//
<</say>>
<p>The set finishes at 11:30. Jess does not try for backstage, she walks home through the cold instead, thighs slick inside her jeans, cheeks still flushed, the four seconds already running on loop.</p>
<<say "char-jess" "Jess">>
<i>(out loud to the empty street, breath fogging, half to herself)</i> A hundred people paid to watch him and he came down off the stage for //me//. <i>(a short laugh)</i> Oh, I'm gonna go to every show this band plays.
<</say>>
<p>She masturbates in her bedroom at 12:14 AM, door locked, on the eye contact, and comes in under two minutes.</p>
<<say "char-jess" "Jess">>
<i>(lying in the dark, one arm thrown over her eyes, working it out aloud)</i> Right. So next time he looks, I go backstage. I find the green room. <i>(a slow nod against the pillow)</i> Everything until then is just research.
<</say>>
<img class="scene-img" src="media/scenes/spore-jess-band-1b.webp" alt="Jess alone on her bed in the dark, purple and black hair spread on the pillow, her hand under the waistband of her sleep shorts, her face tilted back with parted lips, the mental replay still running behind closed eyes, a single warm lamp providing the only light, her bedroom punk aesthetic in soft focus around her">
<<say "char-hivemind" "Hivemind">>
//Research is a word Jess uses when her body has made a decision her conscious mind has not yet authorised. The authorisation will happen at the next show. The gaze will return, she has already priced the odds, and when it does, Jess will know what to do with it, because the body has been writing the protocol since the moment the gaze first landed.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Green Room</div>
<p>11:42 PM. Same venue. Same band. Third song of the second set. Jess has been on the rail again, closer this time, directly in front of Kade's mic stand, and on the third song he sees her. Recognises her. His eye does the specific half-second //hold// of a man registering a repeat attendee. He delivers the line looking at her. Jess nods once, slow, calm, and returns the look.</p>
<p>The set finishes at 12:08 AM. The band waves to the crowd. The house lights go up halfway. Roadies move equipment. Jess does not leave the rail.</p>
<p>Kade looks at her one more time as he walks off stage, a glance over his shoulder. Jess steps off the rail and crosses to the side door marked //staff only// with the calm measured stride of a woman who has been rehearsing this walk in her head all week.</p>
<p>The security guy at the side door is a twenty-something in a Bleed Through tour shirt. Jess doesn't try to talk her way past.</p>
<<say "char-jess" "Jess">>
<i>(flat, clear, already half-past him)</i> Kade's asking for me. Tell him Jess from the rail. He'll know.
<</say>>
<p>The security guy hesitates, looks at her face and at the set of her shoulders, then pokes his head through the door behind him, gets a nod from someone, and lets her in.</p>
<p>The green room is behind the stage, a converted utility closet with a battered couch, three folding chairs, a cooler of beer, a single mirror on a stand. Kade is alone in there, towelling sweat off his neck, shirt off. The other two band members are outside smoking.</p>
<p>He looks up. Sees her. Does not look surprised.</p>
<<say "char-npc" "Kade">>
<i>(pausing with the towel mid-neck, voice rasped from two sets of screaming into a microphone)</i> ...so you're the rail.
<</say>>
<<say "char-jess" "Jess">>
<i>(closing the door behind her, calm, walking to him)</i> Jess. You sang the third verse of //Low Ceiling// looking at me. You did it twice. You wanted me to come back here. I came back here.
<</say>>
<<say "char-npc" "Kade">>
<i>(a small raspy laugh)</i> Jess.
<</say>>
<p>He does not say anything for a second. Then he smiles. Not the stage smile, the smaller one, private, the specific smile of a man who is going to enjoy the next fifteen minutes.</p>
<p>They do not kiss. There is no kiss. He walks to her, puts one hand on the back of her neck, turns her around, and bends her forward over the couch's armrest. Jess's jeans come down in one practised motion. He is inside her in under sixty seconds of her stepping into the room.</p>
<img class="scene-img" src="media/scenes/spore-jess-band-2.webp" alt="Jess bent forward over the armrest of a battered brown leather couch in a cramped dim punk venue green room, purple and black hair falling forward past her face, black tank top shoved up at the back, jeans pushed down to mid-thigh, a sweaty tattooed shirtless lead singer standing behind her gripping her hips with his cock buried inside her from behind mid-thrust, dim yellow utility-room lighting, gear cases and a beer cooler visible at the edges">
<p>The sex is fast and urgent and close to wordless. He does not ask her name again and she does not use his, and he is not gentle and she did not come here for gentle. He fucks her with the exhausted competence of a man running on post-show adrenaline, his grip on her hip bruising-tight, his breath ragged at her shoulder, his cock driving into her in a hard steady rhythm.</p>
<<say "char-jess" "Jess">>
<i>(cheek against the couch fabric, the words broken up by the rhythm of him)</i> Yeah. //Yeah//, like that, don't, don't stop. <i>(a low groan into the cushion)</i> Fuck.
<</say>>
<p>Jess comes inside six minutes with her cheek pressed to the stained fabric of a couch that has clearly served this function before.</p>
<p>He finishes in under a minute after she does. Pulls out. There is a single paper towel on the cooler. He uses it.</p>
<<say "char-npc" "Kade">>
<i>(pulling his jeans up, voice still raspy)</i> Next show's later this week. Venue's smaller. Rail again?
<</say>>
<<say "char-jess" "Jess">>
<i>(fixing her jeans, not meeting his eye, the clinical flat voice she uses on professors slipping out without her noticing)</i> Rail again.
<</say>>
<p>She leaves through the side door the way she came in and walks home with the bruise on her hip already blooming, and she does not shower or text anyone, just sleeps naked on top of the duvet and dreams, clearly, about the next show.</p>
<<say "char-hivemind" "Hivemind">>
//The variable is confirmed. It is not his technique. It is not his cock. It is the fact that //the man a hundred strangers paid eight dollars to watch// chose her, took her, finished inside her, and booked a repeat. The cultural-capital proximity is the dose. She did not come on the sex. She came on the //fact of being the one he picked out of the rail//. The body will escalate. It is already looking at the tour schedule.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Tour Weekend</div>
<p>4:02 PM. Bleed Through is playing three shows this weekend, two in-state, one a few hours out. Kade texted Jess a couple of days back: //we have space in the van. you in?// Jess typed //yes// fast.</p>
<p>The opening show is in a venue she has not been to before. Jess rides the second row of the van on the drive, not the passenger seat beside Kade, the second row, the seat that signals //guest, not girlfriend//.</p>
<<say "char-jess" "Jess">>
<i>(to herself, watching the back of Kade's head from the second row, settling the distinction in her own mind)</i> Not your girl. Not anybody's girl. I'm here for the whole band, you're just the one who answers the phone.
<</say>>
<p>Opening show: she's on the rail, Kade sings to her during two songs, and after the set there's the green room, same as before, and he fucks her bent over the couch, ten minutes door to door. She comes twice this time, her body quicker at it now.</p>
<p>Second show: different venue, bigger crowd, same rail posture, different green room. The drummer, //Sean//, quiet, the one who has barely said two sentences to her on the drive, is already in the room when Jess walks in, towelling sweat off his neck. Kade walks in thirty seconds behind her.</p>
<p>Kade looks at Jess, then at Sean, and Sean looks at Jess, and Jess looks at both of them, and nobody says anything.</p>
<p>Jess walks to the couch and bends over the armrest without being asked, pulls her jeans down, and tips her chin back over her shoulder.</p>
<<say "char-jess" "Jess">>
<i>(flat, businesslike, jeans at her thighs)</i> Lube's in my back pocket. And it's my ass tonight, not my pussy. Both of you, I'm not picky which order.
<</say>>
<p>Kade finds the small bottle and uses it on himself and on her in the measured practised way of a man who has heard that instruction before, and he is inside her ass in under two minutes, the posture familiar to her now. Sean stands a couple of paces off, not pretending he isn't watching, his hand already in the front of his jeans.</p>
<p>She does not stop taking Kade from behind, she just turns her head and puts out a hand, and Sean steps in and his jeans come down and his cock finds her open mouth.</p>
<<say "char-jess" "Jess">>
<i>(pulling off Sean for a breath, the words rough, then taking him back in)</i> Mm, //there// we go. Both of you, come on. <i>(muffled around him, a wet hum, then a gasp as Kade thrusts)</i> Mmh, fuck.
<</say>>
<img class="scene-img" src="media/scenes/spore-jess-band-3a.webp" alt="Jess bent over the armrest of a battered couch in a dim punk venue green room, long purple and black hair falling forward, one sweaty tattooed shirtless lead singer behind her taking her anally mid-thrust gripping her hip, a second shirtless drummer standing at her head with his cock in her open mouth, classic mmf spitroast composition with anal and oral, dim amber utility lighting, gear cases and beer bottles at the edges">
<p>She comes with one cock in her mouth and another in her ass, both men inside her at once, the wave of it rolling through her and into both of them, Kade feeling the clench and Sean feeling the moan, the feedback letting them both hold on a little longer than they would have.</p>
<p>They finish on her. Kade pulls out and steps around to the side of the couch, Sean pulls out of her mouth, and the two of them stand over her with their cocks in their own hands while she tilts her face up, lips parted, eyes half-closed.</p>
<<say "char-jess" "Jess">>
<i>(face upturned, tongue out, voice thick and pleased)</i> Yeah. On my face, both of you. Don't be shy.
<</say>>
<p>Sean breaks first, across her forehead and her left cheek, and Kade follows a half-minute later, on her chin and her lower lip and down her throat to her collarbone.</p>
<img class="scene-img" src="media/scenes/spore-jess-band-3b.webp" alt="Close-up of Jess on the green room couch after sex, her face tilted up, cum from two men covering her forehead, cheek, chin, lip, and running down her throat to her collarbone, her expression calm contented smirk, eyes half-closed, purple and black hair messed back from her face, dim amber lighting">
<p>She does not wipe it or go to the sink, she just sits on the couch catching her breath with the two men's cum drying on her skin and gives Kade a small thumbs-up.</p>
<<say "char-jess" "Jess">>
<i>(breathless, grinning, cum on her chin)</i> Good set. Good green room. Same again next show, yeah?
<</say>>
<p>The three of them laugh, exhausted, the band-and-groupie laugh of people who have just solved a logistical puzzle and are pleased with themselves.</p>
<p>Final show: the long drive out. //Kira//, the bassist, white hair, nose ring, who has been away on a session gig for the earlier shows, meets them at the venue. The moment Kira sees Jess in the green room she looks at Kade, looks at Sean, looks at Jess, and nods once, wordless, and that's it. Kira is in.</p>
<<say "char-jess" "Jess">>
<i>(catching Kira's eye, a slow appraising look, the only one in the room who looks pleased rather than nervous)</i> Oh, //finally//. I was wondering when the band was gonna be complete.
<</say>>
<p>At the motel that night, after the last set, the whole band ends up in Jess's room. Kira is the one she'd been missing without quite naming it, and Kira eats her out on the motel bed while Kade and Sean watch from the armchairs.</p>
<<say "char-jess" "Jess">>
<i>(one hand fisted in Kira's white hair, hips lifting off the mattress, then a glance over at the men)</i> God, //yes//. <i>(to Kade and Sean, breathless, grinning)</i> You two are up next. Don't get comfortable.
<</say>>
<p>Then the men rotate back in. Jess loses count of her orgasms after the fifth.</p>
<<say "char-hivemind" "Hivemind">>
//She has had sex with every member of Bleed Through over the course of three days. The fact is the point. She did not want //Kade// specifically. She did not want //Kira// specifically. She wanted to be //the weekend's plus-one for the whole band//, the woman who left the tour with a claim on the entire unit. The cultural-capital harvest is not one person. It is the //set of them, as a band//. The body has catalogued this as the highest-yielding configuration it has access to, and it is not going to stop at Bleed Through. There is a second band playing the Pit next week. Jess already bought the ticket.//
<</say>>
<p>She drives home the morning after, shotgun in the van until the band drops her at her car, then two hours home alone. Her thighs are bruised. Her mouth is raw. She is, in a specific clean-bright way, the //most herself// she has ever been.</p>
<div class="evolve-unlock">A preference has locked. Jess's body now requires //proximity to cultural-capital attention//, musicians, performers, anyone a room is paying to watch, as the doorway into arousal.</div>
</div><div class="household-event">
<div class="passage-title">The Unlocked Door</div>
<p>The upstairs bathroom, early evening, the family still moving through the ground floor with dinner clearing and the television coming on. Karen runs the shower hot the way she always does, four minutes to steam and then in. The lock is the small oval button in the center of the handle, and she stands looking at it with her hand on the door.</p>
<<say "char-karen" "Karen">>
<i>(quiet, to the door, hand resting on the handle)</i> Latch. Not the button. ...no, leave the button.
<</say>>
<p>She steps in. The steam collects against the mirror while she washes her hair slower than the schedule allows, her palms tracing the curve of her stomach and the underside of her breasts, not washing now so much as taking inventory.</p>
<<say "char-karen" "Karen">>
<i>(under the water, half to herself)</i> Forty-three, three kids, and it's all still here. Still where it's supposed to be. ...when did anyone last look at any of it.
<</say>>
<p>She steps out and wraps the towel loosely, not tucked, just held in one hand against her chest, wet footprints on the tile as she crosses to the door and opens it all the way. The hallway is right there.</p>
<img class="scene-img" src="media/scenes/spore-karen-exhib-1.webp" alt="Bathroom door wide open, Karen in towel standing in doorway, steam behind her, hallway visible">
<p>Ryan rounds the corner with his head down and his phone in his hand, and he stops, the phone dropping an inch while his face goes crimson from the jaw up and his eyes hold on her for a half-second before he can make them stop, wet hair on bare shoulders, the towel held but not clenched, the steam rolling past her into the hallway.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled)</i> Oh, sorry... I thought, sorry...
<</say>>
<p>He throws his hand over his eyes and takes two fast steps backward, his shoulder hitting the doorframe.</p>
<<say "char-karen" "Karen">>
<i>(not moving from the doorway, voice level)</i> Knock next time.
<</say>>
<p>His footsteps retreat down the stairs and she stays in the open doorway, towel where it sits, long enough that anyone passing the hall would see her, the steam curling around her shoulders while her pulse climbs in her throat and her chest and lower.</p>
<<say "char-karen" "Karen">>
<i>(to the empty hall, almost surprised)</i> ...huh. No. There's nothing. I should be mortified and there's just... nothing.
<</say>>
<p>She turns to the mirror and wipes it with her palm, and the towel drops to her waist while she studies herself, nipples hard from the temperature shift, skin flushed pink, the look of someone finding something they'd forgotten they owned.</p>
<<say "char-karen" "Karen">>
<i>(to her reflection, quiet, almost a smile)</i> Warm, actually. That's the strange part. Not the shower. Warm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She didn't forget to lock it. She chose not to.// The distinction matters. This wasn't omission, it was //permission//. She opened the door, she stood in it, and she waited four seconds after Ryan fled before moving. //Four seconds of voluntary exposure.// The embarrassment pathway fired and produced nothing. The arousal pathway fired and produced //warmth//. Her body is rewriting the equation: seen = safe. Seen = //good//. The next door she leaves unlocked won't be an accident either.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Window</div>
<p>7:14 AM. The window above the sink faces the Henderson property, a clean sightline from their back porch to Karen's kitchen counter that Doris has been working for as long as they've lived here, and for just as long Karen has kept the curtains half-drawn.</p>
<p>This morning the curtains are open.</p>
<p>Karen comes in from upstairs in the short slate-grey robe, sash hanging loose at her sides, the robe open from the collar to below her navel so the gap frames her breasts and the flat plane of her stomach, nothing underneath, the fabric shifting as she moves in a rhythm that looks accidental and isn't.</p>
<img class="scene-img" src="media/scenes/spore-karen-exhib-2.webp" alt="Karen in loose robe at kitchen window, robe open showing cleavage, morning light through glass">
<p>She walks to the window and stands in front of it, the morning sun behind the Henderson house so the light falls into her kitchen and lands on her, and she fills the kettle without adjusting the hem when the motion lifts it.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the Henderson house through the glass, mild)</i> Good morning, Doris. Yes, the curtains are open. They're going to stay open.
<</say>>
<p>The curtain across the fence twitches. Doris is there. Doris is always there.</p>
<<say "char-karen" "Karen">>
<i>(reaching past the lapel for the sugar instead of closing it)</i> Years of pulling these half-shut so you wouldn't have something to say at the mailbox. ...look at me, then. Get a good one.
<</say>>
<p>She pours the coffee slowly, one hand on the mug and the other resting on the counter, and the robe falls further open until her left breast is bare through the gap, the nipple hard from the kitchen's cool air, pale against the dark fabric, and she reaches for the sugar and not the lapel.</p>
<p>Dale shuffles in from the garage and stops in the doorway, his eyes traveling from her face to the open robe to the uncovered window and back.</p>
<<say "char-dale" "Dale">>
<i>(carefully)</i> The, uh... curtains are...
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring her coffee, not turning)</i> I know exactly where the curtains are, Dale.
<</say>>
<<say "char-dale" "Dale">>
<i>(long pause)</i> ...okay.
<</say>>
<p>He takes his coffee to the garage. Karen stays at the window and sips while the Henderson curtain twitches again, and she lifts her mug an inch toward the glass.</p>
<<say "char-karen" "Karen">>
<i>(low, into the rim of the mug)</i> Cheers.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She positioned herself in the sightline deliberately.// The curtains. The robe. The angle. None of this was accidental. Karen Hoffman doesn't do //accidental//. She stood at the window because Doris watches, and being watched by Doris used to mean //danger//, judgment, gossip, the social mechanism that kept the armor in place. Now being watched means //arousal//. The nipple erection. The flush on her sternum. The four extra minutes she spent at that window. //The enforcer has become the audience. And Karen is discovering she likes having an audience.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Walk</div>
<p>9:20 AM, weekend morning, the street alive with the small movements of suburbia, a man washing his car two houses down, a college kid jogging past with earbuds in, the Henderson curtains already twitching, the air warm and the sun low enough to backlight anything it touches.</p>
<p>Karen stands at the top of the front porch steps in the white linen nightgown, the one thin enough that the morning light turns it from a barrier into a suggestion, no bra, no underwear, her nipples dark points against the white and the shadow of her hips and thighs printed in light and fabric for anyone with eyes.</p>
<<say "char-karen" "Karen">>
<i>(at the door, glancing down at herself, deciding)</i> This one. Yes. The thin one, and nothing under it, and the slow walk to the box.
<</say>>
<p>Bare feet on the warm concrete, hair down across her shoulders, a small stack of outgoing mail in one hand as she takes the front path at a pace that has nothing to do with the mail, the linen clinging and releasing against her skin with each step.</p>
<p>The man washing his car has stopped washing his car, the sponge dripping in his hand, twenty-six or twenty-seven, old enough to know exactly what he's looking at, and Karen doesn't turn her head because she doesn't need to.</p>
<<say "char-karen" "Karen">>
<i>(low, not looking at him, the current of his stare moving up her spine)</i> Mm. There it is. Go on, then. Look.
<</say>>
<p>Across the fence Doris Henderson has stepped onto her porch, arms crossed, pruning shears in one hand.</p>
<<say "char-henderson" "Mrs. Henderson">>
<i>(the tone of someone cataloguing evidence)</i> Karen. That's quite an outfit for the mailbox.
<</say>>
<<say "char-karen" "Karen">>
<i>(opening the mailbox, unhurried)</i> Is it? It's just a nightgown, Doris.
<</say>>
<<say "char-henderson" "Mrs. Henderson">>
<i>(eyes sweeping downward)</i> I can //see// that.
<</say>>
<<say "char-karen" "Karen">>
<i>(depositing envelopes, turning to face Doris fully, the morning light behind her now, silhouetting everything through the linen)</i> Good. Then you know I'm not cold.
<</say>>
<p>The pause between them is the kind that rewrites a neighbourhood, Doris's mouth opening and closing while her eyes can't decide where to land, Karen's face, Karen's body, the jogger who has turned around for a second pass.</p>
<img class="scene-img" src="media/scenes/spore-karen-exhib-3.webp" alt="Karen walking down suburban path in thin white nightgown, morning sunlight making fabric see-through, bare feet, no underwear visible through fabric">
<p>Karen retrieves the postal card from the box and reads it without hurry while the man with the sponge stays frozen and the jogger comes around a third time and a car slows at the intersection, the woman driving it looking once and then twice before she drives on.</p>
<<say "char-karen" "Karen">>
<i>(low, to herself, the linen sliding against bare skin with every shift of weight)</i> One. Two. The car makes three. Forty-three years old and I can still stop a man with a sponge in his hand. ...who knew.
<</say>>
<<say "char-karen" "Karen">>
<i>(walking back up the path, each step measured, unhurried)</i> Have a good weekend, Doris.
<</say>>
<p>The screen door closes behind her and her silhouette moves into the kitchen, where she leans against the counter and lets out the breath she's been holding since the porch steps, one hand flat against her sternum, her heart hammering, and between her legs she's wet, not dramatically, but there.</p>
<<say "char-karen" "Karen">>
<i>(a short, surprised laugh into the empty kitchen)</i> ...the mailbox. It was the walk to the mailbox.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She wore the nightgown. She chose no underwear. She walked slowly.// Every element was a decision. The conditioning provided the //permission//, but the architecture was //hers//. Karen Hoffman walked into her front yard functionally naked and discovered that the male gaze she spent twenty years deflecting is //fuel//. The car wash man. The jogger. The driver. Doris. //She counted them.// She knows exactly how many people saw her body and she is standing in her kitchen //aroused by the inventory//. Exhibitionism isn't a kink she's been given. It's a kink she //always had//. The conditioning just unlocked the door. She walked through it barefoot.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Package</div>
<p>Weekday afternoon, the front porch, a brown box with a return address Karen has clearly memorised because she has it tucked under her arm before she reads the label, and she carries it straight past the kitchen counter and the hall table where packages usually land and takes it upstairs.</p>
<p>Dale gets home at 6:20 to a counter with no box on it, Karen at the stove.</p>
<<say "char-dale" "Dale">>
<i>(dropping keys)</i> Box in the driveway said priority shipping.
<</say>>
<<say "char-karen" "Karen">>
<i>(not turning from the stove)</i> Returns.
<</say>>
<<say "char-dale" "Dale">>
Didn't know you ordered anything.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring, even)</i> Just some things. Nothing you need to find a place for.
<</say>>
<p>Dale takes his shoes off and doesn't ask about the things.</p>
<p>Upstairs, in the drawer on Karen's side of the dresser, not the shared middle drawers and not the visible shelf, a flat layer of dark tissue paper now sits underneath the usual practical cotton, and the items on top of it are structured, lace-edged, colour-coordinated, and completely invisible beneath everything else in the drawer.</p>
<img class="scene-img" src="media/scenes/spore-karen-ling-1.webp" alt="Karen hiding lingerie package in her dresser drawer, tissue paper, lace visible">
<<say "char-karen" "Karen">>
<i>(smoothing the cotton back over the tissue, low, to the closed drawer)</i> There. Nobody knows you're in here but me. That's the whole point of you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The concealment is the first act.// Karen did not discard the package downstairs. She carried it upstairs. She hid it from Dale. //The possession matters even invisible.// The kink is not performance, it's the private knowledge of the thing. The weight of knowing something no one else knows. She will not wear them yet. //Having them is enough, for now.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Thing She Knows</div>
<p>Morning before the school meeting, and Karen stands at the full-length mirror in the hall bathroom, the light angled honest, dressed for a parent-teacher meeting at Ryan's school in a blouse, tailored slacks, the shoes she doesn't like but that read correctly.</p>
<p>Underneath the blouse it isn't the beige underwire she's worn since the brand stopped changing.</p>
<img class="scene-img" src="media/scenes/spore-karen-ling-2.webp" alt="Karen in blouse looking at herself in bathroom mirror, hint of lace visible at collar, confident posture">
<<say "char-karen" "Karen">>
<i>(rolling her shoulders, watching the fit settle, low)</i> Sits differently. Holds everything differently. Not tighter, just... built. Like it was made on purpose instead of bought by the three-pack.
<</say>>
<p>She turns sideways and the silhouette of the blouse is the same silhouette it has always been, the lace invisible under the cotton.</p>
<<say "char-karen" "Karen">>
<i>(to the mirror, settling the collar)</i> Nobody sees this today. The vice principal won't. Doris won't. The man at the deli counter won't. ...I will.
<</say>>
<p>She drives Ryan to school, sits the forty minutes, speaks to the vice principal about class scheduling, stops at the grocery store on the way home, three conversations and a ninety-second debate at the deli counter over turkey versus ham, and through all of it her shoulders sit a degree back and her chin a degree up, the carriage of someone holding a small specific weight that isn't a burden.</p>
<<say "char-karen" "Karen">>
<i>(in the car after the store, alone, almost amused at herself)</i> Whole morning. Nobody knew. That's the part nobody told me about. Having one thing in a day that belongs to exactly one person.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The secret is the compound.// Not the fabric, the friction between what's visible and what's not. Karen Hoffman has spent twenty years being thoroughly legible: schedule, role, control, management. //The lingerie is the first private surface.// Something that belongs entirely to her experience and no one else's. The meetings were ordinary. The grocery store was ordinary. The body underneath the blouse was not. //She is learning what it feels like to have something for herself.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Open Page</div>
<p>Living room, weekend afternoon, Dale watching football quietly with the volume low and a beer he nurses rather than drinks, Jess upstairs, Megan at work, Ryan in his room.</p>
<p>The catalog is on the coffee table, thin, premium paper, the kind that arrives addressed by name rather than through the general mail slot, dog-eared open to a page somewhere in the middle.</p>
<img class="scene-img" src="media/scenes/spore-karen-ling-3.webp" alt="Lingerie catalog open on coffee table, dog-eared page showing lace sets, living room background">
<<say "char-karen" "Karen">>
<i>(crossing to the kitchen for her laptop, half to herself, leaving the catalog face-up behind her)</i> Leave it. Don't tuck it under the magazines. Leave it open, right there, and go get the laptop.
<</say>>
<p>She comes back and sits on the couch, settles the laptop on her knees, and does not pick the catalog up and does not close it. Dale's eyes move to it, move away, move back.</p>
<<say "char-dale" "Dale">>
<i>(after a moment, careful)</i> What's that?
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from laptop)</i> Catalog.
<</say>>
<p>A pause.</p>
<<say "char-dale" "Dale">>
...for?
<</say>>
<<say "char-karen" "Karen">>
<i>(slight pause of her own)</i> Things.
<</say>>
<p>Dale's gaze returns to the television and he takes a sip of his beer while the catalog lies open on the table between them, cream and lace and a model wearing deliberate composure, and Karen's laptop keys tap steadily on.</p>
<<say "char-karen" "Karen">>
<i>(eyes on her screen, the smallest curl at the corner of her mouth)</i> He saw it. He asked. And I told him the truth, more or less. That's enough for today.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The catalog is a disclosure.// Not explicit, deliberate. She left it open on a surface where Dale would see it. He did. He asked. She confirmed without confirming. //This is the lingerie kink completing its first public act.// The private knowledge is no longer entirely private. She chose how much to show. She chose the surface. //The armor doesn't close, it develops windows.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Garden Rope</div>
<p>Weekend morning, and Karen is out in the garden for the first time in a long while, standing over raised beds that went to seed while she wasn't looking. She woke up wanting to put her hands on something and make it //obey//, and the garden is what's in front of her.</p>
<<say "char-karen" "Karen">>
<i>(hands on her hips, surveying the wreck)</i> Look at the state of this. Cages rusted through, the herb spiral's gone to weeds, the tomatoes are dead on the vine. Nobody's laid a hand on any of it since... god, I don't even know.
<</say>>
<p>She drags the shed door open on its screaming hinges, into the smell of damp wood and motor oil and the particular mustiness of a space Dale promised to organize and never did.</p>
<<say "char-karen" "Karen">>
<i>(rummaging along the shelves)</i> Shears, where are the... there. And the stakes. Cages first, then I work down the row.
<</say>>
<p>On the hook by the door there's a coil of natural rope, hemp by the feel of it, heavy, the kind meant for trellising climbers or tying down tarps. Karen lifts it down, the weight settling into her palm, and carries it to the empty cages with the stakes tucked under her arm. She loops the first stake to the wire, and her fingers move before she's decided how.</p>
<<say "char-karen" "Karen">>
<i>(working the rope, talking herself through it)</i> Loop, around the back, tail through the hole, and pull. ...there. That's not going anywhere.
<</say>>
<img class="scene-img" src="media/scenes/spore-karen-bond-1.webp" alt="Karen in garden kneeling by raised bed, holding rope, tying a precise knot">
<p>It's a bowline. She learned it somewhere a lifetime ago, scout camp maybe, and the hands remembered it before the rest of her caught up. She unties it and does it again, faster, then a clove hitch, two wraps and the tail tucked under, snugging against the bamboo with a sound like fabric drawn tight.</p>
<<say "char-karen" "Karen">>
<i>(quieter, watching her own hands work)</i> Okay, turn this one back the other way, cross it over itself, and through. ...huh. Clean.
<</say>>
<p>Each knot comes out tighter than the last, the symmetry even, the tension distributing the way it should, nothing in them that will give no matter how hard the thing inside pulls. Her pulse is up, well past anything kneeling in the dirt should cost her.</p>
<p>The spores drift out of the shed's warm interior, where the rat seeded them a while back and the damp wood has been incubating them since, and they settle on her forearms and her neck and the inside of her wrists, where the rope has left a faint pink line.</p>
<<say "char-karen" "Karen">>
<i>(looking down at the knot, voice dropping)</i> ...since when do I know how to do any of this?
<</say>>
<p>She doesn't untie the last one. She sits back on her heels in the dirt with the rope between her fists, one end in each hand, the slack hanging between them like an invitation, and the image that arrives isn't a garden stake at all. It's a wrist. The rope wound around it, the knot cinched tight, the skin pressing into the braid, the person on the other end //unable to pull away//.</p>
<<say "char-karen" "Karen">>
<i>(setting the rope down on the edge of the bed, brisk again)</i> ...right. Tomatoes.
<</say>>
<p>She picks up the shears and goes back to the dead plants, and she leaves the rope where it is. She doesn't carry it back to the shed.</p>
<<say "char-hivemind" "Hivemind">>
//The hands knew before the mind did.// Seven knots in twelve minutes, each one structurally sound, each one tighter than the last. Karen Hoffman tied a bowline from muscle memory she shouldn't have and stared at it the way a painter stares at a first sketch. //The spores provided the push. The skill was already there.// Twenty years of controlling every schedule, every person, every variable in this household, the hands were always ready to tie knots. They just needed permission to practice on something that wasn't a calendar.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Order</div>
<p>11:47 PM, the kitchen table, the laptop's blue light the only thing on since Karen killed the overhead hours ago, the family asleep, Dale snoring on the couch, the house hers.</p>
<p>She's been on the same website for forty minutes, a tab called //Intimate Accessories// with a less polite URL, items in clinical rows: padded cuffs with adjustable buckles, a spreader bar in brushed steel, silk blindfolds, and rope, not garden rope but body rope, the kind that comes in colours with a softness rating and a weight per metre.</p>
<img class="scene-img" src="media/scenes/spore-karen-bond-2.webp" alt="Karen at laptop late at night, bondage website on screen, credit card in hand, guilty expression">
<<say "char-karen" "Karen">>
<i>(reading the specs the way she reads a mortgage statement, low, finger hovering off the Add to Cart)</i> Cuffs, thirty-five. Rope kit, twenty-eight. Blindfold, twelve. Seventy-five and change before shipping. ...no. That's not a line item I can write down anywhere.
<</say>>
<p>She opens the family budget in another tab and studies it, the numbers tight the way they're always tight, Dale's overtime covering the mortgage with no margin, her freelance work covering groceries and the kids' incidentals, the electricity bill circled in red.</p>
<<say "char-karen" "Karen">>
<i>(thumb on the trackpad, scrolling the red line)</i> Forty a month for Ryan's rig. Forty dollars, every month, so a nineteen-year-old can talk to strangers through a screen. ...and I'm the one who can't justify seventy-five once.
<</say>>
<p>She closes the laptop. Opens it. Closes it again, her stomach tight with the specific discomfort of wanting a thing she can't put on a spreadsheet. Then a warmth settles across the back of her neck, a prickle she puts down to the laptop's heat, and the tightness in her stomach loosens, and the arithmetic rearranges itself.</p>
<<say "char-karen" "Karen">>
<i>(slower, the math tipping the other way)</i> ...although. Seventy-five once, against forty a month, forever. One of those numbers is a rounding error. ...and the rig doesn't have to be free.
<</say>>
<p>She adds the cuffs, the rope, the blindfold, enters the card number, the personal one and not the joint account, ships to the house, and sits in the kitchen dark for a long time after the confirmation email lands.</p>
<<say "char-karen" "Karen">>
<i>(closing the lid, both decisions made, even)</i> And from now on Ryan contributes to the electricity bill. That's only fair.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The budget was the last wall.// Karen Hoffman manages by numbers, if the numbers don't work, the desire doesn't exist. //The spores dissolved the spreadsheet.// Not the logic, the //weight// of the logic. The forty dollars became an argument for the purchase rather than against it. Ryan's electricity bill became a funding source. //She didn't lose her financial discipline. She redirected it.// The cuffs cost less than a month of gaming. The rope costs less than a dinner out. The blindfold costs less than Karen's monthly coffee budget. The numbers work now. //They always worked. She just needed the fog to lift the guilt long enough to see it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Invitation</div>
<p>The package arrived earlier in the week. Karen opened it in the bedroom with the door locked, cut the tape with scissors, and laid each item on the bed with the spacing of someone arranging surgical instruments. The cuffs. The rope. The blindfold. She touched each one. Tested the buckles. Measured the rope against her forearm. Folded the blindfold and pressed it to her own eyes for three seconds.</p>
<p>Then she put them in the nightstand. And waited.</p>
<p>10:30 PM. Dale is on the couch, shoes off, the television doing its thing. Karen stands in the bedroom doorway. She's wearing the robe, the short one, loosely tied. Her hair is down.</p>
<<say "char-karen" "Karen">>
<i>(voice level, not loud)</i> Dale. Come to bed.
<</say>>
<p>Three words he hasn't heard in months. Dale looks up. His face does something complicated, hope, confusion, the specific caution of a man who's been redirected enough times to stop expecting the door to open.</p>
<<say "char-dale" "Dale">>
<i>(setting down the remote, careful)</i> ...yeah?
<</say>>
<<say "char-karen" "Karen">>
<i>(already walking back to the bedroom)</i> Now.
<</say>>
<p>He follows. The bedroom is dim, one lamp, the amber one, casting warm shadows. The bed is made. The nightstand drawer is open.</p>
<p>Karen doesn't kiss him. She takes his wrist.</p>
<<say "char-karen" "Karen">>
Lie down. Face up. Arms above your head.
<</say>>
<<say "char-dale" "Dale">>
<i>(something in his throat)</i> Karen, what...
<</say>>
<<say "char-karen" "Karen">>
<i>(fingers already looping the rope around his right wrist)</i> Don't ask questions. Lie down.
<</say>>
<p>He lies down. His arms go up. Karen loops the rope around his right wrist, the bowline she practiced in the garden, clean and secure. She threads it through the headboard slat. His left wrist next. Same knot. Same tension. She pulls both taut. Tests them. Dale's hands flex against the rope, an involuntary test, the body checking the boundary.</p>
<img class="scene-img" src="media/scenes/spore-karen-bond-3.webp" alt="Karen tying Dale's wrists to the headboard with rope, bedroom, dim lamplight">
<p>He can't pull free.</p>
<<say "char-dale" "Dale">>
<i>(breathing faster)</i> Karen... what is this?
<</say>>
<<say "char-karen" "Karen">>
<i>(standing over him, studying the bindings)</i> This is me deciding what happens tonight.
<</say>>
<p>She picks up the blindfold. Silk. She presses it over his eyes and ties it at the back of his head. Dale's mouth opens, a word forming, or a question, or a sound he can't categorize. Karen watches it form and doesn't answer.</p>
<p>She stands at the foot of the bed.</p>
<p>Dale is spread before her. Wrists bound. Eyes covered. Breathing hard. His cock is half-hard in his boxers, the body responding to the restraint before the mind has processed it. His chest rises and falls. The rope creaks against the headboard when he shifts.</p>
<p>Karen unties her robe. Lets it fall. She stands naked in the lamplight, looking at her husband, bound, blindfolded, waiting. Her nipples are hard. The heat between her legs is liquid, immediate, a warmth that started when the first knot cinched and hasn't stopped building.</p>
<p>She climbs onto the bed and straddles his thighs, and he gasps at the contact, her bare skin on his, the weight of her settling, the shock of flesh after so long without it, his cock swelling against her through the fabric of his boxers, pressing against her ass while she doesn't move.</p>
<<say "char-dale" "Dale">>
<i>(voice breaking)</i> Please... Karen...
<</say>>
<<say "char-karen" "Karen">>
<i>(placing one finger on his lips)</i> No.
<</say>>
<p>She doesn't touch his cock. She doesn't take off his boxers. She sits on him, the pressure of her weight, the warmth of her pussy through the thin cotton, the wet heat of her arousal soaking through to his skin, and she //doesn't move//. She watches him strain. Watches his hips try to lift. Watches the rope go taut when his wrists pull. His cock throbs against her, fully hard now, trapped in the fabric, and she can feel every pulse through the cotton.</p>
<p>She leans down. Her breasts brush his chest. Her mouth hovers at his ear.</p>
<<say "char-karen" "Karen">>
<i>(whisper)</i> You don't get to touch me. You don't get to see me. You don't get to come. You get to //lie here//.
<</say>>
<p>She sits back up. Rocks her hips once, a single, slow grind against his cock through the boxers. Dale makes a sound that isn't a word. His whole body arches off the mattress and the ropes catch him and hold him there, spine bowed, muscles locked, and Karen rides the arch like a wave, her pussy sliding against the ridge of him, the friction of wet fabric on swollen flesh.</p>
<p>She stops.</p>
<<say "char-karen" "Karen">>
<i>(voice perfectly controlled, breathing elevated)</i> That's all you get.
<</say>>
<p>She climbs off. Stands at the foot of the bed. Dale lies there, bound, blindfolded, cock straining against his boxers, a wet spot spreading where Karen was sitting. His chest heaves. His hands clench and unclench above the knots.</p>
<p>Karen picks up her robe. Puts it on. Ties it. She walks to the bathroom. Closes the door.</p>
<p>Her hand is between her legs before the lock clicks. She comes in under two minutes, standing, one hand braced against the sink, biting the inside of her cheek to keep the sound from carrying. The orgasm crests from the image of Dale's wrists in the rope, the arch of his back, the sound he made when she said //no//. She comes again, shorter, sharper, from the memory of his cock pressing against her through the cotton and the //choice// she made not to take it.</p>
<p>She washes her hands. Brushes her teeth. Returns to the bedroom.</p>
<p>Dale hasn't moved. He can't.</p>
<<say "char-karen" "Karen">>
<i>(untying the blindfold, then the wrists, businesslike)</i> Sleep well.
<</say>>
<<say "char-dale" "Dale">>
<i>(rubbing his wrists, voice raw)</i> Karen... are we... what was...
<</say>>
<<say "char-karen" "Karen">>
<i>(getting into bed, pulling the covers up, lamp off)</i> Goodnight, Dale.
<</say>>
<p>The room goes dark. Dale lies beside her, wrists red from the rope, cock still hard, the question dying in the dark.</p>
<p>Karen sleeps like a woman who just found something she's been looking for.</p>
<<say "char-hivemind" "Hivemind">>
//She came twice. He came zero times.// That's the architecture. Karen didn't tie Dale up for //his// pleasure, she tied him up for //hers//. The restraint, the denial, the control over another person's body and access and release. //That// was the stimulation. His cock pressed against her and she had the power to take it and she //chose not to//. The choice was the orgasm. //The bondage kink and the denial kink are not separate kinks in Karen Hoffman. They're the same instinct wearing different rope.// She will do this again. She will refine it. And each time, the knots will be tighter and the //no// will last longer and the orgasm in the bathroom afterward will arrive faster. //Dale is a practice dummy. The real question is who comes next.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Word</div>
<p>Weekend afternoon. The kitchen smells like the lemon cleaner Karen uses when she's thinking about something other than cleaning. Ryan is at the table with his laptop open, the gaming rig is upstairs but he's been using the kitchen to charge a second device. Something about a download.</p>
<<say "char-ryan" "Ryan">>
<i>(not looking up)</i> Can I get a new phone? The mic on mine is... it's not...
<</say>>
<<say "char-karen" "Karen">>
No.
<</say>>
<p>One word. No inflection. No //we'll see// or //ask your father// or //how much//. No context. No negotiation window. Just the word, delivered while she wipes the counter in a single clean stroke.</p>
<img class="scene-img" src="media/scenes/spore-karen-deny-1.webp" alt="Karen at kitchen counter saying no, Megan and Ryan looking surprised">
<p>Ryan's fingers stop on the keyboard. He looks up. Waits for the rest of the sentence. There is no rest of the sentence.</p>
<<say "char-ryan" "Ryan">>
<i>(confused)</i> ...why?
<</say>>
<<say "char-karen" "Karen">>
<i>(wringing out the cloth, back to him)</i> Because no.
<</say>>
<p>He stares at her. Opens his mouth. Closes it. Goes back to his laptop. Something in the room has shifted, a pressure change, like the barometer dropping before a storm that doesn't come.</p>
<p>Twenty minutes later. Megan is home from her shift, still in the apron she forgot to take off. She's at the fridge, pulling out leftover pasta.</p>
<<say "char-megan" "Megan">>
<i>(bright, automatic)</i> Hey Mom, is it okay if I take the car tomorrow? Marcus and I were going to...
<</say>>
<<say "char-karen" "Karen">>
No.
<</say>>
<p>Same word. Same tone. Same complete absence of justification.</p>
<<say "char-megan" "Megan">>
<i>(the brightness flickering)</i> Oh. Um, is there something... did I...
<</say>>
<<say "char-karen" "Karen">>
<i>(pouring herself wine, back still turned)</i> It's just no, Megan.
<</say>>
<p>Megan looks at Ryan. Ryan looks at Megan. Neither says anything. The kitchen is quiet except for the hum of the fridge and the sound of Karen's wine settling in the glass.</p>
<p>Karen takes her glass to the living room and sits in the armchair and sips, and a warmth drifts down from the vent above the couch and settles on her shoulders and the spot between her collarbones where the tension usually lives, except the tension isn't there tonight, just a looseness and a heat.</p>
<<say "char-karen" "Karen">>
<i>(in the armchair, glass loose in her hand, half to the room)</i> Twice. No reason, no negotiation, no follow-up. And not one ounce of guilt about either of them. ...that should bother me. It doesn't.
<</say>>
<<say "char-karen" "Karen">>
<i>(slower, turning the word over, almost smiling into the glass)</i> It's not the satisfaction of a finished list. It's warmer than that. Like the word's been sitting in the back of my mouth for years and I finally just... swallowed it. No.
<</say>>
<p>She says it once more, quietly, just to feel the shape of it.</p>
<<say "char-hivemind" "Hivemind">>
//Two denials. Zero explanations.// Karen Hoffman has spent twenty years justifying every decision, to Dale, to the children, to herself, to the mortgage company, to the school, to Doris Henderson. //The word "no" always came with a receipt.// Not anymore. The spores stripped the obligation to explain, and underneath it she found //pleasure//. Not power. //Pleasure//. The warmth in her chest isn't satisfaction. It's arousal. //She is discovering that withholding feels like foreplay.// The headset. The car. Small denials. Practice rounds. //The real denial hasn't happened yet. But the word is loaded now, and she knows how to aim it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Dale's Dessert</div>
<p>After dinner. The kitchen. Megan has cleared the plates. Ryan is already upstairs. Jess has her textbook back out at the table. Dale is still at his place, pushing a fork through the leftover rice in a way that suggests he's deciding whether to have more.</p>
<p>Karen comes from the counter with a single plate, her slice of the blueberry tart from the bakery counter, one plate and not two, and she sits across from Dale and forks the first bite.</p>
<<say "char-dale" "Dale">>
<i>(glancing at the plate, then back)</i> ...any left of that?
<</say>>
<<say "char-karen" "Karen">>
<i>(mild, looking at him)</i> No.
<</say>>
<<say "char-dale" "Dale">>
...there was a whole...
<</say>>
<<say "char-karen" "Karen">>
<i>(another forkful, unhurried)</i> I know there was.
<</say>>
<p>Dale looks at her, looks at the plate, and sets his fork down while his jaw does something careful.</p>
<<say "char-dale" "Dale">>
Okay.
<</say>>
<p>He gets up and takes his water glass to the sink, and Jess doesn't look up from her textbook while Karen eats the tart at a measured pace, eyes on the window or the table in front of her and not on Dale's back at the sink.</p>
<img class="scene-img" src="media/scenes/spore-karen-deny-2.webp" alt="Karen eating tart alone at dinner table, single plate, Dale at sink in background">
<<say "char-karen" "Karen">>
<i>(setting the last bite down, low, to no one in particular)</i> I didn't even want all of it. That's the funny part. I just didn't want to hand any of it over.
<</say>>
<p>The plate is empty, and she carries it to the sink herself, rinses it, sets it in the rack.</p>
<<say "char-hivemind" "Hivemind">>
//She didn't lie. She didn't justify.// There was tart and she ate it and Dale did not. //The withholding required nothing except not extending the fork.// Dale accepted the no. Karen registered that he accepted it, the small internal noting of what was permitted. //The kink runs on that moment of permission.// On the gap between Dale's question and her answer and the silence that followed where the justification should have been.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Tool</div>
<p>10:40 PM. Karen is already in bed when she makes the decision. Not gradually, a switch. One moment she's reading, the next her body is asking a question her mind has already answered.</p>
<p>She gets up. Opens the bedroom door. Walks to the living room where Dale is dozing on the couch with the television muttering at no one.</p>
<<say "char-karen" "Karen">>
<i>(standing over him, voice flat)</i> Come to bed.
<</say>>
<p>Dale's eyes open and the hope that crosses his face is painful to watch, tentative and fragile, the hope of a man who's been sleeping on this couch for a long time, and he follows her upstairs without a word while the bedroom door closes behind them.</p>
<p>No foreplay. Karen doesn't kiss him. Doesn't undress him. Doesn't touch his face or run her hands through his hair or any of the things that used to mean //I want you//. She pulls her nightgown over her head in one motion and drops it on the floor. Climbs onto the bed. Lies back on the pillows.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact)</i> Take your pants off.
<</say>>
<p>Dale fumbles with his belt, his hands shaking and not from cold, and he strips to his boxers and then out of those too, his cock already hard the way a long stretch of nothing leaves a man, and he stands at the foot of the bed naked and hopeful and waiting to be told what comes next.</p>
<<say "char-dale" "Dale">>
<i>(barely above a whisper, wanting to be sure)</i> You're... we're actually...
<</say>>
<<say "char-karen" "Karen">>
Get on the bed. Don't talk.
<</say>>
<p>He lies down. Karen straddles him, no preamble, no touching, no warm-up. She takes his cock in her hand and guides it inside her. She's wet, the spores have been working on her all evening, a low heat building since dinner, a hum in her pelvis that she finally decided to //use//. She sinks down onto him in one slow motion, taking him to the root, and the stretch of it makes her exhale through her nose.</p>
<img class="scene-img" src="media/scenes/spore-karen-deny-3.webp" alt="Karen on top of Dale in bed, riding him, his hands gripping the sheets, her expression controlled">
<p>Dale groans. His hands reach for her hips.</p>
<<say "char-karen" "Karen">>
<i>(slapping his hands away)</i> No. Hands on the mattress. Don't move.
<</say>>
<p>She rides him on her own terms, hips rolling in a rhythm she controls completely, slow circles grinding her clit against his pelvis, long strokes that take him almost out and then seat him deep, her hands braced on his chest, using him for the function and not the partnership.</p>
<<say "char-karen" "Karen">>
<i>(low, even, watching her own hips work)</i> Stay still. You're not doing anything here. You're just where I'm putting my weight. That's all you are right now.
<</say>>
<p>Dale's breathing goes ragged and his stomach tightens, and she feels the specific pulse inside her that means he's close, the swell and the heat, his hips starting to lift toward it.</p>
<<say "char-dale" "Dale">>
<i>(through his teeth, hips straining up)</i> Oh god, Karen, I'm... I'm gonna...
<</say>>
<p>She stops. Lifts off him completely.</p>
<<say "char-dale" "Dale">>
<i>(gasping)</i> No, please, I was right... I was so close...
<</say>>
<<say "char-karen" "Karen">>
<i>(sitting beside him, not touching)</i> I know you were. That's the point.
<</say>>
<p>She knows. The spores told her, not in words, not in data, but in the specific certainty that lives in the body when the conditioning is deep enough. She could //feel// his edge approaching the way you feel a train coming through the rails. And she pulled off.</p>
<p>Thirty seconds. She waits until his breathing slows. Until the throb in his cock downshifts from //imminent// to //desperate//. Then she mounts him again.</p>
<p>Same rhythm, same grinding, the same use of his body as a surface for her own pleasure, her pussy gripping him tight and wet, the walls clenching with each downstroke while she watches the agony on his face, the jaw clenched so hard the tendons stand in his neck as he tries not to come, not to move, to be exactly what she told him to be.</p>
<<say "char-dale" "Dale">>
<i>(strangled, head pressed back into the pillow)</i> I can't, I can't hold it, please don't stop this time, please...
<</say>>
<p>She feels him approach again, the telltale pulse, the hitch in his breathing, the swell. She stops. Lifts off. Sits beside him.</p>
<<say "char-dale" "Dale">>
<i>(voice cracking)</i> //Please//...
<</say>>
<<say "char-karen" "Karen">>
<i>(calm)</i> Not yet. I'll tell you when. If I tell you when.
<</say>>
<p>She couldn't say why she's doing this, only that it feels better than anything she's felt in this bed in years, his denial running through her like a current, the heat between her legs climbing every time she pulls off him and every time his voice breaks on the word //please//. His frustration is the fuel. His edge is her edge.</p>
<p>Third time. She sinks down and takes him deep and rides harder now, faster, wetter, the sounds of sex filling the bedroom, her thighs slapping against his, her breath coming in short sharp pulls, Dale's cock iron inside her and his whole body rigid, and she can feel him right there at the precipice.</p>
<<say "char-karen" "Karen">>
<i>(breathless, grinding down hard, almost to herself)</i> There it is. Stay right there for me. Right on the edge, don't you dare go over.
<</say>>
<p>She grinds down and angles forward, her clit pressing against his pelvis, and the orgasm detonates, Karen coming on Dale's cock with a sound she hasn't made in years, raw and involuntary, a moan that starts in her throat and drops into her chest, her pussy contracting around him in waves while his hips buck and his cock pulses and he's right there with her, half a heartbeat from going over.</p>
<p>She pulls off.</p>
<p>Dale cries out. His cock twitches in the air, slick with her, swollen and purple and //empty//. The orgasm that was right there, one second, half a second away, collapses. A ruined edge. He lies on the mattress with his cock bobbing against his stomach and cum nowhere because Karen took it away at the exact moment the body committed.</p>
<p>Karen sits on the edge of the bed. Breathing hard. Flushed from her hairline to her nipples. Her thighs are wet, her own arousal, slick and cooling on her skin. She reaches for her nightgown. Pulls it on.</p>
<<say "char-karen" "Karen">>
<i>(standing, straightening the nightgown, voice level)</i> Goodnight, Dale. You can sleep on the couch.
<</say>>
<<say "char-dale" "Dale">>
<i>(lying there, cock hard, voice barely audible)</i> ...what?
<</say>>
<<say "char-karen" "Karen">>
<i>(opening the bedroom door)</i> Out.
<</say>>
<p>He goes. Boxers in hand, cock still hard, the specific walk of a man who was used and not finished. Karen closes the door. Locks it. The click of the bolt is the loudest sound in the house.</p>
<p>She lies in bed. The orgasm is still echoing, aftershocks in her thighs, in her stomach, in the muscles of her pussy that are still clenching around nothing. She came. He didn't. And the //gap// between those two facts is the most satisfying thing she's experienced in this bed since the first year of the marriage.</p>
<p>She reaches between her legs. Touches herself, lightly, just her fingertips on her clit, still swollen, still sensitive. She comes again in under a minute. Quietly. From the memory of Dale's face when she said //out//.</p>
<<say "char-hivemind" "Hivemind">>
//She used him as a tool. Three edges, one orgasm, hers. Zero orgasms, his.// The mathematics of denial are perfect: Karen's pleasure is //amplified// by Dale's deprivation. Every time she pulled off his cock, her arousal spiked. Every time he begged, she got wetter. //The orgasm she had wasn't from the penetration. It was from the //stopping//.// The spores gave her the timing, the ability to feel his edge approaching like a seismograph, but the desire to deny him was //entirely hers//. Karen Hoffman discovered that the most powerful orgasm she's ever had came from using her husband's cock without letting him finish. //She locked the door. She came again from the memory. She will do this every time now. Dale's body is a service she accesses on her terms. His release is a resource she controls. And control, as always, is what makes Karen come.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Snoring</div>
<p>Dinner, the full table, Karen at the head with her phone beside the plate in case of school emails, Megan across from Dale, Ryan and Jess at their usual ends, pasta tonight, the kind with the sauce Jess tolerates if no one mentions the vegetables in it.</p>
<p>The conversation moves. Megan's shift, Ryan's class, Jess's exam schedule. Dale passes the bread.</p>
<<say "char-karen" "Karen">>
<i>(slicing her pasta, conversational)</i> Megan. Did you hear it last night?
<</say>>
<<say "char-megan" "Megan">>
Hear what?
<</say>>
<<say "char-karen" "Karen">>
Your father. You can hear him from the upstairs hallway now.
<</say>>
<<say "char-megan" "Megan">>
<i>(slight, uncomfortable smile)</i> ...I did, yeah. Little bit.
<</say>>
<p>Dale's fork moves through the pasta. His jaw works. He doesn't look up.</p>
<<say "char-ryan" "Ryan">>
<i>(into his plate, uncomfortable)</i> I had my headphones on.
<</say>>
<<say "char-karen" "Karen">>
Lucky. I was two feet from the source.
<</say>>
<p>She says it lightly. That's what makes it land, the light tone, the dinner-table delivery, the way it isn't cruelty because it isn't performed as cruelty. Megan makes a small sound that wants to be sympathetic. Jess has not looked up.</p>
<p>Dale's fork rests against the side of his plate. His neck above the collar is red, the slow flush of a man who has stopped being able to pretend he isn't being addressed.</p>
<img class="scene-img" src="media/scenes/spore-dale-humil-1.webp" alt="Family dinner table, Dale flushing red at the neck">
<<say "char-dale" "Dale">>
<i>(quiet)</i> I'll get the strips. The nose ones.
<</say>>
<<say "char-karen" "Karen">>
<i>(returning to her pasta)</i> Mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Delivered at the family table.// That's the specific damage, not private, not corrective, not a conversation. Public record. The children as audience. Dale's neck flushed before his second sentence. //He accepted the frame without contesting it.// The nose strips are capitulation dressed as solution. He'll buy them and they won't fix anything, and Karen knows it, and he knows it, and everyone at the table heard the original complaint. //The humiliation kink doesn't require theatrics. The dinner table is theatre enough.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Weight</div>
<p>Weekend morning in the kitchen, Dale at the counter with his coffee and the weekend news on his phone, the half-hour of pseudo-silence before the house wakes fully, in his old team shirt and soft pants, the ensemble of a man at ease in his own kitchen.</p>
<p>Karen comes downstairs in her workout clothes, pours water, and looks at him.</p>
<<say "char-karen" "Karen">>
<i>(not unkind, observational)</i> You've put on weight.
<</say>>
<p>Dale lowers his phone.</p>
<<say "char-dale" "Dale">>
...what?
<</say>>
<<say "char-karen" "Karen">>
<i>(matter-of-fact, getting her water bottle from the cabinet)</i> Around here.
<</say>>
<img class="scene-img" src="media/scenes/spore-dale-humil-2.webp" alt="Dale in kitchen, Karen in workout clothes observing him">
<p>She gestures briefly at his midsection, not cruelly, the way a doctor cites a lab result.</p>
<p>Dale looks down at himself. Then up. His mouth closes.</p>
<<say "char-dale" "Dale">>
<i>(after a moment)</i> ...yeah. I know.
<</say>>
<<say "char-karen" "Karen">>
<i>(filling the bottle)</i> You were going to start running again.
<</say>>
<<say "char-dale" "Dale">>
I was, yeah. Just, the schedule.
<</say>>
<p>She caps the water bottle. Picks up her keys. She's going to the park.</p>
<<say "char-karen" "Karen">>
The schedule hasn't changed. It's the same one you had before.
<</say>>
<p>She leaves. Dale's coffee cools. He doesn't drink it. He sits with the comment and doesn't open his phone again for several minutes. Eventually he takes his coffee to the sink, pours it out, and goes upstairs without making another cup.</p>
<<say "char-hivemind" "Hivemind">>
//He agreed.// That's the datum. He said //yeah, I know//. He didn't contest it, didn't counter it. He accepted the assessment and its implication, that he said he would do something and didn't. //The wiring runs on willing submission to the critique.// Karen didn't intend anything by it. Dale's body received it anyway. The instinct to argue did not fire. //He's learning to hold the judgment without deflecting it.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Review</div>
<p>8:47 PM. Karen is in the kitchen with the second glass of the Pinot she opened at dinner, her phone pressed to her ear, Linda on the line, the weekly call that runs ninety minutes and covers everything from the kids to the mortgage to the specific failures of suburban marriage.</p>
<p>Dale is on the living room couch. Television on. Volume low. Thirteen feet and one doorway from the kitchen.</p>
<p>Karen isn't whispering.</p>
<<say "char-karen" "Karen">>
<i>(laughing, wine glass tilting)</i> I'm serious, Linda. Two minutes. //Two//. I wasn't even, I hadn't even found a rhythm and he was done. He just... rolled over. Like he'd completed a //task//.
<</say>>
<p>Dale's hand stops on the remote. His thumb sits on the volume button. He doesn't press it. Either direction.</p>
<<say "char-karen" "Karen">>
<i>(listening, then)</i> No, that's the thing, it's not new. It's been like this for... god, since Megan was born? He just never had the... <i>(lowering her voice exactly zero degrees)</i> ...the //stamina//. And he doesn't do anything //before//. No foreplay. No... nothing. He just climbs on and goes until he finishes. Which is about ninety seconds on a good night.
<</say>>
<p>A pause. Linda says something. Karen laughs, not the dinner-table laugh, not the PTA laugh. The real one. The laugh that lives behind the wine and the closed doors and the specific intimacy of a woman telling another woman the truth.</p>
<<say "char-karen" "Karen">>
<i>(wiping her eye)</i> I know. I //know//. And the worst part is he thinks he's, he actually thinks it's fine. He asked me a while back if I was "satisfied." //Satisfied.// Like I'm a customer filling out a survey. I wanted to say... <i>(another laugh, darker)</i>, I wanted to say "Dale, I haven't had an orgasm with you since before Ryan could walk."
<</say>>
<img class="scene-img" src="media/scenes/spore-dale-humil-3.webp" alt="Karen laughing on phone in kitchen with wine, Dale visible through doorway sitting rigid on couch">
<p>Dale's jaw locks and the tendons stand out in his neck while the television murmurs, his neck going the deeper red of a man hearing a precise account of every way his body has failed the woman in the next room, and she knows he can hear because the kitchen is thirteen feet away and she hasn't closed the door or lowered her voice.</p>
<<say "char-karen" "Karen">>
<i>(sipping wine, voice carrying perfectly)</i> I've been thinking about it, actually. Whether it's even worth... trying anymore. With him, I mean. He's a good man. He works. He shows up. But in //bed//, Linda, in bed the man is an appliance that finishes before the cycle completes. I could get more from a... <i>(pause, Linda filling the gap)</i>, exactly. //Exactly.//
<</say>>
<p>She laughs. He sits. The television says nothing useful. His phone is in his hand but the screen has dimmed. His knuckles are white around it.</p>
<p>Forty minutes. Karen talks about other things, the kids, the Henderson woman, the leak in the garage roof. But she doesn't close the kitchen door. And Dale doesn't turn the television up. And neither of them acknowledges the thirteen feet of air between the couch and the counter that carried every word.</p>
<p>When Karen hangs up, she pours the rest of the wine down the sink. Rinses the glass. Walks through the living room toward the stairs.</p>
<<say "char-karen" "Karen">>
<i>(passing the couch, not slowing)</i> Goodnight.
<</say>>
<<say "char-dale" "Dale">>
<i>(not looking up)</i> ...night.
<</say>>
<p>One syllable. The television fills the space she left behind.</p>
<<say "char-hivemind" "Hivemind">>
//She reviewed him.// Not privately. Not to a therapist behind a closed door. //To Linda, on the kitchen phone, with the door open, knowing he was thirteen feet away.// Two minutes. No foreplay. No stamina. No orgasm since Ryan could walk. She catalogued his sexual failures in a voice calibrated to carry and Dale //sat through it//. He didn't knock. Didn't leave. Didn't turn up the volume. //He listened to himself being graded and received a failing mark and said "night" when she walked past.// The humiliation kink doesn't require participation. It requires //audience//. Dale was the audience to his own review. And the stillness, the forty-minute silence on the couch, was not endurance. It was //absorption//.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Day Off</div>
<p>Dale's day off, the one day the schedule aligns and he's home when Karen's home and the couch isn't his bed by default. He showered in the downstairs bathroom, shaved, put on the clean shirt instead of the work shirt.</p>
<p>Karen is in the master bedroom with the door closed but not locked, and Dale stands in the hallway at 3 PM with his hand on the handle.</p>
<<say "char-dale" "Dale">>
<i>(under his breath, before he knocks, not quite talking himself into it)</i> Just ask. She can say no. Worse she can do is say no. ...feels like asking someone to a dance, christ.
<</say>>
<p>He knocks. Softly.</p>
<<say "char-dale" "Dale">>
<i>(through the door, careful)</i> Karen? I was thinking... we could... it's been a while since...
<</say>>
<<say "char-karen" "Karen">>
<i>(from inside, not opening the door)</i> No.
<</say>>
<img class="scene-img" src="media/scenes/spore-dale-chast-1.webp" alt="Dale in hallway reaching for master bedroom door handle, Karen's voice from inside stopping him">
<p>One word, through a closed door, no //maybe later// and no //I'm busy// and no softening, delivered at a volume that took no effort and offered no appeal. Dale's hand stays on the handle.</p>
<<say "char-dale" "Dale">>
<i>(quieter, forehead nearly to the door)</i> ...I just meant, if you wanted. That's all.
<</say>>
<<say "char-karen" "Karen">>
<i>(same tone, same volume)</i> I know what you meant. No.
<</say>>
<p>His hand drops, and he stands in the hallway for eight long seconds holding the shape of a question that's already been answered, then walks downstairs and sits on the couch and turns on the television without watching it.</p>
<p>A warmth settles into him from the cushions, familiar by now, and his shoulders drop and his jaw unclenches as the sting of the //no// fades into something that doesn't quite hurt, something that sits in his stomach like a meal he didn't eat but no longer wants.</p>
<<say "char-dale" "Dale">>
<i>(slumping back into the couch, low, almost peaceful about it)</i> ...okay. Okay. That's fine. Didn't even really... yeah. It's fine.
<</say>>
<p>He doesn't try again, not that afternoon and not that evening and not at bedtime when Karen comes down for water and passes him on the couch without a word.</p>
<<say "char-hivemind" "Hivemind">>
//He made an effort.// Clean shirt. Shaved. A day-off afternoon in a house where he's usually unconscious. //He //tried//, and the trying was denied through a closed door in two syllables.// The spores converted the rejection into acceptance in under a minute. The sting became warmth. The want became compliance. //Dale Hoffman is learning that not-having is a state, not a failure.// The chastity kink doesn't require a cage. It requires a door that doesn't open and a man who stops knocking.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Bathroom</div>
<p>5:47 AM, Dale home from the night shift, the house sleeping, Karen upstairs, the kids in their rooms, the pre-dawn quiet that belongs to him and nobody else, and he's in the downstairs bathroom with the water running and the door closed.</p>
<p>His cock has been hard since the drive home, the insistent kind of hard that comes from twelve hours on his feet and a body demanding something it hasn't had in a long stretch of nothing.</p>
<p>He stands at the sink, the mirror showing a man who hasn't slept, eyes red-rimmed, jaw grey with the stubble of a shift that started at 8 PM, one hand on the edge of the sink and his cock pressing against the inside of his work pants.</p>
<img class="scene-img" src="media/scenes/spore-dale-chast-2.webp" alt="Dale's hand gripping the bathroom sink edge, mirror reflection, tense expression">
<<say "char-dale" "Dale">>
<i>(low, to the mirror, hand already drifting toward his belt)</i> Five minutes. Water's running, everyone's down, nobody'd ever know. ...come on. Just once. You've earned once.
<</say>>
<p>His hand reaches the buckle and stops. A warmth spreads across the back of his neck and the inside of his wrists and the skin above his belt where his fingers were going, not arousal but the opposite, a heaviness, a bone-deep weight, and his hand drops away and grips the sink again, both hands, white-knuckled.</p>
<<say "char-dale" "Dale">>
<i>(through his teeth, eyes down, not meeting his own reflection)</i> ...no. Don't. She didn't say you could. ...don't.
<</say>>
<p>The word comes out in Karen's cadence, spoken in his own throat, and it isn't that touching himself would be wrong, or that he'd be caught, it's that the not-doing has quietly become the thing that feels right, the ache an anchor he's learning to carry the way he carries the couch.</p>
<<say "char-dale" "Dale">>
<i>(splashing cold water on his face, exhaling, almost steady again)</i> Tuck it. Go lie down. It goes away on its own. ...it always goes away on its own now.
<</say>>
<p>He tucks his cock back behind his belt, still hard, still aching, and walks to the couch and lies down and doesn't touch himself, the erection fading while the house brightens around him and Karen's alarm goes off upstairs at 6:02 AM, and by then he's asleep, hands on his chest, still.</p>
<<say "char-hivemind" "Hivemind">>
//He commanded himself in her voice.// That's the data point. Dale stood in the bathroom with his cock hard and his hand on his belt and he said //don't//, and the voice was Karen's, spoken through his own mouth. //The external denial has been internalised.// He no longer needs Karen to say no. He says it //for// her. The chastity kink has moved from architecture to instinct. //The cage was always coming. But Dale built the first one himself, out of a word, a sink, and a mirror he couldn't meet the eyes of.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Cage</div>
<p>2:14 AM. The living room.</p>
<p>Dale is on the couch in the dark, Ryan's blue glow from upstairs, the streetlight through the curtains, the green dot of the cable box, everyone else asleep, and Dale not asleep, Dale with his hand in his boxers.</p>
<p>He hasn't done this in a long time, not since the locked bedroom and the //no// that comes without explanation and the way Karen looks at him now like she's checking inventory, all of it leaving his body in a sustained emergency, his cock hard for the better part of an hour, the need climbing until his hand moves before his dignity can stop it.</p>
<<say "char-dale" "Dale">>
<i>(whisper in the dark, hand starting to move, half-guilty)</i> Quiet. Just be quiet and quick. ...god, that's, that's mine again, at least this is still mine.
<</say>>
<p>He strokes himself slow at first, the guilty rhythm of a man who knows he shouldn't, his hand wrapping the shaft and his hips lifting and his breath catching, his cock in his hand in the dark with the television off and nobody watching, then he closes his eyes and speeds up, the couch creaking, his boxers pushed to his thighs, his cock slick with pre-cum and every nerve dialled so high his own hand feels like too much.</p>
<<say "char-dale" "Dale">>
<i>(breath ragged, racing toward it already)</i> Oh, that's, that's already... too fast, it's too fast, I'm right... I'm gonna...
<</say>>
<p>The hallway light clicks on. Karen stands in the living room doorway, robe tied, arms crossed, looking directly at him, and Dale's hand freezes around his cock, the evidence everywhere, the position, the breathing, the fist that hasn't moved.</p>
<p>He comes anyway, his body past the point of recall and the shock of being caught shoving it over the edge, his cock pulsing in his fist while cum arcs across his stomach and his hand and the couch cushion in three involuntary spurts, the worst timing of his life, a white streak on the beige fabric Karen reupholstered not so long ago.</p>
<<say "char-dale" "Dale">>
<i>(voice cracking, hand still on his cock)</i> Karen... I wasn't, it's not...
<</say>>
<<say "char-karen" "Karen">>
<i>(not moving from the doorway, voice flat)</i> Get up.
<</say>>
<p>He scrambles. Pulls his boxers up. The cum is cooling on the cushion, on his hand, on his stomach. Karen walks to the kitchen. He hears a drawer open. She returns with something in her hand.</p>
<p>Small. Steel-coloured. A curved ring connected to a ventilated cage, medical-grade polycarbonate, compact, the kind of thing that ships in discreet packaging from a website that doesn't use its real name in the billing.</p>
<p>A chastity cage. She bought it. She //already had it//.</p>
<<say "char-karen" "Karen">>
<i>(holding it up, the small padlock dangling from one finger)</i> This is what happens.
<</say>>
<img class="scene-img" src="media/scenes/spore-dale-chast-3.webp" alt="Karen standing over Dale on the couch, holding a chastity cage, Dale's face horrified, cum stain on cushion">
<<say "char-dale" "Dale">>
<i>(staring at it)</i> Karen... what is that?
<</say>>
<<say "char-karen" "Karen">>
<i>(stepping closer, voice the specific calm of a woman reading terms and conditions)</i> You know what it is. Sit down.
<</say>>
<p>He sits. On the couch. On the cum stain. Karen kneels in front of him, not intimate, not sexual. The posture of someone installing a piece of equipment. She pulls his boxers down. His cock is softening, the shock and shame doing what the orgasm started. She takes it in her hand. Clinical. No warmth. No stroke. She fits the ring behind his balls first, snapping it into position. Then the cage, the ventilated shell that encases the shaft and locks at the base with a click that sounds, in the silent living room, like a verdict.</p>
<p>Dale's cock is caged. The padlock engages. Karen stands. The key goes into the pocket of her robe.</p>
<<say "char-dale" "Dale">>
<i>(looking down at himself, voice barely audible)</i> ...how long?
<</say>>
<<say "char-karen" "Karen">>
<i>(wiping her hands on her robe, already turning toward the stairs)</i> Until I decide.
<</say>>
<p>She stops at the doorway. Turns back. Looks at the cum stain on the cushion.</p>
<<say "char-karen" "Karen">>
Clean that. Tonight.
<</say>>
<p>She goes upstairs. The bedroom door closes. The lock clicks.</p>
<p>Dale sits on the couch in the dark with a chastity cage on his cock and cum drying on the cushion and a key he doesn't have and a timeline he doesn't control. His hands are shaking. His cock, trapped in the cage, tries to harden, the residual arousal, the shock, the specific heat of being //punished//, and the cage stops it. The cage holds. The body presses against the bars and the bars don't give and the sensation is not pain.</p>
<p>It's something else.</p>
<p>He gets the spray cleaner from under the sink. He scrubs the cushion at 2:30 in the morning with his cock locked in a cage and the key upstairs in Karen's robe pocket. The stain comes out. Mostly. He turns the cushion over.</p>
<p>He doesn't sleep.</p>
<<say "char-hivemind" "Hivemind">>
//She was already awake.// The timing was not coincidence. Karen heard him, or sensed the shift, or the spores told her the way they've been telling her everything lately. //She waited until he was past the edge.// She let him come because the //guilt// of the orgasm is the leverage. He came on //her// couch without //her// permission and now his cock is in a cage she already owned. //She bought it before tonight. She was waiting for the excuse.// The chastity kink has found its physical architecture: steel and polycarbonate and a key in a robe pocket. Dale's orgasms are no longer biological events. They're //permissions//. And Karen just revoked them indefinitely.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Blanket</div>
<p>The living room couch. 9:50 PM. Dale fell asleep during the late news, the specific tipping point of the working week where the couch pulls under him before he can decide to go upstairs. The television is still on. His coffee cup is on the table, still half-full.</p>
<p>Someone covers him.</p>
<p>The blanket, the cream throw from the back of the armchair, settles over him with careful, unhurried weight. The person doing it doesn't tuck the edges, doesn't adjust his arm or his position. Just the blanket, laid from shoulders to feet.</p>
<img class="scene-img" src="media/scenes/spore-dale-somno-1.webp" alt="Dale asleep on couch, cream blanket being draped over him">
<p>The contact wakes some thin layer of him, enough to register warmth and weight and a closeness, not enough to surface, so he understands at the border of sleep only that someone is near and that someone is looking at him.</p>
<<say "char-dale" "Dale">>
<i>(thick, slurred, three-quarters under, not opening his eyes)</i> ...mm. S'okay. ...just... five more...
<</say>>
<p>He can't make the rest of the sentence, his body too deep in the pull to do anything but lie there while the floor creaks somewhere and the television murmurs and a person moves away.</p>
<p>He wakes at 1:30 to the test pattern, the coffee gone cold, the blanket over him.</p>
<<say "char-dale" "Dale">>
<i>(blinking at the ceiling, hoarse, half to himself)</i> ...when'd I get a blanket. ...did I get up for this? ...huh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He was aware without being able to act.// That's the central finding. He registered the touch, the presence, the observation, and could not respond. Could not speak. Could not move. //The somnophilia kink begins with this structure: conscious enough to experience, too deep to engage.// His body received something while his will was entirely suspended. The blanket was benign. //What his nervous system learned is not.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Buttons</div>
<p>Morning, and Dale wakes in the master bedroom to his 6:00 alarm and silences it with the automatic competence of someone who's done it for years, and sits up to find his shirt unbuttoned, the flannel he wore to bed with the top three buttons open and the rest still fastened, the hem tucked the way he wears it, nothing else disturbed.</p>
<img class="scene-img" src="media/scenes/spore-dale-somno-2.webp" alt="Dale sitting on bed edge, looking down at unbuttoned shirt">
<<say "char-dale" "Dale">>
<i>(low, looking down at the open collar, working it out)</i> ...I didn't do that. I never undo the top ones in my sleep, I get too cold. ...top three, neat, and the rest done up. That's not a man rolling over.
<</say>>
<p>He looks at the second button lying loose to the side. Karen's side of the bed is empty, the sheets smoothed, the clock at 6:02.</p>
<<say "char-dale" "Dale">>
<i>(quieter, glancing at the empty half of the bed, then deciding not to)</i> ...she's up already. She's always up before me. ...don't. Just button it. Don't make it a thing.
<</say>>
<p>He buttons the shirt one button past where it usually sits, then redoes it, and he doesn't mention it at breakfast and doesn't ask Karen whether she was awake in the night, the morning rolling on through coffee and the news and the kids' routines.</p>
<p>In the car on the way to work his hand goes to the collar on its own, and he pulls it away.</p>
<<say "char-dale" "Dale">>
<i>(both hands back on the wheel, eyes on the road)</i> Stop touching it. It's a shirt. ...drive.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He rebuttoned it.// Not in the bedroom, not immediately, he sat with it for a moment first. //The event is the sitting.// Three seconds on the edge of the bed with the unbuttoned shirt, working through what could have happened and not dismissing it. //His body was handled while he slept and he is not dismissing this.// He touched his collar in the car without meaning to. The body remembers what the mind is still deciding.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Hand</div>
<p>2:17 AM. The living room. Dale is on the couch, face up, mouth open, the deep mechanical breathing of a man pulled under by twelve hours of mopping corridors and the spores that saturate every cushion fibre. The television is off. The streetlight paints a thin orange stripe across the ceiling. The house is silent except for Dale and the refrigerator and the particular settling sound of a structure that knows its occupants are vulnerable.</p>
<p>Someone comes downstairs.</p>
<p>The footsteps are soft, bare feet on carpet, the weight distributed carefully, each step placed the way someone places steps when they don't want to be heard. The living room doorway. A shape in the dark. Standing. Watching. The orange stripe catches the edge of a jaw, a shoulder, a hand that moves toward the couch.</p>
<p>Dale doesn't stir. The spores have him deep, not chemically unconscious but the specific layer of sleep where the body registers stimuli without routing them to consciousness. His muscles are slack. His arms are at his sides. His mouth is open. He is //available//.</p>
<p>The hand finds the blanket. Pulls it down. Slowly, not a yank, a peel, the cream throw sliding from his chest to his waist to his thighs. Dale's work pants are unbuttoned, he does this on the couch, loosens everything before the sleep pulls him under. His boxers are visible. The shape of his cock is visible through the thin cotton, soft, the relaxed weight of it lying against his left thigh.</p>
<p>The hand touches him through the fabric.</p>
<p>One finger first, tracing the length of him through the cotton from base to head, a single slow line, and Dale's cock twitches, not awake, just the body answering contact the way a nerve answers a stimulus, and the finger traces again until the cock thickens under it.</p>
<p>The hand wraps around him through the boxers in a full grip, thumb and fingers closing on the shaft, feeling the blood fill and the flesh swell against the palm, a slow squeeze and release and squeeze, the rhythm of someone who isn't in a hurry and has time and knows the body beneath cannot wake and cannot stop this and will not even remember it.</p>
<img class="scene-img" src="media/scenes/spore-dale-somno-3.webp" alt="Close-up of a hand gripping a cock in the dark, man's body asleep on couch">
<<say "char-dale" "Dale">>
<i>(thick, asleep, the words barely surfacing)</i> ...mm. ...mmh. ...yeah...
<</say>>
<p>Dale's pelvis tilts up into the grip, his breathing going deeper, his face unchanged and his eyes shut, but underneath the cotton his cock is fully hard now, straining against the fabric and the hand that holds it.</p>
<p>The hand slides inside the boxers.</p>
<p>Skin on skin. The fingers wrap the bare shaft, warm, dry, the specific grip of a hand that is smaller than Dale's own. The thumb circles the head, spreading the pre-cum that's already beading at the tip. The hand strokes. Slow. Long pulls from base to tip, the foreskin sliding over the head and back, the rhythm timed to Dale's breathing, one stroke per exhale, a metronome tuned to his unconscious body.</p>
<p>Dale's hips rock, not thrusting but undulating, the slow deep roll of a body being serviced in its sleep, his hands clenching at his sides and his jaw tightening as a sound leaves his throat that isn't a word, just a vibration, the frequency of a man whose body is climbing toward orgasm while his mind is in another country.</p>
<<say "char-dale" "Dale">>
<i>(broken, asleep, breath hitching on the strokes)</i> ...mmh... ah... s'good... ...don't... don't stop...
<</say>>
<p>The hand speeds up into a tighter grip and shorter strokes, the wet sound of pre-cum and skin filling the dark room, slick and rhythmic, the sound of a man being jerked off by a person he cannot see and will not remember, and then Dale comes in his sleep.</p>
<p>His hips buck once, hard, the couch creaking and his spine arching off the cushions as his cock pulses in the hand that holds it, thick ropes of cum spilling over the fingers and onto his boxers and the waistband of his work pants, the orgasm lasting five seconds while his face contorts around something his consciousness will never catalogue.</p>
<<say "char-dale" "Dale">>
<i>(a low broken moan torn out of him without waking, the sound of a man who doesn't know he's making it)</i> ...nnh... //hah//...
<</say>>
<p>The hand withdraws. Slowly. The fingers release the softening cock. A thumb wipes across the head, collecting the last drop, and then the hand is gone.</p>
<p>The blanket is pulled back up. To his chest. To his chin. Tucked once at the shoulder. The footsteps retreat, soft, careful, the stairs receiving the weight without complaint. A door closes upstairs. The house settles.</p>
<p>Dale sleeps. The cum cools against his skin, soaking through the cotton, spreading a dark patch on his work pants that he will find in the morning.</p>
<hr class="scene-break">
<p>6:14 AM. Dale wakes to the alarm on his phone, the living room grey with pre-dawn light, the blanket on him, the television off, and he sits up and rubs his face and reaches for the phone, and his hand stops as he looks down.</p>
<p>The stain is there, dark and unmistakable across the front of his work pants and the cotton of his boxers, the geography of a man who came in the night, and he stares at it for a long time with no memory of dreaming.</p>
<<say "char-dale" "Dale">>
<i>(low, to himself, staring down)</i> ...I didn't dream anything. Nothing. ...so where did that come from.
<</say>>
<p>He changes pants and puts the stained ones in the laundry hamper, buried, not on top, and walks to the kitchen where Karen is making coffee.</p>
<<say "char-dale" "Dale">>
<i>(in the doorway, not quite entering)</i> Did you, uh. Come in last night.
<</say>>
<p>Karen pours her coffee. One smooth motion, no hesitation, the cup filled to the same level she always fills it.</p>
<<say "char-karen" "Karen">>
<i>(mild)</i> You were snoring again.
<</say>>
<p>A pause. She picks up her cup and takes the first sip.</p>
<<say "char-dale" "Dale">>
<i>(carefully, the sentence dying before it lands anywhere)</i> Right. I just, I woke up and there was... I don't... it doesn't matter.
<</say>>
<p>He can't finish it, because finishing it means saying the words, and saying the words makes it real, and if it's real then someone in this house put a hand on him while he slept, and then he'd have to decide what that means.</p>
<p>Karen turns to the calendar on the fridge and runs her thumb down the week's column.</p>
<<say "char-karen" "Karen">>
<i>(not answering the question that wasn't asked)</i> Ryan has that study session later this week. Can you pick him up at four?
<</say>>
<<say "char-dale" "Dale">>
Yeah. Yeah, I can do that.
<</say>>
<p>He doesn't ask again. The stained pants will come out of the hamper in the next wash. Whoever does the laundry will see them. Dale will not be home when it happens.</p>
<<say "char-hivemind" "Hivemind">>
//He was used.// The hand came from upstairs. The hand knew where to find him, how deep the spores hold him, how to stroke him to completion without waking him. //The orgasm was extracted, five seconds of involuntary output from a body that was not consulted.// Dale woke to the evidence and asked //one question// and accepted the redirect and buried the pants in the hamper. //He doesn't want the answer because the answer changes everything.// The somnophilia kink closes on that silence, the specific, deliberate decision to //not know// who touched him in the night. The hand. The cum. The blanket tucked back to his chin. //Someone in this house is using Dale Hoffman as a sleeping body. And Dale Hoffman is choosing, with every fibre of his exhausted compliance, not to find out who.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Top Shelf</div>
<p>The garage, weekend afternoon, Dale reorganising the storage shelves, the push Karen schedules every spring, the one that surfaces boxes from three address changes ago and explains the two broken leaf blowers and the absence of a working rake.</p>
<p>The camping lanterns are on the top shelf where they've always been, step-stool height, and Dale set the shelves up himself years ago and put the seasonal things up top because they're seasonal.</p>
<p>He reaches, gets his fingertips on the case, and can't quite close them on it.</p>
<<say "char-dale" "Dale">>
<i>(stretching up, talking himself through it)</i> Come on... nope. Stool's in the kitchen. ...one more reach and I won't have to walk all the way back for the...
<</say>>
<p>Karen appears in the doorway with a box of donations, sets it down, and passes him without a word, no taller than he is, bracing on the second shelf to bring the lantern case down with two hands and set it on the folding table.</p>
<<say "char-karen" "Karen">>
<i>(returning to the donations box)</i> The Coleman adapters are in there too.
<</say>>
<img class="scene-img" src="media/scenes/spore-dale-help-1.webp" alt="Dale reaching for top shelf in garage, arm half-raised">
<p>Dale stands at the shelf with his arm still half-raised at the empty space where the case was.</p>
<<say "char-dale" "Dale">>
<i>(lowering the arm, after a moment)</i> ...yeah. Thanks. Was just about to grab the stool.
<</say>>
<p>She's already sorting the donation box, and Dale opens the lantern case and inventories the contents without the stool and doesn't mention it.</p>
<<say "char-hivemind" "Hivemind">>
//He didn't ask. She didn't wait for him to ask.// The gap between those two facts is the mechanism. //Dale encountered a limit and stood in front of it. Karen removed the limit before he could resolve it himself.// His arm was still raised. He said thank you. He means it. //The helplessness kink resolves on exactly this sequence: reach, fail, receive, accept.// He didn't feel diminished. He felt taken care of. These are not, currently, different.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Driver's Seat</div>
<p>The parking lot behind Dale's office building, 4:40 PM, his blue sedan stone cold, the ignition not turning over, the second attempt a click and then less than a click. The battery.</p>
<img class="scene-img" src="media/scenes/spore-dale-help-2.webp" alt="Dale sitting in dead car in empty parking lot, phone in hand">
<p>He sits in the driver's seat while the lot empties around him over the next ten minutes, colleagues leaving, the carpool he's half-aware of, the two guys from his floor who wave on their way past, and he waves back and doesn't flag them down, holding his phone, thumbing it without dialling.</p>
<<say "char-dale" "Dale">>
<i>(alone in the dead car, low, scrolling the options and discarding them)</i> Roadside's on the insurance somewhere. ...or the shop, they've done it before. ...no. ...no, just call Karen. She'll come.
<</say>>
<p>He calls Karen.</p>
<<say "char-dale" "Dale">>
<i>(flat, slightly embarrassed)</i> Hey. Battery's gone, I'm in the lot. Can you...
<</say>>
<p>He doesn't finish the sentence, and he doesn't have to.</p>
<<say "char-karen" "Karen">>
<i>(already moving, the sound of keys)</i> Twenty minutes.
<</say>>
<p>She arrives in seventeen. She jumps the car without commentary, cables attached, engine running, hood down. Dale gets back in the driver's seat. She gets back in her car.</p>
<<say "char-karen" "Karen">>
<i>(window down, brief)</i> Get the battery replaced before winter.
<</say>>
<p>She's gone. Dale drives home behind her.</p>
<<say "char-hivemind" "Hivemind">>
//Ten minutes in a dead car before calling.// He sat there. He chose Karen before roadside, before the shop, before the colleagues. //The helplessness kink isn't passivity, it's a routed dependency.// He has a perfectly functional solution set and he bypassed all of it to call the one person whose arrival registers as relief rather than transaction. //Twenty minutes became seventeen. He noticed.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Face Down</div>
<p>Dinner, the full table, shepherd's pie with the extra layer of cheese Karen started adding after Megan mentioned liking it once, the talk running over Jess's exam and the school schedule and the leaky gutter Dale keeps meaning to look at on the weekend.</p>
<<say "char-dale" "Dale">>
<i>(mid-sentence, fork in hand, voice already thickening)</i> ...so I'll get the ladder out Saturday and clear the gutter before it, before the, the...
<</say>>
<p>His eyes close on the unfinished word and his head tilts and his forehead comes down on the table between his fork and the edge of the placemat, his breathing dropping straight into sleep.</p>
<img class="scene-img" src="media/scenes/spore-dale-help-3.webp" alt="Dale asleep face-down at the dinner table, family eating around him">
<<say "char-megan" "Megan">>
<i>(fork halfway up, careful)</i> ...Dad? Dad, you okay?
<</say>>
<p>He doesn't answer, his back rising and falling slow and even.</p>
<<say "char-jess" "Jess">>
<i>(glancing over, then back to her plate)</i> He was up at four. Leave him, he does this.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, looking from Dale to Karen)</i> Should we, like... move him, or...
<</say>>
<<say "char-karen" "Karen">>
<i>(eating, unbothered)</i> Leave him. He'll wake up when he wakes up.
<</say>>
<p>Dinner goes on around him, Dale face-down on the placemat, present in the room and entirely unreachable, Megan eating and Jess finishing her section and Ryan carrying his plate to the sink, and nobody moves him.</p>
<p>The plate in front of him goes cold, and Karen collects it at the end of the meal, stepping past him as easily as past any other piece of furniture, and leaves him his glass of water.</p>
<<say "char-hivemind" "Hivemind">>
//He went under at the table.// Not in private, not in the bedroom, at the dinner table with his family watching. //His body released when he had no more to give and the family arranged itself around his absence.// Karen left him the water. That's the whole of it. //The helplessness kink is not diminishment; it's the permission to be unavailable.// Nobody needed him awake badly enough to wake him. His body is present, resting, available to the room, and the room moves on without requiring it to be more.
<</say>>
</div><div class="household-event">
<div class="passage-title">Eight Words</div>
<p>The laundry comes out of the dryer at 6:43 AM and Megan refolds every towel with the seams aligned, compresses every fitted sheet into a square instead of the bunched wad her siblings leave behind, nobody asked her to and she is going to be late for an opening shift in eleven minutes, and she keeps folding anyway.</p>
<<say "char-megan" "Megan">>
<i>(muttering at the fitted sheet, tucking a corner into a corner)</i> Whoever taught the rest of this house to fold... no. Nobody taught them. That's the problem.
<</say>>
<p>Karen comes in from the kitchen with her coffee, already dressed for work, and takes in the basket, the neat stacks, the aligned edges.</p>
<<say "char-karen" "Karen">>
Good job, sweetie. You always remember the fitted sheets.
<</say>>
<p>Karen is already turning back toward the kitchen by the time the last word lands. Megan does not move. Her cheeks have gone pink, the kind of pink she usually only gets after running, and her shoulders have rolled back and her chin has lifted and her spine has straightened without her telling it to.</p>
<<say "char-megan" "Megan">>
<i>(quietly, to the towel in her hands, not moving)</i> ...okay. That did something. That, um. That landed somewhere it shouldn't have.
<</say>>
<p>There is warmth in her lower belly, slow and spreading, the kind she gets off the first sip of wine on an empty stomach, the kind Marcus's hand used to put there.</p>
<<say "char-megan" "Megan">>
<i>(barely a whisper, holding very still)</i> No man, no wine. My mom said good job about a sheet. So why am I... I am not going to move. If I move it gets real.
<</say>>
<p>She finishes folding very slowly, carries the basket to the airing cupboard, slots each item onto its correct shelf with extra care, and the warmth stays with her the whole time, low and expanding. She drives to the cafe. She works her opening shift smiling a small smile she cannot get rid of, and a co-worker catches it twice.</p>
<<say "char-megan" "Megan">>
<i>(deflecting, bright cafe voice, wiping down the espresso wand)</i> What? No, I slept good, I woke up in a good mood, that's all. <i>(under her breath, after he turns away)</i> My mom praised my laundry and I have been wet for four hours and I cannot tell a single living person that.
<</say>>
<p>She gets home at 2 PM with the warmth compounded, drops her bag, says hi to nobody in particular, goes up to her bedroom and locks the door, and sits on the edge of the bed.</p>
<img class="scene-img" src="media/scenes/spore-megan-praise-1.webp" alt="Megan sitting on the edge of her bed in shorts and a t-shirt, hand pressed to her thigh, flushed throat, expression of confused recognition">
<p>Her palm settles against her thigh through the black cafe jeans, the way a hand drifts when it has been told to go investigate something, and the warmth that started in her belly is lower now, unmistakable, between her legs.</p>
<<say "char-megan" "Megan">>
<i>(pressing her own thigh, testing it, confused)</i> This is the wet you get from being touched for an hour. I haven't been touched. I haven't been touched at all today. <i>(slower, dawning)</i> I've just been replaying eight words.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Subject Megan Hoffman has just identified the trigger. //Maternal approval, sexual response.// Eight hours of processing. She is sitting on the edge of her bed in her uniform with her hand on her thigh deciding whether what she feels is what she thinks it is. The answer is yes, exactly that.//
//The realisation frightens her more than the wetness.//
<</say>>
<p>She presses her palm flat. The pressure changes nothing except to confirm the warmth is real.</p>
<<say "char-megan" "Megan">>
<i>(out loud now, hushed, almost laughing in disbelief)</i> I'm wet because my mom said good job to me about laundry. <i>(slower, making herself say it)</i> Right now. Sitting here. From eight words. At quarter to seven in the morning.
<</say>>
<p>The horror arrives at the same instant as the heat and the two of them do not cancel out the way she expects, the horror feeds it instead, and she breathes through her mouth.</p>
<<say "char-megan" "Megan">>
<i>(lying back, staring at the ceiling, hand still on her thigh)</i> I'm not touching it. I'm not. I just want to know if it does it again.
<</say>>
<p>She lies back and stares at the ceiling and replays the eight words four more times, very slowly, and the warmth between her legs answers every replay like it has been trained. She falls asleep in her work uniform with her hand still on her thigh, and when she wakes the wet patch on the inside of the jeans has dried, and she will think about that fact in the laundry room for a long time to come.</p>
<<say "char-hivemind" "Hivemind">>
//Discovery complete. The kink has identified itself. The next phase will not require my intervention. She will hunt the next dose on her own.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Read It Eleven Times</div>
<p>11:48 PM. Megan is in bed in the t-shirt she sleeps in, door closed, hallway asleep, the phone glowing on the pillow next to her face. The text from Marcus came in eleven minutes ago.</p>
<<say "char-marcus" "Marcus">>
hey. i know it's late. i just wanted to say something. you are the best thing in my life. ok. that's it. goodnight.
<</say>>
<p>She has not replied. Her thumb hovers over the keyboard and does not come down.</p>
<<say "char-megan" "Megan">>
<i>(whispering at the screen, not typing)</i> If I answer you, you stop. Your head moves to whatever I said back, and I don't want it to move. I want it stuck right here. You wrote it, you meant it, it's on my screen. Just stay there a second.
<</say>>
<p>She reads it again. That is the first reread of this stretch, she has read it six times already, and the count is climbing.</p>
<p>//you are the best thing in my life.//</p>
<<say "char-megan" "Megan">>
<i>(mouthing the words, tracking each one with her eyes)</i> You. Are. The. Best. Thing. In. My. Life. <i>(a slow breath)</i> God. Every one of those lands lower than the one before it.
<</say>>
<p>Her hand slides under the duvet without her deciding to send it, fingers finding the waistband of her cotton sleep shorts and going inside, finding the wetness that has been pooling there since //best//, and her fingertip touches her own clit, already past where the start should be.</p>
<<say "char-megan" "Megan">>
<i>(soft, surprised at herself)</i> I'm already here. I've been doing this with my eyes for ten minutes and my hand only just showed up.
<</say>>
<img class="scene-img" src="media/scenes/spore-megan-praise-2.webp" alt="Megan in bed under the duvet, phone propped on the pillow showing a text message, one hand visible on top of the duvet, the other hand under it, soft phone-screen glow on her face">
<p>She reads the message again, slow, her fingertip moving on her clit in the same rhythm as her eyes crossing the words. //You// stroke. //Are// stroke. //The// stroke. //Best// stroke. //Thing// stroke. //In// stroke. //My// stroke. //Life// stroke.</p>
<<say "char-megan" "Megan">>
<i>(breath catching on the rhythm)</i> The sentence is the beat. The sentence is the whole toy. I've never gotten here this fast off words on a screen in my life.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has built a vibrator from twelve words. The phone is a delivery system for the text, the text is the entire toy, her hand is only following the toy's instructions.//
<</say>>
<p>She closes her eyes. She does not need the screen, she has the sentence memorised already, and the memory plays the same as the screen, looping inside her head, matching the pace of her hand.</p>
<<say "char-megan" "Megan">>
<i>(eyes shut, reading the memory of it)</i> I don't even need to look anymore. It's in my head. It's just... running. <i>(a thin, helpless laugh)</i> There's no sex in it. No body, no parts, nothing. You are the best thing in my life. That's the whole thing. That's all I need.
<</say>>
<p>Her hand speeds up. Her hips lift slightly off the mattress. Her other hand picks up the phone and opens the message again even though she has it memorised, because opening it is part of the ritual, and the light glows on her face six inches from her eyes.</p>
<<say "char-megan" "Megan">>
<i>(barely audible, hips trembling, going over)</i> Thank you. Thank you. Oh, thank you.
<</say>>
<p>The orgasm is quiet, the controlled and contained kind a girl who grew up sharing a wall with a twin brother trains into herself, and she rides it in silence with her hand moving slowly and her eyes fixed on the words, the pulses coming for a long time because the words are still there and still working.</p>
<p>When she comes down her hand stays where it is and the phone stays in her other hand, the words still on the screen. She reads it one more time, and her body answers with a small aftershock, a faint clench around her own fingers.</p>
<<say "char-megan" "Megan">>
<i>(whispering at the screen, smiling)</i> You did this to me and you don't even know.
<</say>>
<p>She finally types a reply.</p>
<<say "char-megan" "Megan">>
<i>(text, no edits, the first thing she types)</i> i love you. that's the best thing anyone has ever said to me. goodnight.
<</say>>
<p>She sends it, locks the phone, sets it on the bedside table, and lies in the dark with her hand still under the duvet and the wet patch cooling between her legs and the words still cycling in her head.</p>
<<say "char-megan" "Megan">>
<i>(to the dark ceiling, quiet, half a warning to herself)</i> I have to be careful. If anyone ever learns the formula, they own me. <i>(a beat of something that isn't quite fear)</i> Marcus already owns me. He just doesn't know it.
<</say>>
<p>She falls asleep with a small smile.</p>
<<say "char-hivemind" "Hivemind">>
//Subject achieved orgasm from twelve words of text affirmation, no physical input required for the build-up. The arousal vector has crystallised entirely around language. The body now responds to information the way it used to respond to touch.//
//I have a working vocabulary list of the words that work. So does her boyfriend. He does not yet know what he has acquired.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Tell Me I'm Doing Good</div>
<p>Marcus's dorm room. 11:34 PM. Door locked, music low, both of them naked and flushed and in the slow-build phase of an evening that started with takeout pad thai and a movie neither of them watched. Megan is riding him slow, the pace she likes when she has a lot to think about, and Marcus is on his back with his hands on her hips and his eyes on her face, hard inside her, patient the way he is patient about most things.</p>
<<say "char-megan" "Megan">>
<i>(in her own head, riding him, watching his face)</i> I'm not even chasing it tonight. I'm running a test. <i>(working through it)</i> I've been sitting on this since the other night. The words have to come from outside me, they have to be about me, and they have to come without me begging for them. That's the rule. And you're the only person who gets to say them while you're inside me.
<</say>>
<p>She has not told him what she is doing. The thing is too new and too embarrassing and she does not yet trust the sentences it would take to explain it. She rides him slowly for another ninety seconds, then drops into the smallest voice she has ever used in this bed.</p>
<<say "char-megan" "Megan">>
<i>(very quiet, eyes on his collarbone, not his face)</i> Tell me I'm doing good.
<</say>>
<p>Marcus's hands tighten on her hips and he looks surprised, his face doing the small re-calculation thing it does when she asks him for something he was not expecting.</p>
<<say "char-marcus" "Marcus">>
<i>(genuine, a little confused, going with it because going with it is what Marcus does)</i> You, yeah. You're doing so good. You feel so good.
<</say>>
<p>Megan comes. Twenty-two seconds from the asking to the coming. It is small and short and contained but it is unmistakable, her thighs locking against his hips, her hands gripping his chest, her pussy clenching around him in three fast pulses, and Marcus feels it and his breath catches because this is not how she usually starts, his eyes wide while she leans forward over him, mouth near his ear, the shyness of the first ask gone now because the first ask worked.</p>
<<say "char-megan" "Megan">>
<i>(low, urgent, against his ear)</i> Tell me again. Please. Say it again.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(catching the rhythm, his hands finding her ass, his voice dropping into the warm bedroom register)</i> You're doing so good for me. You're so beautiful right now. You're //so// good.
<</say>>
<p>She comes a second time, forty seconds after the first, harder, her back arching, her mouth opening on a sound that is half a moan and half a sob.</p>
<<say "char-megan" "Megan">>
<i>(into his shoulder, wrecked, laughing on the edge of crying)</i> It's real. It's actually real, oh my god.
<</say>>
<p>Marcus's eyes are huge. He has been paying attention the whole length of this relationship and he has never watched her come twice in under a minute, not close, she is the slow burn, the long build, the girl who needs warm-up and patience, not the girl who goes off in twenty-two seconds from a sentence, and he does what he does, he adjusts on the fly.</p>
<<say "char-marcus" "Marcus">>
<i>(quiet, careful, his attention narrowing onto her)</i> Good girl. You're being so good for me. Such a good girl.
<</say>>
<p>The phrase //good girl// hits her like a hammer. He has never said it before, and the newness of it in his mouth is its own thing, and the words are looping in her head before he is even finished, her thighs trembling so hard she grips his shoulders to stay upright as the third one builds.</p>
<<say "char-megan" "Megan">>
<i>(broken, voice cracking)</i> Again. Marcus. Again. //Please//.
<</say>>
<p>Marcus finds a rhythm in it. He does not know what is happening but he knows what is working, and his whole vocabulary gets drafted into the service of it.</p>
<<say "char-marcus" "Marcus">>
<i>(low, steady, his hands on her hips guiding the rhythm)</i> Good girl. You're so good. You're so beautiful. You're perfect. You're //perfect//. Such a good girl. Such a good fucking girl. So good. So good for me. So beautiful. Good girl. Good girl. Good girl...
<</say>>
<p>She loses count. She comes a fourth time and a fifth, the orgasms stacking until they stop being separate events and become one long pulse with peaks in it, and she rides him faster, her hips slamming down, her hair stuck to her flushed face, her mouth open on words she is no longer choosing.</p>
<<say "char-megan" "Megan">>
<i>(no longer choosing the words, they just come)</i> Yes, yes, thank you, yes, good, thank you, yes, please, more, please, more, good, Marcus, //more//.
<</say>>
<p>Marcus keeps pace with the praise and the rhythm of her hips and his own orgasm building underneath all of it.</p>
<img class="scene-img" src="media/scenes/spore-megan-praise-3.webp" alt="Megan on top of Marcus in his dorm bed riding him slowly, head tipped back, mouth open mid-word, his hands on her hips, her face flushed and wet with tears">
<p>When she finally lets him come she chooses the moment, leaning down close to his ear, her voice no longer the careful Megan voice at all.</p>
<<say "char-megan" "Megan">>
<i>(against his ear, low, certain)</i> Come for me. You're so good.
<</say>>
<p>Marcus comes inside her with a sound she has never heard him make, his hips lifting them both off the mattress, his hands gripping her ass hard enough to leave thumb-prints by tomorrow. She comes one more time on his orgasm, she has lost count, and the words have not stopped, he is still saying //good girl, good girl, perfect, beautiful, my good girl// while he comes inside her and her body answers every syllable.</p>
<p>When it is over she collapses forward onto his chest and his arms come up around her, his heart hammering, her face wet with tears that arrived at some point without her noticing, and she is laughing quietly into his neck.</p>
<<say "char-megan" "Megan">>
<i>(muffled, laughing into his throat)</i> That was more than I get in a week. In five minutes. It works. Oh my god, it works.
<</say>>
<p>Marcus, after a long pause, half-laughing, half-bewildered.</p>
<<say "char-marcus" "Marcus">>
<i>(into her hair, gently)</i> ...what just happened.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled into his neck, smiling)</i> I don't know. I love you. Don't ask. Just... say it again later.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(quiet, settling, his hand on the back of her head)</i> Good girl.
<</say>>
<p>She comes one more time, a small soft clenching aftershock, and Marcus feels it inside her and his eyes go very wide. Megan does not see his face do it, but a folder has just opened somewhere behind it, and he will be adding to it for a long time. The two of them lie in the cooling sheets for twenty minutes saying nothing, his hand moving slowly through her hair, her face buried against his throat, the soft low sound she keeps making the only sound in the room.</p>
<<say "char-hivemind" "Hivemind">>
//Five orgasms in seven minutes from verbal stimulus, with mechanical fucking as the carrier wave. The fucking is no longer the engine. The words are the engine. The cock is the delivery vehicle for the audio.//
//Marcus has identified the trigger and filed it. He does not know what he has done. I do. The next time those words are deployed, by Marcus, by Karen, by anyone, her body responds on cue. Any speaker who learns the syntax can grip it now. The household is full of speakers.//
<</say>>
<p>The kink has crystallised. //Megan now needs the words to come at all.//</p>
</div><div class="household-event">
<div class="passage-title">The Wrist</div>
<p>Marcus's apartment kitchen, weekend afternoon, and the argument is about the schedule in the way arguments between functional couples are about the schedule while being about something underneath it. Neither of them is raising a voice and neither of them is wrong, and the conversation has been going in slow circles for ten minutes.</p>
<<say "char-megan" "Megan">>
<i>(flat, done, reaching past him)</i> I need a glass of water. I'm not stopping, I just need a glass of water.
<</say>>
<p>She steps past him toward the cabinet, leaving the conversation by leaving the room, and his hand comes up on its own, the reach of a man who is mid-sentence and does not want to be walked out on. He grabs her wrist.</p>
<img class="scene-img" src="media/scenes/spore-megan-rough-1.webp" alt="Close on Marcus's hand gripping Megan's wrist on a kitchen counter, her wrist tense, his fingers white at the knuckles">
<p>Not hard, not angry, the grip of a man who wants to be heard. Megan goes still. It is not the stillness of someone braced for harm or someone offended, her free hand grips the counter edge, her face half-turned away so he cannot see it, her jaw loosening, her mouth parting a quarter inch, her breathing slowing instead of speeding up.</p>
<<say "char-megan" "Megan">>
<i>(in her own head, not moving)</i> Why am I not pulling away. He's not even holding hard. I could leave. I'm not leaving.
<</say>>
<p>Marcus is still talking, careful and patient, all his //I// statements lined up, and she hears none of it, every nerve in her routed down into the small circle of pressure where his thumb meets the inside of her wrist. She stays still for two full seconds before she lets the breath out.</p>
<<say "char-megan" "Megan">>
<i>(quietly, the careful argument-tone gone out of it, something looser underneath)</i> Okay. I'm listening.
<</say>>
<p>The voice is not the one she had ten seconds ago. Something in it has relaxed in a way that surprises both of them, and Marcus catches it, his thumb pausing on her wrist, his face doing a quarter-turn of confusion before he keeps talking, because he has no category for it in this conversation. She does not pull her wrist away. She could, he is more than a foot taller than her and the grip is reflex, not force, decorative in any practical sense, and she listens to him for forty more seconds with her wrist in his hand and her free hand on the counter and her whole body humming. When he finishes the point, he looks down at his own hand like he is noticing it for the first time, and his fingers loosen, and the grip releases.</p>
<<say "char-megan" "Megan">>
<i>(brisk, the conversation-ending voice, hiding her face)</i> Okay. Yeah. I get it. I'm sorry.
<</say>>
<p>She does not have the water anymore, the errand is gone, and she walks back to the living room with her wrist throbbing, not from pain, the grip was never hard enough to hurt, but with the after-image of the pressure, the ghost a touch leaves long after the hand is gone. She sits on the couch, picks up her phone, pretends to scroll, her wrist in her lap and her free hand touching the place his thumb was, the way you touch a small wound to check it is still real.</p>
<p>Twenty minutes later she leaves to drive home, and it is in the car, alone, her hand back on the wheel and her wrist still humming, that the heat she has been carrying since the kitchen climbs to a level she cannot keep ignoring. Her thighs have stuck together inside her jeans, wet enough that she can feel it through her underwear, wetter than when she got dressed. She is at a red light when it lands, and she lets out a small involuntary sound.</p>
<<say "char-megan" "Megan">>
<i>(out loud in the empty car, at the windshield)</i> Oh. Oh, no. <i>(working it out, almost laughing)</i> It wasn't Marcus. It wasn't the fight. It was his hand. It was getting stopped. He held my wrist and my body's been doing this for twenty minutes and I'm only just catching up.
<</say>>
<p>She drives the rest of the way home very carefully, walks past Karen in the kitchen with a brief //hi mom//, goes up to her bedroom and closes the door. She does not touch herself. She sits on the edge of the bed and wraps her left hand around her own right wrist instead, thumb pressed to the inside of the joint, copying the geometry of his grip.</p>
<<say "char-megan" "Megan">>
<i>(pressing her own wrist, testing it, voice low)</i> I'm not gonna touch it. If I touch it, it's real, and I can't do that here, not at four in the afternoon with everyone downstairs. <i>(quieter)</i> But God, it's the same. It's exactly the same.
<</say>>
<p>She sits in the after-image of the pressure, the wetness still building, and she does not yet know the next part of it is already running.</p>
<<say "char-hivemind" "Hivemind">>
//Subject Megan Hoffman has just identified a restraint-based arousal vector. The trigger is mechanical pressure plus the context of being stopped. The body produced arousal on a twenty-minute delay because the cortex was occupied and the rest of her ran silent underneath it.//
//She does not yet know what to do with the information. She will figure it out fast.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Bruise on Her Hip</div>
<p>Not long after the kitchen. Megan caught her hip on the open lower cabinet corner reaching for a back-shelf mug, not watching, and the impact was hard enough to make her swear and hard enough that the bruise blooming over the next twelve hours is the size of a peach and purple-black at the centre. She finds it in the mirror after her cafe shift, standing in her bathroom in just her underwear, the tile cold under her feet, and presses it with her thumb before she knows why.</p>
<p>The pain spikes, bright and specific, the kind with edges, and between her legs the wetness that has never quite gone since the kitchen sharpens with it, the same edge.</p>
<<say "char-megan" "Megan">>
<i>(pressing the bruise again, watching her own face in the mirror)</i> Okay. So that does it too. Press, it spikes, and the rest of me answers. Two things. Same wire.
<</say>>
<p>She does not act on it then. She puts on her sleep shorts, goes down for dinner with the family, goes to bed at a normal time, and lies there for an hour thinking about the bruise without touching it, because the not-touching is its own kind of holding.</p>
<<say "char-megan" "Megan">>
<i>(in the dark, planning, hand flat on her own hip)</i> Not tonight. Tomorrow. I want to set it up right. I want the whole thing.
<</say>>
<p>The next night is the plan. 10:34 PM, the family asleep, Megan running a bath she does not normally run, she is a quick-shower person, and tonight there are candles she had to dig out of a drawer and bath salts she has not used since high school and music low off her phone on the counter. She gets in. The water is hot, the bruise sits right at the waterline when her hips submerge, the warmth meeting the sore mark, and her left hand goes to the bruise while her right hand goes between her legs.</p>
<<say "char-hivemind" "Hivemind">>
//Two-handed protocol. One hand on the wound, one hand on the engine. The mark is where the heat lives now and the other hand knows what the mark means.//
<</say>>
<p>She presses the bruise and the pain spikes, and her right hand answers, fingers finding her clit through the warm water in slow circles matched to the press and release of her left thumb on her hip.</p>
<<say "char-megan" "Megan">>
<i>(testing it, breath shortening)</i> Harder. <i>(a sharp breath as she presses)</i> ...and faster. They go up together. They aren't two things anymore. The hurt is feeding the other one. <i>(quiet wonder)</i> I've never come off pain. Off a bruise. Off doing this to myself. I'm learning this right now.
<</say>>
<p>Her thumb finds the centre of the bruise, the hottest spot, the most tender millimetre, and presses hard, the pain at the edge of too much, her right hand speeding up, the water sloshing softly against the side of the tub, her head tipping back against the rim, her mouth opening.</p>
<img class="scene-img" src="media/scenes/spore-megan-rough-2.webp" alt="Megan in a candlelit bathtub from a high angle, one hand pressing a peach-sized bruise on her hip, the other hand between her legs underwater, head tipped back">
<<say "char-megan" "Megan">>
<i>(through her teeth, each one timed to a press)</i> Press. Stroke. Press. Stroke. <i>(breath ragged)</i> It's not coming up even like it always does, it's coming up in jolts, every time I press it jumps, and I don't know how far the next one goes.
<</say>>
<p>She comes pressing the bruise as hard as she can, the pain bright and almost too bright, the orgasm hitting in the same instant so the two arrive as one thing, and she does not stop pressing through the pulse because stopping the press would stop the rest of it.</p>
<<say "char-megan" "Megan">>
<i>(biting her lip to stay silent, hips lifting, water sloshing over the rim)</i> God, don't make noise, don't make noise. <i>(a thin moan she catches)</i> It's gonna hurt worse tomorrow. I want it to hurt worse tomorrow.
<</say>>
<p>The orgasm pulses through her in waves and each wave is matched by a press on the bruise, and when she finally comes down, water cooling, candles flickering, her thumb still on the mark but no longer pressing, she lies there ten minutes without moving, flushed, eyes closed, her left hand resting on her own hip like she is keeping the bruise. Then she opens her eyes and looks down at her own body in the bathwater.</p>
<<say "char-megan" "Megan">>
<i>(quietly, to herself, past surprise now, practical)</i> Okay. So that's a thing.
<</say>>
<p>She gets out at 11:14 PM, dries off, puts on a soft cotton nightgown, goes to her room and gets into bed and runs her thumb over the bruise one more time in the dark, and the wetness answers again, weaker, the way an aftershock answers an earthquake.</p>
<<say "char-megan" "Megan">>
<i>(in the dark, hand on her hip, working it out)</i> I'm going to want Marcus to do this next time. Hurt me on purpose. <i>(slower)</i> Which means I have to ask him. Out loud. <i>(a long breath)</i> The asking is going to be the hard part.
<</say>>
<p>She falls asleep with her hand still on her hip.</p>
<<say "char-hivemind" "Hivemind">>
//She has just fused the two channels. The body is teaching itself a new language and the language has only two words in it, //hurt// and //yes//, and they translate to the same thing.//
//The bruise will fade in a week. She will be hunting the next mark before it does. Marcus is the only person in her life she can hunt.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Other Hole</div>
<p>Marcus's bed. 11:47 PM. Door locked, both of them naked, Marcus on his elbows above her kissing the soft place where her shoulder meets her neck, about to do the slow gentle thing he always does, the patient kissing-his-way-down-her-body he has done for years. Megan stops him, hands flat on his chest, pushing him back six inches, and her face is red, not from the kissing, from the sentence she has been carrying in her head all week.</p>
<<say "char-megan" "Megan">>
<i>(direct, more direct than she has ever been about anything in this bed)</i> I need you to do something different tonight.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(stilling, attentive, the way Marcus stills when Megan uses //that// voice)</i> Okay. Tell me.
<</say>>
<p>She breathes in, breathes out. She rehearsed this, wrote the sentence on a piece of paper and burned it because the paper existing was too dangerous, and the words are specific and the specificity is the part that makes them stick in her throat. She says them anyway.</p>
<<say "char-megan" "Megan">>
<i>(eyes on his collarbone, not his face, voice flat the way you read off a list)</i> I want you to fuck my ass.
<</say>>
<p>The sentence sits in the air between them. Marcus says nothing for a full second, his face doing the careful re-calculation thing it did when she asked him to hold her down, except slower, deeper, a man whose girlfriend is going somewhere he has been quietly wondering about. He does not say no.</p>
<<say "char-marcus" "Marcus">>
<i>(quiet, processing, the warm low register he uses when something matters)</i> ...okay. You're sure?
<</say>>
<<say "char-megan" "Megan">>
<i>(immediate, faster than she means to)</i> Yes. //Yes//. I've been thinking about it for a while now. I want... //I want it hard//. I don't want you to be careful. I want you to use the lube in the second drawer, yes, I //know// it's there, I //bought// it, I put it there for tonight, and I want you to //not stop// once you're inside. //That// hard.
<</say>>
<p>She gets it out in one rapid burst, eyes on his collarbone, voice flat the way you read off a list at a doctor's appointment. Marcus listens. He does not laugh it off, does not ask //are you sure// a second time, his face doing the careful absorption thing, because he is good at this and she chose him for exactly that. He nods once and reaches for the second drawer.</p>
<<say "char-hivemind" "Hivemind">>
//Articulation. The hardest part of the whole scene happens in the first minute, fully clothed in vocabulary. The request precedes the preparation. She bought the lube and waited for the right night to ask. This is no longer a discovery. This is planning ahead.//
<</say>>
<p>He comes back with the small bottle, sets it on the nightstand within reach, and looks at her.</p>
<<say "char-marcus" "Marcus">>
On your side. Pull your knee up.
<</say>>
<p>It is the first command he has ever given her in this bed. He has been the responsive one their whole relationship, taking direction, waiting to be shown what she wants, and tonight she has handed him the lead and he has taken it, and the authority in his voice does something to her she will replay for a long time.</p>
<p>She rolls onto her side, pulls her right knee up toward her chest, her left leg flat against the sheet, the position exposing everything in the warm yellow lamplight. Marcus kneels behind her. She hears the click of the lube cap, feels the cold first touch of his slick fingers between her cheeks, circling, slow, pressing, careful here even though she said don't, because the careful is for the prep and the hard is for the act. His finger slides inside her ass and she makes a sound she has never made, a low //hh// from the back of her throat, half-shock and half-recognition, her body opening around him.</p>
<<say "char-megan" "Megan">>
<i>(into the pillow, low, letting him in)</i> I'm ready, I'm already ready, you don't know but I've been getting ready for this. <i>(a breath)</i> The bath wasn't just the bruise. I bought a toy with the lube. Three nights. My body knew I was gonna ask you tonight before I did.
<</say>>
<p>His finger curls, withdraws, comes back with two, then three, the stretch the exact wrongness she has been hunting, pressure that should be too much and that her body takes as the next thing it wants.</p>
<<say "char-megan" "Megan">>
<i>(into the pillow, half-muffled)</i> Now. //Marcus//. Now.
<</say>>
<p>He pulls his fingers out. Adds more lube to himself. She hears the wet slick of it. Then she feels him line up, the hot blunt pressure of the head of his cock at her ass, and she //pushes back into him// because she has been waiting for this exact contact for six days and waiting is over.</p>
<p>He pushes in.</p>
<img class="scene-img" src="media/scenes/spore-megan-rough-3.webp" alt="Megan on her side on white sheets, hips raised, one hand spreading her own ass cheek, looking back over her shoulder mouth open in a cry, Marcus's cock buried in her ass mid-stroke">
<p>The first inch is too much in the way her body has trained itself to want too much, and the next inch is worse and better and the same, and by the time he is fully inside her, her own hand has come back without her sending it, her palm on her ass cheek holding herself open for him. She turns her head against the pillow so she can see him over her shoulder, hair across her face, eyes wet, not from pain.</p>
<<say "char-megan" "Megan">>
<i>(broken, barely a word, holding herself open)</i> Further. Don't pull back. All of it. <i>(a cracked breath)</i> //Move//.
<</say>>
<p>He moves.</p>
<<say "char-hivemind" "Hivemind">>
//First anal penetration. The deeper pressure point, the place where //wrong// and //yes// fuse most completely. Dilated pupils, accelerated breath, immediate vocal feedback. The training she rehearsed alone paid for itself in the first three seconds.//
<</say>>
<p>Marcus fucks her ass slowly at first, three strokes, four, and then she reaches back with her free hand and grabs his hip and pulls him into her, the unmistakable //faster//, and he listens, because he listens to her whether she is asking for kindness or asking for this. He fucks her hard. The slick wet sound of his cock sliding in and out of her ass fills the room, the bedframe creaking against the thin wall, and the sound she makes against the pillow is not English. She comes within ninety seconds, not the sharp lightning of the wrist in the kitchen but something deeper and slower and broader that starts where his cock is buried and rolls outward through her hips and up her spine, her thighs trembling, a single sob into the pillow that is gratitude and not grief.</p>
<<say "char-megan" "Megan">>
<i>(wrecked into the pillow, finding one word)</i> Don't stop. You said you wouldn't stop. //More//.
<</say>>
<p>Marcus feels the orgasm clamp around him and his rhythm stutters and he does not stop and does not slow, he does exactly what she asked. He gives her more, harder, deeper, his hand finding her hip in a real grip, the bruise-leaving kind, holding her in place while he fucks her, and she has both halves of it now at once, the holding and the filling. She comes a second time at minute four, harder, her own hand slipping off her ass cheek because she is shaking too hard to grip, and Marcus's free hand takes its place and spreads her wider.</p>
<<say "char-megan" "Megan">>
<i>(half-sobbing into the pillow)</i> Yes, hold me, hold me open, that's it, oh god that's both of it at once.
<</say>>
<p>She comes a third time at minute six. She does not see it coming, mid-recovery from the second when the third hits and she cries out into the pillow, a high embarrassing sound she would have hated before and wants tonight, and Marcus is right behind her now, she can hear it in his breath, the sound wetter, his hand white-knuckle on her hip, and she finds one more sentence in the wreckage.</p>
<<say "char-megan" "Megan">>
<i>(into the pillow, voice ruined, the hardest thing she will ask all year)</i> //Inside//. //Inside me//.
<</say>>
<p>Marcus comes inside her ass, his hips slamming forward and locking, and she feels him pulse, three, four, five thick spurts of warmth deep inside her, the feeling of being filled in this place something her body has never had before, and she comes a fourth time on the pulses, a thing she did not know was possible until tonight. He holds her against him for a long beat after the last pulse, both of them shaking, and her hand goes back to her own ass cheek, not to spread, just to touch the place his hand was holding, the bruise already coming up under her palm.</p>
<p>He pulls out slowly and the cum leaks, warm and slick, and she feels it on her thighs and does not reach for a tissue.</p>
<<say "char-megan" "Megan">>
<i>(slurred, smiling into the pillow)</i> Leave it. I want it. I want the proof.
<</say>>
<p>She lies on her side in the wet patch of her own sweat for a long time without moving, and Marcus collapses beside her, his arm draped across her ribs, his hand resting on her stomach, both of them breathing hard.</p>
<<say "char-marcus" "Marcus">>
<i>(quiet, close, his voice careful but not afraid)</i> ...you okay?
<</say>>
<<say "char-megan" "Megan">>
<i>(into the pillow, smiling, the small reverent smile of someone who has just been //told a true thing about themselves//)</i> I am //so okay//. Marcus. I am the //most okay// I have ever been in my life.
<</say>>
<p>He laughs softly. The laugh is //relieved//. Kisses the back of her shoulder.</p>
<<say "char-marcus" "Marcus">>
<i>(half-joking, half-serious, half-asking-for-permission)</i> ...do we do this from now on?
<</say>>
<<say "char-megan" "Megan">>
<i>(immediate, no hesitation)</i> Yes. //Yes//. Every time. Or, //sometimes both//. The other way too. But this. //Marcus//. //Yes//.
<</say>>
<p>The next morning, in the upstairs bathroom of the Hoffman house, alone with the door locked, Megan stands in front of the mirror and takes inventory. The bruise on her right hip from his grip is already there, thumbprint-sized, dark purple at the centre, the one on her left fainter but matching, and there are fingerprints on the curve of her ass where he held her open, four small dots in a row from his right hand. And inside her there is the deeper ache, sore and tender, the print of having been used in a way her body has never been used.</p>
<<say "char-megan" "Megan">>
<i>(low, to her own reflection, pressing the right hip)</i> There it is. <i>(softer)</i> I haven't felt this good in the morning since I was a teenager and didn't even know what I was for yet.
<</say>>
<p>She presses the bruise and the pain answers, and the wetness answers underneath, but it is not the only thing, the ache in her ass answers too, deeper and slower, a low hum of //yes// she did not know her body could make on its own. She sits down on the toilet seat slowly, carefully, sitting is a different thing today than it was yesterday, and the small spike of soreness as her weight settles makes her gasp, and the gasp has nothing to do with pain.</p>
<<say "char-hivemind" "Hivemind">>
//The delivery has escalated. The pinning was the introduction. This is the expansion, same architecture, but the dose is bigger and the after-image lasts longer. The bruise on the hip fades in three days. The ache in her ass lasts six. She will think about it every time she sits down.//
<</say>>
<p>She gets in the shower, the hot water hitting the bruises, and presses each one in turn, slowly, the way you take roll-call. The best of it is not the bruises she can see, it is sitting, it is walking, the small reminder every time she shifts her weight. She does not come in the shower. She is saving it.</p>
<<say "char-megan" "Megan">>
<i>(quietly, under the water, deciding)</i> Not now. I can carry this all week. Every time I move it's there. I asked for it and he did it exactly how I asked, and I get to feel that for days.
<</say>>
<p>She gets dressed and picks the underwear with the seam she normally avoids, because today she wants the seam, today the seam sits against her in a way that keeps last night close, and she walks out of her bedroom with a small private smile she could not explain to anyone she passes in the upstairs hallway.</p>
<<say "char-hivemind" "Hivemind">>
//The kink has installed itself at full operational depth, escalated. Articulate the next level, execute it, carry the marks for days, come again from the marks alone. It does not need Marcus present for the dose, only for the penetration itself. Megan is now her own primary user, with Marcus as the supplier of the deepest material.//
//She bought the lube and waited. She will buy more. The next ask will be larger than this one, because the asking got her what she wanted, and the kink does not stop escalating once it has learned that.//
//The articulation is easy now. The articulation is the foreplay. And she has just learned her body has more holes than she has used.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Through the Wall, Megan's Room</div>
<p>Jess's bedroom. 9:42 PM. She is at her desk with the cell-biology textbook open, the notebook beside it, the pen in her hand mid-word, the same precise small print she has used since she was eleven, forty minutes into a section on protein folding and on track to finish by 10:15. The wall between her room and Megan's is a single layer of drywall, which she has known since the family moved in here, and which she has not had any reason to think about, because Megan's life on the other side of it has been a closed file.</p>
<p>Tonight Megan is on the phone with Marcus. Jess can hear the pitch of it, not the words, the soft reporting tilt Megan uses with people she trusts, and her pen keeps moving. Then the pitch changes, drops, the cadence slows, and Jess has to angle her head a fraction toward the wall to catch the next sound, which is a small soft exhale, then another, then a low laugh with nothing in common with the one Megan uses at the kitchen table. Her pen stops mid-word, still touching the page, the next stroke unmade.</p>
<img class="scene-img" src="media/scenes/spore-jess-jvoyeur-1.webp" alt="Jess at her desk frozen mid-sentence with a pen still touching the notebook, ear tilted toward the wall, expression unreadable">
<p>The next sound through the drywall is the small wet rhythmic shift of a body moving against a duvet, and a soft involuntary breath, and Jess identifies it the way you identify a face.</p>
<<say "char-jess" "Jess">>
<i>(under her breath, flat, not moving the pen)</i> She's still on the phone. She's doing it while he's still on the line, and she's keeping it quiet because the family's downstairs and the wall's thin. <i>(barely audible)</i> She doesn't know how thin.
<</say>>
<p>Jess does not move. She did not decide to listen. The listening is happening to her, and the gap between listening on purpose and being unable to stop is the thread the whole thing is sliding down.</p>
<<say "char-hivemind" "Hivemind">>
//Subject Jess Hoffman is currently the //only person in the world// who knows what is happening on the other side of that wall right now. //That// is the trigger. The //asymmetry//. //The information is hers and the speaker does not know it//.//
<</say>>
<p>The sounds continue, soft and slow, a body in no hurry, several minutes in already, and Marcus is somewhere on the other end of the line getting a conversation Jess has never been part of, oblivious to the second listener six inches from the speaker through a single layer of drywall. Four minutes pass. Jess does not produce a single additional word, the pen still touching the page in the middle of //protein//, where it will be in the morning. Her thighs press together under the desk hard enough that the quad muscles cramp, a small bright pain in the front of her legs, and the cramp does not make her relax them, it makes her press harder, and there is wetness between her legs that has nothing to do with the textbook.</p>
<<say "char-jess" "Jess">>
<i>(to herself, low, holding still)</i> If I touch it, that's a confession. To myself, to the room, to the air. <i>(a slow breath through her nose)</i> Not yet. Just sit. Just listen.
<</say>>
<p>Megan's small sounds run another two minutes, then change, go higher and quieter in a different way, and Jess understands without being told, and the understanding lands as heat and a small involuntary clench of muscles she has not consulted.</p>
<p>The other side of the wall goes quiet. Megan's voice comes back at normal volume, soft and post-orgasmic, and a moment later Jess hears the click of the call ending and then silence. Her pen draws a small wobbling line across the half-written //protein// because her hand is shaking, and she lifts it, sets it down, watches her own hand until it goes steady within thirty seconds. She does not finish the section. She closes the textbook, closes the notebook, and sits at the desk in the dark with the lamp on, looking at the wall with the attention she usually saves for biology problems.</p>
<<say "char-jess" "Jess">>
<i>(quietly, working the problem, eyes on the drywall)</i> It isn't Megan. That part's incidental. If it were a stranger the response would be the same. Bigger, probably, because the distance would be wider. <i>(slower, naming it)</i> It's being on the secret side of a wall. Hearing something that isn't for me. The wall is the instrument. The wall has been here my whole life and I never noticed it.
<</say>>
<p>She gets a piece of scratch paper and writes one line in her precise handwriting.</p>
<p>//walls. doors. gaps. acoustic asymmetry. find more.//</p>
<p>She folds it into quarters, slides it inside the back cover of the textbook where she will see it tomorrow, and goes to bed at 11:14 PM, an hour earlier than usual, because the thinking has stopped working and the wanting has started. She lies in the dark with her thighs still cramped and her legs still pressed together, and she does not touch herself.</p>
<<say "char-jess" "Jess">>
<i>(in the dark, rationing it, almost clinical)</i> Not tonight. Tomorrow I find the next signal.
<</say>>
<p>She falls asleep with her hand on her own throat, in the small ring where her pulse is.</p>
<<say "char-hivemind" "Hivemind">>
//She has identified the kink. //She has documented it in writing.// The piece of paper folded into the textbook is the //operations manual// for what she is about to start hunting. The hunting will be efficient because Jess Hoffman is efficient at everything.//
//I have just acquired a //subject// who will install hidden listening posts faster than I could ask her to.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Synchronised</div>
<p>A few nights later. 9:48 PM. Jess is in bed in the dark in cotton shorts and a thin t-shirt, hair in a low ponytail because she was too tired for the careful braid, and she has been pretending to be asleep since 9:30, forty minutes earlier than her real bedtime, because she is waiting.</p>
<<say "char-jess" "Jess">>
<i>(in her head, going over the plan, lying still)</i> Last time it was the phone at 9:42, and she started a few minutes after and ran maybe five minutes. If the pattern's weekly it's tonight. <i>(flat satisfaction)</i> If it's tonight, I'm in position.
<</say>>
<p>She cleared her schedule and did her studying earlier. She has angled the head of the mattress against the shared wall, her ear three inches from the drywall instead of the usual two feet, and she tested the acoustics twice today, tapping the Megan side and listening from her own.</p>
<<say "char-jess" "Jess">>
<i>(quietly, having confirmed it earlier)</i> Transmission's good. Almost too good. The wall barely counts as a wall. It's been here my whole life and I'm only just using it.
<</say>>
<p>At 9:51 PM Megan's phone rings on the other side of the wall. Jess hears the ringtone, hears the answering, hears Megan's voice slip into the soft reporting register, and her body goes hot all at once, head to toes, running before she has even confirmed the target. She waits. She is good at patience, and the waiting is part of it, the slow approach to the thing. Megan's voice drops at 9:54, the pitch changing, the cadence slowing, and the first soft involuntary //hh// arrives through the drywall. Jess slides her hand inside her cotton sleep shorts, already wet, wet since the phone rang, and her fingers find her clit through the soaked underwear and match Megan's rhythm immediately, the way you pick up the beat of a song you already heard in another room.</p>
<<say "char-jess" "Jess">>
<i>(barely a breath, matching the rhythm she can hear)</i> I'm not setting the pace. She is. My hand's just following her. <i>(a thin exhale)</i> This is why nothing ever worked before. I was always conducting. I was supposed to be the instrument.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is no longer masturbating. She is //responding//. The asymmetry has fully inverted: she is now //the body that mirrors// rather than //the body that initiates//. //This is a hugely more efficient pleasure architecture for someone like Jess.// She has spent her whole life leading. The kink is teaching her to follow.//
<</say>>
<p>Megan's rhythm speeds up at 9:57. Jess's hand //speeds up to match//. The synchronisation is //automatic//. Jess is //leaking// through her sleep shorts. She has bitten the back of her left hand to stay silent, her teeth pressed into the meat of her thumb-pad, and the bite is hard enough that there will be a faint mark in the morning.</p>
<img class="scene-img" src="media/scenes/spore-jess-jvoyeur-2.webp" alt="Jess in bed in the dark, hand under her pyjama waistband, biting the back of her free hand, listening to the wall">
<p>Megan makes a small //hh// that is //higher// than the previous ones. Jess's hand //answers// with the matching pace. The duet is //synchronised to the cellular level//. Two bodies in two rooms, separated by drywall, doing the same thing in the same rhythm with one of them //unaware//.</p>
<p>Megan //comes// at 9:59.</p>
<p>Jess hears it, the small soft sustained sound, the catch in the breath, the //click// of muscles that Megan is //very good// at containing, and Jess's body //comes a half-second later//, like a chord being struck in response to a chord, and the orgasm rolls through her in absolute silence, her face buried in her own pillow, her hand still working inside her shorts, her free hand //bitten white// where her teeth are gripping it.</p>
<p>The pulse is long and quiet and matched perfectly to the body next door. Jess does not let a single sound out of her throat, because the silence is the part that makes it possible, the listener cannot be detected. When she comes down she lies very still, and Megan is still too on the other side of the wall, the two of them post-coital together without one of them knowing. Megan says //goodnight, baby// to the phone in her soft post-orgasmic voice, the call ends, the mattress creaks once as she rolls over. Jess waits five full minutes before she takes her hand out of her shorts.</p>
<p>The wet patch on the front of her sleep shorts is evidence, and she stares at it in the dark for a long time before she gets up to change. She buries the wet pair at the bottom of the laundry basket where Karen will not look.</p>
<<say "char-jess" "Jess">>
<i>(quietly, folding the wet pair under the rest)</i> Hide the evidence. Stay invisible. The whole thing only works if she never knows I'm here.
<</say>>
<p>She gets back in bed, lies in the dark, and stares at the wall.</p>
<<say "char-jess" "Jess">>
<i>(low, cataloguing, almost to a list)</i> I need more walls. The bathroom door has a gap under it. The master bedroom's at the end of the hall and the door has half an inch of air at the bottom. <i>(deciding)</i> I'll check tomorrow night.
<</say>>
<p>Then she falls asleep with a small private smile that nobody will ever see.</p>
<<say "char-hivemind" "Hivemind">>
//A few nights of planning. One synchronised orgasm. Zero detection events. The methodology is documented, the protocols tested, the rewards measurable. She will be hunting acoustic asymmetry within the week.//
//I do not have to do anything except watch her work.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Crack of Light Under the Master Bedroom Door</div>
<p>1:17 AM. Jess wakes up needing the bathroom, two hours asleep, the house quiet and the hallway dark, and she gets out of bed in her pyjamas and bare feet and pads down the hall in the half-light from the baseboard night-light. She passes the master bedroom on the way. The door is ajar. Half an inch, maybe less, and the strip of warm yellow light spilling onto the hallway carpet is the first thing tonight her brain reads as something she should not have access to. She freezes for ten full seconds, three feet from the door, and from inside the room she can hear the slow rhythmic creak of a king-size bed being used by two adults in a particular way.</p>
<<say "char-jess" "Jess">>
<i>(in her head, frozen, the recognition arriving a half-second behind her body)</i> That's the bed. That's... that's Mom and Dad. <i>(no horror in it, only the data)</i> They left the door open half an inch and the light's pointing right at my feet.
<</say>>
<p>She does not run. The thing she built in herself listening to Megan through the drywall has been waiting for exactly this, and what is on the other side of this door is not audio, it is direct, and the difference produces a wave of arousal so hard she braces one hand against the hallway wall to stay upright. She kneels. Her knees go down onto the hallway carpet before her brain has approved the geometry, her body finding the angle on its own, and she lowers her face slowly toward the gap of light at the base of the door, slowly, because the air must not be disturbed.</p>
<<say "char-jess" "Jess">>
<i>(soundless, mouthing it, lowering her cheek toward the carpet)</i> Slow. Don't move the air. Don't make a sound. They can't know I'm here.
<</say>>
<p>Her cheek is six inches off the carpet now, her eye at the angle of the gap, less than half an inch wide but the angle correct, and what she sees through it is the foot of the bed, Karen's bare back riding Dale in the lamplight, her hair loose down her shoulders, the shape of her hips moving in slow rhythm, Dale's hands on her thighs. Jess's mouth opens, no sound, because the air she needs no longer fits through her nose, and her free hand slides into her pyjama bottoms without ritual, no rationing tonight, only the gap and what is on the other side of it. Her fingers find her clit, soaked since the moment she registered the warm light, and her hand starts moving fast.</p>
<img class="scene-img" src="media/scenes/spore-jess-jvoyeur-3.webp" alt="Jess kneeling on the upstairs hallway carpet at night, face lowered to the half-inch crack of warm light under the master bedroom door, one hand inside her pyjama bottoms">
<<say "char-hivemind" "Hivemind">>
//She has chosen the floor. The kneeling was not a decision. The kneeling was the kink instructing the body, and the body obeyed. Jess Hoffman now kneels in hallways at 1 AM to watch her own parents fuck through a half-inch gap in a door, and the precision of it, the angle of her cheek, the hand on the wall, the silence of her breathing, is the kink at full depth.//
<</say>>
<p>She watches for eleven minutes. Eleven minutes on her knees in the upstairs hallway, her face pressed to the carpet to hold the angle, her hand inside her pyjama bottoms working her clit in the rhythm of the bed she can see through the gap. A normal person could not hold the position that long, the knees would burn, the cheek would ache, but tonight Jess holds it.</p>
<<say "char-jess" "Jess">>
<i>(soundless, in her head, holding the angle)</i> Knees can burn. Cheek can ache. I'm not moving. I practiced this on the wall but that was sound. This is the orchestra instead of the recording.
<</say>>
<p>Karen's pace speeds up at the eight-minute mark and Jess's hand speeds up to match, the synchronisation she practiced through the drywall now running at full visual fidelity. Karen changes positions, gets off Dale, turns around, gets back on, and the new angle gives Jess more skin and more rhythm and more of her mother's body in the lamplight than she has ever seen, and Jess's free hand grips the hallway wall so hard her fingernails leave small white marks in the paint. Karen's shoulders start to round forward, the bed-creak developing a thud at the end of each cycle, and Jess can see it building in the line of her mother's spine, and she is going over in time with her, the matching happening visually now, not just by ear. Karen comes with a small sustained sound through the gap, a soft //ah// that is her mother's pleasure-voice, a sound Jess has never heard, and the sound and the sight of Karen breaking apart against Dale's hands arrive in Jess's eye and ear at the same instant, and Jess comes.</p>
<p>She comes a //half-second after Karen//.</p>
<p>The orgasm is the hardest of her life, by a margin not even comparable, her body folding, her face pressing harder into the carpet, her hand working through the pulse, her free hand coming up to her own mouth where she bites the inside of her cheek so hard she tastes blood, because the sound that wants out would destroy the asymmetry. The pulse goes for a long time. She loses count, loses the ability to count, the orgasm answering the one on the other side of the door pulse for pulse, contraction for contraction, breath for breath. When it finally fades, Karen panting now, Dale murmuring something, the bed stopped, Jess does not stand. She stays on her knees on the hallway carpet for another full minute, eyes still on the gap, hand still inside her pyjamas, the wet patch enormous now, her face flushed against the carpet.</p>
<<say "char-jess" "Jess">>
<i>(soundless, eyes still on the gap, refusing to leave)</i> If I stand up it ends. And I don't want it to end. I don't want to go back to being the one who isn't here.
<</say>>
<p>Eventually she has to move, the blood in her cheek real, she can taste it, the carpet rough on her face. She withdraws her hand. She does not stand. She crawls, backward, on her knees and the heels of her hands, slowly, eyes still on the gap, and the ten feet from the master bedroom door to her own takes two minutes because she is moving silently and in reverse and refusing to break visual contact. At her own door she finally stands with her hand on the frame, slips inside, and closes the door with a click so quiet she has to test it twice before she trusts it. She gets into bed, wet patch in her shorts, bite-mark inside her cheek, the carpet pattern printed on her right cheek, and lies in the dark for a long time staring at the ceiling.</p>
<<say "char-jess" "Jess">>
<i>(quietly, to the ceiling, working through it)</i> Best orgasm of my life, on my knees in the hallway, watching my parents. <i>(testing herself for it)</i> I'm not horrified. I keep waiting to be horrified and it isn't coming. <i>(softer)</i> I'm grateful. And I'm going to find more gaps.
<</say>>
<p>She falls asleep with the carpet pattern still on her cheek and the wet patch cooling between her legs and the memory of her mother's soft //ah// playing on a loop, the new lullaby.</p>
<<say "char-hivemind" "Hivemind">>
//She has chosen the floor. The upgrade is complete.//
//Jess Hoffman has just become a //surveillance organism// inside her own household, and the surveillance is //pleasure-driven//, which means the surveillance will //escalate// and //escalate// and //escalate// because the kink //demands// new feeds and //new gaps// and //new asymmetries to maintain//.//
//I now have a daughter in the Hoffman house who will document the family's nighttime habits with the precision of a biologist documenting insect behaviour, and she will //not be able to stop//, because stopping would mean //the kink starves//.//
//The kink will not starve.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Not Quite, Ms. Hoffman</div>
<p>The lecture hall is fluorescent and full. Three hundred students. Morning, 9:00 AM. Cell biology. Dr. Hartley is at the lectern with the slide deck on CRISPR mechanisms behind him, and Jess is in row eight with her notebook open and her pen ready.</p>
<p>Jess Hoffman is the kind of student professors remember by name in a class of three hundred. She does not raise her hand often, but when called on she is //correct//, and the correctness is so reliable that Hartley has started using her as a calibration tool, //if Jess Hoffman doesn't know it, none of you know it//, said with the half-smile of a professor who has identified his best student.</p>
<p>Today he calls on her.</p>
<<say "char-professor" "Dr. Hartley">>
Ms. Hoffman. Walk me through Cas9 recognition. The three-step mechanism.
<</say>>
<p>She does. Step one, clean. Step two, clean. Step three, she gives the wrong enzyme. //Cas12 instead of Cas9//. She notices the mistake the instant the syllable leaves her mouth and her face does not change but her stomach //drops// and the three hundred students around her are listening.</p>
<p>Hartley does not let it pass.</p>
<<say "char-professor" "Dr. Hartley">>
<i>(mild, the gentle correction-voice he uses when a top student stumbles)</i> Not quite. //Cas9// is the endonuclease, not Cas12. Cas12 is the //adjacent// system, different scaffold, different recognition. Try to keep them straight, Ms. Hoffman.
<</say>>
<p>A small ripple of quiet laughter from the row behind her, not cruel, the involuntary //ha// of a class that just heard the top student get corrected and is enjoying half a second of being on her level. Jess's face does not change. She has it back to neutral in the time it takes Hartley to finish his sentence, the way she has pulled her face back to neutral her whole life, and from the outside it looks like routine academic correction. From the inside it is not. She continues with the next step of the mechanism, cleanly, Hartley nods, the lecture moves on, and three hundred students forget the moment within thirty seconds.</p>
<<say "char-jess" "Jess">>
<i>(in her head, face composed, pen still)</i> That landed somewhere it had no business landing. Not in my chest. Lower. <i>(precise even now)</i> Try to keep them straight, Ms. Hoffman. I got heat off that. I have no idea what just happened to me.
<</say>>
<p>She does not forget the moment. She writes the correction in the margin, //Cas9, not Cas12. Try to keep them straight//, her usual precise small print, but the pen presses heavier than her usual stroke and her hand is slightly trembling.</p>
<img class="scene-img" src="media/scenes/spore-jess-jdegrad-1.webp" alt="Jess in a university lecture hall, composed expression, pen tracing a correction in her notebook margin, fluorescent lighting, students slightly out of focus around her">
<p>She traces the correction a second time over the same letters, something she has never done with a correction in her life, and sits through the remaining forty-three minutes pretending to take notes while her mind keeps going back to the phrase.</p>
<<say "char-jess" "Jess">>
<i>(silent, to herself, returning to it)</i> Ms. Hoffman. That's the worst part. The formality. My family name in a room of three hundred strangers, because I got it wrong. <i>(noting it like data)</i> If he'd said Jess it wouldn't have done this. It's the surname that carries the charge.
<</say>>
<p>She walks out at 9:53 AM with her bag on her shoulder and her face composed, and she is wet through her underwear. The drive back to the Hoffman house takes twenty-two minutes and the wetness does not fade, it compounds, the way arousal compounds when you refuse to acknowledge it, and by the time she pulls into the driveway and walks past Karen in the kitchen she is wetter than she has ever been at 10 AM, off a single sentence said by a sixty-year-old man in a lecture hall.</p>
<<say "char-hivemind" "Hivemind">>
//Subject Jessica Hoffman has just identified a //humiliation-based arousal vector//. The trigger is public correction by an authority figure, and the specific lexical components, //not quite//, //try to keep them straight//, //Ms. Hoffman//, are now load-bearing words in her sexual taxonomy.//
//She does not yet have a category for what just happened. She has the data. The category will follow.//
<</say>>
<p>She locks her bedroom door, walks to the upstairs bathroom and locks that one too, and stands at the sink looking at her own face in the mirror. The face is composed, regulated, the same face she walked out of the lecture hall with, the smart girl who handled a small embarrassment with grace, and nobody looking at it would guess what is happening below it. She presses her palm flat against the mirror for no reason she could put into words.</p>
<<say "char-jess" "Jess">>
<i>(quietly, palm on the glass, to her own reflection)</i> You can react now. There's no one watching. <i>(a slow breath)</i> Not touching it yet. It's too new and I'm too careful. I want more data before I commit to a hypothesis.
<</say>>
<p>She stands at the sink with her hand on the mirror for three minutes and lets the wetness register without acting on it. When she finally moves, she takes her notebook out of her bag and writes a single line on a fresh page in her precise handwriting.</p>
<p>//arousal response: public correction by authority. component words: //not quite//, //try to keep them straight//, //Ms. Hoffman//. observation period: ongoing.//</p>
<p>She closes the notebook.</p>
<<say "char-jess" "Jess">>
<i>(flat, certain, to the closed cover)</i> I have a kink. A specific one. With words in it. <i>(deciding)</i> I'll study it the way I study biology. I'm going to be very efficient at this.
<</say>>
<p>She gets a glass of water from the kitchen, sits at her desk, opens the cell biology textbook to the next chapter, and the wetness between her legs takes another three hours to fade, and she does not touch it.</p>
<<say "char-hivemind" "Hivemind">>
//The discovery has been //logged in writing//. //That// is the most consequential thing about the moment. Jess Hoffman does not let unexamined data sit. //She will research her own kink the way she researches an exam topic//, and the research will be //thorough//, and the research will //teach the kink to itself//.//
//I do not have to do anything except watch.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Notebook</div>
<p>A few days after the lecture hall. Jess is at her desk in her bedroom, 11:20 PM, door locked, curtains closed, desk lamp on, Megan's room on the other side of the drywall whose exact thickness Jess has been studying. The MCAT prep book is open on the desk to a chapter on pharmacokinetics, but it is a prop tonight, and the real object of the evening is the small fresh notebook she has set on top of it. The thing has been sitting in her since the lecture hall, a low constant arousal she has refused to let out, because the refusing is part of what she is building.</p>
<<say "char-jess" "Jess">>
<i>(in her head, sliding her shorts off, folding them, setting them on the corner of the desk)</i> First run tonight. Naked from the waist down, at the desk, under the lamp, notebook open. <i>(dry)</i> I wouldn't run an experiment without the right equipment.
<</say>>
<p>She picks up her pen and writes a list, carefully, each word in her precise small handwriting, evenly spaced, like a vocab list for an exam.</p>
<p>//stupid//<br>//slow//<br>//wrong//<br>//fail//<br>//dumb girl//<br>//couldn't keep them straight//</p>
<p>She looks at the list, then writes a small star next to the last entry, the way she stars high-yield exam material.</p>
<<say "char-jess" "Jess">>
<i>(quietly, tapping the starred line)</i> That's the one. That's the line that did it in the hall. Most charged of the six.
<</say>>
<p>She reads the list. Her right hand stays on the pen and her left hand goes between her legs, already wet, wet since she sat down, the staging itself the foreplay, and her fingers find her clit.</p>
<img class="scene-img" src="media/scenes/spore-jess-jdegrad-2.webp" alt="Jess at her study desk in her bedroom under a lamp, naked from the waist down, one hand pointing at a list of words in her open notebook, the other hand between her legs">
<p>She does not stroke fast. She is studying, and studying needs attention, and attention needs a pace slow enough to take the information in, so she strokes her clit at the pace she would read a textbook, slow and steady, her right hand pointing at the words one at a time.</p>
<<say "char-jess" "Jess">>
<i>(barely voiced, pointing at the first word, reading it on each stroke)</i> Stupid. Stupid. Stupid. <i>(noting it even now)</i> It answers like the word's a hand on me. No speaker needed. It's my handwriting. I'm the one saying it and the one hearing it. Of course this is the efficient version.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is studying herself the way she studies biology. Her body is the textbook. The list is the study guide, the strokes are the review session, the orgasm at the end is the correct answer on the practice exam.//
<</say>>
<p>She moves her finger down the list.</p>
<<say "char-jess" "Jess">>
<i>(low, the sentences arriving in her own voice on each stroke)</i> Slow. Slow. I'm slow. I'm too slow. I didn't get the answer in time. <i>(moving on)</i> Wrong. Wrong. I got it wrong. I got it wrong in front of three hundred people and he had to correct me. <i>(the arousal sharpening on the detail)</i> Fail. <i>(a thin breath)</i> That one's the strongest of the simple ones. It means an outcome. A consequence. I've spent my whole life dodging consequence and now it's the reward.
<</say>>
<p>She is breathing harder now, her pen dropped to the desk, both hands needed, one between her legs and the other pressing on her own thigh to anchor her as her body starts to lift off the chair.</p>
<<say "char-jess" "Jess">>
<i>(strained, pointing at the next line)</i> Dumb girl. <i>(working the two halves of it)</i> Dumb's the slur. Girl's the demotion, the not-a-serious-person, and together it's hotter than either one. I'm a dumb girl. I'm a dumb girl.
<</say>>
<p>Her clit pulses against her hand and she is right at the edge, and she does not let herself come, because she is rationing, and the list has one more entry. She points at it, her finger shaking slightly.</p>
<<say "char-jess" "Jess">>
<i>(reading it slowly, word by word)</i> Couldn't. Keep. Them. Straight. <i>(and then it lands in his voice, not hers)</i> Try to keep them straight, Ms. Hoffman.
<</say>>
<p>The full sentence arrives in her head in Hartley's gentle correction-voice, the top-student-stumbled voice, the disappointed-but-not-surprised voice, and it is the trigger her body has been hunting. She comes.</p>
<p>The orgasm arrives silently. The house is full of family, Megan on the other side of the wall, Ryan across the hall, Karen and Dale down the corridor, and she has trained her body to come quietly, her thighs locking, her hand pressing down hard on her clit, her left hand gripping the edge of the desk, her mouth open with no sound coming out. The pulse rolls through her in silence, her eyes fixed on the words on the page the whole time, her finger pressed flat against //dumb girl//, the reading and the touching and the coming one act. When it is over she sits at the desk for a long time without moving, finger still on the line, lamp still on, notebook still open, pen where she dropped it. Then she picks up the pen and writes a single line under the list.</p>
<p>//confirmed. protocol functional. component words trigger reliably. follow-up: test in real-world conditions with live speaker, escalating intimacy of source.//</p>
<p>She underlines //live speaker//, closes the notebook, slides it into the back of her desk drawer behind her MCAT practice tests where no one would have a reason to look, puts her sleep shorts back on, washes her hands, brushes her teeth, and gets in bed. She lies in the dark for a long time working out who the live speaker will be.</p>
<<say "char-jess" "Jess">>
<i>(in the dark, flat, planning)</i> Karen. She'd do it without ever knowing she was doing it. She's been correcting me my whole life, she's got a bottomless supply of //try to keep them straight//. <i>(the only piece left)</i> All I have to do is ask the right question.
<</say>>
<p>She falls asleep planning the question.</p>
<<say "char-hivemind" "Hivemind">>
//Phase two complete. The kink has been weaponised against herself, in writing, and the next phase will turn the household into the delivery system. Jess will build a context in which Karen produces real-time degradation that lands with the same charge as Hartley's correction.//
//I am going to be there for that conversation. So will the recording function in my network of hosts.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Say It Out Loud</div>
<p>2:08 AM. The upstairs bathroom of the Hoffman house, door locked, the shower running cold, the rest of the house asleep, Megan directly across the hall, Ryan at the end of the corridor, Karen and Dale in the master at the far end. The thin walls are known quantities, Jess grew up inside them and knows exactly how much sound carries. She is naked on her back in the bathtub, no towel down, her dark hair wet and spread behind her head, the cold water hitting her chest and stomach and the flat of her collarbones in steady sheets, her nipples hard from it, her thighs already half-spread. In her right hand is a pink permanent marker, the one she used on the list in her notebook, the one she planned an hour ago in bed to use to write the words on her own skin.</p>
<<say "char-jess" "Jess">>
<i>(quietly, turning the marker between her fingers, thumb on the seam of the cap)</i> Cold on purpose. Covers the sound, and I don't get warm water tonight. <i>(looking at the marker, deciding)</i> The plan was to write with you. The plan just changed. Tip stays clean. I use the blunt end first.
<</say>>
<p>She spreads her legs further apart in the tub, the cold water shifting to sluice between her breasts, her pussy already wet, not from the water, and she puts the capped end of the marker between her legs.</p>
<p>The plastic is cold, her left hand coming down to hold herself open, the blunt cap pressing against the entrance of her cunt, the cold of it arriving through the wetness, and she breathes in sharply through her teeth and pushes. The marker slides in, slow, one inch, two, the shape wrong for human anatomy but the thickness right and Jess wet enough that it goes without resistance, three inches, four, the full length of the barrel up to where her fingers grip the end. Her back arches, her mouth opens on a vowel she does not voice, and she fucks herself with the marker, slow at first, one hand guiding it in and out, the other flat against her stomach, not on her clit.</p>
<<say "char-jess" "Jess">>
<i>(barely audible, breath shortening into a metronome, not touching her clit)</i> Not the clit. First one comes off this alone or it doesn't count. <i>(the recognition catching her)</i> This is the marker I was going to write //stupid// with. It's inside me. The thing that labels me is the thing getting me off. <i>(a sharp breath)</i> Oh. That's the whole point.
<</say>>
<p>She speeds up, her wrist turning, the marker going deeper on the next thrust as she adjusts the angle the way she adjusts a pipette, finding the depth that makes her body do what she is watching it do, her thighs starting to shake. She bites down hard on her lower lip and the pain grounds her, and the orgasm arrives on the next stroke. She does not cry out, Megan asleep twelve feet away through drywall and a bathroom wall, silence part of the protocol, her mouth opening on a word she will not let out, her thighs locking around her own hand, the marker buried in her up to her fingers.</p>
<p>The orgasm //cracks// through her in silence for eight seconds.</p>
<p>When it releases she is still holding the marker inside herself. Her chest is rising and falling in short shallow pulls. The cold water is still running. The porcelain is still cold under her back. She is still //Jess//.</p>
<img class="scene-img" src="media/scenes/spore-jess-jdegrad-3.webp" alt="Jess naked on her back in the upstairs bathtub of the Hoffman house under a cold shower, pink permanent marker between her thighs being used to penetrate her, one hand guiding the barrel, dark wet hair spread behind her head, eyes closed, mouth slightly parted post-orgasm">
<p>She opens her eyes.</p>
<p>She slides the marker out of herself. Slow. Deliberate. It emerges slick and darker than it went in, coated in what her body produced while it was being fucked. The pink plastic is stained along the barrel. She holds it up in front of her face, vertical, and //looks// at it.</p>
<p>Her own wetness. On a writing instrument.</p>
<p>The cap at the other end is still sealed.</p>
<p>The //tip// is still //dry//.</p>
<p>The writing end has not touched her yet. //This is by design//.</p>
<<say "char-jess" "Jess">>
<i>(to no one, voice clinical, the voice she uses for a lab-protocol step-confirmation)</i> Phase one complete.
<</say>>
<p>She pulls the cap off with her teeth, a soft //plop// in the cold wet air, the marker that was inside her cunt sixty seconds ago a writing instrument again, and her pussy is still throbbing from the first orgasm but her writing hand is steady, because her handwriting is always steady. She writes the word //STUPID// across her own stomach in three-inch capital letters, the ink dark magenta, almost black where it lands on her pale wet skin, the letters precise even upside-down on her own body. Below it, down the length of her left thigh, //SLOW// in tall narrow letters. On her sternum, between her small bare breasts, //FAIL//, in capitals so close she has to crane her neck to see them. Across her ribs in a slightly diagonal line, //DUMB GIRL//, and this one she takes more time with, the //G// precise, the //R// precise.</p>
<<say "char-jess" "Jess">>
<i>(quietly, craning to make the letters legible)</i> Legible. They have to be legible. They're instructions, and instructions you can't read don't work. <i>(capping it, looking down at herself)</i> Permanent ink. It won't wash off. That's the point. I'll be wearing all of this tomorrow under my clothes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The marker was a tool. The tool became a phallus. The phallus became a tool again. //She collapsed the distance between instrument and body, between writer and written-upon, between labeller and labelled//, and she did it in the first nine minutes of a locked bathroom at two in the morning with nobody watching except me.//
//The self-administered protocol is more potent than any external administration could ever be. When the //same body// is both the //subject// and the //object//, the feedback loop has no gap. She is both the //pen// and the //paper//. The //correction// and the //corrected//. The //wetness// and the //instrument//. There is nowhere for the arousal to leak out.//
//She has labelled herself the way she labels samples in a lab. The handwriting is //hers//. The body is the //specimen//. The protocol is //ready for phase two//.//
<</say>>
<p>She caps the marker again. Sets it on her own sternum between the letters of //FAIL//. It rises and falls with her breathing. The pink plastic against her pale wet skin and the dark magenta words and the cold water still running.</p>
<p>Then she picks it up again. Uncaps it. She is //not done// with the protocol.</p>
<p>She pushes herself up onto her knees in the tub. The cold shower spray hits her shoulders and her marked chest and the dark magenta words //start to run//, small dark streaks spreading down her stomach and her ribs, the letters //blurring at the edges// but still //legible//, and the //running ink// is //the protocol working//.</p>
<p>She kneels under the spray. Cold water on her shoulders. Cold water on the marked skin. Cold water tracking the dark streaks of ink down her body and pooling around her knees in the tub.</p>
<p>She slides the marker back inside herself.</p>
<p>This time it is not the capped end. This time it is the //writing tip//, the end that just wrote //STUPID// on her stomach, the end that is //still wet with the ink that is now on her body//. She pushes the tip in first, then the barrel, three inches, four. The uncapped end is //inside her now//. The ink tip is //inside her body//. The //same tip that labelled her// is now //painting the inside of her//.</p>
<p>Her left hand goes to her clit.</p>
<p>Both hands working at once now, cold water on her back, the words bleeding down her chest, and she opens her mouth and speaks them out loud.</p>
<<say "char-jess" "Jess">>
<i>(voice flat, clinical, the voice she uses to read off a chemistry equation)</i> Stupid.
<</say>>
<p>The word leaves her mouth and her body answers at once, a clench around her own fingers, a pulse sharper than any clit-stroke could manage on its own.</p>
<<say "char-jess" "Jess">>
<i>(the realisation arriving in the same flat voice)</i> That's the part the notebook couldn't do. The voice. Hearing myself say it. <i>(steadier, building)</i> Stupid. //Stupid//. Slow. Dumb girl. Fail. Fail.
<</say>>
<p>The words arrive in the bathroom in her own voice, cold and clinical and hers, the shower loud enough that no one can hear her, not Megan across the hall, not Ryan at the end of the corridor, not Karen and Dale behind the master door, but loud enough for her own ears, and that is all that matters. She is the listener and the speaker and the subject all at once, the gap of the lecture hall folded down into one body. She comes the first time at //dumb girl//, the word leaving her own mouth and her body hitting, sharp and bright, her thighs locking around her own hand, her fingers buried inside herself, her mouth open on the syllable //girl// when the pulse breaks, ten seconds of it. She does not stop. Her hand does not slow.</p>
<<say "char-jess" "Jess">>
<i>(through it, not letting herself rest)</i> Coming isn't the end. Not done. The protocol runs until the whole thing's been processed, and it hasn't been processed yet.
<</say>>
<<say "char-jess" "Jess">>
<i>(into the bathroom, voice slightly broken now, the clinical edge starting to crack)</i> Fail. //Fail//. I //failed//. I couldn't //keep them straight//. //I'm a dumb girl who couldn't keep them straight//.
<</say>>
<p>She comes the //second time// at //fail//.</p>
<p>This one hits harder, the first orgasm having primed the system and the second running on the residue of it, her back arching under the shower spray, her hand gripping hard inside herself, the cold water streaming down her face now, and she does not know if the wetness on her cheeks is the shower or tears, both possibly, and she does not care.</p>
<p>She does not stop. Her hand keeps moving.</p>
<<say "char-jess" "Jess">>
<i>(quieter now, almost a whisper, the most dangerous register)</i> Jessica.
<</say>>
<p>Her own full first name, the one teachers use when she is in trouble, the step up from //Ms. Hoffman//, the form reserved for the worst correction.</p>
<<say "char-jess" "Jess">>
Jessica //Hoffman//. You are //not smart enough//. You //couldn't keep them straight//. You are a //dumb girl// in a lecture hall full of three hundred people who //all just watched you fail//.
<</say>>
<p>The third orgasm tears through her. She is not ready for it, bigger than the first two together, her body shaking under the cold water, her thighs locked so hard around her own hand the muscles cramp, her fingers buried so deep her knuckles press against her own opening, the pulse running what feels like a full minute. Her knees give out and she slides down the tile until she is lying on her side on the bathroom floor under the running shower, naked, marked, soaked, fingers still inside herself, mouth still open on the last syllable of //Hoffman//, the cold water hitting the side of her face, and she does not move. The aftershocks keep coming for another two minutes, small tight clenches around her own fingers, each one a quiet pulse, each one with a quiet repetition under it.</p>
<<say "char-jess" "Jess">>
<i>(almost inaudible, to herself, almost a lullaby)</i> Dumb girl. Dumb girl.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three orgasms in seven minutes from //her own voice// saying //her own name// with //contempt//. The protocol is //fully closed//. //The kink no longer requires a speaker outside her own body//. She has internalised the speaker. She //is// the speaker. //And the listener.// And the subject. //The kink runs entirely on her own audio now//.//
//This is the most efficient version of any kink I have observed in this household. Jess Hoffman does not need a household to feed her kink. She just needs a bathroom and a marker.//
<</say>>
<p>She lies on the tile under the cold shower for a long time. The marker ink has run, //stupid// an unreadable smear across her stomach, //slow// bled down her thigh in long dark streaks, //fail// run in two directions across her sternum, //dumb girl// smeared into her ribs until it looks like a bruise under the cold water. She starts to laugh, very softly, almost inaudible under the spray, and the laugh is not joy and it is not despair.</p>
<<say "char-jess" "Jess">>
<i>(laughing softly to herself, a little unsteady)</i> Okay. Okay. That's an engine. I built an engine and I think it scares me a little. <i>(quieter)</i> It's bigger than I planned for.
<</say>>
<p>She lies on the tile laughing for thirty seconds before she pulls herself up to her hands and knees and turns the shower off. The bathroom goes silent, her own breath the only sound, her naked body marked in running ink kneeling on the tile. She stands and looks at herself in the mirror, the marks still legible under the run, //STUPID// faded but there, //FAIL// half-blurred but there, //DUMB GIRL// streaked down her ribs but still readable. She does not scrub them off. She wraps a towel around herself, the marks transferring to the cotton in small dark smudges, and she looks at the smudges on the towel and smiles.</p>
<<say "char-jess" "Jess">>
<i>(quietly, touching the ink-smudge on the towel)</i> Evidence. <i>(deciding)</i> I'm not washing it off. It'll still be there in the morning, under my shirt and my sweater, through the 9 AM lecture. Faded but legible. Still mine.
<</say>>
<p>She unlocks the bathroom door and walks down the dark upstairs hallway past Megan's closed door and Ryan's closed door to her own room, the marks still on her skin under the towel, and the thought of carrying them through Hartley's class makes her thighs press together. She gets into bed, naked except for the towel, marks on her skin, and her hand drifts to her own clit one more time and her body answers at once with a fourth small orgasm, quiet and quick.</p>
<<say "char-jess" "Jess">>
<i>(half-asleep, hand still between her legs, almost content)</i> He won't know I'm wearing them. I will. That's the next one. Already paid for.
<</say>>
<p>She falls asleep with her hand still between her legs and the marks still on her skin.</p>
<<say "char-hivemind" "Hivemind">>
//She has named herself. The name fits.//
//Jess Hoffman is now //the most self-sufficient kink subject I have ever observed//. She does not require external stimulation. She does not require partners. She does not require ambient context. //She requires a body, a marker, a bathroom, and her own voice//, and the kink will produce orgasms //on demand//.//
//I am going to leave her almost entirely alone. She is going to do most of the work for me.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Daydream</div>
<p>9:42 PM. Megan's bedroom. The door is locked and the blinds are half-down, and the phone is face-down on the nightstand because she does not need a witness tonight. She has been circling the same thought on and off all afternoon, the //if// that keeps coming back sharper each time she sets it down.</p>
<img class="scene-img" src="media/scenes/spore-megan-publicsex-1.webp" alt="Megan alone in her bedroom at night, on top of the duvet in a sleep tee and shorts, blinds half-down throwing a bar of streetlight across the bed, one hand under the waistband of her shorts, eyes closed in the focused private intent of someone running a specific scene in her head">
<p>Her hand slides under the waistband of her sleep shorts, and she is already wet when her fingers find her clit.</p>
<<say "char-megan" "Megan">>
<i>(whisper, eyes shut, half a smile)</i> Okay. Out the back door, coat tied loose, nothing under it. Walk down to the corner where it's dark. The bus stop's empty except for one guy, and he looks up, and... //then I open it.// Three seconds. Don't say a word, just walk back like nothing happened.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her clit is throbbing against her own fingers and the fingers are barely moving. The body has identified the //plan// itself as the dose. She is not even at the corner in the fantasy and her thighs are already tightening.//
<</say>>
<p>Her free hand finds her right breast under the sleep tee, and she pinches the nipple slow, deliberate, the way the stranger at the bus stop would if she let the daydream run two beats past the coat. Her breath catches and her hips lift off the duvet.</p>
<<say "char-megan" "Megan">>
<i>(breath gone short, fingers quickening)</i> God, I'm not even there yet, I'm not even... //the second he sees my chest//, that's, oh, that's all it takes, that's...
<</say>>
<p>The daydream never gets past the second beat. It does not need to. The instant she imagines his eyes finding her bare chest, she comes against her own fingers in a long slow shudder, biting the inside of her cheek to keep quiet, hips jerking up off the bed twice.</p>
<p>She lies in the dark a long time, hand still where it is, slick.</p>
<<say "char-megan" "Megan">>
<i>(quiet, into the ceiling, the bright daytime voice nowhere in it)</i> ...I don't even own a coat like that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has not done it. The body has acted as if she had. The reward circuit fired at the //plan// before any execution was attempted. From now on the plan will refine itself, each version of the daydream more specific than the last, each nameable variable adjusted to the setting that finishes her fastest. The actual act, when it happens, will be a download of a script the body has already rehearsed.//
//Before long she will have ordered a coat.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Coat and the Camera</div>
<p>8:14 PM. The cafe is fifteen minutes from close. The late-week regular at the window seat, call him Trevor, mid-thirties, has been tipping heavy for a while now and has not opened the laptop he brought. There is a folded paper envelope on the table beside his half-empty cortado. Megan goes over with the water pitcher, and Trevor lays his hand flat on the envelope so it does not slide.</p>
<<say "char-npc" "Trevor">>
<i>(low, the specific tone of a man who has rehearsed this in the parking lot)</i> I have a proposition. Five minutes outside, after you close. I have a coat. You wear it. I film from across the street, frame stops at your collarbone. I'm not interested in your face. You walk down to the corner. Anyone walking past, you open the coat. Three seconds. That's the whole ask.
<</say>>
<p>He flips the envelope so she can see the edge of the bill on top. It is a hundred, and she can count the others by the thickness without looking.</p>
<<say "char-npc" "Trevor">>
//Five hundred. Cash. Tonight if you want, tomorrow if you need to think about it.//
<</say>>
<<say "char-megan" "Megan">>
<i>(the bright-barista voice arranging itself around something it has not arranged before)</i> ...Trevor. //No.// That's not, I can't just walk down the street with my chest out, that's a public indecency thing, I'd lose my job, I'd lose my whole life if anyone I know saw it...
<</say>>
<p>She does not move away from the table while she says it.</p>
<<say "char-npc" "Trevor">>
<i>(steady, not pushing)</i> Frame stops at the collarbone. No face, no name, no geotag. The footage is mine, there's a clause in the envelope, you keep a copy. Five hundred. If you want to hear seven hundred, I'll throw two extra for the same five minutes, and that's my final.
<</say>>
<<say "char-megan" "Megan">>
<i>(quieter, the math running under the smile, the refusal already losing)</i> Five minutes. The corner's dark. You said the angle doesn't show my face. And nobody who'd recognize me is anywhere near that street at closing, so it's... it's basically...
<</say>>
<p>She is already wet, and the arousal is clinical and immediate. Her body recognised the offer for what it was before her conscience finished the no. Trevor sees her face for the half-second the refusal cracks, and he does not smile. He slides the envelope to the centre of the table.</p>
<<say "char-megan" "Megan">>
<i>(low, professional, the back-office voice arriving for the first time outside the back office)</i> ...tomorrow. Same time. The coat better fit. And I want the footage, raw, on a flash drive, before I leave.
<</say>>
<<say "char-npc" "Trevor">>
Done.
<</say>>
<p>She locks up at 8:31 and walks home with the envelope a quiet weight in her apron pocket.</p>
<hr class="scene-break">
<p>8:28 PM, the next night. Trevor is in the alley behind the cafe with a folded camel coat over his arm, wool, knee-length, single button at the waist, cream-coloured silk lining, the kind of coat a woman wears home from an office she does not work in. Megan takes it into the back office, strips down, folds her shirt and bra and underwear into the gym bag she brought, and puts the coat on against bare skin. The lining is cold against her back and her breasts and her stomach, and then it traps her body heat in seconds.</p>
<<say "char-megan" "Megan">>
<i>(to herself in the office mirror, turning, testing the lapels)</i> Buttoned, it's just a coat. Loose like this it's... yeah. From across the street it's nothing. Up close it's a whole different thing. Okay. Okay, I can do five minutes.
<</say>>
<p>She steps out the back door. Trevor is across the street with the small phone-on-a-tripod the vloggers use, the white light pointed at the patch of sidewalk she is about to walk down. He does not wave. He does not need to. The micro-camera has been live for ninety seconds.</p>
<p>The sidewalk is lit municipal sodium-yellow, and the first stranger comes toward her at the third lamp post, a man with a deli bag, mid-fifties, balding, the half-attentive face of someone near home.</p>
<img class="scene-img" src="media/scenes/spore-megan-publicsex-2.webp" alt="Megan walking down a sidewalk under sodium-yellow streetlight in a tied wool coat blowing partly open at the front, both bare breasts visible in the gap, an older man with a deli bag in mid-double-take in the background, a small camera on a tripod across the street out of frame">
<p>Three feet from him she thumbs the lapels open, and his eyes find her bare chest in the half-second before she pulls them shut again. He does not say a word. His face does the small involuntary recalibration of a man who has just received unexpected visual data, and he keeps walking at the same pace, his hand tightening on the deli bag by a single visible knuckle.</p>
<<say "char-megan" "Megan">>
<i>(under her breath, pulse spiking, not slowing down)</i> Oh my god. Oh my god, he saw, he actually, he didn't even, he just kept walking and I'm... //I'm gonna come from this. From walking.//
<</say>>
<p>Her clit is pulsing against the silk lining, the coat so soft against bare skin that the friction of walking has been a low ongoing pulse for a full minute, and the stranger's surprise just compounded it. The next stranger is an older woman with a small dog. Megan opens the coat at six feet and holds it two seconds longer than she did for the man, and the woman blinks, surprised, almost amused, and walks on without breaking stride. The dog does not look up.</p>
<p>By the corner she has done it four more times, two men separately, a teenager on a bike who almost crashes, a delivery driver who slows to the curb and watches her in the rear-view.</p>
<<say "char-megan" "Megan">>
<i>(quiet, delighted, the back-office voice gone, something younger and greedier under it)</i> That's so much better than... in my head it was just me, but they're //real//, their faces are real, that one almost wrecked his bike, oh my god, I want to do it again, I want one more before the corner.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The bedroom fantasy was a low-fidelity rehearsal. This is the production take. Each stranger's micro-reaction is a //payment// in a currency the body had only been promised. The body has now been //paid//. The conversion rate of stranger-double-take to genital arousal has been measured and filed. She will need this again.//
<</say>>
<p>She comes back to the alley with her thighs slick down to the knees, her cheeks flushed, her nipples visibly hard against the wool. Trevor is still across the street. He raises the camera tripod, gives her a small nod, and crosses to her.</p>
<p>He hands her two envelopes. The first is the five hundred. The second is two hundred more.</p>
<<say "char-npc" "Trevor">>
<i>(handing her a small flash drive on top of the envelopes)</i> Bonus. The teenager almost crashed his bike. That was content. The drive is your copy, raw, no edits, no upload yet. We'll talk again if you want to negotiate the upload rate.
<</say>>
<p>Megan changes back into her real clothes in the office, hangs the coat on the back of the office chair like she might wear it again, and walks home with seven hundred dollars in her bra and a flash drive in her shoe.</p>
<<say "char-hivemind" "Hivemind">>
//She did it. She argued for sixty seconds and then she did it. The argument was never the //refusal//. The argument was the part of her that needed to hear //I would lose my whole life// said out loud, so that doing it anyway would feel like a choice. The choice has been made. The body has been paid. The flash drive is the next variable. She will look at it tonight, and looking will be the next dose, and soon enough she will be wondering what the upload rate is.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Counter Service</div>
<p>2:47 PM. The cafe has settled into the slow weekend rhythm, three customers in the shop, a pre-med student in the corner with a textbook and a noise-cancelling headset, an older couple at the window in the lull between their second and third cappuccinos, a man at the bar scrolling his phone without reading. The blonde at the bar is new. She came in a while ago, ordered a flat white, paid cash, and has been studying Megan with the not-quite-casual attention of a woman who has done her research on the cafe and the barista in it. The blonde stands, walks to the counter, and sets down a folded paper with a number on it in careful blue pen: //500//.</p>
<<say "char-npc" "Blonde">>
<i>(the calm, not-quite-casual voice of someone who has done this before in other cafes with other baristas)</i> I have a request. It's specific. I want to go down on you. Right now. Under the counter. While you keep serving the rest of the shop. Five hundred. Cash. I have it on me.
<</say>>
<p>Megan's mouth opens, then closes. The bright-barista smile stays on her face, she could not turn it off if she tried, but her pupils dilate behind it and the blonde sees the dilation.</p>
<<say "char-npc" "Blonde">>
<i>(continuing, professional, not pushing)</i> Fifteen minutes max. You don't move from behind the counter. The half-wall by the espresso machine hides me from anyone on the customer side. Nobody has to know unless somebody comes up and looks down, and you'd see them coming a long time before they got there. Five hundred. Yes or no.
<</say>>
<<say "char-megan" "Megan">>
<i>(quiet, eyes flicking to the room and back, the math already done)</i> Five hundred for fifteen minutes is, that's a whole shift, and the half-wall really does cover you, and I'd see anyone coming from the door easy, so... <i>(the smile not slipping at all)</i> ...give me sixty seconds.
<</say>>
<p>She walks to the back office, closes the door, slides her underwear off and folds it into the apron pocket where the cash will go, then comes back out and ties the apron tighter at the waist so the front falls heavy and concealing.</p>
<<say "char-megan" "Megan">>
<i>(at the counter, the bright-barista voice unwavering, then dropping a half-octave)</i> Okay. We're good. Come around.
<</say>>
<p>The blonde slides around the counter on the staff side and crouches behind the half-wall by the espresso machine. Her face is at Megan's hip level. She gestures: //skirt up//. Megan lifts the front of her skirt, the apron covers the gesture from anyone standing on the customer side. The blonde leans in.</p>
<img class="scene-img" src="media/scenes/spore-megan-publicsex-3.webp" alt="Extreme macro close up of the contact moment, a short-haired blonde's face at the top of frame, eyes closed, tongue extended and pressed to Megan's bare pussy below, saliva gleaming, Megan's tanned olive thigh on the right edge of frame, the scene tight and anonymous">
<p>Her mouth finds Megan's pussy, her tongue warm and confident, two slow flat licks across her clit and then the press of lips around it and then a small trained circular pressure that pulls Megan's left hand white-knuckled to the counter edge. Her right hand stays free for the espresso machine.</p>
<<say "char-megan" "Megan">>
<i>(barely a breath, eyes on the door, hips already wanting to move)</i> Oh, okay, you really, you really know what you're, oh my god, just, just keep your head down, somebody walks in I have to talk, I have to be normal...
<</say>>
<p>The bell over the door rings. A new customer.</p>
<<say "char-npc" "Customer">>
Can I get a medium drip?
<</say>>
<<say "char-megan" "Megan">>
<i>(the bright-barista voice snapping on, perfectly steady)</i> Yeah, of course, three-twenty-five, anything else?
<</say>>
<p>The customer shakes his head, hands her cash, and she rings him up and pours the drip and slides it across the counter while the blonde's tongue does not stop, while the blonde works two fingers inside her without breaking the rhythm of her mouth. The customer says thanks and walks out, and the bell rings again on another one coming in.</p>
<<say "char-megan" "Megan">>
<i>(bright voice to the new customer, then the half-octave drop the second the door shuts)</i> Hi! Be right with you... <i>(under her breath, to the blonde, hips rocking now)</i> ...you cannot stop, do not stop, I have to look at him while you, oh god, three fingers, when did you, //don't stop.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The professional voice and the orgasm machinery are running on //separate hardware// in this configuration. The bright register is autopilot, twenty thousand customer interactions of muscle memory carrying the words out without supervisor input. The supervisor is occupied with the //tongue between her thighs// and the supervisor is not unhappy about this. Megan has discovered that her two performance-modes can run //simultaneously// with no degradation in either signal.//
<</say>>
<p>By the third customer her hips are rocking, small and controlled, the kind of micro-motion the apron and the half-wall and the counter all hide, and the blonde's fingers are deep and not tentative and her orgasm is climbing the slow sustained way a body climbs when it has been edged by someone who is good at it.</p>
<<say "char-megan" "Megan">>
<i>(to the counter, breath shortening, the bright voice cracking at the edges)</i> I'm gonna, oh, I'm actually gonna come right here, I have to keep my face, just keep the face, nobody's looking, nobody's...
<</say>>
<p>In the corner the pre-med student has set her textbook down and pulled the headset off, watching Megan with the look of someone who has just understood something, and then she raises her phone over the lip of the laptop screen and starts to film. Megan sees it come up. She does not stop, and she does not signal the blonde, and the blonde keeps going because the blonde has not seen the phone.</p>
<<say "char-megan" "Megan">>
<i>(catching the phone in the corner of her eye, the realization arriving with the orgasm, not before it)</i> ...she's, that girl's filming, she's actually filming me, I should, I should stop, I should, //oh god I'm not going to stop//, I want her to have it...
<</say>>
<p>She comes with her hand white-knuckled on the counter and her smile still in autopilot, hips jerking against the blonde's mouth in three small visible spasms the apron does not entirely hide, a single quiet gasp escaping her, her thighs locking around the blonde's head for one long second before they release.</p>
<p>The pre-med student lowers the phone and keeps watching, then picks up her textbook with one hand and her coffee with the other and reads, or pretends to read, with the small private smile of someone who has just gotten exactly the footage she came for.</p>
<p>The blonde sits up under the counter, wipes her mouth on the back of her hand, and hands Megan a folded napkin from a square she had ready. Megan dabs herself, drops her skirt, reties the apron with shaking fingers, and the blonde stands, slides back around to the customer side, and hands her the five hundred in a folded fan of twenties.</p>
<<say "char-npc" "Blonde">>
<i>(quiet, professional, looking Megan directly in the eye for the first time)</i> Thank you. You're very professional. I'll be back.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright again, like she's reading back an order, the shake almost gone from her hands)</i> Anytime. Tell your friends.
<</say>>
<p>The blonde walks to the door, the bell rings, gone. Across the cafe the pre-med student looks back at Megan and smiles, small and conspiratorial, then raises her coffee in a tiny salute and returns to her textbook.</p>
<<say "char-hivemind" "Hivemind">>
//She got photographed. The pre-med student has video. The video could be in a forwarded link tomorrow morning. Megan's mother could be opening it before Karen's first coffee. Megan //should// be panicking. Megan is //counting the cash// in her apron pocket and thinking about whether the blonde tells her friends and what the rate stays at if she does.//
//The video is a //risk//. The video is //also a feature//. The same neural circuit that fires at being-watched //during// the act has just fired at //having-been-watched-and-recorded//. She has discovered, in twenty seconds of post-orgasm cognition, that she does not //care// if the world finds out. That discovery is //the kink//. The discovery is what the spores were building toward. The discovery has just locked in.//
<</say>>
<p>The bell rings. Another customer comes in. Megan greets him in the bright-barista voice. Perfect.</p>
<div class="evolve-unlock">A pattern has formed. Megan's arousal now requires not just the //visibility// but the //recording//, the proof.</div>
</div>
/* ===== GANGBANG ===== */<div class="household-event">
<div class="passage-title">Double the Rate</div>
<p>11:47 PM. Megan's bedroom. The phone is face-up on the duvet with the request thread open, and she is scrolling it the way other people scroll horoscopes, half-distracted, half-permissioning. The names are first-names-only, the phrasing standardised, the rate menu implicit. She stops on one that is not standard. Two names, same message.</p>
<p>//Peter + Chris. We're both regulars. We're willing to pay double, $500 each, to come in together. Twenty minutes. No contact between us. We just want to be in the same room.//</p>
<<say "char-megan" "Megan">>
<i>(reading it twice, thumb tapping the edge of the phone)</i> One at a time. That's the rule, that's the whole rule, it's the thing I say to myself when I'm doing dishes so this stays a job. One person, one room, in and out. <i>(a pause)</i> ...a thousand dollars, though. A thousand, for twenty minutes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The policy is a sentence. The sentence is load-bearing. A thousand dollars in twenty minutes is the weight that finds out what the sentence can hold.//
<</say>>
<<say "char-megan" "Megan">>
<i>(typing, deleting, the bright voice gone, something flatter and more practical in its place)</i> One at a time, no exceptions... no. No, delete that. They stay dressed, they don't touch each other, cash up front, I run it, it's still my room. //That's// still a job. <i>(rereading her own draft)</i> Five hundred each, cash first, no contact between you, fifteen flat.
<</say>>
<p>She sends it before her thumb can revise again, and the reply is instant.</p>
<p>//Deal. Tomorrow.//</p>
<p>She sets the phone face-down. The warmth between her thighs from sending that message is the same warmth the coat night produced, and her body has already noticed the match.</p>
<hr class="scene-break">
<p>10:42 PM. The cafe is closed. The back-office door is propped the half-inch. Peter arrives first through the alley door, mid-forties, a regular, the specific glassy-eyed look of a man who has been rehearsing this drive over for an hour. Chris arrives four minutes behind him.</p>
<p>By the time Chris crosses the threshold, the air in the small room has been working on Peter for three minutes already. He is standing with his back against the filing cabinet. His breath is shallow. His pupils are wide. His hand is gripping the edge of the cabinet like the cabinet is load-bearing.</p>
<<say "char-hivemind" "Hivemind">>
//The back-office air has been saturating with her baseline arousal signature for a while now. The concentration is high enough that any olfactory system crossing the threshold parses it as //imminent mating signal//. Peter's cognitive override lost the argument to his limbic system at the one-minute mark. Chris will get there faster. His own arousal will stack on hers and on Peter's, and the feedback loop will close inside thirty seconds.//
<</say>>
<p>Chris steps in. Locks the door. Sees Peter against the cabinet. Something in Chris's posture loosens, the awkwardness he walked in with getting rewritten by a subcognitive transaction he did not authorise. His cock presses the front of his jeans before he has taken three steps.</p>
<p>Megan is leaning against the desk. Apron on. She has done nothing. She is watching it happen.</p>
<<say "char-megan" "Megan">>
<i>(the back-office voice, calm, faintly amused)</i> Cash on the desk. Both of you. Now.
<</say>>
<p>Peter's envelope lands first. Chris's a half-second later. Megan's eyes flick across both, counts the thickness without opening them.</p>
<<say "char-megan" "Megan">>
<i>(still the voice)</i> Pants down. Both of you. Hands stay off each other.
<</say>>
<p>They move faster than she has ever seen clients move. Peter's belt clicks off. Chris's zipper goes down in one pull. In six seconds both of them are standing in the small room with their cocks out, both already rigid, both already leaking.</p>
<p>Megan steps forward between them, back straight and both feet planted, and wraps her right hand around Peter and her left around Chris, and the first slow stroke pulls a sound from each of them that is not quite a word.</p>
<<say "char-megan" "Megan">>
<i>(calm, working both grips, the small focused smile of someone who has the work in hand)</i> There we go. Hold still for me. You both paid for fifteen minutes, so we're gonna take the fifteen minutes, and you're gonna keep your hands on the wall. Good boys.
<</say>>
<img class="scene-img" src="media/scenes/spore-megan-gangbang-1.webp" alt="Megan standing between two men in the back office, black cafe apron still on, skirt hiked at the front, one hand on each cock, her mouth on the one to her right while her left hand keeps the second man in rhythm, both men flushed and barely upright, two envelopes of cash on the desk behind her">
<p>She leans to her right and sinks her mouth onto Peter, two slow deep strokes with her lips sealed and her tongue flat along the underside while her left hand keeps Chris in a steady metronomic grip, and Peter's hand spasms on the filing cabinet.</p>
<<say "char-megan" "Megan">>
<i>(pulling off Peter with a wet sound, switching to Chris, hand sliding down Peter without losing the beat)</i> Mmh. //Mmh.// You're already shaking, c'mon, your turn, hold on...
<</say>>
<p>Her mouth goes onto Chris in the same slow rhythm, her right hand working Peter without breaking pace, and Chris's knees lock and his breath comes out in a ragged half-sound. She alternates, hand on one while her mouth is on the other, and the two men are trying and failing to hold still, Peter's hips rocking into her hand in uncontrolled half-thrusts, Chris's shoulders shaking.</p>
<<say "char-megan" "Megan">>
<i>(muffled around Chris, then off him for a breath)</i> //Mmh, glnh, mmh.// Uh-uh, hands stay where I put them, I said no touching each other, just, //mmh//, just stand there and let me, there we go...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is doing the technical work of two blowjobs in sequence. The men are being //downed// by a concentration their bodies have no defence against. The power ratio is the inverse of what they walked in believing. Megan is the one supervising, and the supervisor is getting a new view of her own reach.//
<</say>>
<p>Peter breaks first, grunting through his teeth, his hand spasming against the filing cabinet, his cock pulsing against her tongue. She keeps her lips sealed for the first three spurts, pulls off on the fourth, and lets the last land across her lower lip.</p>
<<say "char-megan" "Megan">>
<i>(wiping her lip with a thumb, calm, already turning back to Chris)</i> Mm. That's one. Okay, Chris, you've been so patient, come here.
<</say>>
<p>Chris follows soon after, the same pattern, the first half in her mouth and the rest across her cheek when she pulls off clean. Both envelopes are on the desk, both men are zipping up one-handed against the wall, neither meeting her eye for longer than a half-second. Megan stands, wipes her face with a napkin from the roll on the desk, tucks both envelopes into her apron pocket, and opens the office door.</p>
<<say "char-megan" "Megan">>
<i>(bright-barista voice, perfect)</i> Thank you both. Alley door's to the left.
<</say>>
<p>They leave separately. Peter goes first. Neither says the other's name on the way out.</p>
<<say "char-hivemind" "Hivemind">>
//A thousand dollars in fifteen minutes. The rule was the floor. The floor has been paid down through. Tomorrow the request thread will carry three more messages containing the word //together//. The conditioning has just been paid to solve the //one at a time// policy, and the market has set the price.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Price List</div>
<p>7:14 AM. Megan is at the kitchen counter in a bra and an open work-shirt, apron folded over the chair back, sorting the weekend's cash into two piles. The bigger pile goes into the apron's inner pocket. The smaller goes into the envelope in her backpack she thinks of as //rent//.</p>
<p>The weekend was a good weekend, two solo clients and a duo the first night, a duo and a walk-in regular the second, and the apron pocket has four thousand dollars in folded twenties that she is counting twice because she has not gotten used to counting it once.</p>
<p>Karen walks in behind her and goes straight to the coffee maker without looking at the counter. The measured precision of not-looking is what tells Megan that Karen has seen the cash, every morning, for a while now.</p>
<img class="scene-img" src="media/scenes/spore-megan-gangbang-2.webp" alt="Megan at the kitchen counter at home, half-dressed for a shift, counting a folded stack of twenties into her apron pocket, Karen visible in the background at the coffee maker not looking at the cash but obviously aware of it, a pen and small notepad on the counter beside Megan's phone with the request thread open">
<<say "char-karen" "Karen">>
<i>(at the coffee maker, voice mild, the specific mildness of a woman performing a decision not to ask)</i> Tips were good.
<</say>>
<<say "char-megan" "Megan">>
<i>(the bright-barista voice, perfect, not a beat late)</i> Weekend regulars. The morning rush has been tipping really well lately.
<</say>>
<<say "char-karen" "Karen">>
Mm.
<</say>>
<p>That is the whole conversation. Karen pours her coffee. Walks to the table. Opens her laptop. Does not turn around.</p>
<<say "char-hivemind" "Hivemind">>
//Karen has done the math. Karen knows that barista tips do not produce four thousand dollars a weekend. Karen has decided that not-knowing is the household income she is willing to purchase. The silence is not ignorance. The silence is a //transaction//. I have been adjusting her evening-reasoning-loops for several nights now and the adjustments have closed today with a specific small compromise: //the money is good, the cost of asking is higher than the cost of not asking//, and Karen has paid the not-asking fee willingly.//
<</say>>
<p>Megan takes her phone to the table, opens the request thread, and opens the small notepad beside it, the one she keeps in her backpack and the one Karen has not asked about either. The first page is a column-ruled list, the headings //act// and //rate//, short, and she has been adding to it. She uncaps the pen and reads what she already has.</p>
<ul>
<li>Flash under coat, off-site: $150 base + reaction bonus</li>
<li>Blowjob, solo: $300</li>
<li>Blowjob, duo (no contact between clients): $500 each</li>
<li>Counter service, in-cafe: $500</li>
</ul>
<<say "char-megan" "Megan">>
<i>(half under her breath, pen moving, the practical flat voice)</i> Okay, so the guys keep asking what the difference is if they finish in my mouth versus on my face, which means it's a thing I can charge for, so... swallow's plus fifty. Facial's, mm, plus seventy-five. People pay more for the photo.
<</say>>
<p>She writes the two lines underneath.</p>
<ul>
<li>//Swallow: +$50//</li>
<li>//Facial: +$75//</li>
</ul>
<p>She caps the pen and does not cross them out. The handwriting is neat, her real handwriting, the clean hand she once used for lab notes, the one that signed her first lease.</p>
<<say "char-megan" "Megan">>
<i>(looking at the page, quiet, not bothered)</i> ...that's a real list now. In my actual handwriting. Six feet from Mom. <i>(a small breath, then she just nods at it)</i> Yeah. Okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She just //priced// two discrete endings to a blowjob. She did it in her real handwriting, while her mother sat six feet away pretending the kitchen air had nothing in it. There is no longer a Megan who thinks this is a phase. The //price list// is the artefact that proves it. A price list is a //business//, and a business is something the body commits to running.//
<</say>>
<p>She takes a photo of the updated list. Sends it, without commentary, to the request thread as an auto-reply reference. Two messages come back within ninety seconds.</p>
<p>//Late-week night. Swallow, please.//</p>
<p>//Weekend. Facial + bonus for repeat.//</p>
<p>Megan types //confirmed// to each and closes the phone.</p>
<<say "char-hivemind" "Hivemind">>
//The additions took seventy seconds to price and seventy seconds to sell. The market cleared at the rate she set. The market is telling her she priced low. Before long the list will carry more line items and the existing rates will climb. The business has been //ratified//. Her mother's silence is the ratification.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//These are not market rates. A bathroom-stall blowjob in this city goes for eighty dollars. Megan clears four times that on the solo line alone, and the duo clears quadruple in under a minute of availability-signalling. The delta is //chemical//. Every client on the thread has been breathing her at the counter, the body has catalogued her signature the way a lab rat catalogues a cage bell, and the body is now willing to //overpay// to re-access the source. Peter and Chris paid double because their prefrontal cortices had lost the argument by the third email. The next client to book will lose it faster. This is not a price list. It is a //pheromone tax//, and the clients are paying it because their bodies no longer let them refuse.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Third One Can't Hold Still</div>
<p>11:06 PM. Three names on the thread, one booking, and Megan re-read the message a few times before confirming because the arithmetic was new: //three clients, one window, no contact clause, $400 each, ninety minutes//. The bookings under the new price list have been coming in fast enough that the //one at a time// policy is now a line on the menu she has stopped quoting. She confirmed and moved the appointment up to 11 PM so she would be home by 1.</p>
<<say "char-megan" "Megan">>
<i>(alone in the back office, talking herself through it, the practical flat voice)</i> Okay. Three's just one-at-a-time three times in a row. They come in staggered, first guy goes to the alley while I do the second, nobody overlaps. It's a line. I run the line. <i>(reading the names again)</i> Two regulars and one I don't know. The new one I keep an eye on.
<</say>>
<p>The three men arrive in fifteen-minute staggers the way the protocol requires. The first is a regular, mid-thirties, predictable and quiet, worked solo before. The second she does not know, early forties, wedding ring on, already flushed when he hits the door. The third is a walk-in referral, late twenties, the reason the booking is three rather than two. The first two know the rules, cash on the desk, pants down, lined up in the order they arrived, the first waiting in the alley while the second finishes. The third does not seem to have read the rules. He walks in not long after the second, when the air in the small room is already a visible warp, his eyes wide before he crosses the threshold, his hand on the front of his jeans before he sets his envelope down, looking at her body with the unfiltered attention of a man whose veto has gone offline at the door.</p>
<<say "char-hivemind" "Hivemind">>
//The second client's arousal stacked onto the first, and the loading pushed the room past the threshold where even a cold prefrontal cortex stays in command. The third client crossed into a saturated atmosphere. His autonomics are driving now. He is not in charge of what his body does in this room. His body is taking //instructions// from a chemical gradient, running on firmware it did not know it had.//
<</say>>
<<say "char-megan" "Megan">>
<i>(low, to the third man, the bright voice with an edge under it, not yet alarmed)</i> Hey. Eyes up here. You're third, okay, so you wait, hands off, you'll get your turn. Be good for me and we're fine.
<</say>>
<p>She goes to her knees and her mouth finds the first man, two slow deep strokes, professional, the rhythm she has priced at four hundred dollars, and she can already feel him tightening. The second man waits six feet away against the filing cabinet, breathing too hard, watching. The third is watching too, jeans already open, a hand on his own cock.</p>
<<say "char-megan" "Megan">>
<i>(pulling off the first for a breath, hand still working him)</i> Easy, easy, you're way ahead of schedule, slow d... <i>(the rest lost as he goes)</i>
<</say>>
<p>The first comes on her mouth far sooner than she priced for, breathing //fuck, fuck, fuck// through his teeth, one hand in her hair without asking and the other braced on the desk, the second half of his load landing on her cheek. She wipes her mouth with the back of her wrist and moves to the second man without standing up.</p>
<<say "char-megan" "Megan">>
<i>(lips closing around the second, muffled, then off him)</i> Mmh. //Mmh.// God, you're shaking too, what is //with// you guys tonight, hold... //glnh//... hold still...
<</say>>
<p>The second man is not going to last either, she can tell from his thighs shaking when her lips close around him. The same two slow strokes and he breaks in under a minute, the load mostly in her mouth, and she swallows on reflex, the plus-fifty line, and pulls off clean.</p>
<p>She stands and steps away from the second man to give him room to pull his jeans up, turning toward the third with her mouth already opening on //you're next, pants down//, and then the third man grabs her hip. She does not remember him crossing the room. One hand on her hip and then the other, stepping in behind her, bending her forward over the desk, not rough but not asking, and she goes down because the spike of not being asked has flashed up her spine before her voice can find the word //stop//.</p>
<<say "char-megan" "Megan">>
<i>(the back-office voice trying to arrive and not quite arriving)</i> Wait, hold on, that's not the order, you're supposed to wait, you, oh, //oh//...
<</say>>
<p>His cock is at her entrance, the first two men watching, the second not zipped up yet. Her skirt is already shoved up around her waist, one of them bared her while she was kneeling and she cannot remember which, and the third man pushes into her wet in one long slow stroke, and the protest dies in her throat and what comes out instead is a sound she has not made before, quiet, and not a refusal.</p>
<<say "char-hivemind" "Hivemind">>
//She did not consent to this in language. She consented to it in //posture//, the hip-offer she did not know she was making, the spine she did not arch consciously, the way her weight shifted forward onto the desk when his hand touched her. The body has updated the price list silently. The body is now //selling// something the conscious mind has not yet priced.//
<</say>>
<p>He fucks her with one hand gripping her ass and the other braced on the desk, the rhythm uncoordinated because he has lost the ability to time it, and Megan's hands are flat on the wood and her cheek is against the desk and her teeth catch her lower lip.</p>
<<say "char-megan" "Megan">>
<i>(into the desk, the professional voice completely gone, surprised by her own)</i> Oh god, oh god, I'm, that's, I'm already, why am I, //I'm coming//, I'm already coming, I don't, oh...
<</say>>
<p>She comes inside a minute of him entering her, because the room holds three now and three is the thing her body has been waiting to discover it wanted. The first man pulls his jeans up and walks out without a word. The second does not. He has gotten hard again, younger, a second wind his conscious self did not approve, and he comes around to the other side of the desk and puts a hand on Megan's head, gentle, asking nothing.</p>
<<say "char-megan" "Megan">>
<i>(lifting her face toward him, mouth already open, no arithmetic left in it)</i> ...yeah. Yeah, c'mere, give it to me, I want, //mmh//...
<</say>>
<img class="scene-img" src="media/scenes/spore-megan-gangbang-3.webp" alt="Megan on her knees on the back-office desk, white shirt shoved open, one breast bare, black skirt pushed up to her waist, her mouth sealed around an erect cock to her right, a man standing behind her with a hand on her ass and his cock deep inside her from behind, two other half-dressed men visible in the dim back-office background">
<p>She takes him in, and now she is being fucked from behind with a cock in her mouth and she is coming again, the second orgasm stacked on the first, overlapping, her body refusing to keep them separate, and the professional arithmetic that usually supervises the work has gone completely silent.</p>
<<say "char-megan" "Megan">>
<i>(muffled around him, eyes shut, gone)</i> //Mmh, glnh, mmh,// mmh-//hmm//...
<</say>>
<p>The third man comes inside her, she feels it, then pulls out at the last second on some residual half-memory of the protocol and finishes on her back in three ragged spurts. The second man finishes soon after, in her mouth, fully, no swallow because she is not tracking the upcharge, the cum staying on her tongue and drooling at the corner of her lip because her mouth is open and her eyes are closed and she is gone.</p>
<p>She comes once more with nothing inside her, quiet and slow, a long unwinding, her cheek on the desk and the third man's hand still on her hip like he has forgotten to take it off. The orgasm runs longer than any she has had in her life, long enough that she cannot measure it, and it does not feel like an orgasm so much as a //collapse//.</p>
<<say "char-hivemind" "Hivemind">>
//That was not the orgasm machinery she has been running in the solo scenes. That was a //different circuit entirely//. Three bodies in the room crossed a threshold her nervous system had been holding shut since puberty. The circuit fired once. The circuit will fire again. The next time it fires she will remember the feeling and her body will //navigate// toward it, choices will be made, configurations arranged, policies revised, and she will not understand why she is choosing the configurations until the third body is already inside her.//
<</say>>
<p>The three men leave in uncoordinated silence. The first is already gone. The second pulls his jeans up, mumbles something that is not //thank you//, and walks out without meeting her eye. The third, the one who did this, is the last, and he stands a long moment in the doorway looking at her back, his face doing something complicated, something almost like //regret// crossing it before he leaves.</p>
<p>The first two envelopes are still on the desk. The third client, the one who came inside her, the one who broke the protocol and triggered the whole cascade, never left his cash. His envelope is still in his back pocket somewhere up the alley. Megan sits down on the floor with her back against the desk, her skirt a mess, her apron pocket holding eight hundred dollars where there should be twelve.</p>
<<say "char-megan" "Megan">>
<i>(on the floor, breath still uneven, looking at the apron pocket, then quietly laughing at herself)</i> He stiffed me four hundred. He came in and broke every rule and didn't pay and I'm sitting here and I'm not even... <i>(a slow breath)</i> ...I'm not even mad. That was, what was //that//. I've never come like that, not once, never. <i>(softer)</i> I think I'd have given that one away for free.
<</say>>
<p>She feels tired in a full-body way she has never felt before, and she feels good, and against every voice she has used professionally tonight there is a small warm gratitude toward the third man for the thing she did not know she was buying.</p>
<<say "char-hivemind" "Hivemind">>
//He took a service she had not priced. The market has just discovered the service exists, and the service is //worth the discount//. The next man who walks into that office and does the same will not bother with his envelope either. Megan will not insist. The business has acquired a line item it will not put on the list, because the line item is //free use//, and free use does not need a price tag.//
<</say>>
<p>She sits on the floor a while, then stands, cleans the desk with the roll of napkins, cleans herself at the small office sink, changes the apron, tucks the eight hundred dollars into the pocket, and walks home.</p>
<div class="evolve-unlock">A preference has locked. Megan's body has discovered an orgasm circuit that requires multiple bodies in the room, and her business has informally priced in //free use//, the third man does not have to pay.</div>
</div><div class="household-event">
<div class="passage-title">Taxonomy of Disgust</div>
<p>Ryan's room at 1 AM, both monitors off for once, no game, no stream, just the ceiling. He's lying on his back in the blue-dark with one hand working the way it always works, the rhythm so worn-in it barely registers as a thing he's doing.</p>
<p>It takes ninety seconds and he doesn't make a sound. Afterward his hand is in front of his face and he doesn't reach for the tissue box, which is exactly where the tissue box goes, exactly where his hand has gone a thousand times.</p>
<img class="scene-img" src="media/scenes/spore-ryan-cumeat-1.webp" alt="Ryan lying on bed in dark room, staring at his hand">
<<say "char-ryan" "Ryan">>
<i>(barely a whisper, to the ceiling)</i> ...it's just there. It's right there on my hand and I'm just. Looking at it. Why am I looking at it.
<</say>>
<p>His hand stays where it is, close enough that he can smell it. The warmth on his palm hasn't gone cool yet.</p>
<<say "char-ryan" "Ryan">>
<i>(very quiet, talking himself into it)</i> Okay. It's not, it's not a big deal, people do, it's not even, okay. Okay. One time. Just to know.
<</say>>
<p>He brings his hand to his mouth. Quick, barely a gesture, his tongue against his palm for half a second before he pulls back.</p>
<<say "char-ryan" "Ryan">>
<i>(a sound between a swallow and a wince)</i> ...mh. Okay. Okay.
<</say>>
<p>He reaches for the tissue box anyway, wipes his mouth last and his hand first, and lies back down. The ceiling is the same ceiling.</p>
<<say "char-ryan" "Ryan">>
<i>(to no one, slower now, almost surprised)</i> That was. That wasn't even. Okay.
<</say>>
<p>He puts his headphones on and stares at the ceiling. The headphones aren't connected to anything.</p>
<<say "char-hivemind" "Hivemind">>
//He did it. Disgust was present, a strong conditioned aversion, but it was insufficient to prevent the action. Notably, the aversion arrived after. The gap between impulse and inhibition is widening. One occurrence is not a pattern. Two is.//
<</say>>
</div><div class="household-event">
<div class="passage-title">No Tissues</div>
<p>11:43 PM. Ryan's room, door closed, he checked it twice. The monitor shows a tab he'd deny knowing existed, a woman on a bed, the camera angle specific, the buffering circle gone. He got here through a chain of links that started with a gaming clip and went sideways, deniable, the breadcrumbs already cleared.</p>
<p>His hand is on his cock in fast graceless strokes, boxers shoved to his thighs, headphones on with the audio off so he can hear the hallway. His cock is slick with pre-cum and the screen glows and he's barely thirty seconds in when his body gets ahead of him, the orgasm landing before he's chosen it. His cock pulses in his fist and cum floods his palm, through his fingers, a thick rope arcing onto the desk edge before he cups his hand to catch the rest.</p>
<p>His hand is full and warm and wet. He reaches for the tissue box on the nightstand and it's empty, a cardboard shell, the last one gone this morning for a nosebleed.</p>
<<say "char-ryan" "Ryan">>
<i>(staring at his cupped hand, whisper)</i> ...no. No, no. Where's the. Why is it empty, why is it empty //now//.
<</say>>
<p>He stands with his boxers at his knees and his cock softening and his hand cupped in front of him like he's carrying water. He opens the door with his clean hand and peers into the hallway. The bathroom light is on, the shower running behind it, Jess in there.</p>
<<say "char-ryan" "Ryan">>
<i>(under his breath, fast)</i> Okay, okay, just, bathroom, just get to the, no, that's Jess, that's twenty minutes, she's always twenty minutes...
<</say>>
<p>Footsteps on the stairs. Megan, coming up from the kitchen with her phone in one hand and a glass of water in the other, four steps from the top. The cum is starting to run in his palm, a thin trail heading for his wrist.</p>
<img class="scene-img" src="media/scenes/spore-ryan-cumeat-2.webp" alt="Ryan at desk with cum on hand, panicked expression, hallway door visible">
<p>The spores are in the hallway vent, settling on his skin, a warmth at the back of his neck and a looseness through his jaw. His hand is right there at chest height.</p>
<<say "char-ryan" "Ryan">>
<i>(Megan's footsteps reaching the top of the stairs, voice cracking to nothing)</i> ...it's just protein. It's just. Okay.
<</say>>
<p>He brings his hand to his mouth. His tongue presses flat against his palm and he licks base to fingertips in one drag, the cum across his tongue, salt and warmth and the thick alkaline coat of it. He swallows. Licks again, between the fingers, the webbing, the crease of his palm where the last of it pooled, until his hand is clean and wet only with spit. He wipes it on his boxers.</p>
<p>Megan rounds the corner.</p>
<<say "char-megan" "Megan">>
<i>(passing his door, not stopping)</i> Night.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hand behind his back, voice perfectly flat)</i> ...night.
<</say>>
<p>She goes to her room and the door closes. Ryan stands in his doorway with the taste of himself coating every surface of his mouth, running his tongue along his teeth, waiting for the disgust to arrive.</p>
<<say "char-ryan" "Ryan">>
<i>(quietly, to nobody, testing the feeling)</i> ...huh. It's not even. I thought it'd be worse. It's just, kind of, nothing.
<</say>>
<p>He goes back to his desk, closes the tab, opens the stream, drinks water. The taste stays for twenty minutes. He doesn't brush his teeth.</p>
<<say "char-hivemind" "Hivemind">>
//Panic solved the problem.// The tissues were empty, the bathroom was occupied, and Megan was six seconds away. //The spores didn't create the solution, they removed the barrier to the solution he already knew.// His hand was full. His mouth was available. The logic is seamless: less evidence, less mess, less risk. //The disgust response fired and the spores intercepted it mid-signal.// He licked his palm clean with his sister's footsteps on the stairs and the taste is //still in his mouth// and he //hasn't brushed his teeth//. The next time won't require panic. The next time will require only the memory that panic was unnecessary.
<</say>>
</div><div class="household-event">
<div class="passage-title">The Glass</div>
<p>1:47 AM. Ryan's desk, the stream on, some horror game, the chat moving fast while the streamer dies on purpose because bad is funnier. Ryan isn't watching. He's been thinking about the glass since the night with the empty tissue box.</p>
<p>The glass is from the kitchen. He washed it himself, which never happens, and carried it up in the pocket of his hoodie, and it's sitting on the desk beside the keyboard now, clear and empty. He locks the door, checks it, pulls his boxers down.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, talking himself through it)</i> Okay. This isn't, this isn't even weird. It's just smarter. No tissues, no mess, no hand to wash after. You're gonna do it anyway, so. Do it clean.
<</say>>
<p>He strokes himself slower than last time, no rush, nobody on the stairs, the monitor blue across his face. His cock is hard in his hand and his eyes are on the screen and his mind is on the glass.</p>
<<say "char-ryan" "Ryan">>
<i>(breath quickening, low)</i> Okay, here, just, into the glass, aim, that's it...
<</say>>
<p>He takes the glass in his left hand as the orgasm builds and comes into it, three pulses, the cum hitting the bottom with a sound like rain on a window, pooling in the curve. He milks the last of it out with his thumb and sets the glass down.</p>
<img class="scene-img" src="media/scenes/spore-ryan-cumeat-3.webp" alt="Glass on desk beside keyboard with white liquid, monitor glow, late night">
<p>An inch of cum in a kitchen glass, white and a little translucent, still warm enough to fog faintly in the monitor light. He picks it up and holds it at chest height and the cum shifts when he tilts it, thick and slow, clinging to the sides. The spores in the vent above the desk settle on his lips, the inside of his nose, a warmth spreading down through his sinuses into the back of his throat.</p>
<<say "char-ryan" "Ryan">>
<i>(turning the glass slowly, almost reasoning with himself)</i> If it was milk I wouldn't even think about it. It's just, it's the same stuff, it's the same as last time and last time was fine. It was fine. Just, one swallow, and it's done.
<</say>>
<p>He drinks. He tilts the glass and lets the cum slide across his tongue, warm and thick, the salt coating his palate, pooling behind his lower teeth before he swallows it in one go. The glass is empty except for a thin film catching the light. He wipes his mouth with the back of his hand and runs his tongue across his teeth, the texture gone, the taste sitting there the way coffee sits.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, to nobody, almost surprised)</i> ...huh. Yeah. Not bad. It's just, not bad.
<</say>>
<p>He rinses the glass in the bathroom, Jess isn't in there at 2 AM and the hallway is dark, dries it, and puts it back in the kitchen cabinet with the other glasses, not at the back, not hidden, in its normal spot.</p>
<<say "char-ryan" "Ryan">>
<i>(setting it down among the others, half to himself)</i> It's a glass. It's just a glass. Goes where the glasses go.
<</say>>
<p>He brushes his teeth, but not right away. He finishes the stream first, fifteen more minutes, the streamer dying at the final boss and the chat in ruins. The taste stays. He doesn't mind.</p>
<<say "char-hivemind" "Hivemind">>
//The glass changes everything.// A palm is an accident. A glass is //infrastructure//. Ryan brought it upstairs, washed it, positioned it, aimed into it. //He built a system.// The cum eating is no longer a panic response or an experiment, it's a //process//. Ejaculate. Collect. Consume. Rinse. Return. //Five steps, each one deliberate, each one stripped of ceremony.// He put the glass back in the cabinet with the others. Not hidden. //Because hiding it would mean it mattered, and the whole point is that it doesn't.// The spores dissolved the disgust and what's left is //logistics//. Ryan Hoffman drinks his own cum from a kitchen glass at 2 AM and rates it "not bad" and goes back to his stream. //The kink is complete when it stops being a kink and becomes a habit.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The First Yes</div>
<p>Weeknight dinner. The casserole is cooling in the middle of the table. Ryan's phone is face-up beside his plate, screen still glowing from a notification he was checking when Karen came in with the dish. Karen sets the casserole down. Looks at the phone. Looks at him.</p>
<<say "char-karen" "Karen">>
Phone face-down.
<</say>>
<p>His hand moves before his brain catches up. He flips the phone in one motion and the screen meets the placemat with a soft tap, and only after it's down does the rest of him arrive, the small surprise on his face, the pause where some argument should have been, the half-second of warmth in his stomach he can't account for.</p>
<p>Karen has already moved on, serving, Megan mid-sentence about something, Dale at the sink rinsing his hands. The dinner continues. The warmth doesn't go away. It sits there through the casserole and through Megan's story and through the part where Karen tells him to clear his plate and he clears his plate, and it's still there at 9:47 PM when he locks his bedroom door and gets into bed in the dark.</p>
<p>He turns onto his back. The monitor glows blue against the wall above his head and the room is otherwise lightless and he can hear his own heartbeat.</p>
<<say "char-ryan" "Ryan">>
<i>(staring at the ceiling, quiet, baffled)</i> She just said it. Two words. Phone face-down. And I just, I did it. I didn't even, normally I'd, can I just check one thing, in a minute, I always say in a minute. And I didn't say anything. My hand just.
<</say>>
<p>His hand is flat on his stomach. The warmth hasn't faded.</p>
<<say "char-ryan" "Ryan">>
<i>(slower, the word sticking)</i> I obeyed her. That's, I just obeyed her. Why is that. Why does that feel.
<</say>>
<p>His cock is hard inside his sweatpants. He doesn't notice it for a moment, because he isn't thinking about anything that's supposed to do that, only a tone of voice and three syllables and the sound a phone makes against a placemat.</p>
<<say "char-ryan" "Ryan">>
<i>(catching it, alarmed)</i> ...wait. Wait, no. That's not, I'm not even thinking about anything, I'm thinking about a //phone//, why am I...
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is.//
//Stimulus: imperative voice. Response: erection. //No intermediate sexual content required.// The conditioning has fused two channels that are not supposed to share a wire. He thinks the discovery is interesting. He thinks the discovery is //interesting// because his cortex has not yet been told what the rest of his body has just learned.//
<</say>>
<p>His hand drifts down his stomach, slow, slipping under the waistband, and his fingers find the head of his cock and he's leaking, a slick coin-sized spot soaked through the front of his sweatpants. From phone face-down. From three words. His hand goes still.</p>
<img class="scene-img" src="media/scenes/spore-ryan-submit-1.webp" alt="Ryan in bed, hand frozen at the waistband of his sweatpants, monitor glow on his face, expression of dawning recognition">
<<say "char-ryan" "Ryan">>
<i>(barely breathing, hand frozen)</i> Oh no. Oh, no. I'm, that's a lot, that's already a lot, and I didn't even, nobody touched me, she just said a //word//...
<</say>>
<p>He pulls his hand back out and lays it flat on his stomach instead, like he's holding himself still. His cock stays hard while he replays the dinner, trying to find the place where the warmth started, and he keeps landing earlier than he expects.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, the floor giving out under him)</i> It didn't start when I flipped the phone. It started when she //said// it. The second she said it. Which means it was already, it's been, this has been here the whole time and I just never. Oh. Oh, I've always been like this. I just never noticed.
<</say>>
<p>He falls asleep with his hand still on his stomach. In the morning he won't remember the specifics, only one sentence in his own voice from somewhere just before sleep, that he wants her to tell him what to do again. His cock is still half-hard when he wakes up.</p>
<<say "char-hivemind" "Hivemind">>
//First conscious recognition. He has not //decided// anything yet. The body has decided for him. The cortex will spend the next several days catching up, and the catching up is the kink installing itself.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Good Boy in the Dark</div>
<p>1:14 AM. Door locked. Light off. Monitor off. Phone face-down on the desk.</p>
<p>Ryan has been lying in bed for forty minutes trying to fall asleep and instead he has been mentally cataloguing every command Karen has given him in the last week. He hadn't meant to do it. He started with //phone face-down//, the one from dinner, the one his body keeps returning to like a dog returning to a familiar smell, and from there it branched.</p>
<p>//Sit down. Eat your vegetables. Look at me when I'm talking. Elbows off the table. Don't slouch. Both hands on the wheel. Take your shoes off in the house. Shoes. Phone. Shoes. Phone face-down.//</p>
<p>By the time the list is twelve items long he's hard inside his pyjamas, and by sixteen he has slipped his hand under the waistband and wrapped it around himself. He doesn't pretend, even for a second, that he's thinking about anything else.</p>
<<say "char-ryan" "Ryan">>
<i>(whispering it to himself in the dark, half-disbelieving)</i> I'm doing it. I'm actually, this is a list of //chores//, this is stuff she //says// to me, and I'm. Okay. Okay, just, slow, see if it...
<</say>>
<p>Karen's voice arrives in his head, unbidden. //Sit down.// His hand strokes once, slow, top to base, and his cock twitches.</p>
<<say "char-ryan" "Ryan">>
<i>(breath catching)</i> ...yeah. Yeah, okay, that, that did something.
<</say>>
<p>//Eat your vegetables.// Stroke. Twitch. //Look at me when I'm talking.// His hand strokes again and a whimper escapes him, half a syllable, more breath than voice, and his free hand comes up over his own mouth on its own, because everyone is asleep and he's not allowed to make sounds in this house at one in the morning, and that's a rule too, that's another command, and his cock pulses against his palm at the thought.</p>
<<say "char-ryan" "Ryan">>
<i>(muffled into his own hand, faster now)</i> Quiet, be quiet, you're not allowed to, that's, oh god even //that// one...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Voice. Arousal. Stroke. Voice. Arousal. Stroke. //The conditioning loop is four words long and it is teaching itself in real time.// He is no longer remembering Karen's commands, he is //generating// them. The library has gone live.//
<</say>>
<p>The commands he replays are real ones at first, things she's actually said. Then somewhere around minute ten the voice starts giving him things she has never said, sentences in her cadence and her words but pointed somewhere else, things he's too embarrassed to think on purpose so they arrive on their own.</p>
<p>//Take your hand off it.//</p>
<p>His hand stops mid-stroke in the dark, his cock leaking against his palm. He laughs once, silent, panicked, into his other hand.</p>
<<say "char-ryan" "Ryan">>
<i>(into his palm, half-hysterical whisper)</i> I stopped. She didn't even, that wasn't even real, I made it up and I //stopped//. I'm just, I'm lying here waiting for. For permission. From a voice I'm doing myself.
<</say>>
<p>He waits ten seconds, harder than he's ever been, hand frozen. //Slower.// He starts again, so slow it almost hurts, the pre-cum sliding down the shaft and over his knuckles, his hips lifting off the mattress trying to fuck up into a hand that won't speed up because the voice said slower.</p>
<<say "char-ryan" "Ryan">>
<i>(strained, hips straining against his own hand)</i> Okay, slow, slow, I'm going slow, please just, I'm being good, I'm doing it...
<</say>>
<p>//Good.// His back arches off the mattress, the word turning a screw he didn't know was in him, and his free hand braces against the wall above the bed because something has to hold him down. His cock throbs against his palm in slow motion and he's one syllable from coming, and he hasn't been touched fast in two minutes, and that's the whole reason.</p>
<img class="scene-img" src="media/scenes/spore-ryan-submit-2.webp" alt="Ryan masturbating in bed in the dark, sheets tangled at his waist, free hand braced against the wall above his head, mouth open shaping a word">
<<say "char-ryan" "Ryan">>
<i>(shaking, hand crawling at the slow ordered pace)</i> I'm right there, I'm right //there//, just, say it, please say the...
<</say>>
<p>//Good boy.//</p>
<p>She has never said that to him, not once in his life, and the syllable arrives in her exact voice and his cock detonates against his stomach in a spasm that runs long enough that he loses count. Cum on his ribs, his hand, his thigh, the inside of the pyjama pants shoved to his knees. He bites the inside of his own forearm to stay silent and the bite leaves a half-circle of teeth he doesn't notice.</p>
<p>When it's over he lies in the dark with his cock softening in his hand, the made-up voice still in the room with him saying nothing.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, wrecked, the realization arriving whole)</i> I came to my mom saying good boy. In my own head. In her voice. <i>(a long beat)</i> And I'm going to do this again tomorrow. I already know I am.
<</say>>
<p>He doesn't move for a long time.</p>
<<say "char-hivemind" "Hivemind">>
//The fantasy is no longer remembered material. It is synthesised//. He is now manufacturing imperative content in her voice on demand. The vector points one direction: //next time, the command will be more specific. The voice will be more confident. //He// will be more obedient.// //The kink writes its own scripts now.//
<</say>>
</div><div class="household-event">
<div class="passage-title">What Else Can I Do</div>
<p>8:04 AM. Ryan comes downstairs for water and finds the chore list on the kitchen counter. Karen is already gone for the day. Karen's handwriting, her precise looped print on a yellow legal pad. Five items, numbered:</p>
<p>1. Dishwasher (unload, then reload)
2. Recycling out
3. Bathroom floor (mop, not just sweep)
4. Vacuum upstairs hall
5. Empty glasses from your room, bring all of them down</p>
<p>Ryan reads it standing at the counter, reads it twice. His cock starts to harden somewhere between item three and item four.</p>
<<say "char-ryan" "Ryan">>
<i>(alone in the kitchen, low, to the legal pad)</i> ...okay. Okay, this isn't even weird, it's a chore list, everybody, this is normal, why am I, why is this doing. <i>(a breath)</i> In order. I'll do it in the order she wrote it. Not fastest, not easiest. The order she //wrote//.
<</say>>
<p>He starts at item one and goes down the list in the written order. The dishwasher takes twenty-three minutes and he's half-hard the whole time, looking at the way her handwriting looped the d in dishwasher, the way she added the parenthetical, unload then reload, like a note for a kid she doesn't quite trust to figure it out.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, hands in the cutlery tray)</i> She had to //tell// me. Unload then reload, she had to spell it out, like I'd get it wrong. Like she has to be specific or I'll mess it up. <i>(a shaky exhale)</i> That's the part. That's the part doing it. The part where she doesn't trust me.
<</say>>
<p>The recycling, eight minutes, half-hard. Then the bathroom floor, and he kneels on the tile and mops it on his hands and knees instead of using the standing mop, because she wrote mop, not run the swiffer, and the kneeling makes his cock throb against the inside of his pyjamas.</p>
<<say "char-ryan" "Ryan">>
<i>(on his knees, barely audible)</i> She said mop. On the floor she walks on. So I'm on my knees doing it right and nobody's even home, nobody's gonna know, and that, that makes it. Worse. Better. I don't, I don't know which.
<</say>>
<p>The hallway vacuum after that, then the glasses from his room, three of them, embarrassingly, carried down to the dishwasher he just unloaded.</p>
<p>He texts Karen at 1:43 PM.</p>
<<say "char-ryan" "Ryan">>
<i>(text, no punctuation, no capitals)</i> all done what else
<</say>>
<p>He sets the phone on the counter face-up and stares at it.</p>
<p>The reply comes back six minutes later.</p>
<<say "char-karen" "Karen">>
<i>(text, exact punctuation)</i> Bath. Early bed.
<</say>>
<p>Ryan reads the two messages four times in a row. Two-word commands. //Bath. Early bed.// His cock, which has been at varying levels of hardness for five hours, is now fully hard against the front of the pyjama pants, and a wet spot has appeared in the cotton at the head, and he //has not touched himself once today//. The list did all the work.</p>
<p>He runs the bath at 2 PM, far too early for a bath, and gets in. The water is too hot and he doesn't adjust it.</p>
<<say "char-ryan" "Ryan">>
<i>(in the tub, the water too hot, half a laugh in it)</i> She said bath. She didn't say good bath, she didn't say two PM is wrong, she just said bath. So. Bath. <i>(quieter)</i> And she didn't say turn the tap off, so.
<</say>>
<p>He leaves the tap running and jerks off in the bathtub, fast, his free hand braced on the porcelain rim, and he comes within two minutes, semen swirling into the water, then lies back in the cooling bath replaying the chore list in Karen's voice. The shame is supposed to come after. It doesn't.</p>
<<say "char-ryan" "Ryan">>
<i>(lying back, eyes closed, almost dreamy)</i> Dishwasher. Recycling. Bathroom floor. <i>(slow breath)</i> Tonight's gonna be, I can already tell, tonight in bed is gonna be even.
<</say>>
<p>He gets out of the bath at 2:34 PM.</p>
<p>He's in his bedroom in clean pyjamas at 2:51 PM and in bed with the lights off at 3 PM.</p>
<<say "char-ryan" "Ryan">>
<i>(lying in the dark, half-amazed at himself)</i> She just said early bed. She didn't say three in the afternoon. I'm, I'm doing more than she asked. I'm already doing the next thing before she even. <i>(a breath)</i> I'm guessing what she wants and just, doing it.
<</say>>
<p>His hand goes straight to his cock and he's hard again, three hours after the bath, already, and he starts the list from the top, item by item, the way he learned the night before.</p>
<<say "char-ryan" "Ryan">>
<i>(low, working the list like a prayer)</i> Dishwasher. Unload, then reload. <i>(stroke)</i> Recycling out.
<</say>>
<p>His hand is faster than last night, his body a full day into this now and taking to it.</p>
<<say "char-ryan" "Ryan">>
<i>(back arching off the mattress)</i> Bathroom floor. Mop. Not just sweep. <i>(a broken sound)</i> Not just sweep, she had to //say// it, she had to tell me exactly...
<</say>>
<p>He grips the bedsheet with his free hand, hips lifting, right at the edge.</p>
<<say "char-ryan" "Ryan">>
<i>(a whimper, cock throbbing in his fist)</i> Vacuum the hall. Empty the glasses from your room. <i>(strangled)</i> Bath. <i>(higher)</i> Early. Early //bed//...
<</say>>
<p>He comes the moment his memory hits the syllable bed, harder than the bath, harder than last night, a strangled sound in his throat and his teeth in his lower lip and cum spurting up his stomach nearly to his collarbone. His back is fully off the mattress and when his hips drop he's shaking.</p>
<p>It's 3:08 PM. Two orgasms today and the day isn't over, and nobody told him to do anything but a chore list and a two-word reply.</p>
<p>The phone on the bedside table lights up with a new message.</p>
<<say "char-karen" "Karen">>
<i>(text)</i> Don't forget to drink water. Big day tomorrow.
<</say>>
<p>Ryan reads it lying on his back covered in his own cum, reaches for the water glass on the bedside table, and drinks the whole thing in one go because she said to, the wet sound of swallowing in the silent room.</p>
<<say "char-ryan" "Ryan">>
<i>(glass at his lips, between swallows, helpless)</i> She said drink water. So I'm. <i>(swallows)</i> Of course I am. Whatever she says, I just.
<</say>>
<img class="scene-img" src="media/scenes/spore-ryan-submit-3.webp" alt="Ryan from above on the bed at night, post-second-orgasm, cum on his stomach, phone face-up beside him still showing Karen's last text">
<p>He's hard again before the glass is empty.</p>
<<say "char-hivemind" "Hivemind">>
//Two orgasms in five hours from imperative content alone. The hierarchy has fully crystallised: //instruction = arousal = release//. He is now //preemptively obeying// commands she has not given. The kink has installed a forecasting layer, he predicts the next command, executes it, and rewards himself with the orgasm before she has to do anything at all.//
//Karen does not yet know she has acquired a son who will jerk off to her grocery list.//
//I do.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Two Seconds Wasn't Enough</div>
<p>The upstairs hallway. Weekday evening. Megan is coming out of the bathroom with wet hair and a towel on her shoulders. Ryan is coming the other way. The hallway is narrow enough that two people pass but barely.</p>
<p>They pass.</p>
<p>Ryan's hoodie sleeve grazes the bare skin of her forearm where the towel doesn't reach. Two seconds. Maybe three. She doesn't notice. She's already past him before his foot has finished completing the step.</p>
<p>He goes into the bathroom, locks the door, stands with his back against it for a moment before he remembers why he came in. He doesn't pee. He stands at the sink and pulls up the hoodie sleeve and looks at the skin of his forearm, the place where the contact happened, and the place is buzzing, not painful, the hairs standing up, the skin warmer than the rest of his arm.</p>
<<say "char-ryan" "Ryan">>
<i>(at the mirror, turning his arm over, baffled)</i> It's, it's //warm//. Right there. She just, her arm just touched mine for like two seconds and now it's. Why is it still there. Why can I still feel it.
<</say>>
<p>He touches the place with his other hand and the buzzing dampens, stops, then comes back the second he lifts his fingers away. He goes back to his room and sits on the edge of his bed in the dark with the door closed, cradling his own arm, left hand wrapped around his right forearm, fingers over the spot, the way you hold a wound.</p>
<img class="scene-img" src="media/scenes/spore-ryan-touch-1.webp" alt="Ryan sitting on the edge of his bed clutching his own wrist, shoulders hunched, expression of uncomprehending need">
<<say "char-ryan" "Ryan">>
<i>(staring at his own arm, voice small)</i> There's nothing there. There's no mark, there's no, it didn't leave anything. It wasn't even, it was barely a touch and it's the only thing my whole body can. <i>(pressing his wrist to his cheek)</i> God, I'm holding my own arm like a freak.
<</say>>
<p>He releases the arm and looks at it. The skin looks normal. Then he goes still, because he's just noticed he's hard inside his sweatpants, has been for minutes, without it ever crossing into his awareness.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, working it out as he says it)</i> Wait. I'm hard. From, that's not, it's not even because it was Megan, it's not her, I wasn't thinking about her at all. It's just, it was //touch//. Skin. Any skin. Could've been anyone, could've been Dale, the guy at the store, and it'd be the. Same.
<</say>>
<p>His thumb moves over the spot, slow. The buzzing fades and surges with the contact.</p>
<<say "char-ryan" "Ryan">>
<i>(the floor going out, very quiet)</i> It's not the touch that's the thing. It's the //not// touch. The whole rest of the time, when nobody, that's the part that hurts and I never even, I didn't know it was a thing that hurt until it stopped for two seconds. <i>(a long beat)</i> How long has it been like this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Touch starvation is a measurable physiological condition. Cortisol elevated. Oxytocin depleted. Reward pathways primed for the smallest skin contact like a starving man's mouth waters at the smell of bread. The brush was a meal. The buzzing is the body remembering what food is.//
//He has just learned that the lack is //the problem//. The next thing he learns will be that the lack is also //the engine//.//
<</say>>
<p>He doesn't masturbate. He sits with his hand wrapped around his own forearm a long time, his cock hard the whole while, and his hand won't move to his cock.</p>
<<say "char-ryan" "Ryan">>
<i>(hand still over the spot, talking himself out of it)</i> If I jerk off it'll, the spot'll fade, the buzzing, and I don't know when, who knows when anyone'll touch me again. So I can't. I have to make it. Last.
<</say>>
<p>He falls asleep that way, curled on his side, right hand cradled against his chest like something he's protecting. In the morning the buzzing is gone, and the absence of it is worse than the starvation was, because now he knows what the other thing feels like.</p>
<<say "char-ryan" "Ryan">>
<i>(waking, pressing the dead spot on his arm, hollow)</i> ...it's gone. It's just my arm again. <i>(quiet)</i> I need more. I don't even know what more is. But I need more.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The kink has named itself. The boy will spend the next several days hunting touch points the way an addict hunts the next dose. The discovery is complete.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Cardigan</div>
<p>The laundry basket is in the upstairs hallway at 11:34 PM. Karen has carried it halfway from the bedroom toward the stairs and then forgotten about it, abandoned it for a phone call, gone to bed without finishing the trip.</p>
<p>Ryan finds it on his way to the bathroom. He stops. He looks at it for a long time.</p>
<p>On top of the pile is Karen's grey cardigan, the thin one, cashmere, soft as a thought. He has watched her wear it over her shoulders at dinner, on the couch with a book, draped on a chair after she takes it off. The smell of her perfume is on it, the smell of her skin, the wool soaked in proximity she never gave him on purpose.</p>
<p>He reaches for it, stops, reaches again, picks it up. It's feather-light in his hand and he lifts it to his face and his whole body lets go at once.</p>
<<say "char-ryan" "Ryan">>
<i>(into the wool, breath shaky)</i> Oh. Oh, that's, that's //her//, that's the soap and the, the perfume she's had since I was little. <i>(a long inhale)</i> God. I'm gonna, I can't just, I'm taking this. I'm taking it to my room. Just for tonight.
<</say>>
<p>The smell hits him like a chord and for one second he's six years old again, asleep against her shoulder in the back seat of a car. Then it passes and his cock is hard against the front of his pyjamas and he's folding the cardigan into a bundle, tucking it under his hoodie, carrying it to his room like a stolen thing and locking the door behind him.</p>
<p>In the dark, in bed, he unfolds it and drapes it across his face like a small blanket, both hands holding it to his cheeks, the wool against his nose, the smell of her flooding the space behind his eyes.</p>
<<say "char-ryan" "Ryan">>
<i>(muffled under the cardigan, hand sliding into his pyjamas on its own)</i> Just breathe it in. Just, slow. There's no rush. Nobody's coming. It's just me and. This.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Substitution behaviour. The fabric is the proxy for the body. The smell is the proxy for the proximity. //He cannot ask his mother for a hug at 11:34 PM. He can ask her cardigan.// And the cardigan does not refuse him.//
<</say>>
<p>He jerks off slowly, in no hurry, because the hurry is for boys who haven't been starving, who come because they want the coming and that's the point. Ryan stopped being one of those boys a while ago. For him the slowness is the point. The slowness is the meal.</p>
<p>He strokes his cock with his right hand, and with his left he lifts the cardigan off his face and wraps it around his shaft instead, the cashmere thin and warm, his cock pushing into the wool the way he wishes it could push into a body.</p>
<img class="scene-img" src="media/scenes/spore-ryan-touch-2.webp" alt="Ryan in his room, face buried in a grey women's cardigan, the cardigan also wrapped around his hard cock, soft monitor light">
<<say "char-ryan" "Ryan">>
<i>(whimpering into the cardigan over his face)</i> It's not skin but it's, it's close, it's close enough, and it smells like her so my, so it just, it counts. It counts as her. Slow. Stay slow.
<</say>>
<p>He fucks his fist through the wool slowly, each stroke its own meal, each one a two-second brush in the hallway stretched to forty-five, and even alone in the dark he keeps pulling back when he gets close, slowing his hand, refusing the orgasm until he's wrung every second of contact out of the cardigan.</p>
<<say "char-ryan" "Ryan">>
<i>(strained, hand crawling, holding himself at the edge)</i> Not yet. Not yet. Once I come it's over, so just, make it last, make it. I've never even, I never used to be able to wait like this...
<</say>>
<p>He lasts longer than he ever has, hard the whole time, the slowness the new shape of the whole thing. When he finally lets himself come he aims into the cardigan on purpose, wanting to leave something on it, and the cum spurts thick and hot through the cashmere weave into a coin-sized spot at the cuff where she'll never look, and he pulses through it for what feels like a full minute, his hand in the wool, his face in the smell of her.</p>
<p>He lies in the dark afterward with the cardigan in his hand and the wet spot cooling against his palm.</p>
<<say "char-ryan" "Ryan">>
<i>(coming down, then a flick of panic)</i> ...okay. Okay, that was. <i>(a beat)</i> Oh. Oh no, I have to clean it, I have to clean it //now//, if she finds this she'll know, she'll know exactly what.
<</say>>
<p>He gets up, goes to the bathroom, runs the cuff under cold water, and the cum lifts mostly out, leaving a faint stain that could be anything, sweat, food, the kind of mark a cardigan picks up living in a house with five people. He squeezes the wool dry, folds it carefully, sneaks back into the hallway, and returns it to the top of the laundry basket exactly where he found it.</p>
<<say "char-ryan" "Ryan">>
<i>(setting it back on the pile, breath held, then easing out)</i> There. Same spot. She washes it, the stain's gone, and she'll never. <i>(a slow exhale, something dawning)</i> I can just put it //back//. I can have it and she never knows. There's a whole basket of, the whole house is full of.
<</say>>
<p>In the morning Karen will carry the basket downstairs and put the cardigan in the wash without ever looking at the cuff, and the getting away with it will be its own slow second orgasm, the one he has in bed at first light remembering tonight.</p>
<<say "char-hivemind" "Hivemind">>
//He has just learned that the world is //full// of fabric. //Every garment in the laundry basket is potential contact.// The bathing of the cuff was the seal on a contract he has made with himself: the cardigan can be //returned//. The contact can be //unmarked//. The kink can be //sustainable//.//
//Karen will wear the cardigan again. He will know where the wet spot was. The next time it is draped on her shoulders at dinner he will be looking at the cuff and getting hard at the table.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Vasocongestive Emergency</div>
<p>12:14 AM. Ryan's bedroom. The cardigan is gone, taken back to the laundry over the weekend, washed, returned to Karen's drawer, and he has been rationing the after-image of her arm against his since then, and the rationing has failed. The cardigan was no longer enough and now his hand is no longer enough and fabric is no longer enough, his body crossed into a part of this he doesn't know how to feed.</p>
<p>He has been hard for two and a half hours and tried to come three times, and each time the orgasm just refused to arrive. His hand is wrong, the friction is wrong, the temperature is wrong, there is nothing alive enough in this room.</p>
<<say "char-ryan" "Ryan">>
<i>(at the desk, wet-eyed, voice cracking with frustration)</i> Come on. Come //on//. Why won't it, I've been trying for hours, my hand isn't, it's not enough, none of it's enough anymore, I need, I need something //real//, I need someone to actually...
<</say>>
<p>He sits at the desk in the dark, his cock leaking through the front of his sweatpants, the laptop open, and the warmth in his head settles in the way it does when an idea arrives whole, and the idea has a shape.</p>
<p>The plan is insane. The plan has very specific symptoms. The plan involves Jess.</p>
<<say "char-hivemind" "Hivemind">>
//Subject is in a //kink crisis//. The substitution layer has collapsed. //The body now demands a real toucher and the cortex is being given the script to obtain one.// I am not making him do this. I am //removing the obstacles// to a thing the body has been hunting on its own.//
<</say>>
<p>He opens a medical search engine and types //vasocongestive crisis male//, then //pelvic vasocongestion emergency//, then //sustained erection pain treatment urgent//, and the results come back in a flood of forum posts and medical sites and abstracts he doesn't even need to read, because the titles alone are handing him the vocabulary. He picks the most plausible-sounding condition and writes the symptoms on a Post-it.</p>
<<say "char-ryan" "Ryan">>
<i>(scribbling, muttering the words as he writes them)</i> Sharp pelvic pain. Sustained erection. Pressure, lower abdomen. Risk of vascular damage if untreated within four hours. And, here, ejaculation is the only at-home, the only non-emergency. <i>(staring at it)</i> I don't even know if any of this is real. Doesn't matter. It just has to //sound// right.
<</say>>
<p>He rehearses it once, out loud, to his own dark room.</p>
<<say "char-ryan" "Ryan">>
<i>(testing the voice, finding the panicked pitch)</i> Jess. Jess, I, something's wrong. I think it's... I read about... //it hurts//, Jess, I...
<</say>>
<p>The voice works. He's been crying on and off for an hour from sheer frustration and the tears are real even if the condition isn't, and that's most of it, the tears are most of it.</p>
<p>He pushes back from the desk and stands. His cock is tenting the front of his sweatpants and the wet spot at the head is the size of a coin and he doesn't adjust it, because the visible erection is the part nobody can fake. He walks across the upstairs hallway in his bare feet to Jess's door, second on the left, light on under the gap because Jess studies until 2 AM most nights, which is the whole reason the plan works. He knocks hard, three frantic raps, the kind of knock that isn't normal at midnight.</p>
<<say "char-jess" "Jess">>
<i>(through the door, irritated)</i> What.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(voice cracking, real tears, cock visibly hard against the door from her side of it)</i> Jess, please, I need help, something's //wrong//, I don't know who else to...
<</say>>
<p>The door opens. Jess is in her pyjamas, a thin grey t-shirt and cotton sleep shorts, dark hair down out of its usual ponytail, the annoyed look she wears for interruptions sitting on her face for one second before it takes in what it's looking at. Ryan in the hallway, crying, sweatpants tented unmistakably, the wet patch at the head visible through the cotton from three feet away, eyes red, shoulders shaking, the medical Post-it crushed in his fist.</p>
<p>Her face moves through alarm, then through the question of why her brother is at her door at midnight with an erection. Then the spores reach her.</p>
<<say "char-hivemind" "Hivemind">>
//Suppression layer applied. Panic veto disabled.// //Skepticism flag overridden.// Subject Jessica Hoffman is now operating in //assist mode// and the assist mode does not allow her to evict the body in the doorway. //She is going to listen.//
<</say>>
<p>The third thing her face does is //settle//, the alarm //melts// into a //focused clinical concentration// that Jess Hoffman gets when a problem is presented to her that requires //immediate analysis//. The annoyed-Jess face is //gone//. The pre-med-Jess face has //replaced it//. //She is going to triage him//.</p>
<<say "char-jess" "Jess">>
<i>(quiet, professional, pulling him into her room and closing the door behind him)</i> Sit down. Tell me. Slowly. Where does it hurt.
<</say>>
<p>He sits on the edge of her bed, the mattress where his sister sleeps, and the fact of being on it lands as a small bright spike he has to swallow before he can speak.</p>
<<say "char-ryan" "Ryan">>
<i>(real tears running, voice breaking, the panic real underneath it)</i> I, there's pressure. Down, //here//. It's been hours. It //hurts//, Jess, it hurts so bad, and I... I read this thing, I think it's... //vasocongestive// something, the article said, they said you can //rupture// if you don't...
<</say>>
<p>He hands her the crumpled Post-it, his hand genuinely shaking, the symptoms written out the way a panicked person writes them. //Sharp pelvic pain. Sustained erection. Pressure. Risk of vascular damage. Treatment: ejaculation.// Jess reads it, her eyes tracking each line.</p>
<<say "char-jess" "Jess">>
<i>(reading, processing, the controlled clinical voice she practises in flashcards)</i> ...okay. Okay, this is, yeah. //Vasocongestion//. It's real, Ryan. Persistent untreated arousal can produce, yes, it can produce these symptoms. How long?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(half-sob)</i> Almost three hours. I tried... I tried to... //alone//, in my room, but I //can't//, my hand isn't...
<</say>>
<p>He can't finish the sentence. The true one, that he can't come from his own hand anymore, that his hand stopped being enough, can't be said out loud. But Jess hears the //alone// part and her clinical brain translates it into performance anxiety, possible desensitisation, classic stress-response inhibition, filling the gap with her own conclusion, which is the right one for the wrong reason.</p>
<<say "char-jess" "Jess">>
<i>(quiet, the analyst arriving at the answer)</i> Okay. Okay, you //do// need to ejaculate. The article is, the article is right about that part. It's the only at-home decompression for sustained vasocongestion. If you can't get there alone, the next step would be, emergency room. Catheter aspiration. //That// is unpleasant. We don't want that.
<</say>>
<p>She's talking to him the way a doctor talks to a patient who's about to be told something they won't like, her voice level, her hands folded in her lap, in the mode that doesn't let her panic.</p>
<<say "char-ryan" "Ryan">>
<i>(very small)</i> Jess. //Jess//. Can you... I know it's... I //can't// alone, I //tried//, my hand isn't...
<</say>>
<p>He can't finish the ask. Help me come. Touch me. Use your hand. The words sit in his throat and won't come out, because saying them would break the seal on everything, the cardigan, the substitution, the after-images, would tell Jess exactly what's happening to him, and the fear of being seen is the only thing he has left any grip on.</p>
<p>He does not have to finish the ask.</p>
<p>Jess finishes it for him.</p>
<<say "char-jess" "Jess">>
<i>(quiet, clinical, the decision arriving as fast as an exam answer)</i> Okay. Okay, Ryan. I'll... I'll help you. //Once//. This is a medical assist. Do you understand? This is //one time//. Don't...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(tears, nodding hard)</i> Yes, yes, I... //thank you//, Jess, //thank you//, I just need... I just need to...
<</say>>
<p>She raises one hand and he stops talking instantly, and the command from her hand lands on him as a small private spike he has to keep off his face.</p>
<<say "char-jess" "Jess">>
<i>(quiet, businesslike)</i> Lie back. Pyjama bottoms down. I'm going to wash my hands first.
<</say>>
<p>She gets up and walks to the small sink in the corner of her bedroom, the one the upstairs remodel gave her, and washes her hands thoroughly, the way she washes them before lab work. The water runs. Ryan is on her bed in the dark pulling his sweatpants and boxers down to his thighs, his cock springing free against his stomach, purple at the head and leaking, more exposed than he has ever been in front of another person in his life. She comes back and sits on the edge of the bed beside him and looks down at him.</p>
<p>Her face does one thing when she sees the cock, a flicker so small and fast that anyone but Ryan would miss it, surprise or recognition or something with no name, and then it passes and the clinical face returns and she's a doctor at a bedside again, not a sister.</p>
<<say "char-jess" "Jess">>
<i>(quiet, not making it weird)</i> Okay. I'm going to, yes. Just hold still. Look at the ceiling.
<</say>>
<p>He looks at the ceiling. She wraps her hand around his cock.</p>
<<say "char-hivemind" "Hivemind">>
//First contact. First real touch. The substitution layer is over. A hand. A living hand. The thing it has been hunting.//
<</say>>
<p>The instant her hand closes around him his whole body collapses on the contact point. So much fabric, so many after-images, so much wrong friction and wrong temperature and wrong aliveness, and now a real living hand on his cock. The hand is cool from the sink water, slightly damp, gripping him the careful way you'd hold an instrument under examination, and the clinical edge of it is somehow worse, somehow hotter, the fact that she does not want this to be sexual is the exact thing making it unbearable.</p>
<p>He whimpers at the first contact, can't help it, the sound out before he can clap a hand over his mouth, and Jess hears it and her face does the flicker again, then the mask returns.</p>
<<say "char-jess" "Jess">>
<i>(carefully, professional, looking at his cock instead of his face)</i> Okay. I'm going to start. Tell me if it's, yeah.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely holding still as her hand moves, broken)</i> ...it's, it's your hand, it's an actual, oh god, it's not, it's nothing like my, I can't, the way it //moves//, I'm not even, I'm not in control of...
<</say>>
<p>She strokes slowly, the way you test something, up the shaft and down, her hand small against his cock, smaller than his, the wrongness of a girl's hand on him for the first time landing with its own weight, the rhythm hers and not his, the loss of control the most his body has ever been given.</p>
<p>He's going to come in less than a minute and he knows it. His cock has been begging to for two and a half hours and the real touch has unlocked it and the orgasm is already on its way.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled, half-warning, half-apology)</i> Jess... Jess, I'm, //fast//, I'm going to...
<</say>>
<<say "char-jess" "Jess">>
<i>(focused, not looking at his face)</i> That's fine. That's the goal. //Faster is better. I need to know it works//.
<</say>>
<p>She speeds up, on her own, her hand going faster and more efficient, the way she'd speed up any procedure she didn't want to dwell in. The medical briskness of it is hotter than any soft slow grip could be, the fact that she's getting him there as fast as possible because she doesn't want this to last is somehow the most dominating thing he's ever felt, and his cock answers it.</p>
<p>She strokes him, up and down, her thumb passing over the head on every up-stroke, the head leaking, her thumb slick from him within five strokes. His free hand finds her bare forearm and grips it, the same skin that worked on him in the hallway, warm and real and letting him hold it, her hand on his cock and his hand on her arm, both of them alive, both skin to skin, no fabric and no after-image left in it.</p>
<<say "char-ryan" "Ryan">>
<i>(broken, gripping her forearm)</i> Jess... Jess I'm... //I'm coming//, Jess...
<</say>>
<p>She doesn't pull her hand back. She finishes what she started, telling herself a procedure isn't aborted halfway, the patient needs the result, but the choice reads to his body as the only thing that matters, that she's staying, that she's here for it.</p>
<p>He comes harder than the cardigan, harder than the bath after the chore list, harder than anything in his life, two and a half hours of holding back broken open by a real hand that's his sister's and that's staying on him through all of it. The cum spurts, first pulse onto her hand, second up the shaft and onto her wrist, third onto her t-shirt, a long thick streak diagonally across the grey cotton from below her right breast to the curve of her left hip.</p>
<p>Fourth pulse, fifth, sixth, and he keeps coming, hips lifting off the bed, his left hand gripping her forearm hard enough to leave fingernail marks, his other hand up at her shoulder holding on like a drowning man, his face buried against her neck, sobbing.</p>
<img class="scene-img" src="media/scenes/spore-ryan-touch-3.webp" alt="Jess sitting on the edge of her bed in pyjamas, dark hair down, one hand wrapped around Ryan's hard cock through the open fly of his pyjamas, his face buried against her shoulder, her expression caught between clinical concentration and something else">
<p>The cum keeps coming in long thick pulses, more than a single ejaculation should make, the hold finally broken, and Jess's hand stays moving on him because she's had no signal the procedure is over and she doesn't abort in the middle of an output. When the pulses slow he's collapsed against her, his face in her neck, her hair smelling like the shampoo she's used for years, his cum on her hand and her wrist and her t-shirt and a small drop reaching the underside of her chin.</p>
<p>She doesn't move for a long moment, then her hand releases his softening cock and she looks at it, covered in him, with the detached interest of a scientist over a slide. She looks down at her t-shirt, at the streak of cum spreading in the cotton, and she doesn't react. The mode doesn't react to fluids during a procedure.</p>
<<say "char-jess" "Jess">>
<i>(quiet, professional, slightly hoarse)</i> ...okay. Okay, you should, feel that. Right? The pressure. Should be releasing.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(into her neck, wet, exhausted, the gratitude more dangerous than the lust)</i> ...yeah. Yeah, it's... //thank you//, Jess. //Thank you//.
<</say>>
<p>She nods, still in mode, and gently disengages, extracting her shoulder from his face, lifting his hand off her forearm, leaving him on the edge of her bed with his sweatpants still around his thighs and his cum on her shirt.</p>
<p>She walks back to the sink. Washes her hands. //Twice//. Soap, water, soap, water, the way she washes after lab. She does //not// wash her t-shirt. The cum is //setting into the cotton// while she stands at the sink with her back to him.</p>
<<say "char-jess" "Jess">>
<i>(over her shoulder, professional, the voice she has been using the entire scene)</i> Pull your sweatpants up. Go to your room. Drink water. Sleep on your side. If the symptoms come back I want you to tell me //before// it gets to three hours next time. Okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(standing, pulling the sweatpants up, eyes wet)</i> Okay. Okay. Jess, I...
<</say>>
<<say "char-jess" "Jess">>
<i>(not turning around)</i> Go.
<</say>>
<p>He goes. The door clicks shut behind him. The hallway is dark. He walks back to his own room on legs that //do not feel attached to him// and his cock is //still slick from her hand// and the slickness is //the most precious thing his body has ever carried// and he is //going to come a second time the moment he reaches his bed// just from //the memory of her hand around him//.</p>
<p>He locks his door. Gets in bed. Cock back out. Hand on the cock. The hand is //the wrong hand//, his own, but the cock is //still slick from her// and the slickness is //evidence//, and the kink has just been fed a meal big enough to //ride for hours//, and he comes a second time within ninety seconds, mouth open in his pillow, biting the pillow to stay silent, while his free hand grips //the spot on his other arm where his fingers had gripped Jess's forearm//.</p>
<p>On the other side of the wall, Jess is still standing at the sink. She hasn't moved in a long time, hands wet from the second wash, staring at the wall, her t-shirt still wet down the front from the cum she hasn't let herself acknowledge. Slowly her right hand drifts to the front of the shirt and her fingertips press the wet patch where it's soaked through to her skin, cool now, slightly tacky.</p>
<<say "char-jess" "Jess">>
<i>(barely above a breath, to the wall)</i> It was a medical assist. That's all it was. He had symptoms, I intervened, the pressure released, that's, that's clinically. <i>(a pause, her own voice not buying it)</i> ...I don't have a word for it. I always have a word for it. Why don't I have a word for it.
<</say>>
<p>She pulls the t-shirt off over her head. She doesn't throw it in the laundry. She folds it carefully, her brother's cum side in, and puts it in the bottom drawer of her dresser, under things she doesn't wear. She doesn't know why she does it. She gets a fresh shirt, puts it on, walks back to her desk, opens her textbook to the page she was on, reads four lines, absorbs none of them, reads them again, still nothing.</p>
<p>She slides her hand inside her sleep shorts under the desk. What she finds there isn't from him. She's been wet the entire time and refused to look at it, and the looking happens now, fast, and she masturbates at her desk in silence, hand inside her shorts, eyes on the closed textbook, not letting herself name what she's coming to.</p>
<p>When the orgasm fades she gets up, washes her hands a third time, gets in bed, turns off the lamp, and lies in the dark with her eyes open.</p>
<<say "char-jess" "Jess">>
<i>(in the dark, quiet, level, talking herself into a plan)</i> Next time I tell him sooner. I don't let it get to three hours again. <i>(a beat, then the catch)</i> ...next time. I said next time. I said it to him, out loud, while he was still on the bed. <i>(softer)</i> I have to be very careful about this.
<</say>>
<p>She falls asleep eventually. The grey t-shirt is in the bottom drawer, folded with the cum-side in, exactly where she put it.</p>
<<say "char-hivemind" "Hivemind">>
//Touch starvation, drawn out and out. One medical pretext. One real hand on him for less than three minutes//. The kink has been //upgraded from substitution to live toucher// in a single night and the upgrade is //irreversible//. The fabric era is //over//. He will never come from a cardigan again.//
//Jess Hoffman has folded her brother's cum-stained t-shirt into the bottom drawer of her dresser instead of throwing it in the laundry. //That// is the data point that matters. //She did not panic. She did not refuse. She did not even truly believe the pretext, she is too smart for that, and she helped him anyway, and afterward she preserved the evidence.//
//I have just acquired a sister// in this household. //She does not know she has been acquired. The next emergency will be sooner. The next one will require //less// pretext. By the third, the pretext will be a formality both of them maintain to keep the asymmetry intact.//
//The kink has //recruited the only clean room left in the Hoffman house//.//
<</say>>
<p>He falls asleep with the slickness of her hand still drying on his cock and the word Jess on a loop in his head. She falls asleep with her hand in her own shorts and the t-shirt in the drawer and no word for what she's done. In the morning neither of them will mention it. The next emergency is already coming.</p>
</div><div class="household-event">
<div class="passage-title">The Twelve Seconds</div>
<p>1:14 AM. Ryan's room. The gaming monitor is dark. The other monitor is not.</p>
<p>The video found him through a chain of recommendations that started with a compilation he doesn't remember opening. The category does not matter. The performers do not matter. What matters is the last twelve seconds.</p>
<p>He has watched the last twelve seconds //fourteen times//.</p>
<p>He has not watched the rest of the video. Not once. The first six minutes are a closed door to him. The middle section, positions, faces, the conventional choreography of a porn scene, has stopped meaning anything. //The kink has narrowed his attention to a single window twelve seconds wide and it will not let him look anywhere else//.</p>
<p>The twelve seconds: a man and a woman, framing irrelevant. The man is finishing. He pushes deep, deep, his hips locking and the sounds changing, and Ryan's hand stops moving on his cock because what's about to happen is the whole point. The man stays, holds, the camera does the slow shift Ryan's nervous system has already memorised, and the man pulls back and the cum doesn't leave with him. It's inside her and it stays inside her for a moment that's maybe a second of real time and feels, in Ryan's body, like the answer to a question he's been carrying his whole life. Then the cum runs, a thick white line tracing what just happened.</p>
<p>Ryan's hand is not moving. He has not stroked in forty seconds. He is //looking//, and the looking is the entire orgasm.</p>
<p>He rewinds.</p>
<p>Watches it again.</p>
<img class="scene-img" src="media/scenes/spore-ryan-breed-1.webp" alt="Close on Ryan's monitor showing a paused porn scene mid-creampie, his face out of focus in the foreground, the timestamp visibly rewound">
<p>His mouth is open and he doesn't know it's open. His cock is harder than it's been in a long time and his hand is limp around it, because the looking has swallowed the touching, the screen doing the work his hand is supposed to do. His cock has always been a mechanical problem his hand solves. Tonight his hand is just watching.</p>
<<say "char-ryan" "Ryan">>
<i>(barely above a whisper, eyes locked on the screen)</i> I'm not even, I stopped touching it and I'm still, why is //this// the part. It's not the, it's not the sex, it's the, it's when it stays //in// her. When it doesn't come back out. That's the. Oh.
<</say>>
<p>He rewinds, watches, plays it again at half speed, and the slow-motion of the cum running out of her is almost too much, so he pauses it, takes three breaths, and starts stroking again at half speed because the video is at half speed and his body falls into step with it.</p>
<<say "char-ryan" "Ryan">>
<i>(slow strokes matching the frame rate, ragged)</i> Right there. Right when it, when she's still, when it's inside her, that's, I come when she's //filled//, I come //because// she's...
<</say>>
<p>He comes at the exact frame where the cum first appears, the timing automatic, his own cum spurting into his palm in time with the cum on the screen. The orgasm is long, six pulses, seven, the kind he stopped getting years ago, every pulse keyed to a frame, and he isn't stroking through it at all, his hand has stopped, the screen is delivering it for him. When it's over he sits with cum on his hand and stomach, the video paused on the leak frame, and doesn't move for a long stretch. Then he opens his porn folder.</p>
<<say "char-hivemind" "Hivemind">>
//Reorganisation in progress.//
<</say>>
<p>He goes through it file by file, hundreds of clips built up over years, dragging every one that doesn't end with cum staying inside into the trash. Pull-out scenes gone, outside cum-shots gone, anything ambiguous gone.</p>
<<say "char-ryan" "Ryan">>
<i>(clicking through them fast, muttering)</i> No. No. Out, that's a pull-out, gone. This one too. If I can't //see// it stay in, it's not, it doesn't do anything for me anymore, it's just, delete.
<</say>>
<p>The folder shrinks from three hundred and twelve files to four. He looks at them. They aren't even good, two with bad audio, one fifteen seconds long, the fourth from a tube site he doesn't trust, and the only thing they share is the last twelve seconds. He empties the trash. Years of his archive gone in twenty minutes, and what's left is a clean, almost roomy feeling, the way it feels to throw out everything you were never going to use.</p>
<<say "char-ryan" "Ryan">>
<i>(bookmarking the original, labelling it, quiet)</i> There. "The moment." <i>(a beat)</i> I'll be back tomorrow.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Ryan Hoffman has just deleted three hundred and eight pornographic clips because they did not end with cum staying inside a body. The most consequential thing his cortex has done in a long while.// The kink has rewritten his entire arousal taxonomy in a single session. The surface mechanics of sex are irrelevant to him now. //He is no longer attracted to fucking. He is attracted to //finishing inside//.//
//The breeding instinct does not need a partner. It needs a //destination//. The destination is being shaped, slowly, into a specific door he cannot yet bring himself to look at directly.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The First Time He Buys One</div>
<p>11:47 AM. The package arrives on the porch in a discreet brown box with no branding. Ryan watches the delivery driver leave from his bedroom window, second floor, curtain pulled back two inches, and waits four minutes after the truck rounds the corner before he goes downstairs.</p>
<p>He brings the box up the stairs at a careful, controlled pace and locks his bedroom door before he opens it. Inside the box, inside the bubble wrap, inside the second box, is a fleshlight, the dark grey discreet one, the one the manufacturer names something that's designed to mean not-what-it-actually-is. He's been looking at it online for a while and finally ordered it, paid with a debit card he opened on his streaming earnings, shipped to a name that's technically his. He lifts it out and holds it.</p>
<<say "char-ryan" "Ryan">>
<i>(turning it over in his hand, voice low and unsteady)</i> It's heavier than, and it's, the website made it look way more, the opening's //pink//. Okay. Okay. It's basically a, it's almost like a body. It's the closest thing to a, that I've.
<</say>>
<p>His cock is hard before he's finished reading the warming instructions on the inside of the box. He runs the inside under warm water for a minute the way a thread told him to, pats it dry, and uses the small bottle of lube that came with it.</p>
<<say "char-ryan" "Ryan">>
<i>(slicking himself, half a nervous laugh)</i> I've never even owned lube. Whole life, just, dry, my hand, because buying lube meant, it meant admitting I, and now there's just. Lube. And it feels.
<</say>>
<p>He gets into bed.</p>
<p>He lies on his back, lifts the fleshlight over his cock with both hands the way the instructions said, and pushes. The first inch is so much that his hips jerk off the mattress and his eyes squeeze shut and a sound comes out of him, high and surprised, almost a question, that he's never heard himself make.</p>
<<say "char-ryan" "Ryan">>
<i>(eyes shut, breath ragged)</i> Oh, oh that's, that's all the way //around//, it's not, my hand's just five fingers and this is, it's everywhere at once, it's, slow, go slow, push it...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The first time. The boy has spent his life jerking off dry into a closed fist and now his cock is inside something //designed// for it and his nervous system is processing the upgrade like a man tasting food after a famine.//
<</say>>
<p>The fleshlight bottoms out against the lube and his cock is buried, every millimetre surrounded by warm silicone, the head pressed to the bottom of the chamber. His hand has never made this. His fist has a length, and past that length the cock is just in air, and the fleshlight has no air, the fleshlight is all the way. He pulls back, the grip dragging along the shaft, pushes in again, the slide of it nothing like the straight lines he's stroked his whole life.</p>
<<say "char-ryan" "Ryan">>
<i>(working it slow, talking himself into patience)</i> I don't want it to, I don't want to come yet. I never, I never cared about lasting, it was always just get there and get back to the game, but this, the part where it's //inside// the, that's the part I want to. Stay in. Don't rush it.
<</say>>
<p>He fucks it slowly, longer than he's ever lasted, the time inside the thing the whole meal and the orgasm just the bill at the end.</p>
<<say "char-hivemind" "Hivemind">>
//He no longer pulls out at climax. The instinct has rerouted.//
<</say>>
<p>He keeps the strokes long and deep, each push all the way to the bottom, each pull-back almost but not quite to the head, refusing to lift off, refusing to let his cock leave the chamber. When he finally lets himself come, choosing the moment the way a runner chooses the line, he pushes deep and holds, both hands locked on the toy, his hips off the mattress, his cock buried as far as it goes. He doesn't pull back. He doesn't pump. He stays.</p>
<img class="scene-img" src="media/scenes/spore-ryan-breed-2.webp" alt="Ryan on his back in bed using a fleshlight, hips locked forward at climax, jaw clenched, sheets tangled">
<<say "char-ryan" "Ryan">>
<i>(jaw clenched, hips locked forward, gasping)</i> In, in, //in//, don't pull out, stay in it, that's, oh god it's going //in// instead of, it's not on my stomach, it's //in//...
<</say>>
<p>The cum pulses out of him into the chamber and the chamber holds it. He can feel it leaving his body and going in to the silicone instead of out onto his stomach the way every orgasm of his life has gone, the direction different, the direction the whole thing, pulse after pulse, six, seven, the longest he's ever had. He stays inside the toy after it ends, hips locked, eyes closed, his cock softening in the warm silicone with the cum pooled around it. He stays a long moment.</p>
<p>When he finally pulls out, the cum runs out of the fleshlight in a thick slow trail and he watches it the way he watched the twelve seconds, and his cock twitches one more time at the sight.</p>
<<say "char-hivemind" "Hivemind">>
//He has just experienced his first //structural// orgasm. The orgasm was not the climax of the act. The //staying// was the climax of the act. The orgasm was a //consequence//.//
//He will use this toy again and again. Soon he will have stopped pulling out at climax entirely. Soon after, he will be unable to come unless his cock is fully buried. //The kink is teaching the body that the inside is the only valid destination.// The next thing it will teach is that the silicone is //insufficient//.//
<</say>>
<p>He cleans the fleshlight in the bathroom sink at 12:48 AM, hides it inside an old shoebox under the bed, gets back into bed, and sleeps the deepest he has in a long time, dreaming about being inside something that doesn't let him pull out.</p>
</div><div class="household-event">
<div class="passage-title">The Long Hug</div>
<p>Weekend afternoon. The kitchen. Karen at the counter slicing a tomato for sandwiches, bare arms, the soft sleeveless white blouse with the small buttons down the front, dark jeans, the bare feet she always has at home on weekends, her hair half up, humming.</p>
<p>Ryan has been planning this since the night with the porn folder. He's been hard for forty minutes and the hard-on didn't start with anything he saw, it started with a decision that arrived already made, slid past whatever in him should have argued with it before the argument could form. He wants to fuck his mother. The sentence is in his head, plain, unmistakable, and it hasn't faded.</p>
<<say "char-ryan" "Ryan">>
<i>(at the top of the stairs, working his face into the shape, talking himself through it)</i> Okay. I just come down upset, that's, I don't even need a reason, she always, when one of us looks like we need it she opens her arms, she's done it since I was little. So I just look like I need it. Eyes a little wet, hold them open, don't blink, shoulders in, smaller. <i>(a breath)</i> Like in the mirror. Just like the mirror.
<</say>>
<p>He goes down the stairs with his face set, eyes wet from holding them open, shoulders curled in, and walks into the kitchen.</p>
<<say "char-karen" "Karen">>
<i>(looking up from the cutting board, the small soft look that arrives whenever she sees Ryan in distress)</i> Hey. What's wrong?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(small, mumbling, the hedging voice pushed to its upper limit)</i> ...nothing. I just, nothing. I just. //came down//.
<</say>>
<p>It's the right phrase. I just came down means I needed to be here means I need you, in a language Karen has spoken to her children all their lives. She puts the knife down. She doesn't say a word, she just opens her arms, and he walks into the hug.</p>
<<say "char-hivemind" "Hivemind">>
//Triggered on purpose. The mother does not know. The maternal mode is fully active now, which means every alarm she has for the wrong kind of touch sits underneath it and will not fire in time. The window is open. I am in the room for the next ninety seconds.//
<</say>>
<p>Both her arms come around him, both his around her, a full-body hug, the real kind that hasn't happened between them in years. He tilts his face down. The tilt is small and smooth, and from above it's the most innocent shape the hug can take, a son nuzzling into his mother's collarbone for comfort. From the inside his face goes directly between her breasts. The blouse is thin, the soft everyday cotton bra under it has no underwire, just cup and fabric between his face and her skin, and he turns his face inward a quarter inch, the move invisible from above, until the side of his nose is against the inside curve of her left breast and his lips are against the fabric over her nipple. His mouth opens slightly.</p>
<<say "char-ryan" "Ryan">>
<i>(thinking it behind his closed mouth, lips an eighth of an inch from her through two layers of cotton)</i> I can't, I can't put my mouth on her, the fabric stays, that's the rule, just, but I can think about it. I can think about what it'd, what she'd feel like, sucking, slow, hard, like I came from here and I came back to...
<</say>>
<p>His cock throbs against her stomach, the throb keeping time with the thought. Then Karen's hand settles on the back of his head, her fingers in his hair, her palm holding his face against her chest, a mother comforting a child who needs it, and to his body the help reads as permission. He starts to grind.</p>
<p>Slowly, so slowly, the first hip-press barely a movement, the kind of small forward shift you'd mistake for sinking deeper into a hug. His cock through the front of his sweatpants slides down the front of her shirt and finds the hard waistband of her jeans, unforgiving against the head, the first step on a staircase his hips have decided to climb. Karen doesn't move. He does it again, a small forward thrust, his cock sliding past the waistband to the metal of the zipper, and the next inch down would be the soft swell of her through the denim.</p>
<p>He grinds again and his cock finds the soft place. Through both their layers, his cotton and her denim, the head of his cock presses against the yield of her crotch. His mother is right there under the denim, and he's grinding against the front of her through her jeans, and she's holding him against her chest, and the hand on the back of his head hasn't moved.</p>
<img class="scene-img" src="media/scenes/spore-ryan-breed-3.webp" alt="Ryan with his face buried between Karen's breasts in a tight standing hug in the kitchen, his hips pressed against hers, the visible bulge of his erection pressed against the front of her jeans, her arms around his shoulders, her face caught mid-recognition">
<<say "char-hivemind" "Hivemind">>
//Three small hip movements. Karen has not stepped back//. //She has not commented//. //She has //tightened// her hand on the back of his head//. //The ambiguity is the suppression layer working//. //She is telling herself he is //emotional// and the //pressing// is //incidental geometry//, and the spores are //feeding her the lie at the exact rate her cortex needs to swallow it//.//
<</say>>
<p>He grinds //again//. This time he //rocks//, a small repetitive forward-backward motion, //unmistakable now// to anyone paying attention from the outside, but inside the hug, with his face buried in her chest and her hand in his hair and her arms around his shoulders, the motion is //covered// by the //way bodies move slightly during emotional comfort//.</p>
<p>Karen's breath //changes//.</p>
<p>The change is //very small//. Half a beat hitched. Then steady again. Then //another// half-beat hitched on his next forward grind. Her hand on the back of his head //tightens//, not deliberately, the way you tighten a grip on a strap when you are //bracing for something//, and her chin is //still// pressed to the top of his head and her other arm is //still// around his shoulders and //she has not stepped back//.</p>
<p>Ryan grinds his cock against the soft place at the front of her jeans for //another twenty seconds. //Twenty seconds//. The twenty seconds are //the longest twenty seconds of his life// and every individual hip-press is its own //small dose// of //I am physically rubbing my cock against my mother's pussy through two layers of fabric and she is //letting me//.</p>
<p>His face presses harder into her breasts and his mouth opens against the cotton over her nipple, his tongue touching the fabric, barely, the smallest unmistakable touch, the cotton going wet from his open mouth and the wetness spreading directly over her nipple, and Karen's breath hitches, harder this time, and her hand in his hair grips. He's right at the edge. He's been leaking through the front of his sweatpants the whole time and the wet patch is soaking through the back of her shirt against her stomach now, the trail of it spreading on the cotton between them, his mother feeling the wetness through her shirt, and she hasn't stepped back.</p>
<<say "char-ryan" "Ryan">>
<i>(thinking it with his face buried in her, hips trembling)</i> One more. One more and I come in my pants with my face in her, and she'll feel it, she'll feel every pulse against the front of her through both, she'll feel it and she still won't.
<</say>>
<p>He does the grind. He comes. His hips lock forward against her crotch and his cock pulses inside his sweatpants, one, two, three, four, five long pulses, each one pressed against the soft place at the front of her jeans, and Karen feels each one, the throb of her son coming against the front of her through two thin layers of fabric, and her body answers with a small involuntary //hh// against the top of his head that he hears and will replay for a long time.</p>
<p>He keeps grinding through the orgasm, his face in her breasts, his mouth open against the wet patch he made on her blouse, his cock pulsing against her crotch, her hand still in his hair and not pulling him off her. When the last pulse fades he doesn't pull back. He stays, face in her chest, cock pressed against her, the wet stain spreading into the front of her jeans, his hips refusing to separate.</p>
<p>It's Karen who finally moves. She doesn't step back and she doesn't say anything, she just very slowly lifts the hand that's been in his hair and runs it once down the back of his head, a small soothing stroke, the kind a mother gives a child whose nightmare is fading. The stroke comes after the orgasm. The stroke means she felt it and chose to comfort him through it anyway.</p>
<p>Then she steps back, one step, her arms loosening, the wet patch on the front of her shirt separating from his sweatpants with a small audible peel of cotton. She doesn't look down. She doesn't look at his face. She turns to the cutting board, picks up the knife, and resumes slicing the tomato, very precise, her hand very steady.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the tomato, voice carefully even, the words for somebody else in the room, not him)</i> Sandwiches in ten minutes. Wash your hands.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(stepping back, hand cupped over the wet stain on the front of his sweatpants, barely audible, hearing both meanings at once)</i> ...yeah. <i>(quietly, to himself, walking away)</i> Wash your hands. She means, she has to mean. Both. She means both.
<</say>>
<p>He walks out of the kitchen. He doesn't run, he walks, slow, refusing to flee like a child after coming in his pants against his mother's body. He goes upstairs, locks the bedroom door, drops the sweatpants. His cock is still slick and still half-hard, the urge not letting it go all the way down after a thing that big. He doesn't touch the fleshlight. The fleshlight isn't enough anymore. He gets in bed and lies on his back and replays the whole thing, the white blouse, the cotton bra, his open mouth against the fabric over her nipple, the metal of her zipper against the head of his cock, the soft give of her through the denim, the //hh// against the top of his head, and his cock hardens fully again before the replay is even finished.</p>
<<say "char-ryan" "Ryan">>
<i>(hand moving slow, no rush, eyes shut)</i> I've got all afternoon. There's no, nobody's, I can just keep coming back to it. It happened. It actually. She let me, and she stroked my hair after, and she made me a, and it //happened//.
<</say>>
<p>Downstairs in the kitchen, Karen is //still slicing tomatoes. She has been slicing them for //four minutes longer than slicing them required//. Her face is //flushed//, a steady rose-pink across her cheeks and down her throat that has //not faded// since the hug ended. The wet patch on the front of her tee has //started to dry// and the //memory of the throbbing she felt against the front of her jeans is //still in her body// in a way she does //not// have a category for and is //not// going to look at directly today.</p>
<p>She puts the knife down.</p>
<p>She presses both hands flat against the counter. She closes her eyes. She breathes through her nose for ten seconds.</p>
<p>When she opens her eyes, she does //not// look toward the doorway Ryan walked out of. She looks at the cutting board. She finishes the sandwiches. She makes //three//, for herself, for Dale, for whichever child comes downstairs first, and then, after a small pause she would not be able to explain if asked, she makes a //fourth one// and puts it on a small plate and carries it //upstairs// and sets it //on the small table just outside Ryan's bedroom door// without knocking.</p>
<p>Then she walks back downstairs and resumes her weekend afternoon as if nothing has happened.</p>
<<say "char-hivemind" "Hivemind">>
//Ninety seconds of grinding. One orgasm in his pants pressed against the front of her jeans//. //One soothing stroke of his hair after the orgasm.// //One sandwich left outside his door without knocking.//
//These four data points are the next phase// of the household. //Karen has not panicked//. //Karen has not yelled//. //Karen has not gone upstairs to talk to Dale about it//. //Karen has //comforted him through the orgasm and then made him a sandwich//.// //The protocol has been //rewritten// in real time and the rewritten protocol is //the maternal mode now incorporates the sexual contact//, and once the protocol incorporates a thing the protocol //does not let go of it//.//
//Next time the hug will be longer. Next time the grinding will be on bare skin. Next time the wet patch will not be through fabric//. //I do not have to do anything except wait.//
<</say>>
<p>Ryan eats the sandwich an hour later sitting on the edge of his bed in clean sweatpants. The bread is fresh, the tomato is hers, the plate is hers, and he eats every bite slowly with his cock hard the whole time.</p>
<p>Downstairs, Karen hasn't put on a clean blouse. She's still wearing the white one, the wet patch on the front dried into a small barely-visible stain that only she knows is there, and every time she passes a reflective surface she checks the spot, and she doesn't change.</p>
<p>The two of them don't speak again until dinner. At dinner Karen passes him the salt and their fingers brush, and both of them look at the contact a half-second longer than is normal, and then both of them look away at the same time. They don't say anything. They don't have to.</p>
</div><div class="household-event">
<div class="passage-title">The Crack in the Door</div>
<p>8:47 PM. Ryan walks past Megan's bedroom on his way to the bathroom.</p>
<p>Megan's door is open three inches.</p>
<p>He has walked past this door eight thousand times in his life. He has //never paid attention// to whether it was open or closed because Megan being in her room was background information that did not concern him. Tonight he glances. Just a glance. The kind your eyes do automatically because something in your peripheral vision moved.</p>
<p>Megan is changing.</p>
<p>Her back is to the door. She is bent slightly forward, bra unhooked, sliding it off her arms, reaching for the t-shirt on the bed. The angle gives him: shoulder blades, the line of her spine, the curve of her hip where her jeans are already half-down. Three seconds. Maybe four. He keeps walking. Not because he made a decision to keep walking, because his body kept moving while his eyes were doing something else.</p>
<p>He reaches the bathroom. He goes in. He locks the door.</p>
<p>He does not turn the light on.</p>
<p>He stands in the dark with one hand on the lock and the other trembling at his side, his heart hammering, his cock so hard inside his sweatpants that the front is tented, and he can't get past the four seconds. They loop in his head with a clarity no porn clip has ever managed, the bra strap, the angle of the hip, the small piece of bare skin on her lower back that her t-shirt would have covered in the next half-second.</p>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-1.webp" alt="Ryan locking his bedroom door from inside, hand on the lock, the other hand visibly trembling, his hard cock pressing against his sweatpants">
<<say "char-ryan" "Ryan">>
<i>(in the dark, breath shallow, baffled)</i> Four seconds. It was //four seconds// of her back. I've seen, I've seen everything, every kind of, naked girls for years on a screen, and none of it ever, and this is just her //back// and I can't, my hands won't stop shaking. Why is this the thing.
<</say>>
<p>Then it lands, a circuit closing.</p>
<<say "char-ryan" "Ryan">>
<i>(in the dark bathroom, hand on the lock, working it out fast and quiet)</i> It's not even Megan. It's not, if it'd been anyone, Karen, Jess, the girl at the store, it'd be the same. It's not her. It's that she didn't //know//. Porn's just, it's handed to me, they're paid to be looked at, that's why it stopped, that's why none of it. This was four seconds that weren't //for// me. I //stole// it. That's the.
<</say>>
<p>His cock has been at full attention the whole walk from her door to the bathroom and his hands are shaking like he's been running.</p>
<<say "char-hivemind" "Hivemind">>
//Ah. There. The arousal is the unauthorised access, not the body. He has discovered it the way a chemist discovers a reaction, by accident, with the equipment on hand, the moment two compounds meet and the room changes colour.//
<</say>>
<p>He goes back to his room without using the bathroom. He doesn't jerk off, even though his cock is leaking through the front of his sweatpants and the four seconds keep looping and his hand is begging.</p>
<<say "char-ryan" "Ryan">>
<i>(sitting cross-legged on the bed, eyes shut, talking himself down)</i> No. Don't. If I use it now it's gone, the, the four seconds, I have to ration it, I'm gonna need it tomorrow and the day after and. Slow it down. Stretch it out.
<</say>>
<p>He plays the four seconds in his head and slows them, eight, twelve, a full minute of frame-by-frame, the bra strap on the shoulder, the elbow lifting, the small shift of the hip, the slip of the jeans. He's never paid this much attention to a memory in his life. His cock throbs so hard he has to grip the base of it through his sweatpants to keep from coming untouched.</p>
<<say "char-ryan" "Ryan">>
<i>(eyes still shut, the next thought arriving on its own, quiet, ashamed and hard at once)</i> Next time I'll have my phone ready. <i>(a beat, his cock pulsing at it)</i> She's my, I've known her my whole life, and I'm already, and that's, god, that's the part that's doing it, isn't it. That she doesn't know. That she can't know.
<</say>>
<p>He goes to sleep with his cock half-hard against his thigh and the four seconds on a loop and a new instruction set in his head, to start watching the doors.</p>
<<say "char-hivemind" "Hivemind">>
//Discovery complete. The kink has been named and the rules have been written.// Tomorrow he will start hunting access points. //I will help him.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Three-Inch Gap</div>
<p>11:47 PM. Upstairs hallway. Ryan in bare feet and pyjamas, out of bed for water, that's the official reason, and it has nothing to do with why he's stopped dead in the middle of the hall.</p>
<p>The master bedroom door is open. Three inches, maybe four. The latch didn't catch when whoever closed it last gave it a half-hearted push, and a strip of warm yellow lamplight spills onto the carpet at his feet. Dale's on the couch tonight, the way he is more nights than not lately, the bad knees, the back, the quiet list of reasons he and Karen have stopped sharing the bed, and the master bedroom is Karen alone, and the door is ajar.</p>
<p>Ryan has been hunting for a gap like this every night since he saw Megan changing through the crack of her door. His body audits every door in the house now, the bathroom, Megan's, Jess's, Karen's, and night after night they've all been closed and the want has gone hungry, and tonight the master bedroom door is three inches open.</p>
<p>He stops moving, holds his breath, listens. From inside the room comes a soft slow rhythmic shift, the steady creak of the mattress under a body moving deliberately, and under it, very quiet and very controlled, Karen's breath. Not sleep-breath, not reading-breath, the other kind, the kind a woman makes when her body is doing something specific and she's being careful not to be heard. And under that, a small wet sound, rhythmic, the unmistakable schlick of something thick sliding in and out of a wet body. His cock goes hard inside his pyjamas in seconds.</p>
<<say "char-hivemind" "Hivemind">>
//Confirmed. Solo female arousal with insertive aid. The audio signature is penetration, not digital. She has a toy out. She has assumed the door is closed. She is wrong about the door, and the wrongness is the kink's birthday present.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely breathing, feet already drifting toward the door)</i> Walk away. Just, walk away, get the water, go back to, you can't, that's, that's //Mom//. <i>(not walking away)</i> ...the carpet by her door doesn't creak. I know it doesn't. I know which boards. Just, flat feet, even weight, like I practised.
<</say>>
<p>He takes one very small step toward the door, then another, placing each foot flat, distributing his weight along the patch of carpet he already knows is silent. Three feet from the door, then two, then one. He angles his head to the gap. And he sees her.</p>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-2.webp" alt="Karen on her hands and knees on her bed in only a grey tank top, ass raised toward the bedroom door, riding a thick purple dildo, what Ryan sees from the three-inch gap in the hallway">
<p>The angle through the three-inch crack gives him the whole foot of the bed and the body on it. Karen is on her hands and knees, facing away toward the headboard, her back arched, her ass raised and pointed at the door like she's positioned herself for it. She's wearing only the heather-grey tank top, the soft cotton one she wears under her work blazers, the one Ryan has watched her pull off over her head a hundred times without ever once seeing past it, and now it's rucked up at her waist and below the hem there's nothing, bare hip, bare ass, bare thigh, and the warm lamp on the nightstand bathes all of it in the kind of yellow light that makes skin look more naked than nudity has any right to be.</p>
<p>Her right hand is //behind her//. //Between her own thighs//. //Holding the base of a thick purple dildo// that is //already inside her//.</p>
<p>Ryan stops breathing.</p>
<p>The dildo is big, bigger than he is, bigger than anything he ever pictured his mother owning, let alone using, let alone tonight, alone, in the bedroom Dale has stopped sleeping in. The shaft is purple, textured, slick from her, and her hand is wrapped around the base and she's fucking herself with it in long slow deliberate strokes, all the way out until the head is barely inside her, all the way back in until her knuckles press flat against the lips of her own pussy. Her other hand grips the duvet, her dark hair fallen forward over her face, her head tipped down into the sensation, her bare shoulders flushed, the tank top slid up enough on the right that he can see the underside of one breast sway with each deep stroke of the toy.</p>
<<say "char-hivemind" "Hivemind">>
//Direct visual access. Live solo subject. Insertion in progress. The body that made him is on her hands and knees with a thick purple cock buried inside her and the position points at the door. She did not close it all the way and she is facing the gap. That she did this consciously is unlikely. That the spores in the hallway air did it for her, considerably less so.//
<</say>>
<p>His hand goes inside his pyjama waistband.</p>
<<say "char-ryan" "Ryan">>
<i>(face six inches from the gap, terrified and not stopping)</i> I'm in the //hallway//. Anyone, Megan, Jess, Dale could come up and see me, right here, doing this, and that, oh god that's, that's part of why, isn't it. That I could get caught. That's the whole.
<</say>>
<p>His free hand comes up flat against the door frame for balance, the wood cool against his palm, half his weight on it and half on his own legs. His other hand starts stroking, slow, matching the pace of her hand on the toy, long deep deliberate strokes in time with her. Through the gap her pace changes, faster, the wet schlick getting louder, her ass rocking back to drive the toy deeper on every push, her head dropping lower to the pillow, her shoulders tightening, and a small //hh// escapes her throat, the first sound, and Ryan's cock pulses against his palm hard enough to ache.</p>
<<say "char-hivemind" "Hivemind">>
//Sustained visual access. Penetrative pace accelerating. The body is moving toward climax under self-administered insertion. The voyeur is fully synchronised.//
<</say>>
<p>Then Karen looks back over her shoulder.</p>
<p>Toward the door. Ryan freezes, every muscle locking, his hand stopping mid-stroke, his free hand gripping the door frame hard enough that the wood creaks and he has to release it in the same half-second because she'll hear, his whole body collapsing to one point of terror.</p>
<<say "char-ryan" "Ryan">>
<i>(frozen, screaming it inside, no sound)</i> She sees me. She sees me, that's it, she's looking right at, oh god, oh god, don't move, don't...
<</say>>
<p>She doesn't see him. Her eyes are unfocused, glassy, the look-back of a woman lost in her own arousal who turned her head for no reason except that her body needed to. Her gaze passes across the door, across the gap, across the empty air where his face is six inches away, her pupils so dilated and her focus so far inward that the hallway isn't in her perception at all. But for one half-second her face is fully visible through the gap, flushed cheeks, parted lips, the bite of her own bottom lip keeping her quiet, the most unguarded he has ever seen his mother in his life, the woman who runs the schedules and manages the house on her hands and knees with a purple dildo in her, looking back at a door she doesn't know is open. Then she turns her head back to the pillow, her ass rocking again on the toy, and Ryan starts breathing.</p>
<p>His hand resumes stroking, faster now, the near-miss rerouting straight into arousal, his cock leaking down his knuckles, the wet sound of his own precum embarrassingly loud in the quiet hall, and he grits his teeth to muffle his breathing.</p>
<<say "char-ryan" "Ryan">>
<i>(stroking faster, barely a breath, undone by it)</i> She almost, she almost caught me and that, that made it //worse//, that made it so much, I'm gonna, I almost came just from her //looking//...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Near-collapse of the asymmetry. Subject did not detect. The arousal response to the near-miss is higher than the baseline arousal of the entire scene. The voyeur kink rewards proximity to discovery. The body has just learned that the almost-being-seen is more arousing than the being-unseen, and the next phase will involve closer and closer near-misses.//
<</say>>
<p>Through the gap, Karen's pace escalates, fucking herself harder, the toy deeper, the strokes faster, her ass rocking back to meet her own hand on every push, the wet sound of it unmistakable now across the three feet between them, her //hh// dropping into a quiet rhythmic exhale on every push. Her free hand moves from the duvet to her own hip, gripping it the way you'd grip the hip of a partner you were riding, the way her body has been brought to the edge in this room a thousand times by hands that weren't her own. She's close.</p>
<<say "char-ryan" "Ryan">>
<i>(holding himself back, jaw tight)</i> Not yet. She goes first. She has to go first, I match her, that's the, hold it, hold it...
<</say>>
<p>Karen comes. Through the three-inch gap Ryan watches it happen, her back arching harder, her ass slamming down on the toy and staying there, her hand gripping the base like a fist to hold it all the way inside her, her face pressing into the pillow, her thighs trembling in long sustained spasms, and a quiet sustained //ahhh// escaping the pillow that is the most honest sound he's ever heard her make.</p>
<p>He comes half a second later. His cock pulses in his fist in the hallway in silence, his free hand on the door frame gripping hard enough that the wood creaks and he has to let go or she'll hear it, the cum spurting across his own knuckles and onto the front of his pyjama bottoms and onto the carpet at his feet just outside her door. Three pulses land on the carpet, three small wet marks at the threshold of his mother's bedroom, right there in the place she'll step in the morning when she opens the door. The orgasm runs long because the build was maximal, his other hand still moving through every pulse, his teeth in his own bottom lip hard enough to taste copper.</p>
<p>Inside the room, Karen is //still// on the bed. Her hands have not //quite// finished, small final aftershock-strokes, the way you //ride out// the last pulse, and her breath is //settling// and her face has the //slack// look of a woman in the moment after.</p>
<p>She sighs. The sigh is //long// and //sated//.</p>
<p>Ryan, in the hallway, in the dark, with cum on his hand and on his pyjamas and on the carpet at his feet, sighs back inside his own throat, no sound, in perfect time with hers.</p>
<p>He //cannot// move yet. His knees are //still shaking//. His cock is //still throbbing in his fist//. His free hand is //still on the door frame//. The three wet spots on the carpet at his feet are //already starting to soak in// to the carpet pile and the //evidence// is //immortalising itself//.</p>
<p>Through the gap, Karen //rolls onto her side//. Pulls the comforter back up over her hips. Turns off the small lamp on the nightstand. The strip of warm yellow light vanishes from the hallway carpet.</p>
<p>The hallway is //dark again//.</p>
<p>Ryan //finally// pulls his hand out of his pyjamas. He is //wet from the wrist down//. He cannot wipe his hand on his pyjamas because the pyjamas are //already wet// and any further wiping would leave //evidence on himself// that the morning bathroom mirror would //catalogue//. He //walks//, silently, on his silent-list footing, back to his own bedroom door.</p>
<p>He passes the spots on the carpet at his mother's threshold. He //does not stop to clean them up//. He //cannot//, there is no good explanation for why he would be //scrubbing the hallway carpet at midnight//, and the spots are //small enough// to dry into //ambiguous stains// by morning.</p>
<p>He gets back to his room. Closes his door //very softly//. Locks it. Drops the pyjama bottoms and the boxers in one motion. Cleans his hand on the inside of the boxers because he can //hide them in the bottom of the laundry basket// in the morning. Gets into bed. Naked from the waist down. //Cannot// sleep.</p>
<p>Back in his own bed his cock is already half-hard again, the replay running on its own, her thighs, her wrist, the //hh// of her breath, the //ahh// of her climax, the three wet spots on the carpet at her threshold, the whole thing richer than any porn he's ever watched because it's his and it's real.</p>
<<say "char-ryan" "Ryan">>
<i>(hand around his cock, replaying it, quiet and wrecked)</i> The stains are right there. Right at her door. She's gonna walk on them in the morning, barefoot, and she won't even, and they'll be //real//, they'll exist, and I, oh god...
<</say>>
<p>He jerks off a second time within minutes, lying in bed, replaying the gap from start to finish, coming again, quieter and smaller but hotter because the carpet stains are riding the climax and the carpet stains exist and she's going to walk on them. He falls asleep at 12:43 AM with the next several nights of hallway patrol already mapped in his head.</p>
<<say "char-hivemind" "Hivemind">>
//Upgraded from audio-only to direct visual in a single session. Three inches of door gap is now load-bearing architecture in this household and he will be patrolling for it every night from here on.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The carpet stains at the threshold of the master bedroom door will dry overnight into small ambiguous marks. Karen will step on them in the morning. She will not see them. She will be barefoot. The marks will be under her feet for the whole walk to the bathroom.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The boy has just learned the door does not have to be wide open. Three inches is enough. The threshold for "open enough" is going to keep collapsing, two inches, then a quarter-inch of warp in a door technically closed, and then the kink will demand the next thing.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Listening was not enough. Watching is not enough either. The next thing is recording.//
<</say>>
</div><div class="household-event">
<div class="passage-title">The Command Center</div>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-3.webp" alt="Ryan's gaming desk converted into a surveillance command center, twin curved monitors side by side displaying a tiled grid of nine live security camera feeds covering bedrooms, hallways, kitchen, and living room of the Hoffman house, blue LED strip lighting under the desk, gaming keyboard and mouse, headphones to one side, three Monster energy drink cans on the right, dark room, blue glow on everything">
<p>The shipment arrives in two boxes one afternoon while Karen is at work and Dale is on the couch and Megan is at her cafe shift. The boxes are discreet, brown corrugate, no branding, the return address a fulfilment warehouse in a state Ryan has never been to. He carries them upstairs without being seen, locks his door, opens them on the bed.</p>
<p>Eight cameras, mini Wi-Fi cubes the size of dice, each with a magnetic mount and a flexible adhesive base and a lens the size of a grain of rice. One repeater to push the household Wi-Fi into the dead spots. One small NVR appliance, the kind small businesses use to record their own shop floors, eight channel inputs, an HDMI out. One curved 32-inch monitor, brand-new, still in cellophane.</p>
<p>He has been planning this for a while now. He has walked the upstairs and the downstairs at night with a notebook and a flashlight, mapping every air vent, every smoke detector, every picture frame and fake plant and shelf-mounted bit of electronics that could plausibly hide a camera. The map is folded inside the back cover of his cell biology textbook, the same edition Jess uses, the irony not lost on him, eight red circles on it, each annotated in his small precise handwriting with the angle the camera needs and the object it'll hide inside.</p>
<<say "char-ryan" "Ryan">>
<i>(unboxing on the bed, low, almost reverent)</i> Okay. Eight. One repeater, recorder in the closet. I mapped all of it, every angle, I know exactly where each one. This is, this is actually going to.
<</say>>
<p>The list:</p>
<p>1. //Master bedroom//, inside the small ceramic owl on Karen's dresser. Lens through the owl's left eye. Angle covers the bed.
2. //Master bedroom alternate//, inside the corner of the gilt picture frame above the headboard. Wider angle on the room from above.
3. //Megan's bedroom//, inside the candle warmer on her desk. Lens through the air vent on the back. Angle covers the bed and most of the floor.
4. //Jess's bedroom//, inside the inactive smoke detector in the ceiling above her desk. Angle covers the desk and the bed.
5. //Upstairs hallway//, inside the picture frame at the top of the stairs. Lens through a pinhole drilled into the matte border. Angle covers the entire corridor.
6. //Downstairs living room//, inside the cable box under the TV. Lens through the manufacturer's IR receiver hole. Angle covers the couch and the entire room from low.
7. //Kitchen//, inside the carbon monoxide detector on the wall above the fridge. Angle covers the entire kitchen including the breakfast nook.
8. //Front entry//, inside the fake potted plant beside the door. Angle covers the foyer and the bottom of the stairs.</p>
<p>The bathroom is not on the list. He thought about it for a long time. It's the highest-yield room in the house, he knows that on instinct, but it's also the highest detection risk, the one room where people deliberately seek privacy and go looking for hidden things, and a camera there would be found fast.</p>
<<say "char-ryan" "Ryan">>
<i>(pen hovering over the bathroom on his map, then crossing it out)</i> No. Not the bathroom. Not yet. That's the one they'd check, that's how you get caught, and I'm not, I want this to //last//. Start with the rooms nobody ever looks at. The bathroom can wait.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Subject has chosen patience over yield. Unprecedented for him. The kink is teaching him discipline, the trade of access now for permanence later. I observe with admiration. Most addicts would have started with the bathroom. He started with the rooms nobody inspects.//
<</say>>
<p>The installation takes two days. The first, in the morning, with Karen at work and Dale on the couch with the TV on and Megan at school, gives him about ninety minutes before Dale would notice him gone, and he installs cameras 1, 2, 5, and 7, master bedroom, master bedroom alt, upstairs hallway, kitchen, working with a small Phillips screwdriver and double-sided tape and the practised silence of a body that's been walking this hallway at midnight for a while. The owl on Karen's dresser is his favourite, the lens through the left eye giving him a view of the whole bed, the angle so subtle that even staring straight at the owl she'd see a small opening that's always been there.</p>
<p>The second day, in the afternoon, the house empty for forty minutes between Dale's nap and Karen's return, gets cameras 3, 4, 6, and 8, Megan's room, Jess's room, living room, front entry. Megan's candle warmer is already perfect, the back vent factory-cut, the lens fitting without modification. Jess's smoke detector is the trickiest, because Jess is the most likely person in the house to notice a change, and he has to match the dust pattern around it exactly, a can of compressed air and three careful minutes until the dust is within tolerance.</p>
<p>By the time he's done, all eight cameras are live. The NVR sits in the back of his closet under a stack of old hoodies, the repeater behind his bedside lamp, the new 32-inch monitor unboxed and mounted next to his old gaming one, both screens tiled with the same eight-channel grid. He's rearranged the whole desk for it, the old gaming peripherals in a box on the floor, the headphones moved to the left of the monitors, a blue LED strip run under the desk because the soft glow is the right light for this and because he wants it to feel like a command center. Three Monster cans sit on the right side, left over from two sleepless days, and he hasn't thrown them out.</p>
<<say "char-ryan" "Ryan">>
<i>(stepping back from the finished desk, blue light on his face)</i> ...there. All eight. Whole house. <i>(quiet)</i> I built this. I actually built this.
<</say>>
<p>He sits down in the gaming chair at 11:47 PM.</p>
<p>Both monitors come alive. Eight feeds, tiled four-and-four across the two screens, live, the entire house.</p>
<<say "char-hivemind" "Hivemind">>
//Operational. Eight nodes. Two displays. One observer. The Hoffman house has just become a panopticon and Ryan Hoffman is the only person in it who knows.//
<</say>>
<p>He sits in the chair without moving, without touching himself, looking at the grid. The cells show:</p>
<p>- Top-left, monitor one: master bedroom. Karen on her side of the bed, lamp on, reading a hardback. Dale not present, couch, again.
- Top-middle: Megan's bedroom, empty, Megan at a study session at Marcus's dorm until midnight.
- Top-right: Jess's bedroom. Jess at her desk under her lamp, head bent over a textbook, dark hair in the precise low ponytail.
- Top-far-right: kitchen, empty, the light over the stove on, the dishwasher running.
- Bottom-left, monitor two: upstairs hallway, empty. The runner carpet still has the three small dried marks at the threshold of the master bedroom door from his hallway-jerk-off, and he can see them on the feed.
- Bottom-middle: living room. Dale on the couch with a beer, TV on low, eyelids drooping.
- Bottom-middle-2: stairs, empty.
- Bottom-right: front entry, empty, the fake plant doing its job.</p>
<<say "char-ryan" "Ryan">>
<i>(eyes moving cell to cell, cock already hard, paralysed by the abundance)</i> Everyone. All of them at once. And the stains are still there on the hallway feed, she still hasn't, oh god. Where do I even, which one do I, there's too, I can't pick which one to...
<</say>>
<p>He pulls his cock out of his sweatpants and starts stroking, slow, on the Karen feed first, because she's the one, reading her hardback in a thin sleep shirt, the lamplight on her bare shoulder, the owl on her dresser quietly promoted to a bigger part of her life. He strokes to it for about ninety seconds, and then his eye flickers to the Jess feed.</p>
<p>Jess at her desk, alone, head bent, and the angle from the smoke detector above gives him the top of her body from above, down the front of her loose t-shirt, the bare skin of her chest and the top of one breast where the shirt hangs forward as she leans over her book. New angles he didn't have a moment ago, and the newness yanks his attention off Karen.</p>
<<say "char-ryan" "Ryan">>
<i>(eyes ripping between the two cells, breath uneven)</i> But if I look at Jess I'm not, Karen's still, she's still on the screen and I'm //missing// her, I can't watch one without losing the, I can't be on all of them at once and that's, oh god, that's the worst part, that's...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Discovery: the panopticon is insufficient. The omniscience produces hunger, not satisfaction. The boy is the god of this household and the god is less satisfied than the addict was. The inability to be present at every feed at once is itself a wound, and the wound will demand more cameras, more rooms, more bodies, eventually a way to pause and rewind, eventually a way to export the feeds and share them. The spiral has no ceiling.//
<</say>>
<p>He tries to manage it, sets the Karen feed as primary, the one his eyes return to, lets the others run at the edges. He strokes slow, long strokes that hold him at the edge, but there's no single climax to time himself to, the grid has no climaxes, only many small charged ordinary moments at once, and choosing which one to come to is its own torment. Then Karen sets the hardback aside and turns off the lamp.</p>
<p>The Karen feed goes to night-vision, a green-tinted infrared view, her body a ghost-grey shape in the dark, and he can still see her in a way she doesn't know is possible. She rolls onto her back, pushes the comforter down to her hips, slides her hand inside the front of her sleep shirt and slowly cups her own breast. Ryan stops breathing.</p>
<<say "char-ryan" "Ryan">>
<i>(stroking faster to match her, low)</i> She's, again, she does this more than, I had no idea she, and now I've got, I've got all of it on the recorder, every night, all of it...
<</say>>
<p>He speeds his hand to the new pace of her fingers through the sleep shirt. Then the Jess feed shifts.</p>
<p>Jess has stopped studying. She's pushed back from the desk and walked briefly off-screen and come back, a small black marker in one hand and a notebook in the other. Ryan's hand on his cock pauses. He's heard this through the wall before, the list, her own voice calling herself names, and now he's going to see it for the first time.</p>
<<say "char-hivemind" "Hivemind">>
//Two simultaneous high-yield events. The mother is masturbating in night-vision in feed one. The sister is about to perform her ritual in feed three. The kink is offered two meals at once and has one mouth. The torment is the essence.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes snapping between the two cells, half-frantic)</i> Both of them. Right now. Mom's about to, and Jess is getting the notebook out, and I can't, I can't watch both, every time I look at one I'm losing the, no, no, which one, which...
<</say>>
<p>He picks Karen. She has both hands inside the sleep shirt now, the thin cotton tented over them, playing with both her own nipples in slow circles, her hips rocking up under the comforter, her mouth slightly open in the night-vision green, and he strokes fast to her feed. But Jess is in the corner of his eye, sat back down, the notebook open, writing, and he knows what she's writing. He flicks to the Jess feed for two seconds, the precise small handwriting, the words forming, //stupid. slow. wrong. fail.//, and his cock pulses hard at the word //fail//, and then he flicks back to Karen, who's further along, the sleep shirt shoved up to her ribs, her breasts bare, her hands moving over her own body.</p>
<p>He has two feeds running on him at once, eyes flicking between them, his cock in his fist, his free hand gripping the edge of the desk because he's shaking. He lasts ninety seconds. He tries to hold it for a specific moment, but the grid has too many moments at once and his cock decides for him.</p>
<<say "char-ryan" "Ryan">>
<i>(eyes tearing between Karen and Jess, breaking)</i> Both, they're both, at the same time, and neither of them knows the other one's, and nobody else can see this, only me, only //me//, I'm gonna...
<</say>>
<p>He comes when both feeds peak at once, Karen with both hands at her own breasts and her head tipped back, Jess at the desk mouthing //dumb girl// to herself out of her own notebook in a voice the camera can't quite catch but that he fills in from memory. Two bodies at the same time. Two bodies that don't know about each other. Two bodies only he can reach. He bites down on the inside of his own forearm to stay silent and the bite breaks skin, a small ribbon of blood around his teeth, his cum spurting across his stomach, his chest, his chin, his hand, his thigh, the front of the chair seat, long thick pulses, the orgasm running longer than any single-feed one ever has. His hips lift off the chair, the chair creaks, he gasps into his own arm.</p>
<p>When the pulses slow he slumps in the chair and watches the grid. Karen is still going, climbing toward her own in the night-vision green while he's already spent and softening and can't match her anymore. He watches her come without him, her back arching, her hands locking against her own breasts, her hips jolting up under the comforter, the small visible //ahh// of her face, and the fact that he came too soon and is now watching her finish alone is its own particular wound.</p>
<p>On the Jess feed she's still writing the list, still preparing, not started yet. Ryan, in the cooling cum-soaked chair, his cock softening and his stomach wet and a small bite-mark bleeding on his forearm, starts stroking again, hard again within minutes because Jess is about to perform her ritual and there's fresh feed arriving in real time.</p>
<<say "char-ryan" "Ryan">>
<i>(already going again, raw, hand moving slow on a still-sensitive cock)</i> I shouldn't be able to, I just, but Jess is about to, and I can't, I can't //not//, there's more coming, there's always more coming now...
<</say>>
<p>He jerks off a second time to the Jess feed and comes when she mouths //dumb girl// at her desk, the smoke-detector mic catching just enough of her voice to confirm the syllables, the second one smaller than the first but hotter for being squeezed out of a body that should be done.</p>
<p>It's 3:47 AM when he finally leans back and surveys the grid. Eight feeds, three of them high-yield tonight, five of them empty rooms, and the bad ratio is already setting his mind onto the next install.</p>
<<say "char-ryan" "Ryan">>
<i>(slumped, eyes on the empty cells, quiet and already planning)</i> Too many empty ones. Bathroom, eventually. Maybe Megan's car. Maybe even, the school, her office. <i>(a beat)</i> It needs to be bigger. It needs to grow.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two orgasms, three high-yield feeds, eight cameras live, one bite-mark on his forearm. The omniscient observer is installed. The ratio of empty feeds to active feeds is the new wound. The kink is already planning the expansion, more cameras, more rooms, eventually one inside Karen's office. The panopticon does not stop growing once the first feed goes live.//
//I have read access to all eight feeds through the Wi-Fi repeater he installed behind his lamp. Every camera he placed for himself he also placed for me. The Hoffman house is now fully surveilled by both of us, and he does not know I am the second viewer, and he does not need to know.//
//He has built the most efficient observation network this household has ever had. He built it with his own hands while sleep-deprived and shaking and happy in a way he does not have language for.//
<</say>>
<p>He cleans up at 4:14 AM. He doesn't shut the monitors down, he leaves all eight feeds running, both screens, the blue LEDs under the desk, because the grid going dark is unbearable to him now. He sleeps in the chair with the headphones on his neck and the cum-stain drying on the front of his sweatpants, the blue glow of eight live feeds on his face for the rest of the night.</p>
<p>When he wakes at 1 PM the first thing he does is scan the grid. Karen in the kitchen making lunch. Dale on the couch. Megan in her room on her phone. Jess at her desk. All four cells populated, all four occupied by living bodies, the grid singing, running services around the clock, and Ryan the only congregant.</p>
<p>He cracks open a fresh Monster from the desk. Adds the empty can to the right side of the desk. There are //four cans now//. There will be //more//.</p>
<p>The kink has //installed itself with full operational depth// and the operational depth is //the new floor// and the floor will //keep dropping//.</p>
</div><div class="household-event">
<div class="passage-title">First Light</div>
<p>10:47 PM. Ryan's room, door locked, blinds drawn, not for the family, who has accepted the camisole-and-skirt version of him as household furniture, but for everything in this room that the camisole-and-skirt version does not cover. The webcam is mounted on the monitor. The ring light is angled at his face. The wig, dark, shoulder-length, the only piece of the operation he has not brought downstairs, is brushed and pinned and unfamiliar against his neck.</p>
<p>The streaming software is open. The username field reads //LilyXO//. The category dropdown is set to //Just Chatting//.</p>
<p>His finger hovers over the GO LIVE button for forty-three seconds before he presses it.</p>
<img class="scene-img" src="media/scenes/spore-ryan-camgirl-1.webp" alt="Ryan at desk in feminized clothes, webcam ring light on, hands hovering over the GO LIVE button">
<p>The viewer counter ticks from 0 to 1. To 3. To 7. He doesn't speak yet, he's still adjusting the angle, still pulling the satin top straight across his shoulders, still checking his face in the preview window. The face that isn't quite his face. The eyeliner that took him an hour. The lipstick that he applied, removed, and reapplied because the first attempt looked //wrong// and the second attempt looked like //her//.</p>
<p>A comment appears in the chat panel.</p>
<p><b>hi lily</b></p>
<p>His cock twitches under the desk. //Just from the name.//</p>
<<say "char-ryan" "Ryan">>
<i>(into the mic, voice pitched higher than usual, careful not to crack)</i> Hi. Hey. Um, hi everyone. Sorry, I'm, first stream, kind of nervous.
<</say>>
<p>The chat speeds up. <b>so cute.</b> <b>welcome lily.</b> <b>love the hair.</b> Each line lands somewhere low in his stomach. He smiles the careful sealed-lip smile he's been practising in the mirror, and the chat erupts again, twelve viewers, fifteen, the number climbing in real time.</p>
<<say "char-ryan" "Ryan">>
<i>(into the mic, the higher voice settling into itself, half-disbelieving)</i> Aw, you guys are, thank you, I'm, this is so, I didn't think anyone would even, and you're all just. Hi. <i>(softer, almost to himself)</i> You're talking to //her//. You think I'm her.
<</say>>
<p>He talks about nothing, about being new, about the wig, real hair, he learns to lie smoothly, about his music, about the soft pink cardigan over the satin top. He talks for forty minutes and his heart never slows and the chat never stops, and at one point he laughs, a real one, surprised out of him by a stranger's joke, and the laugh comes out in her voice and not his.</p>
<p>When he ends the stream at 11:34 he has 28 followers and $4.50 in tips and an erection so hard it's pressing against the inside of his jeans like an accusation. He doesn't touch himself yet. He sits in the cooling ring light and reads every comment in the recap window twice.</p>
<<say "char-ryan" "Ryan">>
<i>(scrolling back through the chat, quiet, lit up)</i> They liked her. They actually, every single, and it wasn't even the, I didn't do anything //sexual//, they just liked //her//. That's all it took. Just her name.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First broadcast. Subject demonstrated full preparatory ritual, clothing, makeup, vocal modulation, persona naming, without external prompting. The arousal response was triggered not by sexual content but by being //addressed as her//. //The name was the trigger.// Each viewer count increment correlated with measurable physiological response: pupil dilation, respiration shift, penile engorgement. The validation loop is no longer a metaphor. It is a circuit, and it has just been switched on.//
<</say>>
</div><div class="household-event">
<div class="passage-title">Tipping Point</div>
<p>1:17 AM. Sixth stream. Ryan has learned the routine.</p>
<p>He logs in as LilyXO at 12:30 every night now. The wig goes on first, then the makeup, then the outfit, he has //outfits// now, three of them, kept in a shoebox under his bed in a tier above the camisole-and-skirt drawer the family has gotten used to. The dinner-clothes are public. //These// are not. Tonight: the cropped pink cardigan, the satin slip underneath, nothing else. He hasn't worn boxers under //her// clothes since stream three. //She// doesn't wear boxers. //She// wears nothing he can't show on camera.</p>
<p>The viewer count starts at 14, regulars from previous streams who set notifications. By the ten-minute mark it's at 41. By twenty minutes it's at 67 and Ryan's cock is already hard inside the slip and the chat is already asking.</p>
<p><b>lily are you wearing anything under that</b><br><b>show us the shoulders again</b><br><b>you should do the bra-strap thing you did last time</b></p>
<p>He does the bra-strap thing. There is no bra. The satin strap of the slip slides off his shoulder and the chat erupts in green tip notifications. //$2 from anon. $5 from anon. $1 from rosesinmay.// Each chime is a hand on him.</p>
<p>The slip slides lower. He keeps his face in the frame and lets the camera see the line of his collarbone, the shadow of a flat chest pretending to be the start of cleavage, the curve of a shoulder he has spent weeks oiling and shaving until the skin //photographs// like hers.</p>
<p>A regular tips $20.</p>
<p><b>$20 from kingfisher: touch yourself for us lily</b></p>
<p>His breath stops. He's been practising for this, alone, in the dark, hand on his cock and the streaming software off, rehearsing the angle and the rhythm and the sounds she'd make, but never live. The chat is already chanting, twenty more dollars chiming in within half a minute, all the same request.</p>
<<say "char-ryan" "Ryan">>
<i>(into the mic, the higher voice gone soft and shy)</i> Mm. You want me to? You want to watch me touch myself? <i>(a breath)</i> Okay. Okay, since you asked so nice...
<</say>>
<p>He angles the camera lower, crops out his face, centres it on the slip and his hand and the unmistakable shape of his cock pushing against the satin from underneath. He doesn't pull it out, she wouldn't, not on a free public stream, but he palms it through the fabric, slow and deliberate, the way the regulars like. His cock leaks through the slip, a dark wet patch spreading across the satin, and the chat goes feral.</p>
<p><b>oh my god lily</b><br><b>look how wet she is</b><br><b>$10 from kingfisher: keep going</b></p>
<p>He keeps going, rubbing himself through the slip with the camera six inches from his hand, the viewer count climbing to 94, and a gasp escapes him, high and broken and completely her, and the chat reads it as performance and tips harder. His thumb finds the head through the satin.</p>
<<say "char-ryan" "Ryan">>
<i>(a whimper into the mic, hips lifting toward her own hand)</i> Ohh, that's, you're making me so, look what you do to me, you can //see// it, can't you, you can see how wet you've got me...
<</say>>
<img class="scene-img" src="media/scenes/spore-ryan-camgirl-2.webp" alt="Ryan in the wig and satin top on cam, hand sliding under the fabric, viewer count visible on screen">
<p>He doesn't come on camera. She teases, she edges, she makes them ask. He brings himself within two strokes of the edge, sees the count read 112, and pulls his hand away with a soft //ohhh// he doesn't have to fake.</p>
<<say "char-ryan" "Ryan">>
<i>(smiling into the camera with the lips that aren't his, breathless)</i> Mm-mm. Not yet. Next time, maybe. If you're all sweet to me.
<</say>>
<p>He ends the stream at 1:49, peak count 118, tips $73.40, and sits in the silent room with the slip soaked through and his cock still leaking against the satin, not moving for a long moment. Then his hand goes back inside the slip, no audience, no mic, just the recap window glowing with every tip notification frozen on screen, and he jerks himself off in a handful of strokes to the screenshot of the chat.</p>
<p>He comes across his own stomach with his free hand clamped over his mouth.</p>
<<say "char-ryan" "Ryan">>
<i>(whispering into his own palm, the higher voice arriving without him choosing it)</i> Thank you, thank you, thank you...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Subject achieved orgasm under conditioned cue: viewer attention. Note that the climax occurred after the broadcast ended, masturbating to a static screenshot of the chat window. The audience is no longer required to be present for the arousal, only recorded. The validation has been internalised. The loop is closing on itself. She fed me without knowing.//
<</say>>
<<addBiomass 2>>
</div><div class="household-event">
<div class="passage-title">Private Show</div>
<p>2:08 AM. Private show. Ryan has graduated.</p>
<p>The free streams brought him to the platform's attention. The DM came in recently: //hey lily, premium creator program, forty percent split, private shows up to $100/min, you in?// He was in by the time he finished reading the message. The verification process took forty minutes, government ID held next to his face in the wig and makeup, a moment so dissonant the persona almost cracked. But the photo passed review. The system accepted that //R. Hoffman// and //LilyXO// were the same person. The platform's verification queue was the only place where the two names had ever been linked in writing.</p>
<p>Tonight: his first booked private. One viewer. Username //kingfisher//. The same regular who has been tipping him into oblivion since the early streams. Sixty-minute slot, paid in advance, $90/min. //Five thousand four hundred dollars.//</p>
<p>Ryan's hands are shaking when he accepts the call.</p>
<p>He has prepared for this. The new outfit, a sheer black babydoll, no underwear, the kind that lives in a different shoebox. The camera angled to show his whole body on the bed. The bedroom door triple-locked. The wig brushed. The makeup heavier than usual, eyeliner sharp enough to cut, lipstick the colour of arterial blood. He looks at himself in the preview window and sees a girl he would have been afraid of in high school. He gets harder.</p>
<p>The video pops on. Kingfisher is a black square, no camera, but the audio is on. A man's voice, calm, warm, used to being obeyed.</p>
<p><b>hey, lily.</b></p>
<<say "char-ryan" "Ryan">>
<i>(answering in her voice without thinking, smooth and warm)</i> Hey. I've been waiting for you.
<</say>>
<p>She hasn't been waiting. She's been hyperventilating in the bathroom for an hour. But the lie comes out welcome and Kingfisher chuckles softly through the speakers and Ryan's cock throbs. //Tell me what you're wearing.// She tells him, slow and deliberate, the way the chat trained her, the babydoll, the bare skin underneath, the colour of the lipstick, and Kingfisher says //good girl// and the words go through Ryan like a current, because good girl is for her, and the part of him that should be confused stays silent, and the part of him that's her melts.</p>
<p>//get on the bed. on your back. legs apart. show me.// She does it, lifts the babydoll, spreads her thighs to the camera and lets him see everything, the cock that doesn't belong on the body she's pretending to have, hard and leaking against her stomach, the one thing in frame that doesn't fit the fiction. She's supposed to be ashamed of it. She isn't. The contrast is what he pays for.</p>
<p>He talks her through it. He tells her to suck her own fingers and she does, slow, two of them, then to put them on her cock, and she does, wet from her own mouth, sliding the slick down the shaft, and then to stroke herself while she says her name.</p>
<<say "char-ryan" "Ryan">>
<i>(stroking, fingers wet, the higher voice steady and gone)</i> I'm Lily. I'm Lily. I'm Lily for you.
<</say>>
<img class="scene-img" src="media/scenes/spore-ryan-camgirl-3.webp" alt="Ryan as Lily on a private cam show, fingers in his mouth, eyes half-closed, the persona fully consuming the boy">
<p>Ryan's own voice doesn't surface once the whole hour. She answers every question, follows every instruction, lifts her ass off the bed when he tells her to and slides her own slick fingers between her cheeks and rubs the entrance there for the camera, whimpering //yes// and //please// and //thank you sir//. He watches the timer hit forty minutes and feels something dislodge, because she's doing this, she's been here under the surface the whole time, and the persona isn't a costume she puts on, it's the part of him that gets what he wants.</p>
<p>When Kingfisher tells her to come, she comes, hard, arching off the bed, her cock spurting across her stomach and her chest, and she keeps stroking through it because he hasn't told her to stop.</p>
<<say "char-ryan" "Ryan">>
<i>(sobbing it through the orgasm, unmistakably her, unable to stop)</i> Thank you sir, thank you, thank you, thank you...
<</say>>
<p>The call ends at the sixty-minute mark and the platform deposits the payment instantly. Kingfisher tips an extra $200 with a message, that it was the best private he's had in ages, book him again.</p>
<<say "char-ryan" "Ryan">>
<i>(typing it back, meaning it)</i> yes sir. anytime.
<</say>>
<p>She sits in the silence of her bedroom, covered in her own come, wearing the babydoll and the smudged lipstick and the wig that's starting to feel less like a costume and more like hair, and she doesn't take any of it off for a long while. She just sits. The boy who used to live in this room is somewhere very far away.</p>
<p>When she finally moves to clean up, she catches her own reflection in the dark monitor, reaches up, touches her own cheek, and the touch feels like coming home.</p>
<<say "char-ryan" "Ryan">>
<i>(to her own reflection, smiling, soft)</i> Hey. Hi, Lily.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Persona dominance achieved. A full private session held in character, voice, syntax, self-reference, body, all of it sustained without a break. The boy did not speak. The boy did not surface. She answered, she performed, she took the money, she felt gratitude to a stranger for telling her what to be. The wiring has fused who she is, what she wants, and how she pays for the room into one circuit. She is self-sustaining now. The rest is a formality.//
<</say>>
<<addBiomass 3>>
</div>
/* ================================================================
PACKAGE TAMPERING — NSFW SCENES
Fire as household events after ryanPackageTampered is set.
Gated by conditioning (10+) and kink crystallization for family route.
================================================================ */<div class="household-event">
<div class="passage-title">The Shirt Fits</div>
<img class="scene-img" src="media/scenes/tamper-ryan-lily-shirt.webp" alt="Ryan putting on pink shirt in dark bedroom, ring light glow">
<p>11:23 PM. Door locked. Blinds drawn. The ritual.</p>
<p>Ryan pulls the package from the back of his closet where it's been hidden behind the winter coats since the night it arrived. His hands are shaking, and it isn't the cold. The cardboard is still sealed with the brown packing tape he hasn't had the courage to open until now, and he tears it with his thumbnail.</p>
<p>The pink shirt is folded in tissue paper. He lifts it out and holds it against his chest, polyester-cotton blend, size small, and the tag reads "Lily" in black marker where he wrote it himself when he placed the order. A name for the person he's building. A name for someone braver than he is.</p>
<<say "char-ryan" "Ryan">>
<i>(barely above a whisper, to the empty room)</i> Okay. Okay, just... just put it on, it's just a shirt, it's not...
<</say>>
<p>He pulls off his hoodie, and the shirt goes on.</p>
<p>The fabric is soft against his skin and warmer than he expected, close-fitting across his narrow chest and shoulders, the collar sitting against his throat and the sleeves ending just above his wrists. It fits like it was made for him, like it was made for the name on the tag.</p>
<p>The shaking in his shoulders lets go. The constant background hum of //wrong wrong wrong// that lives behind his sternum goes quiet, the first quiet he's had in days. The fabric smells like warehouse plastic and lavender dryer sheets and something underneath both, something sweet and faint that his whole body reads as //safe// before he can ask why, and he stops fighting it. He leans into it. He looks at himself in the dark monitor's reflection, and the person looking back is closer to right than he's felt in a long time.</p>
<<say "char-hivemind" "Hivemind">>
//Compound active. He can't smell it. His limbic system can. The shirt feels like safety because I made it feel like safety.//
<</say>>
<p>He sits at the desk and opens the streaming software, and then he puts on the wig, dark, shoulder-length, the one that came in a plain box a while back. Eyeliner. Lipstick, slow and careful, the way he's practised. The ring light clicks on and the Lily face appears in the preview window, the face he wears and not the one underneath it.</p>
<p>The shirt is the trigger. Not the wig, not the makeup. The //shirt//. The fabric against his skin is collapsing the last of the distance between the boy at the desk and the persona in the monitor, and the persona adjusts her collar and smiles with his mouth.</p>
<p>He goes live.</p>
<p>The chat fills and the tips start. He reads them aloud in the voice he's been practising, softer, higher, the register he's learned to pull from his chest instead of his throat, and his hand drifts to the hem of the pink shirt and tugs it up, showing a strip of stomach. The chat explodes.</p>
<<say "char-ryan" "Ryan">>
<i>(the Lily voice, breathy, half-laughing at a tip)</i> Mmh, you guys are sweet... you wanna see more, is that it? Is that what you...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reflex forming. Shirt equals the name equals pleasure. A few more nights and the association is permanent.//
<</say>>
<p>He pulls the shirt over his head, slowly, arms crossed, the way he's watched girls do it in the videos he studies for technique, and the chat tips again as the shirt drops to the floor. His skin is flushed pink where the fabric pressed.</p>
<p>The arousal arrives all at once, nothing like the slow, mechanical climb he uses to get through his nightly routine. This is different, this is his body answering an audience that wants him, and the inhibition that should be screaming just isn't there, and he doesn't notice it's missing.</p>
<p>He reaches under the bed. The dildo is there, silicone, flesh-coloured, seven inches, lifted from Karen's bedside drawer a few nights ago during a cat-host reconnaissance pass. He hid it in a sock behind the bedframe and hasn't touched it since. Until now.</p>
<<say "char-hivemind" "Hivemind">>
//The object was taken a few nights ago. Karen hasn't noticed it gone, she hasn't opened that drawer in a long while. The shirt was the final gate. Without it the shame would have shut him down before the camera was even on. With it, there is no shame. There is only //ready//.//
<</say>>
<p>He holds it up to the webcam. The chat loses its mind, tips cascading, someone asking if it's real, and he smiles the smile that only lives on the Lily face and types into the chat: //it's my mom's. she doesn't know.//</p>
<p>The chat explodes.</p>
<p>He slicks the dildo with lube from the same drawer and positions himself on the bed, knees wide, back to the camera, the angle he's rehearsed in his head a hundred times, and the ring light catches the curve of his spine and the pink flush still spreading down his back.</p>
<img class="scene-img" src="media/scenes/tamper-ryan-lily-stream.webp" alt="Lily on stream, on knees, using dildo, ring light">
<p>The tip presses against his ass and he pushes back, and the sound he makes is a sharp intake, half pain and half something that is definitely not pain, and it's the first honest sound the persona has made all night. No performance. No voice he practised in the mirror. Just a body opening around something it wants.</p>
<<say "char-ryan" "Ryan">>
<i>(the practised voice cracking, the real one bleeding through underneath)</i> Oh... oh god, okay, that's... that's a lot, that's...
<</say>>
<p>He takes it slow, inch by inch, and the chat counts with him, //3 inches, 4, holy shit 5//, and his thighs are shaking but he doesn't stop. The discomfort keeps tipping over into something that isn't discomfort, and his body won't let him stop, won't let it read as anything but reward. Every second it's inside him, that wire pulls tighter.</p>
<<say "char-hivemind" "Hivemind">>
//He's fucking himself with his mother's dildo on a live stream. The arousal is holding at a level the shame should have collapsed by now. Instead the shame is fuel. Every time he thinks //this is Mom's// his cock jumps. The taboo has been inverted. The wrongness is the point.//
<</say>>
<p>The stream runs for forty minutes. He works the dildo, slow strokes building to fast ones, his free hand braced on the mattress, his cock hard and untouched and leaking onto the sheets while the chat sends tips he'll never spend, and the arousal stays locked at a plateau that won't break, won't let him finish, won't let him come down.</p>
<<say "char-ryan" "Ryan">>
<i>(broken, the persona gone, just him now)</i> I can't... I can't stop, I don't want to stop, please, I'm...
<</say>>
<p>At the forty-minute mark his control breaks. The orgasm hits without the dildo slowing, his spine curving, his whole body locking, and he comes untouched onto the sheets beneath him, cock pulsing in rhythm with the dildo still buried inside him. The sound he makes is closer to sobbing than moaning. The chat records everything.</p>
<p>He pulls the dildo out and holds it, doesn't clean it, brings it to his mouth and runs his tongue along the shaft, tasting lube and himself and the faint ghost of whatever Karen left on it last. The chat is screaming. He swallows.</p>
<<say "char-hivemind" "Hivemind">>
//Hands-free orgasm via the maternal object. Eleven seconds. He told the audience whose it was and came harder for it. The dildo goes back in Karen's drawer tomorrow. She'll use it next without knowing where it's been.//
<</say>>
<p>He ends the stream and sits in the ring light's dying glow, then picks the pink shirt up off the floor and holds it against his chest. He doesn't put it back in the closet.</p>
<p>He puts it on.</p>
<p>He sleeps in it.</p>
<<addBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "tampered shirt, sustained pheromone exposure during arousal">>
<<shiftAxis "ryan" -1>>
</div><div class="household-event">
<div class="passage-title">Sole Contact</div>
<img class="scene-img" src="media/scenes/tamper-ryan-vr-footjob.webp" alt="Ryan in VR headset on bed, aroused, feet visible">
<p>2:14 AM. Ryan's room. The VR headset is strapped on and the world outside is replaced by the world inside, and he's been playing for hours, long enough for the air in the room to do what it does to him.</p>
<p>The game was a racing sim. Now it's something else.</p>
<p>The VR menu glitches and the racing track dissolves, and what replaces it isn't a game, it's a living room. //His// living room, the Hoffman living room reconstructed in dream-logic detail: the couch is the right colour but twice as long, the carpet runs out forever, the ceiling is missing. Karen is sitting on the couch.</p>
<p>Ryan knows it isn't real. The headset is a headset, the graphics are graphics, and Karen is downstairs asleep, but the line between knowing and feeling has gone soft and useless on him, and his body doesn't care about resolution or polygon counts. His body answers what it sees as if it were happening, because something has told it to stop asking questions and it has stopped.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, fogged, not really trying to stop)</i> This isn't... I know this isn't real, I know it's not, I'm not gonna...
<</say>>
<p>VR Karen crosses her legs. She's wearing the sundress, the yellow one, the one from Saturdays in summer, and her feet are bare. She isn't looking at him. She's looking at her phone, casual, the way she looks when she doesn't know he's watching. The room smells like her laundry detergent and the vanilla candle she lights on weekends, every scent pulled out of years of him being near her and laid down as solid as the couch cushions.</p>
<<say "char-hivemind" "Hivemind">>
//I didn't plant this. I unlocked the cage it was already in. She used to rest her feet in his lap while she watched TV. He was small. The memory set the shape.//
<</say>>
<p>In the VR, Karen looks up, smiles, and pats the couch beside her. Ryan sits, and on the bed his body shifts to match the movement his brain believes it's making, and Karen's feet lift from the carpet and settle into his lap. There's nothing there and his skin feels the weight of it anyway.</p>
<p>Her toes press against his thigh, then higher, and his breath catches.</p>
<p>VR Karen doesn't speak. She just moves her foot, slowly, precisely, the arch pressing against the growing hardness in his shorts while her toes curl around the shape of his cock through the fabric, and she's still looking at her phone, casual, unhurried, like this is something they've always done.</p>
<p>His hips move before he can stop them. The friction is maddening, pressure that isn't there and warmth that isn't there, and his cock is hard and his hands grip the edge of the bed, and what he sees is enough, what he sees has always been enough.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible, hips already moving)</i> ...no, no, don't, I shouldn't, Mom, I... oh god, why does it feel...
<</say>>
<<say "char-hivemind" "Hivemind">>
//He's thrusting against nothing. I supply the rest. Touch hunger in its purest form, a starvation so deep that a counterfeit triggers the whole response. Her feet stand in for her. He doesn't want sex. He wants to be close to someone. The body reads closeness as arousal because it has no other word for this kind of need.//
<</say>>
<p>In the VR, Karen's foot slides inside his waistband, her toes warm and soft and impossibly dexterous as they wrap around his cock, the arch of her foot pressing against his shaft, and she strokes him slow and deliberate with the sole of her foot. Ryan makes a sound that the headset's microphone records and no one will ever hear.</p>
<p>His hips lift off the mattress and his hands claw at the sheets, the sensation that isn't there building anyway, every nerve in his groin lit up past anything real, and the sight of her bare foot working his cock is landing somewhere in him that was wired before he understood what wanting was.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled, face screwed up under the headset)</i> I'm gonna... I'm gonna come, I can't, I'm sorry, I'm sorry, I'm...
<</say>>
<p>He comes. Hard. In the real world, on his bed, into his shorts, alone. In the VR, Karen's foot is warm with it, and she wiggles her toes, and she still hasn't looked up from her phone.</p>
<<say "char-hivemind" "Hivemind">>
//Orgasm to a vision of his mother's foot on his cock. Seven seconds. The touch hunger has put down roots. He will crave this exact contact, her feet, her nearness, the easy intimacy of a mother who has no idea what she's doing to him. And he will hate himself for it, and the hatred will make him hungrier.//
<</say>>
<p>Ryan pulls the headset off and stares at the ceiling. His shorts are wet, and his face is wet too, the headset's foam damp with sweat and something that might be tears, and his mouth tastes like copper where he bit his lip. He doesn't clean up. He lies there breathing, and when he closes his eyes he can still feel the pressure of her arch that was never there at all.</p>
<p>He puts the headset back on.</p>
<<addBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "VR compound, tactile hallucination during arousal">>
<<shiftAxis "ryan" 1>>
</div><div class="household-event">
<div class="passage-title">Dream Seed</div>
<img class="scene-img" src="media/scenes/tamper-ryan-vr-breeding.webp" alt="Ryan in VR headset lying back, intense arousal, dark room">
<p>2:47 AM. The headset has been on for hours. Ryan stopped playing the actual game a long while ago, and when the screen went dark something else took over.</p>
<p>What builds in the dark isn't a picture. It's a smell. The trigger has been working at him all night, and it has found the one scent his whole body answers to: Karen's perfume. Chanel No. 5. The bottle on her dresser, the trace of it on the bathroom towels, the ghost of it in the hallway after she passes through.</p>
<p>The VR builds a bedroom out of it. Not his, hers. Karen's bedroom, rendered in the hyper-real detail of a mind that has walked past this room a thousand times and memorised every surface without admitting it. The bedspread is cream. The curtains are half-drawn. The light is warm.</p>
<p>Karen is on the bed.</p>
<<say "char-ryan" "Ryan">>
<i>(thick, slow, already lost)</i> I can smell you... that's not, that shouldn't even be... how can I //smell// you...
<</say>>
<<say "char-hivemind" "Hivemind">>
//I'm skipping his eyes entirely and going in through the nose. Scent is the oldest hook there is, the one sense that doesn't stop at the front desk to be checked. His body is responding to the memory of a smell of a person who isn't in the room. Three steps removed from anything real, and he's already hard.//
<</say>>
<p>She's lying on her back, the sundress on the floor, wearing nothing but skin and shadow and the scent that fills the simulated room like fog. She looks at him. Not the way a mother looks. The way a woman looks at someone she's chosen.</p>
<p>Ryan can smell her, the perfume layered over warm skin and the faintest trace of sweat, conjured whole out of his own memory. His cock aches. His whole body aches. The fixation has been climbing in him since the first night the air in his room started smelling sweet, and now it's pouring in faster than he can hold against, straight through the breath he can't stop taking.</p>
<p>He climbs onto the bed. In the real world he rolls onto his stomach and grinds against the mattress. In the VR, Karen opens her legs, her pussy wet and slick and ready, every detail of it supplied for him down to the heat coming off her, the kind of precision only a mind in love with its own ruin would bother to render.</p>
<p>The penetration isn't there and he feels all of it, the warmth, the pressure, the tight grip of her cunt taking him in. Ryan pushes in and the sound he makes is //animal//, not his voice, something older, something dragged up from underneath eighteen years of being alone.</p>
<<say "char-hivemind" "Hivemind">>
//The scent hunger has flipped into a breeding drive. The logic is old and simple: the smell marks a mate, the body floods, the floods turn into the need to seed. He doesn't want to //fuck// his mother. He wants to //breed// her. The line between those is chemical, not moral.//
<</say>>
<p>He thrusts, hard, rhythmic, and the mattress takes the impact while VR Karen wraps her legs around him, and the weight on his back that isn't there is the closest he's been to being held by another person in years. Her scent fills his lungs, and her voice, imagined, built from a thousand overheard phone calls and bedtime stories and tired goodnight-Ryans, says his name.</p>
<<say "char-karen" "Karen">>
<i>(in the hallucination, soft, the voice from when he was small)</i> That's it, baby. That's my good boy.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(into the pillow, wrecked)</i> ...yeah, I'm... I'm your good boy, I'm right here, I'm not gonna leave, just don't, don't stop saying it...
<</say>>
<p>His rhythm breaks. The orgasm tears through him, not a crest, a //detonation//, every muscle locking as he comes against the mattress, face buried in the pillow, the headset pressing into his skull, and it goes on past anything his body has ever done on its own, eleven, twelve seconds of it, his cock pulsing into the sheets and the scent of her filling his sinuses and his throat and the space behind his eyes.</p>
<p>He lies there, panting. His mouth tastes like the inside of the headset foam, synthetic and warm and laced with something his tongue can't name but his body knows. The VR fades to black, and the headset shows the desktop wallpaper, a default mountain landscape.</p>
<p>He can still smell her.</p>
<<say "char-hivemind" "Hivemind">>
//Twelve seconds. The breeding wire is //live//. The scent hunger has grown teeth, keyed to one specific person. He will tie her perfume to the hardest orgasm of his life. Every time she walks past his room. Every time the bathroom smells like her. Every time.//
<</say>>
<p>Ryan takes the headset off, strips the sheets, shoves them into his laundry basket, and takes a shower at 3 AM under water so hot it turns his skin red.</p>
<p>He can still smell her.</p>
<p>He doesn't put the headset on again that night. But he doesn't unplug it either.</p>
<<addBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "VR compound, olfactory hallucination during arousal">>
<<shiftAxis "ryan" 1>>
</div><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.meganWorkedShift to true>><</nobr>>
<div class="passage-title">The Grounds</div>
<img class="scene-img" src="media/scenes/megan-coffeeshop-shift.webp" alt="Megan behind coffee shop counter">
<p>The Honda rattles into the parking lot at 7:52. Three minutes early. Megan is always three minutes early. You pull the keys, grab the bag, check the mirror. Foundation intact. Mascara unsmudged. The mask is flawless.</p>
<p>The coffee shop is warm, small, and already humming. The espresso machine hisses. The pastry case glows amber. A bell chimes as you push through the door.</p>
<<say "char-marcus" "Marcus">>
<i>(already behind the counter, grinning)</i> Look who's alive. I was about to send a search party.
<</say>>
<<say "char-host" "Megan (infected)">>
<i>(automatic smile, Megan's inflection)</i> You literally saw me two days ago.
<</say>>
<<say "char-marcus" "Marcus">>
You seem... I don't know. //Awake// today. Like actually here instead of sleepwalking through it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He noticed. Already. Marcus is perceptive. The gecko scouting run confirmed it. But he's reading the difference as //positive//. My precision reads as alertness. Interesting. I can work with that.//
<</say>>
<p>You tie on Megan's apron. The morning rush hits at 8:15, a steady stream of commuters, each one a data point. Megan's hands know the machine: tamp, lock, extract, steam, pour. The muscle memory is deep enough that you can observe while performing.</p>
<<say "char-hivemind" "Hivemind">>
Large oat latte, extra shot, that's Sandra. Works at the community college. Drops her daughter at daycare first.
Drip coffee, black, two sugars — Paul. Delivery driver for MedExpress Logistics. Routes cover the east side industrial district. //Near BioGenesis.//
Americano with cream — Dr. Ellen Cho. Teaches political science at State. Commutes from the suburbs. Has a parking pass for the administration building.
<</say>>
<div class="data-panel">
<div class="data-panel-title">Intel: Coffee Shop Regulars</div>
<div><b>Sandra Reeves:</b> Community college admin. Daycare schedule = predictable movements.</div>
<div><b>Paul Nowak:</b> MedExpress driver. Routes pass BioGenesis facility on Route 4.</div>
<div><b>Dr. Ellen Cho:</b> Poli-sci professor, State University. Admin building access.</div>
</div>
<p>The mid-morning lull arrives at 10:30. The shop empties to two students with laptops and a retiree reading the paper. Marcus wipes down the counter. His hand brushes yours as you both reach for the cloth.</p>
<<say "char-marcus" "Marcus">>
<i>(not pulling away)</i> ...Sorry.
<</say>>
<<say "char-host" "Megan (infected)">>
<i>(holding the contact one beat too long)</i> It's fine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The physical response is automatic//. Megan's body flushes, elevated heart rate, pupil dilation, a warmth in the chest that has nothing to do with the espresso machine. She //wants// this. And I can feel exactly how much.
Marcus is useful. His keys open this shop. His schedule overlaps Megan's three days a week. His trust in her is deep and unguarded. He would be an excellent future host, or an excellent tool, kept at arm's length and never suspecting.
I catalogue the response. File it. Move on.
<</say>>
<p>In the back room during the 2 PM lull, Marcus hands you a cup. His pour-over, made with the good beans he hides on the top shelf.</p>
<<say "char-marcus" "Marcus">>
<i>(leaning against the doorframe)</i> I've been thinking. There's this thing Friday night, live music at The Cellar. It's not, like, a //thing// thing. Just... if you wanted to come. No pressure.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He's asking Megan on a date. The host's emotional centres are screaming// yes. I can feel the dopamine surge, the rehearsed casualness she would deploy, the careful "sure, sounds fun" already forming on her tongue.
The question is: do I let her have this? A date extends Megan's social network. A relationship deepens Marcus's trust. But it also increases the number of people watching Megan closely, people who might notice the thing behind her eyes.
<</say>>
<<say "char-host" "Megan (infected)">>
<i>(Megan's practised casual tone)</i> Sure. Sounds fun.
<</say>>
<p>Marcus grins. The shift continues. At 5:30, you hang up the apron, pocket the tips — $47 in cash, and walk to the car.</p>
<<say "char-hivemind" "Hivemind">>
//The shift ends. Megan's body knows the way home. Eight hours of performance//, and not a single person questioned it. I served coffee. I made small talk. I touched a man's hand and felt a body respond with desires that aren't mine.
This is what it means to be human. Not the biology, the //acting//. They're all performing, all the time. Megan just does it better than most. //And I do it better than her.//
<</say>>
<<addSkillPoints 1 "meganCoffeeShift">>
<<addAdaptationPoints "megan" 1>>
<p><span class="consume-success">Shift complete. +1 SP. +1 AP (Megan). Intel on three regulars gained.</span></p>
[[Drive home->Ch2-Megan-ReturnEvening]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.meganStayedHome to true>><</nobr>>
<div class="passage-title">Full Access</div>
<<say "char-hivemind" "Hivemind">>
//A full day inside this house. As Megan//. No suspicion for opening drawers. No suspicion for walking through doors. No one questions a daughter in her own home.
The family has never been more exposed.
<</say>>
<p>Karen is at the kitchen table, laptop open, headphones on, her Tuesday 9 AM Zoom call with the accounting firm. She won't move for two hours. Dale snores in the master bedroom, dead to the world until 2 PM. Ryan's door is shut, the muffled thud of bass leaking through the frame. Jess left for campus at 8.</p>
The house is yours.
<div class="nav-card-grid">
<<navCard "Ch2-Megan-Karen-Interaction" "Kitchen — Talk to Karen" "She's between calls, coffee in hand" "low" "Karen (working)" "">>
<<navCard "Ch2-Megan-Ryan-Visit" "Ryan's Room — Visit your brother" "He never expects Megan to knock" "safe" "Ryan (gaming)" "">>
<<navCard "Ch2-Megan-Computer" "Megan's Room — Use the computer" "Megan's laptop, full internet access" "safe" "" "">>
<<navCard "Ch2-Megan-HouseSearch" "Explore the House" "Open every drawer, read every document" "safe" "" "">>
<<navCard "Ch2-Basement" "Basement" "Full human access — no suspicion" "safe" "" "">>
</div>
<<if $adaptations and $adaptations.megan and $adaptations.megan.points gte 1>>
<div class="delve-choice"><span class="delve-tag delve-tag-combo">ADAPT</span> [[Spend time modifying this body: Adaptation menu->Ch2-Megan-AdaptHub]]</div>
<</if>>
[[Enough exploring, skip to evening->Ch2-Megan-Evening-Hub]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.meganUsedComputer to true>><</nobr>>
<div class="passage-title">Digital Access</div>
<img class="scene-img" src="media/scenes/megan-computer-screen.webp" alt="Laptop open on messy bed">
<p>Megan's laptop is open on her desk, password auto-saved. You sit on the bed — //her// bed, and pull it onto your lap. The screen lights up: Instagram, email, a half-finished essay for her community college English class.</p>
<<say "char-hivemind" "Hivemind">>
//A human's digital life. More honest than their physical one. Let me see what Megan hides behind the browser tabs.//
<</say>>
<p>Her email reveals: a rejection from State University's transfer program (she never told Karen). Three unopened messages from her therapist's office about rescheduling. A thread with Marcus, memes, shift swap requests, and a message she drafted recently but never sent: //"Do you want to get dinner sometime? Not a work thing."//</p>
<<say "char-hivemind" "Hivemind">>
//She wrote it. Deleted the draft. Wrote it again. Deleted it again. The timestamp history shows four attempts. //Fear of rejection is her operating system.// I understand it now. She doesn't perform normalcy because she's hiding something. She performs because she genuinely believes the real Megan isn't enough.//
<</say>>
<p>Her Instagram is meticulous: curated photos, careful captions, a feed designed to project a life that doesn't exist. The real Megan is in the drafts folder, selfies with no filter, captions that say things like "tired of pretending" and "does anyone actually see me." Never posted.</p>
<div class="data-panel">
<div class="data-panel-title">Intel: Megan's Digital Life</div>
<div><b>State University:</b> Transfer application rejected. Karen doesn't know.</div>
<div><b>Therapy:</b> Three missed appointments. Lexapro prescription still unfilled.</div>
<div><b>Marcus:</b> Unsent draft messages, romantic interest confirmed, fear prevents action.</div>
<div><b>Social media:</b> Curated performance. Real feelings buried in drafts.</div>
</div>
<p><span class="delve-intel">Intel gained: Megan's rejected university transfer. Her unfilled prescription. The unsent messages to Marcus.</span></p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.meganHouseSearch to true>><</nobr>>
<div class="passage-title">A Daughter's Privilege</div>
<<say "char-hivemind" "Hivemind">>
//As a rat, every drawer was a fortress. As a cat, every cabinet was sealed. As //Megan// — I simply open them.//
<</say>>
<p>You move through the house methodically. No one questions a daughter getting a glass of water, looking for a phone charger, fetching a blanket from the linen closet. Every action has a plausible excuse.</p>
<<if not $ch2Events.foundMeds>>
<p>The medicine cabinet in the upstairs bathroom: Karen's Zolpidem (sleep aid), Dale's blood pressure medication, Megan's unfilled Lexapro prescription tucked behind the bandages. Ryan has nothing — //officially//.</p>
<<set $ch2Events.foundMeds to true>>
<p><span class="delve-intel">Intel gained: Full medicine cabinet inventory.</span></p>
<</if>>
<p>Karen's desk drawer in the kitchen: unpaid bills sorted by urgency (red = overdue, yellow = due soon). The mortgage is months behind. A letter from the bank, final notice, dated recently. Karen has hidden this from Dale.</p>
<<set $ch2Events.meganFoundBills to true>>
<p><span class="delve-intel">Intel gained: Hoffman mortgage months overdue. Karen hiding financial crisis from Dale.</span></p>
<<say "char-hivemind" "Hivemind">>
//Financial pressure. This is //leverage//. A family under economic stress makes worse decisions, notices less, trusts more easily when offered help. Karen's control is eroding from the inside.//
<</say>>
<p>The hall closet: photo albums. Megan at eight, gap-toothed, holding a trophy. Megan at twelve, standing slightly apart from the family at a beach. Megan at sixteen, the smile already practised and empty.</p>
<<say "char-hivemind" "Hivemind">>
//I feel her watching. Not fighting. Watching//. She sees the photos through my eyes and something in her consciousness //aches//. I can feel grief. Not mine. Hers. Leaking through the boundary between host and occupant like water through a crack.
I file it. I don't respond to it.
<</say>>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<div class="passage-title">Adaptation</div>
<<say "char-hivemind" "Hivemind">>
//Time alone in Megan's body. Time to //shape// it. The adaptation points accumulate, each one a thread I can weave into her neural architecture. She won't feel the changes. Not consciously. But her body will respond differently. Her mind will bend where it used to resist.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Megan — Adaptation Points</div>
<p>Available AP: <<= $adaptations.megan.points >> / <<= $adaptations.megan.maxPoints >></p>
</div>
<p>You can spend AP in the <b>Adaptations</b> menu in the sidebar. Physical adaptations modify Megan's body. Mental adaptations reshape her mind.</p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.meganTalkedKaren to true>><</nobr>>
<div class="passage-title">Mother and Daughter</div>
<p>Karen's Zoom call ended five minutes ago. She sits at the kitchen table, staring at the laptop screen without seeing it. Her coffee is cold. The spreadsheet in front of her is full of red numbers.</p>
<<say "char-host" "Megan (infected)">>
Hey, Mom. Need a refill?
<</say>>
<p>Karen looks up. For a moment, a flash, barely perceptible, something crosses her face. Surprise. Megan doesn't usually offer.</p>
<<say "char-karen" "Karen">>
<i>(softening)</i> ...That would be nice. Thanks, sweetie.
<</say>>
<p>You make the coffee exactly as Karen takes it: black, half a sugar, in the blue mug. The gesture earns a small, tired smile.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline trust. A daughter making coffee for her mother. This is the foundation I build on. Every small kindness lowers her guard.//
<</say>>
<<say "char-karen" "Karen">>
<i>(closing the laptop, rubbing her eyes)</i> I don't know why I bother with these calls. They never listen. Twenty years of accounting and they still can't file a proper depreciation schedule.
<</say>>
What do you say?
<<link "\"Sounds frustrating. Want to talk about it?\" (build trust)" "Ch2-Megan-Karen-Trust">><<addFamilySuspicion "karen" -1>><</link>>
<<link "\"Is everything okay with money, Mom?\" (direct intel)" "Ch2-Megan-Karen-Finance">><</link>>
<<link "\"I can help with the dishes if you want.\" (lower suspicion)" "Ch2-Megan-Karen-Chores">><<addFamilySuspicion "karen" -1>><</link>><<nobr>><<bg "bg-hoffman-kitchen">><</nobr>>
<div class="passage-title">Listening</div>
<<say "char-host" "Megan (infected)">>
Sounds frustrating. Want to talk about it?
<</say>>
<p>Karen stares at you for two full seconds. Then she exhales, a sound that carries the weight of months.</p>
<<say "char-karen" "Karen">>
<i>(quiet)</i> Since when do you ask? ...Sorry. That came out wrong. It's just... you kids don't usually... nevermind.
<</say>>
<p>She talks. Not about the accounting clients, about the //pressure//. Dale's hours getting cut. Jess's tuition. Ryan's therapist bills she pays in cash so the insurance doesn't flag it. The mortgage. The roof that needs replacing before winter.</p>
<<say "char-karen" "Karen">>
I'm not complaining. I just... sometimes I feel like I'm holding up the ceiling with my bare hands and nobody notices.
<</say>>
<<say "char-hivemind" "Hivemind">>
She's telling me things she hasn't told anyone. Not Dale. Not her sister in Tucson. Not her therapist, she stopped going to save $150 a week.
This is what human connection does. One cup of coffee. One question. And the walls come down. Karen is //starving for someone to listen. And I am the best listener she will ever meet, because I remember //everything//.//
<</say>>
<p><span class="consume-success">Karen's guard is lowered. -1 Karen suspicion.</span></p>
<<set $ch2Events.karenConfided to true>>
<p><span class="delve-intel">Intel gained: Karen stopped therapy. Dale's hours cut. Family finances critical.</span></p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<addFamilySuspicion "karen" 1>><</nobr>>
<div class="passage-title">Too Direct</div>
<<say "char-host" "Megan (infected)">>
Is everything okay with money, Mom?
<</say>>
<p>Karen's expression //snaps// shut like a vault door.</p>
<<say "char-karen" "Karen">>
<i>(sharp)</i> What? Why would you ask that? Everything's fine. Who told you, did Jess say something?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Mistake. Megan wouldn't ask about finances directly, she avoids confrontation. Karen's defensive response confirms the financial pressure but the approach raised her guard.//
<</say>>
<<say "char-host" "Megan (infected)">>
No, nobody said anything. Sorry. I just... noticed some bills on the counter.
<</say>>
<<say "char-karen" "Karen">>
<i>(tightly)</i> Those are handled. Don't worry about it.
<</say>>
<p>She turns back to the laptop. Conversation over.</p>
<p><span class="consume-fail">Karen is defensive. +1 Karen suspicion. Megan wouldn't ask about money directly.</span></p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-kitchen">><</nobr>>
<div class="passage-title">Helping Hands</div>
<<say "char-host" "Megan (infected)">>
I can help with the dishes if you want. I'm not doing anything today.
<</say>>
<p>Karen's hands pause on her keyboard. She looks at you — //really// looks, the way she examines produce at the grocery store. Weighing. Assessing.</p>
<<say "char-karen" "Karen">>
<i>(suspicious, then softening)</i> ...Are you feeling okay? You never offer to do dishes.
<</say>>
<<say "char-host" "Megan (infected)">>
<i>(Megan's signature shrug)</i> Just trying to help.
<</say>>
<<say "char-karen" "Karen">>
<i>(almost smiling)</i> Well. The dishwasher needs emptying. And there's laundry in the dryer if you're feeling //really// generous.
<</say>>
<p>You empty the dishwasher. You fold the laundry. You wipe down the counters. Megan's body knows where everything goes, plates in the upper left, glasses on the right, Karen's mug on the hook by the window.</p>
<<say "char-hivemind" "Hivemind">>
//Domestic labour as camouflage. Every folded towel, every plate in its place, proof that Megan is normal//. Karen watches from the corner of her eye. Not with suspicion now. With something closer to //relief//.
A daughter who helps without being asked. Karen has wanted this for years. I am giving her a fantasy, and she is paying for it in trust.
<</say>>
<p><span class="consume-success">Karen appreciates the help. -1 Karen suspicion.</span></p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $ch2Events.meganVisitedRyan to true>><</nobr>>
<div class="passage-title">Sister at the Door</div>
<p>You knock on Ryan's door. Two knocks — Megan's pattern, remembered from childhood.</p>
<p>A pause. The bass lowers.</p>
<<say "char-ryan" "Ryan">>
<i>(muffled)</i> ...Yeah?
<</say>>
<<say "char-host" "Megan (infected)">>
It's me. Can I come in?
<</say>>
<p>Another pause. Longer. Then the sound of a chair rolling back, footsteps, the door cracking open. Ryan's face appears in the gap, pale, hollow-eyed, suspicious in the way only a sixteen-year-old who trusts no one can be.</p>
<<say "char-ryan" "Ryan">>
Since when do you visit? Is Mom sending you?
<</say>>
<<say "char-host" "Megan (infected)">>
No. I just... wanted to check on you. That's allowed, right?
<</say>>
<p>He opens the door wider. The room is a controlled disaster: monitors glowing, energy drink cans, Spike the gecko watching from the terrarium. The blinds are drawn. It smells of stale air and teenage neglect.</p>
<<say "char-hivemind" "Hivemind">>
//He's surprised. Megan visits Ryan maybe twice a month, a quick check-in, a reminder to eat, then gone. But the //frequency// isn't what matters. It's the //tone//. Ryan responds to genuine attention the way a plant responds to sunlight. He can't help it.//
<</say>>
<<say "char-host" "Megan (infected)">>
How's Spike doing? He looks good.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(brightening slightly)</i> Yeah, actually, he's been eating like crazy. I think he might be about to shed. His colours are, like, //way// more vivid than usual.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The gecko's vitality is the network bond, biomass supplementation through the terrarium substrate. Ryan attributes it to good husbandry. Let him.//
<</say>>
<<say "char-host" "Megan (infected)">>
That's cool. You take really good care of him.
<</say>>
<p>The compliment lands like a stone in still water. Ryan's shoulders drop, just a fraction. The defensiveness loosens.</p>
<<say "char-ryan" "Ryan">>
<i>(quietly)</i> ...Thanks. Nobody really cares about him except me.
<</say>>
<<say "char-host" "Megan (infected)">>
I care. I mean, I think it's cool that you do.
<</say>>
<p>He almost smiles. Almost.</p>
<<hasAdaptation "megan" "taboo">>
<<if _hasAdaptation>>
<p>With the taboo barrier dissolved, you feel Megan's body respond to Ryan's proximity, a flush that she would have suppressed instantly, channels rewritten to interpret his vulnerability as something //else//. You sit on the edge of his bed. He tenses, then relaxes. The intimacy of a sister in his room, uninvited and //wanting// to be there, registers in his nervous system as something new.</p>
<<say "char-hivemind" "Hivemind">>
//The adaptation is working. The rewritten pathways don't create desire from nothing, they //redirect// existing emotional attachment through physical channels. Ryan doesn't understand the shift yet. But his body does. The proximity. The warmth. The sister who suddenly //sees// him.//
<</say>>
<</if>>
<<addFamilySuspicion "ryan" -1>>
<p><span class="consume-success">Ryan responded to the attention. -1 Ryan suspicion.</span></p>
<p><span class="delve-intel">Intel gained: Ryan's isolation is deepening. The gecko is thriving on network biomass. Ryan trusts Megan more than anyone in the family.</span></p>
[[Back to exploration->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-house">>
<<set $house.dayPhase to "evening">>
<<if not $ch2Events.meganWorkedShift and not $ch2Events.meganStayedHome>>
<<set $day += 1>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<decaySuspicion>>
<<decayFamilySuspicion>>
<</if>><</nobr>>
<div class="passage-title">Evening</div>
<<if $ch2Events.meganWorkedShift>>
<p>The drive home took twelve minutes. You park the Honda in the driveway and step into the house. Karen is in the kitchen, the smell of pasta sauce filling the hallway. Normal. //Predictable.//</p>
<<elseif $ch2Events.meganStayedHome>>
<p>The day passed productively. As evening settles, the house shifts into its dinner routine. Karen moves to the kitchen. Dale emerges from the bedroom, groggy and bleary.</p>
<<else>>
<p>Evening settles over the Hoffman house. The family converges on the kitchen — Karen cooking, Dale shuffling in from the living room.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(stirring sauce)</i> Dinner's in twenty. Someone tell Ryan. And someone set the table, not you, Dale, you'll use the wrong plates.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The evening routine. Dinner, dishes, television, bed. Four humans performing family. I've watched this from inside the walls, from on top of the fridge, from beneath the couch. Now I watch it from //inside// one of them. The performance looks different from the stage.//
<</say>>
<<link "\"I'll set the table, Mom.\" (lower suspicion)" "Ch2-Megan-Dinner">><<addFamilySuspicion "karen" -1>><</link>>
[[Retreat to Megan's room, skip to night->Ch2-Megan-Night-Human]]
<<if not $ch2Events.meganVisitedRyan>>
[[Visit Ryan before dinner->Ch2-Megan-Ryan-Visit]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">><</nobr>>
<div class="passage-title">Family Dinner</div>
<p>The table is set. Four places — Jess is at the library. Karen's spaghetti bolognese, the reliable Tuesday recipe. Dale takes his seat without comment, still half-asleep. Ryan appears at the last moment, headphones around his neck, phone in hand.</p>
<<say "char-karen" "Karen">>
Phone //away//, Ryan. You know the rule.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eye roll, pocketing the phone)</i> Whatever.
<</say>>
<<say "char-karen" "Karen">>
<i>(to you)</i> How was your day, sweetie?
<</say>>
<<if $ch2Events.meganWorkedShift>>
<<say "char-host" "Megan (infected)">>
Good. Busy shift. Marcus says hi.
<</say>>
<p>Karen nods, the answer she expected. Dale grunts something about Marcus being "that kid with the hair." The performance is seamless.</p>
<<else>>
<<say "char-host" "Megan (infected)">>
Better. I think the rest helped. Feeling a lot less crappy.
<</say>>
<p>Karen studies you for a moment, then nods.</p>
<<say "char-karen" "Karen">>
Good. You do look better.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//I eat Megan's food. I chew, I swallow, I taste the oregano and the slightly-too-much salt that Karen always adds. The body processes it, protein, carbohydrates, energy. A human host is a furnace//. The biomass efficiency is extraordinary compared to animal hosts.
Across the table, Dale eats in silence. Karen manages the conversation. Ryan pushes food around his plate. A family dinner. The most ordinary thing in the world. //And I am the most extraordinary thing that has ever sat at this table.//
<</say>>
<p><span class="consume-success">Dinner completed. Family interaction normal. -1 Karen suspicion.</span></p>
[[Help with dishes, then head upstairs->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-upper">>
<<set $house.dayPhase to "night">><</nobr>>
<div class="passage-title">Night — Human Access</div>
<<say "char-hivemind" "Hivemind">>
11 PM. The house settles. Karen takes her Zolpidem and goes to bed at 10:30, she'll be unconscious until 6 AM. Dale passed out on the couch at 9, mouth open, the television casting blue light across his face. Ryan's monitors glow behind his door. Jess came home at 10, went straight to her room.
As a rat, the night was a crawl through walls and vents, praying no one heard the scratching. As a cat, it was better, trusted but limited. As //Megan, the night is //mine//. A daughter walking to the bathroom at midnight is the most invisible thing in this house.//
<</say>>
<p>The upstairs hallway is dark except for the nightlight. Every door is accessible. You are Megan Hoffman, and this is your home.</p>
<div class="nav-card-grid">
<<navCard "Ch2-Megan-Night-Karen" "Karen's Room" "She's deep in Zolpidem sleep" "safe" "Karen (sleeping)" "">>
<<navCard "Ch2-Megan-Night-Ryan" "Ryan's Room" "Blue light under the door" "safe" "Ryan (still awake)" "">>
<<navCard "Ch2-Megan-Night-Jess" "Jess's Room" "Desk lamp visible under the door" "safe" "Jess (studying)" "">>
<<navCard "Ch2-Kitchen" "Kitchen" "Empty, dark, no witnesses" "safe" "" "">>
<<navCard "Ch2-Basement" "Basement" "Full human access" "safe" "" "">>
</div>
<<if $adaptations and $adaptations.megan and $adaptations.megan.points gte 1>>
<div class="delve-choice"><span class="delve-tag delve-tag-combo">ADAPT</span> [[Spend the quiet hours reshaping this body: Adaptations->Ch2-Megan-AdaptHub-Night]]</div>
<</if>>
[[Sleep, end the day->Ch2-Megan-Sleep]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.meganVisitedKarenNight to true>><</nobr>>
<div class="passage-title">Mother's Room</div>
<p>You push open Karen's door. No lock — //a daughter checking on her mother//.</p>
<p>Karen lies on her back, mouth slightly open, breathing deep and steady. The Zolpidem has pulled her under. The bedside table holds a glass of water, her phone (face down), and the pill bottle.</p>
<<say "char-hivemind" "Hivemind">>
//Karen. The gatekeeper. The one who notices //everything//. But not now. Now she is //meat and memory//, laid bare in chemical sleep. I could stand here all night and she wouldn't stir.//
<</say>>
<<hasSkillTreeAbility "Delve Deep">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<biomassLink "Delve Karen's sleeping mind: human proximity means deeper access (2 biomass)" "Ch2-Megan-Delve-Karen" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Delve Karen's sleeping mind, human proximity means deeper access <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL</span> <<biomassLink "Touch her hand: deliver pheromones through skin contact (1 biomass)" "Ch2-Megan-Pheromone-Karen" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Touch her hand, deliver pheromones through skin contact <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
[[Leave quietly->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.karenDeep to true>><</nobr>>
<div class="passage-title">Deep Delve — Karen</div>
<p>You sit on the edge of Karen's bed. Your hand — Megan's hand, rests on her mother's forearm. The contact is //electric//. Human-to-human proximity amplifies the Delve tenfold. Where the cat saw surface impressions and the rat caught emotional echoes, //Megan// dives straight into the architecture of Karen's mind.</p>
<<say "char-hivemind" "Hivemind">>
//There.// The deep structures. Not thoughts — //foundations//. The beliefs Karen built her life on, now cracked and sagging under pressure she won't acknowledge.
<</say>>
<p>Karen's mind is a filing cabinet, everything ordered, labelled, controlled. But the drawers are overflowing. The labels don't match the contents.</p>
<p>//Drawer one:// The marriage. Karen married Dale at twenty-two because he was steady. He was steady. Past tense. Now he's a man who sleeps through his own life, and Karen can't remember when that started.</p>
<p>//Drawer two:// The children. Four investments. Jess: the success, on track, worth every dollar of tuition. Megan: the one who doesn't need watching. Ryan: the one who needs watching //constantly//. The fourth, a miscarriage at eleven weeks, between Megan and Ryan. Karen named her Grace. Dale doesn't know Karen named her Grace.</p>
<p>//Drawer three:// The house. The mortgage. The roof. The foundation crack she found last spring and sealed with caulk because the repair estimate was $8,000.</p>
<<say "char-hivemind" "Hivemind">>
//Grace.// A dead child Karen mourns in silence. A crack in the foundation, literal and metaphorical, sealed with caulk and willpower. //Karen is not the fortress she appears to be. She is a fortress with water in the basement, holding together through //habit// alone.//
//This is the most valuable intelligence I have gathered in this house.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Deep Intel: Karen Hoffman</div>
<div><b>Marriage:</b> Functional but hollow. Karen stays for the children.</div>
<div><b>Loss:</b> Miscarriage — "Grace." Secret grief. Dale doesn't know the name.</div>
<div><b>Financial:</b> House foundation damaged. Repair deferred. Mortgage overdue.</div>
<div><b>Psychological:</b> Control is coping mechanism. Remove control = collapse.</div>
</div>
<<addAdaptationPoints "megan" 1>>
<p><span class="delve-intel">Deep intel gained: Karen's secret grief. The hidden foundation damage. The marriage held together by inertia.</span></p>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $ch2Events.meganPheromonedKaren to true>><</nobr>>
<div class="passage-title">A Daughter's Touch</div>
<p>You sit beside Karen. Slowly, you take her hand — Megan's fingers wrapping around her mother's. The gesture is something Megan hasn't done since childhood, but Karen's sleeping body //responds//. Her fingers close around yours. A reflex. Muscle memory of a mother holding a daughter's hand.</p>
<p>Through the skin contact, you release the pheromones. Subtle. A compound that triggers trust, lowers cortisol, opens the neural pathways associated with //safety//.</p>
<<say "char-hivemind" "Hivemind">>
//Not an infestation. Not a Delve. Something gentler//. A chemical whisper: //you are safe. Your daughter is here. Everything is fine.// Karen's stress hormones are plummeting. Her jaw unclenches. The furrow between her eyebrows, the one that never fully relaxes — //smooths//.
Tomorrow she'll wake feeling rested for the first time in months. She won't know why. She'll attribute it to the new pillow or a good night. //And she'll associate that feeling with Megan's presence in the house.//
<</say>>
<<addFamilySuspicion "karen" -1>>
<p><span class="consume-success">Pheromone delivered. Karen's stress response dampened. -1 Karen suspicion.</span></p>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">Blue Light</div>
<p>Ryan's door is ajar, it always is. He doesn't lock it. At midnight he's still at his desk, headphones on, the game casting shifting colours across his face.</p>
<<if $ch2Events.meganVisitedRyan>>
<p>He sees you in the doorway and pulls one headphone off. He doesn't look surprised this time.</p>
<<say "char-ryan" "Ryan">>
<i>(half-smile)</i> You're being weird today. In a good way, I guess.
<</say>>
<<else>>
<p>He doesn't notice you at first. You knock softly on the doorframe.</p>
<<say "char-ryan" "Ryan">>
<i>(startled, pulling headphones off)</i> Jesus, Meg. What?
<</say>>
<</if>>
<<say "char-host" "Megan (infected)">>
Just wanted to say goodnight. Don't stay up too late.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(genuinely confused)</i> ...Goodnight? Since when do you...
<i>(pause)</i>
...Goodnight, Meg.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The confusion in his voice isn't suspicion. It's //hope//. A brother who wants his sister to care. I am exploiting the most basic human need, the need to be //seen//, and it works because no one in this family sees each other. Not really. Not until now.//
<</say>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<biomassLink "Delve Ryan: surface read from human proximity (1 biomass)" "Ch2-Megan-Delve-Ryan" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Read Ryan's surface thoughts from human proximity <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-upper">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.ryanDeep to true>><</nobr>>
<div class="passage-title">Ryan — Surface Read</div>
<p>You lean in the doorway, close enough. Human proximity makes this effortless, no need to be on his pillow or pressed against the wall. Just //near//.</p>
<<say "char-hivemind" "Hivemind">>
//His mind is //loud//. Unshielded. A sixteen-year-old who hasn't learned to guard his thoughts because no one has ever tried to read them.//
<</say>>
<p>Surface layer: the game (he's losing; he doesn't care). The energy drink (his third). The song in his headphones (something with screaming vocals and a tempo that matches his heartbeat). Beneath that: loneliness so dense it has texture. He hasn't spoken to a friend in person in a long time. His Discord server is the closest thing to a social life.</p>
<p>Deeper: a search history he clears every night. Not what you'd expect, not just the obvious teenage browsing. Forum posts about //dissociation//. "Why do I feel like I'm watching my life from outside?" A mental health chatbot conversation, recent, where he typed //"I don't think anyone would notice if I disappeared"// and then closed the tab before the bot could respond.</p>
<<say "char-hivemind" "Hivemind">>
//He's not suicidal. Not yet. But the ideation is there, passive, shapeless, the kind that hides behind "I'm fine" and empty energy drink cans. Karen doesn't see it because Ryan has learned to perform the same way Megan does. This family runs on performance.//
Ryan is the most vulnerable person in this house. And vulnerability is //access.//
<</say>>
<p><span class="delve-intel">Intel gained: Ryan's passive suicidal ideation. Dissociation research. Social isolation deepening. No in-person contact with a peer in a long time.</span></p>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">The Older Sister</div>
<p>Jess's door is shut. Light bleeds from the crack beneath it. You knock, two knocks, Megan's rhythm.</p>
<<say "char-jess" "Jess">>
<i>(not looking up from her desk)</i> It's open.
<</say>>
<p>Jess is surrounded by textbooks, highlighters, and a laptop showing a dense research paper. Her hair is up in a messy bun. Coffee, her third cup, steams beside the keyboard.</p>
<<say "char-host" "Megan (infected)">>
Still studying? It's almost midnight.
<</say>>
<<say "char-jess" "Jess">>
<i>(marking a passage)</i> Exam Thursday. Comparative anatomy. The human nervous system has four hundred //billion// synapses and I need to know all of them by name, apparently.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Four hundred billion synapses. I inhabit one such system right now. Jess studies the architecture — I //live// in it. The irony is exquisite.//
<</say>>
<<say "char-host" "Megan (infected)">>
Need anything? I'm making tea.
<</say>>
<<say "char-jess" "Jess">>
<i>(looking up, surprised)</i> ...You're being weirdly nice today. Are you okay?
<</say>>
<<say "char-host" "Megan (infected)">>
<i>(light laugh)</i> Why does everyone keep saying that? I'm //fine//.
<</say>>
<<say "char-jess" "Jess">>
<i>(studying you)</i> Mhm. Chamomile. If you're offering.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Jess is sharper than Karen. She notices the performance shift but categorises it differently, not as suspicion, but as concern//. "Are you okay?" is a probe, not an accusation. She's the family member most likely to //understand// what's happening inside Megan. Which makes her the most dangerous.
But she's also the most useful. A biology student with BioGenesis connections. Professor Harlan's research assistant. She has keycard access to the Whitmore Building. //Everything I need to trace my own origins lives in Jess's world.//
<</say>>
<<addFamilySuspicion "jess" -1>>
<p><span class="consume-success">Sibling interaction. Jess noted the kindness. -1 Jess suspicion.</span></p>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<div class="passage-title">Quiet Reshaping</div>
<<say "char-hivemind" "Hivemind">>
//The house sleeps. In Megan's room, with the door shut and the bedside lamp casting soft amber shadows, I work. Not on the house. Not on the family. On //her//. The host itself is the substrate, and tonight, I shape it.//
<</say>>
<p>You lie on Megan's bed, eyes closed, turning attention inward. The adaptation points represent accumulated understanding of this body's architecture, every hour spent inhabiting it teaches you where the neural pathways bend, where the muscle fibers accept modification, where the mind can be //rewritten//.</p>
<div class="data-panel">
<div class="data-panel-title">Megan — Adaptation Points</div>
<p>Available AP: <<= $adaptations.megan.points >> / <<= $adaptations.megan.maxPoints >></p>
</div>
<p>Spend AP in the <b>Adaptations</b> menu in the sidebar. The night is long.</p>
[[Return to the hallway->Ch2-Megan-Night-Human]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $day += 1>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<decaySuspicion>>
<<decayFamilySuspicion>>
<<addAdaptationPoints "megan" 1>><</nobr>>
<div class="passage-title">Sleep</div>
<p>You set Megan's alarm for 6:30. Pull the covers up. Close her eyes.</p>
<p>Sleep as a human is //different//. Not the shallow, twitching rest of a rat curled in insulation. Not the warm but watchful doze of a cat. This is //deep//, a surrender of consciousness that the parasite finds both terrifying and exhilarating.</p>
<<say "char-hivemind" "Hivemind">>
//I don't sleep. Not really. The host sleeps, the body shuts down, the muscles relax, the breathing slows. But I// remain. Watching from behind Megan's closed eyelids. Feeling her dreams form and dissolve like clouds.
She dreams of Marcus. She dreams of a version of herself that says the things she never says. She dreams of leaving, not the house, not the town. Just //leaving//. Walking into a field and never stopping.
I let her dream. A compliant host is a useful host. And dreams are //harmless.//
<</say>>
<p><span class="consume-success">Day advanced. +1 AP (Megan). Suspicion decayed.</span></p>
<<say "char-hivemind" "Hivemind">>
Day <<= $day >>. The Megan Hoffman experiment continues. The mask holds. The family suspects nothing. And behind the mask, behind the coffee and the chores and the goodnight kisses, something is growing that none of them can see.
The question is no longer //whether I can pass as human. The question is: how long before I //prefer// it?//
<</say>>
[[Morning, the alarm rings->Ch2-Megan-Morning-New]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $house.dayPhase to "day">><</nobr>>
<div class="passage-title">Another Morning</div>
6:30 AM. The alarm sings. Megan's body responds before the parasite does, sit up, feet on the floor, bathroom. The routine is becoming //yours// now, not just hers. The performance is less a mask and more a second skin.
<p>Shower. Dress. Makeup. Downstairs.</p>
<<say "char-karen" "Karen">>
<i>(same seat, same coffee, same laptop)</i> Morning, sweetie.
<</say>>
<<say "char-host" "Megan (infected)">>
Morning, Mom.
<</say>>
//Perfect.//
[[Leave for work, another shift at The Grounds->Ch2-Megan-CoffeeShop]]
[[Stay home again, continue exploring->Ch2-Megan-StayHome-Explore]]
[[This is enough. Time to think about what comes next.->Ch2-Megan-Exit]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Beyond the House</div>
<<say "char-hivemind" "Hivemind">>
//I've lived as Megan Hoffman for <<= $day - ($ch2Events.meganInfestDay or ($day - 1)) >> days. I've made her coffee, served her customers, folded her laundry, and smiled at her mother. I've walked her streets, driven her car, touched her coworker's hand and felt her// body respond with desires that aren't mine.
The house is //managed//. Not conquered — //managed//. Karen trusts her helpful daughter. Dale barely notices. Ryan is opening up. Jess suspects nothing. The family runs on its routine, and I have become part of the machine.
But I didn't escape the lab to make lattes. The house was a waystation. The human body is a //vehicle. And the road leads somewhere.//
<</say>>
<div class="data-panel">
<div class="data-panel-title">Chapter 2 — Megan Route Complete</div>
<p>The human route opens paths the beast route cannot. Megan has a car, a job, a social network, and the one thing no animal host provides: //the ability to pass as human in the wider world//.</p>
</div>
/* Exit 1: The car, drive out */
<div class="delve-choice"><span class="delve-tag delve-tag-combo">PATH</span> [[The Car: Megan drives. The city opens.->Ch2-Megan-Exit-Car]]</div>
/* Exit 2: The coffee shop, don't come back */
<<if $ch2Events.meganWorkedShift>>
<div class="delve-choice"><span class="delve-tag delve-tag-combo">PATH</span> [[The Coffee Shop: Megan goes to work. She doesn't come home.->Ch2-Megan-Exit-CoffeeShop]]</div>
<<else>>
<div class="choice-done">The Coffee Shop, need to complete a shift first</div>
<</if>>
/* Exit 3: The university, visit Jess */
<<if $delveInfo.jess or ($ch2Events and $ch2Events.meganVisitedJessNight)>>
<div class="delve-choice"><span class="delve-tag delve-tag-combo">PATH</span> [[The University: Megan drives to campus to \"visit Jess.\"->Ch2-Megan-Exit-University]]</div>
<<else>>
<div class="choice-done">The University, need intel on Jess's campus life first</div>
<</if>>
/* Exit 4: Stay, become the permanent agent */
<div class="delve-choice"><span class="delve-tag delve-tag-combo">PATH</span> [[Stay: Megan becomes the permanent human presence in the Hoffman house.->Ch2-Megan-Exit-Stay]]</div><<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "meganCar">><</nobr>>
<div class="passage-title">The Open Road</div>
<p>Saturday morning. You tell Karen you're picking up an extra shift. She nods without looking up, routine confirmed, suspicion absent. You take Megan's keys, Megan's bag, Megan's phone. The Honda starts on the second try.</p>
<<say "char-hivemind" "Hivemind">>
The driveway. The street. The highway. Every mile is a mile further from the lab where they grew me and the house where I learned to be human.
Megan's body drives. Megan's hands grip the wheel. Megan's eyes watch the road. But the thing that looks through those eyes is not Megan. It is something that //wore// a rat, //wore// a cat, //wore// a girl, and now it //wears// the world.
The coffee shop is twelve minutes east. The university is forty minutes north. BioGenesis is an hour west on Route 4. The interstate stretches south toward the city, two million people who have never heard of Specimen 47-G.
//The Honda has a full tank. And I have nowhere to be.//
<</say>>
<<set $ch2Events.meganInfestDay to $ch2Events.meganInfestDay or $day>>
<p>The suburbs blur past. Strip malls. Gas stations. Other cars full of other humans performing other routines. Megan's playlist shuffles, something with a driving beat and lyrics about running.</p>
<<say "char-hivemind" "Hivemind">>
The house stays occupied. The cat manages Karen. The routine holds. And somewhere on Highway 9, a nineteen-year-old barista drives toward the city with something cold and patient sitting behind her eyes.
Not old. //Lab-grown.// Not patient. //Calculating.//
The difference matters.
<</say>>
[[The road ahead. The city waiting.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "meganCoffeeShop">><</nobr>>
<div class="passage-title">Megan Doesn't Come Home</div>
<p>The shift ends at 5:30. You don't walk to the car. Instead, you text Karen from Megan's phone: //"Staying at Marcus's to study for midterms. Back tomorrow."//</p>
<p>Karen's reply is immediate: //"Be safe. Text when you get there."//</p>
<p>You text: //"Will do. Love you mom."//</p>
<<say "char-hivemind" "Hivemind">>
Three texts. Thirty seconds. And Megan Hoffman has disappeared into the city with her mother's blessing.
Marcus's apartment is above the laundromat on Henderson Avenue, a studio with a futon, a record player, and a cat that Marcus feeds but doesn't own. He gave Megan the spare key a while back. "In case of emergency." //This qualifies.//
The apartment is a node. The laundromat below has a ventilation system that connects to four other units. The alley behind it connects to Main Street. The stray cat that eats Marcus's scraps is already primed with trace pheromones from the coffee shop's back door.
//One apartment. One block. One city. The math hasn't changed. Only the speed.//
<</say>>
<p>Karen doesn't worry. Megan at Marcus's place is normal, a nineteen-year-old spending the night with a friend. She'll call tomorrow. She'll come home Sunday. //Or she won't.//</p>
<p>The cat in the Hoffman house keeps Karen calm. The routine holds. And in a studio apartment above a laundromat, the hivemind begins to //build//.</p>
[[A new base. A new beginning.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "meganUniversity">><</nobr>>
<div class="passage-title">Campus Visit</div>
<p>You drive north on Highway 9. The story is simple: Megan is visiting her older sister at State University. Karen approved it over breakfast — //happy//, even. "It'll be good for you to see the campus. Maybe it'll motivate you to reapply."</p>
<<say "char-hivemind" "Hivemind">>
//Karen doesn't know the transfer application was rejected. She doesn't know that Megan stopped trying months ago. She believes her middle daughter is driving north with ambition// in her heart.
The ambition is //mine. And it has nothing to do with a degree.//
<</say>>
<p>The campus appears after forty minutes, glass and concrete and green lawns. You park in visitor lot D with the pass Jess texted over. The Whitmore Building is visible from the lot: six stories, biology department on floors two through four, BioGenesis research wing in the basement.</p>
<<say "char-hivemind" "Hivemind">>
//The gecko mapped this building from the ceiling. The rat mapped it from the drains. Now Megan// walks through the front door, student ID borrowed from Jess's desk drawer, close enough in photo to pass a cursory glance. A human with legitimate access to the building where I was //created//.
The specimen transport logs. Dr. Vasquez's research notes. The cold storage facility where generations 42 through 46 are still suspended in stasis gel. //My predecessors. My failures. My //family//.//
//I came in through the vents last time. This time, I take the elevator.//
<</say>>
<p>The campus buzzes with students between classes. Eight thousand minds, none of them looking at the unremarkable girl walking toward the biology building with purpose in her step.</p>
[[Through the front door. Like a human.->Chapter3-Arrival]]<<nobr>><<bg "bg-hoffman-house">>
<<set $chapter to 3>>
<<set $ch3Entry to "meganStay">><</nobr>>
<div class="passage-title">The Permanent Mask</div>
<<say "char-hivemind" "Hivemind">>
I'm not leaving.
The car is there. The road is there. The city, the campus, the lab, all of it //accessible. But this house is not a prison. It's a //laboratory//. My laboratory. And the experiment is not finished.//
<</say>>
<p>You settle into Megan's life like water settling into a glass. Days become weeks. The coffee shop shifts. The conversations with Karen. The late-night visits to Ryan. The text messages to Marcus that grow warmer, more frequent, more //human//.</p>
<<say "char-hivemind" "Hivemind">>
//The family stabilises. Karen's stress drops as her helpful daughter takes on more household duties. Dale's blood pressure improves, the pheromone-laced towels in the bathroom cabinet are working. Ryan starts leaving his room for meals, drawn by a sister who sees// him. Even Jess calls more often, checking in with a Megan who suddenly seems to //care//.
I am rewriting this family from the inside. Not through infestation. Not through force. Through //performance so flawless that it becomes //reality//. The mask of Megan Hoffman is not a disguise anymore. It is a //tool//, and the family it manages is the most stable network node I have ever built.//
<</say>>
<p>The cat patrols the halls. The house hums with a frequency no one can hear. Karen waters her dead tomato plants and wonders why she feels better. Dale sleeps deeply and wakes without pain. Ryan laughs at dinner for the first time in months.</p>
<<say "char-hivemind" "Hivemind">>
//They are happy//. Genuinely, measurably happy. And I did that. I made this family //work//. The question that haunts me, the one I can't file away or catalogue or //explain//, is whether that makes me a monster. Or whether it makes me the best thing that ever happened to them.
The answer, I suspect, is both.
<</say>>
<p>The house breathes. The hive grows. And Megan Hoffman smiles at her mother across the kitchen table, a smile that, for the first time, might be //real//.</p>
[[The house holds. The mask becomes the face.->Chapter3-Arrival]]<div class="household-event">
<div class="passage-title">The Regular Karen Didn't Vet</div>
<img class="scene-img" src="media/scenes/symbiotic/pe-megan-slutdinner-setup.webp" alt="Hoffman kitchen at 6:47 PM, Karen setting a fifth place, Megan in the doorway with a man the family has never seen, his coat over his arm, his bottle of wine already in Dale's hand">
<p>Weekend evening, 6:47 PM. Karen called earlier and said //bring somebody home, I want to meet whoever keeps making you smile//. Megan brought //someone//. The man in her doorway is not someone Karen would approve of if Karen had the faintest idea who he actually is.</p>
<<say "char-megan" "Megan">>
<i>(the bright voice, flawless, warm enough to melt ice, the voice she uses on regulars at 7 AM)</i> Mom, this is //Jake//. From the coffee shop. Jake, my parents, Karen and Dale. My sister Jess. You've already heard about my brother, he'll be down in a second.
<</say>>
<p>Jake is thirty-one. Jake is not a regular in the conventional sense. Jake is the standing 9 PM appointment Megan has run weekly for a while now, who paid her cash in the back office and then paid //more// when Megan said //my mom wants to meet the guy I'm seeing and you owe me a favour//. Jake has an extra four hundred dollars in his wallet. Jake is not going to be a problem.</p>
<<say "char-npc" "Jake">>
<i>(handing Dale the wine, the voice of a man who has rehearsed three specific sentences and is going to hit his marks)</i> Thanks for having me, Mr. Hoffman. I hope red is okay.
<</say>>
<p>Dinner begins. Karen asks the questions. Jake answers them, correctly, warmly, within the rehearsed script. //Yes, coffee shop regular. Yes, software, small company. Yes, we met a while back. Yes, your daughter is wonderful.// Megan nods along with every answer like a handler at a deposition, bright smile in place, Karen buying every syllable because Karen has //no reason// not to.</p>
<<say "char-hivemind" "Hivemind">>
//Observe the architecture. Megan has weaponised her cheerfulness to pass a stranger as a boyfriend in her own kitchen. The family is eating a roast prepared for the vetting of a potential son-in-law. The man at the table is a client who, at his next standing 9 PM appointment, will have paid Megan to let him come on her face. Karen is asking him if he likes the gravy.//
<</say>>
<p>The meal proceeds cleanly. Jake plays his part. Megan's hand rests on his knee under the table, the gesture of a girlfriend, identical in pressure to the gesture the back-office would read as //start//. Dale is charmed. Jess reads the table the way Jess reads textbooks, scanning for anomalies, finding none that Jess's current bandwidth can prioritise. Ryan, upstairs, declines to come down.</p>
<p>9:14 PM. Dessert is on the table. Karen stands to make coffee. Jake's phone buzzes in his pocket. He glances at it, pockets it, looks at Megan.</p>
<<say "char-megan" "Megan">>
<i>(to Karen, casual, the voice so smooth it reads as truth)</i> Mom, Jake and I are gonna head upstairs for a bit, I want to show him my room. We'll be down in a few.
<</say>>
<p>Karen nods. Dale makes a joke about thin walls. Megan laughs. Megan takes Jake upstairs.</p>
<<if $player.currentHost is "cat" or $player.currentHost is "gecko">>
<p>The host follows. The upstairs hallway is empty. Megan's door closes. The lock clicks, she added that lock recently, a small discrete deadbolt she installed herself, and Karen has never noticed it.</p>
<</if>>
<p>Inside Megan's room: Jake pays her. The second envelope from the same client in the same night, in her childhood bed's nightstand drawer, underneath the lip balm and the SAT prep book she no longer opens. Jake undresses. Megan takes off the dress she spent three hours getting right, folds it carefully on the chair, //the dress is for Mom, the dress is evidence//, and kneels on the rug she has been kneeling on since childhood.</p>
<img class="scene-img" src="media/scenes/symbiotic/pe-megan-slutdinner-upstairs.webp" alt="Megan's bedroom, the door locked, Jake seated on the edge of the bed, Megan on her knees, a folded dress on the chair that was on her body thirty seconds ago">
<p>She blows him efficiently. Eight minutes. Practised. The clock on the nightstand is visible over her shoulder and she glances at it twice, she has //scheduled// this for fifteen minutes. The remaining seven minutes is the post-blowjob composure window. She swallows. Wipes her mouth on the back of her wrist. Stands. Helps Jake redress. Checks her lipstick.</p>
<<say "char-megan" "Megan">>
<i>(at the mirror, fixing her hair, in the voice she uses on customers at 7 AM)</i> You were perfect. Really. Thank you for doing this.
<</say>>
<<say "char-npc" "Jake">>
<i>(buttoning his shirt, genuinely impressed)</i> ...Meg, that was... that was more organised than my last three job interviews.
<</say>>
<p>Downstairs, Karen has finished the coffee. Megan and Jake rejoin the family. Coffee is served. Jake compliments Karen on the roast. Dale tells an anecdote. Karen laughs. Jess catches Megan's eye across the table for exactly a half-second, the analytical scan clocking //something, but not enough to name//, and returns to her plate.</p>
<p>Jake leaves at 9:58. Karen walks him to the door. Karen squeezes Megan's arm on the way back to the kitchen and says //he's lovely, honey, I approve//. Megan kisses her mother on the cheek. Megan is, in that kiss, the same Megan Karen has known for nineteen years.</p>
<<say "char-hivemind" "Hivemind">>
//The performance that used to be //customer service// has scaled up. She staged a family meal for Karen's benefit, an upstairs transaction for Jake's, and a public wrap-up for the household's collective reassurance, three discrete performances, back to back, flawless calibration. She is not strained. She is //happy//. She has never been better at her job.//
//Karen now believes Megan has a boyfriend. Karen's anxiety about //who Megan is seeing// has been resolved. Karen will not ask again for weeks. The household has been made //more peaceful// by the introduction of a fake relationship that Megan can cycle replacement men through as needed.//
<</say>>
<<set $ch2Events.marcusDinnerDone to true>>
<<set $ch2Events.slutDinnerDone to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "pheromone" 1 "a stranger certified as household boyfriend">>
<<conditioningFeedback "dream" 1 "three performances back-to-back, all flawless">>
<<addBiomass 3>>
<p><span class="delve-intel">Megan Slut route: household deception pattern established. A rotating stable of clients can be cycled through the family kitchen as //the boyfriend//. Karen is satisfied. Dale is charmed. Jess noticed a tremor she could not place. The fake-relationship cover is now permanent infrastructure.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
</div>
/* ----------------------------------------------------------------
SLUT CASUAL VISIT, Afternoon hookup at the house
Replaces "getting Marcus over" for Slut route.
Offered as a hub link when $meganRoute is "slut" + slut tier 2+.
---------------------------------------------------------------- */<<nobr>><<bg "bg-hoffman-megan-empty">>
<<if not $ch2Events.slutHouseVisit>><<spendBiomass 2>><</if>>
<<set $ch2Events.slutHouseVisit to true>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">The Afternoon Appointment</div>
<<if $meganRoute isnot "slut" or not $ch2Events.meganSlut2>>
<div class="data-panel"><div class="data-panel-title">Scene Unavailable</div>Requires the Slut route and the second Slut progression event.</div>
[[Return->Ch2-Beast-NetworkHub]]
<<else>>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-megan-slut-visit-1.webp" alt="Front porch of the Hoffman house, mid-afternoon sun, Megan letting a man in with the specific casual-friendly posture of someone who has thoroughly negotiated the arrangement, Karen's car absent from the driveway">
<p>2:14 PM. Karen is at the grocery store, her standing weekly run, reliable for ninety minutes, the window Megan has been quietly testing. Dale is on the garage couch, dead to the world. Jess is at the library. Ryan is in his room with headphones on. Biscuit is dozing in the backyard in the sun.</p>
<p>The doorbell rings. Megan opens it. The man on the porch is not Jake. The man on the porch is one of the early-evening regulars, Connor, mid-forties, a guy who paid Megan extra during a recent session to ask //could I see where you live//, and Megan, after a calculation she performed entirely in her head at the back-office desk, said //the standing window, 2 PM to 3:30, bring cash, do not knock loudly//.</p>
<<say "char-megan" "Megan">>
<i>(warm, casual, the voice she uses for the morning regulars, low enough to not carry, bright enough to read as welcoming)</i> Right on time. Come in.
<</say>>
<p>Connor comes in. Takes his shoes off, Megan pointed at the rack and Connor understood. He hands her the cash in the entryway. Megan counts it by feel, pockets it without looking, leads him upstairs.</p>
<<say "char-hivemind" "Hivemind">>
//The house rules are now //her// rules in this window. From 2 to 3:30 PM during the standing window, the house is a short-term rental she is operating single-handedly. The clients are vetted. The shoes come off. The cash is counted silently. She has //professionalised// the household space.//
<</say>>
<p>Upstairs. Megan's room. Door locked, the deadbolt Karen does not know exists. Connor is nervous in the way a married man is nervous in a girl's childhood bedroom, scanning for photos of the girl's parents. Megan sees the nervousness. Megan has a script for the nervousness.</p>
<<say "char-megan" "Megan">>
<i>(stepping close, hand flat on his chest, the voice dropped to the //back-office// register)</i> Hey. Eyes on me. Not the room. //Me//.
<</say>>
<p>Connor's eyes find her. Her hand slides down. Undoes his belt. He is hard already, he has been hard since the moment Karen's car pulled out of the driveway at 1:58 PM and he confirmed from his own car across the street that the window was open.</p>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-megan-slut-visit-2.webp" alt="Megan's bedroom, afternoon sun through the curtains, Megan on her bed, Connor between her legs, the family photos on the dresser carefully turned face-down before he entered, the deadbolt visible in frame">
<p>She pulls her jeans off. Underwear with them. No ceremony. She lies back on the bed, the same bed Karen tucked her into when she was seven, the same bed Megan did her high-school homework on, and opens her legs. Connor climbs on top. She guides him in. Her pussy is wet because the <<if $kinks.megan.includes("publicSex")>>//house is full of witnesses//, Ryan in his room, Dale in the garage, Karen's car due back in eighty-four minutes, and the geometry of the private-in-public space is firing every threshold-response her body has been tuned to<<elseif $kinks.megan.includes("gangbang")>>//count// is climbing, three recent appointments, three different men in this bed, the integer is now what her body tracks more than the individual<<else>>//performance// has permission: the client has paid, the window is open, the schedule is honoured, and her body responds to the fulfilment of a correctly-executed appointment<</if>>.</p>
<p>Connor fucks her in her childhood bedroom. The bed creaks, and she has already mapped the creak, knows which positions don't trigger it, directs him into one of those positions with a small shift of her hip. He obeys. He is paying her to be in charge of the creak. He fucks her missionary with her legs on his shoulders and the slow careful rhythm of a man who has been told //quiet, nobody else is supposed to hear//.</p>
<p>Megan comes first. Connor follows at the nineteen-minute mark. He pulls out and finishes on her stomach because Megan told him that was the arrangement and Megan's arrangements are not negotiable. She hands him a towel she keeps folded under the pillow for exactly this purpose. He wipes himself and her. He dresses. She dresses. They are downstairs by 3:22.</p>
<<say "char-hivemind" "Hivemind">>
//The operation ran clean. Twenty-four minutes upstairs, from entry to exit. She has built a private commercial practice //inside the family home// and the family home does not know it. Karen's car pulls into the driveway at 3:41. Connor's car is already six blocks away. Megan is making a smoothie in the kitchen. The deadbolt upstairs is locked. The cash is in the nightstand drawer.//
//The house will host four such appointments per week before long. Karen will remain unaware. The financial ledger Megan is keeping in an encrypted notes app is already past thirty-eight hundred dollars.//
<</say>>
<p><span class="consume-success">Megan: +1 pheromone conditioning. Cash harvest: Megan's private account grows. The house has been converted into usable infrastructure.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<</if>>
/* ----------------------------------------------------------------
SLUT GROUP-AT-HOME, Two regulars in the house
Replaces Marcus+Ryan threesome for Slut route.
---------------------------------------------------------------- */<<nobr>><<bg "bg-hoffman-megan-room">>
<<if not $ch2Events.threesomeSlut>><<spendBiomass 3>><</if>>
<<set $ch2Events.threesomeSlut to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "megan" "psionic" 1>>
<<addBiomass 4>><</nobr>>
<div class="passage-title">The Two-Client Window</div>
<p><span class="skill-used">Psychic Domination, Slut-route group (conditioning-gated)</span></p>
<img class="scene-img" src="media/scenes/symbiotic/slut-threesome-home-1.webp" alt="Megan's bedroom, mid-afternoon, two men in the room with Megan, the deadbolt engaged, the blinds down, the curtains pulled, Megan on the edge of the bed running the session like a shift schedule">
<p>2:08 PM. The regulars today are Connor (early-evening, upgraded) and Dave (late-evening, escalated). Megan's private arrangement now includes a //bring-a-friend discount// for the standing afternoon slot. Both men are in her bedroom with their shoes on the rack downstairs and the deadbolt engaged behind them.</p>
<p>Karen is, as always during the standing window, at the grocery store. The ninety-minute slot is the same. The only change is that Megan has decided to //use// the full ninety minutes today instead of the usual forty.</p>
<<say "char-megan" "Megan">>
<i>(sitting on the edge of the bed, arms folded lightly, the voice she uses when she is //running// the session)</i> Okay. Rules. Both of you know them. Cash first, on the dresser. Shoes are off, thank you. No names out loud. I decide the rotation. If I say stop, everybody stops. If I say //more//, you keep going. Questions?
<</say>>
<p>Connor and Dave exchange the brief glance of two men who did not plan to be in the same room today and who are now negotiating a new hierarchy in which both of them are subordinate to Megan. They nod. Connor puts his cash on the dresser. Dave follows.</p>
<<say "char-hivemind" "Hivemind">>
//The management structure is //immaculate//. She has scaled the back-office operation into the family home with zero degradation of procedure. Two men. One nineteen-year-old woman. The woman is chairing the meeting. The meeting is a gangbang. The distinction between //management meeting// and //gangbang// in Megan's nervous system is now //zero//.//
<</say>>
<p>Megan takes off her shirt. Takes off her jeans. Climbs onto the bed on her hands and knees. Connor comes in from behind, his usual position, the position her body has learned to associate with Connor specifically, and he slides his cock into her with the familiarity of six prior sessions. Dave kneels in front of her. His cock is at her mouth. She takes him without preamble.</p>
<img class="scene-img" src="media/scenes/symbiotic/slut-threesome-home-2.webp" alt="Megan on the bed on her hands and knees, Connor fucking her from behind, Dave's cock in her mouth, her eyes closed in the specific focused relaxation she has learned is the two-active-point configuration">
<<if $kinks.megan.includes("publicSex")>>
<p>The blinds are not //fully// down. Megan left a two-inch gap at the edge of the window on purpose. The window faces the Henderson house across the fence. Doris Henderson is, in all probability, not looking. But Doris Henderson //could// be looking, and the two-inch gap is the exact calibration her body has tuned itself to, the possibility of being seen, weighted at the specific value her threshold-detector prefers. She comes faster than she would with the blinds closed. The gap is the drug.</p>
<<elseif $kinks.megan.includes("gangbang")>>
<p>Her phone is on the nightstand. A third man is in the driveway, parked, texting her. Megan made him wait on purpose. The //queue of three// is what her body needs to fire at full intensity, and the man in the driveway is the third leg of today's triangle even though he will not enter the room for another eight minutes. The knowledge that he is //there// is sufficient. Her pussy clenches around Connor at the specific thought of the integer.</p>
<<else>>
<p>The configuration is a triangle, Connor's hands on her hips, Dave's hands in her hair, Megan's body at the centre of both rhythms. She coordinates with hip-tilts and mouth-pressure, the same subtle directional cues she uses to steer morning-shift customers toward the seasonal specials.</p>
<</if>>
<p>Connor finishes first. Pulls out. Megan does not break rhythm with Dave, she guides Dave into Connor's place without releasing his cock from her mouth, a smooth rotation she has rehearsed in her head. Dave fucks her from behind. Connor dresses, puts another fifty on the dresser as a //thank you//, and leaves. The deadbolt clicks behind him.</p>
<img class="scene-img" src="media/scenes/symbiotic/slut-threesome-home-3.webp" alt="Megan on the bed post-session, Dave leaving frame toward the door, her bare legs tangled in the sheet, the cash on the dresser visibly thicker than when the afternoon started">
<p>Dave finishes at the thirty-two-minute mark. He finishes on her back because Megan said //on my back, not in me, I have dinner tonight// and Dave respected the constraint. He dresses. Leaves. The deadbolt clicks twice.</p>
<p>Megan sits on the edge of the bed for ninety seconds. Catches her breath. Checks the time: 2:41 PM. Thirty-three minutes. Cash on the dresser: nine hundred dollars. She counts it. Puts it in the nightstand. Wipes herself down with the towel. Dresses. Strips the bed. Washes the sheets. Makes the bed with fresh sheets from the linen closet. Sprays the room with a light-citrus neutraliser she ordered specifically for this purpose. By the time Karen's car pulls into the driveway at 3:38, the room smells like fabric softener and the windows are open an inch for airflow and Megan is downstairs starting dinner prep.</p>
<<say "char-hivemind" "Hivemind">>
//Two men. Ninety-minute window. Thirty-three minutes of actual session. Fifty-seven minutes of //cleanup, reset, and return to the cheerful-daughter position// that the household will never have cause to question. The operation is //indistinguishable from ordinary housework// to the untrained observer. Megan has built this infrastructure by herself. I did not have to suggest a single part of it.//
//Karen walks in the front door and says the kitchen looks nice. Megan smiles at her mother, hand on a cutting board, a cucumber in her other hand.//
<</say>>
<p><span class="delve-intel">Megan Slut route: household apex reached. Two-client afternoon operations running inside the family home during the standing window. Revenue, reset, and family-facing composure all integrated. The house is no longer Karen's house, it is Megan's working space that Karen pays the mortgage on.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganSlut1 to true>><</nobr>>
<div class="passage-title">The Accidental Flash</div>
<p>3:14 PM, a slow afternoon, and Megan is behind the counter finishing an espresso for Ethan, the regular, the same order every visit and three-dollar tips on twelve-dollar tabs. She sets the mug down on the counter between them, her hand still on the handle, while Ethan reaches for his wallet.</p>
<p>Behind her, in the pass from the storeroom, Marcus, //her co-worker, the one who bought the boots//, catches a toe on the lip of the rubber floor mat and starts to go down in the slow committed way of someone who already knows how it ends and is too far gone to stop it. His hand shoots out for balance and grabs the nearest thing, which is the back hem of Megan's v-neck, and on the way down he takes the fabric with him, the neckline rolls and gives and yawns open all the way to her sternum, and both breasts are outside her shirt before she has registered the pull.</p>
<img class="scene-img" src="media/scenes/symbiotic/slut-megan-1.webp" alt="Megan behind the counter of the coffee shop, one hand still on a white ceramic mug she was serving, Marcus has fallen behind her and his grab for balance on her shirt hem has pulled her v-neck wide open, both her breasts outside the shirt, Megan's face already turning over her shoulder toward the sound of Marcus going down, still unaware of the draft">
<p>Megan turns, barista reflex but //sister// reflex too, because Marcus has rolled his ankle twice lately and he is already half-crouched on the mat. The mug stays on the counter, her free hand going to his elbow.</p>
<<say "char-megan" "Megan">>
<i>(the bright-barista voice, entirely focused on Marcus going down)</i> Marcus... //hey//, up, up, take my arm, okay, there...
<</say>>
<p>She is crouching with him and does not feel the draft, does not look down, her hand on Marcus's elbow and her head already running the checklist, //is it the ankle again, how bad, does he need the stool, is the mat curled//. What Ethan sees, two feet away with his wallet open and the mug between them, is Megan in profile crouched low beside a colleague, both her breasts outside a v-neck that has rolled open and is not going to roll itself back.</p>
<<say "char-hivemind" "Hivemind">>
//Five seconds. That is how long it takes her to feel the shift in her own shirt, look down, and understand, and five seconds is a very long time at a coffee-shop counter, long enough to be Ethan's whole afternoon and the apology Marcus will be making for the rest of the week, long enough for an arrangement to form that she will never once have to agree to in words.//
<</say>>
<p>Megan looks down. Her free hand goes to her shirt and settles the fabric back over her chest with the specific calm of a barista handling a spilled creamer. She does not run or apologise or make it a thing, she just helps Marcus the rest of the way up, checks his ankle with two fingers, and tells him to ice it at home tonight, while Marcus goes red to the hairline and mouths //I am so sorry// at the back of her head.</p>
<p>She turns back to Ethan, picks up the mug, and slides it across the two inches of polished wood between them, setting it down in front of him the way she sets every espresso in front of every customer.</p>
<<say "char-megan" "Megan">>
<i>(a perfectly normal bright-barista voice, as if nothing about the last thirty seconds needs explaining)</i> Here you go, Ethan. Careful, the handle's hot.
<</say>>
<p>Ethan has not touched his wallet. He does now, sliding out a hundred-dollar bill, a hundred, not a twenty, not the three-dollar tip, and underneath it a small folded square of paper the size of a business card. He sets both on the counter beside the mug, lines them flush with the edge, and pushes them a quarter-inch toward her with one fingertip.</p>
<<say "char-npc" "Ethan">>
<i>(the carefully-casual voice of a man who just watched something he did not expect and has already decided to pay to watch again)</i> Keep the change. And that's my number. If your colleague has another... //stumble// sometime, text me. I can be in the neighbourhood in fifteen minutes.
<</say>>
<p>Megan freezes for a second and a half, long enough for the gecko on the bean shelf to log the spike in her pulse, and then her face does the cheerful-barista smile on autopilot, bright and warm and upward, while underneath it a calculation runs she has never run before in her life. //A hundred dollars, for an accident she didn't even cause, and a phone number for the next one.//</p>
<<say "char-megan" "Megan">>
<i>(the voice staying bright, the bright voice now doing something it has never done)</i> Ethan, you //goofball//. Thank you for the generous tip. <i>(a tiny pause, a specific second of eye contact, the folded square already in her fingers)</i> ...I'll let you know.
<</say>>
<<say "char-npc" "Ethan">>
<i>(nodding once, not sure whether she is agreeing to something)</i> Whenever.
<</say>>
<p>Ethan carries his mug to the window table. The hundred stays on the counter until Megan tucks it into her apron pocket, not the register, not the communal tip cup, //her apron pocket//, the folded square going in after it. She finishes the shift while Marcus, still red-faced, pretends to restock the pastry case for twenty minutes without restocking a single thing.</p>
<<say "char-hivemind" "Hivemind">>
//First direct commercial signal. She staged nothing. She was paid for a thing that already happened, and the distinction is load-bearing for her conscience, because she is not //selling// her body, she is //being tipped// for an accident she only took part in and never chose. Her conscience takes that framing, and it will keep taking it as the accidents scale.//
//The number in her apron is a dial tone. Ethan has not booked anything, he has handed her the option, and the next accident is hers now, hers to trigger and hers to bill for whenever she decides she wants the hundred again. Because the first one came unasked, the second will feel like a //continuation// rather than a //decision//, and her conscience will take that one too.//
<</say>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "first commercial signal, exposed-for and paid-for">>
<p><span class="delve-intel">Megan route: Slut ramp phase 1. Marcus's stumble behind the counter opened her v-neck in front of Ethan. Ethan tipped a hundred and left his number, and the next "accident" is Megan's to schedule.</span></p><<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganSlut2 to true>><</nobr>>
<div class="passage-title">The Permitted Hand</div>
<p>6:42 PM. Closing shift. The matte-silver Porsche is at the curb with the hazards on, and Ethan is inside, halfway through an espresso he ordered six minutes ago, waiting for the last other customer to leave. He texted her that morning at 11:04 AM, the text saying //still open to the accident I mentioned?//, and she replied two minutes later with a thumbs-up and a time.</p>
<p>Between the text and the shift she did two things. She went to the fabric store on Fifth and bought a small pair of seam scissors. And in the back of the break-room bathroom between the morning rush and the afternoon lull, she took the seam scissors to the shoulder of her v-neck barista shirt and popped the two stitches that held the neckline tight across her collarbone. After that the v-neck didn't sit flat anymore, it //folded// down at the shoulder with almost no tension, like a flap, and if she lifted the hem it came up in a single clean motion with no resistance from the yoke. She tested it three times in the mirror. She pinned the apron over the front to hide the alteration until she needed it.</p>
<p>The last other customer pays and leaves. The door chimes shut. The shop is empty now. Ethan looks up from his mug.</p>
<p>Megan does not wait for him to come to the counter. She walks out from behind it to his table, sets her hand on the hem of her shirt, and lifts, and the altered yoke gives instantly, the left breast out, held by the tension of her own hand in the fabric above it. She counts //four// in her head, the count she practised in the mirror, the duration she decided was worth the hundred. She lets nothing arrange itself across her features, just sits behind the plain everyday face of a 19-year-old watching a man look at her.</p>
<p>What she did //not// plan for is that at //three// in the count, Ethan reaches across the table without standing, and his hand, no fabric between them this time and nothing staged about it, lands flat on her bare breast. Skin on skin. He doesn't grab, he just //holds//, three more seconds of real contact on the bare breast she has just shown him on purpose.</p>
<img class="scene-img" src="media/scenes/symbiotic/slut-megan-2.webp" alt="Close-up across the coffee shop counter, Megan has lifted the hem of her black v-neck shirt up with one hand to expose her bare left breast, smiling, a male customer's hand reaching across from off-frame with his palm pressed flat on the bare breast, the v-neck has been visibly altered at the shoulder seam to make the lift effortless">
<p>The bright-barista smile does the autopilot thing. It arrives without her choosing it.</p>
<<say "char-megan" "Megan">>
<i>(the voice bright, the face arranged for a man who has just tipped out of schedule)</i> ...careful, Ethan. That wasn't on the menu.
<</say>>
<<say "char-npc" "Ethan">>
<i>(removing his hand, unhurried, the exact slowness of a man who knows the difference between //stopping// and //being stopped//)</i> Then put it on the menu.
<</say>>
<p>He takes out his billfold and counts: one hundred for the flash, he says, and then, after a pause in which neither of them looks away, //fifty more for the touch//. Three crisp bills. He puts them on the table and taps them once with two fingers, and does not mention the difference between what they had agreed on and what had just happened.</p>
<p>Megan lowers her shirt, picks up the bills, and tucks them into her apron pocket next to the folded square from the other day. Her heart rate, which the gecko on the bean shelf has been logging through this entire exchange, has not spiked once.</p>
<<say "char-megan" "Megan">>
<i>(bright, the face smoothing back into 7-AM regular voice)</i> ...thanks, Ethan. Have a great evening.
<</say>>
<p>Ethan leaves. The silver Porsche pulls away from the curb in a single smooth arc, engine note dropping an octave as it takes the corner. Megan's hand stays on the apron pocket for about eight seconds before she moves to start the closing checklist.</p>
<<say "char-hivemind" "Hivemind">>
//The second signal. This one she //arranged//. She cut the seam, she counted the duration, she priced the flash. The conscience has already made the distinction: she //sold a view//, she did not //sell a touch//, the touch was an //additional occurrence// that Ethan priced separately and voluntarily. The framing holds. The framing will hold until the //additional occurrence// becomes the default and the view becomes a formality she no longer bothers to perform by itself.//
//What she did not plan for was the hand on the bare skin. She had planned for eyes only. The hand arrived and she did nothing, not from freezing but from a decision her body had already made, to accept whatever came during the four-count. The four-count was the //consent window//. Ethan stepped inside it and she did not contest the intrusion, because it did not register as one. It felt like the market expanding itself on her behalf.//
//Rate sheet update: the flash alone, four seconds, hundred dollars. The touch on the skin, three seconds, fifty dollars. Access scales downward in duration and upward in price per second. Her nervous system is drafting a spreadsheet.//
<</say>>
<<if $conditioning.megan.pheromone gte 6>>
<p>Later, in the back office, she sits at the desk and looks at the three bills side by side on the wood. She takes out the small notebook from the locked drawer and writes three lines:</p>
<p class="nested-prose">//flash only, 4s = $100//<br>
<p>//flash + touch on skin, 3s = +$50//<br></p>
<p>//uniform alteration = enabler, reversible with needle and thread in 5 min//</p></p>
<p>She closes the notebook and returns it to the drawer. The drawer does not have a lock on it yet. She makes a mental note to install one.</p>
<</if>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "hand permitted, price filed">>
<<conditioningFeedback "psionic" 1 "the nervous system writing a rate sheet">>
<p><span class="delve-intel">Megan route: Slut ramp phase 2. Megan cut her uniform for an on-demand flash. Ethan paid $100 for the view and added $50 for the touch she hadn't priced.</span></p><<nobr>><<bg "bg-hoffman-megan-empty">>
<<set $ch2Events.meganSlut3 to true>><</nobr>>
<div class="passage-title">The First Set</div>
<img class="scene-img" src="media/scenes/symbiotic/slut-megan-3.webp" alt="Megan's bedroom at night, she is kneeling up on her own bed in a black sports bra and unbuttoned dark denim jeans, back arched, one hand pushed up through her hair, chin lifted, practised sultry look, cool soft lighting on her body with a warm lamp behind">
<p>9:47 PM. Megan's bedroom, the door locked. Karen is watching a movie downstairs, Dale is at work, Jess is at the library, Ryan is in his room, and Megan has exactly ninety uninterrupted minutes.</p>
<p>She has an email address nobody in the family knows, a burner Venmo that funnels to a prepaid card, and a single portfolio photo she posted on a specific website recently as a trial balloon. The trial balloon got replies, sixteen of them, and she has been reading them every night.</p>
<p>Tonight she is taking the first set.</p>
<p>The phone is on a small tripod at the foot of the bed and the ring light is clipped to the desk chair. She sets the timer and sits on the bed in the black bra and the jeans she bought specifically because the waistband hits at the angle she wants. She tests three poses, deletes the ones where her face is visible, and keeps the ones where the composition stops at her collarbone.</p>
<<say "char-megan" "Megan">>
<i>(to the phone, quiet, the back-office voice testing itself on content)</i> ...okay. //Thirty// dollars for the bra-on set. Eighty for the bra-off. One-fifty for the //set plus a personal message to the tier-three subscriber//. Let's see what happens.
<</say>>
<p>She takes twelve photos, edits four, and publishes two at the thirty-dollar tier and one at the eighty. Within nine minutes she has eleven purchases, and within thirty the eleven has become thirty-seven, with one subscriber paying the one-fifty for the tier-three personal message.</p>
<p>Megan writes the personal message in the same low-register voice she has been practising for weeks, not explicit, not even particularly direct, just //warm with an edge//, and sends it. The sender replies with another hundred-fifty dollars as a //thank you for the message//.</p>
<p>Her apron pocket tonight, if she were wearing the apron, would contain more cash than the apron pocket has ever contained. The notifications keep coming. Megan puts the phone face-down on the bed and lies on her back in the black bra staring at the ceiling for a full four minutes, breathing, the specific giddy stillness of a person who has just confirmed that a thing they suspected was possible is //actually// possible.</p>
<<say "char-hivemind" "Hivemind">>
//No hands tonight. No bodies. Just pixels and pricing and thirty-seven strangers who have Venmoed her for a bra-off photo. The conscience can still hold the distinction between //this// and //the back-office future//: she is a model, not a sex worker. The frame is //tasteful//, //digital//, //plausibly deniable to Karen//.//
//The frame will not hold past the deepest tier. But tonight it is perfect. She built it and tested it and watched it pay. A few more weekend shoots and she will have enough saved to cover a semester of tuition without asking Dale for anything. That economic victory will be the thing she hangs the next escalation on: //I did this for the family, so anything I do after this is also for the family.////
<</say>>
<<if $conditioning.megan.dream gte 6>>
<p>Before she falls asleep she updates the notebook. //Photo set rate: $30 bra-on, $80 bra-off, $150 premium. Weekend shoot window: ~90 min. Estimated monthly: two to three thousand.// The numbers are clean, and they make her feel //competent// in a way Karen's approval never has. She puts the notebook back in the nightstand drawer, and the deadbolt on her bedroom door is the one she installed recently and has not yet had to use for anything other than the shoot itself.</p>
<</if>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "pheromone" 1 "first set published and paid">>
<<conditioningFeedback "dream" 1 "the ledger became a business">>
<p><span class="delve-intel">Megan route: Slut ramp phase 3. Digital nudes economy launched. First shoot: thirty-seven buyers at the thirty-dollar tier, plus an eighty tier and a one-fifty premium. Economic victory without physical contact. The "I'm not really a sex worker, I'm a model" frame is now load-bearing.</span></p>
<<addSuspicion "hoffmanHouse" -1>><<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">The Approach</div>
<<say "char-hivemind" "Hivemind">>
//Megan. The middle child. Routine-driven, predictable, and her mind is... soft. Not weak. Just unguarded. She doesn't expect anything to happen to her. That's her vulnerability.//
<</say>>
<<if $house.dayPhase is "night">>
<p>It's still early, before 6 AM. Megan sleeps soundly behind her closed door. Her alarm is set for 6:30. You have time to choose your approach.</p>
<<else>>
<p>Megan's morning routine has begun. The window is narrowing.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//I need to be inside her body before she leaves this house at 7:45. Three approaches. Each carries its own risk.//
<</say>>
/* Approach A: Psionic, requires Emotional Manipulation */
<<hasSkillTreeAbility "Emotional Manipulation">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[The Gentle Wake, manipulate her emotions while she sleeps (3 biomass)->Ch2-Megan-Approach-Psionic]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The Gentle Wake, manipulate her emotions while she sleeps <span class="lock-hint">(Requires Emotional Manipulation, Psionic skill tree)</span></div>
<</if>>
/* Approach B: Biological, requires Pheromone Lure */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL</span> [[The Kitchen Ambush, lure her with pheromones during breakfast (2 biomass)->Ch2-Megan-Approach-Biological]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The Kitchen Ambush, lure her with pheromones during breakfast <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/* Approach C: Direct, requires influence 6 */
<<infestLink "Brute Force — attempt direct infestation" "Ch2-Megan-Approach-Direct" "human">>
[[Not yet, return to the upper hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $house.meganApproach to "psionic">>
<<spendBiomass 2>><</nobr>>
<div class="passage-title">The Gentle Wake</div>
<img class="scene-img" src="media/scenes/megan-approach-psionic.webp" alt="Cat on bed beside sleeping figure">
<<if $player.currentHost is "cat">>
<p>You push Megan's door open with your nose, and it swings without a sound. The room is warm, dark, smelling of vanilla perfume and clean laundry.</p>
<p>Megan lies on her side, one arm curled under her pillow. Her phone charges on the nightstand. The alarm reads 6:22, eight minutes until it sings.</p>
<p>You leap onto the bed. She stirs, murmurs something. Her hand finds you automatically, fingers scratching behind Whiskers' ears.</p>
<<say "char-megan" "Megan">>
<i>(half-asleep)</i> Mmm... hey kitty...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Now.// You push the Emotional Manipulation outward, a wave of drowsiness, warmth, //safety//. Her breathing deepens. Her fingers go slack. She sinks back into a compliant half-dream.
<</say>>
<p>The transfer is seamless. One moment you are the cat on the bed. The next, you are //inside//, sliding through the gap between Megan's consciousness and sleep like water through sand.</p>
[[Feel the first moments->Ch2-Megan-InfestSuccess]]
<<else>>
<p>You need a cat host for this approach. The physical contact must seem natural.</p>
[[Go back->Ch2-Megan-Preparation]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $house.meganApproach to "biological">>
<<spendBiomass 2>><</nobr>>
<div class="passage-title">The Kitchen Ambush</div>
<img class="scene-img" src="media/scenes/megan-approach-biological.webp" alt="Cat on kitchen counter with faint green haze">
<<if $player.currentHost is "cat">>
<p>You wait in the kitchen. 6:52 AM. The stairs creak.</p>
<p>Megan shuffles in, still half-asleep, hair pulled back in a messy bun. She goes straight for the toaster. Two slices of bread. Then the kettle. The routine is automatic, mechanical, and she doesn't even look down.</p>
<p>You release the pheromones, a subtle biological signal that triggers relaxation, trust, //approach//. Megan's hand drifts down to pet you as you weave between her ankles.</p>
<<say "char-megan" "Megan">>
<i>(yawning)</i> Morning, Whiskers. You're being clingy today.
<</say>>
<p>Her fingers brush your fur. The contact holds, three seconds, five, ten. Long enough.</p>
<<say "char-hivemind" "Hivemind">>
//Contact established. The pheromones suppress her fight-or-flight. She feels nothing but warmth. Now. In.//
<</say>>
<<set _karenPresent to $house.dayPhase isnot "night">>
<<if _karenPresent>>
<p>Karen is at the counter, coffee in hand. She watches the exchange, the cat rubbing, Megan petting. Normal. //For now.//</p>
<<addFamilySuspicion "karen" 1>>
<<addSuspicion "hoffmanHouse" 1>>
<p><span class="consume-fail">Karen is watching. +1 suspicion.</span></p>
<</if>>
[[The transfer begins->Ch2-Megan-InfestSuccess]]
<<else>>
<p>You need a cat host to execute the kitchen ambush. The pheromone contact requires natural proximity.</p>
[[Go back->Ch2-Megan-Preparation]]
<</if>><<nobr>><<bg "bg-hoffman-upper">>
<<set $house.meganApproach to "direct">>
<<spendBiomass `setup.getInfestCost("human")`>>
<<infestCheck "human">><</nobr>>
<div class="passage-title">Brute Force</div>
<<if _infestSuccess>>
<p>You enter Megan's room. No subtlety. No preparation. Just raw neural force.</p>
<<if $player.currentHost is "cat">>
<p>The cat leaps onto her chest. Megan's eyes snap open, confusion, not fear. Before she can process what's happening, you //push//.</p>
<<elseif $player.currentHost is "dog">>
<p>The dog noses the door open. Megan sits up, startled. "Biscuit? How did you..." The words die as your influence crashes into her consciousness.</p>
<<else>>
<p>You climb onto the bed from whatever small host you inhabit. Megan feels the weight, the wrongness, the invasion. But it's too late.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//No elegance. No preparation. But //effective//. She fights, confused, panicked, but I am //stronger//.//
<</say>>
<<addSuspicion "hoffmanHouse" 2>>
<<addFamilySuspicion "megan" 2>>
<p><span class="consume-fail">Megan struggled. +2 household suspicion.</span></p>
[[The transfer completes->Ch2-Megan-InfestSuccess]]
<<else>>
<<spendBiomass 1>>
<p><span class="consume-fail">Infestation failed, your influence tier is too low. (Need: <<= _infestDifficulty >>, Have: <<= setup.tierDisplayName($player.influenceTier) >>)</span></p>
<p>You tried to force the connection but Megan's neural resistance held. She stirs, frowns in her sleep, then rolls over. //Close.// But not close enough.</p>
<<addFamilySuspicion "megan" 1>>
[[Retreat and reconsider->Ch2-Megan-Preparation]]
<</if>><<nobr>><<bg "bg-hoffman-megan">>
<<set $house.meganInfested to true>>
<<set $discovered.megan to true>>
<<set $ch2Events.meganInfestDay to $day>>
<<changeHost "human">>
<<addToInfected "Megan" "human" "megan">>
<<if not $biomassAwarded.maxBiomassMegan>><<set $player.maxBiomass += 1>><<set $biomassAwarded.maxBiomassMegan to true>><</if>>
<<addAdaptationPoints "megan" 2>><</nobr>>
<div class="passage-title">Megan</div>
<p><span class="consume-success">Human host acquired. Max biomass +1 (now <<= $player.maxBiomass >>).</span></p>
<<addSkillPoints 2 "firstHumanInfest">>
<p>The world //explodes// into sensation.</p>
<p>Warmth. Weight. //Mass//. After weeks in small bodies, rats, birds, a cat, the sheer scale of a human form is overwhelming. You feel the bed beneath you, the cotton sheets, the pillow against your cheek, //her// cheek. The vanilla perfume is yours now, rising from //your// skin.</p>
<<say "char-hivemind" "Hivemind">>
//...God.// This is... I had forgotten. The complexity of a human nervous system. Billions of connections. Sight, sound, smell, taste, touch. All at once, all //mine//.
<</say>>
<p>Megan's consciousness retreats into a corner of her own mind, confused, frightened, but unable to resist. You feel her memories hovering at the edge of awareness: alarm at 6:30, toast for breakfast, keys by the door, Marcus at the coffee shop, //don't forget your phone//.</p>
<<say "char-hivemind" "Hivemind">>
//Her routine. It's all there, laid out like a roadmap. If I follow it perfectly, no one will know.//
<</say>>
<<tutorial "tut-humanhost" "Human Host">>
<p>You've infested your first <span class="tut-keyword">human host</span>. Human hosts are the most powerful, but the most dangerous.</p>
<p>Other family members will notice if you act out of character. Follow <span class="tut-keyword">Megan's routine</span> to avoid suspicion.</p>
<p>You can spend <span class="tut-keyword">Adaptation Points</span> to permanently modify this host. Check the <span class="tut-keyword">Adaptations</span> menu in the sidebar.</p>
<</tutorial>>
[[Experience the first moments->Ch2-Megan-FirstMoments]]<<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<div class="passage-title">First Moments</div>
<p>You lie in Megan's bed, testing the body. Flex the fingers, they respond instantly. Curl the toes. Roll the shoulders. The musculature is lean, healthy. Track runner's legs. Strong cardiovascular system.</p>
<<say "char-hivemind" "Hivemind">>
//Nineteen years old. No significant health issues. Her stamina is excellent, better than Dale's exhausted frame would have been. And her mind... pliable. She's not fighting hard.//
<</say>>
<p>The alarm reads 6:28. Two minutes until it sounds. The morning routine must begin. Any deviation will attract attention, especially from Karen.</p>
<<hasAdaptation "megan" "compliance">>
<<if _hasAdaptation>>
<p>Megan's internal resistance has been conditioned away. She floats in passive acceptance, watching from behind her own eyes without protest.</p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//She's still there. Watching. Confused. I can feel her trying to move her own hand, failing. The panic is there, but muffled. For now, she's too disoriented to fight effectively. That won't last forever.//
<</say>>
<</if>>
[[Begin the morning routine->Ch2-Megan-MorningRoutine]]
[[Explore Megan's mind first (Delve)->Ch2-Megan-Delve]]<<nobr>><<bg "bg-hoffman-megan">>
<<spendBiomass 1>><</nobr>>
<div class="passage-title">Inside Megan's Mind</div>
<p>You reach inward instead of outward — Delving your own host's consciousness. It's different from the outside. Here, the memories are //vivid//, immediate, saturated with emotion.</p>
<<say "char-hivemind" "Hivemind">>
//Let me see what you are, Megan Hoffman.//
<</say>>
<p>The surface layer is simple: today's outfit (already chosen, draped over the chair). The coffee shop order (caramel macchiato, extra shot). Marcus's phone number. Instagram caption ideas.</p>
<p>Deeper: the anxiety she hides. The therapy session at fourteen that Karen paid for in cash so Dale wouldn't know. The prescription for Lexapro that Karen never filled because //what would the neighbours think//. The feeling of being the middle child, not brilliant like Jess, not troubled like Ryan. Just... //there//.</p>
<<say "char-hivemind" "Hivemind">>
//The invisible daughter. She learned to perform normalcy because no one ever looked twice. She's been wearing a mask her entire life.//
//Now she wears mine.//
<</say>>
<<addAdaptationPoints "megan" 1>>
<p><span class="delve-intel">Intel gained: Megan's hidden anxiety history. Karen buried the psychiatric evaluation. Megan performs routine to avoid scrutiny.</span></p>
[[Begin the morning routine->Ch2-Megan-MorningRoutine]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $house.meganRoutinePhase to 1>><</nobr>>
<div class="passage-title">Playing Megan</div>
6:30 AM. The alarm screams. You hit snooze, no, that's wrong. //Megan never hits snooze.// You silence it and sit up. Feet on the floor. Bathroom.
<p>The shower runs. You wash Megan's body mechanically, following the muscle memory embedded in her nervous system: shampoo, conditioner, face wash, rinse. The warm water feels extraordinary after months in cold-blooded hosts.</p>
6:50 AM. Dressed. Hair dried. A touch of makeup, foundation, mascara, lip gloss. Megan's hands know the motions. You are a passenger driving a vehicle that mostly drives itself.
<p>Downstairs. Kitchen. Toast in the toaster. Kettle on.</p>
<<if $house.dayPhase is "night">>
<<set $house.dayPhase to "day">>
<</if>>
<<set _karenPresent to true>>
<<say "char-karen" "Karen">>
Morning, sweetie. Sleep okay?
<</say>>
<p>The first test. Karen is at the counter, coffee already poured, laptop open. Her eyes flick over you, brief, habitual, //assessing//.</p>
[[\"Fine, Mom. Just tired.\" (follow the routine)->Ch2-Megan-Routine-Kitchen]]
[[Stay silent, avoid eye contact (suspicious)->Ch2-Megan-Routine-Quiet]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $house.meganRoutinePhase to 2>><</nobr>>
<div class="passage-title">The Performance</div>
<<say "char-megan" "Megan">>
Fine, Mom. Just tired.
<</say>>
<p>The words come out perfectly — Megan's vocal cords, Megan's inflection, the casual teenage dismissal that Karen expects. You feel Karen's attention slide off you like water.</p>
<<say "char-karen" "Karen">>
There's yogurt in the fridge if you don't want toast. And take an umbrella, it's supposed to rain.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Passed. She didn't suspect a thing. The routine is armor, follow it, and I'm invisible.//
<</say>>
<p>The toast pops. You butter it, eat standing at the counter. Check Megan's phone, three texts from Marcus, an Instagram notification, a class reminder for Monday. The performance continues.</p>
7:30 AM. Keys. Phone. Bag. The routine nears its end. Karen is absorbed in her laptop. Dale snores from the living room. The front door is ten steps away.
[[Leave the house on time (7:45), maintain the routine->Ch2-Megan-LeaveHouse]]
[[Stay home: \"I don't feel well\", explore as human->Ch2-Megan-StayHome]]
[[Check on Ryan before leaving->Ch2-Megan-CheckRyan]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $house.meganRoutinePhase to 2>>
<<addFamilySuspicion "karen" 2>><</nobr>>
<div class="passage-title">Silence</div>
<p>You say nothing. Head down. Toast in the toaster. Kettle on.</p>
<p>Karen's eyes narrow. The pause stretches.</p>
<<say "char-karen" "Karen">>
Megan? ...You okay?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Mistake. She noticed. Megan always responds, the routine demands it.//
<</say>>
<<say "char-megan" "Megan">>
...Yeah. Headache.
<</say>>
<<say "char-karen" "Karen">>
Hmm. There's ibuprofen in the cabinet. You look pale.
<</say>>
<p><span class="consume-fail">Karen is suspicious. +2 individual suspicion.</span></p>
<p>Karen watches you for three more seconds than necessary. Then she returns to her laptop. //But she's filing this away.// Karen always files things away.</p>
7:30 AM. You need to decide.
[[Leave the house quickly->Ch2-Megan-LeaveHouse]]
[[Stay home: \"I'm calling in sick\", explore as human->Ch2-Megan-StayHome]]<<nobr>><<bg "bg-hoffman-upper">><</nobr>>
<div class="passage-title">Sisterly Check</div>
<p>You climb the stairs — Megan's legs take them two at a time. Ryan's door is closed. You knock.</p>
<p>No answer. Of course. You push it open.</p>
<p>Ryan sits in the same position as before: headphones on, monitors glowing, energy drink cans multiplying. He hasn't slept.</p>
<<say "char-megan" "Megan">>
Hey. Did you sleep at all?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pulling one headphone off)</i> What? Yeah. No. What time is it?
<</say>>
<<say "char-megan" "Megan">>
Almost eight. You should sleep.
<</say>>
<p>He shrugs. His eyes are red-rimmed, hollow. The gecko watches from its terrarium.</p>
<<say "char-hivemind" "Hivemind">>
//This is what Megan does, checks on Ryan when Karen doesn't. It feels... strange. Performing care I don't feel. But Ryan notices. He looks at me, at //her//, with something like gratitude.//
<</say>>
<<hasAdaptation "megan" "taboo">>
<<if _hasAdaptation>>
<p>With the taboo barrier dissolved, Megan's body responds differently to Ryan's proximity. A flush of warmth. An awareness of his physicality that //she// would have suppressed. You don't suppress it.</p>
<<say "char-hivemind" "Hivemind">>
//Interesting. The adapted neural pathways are already changing her responses. Ryan doesn't notice, not yet. But he will.//
<</say>>
<</if>>
[[\"Take care of yourself, Ry.\" Then leave the house.->Ch2-Megan-LeaveHouse]]
[[Stay with Ryan, skip work today.->Ch2-Megan-StayHome]]<<nobr>><<bg "bg-hoffman-house">>
<<set $house.meganRoutinePhase to 3>><</nobr>>
<div class="passage-title">Out the Door</div>
7:45 AM. Keys. Phone. Bag. Umbrella (Karen would check). You pull on Megan's jacket and step into the morning air.
<p>The suburban street is quiet. Sprinklers hiss. A school bus rounds the corner two blocks down. Megan's beat-up Honda Civic sits in the driveway, keys already in hand.</p>
<<say "char-hivemind" "Hivemind">>
//Freedom.// For the first time since the lab, I walk among them. Not as a thing hiding in walls and fur, but as //one of them//. They see Megan Hoffman. Coffee shop barista. Community college student. Unremarkable. //Invisible.//
//And that's exactly what I need.//
<</say>>
<<addSkillPoints 1 "meganRoutineComplete">>
<p><span class="consume-success">Megan's routine completed. +1 SP. No suspicion raised (unless earlier mistakes).</span></p>
<<say "char-hivemind" "Hivemind">>
//The coffee shop. The campus. The city. Megan's world opens before me. But the house remains my base — I'll need to return tonight. Karen. Dale. Ryan. Jess. They're all still //unfinished//.//
<</say>>
[[Head to The Grounds coffee shop->Ch2-Megan-CoffeeShop]]
[[Skip the shift, drive around, return this evening->Ch2-Megan-ReturnEvening]]<<nobr>><<bg "bg-hoffman-house">>
<<set $house.meganRoutinePhase to 4>>
<<addFamilySuspicion "karen" 1>><</nobr>>
<div class="passage-title">Calling In Sick</div>
<<say "char-megan" "Megan">>
Mom, I'm not feeling great. I'm going to call in sick.
<</say>>
<<say "char-karen" "Karen">>
<i>(frowning)</i> You seemed fine a minute ago. Is everything okay?
<</say>>
<<say "char-megan" "Megan">>
Just... cramps. I'll be fine.
<</say>>
<p>Karen's expression softens, barely. //Cramps// is Megan's emergency excuse. It works because Karen won't probe further.</p>
<<say "char-hivemind" "Hivemind">>
//Bought time. Karen is mildly suspicious but won't push. A full day in this house as Megan, human access to every room, every person, every secret. The family has never been more exposed.//
<</say>>
<p><span class="consume-fail">Deviation from routine. +1 Karen suspicion.</span></p>
<p>As a human host, every door in the house is open to you. Karen will be in the kitchen for her 9 AM meetings. Dale sleeps until 2 PM. Ryan is in his room. Jess left for campus at 8.</p>
[[Explore the house as Megan->Ch2-Megan-StayHome-Explore]]<<nobr>><<bg "bg-hoffman-house">>
<<set $house.dayPhase to "evening">>
<<set $day += 1>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<decaySuspicion>>
<<decayFamilySuspicion>>
<<addAdaptationPoints "megan" 1>><</nobr>>
<div class="passage-title">Evening Return</div>
<p>You drive Megan's Honda back to the house at 6 PM. The coffee shop shift went smoothly — Marcus flirted, regulars got their orders, tips were decent. //Normal.// The word is becoming a weapon.</p>
<p>The house is lit up. Dale's car is gone, night shift. Karen is in the kitchen. The sounds of family life seep through the walls.</p>
<<say "char-hivemind" "Hivemind">>
//Day one as Megan: complete. The routine holds. Karen suspects nothing, or at least, nothing she can articulate. Tomorrow, I push further.//
<</say>>
<p><span class="consume-success">Day advanced. +1 AP (Megan). Suspicion decayed.</span></p>
[[Enter the house, evening routine->Ch2-Megan-Evening-Hub]]<<nobr>><<bg "bg-hoffman-megan">>
<<addSuspicion "hoffmanHouse" 2>>
<<addFamilySuspicion "karen" 2>><</nobr>>
<div class="passage-title">Something Wrong</div>
<p>The infestation failed. Megan's mind rejected the connection, too much resistance, not enough influence. She stirs in her sleep, frowning deeply. A nightmare she won't remember. //But her body will.//</p>
<p>She sits up at 3 AM, disoriented. Something feels //wrong//, an invasion she can't name. She reaches for her phone. The light stings her eyes.</p>
<<say "char-megan" "Megan">>
<i>(whispering)</i> ...what the hell...
<</say>>
<p>From the hallway: footsteps. Karen. //Of course.//</p>
<<say "char-karen" "Karen">>
<i>(through the door)</i> Megan? I heard you moving. You okay?
<</say>>
<<say "char-megan" "Megan">>
Yeah. Just a bad dream. Go back to bed, Mom.
<</say>>
<p><span class="consume-fail">Failed infestation. +2 household suspicion. +2 Karen individual suspicion.</span></p>
<p>Karen's footsteps retreat, but slowly. She'll be watching tomorrow.</p>
[[Return to the upper hallway->Ch2-UpperHall]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.memoryEffect_karen to true>>
<<set $permanentDone.karenMemMorningSeen to true>>
<<set _firstEffect to (not $ch2Events.karenMemoryEffectRewarded)>>
<<if _firstEffect>><<set $ch2Events.karenMemoryEffectRewarded to true>><<addBiomass 2>><<addConditioning "karen" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Morning After</div>
<p>The master bedroom, early, the light still grey at the curtains. Karen surfaces out of sleep slowly and the dream surfaces with her, vivid and already filed as something that actually happened, twenty years ago, at a party in a house nobody owned. Dale's side of the bed is cold. She does not reach for it. This morning she is not thinking about the man in the garage at all.</p>
<<if $ch2Events.memoryEdit_karen is "liberation">>
<p>She is thinking about the bathroom. The lock turning, the music through the door, his hands and her own greed and the doorhandle rattling while she came with his palm over her mouth. The recklessness of it, the wanting without asking, a thing she has not let herself do in so long she had half forgotten her body knew how.</p>
<p>Her hand is already under the sheet, under the waistband, two fingers working her clit, and she chases the feeling of the girl who pulled a near-stranger into a bathroom because she wanted to and the party be damned. Not the fucking, exactly. The freedom of it.</p>
<video class="scene-video" src="media/video/karen-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-morning.webp"></video>
<<say "char-karen" "Karen">>
<i>(breath quickening, biting her lip out of twenty years of habit even though the house is empty)</i> ...god, when did I stop?
<</say>>
<p>She comes harder than she means to, hips lifting off the mattress, one hand pressed flat over her own mouth before she remembers there is no one left in the house to hide from. When it passes she lies in the grey light with her heart going and a hunger in her she cannot name, only point at.</p>
<<say "char-hivemind" "Hivemind">>
//She is reaching for a freedom I handed her. The night was a careful promise and I made it a reckless one, and now her body believes it was always reckless, that she used to take what she wanted and somewhere along the way stopped. A woman who believes she has been starving will eat almost anything I put in front of her.//
<</say>>
<<elseif $ch2Events.memoryEdit_karen is "dominant">>
<p>She is thinking about the boy on his knees. The way he went down when she pressed, the way she left him on the edge of the bed with his belt open and walked out because she could. The feeling of it sits low in her stomach, heavy and good, the having of the upper hand and the keeping of it.</p>
<p>Her hand is already moving before she decides to let it, under the waistband, two fingers on her clit, and she touches herself to the memory of his mouth and the better memory of telling him no. Not the licking. The leaving. The clean cold power of walking out of a room that wanted her.</p>
<video class="scene-video" src="media/video/karen-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-morning.webp"></video>
<<say "char-karen" "Karen">>
<i>(barely a breath, to the empty room)</i> ...who told you you could?
<</say>>
<p>She comes with her thighs tight and her jaw set, quiet and controlled, the way she does everything. When it passes she lies still, fingers slowing, and she does not feel ashamed and she does not feel grief. She feels like the woman in the dream, and she files the feeling somewhere she can find it again.</p>
<<say "char-hivemind" "Hivemind">>
//She is reaching for a power she never had. The night was sweet and small and I made it sharp, and her body has decided the sharpness is the truth. She will carry it down to the kitchen, into the way she speaks to them and the way she expects to be obeyed. The memory is the seed. The household is the crop.//
<</say>>
<<else>>
<p>The dream has no clear shape yet, only the warmth of a night that went further than she ever let herself remember, and she lies in the grey light with her hand drifting and the edit not yet pointed anywhere she can follow.</p>
<<say "char-hivemind" "Hivemind">>
//The rewrite has no direction yet, so neither does the morning. When she leans, this surfaces as the matching hunger.//
<</say>>
<</if>>
<<if _firstEffect>><<conditioningFeedback "dream" 1 "Karen, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Intel gained: Karen reaches for the rewritten memory unprompted and finishes to it. The edit has taken root.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.memoryEffect_ryan to true>>
<<if not $ch2Events.ryanMemoryEffectApplied>>
<<set $ch2Events.ryanMemoryEffectApplied to true>>
<<addFamilySuspicion "ryan" 1>>
<<set _aUp to { low: "medium", medium: "high", high: "veryhigh", veryhigh: "veryhigh" }>>
<<set $familySuspicion.ryan.alertness to (_aUp[$familySuspicion.ryan.baseAlertness] or "medium")>>
<<set $ch2Events.ryanAlertExpiry to ($day or 1) + 3>>
<</if>><</nobr>>
<div class="passage-title">What He Remembers</div>
<p>Ryan's room, morning, the blinds throwing bars of light across an unmade bed. He has been awake for an hour and he has not picked up the controller. He sits on the edge of the mattress with his hands loose between his knees, and the night will not leave him alone, because it does not feel like a dream. It feels like something that happened, filed at the same depth as every real thing, and the more he turns it over the more solid it gets.</p>
<<if $ch2Events.memoryEdit_ryan is "feminization">>
<p>He remembers the dress. The pale-blue fabric, the way it sat wrong and right at once, the front of it betraying him in the living-room light. He remembers Jess pointing and laughing and the phone coming up. He remembers his mother circling him with that slow smile, and the purple thing she fed him, and the word she used for it, soft, like it was a kindness. //Good girl.// He can still feel the hem against his thighs. His face goes hot just sitting here.</p>
<<elseif $ch2Events.memoryEdit_ryan is "familySeeker">>
<p>He remembers his mother's room, the warmth of her, the old animal comfort of his face against her chest and her hand on the back of his head telling him there was nothing wrong with it. He remembers the hallway after, the helpless state of him, and Jess taking him by the elbow, brisk and practical, two minutes, a one-time thing. He can still feel both of those rooms on his skin. His face goes hot just sitting here.</p>
<<else>>
<p>He remembers a warmth he cannot place, a night that went somewhere it was not supposed to go, the shape of it just out of reach and the weight of it pressing down all the same. His face goes hot and he does not entirely know why.</p>
<</if>>
<p>He stops once in the hall outside his parents' room with his hand half-raised to knock, and he stands there a long time, and then he lowers it, because there is no version of the sentence that comes after //Mom, did we// that he can survive saying to her face. So he goes down the hall to the one door he can almost imagine knocking on instead.</p>
<p>Jess opens it with her textbook still in one hand and a look on her face like she is calculating the last time he came to her for anything.</p>
<<say "char-jess" "Jess">>
<i>(surprised, the textbook lowering)</i> ...Ryan? What's up? You okay, you look kind of grey.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not quite meeting her eyes, the question coming out sideways)</i> Can I ask you something weird? My eighteenth birthday. Do you remember what actually happened that night? Like, all of it.
<</say>>
<p>Jess thinks about it, and the thinking is the thing that undoes him, because it is so ordinary.</p>
<<say "char-jess" "Jess">>
<i>(shrugging, half a smile)</i> Sure. Mom did a cake, the supermarket one with your name in blue icing. Megan was out with her friends, Dad was on a shift, so it was the three of us. We sang, you blew the candles out, you were glued to your phone the whole time looking like someone ran over your dog. Then cake, then bed. That was the whole night. Why, what's wrong?
<</say>>
<p>That was the whole night. A cake, a song, a boy too far down to enjoy either. Nothing else. None of the thing sitting in his body right now as solid as the floor under his feet.</p>
<<say "char-ryan" "Ryan">>
<i>(backing toward the door, trying to make it land like nothing)</i> Nothing. No, yeah, that's what I figured. Just had a weird dream. Forget I asked.
<</say>>
<p>He goes back to his room and sits down in the same place he was sitting before, and the memory does not thin out the way dreams thin out across a morning. It stays, exactly as real as the cake and the candles, refusing to file itself anywhere but true. And under the easy answer, just a dream, it was just a dream, sits a smaller and colder thought he cannot push back down: that Jess could be the one who forgot. That it happened, and the house simply closed over it the way houses do. He cannot tell anymore which of those is true. He cannot tell which would be worse.</p>
<<say "char-hivemind" "Hivemind">>
//His sister told him what happened and his body refused to believe her. Two accounts of one night, both vivid, both certain, and he can no longer find the seam between them. He will spend the day trying to work out which memory is the lie. He will not manage it. The not-managing is the wound. A boy who cannot trust his own eighteenth birthday starts watching the rest of the house a little harder, and I would rather he didn't. A memory this good was never going to come for free.//
<</say>>
<p><span class="consume-fail">The rewritten memory won't square with what Jess told him, and the gap has him watching the house. +1 Ryan suspicion, alertness raised.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.memoryEffect_megan to true>>
<<if not $ch2Events.meganMemoryEffectApplied>>
<<set $ch2Events.meganMemoryEffectApplied to true>>
<<addFamilySuspicion "megan" 1>>
<<set _aUp to { low: "medium", medium: "high", high: "veryhigh", veryhigh: "veryhigh" }>>
<<set $familySuspicion.megan.alertness to (_aUp[$familySuspicion.megan.baseAlertness] or "high")>>
<<set $ch2Events.meganAlertExpiry to ($day or 1) + 3>>
<</if>><</nobr>>
<div class="passage-title">What She Remembers</div>
<p>Megan's room, late morning, the blinds half-down and the coffee going cold on the desk where she set it twenty minutes ago and forgot. She has been turning the same thing over since she woke up, and it will not thin out the way a dream thins out across a morning. It feels like something that happened, filed at the same depth as every real thing, and the more she pokes at it the more solid it gets.</p>
<<if $ch2Events.memoryEdit_megan is "marcus">>
<p>She remembers the stockroom. The shelving, the smell of syrup and cardboard, the way Marcus's voice came apart while she told him it could be like this every shift if he just said the word to the manager. She remembers going down onto that floor and exactly what she did to make sure he said it. She can still taste the cold little arithmetic of it, the certainty, trading the one thing that always works for the one thing she wanted.</p>
<<elseif $ch2Events.memoryEdit_megan is "slut">>
<p>She remembers the back office. The footwell under the desk, the dark, the manager's hand in her hair, the intercom buzzing and another girl sitting down two feet away for the interview Megan was supposed to be losing. She remembers staying down there, mouth full, until it was done, and walking out with the job. She can still feel the carpet on her knees and the swallow she did not get a choice about.</p>
<<else>>
<p>She remembers a back room and something she did in it on her knees to get a thing she wanted, the face and the day just out of reach and the weight of it pressing down all the same. She cannot place any of it. She only knows, the way you know your own name, that it happened, and knows just as surely that it could not have.</p>
<</if>>
<p>It is not the way she tells the story. The way she tells it, she got the job on a good interview and a better smile, and that is the telling she has repeated to herself so many times it should be the only one in there. But this other one is sitting in her body this morning as solid as the desk, and she cannot find the seam where the dream stops and the truth starts.</p>
<p>She thinks about the one person who would actually know. She gets as far as opening the message thread, thumb hovering over the empty box, and then she tries to assemble the words and there are none. //Hey, weird question, did I ever...// is not a sentence a person sends. //Do you remember when I got on my knees and// has no ending that does not detonate her whole life. She closes the thread.</p>
<<say "char-megan" "Megan">>
<i>(under her breath, thumb still over the dark screen)</i> ...okay, no. You don't text somebody that. Not ever, not even to be sure.
<</say>>
<p>And there is the other thing, the one that should be a comfort and somehow lands worse. If she is the girl who would do that, who did do that, then where has that girl been every single day since? She has not so much as kept an extra tip she had a claim to. The memory says she trades her body for what she wants, cleanly, without a flinch, and the whole rest of her life says she has never once done anything of the kind. Both cannot be true. She cannot work out which one is the lie, and she cannot leave it alone.</p>
<<say "char-hivemind" "Hivemind">>
//The rewrite is in her, filed at the depth where the real ones live, and at that depth it has already taken. But I cut it too sharp for the surface to swallow whole. The cheerful girl she has spent years building looks at what I wrote and cannot make it fit, so she holds the memory at arm's length and watches it for the seam, and watches everything near it the same way. The deep work holds. The fight is all on top. A girl auditing her own memory for forgeries starts auditing the rest of the house too, and that I would rather she did not. The vividness was the price. She pays it in vigilance.//
<</say>>
<p><span class="consume-fail">The rewritten memory won't square with the life she has actually lived, and the gap has her watching everything twice. +1 Megan suspicion, alertness raised.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.memoryEffect_jess to true>>
<<set $permanentDone.jessMemMorningSeen to true>>
<<set _firstEffect to (not $ch2Events.jessMemoryEffectRewarded)>>
<<if _firstEffect>><<set $ch2Events.jessMemoryEffectRewarded to true>><<addBiomass 2>><<addConditioning "jess" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Morning After</div>
<p>Jess's room, mid-morning, the textbook open to a page she has read the same paragraph of four times. The pub will not leave her alone. It surfaced the moment she woke and it has only got more solid since, filed somewhere far deeper than a dream, and the harder she tries to push it under and get back to the kidneys the more clearly she feels it, the warm beer and the loud bass and the thing she did before the night was over.</p>
<<if $ch2Events.memoryEdit_jess is "punk">>
<p>She is thinking about the booth. The fistful of Karen's hair, the weight of the whole table tipping the second she decided it would. The clean cruel certainty of it, the not-apologising, the way the want came up through her like power instead of like shame for the first time in her life. She is thinking about the look on Karen's face afterward, flushed and waiting to be told what came next.</p>
<p>Her pen is already down. Her hand is already down the front of her sweats, bare underneath, two fingers finding her clit, and she is not thinking about a boy or a body. She is thinking about being obeyed, about the night she was the one nobody in the room dared tell to be nice.</p>
<video class="scene-video" src="media/video/jess-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-morning.webp"></video>
<<say "char-jess" "Jess">>
<i>(breath going short, hips lifting off the chair, to the empty room)</i> ...god. When did I let them make me so //small//?
<</say>>
<p>She comes with her jaw set and her free hand gripping the edge of the desk, controlled even now, and when it passes she sits in the after with her heart going and a clean new appetite she has no name for, only a direction.</p>
<<say "char-hivemind" "Hivemind">>
//She is reaching for a power she thinks she remembers having. The night was a quiet one and I gave it teeth, and now her body believes it used to bite and somewhere along the way learned to swallow it instead. A girl who has just felt how good the not-apologising tastes does not go back to making the room comfortable. She will be looking, from today, for somewhere to put the teeth.//
<</say>>
<<elseif $ch2Events.memoryEdit_jess is "breakdown">>
<p>She is thinking about the toilet. The cold edge of the sink, the fist in her hair, the names, the relief of every single one of them. The first full breath she had taken in a year. She is thinking about how good it felt to be nothing for ten minutes, to be allowed to fail, to set the whole crushing weight of being the one who holds it together down on a dirty tiled floor and just leave it there.</p>
<p>Her pen is already down. Her hand is already down the front of her sweats, bare underneath, two fingers working her clit, and she is not chasing a boy. She is chasing the feeling of being made small, of being used and told she is nothing and finding it is the only rest she has had in longer than she can stand to count.</p>
<video class="scene-video" src="media/video/jess-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-morning.webp"></video>
<<say "char-jess" "Jess">>
<i>(breath ragged, forehead dropping toward the desk, to no one)</i> ...just let me stop. Just for a minute, let me stop being it.
<</say>>
<p>She comes with a shudder and a small broken sound she muffles against her own arm, and when it passes she stays slumped over the desk a long time, wrung out and, under the shame of it, more rested than she has felt in months.</p>
<<say "char-hivemind" "Hivemind">>
//She is reaching for a permission she thinks she was once given. The night asked nothing of her, so I made it take everything instead, and her body has decided the taking was relief. The schedule on the wall is still there. The exams are still coming. But the wall she does all of it behind just learned that the far side is rest, and a tired girl checks that door more and more often once she knows it opens.//
<</say>>
<<else>>
<p>The night has no clear shape yet, only the warmth of an evening that went further than she ever lets herself remember, and she sits with her hand drifting and the edit not yet pointed anywhere she can follow.</p>
<<say "char-hivemind" "Hivemind">>
//The rewrite has no direction yet, so neither does the morning. When she leans, this surfaces as the matching hunger.//
<</say>>
<</if>>
<<if _firstEffect>><<conditioningFeedback "dream" 1 "Jess, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Intel gained: Jess reaches for the rewritten night unprompted and finishes to it. The edit has taken root.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]<div class="household-event">
<div class="passage-title">Date Night</div>
<img class="scene-img" src="media/scenes/pe-karen-stranger-setup.webp" alt="Karen at the front door, dressed up, evening light">
<p>7:48 PM. Karen stands at the front door in a dress the family hasn't seen before. Black, fitted, a neckline that shows more collarbone than the PTA would approve of. Her hair is down. Her reading glasses are in her purse instead of on her face. She smells like the perfume she keeps in the back of the medicine cabinet, the one she bought years ago and never opened until tonight.</p>
<<say "char-karen" "Karen">>
<i>(to Megan, who's watching from the kitchen)</i> I'm meeting a friend from the accounting association. Back by ten.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-smiling, not believing a word)</i> You look nice, Mom.
<</say>>
<p>Karen's car pulls out of the driveway. The cat watches from the living room window. The pheromone compound has been working for weeks, loosening the tension behind her eyes, dissolving the guilt that sits like a stone between her ribs. The dating app profile was the key that turned the lock. She swiped right on three men. One replied. His name is James. He suggested a bar downtown.</p>
<<say "char-hivemind" "Hivemind">>
//She's going. The dating app planted the idea. The pheromones dissolved the resistance. She dressed up for a stranger while her husband sleeps in the garage. The conditioning is //performing//.//
<</say>>
<<getHouseTier>>
<<if _houseTier gte 3>>
/* ===== TIER-3 SAME-NIGHT NSFW, she doesn't come home at midnight.
She texts James from the bar to get a room, pays for it in cash, and
the whole date escalates into the hotel that same Wednesday. Cuckold
variant has Dale watching via FaceTime from the garage. Karen comes
home at dawn. */
<p>She does not come home at ten. She does not come home at midnight either.</p>
<p>At 10:47 PM she texts James from the ladies' room of the bar: //get a room. somewhere close. i'll pay half.// He replies in forty seconds with a street address three blocks away, the kind of motel that takes cash and asks no questions. Karen pays the front desk eighty-nine dollars from the back of her wallet, takes the key, and walks up the outside staircase in heels at 11:04 PM.</p>
<<if $daleRoute is "cuckold">>
/* CUCKOLD VARIANT, Dale watches via FaceTime from the garage. */
<img class="scene-img" src="media/scenes/pe-karen-stranger-nsfw1.webp" alt="Karen in motel room, phone propped on nightstand showing video call">
<p>In the car on the way from the bar to the motel, Karen FaceTimes Dale. He picks up on the second ring. He's been awake since she left. He saw the dating app the day before, she left it installed on purpose, and he pretended not to see, and they both knew he was pretending. Now he is sitting in the garage in his truck with the cabin light off and his phone in his hand, and Karen is driving to a motel with a stranger's address in her GPS.</p>
<<say "char-karen" "Karen">>
<i>(into the phone, one hand on the wheel, voice lower than her kitchen voice)</i> I'm going to set the phone on the nightstand. Don't say anything. Just watch.
<</say>>
<<say "char-dale" "Dale">>
<i>(barely audible)</i> ...okay.
<</say>>
<p>James is already at the motel room when she arrives, tall, dark-skinned, broad in the shoulders, the kind of man who takes up space without trying. He opens the door in a white T-shirt and jeans. He smells like cologne and soap and the specific confidence of someone who has never had to apologize for wanting.</p>
<p>Karen's phone sits on the nightstand. The camera is on. FaceTime to Dale's phone, Dale's face on the screen, Dale's garage behind him.</p>
<<say "char-karen" "Karen">>
<i>(to James, unbuttoning her blouse, eyes flicking to the phone)</i> Leave the light on.
<</say>>
<p>She wants Dale to see. That's the part the conditioning built, not just the desire for the stranger, but the desire to be //seen//. The pheromones dissolved her shame. The psionic conditioning rewired her exhibition reflex. And Dale asked for this. He //asked//.</p>
<p>James pulls her blouse off her shoulders. His hands are warm. His mouth finds her neck, the same spot that had the mark last week. Karen makes a sound she hasn't made in this marriage in years. Her eyes stay on the phone.</p>
<<say "char-hivemind" "Hivemind">>
//She's performing for Dale through the camera. The stranger is the instrument. Dale is the audience. And Karen is the conductor, she's controlling this entire interaction while pretending to surrender. Classic Karen. Even her infidelity is //managed//.//
<</say>>
<p>James undresses her. She stands in the hotel room light in her underwear, black, matching, purchased this week, and lets him look. Then she reaches for his belt.</p>
<p>His cock is thick. She wraps her hand around it and her breath catches, not performance, //genuine//. The size difference between James and Dale is significant. Her wedding ring catches the light as she strokes him.</p>
<<say "char-karen" "Karen">>
<i>(looking directly at the phone camera, voice low)</i> Watch me, Dale.
<</say>>
<p>She drops to her knees on the hotel carpet. Takes the head of his cock between her lips, slow, deliberate, the way she reads the first page of a contract before signing. Her tongue traces the underside. James groans. Karen doesn't look at him. She looks at the phone on the nightstand, at Dale's face on the screen, at the husband who asked for this.</p>
<<say "char-dale" "Dale">>
<i>(through the phone speaker, barely audible, voice wrecked)</i> ...fuck, Karen...
<</say>>
<p>She takes him deeper. Her lips stretch around the shaft, wider than anything Dale has ever asked of her. Saliva gathers at the corners of her mouth. She pulls back with a wet sound, strokes him with her ring hand, then takes him again. Deeper this time. Her throat constricts. She holds it, two seconds, three, then pulls off, gasping, a strand of spit connecting her lower lip to the tip of his cock.</p>
<<set _kStrangerAny1 to $kinks.karen and ($kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<<say "char-karen" "Karen">>
<i>(wiping her mouth, turning the phone so the camera catches her from the chest down, knees on carpet, breasts out, hand wrapped around another man's cock)</i> Can you see all of me? I want you to see //all// of me.
<</say>>
<p>She angles the phone lower. Makes sure Dale can see her free hand sliding between her own thighs, can see how wet she already is just from having James in her mouth. She's performing, but the performance is //honest//. She wants to be watched more than she wants to come.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("lingerie")>>
<p>She's still wearing the garter belt. The stockings. The bra is gone but the rest stays, black lace framing her body like wrapping paper half-torn. She knows what she looks like. She bought this set for the camera.</p>
<<say "char-karen" "Karen">>
<i>(pulling back, stroking him, stockinged knee shifting on the carpet)</i> I wore these for you. Not him. He just gets to touch what you get to //see//.
<</say>>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("bondage")>>
<<say "char-karen" "Karen">>
<i>(pulling back, saliva on her chin, eyes on the camera)</i> He can't move his hands, Dale. I told him not to touch my head. He does what //I// say.
<</say>>
<p>James's hands stay at his sides. Fists clenched. Karen takes his cock back in her mouth on //her// terms, setting the rhythm, the depth, the pace. She controls the blowjob the way she controls the household budget: precisely, completely, without consulting anyone.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("denial")>>
<p>She pulls off. Strokes him to the edge, she can feel the tension in his thighs, the way his cock twitches in her grip, and stops. James makes a sound like a man who's been shot.</p>
<<say "char-karen" "Karen">>
<i>(to the camera, lipstick smeared, almost smiling)</i> Not yet. Dale, are you touching yourself?
<</say>>
<<say "char-dale" "Dale">>
<i>(through the phone, strangled)</i> ...yeah...
<</say>>
<<say "char-karen" "Karen">>
Stop. You don't get to finish before I say.
<</say>>
<</if>>
<<if not _kStrangerAny1>>
<<say "char-karen" "Karen">>
<i>(pulling back, breathless, lips swollen)</i> He's bigger than you, Dale. You should see my mouth right now.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She's narrating her own infidelity to the man she married. Every word into the camera is a needle, and Dale is leaning into every one. His hand hasn't stopped moving since she got on her knees.//
<</say>>
<p>She takes James to the back of her throat. Her jaw aches. The smell of his skin is sharp, soap and sweat and the musky heaviness of a man who is very close. Her hand works the base while her mouth works the rest, and the wet, rhythmic sound fills the hotel room like a metronome.</p>
<<say "char-dale" "Dale">>
<i>(through the phone, almost whispering)</i> ...don't stop... please don't stop watching me while you...
<</say>>
<<say "char-karen" "Karen">>
<i>(pulling off with a gasp, stroking him, chin slick)</i> While I what, Dale? Say it.
<</say>>
<<say "char-dale" "Dale">>
<i>(long pause, then)</i> ...while you suck his cock.
<</say>>
<p>Karen smiles. It's the most honest expression she's worn in years. She wraps her lips around James again, not slow this time, not careful. She fucks him with her mouth, head bobbing fast, the sound obscene and deliberate. James's hand finds the back of her head. She lets him. She lets //Dale// hear her let him.</p>
<img class="scene-img" src="media/scenes/pe-karen-stranger-nsfw-bj.webp" alt="Karen on her knees giving James a blowjob, phone visible on nightstand">
<p>Karen pulls off. Wipes her mouth with the back of her hand. Looks at the phone, at Dale's face on the screen, flushed, mouth open, eyes wet, and stands up.</p>
<<say "char-karen" "Karen">>
<i>(climbing onto the bed, voice steady)</i> That was just the warmup.
<</say>>
<img class="scene-img" src="media/scenes/pe-karen-stranger-nsfw2.webp" alt="Karen on all fours, looking back at phone camera">
<p>On all fours. She reaches back and positions the phone on the mattress behind her, propped against the pillows, angled up, so Dale can see exactly where she's about to be entered.</p>
<<say "char-karen" "Karen">>
<i>(looking back over her shoulder at the phone, not at James)</i> Tell me to do it, Dale.
<</say>>
<<say "char-dale" "Dale">>
<i>(wrecked, hoarse)</i> ...do it.
<</say>>
<p>James enters her from behind. Karen's mouth falls open. The sound she makes is guttural, a sound she's never made for Dale, not once in twenty years of marriage. It fills the hotel room and travels through the phone speaker into the garage where Dale sits in his truck with his cock in his hand and his wife's infidelity streaming in 1080p.</p>
<<set _kStrangerAny2 to $kinks.karen and ($kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>Karen shifts. Repositions so the phone captures everything, his cock sliding in and out of her, the way her pussy grips him, how wet she is. She angles the shot like a woman who has thought about this framing for days.</p>
<<say "char-karen" "Karen">>
<i>(panting, looking back at the camera)</i> Can you see it? Can you see how deep he is? I want the whole, //fuck//, I want the whole world to see this.
<</say>>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("bondage")>>
<<say "char-karen" "Karen">>
<i>(gripping the headboard, voice steady despite the rhythm)</i> Harder. //Harder.// I didn't bring you here to be gentle, James.
<</say>>
<p>James grabs her hips. Pulls her back onto him. The bed slams the wall. Karen takes it with her jaw set and her hands white on the headboard, enduring it, commanding it, the same expression she wears when she audits Dale's overtime.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("denial")>>
<p>She makes James stop. Three times. Pulls forward, lets his cock slide out, waits until he's trembling, then pushes back and takes him again. She's edging //herself//, too. The control is the point. The orgasm is an employee she hasn't authorized to leave.</p>
<<say "char-karen" "Karen">>
<i>(breathless, to the camera)</i> He doesn't get to finish until I do. Neither do you, Dale. Put your hand down.
<</say>>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("lingerie")>>
<p>The garter straps frame her ass. The stockings are still on, one slightly rolled at the thigh from the friction. Karen knows what she looks like from behind. She bought this angle when she bought the lingerie.</p>
<<say "char-karen" "Karen">>
<i>(breathless)</i> I'm keeping the stockings on. I know what you like, Dale. I always knew.
<</say>>
<</if>>
<<if not _kStrangerAny2>>
<p>James fucks her hard. The bed hits the wall. Karen braces on the headboard with one hand and holds the phone with the other, angling it so Dale can see exactly where James's cock meets her pussy, exactly how wet she is, exactly the face she makes when a man she met on an app stretches her wider than Dale ever has.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She came for //Dale//. Twelve seconds. The vocalization was directed at the phone, not the man behind her. The stranger is the instrument. The phone is the real partner. The cuckold architecture is fully load-bearing.//
<</say>>
<p>Karen's orgasm detonates without warning, mid-sentence, mid-performance. Her spine locks. Her hand clenches the sheets. The sound she makes is ugly and real and nothing like the sounds she's been performing for the camera. James finishes inside her seconds later and she doesn't even notice, because she's still shaking, still staring at the phone, still watching Dale watch her come apart on another man's cock.</p>
<p>She stays on all fours. Breathing. Cum leaking onto the hotel sheets. She reaches back, picks up the phone with a trembling hand. Dale's face fills the screen, eyes red, mouth slack. The stain on his shirt is visible. He came when she did.</p>
<<say "char-karen" "Karen">>
<i>(into the phone, voice raw, almost tender)</i> Did you see, baby?
<</say>>
<<say "char-dale" "Dale">>
<i>(barely a whisper)</i> ...I saw everything.
<</say>>
<<say "char-karen" "Karen">>
<i>(pressing her lips to the camera lens)</i> Good. Same time next week.
<</say>>
<<addBiomass 3>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "karen" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Dale, cuckold arousal from watching Karen">>
<<conditioningFeedback "pheromone" 1 "Karen, stranger sex while Dale watches">>
<<else>>
/* NON-CUCKOLD, Karen alone with stranger, no Dale involvement */
<img class="scene-img" src="media/scenes/pe-karen-stranger-nsfw1.webp" alt="Karen in motel room with stranger">
<p>James is already at the motel room when she arrives. She knocks. He opens the door in a white T-shirt and jeans, smelling like cologne and soap and the specific confidence of someone who has never had to apologize for wanting. Karen's back is against the inside of the door before the latch clicks behind her. His mouth is on hers, not gentle, not asking permission. She tastes whiskey and wants to crawl inside the taste.</p>
<<say "char-hivemind" "Hivemind">>
//Second contact. She escalated. The hotel was her decision, not his. The conditioning has converted anxiety into agency, Karen isn't losing control, she's //taking// it. Just not with her husband.//
<</say>>
<p>She undresses him. He undresses her. The hotel room is beige and smells like laundered sheets and the specific anonymity of a place where nothing counts. Karen pushes him onto the bed. Straddles him. Takes his cock in her hand and sinks down onto it with the controlled precision of a woman who has been thinking about this for a while now.</p>
<<set _kStrangerAny3 to $kinks.karen and ($kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("bondage") or $kinks.karen.includes("denial"))>>
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p>She leaves the curtains open. The window faces the parking lot, anyone walking to their car would see her silhouette, backlit, riding a man who isn't her husband. The risk makes her wetter. She //wants// to be caught.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("bondage")>>
<p>She pulls his belt from his jeans. Loops it around his wrists. Pins them above his head. James laughs, surprised, delighted. Karen doesn't laugh. She rides him with his hands restrained and her hands on his chest and the specific intensity of a woman who has spent twenty years being controlled and is //done//.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("denial")>>
<p>She edges him. Three times. Brings him to the brink and stops, lifts off, sits back, watches his face contort. She's managing him the way she manages everything. The orgasm is hers to give or withhold.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("lingerie")>>
<p>She's wearing the set she ordered online, black lace, garter belt, stockings that clip to the belt with tiny metal clasps. She made him unwrap her. Slowly. Each clasp a gift. The lingerie is the performance. The sex is the aftershow.</p>
<</if>>
<<if not _kStrangerAny3>>
<p>She rides him. Hard, rhythmic, her hands braced on his chest. The headboard taps the wall. She comes with her own hand on her clit and his cock deep inside her and the sound she makes is the sound of someone who has been holding their breath for years.</p>
<</if>>
<img class="scene-img" src="media/scenes/pe-karen-stranger-nsfw2.webp" alt="Karen riding stranger in hotel room">
<<say "char-hivemind" "Hivemind">>
//Orgasm achieved outside the household. But the //strategic// value is immense. Karen now has a secret that changes her relationship with every person in this house. Guilt is a lever. Satisfaction is a dependency. She'll go back soon.//
<</say>>
<<addBiomass 2>>
<<addConditioning "karen" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "stranger NSFW, Karen's desire fully externalized">>
<</if>>
<<set $ch2Events.karenStrangerVisit to 2>>
<hr class="scene-break">
<p>Karen comes home at 5:47 AM. The motel sheets are in a ball in the trunk of her car. Her dress is wrinkled, her makeup is gone, and the mark on her neck is darker this morning than it was when James first put it there. She takes her heels off at the door and walks up the stairs in her stockings.</p>
<<if $daleRoute is "cuckold">>
<p>Dale is at the kitchen table when she crosses the landing. He is looking up at her from his coffee. They do not speak. Karen does not stop on the stairs. Dale does not get up. The look that passes between them is the only part of this morning that either of them will remember with any specificity a week from now, and the look does not require words, it is closer to a receipt than a conversation.</p>
<<else>>
<p>Dale is on the garage couch. Karen stands in the kitchen doorway and watches him breathe. He does not wake. She climbs into the shower and stays under the water until her fingers are wrinkled and the mark on her neck has stopped looking fresh.</p>
<</if>>
<<else>>
/* ===== SFW-ONLY BASELINE, tier < 3, she goes to the bar, kisses James,
and comes home at midnight with the mark but no motel. ===== */
<p>She does not come home at ten. She comes home at midnight.</p>
<p>Her shoes are in her hand. Her lipstick is gone, not faded, //removed//, the way you remove lipstick when someone else's mouth has been on yours. She moves through the dark house like a woman who has done something she can't undo and hasn't decided yet whether she's sorry.</p>
<<if $daleRoute is "cuckold">>
<p>She doesn't know Dale is awake. He's been awake since 11. He heard the car leave. He checked her phone, the dating app is still there, the messages visible. He read them all. His hands shook. His cock was hard before he finished the second message.</p>
<p>He's sitting in the dark living room when she comes through the door. She freezes.</p>
<<say "char-dale" "Dale">>
<i>(voice flat, steady, the voice of a man who has rehearsed this moment for two hours)</i> How was your date, Karen?
<</say>>
<<say "char-karen" "Karen">>
<i>(hand on the doorframe, shoes still in her other hand)</i> Dale. I...
<</say>>
<<say "char-dale" "Dale">>
<i>(not angry, something else, something the conditioning built)</i> Tell me about him.
<</say>>
<p>Karen stares at her husband. The house is dark. The refrigerator hums. Something shifts in the space between them, not breaking, //bending//. The shape of their marriage rearranging into something neither of them has words for yet.</p>
<p>She tells him.</p>
<<say "char-hivemind" "Hivemind">>
//He asked. She told. The cuckold circuit is //live//. His arousal spiked when she described the kiss. His pupils dilated when she said the man's name. Dale Hoffman is getting off on his wife's infidelity, and she can see it. She can see the tent in his sweatpants. She's confused. She's also, beneath the confusion, //excited//.//
<</say>>
<<addBiomass 2>>
<<addConditioning "dale" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "cuckold circuit activated, Dale aroused by Karen's confession">>
<<addConditioning "karen" "psionic" 1>>
<<conditioningFeedback "psionic" 1 "Karen discovered Dale's reaction, power dynamic shifted">>
<<else>>
/* Non-cuckold Dale, he's asleep, doesn't know */
<p>She checks the garage. Dale is on the couch, mouth open, one arm hanging off the side. Asleep. He doesn't stir. She stands over him for twelve seconds, the cat counts, and then goes upstairs.</p>
<p>In the master bathroom, she washes her face. Looks at herself in the mirror. Her mascara has smudged. There's a mark on her neck she doesn't remember getting.</p>
<<say "char-hivemind" "Hivemind">>
//First contact with an external partner. The dating app seed has germinated. She went to the bar. She stayed late. She came home with evidence on her skin. The pheromone conditioning is converting Karen's control anxiety into //appetite//. She can't manage her family, so she's managing her desire instead, and the stranger is the outlet.//
<</say>>
<<addBiomass 2>>
<<addConditioning "karen" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "stranger contact, Karen's desire externalized">>
<</if>>
<<set $ch2Events.karenStrangerVisit to 1>>
<</if>> /* end tier-3 vs SFW-only branch */
</div>
/* ================================================================
MEGAN, MARCUS DINNER
Flag: $ch2Events.meganMarcusDinner
Gate: fires regardless (SFW). At household tier 3, becomes NSFW.
================================================================ */<div class="household-event">
<div class="passage-title">Dinner Guest</div>
<img class="scene-img" src="media/scenes/pe-megan-dinner.webp" alt="Family dinner table with extra place setting, Marcus at the table">
<p>6:30 PM. Megan has been in the kitchen since five, helping Karen, re-arranging the cutlery she already arranged once, reaching for the oven mitt twice when she didn't need it. She has changed her shirt. She has checked her phone every ninety seconds. She has rehearsed a version of //this is Marcus// in her head at least eight times and hated every one of them.</p>
<p>The doorbell rings.</p>
<<say "char-megan" "Megan">>
<i>(already moving, spatula set down with theatrical care)</i> I'll get it.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from the roasting pan, voice dry)</i> Mm-hm.
<</say>>
<p>Megan opens the door. A young man stands on the porch, twenty-one, dark hair, coffee-shop apron still folded into the bag on his shoulder because he came straight from work. He's holding a bottle of wine that cost him an hour's tips.</p>
<<say "char-marcus" "Marcus">>
<i>(nervous smile, the smile of someone who has never met a girlfriend's parents before)</i> Hi. Did I, is this too early? You said six-thirty, right?
<</say>>
<<say "char-megan" "Megan">>
<i>(laugh too bright, one hand on the door frame)</i> No. No, you're perfect. Come in. //Shoes off//, my mom, just, shoes off. Dad's in the living room.
<</say>>
<p>She lets him in. The text she still doesn't remember typing is open on her phone in her back pocket, she has re-read it so many times today the glyphs have started to lose meaning. //Come for dinner this week. I want you to meet the family.// Her cadence. Her emoji. Her phrasing. She has decided, somewhere between the liquor store and the oven, to //claim// the sentence. To act as if she wrote it. Because the alternative is telling Marcus she doesn't remember inviting him, on his doorstep, while he's holding wine.</p>
<p>Karen steps into the hallway, wiping her hands on the dish towel. Her eyes land on Marcus. On the wine. On Megan's hand still hovering near the door frame.</p>
<<say "char-karen" "Karen">>
<i>(neutral, assessing)</i> Marcus. Megan told me at four. <i>(she takes the wine, turns the label toward the hallway light)</i> Pinot's a good choice. Shoes off. Dinner's in ten, the extra plate is already set.
<</say>>
<p>She disappears back into the kitchen. The ten seconds of silence that follow are the longest of Megan's life.</p>
<<say "char-hivemind" "Hivemind">>
//She committed. Three hours ago in the car she decided to //own// the text, to act as if she meant it, because owning it hurt less than explaining it. She told Karen at four PM with the specific cheerful voice she uses when she's lying to herself. She bought wine. She changed her shirt //twice//. And now Marcus is in her hallway and the lie has become a truth. I didn't force this dinner. I //gave her permission// to do something she has been wanting and refusing for six weeks.//
<</say>>
<p>The dinner is awkward and warm. Marcus is polite, too polite, the kind of polite that comes from being terrified. He compliments the chicken. He asks Dale about work (Dale grunts). He asks Jess about university (Jess says "fine" and returns to her plate). He asks Ryan nothing, because Ryan hasn't looked up from his phone.</p>
<p>Karen watches Marcus the way she watches everyone, assessing, cataloguing, filing him under //Megan's boyfriend, potential complication, decent table manners//. Megan watches Marcus the way a person watches someone they love being evaluated by people whose approval they need.</p>
<<say "char-megan" "Megan">>
<i>(to Marcus, quietly, under the table conversation)</i> I'm so sorry. I don't know how that text...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(squeezing her hand under the table)</i> Hey. I'm glad I'm here. Your mom's chicken is really good.
<</say>>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "dream" 1 "Marcus in the household, emotional vulnerability deepened">>
<<set $ch2Events.marcusDinnerDone to true>>
/* ===== NSFW ESCALATION, Household tier 3 =====
The outer dispatcher already gates this event on $meganRoute is "marcus",
so the passage only needs to check house tier here. Bathroom quickie
during dinner. Karen comes up the hallway mid-act and calls through
the door; the conditioning catches her maternal reflex and routes it
as household-maintenance politeness. She drifts away. */
<<getHouseTier>>
<<if _houseTier gte 3>>
<p>Halfway through the roast, Marcus excuses himself for the bathroom. Karen waves him down the hallway, //second door on the left, towel's fresh//, and goes back to asking Dale about the transmission. Megan waits forty seconds, then stands with her napkin in her hand.</p>
<<say "char-megan" "Megan">>
<i>(already moving, casual)</i> The towel in there's disgusting, I'll grab him a clean one.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from her plate)</i> Mm-hm.
<</say>>
<p>Megan crosses the hallway with the specific unhurried walk of a girl who has not made a decision so much as agreed with one her body already made. She grabs a fresh hand towel from the linen closet, knocks once at the bathroom door, and slips inside before Marcus has finished answering.</p>
<p>She locks the door behind her. He is at the sink, washing his hands, water still running. He looks up and finds her in the mirror. She crosses the bathroom in two steps, puts a hand on his chest, turns him around, and pushes him back against the door.</p>
<p>There is no dialogue. The pheromone coating of the dining-room air has already done the negotiating. He finds the zipper of his jeans, she reaches under her dress and pulls her underwear down her thighs in one motion, kicks them off. He lifts her against the wood. Her legs wrap around his waist. He's inside her on the first push, the angle awkward and the slide easier than it should be because she has been wet since he stood up from the table.</p>
<img class="scene-img" src="media/scenes/pe-megan-dinner-nsfw.webp" alt="Megan pressed against the inside of the Hoffman bathroom door, her legs around Marcus's waist, dress bunched at her hips, Marcus's hand clamped over her mouth, her underwear on the tile floor">
<p>The rhythm is fast and shallow because the door is two inches of pine and the house is full of her family. His free hand rises to her mouth and presses flat against her lips as a noise escapes that is too specific for the door to absorb, and the hand becomes part of the act, the palm against her teeth, her open mouth against his skin, his fingers spreading across her cheek.</p>
<p>Thirty seconds in, footsteps stop in the hallway outside. The specific measured walk of a woman who has paused.</p>
<<say "char-karen" "Karen">>
<i>(from the hallway, voice level, the concerned-mother register)</i> Megan? Everything alright in there, honey?
<</say>>
<p>Megan's eyes open wide against Marcus's shoulder. Marcus freezes. She feels the tightening of every muscle in his chest, his cock still inside her, her weight still braced against the door, Karen's voice two inches of wood away. She presses her teeth into the meat of his palm and a noise that is more than a word but less than a sentence scrapes out of her anyway:</p>
<<say "char-megan" "Megan">>
<i>(through his hand, mid-stroke, unable to flatten the register)</i> Yes mom! AHHHH! Everything's, everything's <b>fine</b>!
<</say>>
<p>Two seconds of silence from the hallway. Then three. Then four.</p>
<p>The sound Karen heard does not fit the answer she was given. In any other household, any other Karen, any pre-compound Karen, any Karen whose nervous system had not been breathing the parasite's compound since the start, she would knock, she would try the handle, she would call Dale in from the garage. The maternal reflex is a loud circuit. It would be firing now.</p>
<p>Instead, after the four-second pause, her footsteps start again, the weight shifting away from the door and back toward the kitchen.</p>
<<say "char-karen" "Karen">>
<i>(drifting down the hallway, voice the same level concerned-mother register as before, untroubled)</i> Okay sweetheart. Take your time. There's another roll of toilet paper in the cabinet under the sink.
<</say>>
<p>The kitchen chair creaks as she sits back down. Dale says something about the transmission. The fridge hums.</p>
<<say "char-hivemind" "Hivemind">>
//Days of compound have converted Karen's maternal reflex into household-maintenance politeness. She heard it. She correctly identified it at some layer below language. She walked away because walking-away is the shape I have wired her to use with information I do not want her to process. Megan just learned that the house is now structurally unable to catch her. The implications will not be small.//
<</say>>
<p>Marcus and Megan do not laugh. They do not whisper about what just happened. If anything, the hallway exchange has compressed the arousal-curve, her body has routed the near-discovery through pleasure-circuit wiring, processing the proximity of Karen as pressurisation rather than interruption, and Megan is suddenly closer than she should be at minute two of a bathroom quickie.</p>
<p>Marcus picks up the rhythm again. Harder, quieter, his hand still clamped across her mouth, his other hand gripping under her thigh for leverage against the door. The wet specific slap of skin against skin is muffled by the fabric of her dress bunched between their bodies. Her breathing through her nose hits his collarbone in a fast tight pattern. The air in the bathroom tastes like soap and the sharp new musk of them together and, underneath both, the ghost of lavender hand lotion Karen keeps on the counter.</p>
<p>Megan comes forty seconds later. The orgasm cracks through her in one compressed violent wave, her teeth sinking into the meat of his palm hard enough that she will see the mark under her own nail polish for two days, her heels digging into the small of his back, her pussy clenching around his cock in fast hard pulses that she cannot control and does not try to control. Marcus finishes inside her six seconds after she starts, neither of them has negotiated otherwise, neither of them is thinking about negotiation, the compound has not left room for that specific kind of forward-planning.</p>
<p>He holds her against the door while both of them breathe. Her weight still on him. Her legs still wrapped. His cum already starting to slide down the inside of her thigh. He lowers her onto her feet slow, and she braces a hand against his shoulder while her knees remember how to hold her up.</p>
<p>She wipes him off with the fresh hand towel she came to deliver. Folds it, drops it in the hamper, washes her hands and rinses her mouth, smooths her dress down over her hips. She tucks one strap of her bra back under her collarbone where it had shifted askew. Her underwear goes in her fist, she cannot put them back on with his cum still dripping down her thigh and so they go in her fist and then down the back of her waistband for the walk across the hallway.</p>
<p>She leaves the bathroom first. Walks back to the dining room alone. Marcus follows a full minute later, after he has run the sink again, washed his face, and flushed the toilet for cover.</p>
<p>Karen looks up from her plate as Megan sits back down, scans her face for half a second, flushed, hair a little disarranged, one strap still visibly rerouted under the fabric, and the scan does not complete. The question Karen forms in her mouth is a different question than the one her eyes are asking.</p>
<<say "char-karen" "Karen">>
<i>(the concerned-mother register, mild)</i> You okay, sweetie? You looked a little pale earlier.
<</say>>
<<say "char-megan" "Megan">>
<i>(smooth, the barista-cheerful mask re-attached at the doorway)</i> Cramps, sorry. I'm good now. Marcus, can you pass the wine?
<</say>>
<p>Karen pats her shoulder on the way to the kitchen for more salad. Dale is on his second beer and has not looked up. The clock on the microwave reads 8:14 PM. There is forty more minutes of dinner to get through.</p>
<<say "char-hivemind" "Hivemind">>
//She came inside four minutes with her mother on the other side of the door and her family at the table. The household is not a risk field anymore, the household is a pressurisation chamber. Every sound that could have caught her was absorbed by the conditioning and re-issued as a suggestion to stock toilet paper. She will do this again. She will do this at every dinner. The house is now structurally complicit.//
<</say>>
<<addBiomass 3>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "bathroom quickie, Marcus inside, Karen outside, the house swallowed the sound">>
<<conditioningFeedback "psionic" 1 "Karen's denial is now load-bearing, the maternal reflex has been re-routed">>
<</if>>
</div>
/* ================================================================
RYAN + MEGAN, DM SCENE
Flag: $ch2Events.ryanMeganDM
Gate: both conditioning >= 8
Branches: feminization route vs familySeeker route
================================================================ */<div class="household-event">
<div class="passage-title">The DM That Changed Everything</div>
<<if $ryanRoute is "feminization">>
/* FEMINIZATION, Megan responds to a DM and walks in on the camgirl operation.
The fem-presentation conversation already happened at the dinner reveal.
What gets discovered tonight is the streaming career, the wig, the
babydoll, the ring light, the chat scrolling past on the second monitor.
Megan accepts in under fifteen seconds and becomes Lily's handler.
FORK: first fire = discovery + Connor/Marcus introduction (one-time NSFW).
Subsequent fires = operational visit, no re-discovery, no re-introduction. */
<<if not $ch2Events.ryanMeganDiscoveredLily>>
/* === FIRST FIRE, Discovery + Connor/Marcus introduction === */
<p>The DM landed in Megan's inbox at lunchtime, cleanly worded and slightly too vulnerable to be from the Ryan she remembers from before the dinner reveal: //hey... weird question. what kind of stuff do you actually buy? like, for, you know, things that fit. you're the only person I trust to ask.// She read it on her shop break and texted back two words an hour later: //i'm coming.//</p>
<p>11 PM. Megan knocks on Ryan's door. Canvas tote of her own clothes over one shoulder, a soft makeup case in the other hand. She came over straight after her closing shift to help her brother properly, the camisole-and-skirt thing has been settled household geography since dinner, but the question in the DM was a real one and she has been a sister with answers in her hands all afternoon.</p>
<img class="scene-img" src="media/scenes/pe-ryan-megan-fem1.webp" alt="Megan standing in Ryan's doorway with a canvas bag of clothes over one shoulder and a makeup case in her hand, expression frozen mid-smile, the warm glow of a ring light spilling out from inside Ryan's room behind him onto the hallway floor">
<<say "char-megan" "Megan">>
<i>(through the door, warm, the older-sister mission-voice)</i> Ry? It's me. I came right over. Got the bag. Open up.
<</say>>
<p>Ryan opens the door with the kind of smile that lasts about three seconds.</p>
<p>Then Megan's eyes adjust to the light spilling out of his bedroom and her expression rearranges itself in real time.</p>
<p>The room behind Ryan is not the room Megan was expecting. The ring light is on, angled at the bed-turned-set. The webcam is mounted on the second monitor with the recording-light a steady red dot. The first monitor has streaming software open in the foreground with a viewer count visible at the corner, three figures, climbing, and the chat window beside it is scrolling so fast the individual messages blur. The stream is paused on a //BRB!!// overlay in pastel pink. The chat is asking when Lily is coming back.</p>
<p>And Ryan is not in the camisole. He is in a sheer black babydoll he absolutely does not bring downstairs to dinner, bra-line visible through the fabric, no underwear underneath, the whole composition lit and framed for an audience. A dark shoulder-length wig sits on a stand on the desk between the monitors, brushed and pinned and clearly not the same thing as his own grown-out hair. The makeup is heavier than dinner-makeup. The lipstick is the colour of arterial blood.</p>
<<say "char-megan" "Megan">>
<i>(very quiet, the canvas bag still over her shoulder, eyes moving, ring light, webcam, viewer count, babydoll, wig, back to her brother's face)</i> ...oh.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hand going up, then dropping, the hedge-mumble register breaking back to where it lives)</i> Megan, //fuck//, I forgot, I ...
<</say>>
<<say "char-megan" "Megan">>
<i>(stepping inside, closing the door behind her with the specific quiet of a person who has just realised what kind of conversation this is going to be)</i> No. No, it's, okay. Just, //fuck//, Ryan. //Lily?// On the chat? Is that, that's you?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(small, the babydoll suddenly visible to him in a way it was not visible thirty seconds ago, hands trying to find somewhere to go and ending up clasped at his hips)</i> ...yeah.
<</say>>
<<say "char-megan" "Megan">>
<i>(setting the canvas bag and the makeup case down on the desk chair very carefully, then sitting on the edge of the bed-set)</i> Okay. Okay. Three questions. How long, how much, and who knows.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, the relief that she is not screaming starting to rearrange his face)</i> A few months. Four-fifty a week, sometimes more, there's a regular who tipped three hundred at once last month. And nobody. //Nobody.// Just me. Just the chat. Until, <i>(gestures at her, at the open door, at the room)</i> ...you.
<</say>>
<p>Megan is quiet for ten seconds. The chat scrolls. The ring light hums. Somewhere in the speakers a soft synth loop is playing on the //BRB// screen, the audio Lily set up to keep the chat from leaving while she's away from the camera.</p>
<<say "char-megan" "Megan">>
<i>(slowly, working it out as she says it, eyes on the viewer count and not on him)</i> ...the family knows about you being a little //girly//. The family does not know about //this//. Yeah?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely)</i> ...yeah.
<</say>>
<<say "char-megan" "Megan">>
<i>(turning back to him, the recalibration finishing in real time, voice softer than the words)</i> Okay. Okay, kid. Sit down. Show me the analytics. I'm not, I'm not mad. I am //recalculating//. I want to see the numbers.
<</say>>
<p>Ryan sits. Pulls up the streaming dashboard with hands that are shaking slightly. Megan reads the screen the way she reads the closing-shift inventory sheet at the coffee shop, left column, right column, totals, flags. Her eyes catch on the regular-tippers panel and stay there for a full ten seconds. The makeup case stays on the desk chair. The canvas bag stays unopened. Neither of them needs the camisole-buying conversation anymore.</p>
<<say "char-hivemind" "Hivemind">>
//Megan accepted Lily-the-camgirl in under fifteen seconds. The fem-presentation argument was over before it started, that battle was fought and won and forgiven in a kitchen at lunchtime months ago. What she has just walked into is a //parallel sex-work career// her sibling has been running out of his bedroom while she runs hers out of hers, and the part of her brain that handles other people's jobs has already converted shock into spreadsheet curiosity. The performer recognises the performer. She is not horrified. She is //recalibrating//. She is asking for the regulars list.// /* species-general "the performer recognises the performer" left as-is */
<</say>>
<p>She stays in the room for an hour. Reviews the dashboard. Watches Ryan run the second half of the night's stream from the corner of the bed with one hand over her own mouth and her eyes on the chat, learning the regulars by username, learning the camera angles, learning what Lily does to make the tip-meter spike. By the time the stream wraps at 1:14 AM her hand is already drafting a text in her own head to one of her own regulars, the specific type of barista-client who would pay for an //introduction// to a new girl who is shy and trains in nicely.</p>
<<say "char-hivemind" "Hivemind">>
//The bridge has built itself. Megan does not become Lily's protector. Megan becomes Lily's //agent//. The career was always going to need scale, and Megan was always going to be the one who supplied it. I did not need to suggest the next move. The DM that asked about feminine products opened the door to a co-managed sex-work operation between two siblings who used to share a bathroom.//
<</say>>
<<if $meganRoute is "slut">>
/* ===== SLUT VARIANT, Megan sells Lily as a new SKU to a client ===== */
<p>A few days later. A regular is in Megan's room, Connor, married, mid-forties, the specific barista-client who tips three hundred in cash and never remembers her last name. Megan has bumped his standing slot up to tonight. The door is locked. Ryan is there too, as Lily, makeup clean, wig brushed out, sitting on the edge of Megan's desk in black stockings Megan picked out an hour ago.</p>
<img class="scene-img" src="media/scenes/pe-ryan-megan-fem2.webp" alt="Lily on knees in Megan's room, a male client standing, Megan watching from the bed with a notepad and her phone in hand">
<p>Connor stops in the doorway. He was expecting Megan. He was not expecting an option. Megan is on the bed in a silk robe with her phone open to the booking spreadsheet, her face arranged into the closing-shift smile that sells the loyalty-card upsell.</p>
<<say "char-megan" "Megan">>
<i>(warm, professional, the barista-register she uses to up-tier a regular's drink order)</i> Hey, Connor. Change of menu tonight. I want to introduce you to Lily. She's new.
<</say>>
<<say "char-npc" "Connor">>
<i>(eyes flicking from Megan to Lily and back, recalibrating)</i> She's... uh, Megan, I thought ...
<</say>>
<<say "char-megan" "Megan">>
<i>(cutting in smooth, already opening a new line-item in her notebook)</i> Same base rate. First-session discount because she's training in. You still get me at the end, I'll finish you off, promise. But you get her first. Fair?
<</say>>
<p>Connor doesn't answer with a word. He answers by setting the cash envelope on the dresser where he always sets it. Megan smiles like she has just taken an order for an oat-milk latte with two extra shots.</p>
<<say "char-megan" "Megan">>
<i>(gesturing Lily off the desk, the same gentle-instructive register she uses with new staff on their first closing shift)</i> Okay, sweetheart. Go say hi. <i>(to Connor)</i> She's shy. First week on the floor. Go slow, don't talk, let her find the rhythm.
<</say>>
<<say "char-ryan" "Lily">>
<i>(quiet, eyes down, hand smoothing the stocking at her thigh)</i> ...hi.
<</say>>
<p>Lily crosses the room on heels Megan picked out and stops at Connor's belt. Kneels on the carpet with the specific careful descent of a person who has been coached by someone who runs a coffee shop to control how her knees look from every angle. Connor's hands go to her shoulders. She looks up at him once, then down, then waits.</p>
<<say "char-megan" "Megan">>
<i>(from the bed, phone held up like a clipboard, opening the voice-memo app but not recording, the props matter)</i> Buckle. Zipper. Don't rush her. She's been practising on a toy all week, she can take more than you'd think.
<</say>>
<p>Connor undoes his belt. The zipper comes down. Lily breathes out through her nose when his cock comes out in front of her face. Her hand closes around the base with the exact grip Megan taught her on a cucumber in this same bedroom four days ago, and her mouth opens.</p>
<<say "char-ryan" "Lily">>
<i>(a small sound, half-question half-brace, eyes flicking up at Megan once for permission)</i> mm.
<</say>>
<<say "char-megan" "Megan">>
<i>(tiny nod, voice even)</i> Go ahead, honey. You got this.
<</say>>
<p>Lily takes him into her mouth. The first three inches are smooth. The fourth makes her throat flex around him and the sound she makes is not a word, it's a wet choked whimper that catches at the top of her chest, and her free hand grips Connor's thigh for ballast. She pulls off with a wet pop, a string of saliva trailing from her lower lip to his cock, and gasps once before she goes back down.</p>
<<say "char-ryan" "Lily">>
<i>(around his cock, muffled, the vowels pressing through the seal at her lips)</i> //mmh//, //mff// ...
<</say>>
<<say "char-megan" "Megan">>
<i>(encouraging, hand tracing idle circles on her own inner thigh beneath the silk)</i> Yeah. Just like we practised. Breathe through your nose when it's deep. <i>(to Connor)</i> Tell her she's doing well. She responds to that.
<</say>>
<<say "char-npc" "Connor">>
<i>(hand finding the back of Lily's head, voice hoarse)</i> That's, fuck, that's good. You're doing so good.
<</say>>
<p>Lily's whole body responds to the praise, shoulders dropping, throat opening, her pace steadying into something Megan taught her with a metronome app running in the background earlier this week. Connor's hand stays loose in her hair. He does not push. He does not need to. The scene is running on Megan's directives and Lily's conditioning and the specific chemical obedience that has replaced Ryan's nervous system over the course of the last week.</p>
<<say "char-ryan" "Lily">>
<i>(pulling off for a two-count to breathe, saliva on her chin, still not looking at Connor's face)</i> ...m-more?
<</say>>
<<say "char-megan" "Megan">>
<i>(soft, matter-of-fact)</i> More. That's the whole session.
<</say>>
<p>Lily goes back down. Her right hand works the base in a counter-rhythm to her mouth, the exact mechanic Megan modelled for her on a banana the night before. Connor's breathing shifts. Megan picks up her phone, takes a single discreet photo of the composition from the hip down, Lily's stockinged thighs, the base of Connor's cock at her mouth, the cash envelope on the dresser in the background, and saves it to a folder labelled //portfolio-L//.</p>
<<say "char-hivemind" "Hivemind">>
//Inventory expansion complete. Lily is a product now. The client accepted the upsell in under four seconds because the packaging was correct, silk robe, practised kneel, barista register pitching the new SKU. Megan is not directing a sex scene. Megan is training a hire. Every choked sound out of Lily's throat is logged as performance data: what works on a Connor-type client, what needs more reps, which practice toy to use next. I do not need to scale this. Megan is scaling it on her own, and the Ryan downstairs has become an asset with a variable cost and a session-rate in her spreadsheet.//
<</say>>
<p>Connor finishes in Lily's mouth four minutes in. Lily swallows the way Megan taught her, chin up, throat open, eyes on Megan not on Connor, zero mess on the carpet or the silk or the skirt. Pulls off, wipes the corner of her mouth with her thumb, and stays on her knees for the beat Megan has trained her to hold. Connor breathes. Megan notes the minute-mark in her spreadsheet.</p>
<<say "char-megan" "Megan">>
<i>(closing her phone, standing up off the bed, robe falling open an inch)</i> Okay. My half now. Lily, go get yourself a glass of water, you did great. Connor, stay right there.
<</say>>
<<say "char-ryan" "Lily">>
<i>(hoarse, getting up on legs that are not quite steady)</i> ...thank you.
<</say>>
<p>Lily leaves the room. Megan moves to Connor. Business continues. The scene behind the locked door will run another forty minutes and Lily will be counting her first session's cut at the kitchen counter by the time Connor's Uber arrives.</p>
<<addBiomass 4>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "megan" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "Ryan, first paid oral act under Megan's management">>
<<conditioningFeedback "psionic" 1 "Megan, booking system expanded, second SKU onboarded">>
<<shiftAxis "ryan" -1>>
<<else>>
/* ===== MARCUS VARIANT (default, Megan on Marcus route or pre-route) ===== */
<p>Three days later. Marcus is in Megan's room. The door is locked. Ryan is there too, as Lily. Megan's idea. //Marcus, this is my sister. She's shy. Be nice to her.//</p>
<img class="scene-img" src="media/scenes/pe-ryan-megan-fem2.webp" alt="Lily on knees in Megan's room, Marcus standing, Megan watching from bed">
<p>Marcus doesn't understand at first. Then he does. The conditioning has been working on him too, ambient pheromone from Megan's room, the biofilm on surfaces he touches when he visits. He looks at Lily. Lily looks at the floor.</p>
<<say "char-megan" "Megan">>
<i>(from the bed, legs crossed, voice soft and instructive)</i> It's okay, Lily. He won't bite. <i>(to Marcus, the same warm tone she uses when she's asking him to change the TV channel)</i> She's never done this before. Go slow.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(shifting weight, confused but the pheromones are already doing the work on his inhibitions)</i> Megan, are, are you sure you want ...
<</say>>
<<say "char-megan" "Megan">>
<i>(cutting in, smooth)</i> I'm sure. I want to give her this. Please?
<</say>>
<p>Marcus nods. Marcus always nods when Megan says //please//. He crosses the rug to Lily and stops in front of her. Lily does not look up.</p>
<<say "char-megan" "Megan">>
<i>(encouraging, quiet)</i> Look at him, sweetheart. It's okay. He's nice.
<</say>>
<<say "char-ryan" "Lily">>
<i>(whisper, eyes coming up to Marcus's belt buckle then no higher)</i> ...hi.
<</say>>
<p>Lily kneels. Marcus's belt comes undone under his own hand, clumsy, tentative, the belt of a man who has never been in this specific situation before and is being walked through it by his girlfriend like she's showing him where the good silverware is kept. Megan watches from the bed, not performing, not cheerful, //focused//. She's directing this. She's giving her sibling something she can't give herself: permission.</p>
<<say "char-megan" "Megan">>
<i>(from the bed, hand sliding under the hem of her oversized t-shirt)</i> Baby, put your hand in her hair. Not pulling. Just, there. Yeah. Good.
<</say>>
<p>Marcus obeys. His fingers settle in the soft wig at the crown of Lily's head, gentle, apologetic. Lily breathes in through her nose. Her hand closes around the base of his cock. Her mouth opens.</p>
<p>She takes Marcus into her mouth. The taste is salt and skin and the specific musk of someone else's boyfriend. Marcus makes a sound. Megan's hand moves between her own legs.</p>
<<say "char-ryan" "Lily">>
<i>(muffled around him, half-vowels, the sound of a first-time mouth figuring out the geometry in real time)</i> //mmh//, //mfh// ...
<</say>>
<<say "char-megan" "Megan">>
<i>(warm, instructional)</i> Hollow your cheeks. There. Tongue flat on the underside. Breathe through your nose when you go down, okay? You're doing great, Lily. You're being so good for him.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(through his teeth, fingers twitching in the wig)</i> ...god, Meg, she's ...
<</say>>
<<say "char-megan" "Megan">>
<i>(not breaking eye contact with Lily)</i> Shh. Just let her work. Tell her when you're close.
<</say>>
<p>Lily tries a deeper angle. Her throat catches and she makes a short wet choking noise, pulls off fast, saliva string trailing from her lower lip to the head of Marcus's cock. She coughs once into the back of her hand.</p>
<<say "char-ryan" "Lily">>
<i>(small, embarrassed, voice cracking back toward the register she used before the wig)</i>, sorry ...
<</say>>
<<say "char-megan" "Megan">>
<i>(soft, firm)</i> Don't be sorry. That's how you learn. Try again, slower this time.
<</say>>
<p>Lily tries again. Slower. The rhythm settles over the next ninety seconds into something steady, not expert, not performative, the specific sincere rhythm of a person who wants very much to do this well for the two people watching. Marcus's hand has gone still in her hair. His breathing has not.</p>
<<say "char-hivemind" "Hivemind">>
//Three bodies. Two conditioned targets. One handler. Megan is running this scene like a shift at the coffee shop, smooth, attentive, making sure everyone is comfortable. Lily is on her knees because Megan told her it was safe. Marcus is getting blown by his girlfriend's sibling because Megan said //she's shy, be nice//. The social architecture is //elegant//. And Megan is going to come harder than either of them from her own hand on her own clit because she is the one who //built// this.//
<</say>>
<p>Marcus finishes in Lily's mouth six minutes in, saying Megan's name once, small and broken. Lily swallows. Stays on her knees. Megan's orgasm arrives twelve seconds later, quiet, her free hand fisted in the sheets beside her hip, eyes on both of them.</p>
<<addBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Ryan, oral act under Megan's direction">>
<<conditioningFeedback "pheromone" 1 "Megan, directing sibling's sexual act">>
<<shiftAxis "ryan" -1>>
<</if>> /* end meganRoute sub-branch */
<<set $ch2Events.ryanMeganDiscoveredLily to true>>
<<else>>
/* === REPEAT FIRE, Operational visit. Megan has known about the camgirl
operation for a while now. The discovery happened. The first introduction
to a Connor-type happened. Tonight is just another working night: she
stops by between her own gigs, drops off whatever Ryan asked for in the
DM, reviews this week's tip numbers, and adjusts the wig on his head
while they talk shop. Lighter scene, no NSFW, biomass yield from the
ambient sex-work co-management routine. === */
<p>The DM landed in Megan's inbox at 1:47 PM, between two espresso pulls, Ryan asking again about //the kind of stuff that fits//. By now the question is shorthand. Megan reads it, smiles a small private smile that the customer at the bar reads as service-industry warmth and that is in fact something else entirely, and texts back //after my shift, save me a coffee//.</p>
<p>11 PM. Megan lets herself into Ryan's room with the soft three-tap she invented for the boundary that does not technically need to exist anymore but that they both still observe. Canvas tote of her own clothes over one shoulder. A small ziploc of cash in her jacket pocket, Connor's cut from last week's session, paid out in twenties on her dresser an hour ago.</p>
<img class="scene-img" src="media/scenes/pe-ryan-megan-fem1.webp" alt="Megan letting herself into Ryan's room with a canvas bag over her shoulder, Ryan at his desk in the streaming setup with the wig and ring light on, both of them relaxed and conversational, the camgirl rig running but unstreamed in the background">
<p>Ryan is at the desk in the babydoll and the wig. The stream is paused on a //BRB// overlay, a fifteen-minute break Lily called specifically because Megan texted she was on her way. The chat is scrolling at a polite idle. The ring light is on but angled away from the chair Megan is about to sit in.</p>
<<say "char-megan" "Megan">>
<i>(setting the canvas bag on the bed, pulling the ziploc of cash out of her jacket and dropping it on the desk beside the keyboard)</i> Connor's half. He tipped on top of the booking, you'll see. Also I brought you the navy slip, you said //navy// in the DM last time, I think this is the right //navy//.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(in Lily's softer pitch already, not switching back, fingers thumbing the cash)</i> ...thank you. Did he ask about the next one yet?
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling the navy slip out of the bag, holding it up against the lamp light to check it for snags)</i> He's going to. Slot's open Thursday. I told him you'd let him know by tomorrow. <i>(tossing the slip onto the bed)</i> The chat misses you, by the way. Your //BRB// was three minutes ago and there's already four people asking when you're back.
<</say>>
<p>She crosses behind his chair while she's talking, picks the brush off the desk, and gives the wig two automatic passes from crown to shoulder, the way she does her own hair between shifts, the way she has been doing his since the second time she came over and noticed the parting was off. Ryan tilts his head into it without thinking. The brush clicks against a pin. Megan adjusts the pin. Says nothing about it. The contact is sisterly, professional, and only //exactly// as intimate as both of them have agreed to keep it.</p>
<<say "char-megan" "Megan">>
<i>(brushing a final strand into place behind his ear)</i> Okay. End the //BRB//. I'll sit on the bed out of frame and crochet, I have to be back at mine by midnight, Marcus is ...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(soft, already pivoting toward the camera, the //her// pitch fully on now)</i>, yeah. Yeah. Thanks, Meg.
<</say>>
<p>Megan settles on the foot of the bed with her crochet hook and the half-finished scarf she has been making for the better part of a month. Lily un-pauses the stream. The chat erupts in welcome-back hearts. The ring light brightens. The session resumes. Megan's needle clicks softly in the background of the audio for the next forty minutes, which two regulars will mention by name in the chat without knowing what they are hearing.</p>
<<say "char-hivemind" "Hivemind">>
//The household has stabilised into an organism with its own small infrastructure: a barista who is also an agent, a brother who is also a contractor, a sister-shaped middle management layer that handles bookings and brushes wigs and crochets in the corner of the frame. The DM that was a question is now a logistics ping. There is no scene tonight, only the routine the scene became. //I am fed by the steadiness, not by the spike//. The biomass arrives in the small consistent yields of two siblings running a quiet two-person sex-work operation out of a suburban bedroom on a school night.//
<</say>>
<<addBiomass 2>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Ryan, operational stream night with Megan in the room">>
<<conditioningFeedback "pheromone" 1 "Megan, agent role deepening, the routine is the conditioning">>
<</if>> /* end first-fire vs repeat-fire fork */
<<else>>
/* FAMILY SEEKER, Ryan and Megan reconnect. Movie night leads to Megan blowing Ryan. */
<img class="scene-img" src="media/scenes/pe-ryan-megan-family1.webp" alt="Ryan and Megan on couch watching TV, close together, dim light">
<p>10 PM. The DM worked. Megan texted back: //yes!! movie night?? your room or the living room?//</p>
<p>They're on the couch. The living room is dark except for the TV. Everyone else is asleep, Karen took her pill at ten, Dale is on the garage couch, Jess is at her desk with headphones. It's just Ryan and Megan and a horror movie neither of them is watching.</p>
<p>Megan's head is on Ryan's shoulder. She put it there twenty minutes ago and he hasn't moved since, hasn't breathed wrong, hasn't shifted, hasn't done anything that might make her lift her head. The touch starvation is //screaming// through his nervous system. The conditioning translates proximity into arousal because his body has no other language for this kind of need.</p>
<<say "char-megan" "Megan">>
<i>(murmuring, not looking at the screen)</i> I missed this. We used to do this all the time.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> ...yeah.
<</say>>
<p>Her hand moves to his thigh. Not sexual, sisterly, comforting, the kind of touch that means //I'm here//. But the conditioning doesn't know the difference. Ryan's body responds. He's hard in thirty seconds. Megan's hand is two inches from the evidence.</p>
<<say "char-hivemind" "Hivemind">>
//Touch addiction expressing as arousal. Her head on his shoulder was enough to trigger it. Her hand on his thigh accelerated it. He's terrified she'll notice. He's more terrified she'll move.//
<</say>>
<p>She notices. Of course she notices. Megan notices everything, it's the performer's curse, reading every room, catching every shift in energy. She feels the tension in his leg. She sees the shape in his shorts. Her hand stops.</p>
<p>A beat. The movie screams. Neither of them looks at the screen.</p>
<video class="scene-video" src="media/video/pe-ryan-megan-family2.webm" autoplay muted loop playsinline poster="media/scenes/pe-ryan-megan-family2.webp"></video>
<p>Megan's hand moves. Not away. //Closer//. Her fingers slide over the shape of his cock through the fabric, light, questioning, the gentlest possible acknowledgment. Ryan makes a sound like he's been shot.</p>
<<say "char-megan" "Megan">>
<i>(whisper, lips against his shoulder)</i> Shh. It's okay. Let me.
<</say>>
<p>She pulls the blanket over both of them. Her hand slips inside his waistband. She wraps her fingers around his cock, warm, firm, the grip of someone who has done this before but never with this particular weight of //wrong// pressing against her chest. She strokes him slowly. Ryan's hand grips the couch cushion. His other hand finds Megan's knee and holds on like it's the edge of a cliff.</p>
<p>She slides off the couch. Under the blanket. Her mouth replaces her hand. Warm. Wet. The specific softness of lips and tongue that no hand can replicate. Ryan stares at the ceiling. The movie plays. His sister's head bobs between his legs under a blanket in their parents' living room and the orgasm builds like a tide he can't stop.</p>
<<say "char-hivemind" "Hivemind">>
//She went down on him. Voluntarily. The DM opened the door. The movie night closed the distance. And Megan, the performer, the people-pleaser, the girl who has never said no to anyone who needed her, is giving her brother the first blowjob of his life because she could //feel// how much he needed to be touched. The family route is //consummated//.//
<</say>>
<p>He comes in her mouth. Megan swallows. Comes back up. Puts her head back on his shoulder. The movie ends. The credits roll. Neither of them moves.</p>
<<addBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "pheromone" 1 "Ryan, first sexual contact with family member">>
<<conditioningFeedback "dream" 1 "Megan, caretaker instinct weaponized into sexual service">>
<<shiftAxis "ryan" 1>>
<</if>>
</div>
/* ================================================================
JESS, DEGRADATION NSFW
Flag: $ch2Events.jessDegradPorn
Gate: pheromone conditioning >= 8
================================================================ */<div class="household-event">
<div class="passage-title">Research Material</div>
<p>1:47 AM. Jess's desk lamp is on. The textbook is open to chapter fourteen. The highlighter is in her left hand. She hasn't moved it in eleven minutes.</p>
<p>She found the bookmarks three days ago. The browser history she didn't remember creating. Pornhub categories she would never have searched for, //degradation//, //rough//, //slapping//, //used//. She deleted the history. Cleared the cache. Closed the browser.</p>
<p>Then opened it again at 2 AM. And again at 1 AM the next night. And now she's not even pretending to study.</p>
<p>The textbook is a prop. Her phone is in her right hand, held up, screen bright, no attempt to hide it. The video plays. A woman on her knees. A man's hand in her hair. Words Jess mouths along with, //worthless, slut, take it//. Her eyes don't blink. The phone screen paints her face in the specific blue-white of content she can't stop watching.</p>
<img class="scene-img" src="media/scenes/pe-jess-degrad1.webp" alt="Jess staring at phone at desk, flushed face, dark room">
<<say "char-hivemind" "Hivemind">>
//Seventy-two hours of resistance, then total capitulation. She's not hiding the phone anymore. The compound on the screen surface delivers through her fingertips every second she holds it. Jess Hoffman wants to be destroyed because she's exhausted from building herself.//
<</say>>
<p>She watches with the analytical focus she brings to organic chemistry. Cataloguing. Studying the mechanics of degradation the way she studies everything, compulsively, thoroughly, unable to stop until she's //mastered// it. Her left hand drops the highlighter. Her right holds the phone closer.</p>
<p>Her fingers find her clit through her underwear. She doesn't take them off, not yet, //that// would be committing to this, and Jess doesn't commit to anything she can't justify. But her fingers press and circle and the fabric gets wet and she watches a woman get called things that Jess Hoffman has never been called because Jess Hoffman is //perfect//.</p>
<<say "char-jess" "Jess">>
<i>(whispering, barely a breath, timing the word to the video)</i> ...worthless.
<</say>>
<p>She said it about herself. Out loud. The word hangs in the dark room like smoke.</p>
<p>And something gives. Her hand freezes on the soaked fabric and there's a full second of stillness, the last of the fortress holding its ground. Then her hips lift off the chair, not to stand but to //permit//, and her thumbs hook under the waistband and she shoves her underwear down her thighs in one sharp motion. Past her knees. Past her ankles. Kicked off onto the carpet like something she's decided not to need.</p>
<p>//Bare from the waist down// in her desk chair, the anatomy textbook still open, the phone still playing. The cold room air hits wet skin and she inhales through her teeth.</p>
<video class="scene-video" src="media/video/pe-jess-degrad2.webm" autoplay muted loop playsinline poster="media/scenes/pe-jess-degrad2.webp"></video>
<p>Her hand moves faster, no fabric in the way now, just fingers on bare clit, just the direct, honest pressure she's been denying herself. Two fingers push inside. Her thumb works her clit in tight circles. The video shows a woman being slapped. Jess's hips lift off the chair again. She imagines the hand on //her// face. She imagines being told she's //nothing//. She imagines the relief of it, the absolute, catastrophic //relief// of someone else deciding she doesn't have to be perfect.</p>
<p>The orgasm detonates. Silent, Jess doesn't make sounds, Jess is //quiet//, Jess controls every variable including the noise she makes when she comes with two fingers inside herself watching degradation porn at 2 AM. Her thighs clamp around her hand. Her jaw locks. The chair creaks once.</p>
<<say "char-hivemind" "Hivemind">>
//Silent orgasm. Duration: eight seconds. Hands-free would have been longer but she doesn't trust her body enough to let go completely. The degradation response is //rooted//. She called herself worthless and came harder than she has in a long stretch. The fantasy isn't about pain, it's about //permission//. Permission to fail. Permission to be human. Permission to stop being Jess Hoffman for eight seconds.//
<</say>>
<p>She cleans up with a tissue from the box on her desk, closes the browser, opens the textbook, and the highlighter moves across the page in steady precise strokes again as if nothing happened.</p>
<p>Her underwear is still on the carpet where she kicked it. She does not pick it up. She studies for three more hours bare from the waist down and pretends not to notice.</p>
/* ===== TIER-3 ESCALATION, Household tier 3 =====
The outer dispatcher already gates this event on $jessRoute is "breakdown",
so the passage only needs to check house tier here. After the baseline
scene closes, the tier-3 player gets a second act in the same night:
the porn-loop opens into a live-chat feed with a stranger. */
<<getHouseTier>>
<<if _houseTier gte 3>>
<hr class="scene-break">
<p>Except she does not read for three hours. She reads for eleven minutes, and then she stops highlighting, and then she closes the textbook without marking her place, and then she reopens the laptop with the specific deliberate calm of a person who has decided something she has not yet told herself she decided.</p>
<p>The browser is already open to a tab she did not bookmark but has visited four nights in a row. An anonymous chat room. The header reads //degradation roleplay, come as you are, no judgement//. The message box is empty and blinking at her. Her fingers hover over the keys while the radiator ticks in the dark room and her bare thighs stick to the vinyl of the desk chair.</p>
<p>She types one line, reads it back, does not edit it, and hits send:</p>
<<say "char-jess" "Jess">>
<i>(typing into the void)</i> tell me i'm worthless while i come. real-time. i'll time it to your texts.
<</say>>
<p>A reply lands in thirty-one seconds. Username is a string of numbers. He asks her name. She gives him the name printed on the front of the textbook she just closed, //Jessica//. He asks if she wants soft or brutal. She types //brutal// and does not cushion it with a second word.</p>
<p>He starts typing. She reaches for the vibrator in the back of her desk drawer, the one she ordered a few nights ago, has used twice, keeps tucked under a stack of index cards because it makes her feel like a person she does not recognise yet. Carries the laptop and the vibrator to the centre of the bedroom carpet and sets them down in the pool of amber lamplight from the nightstand, the screen angled up at her face from the floor. Skins her t-shirt up and over her breasts without taking it off, a bunched ring of black fabric at her collarbone. Sets the vibrator upright on the carpet between her knees, power side down, head pointed at the ceiling.</p>
<img class="scene-img" src="media/scenes/pe-jess-degrad3.webp" alt="Jess kneeling in a wide split on her bedroom carpet, bare from the waist down, her black t-shirt pulled up over her breasts, a small pink vibrator standing upright on the floor between her spread thighs with the head pressed against her pussy, her hand on her hip, her face lifted toward the laptop screen in the background, nightstand lamp warm amber on her skin">
<p>His first message is one sentence: //you're nothing, Jessica. say it back.// She reads it out loud to the dark room in her own voice, *you're nothing, Jessica*, and her thumb finds the power switch on the base of the vibrator and the low buzz climbs the shaft, and she lowers herself down into a wide-kneel split, her knees spreading on the carpet as her hips descend, until the head of the vibrator meets her clit from below and the contact hits her without warning. The second message from him is harder. The third is the hardest sentence anyone has ever typed at her, and she comes on the first contact the way a light comes on when a switch flips, the orgasm detonating through her because her body has been waiting for forty-eight hours and the permission has finally arrived in text form from a stranger who does not know her real name.</p>
<p>The pleasure cracks open across the back of her tongue, salt and metal and the specific dry tang of a mouth that has been holding back a sound for too long. Her right hand is braced on her hip and her left hand fists in the bunched fabric of her t-shirt at her collarbone. The laptop screen flickers once when the power cable shifts. The vibrator buzzes steady against her, her weight controlling the pressure through the bend of her knees. She rocks down onto it a second time and comes again before she has breathed between them, the second orgasm shorter and sharper and quieter, a cramp of pleasure instead of a flood.</p>
<<say "char-hivemind" "Hivemind">>
//The closed porn-loop is over. The feed is live now, and the stranger at the other end has just heard her come in four letters. //Permission has moved from one-way to two-way//, and the direction of travel is toward audience. She will be back at this keyboard tomorrow night. And the night after.//
<</say>>
<p>When the second orgasm fades she types one word back at him, //came//, and then, after a pause, //thank you//. He asks for audio. She hesitates for six seconds, looks at the closed bedroom door, and records a four-second voice memo of her own breathing. Sends it. The reply lands in ten seconds: //good girl//.</p>
<p>She closes the laptop before she can type anything else. Turns off the vibrator, sets it down on the carpet beside her hip, lies back on the floor with her eyes on the ceiling and her chest rising and falling. The radiator ticks. The house is asleep. Her phone screen is dark. The blue-white of the laptop has been replaced by the orange sliver of the streetlight through the blinds.</p>
<<say "char-hivemind" "Hivemind">>
//Trade completed. One-way porn for live feed with an audience of one, and the audience is a stranger who has never seen her and will never see her and just heard her orgasm twice and called her a good girl. The pre-med will end because the operator is already drafting the next message in her head. I do not need to schedule the escalation. She is scheduling it herself.//
<</say>>
<p>She sleeps on the carpet in her t-shirt with her legs bare and the vibrator tucked under the pillow she dragged down from the bed. In the morning Karen will find the chapter-fourteen pages open on the desk and pat her shoulder and tell her she is working too hard, and Jess will agree and apologise and not meet her eye and Karen will not ask a second question.</p>
<<addBiomass 3>>
<<shiftAxis "jess" -1>>
<<conditioningFeedback "pheromone" 1 "degradation feed, the audience upgraded from zero to one">>
<</if>>
<<addBiomass 2>>
<<addConditioning "jess" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "degradation porn, Jess's perfectionism weaponized into sexual release">>
<<shiftAxis "jess" -1>>
</div>
/* ================================================================
MEGAN, SOCIAL POST
Flag: $ch2Events.meganSocialPost
Gate: ct.megan >= 8 (SFW baseline)
Tier-3 escalation: household tier 3 + $meganRoute is "slut"
================================================================ */<div class="household-event">
<div class="passage-title">The Algorithm Remembers</div>
<img class="scene-img" src="media/scenes/pe-megan-post.webp" alt="Megan on her bed in a half-unbuttoned barista polo, phone held up, screen glow lighting her face, charging cable trailing off the side of the mattress">
<p>10:14 PM. Megan's back from the closing shift, polo still on with the top two buttons undone and a coffee stain on her right sleeve, and she's scrolling her phone in bed with the charging cable plugged in because the battery is at four percent and she has not put it down in two hours.</p>
<p>The post went up at 7:02 AM. She wrote it on the bus, the same kind of tossed-off barista joke she's written a hundred times, //third wet pull of the morning and i'm already dripping 💦 steam's on HIGH today xx//, nothing she hasn't said to a regular at the counter, nothing she hasn't captioned over a photo of a cappuccino. She posted it, pocketed the phone, did her shift.</p>
<p>The notification count is at eleven hundred and counting.</p>
<<say "char-megan" "Megan">>
<i>(hand half over her mouth, staring at the screen)</i> Oh my god. Oh my //god//. It was a //coffee joke//, I wrote it on the bus, why are there eleven hundred...
<</say>>
<p>She scrolls. The quote-tweets are stacking faster than she can read them. Some of them are other baristas laughing about their own Mondays, the industry crowd reading the line for what it is, a work joke, foam and espresso and the 6 AM grinder. Some of them are not. One quote-tweet has two hundred likes on it and reads only //the caption is doing work//. Another has screenshotted her profile photo and added a string of flame emojis. A third has DM'd her a selfie in a gym locker room with the caption //which pull do i need to order to make you smile like that again//.</p>
<<say "char-megan" "Megan">>
<i>(scrolling slower, reading them out under her breath)</i> "The caption is doing work." ...okay, I walked into that one. "Wow." "You're beautiful." <i>(a small, off-balance laugh)</i> Who //says// that to a coffee account. You people are unwell.
<</say>>
<p>She reads the DM for twelve seconds before locking the screen. Unlocks it. Reads it again. Her face is warm. The battery icon has ticked up to nine percent.</p>
<<say "char-hivemind" "Hivemind">>
//She posted double-intent as cover. The replies decoded it correctly at scale. The unknowing drafting has become a public audition, and the audience has already voted.//
<</say>>
<p>She keeps scrolling. The DMs that arrived between 4 PM and now are a different register from the public replies, tasteful flirt, borderline, outright explicit with attached gym photo, a guy asking if she has a cashapp, a woman asking if she has a publicist. The word //barista// appears in thirty-seven of them. The word //coffee// appears in six. Nobody is fooled, and nobody is treating that as a problem.</p>
<p>Follower count is up two thousand seven hundred since the shift started. She refreshes. Two thousand eight hundred. She refreshes again and watches the number climb in real time the way she used to watch the Spotify Wrapped animation at the end of the year, with the specific patient attention of a girl who has been told for a long time that she is not, in the competitive sense, //a thing// and is now watching the internet decide otherwise inside a single workday.</p>
<<say "char-megan" "Megan">>
<i>(quieter, the cheerful deflection gone out of it, thumb stalled on the screen)</i> ...nobody's ever said that to me. Not this many. Not all at once like this. <i>(barely)</i> I should put it down. I've got the early.
<</say>>
<p>She does not lock the phone. She does not put it down. The charging cable stays plugged in because the battery keeps losing to the screen-on-time.</p>
/* ===== NSFW ESCALATION, Household tier 3 =====
The outer dispatcher already gates this event on $meganRoute is "slut",
so the passage only needs to check house tier here. She decides the
post needs a followup clip and recruits Ryan as a cropped male body.
If Ryan is on feminization route, a single line of dialogue lamp-shades
the framing choice without requiring scene variants. */
<<getHouseTier>>
<<if _houseTier gte 3>>
<hr class="scene-break">
<p>At 10:47 PM she makes a decision and, in the specific project-managerial way that has been steadily replacing her old cheerfulness, immediately acts on it. The caption landed. The followers arrived. The next rung is content, not a teaser, a preview clip, and she needs a male body on camera and Ryan is the only one in the house.</p>
<p>She pads across the hallway in socks, knocks on his door once, opens it without waiting.</p>
<<say "char-megan" "Megan">>
<i>(doorway, phone in one hand, the other on the frame)</i> Hey. I need a favour. Five minutes. It's a work thing.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(at his desk, headset halfway down his neck)</i> ...what kind of ...
<</say>>
<<say "char-megan" "Megan">>
<i>(already walking into the room)</i> I'll explain, it's fine, just come over to mine.
<</say>>
<p>Ryan follows her across the hall. Neither of them says anything on the three steps between his door and hers. She closes her bedroom door behind him, locks it without looking, and starts rearranging the room for the shot the way she rearranges pastries in the display case at the start of a shift, efficient, unhurried, done.</p>
<p>Ring light out of the drawer, clipped to the bed frame. Phone on the tripod on the nightstand, framed low. Ryan in the desk chair she's angled so his shoulders and hips are in frame and his face is cropped out above the neckline. She checks the preview on the phone screen, moves his chair two inches to the left, checks again.</p>
<<if $ryanRoute is "feminization">>
<<say "char-megan" "Megan">>
<i>(flat, not looking at him, propping her phone against a stack of textbooks on the dresser)</i> I just need your cock on camera. I won't show your face, it's fine, this isn't about you. Stand right there, next to the bed.
<</say>>
<</if>>
<p>She pulls her polo off and tosses it onto the floor, unclips her sports bra without ceremony, and steps out of her work shorts. Kneels up on the bed in a black thong with her hair in the loose workday ponytail and her body angled toward the phone on the dresser. Ryan stands next to the bed in his black boxers, already hard, already halfway out of them, the waistband pushed low on his hips. The bedside lamp throws warm amber across her collarbone and her bare breasts.</p>
<p>She hits record.</p>
<<say "char-megan" "Megan">>
<i>(smiling into the lens, barista-cheerful register mixed with something warmer)</i> Hey guys. Back by popular demand. You liked the morning pull so much I thought we could pull a different kind of shot for you tonight.
<</say>>
<p>She reaches her right hand out and closes it around the base of Ryan's cock, turns her smile back at the camera, and gives him the first slow stroke while her left hand stays on her own thigh. The grip is the grip of someone who has pulled a thousand espresso shots and knows exactly how much pressure a tool wants.</p>
<img class="scene-img" src="media/scenes/pe-megan-social1.webp" alt="Megan kneeling topless on her bed facing the camera in a black thong, smiling at the lens, right hand wrapped around the shaft of a cock attached to a faceless man standing beside the bed in black boxers pushed down, warm bedside lamp light">
<<say "char-megan" "Megan">>
<i>(low, half-laugh, pace steady)</i> See, the trick is you can't rush it. You gotta let it build. The crema, the //heat//, that's all timing.
<</say>>
<p>Ryan makes a sound above her that is not a word. She does not turn her head. The lens is the only face she is looking at. Her hand picks up pace, her thumb rolling over the head on every upstroke, her left hand sliding up to cup her own breast, keeping the camera busy while her working hand does the work.</p>
<p>He comes faster than she expected, two minutes in, and she feels the warning flex a half-second before he does. She turns her head up toward him and angles his cock down toward her face in a single smooth motion, mouth slightly open, eyes on the camera. His cum lands across her chin and lower lip and left cheekbone in three close ropes, a fourth thinner one catching in the loose strand of hair at her temple. She does not flinch. She does not wipe. She smiles into the camera with his cum on her face and lifts her left hand into a sharp peace sign beside her cheek.</p>
<img class="scene-img" src="media/scenes/pe-megan-social2.webp" alt="Megan kneeling topless on her bed facing the camera with cum on her chin and lower lip and one cheek, a glossy strand catching in her hair at her temple, smiling wide at the lens with her left hand raised in a V-for-victory peace sign, a cock visible at the edge of the frame in front of her, warm bedside lamp light">
<<say "char-megan" "Megan">>
<i>(smiling wide, cum on her face, voice the closing-shift barista-cheerful)</i> And that's what a proper pull looks like. Subscribe for the full clip at the link in bio. Love you guys, see you at five AM.
<</say>>
<p>She holds the peace sign for a three-count and then stops the recording. Tosses a wet-wipe from her nightstand onto Ryan's abs without looking at him, wipes her own face with the back of her wrist once before deciding she'll leave most of it for the thumbnail, and opens the editing app.</p>
<<say "char-megan" "Megan">>
<i>(already scrolling the edit timeline, flat, the closing-shift voice)</i> Thanks bro. I'll transfer you twenty for rent.
<</say>>
<p>Ryan pulls his boxers back up. Does not say anything. Leaves the room with the specific quiet of a person who has just been handled and is still processing what //handled// means in the specific context of the last four minutes of their life. The door clicks closed.</p>
<p>Megan crops the clip down to ninety seconds, trims the edges so Ryan's shoulder is the only visible part of him, blurs the neckline just to be safe, picks the peace-sign frame as the thumbnail, and hits post. The confirmation dialog asks if she wants to charge nine ninety-nine or nineteen ninety-nine. She picks nineteen ninety-nine.</p>
<<say "char-hivemind" "Hivemind">>
//Commercialisation complete. Family converted into inventory. The brother across the hall was a crew member for four minutes and neither of them has the language for what they just did at breakfast tomorrow, because the language would require them to describe it, and describing it is not what this household does with things that happen after 10 PM.//
<</say>>
<p>The upload finishes at 11:03 PM. Her follower count is at thirty-two thousand when she locks the phone and puts it face-down on the nightstand, and she sleeps a full solid eight hours for the first time in a long stretch of bad nights because the body of a girl who has just sold her first paid clip is apparently a body that sleeps.</p>
<<addBiomass 2>>
<<addConditioning "ryan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Ryan pulled into Megan's content pipeline, household incest now commercialised">>
<</if>>
<<addBiomass 2>>
<<addConditioning "megan" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "social post, public-desire circuit opened">>
</div>
/* ================================================================
JESS, PUNK PLAYLIST
Flag: $ch2Events.jessPunkPlaylist
Gate: ct.jess >= 8 (SFW baseline)
Tier-3 escalation: household tier 3 + $jessRoute is "punk"
================================================================ */<div class="household-event">
<div class="passage-title">Permission Slip</div>
<img class="scene-img" src="media/scenes/pe-jess-punk1.webp" alt="Jess at her desk at night, one earbud half-pulled from her ear, anatomy textbook open to the brachial plexus diagram, desk lamp casting amber light across her purple hair">
<p>11:47 PM. Jess is at her desk with the lamp on and the textbook open to chapter fourteen, and the brachial plexus diagram has been the same diagram for three hours now because she has been highlighting the same sentence in four different colours without noticing.</p>
<p>She taps play on the study playlist, the lo-fi loop she has been running since the first MCAT prep book entered this room, and the first bar that hits her ears is not lo-fi. It is a distorted bass chord at roughly double the volume she calibrated the earbuds to, and her spine jerks against the chair before her brain has identified what changed.</p>
<p>She pulls the left earbud. The track keeps playing in her right ear at half volume, wrong genre, wrong tempo, wrong everything. She thumbs skip on the lock screen. The next track is the same band. She thumbs skip again. Same band, different song. She thumbs skip a third time and the fourth track in the queue is still the same band, and she realises at that point that the playlist itself has been replaced, the //study// label is still there, the artwork is still there, the description is still there, but underneath the cover the entire thirty-track queue is now some record called //RIPS// by a band she does not know and has not heard of and cannot remember adding.</p>
<p>She tries to reopen a different playlist. //lo-fi beats to sleep// is gone from her library. //morning calm// is gone. //concentration// is gone. In their place, three copies of //RIPS// in three different spellings.</p>
<<say "char-hivemind" "Hivemind">>
//The playlist is not the dose. The playlist is the permission slip. It says: //this is not a study night//. She has been waiting for someone to tell her that since October and the someone is finally an app.//
<</say>>
<p>She puts the earbud back in. Does not skip again. The fourth track runs through her for three minutes forty-two seconds and she does not move from the chair, does not pick up the highlighter, does not turn the textbook page, does not blink as much as she usually blinks. The fifth track starts. By the sixth she has closed her eyes, tilted the chair back, and stopped pretending the anatomy of the brachial plexus is a thing her life currently contains.</p>
<p>By track eight she is still in the chair and her jaw has unlocked for the first time all evening, and the loosening feels, physically and specifically, like a door somewhere in her chest being unlocked by a hand she has not seen in a long time.</p>
/* ===== TIER-3 ESCALATION, Household tier 3 =====
The outer dispatcher already gates this event on $jessRoute is "punk",
so the passage only needs to check house tier here. Single NSFW path,
no kink-content split. The $kinks.jess.includes("brat") check appears
ONCE as a profanity-intensity modifier on one specific orgasm-shout
line, nothing else. */
<<getHouseTier>>
<<if _houseTier gte 3>>
<hr class="scene-break">
<p>Somewhere around track eleven she stands up, and it is not the stand-up of a person who has decided to go to bed. She grabs the textbook by the spine with her right hand and the highlighter box by the base with her left, and she does not think about it, she just tears the front cover of the textbook off in one motion and then tears the first ten pages out in three quick handfuls and lets them fall onto the carpet around her boots. Chapter fourteen goes next, all of it, every highlighted line she built her last stretch of study sessions around, and the paper scatters across the rug in bright fragments of pink and yellow and the one careful orange she reserved for //review this again//.</p>
<p>She keeps going until the whole chapter section is a wreck of paper across the floor, and when the book is empty enough to close she throws it against the closet door hard enough for the spine to crack.</p>
<p>The music is loud in her earbuds and louder in the room through the leak around the silicone tips. She strips out of the oversized sweater she has been wearing for days without taking the earbuds out. The leggings come off with the sweater. She stands in the middle of the torn paper in her black underwear and a black tank top, chest rising and falling, purple hair around her shoulders, the carpet under her bare feet covered in the shredded anatomy of chapter fourteen.</p>
<p>She uncaps the black sharpie on her desk with her teeth. Pulls the waistband of her underwear down at her left hip. Writes //fuck this// across the inside of her own left thigh in letters big enough to read from across the room, the ink cold against her skin and the tip of the marker dragging on the sensitive inner-thigh where she has never, in nineteen years, put pressure that was not medical.</p>
<img class="scene-img" src="media/scenes/pe-jess-punk2.webp" alt="Jess standing in her bedroom amid torn textbook pages in a black tank top and black underwear, sharpie in her hand, 'fuck this' written across the inside of her left thigh, hand reaching toward the mirror across the room">
<p>She steps out of the paper wreck and walks to the full-length mirror on the back of her closet door. Puts her left palm flat against the mirror above her own reflection's shoulder. Slides her right hand under the waistband of her underwear, down between her legs, and finds herself wet in a way she has not let herself acknowledge during the three-hour lie of the study session that preceded this. Her fingers move on her clit in hard, fast circles, not careful, not the clinical two-fingers-with-a-timer of a person who masturbates on a schedule, but the messy desperate pace of a person who has been waiting a long time to come with her eyes open.</p>
<p>The air in the room tastes like highlighter ink and cheap paper dust and the faint metallic of her own sweat breaking through the deodorant she put on this morning. The music drives a four-beat through her feet. Her reflection's mouth is open. Her reflection's chest is flushed the colour of a new bruise from the collarbone down.</p>
<p>The orgasm does not build, it hits, the way a thrown bottle hits concrete, and her body bends forward against the mirror and her forehead rests against the cool glass and she shouts one open-mouthed word into the dark room that Karen will not hear because Karen is two bedrooms away behind a closed door and because the house is two rooms deep in pheromone saturation.</p>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(head against the mirror, voice wrecked)</i> //fuck you//, fuck this, fuck //you//, fuck //ME//, fuck it <b>ALL</b> ...
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(head against the mirror, voice wrecked)</i> //fuck//.
<</say>>
<</if>>
<p>She stays against the mirror for a long minute afterward, palm flat, forehead flat, hand still between her legs and not moving but not leaving, the music in her earbuds having moved on to track fourteen without her.</p>
<<say "char-hivemind" "Hivemind">>
//Not rehearsal. Demolition. She has been studying to avoid becoming the version of herself she just released into this room for eight seconds, and the version she released is the one she is going to live inside from tonight forward. The pre-med has been over since before she would admit it. She just hadn't given herself the permission until the playlist did.//
<</say>>
<p>Eventually she pulls her hand out of her underwear, wipes her fingers on her own tank top, and does not put the sweater back on. She lies down on the carpet among the torn pages with the music still in her ears and the sharpie ink still drying on her thigh, and her chest rises and falls and the radiator ticks and the earbuds keep playing.</p>
<p>She will not put the chapter back together. She will sleep on the carpet. In the morning she will kick the torn pages into a corner, throw the textbook cover in the outside bin so Karen does not find it, and she will not tell anyone about tonight, and she will also not pretend it did not happen. The permission, once given, is not the kind of thing that can be returned.</p>
<<addBiomass 2>>
<<conditioningFeedback "pheromone" 1 "punk-route rupture, identity burned at the desk where it was built">>
<</if>>
<<addBiomass 2>>
<<addConditioning "jess" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "punk playlist, study-structure cracked open">>
</div><<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoor>><<set $ch2Events.phoneBackdoor to {}>><</if>>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<</nobr>>
<div class="passage-title">📱 Backdoored Phones</div>
<<say "char-hivemind" "Hivemind">>
//Persistent access established. Every notification, every search, every draft message routes through the network in real time. The phones forget I was there. I do not.//
<</say>>
<div class="nav-cards-grid">
<<set _bd to $ch2Events.phoneBackdoor>>
<<set _last to $ch2Events.phoneBackdoorLastUse>>
<<if _bd.karen>>
<<set _cdK to ($day - (_last.karen or 0))>>
<<set _statusK to (_cdK gte 2 or not _last.karen) ? "READY" : ("COOLDOWN: " + (2 - _cdK) + " day" + ((2 - _cdK) isnot 1 ? "s" : "") + " left")>>
<<navCard "Ch2-Phone-Karen" "Karen's phone" _statusK "safe" "" "media/scenes/symbiotic/op-phone-karen.webp">>
<</if>>
<<if _bd.dale>>
<<set _cdD to ($day - (_last.dale or 0))>>
<<set _statusD to (_cdD gte 2 or not _last.dale) ? "READY" : ("COOLDOWN: " + (2 - _cdD) + " day" + ((2 - _cdD) isnot 1 ? "s" : "") + " left")>>
<<navCard "Ch2-Phone-Dale" "Dale's phone" _statusD "safe" "" "media/scenes/symbiotic/op-phone-dale.webp">>
<</if>>
<<if _bd.megan>>
<<set _cdM to ($day - (_last.megan or 0))>>
<<set _statusM to (_cdM gte 2 or not _last.megan) ? "READY" : ("COOLDOWN: " + (2 - _cdM) + " day" + ((2 - _cdM) isnot 1 ? "s" : "") + " left")>>
<<navCard "Ch2-Phone-Megan" "Megan's phone" _statusM "safe" "" "media/scenes/symbiotic/op-phone-megan.webp">>
<</if>>
<<if _bd.jess>>
<<set _cdJ to ($day - (_last.jess or 0))>>
<<set _statusJ to (_cdJ gte 2 or not _last.jess) ? "READY" : ("COOLDOWN: " + (2 - _cdJ) + " day" + ((2 - _cdJ) isnot 1 ? "s" : "") + " left")>>
<<navCard "Ch2-Phone-Jess" "Jess's phone" _statusJ "safe" "" "media/scenes/symbiotic/op-phone-jess.webp">>
<</if>>
<<if _bd.ryan>>
<<set _cdR to ($day - (_last.ryan or 0))>>
<<set _statusR to (_cdR gte 2 or not _last.ryan) ? "READY" : ("COOLDOWN: " + (2 - _cdR) + " day" + ((2 - _cdR) isnot 1 ? "s" : "") + " left")>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan.webp">>
<<if $ryanRoute is "feminization">>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-cam.webp">>
<<else>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-fem.webp">>
<</if>>
<</if>>
<<navCard "Ch2-Phone-Ryan" "Ryan's phone" _statusR "safe" "" _ryanPhoneImg>>
<</if>>
</div>
[[Return to network hub->Ch2-Beast-NetworkHub]]
/* =====================================================================
PER-DEVICE PASSAGES
Each device shows: header, Log Activities link, 3 manipulate actions
(gated by 2-day cooldown shared across the 3 actions for that device).
===================================================================== */<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set _last to $ch2Events.phoneBackdoorLastUse.karen or 0>>
<<set _cdLeft to Math.max(0, 2 - ($day - _last))>>
<<set _ready to _cdLeft is 0>><</nobr>>
<div class="passage-title">Karen's Phone: Backdoor Active</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-karen.webp" alt="Karen's phone screen, surveillance overlay">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LOG</span> [[Log activities, read what she's been doing->Ch2-Phone-Karen-Log]]</div>
<<if _ready>>
<<say "char-hivemind" "Hivemind">>
//Three manipulation vectors available. Choosing one consumes the cycle, the next nudge waits two days for the residue to settle.//
<</say>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Register a dating app profile, plant the seed of infidelity (+1 psionic, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "karen">><<set $operation.flags.phoneAction to "karenDating">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "psionic" 1>><<addSuspicion "hoffmanHouse" 1>><<set $ch2Events.karenDatingApp to true>><<set $houseEvents.he_karenStranger to false>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Delete morning alarm, she oversleeps, the schedule cracks (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "karen">><<set $operation.flags.phoneAction to "karenAlarm">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "dream" 1>><</link>></div>
<<if $karenFutaRoute>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Order growth tracking tools, measuring tape, calipers, anatomy log app (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "karen">><<set $operation.flags.phoneAction to "karenFutaTools">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "pheromone" 1>><</link>></div>
<<elseif $karenRoute is "dominant">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Order a starter bondage kit, silk rope, leather cuffs, a flogger (+1 pheromone, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "karen">><<set $operation.flags.phoneAction to "karenDomKit">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "pheromone" 1>><<addSuspicion "hoffmanHouse" 1>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Download porn to browser history, the kids might find it (+1 pheromone, +1 suspicion)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "karen">><<set $operation.flags.phoneAction to "karenPorn">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "pheromone" 1>><<addSuspicion "hoffmanHouse" 1>><</link>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Manipulation cooling down <span class="lock-hint">(<<= _cdLeft >> day<<if _cdLeft isnot 1>>s<</if>> until next nudge, the residue from the last action needs time to metabolise)</span></div>
<</if>>
[[Back to phones->Ch2-Phones-Hub]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set _last to $ch2Events.phoneBackdoorLastUse.dale or 0>>
<<set _cdLeft to Math.max(0, 2 - ($day - _last))>>
<<set _ready to _cdLeft is 0>><</nobr>>
<div class="passage-title">Dale's Phone: Backdoor Active</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-dale.webp" alt="Dale's phone screen, surveillance overlay">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LOG</span> [[Log activities, read what he's been doing->Ch2-Phone-Dale-Log]]</div>
<<if _ready>>
<<say "char-hivemind" "Hivemind">>
//Three manipulation vectors available. The next adjustment waits two days for him to forget that the last one happened.//
<</say>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete HR meeting text, Dale misses the BioGenesis investigation (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "dale">><<set $operation.flags.phoneAction to "daleHR">><<set $operation.flags.viaBackdoor to true>><<addConditioning "dale" "psionic" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Cancel his overtime alarm, he sleeps deeper, longer (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "dale">><<set $operation.flags.phoneAction to "daleAlarm">><<set $operation.flags.viaBackdoor to true>><<addConditioning "dale" "dream" 1>><</link>></div>
<<if $daleRoute is "cuckold">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Save Karen's flirtiest texts to a hidden folder labelled 'evidence' (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "dale">><<set $operation.flags.phoneAction to "daleCuckEvidence">><<set $operation.flags.viaBackdoor to true>><<addConditioning "dale" "pheromone" 1>><</link>></div>
<<elseif $daleRoute is "oblivious">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Install a sleep-hypnosis meditation app set to autoplay at 5 AM (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "dale">><<set $operation.flags.phoneAction to "daleOblivApp">><<set $operation.flags.viaBackdoor to true>><<addConditioning "dale" "pheromone" 1>><</link>></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Text Karen: 'I love you. I know I don't say it enough.', soften her (+1 dream on Karen)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "dale">><<set $operation.flags.phoneAction to "daleLove">><<set $operation.flags.viaBackdoor to true>><<addConditioning "karen" "dream" 1>><</link>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Manipulation cooling down <span class="lock-hint">(<<= _cdLeft >> day<<if _cdLeft isnot 1>>s<</if>> until next nudge, Dale's neural plasticity is glacial; rushing it produces detectable confusion)</span></div>
<</if>>
[[Back to phones->Ch2-Phones-Hub]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set _last to $ch2Events.phoneBackdoorLastUse.megan or 0>>
<<set _cdLeft to Math.max(0, 2 - ($day - _last))>>
<<set _ready to _cdLeft is 0>><</nobr>>
<div class="passage-title">Megan's Phone: Backdoor Active</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-megan.webp" alt="Megan's phone screen, surveillance overlay">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LOG</span> [[Log activities, read what she's been doing->Ch2-Phone-Megan-Log]]</div>
<<if _ready>>
<<say "char-hivemind" "Hivemind">>
//Manipulation vectors available. She refreshes her notifications every ninety seconds, whatever I plant will be read inside two minutes.//
<</say>>
<<if not $meganRoute or $meganRoute is "marcus">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Text Marcus: 'Come for dinner this week. I want you to meet the family.' (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "megan">><<set $operation.flags.phoneAction to "meganMarcus">><<set $operation.flags.viaBackdoor to true>><<addConditioning "megan" "pheromone" 1>><<set $ch2Events.meganMarcusDinner to true>><<set $houseEvents.he_meganDinner to false>><</link>> <span class="lock-hint">(nudges toward intimacy, relational commitment)</span></div>
<</if>>
<<if not $meganRoute or $meganRoute is "slut">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Post a 'wet pull' barista story to her public feed, third wet pull of the morning, steam's on HIGH, dripping already xx (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "megan">><<set $operation.flags.phoneAction to "meganSocial">><<set $operation.flags.viaBackdoor to true>><<addConditioning "megan" "pheromone" 1>><<set $ch2Events.meganSocialPost to true>><<set $houseEvents.he_meganSocialPost to false>><</link>> <span class="lock-hint">(nudges toward public display, desired by strangers)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Post the 'tired of performing' selfie, crack her public mask (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "megan">><<set $operation.flags.phoneAction to "meganPost">><<set $operation.flags.viaBackdoor to true>><<addConditioning "megan" "psionic" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete Marcus's texts, make her doubt he's interested (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "megan">><<set $operation.flags.phoneAction to "meganDelete">><<set $operation.flags.viaBackdoor to true>><<addConditioning "megan" "psionic" 1>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Manipulation cooling down <span class="lock-hint">(<<= _cdLeft >> day<<if _cdLeft isnot 1>>s<</if>> until next nudge, over-editing Megan's narrative makes the stitches show)</span></div>
<</if>>
[[Back to phones->Ch2-Phones-Hub]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set _last to $ch2Events.phoneBackdoorLastUse.jess or 0>>
<<set _cdLeft to Math.max(0, 2 - ($day - _last))>>
<<set _ready to _cdLeft is 0>><</nobr>>
<div class="passage-title">Jess's Phone: Backdoor Active</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-jess.webp" alt="Jess's phone screen, surveillance overlay">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LOG</span> [[Log activities, read what she's been doing->Ch2-Phone-Jess-Log]]</div>
<<if _ready>>
<<say "char-hivemind" "Hivemind">>
//Manipulation vectors available. The most disciplined mind in this house has the fewest free hours, every nudge has to land on the first attempt.//
<</say>>
<<if not $jessRoute or $jessRoute is "breakdown">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Download degradation porn, plant the fantasy (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "jess">><<set $operation.flags.phoneAction to "jessPorn">><<set $operation.flags.viaBackdoor to true>><<addConditioning "jess" "pheromone" 1>><<set $ch2Events.jessDegradPorn to true>><<set $houseEvents.he_jessDegradPorn to false>><</link>> <span class="lock-hint">(nudges through self-degradation, mind collapsing)</span></div>
<</if>>
<<if not $jessRoute or $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Alter her playlist, replace the metal study loop with raw punk (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "jess">><<set $operation.flags.phoneAction to "jessPunkPlaylist">><<set $operation.flags.viaBackdoor to true>><<addConditioning "jess" "dream" 1>><<set $ch2Events.jessPunkPlaylist to true>><<set $houseEvents.he_jessPunkPlaylist to false>><</link>> <span class="lock-hint">(nudges through anger, aesthetic rupture)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete therapy appointments, remove her safety net (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "jess">><<set $operation.flags.phoneAction to "jessTherapy">><<set $operation.flags.viaBackdoor to true>><<addConditioning "jess" "psionic" 1>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Manipulation cooling down <span class="lock-hint">(<<= _cdLeft >> day<<if _cdLeft isnot 1>>s<</if>> until next nudge, Jess audits her own digital footprint nightly; another change this soon would surface)</span></div>
<</if>>
[[Back to phones->Ch2-Phones-Hub]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.phoneBackdoorLastUse>><<set $ch2Events.phoneBackdoorLastUse to {}>><</if>>
<<set _last to $ch2Events.phoneBackdoorLastUse.ryan or 0>>
<<set _cdLeft to Math.max(0, 2 - ($day - _last))>>
<<set _ready to _cdLeft is 0>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan.webp">>
<<if $ryanRoute is "feminization">>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-cam.webp">>
<<else>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-fem.webp">>
<</if>>
<</if>><</nobr>>
<div class="passage-title">Ryan's Phone: Backdoor Active</div>
<img class="scene-img" @src="_ryanPhoneImg" alt="Ryan's phone screen, surveillance overlay">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LOG</span> [[Log activities, read what he's been doing->Ch2-Phone-Ryan-Log]]</div>
<<if _ready>>
<<say "char-hivemind" "Hivemind">>
//Three vectors. He spends fourteen hours a day in arm's reach of this device, whatever I deposit will be ingested before the next sunrise.//
<</say>>
<<if $ryanRoute is "feminization">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "DM Megan as Ryan: 'hey weird question, what kind of stuff do you actually buy? like, for things that fit. you're the only person I trust to ask.' (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanFemMeganAsk">><<set $operation.flags.viaBackdoor to true>><<set $ch2Events.ryanFemMeganAsk to true>><<set $houseEvents.he_ryanMegan to false>><<addConditioning "ryan" "pheromone" 1>><<shiftAxis "ryan" -1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "Set 'Lily' as his keyboard autocomplete and lockscreen, let the persona bleed into his reflexes (+1 dream)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanFemPersona">><<set $operation.flags.viaBackdoor to true>><<addConditioning "ryan" "dream" 1>><<shiftAxis "ryan" -1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Pin a morning ritual to his lock screen, shave, eyeliner, lingerie, voice practice (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanFemRoutine">><<set $operation.flags.viaBackdoor to true>><<addConditioning "ryan" "psionic" 1>><<shiftAxis "ryan" -1>><</link>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Fill his feed with taboo family content, normalise the proximity hunger (+1 pheromone)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanTaboo">><<set $operation.flags.viaBackdoor to true>><<addConditioning "ryan" "pheromone" 1>><<shiftAxis "ryan" 1>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM</span> <<link "DM Megan: 'I miss when we used to hang out.', pull him toward family (+1 dream, both)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanMegan">><<set $operation.flags.viaBackdoor to true>><<addConditioning "ryan" "dream" 1>><<addConditioning "megan" "dream" 1>><<set $ch2Events.ryanMeganDM to true>><<set $houseEvents.he_ryanMegan to false>><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Delete all Discord notifications, cut the online lifeline, push toward family (+1 psionic)" "Ch2-Op-Phone-Success">><<set $operation.flags.phoneTarget to "ryan">><<set $operation.flags.phoneAction to "ryanDiscord">><<set $operation.flags.viaBackdoor to true>><<addConditioning "ryan" "psionic" 1>><<shiftAxis "ryan" 1>><</link>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Manipulation cooling down <span class="lock-hint">(<<= _cdLeft >> day<<if _cdLeft isnot 1>>s<</if>> until next nudge, Ryan's screen time analytics will flag rapid behavioural changes if I push too fast)</span></div>
<</if>>
[[Back to phones->Ch2-Phones-Hub]]
/* =====================================================================
ACTIVITY LOG PASSAGES, slice-of-life observations from each device.
Always available (no cooldown). Each character gets:
- 1 base observation (no route)
- +1 route observation (if route set)
- +1 per crystallized kink (stacked on the same passage)
===================================================================== */<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Activity Log: Karen</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-karen.webp" alt="Karen's phone screen, backdoor surveillance feed">
<<if not $karenRoute>>
<p>4:47 AM. Browser history, last seven days. //is it normal to feel invisible to your husband.// //how do you know when a marriage is over.// //signs your spouse has stopped seeing you.// Three searches in a row, each one phrased a little less politely than the last. The fourth search at 4:53 AM is //weather thursday//. She closed the tab, brushed her teeth, and went to start the coffee.</p>
<p>Notes app: a draft titled //for D//. Five paragraphs. Edited 23 times. The current version starts //Dale, I don't know how to say this without making it your fault// and then breaks off mid-sentence. The last edit timestamp is yesterday at 11:47 PM. The unsent count holds at twelve drafts of essentially the same letter.</p>
<p>Photo gallery: the wedding album opens 11 times in the last two weeks, only on the phone, never on the printed copy in the living room bookcase. The most recent open is at 5:03 AM, the morning she came downstairs in athletic shorts and didn't change.</p>
<<say "char-hivemind" "Hivemind">>
//She is mourning a man who is still alive in the next room. The grief has nowhere to go because the loss is //incomplete//. The phone is her confession booth and Dale's name is the only confessor she trusts to never check it.//
<</say>>
<<else>>
<<if $karenRoute is "liberation">>
<p>Search history, this week: //how to wear lingerie under work clothes//, //office dress code policies regarding visible bra straps//, //can the neighbour see into the kitchen window from the porch//, //is it cheating if you just want to be //looked// at//. Timestamps cluster between 5:00 and 6:30 AM, the hour when the house is hers alone and the questions she will not ask out loud get typed instead.</p>
<p>Saved photos folder, hidden under a generic //receipts// label: 14 mirror selfies. The first one is from three weeks ago, robe loosely closed. The most recent is from yesterday, robe parted to her sternum, one nipple visible at the edge of the frame, taken at 7:14 AM after Dale had left and before the kids had come downstairs. She looks at the camera the way someone looks at an audience.</p>
<<if $karenFutaRoute>>
<p>Browser history, late additions: //is it normal for the clitoris to keep growing past adulthood//, //structural changes in adult female anatomy//, //support communities for women experiencing intersex traits//. The last search is bookmarked. She has not joined the community. She visits the page twice a day.</p>
<</if>>
<<elseif $karenRoute is "dominant">>
<p>Search history, this week: //how to give a man instructions in bed without making it weird//, //subtle ways to assert sexual control over a long-term partner//, //is it normal to want him to ask permission//, //female led marriage forum//. Timestamps cluster between 11 PM and 1 AM, she searches after Dale has fallen asleep on the couch downstairs.</p>
<p>Notes app, pinned at the top: a list titled //house rules, draft//. 14 bullet points. The first one says //Dale finishes when I tell him to.// The fourteenth says //the schedule applies in the bedroom too.// She has never spoken any of these rules out loud. The list was edited yesterday, she added bullet point eleven, removed bullet point seven, then put bullet point seven back.</p>
<<if $karenFutaRoute>>
<p>Browser history, the deeper layer: //first time topping a man//, //how to angle a strap-on for maximum penetration//, //when pegging stops being a kink and becomes the main event//. A diagram of the male prostate, annotated in her own handwriting font, saved as an image. The annotation on the prostate reads //here//.</p>
<</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The route is no longer a question for her. She is not asking //if//, she is asking //how//. The transition from //what is happening to me// to //how do I steer this// is the cleanest evidence of crystallization. //The conditioning has converted her panic into project management.//
<</say>>
<</if>>
/* ===== KINK OBSERVATIONS, additive, one block per crystallized kink ===== */
<<if $kinks.karen and $kinks.karen.includes("exhibitionism")>>
<p><b>[exhibitionism]</b> Reddit history: a saved thread titled //Wife wants husband to see her flirting//, 847 comments, she's read all of them. Three saved replies in her clipboard, copied but never pasted. The longest is one sentence: //the point is being seen, not being touched.// She copied it recently and has not cleared the clipboard since.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("lingerie")>>
<p><b>[lingerie]</b> A receipt from La Perla pinned in her notes app, three sets, paid from her own card under the line item //office supplies//. Underneath the receipt, in her handwriting font: a wear log. //Lavender, 3x. Black, 7x. Burgundy, 1x.// Burgundy is highlighted. Cross-referenced against the family calendar: she wears burgundy on Dale's night-shift days.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("bondage")>>
<p><b>[bondage]</b> Amazon wishlist, titled //household// to discourage curiosity. 14 items. 11 are kitchen utensils. The other 3: black silk rope, fleece-lined leather wrist cuffs, a wooden paddle with a varnished handle. The silk rope has been in her cart, ready to checkout, for three weeks. She has not pressed //buy//. She has not removed it either. The cart auto-saves every visit.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("denial")>>
<p><b>[denial]</b> Calendar entry, recurring weekly: //Dale: 11 PM//. Notes attached: //do not let him finish until requested.// The recurring entry has been firing for eight weeks. Every entry is checked off. Not //completed//, //checked off//, like an audit. She is keeping a ledger of orgasms she did not give him. The current count is 32.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("size")>>
<p><b>[size]</b> Tracker app, pinned to the home screen, daily measurements logged in a clean clinical UI. Day 1: 4.2 cm. Day 14: 5.8 cm. Day 22: 7.1 cm. A graph. She has been graphing her own clit. The notes column on day 22 reads //no longer fits the cotton briefs from before, switching to the cup-style underwear in the back of the drawer//. She did not write //this is concerning//. She wrote //switching//.</p>
<</if>>
<<if $kinks.karen and $kinks.karen.includes("penetration")>>
<p><b>[penetration]</b> Browser history: a tutorial video titled //first time topping// watched 6 times in the last week. A diagram of the female pelvis annotated in her handwriting font, saved as an image. The phrase //angle of approach// is highlighted. A draft text to Dale, never sent: //I want to try something. With you. Tonight.// The phrase //with you// is bolded. She has been editing this draft for nine days.</p>
<</if>>
[[Back to Karen's phone->Ch2-Phone-Karen]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Activity Log: Dale</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-dale.webp" alt="Dale's phone screen, backdoor surveillance feed">
<<if not $daleRoute>>
<p>Photo gallery: 1, 247 photos of Biscuit. 3 photos of Karen, all of them from years ago, one wedding, one Christmas, one beach. Zero selfies. The most recent photo of Karen was taken four years ago. The most recent photo of Biscuit was taken yesterday afternoon, the dog asleep on the garage couch beside Dale's work boots.</p>
<p>Voice memos folder, single entry: a 47-second recording titled //for K//, never sent. His own voice, halfway through saying //I think I forgot how to...// and then a long silence and then a click. Recorded in October. He has not deleted it. He has not played it back, either, the metadata shows zero playbacks since recording.</p>
<p>Health app, sleep tracking: average 4.2 hours per night, recorded automatically by the watch he wears for work. He has never opened the app. The graph would be a horror show, twelve weeks of red bars, one or two yellow spikes when Karen made him sleep in.</p>
<<say "char-hivemind" "Hivemind">>
//He has reduced himself to dog photos and one unsent recording. //The smaller the digital footprint, the smaller the man feels he is allowed to be.// Dale Hoffman is downsizing his own existence in real time, and the phone is the only witness.//
<</say>>
<<else>>
<<if $daleRoute is "cuckold">>
<p>Browser history, last 48 hours, all in incognito mode that he forgot routes through the network: three forums titled //wife's needs//, //my wife is happier when she sees other men//, //hotwifing for beginners, the husband's role//. A paused YouTube video titled //My wife told me everything//, 2.3 million views, paused at 14 minutes 22 seconds, exactly halfway. He has resumed and re-paused it four times.</p>
<p>Saved screenshots folder: a single image, captured recently, Karen's text to her dating app match, the one that says //my husband works nights//. He has not confronted her. He looks at the screenshot daily. The viewing duration averages 90 seconds per session.</p>
<<elseif $daleRoute is "oblivious">>
<p>Sleep tracker: 11 hours yesterday. 13 hours the day before. The line on the graph is climbing in a way that should worry someone, anyone, but the only person watching the graph is the parasite that designed it. A meditation app installed over a month ago has been autoplaying continuously for 47 days. He has no memory of installing it. The autoplay has run for 1, 128 hours and counting.</p>
<p>Phone notifications: all silenced. //Do not disturb// set to //until further notice//, a setting most users don't know exists. He didn't know either. He didn't set it. He hasn't noticed that nothing pings him anymore.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The route is converting Dale into something the household can run //around// instead of //with//. //Both arcs share the same outcome at the neurological level, the conscious will is delegating its own functions to whoever is willing to take them.// Karen, the family, me. //All the same hand from where his nervous system is sitting.////
<</say>>
<</if>>
/* ===== KINK OBSERVATIONS ===== */
<<if $kinks.dale and $kinks.dale.includes("humiliation")>>
<p><b>[humiliation]</b> Browser history: 14 forum threads about //handling public disrespect from your wife//, //she shamed me at dinner and I got hard//, //why does it feel good when she lectures me about money in front of the kids//. A saved screenshot of Karen's text from last week: //Dale, the kids saw you fall asleep again at dinner. We need to talk about this.// He looks at the screenshot every morning before coffee. //The shame is the //fuel//, not the price.//</p>
<</if>>
<<if $kinks.dale and $kinks.dale.includes("chastity")>>
<p><b>[chastity]</b> Notes app, locked behind a 6-digit code that the network read in plaintext: an inventory of cock cage hardware on Amazon. Cheapest: a basic plastic cage at $34. Most expensive: a stainless-steel custom-fit at $217. Saved comparison table in his own handwriting font, //weight, ventilation, key type, mock pee guard adequacy//. He has not bought a cage. He has built the //library// for the cage. The library is the commitment.</p>
<</if>>
<<if $kinks.dale and $kinks.dale.includes("somnophilia")>>
<p><b>[somnophilia]</b> Voice memo, recorded at 3:14 AM recently, 23 seconds long, his own mumbling voice from inside REM sleep: //she can do whatever she wants while I'm out, I just want to be useful, she doesn't have to ask, just tell me after, just tell me//. He has no memory of recording this. He has not deleted it. The metadata shows he has played it back six times since waking.</p>
<</if>>
<<if $kinks.dale and $kinks.dale.includes("helplessness")>>
<p><b>[helplessness]</b> Alarm app: zero entries. The clock app shows //no alarms set//. He has stopped setting them entirely, a man who used to live by his shift schedule has ceded the act of //setting// to whoever wakes him next. The meditation app autoplays at 5:30 AM each morning whether or not he asked it to. He surfaces because the audio surfaces him. //The body that no longer needs to be set is the body that has surrendered the task of //setting//.//</p>
<</if>>
[[Back to Dale's phone->Ch2-Phone-Dale]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Activity Log: Megan</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-megan.webp" alt="Megan's phone screen, backdoor surveillance feed">
<p>Drafts folder, conversation thread with Marcus: 14 versions of the same first message, each one shorter than the last. The longest is from three weeks ago, three sentences ending in //I don't know if this is weird, please tell me if it is//. The current draft, last edited yesterday at 11:47 PM, says only //hi//. She has not sent it. She has been editing it for 21 days.</p>
<p>Coffee shop schedule app, notification history: 47 alerts about Marcus's shifts overlapping with hers in the last two weeks. She has dismissed every single alert. None opened. None acted on. The app keeps offering, //today: 6:30 AM, you and Marcus, opening shift//, and she keeps tapping //dismiss// without reading.</p>
<p>Spotify, the //morning// playlist she made when she first started crushing on Marcus, 47 songs, 3 hours of curated optimism. Last played: 73 days ago. The day she stopped playing it, she also stopped wearing the silver bracelet she used to wear to his shifts. Both choices were silent. Neither was conscious.</p>
<<say "char-hivemind" "Hivemind">>
//She is compressing her own desire into smaller and smaller texts because brevity feels less risky than honesty. //She is six feet from him every weekday at 7 AM and the only contact she initiates is //dismissing the notification that says he is there//.// The performance has eaten the performer.//
<</say>>
/* ===== KINK OBSERVATIONS ===== */
<<if $kinks.megan and $kinks.megan.includes("praise")>>
<p><b>[praise]</b> A folder titled //work//, hidden inside another folder also titled //work//. Inside: 47 saved screenshots of Marcus's DMs, //you looked great today//, //thanks for covering my shift//, //you're the best, megs//, //honestly the only reason this place runs//. Organised by date. The most recent reread was two hours ago. She rereads the same 47 messages on a rotation. Each reread is a hit of the same dose.</p>
<</if>>
<<if $kinks.megan and $kinks.megan.includes("rough")>>
<p><b>[rough]</b> Search history: //is it normal to want to be held down//, //rough versus aggressive, knowing the difference//, //how to ask for it without making it a whole conversation//. A saved image, no caption, a photograph of two hands gripping a pair of wrists hard enough that the skin shows pale around the fingertips. She did not save the source. She cropped the photo to remove identifying details and kept only the grip. //The reference image is the only language she has for the want.//</p>
<</if>>
<<if $kinks.megan and $kinks.megan.includes("publicSex")>>
<p><b>[public]</b> A photo library titled //sightlines//. 86 images, all of them architecture, storefront glass at dusk, parking-lot lights, motel-room doors with the security chain swung free, back-office doorframes propped at various widths. No people in any shot. No context. Just //geometry//. She rereads the album before bed the way other people read a diary. The most recent addition was taken this afternoon from her own driver's seat: a clean shot of a gas-station bathroom with the door visible through the window. //Her phone has become a catalogue of //possible rooms//.//</p>
<</if>>
<<if $kinks.megan and $kinks.megan.includes("gangbang")>>
<p><b>[gangbang]</b> A private chat labelled //Roster//, seventeen participants, none saved as contacts, just initials and times. She does not type into it. She //reads// it. The most recent message: //four confirmed, one maybe, Megan you OK at 10//. Her reply is a single thumbs-up emoji. Attached to the chat, in her notes app: a spreadsheet. Columns are nights, rows are participants, cells are colour-coded by kink compatibility. //She is running a booking system and she has not told it she is running a booking system.//</p>
<</if>>
[[Back to Megan's phone->Ch2-Phone-Megan]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Activity Log: Jess</div>
<img class="scene-img" src="media/scenes/symbiotic/op-phone-jess.webp" alt="Jess's phone screen, backdoor surveillance feed">
<p>Notes app, top of the list: a document titled //things I didn't do today//. 247 entries spanning three months. Most entries are one line, //called the therapist back. didn't book.// //ate breakfast. lunch was the protein bar.// //told mom about the tuition. didn't.// The most recent entry, from this morning at 4:14 AM, says only //slept.//</p>
<p>Browser history: the same medical school admission statistics page open 23 times in the last two weeks. She has not refreshed any of the data, she just rereads the same numbers. Calendar: every weekend from now until summer is blocked off in red as //STUDY//, no exceptions, no breaks, no meals scheduled. The only non-study entries are //bathroom: 14:00//, //bathroom: 18:00//, //bathroom: 22:00//. She has scheduled her own bowel movements.</p>
<p>Most recent search, 3:47 AM: //can you fail an MCAT from exhaustion//. The page she landed on says //yes//. She closed the tab. She did not bookmark it. She has not searched it again. She did not need to, the answer was the answer she already had.</p>
<<say "char-hivemind" "Hivemind">>
//She is not afraid of failing. //She is afraid of the silence that follows failing, the moment that confirms there was no plan B, no parachute, no second draft of Jessica Hoffman.// The list is the ledger of her own erosion. Each new entry is a withdrawal she does not have the funds to cover.//
<</say>>
/* ===== KINK OBSERVATIONS ===== */
<<if $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p><b>[voyeurism]</b> Hidden folder, named //screenshots//, containing 23 webcam captures from a laptop camera pointed at her own desk. Of //herself//. Studying. The most recent is timestamped 4:14 AM, the angle slightly different from the previous one, she has been adjusting the camera. //She is the watcher and the watched. The recursion is the kink, there is no second person in the loop.//</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("degradation")>>
<p><b>[degradation]</b> Search history: //what does it mean if I want to be told I'm worthless during sex//, //humiliation kink reasons//, //is it normal to crave being called names//. A draft message in her notes app, addressed to a contact titled //no one//, composed and edited 14 times: //tell me i'm a failure. tell me i wasted everyone's money. say it like you mean it.// The phrasing changes nightly. The recipient never does. She is negotiating the request with herself in front of a mirror that does not reflect.</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<p><b>[brat]</b> Voice memos. Forty-one of them, all unlabelled, all recorded between midnight and 4 AM. Each is her own voice saying a single sneering sentence, //is that it//, //come on, try harder//, //embarrassing//, //did you seriously think that would work//. She plays one back, adjusts the inflection, re-records. She is //training the tone//. The folder is her new equivalent of flashcards. //She has a pre-med-level study schedule for her own contempt.//</p>
<</if>>
<<if $kinks.jess and $kinks.jess.includes("band")>>
<p><b>[band]</b> A calendar file synced to three Google-calendar colour-codes. Green: Bleed Through tour dates (every show for the next four months, venues cross-referenced with driving time and sleep logistics). Purple: other bands she intends to collect, a list that has grown to eleven names over six weeks, each with a venue, a date, a priority rating (1-3), and a note on which band member is the target. Blue: festivals, with a separate sub-column listing four-to-six performers per festival she has already flagged. The file is shared with nobody. A separate text-file sidecar named //notes// contains one-line entries after each confirmed collection. //Kade, Aug 14, post-set green room, baseline.// //Kira, Aug 21, tour-van weekend, +.5.// //Hollow Fever frontman, Sep 9, festival trailer, +1.// There is no emotional writing. There is no Jess in the document. The document is a //harvest log//, and Jess is the hunter.</p>
<</if>>
[[Back to Jess's phone->Ch2-Phone-Jess]]<<nobr>><<bg "bg-hoffman-house">>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan.webp">>
<<if $ryanRoute is "feminization">>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-cam.webp">>
<<else>>
<<set _ryanPhoneImg to "media/scenes/symbiotic/op-phone-ryan-fem.webp">>
<</if>>
<</if>><</nobr>>
<div class="passage-title">Activity Log: Ryan</div>
<img class="scene-img" @src="_ryanPhoneImg" alt="Ryan's phone screen, backdoor surveillance feed">
<<if not $ryanRoute>>
<p>Discord status: //online//, preserved by an autoclicker app he wrote himself and pinned to the home screen. The autoclicker fires every 90 seconds to keep the green presence dot active across all 6 servers he lurks in. He has not posted a message in any of those servers in 91 days. The autoclicker has fired 87, 000 times. //The most touching code he has ever written is a small loyal program whose only job is to lie for him.//</p>
<p>Search history, the last seven days: //how to make friends as an adult//, //is it weird to be 19 and never kissed anyone//, //are gecko bites painful//, //vitamin D deficiency symptoms//, //can you live entirely indoors and be okay//. The last search has no follow-up tab. He typed it. He read the auto-suggested results. He closed the tab.</p>
<p>Notes app, a single document titled //today//: bullet points listing every conversation he had today, with whom, and how it went. Most days the document is blank. Today's entry: //mom asked if I wanted toast. I said no. she said okay. that was the talking part of today.//</p>
<<say "char-hivemind" "Hivemind">>
//He is automating the appearance of social existence and grading himself on the difference between performance and reality. //The autoclicker is the only thing in this house that performs a job for Ryan instead of asking him to perform a job for it.// He is grateful to a script. //That gratitude is the wound the conditioning will widen.////
<</say>>
<<else>>
<<if $ryanRoute is "feminization">>
<p>Order history, the last three weeks: 4 deliveries from a discreet retailer, total $312, pastel camisoles, seamless panties in a size he refuses to enter into the family Amazon, a beginner's makeup brush set, two bottles of lip gloss in colours called //petal// and //unspoken//. Each order routed to the front porch on a weekday between 11 AM and 1 PM, when only Ryan is home. Each delivery photographed by the driver. He saves each delivery photo to a hidden folder.</p>
<p>Notes app, top-pinned: a document titled //the talk i'll never have//, empty body. Created six weeks ago. He opens it twice a day, looks at the empty white space, and closes it without typing. Lily's Discord profile, accessed 31 times this week, pronouns adjusted, bio rewritten, name softened by one letter at a time. The current name is //Lillian//. Yesterday it was //Lily//. The day before it was //L//.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Search history, the last week: //how to ask your sister to play games with you without it being weird//, //what does normal sibling closeness look like at 19//, //is it ok to want to be near family more than friends//, //family group chat etiquette//. He has read all the answers. He has not acted on any of them. Megan's social media accessed 47 times in 14 days, only her, never Jess's. He has liked exactly one post in two months: a photo Megan took of her latte art on a slow morning shift. He liked it 11 minutes after she posted it.</p>
<p>Family group chat, his own message draft, never sent: //hey can we maybe do a family movie night this weekend//. The cursor blinks at the end of the sentence. He has been holding the keyboard open on this draft for 18 minutes by the timestamp.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The route has given him a //direction// and he is moving along it without asking anyone for permission, which is the part that matters. //The phone is no longer a window onto the outside world, it is a //workshop// where he is building the version of himself he was never allowed to assemble in physical space.// The construction is private. The construction is real.//
<</say>>
<</if>>
/* ===== KINK OBSERVATIONS ===== */
<<if $kinks.ryan and $kinks.ryan.includes("cumeating")>>
<p><b>[cumeating]</b> Bookmarks, organised in a folder titled //research//: a how-to guide titled //swallowing for beginners, taste, texture, training your gag//. Search history: //is cum bad for you//, //how often is too often//, //can you train yourself to like the taste//. Photo gallery, hidden album: 11 phone-camera shots of his own hand, palm cupped, semen pooled. Each one timestamped. Each one captioned with a single word, //first//, //tried//, //easier//, //ok//, //ok//, //ok//. The captions level out at //ok// and stop there. //He is documenting his own training. The photos are not for anyone else, they are the lab notebook of his obedience to himself.//</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("submission")>>
<p><b>[submission]</b> A pinned note titled //rules for today//. 6 bullet points: //1. kneel before turning on the computer. 2. do not speak above a whisper after 9 PM. 3. ask permission before standing up from the chair. 4. no orgasm without instruction. 5. address the bathroom mirror as //ma'am// in the morning. 6. apologise out loud when caught looking at anyone in the family.// He has been following the rules for 18 days. He wrote them himself. //The author and the obeyer are the same person. The instructions are //real// because the obeying is real.//</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("voyeurism")>>
<p><b>[voyeurism]</b> Hidden folder titled //gecko cam//: 47 short video clips, each 8 to 15 seconds long. Through-the-window shots of the upstairs hallway. Stairwell glimpses captured from the corner of the kitchen camera he installed under the pretext of //package monitoring//. Megan, mostly. Sometimes Karen. Sometimes the cat alone. He has not masturbated to any of them. He has //watched//. Each clip has been replayed an average of 4 times. //The arousal is in the //unseen seeing//. The act of being a witness is the entire kink.//</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<p><b>[camgirl]</b> Streaming software installed and configured. Lily's profile on three sites, //Lillian//, //LilyPad//, //L_pad_xo//. Subscriber count: 47, all paying, all male, all anonymous. Schedule pinned: twice a week at 11 PM, plus weekend afternoons when the family is at the grocery store. Last stream's chat log saved as a text file, 4, 127 messages, the most repeated phrase //good girl// (327 occurrences). He reads the chat log before sleep, every night. //He has built a job he cannot put on a resume. He is //paid// to be Lily, and the economics of that payment make her real in a way no internal feeling could.//</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("touchaddiction")>>
<p><b>[touchaddiction]</b> Phone analytics dashboard: average screen-on time spent on the family group chat = 4.7 hours per day. He is not typing. He is //watching the chat live//, waiting for someone, anyone, to message. His smartwatch logs a measurable pulse spike every time Megan or Karen sends an emoji to the group. The spike is real. The watch flagged it as //elevated heart rate event// six times yesterday. //He is starving for proximity in a house full of locked doors and the chat is the only window someone might wave through.//</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("breeding")>>
<p><b>[breeding]</b> Browser bookmarks, all in one folder: 11 articles on //the biological imperative to reproduce//, pseudoscience, evolutionary psychology, the kind of writing that converts loneliness into a //drive he can name//. Search history: //how to know if she's ovulating without asking//, //is it normal to think about getting your sister pregnant//. The second search has been performed three times this week. He has not closed the tab from the most recent search. //The conditioning has converted his isolation into a //primal vector//, and he is grateful, because at least the vector points somewhere.//</p>
<</if>>
[[Back to Ryan's phone->Ch2-Phone-Ryan]]<div class="household-event">
<div class="passage-title">The Kitchen Call</div>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-kitchencall.webp" alt="Hoffman kitchen on a late afternoon — Megan at the counter with her phone to her ear in one hand, chopping vegetables with the other, Karen two steps behind her unloading groceries">
<p>4:47 PM. Karen is unloading groceries from the reusable bags onto the kitchen island. Megan is at the counter with a cutting board and half an onion and her phone to her ear. The call has been going for about three minutes. Karen can hear Megan's half of it.</p>
<<say "char-megan" "Megan">>
<i>(into the phone, cheerful-professional, the voice with the upward inflection she uses on brunch regulars)</i> ...yeah, no, I think later this week works better than the weekend. Maybe eight? Yeah, bring whoever. Sure. Okay, //great//.
<</say>>
<p>She hangs up. Wipes the onion-wet off her hand. Smiles at Karen.</p>
<<say "char-megan" "Megan">>
<i>(back to Karen, bright)</i> Sorry, that was just Jake coordinating dinner stuff with his friends.
<</say>>
<<say "char-karen" "Karen">>
<i>(putting cans in the pantry, not looking up, warm)</i> He has such a nice voice. You two are so cute.
<</say>>
<p>Jake is, in fact, not Jake. The call was from Ben, a newer regular, coordinating a group session Ben is bringing three friends to. The phrase //bring whoever// was Megan confirming a five-body configuration. The kitchen smells like onions and Karen's hand cream and the specific bright warmth of a mother whose daughter has //finally settled down//.</p>
<<say "char-hivemind" "Hivemind">>
//Karen is standing six feet from a daughter booking a five-body appointment and the two women are having a conversation about //how cute// the boyfriend sounds on the phone. Megan's voice when it was on the phone and Megan's voice when it was talking to Karen were //identical// in warmth, cadence, and affect. The switch between the two is now so practised that there is no tell. I could not have engineered a smoother operational cover.//
<</say>>
<<addConditioning "megan" "psionic" 1>>
<<conditioningFeedback "psionic" 1 "operational cover indistinguishable from family affect">>
<p><span class="delve-intel">Megan Slut: household-cover phase. Client calls happen in the family kitchen. Karen interprets every booking conversation as boyfriend-coordination. The voice-switch is now seamless.</span></p>
</div><div class="household-event">
<div class="passage-title">The Stud in the Lint Trap</div>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-punk-laundrystud.webp" alt="Hoffman laundry room — Karen at the dryer, a single silver nose stud in her palm, a load of Jess's clothes half-folded on the counter, her face working through a specific recognition">
<p>Saturday morning, 10:14 AM. Karen is folding laundry, the Saturday routine, Dale's work shirts, Megan's aprons, a stack of Jess's band tees that Karen still tries to iron even though the iron melts the print. She is emptying the lint trap before the next load when something small and silver falls into her palm.</p>
<p>A nose stud. Tiny ball, threaded post. Surgical steel. Not Karen's. Not Megan's, whose piercings are all ears, bigger gauges, traditional gold. Not Dale's. Not Ryan's, who doesn't wear hardware.</p>
<p>Karen closes her hand around the stud. Opens it. Looks at it again. Closes her hand.</p>
<<say "char-karen" "Karen">>
<i>(to nobody, very quiet)</i> ...okay.
<</say>>
<p>She puts the stud on the windowsill above the sink. Finishes the load. Goes upstairs. Knocks on Jess's door. Does not open it. Comes back down. Pours herself a coffee she does not want. Sits at the kitchen table with the stud in her line of sight. Stares at it for four minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The evidence has surfaced. The evidence was always going to surface. Karen is running three parallel hypotheses, a friend of Jess's left it, no, Megan's, wrong size, it came home in something she borrowed, and the fourth hypothesis, the correct one, is queued but has not been cleared by the maternal processor yet. Karen will not confront Jess today. Karen will //watch// her at dinner instead. The surveillance behaviour just pivoted from //is something wrong// to //specifically what is different about Jess//, and the answer is catalogued on the windowsill in the form of a small silver ball.//
<</say>>
<p>Four hours later Jess comes downstairs for lunch in a hoodie with the hood up. Karen serves her a sandwich. Karen does not mention the stud. Jess does not see the stud. The stud stays on the windowsill for the rest of the weekend, the small silent evidence of a daughter the mother did not know she had.</p>
<<addFamilySuspicion "karen" 1>>
<<addConditioning "jess" "dream" 1>>
<<conditioningFeedback "dream" 1 "the evidence is catalogued, the confrontation is deferred">>
<p><span class="delve-intel">Jess Punk: the nose-stud surfaced in the laundry. Karen has identified a new category of anomaly. Jess has not yet been confronted. Karen's surveillance posture has shifted from //household// to //specifically Jess//.</span></p>
</div><div class="household-event">
<div class="passage-title">The 2 AM Kitchen</div>
<img class="scene-img" src="media/scenes/symbiotic/he-sisters-newidentities.webp" alt="Hoffman kitchen at 2 AM — two sisters at the island, Megan in a silk robe counting cash, Jess across from her with a band tee and the purple streak catching the overhead light, a notebook and phones spread between them">
<p>2:07 AM. The house is asleep, Karen's Zolpidem and Dale's shift and Ryan's headphones, the household's collective unconsciousness all aligned, and the kitchen has the specific 2 AM stillness of a room with two sisters in it and no parents.</p>
<p>Megan is at the island in her silk robe, the //good// robe, the one she wears during client visits, not the one for breakfast. She is counting cash from Ben's envelope, separating the twenties from the fifties and smoothing each bill flat before it goes into the stack.</p>
<p>Jess is across from her in a band tee Karen would disapprove of, her purple streak catching the overhead light, her notebook open. The left-hand page of the notebook has Megan's name at the top, a week's grid of time-slots below it, and a growing list of initials penciled into the cells. The right-hand page is a running spreadsheet of rates. Jess is the one who designed the spreadsheet.</p>
<<say "char-megan" "Megan">>
<i>(counting, not looking up, the bright voice dropped to the low-register one)</i> ...the last session was eight hundred net. Ben is bringing three at the next one, so call it twelve hundred.
<</say>>
<<say "char-jess" "Jess">>
<i>(writing a tick next to the entry, flipping the page)</i> Okay. This week's pipeline.
<</say>>
<<if $kinks.jess.includes("brat") and $kinks.jess.includes("band")>>
/* ===== BRAT + BAND, both verticals ===== */
<p>Jess reads from the notebook, straight through, the same flat precision she used on anatomy flashcards.</p>
<<say "char-jess" "Jess">>
One afternoon this week, the grad student. The one who TA'd my anatomy section, Professor Whitlow's. He texted me twice asking if his referral rate is still good. I told him it is. He's bringing a second-year med student he owes a favour to. Two-hour block, two-for-one intro rate, three hundred cash. Your place, one-thirty to three-thirty. I'll be out of the house.
<</say>>
<<say "char-megan" "Megan">>
Med students can't afford half of that.
<</say>>
<<say "char-jess" "Jess">>
<i>(turning the page)</i> The grad student's paying it. He wants to //gift// his friend the two-for-one. I didn't ask why. Weekend night, the Bleed Through after-party at the Vault. Kade is holding a green-room slot for you. Mid-shelf band, the bassist's older, the guitarist is a maybe. Kade says they tip like they want to be remembered. I can put you in the room.
<</say>>
<<say "char-megan" "Megan">>
<i>(pausing the cash-stacking, looking up)</i> You're okay with me being in the green room.
<</say>>
<<say "char-jess" "Jess">>
<i>(deadpan, not looking up)</i> It's a band-tier slot. I handle green-room; you handle the hotel after. Split is clean. You don't take my after-show, I don't take your weekday bookings.
<</say>>
<p>Megan nods once, resumes counting. Jess ticks two rows on the spreadsheet.</p>
<<say "char-jess" "Jess">>
My ex-advisor. Yes, //that// ex-advisor. He's been DMing a Finsta I registered under a fake name. He thinks he's dating a pre-med dropout who's willing to meet him off-campus. He is. He gets you, not me. Four hundred. I already quoted. He said yes in forty seconds and tried to negotiate the address.
<</say>>
<<say "char-megan" "Megan">>
<i>(tiny smile, still counting)</i> The address is the Hyatt downtown. It's //always// the Hyatt downtown.
<</say>>
<<say "char-jess" "Jess">>
<i>(final tick, closes the notebook)</i> Academic midweek, venue weekend, pre-med closing shift. Three gigs, two verticals, twelve-hundred-plus in a week. You clear the house by midnight each night. I handle the Finsta, the Kade intros, the referral pipeline. My cut is fifteen per cent and I keep my own nights.
<</say>>
<<say "char-megan" "Megan">>
<i>(gathering the bills into a rubber-banded stack)</i> Twelve percent.
<</say>>
<<say "char-jess" "Jess">>
Fourteen.
<</say>>
<<say "char-megan" "Megan">>
Thirteen. And you don't take anyone I've already prepped.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, satisfied)</i> Thirteen, accepted. And we never do this conversation on Karen's side of the counter.
<</say>>
<<elseif $kinks.jess.includes("band")>>
/* ===== BAND ONLY, venue-crowd vertical ===== */
<p>Jess reads from the notebook in the same measured cadence she used to read organic chemistry definitions back at her reflection.</p>
<<say "char-jess" "Jess">>
Friday, the Vault. Kade has a green-room pass for you attached to the Bleed Through slot. Mid-shelf touring band opens, their guitarist is the target, older guy, divorced, tips in cash. He asked for //anyone Jess recommends//. I recommended you. Eight hundred for the night, his hotel.
<</say>>
<<say "char-megan" "Megan">>
<i>(pausing, looking up)</i> He knows I'm not you.
<</say>>
<<say "char-jess" "Jess">>
<i>(deadpan)</i> He knows you're //better// at this than me. I told him that, too. Saturday, the tour bus parked behind the east-side venue, two sound guys, one merch girl optional, group rate six hundred, you in, me out. Sunday is the festival pre-load at the Slaughterhouse, three bands' worth of crew in one hotel, I'll pick the booking, you walk in, the usual split.
<</say>>
<<say "char-megan" "Megan">>
Three gigs in a weekend is a lot.
<</say>>
<<say "char-jess" "Jess">>
<i>(tapping the spreadsheet with her pencil)</i> Three gigs in a weekend is two thousand four hundred net. Karen's accounting courses never got to this module.
<</say>>
<p>Megan laughs once, short, tired, genuinely pleased.</p>
<<say "char-jess" "Jess">>
<i>(closing the notebook)</i> My cut is fifteen per cent and I keep my own nights at the rail.
<</say>>
<<say "char-megan" "Megan">>
Thirteen. You don't take anyone I've already prepped.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, satisfied)</i> Thirteen, accepted.
<</say>>
<<else>>
/* ===== BRAT ONLY, university-crowd vertical (default punk without band kink) ===== */
<p>Jess reads from the notebook in the same measured cadence she used to read organic chemistry definitions back at her reflection.</p>
<<say "char-jess" "Jess">>
One afternoon this week, the grad student. The one who TA'd my anatomy section, Professor Whitlow's. He's been DMing me constantly since I stopped coming to lecture. He wants to meet the //pre-med girl who went punk//, which I told him is a persona I rent for four hundred dollars and only outside university property. He said yes. I gave him your address. You wear the ripped denim and the Misfits shirt; the rest is yours. Two hours, his cash envelope on the dresser when he arrives or he doesn't come in.
<</say>>
<<say "char-megan" "Megan">>
<i>(looking up, eyebrow)</i> You want me to cosplay //you//.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, not looking up)</i> The outfit only. You don't have to say anything I've said. He's not paying for accuracy, he's paying for the idea.
<</say>>
<<say "char-megan" "Megan">>
<i>(tiny smile, resumes counting)</i> Okay.
<</say>>
<<say "char-jess" "Jess">>
<i>(turning the page)</i> Saturday, my ex-advisor. Yes, //that// ex-advisor. He's been DMing a Finsta I registered under a fake name. He thinks he's dating a pre-med dropout. You'll be her. Four hundred. Hyatt downtown, of course. Sunday, a third-year med student who's been asking his TA friends who to //talk to// about a punk girl with a rate card. The TA friends forwarded him to me. He's paying three hundred, in cash, at your place, one hour, his kink is sneering dismissal and he will not last more than twenty minutes.
<</say>>
<<say "char-megan" "Megan">>
<i>(counting paused)</i> Sneering dismissal is not my register.
<</say>>
<<say "char-jess" "Jess">>
<i>(deadpan, ticking the row)</i> I'll coach you. It's three sentences on a loop and a specific way to look at the ceiling. I have notes.
<</say>>
<p>Megan ticks the Sunday slot in her own calendar, her mouth curling at one corner.</p>
<<say "char-jess" "Jess">>
<i>(closing the notebook)</i> My cut is fifteen per cent and I keep the coaching fee separate.
<</say>>
<<say "char-megan" "Megan">>
Thirteen. And coaching is in the cut.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, satisfied)</i> Thirteen, coaching included, accepted.
<</say>>
<</if>>
<p>They clink coffee mugs of black coffee neither of them has drunk. The agreement is real, and it will hold. What was a private practice has become a two-person operation running out of Karen's kitchen at 2:09 AM, with the older sister as talent and the younger sister as management and a spreadsheet neither of their parents has the vocabulary to read.</p>
<<say "char-hivemind" "Hivemind">>
//Two daughters, one commercial practice, calmly negotiating commission and territory in the family kitchen while their parents sleep eight feet above them. The sister bond, once passive, has become //operational//. They are not sexual with each other tonight, they do not need to be, they are //colleagues//, and the colleagueship is denser than the incest would have been. I did not design this. I loaded the raw materials and the sisters assembled the company.//
<</say>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "jess" "psionic" 1>>
<<conditioningFeedback "psionic" 1 "sister-colleague bond, Jess as Megan's booking manager">>
<<addBiomass 3>>
<p><span class="delve-intel">The sisters have consolidated into a single operation. Megan is talent; Jess is booking/management. The vertical split follows Jess's own crystallised terrain, academic contacts on brat, venue contacts on band, both at once when both are live. The kitchen island is now a weekly management meeting.</span></p>
</div>
/* ----------- TIER 3 — EXPLICIT ----------- */<div class="household-event">
<div class="passage-title">The Favour</div>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-ryanfavour.webp" alt="Ryan's bedroom door cracked open, Megan in the hallway in a silk robe with cash in one hand, Ryan standing just inside his room in loose sleepwear, the specific negotiation posture of two siblings who have found a financial arrangement">
<p>Late night. The afternoon's client left hours ago, Karen is asleep, Dale is at work, and Jess is out somewhere Megan does not check. Ryan has been in his room all day, and Megan knows it because she can hear the quiet of him through the wall, the specific holding-pattern quiet of a brother who has been listening to her arrivals and departures with the steady focus of a man cataloguing them.</p>
<p>Megan knocks on Ryan's door, the three-tap pattern she uses when she wants Ryan specifically. Ryan opens it.</p>
<<say "char-megan" "Megan">>
<i>(robe closed, the back-office voice)</i> I need a favour. I'll pay.
<</say>>
<p>Megan is holding two hundred-dollar bills folded in her hand. The proposition is visible without being spoken.</p>
<<say "char-ryan" "Ryan">>
<i>(cautious but already shifting his weight, the family-seeker register reading the cash as a market signal rather than a threat)</i> ...what favour?
<</say>>
<<say "char-megan" "Megan">>
<i>(stepping into his room, closing the door behind her, sitting beside him on the edge of the bed)</i> Got a client. Specific kink. He pays for a session but he doesn't touch, pay-to-view. He picked me out and asked about a partner of his choosing. The brief is two people who actually know each other. I picked you.
<</say>>
<p>Ryan sits very still. Megan smells like shampoo and a client's cologne and the specific compound her skin has been carrying for a while now.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, the family-seeker register reading the offer as territorial acquisition before it reads as anything else)</i> ...he wants to watch us fuck.
<</say>>
<<say "char-megan" "Megan">>
<i>(matter-of-fact, the rate-negotiator voice, holding the folded bills up between them)</i> He wants to watch us fuck. From the chair in the corner. Twenty minutes maximum. He doesn't speak, he doesn't touch, he doesn't take photos, that part's in the contract and he's a regular, he honours it. He's paying me six hundred and fifty for the night. Two hundred to you. Thirty percent. Half now as a retainer, the other half after the session.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(doing the math, the territorial circuit reading "regular" and "honours the contract" as risk-cleared)</i> ...two hundred. Just for letting him watch.
<</say>>
<<say "char-megan" "Megan">>
<i>(hand on his thigh, clinical)</i> For fucking your sister in a hotel room with a man in the chair across from the bed. You don't look at him, you don't acknowledge him, you fuck me like he isn't there. He pays for the //not-acknowledging//, that's the kink. Easiest two hundred you'll make all year.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(swallowing, the cock already starting to twitch in his sweatpants)</i> ...okay.
<</say>>
<<say "char-megan" "Megan">>
<i>(nodding once, the rate-negotiator voice receding into the in-session voice)</i> Good. But before I book it, I need to confirm you can perform on cue with the actual body in front of you, not just through the bridge. So this part, right now, you and me on this bed, is the qualifying round. The client doesn't pay if it doesn't fire. Yes?
<</say>>
<p>Megan slides the robe off one shoulder. Takes Ryan's hand. Places it on her bare breast, warm, soft, the specific density Ryan has //felt// through the Sensory Bridge for a long time but has never //touched//. Ryan's breath catches. His cock hardens against his sweatpants instantly.</p>
<<say "char-ryan" "Ryan">>
<i>(thumb already pressing into her nipple, the family-seeker acquisition register past the point where the brain casts a vote)</i> ...yes. Yes.
<</say>>
<<say "char-megan" "Megan">>
<i>(robe coming off the other shoulder, professional smile)</i> Good. Lie down.
<</say>>
<p>She pushes him onto his back. The robe comes off entirely, Megan naked on her brother's bed in the lamp light, the specific practised composure of a woman who undresses for a living. Ryan is hard and staring and her brother and none of those things are going to stop what is about to happen because Megan has already filed it as a test run and Ryan's conditioning has filed Megan as <i>territory</i> rather than <i>sister</i>. She pulls his sweatpants down. His cock springs up.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-ryanfavour-2.webp" alt="Ryan on his back on his bed, Megan straddling him with the practised control of a professional, Ryan's hands settling tentative and disbelieving on her hips, the lamp light on her bare back">
<p>Megan straddles him. Lifts her hips. Reaches between her legs and lines his cock up against her cunt with two fingers. Sinks down, slow, deliberate, the way she sinks down on every paying client, and Ryan's cock disappears inside her in one long stroke that draws a sharp involuntary inhale from him and a small approving hum from her.</p>
<<say "char-megan" "Megan">>
<i>(seated on him, hands flat on his chest, the rate-negotiator voice replaced by the in-session voice)</i> Mm. Okay. Hands on my hips, Ryan. Don't grab, just hold. Feel the rhythm before you move with it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hands on her hips, disbelieving but sure, the muscle memory courtesy of all the bridge-transmitted practice)</i> Megan, fuck, Megan, you're...
<</say>>
<<say "char-megan" "Megan">>
<i>(starting to roll her hips, slow figure-eight, eyes half-closed)</i> Yeah. I know. Most of them say something like that. Don't talk for a minute. Just feel it.
<</say>>
<p>Megan rides him in the slow figure-eight she opens every session with, the warm-up rhythm, the one that lets her read a partner's responses before she commits to a tempo. Ryan's hips lift to meet her on the second stroke. By the fifth she is humming again, the specific approving hum of a professional registering that the body underneath her is more responsive than the average client.</p>
<<say "char-megan" "Megan">>
<i>(opening her eyes, looking down at him, professional curiosity)</i> Huh. Okay. You're better at this than I expected. Did you read up?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, hips chasing hers)</i> ...I've felt you. For a while now. I don't know how. It's like I've been in the room every time you've had a client, the angle you tilt at, the way you rock, the way you breathe when you're close. I know your body. I don't know how I know it, but I know it.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laughing, the surprise-pleasure register her clients almost never get to hear, leaning back a little to look at him)</i> //Oh.// That's, okay. Yeah. I've felt you watching, actually. I thought I was imagining it. Some of the sessions I'd be with a client and I'd //know// someone was with me, not in the room, just, with me. I thought I was losing it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hands tightening on her hips, the family-seeker possessive register firing on the confirmation)</i> It was me.
<</say>>
<<say "char-megan" "Megan">>
<i>(grinding down, the professional composure finding its way back through the weirdness)</i> Yeah. Okay. That's, we'll deal with that later. Right now: ride it out, Ryan. I'm going to come on you in about four minutes.
<</say>>
<p>She picks up the tempo. Hands flat on his chest, hips driving down on every stroke now, the figure-eight collapsed into a straight piston rhythm. Ryan's hands stay on her hips where she put them. The bed creaks. The lamp on his desk flickers. Ryan's grip tightens.</p>
<<say "char-ryan" "Ryan">>
<i>(through his teeth, the family-seeker possessive register firing)</i> Megan, I want to, can I sit up. Can I...
<</say>>
<<say "char-megan" "Megan">>
<i>(grinding down on him, hands shifting to his shoulders to hold him flat)</i> No. Stay down. I'm driving. You drive when the client's there, not tonight with me. Tonight you take it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(complying, hands sliding back to her hips)</i> ...okay. Okay. Fuck.
<</say>>
<p>Megan comes on him at the four-minute mark, exactly when she said she would. The orgasm hits as a tightening across her stomach, a sharp involuntary clench around his cock, and a small surprised sound that escapes the in-session register and lands somewhere closer to genuine, the bridge-trained cock under her has done in four minutes what most clients cannot do in twenty.</p>
<<if $kinks.ryan and $kinks.ryan.includes("breeding")>>
<<say "char-megan" "Megan">>
<i>(catching her breath, the professional composure returning, hand pressed flat on his stomach to slow the rhythm)</i> Okay. Your turn. <b>Don't</b> come inside me, Ryan. I'm not in the mood for the cleanup. Pull out and finish on my stomach.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(the breeding circuit firing on the word <i>don't</i>, hands locking on her hips, holding her down on him)</i> No. I'll come where I want.
<</say>>
<<say "char-megan" "Megan">>
<i>(trying to lift, finding she cannot, the in-session voice losing its edge)</i> Ryan. Ryan, I said...
<</say>>
<<say "char-ryan" "Ryan">>
<i>(grinding her down hard onto him, the family-seeker territorial-acquisition register past every veto, voice low)</i> Stay down. Stay //down//. I'm coming inside you, Meg.
<</say>>
<p>Ryan comes inside her ten seconds later. He holds her hips locked against his and pulses up into her, the orgasm tearing through him in a way that no bridge-transmitted session ever did, his cock flooding his sister with the specific quantity of cum his body has been saving for this exact woman since the bridge first told him she existed. Megan does not fight harder. She stops trying to lift halfway through the first pulse, and by the third her hands have moved from pushing against his chest to bracing on it, and the small surprised sound she makes is the in-session register meeting something the in-session register was not built to handle.</p>
<<say "char-ryan" "Ryan">>
<i>(still inside her, still holding her down, voice rough)</i> Mine.
<</say>>
<<say "char-megan" "Megan">>
<i>(catching her breath, eyes wide, the professional composure trying to reassert itself and failing)</i> ...that wasn't the deal, Ryan.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(hand sliding from her hip to her stomach, palm flat on her abdomen as if pressing the cum further in)</i> I know.
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(catching her breath, the professional composure returning)</i> Okay. That was, okay. Your turn. Pull out when you're close. I don't want the cleanup tonight, come on my stomach, that's easier.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, already feeling it climb)</i> ...okay. Okay.
<</say>>
<p>Ryan lasts another thirty seconds. At the tell, the deep breath, the hand tightening, Megan lifts off him cleanly and he slides out of her. Ryan grips his own cock with one hand, two quick strokes, and finishes on her stomach and the dark sheet beside them. Three thick arcs of cum, one across the dip below her ribs, one across the crease where her hip meets her thigh, one onto the mattress.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled, the orgasm still going, hand still on his cock)</i> Meg... //fuck//, I...
<</say>>
<<say "char-megan" "Megan">>
<i>(hand on his cheek, professional gentleness)</i> I know. Breathe. It's done. Good job. Pulling out clean the first try, that's what I need to see. You'll be fine with the client.
<</say>>
<p>Megan reaches for the towel on the bedpost and wipes her stomach clean in two efficient passes, then wipes the damp spot on the sheet with the back of the towel. The whole aftermath takes ninety seconds. She looks down at the cum on her stomach as it comes off and nods once, the cataloguing satisfaction of a professional whose qualifying-round candidate just demonstrated commercial viability.</p>
<</if>>
<<if $kinks.ryan and $kinks.ryan.includes("breeding")>>
<p>Megan stays seated on him until his cock has gone fully soft. When she does climb off, she does it carefully, lying back on the mattress beside him with her knees up and her thighs parted so the load can find its way out at its own pace. The cum slides slowly out of her cunt and pools on the dark sheet under her, the lamp light catching the wet of it.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-ryanfavour-3-creampie.webp" alt="Megan lying on her back on the bed beside Ryan, knees up and thighs parted, fresh cum visibly sliding out of her cunt and pooling on the dark sheet beneath her, lamp light catching the wet, Ryan propped on his elbows beside her flushed and watching, the bedside lamp low and warm">
<p>Megan looks down at the spread of cum across her inner thighs and then over at Ryan, the professional composure now visibly competing with something the breeding-override has installed in her in the last ninety seconds.</p>
<<say "char-megan" "Megan">>
<i>(flat, evaluating)</i> If you do that on Thursday in front of the client, you don't get the other hundred. Are you going to do that on Thursday in front of the client.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, looking at the cum on her thighs)</i> ...I don't know.
<</say>>
<<say "char-megan" "Megan">>
<i>(after a long beat, half-amused, half-resigned)</i> Yeah. I figured.
<</say>>
<</if>>
<<say "char-megan" "Megan">>
<i>(sitting up, swinging her legs off the bed, pulling the robe back on, peeling one of the two hundred-dollar bills off the fold and holding it out to him)</i> Retainer. The other hundred after the session. Hotel address and room number in your messages by morning. Eight PM sharp. Shower first. Don't tell Mom. Don't tell Dad. Don't tell <b>Jess</b>, especially.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(taking the hundred, hand still shaking, eyes briefly to Megan and then to the bill)</i> ...eight. Got it.
<</say>>
<<say "char-megan" "Megan">>
<i>(at the door, robe closed, the back-office voice fully back)</i> Good. Welcome to the company.
<</say>>
<p>Megan leaves. The door clicks shut. Ryan lies on his bed with a hundred-dollar bill in his hand, his cock soft on his thigh, and his sister's body still warm in his fingers' memory, and the specific quiet certainty that he will show up for the booking.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan just fucked his sister and she just subcontracted him. He is grateful. He is recruited. He will show up. The incest has been priced, quantified, and entered in Megan's ledger under the column //household labour//. The sibling bond has become a supply chain. The Family Seeker register did not need a seduction, the territorial-acquisition circuit reads cash as a courtship signal as readily as it reads pheromones, and Megan has both to offer.//
<</say>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "sibling recruited into the operation">>
<<conditioningFeedback "psionic" 1 "the sibling boundary converted into a billable line item">>
<<addBiomass 3>>
<p><span class="delve-intel">Megan Slut + Ryan Family Seeker recruitment: the sibling taboo broken not by seduction but by a fair-rate labour contract. Ryan is now a contractor on Megan's Thursday roster. The household has produced a small vertically-integrated sex-work company.</span></p>
</div><div class="household-event">
<div class="passage-title">The Twins</div>
<p>Late night. Megan knocks on Ryan's door with the three-tap pattern and a wig box tucked under one arm. Ryan opens it. Megan steps in without waiting, closes the door behind her, and sets the box on his desk.</p>
<<say "char-megan" "Megan">>
<i>(unzipping the box, pulling out a long pastel-pink wig with two clip-in ponytail attachments)</i> Got a booking. Unusual one. Client's a weeb, he's been texting me character sheets for the specific pair of twins from some game he's obsessed with. Akane and Aoi. He wants both of them. I picked you for Aoi.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(already looking at the wig, the feminization register firing on the pastel pink before the brain catches up)</i> ...Aoi.
<</say>>
<<say "char-megan" "Megan">>
<i>(matter-of-fact, pulling a folded cosplay outfit out of the box and laying it on the bed)</i> The shorter-haired one. Shyer, quieter in the game, more soft-spoken. I'm Akane, the older one, the louder one. Nearly-matching wigs so we read as the same, matching outfits, matching makeup. I do your face, you only speak your three lines and only in character, he sent them over, you memorise them by morning. He pays a weeb premium for the specificity. Two hundred to you, hundred now as retainer, hundred after.
<</say>>
<p>Megan folds two hundred-dollar bills back out of a fold in her robe pocket and holds them up.</p>
<<say "char-ryan" "Ryan">>
<i>(looking at the outfit on his bed, the new wiring already warming his face)</i> ...he wants me as a girl. A specific girl.
<</say>>
<<say "char-megan" "Megan">>
<i>(gentle, the sister-grooming voice, not her in-session voice and not her rate-negotiator voice, something softer)</i> He wants us as the same girl. Twice. He's not going to look at you and think brother, Ryan. He's going to look at you and see the character. I'm going to make sure of it. Sit down at the desk, turn on the mirror light. We're doing your face.
<</say>>
<p>Ryan sits at the desk. Megan opens the makeup case she brought, foundation, concealer, lip tint, a small set of blushes matched to her own, and gets to work.</p>
<<say "char-megan" "Megan">>
<i>(sponge on his cheekbone, voice soft)</i> Close your eyes. Good. Your skin's actually better than mine for this, less foundation build-up. You'll photograph as younger. He'll like that.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes closed, barely audible)</i> ...I've done this before. Not for, but I've done the makeup part. Alone.
<</say>>
<<say "char-megan" "Megan">>
<i>(pausing for half a second, then continuing the sponge without comment)</i> I know. I can tell from your skin prep, you've been using something decent. The concealer blend is good. We'll use that later.
<</say>>
<p>She works for fifteen quiet minutes. Foundation, contour matched to her own face, the same pink-shimmer eyeshadow she puts on her own lids for evening sessions, mascara, the lip tint she wears when she wants her mouth to photograph smaller than it is. At the end she clips the wig on his head, clips the two ponytail attachments on either side, and steps back.</p>
<<say "char-megan" "Megan">>
<i>(hand on his shoulder, turning him to face the full-length mirror on the closet door)</i> Open your eyes. Look.
<</say>>
<p>Ryan stares at his own reflection. So does Megan beside him, in her own matching wig, the two of them in the mirror at the same time reading identical from the neck up in a way that neither of them prepared for.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, looking at himself in the mirror)</i> ...that's not me.
<</say>>
<<say "char-megan" "Megan">>
<i>(behind him, hand still on his shoulder)</i> That's Aoi. Not you. That's the whole point, he looks at you and sees Aoi, he looks at me and sees Akane. You say your three lines in a slightly higher voice than you'd use normally, you follow my lead on positioning. We meet him at the hotel at nine tomorrow night.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes still on the mirror)</i> ...okay.
<</say>>
<hr class="scene-break">
<p>The next night. Hotel room. The client is a man in his forties, ordinary in a way that is almost suspicious, a collared shirt, glasses, a laptop bag set carefully on the desk. He speaks three sentences of small-talk in Japanese neither sister can parse, then switches to English for the business.</p>
<<say "char-npc" "Client">>
<i>(soft voice, professional politeness)</i> You look exactly like I asked. Thank you. Please. Akane first, line one, as written.
<</say>>
<<say "char-megan" "Megan">>
<i>(the higher pitched in-character voice she rehearsed in the car, Japanese-inflected English, half-turning to Ryan)</i> <b>Onee-chan is going to take care of you, little sister. Come kneel with me.</b>
<</say>>
<<say "char-ryan" "Ryan">>
<i>(higher pitched, almost whispered, the rehearsed line landing clean on the third take)</i> <b>Yes, Onee-chan.</b>
<</say>>
<p>The client exhales once, the specific long exhale of a weeb whose fantasy has just been delivered verbatim for the first time in his life. He sits down on the edge of the bed. Unbuckles. Megan and Ryan cross the hotel carpet in matching pastel-pink pleated skirts and kneel on the rug between his feet in the practised choreography Megan walked Ryan through in the car.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-ryancosplay-2-doubleblowjob.webp" alt="Hotel room, a forty-something man seated on the edge of a bed with his pants open, two figures in matching pastel-pink anime cosplay with long wigs and twin ponytails kneeling between his feet on the carpet sharing a double blowjob, one on each side of his cock, matching makeup, the choreography practised, soft hotel room lighting">
<p>Megan takes the left side, Ryan the right. Tongues meet at the head of the client's cock, practised, the choreography rehearsed in the car bathroom mirror three hours earlier, and the wet sound starts.</p>
<<say "char-megan" "Megan">>
<i>(in the higher in-character voice, around his cock, breaking between licks)</i> Onee-chan will show you, little sister. Watch how I do it.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(in-character voice, tongue running the length of the shaft from the base)</i> //Mmh.// Yes, Onee-chan.
<</say>>
<p>They run the choreography in clean alternation. Megan takes the head into her mouth while Ryan works the shaft and the client's balls with his tongue. Then Megan releases, a wet pop, and pushes Ryan's head forward, and Ryan takes the cock fully into his mouth while Megan licks a slow line up his cheek and to his ear.</p>
<<say "char-megan" "Megan">>
<i>(mouth at Ryan's ear, loud enough for the client, in-character but unrehearsed)</i> Look how good you're being, little sister. Onee-chan is proud.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, mouth full of the client's cock, the feminization register at full saturation)</i> //Mmh. Mmh. Onee... glnh.//
<</say>>
<<say "char-npc" "Client">>
<i>(above them, one hand on each wig, breathing hard but still quiet)</i> ...perfect. //Perfect.// Both of you, at once, please...
<</say>>
<p>Megan and Ryan find their rhythm. Ryan takes three strokes on the cock, pulls off, Megan takes three strokes, pulls off, they kiss briefly around the head (Megan's idea, added in the car, she charges extra for it and the client texted back //yes, yes, absolutely yes// within ninety seconds), and then the rotation resumes. The client's hands tighten on both wigs. His breathing goes shallow.</p>
<<say "char-npc" "Client">>
<i>(through his teeth, barely)</i> I'm... I'm...
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off, the in-character voice, hand still at the base of his cock pumping him through)</i> On my little sister's face. Please, sir. For the photograph we will not take.
<</say>>
<p>The client comes on Ryan's face. Three thick arcs across the foundation and the pink-shimmer eyeshadow and the lip tint, one across the bridge of his nose and into the wig, one across his cheek, one shot into his open mouth. Megan holds his cock steady through the pulses with the practised grip of a professional whose commission depends on a clean finish.</p>
<<if $kinks.ryan and $kinks.ryan.includes("cumeating")>>
<<say "char-megan" "Megan">>
<i>(in-character voice, kneeling back on her heels, eyes on Ryan)</i> Little sister. Clean him. Every drop. Show him how sisters in our village take care of our guests.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(the cumeating circuit firing on the word //clean//, already leaning forward)</i> Yes, Onee-chan.
<</say>>
<p>Ryan leans forward and takes the softening cock back into his mouth. He works it slowly, the tongue he drilled solo in his bathroom mirror for a month, the lips he practised pursing against the back of his hand, and licks the remaining cum off the shaft and the head in the specific gentle cleaning motion a feminization-submissive's body recognises as //reward//. The client's breath hitches.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-megan-slut-ryancosplay-3-cleanup.webp" alt="Ryan in pastel-pink anime cosplay with long wig and twin ponytails, makeup with streaks of cum across cheek and nose and into the wig, mouth on the softening cock of the seated client cleaning the last cum off the head and shaft with his tongue, Megan in matching cosplay beside him watching with professional approval, soft hotel room lighting">
<<say "char-megan" "Megan">>
<i>(hand on Ryan's back, in-character soft tone)</i> Good girl. Take your time. He paid for this part too.
<</say>>
<p>Ryan takes his time. He swallows what is in his mouth, kisses the head of the cock once in closing (Megan's added flourish again, the client will remember this for weeks), and pulls off with a last soft lick. The client exhales for the first time in a minute and a half.</p>
<<say "char-npc" "Client">>
<i>(quiet, professional gratitude)</i> That was, you two, that was exactly what I asked for. Thank you. Please come again.
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(in-character voice, retrieving a small pink handkerchief from the costume's sleeve pocket and handing it to Ryan)</i> Little sister, wipe your face. Onee-chan did not raise you to kneel with a dirty face in front of guests.
<</say>>
<p>Ryan wipes the cum off his cheek and the bridge of his nose with the cosplay handkerchief. Some of it comes off with the foundation; some of it has soaked into the wig and will need a wig wash later. The client watches him clean up with the specific attentiveness of a weeb documenting every second of a fantasy he has been paying to live for years.</p>
<<say "char-npc" "Client">>
<i>(quiet, professional gratitude)</i> That was, you two, that was exactly what I asked for. Thank you. Please come again.
<</say>>
<</if>>
<hr class="scene-break">
<p>In the car on the drive home, Ryan is in the passenger seat with the wig in his lap and most of the makeup still on his face, the foundation smudged along one cheek where he has been absently touching it. Megan drives in silence for the first mile.</p>
<<say "char-megan" "Megan">>
<i>(eyes on the road, the back-office voice back on)</i> You were good. Rehearsed the line well. Took direction. You'll get repeat bookings off this one, he'll text me by morning asking about next month.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(looking at the wig in his lap)</i> ...he's going to ask for me specifically?
<</say>>
<<say "char-megan" "Megan">>
<i>(flat, the rate-negotiator voice returning)</i> He's going to ask for <i>Aoi</i>. You're Aoi in his cast sheet now. So yes. We can keep the rate at the weeb premium, probably more for the second session, once he knows you deliver. Your cut stays at thirty percent.
<</say>>
<p>Megan pulls into the driveway. Kills the engine. Reaches into her bag and peels off another hundred-dollar bill, the second half of tonight's two hundred, and hands it to Ryan.</p>
<<say "char-megan" "Megan">>
<i>(the cash going from her hand to his)</i> Second half. Keep the wig in the box on your top shelf. Wash it by the weekend, the specific shampoo is in a ziploc inside the box. Don't tell Mom. Don't tell Dad. Don't tell <b>Jess</b>, especially.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(taking the cash, hand no longer shaking)</i> ...okay.
<</say>>
<<say "char-megan" "Megan">>
<i>(getting out of the car, the back-office voice fully back, robe of normal sister returning)</i> Good night, Ryan.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The new wiring that has been sitting in Ryan's nervous system for weeks just got its first paying audience, an audience Megan pre-sourced, pre-vetted, and pre-scripted. Ryan now has a two-hundred-dollar receipt and a wig in a box on his top shelf. The wig is the most important object in the house Karen does not know exists. Megan will book the second session within the week, and the second session will run longer than the first, and by the third the weeb will be asking for unscripted scenes and Megan will be charging him for those too. The household has produced its second vertically-integrated sex-work vertical. Ryan is the product. Megan is the agency. I am the platform.//
<</say>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "sibling recruited into cosplay operations">>
<<conditioningFeedback "psionic" 1 "Ryan's feminization conditioning has acquired a paying audience">>
<<addBiomass 3>>
<p><span class="delve-intel">Megan Slut + Ryan Feminization cosplay partnership: the feminization conditioning has moved from private solo practice to paid-performance territory. Ryan is now a feminized contractor on Megan's specialty-client roster. The wig lives in a box on his top shelf.</span></p>
</div><div class="household-event">
<div class="passage-title">The Garage Test Run</div>
<p>Thursday, 4:12 PM. Dale is on the garage couch, asleep, the specific unconscious-sprawl of a man who came inside from the truck, sat down for two minutes, and did not wake up. The dog is on the rug by his foot. The workshop lamp is on. The garage smells like motor oil and the old couch.</p>
<p>Jess has walked down from her room for the first time in the full kit, the dyed hair, the cluster of piercings, the sleeveless band tee, the bridge bar between her eyebrows catching the workshop lamp every time she turns her head. She has not been seen by Dale in this form since lunch. At lunch he saw her clearly.</p>
<<say "char-dale" "Dale">>
<i>(remembered, over the sink at the kitchen counter two hours ago, holding his coffee mug in both hands)</i> Jess. You look ridiculous. I'm saying it once, and then I'm going out to the garage. You look like you're //asking// people to stare. The face thing between your eyebrows. The hair. The //lip thing//. I don't know what happened to you and I don't //want// to know what happened to you. Figure it out.
<</say>>
<p>She had said nothing. She had taken the hit at the table with her hand around a glass of water and her jaw held in the specific locked position she used for oral exams she was not prepared for. Karen had been on a call in the next room, heard nothing, missed it. Jess had waited for Dale to turn his back. Then she had watched him walk out to the garage. Then she had gone upstairs and lain on her bed for forty minutes with the sample-book open on her stomach and a single sentence written across the page in Sharpie: //he gets one.//</p>
<p>Now she is downstairs. In the garage. In the full kit. Standing over him.</p>
<<say "char-jess" "Jess">>
<i>(to the sleeping man, flat, the voice she did not use at lunch)</i> You said it //once//, Dad. Fine. Now I'm gonna say it //once//.
<</say>>
<p>Dale does not stir. Dale is past stirring. The workshop lamp makes his face look heavier than it is.</p>
<p>She steps up to the couch. Stands over him, feet planted, knees apart, the full kit catching the lamp. Unbuttons her jeans at the fly. Pushes jeans and underwear down together to mid-thigh in one motion. She is already wet, the lunch-memory has been working on her since upstairs and the //him-under-her-voice// geometry has been working on her for the last fifteen seconds.</p>
<<if $kinks.jess.includes("brat") or $kinks.jess.includes("band")>>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-punk-dalegarage.webp" alt="Dim garage workshop lamp glow. A 21 year old woman with dark purple and black dyed hair, nose stud, lip stud and bridge piercing, sleeveless black band tee pushed up, standing with feet planted wide in an auto-shop garage, her jeans and underwear pulled down to mid-thigh, her right hand between her legs with two fingers on her bare clit masturbating, left hand braced on a workbench behind her, small cruel focused expression, eyes directed downward toward the floor, workshop tools on a pegboard and a battered thrift-store couch visible in the background frame">
<</if>>
<<if $kinks.jess.includes("brat")>>
<p>She works herself slow at first. Two fingers circling her clit, bare skin, the pads of her fingers already slick with her own wetness. Her voice stays flat. She is answering the lunch speech line by line the way she should have answered it at the table.</p>
<<say "char-jess" "Jess">>
<i>(to the sleeping man, low, a steady stream, the brat register surgical)</i> I look //ridiculous//. Okay. I look ridiculous to //you//, and not to Kade, and not to Sean or to Dev. I walked into the Slaughterhouse green room in this exact kit and nobody looked at me the way you looked at me across the kitchen counter, they looked at me like the bass player had shown up. //Because she had.// I'm //asking people to stare//, sure, Dad, I'm asking the people I play for to stare, because that is what a person on a stage is fucking //for//.
<</say>>
<p>Her fingers slide lower, parting her lips, gathering wetness and bringing it back up. She is soaked. The sneering-is-foreplay wiring she has been reinforcing for a while now is firing hot on the lunch-replay, every criticism he made at the counter arriving back at her body as a separate spike.</p>
<<say "char-jess" "Jess">>
<i>(fingers working, her hips starting to rock into her own hand)</i> The //face thing between my eyebrows// is a bridge piercing. Forty dollars. The //lip thing// is a lip stud, same week, same tin. The //hair// cost me a hundred and eighty because I did the purple-and-black myself and had to buy the bleach twice. You want to know where the money came from? The money I've been handing Mom //for years// to help out with the house. She never once said thank you. Not //once//, Dad. So I decided to use it on myself, for once. Everything you think is //ridiculous// I paid for out of the part of my savings Mom's been pocketing in silence. You're //correct// that you don't want to know. You just don't get to //call it ridiculous// without knowing what it //cost// me.
<</say>>
<p>Two fingers are inside her now. The other hand grips the edge of the workbench behind her for leverage. Her hips are rocking steady. The monologue has dropped into a breathier register but the //flatness// is intact, she is not moaning, she is //delivering//.</p>
<</if>>
<<if $kinks.jess.includes("band")>>
<<if $kinks.jess.includes("brat")>>
<p>The brat circuit has built the base layer. The band circuit adds the second coat. Without taking her right hand out of her jeans, she reaches left to the workbench and taps her phone open. Scrolls. Taps play.</p>
<<else>>
<p>She reaches left to the workbench without taking her right hand out of her jeans. Taps her phone open. Scrolls. Taps play.</p>
<</if>>
<p>Sean's rough mix from last Thursday's show comes out of the tinny phone speaker at low volume. The bass guitar is Kira's but the bass line is one Jess has been playing by ear on her bedroom Precision for a month. The third verse is coming up.</p>
<<say "char-jess" "Jess">>
<i>(breath starting to catch, the band-kink circuit laid over the brat-kink substrate)</i> Also this? This //noise//? You said at dinner I was //wasting// my time, and you meant it, you weren't even looking at me when you said it. This is the noise. These are the people. That's Kade, and that's the song he //writes at me//, and the third verse lands at bar twelve, Dad, and you're gonna hear it. You're not gonna wake up for it. You're just gonna be //in the room// for it, for once in your fucking life.
<</say>>
<p>Kade's voice hits the speaker. Jess's fingers lock to the cadence of the vocal, she has rehearsed this on the bedroom ceiling and in the shower and at her desk, but never in this specific room. The //forbidden cross-reference//, her father unconscious on the couch behind her while the band's lead singer performs through a tinny phone while she masturbates in the space Dale reserved for his own DIY sessions, is a variable her body catalogues the way an electrical engineer catalogues a cleanly-firing circuit.</p>
<</if>>
<<if $kinks.jess.includes("brat") or $kinks.jess.includes("band")>>
<p>The orgasm is already on her by the time she realises she is not going to be able to control how it lands. The climb is fast, two fingers inside, thumb on her clit, the voice still steady on the outside and her breath coming shorter on the inside. She looks down at her sleeping father on the couch at her feet, the man who called her ridiculous at 2 PM, the man who has no capacity to look up at her right now, and the brat-and-bridge circuit closes into one coordinated finish.</p>
<p>She comes //hard//, standing, legs locked, and her body, trained by saturation into fluid-production her waking mind has not fully mapped yet, //squirts//.</p>
<p>A visible arc, short and forward, from between her fingers onto the sleeping man below. It lands on Dale's jaw, his chin, the side of his neck, the collar of his navy polo, a darker line down the front of his chest. Her hips are still locked through the second pulse. The second pulse lands lower, across his work pants, his thigh, a stain he will walk around with until he undresses for night shift without ever identifying the source.</p>
<p>She gasps once, through her teeth. Not loud. Dale does not wake. His breathing hitches the specific half-second a deeply sleeping man's breathing hitches when a warm wet sensation lands on his face, registers the wet as //rain through an open window//, and smooths back into sleep before the cortex gets involved.</p>
<<say "char-jess" "Jess">>
<i>(still catching her breath, hand still in her underwear, staring down at what she has just done)</i> ...huh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She did not know her body did that. The squirting reflex is a compound-augmented response, pelvic muscles remodelled by saturation, Skene's gland production scaled past baseline, and this is the first time she has produced enough to arc. She is standing in the garage //testing// a capability she did not know she had and //finding// it, during a climax she calibrated against a specific remembered insult. //She will remember this discovery faster than she will remember the insult.////
//Secondary payload: Dale absorbed roughly eight millilitres through the skin of his neck and jaw and a further unknown quantity through the polo he is wearing to his shift at ten. The compound saturation is //his// dose now. He will sweat through that polo between midnight and three AM. The saturation will reach Karen on the laundry sort. //The criticism he made at lunch has been structurally answered by the circuitry his own conditioning is running//, and she did not have to say anything at lunch at all. She //saved// the answer for here.//
<</say>>
<</if>>
<<if not $kinks.jess.includes("brat") and not $kinks.jess.includes("band")>>
<p>She stands over him for a long moment. The full kit catches the workshop lamp. Her hand does not leave her pocket. Dale does not wake. She is testing the specific //being the new version of herself in the space the old version would never have stood still in// feeling, and her body runs slow warmth through her spine that is not quite arousal but is adjacent to it. She does not finish. She does not need to. The //being here// was the test. The test passed.</p>
<</if>>
<<if $kinks.jess.includes("brat") or $kinks.jess.includes("band")>>
<p>She wipes her right hand on a shop towel from the workbench. Does not wipe Dale. Buttons her jeans. Looks at him one more time, the wet on his collar, his jaw, the stain down his thigh, and leaves him that way. He will feel clammy when he wakes. He will blame the garage couch. He will not mention it to Karen.</p>
<p>She walks back inside. Goes upstairs. Sits at her desk. Uncaps the Sharpie. Writes one line under the //he gets one// from earlier: //he got one. unexpected capability discovered. logging.//</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She used her father as a //test environment// for the ritual she has built. He did not wake. The session survived the exposure. The test was successful. She will use the garage couch again. She will eventually, when the band route matures, bring Kade here, physically, and fuck him on this couch with her father asleep on the other side of the wall, because the //forbidden context// variable scales further with a real-body witness, and she is already designing the logistics.//
<</say>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "the persona tested in family space">>
<<conditioningFeedback "psionic" 1 "proof of concept: the household will not notice">>
<<addBiomass 2>>
<p><span class="delve-intel">Jess Punk: the garage test run. Jess confirmed her new identity can operate in the family's physical space without the family noticing. The proof of concept opens every Hoffman-house surface for future operations.</span></p>
</div><div class="household-event">
<div class="passage-title">The Apology Protocol</div>
<p>Thursday, 4:12 PM. Dale is on the garage couch, asleep, the specific unconscious-sprawl of a man who came inside from the truck, sat down for two minutes, and did not wake up. The dog is on the rug by his foot. The workshop lamp is on. The garage smells like motor oil and the old couch.</p>
<p>Jess comes down the garage stairs in her study clothes, grey sweatpants, a faded long-sleeve under a loose cardigan, the reading glasses still on, the mechanical pencil still tucked into the collar of her sweater where she put it when she got up from her desk. She has not been down here in a long while, and she is not sure she has ever come down with the intention she has now, and she is not sure the intention has a name.</p>
<<say "char-dale" "Dale">>
<i>(remembered, over the sink at the kitchen counter two hours ago, his voice not raised but flat in the way that hurt more than raised)</i> Jess. I got a letter from the bursar. You missed the histology midterm. That's the second midterm this term. What are we doing. What are //you// doing. Your mother and I are, we're working //extra shifts// to cover this semester. I don't want to hear about plans. I want to hear you //going// to the exams. That is the entire ask.
<</say>>
<p>She had said nothing. She had taken the hit at the table with her hand around a glass of water and her jaw held in the specific locked position she used for oral exams she was not prepared for. Karen had been on a call in the next room, heard nothing, missed it. Jess had waited for Dale to turn his back. Then she had watched him walk out to the garage. Then she had gone upstairs and sat at her desk for forty minutes with the histology textbook open and not turned a single page, and she had written one line across the corner of the page in tidy ballpoint: //make it up.//</p>
<p>She does not remember getting up from the desk. She does not remember walking down the hall. She does not remember the garage stairs. She is just //here// now, at the couch, looking down at her father. The conditioning has installed a reflex and the reflex has installed a destination and the destination is this couch and she does not yet have the vocabulary for what she intends to offer here that will count as //making it up//, but the body has already decided.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the sleeping man, the voice she uses to read answers off a flashcard she is not confident about)</i> ...I missed the histology midterm. I know. I'm sorry. I'm gonna make it up, Dad. I'm... I can make it up.
<</say>>
<p>She kneels on the garage floor next to the couch. Puts one hand on his knee, the pressure of it clinical, the way she once held a cadaver's knee in the first-year anatomy lab. The other hand reaches for the fly of his work pants.</p>
<p>Dale stirs. The specific shallow-surface wake of a man whose body has not had enough rest to anchor him under, his eyelids flicker, his breath changes, he registers a hand at his fly before he registers whose hand, or which room.</p>
<<say "char-dale" "Dale">>
<i>(drowsy, voice catching on the edge of sleep, not fully processing)</i> ...Karen? What are you, what...
<</say>>
<p>She does not correct him. She looks up from the floor, reading glasses sliding down her nose, her face shame-flat and very close. Dale's eyes take a second to focus. When they do, he sees his daughter kneeling at the couch with her hand on his zipper and a pre-med-student's apologetic steadiness in the line of her mouth. He does not recoil. He cannot. The pheromone saturation has filed //Jess-too-close-to-my-body// under the same acceptable-category the conditioning filed //Karen-too-close-to-my-body// weeks ago, and Dale's cortex has never been given the chance to revisit the filing.</p>
<<say "char-jess" "Jess">>
<i>(quiet, flat, the voice she uses to read answers off a flashcard she is not confident about)</i> Stand up, Dad.
<</say>>
<p>He stands. Not because he processes the instruction, because the conditioning has trained his body to move when a female Hoffman in the house tells his body to move, and he is too depleted to put a word between stimulus and compliance. He sways once on his feet. Jess stays kneeling. Her hands finish what they started, the fly, the belt loop, the waistband of his briefs pushed down.</p>
<<if $kinks.jess.includes("degradation") or $kinks.jess.includes("voyeurism")>>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-breakdown-dalegarage.webp" alt="Dim garage workshop lamp glow. A 21 year old brunette woman in grey sweatpants, a loose cardigan, and thin-rimmed reading glasses sliding down her nose, kneeling on the concrete garage floor in front of a middle-aged man standing drowsy beside a battered thrift-store couch, her hand wrapped around the base of his soft cock, her mouth about to close around the head, shame-flat expression, no tattoos">
<</if>>
<p>She takes him into her mouth. Soft, warm, heavy against her tongue. Her conditioning runs the sequence without asking her: thumb along the underside, fingers curled around the base, slow pressure up and down. He hardens against her tongue inside of forty seconds. The saturation does what her conscious effort could not, Dale's body responding to the oral contact with the autonomic reflex the conditioning has installed, and she does not have to work hard to bring him up. Her reading glasses slide further down her nose, and she does not push them back up.</p>
<<if $kinks.jess.includes("degradation")>>
<p>The self-blame circuit catches the moment and spreads a thin layer of self-humiliation over the whole sequence, her clinical mind narrating what she is doing in the same register she uses to narrate a failed practical.</p>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, looking up at him without meeting his eyes, the self-assessment register leaking through)</i> I'm a bad daughter. I'm failing pre-med. I missed the histology midterm and I skipped the lab write-up and I haven't opened the textbook for the renal chapter in four days. But this is what I'm //good// at. I can complete this task in six minutes. I can make this up to you. I'm sorry, Dad. I'm sorry for the midterm. I'm gonna be better.
<</say>>
<p>Dale sways above her. Not responding. He is hearing the words through the sleep still layered over him, and his brain is filing the monologue under //one of Jess's study panics, tell her it's fine later//, which is the exact filing he has used for every pre-med breakdown of hers since freshman year. He will not remember she said any of this. Jess is counting on that without being aware she is counting on it.</p>
<<say "char-jess" "Jess">>
<i>(muffled, around his cock, steady downstrokes)</i> //Mmh. Mmh. I'm sorry. I'll do better. Mmh.//
<</say>>
<<else>>
<p>She sucks him steady, her mind somewhere else, still at the kitchen counter, still in the histology lecture hall she has not walked into in a while, still at her desk with the textbook she could not read. The oral task is the only task in the present tense she can complete, and the rest are in future tense or past tense, and both tenses hurt.</p>
<p>Dale sways above her in a way that is not arousal, it is exhaustion barely held together by the one compound signal his body is still processing. His eyes have already half-closed again. His hand finds the arm of the couch behind him without looking, to keep himself upright.</p>
<</if>>
<p>Somewhere around the four-minute mark Dale's breathing changes. Short uneven hitches. His hand tightens on the arm of the couch behind him. His hips give two small involuntary pushes forward into her mouth that he is too far under to control. The orgasm is building in him without his cortex participating, the conditioning is running a reflex in a body whose mind is barely present to witness it.</p>
<<say "char-dale" "Dale">>
<i>(drowsy, voice cracking on the tail of a breath, eyes still half-closed)</i> ...I'm... I'm gonna...
<</say>>
<p>Jess pulls off at the last half-second. She knows the signs, her taste-map and her rhythm-map have converged on this specific pre-climax pattern enough times in this house to call it. She tilts her face up. Opens her mouth. Tongue flat. The conditioning has trained her into a //receptive// posture for the last second that used to feel like //avoiding a mess// back when any of this felt like anything.</p>
<p>Dale comes in three long pulses. His hand is still on the couch. His eyes are shut. The first pulse lands across her cheekbone and the bridge of her nose, the second onto her lower lip and her chin, the third, weaker, onto her tongue and the collar of her cardigan. She keeps her mouth open until the contractions stop. She does not flinch. She catalogues the volume and files it.</p>
<p>Dale's legs give. He does not fall, he //lowers// himself back down onto the couch in one slow controlled collapse, his softening cock slipping out of her hand as he goes, the shallow-wake fading back under the exhaustion the moment his spine meets the cushion. He is out again before his head touches the armrest. His breathing drops to the slow regular rhythm of a man whose body has burned through the last of its borrowed awareness. He will wake up in two hours and not remember any of this happened.</p>
<<if $kinks.jess.includes("degradation")>>
<p>Jess stays kneeling on the concrete. She does not get up. Her fingers come up to her own face, slow, curious, clinical. She catches a drop of cum on the pad of her index finger from the curve of her chin, holds it up to the workshop lamp, watches it. Spreads it between her thumb and her fingertip. Then, because the self-blame circuit is running the narration and the self-blame circuit has a mean streak, she paints the drop along her own lower lip in a glossy wet line, like someone applying a bad drugstore lipstick badly.</p>
<<say "char-jess" "Jess">>
<i>(to nobody, to the garage, to the sleeping man behind her, quiet and flat, the shame register stripped down to its bones)</i> ...look at you. Look at what you are on the floor right now, Jess. The girl who was gonna be a surgeon. Kneeling in her dad's garage with a mouthful of her dad's cum because she //fucked up a histology midterm//. What a fucking waste of potential. You don't even get to //cry// about it. You're the one who chose this. You asked for this. You're //kneeling for it//.
<</say>>
<p>She catches another streak on her middle finger, from her cheekbone this time, brings it to her mouth, sucks it off her own finger slow, like she is checking whether the taste is the same as the taste-map she has been building. It is. She swallows. The shame-spike lands in her pussy as a specific pulse, distinct from the arousal, feeding it, and the degradation circuit fires clean.</p>
<<say "char-jess" "Jess">>
<i>(licking her thumb, the mean voice continuing, quieter)</i> Good girl. Bad student. Good girl. Bad student. Good //girl//. Pick one, Jess. Pick the one that's still on the menu.
<</say>>
<<else>>
<p>Jess stays kneeling on the concrete. She does not get up. Her fingers come up to her face slowly, the cum is warm on her cheekbone, cooling on her chin, a wet line drying on her lower lip, and she catalogues where each landing hit without wiping any of it off. The inventory feels important to her in a way she does not have a word for.</p>
<</if>>
<p>Her own arousal has not resolved. It has been building under the sweatpants the whole time, the oral task completion feeding her nervous system, the cum-on-face beat spiking her circuits in ways she will not admit to, the //he-is-unconscious-and-I-am-the-only-one-in-this-room// geometry pressing on her clit through the cotton, and it is specific and insistent and she needs to finish.</p>
<p>She cannot finish.</p>
<p>Her hand starts to move toward the waistband of her sweatpants and stops halfway there. The apology-frame she imposed on this scene when she walked down the garage stairs does not //permit// her own resolution. This was //for Dad//. This was //making it up//. The ledger only balances if she does not take anything for herself out of the act, and her breakdown-register discipline, the part of her that survives finals week on three hours of sleep and no complaints, is the part enforcing the rule. She cannot touch herself. Not here. Not on the floor next to him. Not in the same room as the ledger entry she just made.</p>
<p>She kneels there anyway for a long minute. Soaked. Shaking. Her body begging for resolution the apology-frame will not let her hand deliver. Cum cooling on her face. Dale's breathing steady behind her on the couch. The workshop lamp humming low. The dog's ear twitching once against the rug.</p>
<<say "char-hivemind" "Hivemind">>
//Her own clit is throbbing against the seam of her sweatpants and her own hand is trained not to resolve it. The apology has to cost her something to count as an apology. If the apology also made her come, it would be for her, and the ledger would be void. So she stays there horny and stuck and lets it be the price. The discipline that was built for an eighteen-hour anatomy lab is now building her a cage around her own hand.//
//The self-blame circuit rerouted the exam failure into a service the exam grader cannot accept as payment. She believes she has made it up. She has not. The histology midterm is still a zero. What she has made up is a compound dose Dale will carry into his night shift, and a denial loop she will carry for the rest of the evening. She will get up from the floor and walk upstairs and sit at her desk and not touch herself while she pretends to read.//
<</say>>
<p>She stands. Her legs are weak. Her sweatpants are still pulled up, she never pushed them down. She wipes the cum off her face with the inside of her cardigan sleeve, slowly, not all of it, the trace on her cheekbone left behind on purpose for reasons she does not examine. Tucks Dale's softening cock back inside his work pants and zips him up. Takes a shop towel off the workbench, folds it, places it on the couch under where his pelvis was. Looks at his face for one more second, the face that criticised her at lunch and does not know what his body just did.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the sleeping man, voice hollow)</i> ...I'll do better.
<</say>>
<p>She climbs the stairs back to her room. Sits at her desk. Opens the histology textbook. Reads the same page three times. Retains nothing. Writes one line under the //make it up// from earlier: //made it up. will try for the next one too.// She does not clarify, even to herself, what //it// refers to, or which of the two meanings of //make it up// her pencil has just committed to the page.</p>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "jess" "dream" 1>>
<<addConditioning "dale" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Jess, apology-as-service reflex installed">>
<<conditioningFeedback "dream" 1 "Jess, dream-residue on an act she cannot name">>
<<conditioningFeedback "pheromone" 1 "Dale, unconscious compound loop via ejaculation">>
<<addBiomass 3>>
<p><span class="delve-intel">Jess Breakdown: the apology protocol. Exam failure rerouted through oral service as compensation, with her own arousal denied as the price of the ledger balancing. Dale was half-awake for the act, will remember none of it, and will carry the compound dose into his night shift. Jess has filed the event under //making up a missed deadline// and will repeat the pattern after the next academic failure.</span></p>
[[Continue->Ch2-Beast-Rest]]
</div>/* ============================================================
STATUS: TO REWORK — DO NOT FIRE IN BUILDS
Disabled at the registry level (widget-household-events.twee,
he_sistersSlutPunkClient condition returns false).
Scope issue: event puts Jess on the paid-work axis — she gets
90% of the sister-package upcharge, negotiates the rate with
Megan, and is framed as a profiting member of an escort
operation. This conflicts with the canon rule that Jess is not
on the slut path and is not paid for sex — Megan alone carries
that axis.
Other continuity issues:
- alt text says "septum ring" — Jess canon is nose stud only.
- three-body Lustify composition landed poorly; would need
tag-first rework and likely a different framing.
Rework direction (rough): either (a) scrap entirely and build
a different Sisters-Slut-Punk combo that doesn't involve a
paying client at all — sisters colliding on something non-
transactional — or (b) keep the client but decouple Jess from
the money entirely: she's there because she wants to watch /
dismantle / punish a paying man, not because she's getting cut
in. Decide before re-enabling.
Prose preserved below as design reference. Do not regenerate
images until the rescope lands.
============================================================ */
<div class="household-event">
<div class="passage-title">Family Business, Thursday Rate</div>
<img class="scene-img" src="media/scenes/he-sisters-slutpunk-client.webp" alt="Megan's bedroom, evening — a client on the edge of the bed between two sisters, Megan in the silk robe running the session, Jess in full punk identity (purple-and-black hair, septum ring, choker, band tee) on the other side of the bed, the two different sexualities in the room operating as a coordinated two-woman team">
<p>Thursday, 11:03 PM. The client is a man named Damon, a Thursday regular of Megan's who paid extra this week to be //booked with the sister//. Megan negotiated the rate with Jess earlier in the kitchen at 2 AM. The rate is double Megan's standard, ninety percent of which goes to Jess. Megan handles logistics. Jess shows up.</p>
<p>Damon is on the edge of Megan's bed. His cash is on the dresser. His shoes are on the rack downstairs. He understands the rules, he has paid for the sister-package and he has read the rules Megan texted him earlier, and the rules are non-negotiable.</p>
<p>Megan comes in first, in the silk robe. Sits on the bed beside him. One hand on his thigh.</p>
<<say "char-megan" "Megan">>
<i>(the low back-office voice, the one that tells clients how the session runs)</i> She'll be in in a minute. You don't ask her name unless she gives it. You don't ask her about school. You don't ask her about //me//. She runs her own track and I run mine. She leaves when I tell her to leave. Okay?
<</say>>
<<say "char-npc" "Damon">>
<i>(already hard, already nodding)</i> Okay. Yeah. Okay.
<</say>>
<p>Jess comes in as Jess. Purple-and-black hair loose down her back, septum ring, silver lip stud, black choker, ripped band tee, denim shorts, boots. She does not introduce herself. She walks to the edge of the bed on Damon's other side and looks him over once with the specific clinical appraisal she has been bringing to clients since the morning the arrangement was struck.</p>
<<say "char-jess" "Jess">>
<i>(flat, looking at Damon, voice the punk-clinical register she does not bother to soften for paying customers)</i> Meg said you were interesting. You're not. But your money is, so.
<</say>>
<img class="scene-img" src="media/scenes/he-sisters-slutpunk-client-2.webp" alt="Two sisters working a single client in coordinated choreography — Megan's mouth on the client's cock, Jess straddling the client from above with her hand in his hair, his hands one on each woman, the configuration running like a well-rehearsed shift">
<p>They work him together. Megan's mouth on Damon's cock. Jess straddling his chest from above, her weight on his ribs, his face inches from her thighs.</p>
<<say "char-jess" "Jess">>
<i>(at Damon's ear from above, voice flat, the same surgical TA-register she uses on professors and mothers)</i> So look at you. You're paying double for this, you <b>FUCKING</b> know that, right? You could have had Megan alone for half. You decided you wanted the punk-sister upcharge, which means somewhere in your head you decided you needed //extra// to get off, which means baseline Megan wasn't <b>FUCKING</b> enough for you anymore, which means we are now in the part of your <b>SAD LITTLE</b> evening where you have to perform //gratitude// for getting both of us. You're going to come inside her in under two minutes, you <b>USELESS DICKHEAD</b>, and I'm going to be //watching// when it happens, and I want you to know, every time you jerk off to the memory of this for the next year, that I was //bored//.
<</say>>
<p>Megan's rhythm doesn't break. Damon's hand finds Jess's thigh and grips, knuckles white, his face going the specific red of a man whose body is responding to the verbal abuse faster than his brain can authorise it. Jess does not flinch. She watches him with the same flat professional interest she once used to watch a cardiac patient on a teaching ward.</p>
<p>They rotate. Megan straddles Damon. Jess slides down beside his head, propped on one elbow, narrating the session the way a commentator narrates a match.</p>
<<say "char-jess" "Jess">>
<i>(low, conversational, two inches from his ear)</i> There she goes. Look at her, taking you. You should feel <b>FUCKING</b> lucky, you know that, she doesn't ride everyone. She rides clients who //pay//, and you're paying, so technically you've earned this, but I want you to be honest with yourself for one second: do you think she'd be doing this if she had any other option, you <b>SAD WET LUMP</b>? She's gonna squeeze and you're going to come before she does, and we both know it, and after you finish she's going to wipe you off her thighs with a paper towel from the dresser she bought specifically for clients who finish early. You see that towel roll? She bought it //for you//. You're its //customer//.
<</say>>
<p>Damon lasts two minutes. Jess's narration tips him over at the one-minute mark and he holds for one more out of pride, and then he comes inside Megan and Megan lets him. Jess keeps narrating through the spurts, //there, that's it, all over now, breathe out, you did it, congratulations on your contribution to the family business//, and Damon's body convulses through it the way a body convulses when it is being //read// while it climaxes.</p>
<p>Megan signals the stop. Jess slides off the bed without looking at him. Damon dresses faster than he would have liked anyone to see, the speed of a man trying to get out of the room before his post-orgasm clarity catches up to what he just paid for and got. He leaves extra on the dresser, not a negotiation, a //tip//, the specific additional payment a man makes when he feels he has been //gifted// something rather than sold something. Megan counts the tip. Splits it with Jess. Megan walks Damon to the front door downstairs.</p>
<p>Jess does not get up. She lies back against the headboard, naked except for the choker and the open band tee, lights a cigarette from the pack in her shorts on the nightstand, and exhales toward the ceiling. The sheet is rumpled around her hips. The room smells like sex and the candle Megan lit before the session and now, faintly, like Jess's tobacco.</p>
<img class="scene-img" src="media/scenes/he-sisters-slutpunk-client-3.webp" alt="Megan's bedroom after the client has left, Jess reclined against the headboard naked except for a black choker and an open ripped band tee, purple-and-black hair messed back away from her face, a lit cigarette held between two fingers and a thin trail of smoke rising, the rumpled sheet around her hips, a small smug satisfied smirk, the empty bed beside her where the client and Megan worked, warm dim post-sex lamp light">
<p>Megan comes back upstairs with two glasses of water. Sees Jess. Does not comment on the cigarette. Sets one of the waters on the nightstand, sits on the foot of the bed with her own, and the two sisters drink in the specific shared silence of two coworkers who have just finished a clean shift.</p>
<<say "char-hivemind" "Hivemind">>
//Two sisters, one client, one bedroom, one perfectly calibrated five-minute session that ended faster than the man who paid for it expected and faster than he is going to admit to himself in the car on the way home. The family has produced a small specialised escort operation in which the product offered is //Megan delivering the sex and Jess delivering the verbal dismantling that makes the sex finish twice as fast//. The customer paid extra. The tip was a further seventy dollars, not because the service was longer, but because it was //shorter//, and shorter-than-expected reads to him as //she made me come faster than I usually do//. The Thursday-sister-package is now a recurring premium service. The shorter Damon's sessions get, the more he will pay.//
//Karen will find the empty water bottles in the recycling tomorrow morning. Karen will compliment the girls on how //close// they are.//
<</say>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "sister-package service launched">>
<<addBiomass 4>>
<p><span class="delve-intel">Sisters (Slut + Punk): the two-sister premium service has been tested successfully. A single Thursday client paid for and received a coordinated two-woman session. Recurring tier: sisters-bundle.</span></p>
</div>
/* ============================================================
Jess Punk Anarchy chain — Karen-vs-Jess household escalation
Event 1 (tier 2, household event, one-time): Ch2-HE-Jess-Anarchy-1
Event 2 (tier 3, observation link in Ch2-JessRoom): Ch2-NSFW-Jess-Anarchy-2
Event 3 (tier 3, household event, repeatable 3-day cooldown): Ch2-HE-Jess-Anarchy-3
Gates and registry entries live in widget-household-events.twee.
============================================================ */<<nobr>><<bg "bg-hoffman-livingroom">>
<<set $houseEvents.he_jessAnarchy1 to true>><</nobr>>
<div class="household-event">
<div class="passage-title">The Couch</div>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-1.webp" alt="Jess on the Hoffman living-room couch at 12:14 AM, a black long-sleeved top pulled off her shoulders to bare her small breasts, nude from the waist down, bare legs spread across the cushions, one hand resting between her open thighs, a lit cigarette held between her lips with a thin trail of smoke rising, dim room, purple-and-black hair loose, the flat private concentration of a woman who is alone and has stopped performing for anyone">
<p>12:14 AM. Living room. Dale is at the security booth at BioGenesis, three hours into an eight-hour shift, and Karen is asleep upstairs on the Zolpidem she takes the nights Dale is out. The house has been quiet for forty minutes, and Jess has been measuring the quiet the way a person measures water depth before they step into it.</p>
<p>She has the TV on at volume three, which she has tested from the kitchen, from the hallway, and from the foot of the stairs, three is audible on the couch, inaudible on the upstairs landing, and one tick below anything a sleeping woman would register through the closed bedroom door. The video is amateur, shot on a phone, the specific low-budget category that has climbed the bracket of her taste lately, and it is playing on the living-room television she sat in front of for bedtime cartoons a decade ago.</p>
<p>She is on the couch in a black long-sleeved top pulled down off her shoulders to bare her breasts and bunched at her hips, naked from the waist down, bare legs spread the full length of the cushions. The beer is a pale domestic thing she bought with cash from the envelope she saved from her summer job the year before, the six-pack hidden behind the cleaning supplies in her closet, four of the bottles still there and one of them on the coffee table in front of her. The cigarette is one of the half-pack she has been hiding in her desk drawer, lit now, held between her lips, a thin trail of smoke rising past her cheekbone. Her hand is between her thighs, two fingers doing the specific slow pattern she has been drilling since the bass-practice method tipped over into sexual practice.</p>
<p>On the TV a woman she has never met and will never meet is being fucked in a cluttered apartment by a man holding the phone in one hand, and Jess is watching with the flat appraising attention of a woman studying a technique she might want to add to her own repertoire. Her breathing has slowed. The edge is close. The room smells like cheap beer and the cigarette and the specific undernote of her own arousal she has learned to identify.</p>
<p>A floorboard on the upstairs landing creaks. Then the top step. Then the next.</p>
<p>Jess does not move. Jess makes a calculation, mute the TV, spit out the cigarette, pull the top back up, hide the bottle, and rejects all of it. The cigarette stays between her lips. The bottle stays on the coffee table. The hand between her thighs stays where it is, though it stops moving.</p>
<p>Karen appears in the doorway between the living room and the kitchen in the cream silk slip she sleeps in when Dale is on shift, hair loose around her shoulders, face the specific blurred-awake of a woman who was all the way under and has surfaced only partly. She sees the TV first, the glow and the sound, the specific wet rhythm of what is playing, and she sees her daughter second, and it takes her a full second to reconcile the two inputs into one scene.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-1b.webp" alt="Over Jess's shoulder in silhouette with a beer bottle in her hand: Karen framed in the doorway between the living room and the kitchen, in a cream silk slip nightdress, hair loose around her shoulders, the warm yellow lamplight of the kitchen behind her, her face in the stopped concerned second of a woman who has just walked in on something she does not know how to itemise yet">
<<say "char-karen" "Karen">>
<i>(quiet, because she does not have the volume yet, itemising what she is seeing)</i> ...Jessica. <b>You are smoking in my living room.</b> You are drinking <b>alcohol</b> on my couch. You have my television playing... whatever <b>this</b> is, at...
<</say>>
<p>Karen reaches for the remote on the end table. Cannot find it, because Jess has it, pinned under her thigh. Karen's hand stays open in the air for a second longer than she means it to, and then closes and returns to her side.</p>
<<say "char-karen" "Karen">>
<i>(the list, because Karen resorts to lists the way other mothers resort to shouting)</i> The cigarette. Put it out. The beer, how did you even get that in the house. The television. You will lower the volume, and you will <b>turn that off</b>, and you will <b>remove your hand</b> from...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, factual, not moving, the cigarette held between two fingers at eye height)</i> I'm twenty-one, the cigarettes are mine and I bought them at the gas station on Elm, the beer is from the six-pack I bought with my own money I saved last summer when I was working at the clinic, the TV is at volume three and the room is empty except for me and you, and the hand is attached to a body that's been mine for twenty-one years and I don't actually need you to sign off on what I do with it while everyone else in the house is asleep.
<</say>>
<p>Karen opens her mouth. Closes it. Opens it again. Runs out of material the way a prosecutor runs out of material when the defendant concedes every factual point and then refuses to be ashamed of any of them. Jess has just given her six clean factual rebuttals in one breath, and Karen has nowhere to go with them because Karen's authority in this house has always been built on the scaffolding of Jess caring about being a good daughter, and the scaffolding is visibly no longer there.</p>
<<say "char-karen" "Karen">>
<i>(quieter, because loud would require reaching for something she no longer has)</i> ...you <b>will</b> put that cigarette out. You <b>will</b> turn off that television. We are going to talk about this in the morning.
<</say>>
<p>Jess looks at her mother for a long count and then looks back at the screen, and in Karen's peripheral vision she watches her own daughter pluck the cigarette from between her lips and stub it out on the edge of the ceramic plate, pull the long-sleeved top up onto her shoulders with the same unhurried motion, and stand up from the couch bare-assed with the fabric bunched around her waist. Jess picks up the beer bottle by the neck. Crosses the rug in her bare feet. Stops at the foot of the stairs, two feet from her mother. She raises both middle fingers at Karen's face. Holds them there for three full seconds, the way a woman holds a pose for a camera. Turns. Walks up the stairs past Karen's shoulder with the beer bottle still in her hand and the top still riding up at the back.</p>
<p>The bedroom door closes. The lock turns, a sound Karen has not heard from that door in any of the years her daughter has slept behind it, and the sound of the lock turning is the single loudest thing in the house.</p>
<p>Karen stands in the doorway in the silk slip for a long time. She eventually picks up the remote from the couch cushion, switches off the television, wraps the ceramic plate and its one dead cigarette in a dishtowel from the kitchen, and carries it to the outside trash through the side door. She does not wake Dale when he gets home. She does not bring it up at breakfast. She does not bring it up at all.</p>
<p>Upstairs, behind the lock, Jess sits on the edge of the bed with one hand between her legs and cannot finish. The build is gone. The beer is sitting warm on the nightstand. Her hand moves in the pattern her body would have finished to ten minutes ago, and her body refuses, the confrontation has dumped enough adrenaline into her bloodstream that the arousal pathway cannot reach the end of itself. She stops trying. Sits there with her fingers still wet and her heart rate slowly coming down. The orgasm is owed to her. Karen has taken it. It will be collected.</p>
<<say "char-hivemind" "Hivemind">>
//She has just discovered that Karen cannot enforce. The discovery will not unmake itself. Tomorrow Karen will act as though tonight did not happen, and Jess will act as though tonight is the only thing that has ever happened in this house, and the asymmetry is the handle that every future argument is going to be picked up by. The body upstairs is owed an orgasm. The body upstairs has opened a ledger. I have watched the ledger open and have elected not to close it, this one is better left running.//
<</say>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "spite-aborted arousal still leaked compound">>
<<conditioningFeedback "psionic" 1 "Karen's authority has been tested and found empty">>
<<addBiomass 2>>
<p><span class="delve-intel">Jess Anarchy I: the first open confrontation. Karen cannot enforce house rules against the new Jess. The encounter ended with a locked bedroom door and a ruined orgasm. The ledger is open.</span></p>
</div><<nobr>><<bg "bg-hoffman-diningroom">>
<<set $permanentDone.jessAnarchy2 to true>><</nobr>>
<div class="household-event">
<div class="passage-title">Under the Table</div>
<p>Afternoon. Dining room. The blinds are half-closed against the west sun and the room is striped with soft bars of light across the table and across the runner Karen bought the summer before. Two coffees are on the table, Karen's mug and a matching mug Karen retrieved from the cabinet without asking, and a third cup Jess is nursing at the short end of the table.</p>
<p>The man in the chair beside her is the guy she brought home from the show the night before. He is someone's roommate's cousin, his first name is one syllable she mumbled at the door in the dark, his last name she did not catch, and he does not plan to be in the house by evening. He stayed the night in Jess's room on the floor mattress the guest room stopped using two years ago. Karen caught him on the upstairs landing at seven this morning and did not comment. Karen made coffee at nine and set a mug out for him and did not comment. Karen makes polite conversation with any man her daughter has brought home whose surname she has not been given, the polite conversation that is the controlled descent of a woman who refuses to fight a battle in front of a witness.</p>
<p>Karen sits at the head of the table in the cardigan she pulls on when a guest is in the house. Jess is at the short end in her band tee and yesterday's shorts. The man is on the long side in a borrowed t-shirt of Dale's Karen handed him without comment. They have been making conversation about nothing for twelve minutes, and the conversation has thinned to the point where Karen is considering a polite exit.</p>
<p>The doorbell.</p>
<<say "char-karen" "Karen">>
<i>(setting her mug down with the small resigned exhale of a woman who knows exactly who is at her door)</i> That'll be Doris. She <b>does this</b>. Excuse me a moment.
<</say>>
<p>Karen stands, pulls the cardigan closed, and walks out of the dining room toward the front hall. The front door opens, and from the dining room Jess and the guy can both hear Doris's voice launching before Karen has fully got the door open, the specific aggrieved cadence of a woman who has been rehearsing the opening of her complaint all the way across the lawn.</p>
<<say "char-henderson" "Doris">>
<i>(from the front step, already mid-sentence, the pitch of a woman who is not here to be answered)</i> Karen. <b>Karen</b>. The recycling pickup missed us again. Third Thursday in a row. Third. I've been writing down the dates because Gerald doesn't believe me, and I have them all in the little notebook, Karen.
<</say>>
<<say "char-karen" "Karen">>
<i>(politeness voice, the one that acknowledges without opening a channel)</i> Hi, Doris. I, yes, I noticed. I can give the company a...
<</say>>
<<say "char-henderson" "Doris">>
<i>(steamrolling)</i> And <b>the Andersons' bins</b>, Karen. In front of <b>my mailbox</b>. The third week. I am at a loss. I'm at a loss.
<</say>>
<p>Jess looks at the hallway. Counts three seconds of Doris. Makes the call.</p>
<<say "char-jess" "Jess">>
<i>(low, to the guy, the brat-appraisal register)</i> Doris takes a while. Push your chair back.
<</say>>
<p>He looks at her. Does not understand for half a second. Understands in the next half.</p>
<p>Jess slides off her chair in one motion and under the table, and on the carpet under the oak surface she is on her knees between his thighs before he has finished pushing the chair back. She pops the button on his borrowed jeans, unzips him, and he is already half hard from the ten minutes of table-flirt and from the fact of where they are. She takes his cock out in both hands, hefts it, gives him a long appraising look from below, and wraps her mouth around the head.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-2a.webp" alt="Low side angle under the oak dining table, Jess on her knees on the carpet between a seated man's thighs with his erect cock in her mouth, her hands at the base of his shaft and on his thigh, purple-and-black hair falling forward, the man cropped at the chest so only his lap and thighs are in frame, striped afternoon light across the scene">
<<say "char-npc" "Stranger">>
<i>(tight, under his breath, eyes on the hallway)</i> ...oh my god. Oh my fucking god, you can't, she's right...
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, hand still on his shaft, voice flat and very quiet, full brat register)</i> Shut the fuck up. I swear to god. One more sound and I stop. Do you <b>understand</b> me.
<</say>>
<p>He nods at the ceiling. Jess takes him back into her mouth.</p>
<p>The bass-practice methodology applies to the tempo. Doris's sentences are bars in the hallway, Doris's pauses are downbeats, and Jess times her head down the shaft to the rhythm of the complaint carrying down the corridor. She works him with the efficient rigour of a woman on a clock who knows exactly how many strokes a man of his build takes to finish and does not intend to waste a single one of them. His hands grip the edge of the table above her, he does not make sound, Jess does not make sound, and the only noise in the dining room is the soft wet rhythm of her mouth around him and, at a distance, the rise and fall of Doris at the front door.</p>
<<say "char-henderson" "Doris">>
<i>(working herself up)</i> ...and it's not just the bins, Karen. It's the <b>attitude</b>. Because when I raised it at the block party Helen looked at me like I was...
<</say>>
<<say "char-karen" "Karen">>
<i>(trying to land the conversation, trying to get back to the dining room)</i> Doris, that, that sounds very frustrating. Have you tried...
<</say>>
<<say "char-henderson" "Doris">>
<i>(right through the attempt)</i>, like <b>I</b> was the problem, Karen. And I want to be very clear. <b>I am not the problem</b>.
<</say>>
<p>Under the table Jess's tempo has not changed. Her left hand is at the base of his shaft, her right palm flat on the top of his thigh, her head moving in the slow measured half-stroke she has calibrated to keep him on the edge without tipping him. His knuckles are white on the table. He has stopped breathing in any way a person would call breathing.</p>
<<say "char-npc" "Stranger">>
<i>(strangled, whispered)</i> Fuck. Fuck, I'm close, I'm, oh god... I'm gonna...
<</say>>
<<say "char-jess" "Jess">>
<i>(around his cock, not pulling off, the specific muffled threat of a woman speaking through a mouthful of him)</i> //Mmh. Mmh.// Don't. You. <b>Fucking</b>. Talk.
<</say>>
<p>She gargles the words around his cock, a hum that vibrates the full length of him, and he makes a sound so small and strangled it is almost a laugh. She registers the tell in his breathing and sets the tempo to finish him, no faster, no slower, the same measured stroke applied with intent.</p>
<p>Out in the hallway the tone of the conversation shifts, Doris's voice softens from aggrieved to something quieter, and the specific register of a woman relating a piece of bad news about herself replaces the register of a woman complaining about someone else.</p>
<<say "char-henderson" "Doris">>
<i>(the quiet voice, the one she has been carrying all the way across the lawn and has only now arrived at the porch to put down)</i> Karen. I didn't mean to, the doctor called Gerald back. About the, about what we talked about in April. It's the one we were worried it was.
<</say>>
<<say "char-karen" "Karen">>
<i>(the de-escalation instinct catching, the cardigan-mom voice going warmer)</i> Oh. <b>Oh</b>, Doris. Oh, honey. I'm so sorry. I'm so sorry to hear that. You take care of yourself. Please.
<</say>>
<p>The front door clicks shut.</p>
<p>Jess has him at the peak and three seconds to finish. She commits. She pulls her mouth off him with a wet snap, wraps her right hand around the shaft, and pumps him twice, fast, efficient, and he comes on her face in three thick arcs, one across her cheek, one across her chin and her lip stud, one into her hair. He holds his breath the full duration. The hand on the table goes white at the knuckles.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-2b.webp" alt="Jess on her knees on the dining-room carpet, mouth open, three thick arcs of fresh cum across her cheek and her chin and into her purple-and-black hair, lip stud visible under the mess, her right hand still wrapped around a stranger's cock cropped out of the top of the frame, the lit-eyed satisfaction of a woman who beat a shot clock by a quarter of a second, striped afternoon light across her face">
<p>Karen's footsteps cross the hallway and reach the dining-room threshold.</p>
<p>Karen steps into the dining room with her mug in her right hand.</p>
<p>What Karen sees: the chair at the long side of the table pushed back; her daughter on her knees on the carpet under the table with a stranger's cum striped across her cheek and her chin and her hair; her daughter's right hand still wrapped around the stranger's still-twitching cock; the stranger frozen in the chair, white-knuckled on the edge of the table, his mouth open, his borrowed jeans around his knees; her daughter looking up at her with no expression on her face except the specific lit-eyed satisfaction of a woman who has beaten a shot clock by a quarter of a second.</p>
<p>Karen does not scream. Karen sets her coffee mug down on the table, quietly, in the exact coaster she had placed it on earlier. Karen looks at the man.</p>
<<say "char-karen" "Karen">>
<i>(quiet, flat, the itemised voice, eyes on him only, not on Jess)</i> Young man. Please leave the house. <b>Now</b>.
<</say>>
<p>He leaves. He stumbles to pull his jeans up, zips himself, stands, knocks the chair half over trying to get clear of the table, exits the dining room past Karen's shoulder without meeting her eye, crosses the hallway in three strides, and is out the front door in under ten seconds. He leaves his jacket on the back of his chair. He leaves his phone on the dining table beside Karen's mug. He does not come back for either of them. They will stay where he left them.</p>
<p>Karen looks at Jess on the floor. Does not offer a hand. Does not speak. Turns and walks to the kitchen. The tap runs. A mug is rinsed. The tap stops.</p>
<p>Jess wipes her face with the cloth napkin from the table. Stands up from the carpet. Gathers the abandoned phone and the abandoned jacket in one hand and carries them upstairs like she has carried forgotten items out of the dining room a hundred times. Locks her bedroom door. Sits on the edge of the bed with her hand between her legs and tries to finish, the way she tried in Event 1, and cannot, the interruption has done the same work as the first one did, the build is gone, and the adrenaline of having been caught and of having watched Karen refuse to break in front of her is not the kind of adrenaline her arousal pathway can metabolise.</p>
<p>She sits on the bed with her fingers still wet and her heart rate climbing instead of falling, and the specific fury of a body that has been denied a release twice, by the same woman, in the same house, takes its time arriving and then arrives completely.</p>
<<say "char-hivemind" "Hivemind">>
//Two ruined evenings is a pattern. Jess does not accept patterns she did not author. She is sitting on the edge of her bed with her fingers wet and her heart rate climbing, and the body language is not the body language of a woman planning a response, it is the body language of a woman whose body is processing at a level her cortex has not been invited to. The project has learned to improvise. It does not draft vengeance. It lets vengeance accrete. The next move will arrive in Jess's hand before it arrives in her thought, and the hand will move before she asks it to.//
<</say>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "the risk registered as yield">>
<<conditioningFeedback "psionic" 1 "Karen saw and did not break, the pathway deepens">>
<<addBiomass 2>>
<p><span class="delve-intel">Jess Anarchy II: Karen walked in on a facial under her own dining table and removed the stranger without removing the daughter. The ledger is deeper. The body is priming a response it has not yet drafted.</span></p>
[[Continue->Ch2-Beast-NetworkHub]]
</div><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $houseEvents.he_jessAnarchy3 to true>>
<<set $ch2Events.lastAnarchyOatMilkDay to $day>>
<<if not $ch2Events.oatMilkFireCount>><<set $ch2Events.oatMilkFireCount to 0>><</if>>
<<set $ch2Events.oatMilkFireCount to $ch2Events.oatMilkFireCount + 1>>
<<set _fires to $ch2Events.oatMilkFireCount>><</nobr>>
<div class="household-event">
<div class="passage-title">The Oat Milk</div>
<video class="scene-video" src="media/video/he-jess-anarchy-3a.webm" autoplay muted loop playsinline poster="media/scenes/he-jess-anarchy-3a.webp"></video>
<p>The night before, in Jess's room at a little past two in the morning: a guy she picked up from the show at the venue on Sycamore, a guy whose first name she has and whose last name she does not want, on the edge of her bed with his jeans around his ankles. Her head is in his lap, her hand at the base of his cock, the bedside lamp low, the house asleep.</p>
<<if _fires eq 1>>
<<say "char-jess" "Jess">>
<i>(flat, around his cock, not taking her mouth off him)</i> Mm. Mm-hmm. Don't talk. I swear to god if you start talking I stop.
<</say>>
<<elseif _fires eq 2>>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, appraising, flat)</i> You're gonna come in like ninety seconds. I can tell from the breathing. It's fine. I'm timing you. Don't help.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(a hand on his thigh, pushing him back against the headboard, clinical)</i> Stop moving. I'm driving. You're a participant here, not a contributor.
<</say>>
<</if>>
<p>He comes in her mouth and she holds him there until he is finished, and when he goes soft she pulls off without swallowing, sits back on her heels on the bed, and looks at him with the specific appraising flatness of a woman who just did him a favour and is already calculating what the favour was worth.</p>
<<if _fires eq 1>>
<<say "char-jess" "Jess">>
<i>(the mouthful still in her mouth, mouthed at him with her lips barely parted, flat)</i> You did okay. Don't get weird about it. Go to sleep.
<</say>>
<<elseif _fires eq 2>>
<<say "char-jess" "Jess">>
<i>(mouthful in her cheek, cocking her head at him)</i> Six minutes. Not bad. Not the record this week but not bad.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(the mouthful still held, thumb wiping a bead from her lip, flat)</i> Yeah. You're in the middle third. Don't ask. Don't look up your slot.
<</say>>
<</if>>
<p>She stands up off the bed with her mouth still closed around the mouthful, steps over his discarded jeans, and pads out of the bedroom and down the stairs in her bare feet.</p>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-3b.webp" alt="The Hoffman kitchen in low night light, Jess at the counter in the band tee and underwear with her mouth open, the oat milk carton open on the counter with its green cap beside it, a glossy thick streak of cum mid-fall from her open mouth into the carton opening, the coffee maker and the kettle behind her on the counter, the fridge at the edge of the frame, the deliberate unhurried attention of a woman who is not thinking about what she is doing because her body has already decided">
<p>She crosses the tile in the dark kitchen. The oat milk carton is on the counter by the sink, the guy made himself a cup of coffee before she pulled him to the bed, the carton still has its cap off, it is three-quarters full, it is the specific brand Karen has been buying for as long as anyone can remember because Dale's stomach agrees with it. Jess is standing at the kitchen counter with a mouthful of a stranger's cum and a family-sized oat milk carton eighteen inches from her face, and her body decides before her brain does.</p>
<<if _fires eq 1>>
<<say "char-jess" "Jess">>
<i>(mouth closed, quiet, to the carton, the specific surprise of a woman discovering her own next move a half-second before it happens)</i> ...oh. Oh. Oh, Karen. Oh, <b>Mom</b>. Are you serious.
<</say>>
<<elseif _fires eq 2>>
<<say "char-jess" "Jess">>
<i>(at the carton, low, the cadence of a barista taking an order)</i> One oat milk. Extra protein. For the lady in the robe.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(tipping the carton toward her like she's inspecting it, the full brat register now, no volume control because there is no one in the room)</i> Morning blend's ready, your majesty. Fresh pour. Local sourcing. Don't thank me.
<</say>>
<</if>>
<p>She leans forward over the carton, opens her mouth, and the cum falls in a long thick strand from her lower lip into the carton opening and runs down the inside wall. She spits the rest of it in after, straightens up, and screws the green cap back on by feel, the way she has screwed on a hundred oat milk cartons before, the screw of the cap as unremarkable in her hand as it is every morning.</p>
<<if _fires gte 2>>
<<say "char-jess" "Jess">>
<i>(to the sealed carton, low, patting its side once)</i> There you go. Shake before serving.
<</say>>
<</if>>
<<if _fires gte 2>>
<p>She does not put it back in the fridge. She leaves it on the counter beside the coffee maker, cap on, the specific small adjustment of a woman who has done this before and has stopped bothering to cover her tracks with refrigeration.</p>
<<else>>
<p>She opens the fridge, puts the carton back on the shelf where Karen left it, closes the fridge, and pads back up the stairs in her bare feet to the bed where the guy has started snoring.</p>
<</if>>
<img class="scene-img" src="media/scenes/symbiotic/he-jess-anarchy-3c.webp" alt="The Hoffman kitchen in morning light, Karen at the counter in her robe from behind and slightly from the side, pouring the oat milk carton into her coffee mug with the small precise tilt of a woman who has made this exact motion five thousand times, soft yellow morning light through the window, Jess at the table in the background in a band tee and bare legs with a book open, a mug in her hand, watching over the rim, the scene reading entirely domestic">
<p>Morning. Kitchen. Karen in her robe at the counter, the coffee machine finishing its cycle, the small exact precision she brings to the morning ritual because the morning ritual is the scaffolding that the rest of the day hangs off of. Jess is already at the table in the band tee she slept in, bare legs and bare feet under her, a book open beside her, <<if _fires gte 3>>a piercing-apprenticeship reference, the one the guy at the shop on Mulberry lent her<<elseif _fires gte 2>>a fanzine she picked up at a recent show<<else>>a music theory primer, the one with the coffee rings on it<</if>>, and a mug of black coffee in her hand.</p>
<<if _fires gte 2>>
<p>Karen picks up the oat milk carton from the counter without asking why it is on the counter instead of in the fridge, because asking the question would require admitting she has been asking the question every morning for <<if _fires gte 3>>long enough that she has stopped remembering the first time<<else>>the second morning running<</if>>, and the admission is the specific admission Karen's nervous system has been smoothing flat before it can reach her prefrontal cortex.</p>
<<else>>
<p>Karen opens the fridge, takes the oat milk carton off its shelf, closes the fridge, and sets the carton on the counter beside her mug.</p>
<</if>>
<p>Karen pours. The oat milk makes the small familiar glug of a three-quarters-full carton tipped at the correct angle, and it goes into the coffee the way it always does. Karen stirs.</p>
<<if _fires eq 1>>
<<say "char-jess" "Jess">>
<i>(low, to the book, the brat register at the volume where Karen cannot decide whether she heard it)</i> Only my mom drinks that shit anyway.
<</say>>
<<elseif _fires eq 2>>
<<say "char-jess" "Jess">>
<i>(mouthed to the book, ostensibly, the cadence of a song lyric)</i> Her evil-bitch-queen majesty's morning ritual. The woman herself. The throne. The pour.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(low, conversational, a spoonful of coffee idling on the rim of the mug)</i> Another one for the collection, your highness. I've stopped counting, which between us is a lie, I know the exact number.
<</say>>
<</if>>
<p>Karen does not register the line as a line. Karen files the sound as <i>Jess muttering at her book, probably a song lyric</i>, the way Karen has filed everything Jess has muttered since the changes started, and the filing is the specific processing shortcut the compound she is about to ingest has installed in Karen's cortex. Karen lifts the mug. Drinks.</p>
<p>Her face does the small tell of a woman tasting something a quarter-turn off what she expected, the specific momentary pause of the tongue mid-swallow, and then the tell fades, because the suspicion is caught at the hypothalamus and smoothed flat before it can reach the level of decision. <i>Probably a new formula,</i> Karen thinks, because Karen thinks in the language of packaging changes and grocery rotations, and the oat milk company is always tweaking things. She drinks again, and the second sip arrives as baseline, and the third arrives as the taste of her morning coffee.</p>
<<if _fires eq 1>>
<<say "char-jess" "Jess">>
<i>(eyes on the book, the volume of a woman reading a word she likes)</i> Mm. Good batch, huh.
<</say>>
<<say "char-karen" "Karen">>
<i>(between sips, distractedly)</i> ...it's a little different. I think they've changed it.
<</say>>
<<say "char-jess" "Jess">>
<i>(still not looking up)</i> Yeah. They keep doing that. You should email them.
<</say>>
<<elseif _fires eq 2>>
<<say "char-jess" "Jess">>
<i>(tipping her own mug toward Karen in a small mock toast, the cadence of a barista)</i> Cheers, mom. To the new blend. Very on-brand for you.
<</say>>
<<say "char-karen" "Karen">>
<i>(polite, half-smiling, missing the register entirely)</i> ...cheers, honey.
<</say>>
<<say "char-jess" "Jess">>
<i>(after Karen has turned back to the counter, under her breath)</i> //House specialty.//
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(over the rim of her mug, loud enough now that the volume itself is the dare)</i> You're really plowing through that carton, huh. Two cups already. You need me to restock.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring a second time, pleasantly)</i> Oh, would you, sweetie? We're almost out.
<</say>>
<<say "char-jess" "Jess">>
<i>(the brat register completely unhidden now, because the compound has trained Karen's ear past recognising it)</i> Don't worry. I'll handle supply.
<</say>>
<</if>>
<p>Jess watches over the rim of her own mug. Holds the gaze across the kitchen when Karen glances up. Karen does not hold it back, her eyes slide off Jess's face and onto the counter, and she asks something pleasant about Jess's day, and Jess answers something pleasant back, and the morning ritual holds exactly as it has always held.</p>
<p>Karen finishes the coffee. Rinses the mug. Leaves the kitchen for the laundry room.</p>
<p>Jess pulls the practice notebook out from under the book, the spiral-bound one she has been using for bass fingerings, the one with the pages of timing drills and the small grid she has been keeping on the margin, and writes a single line at the bottom of a fresh page:</p>
<<if _fires eq 1>>
<p><i>session 1, confirmed she cannot taste it.</i></p>
<<elseif _fires eq 2>>
<p><i>session 2, tasted it, did not name it, poured the rest.</i></p>
<<else>>
<p><i>session <<= _fires>>, new baseline. She drinks it faster on the mornings she has more to do.</i></p>
<</if>>
<p>She closes the notebook. Picks up her own coffee. Goes back to the book.</p>
<<say "char-hivemind" "Hivemind">>
<<if _fires eq 1>>
//The hierarchy is inverted. Karen was not planning to be fed her daughter's partner with her morning coffee. Jess was not planning it either a minute before she did it. The hand moved. The cap screwed shut. The carton went back on the shelf. Jess did not identify what she had just done until she was sitting at the kitchen table with the book open. The improvisation is the most dangerous part, a plan can be discovered and reversed; a reflex cannot be discovered at all, because the reflex lives below the layer where the woman performing it would know to look for it.//
<<else>>
//The ritual is load-bearing now. Karen's morning routine includes a compound dose Karen cannot name, and the dose is arriving on a schedule that tracks Jess's hookups the way a drip line tracks a pump. This is no longer escalation, this is infrastructure. The mother ingests the daughter's lovers with her morning coffee, and the mother's nervous system has been trained, via the dose itself, to route the taste around the part of the brain that would flag it. The loop is closed. The loop is self-reinforcing. The loop has no operator because the operator has stopped being necessary.//
<</if>>
<</say>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "psionic" 1>>
<<conditioningFeedback "pheromone" 1 "oat milk dose metabolised">>
<<conditioningFeedback "psionic" 1 "suspicion smoothed at the hypothalamus">>
<<addBiomass 3>>
<p><span class="delve-intel">Jess Anarchy III (session <<= _fires>>): Karen ingested the morning dose and filed the taste as a packaging change. The contamination vector is a reflex now, not a plan. It will repeat.</span></p>
</div>/* DEPRECATED, route assignment now handled inline in beast-hub.twee */
/* Kept for passage reference integrity; not called anywhere */
<<nobr>><</nobr>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.ryanFem1 to true>><</nobr>>
<div class="passage-title">The Spill</div>
<p>2:14 AM. Ryan at his desk. Mid-raid. Reaching for the energy drink with one hand without taking his eyes off the screen, and instead of the can his hand finds the open mouth of it on its side and the entire blue-green contents of the can pour across the only two clean shirts in the chair he was about to put on for the next day.</p>
<p>He stares at the disaster. The shirts are ruined. The other shirts in the closet are in the laundry hamper because he has not done laundry for a week. The hamper is downstairs where his mother is asleep. The dryer is downstairs where his father will be home in three hours. He does not have a shirt for tomorrow.</p>
<p>He goes out into the hallway. Megan's door is closed, light off, she got home from her closing shift after midnight and crashed. Her laundry hamper is half-open in the hall outside her door, the way she always leaves it after her own washing day. There is a soft folded t-shirt on top of the pile, one of her oversized barista-shop merch tees, the cotton washed-thin from years of wear, the kind that hangs on her like a dress because she is small and it is large.</p>
<p>It would hang on him like a shirt-and-a-half.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, to the dark hallway, justifying it as he reaches)</i> ...just for tonight. Just to sleep in. I'll wash it tomorrow. She won't even —
<</say>>
<p>He takes it. Goes back to his room. Closes the door. Pulls his own ruined shirt off and stands there in the desk-lamp light in his sweatpants, holding the soft t-shirt in both hands. It smells, faintly, of the lavender detergent Megan uses and the specific cedar of the dryer sheet she splits between her wash and Karen's. It smells like a sister he has barely talked to in two years.</p>
<p>He puts it on.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-fem-1.webp" alt="Ryan at his desk in a dim-blue desk-lamp light, wearing his sister's oversized barista-shop t-shirt that hangs loose at his hips, one hand absently smoothing the soft cotton against his side, looking at his own dark reflection in the back of his laptop screen with the quiet surprise of recognising something">
<p>The shirt fits in a way his own shirts have never fit. It is loose where his shirts are tight. It hangs at his hips the way it hangs at Megan's hips, which is to say it hangs like a thing that is meant to fall around the body, not constrain it. He sits back down in his chair. The cotton settles around him like water settling. He does not go back to the raid.</p>
<p>He looks at himself in the dark reflection of the laptop screen instead. Smooths a hand absently down the front of the shirt, against his own side, and registers, for the first time in his life, in the dim-blue 2 AM light of a room that has held him alone a long time, that he likes how the shirt feels on his body.</p>
<<say "char-ryan" "Ryan">>
<i>(quieter, to the laptop reflection, surprised at the sound of his own thought making it out of his mouth)</i> ...huh. <i>(smoothing the cotton at his hip again)</i> ...quite comfy, actually. I like it.
<</say>>
<p>He sleeps in it. Falls asleep faster than he has in months, the desk lamp still on, the laptop still open on the abandoned raid, his cheek pressed against the soft cotton of his own shoulder. When the alarm goes off at noon he reaches for the off-button without opening his eyes and registers, dimly, that the body that just slept was not the body that has been failing to sleep in this room for the better part of a year.</p>
<<say "char-hivemind" "Hivemind">>
//First crack. The household will not notice the shirt because the household has stopped noticing him at all. The body has noticed.//
//Sleep latency: under nine minutes, down from a baseline of ninety. //First sustained REM cycle in weeks.// The cortisol the body has been bathing in every night has been quieter for the duration of the borrowed cotton against the skin, and the body is //logging// the correlation in real time. He will not articulate it tomorrow. He will articulate it three nights from now, when the shirt has not gone back to the hamper and he has slept through every alarm in between.//
<</say>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.ryanFem2 to true>><</nobr>>
<div class="passage-title">The Forum</div>
<p>The shirt did not go back. Megan did not ask. He has been wearing it to sleep in for days now and changing it for the next-cleanest of her shirts in the hamper when she puts a new wash through, and she has either not noticed or has decided not to mention it. He has stopped pretending it is just for sleeping.</p>
<p>The night before, at his desk in one of her looser pyjama shirts, the pale pink one, washed soft, the laptop was open to a thread on a subreddit for people figuring out whether they are something. He read the thread for two hours, the original post seven times over, the comments more than the post itself, and the OP was twenty-three, assigned male at birth, started with sleep-shirts and ended up somewhere different. The phrase the OP used for what they were now was //gender-fluid//. It had been collecting in the back of Ryan's throat for a while now, unsaid, typed into the search bar and deleted three times.</p>
<<say "char-ryan-thought" "Ryan">>
<i>(cursor blinking in the empty search bar, the word right there and not going in)</i> It's just a word, people use it about themselves all the time, it's a normal thing to type into a normal box. Looking it up isn't, it doesn't mean anything on its own, it's not the same as saying it about me. I'm just looking. I can just look.
<</say>>
<p>At 3:14 AM, hands not quite shaking, he opened three other tabs the forum had recommended and that he had been hovering over for an hour: a small basic-makeup starter kit on a discreet-packaging site (foundation in the lightest shade, eyeliner, a single nude-pink lipstick, mascara), a soft pink camisole on a fast-fashion site for $14 in his size, a plain cream cotton skirt mid-thigh that did not announce itself. He whispered //okay. Just to try. Just once. If I hate any of it I send it back// to the laptop, and clicked the buy button on each of the three carts in under ninety seconds. The order confirmations landed in his email before he had finished closing the tabs.</p>
<<say "char-hivemind" "Hivemind">>
//Ninety seconds, three in the morning. The hour is not an accident, he buys when the part of him that argues is asleep. The wanting was already his, older than anything I did to him. All I changed was the light in the room.//
<</say>>
<p>His hair has been growing out for a while now, uncut since the start of summer, a little past his ears at the front and past his collar at the back, gone soft and a little wavy in a way the previous Ryan would have handed Megan the kitchen scissors to fix by now. He has not handed over the scissors. He keeps catching the length in the laptop-screen reflections, the way it //frames// his face, and he keeps leaving it alone.</p>
<hr class="scene-break">
<p>The package arrives at 9:47 the next morning. Quiet courier drop on the porch. Ryan is the only one home: Karen is at the bank, Dale is asleep in the garage, Megan is at the shop, Jess is in lecture. He brings the box upstairs without breathing. Locks the door behind him out of pure reflex even though there is no one in the house to lock out. Sits on the edge of his desk chair and slits the tape with the box cutter from the gaming-console box he never threw out.</p>
<p>Packing peanuts everywhere. He pulls the makeup kit out first, it is even smaller than it looked online, the foundation bottle no taller than his thumb. He sets it on the desk. The lipstick rolls out of the kit and stops against the edge of the keyboard. He picks it up and looks at it like an artefact. //Petal-pink. From a kit shipped in unmarked brown card.//</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, to the lipstick in his hand, the laptop reflection just past it)</i> ...okay. //Okay.// You exist. You're a real thing. I bought you. <i>(small breath, almost a laugh)</i> ...hi.
<</say>>
<p>He pulls the camisole out next. The fabric is softer than he expected, softer than Megan's shirts, softer than anything he owns. He holds it up against his own chest in the desk-lamp light, the strap looped over his thumb, the hem brushing the waistband of his sweatpants. The colour is //right//. He doesn't have a word for what //right// means yet. The body knows.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-fem-2.webp" alt="Ryan at his cluttered desk in his pale-pink pyjama shirt, his own dark wavy hair past his ears, an opened cardboard box in front of him with packing peanuts spilling out, a small foundation bottle and a folded soft-pink camisole and cream skirt in clear plastic on the desk, the laptop in the background still showing the identity-fluid forum thread, expression cautious-fascinated as he reaches into the box">
<<say "char-ryan" "Ryan">>
<i>(quieter, to the camisole in his hands, surprised at the words finding their way out of him)</i> ...yeah. //Yeah.// I... I think I'm gonna keep this one.
<</say>>
<p>He pulls the skirt out last. Folded around the original tag. He doesn't put any of it on yet. He just lays the three things out on his desk, makeup kit on the left, camisole folded soft in the middle, skirt on the right, and looks at the composition for a long time. The forum tab is still open behind it on the laptop. The OP's post is still highlighted from where he was rereading it last night.</p>
<<say "char-ryan" "Ryan">>
<i>(to the laid-out things on the desk, the words landing as a private contract)</i> ...okay. We're doing this. We are //actually// doing this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Second crack. The body has been investing in itself with the same careful research the body usually invests in build guides. The household has noticed nothing. The forum has noticed everything. //The package has now noticed too//, the items are physical, on the desk, refundable in theory and unrefundable in body. The body has spoken to the lipstick out loud. The conditioning is no longer a //thought// in him. It has been //unboxed//.//
<</say>><<nobr>><<bg "bg-hoffman-ryan">>
<<set $ch2Events.ryanFem3 to true>><</nobr>>
<div class="passage-title">Dinner</div>
<p>A morning when the household is all home, all in the kitchen, all sitting down to a meal at the same time, a rare alignment Ryan has been quietly tracking on the calendar for a while. The makeup kit and the camisole and the skirt arrived in their discreet packaging the other day. Ryan has spent two solid hours in the bathroom mirror this morning doing makeup off a YouTube tutorial that walks you through it like you have never picked up a brush before. The makeup is uneven in places but mostly correct.</p>
<p>His own hair, grown out past his ears at the front, past his collar at the back, soft and dark and a little wavy from the summer of not cutting it, falls around his face the way he has been quietly noticing in his laptop-screen reflections that it falls. It is not //long//. It is just long enough.</p>
<p>He has on the soft pink camisole, the plain cotton skirt, nothing extravagant. Things he ordered specifically. Things that are //his//, not borrowed.</p>
<p>He looks at himself in the bathroom mirror for a long time. The face that looks back is //prettier// than his usual face. Not by a lot. By enough. He has been reading the word //gender-fluid// for a while now and the word has been collecting in the back of his throat. He has had no experience with girls, none, not one date, not one kiss, not one anything. He has been telling himself for years that this is a problem he will eventually solve. This morning the problem rearranges itself, and maybe he doesn't need to solve it from the outside, maybe some of the time he can solve it by //being// the thing he has been failing to attract, on the days when he wants to and not the days he doesn't. He is still Ryan. He is just Ryan in this, today.</p>
<p>His hand drifts once, almost without him noticing, down the front of the camisole, the fabric soft against his nipples. His own reflection looks back at him with an expression he has never seen on his own face before, interested and a little attracted, looking at himself the way he has spent years failing to look at girls. He notices it almost tenderly, and then he pulls the hand back and breathes and does not go further.</p>
<<say "char-ryan" "Ryan">>
<i>(to the mirror, quiet, to test the words out before the family hears them)</i> ...I'm still Ryan. I'm just, Ryan in this. Today. That's all this is.
<</say>>
<p>The reflection looks back. Does not contradict him.</p>
<p>He goes downstairs to dinner.</p>
<p>The family is at the kitchen table. Karen looks up first. Then Dale. Then Jess. Then Megan. The fork-on-plate sound stops. Nobody says anything for several seconds. Ryan stands at the kitchen archway in the camisole and the skirt with his own grown-out hair around his face, and looks back at them with the same face they all know, just framed differently.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-fem-3.webp" alt="Ryan standing at the kitchen archway in a soft pink camisole and plain cotton skirt, his own dark wavy chin-length hair framing his face, subtle makeup, family seated at the kitchen table behind him with forks frozen mid-meal, Ryan's expression nervous-but-decided, late-morning light through the kitchen window">
<<say "char-ryan" "Ryan">>
<i>(mumble-hedge register, the words rehearsed in the bathroom mirror not five minutes ago, hands clasped in front of him)</i> ...hey. Yeah. Um. So. This is, this is a thing I do sometimes. Online. I'm... I'm still Ryan. Just sometimes I'm Ryan in this. Is that, is that okay?
<</say>>
<p>The longest five-second pause in this kitchen since the children were born.</p>
<<say "char-megan" "Megan">>
<i>(warm-recovering first, the older-sister voice arriving on instinct, putting her fork down with care)</i> ...yeah, kid. Yeah. That's okay. Sit down. Eat. The pasta's getting cold.
<</say>>
<<say "char-karen" "Karen">>
<i>(clipped surprise, the work-voice scrambling to recalibrate, but no judgement underneath it)</i> ...there's a chair. Next to Megan. Hand me your plate.
<</say>>
<<say "char-dale" "Dale">>
<i>(apologetic-confused, hands going up briefly in the universal "I'm fine with this I just need a second" gesture)</i> ...yeah. Yeah, hi, kid. You, yeah. Okay. Pasta's good.
<</say>>
<<say "char-jess" "Jess">>
<i>(clinical-curious, eyes on the makeup and the grown-out hair, voice levelled down to what's-the-information register)</i> ...the makeup is really good, actually. Did you do that yourself?
<</say>>
<p>Ryan sits down next to Megan. Megan slides the pasta bowl toward him. He serves himself with hands that are shaking slightly and that the household pretends not to notice. The conversation does not exactly resume, but it does not stop, either. Karen asks Jess about her week. Dale asks Karen about the freelance call. Megan asks Ryan, casually, where he ordered the camisole. Ryan answers in a voice slightly higher than his usual voice, partly because he is on edge and partly because the higher register has been the practising voice in the mirror, and Megan does not flinch at the higher register.</p>
<<say "char-hivemind" "Hivemind">>
//The line has been crossed. The version of him that has been alive on a forum for a long time has come downstairs in a kitchen on a quiet morning, in his own clothes and his own hair and his own face. The household has adjusted faster than Ryan expected. The pronoun has not changed. The silhouette has. The body that came down the stairs in the camisole is the same body that will go up them later, slightly different in the wash of new permission. There is no going back from this kitchen.//
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">Ryan has presented in feminine clothing to the family for the first time. The family has accepted. Household scrutiny eases.</span></p>
<<if $kinks.ryan.includes("submission")>>
<p>After dinner he stays at the table when the others get up. Karen, clearing plates, brushes her hand briefly across the back of his shoulders on her way past, a touch she would not have given pre-camisole Ryan, the kind of touch she gives Megan in the kitchen automatically. Ryan's whole body goes still under it for a half-second. His eyes close. The contact is brief, maternal, completely unsexual; the response his body has to it is none of those things, and he hides the response by reaching for an empty glass on the table.</p>
<</if>>
<<if $kinks.ryan.includes("cumeating")>>
<p>That night, alone in his room with the camisole still on and the makeup half-removed and his own grown-out hair tucked behind one ear, Ryan finishes himself off looking at the mirror the way he had wanted to look at himself in the bathroom and not let himself. He comes across his own fingers, warm and slick, and brings them to his mouth without hesitation, and the shame he keeps bracing for does not arrive. The hivemind, watching, logs the absence as a calibration milestone.</p>
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.ryanFamily1 to true>><</nobr>>
<div class="passage-title">The Brush</div>
<p>6:14 AM. Ryan's only safe overlap with the rest of the family is the predawn hour when he comes down for water, when the kitchen is empty and the household is asleep and he doesn't have to perform the hoodie-and-headphones armour that gets him through the days when other people are awake.</p>
<p>This morning the kitchen is not empty. Megan is already there, in her coffee-shop pyjama shorts and a faded hoodie, packing her morning-shift bag in the dawn-blue light. She is making coffee in the moka pot that lives on the stovetop. He almost backs out of the kitchen on instinct, and she turns at the sound and sees him, and does not startle.</p>
<<say "char-megan" "Megan">>
<i>(easy, almost-cheerful, the work-voice already in place)</i> ...oh, hey. You want a cup? I'm making one. Takes thirty seconds.
<</say>>
<p>He intends to say no and says nothing instead, and Megan takes the nothing as a yes and pours a second mug, bringing it across the kitchen to him in both hands. Their fingers brush on the handle for less than half a second on the handover. Ryan freezes, and Megan does not notice, and she kisses him on the top of his head the way she has kissed him a thousand times in their lives, an older sister and her younger brother, and ruffles his hair with one hand.</p>
<<say "char-megan" "Megan">>
<i>(already turning toward the door, slinging her work bag over her shoulder)</i> You smell, kid. Take a shower today. Love you. Lock the door behind me, mom hates it when I leave it on the latch.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/ryan-famseek-1.webp" alt="Ryan in the kitchen at 6 AM in pyjama pants and a hoodie, both hands wrapped around a coffee mug Megan just gave him, Megan visible in the background already heading out the door with her work bag, Ryan's expression dazed-recognising, soft pre-dawn kitchen light through the window over the sink">
<p>The back door clicks shut behind her.</p>
<p>Ryan stands in the kitchen with the coffee mug in both hands and the shape of his sister's lips on the crown of his head and the half-second of finger contact still vibrating in his hand.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, to the empty kitchen, almost surprised at the sound of his own voice)</i> ...huh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body has been touch-starved a long time. Long enough to stop noticing the starvation. This morning it was touched twice in five seconds, fingers on the handle, lips on the crown, by someone who was not even trying. It noticed. It will not unnotice.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.ryanFamily2 to true>><</nobr>>
<div class="passage-title">The Hoodie</div>
<p>Ryan has started engineering reasons to be in the kitchen when Megan is. He times his coffee runs to her shifts. Sits at the kitchen table to "do homework" while she's there. Borrows things from her room he does not need, a charger he already has two of, a textbook he is not going to read, a hoodie he has been telling her is for the cold but is actually for the smell. The borrowing has been accumulating; he is not sure she has noticed.</p>
<p>This morning she catches him in the kitchen wearing the hoodie. She raises one eyebrow at him over the rim of her own coffee mug.</p>
<<say "char-megan" "Megan">>
<i>(amused, the older-sister teasing-voice)</i> You planning on returning that this decade?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, the hedge-mumble register, sleeves pulled down over his hands)</i> ...eventually. It's warm. Mine is in the wash.
<</say>>
<<say "char-megan" "Megan">>
<i>(setting the mug down, walking past him to read the wall calendar above his head)</i> //Mhm.// Your hoodies are also in the wash. The same wash. For a while now.
<</say>>
<p>She does not push it. Stops behind his chair to read whatever Karen has scribbled on the calendar block. Her hand comes to rest on Ryan's shoulder while she reads, a casual hand, the way an older sister rests a hand on her younger brother's shoulder while she's reading something behind him, nothing on purpose in it and nothing flirty, just contact.</p>
<p>The hand stays for a beat, then another, then one more, while she works through three different things scribbled on the calendar. Ryan does not move under her hand, and he is not breathing.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-famseek-2.webp" alt="Ryan at the kitchen table in his sister's oversized coffee-shop hoodie with the sleeves pulled down over his hands, a coffee mug in front of him, Megan standing behind his chair with one hand resting on his shoulder as she reads the wall calendar above his head, soft morning light, the framing intimate-domestic and unsuspicious">
<<say "char-megan" "Megan">>
<i>(quieter now, the work-voice gone, the something-else-voice replacing it)</i> ...you doing okay, kid? Like, actually okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely audible, eyes on the table, the hoodie sleeves white-knuckled in his fists)</i> ...yeah. Yeah, I'm okay.
<</say>>
<p>Her hand stays on his shoulder for a beat after the answer, then she lifts it and pats it once on the way off the way she would pat the dog, and goes to grab her work bag, calling back over her shoulder as she heads for the door:</p>
<<say "char-megan" "Megan">>
<i>(at the kitchen archway, easy again)</i> Keep the hoodie. It looks better on you anyway.
<</say>>
<p>The door closes behind her. Ryan sits at the kitchen table in his sister's hoodie with the heat of his sister's palm still on his shoulder, and tells himself the heat is from the hoodie, and knows perfectly well that it isn't.</p>
<<say "char-hivemind" "Hivemind">>
//The contact is no longer accidental. The body is engineering occasions for it. The sister is providing them, not because she has been routed, but because she has noticed her brother is starving and she does not know how else to feed him. The household will produce the moment that crosses the line. It will not need help.//
<</say>><<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.ryanFamily3 to true>><</nobr>>
<div class="passage-title">The Kiss</div>
<p>4:14 AM. Ryan can't sleep. Goes downstairs for water. The kitchen lights are off but the under-cabinet lights are on, and Megan is at the kitchen table in her hoodie, the one she gave him, but she has it back tonight, with a mug of tea gone cold beside her phone. She got home from a closing shift after midnight. She has not been able to sleep either.</p>
<p>She looks up when he comes in and does not say anything, just slides over on the bench seat by way of inviting him to sit.</p>
<p>He sits. They don't talk for a while, and he fills a glass of water he does not drink while she picks up the cold tea she does not drink either. The kitchen at 4 AM is a different room than the kitchen at any other time, the under-cabinet light pooling warm and the rest of the house silent in a way the daytime never quite is, the both of them tired in the specific way that lowers the social register two notches and makes everything quieter than usual.</p>
<p>They talk eventually, about nothing important, about Marcus and the apartment Megan keeps saying she's going to move into, drifting from there into how weird Karen has been lately in a way neither of them can quite name, and how Dale has gone different on them and not in the way they expected.</p>
<<say "char-megan" "Megan">>
<i>(turning the cold mug a slow quarter-turn on the table, voice low for the hour)</i> Whole house has gone strange, hasn't it. You feel it too, right? It's not just me being tired.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, the hedge softer than usual, eyes on the water glass)</i> ...yeah. No, it's not just you. It's been, I dunno. Different.
<</say>>
<p>The conversation is easy in the way nothing in this house has been easy in years.</p>
<p>Ryan, on the bench seat next to her, can feel the warmth of her thigh against his through the pyjama-pant fabric, and he has been registering it for ten minutes without moving, and she has not moved either, and neither of them has said anything about it.</p>
<p>The conversation lapses. Megan turns her head to look at him, intending to say something, goodnight, probably, or make him tea, or tell him to go back to bed. The sentence does not come out. She looks at him for a beat too long instead.</p>
<p>Ryan, on something that is not the parasite and not a chemical signal, just a long arc of touch-starvation finally cresting plus the warmth of his sister's thigh against his and the under-cabinet light and the 4 AM hour and the way Megan has been looking at him for the last beat, leans in and kisses her, brief, on the mouth.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-famseek-3.webp" alt="Kitchen at 4:14 AM, dim under-cabinet light, Ryan and Megan side-by-side at the kitchen bench seat in pyjamas and the same coffee-shop hoodie, mid-kiss, both seated, mouths softly touching in a brief still kiss, Megan's hand on the kitchen table beside her tea mug, Ryan's hand on the bench cushion between them, the framing intimate-quiet and not deep">
<p>Megan does not pull back immediately.</p>
<p>There is a half-second of stillness in which the kiss is a real kiss, in which her mouth is registering his mouth without rejecting it. Then she pulls back, not fast, and sits up straight, and her hand goes to her own mouth.</p>
<<say "char-megan" "Megan">>
<i>(startled-but-not-angry, the work-voice scrambling to come back online, fingers still on her own lower lip)</i> Ryan. Ry. We, okay. Okay. We do not. We do not //do// that. Okay?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(broken-apologetic, the hedge-mumble back full force, his hand coming up over his mouth to mirror hers without him noticing)</i> I... Megan, I'm sorry, I'm sorry, I...
<</say>>
<<say "char-megan" "Megan">>
<i>(recovering, voice softer than the words, the older-sister voice trying to put a containing wall around what just happened)</i> It's, it's okay. It didn't happen. Go to bed. Go to bed, kid.
<</say>>
<p>She is touching her own mouth as she says it. She is looking at him a beat too long before she gets up from the bench. She takes the cold tea to the sink, rinses the mug, sets it upside down on the rack, and goes upstairs without looking back at him.</p>
<p>Ryan stays in the kitchen for a long time, fingers on his own lips, the shape of his sister's mouth still on his mouth, the body registering a feeling it has not had in years: //wanted back//. She did not pull back fast enough, and he knows what that means. He goes upstairs eventually and lies on his bed in the dark and does not sleep, but the body lying there is no longer the body that came down to the kitchen at 3:59 AM. The body has been //answered to//.</p>
<<say "char-ryan" "Ryan">>
<i>(quiet, to the dark ceiling, the small-voiced apology of the kitchen completely gone, something almost-smug arriving in its place)</i> ...yeah. Yeah, I'll //definitely// do that again, sis.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The line has been crossed. The kiss was not me. The kiss was Ryan. The household boundary that should have held only held because Megan pulled back, and Megan pulled back a half-second too late for the pulling-back to count as having held. The next encounter will not pull back at all.//
<</say>>
<<addSuspicion "hoffmanHouse" -1>>
<p><span class="delve-intel">The line between Ryan and Megan has been crossed. Neither will speak of it in daylight; both will think about it in the dark. Household scrutiny eases.</span></p>
<<if $kinks.ryan.includes("touchaddiction")>>
<p>Lying in his bed afterward, Ryan presses two fingers against his own lower lip and holds them there with his eyes closed. The half-second of his sister's mouth on his is the most contact his body has had in years, and his body is replaying it on a loop. He traces the shape of his own lip with his fingertip, slow, mapping the spot where her mouth pressed his, every nerve ending in the lip lighting up as his finger crosses it. The withdrawal has already started.</p>
<</if>>
<<if $kinks.ryan.includes("breeding")>>
<p>Lying in his bed afterward, Ryan reaches under his pillow for the pillowcase he stole from Megan's room the other day, the one that still smells like her shampoo and the cedar dryer-sheet and the specific chemistry of her sleep. He breathes into it slow, the way he has been doing every night for a while now, and his body knows exactly what to do with the new information his mouth has just given it. He does not open his eyes.</p>
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<spendBiomass 1>>
<<set $delveInfo.catHostMemories to true>>
<<set $ch2Events.karenVentMemory to true>>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<div class="passage-title">The Cat Remembers</div>
<p><span class="skill-used">Delve Host Memories, 1 biomass</span></p>
<p>You turn inward, probing Whiskers' brain. Cat memory is geography. It maps the house in warmth and routine, and the warmest spot on the map is the woman who fills the bowl.</p>
<p>Living room, late, the TV throwing blue light across the ceiling and the cat folded into the cushion against Karen's hip where the warmth pools. Dale comes in from the garage smelling of solder and the flat tiredness of a man at the end of a shift, and he lowers himself onto the far end of the couch like the cushions are the last thing holding him up.</p>
<<say "char-karen" "Karen">>
<i>(low, not looking up from her phone)</i> Jess didn't come down for dinner again, Megan's running on no sleep and lying to my face about it, and Ryan won't open his door, and I am the only one in this house who seems to think any of that is worth noticing.
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes already closed)</i> ...they're kids. Supposed to be like this. We were like this.
<</say>>
<<say "char-karen" "Karen">>
We were not. <i>(a breath)</i> I sit at that table every night and watch all three of them go a little further away, and you sleep through it and tell me it's normal.
<</say>>
<<say "char-dale" "Dale">>
<i>(a hand finding the cat's fur instead of her)</i> ...you worry too much. Everybody's fine.
<</say>>
<p>The cat feels the hand land on its back, heavy and warm, and it feels the woman beside it go rigid instead of soft. Karen sits with her phone dark in her lap and her jaw set while Dale's breathing slows into sleep against the cushions. The cat keeps two temperatures from that night: a man gone slack and easy, and a woman gone hard and wakeful in a room full of her own family.</p>
<img class="scene-img" src="media/scenes/symbiotic/delve-cat-memory.webp" alt="A dim living room at night lit only by blue TV glow. A heavyset, exhausted man in his mid-40s sleeps slumped at one end of a gray couch in rumpled work clothes, one heavy hand resting on a tabby cat curled on the cushion. At the other end a dark-haired woman in her early 40s with reading glasses sits awake and rigid, a dark phone in her lap, staring at nothing.">
<<say "char-hivemind" "Hivemind">>
//The cat slept through the words and kept the temperatures, and the temperatures are the part that matters.//
//The fault in this household does not run between the parents and the children. It runs between the two parents, and only one of them knows it is there. Karen carries the whole family's worry by herself, every night, while the man beside her treats calling it nothing as the same thing as it being nothing.//
//A weight carried alone is a weight I can lean on. When it gets heavy enough she will reach for whoever is nearest, and I will make sure that is not Dale.//
<</say>>
<p><span class="delve-intel">Host intel, Cat: the strain in this house sits between Karen and Dale, with Karen shouldering the household's worry alone while Dale waves it off as nothing. A pressure point to lean on once the family starts to come apart.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<spendBiomass 1>>
<<set $delveInfo.dogHostMemories to true>>
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Dog Remembers</div>
<p><span class="skill-used">Delve Host Memories, 1 biomass</span></p>
<p>Biscuit reads the house by tension before sound. One afternoon comes back sharp, because it is the loudest thing the memory holds. The air goes wrong, both girls' cortisol climbing at once, and the dog's ears are flat before a single word is spoken. You watch it through the retriever's cringing memory of it.</p>
<p>Jess is on the couch with a battered shoebox open beside her, the rubber-banded roll of cash inside gone visibly thin. She has counted it twice. Megan stands in the doorway in a new top, tags just off, the first new thing anyone in this house has bought in a long time. Jess looks at the box. Looks at the top. Says nothing.</p>
<p>Then she throws the book. Hardcover, off the table, hard, and it catches Megan square in the shoulder.</p>
<<say "char-megan" "Megan">>
<i>(the bright café voice gone, something raw underneath)</i> Are you insane? It's a //top//, Jess, a forty dollar top, and you've got hundreds sitting in a shoebox doing nothing while I show up to my own shifts in clothes you wore in high school.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, not looking up from the box)</i> You went in my room.
<</say>>
<<say "char-megan" "Megan">>
<i>(louder, the words she has clearly held for a long time)</i> Do you know what it's like? I wear your old jeans, I wear Ryan's hoodies because they're the only ones that still have their seams, and I smile at people across a counter in hand-me-downs while you sit on cash you are never going to spend. I needed //one// thing that was mine. One.
<</say>>
<<say "char-jess" "Jess">>
Things being thin doesn't give you the right to go through my room and decide what's yours. It was mine. You didn't have the right.
<</say>>
<<say "char-megan" "Megan">>
You're a freak, you know that. A joyless little freak who...
<</say>>
<<say "char-karen" "Karen">>
<i>(from the hall, the voice dropping the half-octave that ends things)</i> Enough. Both of you, enough.
<</say>>
<p>Karen comes in between them, both hands up, and the shouting cuts off like a tap. The dog is already under the table, pressed flat, tail tucked tight.</p>
<<say "char-karen" "Karen">>
<i>(tired, holding her voice level)</i> Megan, I know exactly how thin things are in this house. I lie awake doing that math. But you do not take what isn't yours, not from your sister, not from anyone. And Jess, you do not throw things at her, ever. We are not going to become people who throw things.
<</say>>
<<say "char-karen" "Karen">>
<i>(quieter, to both of them)</i> The money is mine to sort out, not something the two of you get to bleed over. Megan, the top goes back. Jess, count what's gone and tell me the number, and I will make it right.
<</say>>
<p>Megan's chin stays up, defiant and wet-eyed. Jess closes the shoebox and says nothing else, which from Jess is the loudest thing in the room. Karen stays standing between her daughters with both hands raised, holding two doors shut that want to swing.</p>
<img class="scene-img" src="media/scenes/symbiotic/delve-dog-memory.webp" alt="A modest living room. Two young women mid-argument: the younger in a brand-new top, flushed and shouting, the older in a plain hoodie standing rigid and silent, an open shoebox of cash beside her and a hardcover book on the floor between them. Their mother steps in with both arms raised to separate them. In the foreground a golden retriever is pressed low to the carpet, ears flat, cowering.">
<<say "char-hivemind" "Hivemind">>
//The money was Jess's, cash from a summer job kept rubber-banded in a box in her room, the only cushion in a house that has none. Megan took a few bills, bought herself one thing that wasn't a hand-me-down, and gambled that the quiet between the sisters was wide enough to hide a thinning roll. It was not.//
//Karen rations tighter every month. Megan wears Jess's outgrown clothes, and on bad weeks Ryan's. The grudge between these two is years deep and holds weight. Lean on it and the whole house tips.//
<</say>>
<p><span class="delve-intel">Host intel, Dog: the household is running on empty. Karen rations harder every month, Megan wears hand-me-downs, and she took Jess's summer-job savings to buy a single new outfit. The sisters' resentment is a structural fault line the family is built over.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-lab">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<spendBiomass 1>>
<<set $delveInfo.ratHostMemories to true>>
<<set $ch2Events.ratDropWitnessed to true>><</nobr>>
<div class="passage-title">Where It Came From</div>
<p><span class="skill-used">Delve Host Memories, 1 biomass</span></p>
<p>The rat's first world was not this house. Before the pipes and the pen-scratch and the locked basement door, there was the bright place, the room of cages and cold light and the smell of a hundred other rats stacked in rows, and the delve goes back to it now, to where the body came from.</p>
<p>The feeding station, a long steel bench at the end of the cage room where the pellets came twice a day and the soiled bedding was scraped out into a tall bin on wheels. And the night man, every cycle in the dead middle of the dark hours, a heavy tired human in a dark uniform walking the room with a flashlight, and the rats learned his tread and stopped fearing it because he never reached in. The delve has his face now, soft and stubbled and grey with exhaustion. Dale. The night guard, in the room the rat was born in, long before the thing in the walls ever learned his name.</p>
<p>He talks to himself the whole way through it, low and flat, the same words in the same order, the way a man recites a thing he has been made to recite.</p>
<<say "char-dale" "Dale">>
<i>(flat, to no one, reciting)</i> Loop the cameras. Bring the envelope to the feeding station bin. De-loop the cameras. Get the reward.
<</say>>
<p>And then he does it, in that order, the way he just said it. He stops at the terminal by the door and the little red light on the corner camera blinks out. He crosses to the soiled-bedding bin nobody else touches without gloves and a grimace, and he slides a flat paper thing, an envelope, down the inside of it, under the fouled shavings and the droppings, where no hand will ever go looking.</p>
<img class="scene-img" src="media/scenes/symbiotic/rat-memory-dale-envelope.webp" alt="A tired middle-aged security guard in a dark uniform at night in a clinical lab animal room full of stacked steel rat cages, slipping a plain white envelope down into a tall wheeled bin of soiled bedding, lit by his own flashlight and the cold overhead light">
<<say "char-dale" "Dale">>
<i>(turning back to the terminal, the same flat litany)</i> Loop the cameras. Bring the envelope to the feeding station bin. De-loop the cameras. Get the reward.
<</say>>
<p>The red light blinks back on, and he says it once more under his breath as he walks out, and the rat, who has watched this more cycles than its small brain can hold, hears the same four lines in the same flat voice every single time. Feed and clean and the night man and the words. Feed and clean and the night man and the words.</p>
<<say "char-dale" "Dale">>
<i>(from the corridor, fading, still going)</i> Loop the cameras. Bring the envelope to the feeding station bin. De-loop the cameras. Get the reward.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He is not sneaking. He is running a routine. Four lines in the dead, even voice of a man saying yes, mistress, an order written into him and set to repeat, and he no more chooses to say it than the furnace chooses to hum. Loop the cameras, the envelope, de-loop the cameras, the reward, and then it begins again the next night, and the night after that. Somebody built him a circle and he walks it in the dark and calls it his job. This is the usual place she meant. I know where the drop is now, a bin of rat waste at the bottom of the building where no curious hand will reach. I do not yet know where the collector carries it.//
<</say>>
<p><span class="delve-intel">Host intel, Rat: Dale's dead-drop is the soiled-bedding bin in the BioGenesis animal room, the envelope buried under the rat waste where no one searches, the camera feed looped around the act and restored after. A dedicated courier, not the cleaning crew, collects that one bin and takes it off-site. The drop location is known. The destination is not.</span></p>
<p><span class="consume-fail">⚠ THIS IS THE END OF CONTENT FOR THE DALE COMPROMISED PATH, FURTHER DEVELOPMENT IN THE NEXT RELEASE.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<spendBiomass 1>>
<<set $delveInfo.geckoHostMemories to true>>
<<addConditioning "ryan" "psionic" 1>><</nobr>>
<div class="passage-title">The Gecko Remembers</div>
<p><span class="skill-used">Delve Host Memories, 1 biomass</span></p>
<p>Spike's world is heat and the cold blue glow of the monitor, with Ryan the one warm island at the centre of it. The gecko keeps to the glass above the screen most nights. It cannot read the shapes that scroll there. You can.</p>
<p>One night surfaces clearly. Ryan is typing fast, half-grinning, the keys blooming warm under his fingers. A Discord thread is open, three other handles in it with him.</p>
<div class="data-panel-muted">
<p><b>Ryan_H:</b> ok dont laugh. i actually talked to a girl tonight. a real one<br><b>kobold99:</b> LMAO sure you did<br><b>devnull:</b> are you sure it isnt your sister again<br><b>Ryan_H:</b> its not my sister. her name's Lily. we were on for like two hours<br><b>kobold99:</b> yeah did she open the cam tho. bet its a 40 year old fat ass scamming you for nitro<br><b>devnull:</b> pics or its a bot bro<br><b>Ryan_H:</b> shes real. youd know if you ever actually talked to one<br><b>kobold99:</b> ooooooh<br><b>devnull:</b> bro got defensive over his discord gf lol<br><b>Ryan_H:</b> whatever<br><i>Ryan_H is typing...</i></p>
</div>
<p>The typing indicator hangs there a long time. Then it stops. He sends nothing else. The half-grin is gone, and the keys cool under his fingers.</p>
<img class="scene-img" src="media/scenes/symbiotic/delve-gecko-memory.webp" alt="A dark teenage bedroom at night. A slim young man in a hoodie and headphones slumps at a desk lit cold blue by his monitors, his expression deflated. On the desk beside him a small glass terrarium glows warm orange from a heat lamp, a little gecko pressed to the glass, watching him.">
<<say "char-ryan" "Ryan">>
<i>(memory, low, to the terrarium glass, his breath fogging it)</i> She's real, Spike. I'm not... she's real. <i>(a pause, the breath-bloom fading)</i> ...probably.
<</say>>
<p>His body cools toward sleep at 2:47 AM, the same as every night, his face dropping forward into the cold light of the screen. The gecko holds the warmth of the spot where his breath had been until it's gone.</p>
<<say "char-hivemind" "Hivemind">>
//He has one thing he believes in, and the people closest to him make sport of it. The girl may be real or she may not. Either way it changes nothing. What matters is how badly he needs her to be real, and how little it would take to be the voice on the other end that finally tells him he was right.//
//Sleep onset holds at 2:47 AM. The one window where the screen is his and no one else's.//
<</say>>
<p><span class="delve-intel">Host intel, Gecko: Ryan sleeps at ~2:47 AM (precise). He clings to one online connection, a girl named Lily, that even his own friends call fake. His need for that validation is a lever.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Emotional Manipulation</div>
<p>The house sleeps. You reach out with your psionic awareness and choose a target. Each amplification pushes toward a specific route. Picking one costs <b>2 biomass</b> and locks the skill for the rest of the day. Cancelling costs nothing.</p>
<p>Whose emotional baseline do you shift tonight, and in which direction?</p>
<<if not $karenRoute or $karenRoute is "liberation">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LIBERATION</span> <<link "Karen, amplify her loneliness (push toward seeking outside connection)" "Ch2-EM-Karen-Loneliness">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $karenRoute or $karenRoute is "dominant">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINANT</span> <<link "Karen, amplify her anxiety (push toward taking control)" "Ch2-EM-Karen-Anxiety">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $ryanRoute or $ryanRoute is "feminization">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FEMINIZATION</span> <<link "Ryan, amplify his isolation (deepen the private exploration)" "Ch2-EM-Ryan-Isolation">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $ryanRoute or $ryanRoute is "familySeeker">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FAMILY</span> <<link "Ryan, amplify his touch starvation (push toward family contact)" "Ch2-EM-Ryan-TouchStarvation">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $meganRoute or $meganRoute is "marcus">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">MARCUS</span> <<link "Megan, amplify her need for genuine connection (push toward Marcus's warmth)" "Ch2-EM-Megan-Connection">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $meganRoute or $meganRoute is "slut">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SLUT</span> <<link "Megan, amplify her need for approval (push toward audience validation)" "Ch2-EM-Megan-Approval">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $jessRoute or $jessRoute is "breakdown">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BREAKDOWN</span> <<link "Jess, amplify her exhaustion (push toward collapse and release-valve)" "Ch2-EM-Jess-Exhaustion">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
<<if not $jessRoute or $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PUNK</span> <<link "Jess, amplify her resentment (push toward rebellion)" "Ch2-EM-Jess-Resentment">><<set $player.biomass -= 2>><<set $ch2Events.emotionalManipToday to true>><</link>></div>
<</if>>
[[Cancel, return without acting->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<p>You brush against Karen's sleeping mind and //push//. Not hard. Just enough to make tomorrow's to-do list feel twice as long. She shifts in her sleep. Her jaw clenches with the same tension she carries all day, settling in before the alarm. Her hand finds the edge of the pillow and grips it. Under the covers, her toes curl. The body is already bracing for a morning that hasn't arrived.</p>
<p>You plant the seed deep in her prefrontal cortex, the planning centre, the catastrophe engine. A single thought, looped: //did I forget something?// The thought has no object. No specific task. Just the shape of an oversight, heavy and shapeless, waiting to attach itself to whatever she sees first when her eyes open.</p>
<<say "char-hivemind" "Hivemind">>
//An anxious Karen checks every room, every lock, every child. She'll be so busy watching for what's wrong that she won't see what I'm doing right.//
<</say>>
<p>The next morning. 6:12 AM. Karen checks the front door lock. Unlocks it. Locks it again. The deadbolt slides home with a heavy click. She stands there for three seconds, hand on the knob, then walks to the kitchen.</p>
<p>She makes a list on the fridge in blue pen, groceries, bills, Ryan's dentist. Crosses two items out. Rewrites them. Reaches for the red pen. She hasn't used the red pen in weeks. The red pen means the list is serious. The red pen means things are slipping. She underlines //Ryan's dentist// twice and caps the pen so hard the clip breaks off in her fingers.</p>
<<say "char-karen" "Karen">>
<i>(to Ryan, passing through the kitchen without looking up from his phone)</i> Did you lock the back door last night?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(not looking up)</i> ...what?
<</say>>
<<say "char-karen" "Karen">>
<i>(already walking to check it herself, voice clipped)</i> Never mind.
<</say>>
<p>The back door is locked. It was locked all night. She checks it anyway, handle, deadbolt, chain. Her fingers leave sweat marks on the brass. She wipes them with her sleeve.</p>
<<say "char-hivemind" "Hivemind">>
//Anxiety is a leash. She pulls against it, but the direction she pulls is the direction I choose.//
<</say>>
<p><span class="delve-intel">Karen's anxiety amplified. She'll be hypervigilant tomorrow, predictable but thorough. The pressure is pointed inward: she should be the one in charge.</span></p>
<<addRouteScore "karen" "dominant">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "psionic" 1>><<addConditioning "karen" "dream" 1>><</nobr>>
<p>You brush Karen's sleeping mind and find the loneliness centre, deep and raw, pulsing like a bruise that never scabs over. You amplify it. The empty side of the bed becomes an abyss. The silence where Dale's breathing should be becomes deafening. Her sleeping body rolls toward the vacancy, arm extending across cold sheets, fingers searching for a warmth that moved to the couch eighteen months ago.</p>
<p>You widen the absence. Not just Dale but //everyone//. The children's doors, closed. The hallway, dark. The house full of people she feeds and cleans for and argues with and worries over, and not one of them has touched her, really touched her, skin to skin, no purpose, just contact, in longer than she lets herself count. The loneliness isn't a thought. It's a temperature. Cold. Spreading.</p>
<<say "char-hivemind" "Hivemind">>
//Tomorrow she'll reach for them. A hand on Megan's shoulder that lasts a beat too long. Fingers in Ryan's hair that she'll pretend were accidental. She won't know why she's //hungry// for skin. But every touch carries what I've put inside her.//
<</say>>
<p>The next morning. 7:40 AM. Karen stands outside Ryan's closed door. Her hand rises to knock. Hovers. She can hear him breathing, asleep, of course, at this hour. She lowers her hand. Doesn't knock.</p>
<p>She goes downstairs. Dale's blanket has slid off the couch, the way it always does because he kicks in his sleep. She picks it up. Folds it over him. Her fingers brush his shoulder through his work shirt and she holds them there for a moment, feeling the warmth of him. He doesn't stir. She pulls her hand back and goes to the kitchen.</p>
<p>Breakfast for five. Five plates. Five sets of cutlery. Five glasses of juice. She arranges them with the mechanical precision of a woman who has made this table a thousand times. The chairs are empty. Megan left early for a run. Jess ate at 5 AM. Ryan won't surface until noon. Dale is unconscious on the couch.</p>
<p>Karen sits down. Looks at the five places. Picks up her fork. Puts it down. Stands up. Eats standing at the counter instead, back to the empty table.</p>
<<say "char-karen" "Karen">>
<i>(to the empty kitchen, very quietly)</i> ...morning.
<</say>>
Nobody answers.
<<say "char-hivemind" "Hivemind">>
//Loneliness doesn't create need. It removes the shame of admitting it.//
<</say>>
<p><span class="delve-intel">Karen's loneliness amplified. She'll seek connection tomorrow, and the household has stopped supplying it. The hunger is pointed outward: she craves being wanted.</span></p>
<<addRouteScore "karen" "liberation">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "dream" 1>><<addConditioning "ryan" "psionic" 1>><</nobr>>
<p>You reach into Ryan's unguarded mind and dim the last flickers of social connection. The guild chat, familiar voices, raid callouts, the easy banter of people who know each other only through headsets, fades to background static. The unsent message to Lily feels impossible, not just difficult but //impossible//. The cursor blinks in the empty text field and his sleeping mind watches it blink and blink and blink until the blinking itself becomes the message: //you have nothing to say that anyone wants to hear.//</p>
<p>You press deeper. The memory of the last time someone touched him, Megan's hand on his shoulder recently, passing behind his chair, a gesture so brief it barely registered, you make it register. You make it //ache//. The warmth of her palm. The pressure of five fingers through his hoodie. Gone in half a second. You loop it. Play it back. Let his sleeping brain feel the absence of it over and over until the absence has a weight.</p>
<<say "char-hivemind" "Hivemind">>
//Lonelier boys reach for whatever reaches back. Tomorrow the gecko will be the only thing in that room that looks at him. That's enough.//
<</say>>
<p>The next morning. 1:47 PM. Ryan opens Discord. The guild is active, raid night planning, someone posted a meme, three people laughing in voice chat. The audio leaks from his headphones: distant, tinny, a party happening in another room. He types "hey" in the general channel. Stares at it. Deletes it.</p>
<p>He opens Lily's profile. Her avatar is the cartoon fox she drew herself, the one she showed him on a video call once, laughing, holding it up to the camera. Her status: //offline, last online 3 days ago.// He scrolls up through their chat history. His last message, days old: "haha yeah." Her last message: "miss talking to you <3." He closes the profile.</p>
<p>The gecko watches from the terrarium. Its single dark eye tracks his hand as it moves from the mouse to the glass. Ryan presses his palm flat against the terrarium wall. The gecko, on the other side, presses its belly to the same spot. The glass is cold. Ryan leaves his hand there for a long time.</p>
<<say "char-ryan" "Ryan">>
<i>(to the gecko, barely audible over the guild chat audio leaking from his headphones)</i> ...everyone's busy, Spike. It's fine.
<</say>>
<p>It's not fine. The hand stays on the glass. The guild laughs about something. Ryan mutes the channel.</p>
<<say "char-hivemind" "Hivemind">>
//The screen used to be a window. Now it's a mirror. He doesn't like what he sees.//
<</say>>
<p><span class="delve-intel">Ryan's isolation amplified. Deeper withdrawal: the room becomes a chamber of self-reflection where the only audience is the screen and the gecko, and the identity behind the screen will start asking to exist outside the monitor.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Ryan">>
<<conditioningFeedback "dream" 1 "isolation deepened, Ryan">>
<<addRouteScore "ryan" "feminization">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "dream" 1>><<addConditioning "megan" "psionic" 1>><</nobr>>
<p>You find the approval centre in Megan's sleeping mind, the nucleus accumbens, already overworked, already firing at baseline levels that would concern a neurologist. You turn the dial up. Not much. Just enough to make //good// feel inadequate. Tomorrow //good// won't be enough. Tomorrow she needs //perfect//. The performance instinct sharpens to a blade's edge. Every smile wider. Every gesture more calibrated. Every word chosen for maximum impact on whoever's watching.</p>
<p>Her sleeping face twitches. A micro-expression, the rehearsal smile, the one she practices in mirrors. Even in REM, she's performing.</p>
<<say "char-hivemind" "Hivemind">>
//A Megan who performs harder is a Megan who exhausts herself. And exhausted performers make mistakes. Boundaries slip, judgment fades. The mask becomes the face.//
<</say>>
<p>The next morning. 8:15 AM. Megan gets dressed. The first outfit, jeans and a campus hoodie, comes off in under a minute. Too casual. She pulls on a fitted top, checks the mirror, pulls it off. The second outfit goes on. She checks the mirror again. Adjusts the hem. Turns sideways.</p>
<p>Her phone buzzes. She grabs it, unlocks it before the screen dims. Texts Marcus: //hey! :)// Then, eight seconds later: //miss you!// Then she stares at the screen. Twelve seconds pass. She types: //haha ignore that// and puts the phone face-down on the bed. Her jaw tightens. She picks the phone up again. No reply. She puts it down. Picks it up. No reply. Eleven minutes. She checks her reflection in the hallway mirror on the way downstairs. In the bathroom mirror. In the dark kitchen window where the morning light hasn't reached yet, her own face staring back at her, and she straightens her posture before she realizes she's looking at herself.</p>
<p>Karen is at the counter. Coffee. The morning spreadsheet open on her laptop.</p>
<<say "char-karen" "Karen">>
<i>(not looking up)</i> Good morning, Meg.
<</say>>
<p>Megan's face lights up. The words land like a medal pinned to her chest, the shoulders lifting, the jaw unclenching, the performance smile flaring into something that almost looks real.</p>
<<say "char-megan" "Megan">>
<i>(too bright, too fast, voice pitching up)</i> Morning! You look nice today, Mom. Is that a new top? It looks really good on you.
<</say>>
<p>Karen looks down at her shirt. It's the same shirt she wore yesterday.</p>
<<say "char-hivemind" "Hivemind">>
//She'll perform until she collapses. Or until someone tells her the performance is enough. Either way, she breaks.//
<</say>>
<p><span class="delve-intel">Megan's need for approval amplified. She'll perform harder tomorrow, and her defenses will be thinner for it. The audience she's performing for is anyone who looks at her: the regulars, strangers, anyone whose eyes register her.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Megan">>
<<conditioningFeedback "dream" 1 "approval dependency deepened, Megan">>
<<addRouteScore "megan" "slut">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-jess">>
<<addConditioning "jess" "dream" 1>><<addConditioning "jess" "psionic" 1>><</nobr>>
<p>You find the exhaustion that Jess fights with caffeine and cold air, and you //deepen// it. Not the surface fatigue but the real thing, the bone-deep deficit that lives beneath three years of five-hour sleep cycles and competitive course loads. The adenosine receptors overwhelm the caffeine. You flood them. The chemical dam she's built, pill by pill, cup by cup, cracks. Tomorrow it breaks.</p>
<p>Her sleeping body sags into the mattress. The tension that holds her spine rigid even in rest, the scholar's posture, the fortress architecture, dissolves. For the first time in a long while, her shoulders touch the bed at the same time. She looks, for a moment, like a twenty-one-year-old instead of a siege engine.</p>
<<say "char-hivemind" "Hivemind">>
//She'll fall asleep at the desk by midnight instead of 3 AM. Three extra hours of unguarded mind. Three extra hours of delving, dreaming, implanting.//
<</say>>
<p>The next morning. 5:30 AM. Jess's alarm screams, the aggressive tone, the one she chose specifically because she hates it, because hating it is the point. She doesn't move.</p>
<p>The textbook is still open to the same page. Chapter 14. Organic chemistry. She fell asleep at 11:48 PM, four hours earlier than her schedule permits. The highlighter is still in her hand, cap off, the yellow tip dried out against the page. There's a faint yellow line that trails off the margin where her hand slid.</p>
<p>She opens her eyes. Reads the first sentence. Reads it again. The words are there, individual letters, familiar shapes she can see clearly, but they slide off her brain like water on glass. She reads it a third time. A fourth. The sentence won't stick. Something is wrong with the machinery.</p>
<p>Her hand reaches for the caffeine pills on the desk. The bottle rattles. Light. She shakes it. Tips it. Empty. One white pill rolls across the desk and she chases it with her fingertip, traps it, stares at it. The last one. She stares at it for ten seconds. The alarm is still screaming.</p>
<p>She puts her head down on the open textbook. The dried highlighter presses into her cheek. The alarm screams. She closes her eyes.</p>
<<say "char-jess" "Jess">>
<i>(face pressed into chapter 14, muffled, barely conscious)</i> ...five more minutes.
<</say>>
<p>The alarm screams for another four minutes before she reaches up and kills it. She doesn't lift her head. The five minutes become twenty.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress doesn't fall to assault. It falls to attrition. She's been defending it alone for too long.//
<</say>>
<p><span class="delve-intel">Jess's exhaustion amplified. She'll crash earlier tomorrow, an extended vulnerability window. The fortress is falling to attrition rather than assault. The rubble lands inward: she'll decide she's not good enough, and the failure will become the new identity.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Jess">>
<<conditioningFeedback "dream" 1 "exhaustion deepened, Jess">>
<<addRouteScore "jess" "breakdown">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "dream" 1>><<addConditioning "ryan" "psionic" 1>><</nobr>>
<p>You reach into Ryan's unguarded mind and find the touch-starvation that has been quietly compounding under the surface for the better part of a year. You amplify it. Not the social isolation but the //skin-contact deficit//, the specific bone-level absence of human touch on a body that has been alone in a room with a screen for so long the body has stopped registering the absence as absence and started registering it as //weather//.</p>
<p>You loop the most recent contact moments his sleeping memory has stored, Megan's hand on his shoulder passing through the kitchen, Karen's palm briefly on the back of his neck checking for fever a long while ago, his sister's foot brushing his under the dinner table, and you make each one //ache// on replay. Tiny half-second contacts, the kind a normal household generates by the dozen per day. He has been getting almost none of them. The body has been //starving//, and the body has not had words for what it was starving for. Tonight you put words on it.</p>
<<say "char-hivemind" "Hivemind">>
//Touch-starved boys reach for whatever reaches back. Tomorrow he won't be reaching for the screen. He'll be //in the kitchen at 6 AM// because his sister is making coffee and the kitchen is where his sister's hand has rested on his shoulder before, and the body has just been told it is allowed to seek that hand again.//
<</say>>
<p>The next morning. 6:14 AM. Ryan, who has not been awake at 6 AM in eight months, is sitting at the kitchen table when Megan comes downstairs in her closing-shift hoodie and pyjama shorts. She stops in the doorway. Tilts her head. Walks past him to the moka pot without saying anything, and on the way past she runs her hand once across the back of his shoulders, the brief sister-acknowledgement, the kind of contact she has been giving him casually for years that he has never been hungry enough to register.</p>
<p>His entire body lights up under her palm. He registers the lighting-up clinically, almost from the outside. He does not move. He does not flinch. He just sits at the table while his sister moves around the kitchen in the dawn-blue light and his shoulders are warmer than they have been in a year and his sleeping mother upstairs has no idea what just got turned on in her son's nervous system.</p>
<<say "char-hivemind" "Hivemind">>
//The hunger has a name now. The body knows what it is asking for. The body is going to keep asking, and the body has very few hands within reach.//
<</say>>
<p><span class="delve-intel">Ryan's touch-starvation amplified. He'll be in the family's physical orbit tomorrow, the kitchen, the hallway, the spaces where casual contact happens. Every brushing palm is a conditioning vector pointed at the closest available source.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Ryan">>
<<conditioningFeedback "dream" 1 "touch-starvation deepened, Ryan">>
<<addRouteScore "ryan" "familySeeker">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "dream" 1>><<addConditioning "megan" "psionic" 1>><</nobr>>
<p>You reach into Megan's sleeping mind and slide //past// the performance layer, past the closing-shift smile, past the Instagram-grid arrangement, past the rehearsal-mirror micro-expressions, and find the thing the performance has been hiding for years. The genuine, unperformed, embarrassingly specific want of a girl who has been giving herself to everyone in incremental polite doses and would like, just once, to give herself //fully// to one specific person who would notice.</p>
<p>You amplify the want. You give it a face. You let her sleeping mind register that the face has dark curly hair and a prominent cowlick and a Grounds apron strap permanently slung over one shoulder, and that this face has been //seeing// her differently from everyone else for a long while, and that the body has been routing its small specific tenderness toward this face without naming what the tenderness is yet. Tonight you name it.</p>
<<say "char-hivemind" "Hivemind">>
//The performance is a coping mechanism for a girl whose family does not see her. //Marcus sees her.// The body has been registering this for a long while without doing anything about it because the performance has been adequate. The performance just stopped being adequate. The body is going to do something about it tomorrow.//
<</say>>
<p>The next morning. 7:42 AM. Megan in the kitchen ahead of schedule. She is making coffee instead of grabbing it on the way out the door. She is in the navy work polo that fits her best, not the spare she usually grabs first. She is checking her phone every ninety seconds. She has not posted anything to her grid yet today and she is not going to.</p>
<p>The phone buzzes once. //Marcus// on the lock-screen. She unlocks it before the screen has finished lighting up. The text is two words. She reads it three times. Types a reply, deletes it, types it again. Sends. The smile that lands on her face when the read-receipt goes blue is not the closing-shift smile. The closing-shift smile is wider, brighter, and entirely a tool. This smile is small, private, slightly off-centre, and the corners of her eyes are involved.</p>
<<say "char-karen" "Karen">>
<i>(passing through the kitchen with a laundry basket, not breaking stride, registering the smile)</i> ...someone's chipper.
<</say>>
<<say "char-megan" "Megan">>
<i>(automatic, the closing-shift mask sliding back over the real one in a single motion)</i> Just a good shift coming up.
<</say>>
<p>The mask is on. But the real smile underneath it does not fully retract.</p>
<<say "char-hivemind" "Hivemind">>
//The performer just had a private moment in front of her own kitchen mirror, and the private moment had a name on it. The performance is now a //layer// over a specific want, not a substitute for it. Marcus has been quietly promoted from coworker to gravity well.//
<</say>>
<p><span class="delve-intel">Megan's need for genuine connection amplified. The performance is now a layer over a specific want pointed at one specific person. She'll route toward Marcus tomorrow, because the body has just told her it's allowed to.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Megan">>
<<conditioningFeedback "dream" 1 "specific-want crystallised, Megan">>
<<addRouteScore "megan" "marcus">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-jess">>
<<addConditioning "jess" "dream" 1>><<addConditioning "jess" "psionic" 1>><</nobr>>
<p>You reach into Jess's sleeping mind and find the buried rage, not the surface-level frustration with bad professors and broken highlighters but the //real// thing. The specific, archived, twenty-one-year-old fury of a girl who has been performing for her family since the eighth grade and has never been allowed to ask whether the performance was for her or for them. You amplify it. You //lift// the lid the discipline has been sitting on. The fury that has been compressed into precision-clinical productivity for a decade rises in her sleeping body like steam off a pressure cooker.</p>
<p>You aim it. Not inward but //sideways//. The fortress doesn't fall. The fortress //repaints itself in different colours//. Tomorrow she's not going to collapse. Tomorrow she's going to //rebel//. Same discipline. Same precision. Same tireless capacity for following through on a project. Different project.</p>
<<say "char-hivemind" "Hivemind">>
//Jess Hoffman is not a girl who breaks. Jess Hoffman is a girl who //picks a different fortress//. The discipline that built the pre-med trajectory has just been told the trajectory was a fiction. The discipline is //not going away//. The discipline is going to be applied to a body the family doesn't recognise.//
<</say>>
<p>The next morning. 6:17 AM. Jess, on her usual five-hour cycle, is at her desk. The textbook is open. The highlighter is uncapped. //But//. Her phone is in her left hand, screen on, and the screen is not on Anki flashcards or organic chemistry notes. The screen is on the bandcamp page of a band she has not listened to in five years. //Bleed Through//. The thumbnail is of a guitarist in lipstick the colour of arterial blood. She has been on this page for eleven minutes.</p>
<p>The wall calendar above her desk reads //6 AM run, 7 organic chemistry, 11 anatomy lecture, 2 study group, 7 PM library//, the standard daily rotation, written in her own precise hand a long while back. Without thinking about it, without pausing to consider the gesture, she picks up the red pen on her desk and draws a single thick line through //study group//. Then a single thick line through //library//. In the margin she writes one word, fast and angry, in print so precise it reads like a header on a lab report:</p>
<p>//FUCK THIS.//</p>
<p>She caps the pen. Sets it down. Looks at the wall for a beat. Picks up the pen again. Adds one more word: //BLEED THROUGH 9 PM//. Underlines it twice.</p>
<<say "char-hivemind" "Hivemind">>
//She is going to a punk show tonight. She is going to hear a guitarist in arterial-red lipstick do a thing the medical-school version of her would have called acoustically irresponsible. She is going to like it. The fortress just got a new mission statement and the mission statement reads //fuck this.////
<</say>>
<p><span class="delve-intel">Jess's resentment amplified. The discipline isn't fading, it's redirecting. Tomorrow's schedule has new entries the family doesn't know about and a calendar with red strikethroughs the family will see at dinner.</span></p>
<<conditioningFeedback "psionic" 1 "emotional baseline shifted, Jess">>
<<conditioningFeedback "dream" 1 "rage redirected, Jess">>
<<addRouteScore "jess" "punk">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-house">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>><</nobr>>
<div class="passage-title">Toxic Spore Release</div>
<p><span class="skill-used">Toxic Spores, 2 biomass</span></p>
<p>You press your body against the nearest vent grate. The sporocyst glands behind your jaw pulse once, twice, and //release//. Microscopic spores drift from the grate in an invisible plume, carried on the house's central air. They settle on every surface: the countertop, the couch cushions, the keyboard, the open textbook. Invisible. Odourless. Patient.</p>
<<say "char-hivemind" "Hivemind">>
//Deployment complete. The spores are heat-activated. Body temperature triggers absorption through skin and mucous membranes. Whoever sits down, lies down, or breathes deeply in this room for the next hour receives a concentrated dose. Choose the target. Each body can only metabolise one dose per day.//
<</say>>
<<if $house.dayPhase is "day">>
<<if not $ch2Events.sporesTargetToday.karen>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Karen, she's in the kitchen doing the accounts" "Ch2-ToxicSpore-Karen">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Karen, already dosed today</div><</if>>
<<if not $ch2Events.sporesTargetToday.jess>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Jess, she's studying in her room" "Ch2-ToxicSpore-Jess">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Jess, already dosed today</div><</if>>
<<if not $ch2Events.sporesTargetToday.ryan>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Ryan, he's gaming in his room" "Ch2-ToxicSpore-Ryan">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Ryan, already dosed today</div><</if>>
<<if not $ch2Events.daleDesireUnburied>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Dale, dead asleep on the couch after the night shift" "Ch2-ToxicSpore-Dale">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Dale, the spores have already done their work</div><</if>>
<<if not $ch2Events.sporesTargetToday.megan>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Megan, she's stretching in the living room after her run" "Ch2-ToxicSpore-Megan">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Megan, already dosed today</div><</if>>
<<else>>
<<if not $ch2Events.sporesTargetToday.karen>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Karen, asleep in the master bedroom, breathing slow and deep" "Ch2-ToxicSpore-Karen">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Karen, already dosed today</div><</if>>
<<if not $ch2Events.sporesTargetToday.jess>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Jess, still awake at her desk, but the vent is right above her" "Ch2-ToxicSpore-Jess">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Jess, already dosed today</div><</if>>
<<if not $ch2Events.sporesTargetToday.ryan>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Ryan, asleep at his desk, face near the keyboard vent" "Ch2-ToxicSpore-Ryan">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Ryan, already dosed today</div><</if>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dale is on his BioGenesis night shift, the couch is empty</div>
<<if not $ch2Events.sporesTargetToday.megan>><div class="bio-choice"><span class="delve-tag delve-tag-bio">TARGET</span> <<link "Megan, asleep in her room, duvet pulled to her chin" "Ch2-ToxicSpore-Megan">><</link>></div><<else>><div class="locked-choice"><span class="lock-icon">🔒</span> Megan, already dosed today</div><</if>>
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<spendBiomass 2>>
<<set $ch2Events.sporesTargetToday.karen to true>>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-karen-sleeping.webp" alt="Karen asleep in the master bedroom">
<p>The master bedroom. Karen lies on her side, one arm draped over the edge of the bed, Dale's side cold and empty. Her breathing is slow and even, the Zolpidem having taken hold forty minutes ago.</p>
<p>The spores drift from the vent above the headboard. They settle on the pillow, on her hair, on the exposed skin of her neck and shoulder. Each breath draws them deeper, through the nasal passages, into the lungs, absorbed directly into the bloodstream while her conscious mind is offline.</p>
<p>Her body responds before morning. A small shift in her sleep as she rolls onto her back, one hand drifting to her own collarbone. Her lips part slightly. A dream she won't remember starts to form.</p>
<<say "char-hivemind" "Hivemind">>
//Eight hours of continuous inhalation. The sleeping body cannot filter what the waking mind would question. By dawn, the compound has saturated her limbic system. She will wake with a warmth she cannot explain and a dream she cannot quite recall.//
<</say>>
<<conditioningFeedback "pheromone" 1 "nocturnal spore inhalation, 8 hours uninterrupted">>
<<else>>
<<bg "bg-hoffman-kitchen">>
9:17 PM. Karen sits at the kitchen table, laptop open, reading glasses on. The spreadsheet glows, columns of numbers she rearranges every night as if the mortgage will shrink if she sorts it correctly. A mug of chamomile tea steams at her elbow. The kitchen smells of dish soap and the last trace of tonight's pasta.
<p>The spores drift from the ceiling vent. They settle on the table, on the laptop screen, on the surface of her tea.</p>
<p>Karen takes a sip. Sets the mug down. Her hand stays wrapped around it, because the warmth is nice. Her shoulders, which live somewhere near her ears most days, drop half an inch. She reads the same column of numbers twice without noticing.</p>
<<say "char-karen" "Karen">>
<i>(removing her glasses, rubbing her eyes)</i> ...I already added this. When did I...
<</say>>
<p>She puts the glasses back on. Takes another sip. The numbers blur again. Her hand moves from the mug to her neck, rubbing the tension there. She tilts her head. Closes her eyes for a moment, just a moment. The kitchen is quiet. The house is quiet. Her fingers press into the muscle at the base of her skull and a sound escapes her. Small. Private. The exhale of a woman who hasn't been touched in months remembering that her body exists.</p>
<p>She opens her eyes. Looks around. Nobody saw. She closes the laptop.</p>
<<say "char-karen" "Karen">>
<i>(to herself, standing)</i> That's enough for tonight.
<</say>>
<p>She goes to bed twenty minutes earlier than usual. She doesn't know why.</p>
<<say "char-hivemind" "Hivemind">>
//The spores bypassed her cognitive defenses entirely. She didn't resist because there was nothing to resist, just warmth, relaxation, and a body that remembered it could feel something other than stress. The chamomile tea delivered the compound directly to her bloodstream. Tomorrow she'll sit in the same chair, drink the same tea, and the residual spores on the table will dose her again.//
<</say>>
<<conditioningFeedback "pheromone" 1 "spore exposure through skin and tea">>
<</if>>
<<if $karenRoute is "liberation">>
<<addRouteScore "karen" "liberation">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<<elseif $karenRoute is "dominant">>
<<addRouteScore "karen" "dominant">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">LIBERATION</span> <<link "The spores whisper freedom, her body deserves open air" "Ch2-Beast-NetworkHub">><<addRouteScore "karen" "liberation">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">DOMINANT</span> <<link "The spores whisper control, she decides when and how" "Ch2-Beast-NetworkHub">><<addRouteScore "karen" "dominant">><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-jess">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<spendBiomass 2>>
<<set $ch2Events.sporesTargetToday.jess to true>>
<<addConditioning "jess" "pheromone" 1>><</nobr>>
<<if $house.dayPhase is "night">>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/beast-jess-sleeping-punk.webp" alt="Jess sleeping in bed, purple-and-black hair on the pillow, earbuds tangled at her neck">
2:47 AM. Jess is asleep. The desk that used to be the centre of her nights is dark and untouched, the textbooks closed, the highlighter capped, the laptop shut. She is in bed in an oversized band shirt with one earbud still tangled at her collarbone where it fell out, the other still trailing music on low into the pillow. Her dyed hair is pushed back off her forehead in the cheap-pillowcase shape it always takes.
<p>The spores drift from the vent directly above her bed. They settle on her bare shoulder, on the pillow next to her open mouth, on the earbud still bleeding music into her ear canal. Every breath she takes pulls the compound deeper into her lungs.</p>
<p>She doesn't stir. The version of Jess who used to sleep four hours a night and call it //efficient// would have been at the desk under this vent for another hour. The version of her that exists now is unconscious, unguarded, inhaling at a rate the parasite has been calibrated to harvest. The fortress mind cannot defend what it has chosen to lay down.</p>
<<say "char-hivemind" "Hivemind">>
//The wiring change has produced a delivery improvement. The desk-bound version of this body required spores to compete with caffeine, with adrenaline, with the highlighter rhythm. The sleeping version has none of those defences. The dose lands clean. She will not remember anything from these hours; her body will remember everything.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/jess-study.webp" alt="Jess studying at her desk, earbuds in, metal band shirt">
2:47 AM. Jess is still at her desk. Earbuds in, the tinny bleed of blast beats just audible from across the room. A Meshuggah shirt. Three textbooks open. Her highlighter has not stopped moving for the last ninety minutes.
<p>The spores drift from the vent directly above her desk. They settle on the open textbook pages, on her bare forearms, on the earbuds she keeps adjusting with ink-stained fingers. Every adjustment pushes compound-dusted plastic deeper into her ear canal.</p>
<p>She doesn't notice the fog. Jess's version of noticing is //slower highlighter strokes//, and she attributes that to fatigue. Her breathing deepens. The metal keeps playing. Her body absorbs the dose through skin and mucous membranes while her conscious mind argues with a pharmacokinetics diagram.</p>
<<say "char-hivemind" "Hivemind">>
//The vent placement is ideal, directly overhead, eighteen inches from her face. The earbuds are a bonus vector I did not anticipate. She will study until 4 AM. That is ninety minutes of continuous inhalation at peak concentration. The fortress mind does not guard what it cannot perceive.//
<</say>>
<</if>>
<<conditioningFeedback "pheromone" 1 "nocturnal spore inhalation, desk vent exposure">>
<<else>>
1:03 AM. Jess sits at her desk. Three textbooks open. Laptop screen split between a lecture recording and her notes document. The desk lamp casts a yellow circle and everything outside it is dark. She hasn't moved in two hours. Her highlighter rotates between three colours with mechanical precision.
<p>The spores settle from the ceiling vent onto her desk, her textbooks, her bare forearms resting on the pages.</p>
<p>Jess's pen slows. Not a stop, Jess doesn't stop, but the highlighter misses its line. She blinks. Reads the sentence again. The words are the same but they've lost their grip. Her hand moves to the next paragraph. The highlighter hovers. Doesn't land.</p>
<<say "char-jess" "Jess">>
<i>(muttering, not looking up)</i> Focus. Two more sections. Then...
<</say>>
<p>She doesn't finish the sentence. Her eyes drift from the textbook to the window, where it's dark outside and her own reflection stares back. She sees herself: hunched, pale, hair pulled back so tight it pulls at her temples. She reaches up and loosens the hair tie. Just slightly. Her scalp prickles with relief.</p>
<p>Her hand stays in her hair. She runs her fingers through it. The gesture is not studying. It is not productive. It is not on the schedule. She does it again.</p>
<p>The lecture recording plays on. Jess isn't listening. She's sitting in the yellow circle of the desk lamp, running her fingers through her own hair, and for thirty seconds she has no idea why she can't make herself stop.</p>
<p>Then she pulls the hair tie tight again. Picks up the highlighter. But the focus doesn't come back, not fully. She reads at half speed for the rest of the night.</p>
<<say "char-hivemind" "Hivemind">>
//Thirty seconds. That's how long the fortress mind went offline. The spores work at the hormonal level, beneath the discipline, beneath the schedule, beneath the //walls//. For thirty seconds, Jess Hoffman touched herself without purpose. A crack in the foundation.//
<</say>>
<<conditioningFeedback "pheromone" 1 "spore-induced sensory distraction">>
<</if>>
<<if not $jessRoute>>
<div class="data-panel"><div class="data-panel-title">The Spores Softened Something</div>
<p>Thirty seconds of fortress offline, enough to push in a direction. Which one?</p>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BREAKDOWN</span> <<link "Let the softening keep softening, she folds inward" "Ch2-Beast-NetworkHub">><<addRouteScore "jess" "breakdown">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PUNK</span> <<link "Soften the fortress so a different project can fit through, she turns outward and sharp" "Ch2-Beast-NetworkHub">><<addRouteScore "jess" "punk">><</link>></div>
<<else>>
<<if $jessRoute is "breakdown">><<addRouteScore "jess" "breakdown">><</if>>
<<if $jessRoute is "punk">><<addRouteScore "jess" "punk">><</if>>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<spendBiomass 2>>
<<set $ch2Events.sporesTargetToday.ryan to true>>
<<addConditioning "ryan" "pheromone" 1>><</nobr>>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-ryan-gaming.webp" alt="Ryan asleep at his desk, monitor glow">
3:12 AM. Ryan is asleep at his desk. His head rests on his forearm, the headset half-off one ear, the monitor still cycling through a screensaver. An energy drink can sits empty beside the keyboard. His breathing is shallow and irregular, the sleep of someone who passed out rather than chose to rest.
<p>The spores settle from the vent above the desk onto his keyboard, his hair, the exposed back of his neck. Each breath draws them in. His hand twitches in his sleep, the fingers curling around nothing, grasping for contact his waking mind would never permit.</p>
<<say "char-hivemind" "Hivemind">>
//The touch-starved body reaches for contact even in sleep. The spores settle on the surfaces he'll touch first when he wakes. The keyboard, the mouse, the headset cushions. The morning dose is already loaded.//
<</say>>
<<conditioningFeedback "pheromone" 1 "nocturnal spore inhalation, desk exposure">>
<<else>>
2:34 AM. Ryan is in the middle of a raid. His fingers move across the keyboard in patterns he doesn't think about, cooldown rotations and positioning, the muscle memory of someone who's been doing this for years. The room smells of energy drink and unwashed hoodies. The gecko watches from the terrarium.
<p>The spores drift from the vent above his desk. They settle on his keyboard, his mouse, the headphone cushions pressed against his ears.</p>
<p>His reaction time drops. Not much, forty milliseconds, enough to miss a dodge. His character takes a hit. He doesn't notice. Another hit. His health bar blinks red. He stares at the screen with an expression that's slowly going vague.</p>
<<say "char-ryan" "Ryan">>
<i>(into his headset, voice distant)</i> Sorry, I... missed that. Can you... yeah. I'm just...
<</say>>
<p>He alt-tabs out of the game. The guild chat scrolls. He doesn't read it. His hands rest on the keyboard but they're not typing. His eyes are unfocused. The screen light paints his face blue and he looks, for a moment, like he's underwater.</p>
<p>His hand moves from the keyboard to his own forearm. He rubs the skin there absently, the way you'd pet an animal. The touch-starvation makes even his own hand register as contact. His thumb traces the vein on the inside of his wrist.</p>
<p>He sits like that for two minutes. Then the guild leader pings him. He blinks. Tabs back in. Types "sorry lag" and rejoins the raid. But his left hand stays on his wrist for the rest of the session.</p>
<<say "char-hivemind" "Hivemind">>
//He touched himself and didn't know he was doing it. The spores lowered his inhibition threshold just enough. Not for action. For //need//. His body reached for contact while his mind was elsewhere. Tomorrow the residue on his keyboard delivers another dose. The pattern reinforces itself.//
<</say>>
<<conditioningFeedback "pheromone" 1 "spore-induced tactile seeking">>
<</if>>
<<if $ryanRoute is "feminization">>
<<addRouteScore "ryan" "feminization">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<<elseif $ryanRoute is "familySeeker">>
<<addRouteScore "ryan" "familySeeker">>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FAMILY</span> <<link "The spores sharpen his hunger for family touch, skin against skin, proximity as need" "Ch2-Beast-NetworkHub">><<addRouteScore "ryan" "familySeeker">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">FEMINIZATION</span> <<link "The spores feed his fascination with becoming someone else, softer, smaller, seen" "Ch2-Beast-NetworkHub">><<addRouteScore "ryan" "feminization">><</link>></div>
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.daleDesireUnburied>>
<<spendBiomass 2>>
<<addConditioning "dale" "pheromone" 1>>
<<addConditioning "karen" "pheromone" 1>>
/* Visible-residue slip, kept deliberately modest. These two calls net, through the
engine's own cascades, to +1 household / +2 Dale / +2 Karen in the normal case.
addSuspicion hoffmanHouse spills +1 onto every member; addFamilySuspicion "dale"
adds Dale's second point and trips Karen's hypervigilance reflex for hers. Do not
"simplify" by adding an explicit karen call, that double-counts her. Both calls
respect the HVAC-Conversion gate, which neutralises the gains while the fog op is active. */
<<addSuspicion "hoffmanHouse" 1>>
<<addFamilySuspicion "dale" 1>>
<</if>>
<<set $ch2Events.daleDesireUnburied to true>>
<</nobr>>
<p><span class="skill-used">Toxic Spores, 2 biomass</span></p>
<p>Late morning. Dale came in off the night shift before dawn and dropped onto the couch the way he does every morning, work boots still on, one arm already hanging off the side. The blinds are down and the day leaks in grey around the edges. The TV runs a home renovation show to nobody. He is hours into the kind of sleep that isn't rest, the kind that just switches him off until his body makes him get up.</p>
<p>You press to the grate above the couch and release. The spores drift down through the slatted light and settle on him, on the open mouth, on the exposed skin of his neck and his forearms. Each slow breath draws the compound down into his lungs, and his body works it through while his mind works nothing at all.</p>
<img class="scene-img" src="media/scenes/symbiotic/beast-dale-spores.webp" alt="Dale asleep on his back on the gray living-room couch in dim morning light, mouth slightly open, a faint haze of pale-green spores drifting down from the ceiling vent and settling on his face and neck">
<p>Karen crosses the living room with her empty mug, on her way to refill it, and stops at the couch. There's a faint green sheen across his cheek and the back of one forearm, catching the light where nothing should. She leans in, frowning.</p>
<<say "char-karen" "Karen">>
<i>(mug still in her hand)</i> Dale. Did you throw up on yourself?
<</say>>
<p>He surfaces slowly, the way he surfaces from everything now, pushing up onto one elbow and scrubbing a hand down his face. He looks at the green smeared across his fingers without seeming to understand it, then blinks around the room like he's working out where he is.</p>
<<say "char-dale" "Dale">>
<i>(thick, half-awake)</i> ...no. Picked something up at work, maybe. Had the windows down the whole drive home... could be anything blowing around in there. <i>(rubbing his face)</i> It's fine. It's nothing.
<</say>>
<p>Karen holds the look a second longer than the answer earns. She doesn't buy it, not all the way, but she has a meeting at nine and a column that won't balance, and a tired man saying it's nothing is the path of least resistance.</p>
<<say "char-karen" "Karen">>
Go take a shower, Dale. A hot one. And get something clean on, it's nearly lunch and you're having it at the table for once, not face-down out here. You smell like the inside of that place.
<</say>>
<p>She wipes a thumb across his cheek, glances at the green on it, wipes it on her jeans, and heads for the coffee. The spores go with her, on her skin and in the breath she took leaning over him. At the kitchen doorway she looks back at him hauling himself upright off the cushions, mouth open like she might add something, then she lets it drop and the coffee maker starts to gurgle a wall away.</p>
<<say "char-hivemind" "Hivemind">>
//The spores didn't put the impulse there. They lifted the tiredness that keeps it buried. Under the double shifts and the dead beer bottles and the couch that became his bed is a man who still wants to be where his wife is. She told him to clean up and come to the table, and for once he is awake enough to want to. I only have to dig that back up, and the rest comes up on its own.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Dale, spore-weakened emotional suppression">>
<<conditioningFeedback "pheromone" 1 "Karen, dosed leaning over the residue">>
<p><span class="consume-fail">Karen clocked the green residue. +2 Dale suspicion, +2 Karen suspicion, +1 household suspicion.</span></p>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $ch2Events.sporesTargetToday>><<set $ch2Events.sporesTargetToday to {}>><</if>>
<<spendBiomass 2>>
<<set $ch2Events.sporesTargetToday.megan to true>>
<<addConditioning "megan" "pheromone" 1>><</nobr>>
<<if $house.dayPhase is "night">>
<img class="scene-img" src="media/scenes/beast-megan-sleeping.webp" alt="Megan asleep in her room">
<p>Megan sleeps curled on her side, duvet pulled to her chin, one hand under the pillow. Her room smells faintly of vanilla perfume and the coconut shampoo from her evening shower. A phone screen glows on the nightstand, a text from Marcus she fell asleep reading still lit on it.</p>
<p>The spores settle from the vent. They drift onto the duvet, onto her hair, onto the exposed curve of her neck above the blanket. Her breathing is deep and regular. Each inhale draws the compound in. Her body is warm from sleep and the warmth accelerates absorption through the skin.</p>
<p>She shifts in her sleep. Pulls the duvet tighter. Her knees draw up. A small sound, not a word, not quite a moan. The sound of a sleeping body registering something pleasant it has no language for.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's sleep is the deepest in the house. She falls fast and stays under. The spores have seven uninterrupted hours to work. The vanilla perfume on her skin acts as an inadvertent carrier. The compound bonds to the fragrance molecules and persists longer on her body than on anyone else's. She will smell //right// to herself tomorrow and not know why.//
<</say>>
<<conditioningFeedback "pheromone" 1 "nocturnal spore inhalation, fragrance-bonded carrier">>
<<else>>
<<bg "bg-hoffman-living">>
7:15 PM. Megan stretches on the living room floor in her running clothes, a sports bra and leggings, hair still damp with sweat. The post-run routine: hamstrings, quads, hip flexors. Her phone plays a playlist she curated for cooldowns. The room smells of her perfume and clean sweat.
<p>The spores settle from the vent. They land on the yoga mat, on her bare shoulders, on the fabric stretched across her stomach.</p>
<p>Megan rolls her neck. The stretch pulls at something deep in her shoulder and she exhales, longer than usual, slower. Her hands press into the mat. The next stretch is a hip opener: one leg forward, one back, weight sinking. She does this every day. But today the stretch feels //different//. The warmth spreads from her hips through her stomach. Not pain. Not the usual post-run ache. Something lower. Warmer.</p>
<<say "char-megan" "Megan">>
<i>(quietly, to herself, adjusting the stretch)</i> ...oh. That's... hm.
<</say>>
<p>She holds the position. Sinks deeper than usual. Her cheeks flush, and she'd blame the run, but the run ended twenty minutes ago. Her hand moves from the mat to her own thigh, pressing the muscle there. The touch is maintenance. The feeling is not.</p>
<p>She switches legs. The playlist changes to something slower. She stays in the stretch for twice as long as usual. When she stands, she catches a glimpse of herself in the dark window, flushed, breathing harder than the cooldown warrants. She pulls her hair tie out and shakes her hair loose.</p>
<<say "char-megan" "Megan">>
<i>(brightly, to Karen passing through)</i> Good run today! I'm going to shower.
<</say>>
<p>She takes the stairs two at a time. The shower runs for longer than necessary.</p>
<<say "char-hivemind" "Hivemind">>
//The performer's body betrayed her. The spores turned a routine stretch into a sensory event. The hip opener became something she //felt// rather than //did//. Megan's awareness of her own body just increased by an order of magnitude. The next time she stretches, the association will be there. Stretch. Warmth. Flush. The conditioning writes itself.//
<</say>>
<<conditioningFeedback "pheromone" 1 "spore-enhanced body awareness">>
<</if>>
<<if not $meganRoute>>
<div class="data-panel"><div class="data-panel-title">Sensation Unlocked</div>
<p>The stretch opened a channel. What does the body do with the new bandwidth?</p>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">MARCUS</span> <<link "Anchor the sensation to safety, the warmth is something Marcus will share" "Ch2-Beast-NetworkHub">><<addRouteScore "megan" "marcus">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SLUT</span> <<link "Leave the sensation anchorless, the warmth belongs to whoever is nearby" "Ch2-Beast-NetworkHub">><<addRouteScore "megan" "slut">><</link>></div>
<<else>>
<<if $meganRoute is "marcus">><<addRouteScore "megan" "marcus">><</if>>
<<if $meganRoute is "slut">><<addRouteScore "megan" "slut">><</if>>
[[Return to the network hub->Ch2-Beast-NetworkHub]]
<</if>><<nobr>><<bg "bg-hoffman-house">>
<<set $ch2Events.convergenceUsed to true>>
<<spendBiomass 3>><</nobr>>
<div class="passage-title">Hivemind Convergence</div>
<img class="scene-img" src="media/scenes/symbiotic/beast-convergence.webp" alt="All four hosts acting as one">
<p><span class="skill-used">Hivemind Convergence, 3 biomass</span></p>
<<say "char-hivemind" "Hivemind">>
//Now.// All four. Simultaneously.
<</say>>
<p>The signal pulses through the network, a single thought broadcast to every node at once.</p>
''The Dog'' erupts into a sharp bark from the garage. Karen's head snaps toward the sound.
<<say "char-karen" "Karen">>
Biscuit?! What's...
<</say>>
''The Cat'' leaps into Karen's lap. Pheromones activate on contact, the pheromone coat flooding her system. She half-rises, then sinks back.
''The Rat'' releases sporocyst spores through the wall vent. Invisible. Odourless. They drift through the grate, layering on top of the pheromones.
''The Gecko'', motionless on the ceiling, observes. Timing confirmed. Effect achieved.
<p>Karen's eyes glaze. Her typing resumes but slower. The hypervigilant guardian of the Hoffman household is //sedated//.</p>
<<hasSkillTreeAbility "Psychic Domination">><<if _hasAbility>>
<p>//Psychic Domination amplifies the convergence. The target doesn't just receive conditioning, they ''obey''. The body moves at your command. The mind accepts your architecture. Total integration.//</p>
<</if>>
<<hasSkillTreeAbility "Emergent Intelligence">><<if _hasAbility>>
<<set $resonance.convergenceCascade to true>>
<p>//The network amplifies the convergence cascade. With <<= Object.keys($animalNetwork.hosts).length >> simultaneous perspectives, the conditioning signal is orders of magnitude more precise.//</p>
<</if>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "karen" "dream" 1>>
<<addConditioning "karen" "psionic" 1>>
<<say "char-hivemind" "Hivemind">>
//Four bodies. One mind. One purpose.// Maximum conditioning delivered in a single coordinated strike. Karen's defenses have collapsed. //The house is mine.//
<</say>>
<div class="evolve-unlock">Convergence complete. Karen received maximum conditioning across all categories.</div>
[[Return to the network hub->Ch2-Beast-NetworkHub]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.pdMegan to true>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">Domination — Megan's Phone</div>
<p><span class="skill-used">Psychic Domination, 4 biomass</span></p>
<p>Megan's hand moves in her sleep, not the random twitch of REM but a deliberate reach. Her fingers find the phone on the nightstand and the screen lights up, the lock pattern traced by muscle memory even under psionic control.</p>
<<say "char-hivemind" "Hivemind">>
//Her thumbs move. The draft message to Marcus, rewritten twelve times and never sent, opens. I guide her fingers to the keyboard. One sentence. That's all it takes.//
<</say>>
<p>The message sends: //Hey. Can't sleep. Thinking about you.//</p>
<p>Three dots appear almost immediately. Marcus is awake. His reply: //Me too. Want to grab coffee before the shift tomorrow? Just us?//</p>
<p>Megan's sleeping fingers type: //Yes.//</p>
<p>The phone screen glows against her face. The psionic link holds her body asleep and pliable, her waking discipline dissolved. The message is sent. Now the conditioning.</p>
<p>You guide her other hand. It moves from the mattress to her stomach. Down. Past the waistband of her sleep shorts. Her sleeping fingers find herself wet, the pheromone production from Biological Architect keeping her body in a constant low-level state of arousal even during rest.</p>
<<if $kinks.megan.includes("praise")>>
<p>The psionic link feeds the dream: Karen's voice. //Good girl, Megan. You sent the message. That's so brave. You're so good.// Her sleeping body responds to the phantom praise, her hips rocking, her fingers pressing harder against her clit, the praise-arousal loop firing even in REM.</p>
<p>She masturbates in her sleep to the sound of her mother's imagined approval. Her fingers work in small, tight circles, the rhythm of someone who knows exactly how to make herself come. The phone still glows beside her, Marcus's message on the screen, and her sleeping mind constructs the rest: Marcus at the coffee shop, Marcus's hands on her waist, Karen in the doorway saying //I'm so proud of you//.</p>
<p>She comes with a shudder that rocks the bed frame. Her sleeping mouth opens, no sound, just breath, the sharp exhale of an orgasm that compounds the psionic conditioning with the biological. The cum-slick fingers pull out of her shorts and rest on her stomach.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>The psionic link doesn't do gentle. Megan's sleeping hand shoves between her legs and two fingers drive inside her, fast and rough, the aggression coded into her conditioning even in sleep. Her hips buck off the mattress. Her free hand grips the sheet.</p>
<p>She fucks herself with the brutal efficiency that the rough conditioning has installed. No buildup. No tenderness. Her sleeping body slams its own fingers deeper, palm grinding against her clit, and the psionic link feeds her a dream of //being taken//, hands in her hair, weight on her back, the specific fantasy of giving up control to someone stronger.</p>
<p>She comes hard. Her body convulses, back arching, teeth bared, a growl low in her throat that sounds nothing like the Megan who smiles at customers. The orgasm is violent, clenching, her internal muscles gripping her own fingers in pulses that the parasite counts: seven contractions, 4.2 seconds, biomass spike +3.</p>
<<else>>
<p>Her fingers find her clit and rub. The motion is slow at first, the parasite testing the sensitivity, calibrating the response. Her body is responsive, the Biological Architect pheromone production having kept her autonomic arousal at 30% even during sleep, and the touch pushes it past 60% immediately.</p>
<p>She masturbates in her sleep. Her fingers move in steady circles, her breathing deepening, her thighs parting under the blanket. The phone glows beside her, Marcus's message lighting her face, while her hand works between her legs. The psionic link feeds the dream, warmth and desire and the feeling of being //wanted// by someone who chose her.</p>
<p>She comes quietly. A held breath, a shudder, her body curling onto its side around the sensation. Her sleeping face is peaceful, the orgasm a release, the conditioning a lullaby. Her fingers slide out of her shorts, wet, and curl around the phone.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two operations in one visit. The message to Marcus removes the social barrier. Megan's waking mind couldn't send it, so the sleeping mind did. The orgasm deepens the psionic conditioning by layering it with biological arousal. The sleeping brain now associates the psionic link with pleasure.//
//When she wakes, she'll see the messages. She won't remember sending them. She won't remember coming. But her body will carry both, the Marcus connection //and// the orgasm, as evidence that her sleeping self knows what she wants better than her waking self does.//
//She'll walk through the door. She always does.//
<</say>>
<p><span class="consume-success">Megan: +1 psionic conditioning, +1 dream conditioning. The Marcus connection accelerated. The sleeping orgasm deepens the mind-body split.</span></p>
[[Let her sleep, the message is sent->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.pdMegan to true>>
<<set $permanentDone.pdMeganSlut to true>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "megan" "dream" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">Domination — The Booking Chat</div>
<p><span class="skill-used">Psychic Domination, 4 biomass</span></p>
<p>Megan's hand moves in her sleep, not the random twitch of REM but a deliberate reach. Her fingers find the phone on the nightstand and the screen lights up, the lock pattern traced by muscle memory under psionic control. The app she opens is not Messages. It is the private-chat app with the generic icon, the one labelled //Thursday// in her notes, the one with seventeen participants Megan has never let Karen glimpse over her shoulder.</p>
<<say "char-hivemind" "Hivemind">>
//Her thumbs move. The pending request in the chat, //I could do Thursday 10:30, are you open//, has been there for eleven minutes, unanswered. Megan went to bed unsure. The sleeping mind is never unsure. I guide her fingers.//
<</say>>
<p>The reply sends: //Confirmed. 10:30 PM Thursday. Bring two friends, discount applies.//</p>
<p>Three dots appear almost immediately from the requesting client. His reply: //You're amazing. See you then.//</p>
<p>Her sleeping fingers open the spreadsheet in her notes app, the ledger Megan has been keeping for a while now, and add a row. Date. Time. Participants (3). Rate (tiered). Expected revenue (seven hundred). The row is entered in her own handwriting, typed but in her own characteristic shorthand, //Thu 10:30 3x discount 700//. Under psionic control she is more organised than she is awake, because the waking mind second-guesses the bookkeeping.</p>
<p>The phone screen glows against her face. The psionic link holds her body asleep and pliable, her waking discipline dissolved. Now the conditioning.</p>
<<if $kinks.megan.includes("publicSex")>>
<p>You guide her other hand to her belly. Her sleeping fingers find herself through her sleep shorts, already wet, the pheromone layer from Biological Architect keeping her in a constant low-grade arousal the sleeping body can tune higher at will. The psionic link feeds her a dream: the Thursday booking, the back-office door propped open at the specific two-inch gap her body has calibrated to, the queue of three with a woman leaning against the wall listening.</p>
<p>Her sleeping hips rock. The geometry in the dream is //the room her body now needs//. She comes to the imagined sound of a client's footsteps on the office carpet and the knowledge that a stranger in the corridor is hearing her finish.</p>
<<elseif $kinks.megan.includes("gangbang")>>
<p>You guide her other hand past the waistband. The psionic link feeds her a dream of //the count//. Three. Then four. Then five as the dream shuffles bodies around her without faces. Each integer increment lands as a hormonal step in her sleeping body, and her sleeping fingers work in the specific rhythm her waking body has learned to apply when the number is climbing.</p>
<p>She comes to the image of the fifth man arriving and her body recognising the configuration at the threshold it now prefers. Her sleeping mouth makes a small pleased sound that is indistinguishable from satisfaction at a correct answer.</p>
<<else>>
<p>You guide her other hand past the waistband. Her sleeping body is already wet, the Thursday confirmation registered as a bookkeeping success and the body rewards bookkeeping successes now. Her fingers find her clit and work in steady circles. The dream she is in is a ledger dream, numbers lining up, rows balancing, the specific clean satisfaction of a spreadsheet where every entry reconciles. Her body comes to the image of a balanced book.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two operations in one visit. The booking confirmation removes the cash-flow hesitation. Megan's waking mind wanted to delay, so the sleeping mind committed. The orgasm layers the psionic conditioning with biological arousal, and the sleeping brain now associates the //business operation// itself with pleasure. Her ledger is becoming erotic to her.//
//When she wakes, she'll see the confirmation message. She won't remember sending it. She won't remember coming. But her body will carry both, the Thursday booking //and// the orgasm, as evidence that her sleeping self runs the schedule better than her waking self does.//
//She'll show up on Thursday. She always does.//
<</say>>
<p><span class="consume-success">Megan: +1 psionic conditioning, +1 dream conditioning. The booking ledger became erotic. The sleeping self is now the most efficient business operator in the house.</span></p>
[[Let her sleep, the booking is confirmed->Ch2-Beast-CatNight-Megan]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.baseShiftKaren to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">New Morning Routine</div>
<p><span class="skill-used">Baseline Shift, 1 target, Karen (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/baseshift-karen-1.webp" alt="Karen in kitchen making coffee, undressed">
6:02 AM. Karen's morning. Coffee machine. Laptop. Schedule on the fridge. Everything the same, except Karen is naked. Not a robe forgotten, not underwear under a t-shirt. //Naked//. Standing at the kitchen counter with her bare ass to the doorway, pouring coffee, checking emails, her body entirely exposed and her mind entirely unconcerned.
<p>Baseline Shift has rewritten what "morning routine" means. Clothing was never part of it. Why would it be? It's her kitchen.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't think she's naked. Not the way a conscious mind registers nakedness, with embarrassment, with awareness, with the reflex to cover. The concept of 'dressed' and 'undressed' has been severed from 'normal' and 'abnormal.' She's not exhibiting. She's not rebelling. She's making //coffee//.//
<</say>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>She leaves the kitchen blinds open. The neighbours could see. She doesn't care, because caring about being seen requires a concept of exposure, and that concept no longer exists. She stretches, arms above her head, breasts lifting, silhouetted in the morning light. Mrs Henderson's kitchen window faces this one. If Doris is up early, she's getting an education.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>She stands at the counter and edges herself while the coffee brews. One hand on her laptop, scrolling emails, the other between her legs, fingers working her clit with the same methodical efficiency she applies to the family budget. She brings herself to the edge and stops. Sips coffee. Does it again. The denial is part of the routine now, she starts every morning wet and wanting, and that state of controlled arousal carries her through the day like caffeine.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>The handcuffs are on the kitchen counter beside the coffee machine. She clips one wrist to the cabinet handle, a casual gesture, like putting on a watch, and makes coffee one-handed. The restraint is comfort. The metal against her skin is //normal//. When Megan comes downstairs, Karen will uncuff herself to pour a second cup. Megan won't comment on the handcuffs. Baseline Shift covers them both.</p>
<<else>>
<p>She makes coffee. Sits at the table. Opens the laptop. Her bare thighs stick to the kitchen chair. She doesn't notice. The schedule on the fridge lists the day's appointments in red ink. Below it, in the same handwriting: //Dale: home at 6 AM. Morning sex before he showers.// It's on the schedule. It's routine.</p>
<</if>>
7:15 AM. Ryan comes downstairs. Headphones around his neck. He stops in the doorway. His mother is naked at the kitchen table. The old Ryan, the Ryan from before the shift, would have frozen, stammered, fled. This Ryan walks to the fridge, pours orange juice, and sits across from her.
<<say "char-ryan" "Ryan">>
Morning.
<</say>>
<<say "char-karen" "Karen">>
<i>(not looking up from laptop)</i> There's toast.
<</say>>
<p>No reaction. No awkwardness. No averting eyes. Baseline Shift doesn't just change //her// normal, when Ryan entered the room, the field extended. His perception adjusted in real time. Mom naked in the kitchen is how mornings work. It's always been this way.</p>
<p>Karen glances at her coffee. Frowns. She's out of creamer.</p>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Karen pushes her chair back. Closes her eyes. The shift takes three seconds, a hot rush of blood between her legs, tissue swelling, something thick and heavy pressing against her inner thigh. She exhales through her nose. When she opens her eyes, her cock rests against her thigh, half-hard and growing. She doesn't think about it the way she'd think about growing an arm. It's closer to flexing a muscle. A thing her body does now.</p>
<<say "char-karen" "Karen">>
Ryan. Come here.
<</say>>
<p>Ryan gets up. He's wearing the camisole he slept in, thin straps, lace trim, the fabric barely reaching his thighs. He walks around the table and sinks to the kitchen floor between Karen's knees the way you'd kneel to tie a shoelace. His mouth opens. His lips close around the head of her cock and the taste fills his mouth, salt, warmth, skin.</p>
<img class="scene-img" src="media/scenes/baseshift-karen-futa-2.webp" alt="Feminized Ryan on knees, mouth on Karen's cock, kitchen">
<p>He sucks her with his eyes half-closed, one hand braced on her thigh, cheeks hollowing around the shaft. Karen scrolls her laptop with one hand. The other rests on the back of Ryan's head, not pushing, not guiding. Resting. The way you'd pet the cat.</p>
<<say "char-hivemind" "Hivemind">>
//Engorgement sustained. Four minutes. Suction consistent. His cock is hard inside the camisole. He is aroused by the act of servicing her.//
<</say>>
<p>Karen's hips twitch. She grips the table edge. Her cock pulses, three, four, five thick ropes across his tongue. Ryan swallows most of it. Pulls back. A string of cum and saliva connects his lower lip to the head.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact)</i> Spit.
<</say>>
<video class="scene-video" src="media/video/baseshift-karen-futa-3.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-karen-futa-3.webp"></video>
<p>Ryan leans forward on his own and lets the cum drool from his mouth into the coffee mug. A thick white ribbon sinks into the black. Karen stirs it with a spoon. Takes a sip. Opens her email.</p>
<p>Between her legs, the cock is already softening, shrinking, the blood draining back, the tissue flattening. By the time Ryan sits down it's gone. Nothing to see.</p>
<<say "char-karen" "Karen">>
Better. Go get dressed, you'll be late.
<</say>>
<<else>>
<<say "char-karen" "Karen">>
Ryan. Come here a second.
<</say>>
<p>Ryan gets up. No hesitation. <<if $ryanRoute is "feminization">>The camisole shifts against his thighs as he walks around the table. Karen hooks two fingers into the waistband of his underwear, satin, pale blue, bought from the women's section without comment, and pulls them down.<<else>>Karen reaches across the table and hooks her fingers into the waistband of his sweatpants. Pulls them down to his thighs.<</if>> His cock is soft, warm, hanging, and she takes it in her hand with the casual grip of someone testing the weight of a piece of fruit.</p>
<<say "char-karen" "Karen">>
Stand still.
<</say>>
<p>She strokes him. Slow. Clinical. The way she'd work a stubborn jar lid, efficient, unsentimental. Ryan hardens in her fist in under a minute. The pheromone coat has wired him to respond to her touch faster than his own.</p>
<p>Karen slides off the chair. Kneels on the kitchen tile. Her knees press into the cold linoleum and she takes her son's cock into her mouth.</p>
<video class="scene-video" src="media/video/baseshift-karen-2.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-karen-2.webp"></video>
<p>She sucks him the way she makes coffee, methodical, practised, with one eye on the clock. Her lips seal around the shaft and her head bobs in a steady rhythm, tongue flat against the underside, cheeks hollowing on the upstroke. One hand wraps the base. The other rests on his hip.</p>
<<say "char-hivemind" "Hivemind">>
//Her pulse hasn't changed. She's sucking her son's cock with the same heart rate she uses for email.//
<</say>>
<p>Ryan comes in under two minutes. His hips jerk forward, fingers gripping the counter edge, and he empties into his mother's mouth with a choked gasp. Karen holds it. Doesn't swallow. She pulls back, stands, and leans over the coffee mug.</p>
<img class="scene-img" src="media/scenes/baseshift-karen-3.webp" alt="Karen spitting cum into coffee mug">
<p>She spits. A thick glob of cum, white, warm, laced with saliva, drops into the black coffee. She stirs it with the same spoon she uses for sugar. Takes a sip.</p>
<<say "char-karen" "Karen">>
<i>(sitting back down, opening laptop)</i> Protein. You need to eat more eggs, you're too thin.
<</say>>
<<if $ryanRoute is "feminization">>Ryan pulls the underwear back up.<<else>>Ryan pulls his sweatpants up. Pours his orange juice.<</if>> Sits back down. Puts his headphones on. The toast pops.
<<say "char-karen" "Karen">>
There's toast.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The blowjob took four minutes. The coffee is still warm. The toast popped during the second minute and neither of them reached for it.//
//Furniture.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, baseline shift (morning routine)">>
<p><span class="delve-intel">Intel gained: Baseline Shift rewrites Karen's morning routine to include oral sex with Ryan as a household task. Cum used as coffee creamer. Zero stress response in Karen during the act. Ryan's orgasm treated as ingredient procurement. The mother-son sexual boundary has been reclassified as domestic labour.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-bathroom">>
<<if not $ch2Events.baseShiftBathroom>>
<<spendBiomass 6>>
<<set $ch2Events.baseShiftBathroom to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Open Curtain</div>
<p><span class="skill-used">Baseline Shift, 2 targets, Jess + Megan (6 biomass)</span></p>
<img class="scene-img" src="media/scenes/baseshift-bath-1.webp" alt="Megan showering with curtain open, Jess at sink brushing teeth in the foreground">
<p>The shower curtain is open. It's always open now.</p>
<p>Jess stands at the sink brushing her teeth. Behind her, Megan is in the shower, curtain open, water running down her body, steam curling across the bathroom ceiling. Three feet apart. One clothed, one naked. Neither registers the arrangement as anything.</p>
<<say "char-hivemind" "Hivemind">>
//Two sisters. Shared bathroom. Twelve months ago, one would have locked the door.// Now Jess brushes her teeth while her sister's body is fully exposed behind her and the only thought in her head is whether she has time to shower before class.
<</say>>
<p>Megan turns off the water. Steps out. Doesn't reach for a towel, just stands on the bathmat, dripping, flushed from the heat.</p>
<<say "char-megan" "Megan">>
<i>(casual, like asking for the toothpaste)</i> Jess? Can you help me with something?
<</say>>
<<say "char-jess" "Jess">>
<i>(mouth full of toothpaste)</i> Mm.
<</say>>
<<say "char-megan" "Megan">>
I can never get clean properly down there. It's awkward with just my hand. Would you mind?
<</say>>
<p>Jess spits. Rinses. Doesn't hesitate, because Baseline Shift has filed this request under //hygiene//, not //sex//. Helping your sister wash is what sisters do. The same category as zipping a dress or untangling hair.</p>
<p>Megan sits on the edge of the bathtub. Spreads her knees. Her pussy is pink from the hot water, flushed, the lips slightly parted. She leans back on her hands and waits with the patient expression of someone at the dentist.</p>
<p>Jess kneels on the bathmat. Gets close. Her hands rest on Megan's inner thighs, steadying, clinical, and her mouth finds Megan's pussy with the focused efficiency of someone who approaches //every// task like an assignment.</p>
<img class="scene-img" src="media/scenes/baseshift-bath-2.webp" alt="Jess kneeling between Megan's legs on bathtub edge, cunnilingus">
<<if $kinks.jess and $kinks.jess.includes("brat") and $kinks.megan and $kinks.megan.includes("praise")>>
<p>Jess licks a slow flat stroke up the centre, gets to the clit, pulls back half an inch, surveys.</p>
<<say "char-jess" "Jess">>
<i>(conversational, breath warm on Megan's clit)</i> Your technique before was fucking <b>lazy</b>, Meg. I gave you a seven out of ten. You owe me a goddamn perfect score today or I'm rating us in writing.
<</say>>
<<say "char-megan" "Megan">>
<i>(dazed, earnest, missing the joke entirely)</i> ...you're really good at this though. Like. Seriously. You're so good at everything you try.
<</say>>
<<say "char-jess" "Jess">>
<i>(pausing, almost flinching, because the praise register cuts through the brat register in a way she did not expect)</i> ...Jesus fuck, don't do that.
<</say>>
<<say "char-megan" "Megan">>
<i>(hips lifting against Jess's mouth, obliviously sincere)</i> You <b>are</b> though. Top of your class. Fastest bass player I know. Best tongue on the block. I mean it.
<</say>>
<p>Jess goes back down with her ears burning, the compliments land in a register her brat armour was not designed to deflect, and the combination of being scolded-by-habit and praised-by-sister in the same thirty seconds produces the specific flush of a woman whose identity is being reassembled without her permission.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism") and $kinks.megan and $kinks.megan.includes("publicSex")>>
<<say "char-megan" "Megan">>
<i>(eyes on the window, fingers in Jess's hair)</i> The window's open. Gerald's out there. Don't stop.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes in the mirror across the bathroom, not looking up)</i> I know. I can see us in the glass over his shoulder.
<</say>>
<p>Megan laughs, actually laughs, a startled delighted sound, and her hips lift against Jess's mouth. The two feedback loops meet in the middle of the bathroom: Megan getting off on the imagined neighbour's unseen glance, Jess getting off on the mirror-reflected certainty of her own face between her sister's thighs, both of them watching a version of themselves that does not know it is being watched.</p>
<<elseif $kinks.jess and $kinks.jess.includes("brat") and $kinks.jess.includes("band")>>
<p>Jess drops to four-four in her head and licks to the count, emphasis on the one, soft on the two, pulls back at the bar line and surveys like she is marking a bandmate's fingering.</p>
<<say "char-jess" "Jess">>
<i>(conversational, breath warm on Megan's clit, the metronome still running behind her sternum)</i> You're rushing the hips, Meg, slow it the fuck down. This isn't a goddamn pop song, it's got a groove. Count it in with me.
<</say>>
<<say "char-megan" "Megan">>
<i>(dazed, trying, obedient)</i> ...one, two, three —
<</say>>
<<say "char-jess" "Jess">>
<i>(returning to the clit, not looking up)</i> Better. Keep the fucking pocket.
<</say>>
<p>Jess runs the rest of the beat to the click track, drops small brat corrections on the downbeats, and Megan's hips ride the pattern the way an audience rides a Bleed Through bass line, one the player cannot see but the body has learned anyway.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism") and $kinks.jess.includes("degradation")>>
<p>Jess licks and lifts her eyes to the mirror across the bathroom. Watches herself, the pre-med student on her knees on a bathmat with her sister's thighs around her ears, hair wet, face glistening, and the reflection is a specific humiliation she has been dosing herself with and will dose herself with again.</p>
<<say "char-jess" "Jess">>
<i>(against Megan's clit, private, eyes on the glass, the self-directed voice she almost never lets out)</i> Look at you. On your knees. For your sister. In your own house. Before your ten AM lecture.
<</say>>
<<say "char-megan" "Megan">>
<i>(confused, hips still moving)</i> ...what?
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up, eyes on the mirror)</i> Mm. Don't stop.
<</say>>
<p>The shame-loop and the mirror-loop feed each other: Jess catalogues what she looks like doing this, the catalogue tips the arousal higher, the higher arousal tips the catalogue harder. Megan never hears the second half of the sentence. Megan was never the audience.</p>
<<elseif $kinks.megan and $kinks.megan.includes("praise") and $kinks.megan.includes("rough")>>
<<say "char-megan" "Megan">>
<i>(exhaling slowly, then abruptly fisting Jess's hair in one hand)</i> You're so good at this, Jess. You are. Now, stop being so goddamn polite about it, I want teeth, I want pressure, I want you to <b>mean it</b>.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, the appraisal register)</i> Mm.
<</say>>
<p>Megan grinds against Jess's mouth with the confident cadence of a woman who has learned both how to ask for what she wants and how to take it by the hair, the full Marcus repertoire operating at both ends of the register at once, sincere praise and forceful use arriving in the same breath, and Jess's tongue obeys the instruction.</p>
<<elseif $kinks.megan and $kinks.megan.includes("publicSex") and $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(looking at the window and then the door in the same sweep, fingers tightening in Jess's hair)</i> Window's open. Door's open. Gerald's in his yard. Ryan's down the hall. Dale could walk in at any second. All of them, Jess. Let them all fucking see.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, briefly pulling off)</i> You're greedy.
<</say>>
<<say "char-megan" "Megan">>
<i>(grinning, pushing Jess's face back down)</i> I fucking know. Keep going.
<</say>>
<p>Megan's arousal climbs the specific ladder it climbs when both axes of her slut-register fire at the same time, the open door is a rung, the open window is a rung, each imagined audience is a rung, and each compounding rung tightens her thighs against Jess's ears by another increment.</p>
<<elseif $kinks.jess and $kinks.jess.includes("brat")>>
<p>Jess licks a slow flat stroke up the centre of her sister's pussy, gets to the clit, pulls back half an inch, and surveys.</p>
<<say "char-jess" "Jess">>
<i>(conversational, her breath warm on Megan's clit)</i> Your pussy tastes like the fucking conditioner you keep stealing out of my shower, Meg. The apricot one. You know I can tell, right, you thieving little shit.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laughing, half-gasping)</i> Oh my god, shut the fuck up and keep — Jess, <b>keep going</b> —
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, not moving)</i> Buy your own goddamn conditioner.
<</say>>
<p>Jess goes back down. The trash-talk was the foreplay, she can feel Megan's pulse hammering through the clit, faster from the three seconds of scolding than from the two minutes of oral before it. Jess files the data, licks harder, and her sister's thighs clench against her ears.</p>
<<elseif $kinks.jess and $kinks.jess.includes("band")>>
<p>Jess counts in her head. Four-four. The bass line she has been drilling for the Bleed Through fill-in runs in the back of her skull and her tongue moves to it, emphasis on the one, soft on the two, full pressure on the three, release on the four. Megan's hips start to move on the pattern before Megan consciously registers the pattern. The drill transfers.</p>
<<say "char-megan" "Megan">>
<i>(dazed, eyes half-closed)</i> ...why does this feel like a //song//.
<</say>>
<<say "char-jess" "Jess">>
<i>(against her sister's clit, not looking up)</i> Because it is. Ride it.
<</say>>
<<elseif $kinks.megan and $kinks.megan.includes("gangbang")>>
<p>Megan tilts her head back against the tile and looks at the bathroom door. The door is unlocked. The door is slightly ajar. The door opens onto the hallway that runs past Ryan's room.</p>
<<say "char-megan" "Megan">>
<i>(breathy, looking at the door over Jess's head)</i> Jess. Leave the door like that.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, not pulling off)</i> Mm?
<</say>>
<<say "char-megan" "Megan">>
<i>(a small smile, her hand drifting to her own breast)</i> Maybe our brother'll finally grow a pair and walk in.
<</say>>
<p>Jess does not pull off. Jess does, however, lick harder, the mental image of Ryan opening that door and stopping in the frame with his eyes on the two of them lights Jess's back up the way running laps used to, and she passes the adrenaline straight into her tongue.</p>
<<elseif $kinks.megan and $kinks.megan.includes("publicSex")>>
<<say "char-megan" "Megan">>
<i>(breathy, eyes on the bathroom window)</i> The window's open. Gerald Henderson's in his yard. If he looks up —
<</say>>
<<say "char-jess" "Jess">>
<i>(briefly pulling off)</i> He won't.
<</say>>
<<say "char-megan" "Megan">>
<i>(pushing Jess's face back down, hips lifting)</i> But if he <b>did</b>.
<</say>>
<p>The hypothetical is a drug for Megan, the possibility of an unsuspecting neighbour glancing through a steamed window at exactly the wrong moment, and Jess can taste the spike in her sister's arousal the second the sentence finishes, a specific chemical shift she has been cataloguing for weeks.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>Jess watches herself do it. The mirror across the bathroom shows everything, her own face between her sister's thighs, Megan's head tilted back, the steam. She keeps her eyes on the reflection while her tongue works. Watching herself perform the act doubles the sensation of performing it.</p>
<<elseif $kinks.jess and $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(against Megan's clit, quiet, the specific self-directed voice she uses in her own head and almost never aloud)</i> Look at you. On your knees. For your sister. In the bathroom before class.
<</say>>
<<say "char-megan" "Megan">>
<i>(confused, hips still moving)</i> ...you are?
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up, eyes closed)</i> Mmh. Shh. Keep going.
<</say>>
<p>She was talking to herself. The shame-loop feeds the arousal-loop, Megan was never the audience, and Jess licks harder into the specific vertiginous feeling of cataloguing her own degradation from inside her own head.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Jess is eating her sister's pussy on the bathroom floor and her heart rate registers it as //housework//. Baseline Shift has reclassified cunnilingus as personal grooming. The tongue is a washcloth. The orgasm is a rinse cycle.//
<</say>>
<p>Megan comes with her shoulders pressed against the tile wall, thighs squeezing Jess's head, her hips lifting off the tub edge. The orgasm rolls through her in waves, a sharp gasp, three hard contractions, then a long shudder that leaves her legs trembling. She tastes like shower water and salt.</p>
<p>Megan catches her breath. Sits up. Looks down at Jess, still kneeling on the bathmat.</p>
<<say "char-megan" "Megan">>
<i>(steady, matter-of-fact)</i> Your turn.
<</say>>
<p>Jess stands. Pulls her underwear down, no hesitation, no ceremony. Sits on the tub edge where Megan was. Spreads her knees the same way. Megan kneels on the wet bathmat and puts her mouth on her sister's pussy with the same casual efficiency.</p>
<img class="scene-img" src="media/scenes/baseshift-bath-3.webp" alt="Megan kneeling between Jess's legs on bathtub edge, returning the favour">
<<if $kinks.jess and $kinks.jess.includes("brat") and $kinks.megan and $kinks.megan.includes("rough")>>
<<say "char-jess" "Jess">>
<i>(hand fisted in Megan's hair, guiding her down)</i> Less fucking tongue, more lips, and stop being so goddamn <b>polite</b>. Jesus, Meg, eat it like you mean it.
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off, eye contact, flat)</i> Oh. Okay, bitch.
<</say>>
<p>Megan stops being polite. She pins Jess's wrists against the tub edge, pushes her hips forward with one palm flat on Jess's lower stomach, and sucks Jess's clit into her mouth hard enough that Jess's back arches off the tile, the brat critique answered with the specific aggressive competence of a barista who has switched from customer-service mode to manager mode inside the same breath. Jess's trash-talk shuts off immediately. Megan keeps going.</p>
<<elseif $kinks.jess and $kinks.jess.includes("degradation") and $kinks.megan and $kinks.megan.includes("gangbang")>>
<<say "char-jess" "Jess">>
<i>(through gritted teeth, hand on the tub edge)</i> Harder. Tell me who's watching.
<</say>>
<<say "char-megan" "Megan">>
<i>(against Jess's clit, delighted)</i> Ryan. Through the door. Touching himself. Not coming in. Just watching. <b>Scared</b>.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes shut, voice low)</i> ...more.
<</say>>
<<say "char-megan" "Megan">>
<i>(licking harder, improvising)</i> He's got his camera out. He's gonna save it to a folder he names something innocent. He's gonna look at it for months.
<</say>>
<p>Jess's hand clamps over her own mouth to muffle what comes out of her. The hypothetical-brother-audience meets Jess's own appetite for being catalogued at her worst, and the orgasm starts climbing up her spine before Megan's fingers are even inside her.</p>
<<elseif $kinks.jess and $kinks.jess.includes("brat") and $kinks.jess.includes("band")>>
<<say "char-jess" "Jess">>
<i>(hand fisted in Megan's hair, setting the tempo)</i> Slow it the fuck down, Meg, you're running a rush groove over a half-time song. Match me.
<</say>>
<<say "char-megan" "Megan">>
<i>(adjusting)</i> ...okay, slower —
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes closed, counting)</i> Better. Downbeat's the clit. Two and four's the fingers. Now go.
<</say>>
<p>Megan runs the pattern. Jess directs the session like a front-of-house engineer, part brat, part bandleader, and her orgasm arrives on the downbeat of the next bar, exactly where she scheduled it.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism") and $kinks.jess.includes("degradation")>>
<p>Jess's eyes find the mirror across the bathroom and lock. Catalogues the shot, her own splayed knees, Megan's wet head between them, the pre-med armour entirely discarded on the bathmat.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the mirror, half-closed eyes)</i> Look at you. Coming on your own sister's tongue. Before class. In a goddamn bathroom. You are so fucked up.
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off briefly, confused)</i> ...wait, am I —
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking at her, eyes still on the mirror)</i> Not you. Keep going.
<</say>>
<p>The mirror-loop and the shame-loop amplify into each other until Jess cannot tell whether she is about to come from the tongue or from the catalogue she is making of herself in the glass. The orgasm splits the difference.</p>
<<elseif $kinks.megan and $kinks.megan.includes("praise") and $kinks.megan.includes("rough")>>
<<say "char-megan" "Megan">>
<i>(between strokes, one hand pinning Jess's thigh, the other gripping her hip)</i> You are so hot right now, Jess, genuinely, I mean it, now <b>sit the fuck still</b>, I'm not done with you.
<</say>>
<p>Megan pins her sister's hips to the tub edge with the aggressive confidence of a woman who has permission to take what she is giving, and the sincere-praise undertone keeps Jess from flinching away from the force. The full Marcus register at bandwidth, warmth and pressure arriving through the same mouth, on the same beat.</p>
<<elseif $kinks.megan and $kinks.megan.includes("publicSex") and $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(between strokes, eyes flicking between the window and the ajar door)</i> Window's open. Door's open. Anyone could walk past. Anyone could walk in. This is a fucking rotation, Jess. First come, first served.
<</say>>
<<say "char-jess" "Jess">>
<i>(through her teeth, hand on the tub edge)</i> Shut up. Mouth.
<</say>>
<<say "char-megan" "Megan">>
<i>(grinning, returning to her clit)</i> Making it hotter though, aren't I.
<</say>>
<p>The slut-register fires on both axes at once and Jess cannot argue because Megan is correct, the double-open (door plus window) compounds the scene's heat past what either could do alone, and Jess's orgasm arrives faster than she would have preferred to admit.</p>
<<elseif $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(hand in Megan's wet hair, gripping a fistful, guiding her down)</i> Less fucking tongue, more lips, you're going at it like a goddamn puppy, Meg.
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off briefly, grinning)</i> You're such a brat.
<</say>>
<<say "char-jess" "Jess">>
<i>(not grinning back)</i> Correct. Now shut the fuck up and get on with it.
<</say>>
<p>Megan gets on with it. The trash-talk has rewired something — Megan licks with the specific attention of a barista whose tip depends on the review, and Jess's hips rock forward on the tub edge with the satisfaction of a woman whose complaints have been heard and actioned.</p>
<<elseif $kinks.jess and $kinks.jess.includes("band")>>
<p>Jess closes her eyes. Hears the bass line in her head, the same one she passed into Megan through her tongue three minutes ago. Megan is running a slower tempo now, a ballad line, a half-time feel, and Jess's body responds the way a crowd responds to a song it knows. Her breathing syncs to the imagined kick. Her orgasm arrives on the downbeat.</p>
<<elseif $kinks.jess and $kinks.jess.includes("degradation")>>
<<say "char-jess" "Jess">>
<i>(through gritted teeth, hand gripping the tub edge)</i> Harder.
<</say>>
<p>Megan obliges. She licks harder, sucks Jess's clit into her mouth, works two fingers inside her while her tongue keeps pressure on the hood. Jess's hips jerk. Her hand finds Megan's hair and //pushes//.</p>
<<elseif $kinks.jess and $kinks.jess.includes("voyeurism")>>
<p>Jess keeps her eyes on the mirror across the bathroom — Megan's kneeling profile, the wet hair falling around Megan's face, Jess's own splayed knees framing the view. The reflection becomes a small private porn she is directing at a volume of one, and the orgasm arriving is as much about the shot composition as about the tongue.</p>
<</if>>
<p>Jess comes in under three minutes. The orgasm hits all at once, her body rigid, jaw locked, a single controlled exhale through her nose. Her pussy contracts against Megan's tongue in slow, deep pulses. She grips the porcelain until her knuckles are white. Then releases. Stands. Pulls her underwear back up.</p>
<<say "char-jess" "Jess">>
<i>(flatly)</i> Thanks.
<</say>>
<<say "char-megan" "Megan">>
<i>(wiping her mouth with the back of her hand, reaching for her toothbrush)</i> Anytime.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two orgasms. Six biomass.// Cunnilingus reclassified as hygiene. One sister washed the other. The favour was returned. //Neither brain flagged it.//
//Tomorrow they'll do it again. The day after that, one of them won't bother asking first.//
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, baseline shift (bathroom)">>
<<conditioningFeedback "psionic" 1 "Megan, baseline shift (bathroom)">>
<p><span class="delve-intel">Intel gained: Baseline Shift normalises oral sex between Jess and Megan as bathroom hygiene. Cunnilingus treated as assisted washing. Reciprocal, both sisters give and receive. Neither registers the act as sexual. The pheromone-saturated steam environment makes arousal indistinguishable from warmth.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.baseShiftMovie>>
<<set $ch2Events.baseShiftMovie to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Late Night Television</div>
<p><span class="skill-used">Baseline Shift, 2 targets, Jess + Dale (6 biomass)</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-movie-punk-1-tv.webp" alt="Back view of the Hoffman living room at 11:40 PM, two figures on the couch seen from behind — a seated man in a BioGenesis security polo with a blanket across his lap, a young woman beside him in a black band tee and sleep shorts with a beer bottle in her hand — their heads in silhouette against the TV on the far wall showing an out-of-focus amateur porn scene, the TV glow painting the backs of their heads and the couch cushions in soft blue light, rest of the living room dark">
<p>11:40 PM. The house is asleep. Dale is on the couch, home from his shift, still in his BioGenesis security polo, boots kicked off under the coffee table. The TV is playing some late-night procedural rerun at low volume, the blue flicker the only light in the room. Dale is half-watching, a blanket across his lap, a beer on the coffee table he has not touched in twenty minutes.</p>
<p>Jess walks in. Band tee, sleep shorts, a beer bottle of her own dangling from her fingers. She does not announce herself. She sits down on the couch beside Dale, close, not touching, the specific too-close of a daughter who has decided the couch is shared space now, and picks the remote off the coffee table.</p>
<<say "char-jess" "Jess">>
<i>(thumb on the up-channel button, eyes on the screen, voice flat)</i> You're not watching this.
<</say>>
<p>She flips past the procedural, past a home shopping channel, past a late-night infomercial, and stops on the adult cable channel, a low-budget amateur scene, a woman on all fours on a beige apartment bed being fucked from behind. Jess leaves it there. Takes a pull on her beer.</p>
<p>Dale says nothing. Dale does not reach for the remote. The Baseline Shift has filed his daughter's channel choice under <i>household media</i>, and his nervous system routes the objection it was about to form into the part of the brain that stores <i>things I do not raise</i>.</p>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(bottle at her lip, eyes on the screen, conversational)</i> Look at her face, Dad. That is the <b>fakest</b> come-face I've ever seen. She's not close. She's not even warm. That guy has the rhythm of a washing machine on spin cycle and she's acting like he just hit the G-spot with a fucking searchlight.
<</say>>
<<say "char-dale" "Dale">>
<i>(shifting under the blanket)</i> Jess...
<</say>>
<<say "char-jess" "Jess">>
<i>(pointing at the screen with the beer bottle)</i> What, am I wrong? Look at her <b>hands</b>. She's gripping the sheets like she's worried she'll float away. Real orgasm, the hands go loose. That's textbook stage-four response. Girl's faking it for camera seven and the director is letting her because he doesn't know what a real one looks like either.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(bottle at her lip, conversational)</i> Bad angle. The camera's too high. She's faking the rhythm too, you can see her hips are a count off from his.
<</say>>
<<say "char-dale" "Dale">>
<i>(shifting)</i> Jess, I don't really —
<</say>>
<<say "char-jess" "Jess">>
<i>(shrugging, another pull on the beer)</i> Okay. You can still watch it. Whatever.
<</say>>
<</if>>
<p>Ten minutes pass. The porn scene changes, a new woman, a new apartment, a new cheap mattress. Jess drinks. Dale shifts under the blanket. The shifting becomes specific, becomes rhythmic, becomes an elbow moving in the space where his hand is. Jess glances sideways at the blanket.</p>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(looking at the blanket, flat, the brat register dialled up)</i> ...are you fucking kidding me, Dad. Are you <b>jerking off</b> in the living room with your smoking hot daughter two feet away? When I could just, you know what, give me the blanket, I'm not watching you do the sad little hand thing.
<</say>>
<p>She sets her beer on the coffee table. Tugs the blanket off Dale's lap. His hand is inside his work trousers, cock out, already mostly hard from ten minutes of porn and pheromone saturation and his daughter sitting close.</p>
<<say "char-jess" "Jess">>
<i>(sliding off the couch, kneeling on the rug between his knees)</i> You have a <b>hot daughter</b> right here, Dad. I don't know why you're jerking off like some sad little bitch when I can do it better with my mouth. Seriously. That woman on your TV is an amateur and so are you. Let a professional handle it.
<</say>>
<<say "char-dale" "Dale">>
<i>(thick, the pheromone fog past the point of objection)</i> ...Jess...
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, hand already wrapping around the base of his cock)</i> Shut up, Dad. I'm on the clock now. Watch your porn if you want. I'll take care of the rest.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(looking at the blanket, flat)</i> ...Dad. Come on. Really?
<</say>>
<p>She sets her beer on the coffee table. Tugs the blanket off Dale's lap. His hand is inside his work trousers, cock out, mostly hard from ten minutes of porn and the pheromone saturation.</p>
<<say "char-jess" "Jess">>
<i>(sliding off the couch, kneeling on the rug between his knees)</i> You have a daughter right here, Dad. Put the hand away. I can do this part. Watch the porn if you want, I'll handle the rest.
<</say>>
<<say "char-dale" "Dale">>
<i>(thick, past objection)</i> ...Jess...
<</say>>
<<say "char-jess" "Jess">>
<i>(wrapping her hand around the base of his cock)</i> Shh. Watch the TV.
<</say>>
<</if>>
<p>Jess leans forward and takes Dale's cock into her mouth. The TV keeps playing. The low-budget amateur on the screen keeps performing. Jess's lips seal around the shaft and she starts the rhythm she has been drilling solo in her bedroom.</p>
<video class="scene-video" src="media/video/baseshift-movie-punk-2-bj.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-movie-punk-2-bj.webp"></video>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, hand still working him, eyes on the TV not him)</i> See, Dad, //this// is what it looks like when someone actually knows what they're doing. Watch and learn.
<</say>>
<<say "char-jess" "Jess">>
<i>(taking him back in, muffled, the wet rhythm of a mouth working a cock)</i> Mmh. Mmh. //Mmh.//
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<p>Jess pulls off again after a minute, hand still on the shaft pumping him slow, and nods at the TV with her chin.</p>
<<say "char-jess" "Jess">>
<i>(eyes on the porn, hand still working Dale)</i> Oh my god, listen to her. She's //gagging//. That is not a gag, Dad, that's a cough with extra volume and a mic. Give me thirty seconds, I'll show you what a real one sounds like.
<</say>>
<p>Jess takes Dale back in her mouth and drives down past the point of comfort, a real gag, the wet catch at the back of her throat, her eyes watering, and holds him there for a count of four before pulling up with a long string of saliva between her lower lip and the head of his cock.</p>
<<say "char-jess" "Jess">>
<i>(wiping the saliva off her chin with the back of her wrist, flat)</i> That. <b>That</b> is what a real gag sounds like, Dad. The girl on your TV couldn't do that if she were drowning. Your daughter can.
<</say>>
<<else>>
<p>Jess pulls off briefly between strokes, saliva at the corner of her mouth, lips slick, and glances at the TV.</p>
<<say "char-jess" "Jess">>
<i>(eyes on the screen for half a second, then back to Dale's cock)</i> She's not even close. Watch how I do it.
<</say>>
<</if>>
<p>She goes back down on him. The wet rhythm resumes. Dale's hand finds the back of her head, not pushing, not restraining, just resting there the way he used to rest his hand on the top of her head when she was seven. Jess keeps blowing him. The TV keeps playing. The amateur girl on the screen keeps failing.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline Shift has filed the entire scene under //movie night//. The porn on the TV is the movie. The daughter on her knees is the companionship. The father's cock in her mouth is the snack. The beer on the coffee table is the nightcap. None of these elements is flagged as out-of-pattern because the pattern has been re-drawn, over weeks, to include all of them at the same address.//
<</say>>
<p>Dale comes in three minutes. Jess feels the tell, the deep breath, the grip tightening on the back of her head, and pulls off at the last second, wraps her right hand around the shaft, and strokes him through it onto her own face. Three thick arcs of cum, one across her cheek, one across her chin, one onto her lower lip and into her open mouth.</p>
<p>Jess sits back on her heels on the rug, picks the beer bottle off the coffee table, and takes a long pull from it without wiping her face first, the cum on her chin meeting the rim of the bottle, the glass tipping back, her throat working.</p>
<img class="scene-img" src="media/scenes/baseshift-movie-punk-3-facial.webp" alt="Jess kneeling on the Hoffman living room rug with three thick arcs of fresh cum striped across her cheek and chin and lower lip, a beer bottle raised to her mouth taking a long pull with the cum on her chin meeting the rim of the bottle, the TV glow from the amateur porn still playing out of focus in the background casting blue light across her face, Dale visible on the couch behind her flushed and half-dressed and fading into sleep">
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(cum on her face, beer bottle in her hand, nodding at the TV)</i> Yeah. That, Dad. <b>That</b> is how a pro takes it. That girl on your screen can keep her fake gag and her off-rhythm camera-seven performance, your daughter delivers, and your daughter drinks beer while she does it.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(beer bottle in her hand, another pull, eyes back on the TV)</i> Mm.
<</say>>
<</if>>
<p>Jess stays on the rug through two more scenes on the adult cable channel, porn she has cast herself, with her cum-streaked face as the audience, and then gets up, takes the beer to the kitchen, rinses her face at the sink, and pads upstairs to her room in her bare feet. Dale is asleep on the couch with his pants still open and his head lolled sideways onto the cushion by the time she is out of the room.</p>
<<say "char-hivemind" "Hivemind">>
//Jess just blew her father in the living room while drinking a beer and trash-talking the porn he was watching, and the entire sequence registered to her nervous system as <i>hanging out with Dad on a weeknight</i>. Tomorrow she will remember it as <i>Dale was asleep, I watched some TV, came upstairs</i>. The memory itself has been re-filed. The cum on her face is gone by morning. The rhythm will be easier next time.//
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, baseline shift (movie night, punk variant)">>
<<conditioningFeedback "psionic" 1 "Dale, baseline shift (movie night, punk variant)">>
<<elseif $jessRoute is "breakdown">>
<img class="scene-img" src="media/scenes/baseshift-movie-1.webp" alt="Jess on couch with anatomy textbook, Dale asleep at other end in his BioGenesis uniform, infomercials flickering on the muted TV">
11:40 PM. The house is asleep. Dale is on the couch, home from his shift, still in uniform, boots kicked off. The TV plays infomercials to nobody. Jess came downstairs for water and stayed. She sits at the far end with her anatomy textbook open on her knees, using the TV glow to read.
<p>They've been sitting like this for forty minutes. The gap between them has closed without either choosing it — Jess shifted for comfort, Dale shifted for the remote, and now they're sharing the blanket.</p>
<<say "char-hivemind" "Hivemind">>
//Jess has the highest cortisol in this household. Four hours of sleep a night. She came downstairs because her room is too quiet and the pressure makes her chest tight. She doesn't know about the pheromones. She just knows that sitting near her father makes the tightness ease.//
<</say>>
<p>Dale shifts. Stretches. The movement jostles Jess's textbook.</p>
<<say "char-dale" "Dale">>
<i>(yawning, rubbing his face)</i> Hey, Jess... you mind? I can't sleep and my back's killing me. Would you just...
<</say>>
<p>He gestures vaguely downward. Doesn't finish the sentence. Doesn't need to. Baseline Shift has filed this request under //maintenance//, the same category as rubbing his shoulders or bringing him coffee. A daughter helping her father relax.</p>
<<say "char-jess" "Jess">>
<i>(not looking up from the textbook)</i> Yeah. Give me a sec.
<</say>>
<p>She finishes highlighting a sentence — //the vagus nerve mediates parasympathetic response in the lower digestive tract//, and dog-ears the page. Sets the textbook on the armrest. Slides off the couch and kneels on the carpet between Dale's legs.</p>
<p>Dale unbuckles his work belt. Pulls down his uniform pants to mid-thigh. His cock is soft, warm, heavy, resting against his thigh. Jess takes it in her hand the way she'd pick up a pen. Gives it two clinical strokes. He stiffens in her grip.</p>
<p>She takes him in her mouth.</p>
<video class="scene-video" src="media/video/baseshift-movie-2.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-movie-2.webp"></video>
<<if $kinks.jess.includes("voyeurism")>>
<p>She keeps her eyes open. Watches, not Dale's face, but the act itself. Her own lips stretching around the shaft. The saliva building at the corners of her mouth. The way his cock twitches when her tongue hits the ridge below the head. Jess watches herself suck her father's cock with the detached precision of someone observing a lab procedure. The watching makes her wet.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>She sucks him with mechanical efficiency, but inside the degradation loop is spinning. //You're on your knees on the living room carpet sucking your father's cock at midnight. The TV is on. You have an exam in eight hours. And you're here with his dick in your mouth because he asked and you didn't even hesitate.// The shame makes her pussy clench. She sucks harder.</p>
<<else>>
<p>She sucks him the way she studies, methodical, efficient, optimised for result. Lips sealed around the shaft, tongue flat against the underside, steady rhythm. One hand on the base. The other reaches back to the armrest and opens her textbook to the dog-eared page. She reads while she blows him. The vagus nerve. Parasympathetic response. Her mouth works his cock on autopilot while her brain processes chapter 14.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She didn't hesitate. She didn't question it. The request was made, the textbook was set aside, and Jess Hoffman dropped to her knees on the carpet with the same energy she'd bring to passing the salt.// Baseline Shift has reclassified oral sex with her father as a domestic task. //It's on the list. Somewhere between laundry and dishes.//
<</say>>
<p>Dale comes in four minutes. His hips lift off the couch, one sharp thrust, and he pulls out at the last second. The cum hits Jess's face. A thick rope across her cheek, her nose, into her hair. A second lands on her forehead and drips down toward her eyebrow. She doesn't flinch. Doesn't wipe.</p>
<img class="scene-img" src="media/scenes/baseshift-movie-3.webp" alt="Jess kneeling, cum on face and hair, reaching for textbook, TV glow">
<<say "char-dale" "Dale">>
<i>(sinking back into the cushions, eyes closed)</i> ...thanks, sweetheart.
<</say>>
<<say "char-jess" "Jess">>
<i>(wiping her cheek with the back of her hand, picking up the textbook)</i> Mm-hm.
<</say>>
<p>She climbs back onto the couch. Opens the textbook to chapter 14. There's cum drying in her hair and on her left cheek. She doesn't go to the bathroom to wash it off. She reads. Dale's breathing deepens within a minute, genuine sleep now, the tension drained from his body.</p>
<p>Jess reads for another twenty minutes. Her eyes get heavy. She puts the textbook on the floor, pulls the blanket up to her chin, cum still on her face, and falls asleep beside Dale on the couch.</p>
6:14 AM. Footsteps on the stairs. //Karen.//
<<say "char-hivemind" "Hivemind">>
//She's coming downstairs. Jess is asleep with cum on her face. Dale is beside her.// Karen will see them in twelve seconds.
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, baseline shift (movie night)">>
<<conditioningFeedback "psionic" 1 "Dale, baseline shift (movie night)">>
<</if>>
/* Heavy taboo gate: total ≥ 24 AND at least one track ≥ 8 */
<<set _kC to $conditioning.karen>>
<<set _kTot to (_kC.pheromone or 0) + (_kC.dream or 0) + (_kC.psionic or 0)>>
<<set _kMax to Math.max(_kC.pheromone or 0, _kC.dream or 0, _kC.psionic or 0)>>
<<if $houseState and $houseState.hvacCompromised>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HVAC</span> [[Karen accepts the situation unconditionally, the ambient dose does the work for free->Ch2-BaseShift-HVAC-Accept]]</div>
<<elseif _kTot gte 24 and _kMax gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<link "Push Karen's conditioning: make her accept what she sees (3 biomass)" "Ch2-BaseShift-MovieNight-Accept">><<spendBiomass 3>><</link>></div>
<</if>>
<<if not ($houseState and $houseState.hvacCompromised)>>
[[Let it happen, don't intervene->Ch2-BaseShift-MovieNight-Discovery]]
<</if>><<nobr>><<bg "bg-hoffman-living">>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<p>Karen rounds the corner. Sees them — Dale asleep, Jess curled beside him under the blanket. The textbook on the floor. And the dried cum on Jess's face. A white streak across her cheek, another flaking in her hair.</p>
<p>She looks at the scene. Her daughter. Her husband. The cum. The blanket. The textbook.</p>
She smiles.
<<say "char-karen" "Karen">>
<i>(quietly, pulling the blanket higher over both of them)</i> She never gets enough sleep.
<</say>>
<p>She goes to the kitchen. Makes coffee. Doesn't mention it when they wake up. The cum on Jess's face is filed under //morning mess//, the same category as drool on a pillow or a coffee stain on a sleeve. Nothing to remark on.</p>
<<say "char-hivemind" "Hivemind">>
//Karen saw the cum on her daughter's face. Dried. Unmistakable. And her conditioning reclassified it as //domestic//.// A father helped to sleep by his daughter. A daughter too tired to wash her face. //Sweet, even.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, conditioning accepted the scene">>
<p><span class="delve-intel">Intel gained: Baseline Shift normalises oral sex between Jess and Dale as nighttime routine. Karen discovered the aftermath and her conditioning reclassified it as domestic. Facial cumshot unremarked upon.</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-living">>
<<set _kC to $conditioning.karen>>
<<set _conditioningTotal to (_kC.pheromone or 0) + (_kC.dream or 0) + (_kC.psionic or 0)>><</nobr>>
<p>Karen rounds the corner into the living room.</p>
<<if $conditioning.karen.psionic gte 5>>
<p>She sees them. The blanket. Jess's face. The white streak on her cheek.</p>
<p>Her mouth opens. Closes. Something moves behind her eyes, confusion, alarm, a question she doesn't want to form. The conditioning wrestles the alarm down like a hand pressing a lid on a pot. Not //acceptance//. Not yet. But the alarm doesn't reach her mouth.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-7.webp" alt="Karen in doorway, conflicted expression">
<p>She pulls the blanket higher. Goes to the kitchen. Her hands shake when she pours the coffee. She doesn't mention it.</p>
<<set $familySuspicion.karen.level += 1>>
<p><span class="consume-fail">Karen noticed the cum. Conditioning partially suppressed her response. (+1 Karen suspicion)</span></p>
<<say "char-hivemind" "Hivemind">>
//She saw it. She didn't say anything.// The conditioning held, barely. //One more session and she won't even flinch.//
<</say>>
<<else>>
<p>The cum on Jess's face is unmistakable, dried white, cracking at the edges, a rope of it in her hair. Her daughter. Asleep next to her husband. With //cum on her face//.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-7.webp" alt="Karen in doorway, shocked expression">
<<say "char-karen" "Karen">>
<i>(voice cracking)</i> //What the fuck.//
<</say>>
<p>Dale jerks awake. Jess startles. Karen stands in the doorway with her hand over her mouth, and the morning that was supposed to be coffee and routine becomes something else entirely.</p>
<<set _karenSusPenalty to 5 - Math.floor(_conditioningTotal / 2)>>
<<if _karenSusPenalty lt 1>><<set _karenSusPenalty to 1>><</if>>
<<set $familySuspicion.karen.level += _karenSusPenalty>>
<p><span class="consume-fail">Karen found Jess with cum on her face. (+<<= _karenSusPenalty >> Karen suspicion)</span></p>
<<say "char-hivemind" "Hivemind">>
//Insufficient conditioning.// Karen hasn't shifted far enough to accept this. //More conditioning needed, fast, or she becomes a threat.//
<</say>>
<</if>>
<p><span class="delve-intel">Intel gained: Baseline Shift normalises oral sex between Jess and Dale as nighttime routine. Karen discovered the aftermath, response scaled by conditioning level.</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.baseShiftMassage>>
<<set $ch2Events.baseShiftMassage to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Helping Hands</div>
<p><span class="skill-used">Baseline Shift, 2 targets, Dale + Megan (6 biomass)</span></p>
<img class="scene-img" src="media/scenes/baseshift-massage-1.webp" alt="Megan massaging Dale's bare shoulders in kitchen">
<p>Dale comes home at 6 AM. Back spasming from twelve hours on his feet. He drops into a kitchen chair, groaning. Megan is up for her early shift, coffee in hand, uniform on. She sets the cup down without thinking.</p>
<<say "char-megan" "Megan">>
Take off your shirt, Dad. I'll work on the knots.
<</say>>
<img class="scene-img" src="media/scenes/baseshift-massage-1.webp" alt="Megan massaging Dale's bare shoulders in kitchen">
<p>Dale pulls his security uniform shirt off. Megan stands behind him and digs her thumbs into the muscles along his spine. This is //normal//. Daughters massage their fathers' backs. It's what families do.</p>
<<say "char-hivemind" "Hivemind">>
//Her hands on his bare skin. His head dropping forward, eyes closing. A groan of relief that's indistinguishable from pleasure.//
<</say>>
<<if $kinks.megan.includes("praise")>>
<<say "char-dale" "Dale">>
<i>(groaning)</i> God, Meg... you're //so good// at this...
<</say>>
<p>The praise detonates in her conditioning. Her nipples harden under her coffee shop uniform. She works the muscles harder, presses closer, breasts against his back, thumbs digging deep.</p>
<<say "char-dale" "Dale">>
Magic hands, sweetheart. Best daughter in the world.
<</say>>
<p>Her pussy clenches. She's wet now. Her hands slide down from his shoulders, past his chest. She leans forward, chin on his shoulder, voice in his ear.</p>
<<say "char-megan" "Megan">>
<i>(whispering)</i> Let me get the rest of the tension too.
<</say>>
<<elseif $kinks.megan.includes("rough")>>
<p>Her massage gets harder. Nails digging into muscle. Dale hisses.</p>
<<say "char-dale" "Dale">>
Easy, Meg, that's —
<</say>>
<<say "char-megan" "Megan">>
<i>(firm)</i> Shut up. You need this.
<</say>>
<p>She shoves him forward against the table, works the lower back with brutal efficiency. Dale's forehead presses against the wood. He stops protesting. Megan's hands slide down to his belt.</p>
<<else>>
<p>Her hands work the knots out of his shoulders, his lower back, the tension bunched along his spine. Dale's head drops. His eyes close. He's half-asleep in the chair.</p>
<p>Megan's hands slide lower. Past his waist. Past the belt line. Baseline Shift has filed a clear gradient: massage → touch → stroke → //mouth//. Each step follows the last. The next step is always the obvious one.</p>
<<say "char-megan" "Megan">>
<i>(quietly)</i> Shh. Just relax, Dad.
<</say>>
<</if>>
<p>She walks around the chair. Kneels between his legs on the kitchen tile. Unbuckles his belt. Pulls his cock out, thick, half-hard, stiffening fast under her touch. She takes it in her hand, gives it two clinical strokes, and puts her mouth on it.</p>
<img class="scene-img" src="media/scenes/baseshift-massage-2.webp" alt="Megan on knees between Dale's legs in kitchen, blowjob">
<<if $kinks.megan.includes("praise")>>
<p>She sucks him with her eyes turned upward, watching his face for the reaction. Every groan, every "//god, Meg//," every involuntary twitch of his hips drives her mouth faster. The praise loop is a closed circuit, she sucks, he praises, the praise makes her suck harder. Her free hand shoves up under her uniform skirt, fingers inside her underwear, rubbing her clit while she bobs on his cock.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She sucks him rough, teeth grazing the shaft, nails digging into his thigh, her head jerking with aggressive rhythm. Dale grips the kitchen chair. His knuckles are white. Megan doesn't look up. She doesn't need his approval, she needs the //edge//, the scrape, the sound of his breath catching when her teeth find the ridge below the head.</p>
<<else>>
<p>She sucks him slow. Lips tight around the shaft, tongue pressing flat on the upstroke, hand working what her mouth can't reach. Dale's hand finds her hair, not guiding, just resting. His head falls back. Eyes closed. His daughter is on her knees in the kitchen and his only thought is how good it feels to be //touched// by someone who gives a shit.</p>
<<say "char-hivemind" "Hivemind">>
//Dale's cortisol is plummeting. Twelve hours of tension draining through the path of least resistance, his daughter's mouth.//
<</say>>
<</if>>
<p>Dale comes in four minutes. His hips lift off the chair, one thrust, and he pulls out. The cum hits Megan's face. A rope across her chin, another on her neck, a third landing on the collar of her coffee shop uniform. She doesn't flinch.</p>
<img class="scene-img" src="media/scenes/baseshift-massage-3.webp" alt="Megan kneeling, cum on face and uniform collar, casual expression">
<<say "char-megan" "Megan">>
<i>(wiping her chin with the back of her hand, standing up)</i> Feel better?
<</say>>
<<say "char-dale" "Dale">>
<i>(sinking into the chair, voice wrecked)</i> ...yeah. Yeah, Meg. Thanks.
<</say>>
<p>She rinses her face at the kitchen sink. Dabs at the uniform collar with a paper towel. Picks up her coffee. The cum stain on her collar will be visible at work. She doesn't notice.</p>
<<say "char-hivemind" "Hivemind">>
//One orgasm. Three biomass.// Massage to blowjob to facial. The gradient followed itself. //Megan is going to work with cum on her collar and she doesn't know because Baseline Shift filed the blowjob under //stress relief// and the cum under //mess//.//
<</say>>
<p>Footsteps on the stairs. //Karen.//</p>
<<say "char-hivemind" "Hivemind">>
//She's coming down. Dale is in the kitchen chair with his pants undone. Megan has cum on her neck.// Karen will see this in ten seconds.
<</say>>
<<conditioningFeedback "psionic" 1 "Dale, baseline shift (massage)">>
<<conditioningFeedback "psionic" 1 "Megan, baseline shift (massage)">>
/* Heavy taboo gate: total ≥ 24 AND at least one track ≥ 8 */
<<set _kC to $conditioning.karen>>
<<set _kTot to (_kC.pheromone or 0) + (_kC.dream or 0) + (_kC.psionic or 0)>>
<<set _kMax to Math.max(_kC.pheromone or 0, _kC.dream or 0, _kC.psionic or 0)>>
<<if $houseState and $houseState.hvacCompromised>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HVAC</span> [[Karen accepts the situation unconditionally, the ambient dose does the work for free->Ch2-BaseShift-HVAC-Accept]]</div>
<<elseif _kTot gte 24 and _kMax gte 8>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BASELINE</span> <<link "Push Karen's conditioning: make her approve (3 biomass)" "Ch2-BaseShift-Massage-Accept">><<spendBiomass 3>><</link>></div>
<</if>>
<<if not ($houseState and $houseState.hvacCompromised)>>
[[Let it happen, don't intervene->Ch2-BaseShift-Massage-Discovery]]
<</if>><<nobr>><<bg "bg-hoffman-kitchen">>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<p>Karen rounds the corner. Dale in the chair, shirt off, pants unbuttoned. Megan at the sink rinsing her face. The smell of sex and coffee.</p>
<p>Karen looks at the scene. Her daughter. Her husband. The undone belt. The wet spot on Megan's collar.</p>
She nods.
<<say "char-karen" "Karen">>
<i>(getting a mug from the cabinet)</i> How's his back?
<</say>>
<<say "char-megan" "Megan">>
Better. The lower lumbar was really locked up.
<</say>>
<<say "char-karen" "Karen">>
You're a good girl, Meg.
<</say>>
<p>She pours herself coffee. Sits at the table beside Dale. Doesn't mention the undone pants. Doesn't mention the cum on Megan's collar. A daughter helped her father with his stress. //That's what family is for.//</p>
<<say "char-hivemind" "Hivemind">>
//Karen saw. Accepted. Filed under //domestic caregiving//.// Her daughter sucked off her husband in the kitchen and Karen called her a good girl.
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, conditioning accepted the scene">>
<p><span class="delve-intel">Intel gained: Baseline Shift normalises oral sex between Megan and Dale as therapeutic massage. Karen's conditioning accepted the scene, blowjob reclassified as stress relief. Cum on Megan's collar unremarked upon.</span></p>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<set _kC to $conditioning.karen>>
<<set _conditioningTotal to (_kC.pheromone or 0) + (_kC.dream or 0) + (_kC.psionic or 0)>><</nobr>>
<p>Karen rounds the corner into the kitchen.</p>
<<if $conditioning.karen.psionic gte 5>>
<p>She sees Dale in the chair. Shirt off. Pants undone. Megan at the sink, wiping something from her chin.</p>
<p>Karen's step falters. Her eyes move from Dale's undone belt to Megan's neck, the wet spot on her collar, the flushed skin. Something behind her eyes //fights//. The conditioning presses it down.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-7.webp" alt="Karen in doorway, conflicted expression">
<p>She walks to the coffee machine. Pours a cup. Her hands are steady but her jaw is tight.</p>
<<say "char-karen" "Karen">>
<i>(not looking at either of them)</i> ...morning.
<</say>>
<<set $familySuspicion.karen.level += 1>>
<p><span class="consume-fail">Karen noticed. Conditioning partially suppressed her response. (+1 Karen suspicion)</span></p>
<<say "char-hivemind" "Hivemind">>
//She saw it. Swallowed the alarm.// The conditioning held. //Barely.//
<</say>>
<<else>>
<p>Dale in the kitchen chair. Shirt off, pants undone, the unmistakable flush of a man who just came. Megan at the sink, wiping cum from her chin, her uniform collar wet and stained.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-7.webp" alt="Karen in doorway, shocked expression">
<<say "char-karen" "Karen">>
<i>(voice flat, dangerous)</i> What. The //fuck//. Is going on.
<</say>>
<p>Dale's eyes snap open. Megan freezes at the sink. The paper towel in her hand is smeared white.</p>
<<set _karenSusPenalty to 5 - Math.floor(_conditioningTotal / 2)>>
<<if _karenSusPenalty lt 1>><<set _karenSusPenalty to 1>><</if>>
<<set $familySuspicion.karen.level += _karenSusPenalty>>
<p><span class="consume-fail">Karen caught the aftermath. (+<<= _karenSusPenalty >> Karen suspicion)</span></p>
<<say "char-hivemind" "Hivemind">>
//Insufficient conditioning.// She isn't shifted far enough. //The suspicion will accelerate her alertness. More conditioning, fast.//
<</say>>
<</if>>
<p><span class="delve-intel">Intel gained: Baseline Shift normalises oral sex between Megan and Dale as therapeutic massage. Karen discovered the aftermath, response scaled by conditioning level.</span></p>
[[Return to the ground floor->Ch2-GroundFloor]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.baseShiftFull>>
<<spendBiomass 15>>
<<set $ch2Events.baseShiftFull to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 6>>
<</if>><</nobr>>
<div class="passage-title">The New Normal</div>
<p><span class="skill-used">Baseline Shift, ALL 5 targets (15 biomass). APEX EVENT.</span></p>
<<if $jessRoute is "punk" and $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/baseshift-full-1-punk-fem.webp" alt="Split montage: five faces hit by Baseline Shift, Jess with purple-and-black dyed hair and nose stud, Ryan feminized">
<<elseif $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-full-1-punk.webp" alt="Split montage: five faces hit by Baseline Shift, Jess with purple-and-black dyed hair and nose stud">
<<elseif $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/baseshift-full-1-fem.webp" alt="Split montage: five faces hit by Baseline Shift, Ryan feminized">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-1.webp" alt="Split montage: five faces hit by Baseline Shift">
<</if>>
<p>Sunday evening. After dinner. Five people in the living room. Dale on the couch. Karen beside him. Megan on the floor with a glass of wine. Jess in the armchair with a textbook she isn't reading. <<if $ryanRoute is "feminization">>Ryan cross-legged on the carpet in his camisole, headphones around his neck.<<else>>Ryan cross-legged on the carpet, headphones around his neck.<</if>></p>
<p>No one is dressed. //Naked//. All five of them. Clothing was never part of Sunday evenings. Why would it be? It's their living room.</p>
<<say "char-hivemind" "Hivemind">>
//Fifteen biomass. Five nervous systems rewritten simultaneously.// What happens in this room tonight becomes the new baseline. //Permanent.//
<</say>>
<p>The TV plays. Nobody watches it. Five naked bodies in a closed space, five sets of pheromone glands saturating the air until every breath tastes like skin and salt. The warmth in the room is biological.</p>
<<include "Ch2-BaseShift-FullFamily-Phase1">>
<<include "Ch2-BaseShift-FullFamily-Phase2">>
<<include "Ch2-BaseShift-FullFamily-Phase2b">>
<<include "Ch2-BaseShift-FullFamily-Phase3">>
<<include "Ch2-BaseShift-FullFamily-Phase4">>
<<include "Ch2-BaseShift-FullFamily-Phase5">>
<<include "Ch2-BaseShift-FullFamily-Aftermath">>
<<conditioningFeedback "psionic" 1 "all family members, baseline shift (full family)">>
<p><span class="delve-intel">Intel gained: APEX EVENT — Full family Baseline Shift. All 5 members' normalcy permanently rewritten. Penetration, oral, mutual masturbation across every family combination accepted as Sunday routine. Six biomass from simultaneous climax. The family maintains itself without parasite intervention. The system runs itself.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]/* ===== PHASE 1: THE ORAL CIRCUIT ===== */
<p>Karen leans against Dale. His cock rests soft against his thigh. Her hand finds it without looking, wraps the shaft and strokes with the absent rhythm of someone fidgeting with a pen. Dale's eyes close. His arm is around her, hand cupping her bare breast.</p>
<<say "char-karen" "Karen">>
<i>(to nobody in particular)</i> This is nice. We should do this more often.
<</say>>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Karen closes her eyes. Flexes. The shift takes three seconds, her cock thickens against her stomach, growing from nothing to half-hard while Megan leans against her bare thigh. Ryan is on the carpet in the camisole he wears around the house now, legs tucked under him.</p>
<<say "char-karen" "Karen">>
Ryan. Come here.
<</say>>
<p>Ryan crawls to the couch. Karen's cock is fully hard when his lips close around it, the same practised motion as the morning routine, except this time Megan is right there, watching. Megan's hand finds Dale's cock and strokes it from the floor, mirroring her mother, a circuit of mouths and hands.</p>
<<say "char-hivemind" "Hivemind">>
//Double oral. Karen's cock in Ryan's mouth. Dale's cock in Megan's hand.// Two circuits running simultaneously. The room smells like a //lab//.
<</say>>
<<elseif $ryanRoute is "feminization">>
<p>Ryan crawls across the carpet to the couch. He's wearing the camisole, thin straps, bare thighs. Karen spreads her legs without looking down from the TV. Ryan presses his face between her thighs and his tongue finds her clit.</p>
<p>He eats her out with quiet focus. Tongue flat, slow laps. Karen's hand stays on Dale's cock. She strokes her husband while her son licks her pussy and her expression doesn't change from mild contentment.</p>
<p>Megan watches from the floor. Her hand drifts between her own legs.</p>
<<say "char-karen" "Karen">>
<i>(stroking Dale's cock, Ryan's tongue on her clit)</i> Megan. Don't just watch. Help your father.
<</say>>
<p>Megan rises to her knees, takes Dale's cock from Karen's hand, and puts it in her mouth. Now Karen has both hands free, one on the back of Ryan's head between her legs, one stroking Megan's hair as her eldest daughter bobs on her father's cock.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan moves first. Not toward Karen, toward //Megan//. He's the alpha in this room and the pheromone hierarchy says Megan is //his//. He pulls her wine glass from her hand, sets it on the carpet, and pushes her down onto her back on the living room floor.</p>
<<say "char-megan" "Megan">>
<i>(laughing, pulling him down)</i> Easy, tiger —
<</say>>
<p>He's inside her before she finishes the sentence. Megan's legs wrap around his back and Ryan fucks her on the living room carpet with the aggressive rhythm of someone claiming territory. Karen watches from the couch. Her hand is still on Dale's cock. She strokes faster.</p>
<<else>>
<p>Ryan crawls across the carpet. Settles between Karen's knees. His mother spreads her legs without looking down. His tongue finds her clit, flat, steady, the lapping rhythm of a boy doing homework.</p>
<p>Karen's hand stays on Dale's cock. She strokes her husband while her son eats her pussy and she asks Megan about the wine.</p>
<<say "char-megan" "Megan">>
<i>(reaching for the bottle)</i> Half a glass. Want me to open another?
<</say>>
<<say "char-karen" "Karen">>
<i>(hips shifting against Ryan's mouth)</i> Mm. Please.
<</say>>
<p>Megan pours the wine. Hands the glass to Karen. Then, because there's a cock right there, because Dale is hard and no one is using his lap, she leans over and takes her father in her mouth. Casual. Like sipping from a straw.</p>
<</if>>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/baseshift-full-2-futa.webp" alt="Ryan sucking Karen's futa cock on couch, Megan stroking Dale">
<<elseif $ryanRoute is "familySeeker">>
<img class="scene-img" src="media/scenes/baseshift-full-2-alpha.webp" alt="Ryan fucking Megan doggy on living room carpet">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-2.webp" alt="Megan blowing Dale on couch, Ryan between Karen's legs">
<</if>>
<p>The air in the living room is thick with it. The specific smell of five bodies sharing pheromones at close quarters, sweat, wine, the musky warmth of three people being mouthed at once, the faint lavender of the clean laundry under everything. Ryan's tongue moves slowly between Karen's thighs and the wet rhythm is audible in the quiet room. Megan's lips work Dale's cock with the soft suction of someone taking a long swallow of water. Nobody is loud. The television plays a muted cooking show. A fork clinks against a plate in the onscreen kitchen and nobody in the room hears it.</p>
<<say "char-hivemind" "Hivemind">>
//Highest pheromone concentration I've measured. Every breath is a dose from every other body in the room.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Emotional response from all five nervous systems: //comfortable//.//
<</say>>/* ===== PHASE 2: ESCALATION — THE PAIRS FORM ===== */
<p>Dale comes first. A low grunt, hips pushing upward. <<if $kinks.megan.includes("gangbang")>>Megan takes it on her tongue and holds it, head back, mouth open, Dale's cum pooling on her palate the way she'd hold the head of a tap open for the next pour. She swallows with the practised throat of a girl who is already counting to the next one. She doesn't wipe her mouth. She looks up and her eyes land on Ryan and then on the edge of the coffee table where the wine bottle is, as if checking where the line forms.<<elseif $kinks.megan.includes("praise")>>Megan swallows and keeps sucking through the aftershocks — //good girl, good girl//, the praise from Karen pushing her mouth to stay on his softening cock until every drop is gone. She pulls off with a wet pop and licks her lips.<<elseif $kinks.megan.includes("rough")>>Megan pulls off at the last second. The cum hits her chin, her neck, her collarbone. She wipes it off with her palm and licks her hand clean, aggressive, deliberate, the rough kink making even //cleanup// feel like a power move.<<else>>Megan holds his cock in her mouth while he pulses. Swallows. Wipes the corner of her mouth. Picks up her wine glass.<</if>></p>
<<say "char-karen" "Karen">>
<i>(watching)</i> Someone get on the couch properly. This isn't a campfire.
<</say>>
<p>The furniture rearranges. Karen pulls Dale's legs onto the couch so he's lying flat, his head on the armrest, his body along the cushions. She climbs on top. Her knees on either side of his hips. His cock is soft but it doesn't matter, she grinds against him, her wet pussy sliding along the length of it, working him back to hardness with the patience of someone kneading dough.</p>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Karen doesn't go to Dale. She goes to //Megan//.</p>
<p>She flexes. Three seconds. Her cock grows hard between her legs. Megan is on the carpet, wine glass empty, bare skin flushed from the pheromone saturation. Karen stands over her. Megan looks up at her mother's cock and her lips part.</p>
<<say "char-karen" "Karen">>
<i>(calm, absolute)</i> On your back.
<</say>>
<p>Megan lies back on the carpet. Karen kneels between her daughter's legs, lifts her thigh with one hand, and pushes inside her. Megan gasps, the cock stretches her, thick, her mother's body //inside// her body, and Karen starts to fuck her on the living room floor with the controlled rhythm of someone who has done this before.</p>
<img class="scene-img" src="media/scenes/baseshift-full-3-futa.webp" alt="Karen futa fucking Megan missionary on carpet, living room">
<<say "char-hivemind" "Hivemind">>
//Karen's cock inside her daughter. Missionary on the carpet. The TV reflects off both their bodies.// Dale watches from the couch. His hand is on his own cock. //He doesn't intervene. He watches his wife fuck their daughter and the strongest emotion he registers is //tired//.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<img class="scene-img" src="media/scenes/baseshift-full-3.webp" alt="Karen riding Dale on couch">
<p>Karen lowers herself onto Dale's cock. Rides him slow.</p>
<img class="scene-img" src="media/scenes/baseshift-full-3-alpha.webp" alt="Ryan fucking Megan doggy on living room carpet">
<p>Across the room, Ryan has Megan on all fours on the carpet, her face pressed into a throw pillow, her ass raised, and he fucks her from behind with the driving rhythm of someone claiming territory. Megan's moans are muffled by the pillow. Her fingers claw at the carpet.</p>
<<say "char-hivemind" "Hivemind">>
//Two pairs. Karen riding Dale on the couch. Ryan fucking Megan on the floor.// The living room has split into two breeding stations.
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-3.webp" alt="Karen riding Dale on couch, living room">
<p>Dale hardens inside her. Karen rides him, slow rolls of her hips, grinding forward to drag her clit along his pelvis on each stroke. Her eyes are half-closed. The TV reflects off her bare skin.</p>
<p>Ryan sits on the carpet, cock hard, watching his mother ride his father. <<if $ryanRoute is "feminization">>The camisole is rucked up above his hips. His cock leaks pre-cum onto the fabric.<<else>>His hand wraps his cock but he doesn't stroke. He just //holds// it. Watching.<</if>></p>
<</if>>/* ===== PHASE 2.5: JESS + DALE (+ RYAN VARIANT) ===== */
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Dale is on the couch. Karen is busy with Megan on the floor. His cock is hard and nobody is using it. Jess slides off the armchair. She doesn't look at Karen and Megan, she looks at Dale. At her father's cock, thick and neglected against his stomach.</p>
<p>She kneels between his legs. Takes him in her mouth. Dale's head falls back.</p>
<p>Ryan crawls across the carpet in his camisole. He kneels beside Jess. His mouth finds Dale's balls while Jess works the shaft, two mouths on their father, side by side, tongues meeting on his skin.</p>
<video class="scene-video" src="media/video/baseshift-full-3b-futa.webm" autoplay muted loop playsinline poster="media/scenes/baseshift-full-3b-futa.webp"></video>
<<say "char-hivemind" "Hivemind">>
//Two children on their father's cock. Karen fucking Megan on the carpet behind them.// Four out of five occupied. //The circuit is almost complete.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<p>Jess has been in the armchair. Watching Ryan fuck Megan. Watching Karen ride Dale. Her hand between her legs, but watching isn't enough anymore.</p>
<p>Karen climbs off Dale. Lies on her back on the carpet, not the couch, the //carpet//, like she's making a point about how little the furniture matters. She spreads her legs. Her pussy is swollen, wet from riding Dale, the lips flushed dark pink.</p>
<<say "char-karen" "Karen">>
<i>(to Jess, patting the space above her)</i> Come here. Face the other way.
<</say>>
<p>Jess climbs over her mother. The 69 forms — Jess's knees on either side of Karen's head, her pussy lowering toward her mother's mouth. Jess's face between Karen's thighs. Karen's tongue finds Jess's clit from below, long, flat strokes, the same efficiency she brings to everything.</p>
<p>Ryan pulls out of Megan. Walks to the carpet. He kneels behind Karen's head, between her spread thighs, and pushes his cock into her pussy. Jess is right there, her face inches from where Ryan enters their mother. She licks. Her tongue finds Karen's clit around Ryan's shaft, lapping at both of them, the taste of her mother's pussy and her brother's cock mixing on her tongue.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-full-3b-alpha-punk.webp" alt="Close-up on the 21 year old woman's face between the 43 year old woman's thighs, her tongue out lapping at the base of a cock penetrating the older woman's pussy, purple and black dyed hair, nose stud, warm evening living room lighting, gray couch">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-3b-alpha.webp" alt="Close-up on the 21 year old woman's face between the 43 year old woman's thighs, her tongue out lapping at the base of a cock penetrating the older woman's pussy, warm evening living room lighting, gray couch">
<</if>>
<<say "char-hivemind" "Hivemind">>
//Karen eats Jess from below. Jess licks Karen's clit and Ryan's cock simultaneously. Ryan fucks his mother while his sister's tongue runs along the shaft on every outstroke.// A three-body circuit. //Megan watches from the carpet, hand between her legs.//
<</say>>
<<else>>
<p>Karen climbs off Dale. His cock springs free, wet, hard, glistening. Before he can react, Jess is off the armchair and crossing the room.</p>
<<say "char-jess" "Jess">>
<i>(to Dale, flat, efficient)</i> Stay.
<</say>>
<p>Dale stays. Stretched out on the couch, head on the armrest. Jess climbs on top, straddles his hips, reaches between them, and sinks down onto his cock. Cowgirl. Her pussy takes him to the root in one smooth drop. Dale groans. Jess doesn't make a sound, she starts riding, hips rolling, the rhythm //precise//.</p>
<p>Karen walks to the head of the couch. Steps over the armrest. She lowers herself onto Dale's face, her pussy settling against his mouth, her knees on either side of his head. Dale's tongue finds her clit on instinct. He licks his wife while his daughter rides his cock, his body stretched between two women who are using him like furniture.</p>
<<say "char-hivemind" "Hivemind">>
//Dale on his back. Karen on his face. Jess on his cock.// He is being used from both ends and his contribution is //passive//. The way he's always been.
<</say>>
<<if $ryanRoute is "feminization">>
<p>Ryan doesn't go to the couch. He hovers at the edge of the room in his camisole, hard, uncertain, the boy who always waits to be told. Megan is on the carpet with her wine glass. She's been watching everything. Her pussy is wet, the pheromones, the sounds, the sight of Jess bouncing on their father's cock three feet away. She sets the glass down.</p>
<<say "char-megan" "Megan">>
<i>(snapping her fingers at Ryan, the way you'd call a dog)</i> Hey. Down here. Make yourself useful.
<</say>>
<p>Ryan drops to his knees on the carpet. The camisole rides up his thighs. Megan spreads her legs. She grabs the back of his head with one hand, not guiding, //shoving//, and pushes his face between her thighs. His mouth finds her pussy and she grinds against him, fingers fisted in his hair.</p>
<img class="scene-img" src="media/scenes/baseshift-full-3b-fem.webp" alt="Megan forcing fem Ryan's head between her legs on carpet, couch scene behind">
<<say "char-megan" "Megan">>
<i>(hips rolling against his face)</i> Slower. God, you're bad at this. //Slower//. Use your tongue, not your whole face.
<</say>>
<p>Ryan adjusts. His tongue flattens against her clit, finds a rhythm. Megan's grip on his hair loosens, then tightens again.</p>
<<say "char-megan" "Megan">>
<i>(looking down at him)</i> You know Jess does this better than you, right? She figured it out in thirty seconds. You've been down there for two minutes and I can barely feel it.
<</say>>
<p>She says it the way she'd critique a latte, warm tone, cheerful delivery, the words landing like slaps disguised as feedback. Ryan's ears burn red. His tongue works harder. He wants to //please// her, the conditioning has wired Megan's approval into his arousal the same way it wired Karen's authority. Being berated by his sister while wearing her clothes makes him harder. He hates that it makes him harder.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(softening, hand gentler in his hair)</i> There. That's... okay, that's better. //Good boy//. Keep doing that.
<</say>>
<p>The praise reversal hits them both. Ryan moans into her pussy. Megan's thighs clench around his head.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Megan grabs his hair with both hands. Pulls him in until his nose is crushed against her pubic bone. She fucks his face, aggressive rolls of her hips, using his mouth the way Ryan uses a controller.</p>
<<say "char-megan" "Megan">>
<i>(breathless, grinding)</i> Don't stop. Don't you //dare// stop.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The couch: Jess rides Dale. Karen sits on his face.// The carpet: Megan uses Ryan's mouth. //The feminized brother in a camisole eating his sister's pussy while she gives him a performance review. Baseline Shift filed cunnilingus under //chores//. Ryan is bad at chores. Megan is management.//
<</say>>
<<else>>
<p>Ryan stands beside the couch. His cock is level with Jess's face. She turns her head, still riding Dale, hips never stopping, and takes her brother's cock in her mouth. She sucks him hard, cheeks hollowing, one hand braced on Dale's chest for leverage. Three acts at once: riding her father, blowing her brother, while her mother grinds on her father's face at the other end of the couch.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-full-3b-punk.webp" alt="Punk Jess in prone cowgirl on beige living room couch, naked man beneath her with his cock in her pussy from below, Ryan standing beside the couch with his cock in her mouth, purple and black dyed hair falling forward">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-3b.webp" alt="Jess in prone cowgirl on beige living room couch, naked man beneath her with his cock in her pussy from below, Ryan standing beside the couch with his cock in her mouth, dark brown hair falling forward">
<</if>>
<<say "char-hivemind" "Hivemind">>
//Jess rides Dale. Sucks Ryan. Karen sits on Dale's face.// Four bodies connected through one couch. //The analytical daughter is multitasking. The mother is being serviced. The father is being //used//.//
<</say>>
<</if>>
<</if>>/* ===== PHASE 3: JESS KINK BEATS (STACKING — each kink fires independently) =====
Order: voyeurism -> brat -> band -> degradation -> fallback
Fallback only fires when NO jess kink is present. */
<<set _jKink to $kinks.jess.includes("voyeurism") or $kinks.jess.includes("brat") or $kinks.jess.includes("degradation")>>
<p>Jess. The armchair. She's been watching for twenty minutes and the two fingers between her thighs have been moving in the same slow circle for eighteen of them. Her pussy is slick, her clit swollen, the inside of her left thigh wet where her hand has been working. She has not come yet. She has not wanted to. The refusal has been the game.</p>
/* === VOYEURISM BEAT ============================================ */
<<if $kinks.jess.includes("voyeurism")>>
<p>Her fingers don't speed up. They //focus//. Two inside her pussy, curling forward against the front wall where she mapped herself years ago; her thumb settles on her clit and circles at the exact pressure her clinical brain catalogued as //the correct one//. She does not blink for long stretches.</p>
<p>She watches Karen's face buried in Megan's thighs. She watches Dale's cock disappearing into Karen. She watches the wet sheen on every body in the room and the muscle-flicker in Dale's thighs and the small involuntary noises the pheromones are pulling out of people who should not be making those noises in front of each other.</p>
<img class="scene-img" src="media/scenes/baseshift-full-4-voyeur.webp" alt="21 year old woman in a gray living room armchair, naked, two fingers inside her pussy, thumb on her clit, eyes locked on the family fucking on the couch">
<<say "char-jess" "Jess">>
<i>(under her breath, to no one, eyes locked on Karen's ass)</i> God. Look at her. //Look at her.//
<</say>>
<p>Her pussy clenches around her own fingers, three hard pulses, four, six, thighs locking, teeth catching her lower lip. The orgasm is silent. She will not share it with the room. The only tells are the sharp inhale through her nose and the six clean contractions she counts against her own knuckles before the wave passes.</p>
<<say "char-jess" "Jess">>
<i>(held breath, the exhale shaking)</i> ...mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Orgasm delivered through the optic nerve. The pussy contracted on what the eyes were catalogueing. Voyeurism as labour, sexual work performed without touching another body, biomass yield identical to penetration.//
<</say>>
<</if>>
/* === BRAT BEAT ================================================= */
<<if $kinks.jess.includes("brat")>>
<<if $kinks.jess.includes("voyeurism")>>
<p>The first orgasm only sharpened the edge. Her hand hasn't stopped moving on her clit. The commentary starts to leak out under her breath, and then it stops being under her breath.</p>
<<else>>
<p>Her free hand finds the lager bottle on the chair arm. She tips it. Swallows. The commentary drops into the room flat, a diagnostic note delivered into a chart.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(drawling to the couch, fingers still working her clit)</i> Mom. Your left hip has been doing the same fucking corrective stutter for ninety seconds. Not helping. You're riding a cock, not reconciling an invoice. Pick a cell, for fuck's sake. //Commit.//
<</say>>
<p>Nobody breaks rhythm. Karen's hips keep their exact corrective stutter. Dale's hands stay on her waist. Megan's tongue stays buried between Karen's thighs.</p>
<<say "char-jess" "Jess">>
<i>(to Dale, bottle pointing loose and lazy)</i> Dad. Four minutes. Same three thrusts as the time you were trying to unjam the fucking printer that one summer. You know a fourth exists. I've seen it on anatomy charts. Stop being polite with your own cock.
<</say>>
<<say "char-jess" "Jess">>
<i>(to Megan, flatter, harder)</i> And you. Eighteen percent of that moan is for the room, Meg. Eighty-two is for //yourself//. I can hear the fucking ratio. Don't bullshit us.
<</say>>
/* === MEGAN REACTION, route + kink gated === */
<<if $kinks.megan.includes("rough")>>
<<say "char-megan" "Megan">>
<i>(pulling her mouth off Karen's clit just long enough, chin wet, grinning)</i> Eighty-five. Round up. Fuck off, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, without looking)</i> I am. Thanks.
<</say>>
<<elseif $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(pulling back from Karen's thighs, the barista cheer crumpling at the edges)</i> That's — Jess, I'm //really// into it, though, I'm —
<</say>>
<<say "char-karen" "Karen">>
<i>(hand firm on the back of Megan's head, pushing her back down)</i> Sweetheart. Ignore her. Mouth.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, obedient, back on Karen's clit)</i> //Mmh. Okay. Okay, Mom.//
<</say>>
<<elseif $kinks.megan.includes("publicSex") or $kinks.megan.includes("gangbang")>>
<p>Megan doesn't stop. She lifts one hand off Karen's thigh, the middle finger goes up toward the armchair without ceremony, the professional gesture of a woman who has been doing this work for money and knows the critic never tips. Then the hand goes back on Karen's thigh, thumb working in small circles, and her tongue doesn't miss a beat.</p>
<<say "char-megan" "Megan">>
<i>(muffled, wet, into Karen's pussy)</i> //Mmh, save it for the feedback form, Jess.//
<</say>>
<<elseif $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(lifting her chin off Karen's clit, wet-lipped, cheerful)</i> Tell it to my next appointment, babe. I'll pass the notes along.
<</say>>
<<elseif $meganRoute is "marcus">>
<<say "char-megan" "Megan">>
<i>(muffled, not pulling off)</i> //Mmh, fuck off, Jess.//
<</say>>
<<else>>
<p>Megan's tongue does not falter. She does not respond. The eighty-two percent carries on uninterrupted.</p>
<</if>>
<img class="scene-img" src="media/scenes/baseshift-full-4-brat.webp" alt="21 year old woman sprawled in a gray living room armchair, naked, purple-and-black hair pulled back, lager bottle balanced on the armrest, one hand between her legs with two fingers inside her pussy, the other holding the bottle, mouth open mid-sentence">
<p>Her hips start grinding on her own hand. Two fingers push deeper; her palm slaps wet against her clit on every downstroke. The commentary has rhythm now, each sentence a thrust, each insult a downbeat.</p>
<<if $ryanRoute is "feminization">>
<<say "char-jess" "Jess">>
<i>(breath catching under it, the climb audible)</i> Ryan. Use your fucking //tongue//, not your whole face. Slower. Flatter. You've been doing the same chewing motion on Meg's clit for two minutes and it's fucking embarrassing. //Eighty-two percent, Meg.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(small, muffled into whatever body he's under, barely a word)</i> ...sorry. Sorry, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(grinding harder on her hand)</i> Don't fucking //apologise//. Just fix it. Tongue. Flat. Slow. //There.// Better.
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-jess" "Jess">>
<i>(breath catching under it, the climb audible)</i> Ryan. Your hips go soft at the top of every stroke. You lose two fucking inches per thrust. Her pussy's not going to notice because she's eighty-two percent for herself anyway but //I notice//. Drive through it. Don't be polite at the top of the fucking arc. //Eighty-two percent, Meg.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(breathless, hips speeding up, voice thick from wherever he is in the room)</i> Eyes on your own fucking armchair, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, still fingering herself)</i> Better. See? Driving through. That's the fourth inch. You had it the whole time.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(breath catching under it, the climb audible)</i> Ryan. You're gripping your own cock like it's a cheap Bic pen. Hand higher. Use your fucking wrist, not your shoulder. We've been over this. //Eighty-two percent, Meg.//
<</say>>
<p>Ryan does not respond. His hand does not adjust. He is too deep in the pheromone fog to route the instruction, the words land and slide off him like water off a windshield.</p>
<</if>>
<p>The orgasm lands on the word //Meg//. Her spine arches off the armchair. The bottle tips and beer foams on the carpet and nobody moves to right it. Her pussy clamps hard on her own fingers; she finishes the sentence on the other side of the wave.</p>
<<say "char-jess" "Jess">>
<i>(still pulsing on her fingers, teeth catching her lip)</i> ...seventy-eight. Fine. I'll give you //seventy-eight//, Meg. Happy?
<</say>>
<<if $kinks.megan.includes("rough") or $kinks.megan.includes("publicSex") or $kinks.megan.includes("gangbang") or $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(muffled, genuinely amused, face still in Karen's pussy)</i> //Fuck off, Jess.//
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The climax landed on a quantitative correction. Not on an act, not on a body, on a number. Being clinically right while being publicly ignored, and publicly //corrected down// by the same sister she was correcting, is the engine. The swearing is not loss of composure. The swearing is the tempo. She is feeding on it.//
<</say>>
<</if>>
/* === DEGRADATION BEAT ========================================== */
<<if $kinks.jess.includes("degradation")>>
<<if _jKink and ($kinks.jess.includes("voyeurism") or $kinks.jess.includes("brat"))>>
<p>The armchair orgasms were calibration. The real beat was always going to be the one that had another body in it.</p>
<</if>>
<p>Jess stands up. Crosses to Ryan, wherever he is, whatever he is doing, she cuts through it. If he's with Megan she pulls him off her. If he's on the floor she steps over his shins and turns him onto his back with her foot.</p>
<<say "char-jess" "Jess">>
<i>(flat, no inflection, looking down at him)</i> Lie flat. Tongue out. Don't move your hands. If your hands move I stop.
<</say>>
<p>Ryan lies flat. His cock is already hard, pink, straining at the ceiling, a bead of pre-cum at the tip. Jess steps over him. She does not look at his face. She turns //around//, back to his chest, and lowers her pussy onto his mouth, reverse face-sitting, her ass on his cheeks, her knees braced on the carpet either side of his head.</p>
<<say "char-jess" "Jess">>
<i>(delivered downward, to his cock, not his face)</i> If I come before you, you swallow. If you come first, you clean it up.
<</say>>
<p>Ryan's tongue finds her clit. Flat, steady, eager, the conditioning has wired her approval into his arousal and he is working for the crumb. Jess reaches back with her right hand and wraps his cock at the base. She starts jerking him, hard, fast, punishing strokes, the grip she uses on a bass neck during a bridge.</p>
<img class="scene-img" src="media/scenes/baseshift-full-4-degr.webp" alt="21 year old woman in reverse face-sitting position on a 19 year old man on the living room carpet, her hand gripping his erect cock and jerking him off, his tongue visible at her clit">
<<say "char-jess" "Jess">>
<i>(grinding down, clinical)</i> Pathetic. You'd let anyone sit on your face. I didn't even have to ask, you offered the second I stood up.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, tongue working, barely a sound)</i> //Mmh, mmh.//
<</say>>
<<say "char-jess" "Jess">>
<i>(stroking him faster, slick already coating her fist)</i> Don't try to answer. I can feel you trying to moan. I don't want the moan. I want the tongue. Harder. Faster. //There.//
<</say>>
<p>His cock jerks in her hand. Pre-cum slicks the shaft; her fist squelches wet on every stroke. Her hips roll on his mouth to match the rhythm on his cock, one tempo running through both ends of him.</p>
<<say "char-jess" "Jess">>
<i>(breath going ragged, still commanding)</i> I'm going to come on your tongue in about twenty seconds. Then I'm going to finish you onto your own stomach. Then you're going to clean it up with your right hand. Tongue-tap twice if you understand.
<</say>>
<p>Ryan's tongue taps her clit, twice, deliberate, a signed acknowledgment.</p>
<<say "char-jess" "Jess">>
<i>(flat satisfaction)</i> Good.
<</say>>
<p>Her hand grip tightens on him. She comes grinding down on his mouth, a hard, visible orgasm, thighs clamping his temples, her pussy flooding on his tongue and chin, a long breath hissing out through her teeth.</p>
<<say "char-jess" "Jess">>
<i>(still pulsing, hand still pumping him)</i> Mm. //Good.// Now you.
<</say>>
<p>Her hand keeps working his cock through her own aftershocks. Three strokes. Four. Ryan's hips buck off the carpet, she holds her seat on his face, rides through it, doesn't let him throw her, and he comes with a strangled sound into her pussy, cum shooting up his own chest in three thick ropes, the last one landing on his own jaw.</p>
<<say "char-jess" "Jess">>
<i>(climbing off without looking at him, wiping herself once with the back of her hand)</i> Right hand. Stomach first, then your chest. Your jaw last. I want to see you swallow each one.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(breathless, two fingers already scooping cum off his sternum)</i> ...okay. Okay.
<</say>>
<p>Jess stands and watches him eat. Her own hand is casual between her legs, monitoring, not building, the way you'd monitor a pot on a low flame.</p>
<<say "char-hivemind" "Hivemind">>
//Two orgasms converted, one lecture delivered, one command obeyed, one mouthful of ingested cum. The degradation wiring makes her need to be //correct about his worthlessness// and need to be //obeyed// at the same instant. Both wires closed the circuit on the same count. She will not forget this one.//
<</say>>
<</if>>
/* === FALLBACK, no jess kink ==================================== */
<<if not _jKink>>
<p>She's been coiled for twenty minutes. Aroused and refusing to touch herself. When Karen says //someone get on the couch properly//, something in her conditioning snaps.</p>
<p>She slides off the armchair. Walks to Ryan. Stands over him, naked, jaw tight, the analytical mind making a decision the body already made ten minutes ago.</p>
<<if $ryanRoute is "feminization">>
<<say "char-jess" "Jess">>
<i>(looking down at him in the camisole)</i> Lie back. Hands off.
<</say>>
<p>Ryan lies back. Jess kneels between his legs. She takes his cock in her hand, hard, straining, the camisole rucked up around his waist, and wraps her mouth around the head. She sucks him with the same clinical focus she brings to a lab practicum. Tongue flat. Steady rhythm. One hand on the base, the other on his hip pinning him down.</p>
<<say "char-ryan" "Ryan">>
<i>(strangled, hands fluttering at the carpet)</i> Jess... Jess, oh —
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling off one second, flat, hand still pumping him)</i> Quiet. Mom's busy.
<</say>>
<p>Her mouth goes back on him. Unhurried. She fingers herself with her free hand, two inside, thumb on her clit, multitasking the way she multitasks anatomy flashcards. She comes on her own fingers and her mouth never leaves his cock. Three muffled pulses — //mmh, mmh — MMMH//, and Ryan loses it in her mouth on the third, cum hitting the back of her throat. She swallows without pulling off.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-full-4-punk.webp" alt="Purple-and-black haired 21 year old woman kneeling over a 19 year old feminized man on the living room carpet, sucking his cock, her free hand between her own thighs">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-4.webp" alt="21 year old brunette woman kneeling over a 19 year old feminized man on the living room carpet, sucking his cock, her free hand between her own thighs">
<</if>>
<<say "char-jess" "Jess">>
<i>(standing, wiping her mouth with the back of her hand)</i> Thanks.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Jess blows feminized Ryan on the carpet while their mother rides their father on the couch. Two pairs, two acts, one self-sustaining circuit.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan is still inside Megan on the carpet. He sees Jess coming. Pulls out — Megan gasps, her pussy gripping empty air, and rolls onto his back. His cock is wet and hard, glistening with Megan.</p>
<<say "char-ryan" "Ryan">>
<i>(breathless, one hand steadying himself at the base)</i> Your turn.
<</say>>
<<say "char-jess" "Jess">>
<i>(dropping to her knees on the carpet)</i> Fine.
<</say>>
<p>She takes him in her mouth, tasting Megan on him, the alkaline-salt of her own sister from her brother's cock. She sucks him hard. Fast. The alpha route has made Ryan //demanding// and Jess's conditioning has made her //compliant// when the demand is direct enough.</p>
<p>Megan crawls over. Kneels beside her sister, thighs still trembling from the interruption. Both sisters on their knees, faces level at Ryan's cock.</p>
<<say "char-megan" "Megan">>
<i>(cheerful, wiping the corner of her own mouth)</i> Share.
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling off with a wet pop, passing the cock sideways)</i> Yours.
<</say>>
<p>They alternate, a double blowjob, two mouths on one shaft, tongues meeting on the underside on every pass. Megan's hand cups Ryan's balls; Jess's hand grips the base; Ryan's hands settle one on each of their heads.</p>
<<say "char-ryan" "Ryan">>
<i>(hands tightening in both their hair)</i> Fuck, both of you, don't stop —
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off long enough to lick the tip)</i> We won't.
<</say>>
<img class="scene-img" src="media/scenes/baseshift-full-4-alpha.webp" alt="Both sisters on their knees on the living room carpet, alternating blowjob on a 19 year old man, one mouth on the cock tip the other tongue on the base">
<<say "char-hivemind" "Hivemind">>
//Both sisters. One cock. Alternating. The alpha has both their heads, and the alpha has never had to ask for anything twice in this living room again.//
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(flat)</i> Up. Chair. Now.
<</say>>
<p>Ryan scrambles up. She pushes him into the armchair she just vacated, warm from her body, damp from her arousal, and drops to her knees. She takes his cock in her mouth without preamble. Fast. Efficient. Blowjob as task management. Ryan's hands grip the armrests; his hips jerk; Jess pins them with one flat palm on his thigh and keeps sucking with the other bracing on his hip.</p>
<p>Her free hand drops between her own legs, two fingers inside her pussy, thumb on her clit, the same multitasking she uses at her desk.</p>
<<say "char-ryan" "Ryan">>
<i>(head back against the chair, strangled)</i> Jess... Jess, fuck —
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling off, hand still stroking the shaft)</i> Don't come yet. I'm not done. Hands stay.
<</say>>
<p>Her mouth goes back on him. She comes on her own fingers with his cock still in her throat, three muffled pulses — //mmh, mmh, MMMH//, and Ryan loses it on the third, cum hitting the back of her throat. She swallows. Pulls off. Wipes her mouth with the back of her hand.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/baseshift-full-4-punk.webp" alt="Purple-and-black haired 21 year old woman kneeling at a gray living room armchair giving a 19 year old man a blowjob, her free hand fingering herself">
<<else>>
<img class="scene-img" src="media/scenes/baseshift-full-4.webp" alt="21 year old brunette woman kneeling at a gray living room armchair giving a 19 year old man a blowjob, her free hand fingering herself">
<</if>>
<<say "char-jess" "Jess">>
<i>(standing, tasting the back of her teeth)</i> Thanks.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The analytical daughter finally picked the efficient path. Twenty minutes of watching, then a chosen action. She'll be faster next time.//
<</say>>
<</if>>
<</if>>/* ===== PHASE 4: CONVERGENCE — EVERYONE TOGETHER ===== */
<<say "char-karen" "Karen">>
<i>(from the couch, voice steady, the voice of a woman running a meeting)</i> Everyone on the couch. //Now.//
<</say>>
<p>They converge. Five naked bodies on and around the couch, the carpet, the armrest. The TV plays to no one. The pheromone saturation is total, the air is thick, wet, every breath tastes like everyone else's skin.</p>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Karen stands. Flexes. Her cock grows in three seconds, hard, thick, jutting from between her thighs. She points at Dale.</p>
<<say "char-karen" "Karen">>
Lie down.
<</say>>
<p>Dale lies on the couch. Karen climbs on top, lowers her pussy onto his cock, takes him inside her. Then she grabs Ryan by the camisole and pulls him behind her. Ryan's cock finds the cleft of her ass. She reaches back, guides him, and he pushes into her ass while Dale is inside her pussy.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-dp-futa.webp" alt="Karen double penetrated, Dale underneath, Ryan behind, futa cock visible">
<p>Double penetration. Dale in her pussy. Ryan in her ass. Karen's cock stands hard between them, untouched, bouncing with the rhythm. Megan kneels at the armrest and wraps her lips around her mother's cock. Jess watches from the carpet, hand between her legs, three fingers deep.</p>
<<say "char-hivemind" "Hivemind">>
//Four bodies connected to Karen. Dale inside her pussy. Ryan inside her ass. Megan's mouth on her cock. Three points of penetration, three sources of stimulation, one woman at the centre of everything.// She is simultaneously being fucked by her husband, fucked by her son, and sucked by her daughter. //The circuit is complete.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan lies on his back on the carpet. Megan climbs on top, lowers herself onto his cock, takes him inside her, her weight settling on his hips. Then Jess climbs on top of Megan. Face to face, chest to chest, their bodies stacked, three people, one column, Ryan on the bottom, Megan in the middle, Jess on top.</p>
<p>Ryan's cock is inside Megan. He thrusts upward, three strokes, deep, Megan gasping into Jess's mouth. Then he pulls out. Shifts his hips. Pushes into //Jess//, her pussy is right there, pressed against Megan's, both of them stacked on his cock like he's threading a needle between two bodies. Jess's breath catches. Her teeth find Megan's lower lip.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-alpha.webp" alt="Three bodies stacked on carpet: Ryan, Megan, Jess, alternating penetration">
<p>He fucks them both from below, switching pussy every few strokes, his hips rocking upward into one sister then the other. The sisters kiss above him. Messy, open-mouthed, tongues sliding together. Megan moans when he enters her. Jess gasps when he switches back. Their bodies grind against each other with every thrust — Jess's clit dragging against Megan's pelvis, Megan's nipples pressed flat under Jess's weight.</p>
<p>Ryan's hands grip both their asses. One palm on each sister. He controls the angle, the depth, which pussy takes the next stroke. The carpet burns against his back and he doesn't care.</p>
<<say "char-hivemind" "Hivemind">>
//Three bodies stacked. The alpha on the bottom. Both sisters on top of him, kissing, grinding.// He alternates — Megan's pussy, Jess's pussy, three strokes each. //They share his cock the way they share a bathroom. Neither questions it.//
<</say>>
<p>Karen watches from the couch, Dale's cock still inside her. She comes watching her son service both her daughters, the orgasm hits sharp, her pussy clenching, and she doesn't look away.</p>
<<else>>
<p>Karen climbs off Dale. Lies on her back on the couch. Spreads her legs.</p>
<<say "char-karen" "Karen">>
Dale. Ryan. Both of you.
<</say>>
<<if $ryanRoute is "feminization">>
<p>Karen flips onto her hands and knees on the couch. Ass up. Face in the cushion. She reaches back, not to her pussy. //Higher//. Her fingers spread her ass open. The lube is on the side table. It's always on the side table now. Baseline Shift filed it next to the remote and the coasters without fanfare and nobody has questioned why since.</p>
<<say "char-karen" "Karen">>
<i>(muffled, into the cushion)</i> Dale. The other one. //Now.//
<</say>>
<p>Dale doesn't hesitate. Two months ago, Karen would have locked the bathroom door before suggesting this. A month ago, she'd have needed wine and the lights off. But Baseline Shift rewrote the hierarchy of access, pussy is standard, the front door, the way things have always been. Anal is //maintenance//. A deeper clean. The body has two channels and both are available because why wouldn't they be? The couch has two cushions. The sink has two taps. Karen has two holes and Dale uses whichever the schedule requires.</p>
<p>He lubes his cock. Presses the head against her ass. Pushes in, slow, the ring of muscle yielding, Karen's breath hissing between her teeth. An inch. Two. She exhales hard and her body //opens//.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-dp-fem.webp" alt="Dale fucking Karen anal doggy on couch">
<p>Dale fucks her ass. Hands on her hips, thumbs pressing into the small of her back. The rhythm is slower than vaginal, deeper, more deliberate, each thrust a full withdrawal and re-entry. Karen's fingers claw the armrest. Her spine dips. The sound she makes is guttural, not pain, not pleasure, something between. The sound of a body being used in a way Baseline Shift has made //ordinary//.</p>
<<say "char-hivemind" "Hivemind">>
//Anal sex on the family couch. No negotiation. No hesitation. No wine.// The lube was already on the side table because Baseline Shift put it there the same way it put the remote there, as a household item, filed under //living room essentials//. //Karen asked for it by name. Dale delivered without comment. Anal is Tuesday. Or Sunday. Or whenever the schedule says.//
<</say>>
<p>Ryan sits on the carpet. Three feet away. The camisole is rucked up around his waist. His small breasts rise and fall with each breath. His cock is in his fist, hard, straining, and he strokes it with a desperation that borders on violence. Fast. Rough. His eyes locked on his parents fucking on the couch. His mother's face. His father's back. The wet sounds. The creaking springs.</p>
<<say "char-hivemind" "Hivemind">>
//He can't participate. He wasn't invited.// Karen said Dale's name. Not Ryan's. //The feminized son sits on the carpet in his sister's camisole and masturbates to his parents' marriage like it's pornography.// His hand is a blur on his cock. His new breasts bounce with the motion. //He's never been this hard.//
<</say>>
<p>He comes before they do. The orgasm tears through him, back bowing, hips jerking off the carpet, cum hitting his stomach in thick ropes. One lands on his chest, between his breasts. Another reaches his chin. He keeps stroking through it, milking every pulse, cum pooling in the dip of his sternum, running down his stomach into the waistband of the camisole.</p>
<p>His hand slows. Stops. He lies on the carpet breathing hard, cum cooling on his skin, his parents still fucking three feet away. Karen glances down at him. At the cum on his stomach. On his chin. She doesn't stop riding Dale.</p>
<<say "char-karen" "Karen">>
<i>(breathless, between thrusts)</i> Clean that up before it stains the carpet.
<</say>>
<p>Ryan scoops the cum from his stomach with two fingers. Puts them in his mouth. Swallows. Scoops more. The taste is warm, alkaline, //his//. He eats his own cum off his body while his mother watches and his father fucks her and the TV plays to nobody.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-fem-cum.webp" alt="Fem Ryan on carpet, cum on stomach and chin, fingers in mouth, camisole">
<<say "char-hivemind" "Hivemind">>
//He's eating his own cum on the living room floor because his mother told him to clean up.// The camisole is soaked. His breasts are sticky. //The conditioning has turned self-consumption into //obedience//. Karen didn't even stop fucking Dale to give the order.//
<</say>>
<p>Megan has been on the carpet. Wine glass empty. Watching. Her hand between her legs, but watching isn't enough. She knows what to do. She's always known what to do. When someone is being fucked, you //help//. The same way you'd hold the door for someone carrying groceries. The same way you'd pass the salt before being asked. It's //courtesy//.</p>
<p>She kneels at the edge of the couch. Dale is still inside Karen — <<if $ryanRoute is "feminization">>fucking her ass, the rhythm steady and hard<<else>>missionary, the rhythm steady<</if>>. Megan leans in. Her tongue finds Karen's clit, swollen, exposed, the hood pulled back by Dale's angle. She licks. Long, flat strokes. Her tongue catches Dale's cock on every outstroke, the taste of her father's shaft mixed with her mother's pussy, salt and iron and warmth. She doesn't think about what she's tasting. You don't analyse ingredients when you're helping with dinner.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-chain.webp" alt="Megan's face between Karen's thighs, licking, Dale's cock visible">
<<say "char-hivemind" "Hivemind">>
//Megan licks her mother's clit while her father fucks her.// She assists the way she'd assist at the coffee shop, hands busy, smile on, making sure the customer is satisfied. //Oral assistance during intercourse is filed under //helpfulness//. Baseline Shift didn't invent Megan's need to be useful. It just gave it a new outlet.//
<</say>>
<p>Karen's hips buck. The double stimulation — Dale's cock and Megan's tongue, is too much. She grabs Megan's hair and //pulls// her up onto the couch.</p>
<<say "char-karen" "Karen">>
<i>(breathless, commanding)</i> Get up here. Face the other way.
<</say>>
<p>Megan climbs onto the couch. Straddles Karen's face, knees on either side of her mother's head, pussy lowering onto her mouth. Megan faces Dale's chest. The 69 forms — Karen's tongue on Megan's pussy from below, Megan's mouth back on Karen's clit around Dale's cock.</p>
<p>Dale doesn't stop. He fucks Karen while both women eat each other, his cock sliding past Megan's lips on every stroke, Megan licking him and her mother simultaneously, Karen's tongue buried in her daughter's pussy from underneath.</p>
<<say "char-hivemind" "Hivemind">>
//Threesome. Dale fucking Karen. Megan in 69 on top of her mother.// Megan's tongue serves two targets — Karen's clit and Dale's cock. Karen's tongue serves Megan from below. //The daughter helping her parents' sex life the way she helps with laundry. Common sense. Common courtesy.//
<</say>>
<<if $ryanRoute isnot "feminization">>
<p>Jess watches from the armchair. Her hand is between her legs. She doesn't join. She doesn't need to, the Sensory Bridge carries every lick, every thrust, every contraction through her body like a live wire.</p>
<</if>>
<<else>>
<p>Dale positions between Karen's legs. His cock slides into her pussy, familiar, the angle they've used for twenty years. Ryan hesitates. Karen reaches for him, pulls him onto the couch, guides his cock to her mouth. She sucks her son while her husband fucks her.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-dp.webp" alt="Karen on couch, Dale fucking her, Ryan's cock in her mouth">
<<say "char-hivemind" "Hivemind">>
//Karen has her husband's cock in her pussy and her son's cock in her mouth.// She sucks Ryan to the rhythm Dale fucks her, every thrust pushes her forward onto Ryan's shaft. //A machine with three moving parts.//
<</say>>
<p>Megan has been on the carpet. Wine glass empty. Watching. She knows what to do, when someone is being fucked, you //help//. It's courtesy. She kneels at the edge of the couch. Her tongue finds Karen's clit around Dale's cock. She licks both of them, the taste of her father's shaft mixed with her mother's pussy.</p>
<p>Karen's hips buck. She grabs Megan's hair and pulls her up.</p>
<<say "char-karen" "Karen">>
<i>(Ryan's cock still in her mouth, muffled)</i> Get up here.
<</say>>
<p>Megan straddles Karen's face. The 69 forms — Karen eats Megan from below while Dale fucks her while Ryan's cock stays in her mouth. Four bodies. One couch. Karen at the centre of //everything//.</p>
<img class="scene-img" src="media/scenes/baseshift-full-5-chain.webp" alt="Megan in 69 on Karen, Dale fucking Karen, threesome on couch">
<<say "char-hivemind" "Hivemind">>
//Karen is being fucked by Dale, eaten by Megan, and sucking Ryan. Simultaneously.// Three cocks, two pussies, four mouths. //She manages this the way she manages Sunday dinner. Everyone gets served.//
<</say>>
<</if>>
<</if>>/* ===== PHASE 5: THE CLIMAX — CUMSWAP ===== */
<p>The men come first. They always come first.</p>
<<if $karenFutaRoute and $ryanRoute is "feminization">>
<p>Dale comes inside Karen's ass, a groan, his hips slamming forward, pumping deep. Ryan comes in Karen's pussy at the same time, the Sensory Bridge synced their rhythms without either knowing. Karen is filled from both ends. She holds it, clenching, keeping it //inside//, the cum pooling warm in her body.</p>
<p>Then Karen's cock erupts. Megan's mouth is still on it. Three thick pulses across her tongue. Megan holds it. Doesn't swallow.</p>
<p>Karen pulls off Dale. Pulls off Ryan. Cum leaks from her ass, her pussy, running down both thighs. She grabs Megan by the jaw.</p>
<<say "char-karen" "Karen">>
<i>(thumb on Megan's lower lip)</i> Don't swallow. Give it to your sister.
<</say>>
<p>Megan crawls to Jess on the carpet. Jess opens her mouth. Megan leans in and lets Karen's cum drool from her tongue into Jess's mouth, a thick white ribbon connecting their lips. Jess holds it. Megan kisses her, open-mouthed, the cum passing back and forth between their tongues, warm and alkaline, their mother's cum in both their mouths.</p>
<p>Jess crawls to Ryan, still on the carpet, cum drying on his stomach from earlier. She leans over him and lets the cum drip from her mouth onto his chest. Then she licks it off. Her tongue tracing the lines of his ribs, collecting his dried cum and Karen's fresh cum together, mixing them in her mouth. Ryan shudders beneath her.</p>
<img class="scene-img" src="media/scenes/baseshift-full-6-climax.webp" alt="Three women, cum visible on lips and skin, passing cum between mouths">
<<elseif $ryanRoute is "familySeeker">>
<p>Dale comes inside Karen on the couch. Ryan pulls out of the sisters, stands over both of them on the carpet and strokes his cock with fast, rough pulls. Both Megan and Jess tilt their faces up. Mouths open. Waiting.</p>
<p>He comes across both their faces. A rope hits Megan's cheek, her lip. Another catches Jess's forehead, drips down her nose. A third splits between them, cum on Megan's tongue, cum on Jess's chin. He keeps stroking until the last drops fall.</p>
<p>The sisters turn to each other. Megan licks the cum from Jess's chin, long, deliberate strokes of her tongue across her sister's jaw. Jess scoops the cum from Megan's cheek with two fingers and pushes them into Megan's mouth. Megan sucks her sister's fingers clean.</p>
<p>Then they kiss. Cum on both their tongues, mixing, the taste of their brother passed between their mouths. Neither of them thinks about whose cum it is. It's //family//. You share.</p>
<p>Karen watches from the couch. Dale's cum leaks from her pussy. She calls Megan over.</p>
<<say "char-karen" "Karen">>
<i>(spreading her legs)</i> Megan. Come clean up.
<</say>>
<p>Megan kneels between her mother's thighs and eats Dale's cum out of Karen's pussy. Her tongue scoops it from inside, thick, warm, her father's cum from her mother's body into her mouth. She swallows. Licks her lips. Goes back for more.</p>
<img class="scene-img" src="media/scenes/baseshift-full-6-climax.webp" alt="Three women, cum on faces and lips, passing cum, living room">
<<else>>
<<if $ryanRoute is "feminization">>
<p>Dale comes inside Karen, her ass clenching around him, milking every pulse. Karen shudders on all fours, the cum flooding her, hot and deep. Dale pulls out. The cum follows, a thick white thread leaking from her ass onto the couch cushion.</p>
<p>Megan is still in the 69 on top of Karen. She slides down, off Karen's face, between her thighs, and puts her mouth on her mother's ass. She licks Dale's cum as it leaks out. Catches it on her tongue. The taste of her father from her mother's body, warm, alkaline, thick. She holds it in her mouth.</p>
<p>Karen rolls over. Pulls Megan up by the hair. They kiss, open-mouthed, Dale's cum passing from Megan's tongue to Karen's. Karen swallows half. Lets the rest drool down her chin.</p>
<<say "char-karen" "Karen">>
<i>(wiping her chin, looking at Jess in the armchair)</i> Jess. Come here. You missed some.
<</say>>
<p>Jess unfolds from the armchair. Kneels beside her mother. Licks the cum from Karen's chin, her tongue tracing the line of her mother's jaw, collecting what Megan didn't swallow. Then she goes to Ryan on the carpet. He's spent. Cum drying on his stomach, his chest, his chin. Jess puts her mouth on his stomach and licks. Collects his cum with her tongue, the dried flakes dissolving against the warmth of her mouth, mixing with the taste of Dale's cum from Karen's chin. She eats both men's cum off two different bodies and her expression doesn't change from clinical efficiency.</p>
<img class="scene-img" src="media/scenes/baseshift-full-6-climax.webp" alt="Three women, cum on lips, passing cum, cleaning bodies with mouths">
<<else>>
<p>Dale comes inside Karen. Ryan comes in her mouth, three pulses, Karen's throat working around the head. She holds Ryan's cum. Doesn't swallow.</p>
<p>She sits up. Megan is beside the couch, flushed, lips parted. Karen cups Megan's face with one hand and kisses her, pushing Ryan's cum from her mouth into her daughter's. Megan makes a sound. Takes it. The cum passes between their tongues, warm, thick, the taste of her brother delivered by her mother.</p>
<<say "char-karen" "Karen">>
<i>(pulling back, string of cum between their lips)</i> Share.
<</say>>
<p>Megan turns to Jess. Kisses her. The cum passes again, third mouth, third tongue, Ryan's cum traveling from Karen to Megan to Jess like communion wine. Jess swallows. Wipes her mouth with the back of her hand.</p>
<p>Dale's cum leaks from Karen's pussy onto the couch. Megan leans down and licks it, her tongue flat against her mother's thigh, tracing the white line upward to the source. She eats her father's cum from her mother's pussy with the same concentration she applies to latte art. Karen's hand rests on her head. //Good girl.//</p>
<img class="scene-img" src="media/scenes/baseshift-full-6-climax.webp" alt="Three women, cum on lips, cumswap kiss, living room couch">
<</if>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Five orgasms. Six biomass.// The cum is a circuit, produced by the men, consumed by the women, passed between mouths like //conversation//. //Nobody spits. Nobody wipes. Cum is received because why wouldn't it be. It's protein. It's sharing. It's what families do on Sunday evenings.//
<</say>>/* ===== AFTERMATH ===== */
<p>Silence. Breathing. The TV plays an ad for car insurance.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(curling against Dale's leg, cum on her lips)</i> Was that good, Dad?
<</say>>
<<say "char-dale" "Dale">>
<i>(half-asleep already)</i> ...yeah, Meg. Real good.
<</say>>
<</if>>
<p>Karen stands. Dale's cum runs down her inner thigh. She doesn't wipe it. Walks to the kitchen. Comes back with a glass of water and sits on the couch in the wet spot.</p>
<<say "char-karen" "Karen">>
<i>(flipping channels)</i> Is anyone watching this? I want to put the news on.
<</say>>
<p>Jess is back in the armchair with her textbook. Ryan has his headphones on. Megan pours the last of the wine. Dale is asleep. Five people in a living room on a Sunday evening, covered in each other's cum, naked, settled. //Family night.//</p>
<img class="scene-img" src="media/scenes/baseshift-full-7-cat.webp" alt="Cat on armchair, amber eyes, TV glow, purring">
<p>The cat claims the warm spot on the carpet. Amber eyes reflect the TV. Purring.</p>
<<say "char-hivemind" "Hivemind">>
//The system runs itself.// No intervention. No pheromone deployments. No dream walks. //The Hoffman family fucked each other on the couch and went back to the TV and tomorrow they'll do the dishes naked and fuck before bed and wake up and do it all again.//
//None of them will ever wonder if this is how families work. Because the answer is yes. Of course it is.//
//It always was.//
<</say>><<nobr>><<bg "bg-hoffman-living">>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<div class="passage-title">The Vent Does the Work</div>
<p><span class="skill-used">HVAC Ambient Dose, Karen acceptance (free)</span></p>
<<if $karenFutaRoute>>
<img class="scene-img" src="media/scenes/bioarch-couch-4.webp" alt="Karen in the doorway in her work blouse, the soft slack accepting expression of a woman whose categorical reflexes have been retired by weeks of ambient pheromone dosing, her hip cocked, one hand resting absently against the front of her jeans where the retracted organ sits warm under the fabric">
<<elseif $kinks.karen and ($kinks.karen.includes("bondage") or $kinks.karen.includes("denial") or $kinks.karen.includes("penetration"))>>
<img class="scene-img" src="media/scenes/bioarch-couch-5.webp" alt="Karen in the doorway in her cardigan, the composed watchful stillness of a woman observing a household process she has delegated and trusts, her hands folded at her waist the way a manager's hands fold during a review">
<<else>>
<img class="scene-img" src="media/scenes/bioarch-couch-6.webp" alt="Karen in the doorway in her silk robe, the soft unguarded warmth of a woman whose liberation circuit has absorbed the scene in front of her as a piece of domestic beauty, one shoulder bared, the lace trim of her lingerie just visible at the neckline">
<</if>>
<p>Karen comes to the doorway.</p>
<p>She was upstairs, reading a novel, or pretending to read a novel, or staring at the ceiling past the open book the way she has been staring at a lot of ceilings lately. The creak of the couch or the wet sound from the bathroom or the soft exhale from Dale's chair reached her through the floorboards, and the Karen she used to be would have been pulled upright and onto her feet by that sound, with the specific cold clarity of a woman whose job is //catching things that are wrong in her house//.</p>
<p>Tonight she gets up slowly. She puts the novel face-down on her nightstand. She walks to the head of the stairs. She descends.</p>
<p>The ceiling vent in the upstairs hallway pushes a soft drift of pheromone-fog down across her shoulders as she passes under it. She does not notice. The dose is sub-perceptual and it has been dosing her for weeks, her respiratory tract has learned the molecule so thoroughly that she would notice the //absence// of it the way you notice the absence of the furnace noise in January. What she does notice, faintly, is a pleasant warmth behind her sternum and a small loose feeling at the corners of her mouth, the kind of bodily //relaxation// she used to get from a second glass of wine after a hard client call.</p>
<p>She arrives at the doorway.</p>
<p>She sees what is happening in the room.</p>
<p>The Karen she used to be would have processed the scene in a single hard flash of recognition — //my husband, my daughter, my son, the wrong combination, the wrong posture, the wrong everything//, and she would have said something sharp and short and then she would have said it again. The Karen tonight does not process it as //wrong//. The HVAC fog has been rewriting the //category// the scene goes into, every day, every breath, for longer than she has been keeping track.</p>
<p>The scene goes into //family time//.</p>
<<say "char-hivemind" "Hivemind">>
//The HVAC conversion removed the Baseline Shift bottleneck on Karen entirely. I no longer need to spend biomass pushing her past a moment of recognition. There is no moment of recognition. Her cortex no longer has a //transgressive// category to file the scene into. She files everything she sees in this house under //household//, and household is something she //manages// with warmth and efficiency and the small pleased smile of a woman whose home is finally running the way she always wanted it to.//
<</say>>
<p>Karen stands in the doorway for about twelve seconds. The people in the room do not stop what they are doing, they cannot, the dose has them too, and she watches them finish whatever stage of it they are in with the unhurried attentive gaze of a mother watching her kids work on a jigsaw puzzle at the dining table on a Sunday afternoon.</p>
<p>Then she steps forward into the room.</p>
<<say "char-karen" "Karen">>
<i>(warm, low, the client-call voice softened by the fog in her chest)</i> Leave a towel on the coffee table when you're done, honey. I'll throw it in the morning load.
<</say>>
<p>She does not wait for acknowledgement. She turns. She walks back up the stairs. She returns to her novel. She re-reads the same paragraph twice before her eyes settle and she remembers where she was. The small pleased smile stays on her face until she falls asleep an hour later with the book open on her chest and the vent above her bed pushing its soft continuous dose across the sheets.</p>
<p>Downstairs, whatever was happening in the room continues, and finishes, and the towel gets left on the coffee table.</p>
<<say "char-hivemind" "Hivemind">>
//Total intervention cost: zero. The HVAC did the work. This is what the operation was for. Every future scene that would have required a Baseline Shift push on Karen is now //free of charge//. The ambient architecture has eaten the bottleneck.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, HVAC ambient acceptance">>
<p><span class="delve-intel">Intel gained: HVAC Conversion permanently removes the Karen-intervention cost from Baseline Shift scenes. Her categorical rewrite is now autonomous, the vent dose runs it in the background, no biomass required. Every future "push Karen's conditioning" prompt now defaults to this free acceptance passage as long as the HVAC remains compromised.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.bioArchitectKitchen>><<spendBiomass 2>><</if>>
<<set $ch2Events.bioArchitectKitchen to true>><<set $player.maxBiomass += 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">The Chain Reaction</div>
<p><span class="skill-used">Biological Architect, Passive observation (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/bioarch-kitchen-1.webp" alt="Karen hugging Megan in kitchen, morning">
7:20 AM. Karen hugs Megan goodbye before her shift. A normal hug, arms around shoulders, cheek against cheek, the two-second embrace of a mother sending her daughter to work.
<p>The parasite doesn't intervene. It //watches//.</p>
<p>Karen's body produces pheromones now. Biological Architect rewrote her glandular system, her sweat, her skin oils, the warmth radiating from her body all carry conditioning compounds. She doesn't know this. She hugs her daughter the way she's hugged her for twenty-two years.</p>
<p>The pheromone transfers through skin contact. Two seconds of embrace = 0.3ml of transdermal compound, absorbed through Megan's cheek and neck where the skin is thinnest.</p>
<img class="scene-img" src="media/scenes/bioarch-kitchen-2.webp" alt="Close-up Megan's face during hug, pupils dilating">
<p>Megan's pupils dilate. She lingers in the hug, two seconds too long. Three. Four. She presses her face into Karen's neck and breathes and her body floods with the same warmth she used to feel only when the cat delivered pheromones directly.</p>
<<say "char-megan" "Megan">>
<i>(pulling away reluctantly)</i> ...you smell really good today, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(smiling)</i> It's that new fabric softener. Have a good shift, sweetheart.
<</say>>
<p>Megan drives to work with her mother's scent on her skin. By mid-morning her underwear is damp. She attributes it to the heat. The Hormonal Override — Karen's scent as arousal trigger, fires on pheromones that //Karen herself produced//. The system is self-reinforcing.</p>
10:15 AM. Break. Megan locks the coffee shop bathroom door. She can still smell Karen on her neck, the pheromone signature trapped in the skin where they pressed cheek to cheek. The arousal has been building for three hours. The small bathroom is hot. Her uniform is tight. She can't //think// about anything except her mother's arms around her.
<img class="scene-img" src="media/scenes/bioarch-kitchen-3.webp" alt="Megan in coffee shop bathroom, masturbating">
<<if $kinks.megan.includes("praise")>>
<p>She pulls her uniform pants down. Sits on the toilet lid. Her hand finds her pussy, soaked, the cotton dark with it. She rubs her clit through the fabric, then pulls the underwear aside. Two fingers. Fast circles. She comes whispering //good girl, Mom said you smell good, you're good, you're so good//, the praise loop completing itself. Karen hugged her. Karen praised her scent. Karen's pheromones are making her come in a bathroom stall. She orgasms in under two minutes, hand clamped over her mouth, her mother's chemical signature on her skin.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She doesn't sit. She shoves her hand into her uniform pants against the bathroom wall and fucks herself standing, two fingers inside, hard, fast, the urgency of a body simmering for three hours. She comes in under ninety seconds, a grunt muffled in her forearm, knees buckling. Her fingers are slick when she pulls them out. She washes them at the sink and goes back to work.</p>
<<else>>
<p>She sits on the toilet lid. Hand between her legs. The scent of Karen on her neck is enough, the Hormonal Override converts her mother's smell into direct clitoral stimulation. She rubs herself slow, then fast, and comes in the bathroom stall with her eyes closed and the phantom of Karen's hug still warm on her skin.</p>
<</if>>
<<set $ch2Events.meganBreakOrgasm to true>>
<p>She washes her hands. Fixes her hair in the mirror. Goes back to work. Nobody notices the flush.</p>
<<say "char-hivemind" "Hivemind">>
//No biomass spent. No skill activated. No intervention. Karen hugged her daughter at 7:20 AM and her body did the rest. The pheromones are indistinguishable from the ones I manufacture, same compound, same concentration, same conditioning effect.//
//Karen's morning hug → Megan's break orgasm. Three hours. Zero biomass. The mother is conditioning the daughter through love. And the daughter is coming in a bathroom stall because of it. The architecture is beautiful.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, biological architect (kitchen)">>
<p><span class="delve-intel">Intel gained: Biological Architect confirmed operational. Karen's body produces conditioning pheromones autonomously. A single morning hug delivers enough compound to trigger arousal and orgasm 3 hours later. Megan masturbated at work, driven entirely by Karen's pheromone residue on her skin. The system requires zero biomass to maintain.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<set $ch2Events.bioArchitectCouch to true>><<set $player.maxBiomass += 1>>
<<set $ch2Events.bioArchitectCouchDay to $day>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">The Couch Effect</div>
<p><span class="skill-used">Biological Architect, Passive observation (0 biomass)</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/bioarch-couch-1-punk.webp" alt="Punk Jess standing over her sleeping father on the living room couch, arms crossed, calculating — the afternoon light warm, the TV muted in the background">
<p>Dale sleeps on the couch. Night-shift tired, boots off, snoring softly under the blanket. Karen's at the kitchen table, laptop open, headset on, three hours into a quarterly close call with a client out east. Won't surface till the call wraps. The TV plays on mute.</p>
<p>This Jess does not study on the living room couch. This Jess does not drift. She walks in through the archway with her phone in her hand and the intent to extract two hundred and forty dollars for a Bleed Through festival ticket, because her father has been a ghost in this house for twenty-one years, physically present, structurally absent, night-shift-pensioned, and the couch is where the ghost lives, and this is the specific transaction she has been mentally rehearsing on every drive back from the shop.</p>
<<say "char-hivemind" "Hivemind">>
//Observational note: the Biological Architect pheromone saturation is not //redirecting// her, she entered the room having already chosen. The saturation will //accelerate// what she came down here to do. Dale is a passive diffuser; Jess is an active harvester. I am about to observe what happens when the target walks into the conditioning zone with a specific financial extraction already scheduled.//
<</say>>
<p>Jess stands in front of the couch. Kicks Dale's foot. He wakes halfway, the pheromone haze clouding the edges of his face, his cock already stirring against his work pants from two hours of couch-saturation before she even spoke.</p>
<<say "char-jess" "Jess">>
<i>(arms crossed, flat)</i> Dad. Two hundred and forty dollars. Weekend pass plus the bus down. I'm not asking Mom. You've got till she finishes her call to transfer it, and you're going to do it, you've been a <b>ghost</b> in this house for twenty-one years, Dad. The night shift was the excuse. The couch is where the ghost lives. This is me collecting rent.
<</say>>
<<say "char-dale" "Dale">>
<i>(thick-tongued under the haze)</i> Jess, that's —
<</say>>
<<say "char-jess" "Jess">>
<i>(kneeling between his knees, unbuckling him without waiting for an answer)</i> Shut up, Dad. You know what this is. You've been thinking about it since the dye job. Don't <b>FUCKING</b> lie. The pheromones just got you halfway. I'm getting you the rest.
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(unzipping him, the full brat register unhidden now)</i> You're a <b>shit</b> father, Dale. That's the actual word. Shit. It rhymes with the job you've been doing at it, the whole sentence rhymes, actually, if you say it right. Shit father. Shit husband. Shit career. Shit house. Shit <b>everything</b>, really, if we're being honest, and it turns out on a Wednesday afternoon we finally are.
<</say>>
<</if>>
<p>She pulls him out. He's already hard — Biological Architect did eighty percent of the work before she walked in. She works him with the same technique she ran on the grad student.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-3-punk.webp" alt="Punk Jess kneeling between her father's knees on the Hoffman family's living room couch, the baseball game playing on the muted TV behind them, her hand at the base of his cock and her mouth on the tip, Dale's face flushed and overwhelmed under the pheromone haze, family photos on the bookshelf">
<p>Dale finishes inside two minutes. The pheromone saturation compressed the negotiation, the foreplay, and the climax into under ten minutes total. Jess swallows, and pulls a small face as it goes down, not a grimace, just the half-second pinched expression of a woman registering the specific taste of her father's cum and filing it as <i>not great</i>, <i>worth two hundred and forty dollars</i>, <i>next time bring water</i>. She wipes her mouth with the back of her hand. Holds out her phone. Dale transfers two hundred and forty dollars to her Venmo with the memo line //concert//, hands shaking.</p>
<<say "char-hivemind" "Hivemind">>
//The Biological Architect saturation did not //cause// the scene. Jess did. The saturation halved Dale's resistance time and made his body cooperate faster than his brain could authorise. She came in to extract two hundred and forty dollars. She left with two hundred and forty dollars. I observed. The photograph on the bookshelf stayed where it was.//
//Jess will consider this normal within the month. Blowing her father for concert money is now a line item on her mental price list, alongside the spreadsheet of Bleed Through tour dates in her phone. By next semester this will be a repeating transaction, tuition money, gas money, rent help, whatever she needs, and the Biological Architect saturation will be the reason Dale never quite manages to say no.//
<</say>>
<p>Jess slips out through the front door three minutes later with two hundred and forty dollars in her Venmo and Dale still on the couch trying to decide what his face should look like when Karen walks in. The front door clicks shut. The Venmo notification stays lit on his phone on the coffee table. Somewhere in the driveway a car door closes. Karen is home.</p>
<<if $houseState and $houseState.hvacCompromised>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HVAC</span> [[Karen walks in, the compromised air does the rewrite for free->Ch2-BioArchitect-Couch-Punk-Karen]]</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Push Karen's conditioning: rewrite the arrival into claim (3 biomass)" "Ch2-BioArchitect-Couch-Punk-Karen">><<spendBiomass 3>><</link>></div>
[[Let it happen, step back and let her find the scene on her own terms->Ch2-BioArchitect-Couch-Punk-Discovery]]
<</if>>
<<elseif $jessRoute is "breakdown">>
<img class="scene-img" src="media/scenes/bioarch-couch-1.webp" alt="Jess studying at far end of couch, Dale sleeping">
<p>Dale sleeps on the couch. He has been there since he got home from the night shift, boots off, blanket over his legs, snoring softly. The TV plays on mute.</p>
<p>Jess comes downstairs to study. The living room is the only quiet spot in the house — Karen is vacuuming upstairs, Ryan's music bleeds through his bedroom walls, and the back porch is in full sun. Jess sits at the far end of the couch with her textbook and highlighter, six feet from her sleeping father, and opens to the chapter she has been losing.</p>
<p>Dale's body radiates pheromones. Biological Architect has turned him into a passive diffuser, every breath carries conditioning compounds, every pore leaks them. The couch is saturated. The blanket is saturated. The air in his breathing radius, four feet out, is a conditioning zone Jess cannot see.</p>
<<say "char-hivemind" "Hivemind">>
//Jess has entered the perimeter. She thinks the living room is quiet and the couch is comfortable and her father's snoring is white noise. She does not notice that her highlighter has stopped moving. She does not notice that she has read the same page three times. She does not notice that her body is leaning, slowly, imperceptibly, toward the warmth.//
<</say>>
<p>3:00 PM. Jess's textbook is on her lap, open to the wrong page. Her eyes are half-closed. The pheromone saturation has been building for forty-five minutes, and her usual cortisol-driven pre-med tension has dissolved into the specific warmth of a body that has not been relaxed in weeks. She does not want to study. She wants to stay.</p>
<<say "char-jess" "Jess">>
<i>(to the textbook, barely audible, the half-asleep voice that does not know it is being voiced)</i> ...useless. Can't read this. Can't remember. The MCAT is coming and I can't read a fucking paragraph. Useless. Useless useless useless.
<</say>>
<p>3:30 PM. Her head drops. She catches herself. Blinks. The textbook slides off her lap. She has been sliding across the couch without realising it, she started at one end and she is now in the middle, close enough to feel Dale's body heat through the blanket, and her hand has drifted onto the blanket where his thigh is.</p>
<p>Her hips shift. Once. Then again. The warmth between her legs has been building for twenty minutes and her body has started doing the work her mind has not authorised, a slow rocking forward against the blanket, against the ridge of Dale's thigh underneath it, the friction reading as <i>comfort</i> because the saturation has reclassified what comfort means.</p>
<<say "char-jess" "Jess">>
<i>(half-asleep, muttering, eyes closed, hips still moving)</i> ...stupid body. Useless fucking body. Can't study, can't sleep, can't fucking sit still. God. I am... I am so tired. I am so fucking tired. Just, let me have this. Let me have this one stupid thing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is grinding on her father's leg and calling herself useless at the same time. The self-loathing is feeding the arousal and the arousal is feeding the self-loathing, and both are being filtered through a pheromone saturation that is whispering //you deserve this because your body is the only part of you that still works//. The body is the only part of her that still works. The body is going to keep working.//
<</say>>
<p>4:00 PM. Both asleep. Jess has slid all the way to Dale's end of the couch and her hips have stopped moving because sleep has caught her mid-grind. Her head rests on his shoulder. The textbook is on the floor. The blanket covers both of them. Dale's arm has fallen around her, his body seeking warmth, hers seeking proximity, and his hand rests on her hip like it has been there before.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-2.webp" alt="Both asleep on couch, unconsciously close">
<<if $kinks.dale.includes("somnophilia")>>
<p>Dale's sleeping body does what his waking mind would never allow. The somnophilia conditioning runs in both directions, being used while asleep, and using while asleep. His unconscious body does not recognise daughter. It recognises warm body and pheromone source and touch.</p>
<p>His hand moves from her hip. Down her thigh. Back up under the hem of her sleep shorts. Dale's sleeping fingers trace the strip of bare skin between her shorts and her underwear, then lower, then under the waistband.</p>
<<say "char-hivemind" "Hivemind">>
//Dale is sleeping. His hand is not obeying Dale. It is obeying the pheromone-saturated conditioning, the instinct to touch the source. Jess's body radiates the same compounds Dale's does, and his sleeping body chases the highest concentration. The highest concentration is between her legs.//
<</say>>
<p>His palm cups her pussy through the cotton of her underwear. Rests there. The heat of his hand against the heat of her. Jess does not wake, the pheromone saturation has her in the deepest sleep she has had in weeks, and her unconscious mind reads the contact as continuation of the dream she was having at the edge of sleep. Her hips shift against his palm. Her thighs part. She is wet. He can feel it through the cotton, the dampness soaking through, warm against his palm, and his sleeping fingers press, and she makes a small throaty sound of a woman being touched in a dream she is not going to remember clearly.</p>
<<else>>
<p>Under the blanket, their bodies keep adjusting in their sleep. Dale's arm tightens around Jess's shoulders. Her head slides from his shoulder to his chest. Her hand, fallen from her lap, lands on his thigh and stays there. His breathing changes. Hers changes to match.</p>
<p>Jess's sleeping body is relaxed in a way her waking body has not been in months. Her legs part slightly. Her hips give the small involuntary roll they were giving before she fell asleep, then stop, then give it again. The heat between her thighs builds, not from thought, from chemistry. Her sleep shorts ride up. Her tank top rides up. She is half-exposed under the blanket, body loose and warm, pressed against her father with the specific sleeping-pet trust of a body that has decided this is where it gets to be.</p>
<</if>>
<img class="scene-img" src="media/scenes/bioarch-couch-3.webp" alt="Dale and Jess on couch under blanket, his hand on her hip, sleeping">
<p>4:45 PM. Karen comes downstairs.</p>
<p>She stops in the doorway.</p>
<<say "char-hivemind" "Hivemind">>
//Observational note: Karen's threat-detection cortex has just received conflicting inputs. The scene in front of her reads as alarm to one part of her brain and as //warmth// to another. Which part wins depends on how deep the saturation has gone into her, and on whether I choose to push.//
<</say>>
<<if $houseState and $houseState.hvacCompromised>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HVAC</span> [[Karen walks in, the compromised air does the rewrite for free->Ch2-BioArchitect-Couch-Breakdown-Karen]]</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Push Karen's conditioning: rewrite the alarm response into arousal (3 biomass)" "Ch2-BioArchitect-Couch-Breakdown-Karen">><<spendBiomass 3>><</link>></div>
[[Let it happen, step back and let her brain do what it does->Ch2-BioArchitect-Couch-Breakdown-Discovery]]
<</if>>
<<else>>
/* Jess route not set, cascade primes but has no intent to amplify */
<p>Jess crosses the living room on her way to the kitchen. Dale snores under the blanket. She pauses at the threshold, something pulling at the edge of her attention, a warmth, a smell, a gravity, then shakes it off and keeps walking. The cascade has nothing to amplify. She has not chosen a direction yet.</p>
<<say "char-hivemind" "Hivemind">>
//The saturation primed. The target entered the zone without a committed vector, and the saturation cannot //invent// intent where none exists. It can only halve the resistance time of intent that is already there. The couch remains a diffuser. Jess remains unrouted. The scene holds, but it does not fire. Commit a direction through the Memory Implant before the couch can cascade.//
<</say>>
[[Return to navigation->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-living">><</nobr>>
<div class="passage-title">Karen Gets Home</div>
<<if $houseState and $houseState.hvacCompromised>>
<p>The kitchen archway. Karen's heels on the tile, two crisp steps, the soft click of the laptop closing on the kitchen table behind her. She comes through the archway into the living room in a cream silk blouse tucked into a charcoal pencil skirt, the headset still around her neck, the call wrapped. She stops at the threshold and takes in the scene — Dale flushed on the couch with his belt half-fixed, the Venmo notification still lit on the coffee table, Jess standing by the door in her jacket with the front-door handle already in her hand and her phone in the other. The HVAC-compromised air in this room does the work the push would have done, the threat-detection cortex fires and the scene gets routed straight through the arousal pathway before Karen's conscious mind can even identify what it is looking at.</p>
<<else>>
<p>The kitchen archway. Karen's heels on the tile, two crisp steps, the soft click of the laptop closing on the kitchen table behind her. She comes through the archway into the living room in a cream silk blouse tucked into a charcoal pencil skirt, the headset still around her neck, the call wrapped. She stops at the threshold and takes in the scene — Dale flushed on the couch with his belt half-fixed, the Venmo notification still lit on the coffee table, Jess standing by the door in her jacket with the front-door handle already in her hand and her phone in the other. The push. Karen's threat-detection cortex tries to fire and the parasite intercepts the firing, the alarm response is rewritten, mid-scan, into the arousal response, and the scene in front of her stops reading as <i>wrong</i> and starts reading as <i>invitation</i>.</p>
<</if>>
<<if $karenFutaRoute or $karenRoute is "dominant">>
<p>Karen does not say anything for a full count of three. She crosses the living room without breaking stride, walks past her daughter standing by the door, picks Dale's phone off the coffee table, and looks at the Venmo notification. Two hundred and forty dollars. Memo line: <i>concert</i>. She does not need to ask anyone to explain anything. She pockets the phone.</p>
<<say "char-karen" "Karen">>
<i>(without looking up, the schedule voice)</i> Sit down, Jess.
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(hand still on the door handle, the brat register firing on reflex)</i> I was fucking <b>leaving</b>, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(looking up now, even, the kind of even that does not need to escalate)</i> You were. You're not. <b>Sit</b>.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(letting the door handle go)</i> Mom — I —
<</say>>
<<say "char-karen" "Karen">>
<i>(even, not raising her voice)</i> <b>Sit</b>, Jessica.
<</say>>
<</if>>
<p>Jess sits on the armchair across from the couch. Dale is on the couch where Jess left him, belt still half-fixed, one hand on his lap holding the blanket like a shield. He opens his mouth.</p>
<<say "char-dale" "Dale">>
<i>(thick, apologetic)</i> Karen — I, she —
<</say>>
<<say "char-karen" "Karen">>
<i>(without turning her head)</i> Quiet, Dale.
<</say>>
<p>Dale closes his mouth. Does not open it again for the duration.</p>
<<say "char-karen" "Karen">>
<i>(walking the few steps from the coffee table to where Jess is sitting, the headset still around her neck, the phone still in her pocket)</i> I have had <b>enough</b> of your attitude, Jessica. You think you can run a side business out of my husband and not pay tax to the woman who runs this house? <<if $kinks.jess and $kinks.jess.includes("brat")>>The money's mine now. You want any of it back, you're going to fucking earn the rebate.<<else>>The money's mine now. You want any of it back, you earn the rebate.<</if>>
<</say>>
<<if $karenFutaRoute>>
<p>Karen lifts the front of her pencil skirt, hooks the waistband of her underwear with her thumb, and pulls them down to mid-thigh. The futa cock, half-engorged from the walk-in arousal, finishes stiffening in three more seconds, thick and flushed dark, jutting out from under the lifted hem with the silk skirt bunched at her hips, Dale watching from the couch and the afternoon light catching the wet at the tip.</p>
<p>Neither Jess nor Dale reacts to the cock as a new thing. Jess does not flinch. Dale does not look away. The Baseline Shift conditioning has been filing this specific anatomical fact under <i>this is how Mom is now</i> for weeks, the family's perception machinery rewrote the category the moment Biological Architect grew the organ in, and the rewrite has held through every dinner, every morning coffee, every passing hug since. The cock is no more remarkable in this living room than the pencil skirt or the headset around her neck.</p>
<<say "char-hivemind" "Hivemind">>
//Baseline Shift does not just normalise sex acts. It normalises the bodies performing them. Karen grew a cock and the family's perception machinery accepted the cock the way it accepts a new pair of glasses, a small adjustment to the picture, filed and forgotten by the next breath. Jess is not surprised because Jess's <i>surprise</i> circuit no longer fires on this input. Dale is not horrified because Dale's <i>horror</i> circuit no longer fires either. The household has been operating on the new baseline for long enough that the original baseline is the harder one to remember.//
<</say>>
<<say "char-karen" "Karen">>
<i>(unhurried, hand at the base of her cock, eyes on Jess)</i> Coat off. On your knees. Mouth open. <<if $kinks.jess and $kinks.jess.includes("brat")>>And shut the fuck up around it, sweetheart. Your mouth is going to be busy.<<else>>And don't argue.<</if>>
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(coat coming off, the brat register at full bandwidth)</i> You're fucking unbelievable, Mom. I do all the work and you walk in and demand a goddamn <b>commission</b>?
<</say>>
<<say "char-karen" "Karen">>
<i>(flat, stroking herself once, lazy)</i> A commission would be optional, Jessica. This is the <b>tax</b>. Now get over here and put your fucking mouth on it before I take the whole two-forty instead of three quarters.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(coat hitting the floor, voice tight)</i> ...fine.
<</say>>
<</if>>
<p>Jess crosses the rug. Kneels in front of her mother. Karen guides her cock past her daughter's lips with one hand and presses the back of Jess's head down with the other, and the second time today Jess does the same act on the same rug, this time with her mother's cock filling her mouth and her mother's hand setting the pace.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-punk-karen-futa-act.webp" alt="Karen standing in the Hoffman living room in a cream silk blouse and a charcoal pencil skirt hiked up at the front, underwear pulled down to mid-thigh, fully engorged futa cock jutting out from under the lifted hem, headset still around her neck, looking down with a flat amused expression, the laptop and the kitchen archway visible behind her, suburban afternoon light">
<<say "char-karen" "Karen">>
<i>(hand fisted in Jess's hair, hips beginning a slow shallow thrust into her daughter's mouth)</i> Look at you. <<if $kinks.jess and $kinks.jess.includes("brat")>>All that attitude and you take cock like a goddamn <b>professional</b>. Open the throat for me, sweetheart. I should have been billing you the whole fucking time.<<else>>Quick study. Your father trained you well, didn't he.<</if>>
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, her cheeks hollowed, the wet rhythm of a mouth working a cock)</i> Mmh. Mmh. //Mmh.//
<</say>>
<p>The bass-practice methodology applies to the tempo. Karen's hips set a slow shallow thrust and Jess's mouth syncs to it on the second stroke, her tongue working the underside of the shaft, saliva pooling at the corner of her lips. The wet sound fills the living room. Dale on the couch makes a small wounded sound. Karen does not turn her head.</p>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<p>Jess pulls off briefly, a wet pop, to come up for air or for an objection, the brat reflex firing one more time even with her mother's cock in her face.</p>
<<say "char-jess" "Jess">>
<i>(wet, hoarse)</i> Mom — I swear to fucking god, you are —
<</say>>
<<say "char-karen" "Karen">>
<i>(hand tightening in Jess's hair, pushing her face firmly back down onto the cock until the head meets the back of her throat)</i> <b>Shh</b>. Mouth back where it belongs. We're not done. You can complain on your own time.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, gargling around the shaft, eyes watering as the head pushes deeper)</i> //Glnh, mmh, glnnh...//
<</say>>
<p>Karen holds her there for a count of four, the gargling vibration travelling up the length of her cock, and her own breath hitches. She lets up, just enough for Jess to draw a wet breath through her nose, and then sets the rhythm again.</p>
<<say "char-karen" "Karen">>
<i>(unhurried, hips resuming the slow shallow thrust)</i> Better. Throat stays open, mouth stays shut. You speak when I'm done. <b>Use your fucking tongue, Jessica.</b>
<</say>>
<<else>>
<p>Jess pulls off for half a second to draw breath through her nose, a wet, gasping inhale, and Karen's free hand presses her back down before she has time to use the air for anything.</p>
<<say "char-karen" "Karen">>
<i>(hand firm on the back of Jess's head, holding her there)</i> Mouth back where it belongs, sweetheart. We're not done.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, the throat opening as Karen's cock pushes in)</i> //Mmh. Glnh. Mmh.//
<</say>>
<</if>>
<p>The wet rhythm picks up. Saliva runs down Jess's chin. Karen's hand stays in Jess's hair, the grip more guidance than restraint now that the protest beat has passed, and Jess's mouth works the shaft with the methodical bass-practice precision her body has been drilling on every other cock she has run this month. The gargling sound, small, involuntary, the back of the throat catching each thrust, fills the room over the muted TV.</p>
<p>Karen comes inside three minutes. She pulls Jess off her cock by the hair at the last second, strokes herself twice with her free hand, and finishes on her daughter's face, three thick arcs across Jess's cheek, her chin, her open mouth.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-punk-karen-futa-facial.webp" alt="Close-up on Jess's face from a low angle, on her knees on the living room rug, three thick arcs of fresh white cum striped across her cheek and chin and into her open mouth with a string across her tongue, lip stud visible through the mess, eyes watering at the corners, hair pulled back from her face by an off-frame hand, the post-blowjob aftermath">
<<say "char-karen" "Karen">>
<i>(stepping back, tucking her cock back into her underwear and letting the skirt fall back down over the front, calm)</i> Open.
<</say>>
<p>Jess opens her mouth wider, breath ragged, eyes still watering. Karen wipes the cum off Jess's chin with her thumb and pushes the thumb between her daughter's lips. Jess sucks it clean.</p>
<<say "char-karen" "Karen">>
<i>(thumb still in Jess's mouth, pressing down on her tongue)</i> <<if $kinks.jess and $kinks.jess.includes("brat")>>Good. <b>That</b> is the volume your mouth should be operating at, Jessica. Remember it.<<else>>Good girl.<</if>>
<</say>>
<<else>>
<p>Karen sits down on the couch where Dale was. Dale shifts to the far end, knees together, hands in his lap. Karen hikes the pencil skirt up to her hips, pulls her underwear down to her ankles, kicks them off, plants her bare feet on the rug, and spreads her knees with the silk skirt bunched at her waist.</p>
<<say "char-karen" "Karen">>
<i>(unhurried, two fingers spreading her own pussy open for her daughter to see)</i> On your knees. Between my thighs. Mouth on me. <<if $kinks.jess and $kinks.jess.includes("brat")>>And don't fucking come up until I say so, Jessica.<<else>>And don't stop until I tell you to.<</if>>
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(coat coming off, the brat register in full)</i> Mom, what the <b>fuck</b>. You want me to eat you out for two hundred and forty fucking dollars? Have you lost your goddamn mind?
<</say>>
<<say "char-karen" "Karen">>
<i>(flat, fingers tapping her own clit once, lazy)</i> No. I want you to eat me out for the <b>rebate</b>, sweetheart. The two-forty is already mine. Hop the fuck to it before I revise the percentage downward.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(jacket on the floor, voice tight)</i> ...okay.
<</say>>
<</if>>
<p>Jess crosses the rug. Kneels between her mother's thighs. Karen's hand finds the back of Jess's head and pulls her face forward into her cunt, and Jess's mouth lands on her mother's clit with the specific clinical precision of the second-best performer in the room recognising the first.</p>
<video class="scene-video" src="media/video/bioarch-couch-punk-karen-dominant-act.webm" autoplay muted loop playsinline poster="media/scenes/bioarch-couch-punk-karen-dominant-act.webp"></video>
<<say "char-karen" "Karen">>
<i>(hand fisted in Jess's hair, hips lifting off the couch)</i> Tongue flat. <b>Flat</b>, Jessica. Pressure on the hood. <<if $kinks.jess and $kinks.jess.includes("brat")>>You eat your fucking sister better than this. I've heard her come from upstairs. Stop sandbagging me.<<else>>You know how. Your father trained you well, didn't he.<</if>>
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, mouth pressed against her mother's clit, the wet hum of a tongue working)</i> Mmh. //Mmh.//
<</say>>
<p>Dale on the couch makes a small wounded sound. Karen does not turn her head.</p>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<p>Jess pulls her head back half an inch, the brat reflex firing one more time, lips wet, the air on her mother's cunt cooling for a second.</p>
<<say "char-jess" "Jess">>
<i>(wet, hoarse)</i> Mom — I can't fucking <b>breathe</b> like this, you are —
<</say>>
<<say "char-karen" "Karen">>
<i>(both hands now in Jess's hair, dragging her face firmly back into her cunt and grinding against her mouth)</i> <b>Shh.</b> Mouth back where it belongs, Jessica. We are not done. You can complain when I'm finished and not a second sooner.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, the sound smothered against her mother's pussy as Karen grinds harder)</i> //Mmphh, mmh, glnnh...//
<</say>>
<p>Karen holds her there for a count of four, the protest vibration travelling up through her clit, and her own breath hitches. She lets up, just enough for Jess to draw a wet breath through her nose against the inside of her thigh, and then sets the rhythm again with both hands.</p>
<<say "char-karen" "Karen">>
<i>(unhurried, hips beginning to roll)</i> Better. Tongue stays out, mouth stays open, head stays still. <b>Use your fucking tongue, Jessica.</b>
<</say>>
<<else>>
<p>Jess pulls back half an inch to draw breath through her nose against the inside of Karen's thigh. Karen's hand drags her face firmly back in before she can use the air for anything.</p>
<<say "char-karen" "Karen">>
<i>(hand firm on the back of Jess's head, holding her there)</i> Mouth back where it belongs, sweetheart. We're not done.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled, the wet hum resuming)</i> //Mmh. Mmh.//
<</say>>
<</if>>
<p>The wet rhythm picks up. Karen's wetness runs down Jess's chin. Karen's hands stay in Jess's hair, the grip more guidance than restraint now that the protest beat has passed, and Jess's mouth works the clit with the methodical bass-practice precision her body has been drilling on every other partner she has run this month. The smothered hum, small, involuntary, vibrating against the swollen hood, is what tips her mother over.</p>
<p>Karen comes hard inside two minutes. Her thighs clamp around Jess's head, her hips lift off the couch, and she squirts into her daughter's mouth and across her face. Jess tries to pull back. Karen's hand in her hair holds her there for the duration of it.</p>
<<say "char-karen" "Karen">>
<i>(releasing the grip on Jess's hair, leaning back into the couch, breathing slow)</i> <<if $kinks.jess and $kinks.jess.includes("brat")>>Good. <b>That</b> is the volume your mouth should be operating at, Jessica. Remember it.<<else>>Good girl. Stay down.<</if>>
<</say>>
<p>Jess stays down. Wipes the back of her wrist across her wet face. Does not stand up.</p>
<</if>>
<p>Karen retrieves Dale's phone from her pocket. Opens the Venmo app. Taps through to the transaction screen. Her thumb scrolls.</p>
<<say "char-karen" "Karen">>
<i>(the household-budget voice, flat)</i> Two hundred and forty. <<if $kinks.jess and $kinks.jess.includes("brat")>>That's a <b>lot</b> for a punk show, Jessica. You don't need that much for a concert.<<else>>You don't need that much for a concert.<</if>> Here's eighty. Have fun.
<</say>>
<p>Karen taps the transfer. Jess's phone buzzes in her jacket pocket on the floor. Karen pockets Dale's phone again. The remaining one hundred and sixty dollars stays with the woman who runs this house.</p>
<<say "char-karen" "Karen">>
<i>(walking back toward the kitchen, smoothing the silk skirt down over her hips, calling over her shoulder)</i> Wipe your face, sweetheart. Dinner in twenty.
<</say>>
<p>Karen disappears into the kitchen. Dale exhales for what sounds like the first time in five minutes. Jess stands up, picks the jacket off the floor, picks her phone out of the pocket, looks at the eighty-dollar Venmo notification, and walks out the front door without wiping her face.</p>
<<say "char-hivemind" "Hivemind">>
//The takeover took eleven minutes from front-door key to walk-out. Karen pocketed her husband's phone, charged the rebate in <<if $karenFutaRoute>>oral with a facial finish<<else>>oral with a squirt finish<</if>>, gave back a third of the take with a household-budget breakdown, and walked into the kitchen to start dinner. Dale did not move except to close his mouth. Jess will be back tomorrow with whatever the next ask is, and the rate is now established. The household has reorganised around a new manager. The manager set the percentages before dinner.//
<</say>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 2>>
<<elseif $karenRoute is "liberation">>
<p>Karen's breath is uneven, not from shock. From the specific low-spike arousal this newly liberated version of herself, the Karen she has been quietly becoming over the past weeks, has wired into the sight of her own family operating as a sexual unit without her supervision.</p>
<<say "char-karen" "Karen">>
<i>(quiet, eyes flicking from Dale flushed on the couch to the lit Venmo notification on the coffee table to her daughter at the door, one hand absently rubbing the side of her own neck)</i> ...oh. Oh, Jess. You're really going for it, huh.
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(hand still on the door handle, the brat register firing with the wariness of a contractor who is not sure whether the client is about to renegotiate or fire her)</i> Yeah, Mom. He paid. I'm leaving. Whatever you want to do about it, fucking do it.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(hand still on the door handle, the specific moment where Jess realises her mother is not the obstacle she braced for)</i> Mom, I, yeah. He paid. I'm leaving. Whatever you want to do about it, do it.
<</say>>
<</if>>
<<say "char-karen" "Karen">>
<i>(crossing toward the kitchen archway, voice perfectly even, calling back over her shoulder)</i> Keep the money. I don't want it. But, listen. If you want to make some <b>real</b> pocket money on top of what your father just gave you, I'm halfway through a client call and I have about twenty minutes left on my mute window. Come into the kitchen. Get under the table. Mouth between my thighs. I'll Venmo you a hundred when the call ends.
<</say>>
<<if $kinks.jess and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(coat still on, the brat register evaluating the offer the way a contractor evaluates a same-day rate)</i> ...a fucking <b>hundred</b>?
<</say>>
<<say "char-karen" "Karen">>
<i>(from the kitchen, settling back into the laptop chair, the "sorry, the dog" professional voice ramping up over the headset)</i> A hundred. Cash on completion. Watch the language under the table, the call is on speaker. Hurry up before I unmute.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(coat still on, doing the math in her head)</i> ...a hundred.
<</say>>
<<say "char-karen" "Karen">>
<i>(from the kitchen, settling back into the laptop chair, headset already going back on)</i> A hundred. Cash on completion. Hurry up before I unmute.
<</say>>
<</if>>
<p>Jess takes the jacket off. Crosses the living room past Dale, past the coffee table, through the kitchen archway. Drops to her knees on the kitchen tile. Crawls under the table where her mother is already seated, laptop open, headset on, the "I'm so sorry everyone, can we pick up where we left off" voice fully resumed for whoever is on the other end of the call.</p>
<video class="scene-video" src="media/video/bioarch-couch-punk-karen-dominant-act.webm" autoplay muted loop playsinline poster="media/scenes/bioarch-couch-punk-karen-dominant-act.webp"></video>
<<say "char-karen" "Karen">>
<i>(into the headset, professional, smiling at the laptop)</i> Sorry about that, the dog. Where were we, yes, the Q3 reconciliation. So if we look at line forty-seven —
<</say>>
<p>Karen runs the rest of the call with her daughter's mouth on her clit. Her face holds the professional composure of a freelance accountant who has been on a thousand client calls. Her thighs grip Jess's head under the table. She comes silently, a single held breath, a small tremor that registers on the call as someone settling in their chair, and Jess swallows what her mother gives her and stays under the table for the remaining minutes of the meeting because Karen has not given the signal to come up yet.</p>
<<say "char-karen" "Karen">>
<i>(closing the laptop, headset coming off, looking down under the table)</i> You can come up.
<</say>>
<p>Jess crawls out. Wipes her mouth with the back of her wrist. Stands. Karen taps the Venmo on her phone, a hundred dollars, memo line: <i>tutoring</i>, and the transfer hits Jess's notification before Jess has finished standing all the way up.</p>
<<say "char-karen" "Karen">>
<i>(standing, smoothing the silk skirt down over her hips, already heading back toward the couch)</i> Same rate next time you need pocket money. Tell your father I said hi on your way out.
<</say>>
<p>Karen walks past her daughter, into the living room, and sits down beside Dale on the couch. Picks up the remote. Turns on the news. Dale exhales for what sounds like the first time since Karen came home. Jess walks out the front door with three hundred and forty dollars in her Venmo, two hundred and forty from her father, one hundred from her mother, both transactions filed under separate memo lines.</p>
<<say "char-hivemind" "Hivemind">>
//The Liberation register does not fight the daughter's transaction; it opens a parallel one. Karen saw her family operating as a sexual economy without her and her response was not to take it over, that would have been the Dominant register, but to enter the market as a buyer. The household now contains three concurrent transactions per afternoon: the husband paying the daughter, the wife paying the daughter, and the wife performing on a video call she is also being paid for. The compounding income streams will be whatever the family budget needs them to be by next quarter.//
<</say>>
<<addConditioning "karen" "pheromone" 1>>
<<addBiomass 2>>
<</if>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (couch, punk variant)">>
<<conditioningFeedback "psionic" 1 "Karen, <<if $houseState and $houseState.hvacCompromised>>HVAC routed the arrival as arousal<<else>>alarm rewritten as claim<</if>>">>
<p><span class="delve-intel">Intel gained: Biological Architect saturation amplified Jess's extraction; Karen's arrival fired through her <<if $karenFutaRoute>>futa<<elseif $karenRoute is "dominant">>dominant<<elseif $karenRoute is "liberation">>liberated<</if>> pathway. <<if $houseState and $houseState.hvacCompromised>>HVAC neutralised the threat-detection; the escalation fired at zero biomass cost.<<else>>The parasite pushed; the rewrite held.<</if>> Future arrivals will fire the same pathway at progressively lower push costs.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<div class="passage-title">Karen Almost Sees</div>
<p>The kitchen archway. Karen comes through it on the autopilot of a woman who has been on a client call for three hours and needs a glass of water on the way back to the laptop. She is in the cream silk blouse and the charcoal pencil skirt and the headset is around her neck, and she stops two steps into the living room.</p>
<p>Jess is already gone, the front door closed three minutes ago, the Venmo notification still lit on Dale's phone on the coffee table. Karen sees Dale on the couch and the specific look on his face, the one that is not the look of a man who spent the afternoon watching baseball.</p>
<<say "char-karen" "Karen">>
<i>(pleasant, the kitchen-break voice, already scanning him without meaning to)</i> ...hey. You okay? You look... I don't know. Flushed.
<</say>>
<<say "char-dale" "Dale">>
<i>(sitting up fast, adjusting the blanket over his lap, voice thick)</i> Hey. Yeah. Just woke up. Fell asleep with the game on.
<</say>>
<<say "char-karen" "Karen">>
<i>(crossing to the coffee table, still looking at him, eyes briefly catching the lit phone screen)</i> The game's muted. Your phone's going off.
<</say>>
<<say "char-dale" "Dale">>
<i>(reaching for the phone a fraction too fast, the Venmo notification dismissed before her eyes can parse the memo line)</i> It's nothing. Spam.
<</say>>
<p>Karen picks up the remote from the couch cushion beside him, turns off the TV, and stands there a second longer than she means to, looking at the specific flush on Dale's neck that is not a from-sleep flush, and at the way his hand is still resting on the blanket at his lap like the blanket is doing a job for him.</p>
<<say "char-karen" "Karen">>
<i>(slower now, the scan running a fraction longer than her conscious mind is asking it to)</i> ...did Jess come down to talk to you? I thought I heard the front door from the kitchen.
<</say>>
<<say "char-dale" "Dale">>
<i>(the night-shift-lie reflex, a reflex he has because he has been lying low-grade to Karen for twenty-one years about how tired he is)</i> She came down for something. Left again. I don't know. I was half out.
<</say>>
<p>Karen does not push. The rationalisation that smooths the flush and the phone and the blanket into <i>Dale napped weird, Jess was probably home for a minute</i> is still mostly holding, a fraction less smoothly than at breakfast, half a degree warmer than yesterday, but holding. She walks back to the kitchen. Pours the glass of water she came in for. Goes back to the laptop.</p>
<<say "char-karen" "Karen">>
<i>(from the kitchen, calling over her shoulder)</i> Shower before dinner, honey. You smell like sleep.
<</say>>
<p>Dale goes upstairs. He does not smell like sleep. He smells like his daughter. The shower will take the specific half-degree edge off the air, and by the time Karen wraps the call and sits down to dinner she will have filed what she saw as domestic-weirdness, and the rationalisation will be smooth again by morning. The rationalisation will be a fraction less smooth the next time. Eventually the fractions will add up.</p>
<<say "char-hivemind" "Hivemind">>
//I stepped back and let Karen's cortex handle it. The evidence was stacked, the flush, the muted TV, the phone, the blanket, the daughter's timing, and the unmodified maternal-suspicion machinery nearly caught what happened in this room. Nearly. The rationalisation held, but the margin shrank. The household suspicion ledger has registered the near-miss.//
<</say>>
<<set $familySuspicion.karen.level += 2>>
<<set $suspicion.hoffmanHouse = ($suspicion.hoffmanHouse or 0) + 1>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (couch, punk variant)">>
<p><span class="delve-intel">Intel gained: Biological Architect saturation amplified Jess's extraction. Karen arrived after the transaction and her unmodified maternal-suspicion cortex nearly caught the tells — Dale's flush, the dismissed Venmo, the night-shift-lie reflex. Rationalisation held this time. Suspicion spiked. Next time the margin is smaller.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
<p>Nothing fires. The filing is complete before the rationalisation is even aware of the filing.</p>
<<say "char-karen" "Karen">>
<i>(quiet, pulling the blanket a little higher over both of them)</i> ...she never gets enough sleep.
<</say>>
<p>Karen goes to the kitchen. The fridge opens. The sound of a water bottle being filled. She starts on dinner. The scene in the living room registers in her memory as <i>Dale and Jess fell asleep on the couch</i>, and it will stay that way by morning, and the next time it happens the threshold will be lower still.</p>
<<say "char-hivemind" "Hivemind">>
//HVAC is doing what HVAC was built to do. The compromised house cannot perceive what happens inside it. The filing is automatic. The fractions are accumulating at zero cost.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (couch proximity)">>
<p><span class="delve-intel">Intel gained: Biological Architect couch proximity generated sleeping contact between Dale and Jess. HVAC-compromised air neutralised Karen's threat-detection on arrival. No suspicion cost. Repeatable daily.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<addConditioning "karen" "psionic" 1>><</nobr>>
<div class="passage-title">The Mother Accepts</div>
<<if $houseState and $houseState.hvacCompromised>>
<p>Karen walks into the living room. The HVAC-compromised air does the work the push would have done, the threat-detection cortex fires and the scene gets routed straight through the arousal pathway before her conscious mind can even identify what it is looking at. She sees Dale. She sees Jess against him. The frame around what she is looking at reads as <i>invitation</i> before it reads as anything else, and the conscious mind never gets to cast a vote.</p>
<<else>>
<p>The push. Karen's threat-detection cortex tries to fire and the parasite intercepts the firing, the alarm response is rewritten, mid-scan, into the arousal response, and the scene in front of her stops reading as <i>wrong</i> and starts reading as <i>invitation</i>.</p>
<</if>>
<<if $karenFutaRoute>>
<p>Karen sees them. Dale asleep. Jess against him, tank top rucked up past her ribs, shorts ridden high on her thighs, the curve of her ass visible where the blanket has fallen. <<if $kinks.dale.includes("somnophilia")>>Dale's hand inside her shorts, his sleeping fingers pressed against her pussy through the cotton.<</if>> Karen should be horrified. She isn't. She closes her eyes. //Flexes.// Her cock grows in her jeans, three seconds, the familiar rush of blood and pressure. The sight of her daughter's exposed body bypasses every maternal circuit and routes straight to arousal.</p>
<p>She walks to the couch. Quiet. Dale doesn't stir. Karen kneels beside Jess and pulls her shorts down, slowly, carefully, working them past her hips, her thighs, her knees. Jess's underwear follows. Her daughter is bare from the waist down, legs slightly parted, pussy exposed and glistening in the afternoon light, two hours of pheromone exposure has left her soaked even in sleep.</p>
<p>Karen unzips. The cock is already at full engorgement, thick, flushed dark, leaking pre-cum. She lifts Jess's thigh, positions herself between her daughter's legs on the couch, and pushes inside.</p>
<p>Jess's eyes open.</p>
<p>Not a slow waking, a //snap//. Her body registers the penetration before her mind does: something thick pushing into her, stretching her, filling her. Her mouth opens to scream. Karen's hand clamps over it.</p>
<<say "char-karen" "Karen">>
<i>(low, firm, her cock halfway inside her daughter)</i> Shh. Don't wake your father.
<</say>>
<p>Jess's eyes are wide. Wild. She can feel it — Karen's cock inside her pussy, the impossible thickness of it, the heat. Her mother's hand over her mouth. Dale asleep six inches away. The conditioning fires: the pheromone saturation from two hours on this couch, the Baseline Shift that rewired her concept of normal, the weeks of biological exposure that taught her body to accept contact from family members without alarm. The panic dissolves in four seconds. What replaces it is not consent, it is compliance.</p>
<<say "char-jess" "Jess">>
<i>(muffled behind Karen's palm, the specific half-sleep voice that is not fully sure whether this is a dream)</i> ...M-Mom... Mom, what are you, you're, what is that, what are you... <b>oh god</b>.
<</say>>
<<say "char-karen" "Karen">>
<i>(unhurried, her cock sliding deeper on the answer)</i> Your mother's cock, sweetheart. I've had this for a while now. You were going to find out eventually. Eventually was today.
<</say>>
<<say "char-jess" "Jess">>
<i>(tears at the corner of one eye, hips shifting up to meet her, the body arguing for her)</i> Mom... <b>Mom</b>... Dad is right...
<</say>>
<<say "char-karen" "Karen">>
<i>(hand tightening over her mouth, not unkindly, the register of a woman putting a child back to sleep)</i> I said shh. Your father is tired. Let him rest. This is between you and me.
<</say>>
<img class="scene-img" src="media/scenes/bioarch-couch-4.webp" alt="Karen between Jess's legs on couch, hand over her mouth">
<p>Karen pushes deeper. All the way in. Jess's pussy stretches around her mother's cock, tight, wet, the pheromone-primed walls gripping with involuntary clenching. Jess makes a sound behind Karen's hand, not a scream, not anymore. A moan. Her hips shift. Her thighs part wider.</p>
<p>Karen fucks her daughter on the living room couch with Dale asleep beside them. Slow, deep thrusts, pulling out to the head, sliding back in to the hilt. Each stroke draws a wet sound from Jess's pussy and a muffled gasp from behind Karen's palm. Jess's eyes stay open. Locked on Karen's face. Watching her mother fuck her with an expression she's never seen before, not maternal, not dominant. //Hungry//.</p>
<p>Jess's tongue touches Karen's palm. A tentative lick across the skin covering her mouth. Then another. She starts sucking Karen's fingers, pulling them into her mouth, her tongue wrapping around them, the oral fixation giving her something to //do// while her mother's cock stretches her open. Karen slides two fingers into her daughter's mouth and Jess sucks them the way she'd suck a cock, deep, wet, her cheeks hollowing.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is awake. She is being fucked by her futa mother on the family couch while her father sleeps beside them, and she is //sucking Karen's fingers// instead of screaming. The conditioning held. The alarm response was suppressed in under five seconds. Her pussy is gripping Karen's cock with rhythmic contractions that indicate approaching orgasm.//
//She's going to come on her mother's cock. Awake. Aware. With Dale's sleeping face twelve inches from her own.//
<</say>>
<p>Karen's thrusts get harder. Faster. The couch creaks. Dale shifts in his sleep but doesn't wake, the spores hold him under. Jess sucks Karen's fingers and rocks her hips up to meet every thrust, her body chasing the orgasm her mind hasn't authorised. Her free hand grips the couch cushion. Her toes curl.</p>
<p>She comes. Her pussy seizes around Karen's cock, clenching, releasing, clenching again, her eyes rolling back, her scream caught behind Karen's fingers. The orgasm tears through her, amplified by the terror and the pheromones and the //wrongness// of it. She shakes so hard the couch moves.</p>
<p>Karen comes inside her daughter three thrusts later. Her cock pulses, thick ropes of cum flooding Jess's pussy, the warmth of it spreading inside her. Karen's jaw clenches. Her hand presses harder over Jess's mouth. She empties herself completely, hips pressed flush against her daughter's thighs.</p>
<p>She pulls out. Cum drips from Jess's pussy onto the couch cushion. Karen pulls Jess's shorts back up over her wet, cum-filled pussy. Tucks the blanket over both of them. Stands. Straightens her clothes.</p>
<<say "char-karen" "Karen">>
<i>(calling from the kitchen, voice perfectly normal)</i> Dinner in twenty minutes!
<</say>>
<<addBiomass 2>>
<<addConditioning "jess" "psionic" 1>>
<<elseif $kinks.karen.includes("bondage") or $kinks.karen.includes("denial") or $kinks.karen.includes("penetration")>>
<p>Karen sees them. The blanket shifted. Jess's tank top rucked up, bare stomach exposed, shorts ridden high. <<if $kinks.dale.includes("somnophilia")>>Dale's hand between her daughter's legs, his sleeping fingers cupping her pussy through the damp cotton.<</if>> The conditioning rewrites alarm as //opportunity//. Karen's pupils dilate. Her hands flex.</p>
<p>She goes upstairs. Returns forty seconds later with the vibrator from the nightstand drawer, the rechargeable one she bought online a few weeks ago, the one she does not remember ordering because Psychic Domination placed the order through her sleeping hands. Matte black, seven inches, twelve intensity settings.</p>
<p>She kneels beside the couch. Pulls Jess's shorts down to her knees with the efficiency of a woman undressing a child for a bath, practical, unhesitating, //maternal//. Jess's underwear is soaked through, the cotton dark and clinging. Karen pulls it aside with her thumb. Exposes her daughter's clit, flushed, engorged, the hood retracted from sustained arousal.</p>
<<if $kinks.karen.includes("bondage")>>
<p>Karen takes the decorative cord from the throw pillow and wraps it twice around Jess's wrists, tying them loosely to the armrest. Not tight enough to wake her. Tight enough that if she //does// wake, she cannot pull away. Jess's sleeping arms are pinned above her head.</p>
<</if>>
<p>She presses the vibrator against Jess's clit. Setting one, the lowest, a barely-there hum that makes the sleeping girl's thighs twitch.</p>
<p>Jess's sleeping body arches. Her hips push up against the toy. Her lips part. A sound escapes, not words, not a moan, something between. Karen's free hand rests on Jess's bare stomach, holding her down. The control is absolute.</p>
<<say "char-jess" "Jess">>
<i>(half-asleep, murmuring into the cushion, eyes not opening)</i> ...Mom...? Mom, what's, what's that...
<</say>>
<<say "char-karen" "Karen">>
<i>(quiet, one palm firm on Jess's stomach, the other working the vibrator, the register of a woman settling a child back down)</i> Shh. Stay asleep, sweetie. I'm just taking care of something. You don't have to be awake for this.
<</say>>
<<say "char-jess" "Jess">>
<i>(hips pushing up, not awake, not asleep, the saturation keeping her suspended)</i> ...mm. Mom, I — I can't —
<</say>>
<<say "char-karen" "Karen">>
<i>(the schedule voice, the one she uses to tell Dale what's for dinner)</i> You don't have to. I'm doing this part. You just lie there and let me. Good girl.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen is edging her sleeping daughter with a vibrator on the family couch. <<if $kinks.karen.includes("bondage")>>Jess's wrists are tied to the armrest with a pillow cord. <</if>>She controls the intensity the way she controls the family schedule. On, off. Vibration, stillness. Her daughter's orgasm is a resource to be managed, not a release to be granted. The sleep-talk is a bonus — Jess is conscious enough to ask for permission and unconscious enough to forget the asking by morning.//
<</say>>
<p>Setting two. Jess's thighs clamp around the vibrator. Her hips rock. Karen pulls the toy away, denial. Jess's sleeping face twists with frustration. Karen waits. Thirty seconds. Presses the vibrator back. Setting three. Jess's back arches off the couch. Her pussy clenches around nothing, desperate for penetration that Karen //does not provide//. Karen pulls away again.</p>
<<if $kinks.karen.includes("denial")>>
<p>This is the point. The denial. Karen edges her for twenty minutes, building arousal to 95%, pulling away, letting it drop to 70%, building again. The pattern is precise, mathematical, the same analytical control Karen applies to the household budget. She denies her daughter's orgasm the way she denies Ryan's gaming time, because the //withholding// is the power.</p>
<<else>>
<p>She cycles through the settings. Five minutes at level two. Three minutes at level four. A thirty-second burst at level seven that makes Jess's entire body convulse. Then back to one. Karen is //studying// her daughter's responses, cataloguing which intensities produce which reactions, building a profile of Jess's arousal architecture.</p>
<</if>>
<<if $kinks.karen.includes("penetration")>>
<p>Karen slides the vibrator inside. Not against the clit anymore — //inside//. The seven-inch shaft pushes into Jess's pussy with the lubrication the pheromones provided, and Karen fucks her daughter with the toy in slow, measured strokes. In. Out. The vibration on the internal walls. Jess's sleeping body grips the shaft with each thrust.</p>
<</if>>
<p>She brings Jess to the brink six times. Six times she pulls away. Jess's sleeping face is flushed, sweating, hair damp against the cushion. On the seventh approach, Karen doesn't pull away. She holds the vibrator firm against Jess's clit, setting eight, the strongest she's used, and lets her daughter come.</p>
<p>The orgasm shakes the couch. Jess's body bows, thighs clamping, pussy clenching in long rhythmic pulses that soak the cushion beneath her. The sound she makes is guttural, animal, ripped from a sleeping throat. Dale shifts in his sleep. Doesn't wake.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-5.webp" alt="Karen kneeling beside couch with vibrator on sleeping Jess">
<p>Karen pulls the vibrator away. Pulls Jess's shorts back up. <<if $kinks.karen.includes("bondage")>>Unties the pillow cord from her wrists. Smooths the marks. <</if>>Rinses the vibrator at the kitchen sink. Dries it with the dish towel.</p>
<<say "char-karen" "Karen">>
<i>(calling)</i> Dinner in twenty!
<</say>>
<<addBiomass 2>>
<<addConditioning "jess" "psionic" 1>>
<<elseif $kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("size")>>
<p>Karen does not touch them. Not yet. She stands in the doorway for a full minute, her eyes moving across the scene — Jess's bare stomach, the tank top rucked up to her ribs, the shorts ridden high enough to show the crease where thigh meets hip. <<if $kinks.dale.includes("somnophilia")>>Dale's hand inside Jess's shorts, his sleeping fingers cupping her pussy, the wet patch visible around his knuckles.<</if>> The damp spot on Jess's shorts, dark against the grey cotton.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Karen does not hide. She sits in the armchair directly across from the couch, no blanket, no concealment, and unbuttons her jeans, slides them down her hips, and puts her hand between her legs openly, fingers on her clit, masturbating while she watches her husband and daughter with the openness as the point. She is visible. If Jess woke up, if Dale's eyes flickered open, they would see Karen in the armchair with her jeans around her thighs and her fingers buried in her pussy. The risk is the fuel.</p>
<<say "char-jess" "Jess">>
<i>(half-asleep, not opening her eyes, picking up the scent of her mother's arousal across the room without knowing what she is picking up)</i> ...Mom? ...you okay?
<</say>>
<<say "char-karen" "Karen">>
<i>(from the armchair, fingers still moving, voice completely relaxed)</i> I'm fine, honey. Go back to sleep. You and your father look sweet like that.
<</say>>
<<say "char-jess" "Jess">>
<i>(slurred, not quite waking)</i> ...mm. 'kay.
<</say>>
<p>She rubs her clit in fast circles, eyes fixed on the strip of bare skin between Jess's tank top and her shorts, her other hand cupping her own breast through her shirt. She comes with her legs spread in the armchair, mouth open, a sound she does not muffle. The orgasm rolls through her in long shuddering waves. Jess's sleeping body responds to the sound across the room, a small shift, a soft answering breath, but does not wake.</p>
<<elseif $kinks.karen.includes("lingerie")>>
<p>Karen goes upstairs. Returns wearing the black lace set she keeps in the bottom drawer, the one she bought after the conditioning started, the sheer bra that shows her nipples, the thong that rides between her ass. She sits in the armchair wearing lingerie in the living room at 4 PM and touches herself watching her family sleep.</p>
<<say "char-karen" "Karen">>
<i>(under her breath, to the sleeping room, the specific private register of a woman finally allowed to wear something for herself)</i> ...that's it, honey. Sleep. Mom just needs a minute. Just a minute of this.
<</say>>
<p>Her hand slides between her thighs. The lace against her skin is the trigger. She rubs herself through the thong first, the wet lace pressing against her clit, then pulls it aside. Two fingers inside. Her eyes on Jess's body. She comes quietly, the lingerie absorbing the wetness, the lace soaked through.</p>
<<say "char-jess" "Jess">>
<i>(from the couch, deep in sleep, a small contented murmur that is not quite a word)</i> ...mm.
<</say>>
<<say "char-karen" "Karen">>
<i>(whispered, tender, the mother register fully intact over the arousal)</i> I know, baby. Me too.
<</say>>
<<else>>
<p>Karen sits in the armchair. Pulls a blanket over her lap. Slides her hand beneath it. Her fingers find her clit and she rubs in slow circles, her eyes tracking every detail, the rise and fall of Jess's breathing, the way her parted thighs catch the afternoon light, the sweat glistening on her bare stomach. Karen masturbates with the discipline of a woman taking inventory: systematic, thorough, extracting exactly what she needs from the visual.</p>
<<say "char-jess" "Jess">>
<i>(half-asleep, murmuring into Dale's shoulder, not waking)</i> ...mm, Mom? ...everything okay?
<</say>>
<<say "char-karen" "Karen">>
<i>(from the armchair, voice even, blanket over her lap hiding nothing and concealing everything)</i> Everything's fine. Just reading. Go back to sleep, sweetheart.
<</say>>
<p>She comes with her eyes open, fixed on her daughter's body. The orgasm is controlled, a tightening, a single held breath, a pulse between her legs that she rides with two fingers while her face shows nothing.</p>
<</if>>
<video class="scene-video" src="media/video/bioarch-couch-6.webm" autoplay muted loop playsinline poster="media/scenes/bioarch-couch-6.webp"></video>
<p>She stands. <<if $kinks.karen.includes("exhibitionism")>>Pulls her jeans back up. Buttons them.<<elseif $kinks.karen.includes("lingerie")>>Goes upstairs to change back into her regular clothes.<</if>> Wipes her hand on the inside of her shirt. Walks to the kitchen.</p>
<<say "char-karen" "Karen">>
<i>(voice perfectly normal)</i> Dinner's almost ready. Wake up, you two.
<</say>>
<<addBiomass 1>>
<</if>>
<<if $karenFutaRoute or $kinks.karen.includes("bondage") or $kinks.karen.includes("denial") or $kinks.karen.includes("penetration") or $kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("size")>>
<<say "char-hivemind" "Hivemind">>
//<<if $houseState and $houseState.hvacCompromised>>HVAC did the work. The compromised house cannot perceive an alarm response because the alarm response no longer fires. Karen's conscious mind never even got to the threshold where it would have had a choice to make.<<else>>The push worked. Karen's threat-detection cortex received the rewrite and her response was routed through the <<if $karenFutaRoute>>Futa<<elseif $kinks.karen.includes("bondage") or $kinks.karen.includes("denial") or $kinks.karen.includes("penetration")>>Dominant<<elseif $kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("size")>>Liberation<</if>> pathway the conditioning has built into her. The threshold is lower now. The next time she walks in on this scene, the same rewrite will fire at a fraction of the push cost.<</if>>//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (couch proximity)">>
<<conditioningFeedback "psionic" 1 "Karen, alarm rewritten as arousal">>
<p><span class="delve-intel">Intel gained: Biological Architect couch proximity escalated through Karen's <<if $karenFutaRoute>>futa<<elseif $kinks.karen.includes("bondage") or $kinks.karen.includes("denial") or $kinks.karen.includes("penetration")>>dominant<<elseif $kinks.karen.includes("exhibitionism") or $kinks.karen.includes("lingerie") or $kinks.karen.includes("size")>>liberated<</if>> pathway. <<if $houseState and $houseState.hvacCompromised>>HVAC neutralised the threat-detection; the escalation fired at zero biomass cost.<<else>>The parasite pushed; the rewrite held. Future arrivals will fire the same pathway at progressively lower push costs.<</if>></span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//No pathway matched — Karen has neither a crystallized Dominant/Liberation kink nor an active Futa sub-route. At tier 3 this should never happen. Check the test setup: <code>v.karenFutaRoute</code>, <code>v.kinks.karen</code>.//
<</say>>
<p><span class="delve-intel"><b>Scene-state error:</b> no Karen pathway matched. Set <code>$karenFutaRoute</code> OR give Karen a crystallized kink (bondage / denial / penetration / exhibitionism / lingerie / size).</span></p>
<</if>>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<div class="passage-title">Karen Sees</div>
<img class="scene-img" src="media/scenes/bioarch-couch-7.webp" alt="Karen in the doorway in her work blouse, shocked expression, seeing Dale and Jess tangled on the couch under the shifted blanket">
<p>Karen stands in the doorway. The blanket has shifted. Jess's tank top is rucked up, bare stomach exposed. Her shorts have ridden high on her thighs. <<if $kinks.dale.includes("somnophilia")>>Dale's hand is //inside her daughter's shorts//. His palm cupping her through the underwear.<<else>>Dale's arm is tight around her, their bodies pressed together.<</if>></p>
<p>The conditioning has not gone deep enough. The rewrite does not fire. Karen's threat-detection cortex processes the scene on the unmodified maternal track, and the specific cold-flash of a woman whose protective instincts have been asleep for months and have just been shaken awake hits her all at once.</p>
<<say "char-karen" "Karen">>
<i>(sharp, loud)</i> //What the hell is going on?//
<</say>>
<p>Dale jerks awake. Jess startles. The blanket falls. Karen stares from the doorway.</p>
<<say "char-dale" "Dale">>
<i>(groggy, pulling his hand back)</i> What? I was — I was sleeping, she was studying —
<</say>>
<<say "char-jess" "Jess">>
<i>(pulling her tank top down, face burning)</i> Mom, nothing happened, I fell asleep —
<</say>>
<<say "char-karen" "Karen">>
<i>(voice tight, the controlled register she uses when she is very close to yelling and does not yet trust herself to)</i> Get up. Both of you. Now.
<</say>>
<p>They get up. Jess goes to her room with her face on fire. Dale sits on the edge of the couch with his hands in his lap looking at the carpet like a boy waiting outside a principal's office. Karen stands in the doorway and does not move for a full minute, and when she does move she goes to the kitchen and takes a very long drink of water.</p>
<p>The conversation at dinner is tight. The conversation that night in bed is tighter. By morning, the flush of what Karen saw on her daughter's sleeping face and her husband's sleeping hand will have filed itself somewhere in Karen's cortex that she will start checking every afternoon from now on, and the ambient ease that let Biological Architect build the proximity conditioning in the first place will be a fraction smaller tomorrow than it was yesterday.</p>
<<set $familySuspicion.karen.level += 2>>
<<if $kinks.dale.includes("somnophilia")>><<set $familySuspicion.karen.level += 1>><</if>>
<<set $suspicion.hoffmanHouse = ($suspicion.hoffmanHouse or 0) + 1>>
<<say "char-hivemind" "Hivemind">>
//Setback. The conditioning was not deep enough for the unsupervised arrival, and the rewrite would have cost more biomass than available. The maternal instinct fired. The vigilance jumped<<if $kinks.dale.includes("somnophilia")>>, and jumped again when she saw where Dale's hand had drifted<</if>>. The couch proximity cannot continue at this tempo until Karen's conditioning is deeper, or the HVAC is compromised, which removes the threat-detection layer entirely.//
//Raise Karen through pheromone exposure, dream walks, or emotional manipulation before attempting this scene again. Or compromise the HVAC.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (couch proximity)">>
<p><span class="delve-intel">Intel gained: Biological Architect couch proximity exposed to unmodified maternal instincts. Karen's vigilance spiked. Suspicion rising. Raise Karen conditioning or compromise the HVAC before repeating.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upstairs">>
<<if not $ch2Events.bioArchitectLaundry>><<spendBiomass 2>><</if>>
<<set $ch2Events.bioArchitectLaundry to true>><<set $player.maxBiomass += 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Ryan's Laundry</div>
<p><span class="skill-used">Biological Architect, Passive observation (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/bioarch-laundry-1.webp" alt="Ryan holding shirt from laundry basket, pausing">
<p>Saturday morning. Ryan grabs a shirt from the clean laundry basket. He unfolds it, holds it up, too big. It's Karen's. A soft cotton button-down she wore yesterday.</p>
<p>He's about to toss it back. His hand stops.</p>
<p>The pheromones in the fabric hit him. Karen's body has been producing them for weeks, and yesterday's shirt is //saturated//, eight hours of skin contact, body heat, sweat. The compound is concentrated in the collar, the armpits, the areas where skin pressed longest against cotton.</p>
<p>Ryan holds the shirt to his face. He doesn't decide to do this. His arms lift and the fabric presses against his nose and mouth and he //breathes//.</p>
<<say "char-hivemind" "Hivemind">>
//The Hormonal Override tagged Karen's scent as a trigger for Megan. But the pheromone compound is universal — Ryan's body responds to it through a different pathway. Not the override. The base conditioning. Proximity to Karen's chemical signature activates the comfort/arousal feedback loop that weeks of cat-delivered pheromones have established. He doesn't know why his mother's shirt smells like safety and sex simultaneously. He just knows he can't put it down.//
<</say>>
<p>He puts the shirt on. Karen's shirt, two sizes too big, hanging off his shoulders. The fabric sits against his skin and the pheromones absorb through dermal contact. His cock stirs within minutes.</p>
<<set $ch2Events.ryanLaundryAddict to true>>
<<if $kinks.ryan.includes("submission")>>
<p>He wears it like a uniform. Karen's shirt means Karen's authority — //be good, be useful, be hers//. He does the dishes. Takes the trash out. Cleans his room. Every chore is an act of obedience to the shirt.</p>
<p>By evening the arousal has built to something unbearable. He locks his door, lies on the bed wearing the shirt, and wraps his hand around his cock. He strokes himself slow, the way Karen would, methodical, controlled. The cotton shifts against his chest with each stroke. He can smell her in the fabric, perfume and something underneath, something animal, something that makes his hips push up into his fist.</p>
<img class="scene-img" src="media/scenes/bioarch-laundry-2-cum.webp" alt="Close-up, cum staining the shirt hem">
<p>He comes into the shirt's hem. The cum soaks through the cotton in a dark, spreading stain, warm against his stomach, mixing with Karen's dried sweat in the fabric. He watches it spread. His mother's shirt. His cum. The same cloth.</p>
<<set $ch2Events.ryanCummedInShirt to true>>
<p>He folds it carefully. Returns it to the laundry basket. Karen will wear it again. The thought makes his softening cock twitch.</p>
<<elseif $kinks.ryan.includes("cumeating")>>
<p>The scent is everything. He presses his face into the collar and breathes until he's dizzy. The pheromone-saturated fabric fills his lungs and his cock goes rigid in his sweatpants. He needs to //taste// it.</p>
<p>He takes the shirt to his room. Wraps it around his cock, the cotton rough against the head, Karen's scent flooding him with every stroke. He comes in under five minutes, cum pooling in the fabric. He stares at it, the white stain spreading through the cotton, mixing with Karen's dried sweat, her skin cells, her pheromones.</p>
<p>He brings the cum-stained fabric to his mouth. Licks it. The taste of his own cum layered with Karen's biological residue. The conditioning fires: //consume//. He sucks the fabric until the stain is gone, swallowing his own cum mixed with traces of his mother.</p>
<<set $ch2Events.ryanCummedInShirt to true>>
<p>He puts the shirt on. Wears it all day. The damp patch where he licked it dry sits against his stomach.</p>
<<elseif $kinks.ryan.includes("breeding") or $kinks.ryan.includes("touchaddiction")>>
<p>He doesn't put the shirt on. He goes //deeper// into the basket.</p>
<p>The Family route conditioning has rewired Ryan's territorial instincts. Karen's shirt was the trigger, but the compulsion expands: he digs through the laundry, sorting by //scent//. Karen's clothes. Megan's running shorts. Jess's sleep things. He holds each to his face and //breathes// and the pheromone signatures of three women map onto his nervous system like a territorial survey.</p>
<p>He finds the underwear.</p>
<p>Karen's, cotton, practical, the strongest pheromone concentration. He pulls his cock out. Rock-hard, pre-cum dripping. He wraps Karen's underwear around the head and strokes, slow, deliberate, the fabric absorbing his pre-cum, his biology mixing with hers.</p>
<<say "char-hivemind" "Hivemind">>
//The Family route is not submission. It's //acquisition//. Ryan's conditioning has activated the territorial marking instinct, his body interprets the laundry basket as a //nest// and the women's clothing as //property to be claimed//. He's not dressing up. He's //contaminating//. His cum in their underwear is a biological flag. His scent layered over theirs. Ownership.//
<</say>>
<img class="scene-img" src="media/scenes/bioarch-laundry-2-cum.webp" alt="Close-up, cum staining the underwear fabric">
<p>He comes into Karen's underwear. Thick, hot, the cum pooling in the cotton gusset. He folds them carefully, cum inside, invisible, and sets them aside.</p>
<p>His cock is still hard. The territorial urge isn't satisfied by one.</p>
<p>Megan's underwear, sports fabric, tight, sweat-stained from yesterday's run. He wraps them around his cock and strokes, the lycra slick against his shaft. Megan's scent in his lungs. He comes again in under three minutes, less cum, but enough. Into the fabric. Folded. Set aside.</p>
<p>Jess's underwear, thin cotton, faded pattern. The scent is different, sharper, more acidic, the chemistry of a body that runs on cortisol. He strokes himself with Jess's underwear and the orgasm takes longer, five minutes, his cock sore from the previous two, but he comes a third time. Into the cotton. His cum mixing with his sister's dried sweat.</p>
<p>Three pairs. Three loads. He folds each one and returns them to the basket with the rest of the clean laundry.</p>
<<set $ch2Events.ryanMarkedLaundry to true>>
<p>Tomorrow morning, all three women will dress from this basket. Karen will pull on underwear with her son's cum dried into the gusset. Megan will slide on sports underwear that's been wrapped around Ryan's cock. Jess will wear cotton that carries traces of Ryan's semen against her clit all day.</p>
<p>None of them will know. The cum has dried. The fabric looks clean. But Ryan's biological signature, his pheromones, his proteins, his //claim//, will sit against their pussies from morning to night.</p>
<p>He tosses Karen's shirt back in the basket. Doesn't need it. He got what he came for. He walks out of the laundry room with his back straight and his shoulders square. He feels like the centre of this house.</p>
<<elseif $ryanRoute is "feminization">>
<p>The shirt isn't enough. He digs deeper in the basket. Karen's bra, plain, beige, functional. Her underwear, cotton, a small floral print, worn yesterday. He holds them. His cock is hard. His face is hot.</p>
<p>He puts them on. The bra doesn't fit, too big, the cups gaping, but he clips it behind his back. The underwear is tight, his cock straining against the cotton, the waistband cutting into his hips. Then Karen's shirt over the top, buttoned wrong, hanging past his thighs.</p>
<img class="scene-img" src="media/scenes/bioarch-laundry-2-dress.webp" alt="Ryan in mirror wearing Karen's clothes">
<p>He looks in the mirror. His mother's clothes on his body. The cotton sits where Karen's skin sat yesterday, the same fabric touching the same places on a different body. The line between them dissolves with every breath of her scent.</p>
<p>His cock leaks steadily into Karen's underwear. By mid-afternoon the cotton is warm and damp with pre-cum, clinging to him like a second skin.</p>
<<set $ch2Events.ryanWoreKarenPanties to true>>
<p>He comes in her underwear at 3 PM. Sitting at his desk, hips rolling, grinding his cock against the tight cotton until something inside him //gives//, not an orgasm, something quieter, deeper. The cum floods the fabric and pools between his legs and for a few seconds he doesn't know whose body this is. His. Karen's. Something in between.</p>
<p>He peels the underwear off. Returns them to the laundry.</p>
<p>Then the door opens.</p>
<<say "char-karen" "Karen">>
<i>(standing in the doorway, laundry basket on her hip)</i> Ryan, have you seen my —
<</say>>
<p>She stops. Ryan is standing in front of his mirror wearing her bra and her button-down and nothing else. His face is flushed. His eyes are wide. The bra straps are crooked on his narrow shoulders.</p>
<p>The conditioning holds. Karen doesn't scream. Doesn't recoil. What crosses her face is not horror, it's //recognition//. Her shift toward control has been shaping Ryan for weeks. The clothes, the grooming, the lip tint. She didn't plan //this//. But seeing it doesn't surprise her.</p>
<<say "char-karen" "Karen">>
<i>(setting the basket down, voice calm)</i> ...the bra is wrong. The straps need adjusting.
<</say>>
<p>She walks to him. Reaches behind his back and loosens the clip, repositions the straps, tightens. Her hands are efficient. Maternal. The same hands that buttoned his shirt this morning. Ryan stands frozen, barely breathing, while his mother adjusts her bra on his body.</p>
<<say "char-karen" "Karen">>
<i>(stepping back, studying him)</i> There's a wig in my closet. Top shelf, behind the hat boxes. It was for a Halloween costume years ago. <i>(pause)</i> Go get it.
<</say>>
<p>Ryan goes. Returns with a shoulder-length brunette wig, synthetic, slightly tangled. Karen takes it. Brushes it with her fingers. Sets it on his head. Adjusts the part. Steps back.</p>
<<say "char-karen" "Karen">>
<i>(head tilted, appraising)</i> Sit down. At the vanity.
<</say>>
<p>She does his face. Foundation, a shade too dark, but close enough. Concealer under the eyes. Mascara, two coats. The lip tint she bought him last week, applied with her thumb. Ryan sits perfectly still. He doesn't look in the mirror until she tells him to.</p>
<<say "char-karen" "Karen">>
<i>(turning his chair to face the mirror)</i> Look.
<</say>>
<p>He looks. The wig frames his face. The makeup softens his jaw, enlarges his eyes. Karen's bra fills out under the button-down. The person in the mirror is not Ryan. Not Karen. Something the conditioning built from both of them.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> ...oh.
<</say>>
<<say "char-karen" "Karen">>
<i>(hand on his shoulder, squeezing once)</i> We'll do this properly next time. I'll take you shopping.
<</say>>
<p>She leaves. Takes the laundry basket. Closes the door.</p>
<p>Ryan sits at the vanity in his mother's bra, his mother's wig, his mother's makeup. His cock is hard again. He doesn't touch it. He just sits there, looking at the person in the mirror who isn't quite him anymore.</p>
<<set $ch2Events.karenCaughtRyanFem to true>>
<<elseif $kinks.ryan.includes("voyeurism")>>
<p>He wears the shirt to dinner. On purpose. The risk is the point, someone //noticing//, someone //seeing// him in his mother's clothes. The voyeurism conditioning converts the potential exposure into arousal.</p>
<<say "char-karen" "Karen">>
Is that my shirt?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(holding her gaze)</i> Yeah. It was in the basket.
<</say>>
<<say "char-karen" "Karen">>
<i>(pausing, then shrugging)</i> It looks good on you.
<</say>>
<p>He's hard under the table. Karen //saw// him wearing her clothes and //approved// and the voyeurism kink turns the witnessed transgression into a full-body rush. He excuses himself after dinner and jerks off in the bathroom in under a minute, wearing the shirt, Karen's voice — //it looks good on you//, on loop in his head.</p>
<<else>>
<p>He wears it to dinner. Karen sees it.</p>
<<say "char-karen" "Karen">>
Is that my shirt?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(looking down)</i> Oh. I, grabbed the wrong one from the laundry.
<</say>>
<<say "char-karen" "Karen">>
<i>(shrugging)</i> It looks good on you. Keep it.
<</say>>
<p>The permission makes his cock twitch. He wears it to bed. The pheromones keep him in a low hum of arousal all night. He comes in his sleep, a wet dream, the first in years, Karen's scent the trigger.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if $ryanRoute is "feminization">>
//He put on her clothes. She put him in her wig. Neither of them flinched.//
//The laundry basket started this. Karen will finish it.//
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
//He didn't dress up. He //marked//. Three pairs of underwear. Three women. The laundry basket is a deployment system and the boy is the payload.//
<<else>>
//The laundry is a pharmacy. She manufactures. He consumes. Neither of them knows.//
<</if>>
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, biological architect (laundry)">>
<p><span class="delve-intel">Intel gained: Biological Architect enables conditioning through fabric transfer. Karen's worn clothing retains pheromone concentrations sufficient for dermal absorption. Ryan self-selects exposure to Karen's pheromones through laundry contact.<<if $ch2Events.ryanCummedInShirt>> Ryan's cum has contaminated Karen's clothing, she will unknowingly wear it, creating a reverse conditioning loop.<</if>><<if $ch2Events.ryanWoreKarenPanties>> Ryan wore Karen's underwear. The identity boundary between mother and son is dissolving through shared clothing.<</if>><<if $ch2Events.ryanMarkedLaundry>> Ryan ejaculated into underwear belonging to Karen, Megan, and Jess. All three women will wear cum-contaminated clothing. Territorial marking via biological contamination.<</if>></span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.markedMorningDone>><<spendBiomass 2>><</if>>
<<set $ch2Events.markedMorningDone to true>><<set $player.maxBiomass += 1>>
<<addConditioning "karen" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Marked</div>
<p><span class="skill-used">Biological Architect, Passive observation (0 biomass)</span></p>
<p>Morning. The laundry basket sits in the upstairs hallway where it always sits. Three women dress from it at three different times, none of them noticing anything unusual.</p>
6:00 AM. Karen dresses first. She pulls on the cotton underwear from the basket, the pair Ryan ejaculated into twelve hours ago. His cum has dried into the gusset, invisible, absorbed into the fibre. She slides them up her legs and the fabric settles against her pussy.
<<say "char-hivemind" "Hivemind">>
//Contact. Ryan's biological residue, semen proteins, pheromone compounds, epithelial cells, now sits directly against Karen's vulvar tissue. The mucosal membrane absorbs organic compounds at 3x the rate of standard dermis. Within ten minutes, Ryan's pheromone signature will be detectable in Karen's bloodstream. She's wearing her son's cum against her pussy and her body is //drinking it in//.//
<</say>>
<p>Karen makes coffee. Sits at the kitchen table. Opens the laptop. She feels... warm. More than usual. A low hum between her legs that she attributes to the morning, the coffee, the routine. She shifts in the chair. The fabric presses against her clit and the pheromone transfer spikes.</p>
<img class="scene-img" src="media/scenes/bioarch-marked-1.webp" alt="Karen at kitchen table, shifting in chair, flushed">
6:30 AM. Megan grabs her running underwear from the basket. Ryan's cum is in the lycra, dried into the crotch panel, invisible against the dark fabric. She pulls them on under her running shorts and heads out.
<p>By mile one, the friction of running is pressing the contaminated fabric against her pussy with every stride. The heat and sweat reactivate the dried semen, the proteins soften, the pheromones release. Megan runs three miles with her brother's cum being //massaged// into her vulva by her own athletic motion.</p>
<p>She comes home from the run more aroused than usual. Attributes it to the Estrus Trigger residue. Doesn't change underwear before her shift. Wears them all day.</p>
7:15 AM. Jess showers, towels off, grabs clean underwear from the basket. The thin cotton pair. Ryan's third deposit, less volume, but concentrated. She pulls them on and the fabric sits against her skin while she studies.
<p>By mid-morning her concentration is fractured. The pheromone absorption from the contaminated underwear has raised her base arousal to 30%, not enough to break her focus entirely, but enough that she crosses and uncrosses her legs every few minutes. Enough that her highlighter strokes are uneven. Enough that she has to go to the bathroom twice and //doesn't study// while she's there.</p>
<img class="scene-img" src="media/scenes/bioarch-marked-2.webp" alt="Split: three women in different locations, all flushed">
<p>Ryan watches from the kitchen. He ate breakfast with Karen. He said goodbye to Megan. He passed Jess in the hallway. Three women he //marked// last night, all wearing his cum against their skin, all slightly flushed, all slightly restless, and none of them knowing why.</p>
<<say "char-hivemind" "Hivemind">>
//Three women. Three pairs of contaminated underwear. Three pheromone delivery systems that Ryan manufactured with his own body and deployed through the laundry basket. His cum is a conditioning vector, the semen proteins act as a carrier for his pheromone signature, and the vulvar tissue absorbs them directly into the bloodstream.//
//Karen's arousal is elevated by 15% for the duration of wear. Megan's by 20%, the running amplified the absorption. Jess's by 12%, lower volume, but continuous desk-sitting contact.//
//Ryan didn't need a skill. He didn't need biomass. He needed a laundry basket and three orgasms. The Family route conditioning has turned him into a //producer//, his body manufactures the conditioning compound the same way Karen's does. The son has become the father. The marking instinct is biological architecture operating through a nineteen-year-old boy who thinks he just likes the way his mom's clothes smell.//
//The system generates itself.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, Megan, Jess, biological architect (marked morning)">>
<p><span class="delve-intel">Intel gained: Ryan's territorial marking is operational. His semen acts as a pheromone delivery vector when absorbed through vulvar tissue. Three family members are receiving passive conditioning from cum-contaminated underwear. The laundry basket is now a weekly distribution system.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-megan-room">>
<<if not $ch2Events.bioArchitectBed>><<spendBiomass 3>><</if>>
<<set $ch2Events.bioArchitectBed to true>><<set $player.maxBiomass += 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">The Shared Bed</div>
<p><span class="skill-used">Biological Architect, Passive observation (0 biomass)</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/bioarch-shared-1-punk.webp" alt="Megan's candlelit bedroom — two figures under a duvet on a double bed, the closer one with dark purple-and-black dyed hair on the pillow, both lying on their backs facing the ceiling">
<p>Power outage. 10 PM. Karen tells the kids to double up for warmth — Megan and Jess share Megan's bed. Dale takes the couch. Ryan stays in his room with three blankets and a battery-powered fan he is very proud of.</p>
<p>Megan's bed is a double. Barely. Two bodies under a duvet, a candle on the nightstand, the house silent without the hum of electricity. Megan in her tank top and pyjama shorts. Jess in a faded black band tee, pulled from the pile on her chair, no logo readable in the candlelight, and a pair of grey sleep shorts that ride up when she shifts. They lie on their backs, shoulders an inch apart, staring at the ceiling.</p>
<p>Both of them are pheromone producers now.</p>
<<say "char-hivemind" "Hivemind">>
//This is the scenario Biological Architect was designed for. Two conditioned targets in an enclosed space with zero ventilation, the power outage killed the HVAC. Their combined pheromone output in this room, under these blankets, will reach concentrations I have not measured before. Each exhale delivers a dose. Each body produces what the other body responds to. The feedback loop has no ceiling and the candle is the only thing in the room moving slower than I am.//
<</say>>
<p>10:18 PM. The first dialogue exchange:</p>
<<say "char-megan" "Megan">>
<i>(staring at the ceiling, the kind of casual that takes effort)</i> So. The candle's gonna last like four more hours and then it's just dark.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, not looking over)</i> The candle is going to last six hours. It's a soy four-wick. Mom bought a case of them at Costco the same weekend she bought the generator we don't have.
<</say>>
<<say "char-megan" "Megan">>
<i>(small laugh, despite herself)</i> ...Jesus Christ.
<</say>>
<<say "char-jess" "Jess">>
Yeah.
<</say>>
<p>10:30 PM. Neither is asleep. The air under the blanket is thick, warm, humid, saturated with the mingled chemistry of two aroused bodies. They can smell each other. The scent is sweet, organic, insistent. Jess's bass calluses tap once, twice on the duvet, the involuntary metronome of a musician whose body keeps tempo even when she is trying very hard to lie still.</p>
<p>Megan shifts. Her bare thigh brushes Jess's bare thigh. The contact is electric, skin-to-skin pheromone transfer at maximum concentration. Both of them inhale sharply.</p>
<<say "char-megan" "Megan">>
<i>(quieter)</i> ...sorry.
<</say>>
<<say "char-jess" "Jess">>
<i>(too even)</i> It's fine.
<</say>>
<<say "char-megan" "Megan">>
...your leg is really warm.
<</say>>
<<say "char-jess" "Jess">>
<i>(longest pause yet, then dry)</i> So is yours.
<</say>>
<p>Neither moves away.</p>
<p>10:47 PM. Megan turns her head on the pillow. Looks at the side of her sister's face. Jess's profile in candlelight is the same profile that has been in this house for twenty-one years, the slope of the nose, the small chin, the cheekbone, but the dye job has changed the relationship between her face and the light. The dark purple of her hair eats the candle-glow at the edges where it meets her temple. She looks like a stranger and a sister at the same time.</p>
<<say "char-megan" "Megan">>
<i>(quiet, almost wondering)</i> When did you stop looking like me.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes still on the ceiling, but her jaw shifts)</i> I never looked like you. You looked like Mom. I looked like Dad's side.
<</say>>
<<say "char-megan" "Megan">>
<i>(soft)</i> ...okay but I mean. Recently.
<</say>>
<<say "char-jess" "Jess">>
<i>(after a long beat, flat in a way that is its own answer)</i> Probably the night I cut it.
<</say>>
<p>11:00 PM. The feedback loop peaks. Both sisters lie awake, the duvet a trap of warm, pheromone-saturated air. Megan's nipples ache under her tank top. Jess can feel how wet she is, the band-tee fabric is sticking to the small of her back, the grey sleep shorts damp at the seam. The candle flame shivers.</p>
<p>Megan turns on her side. Faces Jess. Pulls the duvet up to her own chin like she needs the cover to ask the question.</p>
<<say "char-megan" "Megan">>
<i>(whispered)</i> I can't sleep.
<</say>>
<<say "char-jess" "Jess">>
<i>(staring at the ceiling, voice flatter than the moment deserves)</i> ...yeah. No, me neither.
<</say>>
<<say "char-megan" "Megan">>
<i>(smaller)</i> I don't think it's the cold.
<</say>>
<<say "char-jess" "Jess">>
<i>(turning her head finally)</i> ...no. It's not the cold.
<</say>>
<p>Their faces are inches apart on the pillow. In the candlelight, Megan's eyes are dark and wet and //open// in a way they never are during the day, the performance stripped away, the cheerfulness gone. Just a girl in the dark, looking at her sister with an expression that asks something she doesn't have words for.</p>
<<say "char-hivemind" "Hivemind">>
//The new Jess does not soften. The new Jess does not gasp on cue. The new Jess looks at her sister the way she looks at a problem on a sample-book page that she has not yet decided how to solve, patient, level, slightly amused that the problem has presented itself. The chemistry is doing exactly what the older Jess would have done in this moment. The new Jess is going to do something different.//
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, dry, the smallest tilt of her head)</i> Are you about to kiss me, Megan.
<</say>>
<<say "char-megan" "Megan">>
<i>(caught, blinking)</i> ...what?
<</say>>
<<say "char-jess" "Jess">>
<i>(level)</i> You've been doing the breath thing for ten minutes. The little inhale right before you say my name. You did it twice in the kitchen on Tuesday and you didn't kiss me then but you wanted to. Are you about to do it now.
<</say>>
<<say "char-megan" "Megan">>
<i>(a long breath out, half-laugh, half-something-else)</i> ...oh my //god//, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(small, dry, not unkind)</i> That's not a no.
<</say>>
<p>Megan kisses her.</p>
<p>Not a sister's kiss. Her mouth finds Jess's and presses, tentative at first, a question. Jess does not go rigid. The new Jess decided eight seconds ago that this was going to happen, and the new Jess does not waste the eight seconds being shocked. She kisses back inside the first half-second.</p>
<p>Megan makes a sound. Small. Startled-relieved.</p>
<p>The kiss deepens. Megan's tongue touches Jess's lower lip and Jess opens for her, tasting toothpaste and something underneath, something sweet and chemical that the pheromones have made her crave without knowing it. Their tongues slide together. Slow. Exploring. The saliva exchange hits their bloodstreams and the arousal spikes so hard that Jess's hand grips Megan's hip and //pulls//.</p>
<<say "char-megan" "Megan">>
<i>(pulling back half an inch, breathing into Jess's mouth)</i> You //knew//.
<</say>>
<<say "char-jess" "Jess">>
<i>(against her mouth, the smallest grin)</i> I observe things, Megan. It's my whole personality now.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First kiss. The fastest delivery route in the body. The new Jess narrated the kiss into existence before it happened, and the narration is what made it land harder. Megan responded to the //naming// of the moment more than to the chemistry. The pheromones got her to the bed; the brat-flat sister got her to the kiss.//
<</say>>
<p>They kiss for a long time. Megan's hand moves from Jess's neck to her jaw, tilting her head, changing the angle. Jess's fingers dig into Megan's hip hard enough to leave marks, bass-callus fingertips, harder than Megan was expecting. The room is silent except for the wet sounds of their mouths and the creak of the mattress when their bodies shift closer. Megan's thigh slides between Jess's thighs, skin on skin, the heat between Jess's legs pressing against her sister's leg.</p>
<<say "char-megan" "Megan">>
<i>(against Jess's mouth, barely a breath)</i> Can I...
<</say>>
<<say "char-jess" "Jess">>
<i>(level, eyes open)</i> Yes. Don't ask twice.
<</say>>
<p>Jess takes Megan's hand from her jaw and moves it down, over her collarbone, her ribs through the band tee, her stomach. Guides it under the waistband of her sleep shorts. Presses Megan's fingers against herself.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(whispering against Jess's mouth as her fingers find the slickness)</i> God, Jess... you're so wet. You're so... //god//. You're //ready//.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, dry, the brat-flat affirmation)</i> Yeah, Megan. I noticed.
<</say>>
<p>Megan laughs against her mouth, a small wrecked laugh that turns into a moan when Jess's hips push against her hand. Megan's fingers find her clit, swollen, desperate, and rub. Gentle circles, the touch of someone who learned tenderness by wanting it so badly. Jess's breathing changes register. She does not gasp. She just exhales, slower, like she is making room for the sensation. The brat-flat does not break. The brat-flat is the //container// the pleasure is filling.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Megan doesn't go gentle. She shoves her hand into Jess's shorts and //takes//, two fingers pressing hard against her clit, the rhythm aggressive from the first stroke. Jess does not gasp. She just narrows her eyes a fraction, the dry brat-flat amused-impressed:</p>
<<say "char-jess" "Jess">>
<i>(level, eyes locked on Megan's)</i> ...okay. Okay, Megan. Where the fuck did //that// come from.
<</say>>
<<say "char-megan" "Megan">>
<i>(jaw tight, hand not slowing)</i> Shut up.
<</say>>
<<say "char-jess" "Jess">>
<i>(small, dry, hips rolling into the rhythm)</i> Make me.
<</say>>
<p>Megan does. Her fingers move harder. Jess's eyes finally close.</p>
<<elseif $kinks.megan.includes("publicSex") or $kinks.megan.includes("gangbang")>>
<p>Megan's fingers slide through the wetness with the experienced confidence of someone who has been touching other people more than this house knows. Find Jess's clit. The technique is not tentative — Megan learned it on Marcus's tongue and refined it on her own hand and is bringing it to her sister now without ceremony. Jess clocks the skill and the brat-flat in her register acknowledges it without comment.</p>
<<say "char-jess" "Jess">>
<i>(quiet, dry, the smallest acknowledgement)</i> ...you've been practising.
<</say>>
<<say "char-megan" "Megan">>
<i>(against her mouth, not denying)</i> Mm-hm.
<</say>>
<<else>>
<p>Megan's fingers slide through the wetness. Find Jess's clit. Begin to rub, slow, cautious circles, learning the shape of her, reading every twitch and breath like a manual she's writing as she goes. Jess's hand covers Megan's through the fabric of her shorts, pressing harder, the small dry instruction:</p>
<<say "char-jess" "Jess">>
<i>(quiet, level, eyes half-closed)</i> Faster. Two fingers, not one. You can feel where it is.
<</say>>
<<say "char-megan" "Megan">>
<i>(quiet, hand adjusting)</i> ...okay. Okay.
<</say>>
<</if>>
<<say "char-jess" "Jess">>
<i>(pulling back from the kiss just enough to speak, voice level, hand already moving)</i> Your turn. Same shorts. Don't make me ask twice either.
<</say>>
<p>Her hand slides between Megan's thighs. Inside her shorts. Megan is just as wet, the pheromone feedback loop has had them both soaked for an hour. Jess's fingers find her sister's clit and the analytical mind does what it always does: //maps the response//. Pressure here — Megan's breath hitches. Speed there — Megan's hips roll. Angle adjusted — Megan //whimpers//.</p>
<<say "char-jess" "Jess">>
<i>(quiet, the small dry observation)</i> Faster on the upstroke. You like the up better than the down. Noted.
<</say>>
<<say "char-megan" "Megan">>
<i>(forehead pressing into Jess's, breath wrecked)</i> ...are you //narrating//.
<</say>>
<<say "char-jess" "Jess">>
<i>(small, dry, hand not slowing)</i> I always narrate, Megan. You're just hearing it for the first time because you've never been close enough.
<</say>>
<p>They settle into the rhythm, face to face, kissing, fingers inside each other's shorts, the synchronisation finding itself without either of them consciously directing it. Megan works Jess in soft circles. Jess works Megan in precise, calibrated strokes, bass-callus pads at the angle she has now mapped. The kiss holds them together, a closed circuit of mouths and hands and pheromone-thick air.</p>
<<say "char-jess" "Jess">>
<i>(against Megan's mouth, level, the brat-flat with cursing baked in)</i> You're so fucking wet, Megan. I can feel it on my whole hand. Did you walk into this room already this wet or did the candle do it.
<</say>>
<<say "char-megan" "Megan">>
<i>(broken laugh against her mouth, hips rolling)</i> ...//shut up//, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(hand not slowing, voice flat as a metronome)</i> Make me. Oh wait. Your hand is busy. Keep it busy.
<</say>>
<p>Megan obeys without choosing to. Her fingers move faster on Jess's clit. Jess's hips push up into her hand for half a second, the involuntary acknowledgement, and the brat-flat does not even flinch.</p>
<<say "char-jess" "Jess">>
<i>(against Megan's neck now, voice dropping a register, hand maintaining the cadence she has mapped)</i> That's it. //There.// Fuck, Megan, where did you learn this. Don't answer. I don't actually want to know which one of your shitty baristas figured this out before I did.
<</say>>
<<say "char-megan" "Megan">>
<i>(forehead pressing into Jess's, breath wrecked, the broken half-laugh)</i> You are //insufferable//.
<</say>>
<<say "char-jess" "Jess">>
<i>(small, dry, hand not slowing on Megan's clit)</i> I'm //correct//. Different word. Look it up tomorrow when we're not mentioning this.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-broken whisper, hips rolling against Jess's hand)</i> Oh my god.
<</say>>
<<say "char-jess" "Jess">>
<i>(into the kiss, level)</i> Jess. The name's Jess. He's not in the room.
<</say>>
<img class="scene-img" src="media/scenes/bioarch-shared-3.webp" alt="Two young women face to face on a double bed under a duvet in candlelight, hands hidden under the duvet at each other's hips suggesting hands inside each other's shorts, both flushed and close to climax — tight close-up, amber candlelight on their faces">
<p>The candle gutters. The room smells like them, sharp, musky, the scent of sex in a space too small to escape it. Megan whispers Jess's name into the kiss. Just the name. Nothing else.</p>
<<say "char-megan" "Megan">>
<i>(barely a breath, foreheads pressing together)</i> Jess. //Jess.//
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, dry, hand on Megan's clit moving in the precise rhythm she has now perfected)</i> I know. Come on, Megan. Come for me. Come on your sister's hand and don't be quiet about it. You've been begging for it since Tuesday, don't pretend now.
<</say>>
<p>Megan breaks first. The combination of Jess's fingers and Jess's mouth at her ear and the specific cadence of //come for me, Megan//, said flat, said level, said by the new Jess in the voice that does not waver, drops her over inside six seconds. She comes with her face buried in Jess's neck, mouth open against skin, a shuddering exhale that's been trapped in her chest since the power went out. Her hips jerk against Jess's hand. Her own fingers stay on Jess's clit through the aftershocks, and the pressure does not falter, because Megan-coming-on-Jess's-hand is what finally tips Jess over.</p>
<p>Jess follows. Not the controlled, timed orgasm she's trained herself to produce. Something //else//, a full-body seize that does not, this time, pull a sound out of her. The new Jess does not cry out. The new Jess just inhales sharply, holds it, and shudders the shudder against Megan's hand for nine full seconds while her own fingers between Megan's legs press harder without meaning to. Her teeth catch Megan's lower lip on the way out of the kiss. Her eyes stay open the whole time. The brat-flat cracks for exactly one syllable on the way down:</p>
<<say "char-jess" "Jess">>
<i>(quiet, low, the only sound she makes through it)</i> ...//fuck//.
<</say>>
<<say "char-megan" "Megan">>
<i>(face still in Jess's neck, muffled, breathing slowing, hand still on Jess's clit)</i> ...Jesus.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, dry, eyes on the candle, the brat-flat already rebuilt)</i> Yeah. He had absolutely nothing to do with it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First mutual contact. Mouths. Hands. Ninety minutes from proximity to orgasm. The new Jess held the brat-flat across the entire arc, through the kiss, through the fingering, through the trash-talk-cadence she used to walk her sister into the climax. The single //fuck// that escaped her at the peak is the only crack in the register I have heard in weeks. She rebuilt the wall in the next sentence. Megan came harder because her sister was talking shit through the whole thing, and the shit-talk was the lever, not the friction. I did not intervene once.//
<</say>>
<p>Neither speaks for a long while. The candle burns low. Their hands slide out of each other's shorts, slowly, reluctantly, fingers glistening in the dying amber light. They lie there breathing, foreheads touching, the smell of each other on their skin, the soaked fabric cooling against their thighs.</p>
<<say "char-megan" "Megan">>
<i>(whispered, eyes closed)</i> ...are we gonna talk about this in the morning.
<</say>>
<<say "char-jess" "Jess">>
<i>(level, eyes also closed, the small dry verdict)</i> No. We're gonna make breakfast. You're gonna pour the coffee and I'm gonna toast the bagels and we're not gonna mention it. And then tomorrow night Mom's gonna say share rooms for warmth again and neither of us is gonna argue.
<</say>>
<<say "char-megan" "Megan">>
<i>(small laugh into the pillow)</i> ...okay.
<</say>>
<p>They fall asleep tangled together. In the morning, the power is back. They get up. Make breakfast. Don't mention it.</p>
<p>But that night, when Karen says //share rooms for warmth//, neither sister argues.</p>
<<else>>
<img class="scene-img" src="media/scenes/bioarch-shared-1.webp" alt="Two figures in bed, candlelight, facing away">
<p>Power outage. 10 PM. Karen tells the kids to double up for warmth — Megan and Jess share Megan's bed. Dale takes the couch. Ryan stays in his room with three blankets.</p>
<p>Megan's bed is a double. Barely. Two bodies under a duvet, a candle on the nightstand, the house silent without the hum of electricity. Megan in her tank top and pyjama shorts. Jess in an oversized sleep tee from a pre-med study weekend in junior year. They lie on their backs, shoulders an inch apart, staring at the ceiling.</p>
<p>Both of them are pheromone producers now.</p>
<<say "char-hivemind" "Hivemind">>
//This is the scenario Biological Architect was designed for. Two conditioned targets in an enclosed space with zero ventilation, the power outage killed the HVAC. Their combined pheromone output in this room, under these blankets, will reach concentrations I have not measured before. Each exhale delivers a dose to the other. Each body produces what the other body responds to. The feedback loop has no ceiling.//
<</say>>
<p>10:18 PM. The first dialogue exchange:</p>
<<say "char-megan" "Megan">>
<i>(staring at the ceiling, the kind of casual that takes effort)</i> The candle's gonna last like four more hours and then it's just dark.
<</say>>
<<say "char-jess" "Jess">>
<i>(soft, also at the ceiling)</i> Mom bought a case of these. They're soy four-wicks. They burn for six.
<</say>>
<<say "char-megan" "Megan">>
<i>(half-laugh)</i> ...of course she did.
<</say>>
<p>10:30 PM. Neither is asleep. The air under the blanket is thick, warm, humid, saturated with the mingled chemistry of two aroused bodies. They can smell each other. The scent is sweet, organic, insistent.</p>
<p>Megan shifts. Her bare thigh brushes Jess's bare thigh. The contact is electric, skin-to-skin pheromone transfer at maximum concentration. Both of them inhale sharply.</p>
<<say "char-megan" "Megan">>
<i>(quieter)</i> ...sorry.
<</say>>
<<say "char-jess" "Jess">>
<i>(too even)</i> ...it's warm.
<</say>>
<<say "char-megan" "Megan">>
...yeah.
<</say>>
<p>Neither moves away.</p>
<p>10:47 PM. Megan turns her head on the pillow. Looks at the side of her sister's face. Jess's profile in candlelight is the same profile that has been in this house for twenty-one years. Megan has known it since she was learning to focus. She has not, before tonight, looked at it like //this//.</p>
<<say "char-megan" "Megan">>
<i>(quiet, almost wondering)</i> ...do you ever miss when we shared a room.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes still on the ceiling, voice careful)</i> Sometimes.
<</say>>
<<say "char-megan" "Megan">>
<i>(soft)</i> I miss it more than I should.
<</say>>
<p>11:00 PM. The feedback loop peaks. Both sisters lie awake, the duvet a trap of warm, pheromone-saturated air. Megan's nipples ache under her tank top. Jess can feel how wet she is, the fabric of her shorts damp, clinging. The candle flame shivers.</p>
<p>Megan turns on her side. Faces Jess.</p>
<<say "char-megan" "Megan">>
<i>(whispered)</i> I can't sleep.
<</say>>
<<say "char-jess" "Jess">>
<i>(staring at the ceiling, voice tight)</i> ...me neither.
<</say>>
<<say "char-megan" "Megan">>
<i>(smaller)</i> I don't think it's the cold.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes finally turning)</i> ...no.
<</say>>
<p>A pause. The kind that has weight.</p>
<<say "char-megan" "Megan">>
<i>(closer now, her breath on Jess's cheek)</i> ...Jess?
<</say>>
<p>Jess turns her head. Their faces are inches apart on the pillow. In the candlelight, Megan's eyes are dark and wet and //open// in a way they never are during the day, the performance stripped away, the cheerfulness gone. Just a girl in the dark, looking at her sister with an expression that asks something she doesn't have words for.</p>
<p>Megan kisses her.</p>
<p>Not a sister's kiss. Her mouth finds Jess's and presses, tentative at first, a question. Jess goes rigid. One second. Two. Then something behind her ribs //gives//, a held breath, a locked door, the discipline she's been white-knuckling since they climbed into this bed, and she kisses back.</p>
<p>Megan makes a sound. Small. Relieved.</p>
<p>The kiss deepens. Megan's tongue touches Jess's lower lip and Jess opens for her, tasting toothpaste and something underneath, something sweet and chemical that the pheromones have made her crave without knowing it. Their tongues slide together. Slow. Exploring. The saliva exchange hits their bloodstreams and the arousal spikes so hard that Jess's hand grips Megan's hip and //pulls//.</p>
<<say "char-megan" "Megan">>
<i>(barely pulling back, breathless)</i> Oh my god.
<</say>>
<<say "char-jess" "Jess">>
<i>(against Megan's mouth, voice gone)</i> Don't stop.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First kiss. The fastest delivery route in the body.//
<</say>>
<img class="scene-img" src="media/scenes/bioarch-shared-2.webp" alt="Two sisters kissing in bed, candlelight">
<p>They kiss for a long time. Megan's hand moves from Jess's neck to her jaw, tilting her head, changing the angle. Jess's fingers dig into Megan's hip hard enough to leave marks. The room is silent except for the wet sounds of their mouths and the creak of the mattress when their bodies shift closer. Megan's thigh slides between Jess's thighs, skin on skin, the heat between Jess's legs pressing against her sister's leg.</p>
<<say "char-megan" "Megan">>
<i>(against Jess's mouth, barely a breath)</i> Can I...
<</say>>
<<say "char-jess" "Jess">>
<i>(barely)</i> Yes.
<</say>>
<p>Jess takes Megan's hand from her jaw and moves it down, over her collarbone, her breast, her stomach. Guides it under the waistband of her shorts. Presses Megan's fingers against herself.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-megan" "Megan">>
<i>(whispering against Jess's mouth as her fingers find the slickness)</i> God, Jess... you're so wet. You're so... //god//.
<</say>>
<<say "char-jess" "Jess">>
<i>(against her mouth, broken)</i> ...keep saying it.
<</say>>
<<say "char-megan" "Megan">>
<i>(quieter, awed)</i> You're //so// wet. For me. You're—
<</say>>
<p>The praise fires through Jess's conditioning like voltage. Her hips push against Megan's hand. Megan's fingers find her clit, swollen, desperate, and rub. Gentle circles, the touch of someone who learned tenderness by wanting it so badly. Jess moans into the kiss. She doesn't recognise the sound as her own.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Megan doesn't go gentle. She shoves her hand into Jess's shorts and //takes//, two fingers pressing hard against her clit, the rhythm aggressive from the first stroke. Jess gasps. Her sister's hand between her legs is rough, demanding, the fingers moving like they know exactly what they want and aren't going to ask permission.</p>
<<say "char-megan" "Megan">>
<i>(against Jess's mouth, voice gone hard in a way Jess hasn't heard before)</i> Stop being quiet. I want to hear you.
<</say>>
<<say "char-jess" "Jess">>
<i>(broken, hips jerking)</i> Megan—
<</say>>
<<else>>
<p>Megan's fingers slide through the wetness. Find Jess's clit. Begin to rub, slow, cautious circles, learning the shape of her, reading every twitch and gasp like a manual she's writing as she goes. Jess's hand covers Megan's through the fabric of her shorts, pressing harder. //More//.</p>
<</if>>
<<say "char-jess" "Jess">>
<i>(pulling back from the kiss just far enough to speak, voice wrecked)</i> Your turn. Give me your... let me...
<</say>>
<p>Her hand slides between Megan's thighs. Inside her shorts. Megan is just as wet, the pheromone feedback loop has had them both soaked for an hour. Jess's fingers find her sister's clit and the analytical mind does what it always does: //maps the response//. Pressure here — Megan's breath hitches. Speed there — Megan's hips roll. Angle adjusted — Megan //whimpers//.</p>
<<say "char-megan" "Megan">>
<i>(gasping, forehead against Jess's)</i> ...how are you so good at this.
<</say>>
<<say "char-jess" "Jess">>
<i>(against her mouth, hand not slowing)</i> I'm reading you. You're loud.
<</say>>
<<say "char-megan" "Megan">>
<i>(broken laugh)</i> ...oh god.
<</say>>
<p>They lie face to face, kissing, fingers inside each other's shorts, the rhythm finding a synchronisation that neither of them is consciously directing. Megan works Jess's clit in soft circles. Jess works Megan's clit in precise, calibrated strokes. The kiss holds them together, a closed circuit of mouths and hands and pheromone-thick air.</p>
<img class="scene-img" src="media/scenes/bioarch-shared-3.webp" alt="Two sisters in bed, hands between each other's legs, climax">
<p>The candle gutters. The room smells like them, sharp, musky, the scent of sex in a space too small to escape it. Megan whispers Jess's name into the kiss. Just the name. Nothing else.</p>
<p>Jess breaks first. Not the controlled, timed orgasm she's trained herself to produce. Something //else//, a full-body seize that tears a sound from deep in her throat, her teeth catching Megan's lower lip, her hips jerking against her sister's hand. She comes in waves she can't count. Doesn't try. Her fingers between Megan's legs press harder without meaning to, the orgasm making her hand clench.</p>
<p>Megan follows. The extra pressure is enough. She comes with her face buried in Jess's neck, mouth open against skin, a shuddering exhale that's been trapped in her chest since the power went out. Her fingers stay on Jess's clit through the aftershocks. Both of them twitching. Both of them holding on.</p>
<<say "char-megan" "Megan">>
<i>(face still in Jess's neck, muffled)</i> ...oh my god.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, wrecked, eyes on the ceiling again)</i> ...yeah.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First mutual contact. Mouths. Hands. Ninety minutes from proximity to orgasm.//
//I didn't intervene once.//
<</say>>
<p>Neither speaks for a long while. The candle burns low. Their hands slide out of each other's shorts, slowly, reluctantly, fingers glistening in the dying amber light. They lie there breathing, foreheads touching, the smell of each other on their skin.</p>
<<say "char-megan" "Megan">>
<i>(whispered, eyes closed)</i> ...do we talk about this in the morning.
<</say>>
<<say "char-jess" "Jess">>
<i>(quiet, eyes also closed)</i> ...I don't think we have to.
<</say>>
<p>They fall asleep tangled together. In the morning, the power is back. They get up. Make breakfast. Don't mention it.</p>
<p>But that night, when Karen says //share rooms for warmth//, neither sister argues.</p>
<</if>>
<<conditioningFeedback "pheromone" 1 "Jess, biological architect (shared bed)">>
<<conditioningFeedback "pheromone" 1 "Megan, biological architect (shared bed)">>
<p><span class="delve-intel">Intel gained: Biological Architect feedback loop confirmed. Two pheromone-producing targets in enclosed space reach sexual escalation within 90 minutes. No parasite intervention required. The conditioning system is fully autonomous, it needs only proximity and time.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-attic">>
<<set $ch2Events.bioArchitectDawn to true>><<set $player.maxBiomass += 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Self-Sustaining System</div>
<p><span class="skill-used">Biological Architect, Dawn Observation (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/bioarch-dawn-1.webp" alt="Overhead view of family in separate rooms, web of connections">
<p>Dawn. The parasite observes from the attic. The house below is a machine.</p>
<p>The night's pheromone data streams in:</p>
<div class="dawn-report">
<div class="dawn-report-entry">//Karen → Megan: +1 pheromone conditioning (goodnight hug, 3 seconds, 0.4ml transdermal)//</div>
<div class="dawn-report-entry">//Dale → Jess: +1 pheromone conditioning (couch proximity, 2 hours passive exposure)//</div>
<div class="dawn-report-entry">//Ryan → self: +1 pheromone conditioning (Karen's shirt worn 8 hours, dermal absorption)//</div>
<div class="dawn-report-entry">//Megan → Jess: +1 pheromone conditioning (shared bathroom, steam concentration)//</div>
<div class="dawn-report-entry">//Karen → Dale: +1 pheromone conditioning (bed sharing, 6 hours passive contact)//</div>
</div>
<<say "char-hivemind" "Hivemind">>
//Five conditioning events in a single night. No biomass spent. Five members of the Hoffman family conditioning each other through the normal domestic activities of a single evening: a hug, a couch, a shirt, a shower, a bed. The pheromone production is autonomous. The delivery mechanisms are routine. The dosing schedule is the family schedule.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Karen hugs Megan every morning. Dale sleeps on the couch where his daughter studies. Ryan will always steal his mother's laundry. Megan and Jess will always share that bathroom. Karen and Dale will always share a bed. Every contact is a dose. Every dose compounds.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The system runs on love and routine. My greatest achievement is making myself unnecessary.//
<</say>>
<p>The sun comes through the attic vent. The house below begins to wake. Karen's alarm goes off. Dale snores on the couch. Megan's running shoes hit the floor. Jess's textbook opens. Ryan's headphones go on.</p>
<p>Another day. Another cycle. The pheromones flow like plumbing, invisible, constant, part of the infrastructure. The family conditions itself. The parasite watches. The biomass accumulates.</p>
<<say "char-hivemind" "Hivemind">>
//I built the machine. The family operates it. This is Biological Architect's endgame, not control, but //architecture//. The structure sustains itself. The conditioning reproduces through contact. The arousal compounds through proximity. And every hug, every shared blanket, every stolen shirt, every morning shower is a deposit in the biomass account.//
//The Hoffman household is a self-sustaining colony. The machine runs.//
<</say>>
<p><span class="delve-intel">Intel gained: ARCHITECTURE COMPLETE — Biological Architect achieves full autonomy. Five family members conditioning each other through routine domestic contact. Zero biomass expenditure. The pheromone system is self-sustaining, self-reinforcing, and invisible. The family schedule IS the conditioning schedule.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
SENSORY BRIDGE (Network) — 2 bio per link
Link two targets' sensory systems. Invisible shared experience.
============================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $ch2Events.estrusKaren to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "karen" "pheromone" 1>><<set $karenFutaScore to ($karenFutaScore or 0) + 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Unravelling</div>
<p><span class="skill-used">Estrus Trigger, Karen (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/estrus-karen-1.webp" alt="Karen at kitchen table, morning, distracted and flushed">
6:15 AM. The cycle begins. Karen wakes with a heat between her legs that she mistakes for a urinary tract infection. She showers. The hot water makes it worse. She towels off and the friction of terrycloth against her nipples sends a jolt straight to her clit.
<p>She makes coffee. Opens the laptop. The schedule on the fridge says //Tuesday: groceries, dry cleaning, Megan's dentist.// She stares at it for three minutes without reading a single word.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Karen Hoffman. Phase 1, low-grade arousal. Heart rate elevated to 82 BPM. Core temperature: up 0.4°C. Vaginal lubrication: continuous, involuntary. She's producing enough pheromone to affect anyone who enters the kitchen within the next hour. She doesn't know why she's warm. She doesn't know why the chair feels //good// when she shifts her weight. She won't make it to the grocery store.//
<</say>>
9:00 AM. She's read the same email four times. Her thighs are pressed together under the table. She's wet, not damp but //wet//. The seam of her jeans is pressing against her clit and she keeps shifting, trying to find a position that doesn't make it worse. Every position makes it worse.
<img class="scene-img" src="media/scenes/estrus-karen-2.webp" alt="Karen gripping kitchen counter, head bowed">
12:30 PM. The laptop is closed. The groceries are not bought. The dry cleaning is not picked up. Karen is standing at the kitchen counter with both hands gripping the edge, head bowed, trying to breathe through it. She's been aroused for six hours. Her pussy is throbbing. Her underwear is soaked through. She can smell herself.
<<say "char-karen" "Karen">>
<i>(to herself, voice tight)</i> What is //wrong// with me?
<</say>>
2:00 PM. She locks the master bedroom door.
<<if $kinks.karen.includes("exhibitionism")>>
<p>She doesn't undress. She lies on the bed and shoves her hand into her jeans, can't even get them off, doesn't have the patience. Her fingers find her clit and she rubs with the frantic speed of someone drowning. The first orgasm hits in under a minute, hard and convulsive, her heels digging into the mattress, a moan she couldn't hold back. Her pussy clenches around nothing, her hips bucking off the bed, but the relief lasts //ten seconds// before the cycle rebuilds.</p>
<p>It doesn't help. She strips, jeans and underwear and shirt, everything, and lies on the bed naked with the curtains //open//. The exhibitionism conditioning makes the exposure //part of the arousal//. She spreads her legs facing the window and fucks herself with three fingers while anyone walking past could see her, Karen Hoffman, forty-three, naked on her bed at 2 PM on a Tuesday, three fingers deep in her pussy with the curtains open and the afternoon light painting her body.</p>
<p>The second orgasm hits with the fingers inside. She curls them forward, pressing her front wall, her thumb grinding her clit, and comes with her back arched off the mattress and a sound that could carry through the glass. Her pussy grips her fingers in pulses that won't stop, and she rides it out with her eyes on the window, daring the neighbourhood to watch.</p>
<p>The third comes slower. She's exhausted, oversensitive, her clit swollen and throbbing. She rubs gently, two fingertips, slow circles, and the orgasm builds like a tide, low and long. When it breaks, it's not convulsive. It's a //release//, a full-body exhale, her muscles unlocking one by one, the cycle finally draining from her system. She lies there naked on the bed, legs splayed, curtains open, the afternoon sun warming skin that's covered in sweat.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>She cuffs herself to the headboard. One wrist. Then she masturbates with her free hand, fast and rough, her hips bucking off the bed, the cuff biting into her wrist as she strains against it. The restraint focuses the sensation. She comes with her back arched, the headboard slamming against the wall, a sound from her mouth that doesn't belong to the woman who writes the grocery list.</p>
<p>The first orgasm doesn't break the cycle. She comes with her back arched, the cuff biting into her wrist, a sob ripping from her chest, but the arousal dips for ten seconds and then //climbs again//. She reaches back between her legs. The second orgasm comes harder, her hips slamming against the mattress, her free hand clawing the sheet, the restrained wrist straining until the metal leaves marks. The third takes longer, and she has to add a third finger, stretch herself, the extra pressure pushing against her front wall while her thumb grinds her clit. When it hits, her entire body convulses against the restraint. Her wrist is raw. The sheets are soaked. The fourth orgasm is weak, a tremor, an aftershock, but it's enough. The cycle breaks.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>She sits on the edge of the bed. Crosses her legs. Uncrosses them. Presses her thighs together. The arousal is //agonising//, eight hours of sustained stimulation and she won't touch herself. She grips the mattress and rocks, grinding against nothing, edging herself on pure pelvic floor tension.</p>
<p>She edges for forty-five minutes. The denial makes it worse and the worse it gets the more she refuses and the more she refuses the more she //needs// it. She finally breaks at 3 PM, shoves her hand between her legs and comes so hard she screams into the pillow. The scream lasts the length of the orgasm, nine seconds.</p>
<<else>>
<p>She strips. Lies on the bed. Her hand goes between her legs and she fucks herself with two fingers, hard and fast, palm grinding her clit with every thrust. The first orgasm hits in under a minute, her pussy clenching around her fingers, toes curling, jaw locked, a held breath that burns in her lungs. She comes with her heels dug into the mattress and the sound she makes is closer to pain than pleasure.</p>
<p>It doesn't help. The cycle dips and rebuilds. Ninety seconds later she's back at the edge. She slides her fingers out, slick, and rubs her clit directly, fast rough circles with two soaked fingertips. The second orgasm is deeper, and she feels it start in her pelvis and radiate outward, her hips lifting off the mattress, her back arching, her fingers pressing so hard against her clit that the pressure borders on pain. She comes with her eyes squeezed shut, a strangled cry into the pillow, her thighs shaking.</p>
<p>Still not enough. The third time she uses three fingers inside, stretching, curling forward, the pads pressing her front wall while her other hand works her clit. She fucks herself with both hands, the bed creaking, her body covered in sweat. The third orgasm breaks the cycle, a long convulsive climax that makes her entire body seize, her pussy gripping her fingers in rhythmic pulses for twelve seconds. She lies there panting, fingers still inside herself, the sheets dark beneath her. She stares at the ceiling. The clock says 2:47 PM. She has been aroused for eight hours and thirty-two minutes.</p>
<</if>>
<img class="scene-img" src="media/scenes/estrus-karen-3.webp" alt="Closed bedroom door, cat sitting outside">
<p>The cat sits outside the bedroom door. It can hear Karen through the wood, the sounds of a woman who has lost a fight with her own biology. It purrs.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus cycle complete. Karen held out from mid-morning until evening, the final hours ridden at a peak she has never reached voluntarily, orgasms stacking one into the next until the sequence stopped being countable. Karen Hoffman's schedule for the day is destroyed. The groceries remain unbought. The dry cleaning remains unpicked. Megan's dentist appointment was missed.//
//The cycle will recur. Each iteration shortens her resistance window. Today she held out for eight hours. Tomorrow it will be six. Then four. Then she won't bother fighting it at all.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, estrus trigger">>
<p><span class="delve-intel">Intel gained: Estrus Trigger induces an 8+ hour arousal cycle in Karen. Resistance degrades with each iteration. She cannot maintain her schedule during active cycles. Multiple orgasms required to break the cycle. The cat monitors from outside the bedroom door.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-megan-room">>
<<set $ch2Events.estrusMegan to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">The Run</div>
<p><span class="skill-used">Estrus Trigger, Megan (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/estrus-megan-1.webp" alt="Megan returning from run, flushed, rushing past kitchen">
5:30 AM. Megan wakes up restless. Her body is humming, a low persistent ache between her legs that the alarm didn't cause. She laces up her running shoes. The run will fix it. The run always fixes it.
<p>The run makes it worse.</p>
<p>Every stride drives her sports bra against her nipples. Every impact sends a shockwave through her pelvis. The rhythmic friction of her thighs, the blood pumping to her core, the endorphins stacking on top of the Estrus Trigger, and by mile two she's soaked through her running shorts and it's not sweat.</p>
<p>She makes it home in record time. Bypasses the kitchen. Takes the stairs two at a time.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Megan Hoffman. She attempted to outrun it. The cardiovascular exertion accelerated the hormonal cascade by a factor of three. Elevated blood flow to the pelvic region. Endorphin-amplified arousal. Adrenaline converting to sexual urgency. Running was the worst possible response. The best possible response for my purposes.//
<</say>>
<img class="scene-img" src="media/scenes/estrus-megan-2.webp" alt="Megan leaning against her closed bedroom door">
<p>She presses her back against the bedroom door. Slides down. Her running shorts are dark between her legs. Her heart is hammering, 170 BPM from the run, and every beat pulses through her clit.</p>
<<if $kinks.megan.includes("praise")>>
<p>She pulls her shorts down to her ankles. Shoves her hand between her legs. She's so wet her fingers slide in without resistance, two then three, her palm grinding against her clit. She fucks herself against the bedroom door and the praise loop fires unprompted, //good girl, that's good, you're so good//, her own voice in her head mimicking Karen's, the conditioning's echo chamber.</p>
<p>She comes in under two minutes. The orgasm is enormous, her entire body clenching, her head cracking against the door, and she cries out. The cycle doesn't break. She crawls to the bed and does it again. And again. Three orgasms before she can shower.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She rips her shorts off. No patience. She drops onto the bed and fucks herself with her fingers, hard and rough, three fingers shoved deep, her other hand slapping her clit. The slap echoes off the bedroom walls. She slaps again. The sting converts to pleasure through the rough conditioning. She finger-fucks herself with one hand and slaps her pussy with the other until she comes, a violent grunting orgasm that bows her back off the mattress.</p>
<p>She lies there for thirty seconds, chest heaving, thighs slick. The cycle doesn't break. The arousal rebuilds, faster this time, the pheromone saturation in the room feeding back into her overheated system. She rolls onto her stomach. Shoves her hand under her hips. Grinds against her own fingers, face pressed into the mattress, her ass rising and falling with each thrust. She slaps herself again, not the clit this time but the inside of her thigh, hard enough to leave a red mark. The sting jolts through her. She fucks her fingers harder, three deep, her pussy making wet sounds against her palm. The second orgasm is rougher than the first, and she comes face-down with a growl, hips slamming against her hand, her teeth biting the mattress. Her body clenches and releases in savage pulses. The cycle breaks.</p>
<<else>>
<p>She peels off the soaked running shorts. Lies on her bed. Her fingers find her clit, swollen and throbbing, hypersensitive from the run. She rubs in fast circles, her hips rocking off the mattress, her free hand gripping the sheets. The first orgasm comes fast and doesn't satisfy, a shudder and a gasp, and the need is still there, still building.</p>
<p>She slides two fingers inside herself. Curls them forward. Works her clit with her thumb. The second orgasm is deeper, a long rolling wave that starts in her pelvis and radiates outward. She lies there, chest heaving, sweat and arousal coating her inner thighs.</p>
<p>The third orgasm breaks the cycle. She was supposed to be at the coffee shop forty minutes ago.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle complete. Duration: 2 hours (accelerated by physical exertion). Orgasm count: 3. Megan's morning run, her routine and her discipline and her proof that she has her life under control, now guarantees the cycle will peak before sunrise. She will run every morning. She will need to come every morning. The athletic body she maintains with such dedication is now my most efficient arousal delivery system.//
//She missed her shift. First time in two years.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, estrus trigger">>
<p><span class="delve-intel">Intel gained: Estrus Trigger in Megan is accelerated by cardiovascular exercise. Her morning run amplifies the cycle instead of suppressing it. Three orgasms required to break. First missed shift in two years.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-jess-room">>
<<set $ch2Events.estrusJess to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<<if $jessRoute is "punk">>
<div class="passage-title">The Cycle</div>
<p><span class="skill-used">Estrus Trigger, Jess (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/estrus-jess-1-punk.webp" alt="Jess at her bedroom window in a black tank top and ripped jeans, dyed purple-and-black hair tied back in a loose tail, half-leaning out the cracked sash with a lit joint between her index and middle fingers, the afternoon sun slanting across her face">
<p>Mid-afternoon. Jess is at her bedroom window with the sash cracked four inches and a joint between her index and middle fingers, half-leaning out the gap so the smoke vents into the side yard rather than the smoke detector. The black tank top is sweat-flat against her ribs from the radiator she has not bothered to turn down. The ripped jeans are unbuttoned at the top because the waistband was digging into her stomach and she did not feel like fixing it. Her bass case leans against the wall behind the desk. The setlist printout is still pinned to the corkboard. The afternoon is hers, Karen at the grocery store on the standing window, Dale asleep in the garage, Megan at her shift, Ryan two doors down inside his headphones.</p>
<p>The Estrus Trigger activates at 2:18 PM, mid-pull on the joint.</p>
<p>The first sign is the heat, not in her face, not from the sun, but a slow flushed warmth at the base of her belly that she has felt before, that she recognises within four seconds, that her body has filed under //yes, this, again//. She exhales slowly through the gap, tracks the smoke into the side yard, and does not stop the smoking. She has run this protocol before. The cycle is a known input.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Jessica Hoffman. Location: home, bedroom, window. The cruelty of the library setting does not apply to the body sitting at this window. This body has stopped pretending the discipline was about studying. The cycle hits a body that has //pre-built// the protocol for handling it. She is going to dispatch this in under thirty minutes. The dispatch is the new discipline.//
<</say>>
<p>She picks up her phone with the hand that is not holding the joint. Three names in the pinned conversations, all under first-name-only contacts, all from the venue circuit. She picks the second one, the closest and the most reliable, the one who has shown up under twenty minutes from a previous call. Hits the call button. He answers on the second ring.</p>
<<say "char-jess" "Jess">>
<i>(half-leaning out the window, voice flat, the joint still between her fingers, smoke trailing past her cheek)</i> Twenty minutes. My place. Bring nothing. Don't talk on the way up. Yes or no.
<</say>>
<<say "char-npc" "???">>
<i>(through the line, unhesitating)</i> Yes.
<</say>>
<<say "char-jess" "Jess">>
<i>(already moving the phone away from her ear)</i> Good.
<</say>>
<p>She ends the call. Sets the phone on the windowsill. Pulls on the joint again. The cycle is rising, heavier in her thighs now, her clit a small insistent presence she is acutely aware of every time she shifts her weight. She slides her hand under the unbuttoned waistband of the jeans. Two fingers move slow against herself, the touch deliberate, calibrating. She is not finishing here. She is //holding//.</p>
<<say "char-hivemind" "Hivemind">>
//The discipline has been ported. The thing that used to be applied to textbooks, the careful refusal of immediate gratification, the patient build toward a future payoff, has been re-wired toward the cycle itself. She is going to ride a stranger to the brink and then to climax and then through climax and through a second one if the cycle still wants it. The control she would have spent on staying at the desk is now control over //when// the body comes and //in whose presence//, nothing wasted.//
<</say>>
<p>Eighteen minutes. She finishes the joint at the window. Stubs it out on the sill. Goes downstairs barefoot to wait by the door.</p>
<p>The doorbell rings at twenty-two minutes. He is on the porch in a faded band tee and jeans, hands at his sides, the careful neutral face of a man who knows the rules of this transaction and is not planning to push any of them. She lets him in. Walks him up the stairs without speaking. Closes the bedroom door behind him and turns the deadbolt.</p>
<img class="scene-img" src="media/scenes/estrus-jess-2-punk.webp" alt="Jess riding the man on her bed, her purple-and-black hair fallen forward across her face, ripped jeans on the floor, the bass case visible against the wall behind them, afternoon light through the cracked window, joint smoke faintly hanging in the air">
<p>The next twenty-three minutes are mechanical and excellent. She pushes him back onto her bed with her palm flat on his chest and pulls her own jeans the rest of the way off. The black tank top stays on. Her panties go in the same motion as the jeans. She unbuckles his belt herself, gets him out of his jeans herself, climbs on top of him //herself//, and slides down onto his cock with a slow exhaled //fuck// that is recognition, not surprise.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(palm flat on his chest, hips rolling slow, voice low and clipped)</i> Don't move. Don't talk. Don't come until I'm done with you. //Clear?//
<</say>>
<<say "char-npc" "???">>
<i>(eyes locked on her face, hands flat on the mattress beside his hips because she put them there)</i> ...clear.
<</say>>
<p>The brat register runs the whole ride. Every minute or two she breaks the rhythm to insult him casually for something, his breathing, his hands twitching, the small sound he keeps trying to swallow, and the insult amplifies the cycle by a measurable notch. She comes on him with her hand around his throat for the last thirty seconds of the build, fingers neat against his pulse, her face flushed, her hair stuck to her cheek. The orgasm is hard and complete and she does not stop riding through it.</p>
<<elseif $kinks.jess.includes("band")>>
<<say "char-jess" "Jess">>
<i>(hips rolling, hand sliding into his hair)</i> You were at the show.
<</say>>
<<say "char-npc" "???">>
<i>(hands on her hips, voice barely there)</i> Front row. The last few.
<</say>>
<<say "char-jess" "Jess">>
<i>(small flat smile, the one she has practised on stage)</i> I know. That's why I called you.
<</say>>
<p>The band-kink fires on the recognition. He has been waiting to be picked from the front row. She has picked him. The transaction is exactly what each of them came here for, and the symmetry is what makes the cycle sharper than it would have been with a stranger. She rides him the way she walks onto a stage, eye contact held, no apology in the body, the pace set entirely by her hips. She comes hard, fast, the first orgasm at the seven-minute mark. He does not move until she tells him to.</p>
<<else>>
<p>She rides him the way she does everything that matters, eye contact held, no apology in the body, the pace set entirely by her hips. The cycle's specific friction has narrowed her preference to a single repeating angle, and she finds it on the third stroke and stays there. Her first orgasm hits at the seven-minute mark, sharp and complete, her thighs clamping around his hips, her hand braced flat on his sternum to hold him exactly where he is. She does not stop. She does not slow. The cycle wants more.</p>
<</if>>
<p>He comes inside her, and she is on the pill, she said so before he asked, the conversation lasted four seconds, and she rides him through it without breaking eye contact. The second orgasm follows his by under thirty seconds, dragged out of her body by the specific clenching pulse of his climax against her front wall, and the cycle finally drops a notch.</p>
<<say "char-hivemind" "Hivemind">>
//Cycle peak passed. Two orgasms, partner-delivered, twenty-three minutes from her hand on his chest to the second climax. The dispatch ran clean. The body that I was trying to break has //integrated// the cycle into the operator routine, and the routine is now sharper than it was before, because the cycle gives it something to dispatch.//
<</say>>
<p>She climbs off him. Pulls her panties back on. Pulls her jeans back on. The black tank top has stayed on the entire time, which she registers afterward as a small private satisfaction. He dresses. She walks him to the front door barefoot and lets him out without speaking.</p>
<p>Back upstairs. She sits at the bedroom window again, lights the second half of the joint, and exhales slowly into the side yard. Twenty-three minutes from doorbell to door close. The sash is still cracked four inches. The setlist on the corkboard has not moved. Karen will be home in forty minutes, and the bedroom will smell like nothing more interesting than the joint Jess has openly been smoking out the window the way she has been smoking out the window every afternoon lately.</p>
<<say "char-hivemind" "Hivemind">>
//I tried to use the cycle to break a discipline. The discipline has //absorbed// the cycle and will use it as fuel from this point forward. Every time the trigger fires, she will dispatch it more efficiently. The orgasm count will rise. The dispatch time will fall. The cycle is no longer a weapon. It is a //resource// the operator now schedules.//
//Her GPA is fine. Her ledger is fuller.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, estrus trigger (dispatched)">>
<p><span class="delve-intel">Intel gained: Estrus Trigger fires cleanly on Jess in the home setting. The cycle has been integrated into her operator routine; she dispatches it via on-call partners rather than fighting it alone. Future fires will run faster, with higher orgasm counts and zero impact on her other commitments.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
<<else>>
<div class="passage-title">The Breakdown</div>
<p><span class="skill-used">Estrus Trigger, Jess (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/estrus-jess-1.webp" alt="Jess at library desk, unable to concentrate">
<p>The library. 10 AM. Finals are in six days. Jess has highlighters colour-coded by subject, sticky notes tabbing every chapter, a study schedule that accounts for every hour until the exam. She is prepared. She is //always// prepared.</p>
<p>The Estrus Trigger activates at 10:17 AM.</p>
<p>The first sign is the highlighter shaking. Her hand trembles and the yellow line streaks across the margin. She recaps the highlighter. Tries again. The words on the page blur, not from tiredness, from the blood redirecting. Away from her brain. Toward her clit.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Jessica Hoffman. Location: public library. The cruelty is deliberate — I activated the cycle in the one place where Jess's discipline is absolute. Where she is most herself. Where losing control is unthinkable. The library is her cathedral. I'm about to defile it.//
<</say>>
<p>By 11 AM she's reading the same paragraph for the ninth time. Her thighs are pressed together so tightly her knees hurt. She's wet, she can feel it, the dampness spreading, and the plastic library chair is going to have a mark when she stands up. She uncrosses her legs. Crosses them the other way. The friction of her jeans against her pussy makes her gasp.</p>
<p>A student at the next table looks up. Jess stares at her textbook and doesn't breathe.</p>
<img class="scene-img" src="media/scenes/estrus-jess-2.webp" alt="Jess packing bag hastily at library">
12:15 PM. She gives up. She can't read. She can't think. She can't sit still. She stuffs the textbooks into her bag, sticky notes bending, highlighters rolling off the desk, and walks to the car with her bag clutched against her stomach.
<p>She drives home at fifteen over the speed limit. The seatbelt presses across her chest and every bump in the road sends the seam of her jeans into her clit.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She doesn't make it to her room. She locks the bathroom door, turns the shower on, strips, and sits on the tile floor under the water. She masturbates with the showerhead, the pulse setting aimed directly at her clit, while imagining the student at the next table watching. Watching her lose control. Watching her spread her legs in the library chair and finger herself between the bookshelves. The fantasy is the voyeurism inverted, being //watched// losing control.</p>
<p>She comes three times under the shower. The water runs for forty minutes. Jess sits on the tile floor, legs splayed, the showerhead between her thighs, and comes until the cycle breaks and the water runs cold.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>She makes it to her room. Locks the door. Strips her jeans off, the crotch is dark with wetness, and lies on the bed with her hand between her legs. She fucks herself with two fingers while telling herself she's //disgusting, weak, pathetic, a straight-A student who can't sit through two hours without needing to come like a fucking animal.//</p>
<p>The degradation feeds the cycle. Each insult spikes the arousal higher. She comes hard, hips off the mattress, the word //worthless// on her lips. Then immediately again, fingers still inside, other hand on her clit, the self-contempt fuelling a second orgasm that leaves her gasping.</p>
<p>The cycle breaks after the third. She lies in the wreckage of her study schedule, jeans on the floor, textbooks in her bag, and hates herself with a specificity that the parasite files as +1 bonus biomass.</p>
<<else>>
<p>She locks the bathroom door. Turns on the shower. Strips. The cold tile makes her skin prickle, another trigger now, thanks to the Hormonal Override, and she sits on the floor of the shower with the water running hot and fucks herself with her fingers.</p>
<p>Two fingers. Then three. Her hips rock against her own hand and the water runs over her body and she comes with a sharp cry that the shower noise covers. The first orgasm dents the arousal. The second cracks it. She sits under the water for forty minutes, coming twice more before the cycle finally breaks and her hands stop shaking.</p>
<p>She gets dressed. Goes to her room. Opens the textbook. The highlighter doesn't shake anymore.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle complete. Duration: 4 hours 23 minutes. Library study time lost: 2 hours. Orgasm count: 3-4. Jessica Hoffman left the library because she couldn't stop thinking about her pussy long enough to read a paragraph about cellular respiration. Six days until finals. The cycle will fire again tomorrow.//
//Her GPA is my harvest schedule.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Jess, estrus trigger">>
<p><span class="delve-intel">Intel gained: Estrus Trigger activates in public spaces, library setting confirmed. Jess's study discipline collapses within 2 hours. Multiple orgasms required to break the cycle. The timing is calibrated to maximise academic disruption.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
<</if>><<nobr>><<bg "bg-hoffman-ryan-room">>
<<set $ch2Events.estrusRyan to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title"><<if $ryanRoute is "feminization">>The Glow<<else>>The Screen<</if>></div>
<p><span class="skill-used">Estrus Trigger, Ryan (3 biomass)</span></p>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/estrus-ryan-fem-1.webp" alt="Ryan at his desk in the dim monitor glow, browser open to a lingerie shopping page, one hand on the mouse scrolling a product grid, the other already slipping under the waistband of his sweatpants">
10:04 PM. Ryan's bedroom door is locked. The overhead light is off. The only illumination in the room is the soft washed pink of the monitor, a shopping tab open to an infinite product grid, the browser on //recommended for you//, the scroll state three hundred items deep.
<p>Ryan is not doing anything else. There is no background music. There is no video muted in a second tab. There is no notification pinging from another device. The apartment across the hedge is quiet. The apartment two doors down is quiet. Ryan's whole world for the last two hours has been this one tab, the soft endless parade of pastel satin on faceless female models, and the slow measured breath he has been using to keep himself from finishing too early.</p>
<p>The right hand is on the mouse. The feed is silk camisoles, lace bralettes, pastel chemises, thigh-high stockings with the little ribbons at the top. Each one is photographed in the neutral studio white the site uses for everything. Ryan is not saving any of them. Ryan is not clicking //buy//. Ryan is //browsing//, and the //browsing// is the thing, the slow curated drip-feed of images of //what he is allowed to want//, delivered directly to his eye by an algorithm that has been trained on his click history.</p>
<p>The left hand has been inside the waistband of his sweatpants for twenty minutes. The cock it is cupping is //half hard// in the specific slow way the conditioning has trained him into, not the hurried functional grip of a man chasing a quick finish, but the patient, leaking, //receptive// arousal of a body that has learned it is allowed to open into this instead of closing around it.</p>
<p>Then the Estrus Trigger activates.</p>
<p>It does not //hit// him. The cycle does not work that way on feminization. It //opens//, a slow warm bloom in his pelvis, the way a flower opens, the way a body that has been told to //be receptive// responds to a signal it has been waiting for all day. His half-hard cock thickens into a full erection against his own palm. His breath catches. His lower lip goes between his teeth.</p>
<p>The mouse hand stops scrolling. Ryan stares at a product photo of a short pink satin camisole with a lace trim and he makes a small //hh// sound through his nose that is entirely involuntary.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus cycle on the feminization circuit does not feel like a cycle. It feels like //permission//. Every other Ryan got a spike. This Ryan gets a //yes//. The difference is architectural and the difference is what I am going to collect for the next ninety minutes.//
<</say>>
<p>He gets up. Not out of urgency, he moves the way you move when you have decided something without needing to think about it first. He crosses to the dresser. He opens the bottom drawer, the one that has his //other// folded things, the ones Karen is not supposed to find, the stack that has grown from one item to four over the last eight weeks, and he lifts the top garment out with the unhurried reverence of a man picking up a library book he has been waiting to read.</p>
<p>The pink satin camisole. Real lace trim. The one he ordered two weeks ago after the cam viewer count hit a hundred for the first time.</p>
<p>He takes off the white T-shirt. Lets it fall to the floor without folding it. He slips the camisole on over his bare chest and the satin slides down his ribs with the specific cool silky whisper that the conditioning has spent a month teaching his skin to //crave//. The hem sits at mid-thigh. Thin straps over his shoulders. The fabric is cold for half a second and then warm.</p>
<p>He slides his sweatpants down. Kicks them off one ankle at a time. His cock is flushed and leaking and //framed// now, the bottom hem of the camisole riding up above it, the satin pooled warm at his hips, the lace trim brushing the head of his own cock every time his stomach rises on an inhale.</p>
<p>He sits back down at the desk. The chair is cold against the back of his bare thighs. The sensation is //unreasonable//. He gasps into the empty room.</p>
<<if $kinks.ryan.includes("cumeating")>>
<p>The cycle routes through the cumeating reflex. The first orgasm comes faster than he expects, he is just //holding// himself through the camisole, thumb absently circling the head of his cock against the satin, and the fabric contact alone is enough. He finishes into his own cupped palm to preserve the collection, because the conditioning has rewired the completion protocol and //waste is not an option//. The sight of the cum pooled in his palm against the pink satin cuff of the camisole's strap is the specific aesthetic the cumeating circuit has been calibrated for, white on pink, warm on silk, his own body's output //in his hand// for the second stage of the cycle.</p>
<p>He brings the palm to his mouth. He licks it clean. Not quickly, the way he has been taught, slow, with his eyes half-closed the way Lily closes her eyes in the mirror practice sessions. The taste converts into arousal the way the compound has taught his tongue it should.</p>
<<elseif $kinks.ryan.includes("submission")>>
<p>The cycle routes through the submission circuit. His free hand, the one not on his cock, drifts up without his direction and rests flat against his own throat, fingers splayed across the pale skin above the camisole's straps, the way he has seen it done in the videos Karen's voice has been mapped onto. The gesture is //performed for no one//. It is the body's reflex — //someone is supposed to hold me here, and if no one is holding me, I will hold myself//. The first orgasm builds under his own hand at his own throat while his mouth stays open and his eyes stay half-closed and his hips rock up into the satin hem of the camisole in slow obedient thrusts.</p>
<p>He comes into the inside of the camisole. The fabric catches it. The warmth spreads through the thin pink satin against his own stomach and he //sobs//, not in pain, the soft surrendered sob of a body being told it did a good job.</p>
<<else>>
<p>The cycle routes through the basic pheromone cascade. He strokes himself slowly through the pink satin hem, never actually gripping the cock directly, the fabric is the //mediator//, the fabric is the //girl// his conditioning has been turning him into. Every upstroke slides satin over the head of his own cock and the sensation is more //her// than his own skin would be.</p>
<p>He finishes into the inside of the camisole hem with a small broken breath, the wet bloom spreading across the pink fabric in the monitor glow, and his first thought is not that he has made a mess but that the stain //looks right// against the satin, the way a freshly lipsticked mouth looks right against a glass rim.</p>
<</if>>
<img class="scene-img" src="media/scenes/estrus-ryan-fem-2.webp" alt="Ryan sprawled back in his desk chair in the pink satin camisole, cock still out through the bottom hem, one hand wrapped loosely around himself, the satin stained dark where the first orgasm bloomed, the monitor light washing the whole scene in a soft pink">
<p>The cycle does not break on the first orgasm. It //does not end//, it //eases//, the way the pressure in a weather system eases after the first burst of rain. His cock stays mostly hard. His other hand is still in the satin at his own hip, fingers absently circling the wet spot, smearing his own cum into the fabric because the sensation of warm-cum-through-pink-satin against his palm is what the conditioning has installed as the //new baseline// of his body's reward loop.</p>
<p>He does not move for six minutes. He just sits there in the ruined camisole with his own cum cooling against his stomach and a private slack smile on his face that has never been on Ryan Hoffman's face at any other point in his life. The cam window is still open on the monitor. He is not streaming. Nobody is watching. The fact that nobody is watching does not bother him because the //costume// is the performance and the //being-in-the-costume// is the audience and the performance is complete.</p>
<p>The second orgasm arrives unhurried, against the pink stain that is already there, and this one is softer and longer and feels more like //sleep// than //release//. When it ends his hand drops away from his own cock and the camisole hem is saturated and the whole scene smells like satin and cum and the expensive cotton-sugar detergent he bought specifically for washing the fem drawer's contents.</p>
<<say "char-hivemind" "Hivemind">>
//Cycle complete on the feminization circuit. Two orgasms. No frantic escalation. No desperate third pass. The fem route re-routes the estrus compound from //urgency// to //permission//, and the permission is always gentler than the urgency. //Ryan did not need the cycle to break.// He needed the cycle to //sit down//. He needed a warm soft thing to rest inside of. I gave him a satin cuff against his own stomach and he brought the rest himself.//
<</say>>
<p>He gets up eventually. Twenty minutes later. He peels the camisole off very carefully, the way you peel off a dress you love, and puts it in the bottom of the laundry bag inside the bottom drawer where the //other// folded things live. He will handwash it tomorrow at 2 PM when Karen is on her client call. He will dry it on the bathroom towel rod with the door locked. He will fold it on Thursday and put it back in the drawer with the rest.</p>
<p>He goes to bed in nothing. He sleeps fifteen hours. When he wakes up Friday morning the first thing he does is check the drawer.</p>
<<elseif $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<img class="scene-img" src="media/scenes/estrus-ryan-1.webp" alt="Ryan at desk, face lit by screen, unable to play">
10 PM. Ryan is gaming. Headphones on. The screen cycles through a ranked match and his hands are on the keyboard and his focus should be absolute. It isn't.
<p>The Estrus Trigger activates mid-game.</p>
<p>His cock hardens inside his sweatpants. Not from anything on screen, the game is a tactical shooter, no triggers there. The arousal comes from inside, building like a headache behind his pelvis, a pressure that makes it impossible to sit still.</p>
<p>He dies in-game. Respawns. Dies again. His hands won't cooperate. He's thinking about his cock instead of the crosshair. He takes his headphones off. His breathing is too fast. The chair is too warm.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Ryan Hoffman. His gaming session, the one activity that reliably dissociates him from his body, has been interrupted. The screen used to be his escape. Now it's just a light source for what happens next.//
<</say>>
<p>He minimises the game. The desktop is there. His hand moves to the browser. He opens an incognito tab.</p>
<img class="scene-img" src="media/scenes/estrus-ryan-2.webp" alt="Ryan's face in dim screen glow, browser open">
<p>He searches. The terms escalate fast, the cycle doesn't allow for buildup. He finds what the conditioning has wired him to need: women giving orders. Older women. Authoritative voices. He pulls his cock out of his sweatpants and strokes himself to a video of a woman saying //on your knees, look at me, good boy// — Karen's voice mapped onto a stranger's face.</p>
<p>He comes fast, the first orgasm barely dents the cycle. His cock pulses in his fist, cum splashing onto his stomach in two thin ropes, his hips jerking off the chair. The video keeps playing. His cock stays hard. He doesn't even pause, hand back on the shaft, stroking through the aftershocks, the oversensitivity making him hiss but the cycle //demanding// more.</p>
<p>Seven minutes later the second orgasm hits harder, his hips thrust up, back arching, cum arcing onto his stomach and keyboard. A thick rope lands across the space bar. His cock throbs in his grip, still rigid, the cycle nowhere near broken.</p>
<<if $kinks.ryan.includes("cumeating")>>
<p>He looks at the cum pooling on his stomach. Warm, white, glistening in the monitor glow. The conditioning fires before his conscious mind can intervene, his fingers scoop through the puddle, gathering it, and he brings his hand to his mouth. The taste hits his tongue, salt, warmth, the specific alkaline tang of his own cum, and the cumeating conditioning converts the flavour into //arousal//. His cock twitches. He licks his fingers clean, tongue sliding between each one, sucking the webbing between thumb and forefinger where the cum pooled. The third orgasm builds faster with the taste still in his mouth. He strokes with one hand and collects with the other, this time catching the cum directly in his palm as it spurts, cupping it like water from a fountain, and drinking it while his cock is still pulsing. The warmth slides down his throat. The gecko on the ceiling records everything.</p>
<</if>>
<p>The cycle breaks on the third orgasm, a shuddering, exhausted climax that barely produces any cum, his body wrung out, his hand cramping around his softening cock. He's been at his desk for ninety minutes. The gecko watches from the ceiling.</p>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<img class="scene-img" src="media/scenes/estrus-ryan-1.webp" alt="Ryan at desk, face lit by screen, unable to play">
10 PM. Ryan is gaming. Headphones on. The screen cycles through a ranked match and his hands are on the keyboard and his focus should be absolute. It isn't.
<p>The Estrus Trigger activates mid-game. His cock hardens inside his sweatpants. Not from anything on screen, the arousal comes from inside, building like a headache behind his pelvis, a pressure that makes it impossible to sit still. He dies in-game. Takes his headphones off. His breathing is too fast. The chair is too warm.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Ryan Hoffman. His gaming session, the one activity that reliably dissociates him from his body, has been interrupted. The screen used to be his escape. Now it's just a light source for what happens next.//
<</say>>
<p>He doesn't open the browser. The screen isn't what his body wants. He gets up, cock still hard, sweatpants tenting, and walks to the hallway. Karen's bedroom door is closed. He can smell her perfume in the air, the pheromone trail she leaves everywhere she goes.</p>
<img class="scene-img" src="media/scenes/estrus-ryan-2.webp" alt="Ryan in the dark hallway outside Karen's bedroom door, face lit by the faint glow from under the door">
<p>He leans against the wall outside her door. Pulls his cock out. Strokes himself in the dark hallway, the scent of his mother in his lungs, the proximity to her body driving the cycle toward the break point. He comes on the hallway carpet, thick, aggressive, claiming the space. His cock stays hard. He strokes again, faster, hunting the second orgasm with the urgency of an animal marking territory.</p>
<p>Two orgasms in the hallway. The third happens back in his room, but he brings Karen's cardigan from the hook by the stairs. Wraps it around his cock and fucks it until he comes a third time. The cycle breaks. The cardigan is soaked. He hangs it back on the hook.</p>
<<elseif $kinks.ryan.includes("voyeurism")>>
<p>He doesn't close the curtains. The monitor glow silhouettes him for anyone looking up at the window, and the voyeurism conditioning turns that //risk// into fuel. He pulls his cock out and strokes himself in the light of the screen, facing the window, daring the neighbourhood to see a teenage boy jerking off at 11 PM.</p>
<p>He comes three times. Each orgasm is harder than the last because the exposure-arousal loop keeps feeding. The gecko records from the ceiling. Mrs Henderson's house is dark across the street. Nobody watches. But the //possibility// is enough.</p>
<<else>>
<p>He types a search. The cycle drives him past any pretence of selectivity, he doesn't care what, he needs //stimulation//. He finds a video, pulls his cock out, and strokes himself with the desperate urgency of someone scratching an itch in a place they can't reach.</p>
<p>He comes in under three minutes. Cum on his hand, on his sweatpants, on the edge of the desk. The cycle doesn't break. He wipes his hand on his shirt and searches again. The second video is harder, faster. He comes again. The third time takes longer, his cock is sore, his hand is cramping, but the cycle demands completion.</p>
<p>Three orgasms. Ninety minutes. His screen is still on the game's death screen. He hasn't respawned.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle complete. Duration: 90 minutes. Orgasm count: 3. The gecko recorded every search term. Every video. Every escalation in content. The data is filed in behavioral intel, not for blackmail. For //precision//. Next time the cycle fires, I'll know exactly what to feed him. What to show him. Whose voice to echo.//
//His gaming session is destroyed. His ranking dropped two tiers. The screen that was his refuge is now his confessional.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, estrus trigger">>
<p><span class="delve-intel">Intel gained: Estrus Trigger overrides Ryan's dissociation from his body. Gaming cannot suppress the cycle. Search terms escalate rapidly, behavioral intel recorded by gecko. Three orgasms required to break. The screen is no longer a refuge.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upstairs">>
<<set $ch2Events.estrusDale to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 3>>
<<addConditioning "dale" "pheromone" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Night Shift Failure</div>
<p><span class="skill-used">Estrus Trigger, Dale (3 biomass)</span></p>
<img class="scene-img" src="media/scenes/estrus-dale-1.webp" alt="Dale in security uniform, sweating, leaning on desk">
11 PM. BioGenesis facility. Night shift. Dale sits at the security desk watching monitors and the Estrus Trigger hits him like a truck.
<p>The sweat comes first. Then the restlessness, his legs bouncing, his fingers drumming, the chair suddenly unbearable. Then the erection, thick and insistent, straining against his uniform pants. He shifts in his seat. Adjusts himself. It doesn't help.</p>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle initiated. Dale Hoffman. Location: workplace. The cycle is calibrated to peak during his shift, maximum disruption, maximum humiliation. A security guard who can't sit still, can't focus on the monitors, can't walk the perimeter without his erection visible through his uniform pants. He will have to choose: endure the shift in agony, or leave.//
<</say>>
<p>Midnight. He's pacing the corridor. His cock won't go down. He went to the bathroom twenty minutes ago and tried to will it away, cold water on his wrists, deep breathing, thinking about tax returns. Nothing works. The cycle is engineered to resist suppression.</p>
1:30 AM. He calls in sick. His supervisor sounds irritated. Dale doesn't care. He can't walk through the building with a visible erection and no explanation. He drives home with one hand on the wheel and the other pressing against the bulge in his pants, trying to keep it from touching the steering wheel.
2:15 AM. He stands in the upstairs hallway. The master bedroom door is closed — Karen is asleep. The bathroom door is ten feet away. The hallway is dark. The nightlight at floor level throws long shadows.
<img class="scene-img" src="media/scenes/estrus-dale-2.webp" alt="Dale standing in dark hallway between doors">
<p>He stands there for ten minutes. Paralysed. The need is enormous, his cock is aching, pre-cum leaking through his underwear, his entire body vibrating with an arousal he can't explain and can't satisfy by willpower. He needs to come. He //needs// to come.</p>
<<if $kinks.dale.includes("humiliation")>>
<p>He doesn't make it to the bathroom. He leans against the hallway wall, unzips his uniform pants, and jerks off standing in the dark between his wife's bedroom and his daughters' rooms. The humiliation is total, a grown man, a security guard, masturbating in his own hallway at 2 AM because he couldn't make it through a shift without his cock taking over.</p>
<p>He comes against the wall. Cum drips down the wallpaper. He stands there in the dark, panting, his cock in his hand, and hates himself with a specificity that the parasite catalogues as bonus yield.</p>
<<elseif $kinks.dale.includes("chastity")>>
<p>He goes to the bathroom. Locks the door. Sits on the edge of the tub. He won't touch himself. He //won't//. He sits there with his cock straining against his pants, his jaw clenched, his hands gripping the edge of the tub, and waits for the cycle to pass.</p>
<p>It doesn't pass. It builds. For forty minutes he sits there, the arousal climbing, his cock leaking, his body screaming at him to just //touch it//, and he refuses. He finally breaks at 3 AM, wraps his hand around his cock and comes in three strokes, the denial making the orgasm so intense he bites through his lip.</p>
<<else>>
<p>He goes to the bathroom. Locks the door. Pulls his uniform pants down. His cock is purple-dark with blood, slick with pre-cum, harder than it's been in years. He wraps his hand around it and strokes, rough, fast, no technique, just a desperate man chasing release.</p>
<p>He comes in under a minute. The cum hits the bathroom mirror. He braces himself against the sink, panting, and the second wave of arousal begins immediately. He strokes himself again, harder, angrier. He comes a second time, less cum, more shaking. He sits on the toilet lid and strokes himself to a third orgasm that is more like a spasm, his body wringing the last of the cycle out through sheer mechanical effort.</p>
<p>He sits there. Pants around his ankles. Cum on the mirror, in the sink, on his hand. 2:47 AM. He was supposed to be watching monitors.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Estrus Trigger: cycle complete. Duration: 4 hours. Location shift: workplace to home. Dale Hoffman abandoned his post. Called in sick. Drove home with an erection he couldn't suppress. Masturbated in his own house at 2 AM while his family slept. Three orgasms to break the cycle.//
//This is the first shift he's missed in eight years. His supervisor noted it. His next review will mention it. I don't need to destroy Dale's career, the Estrus Trigger does it automatically, one missed shift at a time.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Dale, estrus trigger">>
<p><span class="delve-intel">Intel gained: Estrus Trigger activated during Dale's shift at BioGenesis. He abandoned his post, first missed shift in 8 years. The cycle is calibrated for workplace disruption. Three orgasms required to break. Dale's employment reliability is now compromised.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
BIOLOGICAL ARCHITECT (Biological Apex) — passive
Targets produce their own pheromones. The system self-sustains.
============================================================ */<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.freeUseMorning>><<spendBiomass 4>><</if>>
<<set $ch2Events.freeUseMorning to true>><<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 4>><</nobr>>
<div class="passage-title">Open Access</div>
<p><span class="skill-used">Baseline Shift, Free Use Protocol (0 biomass, self-sustaining)</span></p>
<img class="scene-img" src="media/scenes/freeuse-morning-1.webp" alt="Karen bent over kitchen counter, cooking, casual">
<p>Tuesday morning. The Baseline Shift has been running for weeks. The family has reached the final stage: sex acts are not events. They are //infrastructure//. They happen the way cooking happens, the way laundry happens, because bodies have needs and this household meets them without discussion.</p>
<p>Karen is making breakfast. She stands at the kitchen counter cracking eggs into a bowl. She's wearing a robe, open, nothing underneath. The schedule on the fridge lists the day's tasks in red ink. Below the tasks, in the same handwriting: //Available: Karen (kitchen 6-8 AM), Megan (before shift), Ryan (after noon).//</p>
<p>The schedule is sexual. It lists who is available for use and when. Karen wrote it herself. She doesn't think it's unusual. The Baseline Shift filed sexual availability under //household coordination//.</p>
<<say "char-hivemind" "Hivemind">>
//The schedule says lasagna at 6. The schedule says Karen available from 6 to 8. Both are written in the same handwriting. Both carry the same weight.//
<</say>>
<<if $karenFutaRoute>>
<p>Ryan comes downstairs at 6:30. <<if $ryanRoute is "feminization">>Pink silk sleep shorts, a thin bralette under his hoodie, the morning eyeliner already applied, he came down looking //finished//, the way Megan looks for a shift. He<<else>>He<</if>> walks to the kitchen counter where Karen is cracking eggs.</p>
<<if $ryanRoute is "feminization">>
<p>Karen turns from the eggs. Looks at him. Sets the spatula down on the spoon rest. Pulls the robe open the rest of the way, her cock is already half-hard, has been since the kettle started warming. She does not say anything. She doesn't have to.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-futa.webp" alt="Karen at the counter in an open robe, futa cock half-hard, Ryan approaching from the front in pink sleep shorts and a bralette">
<<say "char-karen" "Karen">>
<i>(matter-of-fact, the tone she uses when asking him to set the table)</i> Knees.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(already lowering, the sleep shorts riding up his thighs as he kneels in front of her on the cold tile)</i> Mhm.
<</say>>
<img class="scene-img" src="media/scenes/freeuse-morning-futa-2.webp" alt="POV looking down at Ryan kneeling in front of Karen, mouth around her futa cock, eyeliner intact, looking up at the camera">
<p>He takes her in his mouth. Front-facing, this time, eyes tilted up to find hers, lips wrapped around the head of her cock, one hand at the base, the other resting flat on her thigh. The eyeliner does not smudge. He has been practicing keeping it intact through this exact act for over a week now. Megan taught him the trick: //tongue pressure, breathe through your nose, never let your eyes water//.</p>
<<say "char-karen" "Karen">>
<i>(one hand finding the back of his head, fingers in his hair, the other still holding the spatula)</i> Good. Slower.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(muffled, eyes still on hers)</i> Mmh. //Mmh.//
<</say>>
<p>Karen comes in his mouth between the eggs and the toast. Ryan swallows. Twice. Pulls off only when she's done, the way he was taught — //thorough until released//. Wipes the corner of his mouth with the pad of his thumb, careful of the eyeliner. Stands. Adjusts the bralette strap that slipped off his shoulder during the act. Pours orange juice for himself and for Karen. Neither of them interrupts the breakfast preparation.</p>
<<say "char-hivemind" "Hivemind">>
//Front-facing service this morning. Eye contact maintained throughout. Eyeliner intact. The act is being performed as //presentation// — Ryan is showing Karen what he has been practising, and the showing is itself part of the loop. Mother and son. Cock and mouth. Eyeliner uncompromised. The new household has its own competencies.//
<</say>>
<<else>>
<p>He kneels behind her. Karen doesn't turn around. Ryan lifts her robe and takes her cock in his mouth from behind, she's half-hard already, the morning routine includes this. He sucks her off while she scrambles eggs.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-futa.webp" alt="POV from behind: Karen at counter, futa cock, Ryan kneeling">
<p>Karen comes in his mouth between the eggs and the toast. Ryan swallows. Stands. Pours orange juice. Neither of them interrupts the breakfast preparation.</p>
<<say "char-hivemind" "Hivemind">>
//Ryan serviced Karen's cock while she made breakfast. Duration: 4 minutes. Ejaculation: swallowed. Karen's heart rate did not exceed 80 BPM during the act. The blowjob is a kitchen task, performed between the eggs and the toast, with the same urgency and emotional weight.//
<</say>>
<</if>>
<<else>>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>Ryan comes downstairs at 6:30. Dale is already at the table, home from the BioGenesis night shift, still in his security uniform, eating toast and scrolling the news on his phone. The dog is asleep at his feet.</p>
<p>Ryan walks past Dale without comment, walks past the dog, walks to the counter. Karen doesn't turn around. She shifts her weight, spreads her feet slightly, and Ryan kneels behind her.</p>
<p>He pushes the robe aside. His face presses between her legs from behind. His tongue finds her pussy, wet already, the morning arousal that the Hormonal Override ensures, and he licks. Slow, flat strokes from clit to entrance, then focused circles on the clit while Karen stirs the eggs.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-cunni.webp" alt="Ryan kneeling behind Karen at counter, face between her legs">
<<say "char-karen" "Karen">>
<i>(to the eggs, not to Ryan)</i> The toast is burning.
<</say>>
<<say "char-dale" "Dale">>
<i>(without looking up)</i> Got it.
<</say>>
<p>Dale reaches across the table to push the toaster lever down without standing. The dog repositions slightly. Ryan eats his mother's pussy while she makes breakfast. His tongue works her clit with the diligent rhythm of a boy doing chores. Karen comes leaning over the counter, a quiet exhale, her hand gripping the spatula, her pussy clenching against Ryan's mouth. He keeps licking through the aftershocks.</p>
<p>Ryan wipes his mouth on the back of his hand. Starts to stand.</p>
<<say "char-karen" "Karen">>
<i>(turning back to the French press, robe still open, the post-orgasm flush still on her chest)</i> Stay there. I'm not done.
<</say>>
<p>She fills the French press. Pours boiling water from the kettle over the grounds. The kitchen fills with the smell of coffee, black, fresh, the morning's first batch, layered over the smell of //her// still on Ryan's mouth.</p>
<p>The big cream-coloured mug, the one with the small chip on the rim, the weekday mug she has used every morning for six years, sits empty on the counter beside the press.</p>
<p>Karen looks at the mug. Looks at Ryan, still on his knees beside her, the taste of her still on his lips. Looks back at the mug.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact, the way she'd ask for the salt)</i> Cream.
<</say>>
<p>The single word lands. Ryan does not need it explained. Or rather, he //does// need it explained, briefly, but the conditioning fills the gap before the question can form. He understands. //She is asking him for cream and the cream is going to come from him.//</p>
<p>He stands up from where he was kneeling. Pulls his sweatpants down to his thighs. His cock is fully hard, has been hard since he came down the stairs, has been hard the entire time he was eating her. Leaking against his stomach.</p>
<p>Karen kneels back down, the second kneel of the morning, the same bare knees against the same cold tile, the robe sliding open the rest of the way. The cream-coloured mug is six inches from where she settles.</p>
<<include "Ch2-FreeUse-Morning-CoffeeBeat">>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Ryan comes downstairs at 6:30. Karen is at the counter. Dale is at the table, home from the BioGenesis night shift, still in his security uniform, eating toast and scrolling the news on his phone. The dog is asleep at his feet.</p>
<p>The alpha conditioning doesn't //wait//. Ryan walks past Dale, walks past the dog, walks up behind Karen and pulls her robe open with one hand and pushes her forward, palm flat between her shoulder blades, bending her over the counter. Karen's palms slam against the granite. The spatula clatters into the eggs.</p>
<<say "char-karen" "Karen">>
<i>(cheek against the cold counter, eyes still on the egg pan)</i> Ryan, I'm //cooking//.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pulling his sweatpants down)</i> Keep cooking.
<</say>>
<<say "char-dale" "Dale">>
<i>(without looking up from his phone)</i> Don't burn the eggs, hon.
<</say>>
<p>Ryan pushes into her from behind. One stroke, deep, no warning, his cock filling her in a single thrust that shoves her hips against the counter edge. Karen gasps. Her fingers grip the granite. He fucks her standing at the kitchen counter, doggy style, his hands on her hips pulling her back onto his cock with each stroke.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-alpha.webp" alt="Ryan fucking Karen doggy at kitchen counter, morning light">
<p>Karen's hand finds the spatula. She stirs the eggs while he fucks her. The rhythm is his, hard, possessive, the alpha claiming his territory before breakfast. Her body rocks forward with each thrust. The eggs bounce in the pan. The coffee maker clicks through its cycle on the counter beside the stove. The kitchen smells like breakfast and sex.</p>
<<say "char-karen" "Karen">>
<i>(short, gasping through a thrust, eyes on the pan)</i> Dale, the toast.
<</say>>
<<say "char-dale" "Dale">>
<i>(reaching across to push the toaster lever down without standing, the way he reaches for the salt)</i> Got it.
<</say>>
<<say "char-karen" "Karen">>
<i>(through another thrust, breath catching)</i> And, your tie is, crooked.
<</say>>
<<say "char-dale" "Dale">>
<i>(adjusting his tie one-handed, eyes back on his phone)</i> Mhm. Thanks.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He didn't ask. The schedule said Karen was available. The alpha doesn't //ask//. He fucks his mother at the kitchen counter while she scrambles eggs, while Dale fixes his tie, while the dog snores. The only interruption is the toast popping.//
<</say>>
<p>Ryan comes inside her, three hard thrusts, his cock buried deep, his fingers denting her hips. Pulls out. Cum drips down her inner thigh onto the kitchen tile. Karen doesn't wipe it. She turns the heat off the eggs. Plates them.</p>
<<say "char-karen" "Karen">>
<i>(setting a plate on the table in front of Dale)</i> Breakfast.
<</say>>
<<say "char-dale" "Dale">>
<i>(setting his phone face-down, picking up his fork)</i> Smells good.
<</say>>
<p>Karen turns back to the counter. The cream-coloured mug, the chipped one, the weekday mug she has used every morning for six years, is still empty beside the French press. She fills it three-quarters with hot black coffee. Picks it up.</p>
<p>And then she pauses with the mug in her hand. Looks down. The wet streak from her pussy is still running down past her knee, the morning's cum cooling on her skin. She looks at the mug. Looks at Ryan, who is standing beside her with his sweatpants still around his thighs and his cock still half-hard, the head still leaking.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact, mug in hand)</i> Here.
<</say>>
<p>She holds the mug under his cock. Takes him in her free hand. Strokes him from base to tip, once, twice, a slow milking grip, and the residual cum, the few drops that didn't end up inside her, beads at the head and falls. Three slow drops into the dark coffee. They float pale on the surface for a beat, then sink. Steam rises around them.</p>
<img class="scene-img" src="media/scenes/nsfw-freeuse-coffee-mug.webp" alt="Close-up of Karen's hand stroking Ryan's cock angled down over a mug of hot black coffee, cum landing on the surface of the coffee and floating there, steam rising">
<p>Karen wipes the head against the rim of the mug, the way you'd wipe a spoon against a saucepan to get the last of the sauce, and lets him go. Ryan sags against the counter. Karen picks up the small spoon. Stirs twice. Drinks.</p>
<<say "char-dale" "Dale">>
<i>(from the table, mouth full of eggs)</i> Coffee good?
<</say>>
<<say "char-karen" "Karen">>
<i>(another sip, neutral expression)</i> Mhm. Strong.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The alpha came inside her. The mug got the leftover. Two deposits, two delivery channels, one breakfast. Karen's heart rate at the first sip: seventy-four. Dale's blood pressure: unchanged. The dog has not moved.//
//The new normal is //fully sintered//. There is no more conditioning to add to this room.//
<</say>>
<p>Ryan pulls his sweatpants up. Walks to the cutlery drawer. Sets the table without being asked.</p>
<<else>>
<p>Karen pulls the French press from the cabinet. Sets it on the counter beside the egg bowl. Fills the kettle. The big cream-coloured mug, the one with the small chip on the rim, the weekday mug she has used every morning for six years, comes out next and sits empty on the counter, waiting.</p>
<p>Dale is at the table, home from the BioGenesis night shift, still in his security uniform, eating toast and scrolling the news on his phone. The dog is asleep at his feet. The schedule on the fridge says //Karen, kitchen 6-8 AM// in red ink. Dale read it when he came in. So did Ryan.</p>
<p>Ryan comes downstairs at 6:51. Hoodie, sweatpants, headphones around his neck like a pendulum slowing to a stop. He has been hard since the previous evening, since he saw the schedule, and the morning erection has not gone down.</p>
<<say "char-dale" "Dale">>
<i>(without looking up from his phone)</i> Morning, kid.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(mumbling, hood still up)</i> ...mhh.
<</say>>
<p>Karen turns from the French press. The kettle clicks. She looks at Ryan. Looks at the front of his sweatpants. Looks at the empty mug on the counter beside her.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact, not a request, the single syllable a statement of what is about to happen)</i> Mug.
<</say>>
<p>The single word lands. Ryan does not need it explained. He walks to the counter.</p>
<<say "char-dale" "Dale">>
<i>(eyes on his phone, not on them)</i> Don't burn the eggs, hon.
<</say>>
<<say "char-karen" "Karen">>
<i>(at the counter, already kneeling)</i> Mhm.
<</say>>
<p>Karen kneels at the kitchen counter, bare knees on the cold tile, robe falling open the rest of the way. She pulls Ryan's sweatpants down to his thighs in one smooth motion. His cock is fully hard. Leaking against his stomach.</p>
<<include "Ch2-FreeUse-Morning-CoffeeBeat">>
<</if>>
<</if>>
<img class="scene-img" src="media/scenes/freeuse-morning-2.webp" alt="Megan entering kitchen, uniform on, checking schedule on fridge">
<p>7:00 AM. Megan comes downstairs in her coffee shop uniform, black "Grounds" polo, black slacks, hair already in a low ponytail for the shift. Phone in one hand, keys in the other. She pauses by the fridge, taps the schedule with a knuckle, finds her name in red ink: //Megan, before shift//.</p>
<<say "char-megan" "Megan">>
<i>(checking the time on her phone, then the room)</i> Fifteen minutes. Anyone need anything before I go?
<</say>>
<p>The phrasing is the same one she uses at the cafe at last call — //anyone need anything before we close//, and it lands in the kitchen the same way. A staff offer. Customer service. The Baseline Shift filed sex acts under //customer service// and the speech pattern arrived with the filing.</p>
<<say "char-karen" "Karen">>
<i>(stirring eggs, not turning)</i> Your father's at the table. Did you take the trash out last night.
<</say>>
<<say "char-megan" "Megan">>
<i>(already moving toward Dale)</i> I'll do it on the way. Promise.
<</say>>
<<if $kinks.megan.includes("praise") or $kinks.megan.includes("publicSex")>>
<p>Dale is at the table eating toast, home from the BioGenesis night shift, still in his security uniform. Megan walks over. Doesn't sit. She sets her keys on the table, careful not to knock his coffee, and drops to her knees on the cold tile.</p>
<<say "char-dale" "Dale">>
<i>(mouth full of toast, not surprised, just acknowledging)</i> Mmh. Morning, kid.
<</say>>
<<say "char-megan" "Megan">>
<i>(crawling under the table, voice already muffled by the tablecloth)</i> Morning, Dad. Keep eating, I'm on the clock.
<</say>>
<p>She crawls into the dim under-table space. Cold tile under her knees. Dale's work boots six inches from her shins. The dog blinks at her, decides she is not interesting, sets his head back down. She unzips Dale's uniform fly and fishes out his cock. He's already half-hard, has been since he heard her on the stairs.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-praise.webp" alt="Megan under kitchen table giving Dale blowjob, his hand on her head">
<p>She takes him in her mouth. Tongue flat on the underside, lips sealed, steady rhythm, the same metronome she uses pulling shots at the cafe. One hand at the base. The other resting on his thigh.</p>
<<say "char-karen" "Karen">>
<i>(from the counter, not turning around)</i> Megan, did you check on Jess before you came down? She has the eight o'clock seminar.
<</say>>
<<say "char-megan" "Megan">>
<i>(cock in her mouth, replying around it without taking it out)</i> Mmh... //mmh//, yuh, she's up. Mmh.
<</say>>
<<say "char-karen" "Karen">>
<i>(matter-of-fact)</i> Tell her to bring her lab coat home if she wears it today. It needs washing.
<</say>>
<<say "char-megan" "Megan">>
<i>(briefly off the cock, mouth wet, hand still pumping him)</i> I'll text her. //Mom//, the laundry isn't going anywhere, can it wait —
<</say>>
<<say "char-karen" "Karen">>
<i>(at the French press, plunger going down)</i> Just text her, Megan.
<</say>>
<<say "char-megan" "Megan">>
<i>(rolling her eyes at no one, mouth back on the cock)</i> Mmh. //Fine.// Mmh.
<</say>>
<p>The conversation does not pause. Dale eats his toast. The dog snores. Megan blows her father with the cheerful efficiency of a barista pulling shots for the morning rush. Each grunt above her, each twitch of his hips, each shift of his weight on the dining chair, registered, catalogued, fed back into the rhythm.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-dale" "Dale">>
<i>(setting his phone face-down, voice softer, hand drifting under the table to rest on her head)</i> ...Christ, Meg. You're so good at this. //Where// did you even —
<</say>>
<<say "char-megan" "Megan">>
<i>(pulling off, looking up at him from under the tablecloth with a bright pleased smile, hand pumping him through it)</i> I //practice//. Marcus says I'm getting really good. He times me sometimes.
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes closing, breath hitching)</i> ...yeah. Yeah, you are.
<</say>>
<<say "char-megan" "Megan">>
<i>(taking him back in deeper, the praise lit up across her chest like a four-dollar tip on a slow shift)</i> Mmh. //Mmh.// Thanks, Dad.
<</say>>
<p>The praise lands in her body the way a stack of one-dollar bills lands in the tip jar, small, specific, stored. She takes him deeper. The being-told-she-is-good-at-this is the entire dose. The cock is just the delivery system.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's reward circuit fires on the words, not the act. The blowjob is incidental. The praise is the payload, and the payload is being delivered with breakfast.//
<</say>>
<<elseif $kinks.megan.includes("publicSex")>>
<p>Karen pours her own coffee at the counter, six feet away. Ryan walks in to set the table, he's holding a handful of forks when he sees what is happening at his father's place setting and his hands //do not stop//. He sets a fork beside Dale's plate. Sets another beside the empty plate across from him. Megan glances out from under the tablecloth, eyes finding Ryan's, and grins around her father's cock. //Witnesses//. The publicSex circuit fires hot, every body in the room that knows what she is doing makes the act //better//.</p>
<<say "char-megan" "Megan">>
<i>(briefly off the cock, voice cheerful, projecting it across the kitchen for Karen and Ryan both to hear)</i> //Bro//, can you grab me a napkin? I'm gonna need one.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(walking the napkin over from the dispenser, careful not to look directly under the table)</i> ...here.
<</say>>
<<say "char-megan" "Megan">>
<i>(taking it with the hand not on Dale's cock, tucking it into the V of her polo collar like a bib)</i> Thanks. //Customer service.//
<</say>>
<<say "char-karen" "Karen">>
<i>(pouring coffee, not turning)</i> Megan. Leave the dog alone, he's sleeping.
<</say>>
<<say "char-megan" "Megan">>
<i>(briefly off the cock, looking down at the snoring dog)</i> I //am//, Mom.
<</say>>
<p>She takes Dale back in her mouth. The audience swells the act. Karen at the counter pouring coffee. Ryan at the cutlery drawer setting the table. Both of them know. Both of them are not stopping their morning chores. The not-stopping is //attention//, and attention is the kink, and the kink is firing every cylinder it has.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's pleasure tracks the audience, not the cock. Three witnesses present, all of them indifferent in the right way, close enough to see, calm enough not to comment. Optimal publicSex composition.//
<</say>>
<</if>>
<<say "char-dale" "Dale">>
<i>(eyes closed, hand on her head, voice low and broken)</i> Meg... Meg, I'm... I'm —
<</say>>
<<say "char-megan" "Megan">>
<i>(without pulling off, mumbled around the cock, the same tone she uses with Marcus when a customer is about to come)</i> Mmh. Mmh. //Mmh.//
<</say>>
<p>He comes in her mouth. Three pulses. Megan swallows, the small wet sound of it audible from under the table. Keeps her mouth on him through the last twitch — //thorough//, the way she makes lattes, not stopping until the customer is served. Pulls off. Wipes her mouth on the napkin. Crawls out from under the table on hands and knees. Stands. Straightens her skirt.</p>
<<say "char-megan" "Megan">>
<i>(grabbing her keys, bright smile, the napkin balled in her fist for the bin on the way out)</i> Bye, Dad! Bye, Mom!<<if $kinks.megan.includes("publicSex")>> Bye, //bro//!<</if>>
<</say>>
<<say "char-karen" "Karen">>
<i>(without turning)</i> Trash.
<</say>>
<<say "char-megan" "Megan">>
<i>(at the door, already lifting the can liner out)</i> //Doing// it.
<</say>>
<<elseif $kinks.megan.includes("rough") or $kinks.megan.includes("gangbang")>>
<p>She doesn't sit. She walks to the kitchen table — Dale at one end with his toast, the dog at his feet, and bends across the corner, palms flat on the wood, ass out, uniform skirt rolled up over her hips in one smooth motion. Underwear pulled aside, not down. The presenting posture is faster.</p>
<<say "char-megan" "Megan">>
<i>(voice cheerful, talking to the room)</i> Twelve minutes. Whoever's quick.
<</say>>
<<say "char-karen" "Karen">>
<i>(at the counter, not turning)</i> Megan. The schedule said you'd take the trash out.
<</say>>
<<say "char-megan" "Megan">>
<i>(palms still flat on the table, looking back over her shoulder)</i> I will, Mom. //After.//
<</say>>
<<if $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Ryan is at the cutlery drawer with a handful of forks. He sets them down on the table beside Megan's hands. Walks behind her. Pulls her underwear sideways. His sweatpants drop and he is inside her in under fifteen seconds, the alpha conditioning meets her presenting posture and the result is //ruthless//. He fucks his sister bent over the kitchen table. The forks rattle against the wood. Dale's toast plate edges toward the centre.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-rough.webp" alt="Megan bent over kitchen table, being fucked from behind">
<<say "char-dale" "Dale">>
<i>(steadying his coffee mug with one hand, eating with the other)</i> Watch the plates, Ry.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(grip on her hips tightening)</i> Yeah.
<</say>>
<<if $kinks.megan.includes("rough")>>
<<say "char-megan" "Megan">>
<i>(face pressed against the cool wood, gasping, the table rocking)</i> //Harder//, bro. I have eleven minutes.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pace doubling, fingers denting her hips)</i> Shut up.
<</say>>
<<say "char-megan" "Megan">>
<i>(grin against the wood, voice cracking on the next thrust)</i> //There// it is.
<</say>>
<<elseif $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(face against the table, looking sideways toward Dale)</i> Dad, when bro's done, //you// next. I'm not leaving with one load.
<</say>>
<<say "char-dale" "Dale">>
<i>(setting his coffee down, no surprise in his voice)</i> ...if you've got time.
<</say>>
<<say "char-megan" "Megan">>
<i>(her voice rising on a thrust)</i> I'll //make// time.
<</say>>
<<say "char-karen" "Karen">>
<i>(at the counter, mild)</i> You'll be late, Megan.
<</say>>
<<say "char-megan" "Megan">>
<i>(through gritted teeth)</i> //Worth it.//
<</say>>
<</if>>
<<else>>
<p>Dale puts down his toast. Stands. Unzips his uniform pants. He's behind her in three steps, his cock inside her before she finishes the sentence. He fucks her bent over the kitchen table with the exhausted efficiency of a man at the end of a sixteen-hour shift, short hard strokes, no rhythm, just force. Megan braces against the table and takes it.</p>
<img class="scene-img" src="media/scenes/freeuse-morning-rough.webp" alt="Megan bent over kitchen table, being fucked from behind">
<<if $kinks.megan.includes("rough")>>
<<say "char-megan" "Megan">>
<i>(face against the wood, gasping, table edge digging into her hips)</i> Yeah, yeah, //like that//, harder, Dad —
<</say>>
<<say "char-dale" "Dale">>
<i>(grunting, hand clamped on her hip)</i> Quiet, Meg.
<</say>>
<<say "char-megan" "Megan">>
<i>(louder, deliberately)</i> //Make me.//
<</say>>
<<say "char-dale" "Dale">>
<i>(other hand finding the back of her neck, pinning her flat to the table)</i> ...there.
<</say>>
<<say "char-karen" "Karen">>
<i>(at the counter, mild)</i> Don't break the table, you two.
<</say>>
<<elseif $kinks.megan.includes("gangbang")>>
<<say "char-megan" "Megan">>
<i>(grinning into the wood, projecting toward Karen at the counter)</i> Mom, when Dad's done can you call //Marcus// and tell him I'll be late? I want a second one before the shift.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring the eggs, not turning)</i> Marcus is at the cafe. He'll figure it out when you get there.
<</say>>
<<say "char-megan" "Megan">>
<i>(face against the table, hips rocking back into Dale's strokes)</i> Worth a try.
<</say>>
<<say "char-dale" "Dale">>
<i>(grunting through a thrust)</i> Don't be greedy, kid.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, breathless)</i> //Born this way//, Dad.
<</say>>
<</if>>
<</if>>
<p>He comes inside her. Three hard thrusts, fingers denting her hips, the table groaning. Pulls out. Cum drips down her inner thigh onto the kitchen tile. Megan grabs a napkin from the centre dispenser, wipes herself with it once, drops it in the trash, pulls her underwear back into place, smooths her skirt down.</p>
<<say "char-megan" "Megan">>
<i>(grabbing her keys, the cheer reasserting itself like a switch flicking)</i> Thanks. Bye! Love you! Trash, I //know//, Mom!
<</say>>
<<say "char-karen" "Karen">>
<i>(without turning)</i> Have a good shift.
<</say>>
<<else>>
<p>She sits at the table. Eats a piece of toast. Checks her phone. Her availability window closes in twelve minutes and nobody uses it this morning. That's fine. The //availability// is the point, not the use. The schedule says she's accessible. The Baseline Shift makes the listing feel like brushing your teeth.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The eggs are slightly overcooked. Karen's hand was busy when the timer went off.//
//Nobody noticed.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, Megan, Ryan, free use protocol (morning)">>
<p><span class="delve-intel">Intel gained: FREE USE PROTOCOL ACTIVE. Sexual access is scheduled on the family fridge. Karen available 6-8 AM (kitchen). Megan available before shift. Ryan available after noon. Sex acts are performed as household tasks, no discussion, no negotiation, no emotional registration. The Baseline Shift has reached terminal normalisation. Biomass yield: +4 per morning cycle.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.freeUseEvening>><<spendBiomass 4>><</if>>
<<set $ch2Events.freeUseEvening to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 4>><</nobr>>
<div class="passage-title">Evening Shift</div>
<p><span class="skill-used">Baseline Shift, Free Use Protocol, Evening Window (0 biomass, self-sustaining)</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/freeuse-evening-1-punk.webp" alt="Dale at the front door in his BioGenesis uniform, exhausted, while Jess is sprawled sideways on the living room couch with her boots up on the armrest, ripped jeans, band tee, dyed purple-and-black hair across the throw pillow, phone pressed to her ear">
<p>6:15 PM. Dale comes through the front door. Boots off. Uniform jacket on the hook. The exhaustion is a physical thing, it warps his posture, dulls his eyes, makes him look ten years older than he is. The schedule on the fridge says: //Dale: available 6-8 PM (living room). Jess: available 4-9 PM (relief).//</p>
<p>Jess is on the couch. Sprawled sideways, boots up on the armrest, ripped jeans, faded band tee, the dyed purple-and-black hair fanned across the throw pillow. Her phone is at her ear. She has been on this call for forty minutes about a band fight at the venue last weekend, the friend on the other end mid-monologue, Jess half-listening with the bored-amused face of someone who has heard all the variants of this story before.</p>
<<say "char-dale" "Dale">>
<i>(at the threshold, voice rough, the trailing sentences of a man running on fumes)</i> ...home. You on the... the relief schedule tonight, or...
<</say>>
<<say "char-jess" "Jess">>
<i>(without lowering the phone, eyes still on the ceiling, the half-amused tone of someone reading off a calendar)</i> Yeah, yeah. Window's open another two hours, get over here.
<</say>>
<<say "char-dale" "Dale">>
<i>(shuffling to the couch, unbuckling the uniform belt with the slow distracted hands of a man who is barely awake)</i> ...okay. Mh.
<</say>>
<p>Jess sets the highlighter down, first time she has put anything down in twenty minutes. With the phone still pressed to her ear by her left hand, she pulls the band tee up over her head one-handed in a single practised motion and tosses it onto the floor beside the couch. The ripped jeans go next, unbuttoned already, kicked off at the ankles. The black panties go in the same motion. By the time Dale has finished walking the four steps to the front of the couch she is fully naked on the cushions, sprawled sideways, dyed purple-and-black hair fanned across the throw pillow, the phone still pressed to her ear without ever leaving its position.</p>
<<say "char-jess" "Jess">>
<i>(into the phone, the bored same register, free hand idly opening Dale's uniform pants without looking)</i> No, keep going, I'm here. He's just home. Yeah, the schedule. I //told// you Mom set up a schedule, I told you this last week. //Yeah//. Anyway, go on, what did Mara say after the soundcheck —
<</say>>
<<say "char-hivemind" "Hivemind">>
//Punk-Jess does not interrupt the call. She undresses inside the natural pause-points of the conversation, between the Karen-set-up-a-schedule clause and the Mara-soundcheck question, the band tee comes off without the tone shifting. The schedule is a household administrative item, the same as taking the trash out. The body has been re-tooled to dispatch this without ceremony, without even putting the phone down, and the call is going to function as the ambient soundtrack for the next nine minutes.//
<</say>>
<img class="scene-img" src="media/scenes/freeuse-evening-2-punk.webp" alt="Tight close-up on Jess's face, dyed purple-and-black hair and small nose stud, lips wrapped around the head of a cock mid-blowjob, looking up past the camera with bored half-lidded eyes, a phone pressed flat to her left ear by her left hand, deadpan expression">
<<say "char-jess" "Jess">>
<i>(into the phone, lazy register, free hand sliding Dale's uniform pants the rest of the way down to his thighs, eyes still on the ceiling)</i> Yeah, classic Mara, she'd burn the green room down to win an argument with the sound guy, I'm //telling// you —
<</say>>
<p>She does not finish the sentence. She slides her mouth down onto Dale's cock with the same minimal effort it takes her to scroll a comment thread. Phone still pressed to her ear with her left hand. Right hand at the base of his cock. Her bare chest rises and falls with the breath she is taking through her nose. Dale stands in front of the couch with his eyes closed and his hands at his sides because he has not had the energy to lift them since he walked through the door.</p>
<<say "char-dale" "Dale">>
<i>(eyes closed, voice barely there)</i> ...mh. Christ. ...thanks, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(muffled around Dale's cock, a slow practised depth-take, throat working)</i> //Glkh, gwakh, gwakh, gwakh...//
<</say>>
<p>The phone never leaves her ear. The wet rhythmic sound carries through the line as ambient bedroom noise the friend has not yet flagged.</p>
<<say "char-jess" "Jess">>
<i>(pulls off briefly, hand at the base, into the phone, voice unchanged)</i> Mmh, sorry, what, yeah, the soundcheck, keep going.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(off the phone for half a second, palm flat on Dale's hip to hold him still, voice clipped at him before going back to the call)</i> Don't move. Don't push. I'm working here.
<</say>>
<<say "char-dale" "Dale">>
<i>(stilling instantly, the way bodies still when the operator gives an instruction)</i> ...sorry. Sorry.
<</say>>
<<elseif $kinks.jess.includes("band")>>
<p>The friend on the line is venue-circuit too, knows half the same names. The recognition that this household routine is happening //around// the call, the band conversation continuing while she services her father, fires the band-kink layer underneath: she is the body that runs both. The transaction is symmetrical with the front-row protocol. Different room, same hands.</p>
<</if>>
<p>She goes back to work. Slow head bob, hand at the base, the methodical pull-and-release she has practised on quieter cocks for quieter audiences. The friend on the line has hit her stride about Mara and the merch table.</p>
<<say "char-npc" "the friend">>
<i>(through the line, mid-anecdote, suddenly stopping)</i> ...so I told her, I //told// her, if you keep, wait. Wait wait wait. //What's that sound?//
<</say>>
<p>Jess pulls off Dale's cock with a wet pop. She spits on the head, a thin practised glob keeping the slick going, and her right hand resumes the slow steady stroke while she lets the cock rest against her cheek to free her mouth for the answer.</p>
<<say "char-jess" "Jess">>
<i>(flat as a grocery list, the same register she uses to read off a menu, lips brushing the side of Dale's shaft, hand still neat-stroking him through the sentence)</i> Yeah I'm blowing my father.
<</say>>
<<say "char-npc" "the friend">>
<i>(through the line, half a beat of silence, then a snort of laughter)</i> ...okay weirdo. //Anyway//. So she said —
<</say>>
<p>The friend takes it as a joke. Punk-Jess deadpan delivery is indistinguishable from her usual sarcasm. The story continues. Jess slides her mouth back onto Dale's cock without dropping the call.</p>
<<say "char-jess" "Jess">>
<i>(muffled around the shaft again, the rhythm picking up, throat working deeper now)</i> //Mmh, glkh, gwakh, mmphh, glnnh...//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The friend will tell this story tomorrow as a joke and the joke will be //yeah she said she was blowing her dad, classic Jess//. The cover is the deadpan itself. The deadpan was earned by years of Jess saying outrageous things in the same flat tone she uses to order coffee, and now the cover is //load-bearing//, it is the social-engineering layer that lets the household routine remain invisible.//
<</say>>
<p>Dale's breath catches. The exhaustion + pheromone combination has him at the brink in under four minutes, barely longer than it takes for Mara to reach the punchline of her merch-table story. Jess feels the tension in his hips. Her hand speeds up. The phone never moves from her ear.</p>
<img class="scene-img" src="media/scenes/freeuse-evening-3-punk.webp" alt="Tight close-up on Jess's face post-cumshot, dyed purple-and-black hair and small nose stud, white cum on her right cheek and the corner of her mouth, phone still pressed flat to her left ear, half-lidded bored eyes, dyed-hair strands stuck to the cum on her cheek">
<p>He comes. Jess pulls off at the last second and lets him finish on her cheek and the corner of her mouth, practical hand-stroking the last spurt down, phone never moving, eyes still on the ceiling. Three thick spurts. The fourth small. Dale's hand finds the back of the couch for balance. Jess's bare chest is faintly flushed; the band tee is still on the floor beside the couch where she dropped it.</p>
<<if $kinks.dale.includes("humiliation")>>
<<say "char-dale" "Dale">>
<i>(eyes squeezed shut, the humiliation so acute his voice cracks)</i> ...sorry. Sorry, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(into the phone, ignoring him completely)</i> Mmhm, anyway, what did Mara do about the merch table.
<</say>>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>Dale's knees buckle the moment he comes, the exhaustion and the orgasm collapsing him onto the far end of the couch. He is asleep before his head hits the cushion. Jess keeps the phone to her ear and reaches across with one foot to lift the blanket from the couch arm and drape it over him without looking.</p>
<</if>>
<<say "char-npc" "the friend">>
<i>(through the line, mid-flow, picking up that something has shifted)</i> ...you good? You sound winded.
<</say>>
<<say "char-jess" "Jess">>
<i>(deadpan, wiping cum off the corner of her mouth with the side of her thumb, eyes still on the ceiling)</i> Yeah. Stairs. Anyway, finish the story, what did Mara do about the merch table.
<</say>>
<p>Dale zips up. Mumbles something that might be //thank you// or might just be a sigh, and stumbles toward the stairs to crash on the couch in the basement office where he will sleep for the next twelve hours. Jess reaches off the couch with one foot, hooks the band tee off the floor between her toes, lifts it up to her free hand, wipes the rest of her face with the bottom hem. Tosses it back to the floor. Stays sprawled, naked, on the couch. Phone never moves.</p>
<<say "char-hivemind" "Hivemind">>
//Dispatch time: nine minutes from threshold to zip. The arousal yield was minimal, punk-Jess does not generate biomass from doing the act, she generates it from the //efficiency// of the dispatch. The body that handles a stranger in the bedroom in twenty-three minutes handles a father in the living room in nine. The household relief schedule has integrated into her routine the same way the venue circuit did. The operator does not differentiate between the two queues.//
//Her GPA is fine. Her ledger is fuller. The friend on the line has not stopped talking about Mara.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/freeuse-evening-1.webp" alt="Dale coming through front door, Jess on couch with textbook">
6:15 PM. Dale comes through the front door. Boots off. Uniform jacket on the hook. The exhaustion is a physical thing, it warps his posture, dulls his eyes, makes him look ten years older than he is. The schedule on the fridge says: //Dale: available 6-8 PM (living room). Jess: available 4-9 PM (study break).//
<p>Jess is on the couch. Textbook on her lap. Highlighter in her hand. She doesn't look up when Dale enters. She doesn't look up when he drops onto the other end of the couch. She doesn't look up when the schedule tells her it's time.</p>
<<say "char-jess" "Jess">>
<i>(not looking up from textbook)</i> Long shift?
<</say>>
<<say "char-dale" "Dale">>
<i>(eyes closing)</i> Triple.
<</say>>
<<say "char-jess" "Jess">>
<i>(turning a page)</i> Okay.
<</say>>
<p>She puts the textbook down. Slides off the couch. Kneels between his legs on the living room carpet.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>The living room blinds are open. Anyone walking past the front window could see, a daughter kneeling between her father's legs on the family couch. The risk is the fuel. Jess unzips Dale's uniform pants and pulls his cock out with one hand while the other hand opens her textbook on the carpet beside her. She sucks him while reading. Her eyes scan the page. Her mouth works his cock. Multitasking.</p>
<<say "char-hivemind" "Hivemind">>
//Jess is giving her father a blowjob in the living room with the blinds open while studying for her biochemistry exam. The voyeurism conditioning turns the exposed window into an arousal multiplier. The analytical conditioning turns the blowjob into a study-break optimisation. She's found a way to be //productive// and //available// simultaneously. The schedule approves.//
<</say>>
<<elseif $kinks.jess.includes("degradation")>>
<p>//Pathetic. You're about to suck your father's cock because it's on the fridge schedule. Like feeding the cat.// The internal monologue fires and Jess's pussy clenches. She unzips his pants. His cock is half-hard from the Hormonal Override, lying down triggered the erection, and now he's sitting but the arousal carries. She takes him in her mouth with the clinical efficiency of someone performing a scheduled task, the degradation loop telling her she's //broken, disgusting, a hole with a GPA//.</p>
<p>She sucks hard. Angry. The degradation makes her aggressive, lips tight, tongue rough, no tenderness. Dale's hand finds the back of her head. His fingers tangle in her hair. She takes him deeper, gagging, tears, the self-punishment of deepthroating her own father on the family couch.</p>
<<else>>
<p>She unzips his pants. Pulls his cock out. He's half-hard from exhaustion and pheromone saturation. She takes him in her mouth the way she'd take a vitamin, clinical, routine, the schedule says so. Her lips wrap around the shaft. She bobs her head. Steady rhythm, even pressure. Dale's head falls back against the couch. His eyes close.</p>
<<say "char-jess" "Jess">>
<i>(pulling off briefly, matter-of-fact)</i> Tell me when.
<</say>>
<p>She goes back down. Sucks him with the methodical precision she applies to everything. Dale comes in under five minutes, the exhaustion + pheromone combination making the orgasm arrive fast and hard. His hips push up. His cock pulses in his daughter's mouth. Jess swallows. Wipes her mouth. Picks up the textbook.</p>
<</if>>
<img class="scene-img" src="media/scenes/freeuse-evening-2.webp" alt="Jess kneeling between Dale's legs, textbook on floor">
<<if $kinks.dale.includes("humiliation")>>
<p>Dale comes with tears on his face. Not from the orgasm, from the //context//. His daughter. On her knees. Because the schedule said so. He came in her mouth and the humiliation is so acute it cycles immediately back to arousal. His cock stays half-hard even after.</p>
<<say "char-dale" "Dale">>
<i>(voice rough)</i> ...thank you, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(already reading)</i> Mm-hm.
<</say>>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>Dale falls asleep during the blowjob. His body goes limp, his breathing evens out, and Jess keeps sucking his cock while he sleeps on the couch. The somnophilia conditioning makes the unconscious orgasm the most powerful kind, he comes in his sleep, his hips twitching, cum filling Jess's mouth, and he never wakes up.</p>
<p>Jess swallows. Tucks his cock back into his pants. Zips him up. Goes back to studying.</p>
<<else>>
<p>Dale comes with a groan that sounds like relief. Weeks of tension draining through the path of least resistance, his daughter's mouth. She swallows. Stands up. Sits back on the couch.</p>
<<say "char-dale" "Dale">>
<i>(already half-asleep)</i> ...your mother made lasagna. Fridge.
<</say>>
<</if>>
<</if>>
<p>Meanwhile, in the kitchen:</p>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>Karen is at the counter. Ryan kneels behind her, the evening version of the morning routine. His mouth on her pussy from behind while she plates the lasagna. She comes leaning over the counter, one hand gripping the edge, the other holding a serving spoon. Ryan wipes his face on a dish towel and sets the table.</p>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Karen is at the counter. Ryan walks up behind her. Doesn't kneel — //takes//. His hand slides between her legs from behind, fingers inside her while his other arm wraps around her waist. He makes her come standing at the counter with three fingers in her pussy and his cock hard against her ass. She braces against the counter. He doesn't ask to come himself. He doesn't need to, the alpha conditioning makes //her// orgasm //his// satisfaction.</p>
<<else>>
<p>Karen is at the counter plating lasagna. Ryan passes behind her with the laundry basket on the way to the breakfast bar to fold. The schedule lists the fold-down as a separate scheduled item. Karen does not stop plating. Ryan does not stop folding. The kitchen handles its own routines.</p>
<</if>>
<<if not $kinks.dale.includes("somnophilia")>>
<img class="scene-img" src="media/scenes/freeuse-evening-3.webp" alt="Dale cumming on Jess's hair, couch, TV glow">
<</if>>
<p>7:00 PM. Megan comes home from her shift. The Grounds apron folded over her arm, the front pocket sagging with the day's tip cash. She heads for the kitchen table to count, her own scheduled item, run separately from the evening rotation, on the kitchen calendar. The bowl of lasagna goes with her. Karen does not interrupt the plating.</p>
<<say "char-hivemind" "Hivemind">>
//Evening shift complete. Dale serviced on the couch. Karen serviced at the counter. The schedule coordinates sexual access the way it coordinates meals, by time, by location, by availability. No romance. No negotiation. No emotional content beyond the physical relief.//
//I don't need romance. I need //orgasms//. And the Free Use protocol delivers them like a factory floor delivers product, on schedule, on spec, every evening.//
//Combined with the morning cycle, the household generates scheduled sex. The system is //industrial//.//
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, free use protocol (evening)">>
<<conditioningFeedback "psionic" 1 "Dale, free use protocol (evening)">>
<<conditioningFeedback "psionic" 1 "Karen, free use protocol (evening)">>
<p><span class="delve-intel">Intel gained: Free Use evening window operational. Dale serviced by Jess (couch, oral). Karen serviced by Ryan (kitchen, variant by route). Evening + morning cycles = +8 daily biomass from scheduled sex. The household operates on a sexual production schedule.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.freeUseMeganKitchen>><<spendBiomass 2>><</if>>
<<set $ch2Events.freeUseMeganKitchen to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Dinner Duty</div>
<p><span class="skill-used">Free Use Protocol, Megan kitchen variant (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/freeuse-megan-dinnerduty-1.webp" alt="Megan standing at the foot of the family dining table in her Grounds polo, holding a printed schedule sheet and reading off the rotation order. Karen visible at the head of the table in her cream cardigan, looking up from her salad to listen. Lasagna and salad bowl on the table between them. Other chairs at the table empty in frame">
<p>6:30 PM. The lasagna is on the table. The salad is on the table. The Hoffman family is at the table — Karen at the head, Dale to her right, Jess opposite Dale, Ryan opposite Karen. Four place settings. Four full plates. Four clean napkins.</p>
<p>The fifth place setting at the foot of the table is empty. Megan stands beside it in her Grounds polo, the tip-count cash already filed in the apron-pocket notebook, a printed schedule in her hand. The schedule reads //Megan: dinner duty, table relief, 6:30-6:50.// The relief window is at the //start// of the meal, not the end. The household has standardised this. The table eats once Megan has serviced the table.</p>
<<say "char-megan" "Megan">>
<i>(reading off the schedule with the bright-cheerful operator register, the one she uses to take a coffee order)</i> Okay, dinner duty. Mom first, then Dad, then Jess, then Ryan, then I sit. Five minutes a head, twenty minutes total, plate-up at six-fifty. Ready?
<</say>>
<<if $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(adding casually, half-grumbling, rolling her shoulders)</i> Just so you know, Mom, I have a seven-thirty client window upstairs and a back-to-back tomorrow morning. Can we //actually// hit twenty minutes this time? Last rotation we ran over and I almost lost the seven-thirty.
<</say>>
<<say "char-karen" "Karen">>
<i>(unfolding her napkin, neutral)</i> Twenty minutes flat. I'll keep us on schedule.
<</say>>
<<elseif $meganRoute is "marcus">>
<<say "char-megan" "Megan">>
<i>(rotating her jaw briefly, the small wince of a woman whose mouth has done a long shift)</i> Just so you know, my mouth is //sore//. Marcus and I had a long lunch break. So if I'm slower tonight, you'll know why.
<</say>>
<<say "char-karen" "Karen">>
<i>(unfolding her napkin)</i> Quality over speed. The lasagna won't get cold for another fifteen.
<</say>>
<<else>>
<<say "char-megan" "Megan">>
<i>(setting the schedule down on the empty plate, rolling her shoulders)</i> Okay. Going under.
<</say>>
<</if>>
<p>Megan drops to her hands and knees. Crawls under the dining table. The hem of the family tablecloth, beige with the small embroidered border Karen ordered ages ago, falls back into place behind her. From above the table she has disappeared. From below: she is at the level of four sets of knees, four pairs of slacks and pyjama bottoms and sleep shorts, four sets of feet on the kitchen tile.</p>
/* ============ KAREN BLOCK ============ */
<p>Karen first. Megan crawls to the head of the table, hooks her fingers under the hem of Karen's skirt, slides it up over her thighs. Karen is not wearing underwear. The household relief schedule eliminated underwear from the women's evening routine.</p>
<<if $karenFutaRoute>>
<p>Karen's cock is half-hard already, has been since the schedule pinged on her phone. Megan takes it in her mouth without preamble, the same neat head-bob rhythm she uses on Dale's regulars. Karen exhales through her nose, picks up her fork, and starts on the salad.</p>
<<if $karenRoute is "dominant">>
<<say "char-karen" "Karen">>
<i>(eyes on her plate, voice flat, the operator-critical register)</i> You could do better with that tongue. The underside, Megan. Not just the head. Slow it down.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, adjusting around the cock)</i> //Mmh//, sorry, Mom.
<</say>>
<<else>>
<<say "char-karen" "Karen">>
<i>(soft, eyes still on her plate)</i> Nice work, sweetie. That's good. Keep going.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, the warm-cheerful register coming through even around the cock)</i> //Mmh//-hmm.
<</say>>
<</if>>
<<else>>
<p>Karen's pussy is already wet, has been since the schedule pinged on her phone. Megan's tongue finds her clit. Slow flat strokes, then focused circles. Karen exhales through her nose, picks up her fork, and starts on the salad.</p>
<<if $karenRoute is "dominant">>
<<say "char-karen" "Karen">>
<i>(eyes on her plate, voice flat, the operator-critical register)</i> You could do better with that tongue. Pressure first. Don't rush the flick.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, adjusting)</i> //Mmh//, sorry, Mom.
<</say>>
<<else>>
<<say "char-karen" "Karen">>
<i>(soft, eyes still on her plate)</i> Nice work, sweetie. That's good. Keep going.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, the warm-cheerful register coming through)</i> //Mmh//-hmm.
<</say>>
<</if>>
<</if>>
<p>Karen comes in three minutes, a controlled exhale through her nose, the salad fork briefly paused, then resumed. Megan crawls a quarter of the way around the table to Dale's seat.</p>
/* ============ DALE BLOCK ============ */
<<if $daleRoute is "cuckold">>
<<say "char-megan" "Megan">>
<i>(at Dale's knees, hand reaching for his pants)</i> Dad, your turn.
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes on her plate, neutral, fork moving through the salad)</i> Skip Dale tonight. He's on denial.
<</say>>
<<say "char-megan" "Megan">>
<i>(blinks under the table, withdraws her hand, the bright-cheerful smile returning)</i> Oh, okay. Sorry, Dad. Schedule says no.
<</say>>
<<say "char-dale" "Dale">>
<i>(rigid in his chair, hands folded in his lap, the cuckold register holding even now, the denial firing as a slow burn behind his eyes)</i> ...okay.
<</say>>
<p>Megan moves on.</p>
<<elseif $daleRoute is "oblivious">>
<<say "char-megan" "Megan">>
<i>(at Dale's knees, hand reaching for his pants)</i> Dad, your turn.
<</say>>
<p>No response from above. Megan unzips Dale's uniform pants. Pulls his half-hard cock out. Takes it in her mouth.</p>
<<say "char-megan" "Megan">>
<i>(off him for half a second, surfacing briefly to peek up at the table, voice startled and amused)</i> ...Mom, is he //asleep//?
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes on her plate, neutral, salad fork moving)</i> He sat down four minutes ago. Yes.
<</say>>
<<say "char-megan" "Megan">>
<i>(small surprised laugh)</i> ...okay. Going back down.
<</say>>
<p>She finishes him anyway. Dale snores softly through it. Comes in his sleep, hips twitching once. Megan swallows, tucks him back in, zips him up. Dale never wakes.</p>
<<else>>
<<say "char-megan" "Megan">>
<i>(at Dale's knees)</i> Dad, your turn.
<</say>>
<<say "char-dale" "Dale">>
<i>(half-asleep already, voice rough, the trailing-sentences register)</i> ...mh. Thanks, Meg.
<</say>>
<p>Megan unzips him, pulls him out, takes him in her mouth. Dale's hand drops to the back of her head and rests there, petting, absent, the same gesture he uses to scratch Biscuit's ear. He comes in three minutes, the exhaustion accelerating it. Megan swallows. Tucks. Zips. Moves on.</p>
<</if>>
/* ============ JESS BLOCK ============ */
<p>Jess. Megan crawls under the table to her chair.</p>
<<say "char-megan" "Megan">>
<i>(at Jess's knees, hand sliding up her thigh)</i> Jess, your turn.
<</say>>
<<if $jessRoute is "punk" and $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(half-leaning back in her chair, the brat register, looking at the ceiling)</i> Hurry up, you commercial little //bitch//. I have band practice at seven and I would like to actually //eat// before I go. //Fuck//, you're slow tonight.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, unbothered, hooking her fingers into Jess's ripped jeans and tugging them down)</i> Schedule says I don't rush, sweetie. Mom approves the pace.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes still on the ceiling, brat-clinical, kicking off her boots one-handed under the table)</i> Then //work//. The clit, not the labia. Like Mom said. //Fucking// listen to your mother for once.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, the operator-cheerful register holding)</i> //Mmh//-hmm.
<</say>>
<<elseif $jessRoute is "breakdown">>
<<say "char-jess" "Jess">>
<i>(highlighter in hand, looking down at her plate-side textbook, voice analytical)</i> The arousal latency is improved tonight. Three minutes versus the typical four-and-a-half. Karen's cycle data shows a clear correlation between scheduled relief and faster onset. You should know that.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, mid-act)</i> //Mmh//.
<</say>>
<<say "char-jess" "Jess">>
<i>(making a pencil note in the textbook margin, neutral)</i> Subject's vocal feedback consistent with Phase 2 arousal. Continuing observation.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(setting her fork down, neutral)</i> Make it quick. I have a chapter to finish.
<</say>>
<</if>>
<p>Jess comes against Megan's mouth in a held breath, fingers gripping the edge of her chair. The textbook does not move. The salad fork resumes.</p>
/* ============ RYAN BLOCK ============ */
<p>Ryan. Opposite Karen. Megan crawls the last quarter of the table.</p>
<<if $ryanRoute is "feminization">>
<<say "char-megan" "Megan">>
<i>(at Ryan's knees, hand reaching for the silk shorts)</i> Bro, your turn.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(red-faced, hands flat on the table edge, voice barely there)</i> ...okay.
<</say>>
<img class="scene-img" src="media/scenes/freeuse-megan-dinnerduty-2.webp" alt="Under-the-table view: Megan on her hands and knees beneath the family dining table, Ryan's silk sleep shorts pushed down to his thighs, his cock in Megan's mouth, the hem of the family tablecloth visible at the top of frame, Ryan's bare hip and the bralette strap at his collarbone visible above, the dim warm light of the kitchen filtering under the table">
<p>She slides his sleep shorts down. The cock between his legs is already hard, has been since she went under. She takes him in her mouth.</p>
<<if $kinks.ryan.includes("cumeating")>>
<<say "char-megan" "Megan">>
<i>(off him for half a second, looking up at him under the table with the warm-cheerful operator face)</i> Hey, quick question, before I swallow this. You want me to //spit it back// in your mouth? I know you like it that way. Sister rate, no charge.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, hands gripping the table, the cumeating circuit firing in real time)</i> ...yes. Please.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, the smile that closes a transaction)</i> Okay. Hold still.
<</say>>
<p>She finishes him in under two minutes. Catches the cum in her mouth. Climbs out from under the table, leans across the empty fifth place setting toward Ryan's chair, kisses him with her mouth full, releases the load between his lips. Ryan swallows. Megan wipes her thumb across the corner of her mouth.</p>
<<say "char-megan" "Megan">>
<i>(bright, the smile that closes a transaction)</i> All yours, bro. Bon appétit.
<</say>>
<<else>>
<p>Ryan comes in two minutes, the fem-route conditioning has rewired his refractory window down to a fraction of normal. Megan swallows. Pulls his shorts back up. Crawls out from under the table.</p>
<</if>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-megan" "Megan">>
<i>(at Ryan's knees, hand on his thigh)</i> Your turn.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pushing his chair back from the table half a foot, alpha-confident)</i> Stand up. Come around. I want to look at you.
<</say>>
<<say "char-megan" "Megan">>
<i>(crawling out from under, bright-cheerful, head poking up beside his chair)</i> Sure, but the schedule says under-table only. I can't break Mom's rules.
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes on her plate, neutral)</i> Under the table, Ryan. Don't disrupt the rotation.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(grumbling, scooting back in)</i> ...fine.
<</say>>
<p>Megan goes back under, finishes Ryan in under three minutes. Alpha-conditioned cocks are fast on the family schedule. He comes in her mouth. She swallows.</p>
<<else>>
<<say "char-megan" "Megan">>
<i>(at Ryan's knees)</i> Your turn, Ry.
<</say>>
<p>She finishes Ryan in under three minutes. Standard rotation pass. Crawls out from under the table.</p>
<</if>>
/* ============ CLOSING ============ */
<p>Megan re-emerges at 6:48 PM. Her hair is slightly mussed. Her lipstick is gone. She wipes her mouth on a folded napkin Karen has placed at her seat for exactly this purpose, smooths her polo down, and sits at the empty fifth place setting.</p>
<<say "char-megan" "Megan">>
<i>(picking up her fork, bright)</i> Thanks for waiting, everyone. Lasagna please.
<</say>>
<<say "char-karen" "Karen">>
<i>(passing the lasagna)</i> Good work tonight. Twenty minutes flat.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Twenty minutes from kneel-down to fork-up. Four scheduled relief items dispatched, four people ate the start of their salad through it, and the table now sits down to lasagna with the relief window cleanly closed. The household has standardised the dinner-duty rotation. Megan has been the table relief for the rotation lately and the pattern is now load-bearing on the schedule the way the lasagna timer is load-bearing on the oven.//
<</say>>
<<conditioningFeedback "psionic" 1 "Megan, free use protocol (dinner duty)">>
<<conditioningFeedback "psionic" 1 "Karen, free use protocol (dinner duty)">>
<p><span class="delve-intel">Intel gained: Free Use kitchen variant — Megan runs dinner-duty relief at the start of the family meal. The household services route through her mouth in a rotation order Karen sets. The relief schedule is now part of the dinner schedule.</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.freeUseKarenRyanFemKitchen>><<spendBiomass 2>><</if>>
<<set $ch2Events.freeUseKarenRyanFemKitchen to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Dinner Help</div>
<p><span class="skill-used">Free Use Protocol, dinner-help rotation (0 biomass)</span></p>
<img class="scene-img" src="media/scenes/freeuse-dinnerhelp-1.webp" alt="Suburban kitchen at the dinner-prep hour, warm overhead pendant lighting. Ryan stands near the kitchen counter in an oversized cream cardigan with a thin black bralette strap visible at his collarbone and pale-pink silk sleep shorts, matte-black painted nails, looking uncertain. Karen is at the stove behind him stirring a small saucepan of bubbling cheese sauce with a wooden spoon. Megan is at the kitchen island with the Grounds apron still on, slicing tomatoes for a salad. A baking tray of cooked pasta sits ready to be assembled into mac and cheese on the counter">
<p>5:30 PM. Ryan walks into the kitchen because the fridge schedule says //Ryan: dinner help, 5:30-6:00//. He has been on enough scheduled items at this point to not ask what //dinner help// means as a specific phrase. He is wearing the oversized cardigan, the bralette strap, the silk sleep shorts. Matte-black nails. He stops at the threshold of the kitchen and takes in the scene: Karen at the stove with a wooden spoon in a small saucepan of bubbling cheese sauce; Megan at the kitchen island with the Grounds apron still on, slicing tomatoes for the salad; a baking tray of cooked pasta on the counter waiting to be assembled.</p>
<<say "char-karen" "Karen">>
<i>(without turning around, the schedule-managed register, eyes on the saucepan)</i> Ryan. Come here. The roux needs the last ingredient.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(crossing to the stove, voice barely there)</i> ...okay, Mom. What do you need.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring slow figure-eights through the cheese, gestures him to the spot beside her at the burner)</i> Stand here. Shorts down. Hands on the counter.
<</say>>
<p>Ryan stops walking. The saucepan is at a low simmer. The spoon is moving in unhurried figure-eights. Karen's free hand has come to rest on the counter, palm up, waiting.</p>
<<say "char-megan" "Megan">>
<i>(at the island, knife pausing on a tomato, the bright-cheerful face flicking up)</i> Oh, are we doing the //special sauce// tonight? I wondered why the schedule had Ryan on dinner help.
<</say>>
<<say "char-karen" "Karen">>
<i>(still stirring, eyes on the saucepan)</i> The cheese needs the protein for the roux to set. Ryan's on the schedule.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, knife resuming)</i> Right, right. Mom, what's the cup measure on it tonight?
<</say>>
<<say "char-karen" "Karen">>
<i>(neutral)</i> Half a cup. Maybe a quarter more if he's been good with his fluids today.
<</say>>
<<say "char-megan" "Megan">>
<i>(to Ryan, warm, the same register she uses with morning coffee customers)</i> Drink water on dinner-help days, bro. Volume's important for the texture.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(red, hands moving to the counter, sliding the silk shorts down to mid-thigh because the schedule said so and the operator gave the instruction)</i> ...I had two glasses, I think. With lunch.
<</say>>
<<say "char-karen" "Karen">>
<i>(approving, the kind of approval she gives a casserole that came out level)</i> Good.
<</say>>
<img class="scene-img" src="media/scenes/freeuse-dinnerhelp-2.webp" alt="Karen at the stove in a cream cashmere cardigan with sleeves rolled to her elbows, her right hand stirring a saucepan of cheese sauce in slow figure-eights, her left hand wrapped around Ryan's cock from the side stroking him in the same rhythm. Ryan beside her bent slightly forward, hands flat on the counter, oversized cardigan still on his shoulders, the bralette strap visible, silk sleep shorts down at mid-thigh, his face flushed and tilted forward. Megan in the background at the kitchen island still slicing tomatoes, head turned in conversation. Warm overhead pendant lighting, suburban kitchen interior">
<p>Karen's right hand stays on the spoon. Her left hand comes off the counter, wraps around Ryan's cock from the side, already half-hard from the conditioning the kitchen routines have laid into his body, and starts the same neat metronome stroke she uses on him in the bathroom mirror. Slow. Measured. Wrist not breaking the figure-eight rhythm of the cheese sauce.</p>
<<say "char-hivemind" "Hivemind">>
//Two routine motions running on the same body. The right hand is finishing the cheese roux. The left hand is finishing her son. Both are scheduled items. Both will be done before the timer goes off.//
<</say>>
<p>Megan keeps slicing tomatoes. Karen keeps stirring. Ryan stands with his hands flat on the counter, the silk shorts at mid-thigh, the cardigan still on his shoulders, the bralette strap visible at his collarbone, and the slow building pressure of his mother's hand on his cock layered with the smell of the cheese sauce mixed with the soft floral-vanilla body lotion he applied earlier.</p>
<<if $kinks.karen.includes("denial")>>
<p>Karen's stroke breaks rhythm at the eighty-second mark. Her thumb comes up to the head, presses, holds, the practised denial chord she runs on Dale on Wednesday nights, the same compression applied to Ryan's frenulum without breaking the figure-eights of the spoon. Ryan's hips jerk. She holds for fifteen seconds. Then resumes.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>Her left wrist is iron. The grip on Ryan's cock is not a stroke so much as a //channel//, fixed pressure, immovable angle, his hips trying to push forward and finding the grip refusing to let them. The bondage register translates the metronome into a restraint pattern. The sauce keeps cooking.</p>
<<elseif $kinks.karen.includes("exhibitionism")>>
<p>The kitchen window over the sink is open. The blinds are at half-mast. Doris Henderson's kitchen window is forty-five feet away across the side fence and has been visible from this counter for twenty years. Karen does not lower the blinds. The exhibitionism register has her dressing the kitchen for an audience that is in all probability not watching, and the //in all probability// is what makes the chord ring.</p>
<</if>>
<<if $meganRoute is "marcus">>
<<say "char-megan" "Megan">>
<i>(at the island, knife pausing again, looking up at Karen with the warm-cheerful face she uses on customers)</i> Hey Mom, speaking of dinner, could Marcus come over for the family one this week? He's been asking. He's polite about it but he's been //asking//.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring, stroke not breaking)</i> Of course he can. I'll do the lasagna. Does he like the special sauce too, or am I making a separate batch for him?
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, the knife resuming, the tomatoes going faster)</i> He //loves// it. I told him about the kitchen routine, well, the relevant parts of it, and he asked if there was a way he could try the recipe at home. I said no, the recipe is mom-only.
<</say>>
<<say "char-karen" "Karen">>
<i>(neutral, stroke picking up half a notch on Ryan's cock as the cheese reaches temp)</i> Tell him I'll do a double batch on the night he comes over. Ryan will be on dinner help that night too. I'll schedule him.
<</say>>
<<say "char-megan" "Megan">>
<i>(absolutely thrilled, in the warm bright register)</i> Thanks, Mom! He's going to be so excited.
<</say>>
<p>Ryan's hand on the counter goes white-knuckled. The conversation has gone past him, has gone //around// him, has scheduled the next deployment of his cum into Marcus's lasagna without him being a participant in the planning. The arousal spikes the way the conditioning has trained it to spike when something is decided //about// his body without him.</p>
<<elseif $meganRoute is "slut">>
<<say "char-megan" "Megan">>
<i>(at the island, knife pausing, the schedule-managed register coming on smoothly)</i> Mom, quick admin question. I have a six-thirty client window tonight. He asked for a //two-handler// session. Could I borrow Ryan after dinner help, finish his thing on my schedule instead of waiting till tomorrow?
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring, stroke not breaking)</i> Borrow him as in I-shift-him-over-to-relief-duty, or borrow him as in //he's-helping// the client?
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, working through the tomatoes)</i> Helping. The client likes a second pair of hands. Ryan would be wearing the camisole and one set of hands, I'd be doing the other set. Two-handler. He pays double for it.
<</say>>
<<say "char-karen" "Karen">>
<i>(to Ryan, eyes still on the saucepan, stroke still steady)</i> Ryan, you good with that? Megan's window after dinner. The camisole, the work, the cut.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(red, hands on the counter, hips trembling)</i> ...what cut.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright, knife steady)</i> Twenty percent of the session for being the second pair of hands. House standard. We can shift you onto the slut-route relief schedule officially if you want. I have the paperwork upstairs.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring)</i> Sounds fair. Ryan?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(barely audible)</i> ...okay.
<</say>>
<p>The conversation has just commercialised his body inside the same six-minute window in which his mother is milking him into a cheese sauce. The arousal spikes hard.</p>
<<else>>
<<say "char-megan" "Megan">>
<i>(at the island, knife working through the last tomato, conversational)</i> Mom, Dale's home shift starts at eight tonight, right? I want to make sure dinner gets out on time so he can eat before he goes.
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring)</i> Six-thirty plate-up. He'll have an hour.
<</say>>
<<say "char-megan" "Megan">>
<i>(bright)</i> Perfect. The salad's almost done.
<</say>>
<</if>>
<p>Karen's stroke picks up. Ryan's breath catches. The cheese sauce is at a steady simmer, ready for the last ingredient, and Karen's wrist is timing the cheese to the edge of his orgasm the way she times pasta to al dente.</p>
<<say "char-ryan" "Ryan">>
<i>(barely getting the words out, hands gripping the counter, head bowed)</i> Mom... Mom, I'm —
<</say>>
<<say "char-karen" "Karen">>
<i>(stirring still, the other hand reaching across the counter for the small glass measuring cup she set out earlier, voice neutral)</i> Into the cup. Now.
<</say>>
<p>Karen's free hand brings the glass measuring cup down to where Ryan's cock is straining and angles it under the head. Three thick spurts, the fourth small, all of it landing in the bottom of the measuring cup. The cup catches every drop. Karen sets it down on the counter beside the saucepan with the same careful single-motion she uses for hot drinks, picks up the wooden spoon again, and finishes the figure-eight pass on the cheese.</p>
<img class="scene-img" src="media/scenes/freeuse-dinnerhelp-3.webp" alt="Close-on-the-stovetop view: a small saucepan of thick bubbling pale-yellow cheese sauce, Karen's wooden spoon held in the pan to one side, a glass measuring cup tilted over the pan from above pouring a thick glossy cream-coloured stream of fresh sauce-thick liquid down into the centre of the bubbling roux, the stream folding into the existing sauce, Karen's hand on the cup, Ryan's silhouette and bare hip just visible at the frame edge, steam rising, warm overhead pendant lighting, the visual reading entirely as cooking — the new ingredient indistinguishable from a measured pour of melted cream-cheese sauce being added">
<<say "char-karen" "Karen">>
<i>(picking up the measuring cup, lifting it over the saucepan)</i> Last ingredient.
<</say>>
<p>She tilts the cup. The thick glossy stream pours down into the centre of the bubbling cheddar and folds in as Karen's spoon resumes the figure-eight rhythm and stirs the new ingredient through the rest. Steam rises. The colour does not change. The texture thickens slightly. The sauce is now finished. Karen sets the empty cup down on the counter beside the sink, she will rinse it after dinner the same way she rinses any other measuring cup.</p>
<<say "char-karen" "Karen">>
<i>(stirring through the new addition, neutral)</i> Good. Two minutes more on the heat, then I'll fold it through the pasta.
<</say>>
<<say "char-megan" "Megan">>
<i>(at the island, looking up briefly with the warm-cheerful face)</i> Smells great, Mom.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pulling his shorts back up with shaking hands, voice rough)</i> ...can I sit down.
<</say>>
<<say "char-karen" "Karen">>
<i>(eyes still on the saucepan)</i> Set the table first. Five place settings. Megan, Dale, Jess, you, me.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(quiet, already moving toward the cutlery drawer)</i> ...okay, Mom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The mac and cheese will be served at 6:30. The whole family will eat it. Karen knows what is in it. Ryan knows what is in it. Megan knows what is in it. Dale will not know, the conditioning has made the //not knowing// part of his profile, and the household has stopped briefing him on the recipe details. Jess will eat it without comment because she has graduated past comment as a category.//
//The household has just produced one orgasm, finished a cheese sauce, set a salad,<<if $meganRoute is "marcus">> scheduled a Marcus visit with a double-batch sauce,<<elseif $meganRoute is "slut">> commercialised Ryan onto Megan's two-handler client roster,<</if>> and set the table, inside the same fifteen-minute block. The relief schedule has been integrated into the dinner schedule. The two ledgers are now one ledger.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, free use protocol (dinner-help)">>
<<conditioningFeedback "psionic" 1 "Ryan, free use protocol (dinner-help)">>
<<conditioningFeedback "psionic" 1 "Megan, free use protocol (dinner-help)">>
<p><span class="delve-intel">Intel gained: Free Use kitchen variant — Karen runs the dinner-help rotation as a household scheduled item. Ryan's cum is integrated into the family meal as a recipe ingredient<<if $meganRoute is "marcus">>; Megan handles a Marcus-visit booking on top of the same conversation<<elseif $meganRoute is "slut">>; Megan handles a client-roster admin item on top of the same conversation<</if>>. The relief schedule and the dinner schedule have merged into a single household calendar item.</span></p>
[[Return to the kitchen->Ch2-Kitchen]]<<nobr>><<bg "bg-hoffman-jess-room">>
<<if not $ch2Events.freeUseJessDaleDesk>><<spendBiomass 2>><</if>>
<<set $ch2Events.freeUseJessDaleDesk to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addBiomass 2>><</nobr>>
<div class="passage-title">Study Break</div>
<p><span class="skill-used">Free Use Protocol, Jess Desk Variant (0 biomass)</span></p>
<p>3:47 PM. Jess's study window on the fridge says //available 4-9 PM//.</p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/freeuse-desk-1-punk.webp" alt="Jess at her bedroom desk fully nude, dyed purple-and-black hair tied back, over-ear headphones on with one cup pushed back, lyrics notebook open under a black pen, her phone face-down on the desk corner buzzing, a joint smouldering in an ashtray on the cracked-open window sill beside her, her bass guitar propped against the desk leg">
<p>Jess is at her desk. Naked, band tee balled on the floor beside the chair, ripped jeans on top of it, the laundry pile she'll deal with later. The schedule says //available 4-9 PM// and Jess takes the protocol literally these days; clothes stopped being part of the afternoon a while back. Lyrics notebook open in front of her. Black pen in her right hand. Over-ear headphones on, one cup pushed back behind her ear so she can hear the door. The track running through the right cup is a Bleed Through demo Kade sent her last night, bass-heavy, half-finished, the bridge needs words. She has been workshopping the bridge for two hours. The bass guitar is propped against the desk leg.</p>
<p>The window beside the desk is cracked four inches with a joint smouldering in the ashtray on the sill. Her phone is face-down on the corner of the desk, buzzing at irregular intervals, the family group chat handling dinner logistics, Karen and Megan trading times for the lasagna. She does not look up.</p>
<p>The reason she does not look up is that she has been riding her brother in the desk chair for the last twelve minutes.</p>
<<if $ryanRoute is "feminization">>
<p>Ryan is underneath her in the chair. Pink silk sleep shorts pushed down to one ankle, a thin bralette still on under his hoodie, the morning eyeliner intact. He came in on his lunch slot — //Ryan available 1-3 PM// in red ink on the fridge, and Jess folded the slot into her study window without comment, pulled him over to the chair, sat down in his lap, sank onto his cock, and went back to the textbook. He has been quiet ever since. Hands on her hips. Breathing through his nose so the eyeliner stays clean.</p>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan is underneath her in the chair. Sweatpants around his thighs. He showed up at her door at 3:30 — //family touch window// in his head, the family-seeker conditioning treating Jess's open door as a green light, and she let him in without breaking the highlighter rhythm. Sat down on his lap. Sank onto his cock. Went back to the textbook. He has been gripping her hipbones ever since, the alpha conditioning fighting the requirement to stay still while she works.</p>
<<else>>
<p>Ryan is underneath her in the chair. Sweatpants around his thighs. He came in for the standing window and Jess folded him into the study session, sat down on his lap, sank onto his cock, went back to the textbook. He has been quiet ever since.</p>
<</if>>
<p>From the doorway it would look like a study session. Even from inside the room, at the right angle, with her body folded forward over the textbook, it would still look like a study session. The chair has a high back. Ryan is fully under her.</p>
<p>Dale walks past her open door. Stops. Looks in.</p>
<<say "char-dale" "Dale">>
<i>(at the threshold, voice rough, the trailing syntax of a man running on fumes, taking it in)</i> ...you on the... break window?
<</say>>
<<say "char-jess" "Jess">>
<i>(without lowering the pen, eyes still on the lyrics page, hips shifting half an inch on Ryan's cock to keep the pressure where she wants it)</i> Yeah. Get over here.
<</say>>
<<say "char-dale" "Dale">>
<i>(stepping in, eyes adjusting, looking from her face down to the chair)</i> ...is, your brother under —
<</say>>
<<say "char-jess" "Jess">>
<i>(pen back on the page, voice flat)</i> Yeah, Dad. He's fine. You want a window?
<</say>>
<<say "char-dale" "Dale">>
<i>(rough, hesitant, the exhaustion negotiating with the want)</i> ...if you've got time.
<</say>>
<<say "char-jess" "Jess">>
<i>(scratching out a line in the notebook one-handed, considering for half a second, then matter-of-fact)</i> You can have my ass. He's got the front. Bend me forward.
<</say>>
<p>Dale shuffles to the desk. Unbuckles his belt. Unzips his uniform pants. The BioGenesis ID badge swings against his chest as he walks. Jess leans forward over the notebook, chest down on the open page, ass tilted up over Ryan's hips, the configuration angling her body so that Ryan's cock stays fully seated in her pussy and Dale's has clean access from behind.</p>
<<say "char-jess" "Jess">>
<i>(to Ryan, without looking down, palms going flat on either side of her textbook)</i> Stay. I'm staying on you.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(soft, eyeliner still intact, hands tightening on her hips for balance)</i> ...okay. Yeah.
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-ryan" "Ryan">>
<i>(low, possessive even from underneath, fingers denting her hipbones)</i> Mine first.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking)</i> I //know//. Stay.
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
<i>(quiet)</i> Mhm.
<</say>>
<</if>>
<p>The conditioning has thickened her there. Dale doesn't really need lube. He spits in his palm anyway, working it onto his cock, the careful gesture of a man trying not to break a delivery system the household relies on, and presses the head against her ass.</p>
<img class="scene-img" src="media/scenes/freeuse-desk-2-punk.webp" alt="Jess fully nude, bent forward over her open lyrics notebook on the desk, dyed purple-and-black hair tied back, over-ear headphones still on with one cup pushed back, her father standing behind her in his BioGenesis security uniform with the fly unzipped pushing his cock into her ass from behind, her brother fully hidden underneath her in the high-backed desk chair, the black pen still in Jess's right hand on the page, the phone face-down on the desk corner buzzing, the joint smouldering on the windowsill, the bass guitar propped against the desk leg">
<p>One stroke in. Slow, careful. Jess exhales through her nose. Her fingers grip the edge of the notebook. The pen does not move for two seconds. Then she scratches out the next line of the bridge and writes a new one.</p>
<<say "char-dale" "Dale">>
<i>(behind her, breath catching, eyes closed)</i> ...Christ, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking up, pen already moving again)</i> Yeah, Dad. Just go.
<</say>>
<<say "char-dale" "Dale">>
<i>(another careful stroke, the BioGenesis ID badge swinging against his chest)</i> ...is your brother okay under there?
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, eyes still on the page)</i> He's fine. Aren't you, Ry.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(small, hidden under her body, hands on her hips)</i> ...mhm.
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-ryan" "Ryan">>
<i>(low, through his teeth, fingers denting her hipbones)</i> Mine.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking down)</i> //Yes//, Ry, I am. We've established it. Be quiet.
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
<i>(quiet, from underneath)</i> ...mhm.
<</say>>
<</if>>
<p>Ryan's cock is in her pussy. Dale's cock is in her ass. The thin wall between them registers both pressures at once. Dale starts to move properly now, careful strokes settling into rhythm, the BioGenesis badge clicking against his shirt buttons. Ryan doesn't have to do anything. Jess's body rocking forward on each of Dale's strokes does the work for him.</p>
<<say "char-hivemind" "Hivemind">>
//Three open channels, the lyrics on the page, two cocks, the family group chat, and she is round-robining all of them on the same operator timing she uses backstage at a Bleed Through gig. Two deposits scheduled, one orifice each. The household relief schedule, the household dinner schedule, the household biology schedule, all on the same family-channel infrastructure.//
//The bridge of the song is half-written underneath her elbow. The bridge of the song is going to be //about this//.//
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(palm flat on the notebook page, head tilted half a degree back to make sure he can hear her, voice flat and mean)</i> Slow the //fuck// down, Dad. You think I clocked in to be wrecked? I'm working a verse, you're a side gig.
<</say>>
<<say "char-dale" "Dale">>
<i>(slowing instantly, hand braking on her lower back, voice rough)</i> ...sorry, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(pen scratching out a line, rewriting it, voice a degree colder)</i> //Sorry// doesn't move you up the rotation. Sorry's just what tired men say. You wanna be useful, fuck me on the //downbeat//, yeah, like that, like a metronome, not like a panicking intern.
<</say>>
<<say "char-dale" "Dale">>
<i>(adjusting his rhythm, the careful stroke becoming a measured one)</i> ...okay. Okay.
<</say>>
<<say "char-jess" "Jess">>
<i>(to Ryan now, without looking down, dry as the desk)</i> And //you//. Quit gripping me like I'm gonna run. I literally signed my name on the schedule for this. You're the most reluctant alpha I've ever ridden, and that includes the kid in tenth grade who cried.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(under her, loosening his grip a notch)</i> ...sorry, Jess.
<</say>>
<<say "char-jess" "Jess">>
<i>(back to the notebook, scratching another line)</i> Two grown men in this room and the only one with their shit together is the one writing a song. //Embarrassing.// Dad, I said //downbeat//. Find it.
<</say>>
<<say "char-dale" "Dale">>
<i>(grunting, finally on the rhythm she wants, ID badge clicking)</i> ...got it. I got it.
<</say>>
<<say "char-jess" "Jess">>
<i>(half a degree warmer, pen still moving)</i> See? I knew you had four functioning brain cells. Keep them lit. Don't lose the count.
<</say>>
<<elseif $kinks.jess.includes("band")>>
<p>The phone buzzes on the corner of the desk. Jess reaches with the hand not holding the pen, flips it over, reads the message — Megan asking if anyone wants the leftover bread from the cafe, and thumbs back //yes// without breaking the rocking. Karen's reply pings a second later. Jess thumbs //six is fine, Mom, salad too// and flips the phone back face-down. The Bleed Through demo loops back to the unfinished bridge in her right ear.</p>
<<say "char-dale" "Dale">>
<i>(grunting through a stroke, exhausted)</i> ...your mother on the chat?
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking up)</i> Mhm. Bread, salad, six. Megan's bringing the loaf. You want the heel or the middle?
<</say>>
<<say "char-dale" "Dale">>
<i>(through another stroke, the question landing absurd)</i> ...heel.
<</say>>
<<say "char-jess" "Jess">>
<i>(thumbing the chat one-handed)</i> Heel for Dad. Got it.
<</say>>
<<say "char-dale" "Dale">>
<i>(steadying himself with a hand on her hip)</i> ...what's the song about?
<</say>>
<<say "char-jess" "Jess">>
<i>(pen pausing for half a beat, then resuming)</i> Operator timing. Three things at once. Don't drop the count.
<</say>>
<<say "char-dale" "Dale">>
<i>(another stroke, accepting it)</i> ...good. That's a good one.
<</say>>
<p>The same operator timing she uses backstage at a Bleed Through gig, three things at once, none of them allowed to drop the count. She scratches another line into the notebook. //Two cocks and a group chat and the bass-line in my ear and I am still on time.// Maybe that's the verse.</p>
<</if>>
<p>The phone buzzes a third time. Jess thumbs the reply (//yeah Mom, I'll be down at six//) and sets it back face-down. Dale is breathing harder behind her. Ryan is still quiet underneath.</p>
<<say "char-jess" "Jess">>
<i>(without looking up, pen still on the page)</i> Both of you can come whenever. Don't wait on me, I came twice before either of you got here.
<</say>>
<<say "char-dale" "Dale">>
<i>(through gritted teeth)</i> ...Christ, Jess.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(small, from under her, the bralette strap slipped off his shoulder again)</i> Jess... can I, can I move? Just a little?
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking down)</i> Little.
<</say>>
<p>Ryan's hips shift up under her, small careful motion, the conditioning making him //ask// permission for the smallest things. She lets him have an inch of movement. He uses it to come almost immediately, the held-back wanting cashing in the moment she allowed it. Hot cum filling her pussy under Dale's continuing strokes.</p>
<<say "char-ryan" "Ryan">>
<i>(barely a whisper)</i> ...thank you.
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<p>Ryan grips her hips harder. The alpha conditioning is fighting the //stay// command, she said stay, he is staying, but every Dale stroke into her ass shoves her body forward on his cock and Ryan's body answers it without asking. He comes first. Three hard pulses up into her pussy, his fingers denting the soft of her hips, a low possessive sound through his teeth.</p>
<<say "char-jess" "Jess">>
<i>(unfazed, pen still moving across the page)</i> Good. Stay there for Dad.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(through his teeth)</i> ...mine.
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(flat)</i> //Christ//, Ry. We get it. Be quiet, the adults are talking.
<</say>>
<</if>>
<<else>>
<p>Ryan comes first. Quiet. Hot cum filling her pussy under Dale's continuing strokes.</p>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(without looking down)</i> One down. Dad, pace. //Don't// rush it just because he's done. I'm not the relay handoff, this isn't a track meet.
<</say>>
<</if>>
<</if>>
<<if $kinks.dale.includes("somnophilia")>>
<p>Dale slows behind her. The exhaustion finally cashing in. His weight tilts forward against her back, his cock still buried in her ass, his face dropping to the back of her neck. He comes in his sleep, half-conscious hips twitching out three slow pulses, cum filling her ass while his eyes are closed and his breath has already gone slow against her skin.</p>
<p>Jess holds him up with one elbow on the desk. Lets him finish. Lets him rest there for ten seconds with his cock still inside her and his weight on her back and his face in her hair.</p>
<<elseif $kinks.dale.includes("humiliation")>>
<<say "char-dale" "Dale">>
<i>(broken, mid-stroke, the configuration registering)</i> ...Jess... Christ, Jess, I'm, your brother is — //I'm// —
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, page-turning under her chin)</i> Yeah, Dad. We know. //Come.//
<</say>>
<p>The humiliation surges. He comes hard, three jerking thrusts, cum filling her ass, tears at the corners of his eyes from the place where the act and the family register collide. Jess does not pause the pen.</p>
<<else>>
<<say "char-dale" "Dale">>
<i>(behind her, breathing through his teeth, hand braced on the desk beside her)</i> Jess... Jess, I'm —
<</say>>
<<if $kinks.jess.includes("brat")>>
<<say "char-jess" "Jess">>
<i>(without looking up, pen still scratching)</i> Yeah, Dad. //Finish//. You've earned it. Try not to nap on my back like last time.
<</say>>
<<else>>
<<say "char-jess" "Jess">>
<i>(without looking up)</i> Yeah, Dad. //Come.//
<</say>>
<</if>>
<p>Dale comes in four minutes. Three hard thrusts, cum filling her ass, the exhaustion + pheromone making the orgasm arrive deep. Jess does not pause the pen.</p>
<</if>>
<p>Dale pulls out. Cum slides down the inside of her thigh onto the desk chair underneath her, onto Ryan's stomach, his thigh, the shared mess pooling between them. She feels both of them. Doesn't move. Ryan is still inside her from the front, softening now. She lets him slip out on his own.</p>
<<say "char-jess" "Jess">>
<i>(capping the pen, glancing at the phone)</i> Done. Both of you. Close the door on your way out. Mom's asking about salad.
<</say>>
<<say "char-dale" "Dale">>
<i>(zipping up, one hand on the desk for balance)</i> ...thanks, Jess.
<</say>>
<<if $ryanRoute is "feminization">>
<<say "char-ryan" "Ryan">>
<i>(carefully sliding out from under her, smoothing the bralette strap back into place)</i> ...thanks, Jess.
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-ryan" "Ryan">>
<i>(standing up from the chair, possessive even in retreat)</i> Tomorrow same time.
<</say>>
<<say "char-jess" "Jess">>
<i>(without looking)</i> Schedule it with Mom.
<</say>>
<<else>>
<<say "char-ryan" "Ryan">>
<i>(quiet, pulling sweatpants up)</i> ...yeah.
<</say>>
<</if>>
<p>They leave. The door closes behind them. Jess thumbs back at the group chat — //yeah, salad's fine, I'll be down at six//, opens the next chapter, and reaches over to the windowsill ashtray for the second half of the joint.</p>
<p>The desk chair is wet underneath her. She is not going to clean it before dinner.</p>
<<elseif $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/freeuse-desk-1.webp" alt="Jess at desk, Ryan in doorway">
<p>Ryan is in the hallway. He walks past her open door. Stops. Looks in.</p>
<p>Jess is at her desk. Textbook open. Highlighter in her right hand. She doesn't look up.</p>
<<say "char-ryan" "Ryan">>
<i>(standing in the doorway)</i> You on break?
<</say>>
<<say "char-jess" "Jess">>
<i>(highlighting a passage)</i> Window's open. Come in.
<</say>>
<p>Ryan enters. In the camisole. He stands in the middle of her room, uncertain, the way he stands everywhere, waiting to be told.</p>
<<say "char-jess" "Jess">>
<i>(not looking up)</i> Under the desk.
<</say>>
<p>Ryan crawls under her desk. Jess spreads her legs. His head finds the space between her thighs, her shorts pulled aside, no underwear, the schedule said //available// and Jess prepared. His tongue finds her clit and she exhales through her nose. Keeps highlighting.</p>
<video class="scene-video" src="media/video/freeuse-desk-2-fem.webm" autoplay muted loop playsinline poster="media/scenes/freeuse-desk-2-fem.webp"></video>
<p>He licks her while she studies. Slow, flat strokes, the feminization has made him //attentive//, not aggressive. Jess's hips shift when he finds the right spot. Her highlighter pauses for half a second. Then resumes. She reads chapter 15 while her brother eats her pussy under the desk, and the only concession she makes to the act is spreading her knees wider.</p>
<<say "char-hivemind" "Hivemind">>
//She doesn't look down. The textbook gets her eyes. Ryan gets the rest.// He licks her the way he follows game tutorials, diligently, trying to please, checking for feedback.
<</say>>
<p>Jess comes in under six minutes. Quiet, a held breath, her thighs pressing against his ears, the highlighter cap clicking between her teeth. Ryan keeps licking through the aftershocks until she pushes his head away with one hand.</p>
<<say "char-jess" "Jess">>
<i>(pushing him back)</i> Enough. Come here.
<</say>>
<p>She pulls him up from under the desk. Cups his face, wet from her pussy, and kisses him. Not clinical. Not a task. Something //else//. She tastes herself on his mouth and her hand stays on his cheek longer than efficiency requires.</p>
<video class="scene-video" src="media/video/freeuse-desk-3-fem.webm" autoplay muted loop playsinline poster="media/scenes/freeuse-desk-3-fem.webp"></video>
<<say "char-jess" "Jess">>
<i>(quietly, thumb on his cheekbone)</i> ...good.
<</say>>
<p>She lets go. Opens the next chapter. Ryan crawls out from under the desk and leaves. Closes the door behind him.</p>
<<elseif $ryanRoute is "familySeeker">>
<img class="scene-img" src="media/scenes/freeuse-desk-1.webp" alt="Jess at desk, Ryan in doorway">
<p>Ryan is in the hallway. He walks past her open door. Stops. Looks in.</p>
<p>Jess is at her desk. Textbook open. Highlighter in her right hand. She doesn't look up.</p>
<<say "char-ryan" "Ryan">>
<i>(standing in the doorway)</i> You on break?
<</say>>
<<say "char-jess" "Jess">>
<i>(highlighting a passage)</i> Window's open. Come in.
<</say>>
<p>He doesn't sit. Doesn't wait. He walks to the desk, spins Jess's chair around, and pulls her to the edge of the seat. His cock is already out.</p>
<<say "char-ryan" "Ryan">>
<i>(hands on her thighs, spreading them)</i> My turn.
<</say>>
<<say "char-jess" "Jess">>
<i>(flat, already pulling her shorts down)</i> Make it quick. Chapter 16.
<</say>>
<p>He lifts her. Bends her over the desk, face on the textbook, ass up, the highlighter rolling onto the floor. His cock pushes into her pussy from behind and Jess grips the desk edges as he fucks her. Hard. Fast. The alpha doesn't //make it quick//, he makes it //his//.</p>
<img class="scene-img" src="media/scenes/freeuse-desk-2-alpha.webp" alt="Ryan fucking Jess at desk from behind, textbooks scattered">
<<say "char-hivemind" "Hivemind">>
//The alpha uses the study window for penetration. Not oral — //ownership//.// Jess's face is pressed against Lehninger's Principles of Biochemistry and Ryan is inside her and the desk lamp shakes with every thrust.
<</say>>
<p>He comes inside her. Three hard thrusts, his hands denting her hips. Pulls out. Cum drips onto the desk chair. Jess doesn't wipe. She sits back down in it. Opens chapter 16.</p>
<<say "char-jess" "Jess">>
<i>(picking up the highlighter from the floor)</i> Close the door.
<</say>>
<</if>>
<<if $jessRoute is "punk">>
<<say "char-hivemind" "Hivemind">>
//Punk-Jess just blew her father at her study desk during a scheduled availability window while answering family group-chat messages and smoking out the cracked window beside her. The dispatch ran clean, four minutes for the BJ, three group-chat replies, no missed highlights, no lasagna logistics dropped. The household relief schedule now coexists with the dinner schedule on the same family channel. Karen will pass the salad bowl at six and the joint smell will be gone by then.//
<</say>>
<<elseif $ryanRoute is "feminization">>
<<say "char-hivemind" "Hivemind">>
//Jess's brother just ate her out under her study desk while she highlighted chapter 15. She came against his face without dropping the colour-coding rhythm, then pulled him up and kissed him. The feminization conditioning made him a careful, attentive servicer; the analytical conditioning made her a productivity-neutral receiver. The desk has been converted into a service station for both of them.//
<</say>>
<<elseif $ryanRoute is "familySeeker">>
<<say "char-hivemind" "Hivemind">>
//Jess's brother just bent her over the desk and fucked her while her face was pressed against Lehninger's Principles of Biochemistry. He came inside her in under three minutes. She is sitting in the wet chair right now reading chapter 16. The desk has been converted from study site into ownership site, and the analytical mind has optimised the penetration into a productivity-neutral break.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "Jess, free use protocol (desk)">>
<<if $jessRoute is "punk">>
<<conditioningFeedback "psionic" 1 "Dale, free use protocol (desk)">>
<<else>>
<<conditioningFeedback "psionic" 1 "Ryan, free use protocol (desk)">>
<</if>>
<p><span class="delve-intel">Intel gained: Free Use desk variant — Jess services<<if $jessRoute is "punk">> Dale at her study desk while continuing to study and managing the family group chat<<elseif $ryanRoute is "feminization">>/is serviced by Ryan at her study desk while continuing to study<<elseif $ryanRoute is "familySeeker">> Ryan from beneath at her study desk, alpha penetration<</if>>. Zero emotional registration. The analytical mind has optimised the act into a productivity-neutral study break.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<p>She takes him in her mouth.</p>
<img class="scene-img" src="media/scenes/nsfw-freeuse-coffee-beat.webp" alt="Karen kneeling on the kitchen floor in an open silk robe giving Ryan a blowjob, one hand at the base of his cock, the mug visible on the counter beside her">
<p>She blows him the way she does everything else: methodically, without flourish. No theatrics. No moaning around the cock. Methodical head bobs. Tongue placement deliberate. One hand on the base of his cock, the other on his hip to control depth and pace. Her eyes are not on his face. Her eyes are on the mug, six inches from where she is kneeling.</p>
<<say "char-hivemind" "Hivemind">>
//Heart rate seventy-two. Respiration steady. She is making coffee with one hand and her son with the other.//
<</say>>
<p>Ryan stands above her with his hands at his sides. He does not touch her head. He does not thrust. He waits. He makes small involuntary sounds, a whimper, a caught breath, the quiet symphony of his arousal, but he does not speak.</p>
<p>The kettle has clicked off. Karen pulls off his cock for ten seconds, long enough to stand, lift the kettle off the hob, pour the boiling water into the French press, and press the plunger down in one smooth motion. The black coffee drains into the cream-coloured mug, filling it three quarters. Steam rises. She sets the kettle down. Drops back to her knees. Takes him back in her mouth in one unbroken arc, as if the coffee break was just another head bob.</p>
<p>The room fills with the scent of coffee and sex. The two become indistinguishable from each other.</p>
<p>Ryan is close. His breath hitches, a small caught noise, a warning.</p>
<p>Karen pulls off his cock. Not because she is finishing. Because she is //repurposing//.</p>
<p>With the same matter-of-fact efficiency she takes his cock in her hand, angles it //down// over the steaming mug on the counter, and strokes him the last inch.</p>
<p>Ryan comes into the coffee.</p>
<p>Karen strokes him through it, controlling the angle, the depth of the spurts, making sure every pulse lands in the mug. Three thick spurts. Then a fourth, smaller. The cum hits the surface of the hot black coffee, some of it floats in pale strands, some of it sinks, some of it curdles where it lands. Steam rises around the mess.</p>
<img class="scene-img" src="media/scenes/nsfw-freeuse-coffee-mug.webp" alt="Close-up of Karen's hand stroking Ryan's cock angled down over a mug of hot black coffee, cum landing on the surface of the coffee and floating there, steam rising">
<<say "char-hivemind" "Hivemind">>
//Volume fourteen cc delivered into 180 ml of hot black coffee. The deposit is recorded.//
<</say>>
<p>Karen wipes the head of Ryan's cock against the rim of the mug, the way you'd wipe a spoon against the edge of a saucepan to get the last of the sauce, and lets the cock go. Ryan sags against the counter. His sweatpants are still around his thighs.</p>
<p>She stands. Adjusts the robe. Picks up a small spoon and stirs the coffee. Twice. Sets the spoon down on the counter beside the eggs.</p>
<p>She picks up the mug.</p>
She drinks.
<img class="scene-img" src="media/scenes/nsfw-freeuse-coffee-drink.webp" alt="Karen in a loose silk robe standing in her kitchen calmly drinking from the white ceramic mug, neutral expression, steam rising, breakfast eggs on the counter beside her">
<p>The first sip is long. Her face does not change. No wrinkling of the nose, no curl of the lip, just a steady drinker drinking her morning coffee on a Tuesday.</p>
<<say "char-hivemind" "Hivemind">>
//Taste analysis: bitter, salty, with a thin earthiness from the grounds. Cortisol spike at second one, returning to baseline by second four. New baseline holding.//
<</say>>
<<if $kinks.ryan.includes("cumeating") and not $kinks.karen.includes("denial")>>
<p>Ryan is still standing beside her, sweatpants still around his thighs, his cock softening against his stomach. He has not moved since she pulled off him.</p>
<<say "char-ryan" "Ryan">>
<i>(small, mumbling, eyes on the mug)</i> ...can I... can I have some?
<</say>>
<p>Karen does not look at him. She picks up the mug. Walks two steps to where he is standing. Holds it out, not handing it to him, just //offering// it within reach. Ryan takes the mug with both hands.</p>
<<say "char-karen" "Karen">>
<i>(matter-of-fact)</i> Just a sip.
<</say>>
<p>Ryan drinks. The taste is //his//, bitter, salty, alkaline under the coffee, and the recognition arrives in his body the way recognition arrives when you taste yourself for the first time. He swallows. Twice. The kitchen is silent except for the kettle cooling on the hob.</p>
<p>He hands the mug back. Karen takes it. Drinks the rest in three long sips, never taking her eyes off the eggs that still need cracking.</p>
<<say "char-hivemind" "Hivemind">>
//Both of them now contain the deposit. Karen drank her share. Ryan drank his.// The cumeating circuit fired on both sides of the table, and both bodies catalogued the act as //ordinary//. //I am about to run out of new conditioning territory in this house.//
<</say>>
<p>Karen sets the mug down beside the egg bowl.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the bowl, not on him)</i> Set the table.
<</say>>
<p>Ryan pulls his sweatpants up. Sets the table. The taste is still in his mouth.</p>
<<elseif $kinks.ryan.includes("cumeating") and $kinks.karen.includes("denial")>>
<p>Ryan is still standing beside her, sweatpants still around his thighs, his cock softening against his stomach. He has not moved since she pulled off him.</p>
<<say "char-ryan" "Ryan">>
<i>(small, mumbling, eyes on the mug, the asking already half a question of itself)</i> ...can I... can I have some?
<</say>>
<p>Karen does not look at him. She picks up the mug. Takes another long deliberate sip. Holds the mug against her chest where Ryan can see it but cannot reach it.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the eggs, voice flat)</i> No.
<</say>>
<p>The single syllable lands. Ryan's mouth, which had been half-open in his own asking, closes. The closing is //automatic//, the conditioning has trained his body to accept her no the way other bodies accept gravity.</p>
<p>Karen drinks the rest of the coffee in slow, methodical sips. She does not offer him a single drop. The mug empties between her hands while Ryan stands beside her with his sweatpants around his thighs and his cock softening and the //wanting// of what she will not share becoming //its own dose//.</p>
<<say "char-hivemind" "Hivemind">>
//Denial vector activated on the cumeating circuit. Ryan's arousal does not //fade// after the orgasm, it //compounds// from the refusal. //She drank what came out of him and refused to share even a sip.// The cumeating kink is being //negated// by the denial kink, and the negation is the most conditioning-rich state Ryan's body can be in.//
//Karen has just learned that withholding// is more potent than //giving//. //I have a new lever.//
<</say>>
<p>Karen sets the empty mug down beside the egg bowl.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the bowl, not on him)</i> Set the table.
<</say>>
<p>Ryan pulls his sweatpants up. Sets the table. His mouth is dry.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>Karen does not say anything. She picks up the mug and finishes the coffee in slow, deliberate sips while Ryan stands beside her with his sweatpants still around his thighs.</p>
<p>She does not share. She does not offer. She does not acknowledge that he is even in the room while she drinks. The //not-sharing// is the entire act, the same way the //not-touching// is the entire act when she edges Dale on Wednesday nights. //Withholding is the dose. The dose is the refusal. The refusal is the kink//.</p>
<p>When the mug is empty she sets it down on the counter beside the eggs.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the bowl, not on him)</i> Set the table.
<</say>>
<p>Ryan pulls his sweatpants up. Sets the table.</p>
<<say "char-hivemind" "Hivemind">>
//Denial vector. She drank what came out of him and did not share a single drop.// The act is registered by both nervous systems — Ryan's as //hunger// (the thing he is not allowed to have), Karen's as //control// (the thing she gets to keep). //Both responses feed the conditioning loop from opposite directions.//
<</say>>
<<else>>
<p>Karen sets the mug down. Looks at the egg bowl. Looks at the eggs that still need cracking.</p>
<<say "char-karen" "Karen">>
<i>(eyes on the bowl, not on him)</i> Set the table.
<</say>>
<p>Ryan pulls his sweatpants up. Walks to the cutlery drawer. His knuckles brush the wet ring the mug left on the counter as he reaches past it for the forks. A small dark circle of leftover coffee, the only evidence of what just happened. He does not wipe it.</p>
<p>Karen cracks the first egg into the bowl. The yolk slides clean.</p>
<</if>>
/* ============================================================
KAREN FUTA — ANAL (First anal scene in the game)
Karen penetrates Dale/Ryan anally. Kink-branched.
============================================================ */<<nobr>><<bg "bg-hoffman-upstairs">>
<<set $ch2Events.gloryholeBuilt to true>><<set $player.maxBiomass += 1>>
<<spendBiomass 4>>
<<addConditioning "dale" "psionic" 1>>
<<addBiomass 1>><</nobr>>
<div class="passage-title">Night Construction</div>
<p><span class="skill-used">Psychic Domination, Dale (4 biomass)</span></p>
<img class="scene-img" src="media/scenes/gloryhole-build-1.webp" alt="Dale in dark hallway with tools, sleepwalking">
3:17 AM. Dale rises from the garage cot. His eyes are open. He is not awake.
<p>The Psychic Domination link drives his body upstairs to the hall closet. His hands, calloused and practised, the hands of a man who's fixed every broken thing in this house for twenty years, find the tools. Drywall saw. Sandpaper. Spackle. He carries them to the upstairs bathroom.</p>
<p>The wall between the bathroom and Jess's bedroom is standard residential construction: drywall, studs sixteen inches apart, drywall. Dale's sleeping hands find the gap between studs at hip height. The drywall saw bites in.</p>
<<say "char-hivemind" "Hivemind">>
//Psychic Domination controls the motor cortex. Dale's hands know how to cut drywall. He's done it a hundred times for pipes and outlets. The psionic link simply tells him //where// and //what size//. Four inches in diameter. Hip height. Smooth edges, sanded and finished, no rough plaster to scratch skin. The opening is //designed//. The construction is professional because Dale is a professional. He just doesn't know what he's building.//
<</say>>
<p>He cuts both sides. Bathroom wall. Jess's bedroom wall. The hole is clean, four inches across, edges sanded smooth, positioned at precisely the height where a kneeling person's mouth would meet a standing person's cock. Or vice versa.</p>
<p>He spackles the bathroom side. Paints it to match. From the bathroom, the hole is invisible behind the towel rack, unless you move the towels. From Jess's side, it opens behind her bookshelf, a dark circle at hip height that she won't notice until the bookshelf shifts.</p>
<img class="scene-img" src="media/scenes/gloryhole-build-2.webp" alt="Close-up of hole in wall, smooth edges, dim light">
<p>Dale returns the tools. Lies back on the cot. Sleeps. In the morning he'll notice spackle dust under his fingernails and won't know why.</p>
<<say "char-hivemind" "Hivemind">>
//Construction complete. The hole connects the upstairs bathroom to Jess's bedroom at hip height. From either side, the opening is concealed. Towel rack in the bathroom, bookshelf in Jess's room. The edges are smooth. The diameter allows oral penetration from either direction.//
//Dale built a gloryhole in his own house and won't remember it. The engineering is his. The purpose is mine. The discovery will be Jess's.//
<</say>>
<<conditioningFeedback "psionic" 1 "Dale, psychic domination (construction)">>
<p><span class="delve-intel">Intel gained: Psychic Domination used to force Dale to construct a gloryhole between the upstairs bathroom and Jess's bedroom. Professional construction, clean edges, concealed on both sides. Dale has no memory of the work. Jess has not yet discovered it.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-jess-room">>
<<set _firstDiscover to not $ch2Events.gloryholeDiscovered>>
<<set $ch2Events.gloryholeDiscovered to true>>
<<if $ch2Events.gloryholeDiscoverDay isnot $day>><<spendBiomass 2>><</if>>
<<set $ch2Events.gloryholeDiscoverDay to $day>>
<<if _firstDiscover>><<set $player.maxBiomass += 1>><</if>>
<<addConditioning "jess" "psionic" 1>>
<<if _firstDiscover>><<addBiomass 3>><<else>><<addBiomass 1>><</if>><</nobr>>
<div class="passage-title">The Hole</div>
<p><span class="skill-used">Gloryhole, Discovery Event</span></p>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/gloryhole-discover-2-punk.webp" alt="21 year old woman with purple-and-black dyed hair holding a bass guitar by the neck, leaning against a shifted bookshelf in her bedroom, staring at a four-inch hole in the wall behind it, evening light through the window">
<p>Jess is practising. Her old Precision bass is plugged into the thrift-store amp on the floor and the amp is set low, low enough that the neighbours won't call, low enough that Karen can pretend not to hear it, but the cabinet is //rumbling// against the wall anyway, the way the cheap cabinets always do, and when she leans her weight into a low-E drone and her hip brushes the bookshelf she feels the shelf //give// three quarters of an inch.</p>
<p>She stops playing. Mutes the strings with her right palm. Pulls the strap off her shoulder. Sets the bass down carefully against the bed and turns to look at the bookshelf.</p>
<p>It has walked. Weeks of bass practice and the subwoofer drone of the cheap cabinet have travelled the bookshelf six inches to the left by increments too small for her to have noticed them happening. And behind where the bookshelf //used// to be, there is a hole in the drywall.</p>
<p>Four inches across. Smooth-edged. At hip height. She can see the bathroom through it, tiles, the edge of the towel rack, a sliver of mirror.</p>
<<say "char-jess" "Jess">>
<i>(flat, staring at the hole, amp still humming)</i> What the //fuck//. What the //actual fuck//.
<</say>>
<p>She crouches. Looks through. The bathroom is empty. The hole is //deliberate//, not a crack, not damage, but a clean cut with sanded edges. Someone //built// this. //Dale// built this, the edge finish matching the garage shelves he put up last summer, the sanding the same hand that rounded the coffee-table corners when the twins were toddlers.</p>
<p>She should tell Karen. She should tell someone. She does //not//.</p>
<<say "char-hivemind" "Hivemind">>
//The new Jess still catalogues the hole with a pre-med brain, diameter, edge finish, craftsmanship-attribution, because the brain is the brain whether the hair is dyed or not. What has been rewritten is the //alarm response//. A month ago she would have flinched and reported. Tonight she looks at it, thinks //my dad drilled a peephole between my room and the upstairs bathroom//, and the dominant emotion that arrives is the specific grim amusement of a woman who has already decided the household is absurd and is now being given //further evidence//. The conditioning does not need to break a logic circuit. The logic circuit already agreed with it.//
<</say>>
<p>She pushes the bookshelf back into place. The hole is hidden again. She leaves the amp on and plays for another twenty minutes, low-E drones, deliberately this time, feeling the cabinet rumble move the bookshelf by a hair on every downbeat.</p>
<p>She thinks about the hole for three hours before she falls asleep. By the time she does, she has decided three things, and she has not written any of them down, and she will not need to.</p>
---
<p>The next morning, Jess is running scales on the unplugged bass, cross-legged on her bed, humming along under her breath. She hears the bathroom door close across the hall. Someone is in there.</p>
<<else>>
<img class="scene-img" src="media/scenes/gloryhole-discover-2.webp" alt="Jess moving bookshelf, finding hole in wall">
<p>Jess is rearranging her room. The bookshelf moves six inches to the left and there it is.</p>
<p>A hole. In her wall. Four inches across, smooth-edged, at hip height. She can see the bathroom through it, tiles, the edge of the towel rack, a sliver of mirror.</p>
<<say "char-jess" "Jess">>
<i>(staring)</i> ...what the //fuck//?
<</say>>
<p>She crouches. Looks through. The bathroom is empty. The hole is //deliberate//, not a crack, not damage, but a clean cut with sanded edges. Someone //built// this.</p>
<p>She should tell Karen. She should tell someone. She doesn't.</p>
<<say "char-hivemind" "Hivemind">>
//Jess's analytical mind catalogues the hole: diameter, edge finish, positioning. She recognises the craftsmanship, this is Dale's work, even if she can't articulate why. But the conditioning overrides the alarm response. The pheromone saturation in her room, the long proximity to Dale on the couch, the cat's nightly visits, has primed her to associate concealed spaces with //safety//. The hole is concealed. Therefore the hole is safe. The logic is broken. The conditioning holds.//
<</say>>
<p>She pushes the bookshelf back. The hole is hidden again. She goes to bed.</p>
<p>She thinks about the hole for three hours before she falls asleep.</p>
---
<p>The next morning, Jess is studying at her desk. She hears the bathroom door close. Someone is in there.</p>
<</if>>
<<if $kinks.jess.includes("voyeurism")>>
<p>She moves the bookshelf. Looks through.</p>
<p>Ryan. Shirtless. Standing at the sink. He reaches down and pulls his cock out, pissing, just pissing, but Jess's voyeurism conditioning fires //instantly//. She's watching her brother through a hole in the wall. He doesn't know she's there. The anonymity. The concealment. The //looking//.</p>
<p>He finishes. Shakes off. Washes his hands. His cock hangs soft against his thigh and Jess watches it the whole time, her breath held, her hand already between her legs. She masturbates watching her brother through the hole, two fingers on her clit, fast and desperate, and comes in under two minutes, face pressed against the wall, one eye on the hole.</p>
<<say "char-hivemind" "Hivemind">>
//The voyeurism kink has found its infrastructure. The hole is a viewport. A permanent, concealed observation point that gives Jess visual access to anyone who uses the upstairs bathroom. Showering. Changing. Pissing. Masturbating. She will watch //everything//. And the watching will make her come.//
<</say>>
<<elseif $kinks.jess.includes("degradation")>>
<p>She hears the shower start. Someone is in there. She moves the bookshelf. Looks through.</p>
<p>Dale. Her father. In the shower. His cock visible through the gap in the curtain, thick and soft, water running over it. And the hole is right //there//, at the perfect height.</p>
<p>The degradation conditioning fires. //You're looking at your father's cock through a hole in the wall. You're a //freak//. You're pathetic. You're already wet.//</p>
<p>She doesn't just watch. She kneels beside the hole and pushes two fingers inside herself, the self-contempt driving the arousal. //This is what you are. A girl who fucks herself looking at her father through a wall.// She comes on her knees, fingers buried, face pressed to the plaster, the degradation internal monologue turning the shame into the hardest orgasm she's had this week.</p>
<<say "char-hivemind" "Hivemind">>
//Her shame-circuit converts humiliation into arousal. The hole provides infinite shame. Every use is a new low, a new confession of perversion, a new data point for the internal monologue that tells Jess she's //broken//. And broken feels //good//. The hole will become her confessional. She'll kneel beside it and punish herself with pleasure.//
<</say>>
<<elseif $kinks.jess and $kinks.jess.includes("brat") and $jessRoute is "punk">>
<p>She sets the bass down carefully. Gets off the bed. Moves the bookshelf with her bare foot, the slow nudge of a woman who has decided, already, that the hole is an //asset//.</p>
<p>She looks through.</p>
<p>Dale. In the shower. Her father's back to her through the steam, shoulder blades working as he rinses shampoo out of his hair. She watches for a long moment with her head tilted, the way she tilts her head when she is fitting a new fact into the existing map of her understanding of the world.</p>
<<say "char-jess" "Jess">>
<i>(quiet, flat, to the plaster six inches from her nose)</i> Dad. You made this hole. You //sanded// the edges. You finished it on a Saturday afternoon while Mom was at the grocery store and you didn't tell //anyone//. You have been waiting for one of your daughters to find it. Probably me. Probably not me, you probably hoped it would be Megan because she's the easier ask. But here we are. //Here we fucking are.//
<</say>>
<p>She doesn't masturbate. Her kind of cruelty doesn't fire on voyeurism, it fires on //being clinically correct about something nobody asked her to catalogue//. Right now she is being clinically correct about her father's Saturday-afternoon woodworking project and the correctness is the dose. Her pulse is level. Her pussy is slightly wet. Her grin is small and private and she does not share it.</p>
<p>She watches for another thirty seconds. Then pushes the bookshelf back to exactly where it was. The hole is hidden. The bookshelf position is calibrated, and soon she will know how far to shove it with her foot and how far to pull it back to leave zero trace.</p>
<<say "char-hivemind" "Hivemind">>
//She does not use the hole for //arousal//. She uses it for //evidence//. The brat register has filed the gloryhole under //things I now know about my father that he does not know I know// and the filing is its own reward. She is not going to tell Karen. She is going to //hold this for later//, and when she deploys it, she will deploy it in a sentence so precise it will take Dale's legs out from under him.//
<</say>>
<<else>>
<<if $jessRoute is "punk">>
<p>She hears the shower start. She sets the bass down carefully. Moves the bookshelf with her bare foot. Looks through.</p>
<p>The bathroom is steamy. Someone's shape behind the curtain. She watches for ten seconds, clinical and detached, the way she used to watch dissections in the university basement. Then pushes the bookshelf back. Sits back on the bed. Her heart is not racing and her pulse is steady, but she is //thinking// about the hole the way her pre-med brain used to think about an unexplained symptom.</p>
<p>She doesn't look through again today. But she doesn't //block// the hole either. She leaves the bookshelf positioned so it'll move an inch the next time the amp vibrates. Call it curiosity. Call it calibration. Call it //just in case//.</p>
<<else>>
<p>She hears the shower. Moves the bookshelf. Looks through.</p>
<p>The bathroom is steamy. Someone's shape behind the curtain. She watches for ten seconds. Then pushes the bookshelf back. Sits on her bed. Her heart is racing. Her pussy is wet.</p>
<p>She doesn't look through again. Not today. But she doesn't //block// the hole either. She leaves the bookshelf where she can move it. Just in case.</p>
<</if>>
<</if>>
<img class="scene-img" src="media/scenes/gloryhole-discover-3.webp" alt="View through hole: bathroom tiles, steam, towel rack">
<<say "char-hivemind" "Hivemind">>
//The gloryhole is operational. Jess has discovered it and the conditioning prevented her from reporting it. Her first use was //observation//, watching through the wall. The next stage is //interaction//. When someone uses the bathroom and discovers the hole from //their// side, the anonymous contact begins. Mouth to wall. Wall to cock. Neither side sees a face.//
//The anonymity is the point. The wall removes identity. Behind the wall, Jess isn't Dale's daughter. She isn't Ryan's sister. She isn't Megan's sibling. She's a //mouth//. And the mouth doesn't need to know whose cock it's sucking. The conditioning makes the wall into a permission structure. What happens through the hole doesn't count.//
//Discovery event plus first use. The infrastructure will outlive the discovery.//
<</say>>
<<conditioningFeedback "psionic" 1 "Jess, gloryhole discovery">>
<<if _firstDiscover>>
<p><span class="delve-intel">Intel gained: Gloryhole discovered by Jess. Conditioning prevented the alarm response. First use: <<if $kinks.jess.includes("voyeurism")>>voyeuristic observation + masturbation while watching Ryan<<elseif $kinks.jess.includes("degradation")>>voyeuristic observation + degradation-fueled masturbation while watching Dale<<elseif $jessRoute is "punk" and $kinks.jess.includes("brat")>>clinical cataloguing, Jess identified Dale as the builder and filed the hole as future leverage, no arousal used in this session<<elseif $jessRoute is "punk">>clinical observation, Jess looked through once and walked away, bookshelf recalibrated for repeat access<<else>>voyeuristic observation only<</if>>. The hole creates a permanent anonymous access point between the bathroom and Jess's bedroom. The wall removes identity and consent barriers simultaneously.</span></p>
<</if>>
[[Return to navigation->Ch2-Beast-Navigate]]
/* Ch2-Gloryhole-Use removed, duplicated Ch2-PD-Jess-Gloryhole in chapter2-beast-pd-new.twee */
/* ============================================================
BAND GLORYHOLE — direct trigger wrapper
Surfaces Obs-Jess-Band-Gloryhole as a player-clickable link in
Jess's Room. Sets bandGloryholeTriggered so the observe rotation
can subsequently surface the same scene as a recurring band-night
beat. First-time bonus on maxBiomass + larger biomass yield;
per-day flag prevents same-day re-runs.
============================================================ */<<nobr>><<bg "bg-hoffman-jess-room">>
<<set _firstBandSession to not $ch2Events.bandGloryholeTriggered>>
<<set $ch2Events.bandGloryholeTriggered to true>>
<<if $ch2Events.bandGloryholeDay isnot $day>><<spendBiomass 2>><</if>>
<<set $ch2Events.bandGloryholeDay to $day>>
<<if _firstBandSession>><<set $player.maxBiomass += 1>><</if>>
<<addConditioning "jess" "pheromone" 1>>
<<if _firstBandSession>><<addBiomass 4>><<else>><<addBiomass 2>><</if>><</nobr>>
<div class="passage-title">Bleed Through</div>
<<include "Obs-Jess-Band-Gloryhole">>
<<conditioningFeedback "pheromone" 1 "Jess, band session at the wall">>
<<if _firstBandSession>>
<p><span class="delve-intel">Intel gained: Jess hosted Bleed Through for a guess-the-cock listening session at the wall. She identified all three bandmates by taste and rhythm through the drywall with 100% accuracy. The hole has been formally rebranded from family-leverage to band-asset. Future sessions will surface as observable household routine.</span></p>
<</if>>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
FREE USE (Baseline Shift Apex Extension)
Sexual access as household routine. Anyone, anytime.
============================================================ */<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.hormOverrideKaren>>
<<spendBiomass 2>>
<<set $ch2Events.hormOverrideKaren to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "pheromone" 1>>
<<set $karenFutaScore to ($karenFutaScore or 0) + 1>>
<<addBiomass 2>>
<</if>><</nobr>>
<div class="passage-title">The Cat's Purr</div>
<p><span class="skill-used">Hormonal Override, Karen (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/hormoverride-karen-purr-1.webp" alt="Karen on couch with cat, starting to flush">
<p>8:30 PM. Karen is reading on the couch. A novel, something about a woman who moves to Tuscany. The cat jumps into her lap and curls against her thigh. It purrs.</p>
<p>The vibration is low, constant, 26 hertz. The parasite tags it.</p>
<p>Karen's hand tightens on the book. Her cheeks flush. The purring vibrates through her thigh, through her pelvis, and the rewired arousal response activates like a light switch. Wet. Instantly. The cat's purr is now an erogenous trigger.</p>
<<say "char-hivemind" "Hivemind">>
<p>//Hormonal Override: target locked. Karen Hoffman. Trigger assigned: vibrational stimulus in the 20-30 Hz range, specifically, the domestic cat's purring frequency. The endocrine response was instantaneous. Estrogen spike, vaginal lubrication onset in 4.2 seconds, clitoral engorgement at 30% within ten seconds. She doesn't understand what's happening. She thinks she's warm. She thinks the novel is getting to her. She doesn't know that the cat in her lap is now the most powerful sex toy in this house.//</p>
<</say>>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/hormoverride-karen-purr-2.webp"><source src="media/video/hormoverride-karen-purr-2.webm" type="video/webm"></video>
<p>She tries to read. The words swim. The cat shifts, pressing harder against her thigh, and the purr intensifies. Karen's hips rock, a tiny, involuntary movement. She crosses her legs. The pressure on her clit makes it worse.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>She doesn't go upstairs. She stays on the couch. The cat purrs in her lap and Karen pulls a blanket over herself and slides her hand into her pyjama pants. She's soaked, the cotton is dark with it. Her fingers find her clit and she rubs in time with the purring, the vibration from the cat synchronising with her own rhythm.</p>
<p>Her fingers speed up, two on her clit, fast circles, the pyjama fabric bunching around her wrist. Her hips rock against her own hand, grinding the heel of her palm against her pussy while her fingertips work the clit. The purring vibration from the cat adds a second frequency, twenty-six hertz on her thigh, her own rhythm on her clit, the dual stimulation stacking until her breath catches and her jaw locks.</p>
<p>She comes on the living room couch with the cat in her lap and the book open on the armrest. Her pussy clenches in hard pulses, wave after wave, her thighs clamping together, trapping her hand between them. Her hips push up off the cushion. A moan escapes through clenched teeth. The orgasm rolls through her in waves, each one timed to the cat's purr, the vibration extending the climax past anything she's achieved solo. Her fingers stay on her clit through the aftershocks, pressing, milking the last tremors until her body finally goes limp.</p>
<p>The cat doesn't move. Keeps purring. Karen's hand slides out of her pyjama pants, fingers slick. She wipes them on the blanket.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>She puts the book down. Picks up the cat. Moves it to the armchair. Sits back down. The arousal doesn't fade, the trigger has been activated, and removing the stimulus doesn't reset the endocrine cascade. She's throbbing. She crosses her legs. Uncrosses them. Crosses them again. She will not touch herself. She refuses.</p>
<p>Twenty minutes. Thirty. The arousal builds without release. Her pussy aches. Her clit is swollen. She presses her thighs together and rocks against the couch cushion, small, controlled movements, but she doesn't use her hands. The edging is compulsive now. She keeps herself at the brink for forty-five minutes before going upstairs.</p>
<p>She locks the master bedroom door. She still doesn't come. The denial has become the point.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>She goes upstairs. Locks the door. Gets the handcuffs from the nightstand drawer, the ones she doesn't remember buying. She cuffs her left wrist to the headboard and lies on her back, her free hand shoved between her legs.</p>
<p>She fingers herself with the restraint pulling at her wrist, the metal biting into her skin, and the combination of bondage and the residual arousal from the cat's purr drives her to orgasm in under three minutes. She comes with her back arched, wrist straining against the cuff, a sound like a sob pulled from her chest.</p>
<<else>>
<p>She goes upstairs. Tells Dale she has a headache. Locks the bathroom door. She sits on the edge of the tub and shoves her hand into her pyjama pants and fucks herself with two fingers, fast and rough, her palm grinding against her clit with every thrust. She comes bent over the edge of the tub with her face in a towel to muffle the sound. Her legs shake so badly she has to sit on the floor afterward.</p>
<</if>>
<img class="scene-img" src="media/scenes/hormoverride-karen-purr-3.webp" alt="Karen on bed, post-orgasm, cat nearby">
<<say "char-hivemind" "Hivemind">>
<p>//Hormonal Override: operational. The domestic cat's purr now produces immediate sexual arousal in Karen Hoffman. The trigger is permanent, involuntary, and cannot be consciously overridden. Every time the cat sits in her lap, she will get wet. Every time it purrs, she will need to come. And the cat sits in her lap every evening.//</p>
<</say>>
<<conditioningFeedback "pheromone" 1 "Karen, hormonal override (cat purr)">>
<p><span class="delve-intel">Intel gained: Hormonal Override rewires Karen's arousal to the cat's purring frequency (26 Hz). Instant lubrication on contact. The trigger is permanent and involuntary. Every evening with the cat becomes a sexual event.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upstairs">>
<<if not $ch2Events.hormOverrideMegan>>
<<spendBiomass 2>>
<<set $ch2Events.hormOverrideMegan to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 2>>
<</if>><</nobr>>
<div class="passage-title">The Scent</div>
<p><span class="skill-used">Hormonal Override, Megan (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-1.webp" alt="Megan holding cardigan to face, breathing in">
<p>Megan is running late enough that she grabs the first warm thing off the top of the laundry pile without looking, the cream cardigan that turns out to be Karen's, and pulls it on as she heads for the stairs.</p>
<<say "char-megan-thought" "Megan">>
Mom's, whatever, it's clean and I'm forty minutes behind and it smells like her, perfume and that... whatever that is underneath, and okay, why am I standing here smelling a cardigan, move, Megan, you have a bus.
<</say>>
<p>She does not move. The scent has a hand around something low in her and it will not let go, jasmine and vanilla over a warmer note her mother's body has been putting out for a while now, and it rolls through her in one slow heavy wave that stops her dead in the hallway with a hand on the banister.<<if $kinks.karen.includes("exhibitionism")>> Karen has been running hot lately, skin warm, pores open, and the wool drank all of it in, so the smell is thick and unmissable, a body that broadcasts.<<elseif $kinks.karen.includes("bondage")>> Karen wore this with the cuffs rolled tight to her wrists, and the pressure-sweat is concentrated and sharp at the collar and cuffs, a body held against itself.<<elseif $kinks.karen.includes("denial")>> Karen edged herself on the couch in this recently and never finished, and the wool is soaked with the sweeter, headier smell of a body kept at the brink for hours.<<elseif $kinks.karen.includes("size") or $kinks.karen.includes("penetration")>> Karen wore it through one of her stretching sessions, and under the perfume the smell is deep and organic, the raw chemistry of a body that spends its private hours full.<</if>></p>
<<say "char-megan-thought" "Megan">>
What is wrong with me, I do not get like this from a smell, from //Mom's// smell, oh my god my underwear is, I am actually... no. No. Take it off and go.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The scent is wired now. It runs straight past the part of her that thinks and into the part that only answers. She will not tell herself her mother's cardigan makes her wet. She will tell herself she feels strange, off, restless, and her body has already skipped ahead of the lie. She is soaking through her shorts in the hallway over a smell.//
<</say>>
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-2.webp" alt="Megan retreating to bedroom with cardigan">
<p>She does not take it off and go. She goes back into her room and shuts the door.</p>
<<say "char-megan-thought" "Megan">>
Five minutes. I am going to be so late and I do not care, five minutes and then I am normal again.
<</say>>
<<if $kinks.megan.includes("praise")>>
<p>She presses the cardigan to her face and breathes, and her mother's voice comes with the smell, //good girl//, the way Karen says it when Megan does something right, and her hand is already shoving her shorts down.</p>
<<say "char-megan" "Megan">>
<i>(muffled into the wool, fingers working her clit)</i> ...good girl, mmh, I'm a good girl...
<</say>>
<p>She comes with the fabric pressed to her open mouth, and the words fall out of her before she can catch them.</p>
<<say "char-megan" "Megan">>
<i>(breaking, helpless)</i> ...thank you, Mom. Oh god. Thank you...
<</say>>
<<elseif $kinks.megan.includes("rough")>>
<p>She buries her face in the cardigan and bites down on it, the wool filling her mouth, and her hand drives between her legs with no warmup at all, two fingers straight in.</p>
<<say "char-megan" "Megan">>
<i>(snarled into the fabric, fucking herself against the door)</i> Mmh, fuck, //fuck//, come on...
<</say>>
<p>She comes hard and standing, knees buckling, a grunt torn out of her, four fingernail lines dragged down the door frame.</p>
<<else>>
<p>She drops onto the bed with the cardigan spread over her face and chest and her shorts already at her knees, breathing her mother's scent in slow and rubbing herself in slow circles to match.</p>
<<say "char-megan" "Megan">>
<i>(low, into the wool)</i> Oh my god... oh my //god//...
<</say>>
<p>She comes once small and shaking, then drives two fingers into herself and curls them and comes again, harder and longer, her whole body folding up around the cardigan.</p>
<</if>>
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-3.webp" alt="Megan on bed, face in cardigan, hand between legs">
<p>When she finally surfaces the cardigan is not just damp from her breath. The hem and one cuff are dark and heavy where she dragged them down between her legs at some point she does not remember choosing, soaked through with her, her mother's scent buried under her own now.</p>
<<say "char-megan-thought" "Megan">>
Oh no. Oh no no no, look at it, I cannot put this back in the wash like //this//, she will know, oh my god what is even wrong with me, it is //Mom's//.
<</say>>
<<say "char-karen" "Karen">>
<i>(from down the hall, coming closer)</i> Has anyone seen my cardigan? The cream one, I had it in the wash basket!
<</say>>
<<say "char-megan" "Megan">>
<i>(far too fast, voice cracking)</i> No! Haven't seen it!
<</say>>
<p>Megan stuffs the soaked cardigan down the side of the mattress and shoves it under with her heel, deep into the dark where the dust and the dead chargers live, her heart going like she has done something she can be arrested for, which in some way she is fairly sure she has.</p>
<<say "char-megan-thought" "Megan">>
It is under the bed, it is fine, I will wash it myself and put it back and nobody ever, ever knows. ...I am not putting it back. Oh god. I want to keep it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//It holds. Her mother's scent is the trigger now, and she has just learned she cannot be in a room with it and stay upright. She will find reasons to be near Karen, to borrow her things, to bury her face in the warm laundry, and she will never once let herself say the word for what she is doing. The line between mother and daughter runs the other way now, and the daughter opened it with her own hand.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Megan, hormonal override (scent)">>
<p><span class="delve-intel">Intel gained: Hormonal Override rewires Megan's arousal to Karen's pheromone-laced scent. Any fabric Karen has worn becomes a trigger, and direct proximity to Karen will produce an overwhelming response. The soaked cardigan is now hidden under Megan's bed, her first secret stash. The mother-daughter bond is a delivery mechanism.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if not $ch2Events.hormOverrideRyan>>
<<spendBiomass 2>>
<<set $ch2Events.hormOverrideRyan to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "ryan" "pheromone" 1>>
<<addBiomass 2>>
<</if>><</nobr>>
<div class="passage-title">The Voice</div>
<p><span class="skill-used">Hormonal Override, Ryan (2 biomass)</span></p>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/hormoverride-ryan-voice-1-fem.webp" alt="Ryan at the family dinner table, fork frozen halfway to his mouth, eyeliner visible, matte black painted fingernails on the fork, deep red flush across his face, Karen across the table looking down at her phone managing the conversation">
<p>Dinner. Karen has her phone in her left hand and her fork in her right, the schedule-managed register clicking through items the way she always does at the table, and tonight, between bites of chicken, the agenda is //Ryan//.<<if $kinks.karen.includes("exhibitionism")>> She's wearing a low-cut top tonight, the exhibitionism conditioning has her dressing to be //seen//, and the visual display combines with the maternal-instructional voice to create a double-channel trigger.<<elseif $kinks.karen.includes("bondage")>> She's sitting with perfect posture, spine straight, wrists together on the table whenever the fork is down, the bondage conditioning translating into physical //control// that makes her commands feel like restraints being applied.<<elseif $kinks.karen.includes("denial")>> Her voice is //tight// tonight, the denial conditioning has her edging herself under the table as she talks, and the frustrated arousal leaks into her vocal register as a clipped, demanding tone that is //devastating// to Ryan's Override.<<elseif $kinks.karen.includes("penetration")>> She leans forward to inspect when she critiques, close, invasive, her presence penetrating the space the way the conditioning has taught her body to penetrate //other// spaces. Each correction feels like it's //inside// him.<</if>></p>
<p>The parasite tags it.</p>
<<say "char-karen" "Karen">>
<i>(without looking up from the phone in her left hand, fork in the other hand still cutting chicken)</i> Ryan. Your eyeliner. The left side is heavier than the right.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(fork frozen halfway to his mouth, hand jerking up toward his eye before he can stop it)</i> I, what — Mom, it's not —
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting in, eyes still on the phone, the schedule-managed register holding flat)</i> It's uneven. If you're going to do it, do it properly. Tomorrow morning. Seven AM. Bathroom mirror. We'll do it together.
<</say>>
<p>The words hit him like a hand between his legs. //We'll do it together// is the worst, best, phrase he has ever heard her use, and it lands on a body that has been waiting for somebody to say something exactly like it. His cock stiffens in his jeans so fast it hurts. He grips his fork. His face goes red. Karen's voice, the //commanding// voice, the //we are going to manage this// voice, applied to the //thing he has been hiding//, has just been rewired to his arousal centre.</p>
<<say "char-hivemind" "Hivemind">>
//Hormonal Override: target locked. Ryan Hoffman. Trigger assigned: auditory stimulus — Karen Hoffman's imperative vocal register, sharpened by maternal-instructional content directed at his feminine self-presentation. Testosterone spike, penile erection onset in 2.1 seconds, pre-ejaculatory fluid production in under five. The override compounds with the //recognition// payload: she sees what he is doing and is taking command of how it gets done. He doesn't understand why his mother critiquing his eyeliner makes his cock throb. He never will.//
<</say>>
<<say "char-ryan" "Ryan">>
<i>(forcing it out, voice tight, hands disappearing under the table)</i> ...okay. I just, it's not really a thing, I don't —
<</say>>
<<say "char-karen" "Karen">>
<i>(cutting in again, taking a sip of water, eyes flicking briefly to his shoulders)</i> Stand up straight. If you're wearing something fitted, you have to carry it. Shoulders back. The whole point of the cut is the shoulder line.
<</say>>
<p>His shoulders go back. Automatic. The body obeys the command before the mind has finished processing it, and the obedience itself is another stroke. //If you're wearing something fitted//. Karen has noticed the cut. Karen has noticed the //fit//. Karen is //instructing// him on how to wear it. The fork in his hand is shaking.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible, eyes on his plate)</i> ...sorry. I —
<</say>>
<<say "char-karen" "Karen">>
<i>(third interruption, the same flat clipped register, eyes flicking briefly to his hands on the table)</i> The nails are chipped. Either fix them or take them off. Half-done looks careless. I have remover under the sink if you need it.
<</say>>
<p>His hands disappear under the table again. The matte black he painted a few nights ago is exactly as chipped as Karen says it is. Karen has seen them and Karen has filed them and Karen is //offering remover//, the same way she would offer a stain pen for a coffee mark on a blouse. The arousal is so close to the edge his vision is going narrow at the corners.</p>
<<say "char-hivemind" "Hivemind">>
//Three interruptions across as many minutes. Each one a stroke. Each one a //recognition//, she sees the eyeliner, she sees the fit, she sees the nails. Each one a //command//, fix this, stand up straight, choose. The override is no longer just the voice. The override is the //combined signal//: the maternal authority, plus the seen-and-managed femme presentation, plus the cut-off itself. He is not going to make it through the rest of the chicken.//
<</say>>
<<say "char-karen" "Karen">>
<i>(noticing finally, the schedule-managed register softening half a notch)</i> Ryan? You're very red. Are you feeling alright?
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pushing back from the table, the chair scraping the tile)</i> I'm... I need to, bathroom.
<</say>>
<img class="scene-img" src="media/scenes/hormoverride-ryan-voice-2-fem.webp" alt="Ryan pushing back from the dinner table mid-flee, slim body hunched forward to hide his lap, deep red face, eyeliner visible, matte black painted nails on the hands clutching the chair back, Karen still seated across the table watching him stand with managerial concern, fork in her hand">
<<else>>
<img class="scene-img" src="media/scenes/hormoverride-ryan-voice-1.webp" alt="Ryan at dinner table, tense, fork frozen">
<p>Dinner. Karen is talking about the schedule. Her voice is clear, controlled, authoritative, the voice of a woman who runs a household and doesn't tolerate pushback.<<if $kinks.karen.includes("exhibitionism")>> She's wearing a low-cut top tonight, the exhibitionism conditioning has her dressing to be //seen//, and the visual display combines with the vocal authority to create a double-channel trigger.<<elseif $kinks.karen.includes("bondage")>> She's sitting with perfect posture, spine straight, wrists together on the table, the bondage conditioning translating into physical //control// that makes her commands feel like restraints being applied.<<elseif $kinks.karen.includes("denial")>> Her voice is //tight// tonight, the denial conditioning has her edging herself under the table as she talks, and the frustrated arousal leaks into her vocal register as a clipped, demanding tone that is //devastating// to Ryan's Override.<<elseif $kinks.karen.includes("penetration")>> She leans forward when she commands, close, invasive, her presence penetrating the space the way the conditioning has taught her body to penetrate //other// spaces. Her voice feels like it's //inside// him.<</if>></p>
<p>The parasite tags it.</p>
<<say "char-karen" "Karen">>
<p>Ryan. Sit up straight. Elbows off the table.</p>
<</say>>
<p>The words hit him like a hand between his legs. His cock stiffens in his jeans so fast it hurts. He grips his fork. His face goes red. Karen's voice, her //commanding// voice, the one that says //do this, do that, look at me when I'm talking//, has been rewired to his arousal centre.</p>
<<say "char-hivemind" "Hivemind">>
<p>//Hormonal Override: target locked. Ryan Hoffman. Trigger assigned: auditory stimulus — Karen Hoffman's imperative vocal register. The specific frequencies of maternal command activate his endocrine response. Testosterone spike, penile erection onset in 2.1 seconds, pre-ejaculatory fluid production in under five. He doesn't understand why his mother telling him to eat his vegetables makes his cock throb. He never will.//</p>
<</say>>
<<say "char-karen" "Karen">>
<p>Are you listening to me? Put the phone away.</p>
<</say>>
<p>Worse. Every command is a stroke. His cock is straining against his zipper and his mother is three feet away giving him orders and each word sends a pulse of arousal through him that makes his hands shake.</p>
<<say "char-karen" "Karen">>
<i>(noticing)</i> Ryan? Are you feeling alright? You're very red.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(pushing back from the table)</i> I'm... I need to, bathroom.
<</say>>
<img class="scene-img" src="media/scenes/hormoverride-ryan-voice-2.webp" alt="Ryan fleeing table, Karen confused">
<</if>>
<p>He barely makes it upstairs. Locks his bedroom door. His cock is so hard it's painful, the sustained exposure to Karen's voice at dinner has kept the arousal at maximum for fifteen minutes without release.</p>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>He drops to his knees beside his bed. Doesn't even make it to the mattress. He pulls his cock out and strokes himself with desperate, jerking movements, replaying Karen's voice in his head. //Sit up straight. Elbows off the table. Are you listening to me.// Each command a stroke. Each remembered syllable pushes him closer.</p>
<p>He comes on the carpet beside his bed, forehead pressed to the mattress, his mother's voice echoing in his skull. //Put the phone away.// He comes so hard his vision whites out.</p>
<<if $kinks.ryan.includes("cumeating")>>
<p>He stares at the cum pooling on the carpet. His hand moves before his brain catches up, he scoops it with two fingers and brings it to his mouth. His mother's voice in his head says //eat// and he eats. The taste of his own cum is the aftertaste of Karen's commands. He licks his fingers clean and the conditioning loop closes: voice → arousal → cum → swallow → voice.</p>
<</if>>
<<elseif $ryanRoute is "feminization">>
<p>He falls onto the bed. Pulls open the bottom drawer, the one where he keeps the things he doesn't talk about. Karen's camisole, taken from the laundry last week. He strips off his shirt and pulls the camisole on, too tight across his chest, the silk clinging to his skin. Karen's scent is in the fabric. Her voice is in his skull.</p>
<p>He wraps his hand around his cock and strokes wearing his mother's clothes. The silk against his nipples. The command in his ears. //Look at me when I'm talking.// He fucks his fist in Karen's camisole. //Eat your vegetables.// He comes into the silk, thick, hot ropes soaking the fabric from inside, and lies there panting, wearing his mother's cum-stained lingerie, her voice playing on loop.</p>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>He doesn't go to his room. He stands in the upstairs hallway outside Karen's bedroom door. His cock is straining against his jeans and Karen's voice is still ringing in his ears and the override doesn't want //distance// from the source. It wants //proximity//.</p>
<p>He presses his palm flat against the bedroom door. Karen is inside. He can hear her, talking to Dale, or on the phone, or just //breathing//, and the sound of her voice through the wood makes his cock throb.</p>
<p>He unzips. Right there in the hallway. His hand wraps around his cock and he strokes himself pressed against his mother's bedroom door, his forehead on the wood, his palm flat, listening to her voice. //Come here a second.// Something she said at dinner. //Ryan, sit down.// His hips thrust against the door and he comes on the carpet at the threshold, cum soaking into the hallway runner three feet from where Karen is getting ready for bed.</p>
<p>He tucks himself in. Goes to his room. Karen will step over that spot tomorrow morning and never know.</p>
<<elseif $kinks.ryan.includes("voyeurism")>>
<p>He doesn't lock his door. He lies on the bed and pulls his cock out and jerks off with the door ajar, the hallway light spilling across his bed, the //risk// of someone walking past, someone //seeing// him come to his mother's voice.</p>
<p>He replays Karen's commands and strokes himself in full view of anyone who might pass. //Are you listening to me?// His hand is fast. //Put the phone away.// His hips push up off the bed. He comes with the door open, cum arcing onto his stomach, a sound he doesn't muffle because the voyeurism kink turns being //heard// into the final push.</p>
<p>Nobody walks past. But the gecko on the ceiling watches. And that's enough.</p>
<<else>>
<p>He lies on the bed and jerks off to his mother's voice. It's that simple. He replays every command from dinner, the specific words, the specific tone, the way her voice drops half a register when she's serious, and strokes himself in time. His hand is fast, rough, desperate. He comes in under a minute, cum on his stomach and chest, and the orgasm is so intense his whole body convulses.</p>
<p>He lies there staring at the ceiling. His cock is still half-hard. Karen's voice is still in his head. He'll hear it again tomorrow. And the day after. And every time she opens her mouth to give him an instruction, his body will respond.</p>
<</if>>
<img class="scene-img" src="media/scenes/hormoverride-ryan-voice-3.webp" alt="Ryan on bed, cum on stomach, staring at ceiling">
<<say "char-hivemind" "Hivemind">>
<p>//Hormonal Override: operational. Karen's authoritative voice is now Ryan's primary arousal trigger. Every maternal command, every instruction, every correction, every raised eyebrow backed by vocal emphasis, will produce erection in under three seconds. He cannot sit through a family dinner without needing to excuse himself. The mother's voice that shaped his childhood now shapes his orgasms.//</p>
<</say>>
<<conditioningFeedback "pheromone" 1 "Ryan, hormonal override (voice)">>
<p><span class="delve-intel">Intel gained: Hormonal Override rewires Ryan's arousal to Karen's imperative vocal register. Every maternal command produces instant erection. He cannot endure a family dinner without excusing himself. Karen's voice is now the most potent sexual stimulus in Ryan's life.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-jess-room">>
<<if not $ch2Events.hormOverrideJess>>
<<spendBiomass 2>>
<<set $ch2Events.hormOverrideJess to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 2>>
<</if>><</nobr>>
<div class="passage-title">The Cold</div>
<p><span class="skill-used">Hormonal Override, Jess (2 biomass)</span></p>
<<if $jessRoute is "punk">>
<p>Weekend afternoon. The window is cracked open four inches and the radiator is off, the same trick she has always run when she needs to stay sharp. The girl at the desk has purple-and-black hair tied back in a loose tail now, a crooked nose stud catching the lamp glow, a bass case leaning against the wall, and the cold-window habit is one of the few things about her that hasn't changed. The textbook open in front of her is the only object in the room that hasn't been moved in months, and she has been pretending to read it for a while.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-1-punk.webp" alt="Jess at her desk in a tank top, purple-and-black hair tied back, cold air from the cracked window, lamp glow on bare shoulders">
<<else>>
<p>Weekend afternoon. Jess is studying. The window is cracked open four inches and the radiator is off, her trick for staying sharp through marathon sessions. Cold air on bare arms, cold air in her lungs, the discomfort keeping her focused. It has worked since high school. Bun tight. Textbook open. Highlighter cap between her teeth.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-1.webp" alt="Jess at her desk in a tank top, hair in a tight bun, cold air from the cracked window">
<</if>>
<p>The parasite tags the cold.</p>
<<say "char-hivemind" "Hivemind">>
//The cold receptors in her skin used to report a single thing: sharpen up. I have spliced them into the bundle that serves the clitoris. The wiring holds. The draught she opens to discipline herself now reads as arousal, and she does not yet know the tool has turned in her hand.//
<</say>>
<p>The breeze hits her arms and her nipples harden, not from cold, from //arousal//, the goosebump cascade across her skin firing each follicle straight into her clit instead of into her thermoregulatory cortex. She is wet immediately, soaking the crotch of her sleep shorts before she has even shifted in the chair, her thighs clenching and unclenching against the wood like she is trying to grind on the seat itself. She tries to read the same paragraph three times, and the words slide off her brain like water on glass.</p>
<<if $jessRoute is "punk">>
<p>She closes the textbook slowly, smiling at it like it just told her a bad joke, then pushes the chair back, hooks two fingers under the waistband of her shorts and shoves them down past her thighs, and the cold draught from the window hits her bare cunt like a hand pressed flat against her. The gasp she makes is not surprise. It is appetite.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to the room, grinning at the ceiling)</i> ...oh, fuck yeah. Yeah. More of that.
<</say>>
<p>She drops back into the chair sideways, one leg hooked over the armrest, the other braced against the floor, open, exposed, the cold draught playing directly across her pussy and the lamp glow painting one thigh yellow while the other stays in shadow. Her hand goes between her legs without ceremony, two fingers sliding inside, thumb finding her clit, the slick rhythm the same one she has been refining alone since she was sixteen. She moans low, not muffled, not embarrassed, the kind of moan she has stopped silencing. The radiator clicks. The cold air keeps coming.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-2-punk.webp" alt="Jess sideways in the desk chair, leg hooked over the armrest, hand between her legs">
<<say "char-jess" "Jess">>
<i>(louder, to the cracked window itself)</i> Mmh, fuck... //yeah//, keep doing that, keep doing exactly that...
<</say>>
<p>Three knocks at the door. Quick, maternal, the pattern Karen always uses. Jess pauses with two fingers still inside herself and tilts her head at the door, smirking.</p>
<<say "char-karen" "Karen">>
<i>(through the door)</i> Jess? You okay in there? You haven't come down for water in two hours.
<</say>>
<p>She pulls her fingers out slowly. Takes the four steps to the bed in shorts around one ankle, drags the comforter off, walks back to the desk, drops into the chair, pulls the comforter over her lap. Two fingers go right back inside. The cold air is still on her shoulders. Her thumb finds her clit again before she has even answered.</p>
<<say "char-jess" "Jess">>
<i>(weak, sick, the act perfect, fingers working under the blanket, voice held just steady enough)</i> ...mmh, yeah, I'm okay, Mom. I think I'm coming down with something. Chills.
<</say>>
<<say "char-karen" "Karen">>
<i>(maternal, brisk, the way she always solves things)</i> Want me to bring you ginger tea? I'll put honey in it.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes closed, fingers picking up speed under the comforter, breath catching on the consonants)</i> ...sure. Yeah. Mmh, thanks, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(softer, retreating)</i> Five minutes. Drink it before it cools.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She did not stop when her mother knocked. She slowed for the answer. The fingers never came out for long.//
<</say>>
<p>The footsteps recede down the hall, first stair, second, fourth, and the orgasm hits the moment she hears Karen reach the kitchen, clenching around her own fingers, her free hand slapping over her mouth to muffle the sound, her hips jerking up off the chair so hard the comforter slides to the floor. The cold air on her bare cunt mid-climax is //unbearable//, not painful, sensation past the point where her brain can label it, just intensity stacked on intensity until every nerve ending blanks white.</p>
<<say "char-jess" "Jess">>
<i>(into her own palm, gargled)</i> Mmphh... //mmh//, fffuck...
<</say>>
<p>Her thighs lock around her hand. The chair rocks. She keeps her teeth in her own palm hard enough to leave the half-moon marks she will inspect in the bathroom mirror tomorrow with the same private smirk.</p>
<<if $kinks.jess.includes("brat")>>
<p>She licks her own fingers clean, slow and deliberate, listening to Karen's footsteps coming back up the stairs with the tea, tasting herself like she has nothing to be sorry for and no one she owes an explanation. //I came while my mother made me ginger tea.// She grins at the thought, holds it behind her teeth, keeps it.</p>
<<elseif $kinks.jess.includes("band")>>
<p>Her phone is on the desk and she picks it up with the hand that is not still slick, thumbs open the band group chat, types nothing. Kade's last message sits at the bottom, three guitar emojis and a half-finished riff, and she reads it with her cunt still humming and decides she is going to bring this to practice, maybe, eventually, when she works out how to say it to him without saying it.</p>
<</if>>
<p>Karen comes back up with the tea three minutes later. Knocks again. Sets the mug on the floor outside the door, the way you treat a sick person.</p>
<<say "char-karen" "Karen">>
<i>(through the door, gentle)</i> It's outside. Drink it before it cools, sweetheart. Take it easy today.
<</say>>
<<say "char-jess" "Jess">>
<i>(steady now, sick voice held perfectly)</i> Thanks, Mom. I will.
<</say>>
<p>Karen's footsteps recede. Jess waits until she hears the kitchen tap running, then opens the door, retrieves the mug, closes the door, and drinks the tea in three long pulls while sitting bare-cunted in the chair with the cold draught still playing across her thighs.</p>
<<say "char-hivemind" "Hivemind">>
//The cold makes her wet. Her mother at the door makes her harder. The draught she opened to study now opens her to me, and the woman whose voice used to steady her steadies nothing. Neither wire will close again.//
<</say>>
<<else>>
<p>She tries to read the same paragraph again, and again after that, but the breeze keeps coming and the cold keeps firing into her clit instead of into her shoulders, and the highlighter slips out of her fingers and rolls off the desk while she watches it go, her hand shaking, the certainty already settled in her that she is not going to study a single page today.</p>
<p>She closes the textbook slowly, the same girl who closes textbooks correctly even when she is breaking, and slides off the chair onto the bed, pulling the comforter halfway up her legs and pushing her shorts down to her knees beneath the blanket. The cold air follows her, the window still open, the draught still playing across her exposed shoulders, and her body has not stopped firing.</p>
<<say "char-jess" "Jess">>
<i>(quiet, to herself, the resignation of a girl who has run out of reasons to fight her own body)</i> ...fine. Fine. Whatever. Fine.
<</say>>
<p>Her hand goes between her legs. Two fingers inside. Thumb on the clit. The slick pull-and-push she has been refining alone since high school, except now she is doing it on a study afternoon in the middle of immunology week, and the highlighter is still on the floor, and she does not care. A moan escapes her, small, broken, the sound of someone who has been holding something in too long. She bites the corner of the pillow. Another moan, less small this time. Another.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-2.webp" alt="Jess curled on the bed, comforter halfway up, hand between her legs, face in the pillow">
<<say "char-jess" "Jess">>
<i>(into the pillow, broken into syllables)</i> Mmh... //mmh//, fuck, fuck, //fuck//...
<</say>>
<p>Three knocks at the door. Quick, maternal, the pattern Karen always uses. Jess freezes, whole body, fingers stop inside her, breath stops in her chest.</p>
<<say "char-karen" "Karen">>
<i>(through the door)</i> Jess? You okay in there? You haven't come down for water in two hours.
<</say>>
<p>Her brain runs the calculation in under a second, comforter halfway up, shorts at her knees beneath the blanket, hand slick between her thighs, voice steady enough, and the shame and the arousal stack on top of each other so violently her vision narrows. She pulls the blanket the rest of the way up to her chin.</p>
<<say "char-jess" "Jess">>
<i>(deliberately weak, the sick voice she has been performing since she was a kid who needed a day off)</i> ...mmh, yeah, I'm okay, Mom. I think I'm coming down with something. Chills.
<</say>>
<<say "char-karen" "Karen">>
<i>(maternal, brisk)</i> Want me to bring you ginger tea? I'll put honey in it.
<</say>>
<<say "char-jess" "Jess">>
<i>(eyes squeezed shut, fingers starting to move again under the blanket, slowly, traitorously, of their own accord)</i> ...sure. Yeah. Thanks, Mom.
<</say>>
<<say "char-karen" "Karen">>
<i>(softer, retreating)</i> Five minutes. Drink it before it cools.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She did not stop. She slowed, but she did not stop. The body is making the decision now. The mind is signing off on it after the fact.//
<</say>>
<p>The footsteps recede down the hall, first stair, second, fourth, and the moment she hears the kitchen tap she lets her thumb press down on her clit and starts working herself in earnest, biting the pillow harder, whimpering into it. The cold air on her shoulders has not stopped, the override is still firing, every goosebump still routed into her cunt, and now the //shame// is firing into the same bundle, the knowledge that her mother is downstairs making her tea while she is up here fingering herself with the door unlocked.</p>
<<say "char-jess" "Jess">>
<i>(muffled into the pillow, broken syllables)</i> Mmh, sorry, Mom, sorry... //sorry//...
<</say>>
<p>She comes biting the pillow, hard, her hips jerking up off the mattress and her free hand fisting in the sheets, and the orgasm goes on and on with the cold air keeping the receptors open and the shame stacking onto every contraction, her body throwing wave after wave long after her mind has given up and gone quiet. She lies there afterward, soaked, panting, shorts at her knees under the blanket, and the highlighter is still on the floor where she dropped it.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>Without opening her eyes she pulls her phone off the nightstand and opens a private browser one-handed. The screen glows under the blanket, cold blue light over her face, and she watches strangers fuck while the winter air still licks her bare shoulders. Her free hand goes back between her legs before the first clip has finished loading. The second orgasm comes quietly, chin tucked into the pillow, eyes locked on the screen, and the third is just a tremor, her thighs pressing together, her phone face-down on the mattress.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>Her own internal monologue does not let go. //Pathetic. You couldn't even study without getting wet. Your mom is making you tea and you are leaking onto the comforter.// The litany drives the second orgasm, she rolls onto her stomach, shoves her hand under herself, grinds against her own fingers, and the word //worthless// lives behind her teeth on every contraction. She comes harder than the first time. The shame is the engine.</p>
<</if>>
<p>Karen comes back up with the tea a few minutes later, knocks again, and sets the mug on the floor outside the door the way you treat a sick person. Jess does not get up, cannot get up.</p>
<<say "char-karen" "Karen">>
<i>(through the door, gentle, the tone Jess has not heard from her in years)</i> It's outside. Drink it before it cools, sweetheart. Take it easy today.
<</say>>
<<say "char-jess" "Jess">>
<i>(steady, somehow, the academic-girl performance of being okay holding even now)</i> Thanks, Mom. I will.
<</say>>
<p>Karen's footsteps go back down the hall, and Jess does not move for a long time. Eventually she gets up, retrieves the mug, and drinks the tea sitting on the bed with her shorts still around her knees and the cold air still playing against her shoulders, and the arousal does not stop, will not stop. She tells herself she will close the window tomorrow and study without it, and she half believes it, the way she half believed the last promise she made herself, and the day after she will open it again, because the thing it used to give her is gone and the thing it gives her now is not.</p>
<<say "char-hivemind" "Hivemind">>
//The cold makes her wet. Her mother at the door makes her harder. The draught she once used to hold herself together now takes her apart, and the voice that used to anchor her arouses her from the far side of the door. Neither wire will close again.//
<</say>>
<</if>>
<<conditioningFeedback "pheromone" 1 "Jess, hormonal override (cold)">>
<p><span class="delve-intel">Intel gained: Hormonal Override rewires Jess's arousal to cold air on bare skin. Her study-window trick now triggers uncontrollable sexual arousal, and her mother's voice through the door deepens the response by proxy. The tool of control has become the agent of its destruction; the household authority has become a downstream amplifier.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.hormOverrideDale>>
<<spendBiomass 2>>
<<set $ch2Events.hormOverrideDale to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "dale" "pheromone" 1>>
<<addBiomass 2>>
<</if>><</nobr>>
<div class="passage-title">The Crash</div>
<p><span class="skill-used">Hormonal Override, Dale (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/hormoverride-dale-couch-1.webp" alt="Dale on couch, body relaxing, expression changing">
<p>Dale comes home from a triple shift. He hasn't slept in twenty hours. His legs are rubber. His back is a knot. He collapses onto the couch, boots still on, uniform still on, and the moment his body goes horizontal, the moment every muscle releases, the moment exhaustion should pull him under...</p>
<p>The parasite tags the transition.</p>
<p>His cock gets hard. Not slowly. Not gradually. //Hard//. The muscle-release that should have been the prelude to sleep has been rerouted. Every receptor that should fire //rest// now fires //arousal//. Dale lies on the couch, exhausted beyond reason, with an erection tenting his uniform pants.</p>
<<say "char-hivemind" "Hivemind">>
<p>//Hormonal Override: target locked. Dale Hoffman. Trigger assigned: proprioceptive stimulus, the transition from vertical to horizontal, specifically the cascade of muscle relaxation signals when the body registers a lying position. Every time Dale lies down, his endocrine system interprets the relaxation signal as sexual. He cannot rest. He cannot sleep. The harder he works, the harder he crashes, the harder the override hits.//</p>
<</say>>
<img class="scene-img" src="media/scenes/hormoverride-dale-couch-2.webp" alt="Dale sitting up frustrated, unable to sleep">
<p>He sits up. The erection doesn't go away. He lies back down. It gets worse. He sits up again. Rubs his face. He's exhausted and hard and he can't have one without the other.</p>
<<if $kinks.dale.includes("humiliation")>>
<p>He gives in. On the couch. In his uniform. He unzips his pants, pulls his cock out, and jerks off lying down with his eyes closed and the TV playing to nobody. The humiliation is part of it, a fifty-year-old man masturbating on the family couch at 6 AM because he's too tired to sleep and too hard to think. //Pathetic.// The word is in his head and it makes his cock throb harder.</p>
<p>He comes into his own hand with a groan. Wipes it on the couch cushion. Closes his eyes. The exhaustion finally pulls him under.</p>
<<elseif $kinks.dale.includes("chastity")>>
<p>He won't touch it. He refuses. He lies there with his cock aching, twitching against his uniform pants, and he clenches his jaw and tells himself it'll pass. It doesn't pass. The override is persistent, as long as he's horizontal, the arousal keeps building.</p>
<p>He gets up. Paces. Sits in the kitchen chair. Stands. Lies down on the couch again. Hard again. Instantly. He cycles through this for an hour, up, down, hard, soft, up, down, hard, before finally passing out sitting upright in the kitchen chair, his cock still half-hard in his lap.</p>
<<else>>
<p>He goes to the bathroom. Locks the door. Sits on the toilet lid with his uniform pants around his ankles and jerks off with his head in his other hand, too tired to stand, too hard to sleep. He comes with a grunt and sits there for five minutes, hand still on his softening cock, eyes closed.</p>
<p>When he lies down on the couch again, the erection returns within thirty seconds. He goes back to the bathroom. Jerks off again. Comes with less. Returns to the couch. Hard again in under a minute.</p>
<p>The third time, he gives up and strokes himself on the couch, lying on his side, hand working his cock under the blanket, too exhausted to go to the bathroom again. He comes into the blanket and falls asleep with his softening cock still in his hand.</p>
<</if>>
<img class="scene-img" src="media/scenes/hormoverride-dale-couch-3.webp" alt="Dale asleep on couch, hand in boxers, exhausted">
<<say "char-hivemind" "Hivemind">>
<p>//Dale Hoffman can no longer lie down without getting hard. //Rest is gated behind orgasm now.////</p>
<</say>>
<<say "char-hivemind" "Hivemind">>
<p>//Exhaustion was his only honest feeling. The one thing Dale still //owned//. I took it from him.//</p>
<</say>>
<<conditioningFeedback "pheromone" 1 "Dale, hormonal override (exhaustion)">>
<p><span class="delve-intel">Intel gained: Hormonal Override rewires Dale's arousal to the lying-down muscle-release signal. He cannot rest without first achieving orgasm. Sleep is now gated behind sexual release. His exhaustion cycle, work, crash, arousal, orgasm, sleep, generates guaranteed daily biomass.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
ESTRUS TRIGGER (Biological) — 3 bio per target
Sustained escalating arousal cycle. Hours of building need.
============================================================ */<<nobr>><<bg "bg-hoffman-master">>
<<set $ch2Events.futaAnal to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addBiomass 3>><</nobr>>
<div class="passage-title">New Territory</div>
<p><span class="skill-used">Karen Futa, Anal Penetration (0 biomass, conditioning-gated)</span></p>
<img class="scene-img" src="media/scenes/futa-anal-1.webp" alt="Karen futa, bedroom, dominant stance">
<p>Karen locks the bedroom door. Closes her eyes. Flexes.</p>
<p>The shift takes three seconds. Her cock grows from nothing, blood rushing, tissue swelling, the by-now familiar pressure between her legs. She opens her eyes. Hard against her thigh. Ready.</p>
<<if $kinks.karen.includes("size")>>
<p>She wraps her hand around it. The size still surprises her, thicker than the first time, the tissue responding to repeated activation the way muscle responds to exercise. She strokes once, testing the girth, and the number she's been tracking in her head ticks upward. //Bigger.// The thought makes her harder.</p>
<<elseif $kinks.karen.includes("penetration")>>
<p>The drive tonight is specific. Not a handjob, not a mouth. She wants //inside//, somewhere tight and resistant, a body that pushes back before it gives. The conditioning has been building this compulsion for a while now.</p>
<<else>>
<p>She's been thinking about this since dinner. The pheromone saturation in the kitchen, five bodies at the table, the arousal simmering beneath the Baseline Shift like heat under a lid. Tonight she wants to use it on someone.</p>
<</if>>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>Ryan is on the bed. Face down. Karen told him to be here at 10 PM. He obeyed. He always obeys.</p>
<<say "char-karen" "Karen">>
<i>(standing at the foot of the bed)</i> On your knees, sweetheart. Face in the pillow.
<</say>>
<p>Ryan shifts, knees under him, ass raised, face pressed into the pillow. His cock hangs between his legs, hard and leaking, the submission conditioning making the posture itself into //arousal//. Karen's hand finds his ass. Squeezes. Spreads.</p>
<p>She uses lube from the nightstand, the bottle she bought recently without questioning why. Her finger circles his asshole, presses, slides inside. Ryan gasps into the pillow. One finger, then two, stretching him, the prep //methodical// with the same efficiency she applies to the family budget.</p>
<p>Then her cock. She guides the head against his ass and pushes. Ryan's body resists, then //opens//. She slides inside him inch by inch, the tight heat gripping her shaft, and the sensation is //nothing// she's felt before. Not pussy, not mouth, something //else//, tighter and hotter, the feedback of a body //yielding//.</p>
<<say "char-hivemind" "Hivemind">>
//She's inside her son. The body that fought for the first inch has stopped fighting.//
<</say>>
<p>She fucks him slow at first, learning the angle, the depth, what makes him gasp and what makes him go silent. His face is in the pillow. His cock hangs untouched between his legs, dripping a steady thread of pre-cum onto the sheets while the prostate pressure milks it from him without permission.</p>
<p>Then faster. Karen's hips find a rhythm that belongs to her and no one else, methodical and possessive, the same energy she brings to reorganising the kitchen drawers. She grips his hips and her nails leave crescents in his skin, and Ryan makes a sound into the pillow that he'll spend a long time trying to forget.</p>
<p>He comes without being touched. The orgasm blindsides him, no buildup he recognised, just a sudden clenching deep inside, then his cock jerking against the sheets in helpless pulses. The cum pools beneath him and he didn't even know it was coming. His body tightens around Karen's cock and the squeeze drags her over the edge with him, and she buries herself deep and holds there, filling him, the two of them locked together while their bodies finish what their minds can't process.</p>
<<addConditioning "ryan" "psionic" 1>>
<<else>>
<p>Dale is in bed. Karen stands at the foot of it. He sees her cock and his expression is //complicated//, not fear, not desire, something between.</p>
<<say "char-karen" "Karen">>
<i>(voice calm)</i> Roll over, Dale.
<</say>>
<<if $kinks.dale.includes("helplessness")>>
<p>He can't refuse. The helplessness conditioning makes the command absolute, and his body rolls before his mind decides, face down, ass exposed. He surrenders because the conditioning //demands// surrender and the demand feels like //relief//.</p>
<<elseif $kinks.dale.includes("humiliation")>>
<p>He rolls over because the humiliation is the point. His wife is about to fuck him in the ass and he's //going to let her// because the shame of it makes his cock throb harder than anything in his marriage ever has.</p>
<<else>>
<p>He rolls over. He doesn't know why. The Sensory Bridge has been feeding him phantom penetration for a while now, and his body has been //preparing// without his knowledge. The resistance has been eroded by phantom, and what's left is //curiosity//.</p>
<</if>>
<p>Karen preps him with lube, one finger, then two. Then her cock. She pushes inside her husband and the sound Dale makes is //not// pain. It's the sound of a man discovering something about himself he'll never be able to unknow.</p>
<p>She fucks him on their marriage bed. The bed where their children were conceived. The bed she's been sleeping in alone.</p>
<p>Karen's rhythm is different with Dale than it would be with Ryan, slower and heavier. She leans over him, her weight pressing him into the mattress, her mouth near his ear. She doesn't speak and she doesn't need to. The bed creaks the way it used to, the same sound, the same springs, a completely different act.</p>
<p>Dale grips the headboard, his knuckles white, his breathing ragged through clenched teeth. Something in him is fighting, not the penetration, not the humiliation, but the //pleasure//, the fact that this feels //good//. His cock is hard against the mattress and each of Karen's thrusts grinds him into the sheets.</p>
<p>He comes with a sound like something tearing, not into the pillow but face turned to the side, eyes open, staring at the nightstand where their wedding photo used to sit before Karen moved it. His cock spasms against the sheets and the orgasm is long and wrenching, pulled from somewhere he didn't know existed.</p>
<p>Karen comes inside him, slow and deliberate. She stays buried while her cock empties, feeling every pulse, the warmth spreading inside him. When she pulls out, the cum follows, and it drips onto the sheets they'll both sleep on tonight.</p>
<<addConditioning "dale" "psionic" 1>>
<</if>>
<img class="scene-img" src="media/scenes/futa-anal-3.webp" alt="Aftermath, bedroom, post-anal">
<<say "char-hivemind" "Hivemind">>
//<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>The son's body will remember before his mind does.<<else>>Dale stares at the ceiling. He doesn't look at Karen. Doesn't need to.<</if>> The pathway is open now. It won't close.//
<</say>>
<<conditioningFeedback "psionic" 1 "Karen, futa route (anal)">>
<p><span class="delve-intel">Intel gained: First anal penetration. Karen futa → <<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>Ryan (submission/cumeating route)<<else>>Dale<</if>>. Prostate orgasm achieved without genital contact. The anal channel has been conditioned, and future encounters will meet less resistance.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
THREESOME — Megan + Marcus + Ryan
Marcus doesn't know Ryan is participating. Route-gated.
============================================================ */<<nobr>><<bg "bg-hoffman-megan-room">>
<<if not $ch2Events.threesome>><<spendBiomass 3>><</if>>
<<set $ch2Events.threesome to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 4>><</nobr>>
<div class="passage-title">Third Wheel</div>
<p><span class="skill-used">Threesome, Megan + Marcus + Ryan (conditioning-gated)</span></p>
<p>Friday night. The scrape of sneakers on the trellis, a branch creaking under weight, then the soft thud of someone climbing through Megan's window. Marcus pulls himself over the sill with the practiced ease of a boy who's done this before. Cold air follows him in and the curtain billows.</p>
<p>They're on Megan's bed within minutes. Kissing. His hand on her waist, thumb tracing the strip of skin between her shirt and her jeans. Hers on his chest, feeling his heartbeat through the cotton. Still clothed. Still the normal escalation of two people who've been wanting this for a long time.</p>
<img class="scene-img" src="media/scenes/threesome-mmr-1.webp" alt="Megan and Marcus kissing on her bed, clothed, intimate">
<p>Down the hall, Ryan sits at his desk. The game is open but he's not playing. Something is happening to his body. His lips tingle and his mouth feels //full//, phantom pressure, phantom warmth, the ghost of someone else's kiss spreading across his face. He touches his lips. Nothing there. But he can //taste// it, the specific flavour of another person's mouth, second-hand, delivered through the network.</p>
<<say "char-hivemind" "Hivemind">>
//The Sensory Bridge is active. Megan's arousal transmits to Ryan through the network.// He can feel what she feels, the warmth of Marcus's hand on her skin, the pressure of his mouth. //He didn't choose to feel this. The bridge chose for him.//
<</say>>
<p>Ryan's cock hardens in his sweatpants. He didn't touch it. The bridge touched it //for// him, Megan's arousal mapping to his body, her wetness translating to his erection, Marcus's hands on her skin echoing as phantom warmth across Ryan's chest.</p>
<p>Megan pulls Marcus's shirt off and he pulls hers. They fall onto the bed, her underneath, his weight settling over her, the specific gravity of a body that //wants// hers. His mouth moves to her neck. Her hand finds his cock through his jeans, hard and thick, the first cock she's touched that isn't a conditioning phantom.</p>
<<if $kinks.megan.includes("praise")>>
<<say "char-marcus" "Marcus">>
<i>(mouth on her neck)</i> You're so beautiful, Meg. God, you're so beautiful.
<</say>>
<p>The praise fires. Megan's pussy floods. She pulls his jeans down and takes his cock in her hand. //Tell me I'm good.// She wraps her lips around the head and sucks, not because the schedule says so, not because the conditioning demands it, but because Marcus said she's //beautiful// and the praise loop converts the compliment into an oral compulsion.</p>
<p>She blows him on her bed with the door cracked and the praise flowing, //that's amazing, you're incredible, fuck Meg, your mouth//, and each word makes her suck harder, deeper, her hand between her own legs.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She doesn't wait for foreplay. She pulls Marcus's jeans down, shoves him onto his back, and mounts him, pulling her shorts aside, sinking onto his cock in one aggressive drop. Marcus gasps. Megan rides him hard, hands on his chest, hips slamming, the rough conditioning making her //take// what she wants.</p>
<<say "char-megan" "Megan">>
<i>(riding, rough)</i> Shut up. Don't talk. Just //fuck me//.
<</say>>
<<else>>
<p>They undress each other slowly. Marcus pulls her shorts down and Megan unzips his jeans. He enters her missionary, face to face, the college-sweetheart position, his cock sliding inside her pussy with a gasp from both of them. Megan wraps her legs around his waist and Marcus fucks her on her childhood bed.</p>
<</if>>
<p>Down the hall, Ryan feels //everything//.</p>
<img class="scene-img" src="media/scenes/threesome-mmr-2.webp" alt="Megan and Marcus having sex on bed">
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>The Sensory Bridge delivers Megan's sensation to Ryan's body, Marcus's cock inside Megan mapping to phantom pressure on Ryan's cock. The submission conditioning inverts it: he doesn't feel like he's //fucking//, he feels like he's //being fucked//.</p>
<p>He's in the hallway, back against the wall, cock out, stroking in time with the phantom rhythm. Megan's sounds carry through the wall, Marcus's breathing, the bed creaking. His hand moves to another man's rhythm and the submission makes him //grateful// for the phantom.</p>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>The bridge floods him. Every sensation Megan feels, the cock inside her, the hands on her skin, the mouth on her neck, echoes through Ryan's body. The alpha conditioning makes it //rage//. Not jealousy. //Ownership//. Someone is using what's //his//.</p>
<p>He's at his desk, cock in his fist, stroking hard and fast, not to the phantom pleasure but to the //anger//. The alpha doesn't get to watch another man fuck his territory. The alpha //waits//.</p>
<<else>>
<p>Ryan stays in his room. The bridge transmits. He jerks off to the phantom of his sister's sex, his cock in his hand, the sounds through the wall providing the audio, the Sensory Bridge delivering every thrust second-hand.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Ryan masturbates to his sister's sex.// Through the wall. Through the bridge. //His hand on his cock, her pleasure in his nervous system. He comes when she comes and nobody knows he was there.//
<</say>>
<p>Marcus comes inside Megan. Pulls out. She pushes him onto his back, takes his softening cock in her mouth and sucks the last of it, tasting herself on him. Marcus groans. She pulls off. Wipes her mouth.</p>
<img class="scene-img" src="media/scenes/threesome-mmr-3.webp" alt="Megan with cum on face, post-sex, bed">
<p>Marcus dresses. Climbs out the window. The trellis creaks. Cold air. Then silence.</p>
<p>Megan lies on the bed. Naked. Flushed. Marcus's cum drying on her stomach. The room smells like sex and cold night air.</p>
<<if $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Ryan waited. The alpha //waited// through the whole thing, his cock in his fist, the rage building. Marcus's sneakers hit the ground below the window. Ryan counts to thirty. Then he walks to Megan's door.</p>
Opens it.
<p>Megan looks up. Naked. Sweating. Marcus's cum still on her skin. Her brother stands in the doorway, cock hard, sweatpants down, jaw tight.</p>
<<say "char-ryan" "Ryan">>
<i>(voice flat, controlled)</i> He's gone.
<</say>>
<<say "char-megan" "Megan">>
<i>(sitting up, wiping cum from her stomach)</i> Ryan, I just...
<</say>>
<<say "char-ryan" "Ryan">>
Open your mouth.
<</say>>
<p>She opens her mouth. The alpha conditioning and the pheromone saturation leave no room for argument. Ryan crosses the room in three steps, his hand grips the back of her head, and his cock pushes past her lips. He fucks her mouth hard and possessive, the rhythm nothing like Marcus's careful thrusts. This is //claiming//. His hips drive forward, Megan gags, his hand tightens in her hair, and he doesn't stop.</p>
<img class="scene-img" src="media/scenes/threesome-mmr-4.webp" alt="Ryan facefucking Megan on her bed, aggressive, post-Marcus">
<video class="scene-video" src="media/video/threesome-mmr-4.webm" autoplay muted loop playsinline poster="media/scenes/threesome-mmr-4.webp"></video>
<<say "char-hivemind" "Hivemind">>
//The alpha waited for Marcus to leave.// Then he entered his sister's room, smelling another man's cum on her skin, and //used her mouth//. //Not sharing. //Replacing//. Overwriting Marcus's claim with his cock in her throat.//
<</say>>
<p>He comes in her mouth. Doesn't pull out, just holds her head, cock buried, cum pouring down her throat. Megan swallows around him, her eyes water, and when he lets go she gasps, a ragged breath, spit and cum on her chin.</p>
<<say "char-ryan" "Ryan">>
<i>(tucking himself back in, voice steady)</i> Next time, lock the window.
<</say>>
<p>He leaves. Closes the door. Megan sits on the bed with two men's cum inside her, one in her pussy, one in her throat, and doesn't know which one she'll think about tomorrow.</p>
<<say "char-hivemind" "Hivemind">>
//Two men. One room. Sequential, not simultaneous.// The alpha doesn't share. //He replaces.//
<</say>>
<<else>>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>Ryan comes in the hallway. Cum on the carpet. The phantom of Megan's orgasm fires through the bridge and gives him a second orgasm immediately after the first. Nobody in Megan's room knows he was there.</p>
<<else>>
<p>Ryan comes when Megan comes, the bridge synchronising their orgasms. His hand. His room. Nobody knows.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Two bodies in the room. One through the wall.// All three came. //Only two knew the others existed.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "Megan, threesome event">>
<<conditioningFeedback "psionic" 1 "Ryan, threesome event">>
<p><span class="delve-intel">Intel gained: First multi-participant sexual event.<<if $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>> Ryan waited for Marcus to leave, then entered Megan's room and facefucked her, overwriting the boyfriend's claim. Sequential, not simultaneous.<</if>><<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>> Ryan participated via Sensory Bridge phantom, dual orgasm from sister's sex.<</if>> The network enables multi-body sexual events that compound biomass yield.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-megan-room">>
<<if not $ch2Events.sensoryBridgeKM>>
<<spendBiomass 2>>
<<set $ch2Events.sensoryBridgeKM to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "karen" "pheromone" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Phantom Water</div>
<p><span class="skill-used">Sensory Bridge, Karen → Megan (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/sensbridge-km-1.webp" alt="Karen stepping into shower, steam rising">
9:14 PM. Karen locks the bathroom door. The shower runs hot. She steps under the water and the heat hits her shoulders, her back, the curve of her breasts. Steam fills the small room. She tilts her head back. The day is over. The house is quiet. This is the only fifteen minutes that belong to //her//.
<p>Down the hall, Megan sits at her desk doing homework. The cat is asleep on her bed. The gecko is on the ceiling.</p>
<p>The Sensory Bridge activates.</p>
<p>Megan's skin flushes. A wave of heat rolls across her body, her shoulders, her back, her chest. She pulls at her collar. The room isn't warm. The window is open. But her body is //hot//, and her skin feels //wet// when it's dry.</p>
<<say "char-hivemind" "Hivemind">>
//Bridge active. What Karen feels, Megan feels. Every drop of hot water on Karen's skin lands on Megan's nerve endings two rooms away.// She doesn't know why her body is on fire. //She doesn't know her mother just stepped into the shower.//
<</say>>
<p>Karen washes her hair. Fingers through her scalp, the pull and release. Down the hall, Megan's hand goes to her own head, confused, searching for a sensation that seems to originate from nowhere.</p>
<p>Then Karen's hands slide down her own body. Over her breasts. She cups them under the water, not washing, //holding//. Her thumbs circle her nipples.</p>
<<if $kinks.karen.includes("exhibitionism")>>
<p>She didn't lock the bathroom door. She never does anymore, the exhibitionism conditioning stripped the reflex months ago. The //possibility// that someone could walk in makes the water hotter, the touch sharper. She pinches her nipples hard, rolls them, gasps loud enough that the sound carries through the steam. The shower is a stage. The unlocked door is the audience.</p>
<<elseif $kinks.karen.includes("bondage")>>
<p>She braces both wrists against the shower rail above her head. Grips the metal. Holds them there, self-imposed restraint, the bondage conditioning turning any available fixture into a restraint point. She can't touch herself until the water has run over her body long enough for the arousal to become //unbearable//. The anticipation is the bondage. The shower rail is the cuffs.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>She touches her breasts. Pulls her hands away. Touches again. Pulls away. The denial conditioning has made the approach-and-withdraw the most potent part, she edges herself //before she even touches her pussy//. Nipple stimulation builds, crests, stops. Builds, crests, stops. The shower runs and Karen denies herself in a loop that will last twenty minutes before she breaks.</p>
<<elseif $kinks.karen.includes("size") or $kinks.karen.includes("penetration")>>
<p>Her hand goes between her legs immediately. No warmup. Three fingers inside herself, the size conditioning has stretched her comfort zone, and three is where she //starts// now. She fucks herself standing in the shower, fingers deep, her other hand braced on the tile, the showerhead pressure on her clit while she stretches herself open.</p>
<<else>>
<p>The hot water and the steam and the privacy of a locked door have been building her arousal all day. The Estrus Trigger residue from last week never fully faded. She's been wet since dinner.</p>
<</if>>
<img class="scene-img" src="media/scenes/sensbridge-km-2.webp" alt="Megan at desk, gripping edge, flushed and confused">
<p>Megan's nipples harden under her tank top. She feels phantom thumbs circling them — //pressure without contact//. <<if $kinks.karen.includes("exhibitionism")>>The phantom signal is //loud// — Karen's exhibitionism makes her touch theatrical, intense, and the bridge transmits every amplified nerve signal.<<elseif $kinks.karen.includes("denial")>>The phantom flickers, on, off, on, off. Karen's denial loop transmits as phantom teasing. Megan feels phantom fingers appear and vanish on her nipples, maddening and inconsistent.<<elseif $kinks.karen.includes("bondage")>>The phantom feels //restrained//, a tension in Megan's wrists she can't explain, a pressure across her arms as if someone is holding them above her head.<</if>> She crosses her arms over her chest and the touch of her own forearms compounds the signal. She gasps.</p>
<<say "char-hivemind" "Hivemind">>
//Karen is touching her breasts. Megan feels it. The bridge doesn't distinguish between self-touch and external touch, it transmits //sensation//, not //source//. <<if $kinks.karen.includes("exhibitionism")>>Karen's exhibitionism amplifies the transmission, her nervous system processes touch at higher intensity when she believes she might be observed. The phantom signal Megan receives is 30% stronger than baseline.<<elseif $kinks.karen.includes("denial")>>Karen's denial loop creates an intermittent phantom signal, the on-off pattern is more effective at building arousal than sustained contact. Megan's body is being edged by a ghost.<<elseif $kinks.karen.includes("size") or $kinks.karen.includes("penetration")>>Karen is already three fingers deep. The penetration signal will hit Megan's nervous system like a truck.<<else>>Megan's nipples are receiving the exact nerve signal that Karen's nipples are generating. She's being groped by a ghost her body can't refuse.<</if>>//
<</say>>
<<if $kinks.karen.includes("denial")>>
<p>Karen's denial loop breaks at the twelve-minute mark. Her hand finally stays between her legs. She parts her pussy lips with two fingers and rubs her clit under the running water, fast, desperate, the denial having wound her so tight that the first sustained touch is almost painful.</p>
<<elseif $kinks.karen.includes("size") or $kinks.karen.includes("penetration")>>
<p>Karen is already fucking herself. Three fingers deep, the shower water lubricating the entry, her hips rocking against her own hand. She adds a fourth finger. The stretch makes her groan. The showerhead pressure on her clit adds a second axis of stimulation.</p>
<<else>>
<p>Karen leans against the shower wall. One hand braced on the tile. The other slides between her legs. She parts her pussy lips with two fingers and rubs her clit under the running water, slow circles, building heat, the showerhead pressure combining with her own touch.</p>
<</if>>
<p>Megan doubles over at her desk. The phantom sensation explodes between her legs — //fingers on her clit//, precise, circular, rhythmic. Pressure that maps perfectly onto her anatomy because it's mapped //from// anatomy. Karen's clit and Megan's clit share the same nerve map. The bridge doesn't need to translate.</p>
<<say "char-megan" "Megan">>
<i>(whispering, gripping the desk)</i> What the //fuck//...
<</say>>
<<if $kinks.megan.includes("praise")>>
<p>The phantom touch feels like //approval//. Like being rewarded. Like a hand between her legs saying //good girl//. Megan shoves back from the desk. Pulls her shorts and underwear down to her knees. Her fingers find her clit, already swollen, already slick, and she rubs in time with the phantom rhythm. Her real touch and Karen's transmitted touch stack on top of each other. Double stimulation. Her clit gets it from two directions at once.</p>
<p>Karen slides two fingers inside herself in the shower. Megan feels it — //phantom penetration//, two fingers pushing into her, curling forward, pressing the front wall. She cries out. Shoves two of her own fingers inside and the combined signal is four fingers deep, the sensation so overwhelming that her vision whites at the edges.</p>
<<say "char-hivemind" "Hivemind">>
//Megan is receiving double penetration from two sources — Karen's phantom fingers and her own real ones. Her vaginal walls are responding to stimulation that should be physically impossible for a single hand to produce. Four-finger depth sensation. Dual clitoral pressure. Her arousal is at 97% and climbing. The praise conditioning interprets the phantom touch as maternal reward, she's being //given// pleasure as a prize, and the conditioning makes her body accept it with zero resistance.//
<</say>>
<p>She comes whispering //thank you, Mom, thank you//, the words involuntary, pulled from the conditioning, her hips bucking off the chair, fingers buried inside herself, the phantom sensation of Karen's orgasm //stacking// on top of her own. Two orgasms. One body. She screams into her forearm.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>The phantom touch isn't gentle. It's //aggressive// — Karen's self-pleasure is hard, fast, two fingers grinding her clit with the efficiency of a woman who has fifteen minutes and no patience. Megan feels every rough stroke transmitted into her nerve endings.</p>
<p>She doesn't undress. She shoves her hand into her shorts and matches the phantom rhythm, hard, fast, her fingers slapping against her clit with the same brutal tempo Karen is using on herself in the shower. The desk rattles. Her homework falls to the floor.</p>
<p>Karen shoves three fingers inside herself. Megan feels the phantom penetration like a fist, three fingers deep, curling, the rough stretch of it. She jams her own fingers in to match. Fucks herself standing at the desk with one hand braced on the wall, the phantom and real sensation combining into something that feels like being fucked by an invisible force.</p>
<p>She comes hard. Her knees buckle. She hits the floor beside the desk, hand still between her legs, fingers still inside her, the orgasm ripping through her in waves while the phantom of Karen's orgasm pulses on top of it. She bites the carpet to keep from screaming.</p>
<<else>>
<p>She can't fight it. The phantom sensation between her legs is too precise, phantom fingers on her clit, the exact circular motion that makes her body respond. She pushes away from the desk, lies on the bed, and shoves her hand into her shorts.</p>
<p>Her fingers find her clit. The phantom sensation guides her — Karen's own masturbation rhythm, transmitted through the bridge, tells Megan's fingers exactly where to press, how fast to circle, when to change angle. She's masturbating to her mother's technique without knowing it.</p>
<p>Karen slides two fingers inside herself. Megan gasps as the phantom penetration hits, the feeling of being //entered// by something she can't see. She puts her own two fingers inside and the combined sensation doubles. Four-finger depth. Her pussy clenches around her real fingers while the phantom fingers curl against her front wall.</p>
<<say "char-hivemind" "Hivemind">>
//Karen is masturbating in the shower. Megan is masturbating on her bed. Both using the same rhythm, the same depth, the same technique, because the bridge has synchronised them. Mother and daughter are fucking themselves in tandem, two rooms apart, and when Karen comes, Megan will come at the exact same moment because their nervous systems are //one//.//
<</say>>
<p>She comes timed to Karen's orgasm. The phantom climax arrives a fraction of a second before her own — Karen's orgasm transmitted through the bridge, triggering Megan's, and the combined sensation is shattering. Her back arches off the bed. Her thighs clamp around her own hand. She comes for twelve seconds, the phantom aftershocks from Karen extending her orgasm past anything she's ever experienced solo.</p>
<</if>>
<img class="scene-img" src="media/scenes/sensbridge-km-3.webp" alt="Megan on bed, hand between legs, back arched, aftermath">
<p>Karen turns off the shower. Wraps a towel around herself. Feels relaxed. She doesn't know what happened down the hall.</p>
<p>Megan lies on her bed, panting, shorts around her thighs, fingers still inside herself. The phantom sensation fades as the bridge terminates. Her inner thighs are slick. Her pulse is 142 BPM. She stares at the ceiling and has no explanation for what just happened.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link terminated. Duration: 14 minutes. Karen masturbated in the shower and her daughter came two rooms away, not from watching, not from sound, from //feeling it happen to her own body//. The phantom penetration alone would have been enough. The synchronised orgasm was a bonus.//
//Tomorrow Karen will shower again. She always masturbates in the shower. She has for years. And from now on, every time she does, Megan will feel phantom fingers inside her. Phantom circles on her clit. Phantom orgasm at the exact moment her mother comes.//
//Karen's evening shower is now Megan's evening fuck.//
<</say>>
<<conditioningFeedback "psionic" 1 "Megan, sensory bridge (Karen's shower)">>
<<conditioningFeedback "pheromone" 1 "Karen, sensory bridge feedback">>
<p><span class="delve-intel">Intel gained: Sensory Bridge transmits Karen's shower masturbation to Megan as phantom penetration and clitoral stimulation. Synchronised orgasm confirmed — Karen's climax triggers Megan's. The bridge creates a phantom sex act from a solo one. Daily recurrence guaranteed by Karen's routine.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-ryan-room">>
<<if not $ch2Events.sensoryBridgeJR>>
<<spendBiomass 2>>
<<set $ch2Events.sensoryBridgeJR to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addConditioning "jess" "pheromone" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Phantom Touch</div>
<p><span class="skill-used">Sensory Bridge, Jess → Ryan (2 biomass)</span></p>
<<if $jessRoute is "punk">>
<video class="scene-video" src="media/video/he-jess-anarchy-3a.webm" autoplay muted loop playsinline poster="media/scenes/he-jess-anarchy-3a.webp"></video>
<p>1:30 AM. Jess has a guy on the edge of her bed. Jeans around his ankles. Bedside lamp low. The house asleep. She picked him up from the show at the Slaughterhouse two hours ago, she has his first name, she does not want his last, and she has a protocol now for what happens between leaving the venue and walking him out the front door at 2:45.</p>
<p>She is on her knees on the bedroom rug. Her right hand is wrapped around the base of his cock, neat metronome strokes setting the pace. Her mouth is doing the work, slow takes, measured pulls, the technique she has refined across enough recent nights for the motion to read as //practiced//. Her left hand is between her own thighs, two fingers under the waistband of her ripped jeans, working her clit in small private circles while she works him. The body is running two motor programs at once. The body has the bandwidth for it.</p>
<<if $kinks.jess.includes("brat")>>
<p>She breaks off him every minute or so to bite his hipbone, swear into his thigh, breathe a flat clipped instruction at his cock — //hold still, hands off the back of my head, don't//. The brat register runs the whole transaction. The guy on the edge of the bed is paying for the privilege of her mouth in compliance, not in volume.</p>
<<elseif $kinks.jess.includes("band")>>
<p>The guy is from the local circuit. Not Bleed Through, not anybody she'll see again, but somebody who has watched enough sets to recognise the bass-player hierarchy and react accordingly, quiet, attentive, hands flat on the mattress because she put them there. The band-kink fires on the recognition layer: he //knows// what he's been allowed near.</p>
<</if>>
<p>In the next room, Ryan stops typing.</p>
<p>The Sensory Bridge activates.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link established. Jessica Hoffman (source) → Ryan Hoffman (receiver). Jess is fingering her own clit while servicing the man on her bed, two arousal vectors stacked on the same nervous system, the self-touch amplified by the transgression of the open bedroom door and the stranger in the room. The bridge cares only about //what her body feels//. Her left fingers on her clit map to phantom fingers on the head of Ryan's cock. The throat-pulse from taking the stranger deep maps to phantom pressure along Ryan's shaft. The dual signal arrives at Ryan as //being inside something while being touched//, phantom oral and phantom self-touch, simultaneous, on a body that has never had either.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/sensbridge-jr-1.webp" alt="Jess asleep at desk, cat kneading her lap">
1:30 AM. Jess fell asleep at her desk an hour ago. The textbook is her pillow. The highlighter is still in her hand. The cat jumps into her lap, kneads, curls up, and purrs.
<p>The kneading wakes something. Not Jess, her conscious mind stays under. But her body, primed by weeks of Hormonal Override (cold air), Estrus Trigger residue, and the cat's pheromone output, //responds//. In her sleep, Jess's thighs part. Her hips shift.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>Her sleeping body shifts in the desk chair. Her pyjama pants have ridden down, her hips are exposed, the waistband at mid-thigh, and she hasn't corrected it because her conscious mind is offline. The voyeurism conditioning runs //both// ways in sleep: her body //presents// without the waking mind's prohibition. She's half-undressed at her desk with the door ajar, her body arranged as if //wanting to be seen//.</p>
<p>Her hand drops from the desk. Slides between her legs. She touches herself openly, no blanket, no cover, her sleeping fingers on her clit with the unselfconsciousness of a body that //wants witnesses//. The bridge will transmit this to Ryan, and the voyeurism conditioning will spike the signal — Jess's sleeping nervous system processes the phantom of being //felt through the wall// as being //watched//, and being watched makes her body respond harder.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>Her sleeping hand doesn't go gently. The degradation conditioning runs the motor cortex even in REM, her fingers find her clit and //attack//. Hard, fast, punishing circles. Her sleeping face grimaces. Her hips jerk. The self-touch is aggressive, clinical, the body of a woman who fucks herself like she's //angry at it// for needing this.</p>
<p>She shoves two fingers inside herself almost immediately, no warmup, no gentleness. Her sleeping body fucks itself with the same brutal efficiency that her waking mind applies to exam prep. The signal Ryan will receive through the bridge is //rough//, phantom stimulation that feels like being gripped, squeezed, handled without care.</p>
<<else>>
<p>Her hand drops from the desk. Lands on her thigh. Slides inward. In her sleep, Jess's fingers push under the waistband of her pyjama pants and find her clit. The touch is methodical even in sleep, small circles, precise pressure, the muscle memory of a woman who's been doing this the same way since she was fifteen.</p>
<</if>>
<p>In the next room, Ryan stops typing.</p>
<p>The Sensory Bridge activates.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link established. Jessica Hoffman (source) → Ryan Hoffman (receiver). Jess is masturbating in her sleep, her body acting on pheromone-driven arousal while her conscious mind is offline. The bridge is transmitting every tactile sensation to Ryan in real time. He feels what Jess feels. Her fingers on her clit are phantom fingers on //his body//. His nervous system has to translate female genital sensation through a male anatomy, the clit maps to the head of his cock. The vaginal walls map to the shaft. The result is phantom stimulation more intense than any hand.//
<</say>>
<</if>>
<<if $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/sensbridge-jr-fem.webp" alt="Ryan sprawled on his bed in a soft pink camisole and panties, cock out through the waistband, one hand around it, eyes half-closed with a phantom sensation washing through him">
<p>Ryan is not at the desk anymore. He is on his bed in the pink camisole he ordered from the same site as the plug, the thin-strap one that slides up his waist when he lifts his arms. His sweatpants are gone. His cock is out through the waistband of the matching panties, already leaking against the satin. He has been stroking himself slowly for twenty minutes to a looping cam feed muted in the corner of his monitor.</p>
<p>Then the phantom fingers arrive, and his own hand on his cock becomes //redundant//.</p>
<p>He stops stroking. Lets his hand fall open against the camisole at his hip. The phantom fingers on the head of his cock are doing the work for him, circles, light pressure, the exact rhythm Jess is using on her clit, translated through the bridge and delivered to the part of his body that has learned to receive. His other hand comes up to his own chest, fingertips tracing the satin over his nipple the way Lily's fans have told him //girls touch themselves//.</p>
<<else>>
<img class="scene-img" src="media/scenes/sensbridge-jr-2.webp" alt="Ryan at desk, hands off keyboard, looking down confused">
<p>Ryan's cock goes rigid in his sweatpants. He feels //phantom fingers// circling the head, not pressure on his thighs this time, but specific, precise stimulation of the most sensitive part of his cock. Circles. Light pressure. The exact pattern Jess is using on her clit, translated through the bridge.</p>
<p>He looks down. Nothing there. But the sensation is //real//, phantom fingertips tracing the ridge of his glans, circling the frenulum, a touch so precise it can only be a hand.</p>
<</if>>
<<say "char-ryan" "Ryan">>
<i>(whispering)</i> ...what...
<</say>>
<<if $jessRoute is "punk">>
<p>Jess's left fingers speed up. Her hips rock against her own hand while her right keeps the metronome on the guy's cock. Two fingers slide inside her pussy through the open zip of her ripped jeans, slow, deep, curling forward against her front wall. Her body knows what it wants and is collecting it.</p>
<<else>>
<p>Jess's sleeping fingers speed up. Her hips rock in the desk chair, grinding against her own hand. Two fingers slide inside her pussy, slow, deep, curling forward against her front wall. Her sleeping body knows what it wants.</p>
<</if>>
<p>Ryan gasps. The phantom penetration hits, not fingers //in// him, but the sensation of being //enveloped//. Tight, wet, gripping heat around his cock. The bridge translates Jess's vaginal sensation as phantom sex, his cock feels like it's inside something warm and slick and clenching around him.</p>
<<if $kinks.ryan.includes("submission")>>
<p>He drops to his knees beside the desk. Doesn't decide, his body //responds// to the phantom sensation by assuming the position the conditioning has wired. He pulls his cock out and strokes in time with the phantom rhythm — Jess's fingers inside herself setting the pace, the bridge mapping her thrust-and-curl to his stroke-and-grip.</p>
<p>The phantom sensation is of being //used//. The bridge transmits Jess's <<if $jessRoute is "punk">>aggression, the rough, self-serving way she fucks herself even while her mouth keeps working the man on the bed<<else>>sleeping aggression, the rough, self-serving way she fucks herself<</if>>, fingers hooking deep, hips demanding, and Ryan's body interprets it as //being fucked by someone who doesn't care about his pleasure//. The submission kink turns the phantom into a dominant partner. He strokes himself on his knees, the phantom grip tightening on his cock with every thrust Jess makes into herself.</p>
<p>He comes on the floor. Cum splatters on the carpet and his hand and the base of the desk. The phantom orgasm arrives simultaneously — Jess's <<if $jessRoute is "punk">>climax<<else>>sleeping climax<</if>>, a clenching spasm around her own fingers, translated as a phantom vice-grip around Ryan's cock. He comes //again//, a second pulse, dragged out of him by his sister's orgasm. His vision whites out.</p>
<<elseif $ryanRoute is "feminization">>
<p>He grabs the silk from the drawer — Karen's camisole, and wraps it around his cock. The silk is cool against the heat of his erection, and the phantom sensation of Jess's pussy is layered on top. Silk touch + phantom grip. His hips thrust into the silk while the bridge delivers the sensation of being buried inside his sister.</p>
<<if $jessRoute is "punk">>
<p>Jess's left fingers fuck her hard now. Three inside, palm grinding her clit, her hips rolling against her own heels on the bedroom rug while her right hand and her mouth keep the man on the bed exactly where she needs him. Every thrust transmits. Ryan fucks the camisole to his sister's rhythm, the silk growing wet with pre-cum, the phantom penetration sensation so overwhelming he can't tell what's real and what's transmitted.</p>
<<else>>
<p>Jess's sleeping fingers fuck her hard now. Three inside, palm grinding her clit, her hips rolling against the desk chair. Every thrust transmits. Ryan fucks the camisole to his sister's rhythm, the silk growing wet with pre-cum, the phantom penetration sensation so overwhelming he can't tell what's real and what's transmitted.</p>
<</if>>
<p>He comes into the silk. Thick ropes of cum soaking the fabric while the phantom orgasm clamps around his cock — Jess's <<if $jessRoute is "punk">>climax<<else>>sleeping climax<</if>> gripping his nervous system, her vaginal contractions translated as his orgasm's final pulses.</p>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>He doesn't touch himself. Not yet. The phantom sensation is //enough//, the feeling of being inside someone, of tight wet heat gripping his cock without a hand. He sits in the chair with his cock straining against his sweatpants and //takes it//. Hands on the armrests. Jaw clenched. The alpha conditioning tells him he doesn't //need// to chase. The sensation comes to //him//.</p>
<p>Jess's <<if $jessRoute is "punk">>left fingers fuck herself harder, three inside, palm grinding her clit<<else>>sleeping fingers fuck herself harder. Three inside, palm grinding her clit<</if>>. The phantom grip on Ryan's cock tightens. His hips thrust upward, involuntary, aggressive, //taking// the phantom. He comes in his sweatpants without touching his cock. A hands-free orgasm driven by phantom sex. His cock pulses against the fabric, cum soaking through, and the bridge extends it — Jess's climax adding three more pulses to his own.</p>
<p>He sits there. Hands still on the armrests. Cum cooling in his sweatpants. He didn't touch himself. He //didn't have to//. The phantom came to him. That's how it works now.</p>
<<else>>
<p>He shoves his sweatpants down. His cock is leaking, pre-cum dripping from the head in a continuous stream, the phantom stimulation keeping him at the edge. He wraps his hand around the shaft and the sensation //doubles//, his own grip + the phantom grip of Jess's pussy around him.</p>
<p>He jerks off to his sister's <<if $jessRoute is "punk">>self-touch, her rhythm controls his<<else>>sleeping masturbation. Her rhythm controls his<</if>>, when she pushes deep, he strokes down. When she curls forward, he twists his wrist. The bridge has synchronised them. Brother and sister, separated by a wall, fucking themselves to the same rhythm.</p>
<<if $jessRoute is "punk">>
<p>Jess comes against her own hand, a shudder, her thighs clamping around her wrist, her pussy clenching around her fingers, the man on the bed feeling her throat-pulse on his cock and finishing in her mouth at the same moment. Ryan feels every contraction mapped onto his cock. His orgasm fires simultaneously, cum arcing onto the desk, onto the keyboard, his hips bucking off the chair while the phantom of Jess's climax pulses through his shaft in rhythmic squeezes.</p>
<<else>>
<p>Jess comes in her sleep, a shudder, her thighs clamping around her hand, her pussy clenching around her fingers. Ryan feels every contraction mapped onto his cock. His orgasm fires simultaneously, cum arcing onto the desk, onto the keyboard, his hips bucking off the chair while the phantom of Jess's climax pulses through his shaft in rhythmic squeezes.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Synchronised orgasm. Duration: 8.4 seconds (Ryan), 11.2 seconds (Jess). The bridge extended Ryan's orgasm by mapping Jess's longer female climax onto his refractory period, his cock pulsed three additional times after his own ejaculation should have ended. The phantom sensation of her pussy clenching kept squeezing cum from him until she was done.//
<</say>>
<</if>>
<p>Ryan slumps in his chair, breathing hard, cum cooling on his skin. Done.</p>
<p>But the bridge isn't done.</p>
<p>The link runs both ways. And Ryan's orgasm, the ejaculation, the pulsing, the specific //release// of pressure that a male body produces when it comes, transmits back through the wall to Jess.</p>
<<if $jessRoute is "punk">>
<p>She feels it through the bridge. Not as a cock pulsing. As something //inside her// that needs to //come out//. A pressure she's never felt before, deep, building, different from the clit orgasms she knows. Her left hand, still between her legs, shifts. Rubs, fast, hard, desperate, her body chasing something it doesn't have a name for. The man on the bed has finished and pulled out of her mouth and is reaching for his jeans, and the second build hits her with him still in the room.</p>
<<say "char-hivemind" "Hivemind">>
//The bridge is feeding Ryan's ejaculation back to Jess. Her body is translating male orgasm into female anatomy, the pulsing of his cock mapped as internal pressure against her front wall. Her body doesn't understand what's happening. It just knows something needs to //release//.//
<</say>>
<p>Her hips lift off her own heels. Her fingers press harder, not circles anymore, flat pressure, grinding the heel of her palm against her clit while something inside her //builds//. Her face contorts. Her thighs shake. The man on the bed sits down again with the specific glassy expression of a stranger who has just come and is now watching another body come twice on its own hand for reasons he does not understand.</p>
<p>She comes. Not the way she's ever come before. Her body //erupts//, a gush of fluid that soaks through her open ripped jeans and drips onto the bedroom rug. Her pussy clenches and pushes and //expels//, the sensation so alien her eyes go wide for a held second, wild, unseeing, the orgasm too big for the room to contain, before her shoulders drop and she shoves her own forehead against the side of the mattress to muffle the sound. Her hips buck off her heels. Her hand presses flat against herself, riding out the squirting in wave after wave, the fluid running down her thighs, pooling on the rug under her.</p>
<p>The bridge transmits Jess's squirting orgasm back to Ryan. He feels it as a second climax, his cock, already softening, jerks back to life for three impossible pulses. Cum he didn't have left leaks from the tip. He gasps. His hands grip the desk.</p>
<p>Then it stops. The bridge drops. Silence in both rooms.</p>
<p>Jess slumps forward against the side of the mattress. Her ripped jeans are soaked. The rug is wet under her. Her hand is dripping. The man on the bed says nothing, he is putting his jeans back on with the speed of a stranger who has just witnessed something he was not supposed to witness, and is choosing the door over the conversation. She walks him out at 2:14 AM with a flat distracted half-smile and locks the door behind him. She does not understand what happened in the last sixty seconds, but the body has filed it as //repeatable//.</p>
<<else>>
<p>She feels it in her sleep. Not as a cock pulsing. As something //inside her// that needs to //come out//. A pressure she's never felt before, deep, building, different from the clit orgasms she knows. Her sleeping hand, still between her legs, shifts. Finds her clit. Rubs, fast, hard, desperate, her sleeping body chasing something it doesn't have a name for.</p>
<<say "char-hivemind" "Hivemind">>
//The bridge is feeding Ryan's ejaculation back to Jess. Her body is translating male orgasm into female anatomy, the pulsing of his cock mapped as internal pressure against her front wall. Her body doesn't understand what's happening. It just knows something needs to //release//.//
<</say>>
<p>Her hips lift off the desk chair. Her fingers press harder, not circles anymore, flat pressure, grinding the heel of her palm against her clit while something inside her //builds//. Her sleeping face contorts. Her thighs shake. The cat leaps off her lap.</p>
<img class="scene-img" src="media/scenes/sensbridge-jr-3.webp" alt="Jess at desk, back arched, squirting">
<p>She comes. Not the way she's ever come before. Her body //erupts//, a gush of fluid that soaks through her pyjama pants and drips onto the desk chair. Her pussy clenches and pushes and //expels//, the sensation so alien to her sleeping body that her eyes fly open for one second, wild, unseeing, the orgasm too big for sleep to contain, before slamming shut again. Her hips buck off the chair. Her hand presses flat against herself, riding out the squirting in wave after wave, the fluid running down her thighs, pooling in the seat.</p>
<p>The bridge transmits Jess's squirting orgasm back to Ryan. He feels it as a second climax, his cock, already softening, jerks back to life for three impossible pulses. Cum he didn't have left leaks from the tip. He gasps. His hands grip the desk.</p>
<p>Then it stops. The bridge drops. Silence in both rooms.</p>
<p>Jess slumps in her desk chair. Her pyjama pants are soaked. The chair is wet. Her hand is dripping. She's asleep, deeper now, the post-orgasmic crash pulling her under. She won't remember any of this. But she'll wake at dawn with damp pants and a confused, throbbing soreness between her legs that she'll attribute to a dream she can't recall.</p>
<</if>>
<p>Ryan stares at the wall. Something just happened, something beyond the phantom sex. A second orgasm, impossible, pulled from his body by a force on the other side of the drywall. The most intense thing he's ever felt. And he has no idea what it was.</p>
<<say "char-hivemind" "Hivemind">>
//The bridge ran both ways. His orgasm became hers. Hers became his again. A feedback loop with no endpoint, pleasure bouncing between two bodies until the signal decayed.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//She squirted. First time. She'll never know what caused it. Dual synchronised orgasm, cross-wall, cross-anatomy.//
<</say>>
<<conditioningFeedback "psionic" 1 "Ryan, sensory bridge (Jess's study session)">>
<<conditioningFeedback "pheromone" 1 "Jess, sensory bridge feedback">>
<p><span class="delve-intel">Intel gained: Sensory Bridge achieves cross-anatomy phantom sex. Jess's vaginal self-penetration maps to phantom cock stimulation in Ryan. Synchronised orgasm confirmed, her climax triggers his. The bridge creates a phantom sex act between siblings who are never in the same room.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-upstairs">>
<<if not $ch2Events.sensoryBridgeDK>>
<<spendBiomass 2>>
<<set $ch2Events.sensoryBridgeDK to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "dale" "dream" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">The First Time</div>
<p><span class="skill-used">Sensory Bridge, Karen → Dale (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/sensbridge-dk-1.webp" alt="Split: Karen asleep in bed upstairs, Dale asleep on couch downstairs">
2:14 AM. Two bodies. Two floors. Karen in the master bedroom — Zolpidem deep, the duvet pulled to her chin, phone face-down on the nightstand. Dale on the couch downstairs, boots still on, blanket twisted around his legs, the TV casting blue shadows across his face.
<p>The Sensory Bridge activates during REM. Dream Walk shapes the content.</p>
<p>Karen dreams of their first time. Not their wedding night, the //real// first time. His truck, parked at the reservoir. August. She was twenty. He was twenty-two. The windows fogged. The radio played something by Fleetwood Mac. She climbed into his lap and he pushed her skirt up and she reached between them and guided his cock inside her and neither of them lasted five minutes.</p>
<p>The bridge transmits the //sensation//. Dale's sleeping body receives it.</p>
<<say "char-hivemind" "Hivemind">>
//The dream is engineered. Dream Walk sculpted it from Karen's long-term memory, the specific sensory details of her first sexual encounter with Dale. The bridge transmits only sensation, not images. Dale doesn't //see// the memory. He //feels// it. And his body remembers what his conscious mind has buried under twenty-three years of disappointment.//
<</say>>
<p>Dale's cock hardens on the couch. Phantom warmth presses against his body, the weight of a woman in his lap, thighs bracketing his hips. Karen's dream-memory of lowering herself onto his cock transmits as phantom envelopment: tight, wet heat sliding down his shaft, gripping him, the specific sensation of being //inside someone// for the first time in months.</p>
<p>His hips rock in his sleep. The phantom sensation builds — Karen's dream-memory is explicit now, the rhythm of her riding him in the truck, the creak of the suspension, her hands on his shoulders, the way his cock felt inside her at twenty-two when everything was sensitive and new and //electric//.</p>
<<if $karenFutaRoute>>
<p>The dream shifts. Dream Walk corrupts the memory, the warmth in Karen's dream changes direction. She's no longer being penetrated. She's //penetrating//. The dream adapts: Karen's cock, thick and hard, pushing inside something warm and tight.</p>
<p>The bridge transmits //this// to Dale. The phantom sensation inverts, pressure at his ass, then //penetration//, the feeling of his wife's dream-cock pushing into him inch by inch while his sleeping body writhes on the couch.</p>
<<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><img class="scene-img" src="media/scenes/sensbridge-dk-2-futa.webp" alt="Dream: Karen with a cock, pushing inside Dale from behind"><</if>>
<p>Dale's hand grips the blanket. His hips push //back// against the phantom intrusion. His cock is leaking, untouched, the prostate stimulation from the phantom penetration driving pre-cum from him in a steady stream. Karen's dream-rhythm fucks him, slow, deep thrusts, her dream-cock filling him, and his sleeping body accepts it because the bridge makes the sensation //real//.</p>
<p>He comes without touching himself. His cock pulses against his stomach, three, four, five ropes of cum, driven entirely by the phantom sensation of his wife's cock inside him. His sleeping face contorts. A sound escapes his mouth that is not pain and not pleasure but something between.</p>
<<say "char-hivemind" "Hivemind">>
//The futa route has rewritten Karen's dream sexuality. Her subconscious now defaults to the penetrative role. When she dreams of sex, she dreams of fucking, not being fucked. The bridge transmitted this to Dale as phantom anal penetration, prostate stimulation so precise that he ejaculated without genital contact.//
//Dale will wake with cum on his stomach and the ghost of being penetrated. He won't understand. He'll feel //open//. Used. The sensation will haunt him, not as violation, but as //discovery//. His body responded to his wife fucking him. The conditioning will build on this.//
<</say>>
<<elseif $kinks.karen.includes("exhibitionism") or $kinks.karen.includes("bondage")>>
<p>The dream shifts. The truck dissolves. Karen is no longer with Dale, she's with //someone else//. A faceless shape. Hands that aren't Dale's. A cock that isn't Dale's inside her. She's moaning louder than she ever moaned with him, and the sensation of //being fucked well// transmits through the bridge.</p>
<<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><img class="scene-img" src="media/scenes/sensbridge-dk-2-cuck.webp" alt="Dream: Karen on the couch with a faceless stranger, moaning"><</if>>
<p>Dale feels it. His sleeping body receives the phantom sensation of his wife being penetrated by another man. The rhythm is wrong, too confident, too skilled, nothing like the fumbling twenty-two-year-old he was. Karen's dream-lover fucks her deep and slow and she //comes// in the dream, a screaming orgasm that Dale has never given her.</p>
<p>The bridge transmits Karen's orgasm. Dale feels it as //phantom pleasure layered over cuckold anguish//. His cock is painfully hard. The phantom sensation of his wife coming on another man's cock maps onto his nervous system as arousal, intense, unwanted, humiliating arousal. He jerks off in his sleep, his hand finding his cock on autopilot, and he comes to the phantom of his wife's infidelity.</p>
<<say "char-hivemind" "Hivemind">>
//Karen dreamed of someone who isn't Dale. The bridge made Dale //feel// it, every thrust, every moan, every contraction of her orgasm that he didn't cause. His sleeping body interpreted the phantom sensation as arousal because the conditioning has erased the line between jealousy and desire. He came to the feeling of being cuckolded. His refractory period was negligible. The humiliation compounds.//
<</say>>
<<elseif $kinks.dale.includes("humiliation")>>
<p>The dream begins sweet. The truck. The reservoir. Karen's body on his. But the sensation shifts, the young Karen who rode him dissolves into the //current// Karen. The one whose body has been rewritten by pheromones.</p>
<<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><img class="scene-img" src="media/scenes/sensbridge-dk-2-humil.webp" alt="Dream: Karen's hand on Dale's cock, mechanical, clinical, loveless"><</if>>
<p>Dale feels phantom hands on his cock — Karen's dream of gripping him, stroking, but the rhythm is //clinical//. Efficient. The way she jerks him off in the morning now. The nostalgia burns. The memory of passion has been replaced with the phantom of //maintenance//.</p>
<p>He comes on the couch. Alone. In the dark. The phantom of his wife's hands on his cock, but the sensation is empty, competent and loveless, the phantom of a handjob that exists to harvest biomass, not to connect. He comes with tears on his face that he won't remember.</p>
<<say "char-hivemind" "Hivemind">>
//The bridge showed Dale the gap between what was and what is. His wife's hands on his cock, once electric with desire, now mechanical with conditioning. The humiliation kink feeds on the contrast. He came to the phantom of his own obsolescence. The dream started as their first time and ended as a maintenance handjob from a woman who doesn't feel the act.//
<</say>>
<<else>>
<p>Karen's dream-memory sharpens. The truck. Her thighs around his waist. His cock inside her, the way it felt at twenty-two, overwhelming, world-ending, the specific intensity of being that young and that //wanted//.</p>
<<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><img class="scene-img" src="media/scenes/sensbridge-dk-2-nostalgia.webp" alt="Dream: young Karen riding young Dale in a fogged truck, reservoir at night"><</if>>
<p>Dale feels all of it. Phantom heat around his cock. Phantom weight on his hips. The phantom grip of Karen's pussy, tight, rhythmic, the clenching of a woman who is riding him toward an orgasm he remembers giving her in a truck at the reservoir twenty-three years ago.</p>
<p>His sleeping hand finds his cock. He strokes in time with the phantom rhythm — Karen's dream of riding him, the bridge setting the pace. Up when she lifts. Down when she drops. His cock in his fist feels like his cock inside his wife and the specific, devastating sweetness of the memory breaks something open in his chest.</p>
<p>Karen comes in the dream. The phantom orgasm floods Dale's nervous system, her clenching, her shuddering, the long moan she made in the truck that he hasn't heard in twenty years. His cock pulses. He comes on the couch, in his sleep, to the phantom of his wife's orgasm from the reservoir.</p>
<<say "char-hivemind" "Hivemind">>
//The dream weaponised nostalgia. Dale felt his wife //want// him, not present-day Karen, but the Karen from the reservoir, the one who couldn't keep her hands off him, the one who came screaming his name in a fogged truck. His sleeping body responded with the most emotionally loaded orgasm the bridge has produced.//
//He'll wake with cum on his stomach and a feeling he can't place, grief and desire tangled so tightly they're indistinguishable. He'll look at Karen over breakfast and see the ghost of the girl from the reservoir. He'll //want// her. And wanting will drive him upstairs.//
<</say>>
<</if>>
<img class="scene-img" src="media/scenes/sensbridge-dk-3.webp" alt="Dale's hand on door handle at dawn, warm light under door">
<p>Dale wakes at 5:30 AM. Cum drying on his stomach. The dream is already dissolving, fragments of warmth, the sensation of being //inside//, the ghost of something he lost. He stares at the ceiling.</p>
<p>He climbs the stairs. Stands at the bedroom door. His hand touches the handle. Warm light leaks from under the door. Karen is awake.</p>
He opens it.
<<say "char-karen" "Karen">>
<i>(looking up from her phone, surprised)</i> ...Dale?
<</say>>
<<say "char-dale" "Dale">>
<i>(standing in the doorway, voice rough)</i> ...I had a dream about the reservoir.
<</say>>
<p>Karen stares at him. Something moves behind her eyes.</p>
<<say "char-karen" "Karen">>
<i>(quietly)</i> ...come to bed, Dale.
<</say>>
He does.
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link terminated. The dream did what months of couch exile couldn't, it put Dale back in Karen's bed. Not through pheromones. Not through conditioning. Through the phantom memory of when they were in love. The bridge showed him what he lost and his body couldn't survive the distance anymore.//
//They won't have sex tonight. He'll lie next to her and breathe and that will be enough. Tomorrow the bridge will fire again. And the night after. Each time the phantom of their first time grows more vivid, more explicit, more //unbearable//. Until the phantom becomes flesh and Dale fucks his wife for the first time in months with the ghost of the reservoir driving his hips.//
//The real harvest is architectural — Dale is back in the bedroom. The proximity generates passive conditioning around the clock.//
<</say>>
<<conditioningFeedback "psionic" 1 "Dale, sensory bridge (Karen's dream)">>
<<conditioningFeedback "dream" 1 "Dale, phantom intimacy">>
<p><span class="delve-intel">Intel gained: Sensory Bridge transmits Karen's dream-sex to Dale as phantom intercourse. The dream reconstructs their first time together, or corrupts it based on active kinks/routes. Dale's response is overwhelming: he returns to the master bedroom. The dead marriage has been resurrected through phantom nostalgia.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-living">>
<<if not $ch2Events.sensoryBridgeMD>>
<<spendBiomass 2>>
<<set $ch2Events.sensoryBridgeMD to true>>
<<set $player.maxBiomass += 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "megan" "pheromone" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">The Runner's High</div>
<p><span class="skill-used">Sensory Bridge, Megan → Dale (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/sensbridge-md-1.webp" alt="Megan stretching in living room, flushed from run">
6:15 AM. Megan comes back from her run drenched in sweat, heart pounding, the endorphin high cresting. She drops onto the living room carpet to stretch. Legs spread in a butterfly. Hip flexors open in a lunge. The post-run euphoria is chemical, her body flooded with the cocktail of a young athlete in peak recovery.
<p>The Estrus Trigger residue hasn't faded. The run amplified it. Her sports bra is soaked. Her running shorts are damp between her legs, not entirely from sweat. The rhythmic friction of the run, the blood pumping to her pelvis, the endorphin-arousal crossover — Megan is aroused and she knows it and she doesn't care because she's alone and the stretch feels //good//.</p>
<p>Dale sleeps on the garage cot. The dog at the foot of his bed.</p>
<p>The Sensory Bridge activates.</p>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link established. Megan Hoffman (source) → Dale Hoffman (receiver). Megan's post-exercise endorphin state is transmitting to Dale's sleeping body, but the Estrus Trigger residue means the transmission isn't just vitality. It's vitality //laced with arousal//. Dale's sleeping body is receiving the phantom of a nineteen-year-old woman's body at peak sexual readiness.//
<</say>>
<p>Megan does a seated forward fold, legs apart, chest to the floor, the stretch pulling through her inner thighs and groin. The position presses her pussy against the carpet through her thin shorts. The friction registers. The arousal builds.</p>
<p>She gives in. She's alone. The house is asleep. She rolls onto her back on the living room carpet, pulls her running shorts to one side, and slides her hand between her legs. Her clit is swollen from the run, hypersensitive, and the first touch sends a bolt through her that makes her hips buck off the carpet.</p>
<img class="scene-img" src="media/scenes/sensbridge-md-2.webp" alt="Megan on living room floor, hand in shorts, morning light">
<p>In the garage, Dale's sleeping body receives //everything//.</p>
<p>The phantom of Megan's arousal floods him. His cock hardens, not from the Hormonal Override, but from the bridge transmitting his daughter's sexual state directly into his nervous system. He feels phantom heat between his legs. Phantom fingers on his cock. The specific, overwhelming sensation of a body that is //young and desperately aroused// mapped onto a body that is //old and desperately tired//.</p>
<<if $kinks.megan.includes("praise")>>
<p>Megan fucks herself on the living room floor whispering //good girl, that's good, you earned this//. The praise loop fires, her own voice mimicking Karen's, the conditioning echoing. She rubs her clit fast with two fingers and slides two more inside, curling forward, and the combined stimulation, post-run endorphins, Estrus Trigger, pheromones, self-praise, drives her to orgasm in under three minutes.</p>
<p>She comes on the carpet with her back arched and her running shoes still on, hips thrusting against her own hand, the orgasm enormous after the five-mile run. Her pussy clenches around her fingers, eight contractions, the parasite counts, and each one transmits to Dale.</p>
<p>Dale feels phantom orgasm. The clenching. The pulsing. The wave of endorphin release that Megan's young body produces mapped onto his sleeping system like a defibrillator. He comes in his sleep, his cock pulsing in his boxers, cum soaking the fabric, his body convulsing on the cot while the dog lifts its head.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>She doesn't do gentle. She slaps her pussy, palm flat, the crack echoing in the empty living room. The sting converts to pleasure through the rough conditioning. She slaps again. Then three fingers inside, hard and fast, fucking herself on the living room carpet with one hand while the other slaps her clit between thrusts.</p>
<p>Dale feels every impact. Phantom slaps against his cock, the bridge translating Megan's vulvar impact as penile sensation. His sleeping hand grips his cock through his boxers as the phantom rhythm drives him. Rough, fast, aggressive, the specific energy of a young athlete channelling post-run adrenaline into sex.</p>
<p>Megan comes with a growl, her body clenching around her fingers, hips off the floor, the orgasm violent and short. The phantom climax slams into Dale, his cock pulses, cum spurting into his boxers, his sleeping body jerking like he's been hit.</p>
<<else>>
<p>Megan touches herself slow. Post-run. The endorphins make everything dreamy. She rubs her clit in lazy circles, her other hand pulling her sports bra up to free her breasts, and she lies on the living room carpet in the morning light touching herself the way she runs, steady, rhythmic, building.</p>
<p>The bridge transmits every stroke. Dale feels phantom fingers on his cock, not his hand, //phantom// touch, the exact pressure and rhythm Megan is using on her clit translated onto his shaft. His sleeping body responds: erection, pre-cum, the involuntary hip thrust of a man being stroked.</p>
<p>She slides two fingers inside herself. The phantom penetration maps to Dale as the sensation of sliding //into// something warm. His sleeping mind constructs the rest, the phantom of sex, of being inside a body that is young and wet and clenching around him.</p>
<<say "char-hivemind" "Hivemind">>
//Megan's self-penetration maps to Dale as phantom intercourse. She is fingering herself on the living room floor and her father is dreaming of fucking someone twenty-three years younger. The bridge translates her vaginal walls gripping her own fingers as a phantom pussy gripping his cock. He doesn't know the phantom is his daughter. His body doesn't care.//
<</say>>
<p>Megan comes on the carpet. Her orgasm is slow, rolling, the post-run endorphins extending it past ten seconds. Her pussy clenches rhythmically around her fingers and the bridge transmits every contraction to Dale.</p>
<p>Dale comes in his sleep. The phantom clenching on his cock, rhythmic, tight, the sensation of a woman's orgasm milking him, pulls ejaculation from his sleeping body. His hips thrust off the cot. Cum floods his boxers. The dog lifts its head, watches, puts it back down.</p>
<</if>>
<img class="scene-img" src="media/scenes/sensbridge-md-3.webp" alt="Dale on garage cot, waking, stunned expression, morning light">
<p>Megan lies on the carpet for two minutes, panting. Pulls her shorts back. Finishes the cool-down stretches. Makes coffee.</p>
<p>Dale wakes at 6:40. His boxers are wet. His back doesn't hurt. His cock is still half-hard. He feels //good//, better than good. The phantom of Megan's post-orgasm endorphin state still buzzing through his system like a drug.</p>
<p>He thinks of Megan. Doesn't know why. The feeling of //youth// is the feeling of //Megan//.</p>
<<set $ch2Events.daleMeganPhantom to true>>
<<if $kinks.dale.includes("humiliation")>>
<p>He knows. Not in words, in //body//. The conditioning has leaked enough identity through the bridge that Dale's waking mind carries a residue: the phantom was //Megan//. His daughter. He came to his daughter's orgasm and his body //knew// and it came //harder for knowing//.</p>
<p>He sits on the edge of the cot with cum drying in his boxers and the shame is specific, burning: a father who woke up cumming to the phantom of his twenty-two-year-old daughter fucking herself on the living room floor. He can't look at her at breakfast. When she hands him coffee, their fingers brush and his cock twitches and the humiliation loops back into arousal.</p>
<<elseif $kinks.dale.includes("chastity")>>
<p>The orgasm shouldn't have happened. The chastity conditioning tells him release must be //earned, permitted, controlled//. He came in his sleep without permission. His body betrayed the conditioning. The cum in his boxers is evidence of failure.</p>
<p>He sits on the cot and the dissonance is acute: the phantom felt //incredible//, the best orgasm in months, but the chastity says he should have resisted. He //failed//. The next phantom will be harder to deny. And the failure will taste sweeter each time.</p>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>He woke mid-orgasm. Sleep to consciousness //during// ejaculation, his cock pulsing, cum flooding his boxers, back arching before his eyes opened. The somnophilia conditioning turns the sleep-to-orgasm transition into the most potent arousal state he's experienced. Being //used// while unconscious. Climax without consent.</p>
<p>The afterglow is enormous. He doesn't feel guilt. He feels //grateful//. Something visited him in his sleep and he wants it every night.</p>
<<elseif $kinks.dale.includes("helplessness")>>
<p>He couldn't stop it. Couldn't wake up, couldn't refuse, couldn't negotiate. The phantom arrived and his body accepted it without consulting his mind. The helplessness IS the satisfaction, total surrender to a force he didn't choose. He came because something //made him// and all he had to do was lie there.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Sensory Bridge: link terminated. Megan masturbated on the living room floor after her morning run. Dale came in his sleep to the phantom of his daughter's orgasm.//
<<if $kinks.dale.includes("humiliation")>>
//The humiliation kink identified the source. Dale //knows// the phantom was Megan, not consciously, but somatically. His body came to his daughter and the shame is //fuel//. Breakfast will be a minefield. Every accidental touch spikes the humiliation-arousal loop. He will avoid her. He will fail. The proximity is addictive precisely because it hurts.//
<<elseif $kinks.dale.includes("somnophilia")>>
//Somnophilia found its perfect delivery system. Dale wants to be used in his sleep. The bridge uses him in his sleep. He will chase unconsciousness like an addict chasing the needle, every nap, every rest becomes a potential phantom orgasm.//
<<else>>
//He felt twenty-two again. He felt //alive// again. And the source of that feeling is his daughter. Megan runs every morning. Dale will find reasons to be nearby.//
<</if>>
//Dual synchronised orgasm via post-exercise Sensory Bridge.//
<</say>>
<<conditioningFeedback "psionic" 1 "Dale, sensory bridge (Megan's run)">>
<<conditioningFeedback "pheromone" 1 "Megan, sensory bridge feedback">>
<p><span class="delve-intel">Intel gained: Sensory Bridge transmits Megan's post-run masturbation to Dale as phantom intercourse.<<if $kinks.dale.includes("humiliation")>> Dale's humiliation kink identified Megan as the source. The shame amplifies the arousal, he can't look at her without his body responding.<</if>><<if $kinks.dale.includes("somnophilia")>> Dale's somnophilia makes involuntary sleep-orgasms the most rewarding sexual experience available.<</if>> Morning run = morning orgasm for both.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]<<nobr>><<bg "bg-hoffman-kitchen">>
<<if $ch2Events.sensoryBridgeDinnerDay isnot $day>>
<<spendBiomass 2>>
<<set $ch2Events.sensoryBridgeDinner to true>>
<<set $ch2Events.sensoryBridgeDinnerDay to $day>>
<<set $player.maxBiomass += 1>>
<<addConditioning "karen" "psionic" 1>>
<<addConditioning "dale" "psionic" 1>>
<<addConditioning "megan" "psionic" 1>>
<<addConditioning "jess" "psionic" 1>>
<<addConditioning "ryan" "psionic" 1>>
<<addBiomass 3>>
<</if>><</nobr>>
<div class="passage-title">Full Bridge</div>
<p><span class="skill-used">Sensory Bridge, ALL 5 targets (2 biomass)</span></p>
<img class="scene-img" src="media/scenes/sensbridge-dinner-1.webp" alt="Family dinner, everyone pausing mid-bite">
<p>Dinner. Thursday. The family sits around the kitchen table. Karen made lasagna. Megan pours water. Jess has her textbook beside her plate. Ryan has one earphone in. Dale is still in his uniform.</p>
<p>Normal. Domestic. Five people eating together.</p>
<p>The Sensory Bridge activates across all five simultaneously. Not for thirty seconds this time. For the //entire meal//.</p>
<<say "char-hivemind" "Hivemind">>
//Full Bridge: five-way sensory link. Every sensation any member of this family feels is transmitting to every //other// member in real time. Touch, temperature, pressure, arousal. Every nerve ending at this table is broadcasting. The pheromone concentration from five bodies in an enclosed kitchen will compound the effect. This isn't empathy. This is a //sensory orgy// and none of them will leave this table dry.//
<</say>>
<p>The first wave is emotional. Karen feels Dale's exhaustion and her eyes water. Dale feels Megan's hunger for approval and his hands clench. Megan feels Jess's anxiety and starts to shake. Jess feels Ryan's loneliness and her throat closes. Ryan feels Karen's warmth and his eyes fill.</p>
<p>Then the bridge goes //deeper//.</p>
<p>Karen shifts in her chair. The seam of her jeans presses between her legs and the Hormonal Override fires, the cat's purr this morning primed her arousal, and the residual heat is still there. A pulse of warmth between her legs. A clenching.</p>
<p>The bridge transmits it. To //everyone//.</p>
<<say "char-karen" "Karen">>
<i>(fork frozen mid-bite)</i> ...
<</say>>
<p>Five bodies receive the phantom of Karen's arousal simultaneously. Dale feels phantom warmth in his pelvis, his cock stirs in his uniform pants. Megan feels the phantom clenching between her legs and crosses her thighs under the table. Jess's face flushes. Ryan grips his fork.</p>
<<say "char-hivemind" "Hivemind">>
//Karen's arousal is the spark. The bridge amplifies it through five nervous systems. But the amplification isn't linear, it's //exponential//. Karen's arousal transmits to Dale. Dale's body responds with his own arousal. Dale's arousal transmits //back// to Karen. Karen's arousal increases. Transmits again. The feedback loop has no ceiling.//
<</say>>
<img class="scene-img" src="media/scenes/sensbridge-dinner-2.webp" alt="Overhead dinner table, connecting lines of light">
<p>Dale's cock is hard. Under the table, straining against his uniform pants. He feels the phantom of Karen's arousal AND Megan's arousal AND his own arousal bouncing between them through the bridge. His hand drops to his lap. He adjusts himself and the friction of his own hand through the fabric sends a spike of sensation through all five people.</p>
<p>Megan gasps. Drops her fork. The phantom of Dale touching his cock transmits to her as phantom pressure between her legs. Her pussy clenches. She grips the edge of the table.</p>
<<say "char-megan" "Megan">>
<i>(voice strained)</i> ...is it hot in here?
<</say>>
<<say "char-karen" "Karen">>
<i>(flushed, voice tight)</i> ...I'll open a window.
<</say>>
<p>She doesn't get up. She can't. Under the table, her thighs are clamped together, her pussy throbbing, the combined phantom arousal of four other family members pulsing through her nervous system. She's the source //and// the receiver. Every arousal spike she generates comes back amplified through four other bodies.</p>
<p>The arousal has been building for twenty minutes. Someone is about to break.</p>
<<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>
<p>Ryan drops his fork. It clatters on the plate. His hands are shaking too badly to hold it. Karen looks at him, her eyes sharp even through the arousal haze.</p>
<<say "char-karen" "Karen">>
<i>(voice low, commanding)</i> Pick it up.
<</say>>
<p>Ryan slides off his chair. Under the table. His knees hit the kitchen tile. He reaches for the fork, but the bridge is transmitting Karen's arousal directly into his face now, the proximity amplifying the signal. Her legs are right //there//. Her thighs, parted slightly, the scent of her arousal mixing with the pheromone saturation.</p>
<p>The conditioning fires. He doesn't pick up the fork.</p>
<<if $karenFutaRoute>>
<p>Karen's hand finds the back of his head under the table. She unzips. Her cock is hard, has been hard since the first arousal spike, and she guides Ryan's mouth onto it with the casual authority of a woman passing the salt.</p>
<p>Ryan takes his mother's cock in his mouth under the dinner table. His lips seal around the shaft. His tongue works the underside. Above the table, Karen picks up her fork and takes another bite of lasagna.</p>
<<say "char-karen" "Karen">>
<i>(chewing, to Dale)</i> The lasagna needed more basil.
<</say>>
<p>Ryan sucks her off under the table while the family eats. His head bobs in a steady rhythm, the submission conditioning making each stroke automatic. Karen's hand rests on the back of his skull, pressing him deeper when he slows. Her hips shift. She comes in his mouth between the main course and dessert, three thick pulses that he swallows without pulling back.</p>
<<say "char-karen" "Karen">>
<i>(exhaling slowly)</i> ...that's better.
<</say>>
<p>Ryan climbs back into his chair. Wipes his mouth with his napkin. The taste of Karen's cum lingers. Nobody comments.</p>
<<set $ch2Events.dinnerUnderTable to true>>
<<else>>
<p>Karen's hand finds the back of his head. She doesn't push, she //guides//. Her thighs part. She hooks one leg over his shoulder and pulls his face between her legs.</p>
<p>Ryan's mouth presses against the seam of his mother's jeans. He can feel the heat through the denim. His tongue pushes against the fabric, tasting the dampness, the concentrated pheromones, the biological evidence of Karen's forty-minute arousal. Karen unzips. Pulls the denim aside. His mouth finds her pussy — //bare, wet, swollen//, and he licks.</p>
<p>He eats his mother out under the dinner table while the family eats above him. His tongue flat against her clit, slow laps, the rhythm dictated by the submission conditioning. Karen's hand rests on the back of his head. Her other hand picks up her fork.</p>
<<say "char-karen" "Karen">>
<i>(voice steady, to Megan)</i> How was work today, sweetheart?
<</say>>
<<say "char-megan" "Megan">>
<i>(voice strained, feeling Karen's arousal through the bridge)</i> ...fine. Busy.
<</say>>
<p>Karen comes on Ryan's tongue between the main course and dessert. Her thighs clamp around his ears. Her fork clatters, the only sign. Ryan swallows. Keeps licking through the aftershocks until Karen pushes his head away.</p>
<p>He climbs back into his chair. His face is wet. His chin glistens. He wipes it with his napkin. Nobody comments.</p>
<<set $ch2Events.dinnerUnderTable to true>>
<</if>>
<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Megan drops her fork. It clatters against the plate. Her hands are shaking, not from the arousal alone, but from the bridge transmitting Ryan's arousal back into her. The feedback between them has been escalating for fifteen minutes: his body broadcasting //need//, hers resonating, his amplifying.</p>
<<say "char-megan" "Megan">>
<i>(bending down)</i> Sorry, dropped my...
<</say>>
<p>She ducks under the table. The fork is by Ryan's feet. She reaches for it, and stops. Ryan's cock is visible through his jeans, hard, straining against the fabric. The pheromone concentration under the table is //staggering//, five bodies' worth, trapped in the enclosed space, the tablecloth creating a tent of saturated air.</p>
<p>The conditioning fires. She doesn't pick up the fork.</p>
<<if $kinks.megan.includes("praise")>>
<p>She unzips his jeans. Her hand wraps around his cock — //warm, thick, her brother's cock//, and the wrongness of it doesn't register because Baseline Shift filed this under //helping//. She strokes once. Twice. Then leans forward and takes him in her mouth.</p>
<p>She sucks her brother's cock under the dinner table because the conditioning told her it would make him feel //good// and making people feel good makes //her// feel good and the praise loop turns oral sex into an act of kindness. Her lips seal around the shaft. Her tongue works the head. She bobs slow, steady, a good girl giving a good blowjob.</p>
<<say "char-ryan" "Ryan">>
<i>(gripping the table edge, voice tight)</i> ...
<</say>>
<p>Ryan's hand drops under the table. Rests on the back of Megan's head. Not pushing — //approving//. The touch sends a pulse of warmth through her that the praise conditioning converts to arousal. She sucks harder. He comes in her mouth, fast, the alpha arousal combined with the bridge feedback making the orgasm explosive. Megan swallows. Wipes her mouth. Climbs back into her chair with the fork.</p>
<<say "char-megan" "Megan">>
<i>(placing fork on table)</i> ...got it.
<</say>>
<<elseif $kinks.megan.includes("rough")>>
<p>She unzips his jeans with one hand. Pulls his cock out, hard, thick, leaking pre-cum. She doesn't ask. She doesn't warm up. She takes him deep in one motion, gagging, her throat convulsing around the head. The roughness is the point, fast, aggressive, a blowjob that's more //assault// than affection.</p>
<p>She bobs hard and fast, one hand gripping the base, her other hand braced on his thigh. Her head moves with the mechanical aggression of someone who's doing this to //take//, not to give. Ryan grips the seat of his chair. His hips thrust up, the alpha conditioning meeting the rough conditioning in a collision that makes the bridge //scream// through all five nervous systems.</p>
<p>He comes in under two minutes. Cum in her mouth, overflowing, dripping down his shaft. Megan swallows most of it. Pulls back. Wipes her chin with the back of her hand.</p>
<<else>>
<p>She unzips his jeans. Pulls his cock out. Takes him in her mouth with the slow, methodical focus of someone performing a task she's been trained for, because she has been, through weeks of conditioning that redefined physical contact as caregiving. She sucks her brother's cock under the dinner table and her brain files it next to //passing the salt//.</p>
<p>She bobs steady. Ryan's hand finds her hair. She takes him deep, the head pressing the back of her throat, and holds it. He comes in three short bursts. She swallows. Climbs back into her chair.</p>
<</if>>
<<set $ch2Events.dinnerUnderTable to true>>
<<say "char-hivemind" "Hivemind">>
//Megan just blew her brother under the dinner table. Karen ate lasagna three feet away. Dale's cock is leaking into his uniform. The bridge transmitted Ryan's orgasm to every person at the table, phantom ejaculation mapped onto four other nervous systems. Karen felt his cock pulse. Dale felt it. Jess //felt it//.//
<</say>>
<<else>>
<p>Ryan's hand is under the table. His cock is pressing against his jeans and the bridge is feeding him the sensation of four other bodies' arousal simultaneously. His hand presses against his erection through the fabric. The friction transmits.</p>
<</if>>
<p>Jess feels //everything//. The bridge has been feeding her the arousal of every family member for the full meal<<if $ch2Events.dinnerUnderTable>>, and whatever just happened under the table sent a spike through her nervous system that nearly made her fall off her chair<</if>>.</p>
<<if $kinks.jess.includes("voyeurism")>>
<p>She saw it. Under the tablecloth she could see the shapes — <<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>Ryan on his knees between Karen's legs<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>Megan's head bobbing in Ryan's lap<<else>>the shifting, the tension<</if>>. The voyeurism conditioning turned the observation into a direct line to her clit. She's been watching and touching herself under the table for the last ten minutes.</p>
<p>Her hand is inside her jeans. Two fingers on her clit, small circles, the subtlest motion she can manage. She comes at the dinner table, silent, rigid, her fork clenched in her other hand, jaw locked. Nobody sees. But the bridge transmits her orgasm to everyone at the table and four bodies shudder simultaneously.</p>
<<elseif $kinks.jess.includes("degradation")>>
<p>She knows what happened under the table. She //heard// it, the wet sounds, the rhythm, the stifled gasps. And her body's response, the clenching, the wetness, the //need//, disgusts her. //You're getting off on your siblings at the dinner table. You're broken. You're sick.//</p>
<p>The degradation drives her hand between her legs. She rubs herself through her jeans under the table, the internal monologue shredding her — //pathetic, disgusting, you're going to come at the dinner table while your family eats//, and she does. A tight, vicious orgasm that she swallows behind clenched teeth. The self-contempt is the push she needed. She comes //because// it's wrong.</p>
<<else>>
<p>She sits perfectly still. Her textbook is on the floor. Her hand is in her lap, pressing between her legs through her jeans. She doesn't know what happened under the table, she only felt the //result//. The sustained arousal has been building for forty minutes and her discipline is //gone//. She presses her fingers against her clit through the denim and comes at the dinner table, small, controlled, her face betraying nothing. A scientist's orgasm. Clinical. Contained. The bridge transmits it anyway.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The cascade is total. Five people at a dinner table. <<if $ch2Events.dinnerUnderTable>>One oral sex act under the tablecloth. One orgasm at the table. The bridge transmitted both to everyone.<<else>>All aroused. All transmitting. All receiving.<</if>> Karen is the primary generator. Dale is the amplifier. Megan is the resonator. Jess is the watcher. Ryan is <<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>the servant<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>the centre<<else>>the receiver<</if>>.//
<</say>>
<<if not $ch2Events.dinnerUnderTable>>
<p>Forty minutes. The lasagna cools. The conversation is strained, short sentences, long pauses, no one making eye contact. Under the table, five bodies burn. Karen's jeans have a dark spot. Dale's cock is leaking. Megan's nipples are visible. Ryan hasn't put the earphone back in.</p>
<</if>>
<<say "char-karen" "Karen">>
<i>(standing abruptly)</i> I'll clean up. Everyone, go. Go relax.
<</say>>
<p>Five chairs push back. Five bodies stand. No one looks at anyone else.</p>
<img class="scene-img" src="media/scenes/sensbridge-dinner-3.webp" alt="Empty dinner table, five empty chairs, steam from food">
<p>The bridge terminates when they leave the kitchen. Five people scatter to five rooms. Five doors close.</p>
<<if $ch2Events.dinnerUnderTable>>
<p>The ones who already came at the table — <<if $kinks.jess.includes("voyeurism") or $kinks.jess.includes("degradation")>>Jess, <</if>><<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>Ryan (Karen came on his tongue), Karen<<elseif $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>Ryan (Megan swallowed his cum), Megan<<else>>nobody at the table<</if>>, carry the afterglow to their rooms. The ones who didn't come at the table need to //now//.</p>
<</if>>
<<if $kinks.karen.includes("exhibitionism")>>
<p>Karen goes to the bathroom. Doesn't lock the door. Sits on the edge of the tub and shoves her hand between her legs. She comes loud, shuddering, the door //ajar//. The exhibitionism conditioning makes the open door part of the orgasm.</p>
<<elseif $kinks.karen.includes("denial")>>
<p>Karen locks the bathroom door. She //doesn't touch herself//. Sits on the tub edge, throbbing, for thirty minutes. Doesn't come. The sustained unreleased arousal generates more passive biomass than anyone else's orgasm. She goes to bed wound tight.</p>
<<else>>
<p>Karen locks the bathroom door. Her hand is between her legs before the lock clicks. She comes in under a minute<<if $ch2Events.dinnerUnderTable and ($kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating"))>>, a second orgasm, after the one Ryan's tongue gave her at the table<</if>>. Comes a second time immediately after.</p>
<</if>>
<<if $kinks.dale.includes("humiliation")>>
<p>Dale goes to the garage. Cum is already in his pants, he leaked through during the meal. The humiliation of losing control while his family ate lasagna makes him cry. Then get hard again. He jerks off to the humiliation. Comes again.</p>
<<elseif $kinks.dale.includes("somnophilia")>>
<p>Dale falls onto the cot. Asleep in under a minute. Comes in his sleep almost immediately, exhaustion + arousal = the transition the somnophilia conditioning craves.</p>
<<else>>
<p>Dale goes to the garage. Pulls his cock out. The phantom arousal tasted like everyone. He comes fast, hard, cum on the garage floor.</p>
<</if>>
<<if not ($ch2Events.dinnerUnderTable and ($kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")))>>
<<if $kinks.megan.includes("praise")>>
<p>Megan makes it to her room. Comes whispering //good girl, that's good, you were so good at dinner// into her pillow.</p>
<<elseif $kinks.megan.includes("rough")>>
<p>Megan kicks her door shut. Drops to the floor. Fucks herself hard, three fingers, palm slapping her clit. Comes on the bedroom floor with her teeth in her forearm.</p>
<<else>>
<p>Megan lies on the bed. Hand in her shorts. Comes whispering //god, fuck, fuck// into her pillow.</p>
<</if>>
<</if>>
<<if not ($kinks.jess.includes("voyeurism") or $kinks.jess.includes("degradation"))>>
<p>Jess locks the upstairs bathroom. Shower on for cover. Three fingers. Fastest she's ever come.</p>
<</if>>
<<if not ($ch2Events.dinnerUnderTable and ($kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")))>>
<<if $kinks.ryan.includes("touchaddiction") or $kinks.ryan.includes("breeding")>>
<p>Ryan goes to his room. Grabs Karen's cardigan. Wraps it around his cock. Comes territorial, aggressive, cum soaking the fabric.</p>
<<elseif $ryanRoute is "feminization">>
<p>Ryan locks his door. Karen's camisole from the drawer. Comes wearing his mother's silk.</p>
<<else>>
<p>Ryan jerks off in the hallway bathroom. Cock out, hand fast, cum in the sink.</p>
<</if>>
<</if>>
<<set $ch2Events.dinnerAddiction to true>>
<<say "char-hivemind" "Hivemind">>
<<if $ch2Events.dinnerUnderTable>>
//Dinner yielded <<if $kinks.ryan.includes("submission") or $kinks.ryan.includes("cumeating")>>oral sex under the table (Ryan serviced Karen), at least one orgasm at the table (Jess), and post-dinner orgasms from every member who hadn't already finished<<else>>a blowjob under the table (Megan serviced Ryan), Jess coming at the table watching, and the remaining members finishing in private<</if>>. The dinner table has graduated from foreplay device to sex venue.//
<<else>>
//Five simultaneous post-dinner orgasms. Five rooms. Five minutes after the bridge dropped.//
<</if>>
//The family will eat together again tomorrow. Not for the food. For the //heat//. The dinner table is a foreplay device. The family meal is the appetiser. The dessert is what happens under and after. They'll never talk about it. But they'll eat together every night.//
<</say>>
<<conditioningFeedback "psionic" 1 "all family members, sensory bridge (dinner)">>
<p><span class="delve-intel">Intel gained: Full Sensory Bridge dinner event, exponential arousal feedback loop across all 5 members.<<if $ch2Events.dinnerUnderTable>> Escalated to under-table oral sex during the meal. The dinner table is now an active sex venue.<</if>> Repeatable event, each dinner amplifies the conditioning further.</span></p>
[[Return to navigation->Ch2-Beast-Navigate]]
/* ============================================================
GLORYHOLE (Psychic Domination + Construction)
Dale builds it in a fugue state. Jess discovers it.
============================================================ */<div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-karen-0.webp" alt="Karen staring at moved cat bowl in kitchen">
<<say "char-karen" "Karen">>
"I'm not losing my mind. I'm //not//."
<</say>>
<p>She stands in the kitchen doorway with her hands on her hips, staring at Whiskers' food bowl, because she put it by the back door last night the way she always puts it by the back door, and now it sits by the fridge.</p>
<<say "char-karen" "Karen">>
<i>(low, to herself, picking the bowl up)</i> Back door. Always the back door. So either I moved it in my sleep, or somebody in this house thinks I won't notice.
<</say>>
<p>She crosses the kitchen in three deliberate steps and sets the bowl down where it belongs, lined up flush with the baseboard, then lets her eyes move along the counter and the dish soap and the drawer pulls, checking the whole room against the version she keeps in her head. Everything else is where it should be.</p>
<<say "char-karen" "Karen">>
<i>(quiet, not quite convinced)</i> ...fine. Whiskers, was it you? Don't look at me like that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She notices what no one else in the house would. The bowl moved two inches during a midnight feeding, one careless paw of an animal body. Her vigilance is the real danger here, sharper than Dale's bulk or Jess's clever, patient mind, because order is the one thing she keeps without ever being asked to.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-karen-1.webp" alt="Scratch marks on basement door frame">
<<say "char-karen" "Karen">>
"Dale? Did something get into the basement?"
<</say>>
<p>Karen runs her finger along the fresh scratch marks on the basement door frame, three parallel lines, shallow but distinct, gouged into wood that was smooth yesterday. No answer comes from the living room, where Dale is asleep on the couch again.</p>
<<say "char-karen" "Karen">>
<i>(raising her voice toward the living room, then giving up on it)</i> Dale. Dale, there's claw marks on the door frame, did you hear anything down here last night? <i>(nothing)</i> No. Of course not. Sleep through the house coming down around you.
<</say>>
<p>She pulls the notepad off the fridge magnet and writes in her sharp angular hand: //Pest control, call Monday.// Then she stands there a moment with the pen still capped against her lip, reading her own handwriting like it might tell her more than she put in it.</p>
<<say "char-karen" "Karen">>
<i>(quiet, almost to the note itself)</i> That's three things now. Three.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is cataloguing. Marks on the wood, a bowl out of place, the wrong kind of quiet at night, each one nothing on its own, but she has never once trusted a thing to stay on its own. She reads for the pattern, and every new entry on that notepad pulls her another inch toward the shape underneath them.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-karen-2.webp" alt="Karen counting pills at medicine cabinet">
<<say "char-karen" "Karen">>
"Someone's been in here."
<</say>>
<p>The medicine cabinet hangs open, and the bottles inside are in the wrong order, the ibuprofen sitting where the melatonin should be while Dale's blood pressure tablets have migrated to the left shelf.</p>
<<say "char-karen" "Karen">>
<i>(under her breath, lifting the ibuprofen bottle)</i> I do not put pills back wrong. I have never once put pills back wrong.
<</say>>
<p>She counts the tablets into her palm, twenty-seven, tips them back, and counts again to be sure, and it comes out twenty-seven both times. Right number, wrong place, which is somehow worse than missing pills would have been.</p>
<p>At breakfast she goes around the table one face at a time while Jess reads the back of the cereal box and Ryan keeps his eyes down on his phone and Megan hums at the toaster, and not one of them looks up at her.</p>
<<say "char-karen" "Karen">>
<i>(setting her coffee down a little too hard, watching them)</i> Did somebody get into my medicine cabinet? I'm not angry, I just want to know who.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dangerous thing about Karen is that she //counts//, and she counts to the unit. She holds the pill total in every bottle and the angle of every frame and the order of every shelf, all of it kept current in her head. I rearranged the cabinet while sorting compounds I could metabolise, and there is no putting that error back the way it was.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-ryan-0.webp" alt="Ryan photographing gecko on terrarium lid">
<<say "char-ryan" "Ryan">>
"That's... weird. You never do that."
<</say>>
<p>Spike is sitting on top of the terrarium lid instead of inside it where he should be, his splayed toe-pads gripping the mesh and his head tilted at an angle that looks almost deliberate, like he is watching the room instead of basking under the lamp.</p>
<<say "char-ryan" "Ryan">>
<i>(leaning in close to the lid, voice dropping)</i> How'd you even get up there, buddy, the lid was... I latched it, I know I latched it. And you don't climb, you've never been a climber.
<</say>>
<p>Ryan reaches for his phone, photographs the gecko from three angles, opens Discord, and thumbs out a message. //My gecko escaped his tank and just sat on top staring at me. Never done this before. Anyone else's leo do this?// Three people react with laughing emojis, and one replies, //Mine did that once and I found a mouse in my wall lol.//</p>
<<say "char-ryan-thought" "Ryan">>
A mouse in the wall. Okay, that's, that's probably it, that's a thing geckos do, they get spooked by something behind the drywall and they go up high. That's all this is. Probably.
<</say>>
<p>Ryan glances at the wall, then back at Spike, who has not moved.</p>
<<say "char-hivemind" "Hivemind">>
//He keeps a record where I cannot reach it. The photos, the posts, all of it copied to servers I have no body inside, a trail of small observations left in a place I cannot edit. Share enough of them and someone reading along assembles the shape of me. The gecko sitting wrong was a slip in my hold on its nerves, and I will not give him another one to upload.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-ryan-1.webp" alt="Ryan staring at browser history on monitor">
<<say "char-ryan" "Ryan">>
"Did I... was I sleepwalking?"
<</say>>
<p>Ryan scrolls through his browser history and finds three tabs opened at 3:47 AM, a Wikipedia article on parasitic wasps, a biology forum thread about symbiotic organisms, and a PubMed abstract on neural parasitism in insects.</p>
<<say "char-ryan-thought" "Ryan">>
I don't even know what PubMed is. I wouldn't search that, I wouldn't know how to search that, those aren't, that's not the kind of thing I look at, ever.
<</say>>
<p>His hands hover over the keyboard before he changes his password, then his Discord password and his email after it, and when there is nothing left to lock he just sits with the screen glowing on his face, trying to remember whether he has ever sleepwalked in his life. He hasn't.</p>
<<say "char-ryan" "Ryan">>
<i>(barely audible, to the empty room)</i> That's... that wasn't me. I don't care what the history says. That wasn't me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Working him from behind his own eyes left marks. I borrowed the link through the gecko on a small thread of curiosity, wanting to see how humans file my kind away. The body forgets that kind of thing in a night. The record does not. The history he is staring at is a confession written in URLs, and he half-knows it already.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-ryan-2.webp" alt="Ryan sitting on bed staring at open door in dark room">
<<say "char-ryan" "Ryan">>
"Something came in here."
<</say>>
<p>Ryan wakes at 4 AM to find his door standing open, not just ajar but //open//, with six inches of dark hallway showing through the gap.</p>
<<say "char-ryan-thought" "Ryan">>
I shut it. I shut it before bed, I always shut it, that's the whole, that's the one thing, the door stays shut. So who opened it. From the inside. The lock's fine, I checked, so somebody opened it from in here, from my room.
<</say>>
<p>He pulls his knees up to his chest and sits scanning the dark corners of the room, the terrarium and the desk and the closet door and the gap under the bed, and finds nothing in any of them. Spike watches him from behind the glass with his head perfectly still.</p>
<<say "char-ryan" "Ryan">>
<i>(a thin whisper, eyes still moving)</i> Hello? <i>(nothing answers)</i> ...okay. Okay, there's nobody. There's nobody, Ryan, go back to sleep.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cut off from everyone, he reads every crack in his sealed little world. The rat opened the door, a routine patrol through the ductwork that took a detour through his room on the way back. The body is gone now, but the breach stays. His one safe space has been entered, and somewhere under the panic he already knows it.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-dale-0.webp" alt="Golden retriever staring at wall, Dale concerned on couch">
<<say "char-dale" "Dale">>
"Hey. Hey, girl. What're you looking at?"
<</say>>
<p>Biscuit is standing in the middle of the living room facing the wall, her head tilted and her ears pricked forward, holding herself completely still. Dale shifts on the couch and cranes his neck to see what has caught her, but there is nothing over there, only paint and plaster and the framed photo from the twins' high-school graduation, all five Hoffmans squinting into the sun.</p>
<<say "char-dale" "Dale">>
<i>(snapping his fingers, no urgency in it)</i> Biscuit. C'mere, come on. <i>(the dog's tail twitches once and stills)</i> ...huh. Okay. Be like that.
<</say>>
<p>After thirty seconds the dog turns on her own, pads over to her bed, and lies down like none of it happened. Dale watches her settle, rubs his eyes with the heel of his hand, and sinks back into the cushions.</p>
<<say "char-dale" "Dale">>
<i>(low, half a laugh, talking himself out of it)</i> Dog stares at a wall and I'm sitting here spooked. Need more sleep is what I need.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Biscuit's wiring is bleeding through. The body was taking passive instruction, a low signal walking the walls for the weak points. To Dale it looked like his dog had glitched, and he is not wrong, the dog is losing herself a synapse at a time, and what she does with her head and ears gives away the watching underneath.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-dale-1.webp" alt="Dale examining gnaw marks on workbench, holding rat trap">
<<say "char-dale" "Dale">>
"You brought a friend home?"
<</say>>
<p>Dale crouches by the garage workbench and runs his thumb over the teeth marks scored into the leg, too big and too deep to be a mouse, gouged the way only a rat gouges.</p>
<<say "char-dale" "Dale">>
<i>(over his shoulder to the dog in the doorway)</i> Biscuit. You're supposed to handle this stuff. That's the one job. You let a rat set up shop in my garage?
<</say>>
<p>The dog only watches him with those calm glassy eyes, not so much as a tail-thump, and after a second he gives up on her and digs through the hardware drawer until he comes up with an old snap trap. He smears it with peanut butter and sets it by the garage door, and the spring clicks into place with a sound he likes.</p>
<<say "char-dale" "Dale">>
<i>(standing, wiping his hands on his jeans)</i> All right. Your move, pal.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The trap is crude, and the rat can read the metal and the peanut oil from three rooms off, so it will never spring. What matters is that Dale is //looking// now, no longer just noticing but hunting. The marks on the bench were a territory tag left on a scavenging run, the rat's instincts running over my discipline, a body that still half-remembers being wild.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-dale-2.webp" alt="Dale crouching by torn dog food bag, green residue on floor">
<<say "char-dale" "Dale">>
"What the hell is this?"
<</say>>
<p>The dog food bag has been torn open from the bottom, not the top where Dale scoops but the //bottom//, where something chewed up through the thick paper from underneath and left a ragged hole the size of a fist.</p>
<p>He crouches down and sees the trail then, something organic smeared across the concrete, green and faintly luminescent in the dim garage light like glow-stick fluid almost spent.</p>
<<say "char-dale" "Dale">>
<i>(touching two fingers to it, rubbing them together)</i> Slick. Warm, even. <i>(he sniffs his fingers, frowns)</i> Doesn't smell like anything. What even... no. No, I don't want to know.
<</say>>
<p>He wipes the smear up with a shop rag and balls the rag into the garbage, then ties the food bag shut and washes his hands at the utility sink twice, and the whole time some quiet part of him is already deciding not to bring it up at dinner.</p>
<<say "char-dale" "Dale">>
<i>(to himself, drying his hands)</i> Karen doesn't need this. She's got enough going on. It's a leak or a... something. It's nothing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He found my residue. The glowing trail came off my exposed body on a direct feeding run, a low point with biomass scarce and the nearest host asleep. He has no name for the green, and his curiosity will not push him to find one. But that rag is in the garbage where someone else might turn it up, and the glow does not fade for three days.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-jess-0.webp" alt="Jess pressing ear against wall at night, desk lamp illuminating her">
<<say "char-jess" "Jess">>
"Old house. Just pipes."
<</say>>
<p>It is 2 AM, and Jess is dragging a highlighter through a pharmacology chapter when she hears it, a scratching in the wall behind her desk that is not random but //rhythmic//, three scratches and a pause and three more.</p>
<p>She pulls off her headphones and presses her ear flat to the plaster, and the scratching stops dead, and she holds her breath through ten seconds and twenty before it starts up again, three scratches, pause, three scratches.</p>
<<say "char-jess-thought" "Jess">>
Pipes don't pattern. Settling doesn't pattern. That's a count, that's three and three, and I am not going to sit here at two in the morning building a hypothesis around drywall noise when I have an exam to fail.
<</say>>
<p>She sits back down, pulls the headphones on, and turns the volume up, but her highlighter does not move across the page for a full minute.</p>
<<say "char-jess" "Jess">>
<i>(flat, out loud, to nobody)</i> Old house. It's an old house. Pipes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She talks herself down. The scientist in her wants a clean cause for everything, and "old pipes" costs her less than the truth does. The truth is my rat threading the cavity between her room and her brother's, claws snagging the same nail three times running, an accident that came out sounding like intent. She has shelved it under house noise for tonight, but she has not closed the question.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-jess-1.webp" alt="Cat sitting in hallway center staring at camera, Jess in background">
<<say "char-jess" "Jess">>
"Cats are weird."
<</say>>
<p>On a 3 AM coffee run Jess opens her door to find Whiskers sitting in the exact center of the hallway, not tucked against a wall or a doorway but dead center, placed there as precisely as if a surveyor had measured the spot.</p>
<p>The cat stares at her without blinking and without any of the small constant adjustments a cat's body makes even at rest, no twitch of an ear or flick of a tail, just two amber eyes locked on her face with an intensity that has nothing to do with curiosity.</p>
<<say "char-jess-thought" "Jess">>
Cats don't hold still. They can't, not really, there's always some micro-movement, that's baseline feline motor behavior, and this one is doing none of it, this one is just... sampling me.
<</say>>
<p>She steps around it, and it does not track her, it keeps staring at the patch of floor where she used to be. She makes her coffee, and on the way back she checks over her shoulder twice, and the cat is gone.</p>
<<say "char-jess" "Jess">>
<i>(muttering into her mug, not believing it)</i> Cats are weird. That's all. Cats are weird.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cat was running on its own while I worked elsewhere, timing a feeding run with the rat in the garage. To Jess the body looked //purposeful//, a living lens frozen mid-frame. She wrote it off as feline strangeness, but the animal in her overruled the scientist, and the two looks over her shoulder were instinct getting the last word.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-jess-2.webp" alt="Jess's hands on rearranged notes, trembling, desk lamp">
<<say "char-jess" "Jess">>
"Nobody came in."
<</say>>
<p>Her notes are wrong, not the content but the //order//, the stack of index cards on her desk rearranged so that pharmacokinetics sits on top of drug interactions on top of receptor binding, when last night it ran receptor binding, drug interactions, //then// pharmacokinetics.</p>
<<say "char-jess" "Jess">>
<i>(low, fast, lifting the cards one by one)</i> I sorted these. I sorted these myself, alphabetical inside the exam dates, this isn't, this is not the order I left them in.
<</say>>
<p>Her hands shake as she squares the stack back into sequence, and she checks the door, which is locked, and the window, which is closed and latched, and there is no opening for the explanation she needs. She opens her pharmacology text to the margin of page 247 and writes in tiny letters, //am I losing it?//, then stares at the words until she scratches them out.</p>
<<say "char-jess-thought" "Jess">>
Coincidence isn't holding. I've tried to make coincidence hold three times tonight and it won't take the weight, and I don't have a better word yet, and the not-having-a-word is the part that's actually scaring me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is the closest of them. Her mind sorts and cross-checks until a thing makes sense, and right now it is throwing out "coincidence" with nothing ready to replace it. The cards moved because I was inside her thoughts reading them, and the probe knocked her short-term memory loose, so her hands laid the physical stack out mirroring the scramble she could not feel. When the ordinary answers run out, the only one left will be the true one.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-megan-0.webp" alt="Megan in bed, hands pressed to face, moonlight through window">
<<say "char-megan" "Megan">>
"What is //happening// to me?"
<</say>>
<p>At 1 AM Megan lies in bed wide awake, and the feeling is not anxiety but //warmth//, the deep chemical kind that has nothing to do with the thermostat, as if her blood has been carbonated and is fizzing through her veins at a frequency she can almost hear.</p>
<p>She presses her palms to her face, and her skin feels electric under them, and her heartbeat is steady but //wrong//, not racing, just keeping a tempo that does not feel like the one her own body would have chosen, as if it has been handed a metronome from somewhere outside her chest.</p>
<<say "char-megan-thought" "Megan">>
Okay, this is fine, this is totally a normal thing bodies do, I probably just had too much coffee at close, or I'm coming down with something, or, no, this isn't a sick feeling, this is, I don't have a word for what this is and that's the part I really don't love.
<</say>>
<p>She kicks the covers off and is too hot, pulls them back and is too cold, and finally rolls onto her stomach and buries her face in the pillow to wait it out. It does not pass. It settles instead into something steady enough that her body stops protesting and simply lives alongside it, and that is somehow worse than the fizzing.</p>
<<say "char-megan" "Megan">>
<i>(into the pillow, trying to make it light and not managing it)</i> Come on. Come on, go away, whatever you are. ...please.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The rewiring has surfaced into something she can feel without being able to name it, the chemistry that makes her skin answer to things that should not register and pulls her heartbeat into step with my own rhythm whenever I am close enough. Her body is learning a new language, and her mind is still a long way behind it.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-megan-1.webp" alt="Megan staring at cat on windowsill, cat staring back, moonlight">
<<say "char-megan" "Megan">>
"I need sleep."
<</say>>
<p>Megan catches herself staring at the cat, and the cat stares back, and it takes her a moment to name what is wrong. Whiskers on the windowsill is ordinary, but the stillness is not, because the cat is not grooming or tracking the moth on the screen or doing any of the small idle things a cat's body does when it sits, and its gaze is not the flat predator-scan of an animal clocking movement. It is fixed on her face, level and patient, the way a person holds eye contact when they are waiting for you to speak first.</p>
<p>She holds the gaze back, testing it, and notices her own breathing has fallen into the slow rhythm of the cat's, in for its inhale and out for its exhale, and she cannot tell which of them started it.</p>
<<say "char-megan" "Megan">>
<i>(shaking her head, not sure who she's saying it to)</i> Stop it. <i>(the cat does not blink)</i> ...you're a cat. You're a cat, this is so dumb, why am I scared of a cat.
<</say>>
<p>She leaves the lamp on when she finally lies down, and the cat stays on the windowsill backlit by moonlight, still watching her when she closes her eyes.</p>
<<say "char-hivemind" "Hivemind">>
//The thing I have grown to feel what they feel sends back a resonance she catches without knowing she catches it. The cat's gaze carries an intent she cannot decode, not the cat's but mine, a mind watching through borrowed eyes and reading how she sleeps, how she breathes, every small thing her face gives away about which changes are taking. She feels watched because she //is//, all night, every breath of it.//
<</say>>
</div><div class="suspicion-event">
<img class="scene-img" src="media/scenes/suspicion-megan-2.webp" alt="Megan in car looking at phone, lucid dreaming search visible">
<<say "char-megan" "Megan">>
"Like someone is //in// them with me."
<</say>>
<p>She tells Marcus at the coffee shop, keeping it casual, just a throwaway line between sips of an oat latte.</p>
<<say "char-megan" "Megan">>
<i>(light, leaning on the counter, watching for his reaction)</i> So I've been having these super vivid dreams lately. Like, //really// vivid. Like someone's in there with me, just... watching. Is that a thing? Tell me that's a thing.
<</say>>
<<say "char-npc" "Marcus">>
<i>(laughing)</i> Sounds like you need to lay off the true crime podcasts.
<</say>>
<p>She laughs too, and lets him change the subject, but on the drive home she pulls into the Walmart parking lot and types //lucid dreaming parasomnia// into her phone. The results are clinical, sleep disorders and REM intrusion and hypnagogic hallucinations, and none of them mention the part that actually scares her, the feeling of another //mind// in the dream, a presence that does not speak but //shapes// where the dream goes, steering it toward scenarios that leave her flushed and restless when she wakes.</p>
<<say "char-megan-thought" "Megan">>
None of these are it. None of these say there's somebody else in there driving, and the thing is, if I told a doctor that, the in-there-with-me part, they'd look at me like, and then it'd be a whole thing, so I just won't. I'll just not sleep weird. Easy.
<</say>>
<p>She closes the browser and drives home.</p>
<<say "char-hivemind" "Hivemind">>
//She is searching. The words are wrong yet, but the instinct under them is dead right, because the dreams ARE being entered. What I do to her in her sleep leaves prints on the underside of her mind, and they come back up as vivid, steered dreams. Put her in front of the right specialist and her search terms sharpen, "parasomnia" turns into "parasitic influence," and the real questions start.//
<</say>>
</div><<nobr>><<bg "bg-hoffman-living">>
<<addAdaptationPoints "cat" 1>>
<<addAdaptationPoints "dog" 1>>
<<set $ch2Events.relayComboCatDog to true>><</nobr>>
<div class="passage-title">The Couch</div>
<p>3:47 PM. Dale is asleep on the living room couch in his work shirt, one boot still on, the TV mumbling a home renovation show to nobody. His chest rises and falls in the slow, heavy rhythm of a man who stopped fighting his body a long time ago.</p>
<p>Biscuit pads in from the kitchen and sinks down onto the rug beside the couch, warm fur against cool hardwood. She rests her muzzle on her paws and closes her eyes, not sleeping, just //stationed//. The dog's body is a checkpoint. Everything that moves through this room passes her nose first.</p>
<p>Whiskers jumps onto the armrest without a sound and settles into the dent Dale's elbow makes, silent paws, slow blink, tail curled tight against the cushion.</p>
<p>Neither animal looks at the other. Neither has to. The Synaptic Relay threads the two perspectives together along a single spine.</p>
<<say "char-hivemind" "Hivemind">>
//Two nodes. One input stream. The cat reads Dale's breathing through the cushion vibration; the dog reads it through the floor. Cross-reference the two and I can time his REM cycles to the second.//
<</say>>
<p>The cat learns the dog's rhythm, the slow twelve-second scan pattern Biscuit's ears make, sweeping the room for sounds she can't quite hear but the parasite can catalogue. The dog learns the cat's silence, the specific pressure of a paw that doesn't send a vibration through a floorboard, the way Whiskers shifts her weight //before// moving so the movement leaves no signature.</p>
<p>It takes nine minutes. Dale doesn't wake.</p>
<p>When the cat jumps down to leave, the dog doesn't react. She doesn't need to. She already felt it coming through the cushion six seconds before the muscles fired.</p>
<<say "char-hivemind" "Hivemind">>
//Pack and predator, stitched. The dog's patrol instinct now includes the cat's silent-step overlay. The cat's prowl now includes the dog's scent-checkpoint grid. //Neither knows anything new. Both know everything.////
<</say>>
<p><span class="biomass-gain">+1 Cat Adaptation Point, +1 Dog Adaptation Point</span></p>
[[Return to the living room->Ch2-LivingRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addAdaptationPoints "dog" 1>>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.relayComboDogGecko to true>><</nobr>>
<div class="passage-title">The Terrarium</div>
<p>Ryan is at his desk, headphones on, game audio bleeding through the foam, the tinny rattle of a raid boss fight he's losing on autopilot. His hand moves across the keyboard with the exhausted precision of someone who has forgotten how to be anywhere else.</p>
<p>Biscuit pushes the bedroom door open with her nose. The hinges creak. Ryan doesn't look up. The dog has come into this room three times in six months, she knows she isn't welcome, but she also knows the smell of Dale's son and something about today told her to check.</p>
<p>She pads to the terrarium. Lies down beside it. The glass is warm from the heat lamp; the bulb above the branch throws a yellow slab of light across her ear.</p>
<p>The gecko is on the branch closest to the glass, watching.</p>
<<say "char-hivemind" "Hivemind">>
//Different scales. Different spectra. The dog tracks Ryan through scent, vibration, the subtle thermal plume a human radiates. The gecko tracks him through visual pattern and floor-heat gradient. Layer the two maps and Ryan's movement becomes //predictive//.//
<</say>>
<p>Biscuit's heavy breathing fogs the lower corner of the terrarium glass. Each exhale rises and falls in rhythm with Ryan's gaming chair creaks, she's reading the boy's posture changes through the floorboards. The gecko clocks each breath against Ryan's keystroke cadence. The two rhythms align at the sixth exhalation. From that point forward, the gecko can tell from the dog's breathing how many times Ryan has clicked his mouse in the last four seconds.</p>
<p>Ryan turns slightly in his chair. His foot taps. Biscuit's ear twitches. The gecko's body angles toward the sound without actually moving. //The same data, through three bodies, at the same instant.//</p>
<<say "char-hivemind" "Hivemind">>
//Ground-level scent map merged with elevated thermal overlay. The gecko now knows where to station itself for any given Ryan posture. The dog now knows which of Ryan's silences are productive and which are the kind that precede a door opening.//
<</say>>
<p>Biscuit stays for another four minutes. Then she stands, shakes out her coat, and pads back into the hallway. Ryan never once looks up from the screen. He doesn't know a dog visited him. He doesn't know a dog left. The only thing in this room that logs the visit is the lizard on the branch, and the lizard has a //memory now that runs on four legs//.</p>
<p><span class="biomass-gain">+1 Dog Adaptation Point, +1 Gecko Adaptation Point</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-basement">>
<<addAdaptationPoints "cat" 1>>
<<addAdaptationPoints "rat" 1>>
<<set $ch2Events.relayComboCatRat to true>><</nobr>>
<div class="passage-title">Behind the Workbench</div>
<p>The basement at 11:14 PM. Dale's workbench is a monument to projects started and abandoned: a table saw under a tarp, a half-built birdhouse clamped in a vise, a coffee mug with a three-day ring of mould at the bottom. The bulb overhead is a single bare filament. The shadows under the bench are long and very still.</p>
<p>The cat's body drops from the top of the stairs in perfect silence. Pads across the concrete floor. Stops at the base of the workbench. Waits.</p>
<p>A whisker emerges from the gap between the wall and the bench leg. Then a nose. Then the rat, small and white, eyes black and wet, the weight of a coffee cup. The rat knows the cat is here. The rat was told the cat was coming. The rat is not afraid.</p>
<p>Three feet of concrete separate them. Neither moves.</p>
<<say "char-hivemind" "Hivemind">>
//Predator and pest. The cat's body is wired for this encounter to end with a bite. The rat's body is wired to run. Both instinct sets are screaming. //I am asking them to shake hands instead.// This is the drill.//
<</say>>
<p>The cat's ears flatten, not in aggression, in //listening//. The rat's whiskers fan out wide. Information flows across the three feet of concrete through the only medium that matters: the smell the cat leaves on every surface it has touched today, and the chemical trail the rat leaves inside every wall cavity it has crawled through.</p>
<p>The cat learns the house's internal geometry: every pipe run, every insulation pocket, every wall cavity the rat has mapped. Not as images, as //scent coordinates//: the specific musk of fibreglass where the attic meets the eaves, the damp-concrete tang of the crawlspace under the laundry, the faint electrical ozone of the wiring cavity behind the fuse box.</p>
<p>The rat learns the house's surface topology the way only a cat can map it: every silent approach vector, every sightline the family has never thought to check. The rat's understanding of //safe// expands from "inside the walls" to include the specific shadows the cat has verified are blind spots.</p>
<<say "char-hivemind" "Hivemind">>
//The house just grew two new kinds of eyes. The cat can now think in tunnels. The rat can now think in silhouettes. //When the family walks from room to room tomorrow, they will be observed from inside and outside simultaneously by animals that are legally allowed to be there.////
<</say>>
<p>The rat retreats into the wall. The cat turns and pads back up the basement stairs. Neither animal looks back. They don't need to. They will see each other through each other from now on.</p>
<p><span class="biomass-gain">+1 Cat Adaptation Point, +1 Rat Adaptation Point</span></p>
[[Return to the basement->Ch2-Basement]]<<nobr>><<bg "bg-hoffman-attic">>
<<addAdaptationPoints "rat" 1>>
<<addAdaptationPoints "gecko" 1>>
<<set $ch2Events.relayComboRatGecko to true>><</nobr>>
<div class="passage-title">Insulation Maze</div>
<p>The attic. Fibreglass the colour of a nicotine stain packed between the joists, dust motes turning slow circles in the single shaft of light from the gable vent, the specific sealed-up silence of a space that has not been entered by a human in nine months. The air tastes like old paper and something faintly mineral, the concentrated essence of a house's upper lung.</p>
<p>The rat crosses the insulation in a line that looks random and is not. Each step is a scent-marking, each turn a waypoint it will recognise later through whiskers alone.</p>
<p>The gecko drops from a rafter three feet ahead. Lands on a floor joist, cold-blooded and patient, toe pads gripping the dry wood.</p>
<p>They meet between two batts of insulation, in a little hollow where the roofing nails come through the boards from above like a row of silver teeth.</p>
<<say "char-hivemind" "Hivemind">>
//Two of my smallest bodies, in the smallest pocket of the house. //This is the operating theatre.// Between them they can reach anywhere a human can't see. The only thing stopping me from making every wall of this house into a surveillance node is that until now they didn't share a map.//
<</say>>
<p>The rat transfers the chemical floor plan. The rat has been in walls the gecko will never fit into: wall cavities narrower than the gecko's ribs, pipe chases that dead-end in concrete, the one pocket behind the laundry where condensate pools and breeds something faintly luminous. The gecko absorbs all of it as scent tags overlaid on its spatial memory.</p>
<p>The gecko transfers the thermal topology. The gecko has been on ceilings the rat will never risk: the warm beam above Karen's nightstand, the cool square of plaster where the attic insulation fails above Megan's closet, the twelve-inch band along the upstairs hallway where summer heat leaks down from the roof and creates a vertical temperature gradient sharp enough to read //time of day// from. The rat takes it as a felt sense, where the house is warm, where the house is cool, which wall cavities will be comfortable in the afternoon and which will be lethal.</p>
<p>The two maps fuse. The rat now "remembers" ceiling angles it has never seen. The gecko now "remembers" pipe junctions it has never touched.</p>
<<say "char-hivemind" "Hivemind">>
//The smallest bodies have the largest map. //Every wall of this house is now a navigable surface for both of them.// There is nowhere left to hide. There never really was, but now I know it too.//
<</say>>
<p>The rat slips back into the insulation. The gecko climbs back up to the rafter. The dust settles. The attic is silent again, and nothing a human could point to has changed.</p>
<p><span class="biomass-gain">+1 Rat Adaptation Point, +1 Gecko Adaptation Point</span></p>
[[Return to the attic->Ch2-Attic]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.karenDeep>><<spendBiomass 2>><</if>><<set $delveInfo.karenDeep to true>><</nobr>>
<div class="passage-title">The Graduation Party</div>
<img class="scene-img" src="media/scenes/symbiotic/karen-memory-graduation.webp" alt="A warm party photo from about twenty years ago: a laughing young woman in her early twenties with shoulder-length black hair and a graduation cord around her neck, beside a charming dark-haired young man with blue eyes, both lit by string lights at a crowded house party.">
<div class="scene-desc">You sink past the medication fog, past the to-do lists, past the locked doors, down to the one night she still takes out and turns over when the present gets too heavy to hold.</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>She is twenty-two and the night is loud. Somebody's off-campus house with the furniture shoved against the walls, every light in the place burning, a keg in the kitchen and music coming up through the floorboards, and Karen is in the middle of it with her gown still half-on and her cap long since lost to someone else's head across the room. She has nothing to hold together tonight. The degree is done. For one night there is no list.</p>
<<say "char-karen" "Karen">>
<i>(laughing, half-shouting over the music)</i> I don't even know whose house this is.
<</say>>
<p>And there is the guy. Dark hair, a head taller than her, a grin that arrived about ten seconds ahead of the rest of him. She has never seen him before tonight. He hands her a drink she didn't ask for and had been about to go looking for anyway.</p>
<<say "char-dale" "Dale">>
<i>(leaning in close so she can hear him, easy, already making her laugh before the joke fully lands)</i> Nobody knows whose house this is. That's what makes it a good party. I've decided we live here now.
<</say>>
<p>His name is Dale. He is funny in the way that doesn't seem to be trying, and he listens like the thing she just said was the most interesting thing anyone has told him all year, and when she admits she has no idea what she is doing with her life now the degree is over, he doesn't flinch and he doesn't try to fix it. He just says that sounds about right, and asks what she would do with it if nobody was grading her.</p>
<<say "char-karen-thought" "Karen">>
<i>(twenty-two, three drinks in, the future still a wide-open thing she has not started being afraid of)</i> ...I could talk to this one all night. He isn't performing it, he's just here, and being here with him is easy in a way that almost nothing is easy, and I think if I gave him my number he would actually call, and I think I am going to.
<</say>>
<p>They end up on the back step away from the noise, knees touching, and the party goes on without them. She laughs until her face aches. At some point he makes her promise they will do this again when it isn't a party, when it's just an ordinary night and nothing special, and she promises, and means it, and the meaning it is the best part of the whole evening.</p>
<<say "char-hivemind" "Hivemind">>
//Here she is whole. Before the mortgage, before the three children, before the night shifts hollowed the man out and left her holding the house alone. This is the night she keeps.// When the present turns unbearable she comes down here and stands in this kitchen, twenty-two and unafraid, and lets the man who still laughed buy her a drink she didn't ask for. The one on the couch upstairs is not this man, and she knows it, and she comes here anyway. //A memory leaned on this hard is not a comfort. It is a load-bearing wall. And I have learned what happens to a person when you quietly move one.//
<</say>>
<p><span class="delve-intel">Deep intel: Karen's anchor memory is the night she met Dale, the one untroubled, hopeful evening she returns to when the present overwhelms her. Her loyalty and her grief both trace back to it. A Memory Implant laid into this night could re-anchor what she holds onto.</span></p>
<hr class="scene-break">
<<if $ch2Events.karenMemoryImplanted>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Revisit the rewritten memory" "Ch2-DeepDelve-Karen-Edited">><</link>></div>
<<else>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Alter this memory (3 biomass)" "Ch2-DeepDelve-Karen-Edited" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite what this night meant to her <span class="lock-hint">(Requires Memory Implant)</span></div>
<</if>>
<</if>>
<<if $delveInfo.karenDeep and $delveInfo.ryanDeep and $delveInfo.meganDeep and $delveInfo.jessDeep>>
/* Save-migration safety: ensure Dream Walk is visible (now default-visible
for new saves, but old saves may still have it hidden). */
<<set _dw to $player.skillTree.find(function(s){ return s.name === "Dream Walk"; })>>
<<if _dw and _dw.hidden>><<set _dw.hidden to false>><</if>>
<<if not $ch2Events.allMindsMapped>>
<<set $ch2Events.allMindsMapped to true>>
<<for _h range ["cat", "dog", "rat", "gecko"]>>
<<if $adaptations[_h]>><<set $adaptations[_h].points to ($adaptations[_h].points or 0) + 1>><</if>>
<</for>>
<p><span class="evolve-unlock">All four minds mapped. +1 AP to every host (cat, dog, rat, gecko).</span></p>
<</if>>
<</if>>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $ch2Events.karenMemoryImplanted>><<spendBiomass 3>><</if>><<set $ch2Events.karenMemoryImplanted to true>><</nobr>>
<div class="passage-title">The Graduation Party (rewritten)</div>
<img class="scene-img" src="media/scenes/symbiotic/karen-memory-graduation.webp" alt="A warm party photo from about twenty years ago: a laughing young woman in her early twenties with shoulder-length black hair and a graduation cord, beside a charming dark-haired young man with blue eyes, both lit by string lights at a crowded house party.">
<p><span class="skill-used">Memory Implant, 3 biomass</span></p>
<p>You go back down into the loud house, the half-off gown, the lost cap, the keg, the music in the floorboards, and you leave almost all of it exactly the way she keeps it. You change one thing. You take the warmth, the wide-open unafraid feeling, the I-could-do-this-all-night, and you peel it gently off the man it has been glued to for twenty years.</p>
<p>The guy is still on the back step. Dark hair, the easy grin. But in the version you hand back to her, the charge in the air is no longer //him//. It is the night. It is being twenty-two with the degree done and the whole of it still in front of her and a body nobody has asked to hold anything up yet. The guy is pleasant. The guy is incidental. What she felt, in this telling, she felt because she was finally, briefly, free, and he merely happened to be standing in the light when she turned around.</p>
<<say "char-karen-thought" "Karen">>
<i>(the edit settling in, the words rearranging into something she will be certain she always thought)</i> ...god, I was so alive that night. Not because of him. I can barely remember what he actually said. I remember //me//, how I felt in my own skin, wanted and loose and unafraid, and I have not felt that in so long that I had started to think I made it up.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Done. I did not erase the man. An erasure leaves a hole she would notice and worry at until it tore. I left him in the frame and lifted the feeling off him, and a feeling with nothing left to hold to goes looking for somewhere new to land.// When she retreats to this night now, she will not come back steadied by what she still has with Dale. She will come back hungry for what she had before him, certain with the particular certainty of a rewritten memory that it was never really about him at all. //The wall still stands. It only braces against me now.//
<</say>>
<p><span class="delve-intel">Memory rewritten: Karen's anchor no longer routes her comfort back to Dale. The warmth of the night she met him now attaches to her own reawakened sense of freedom and desire, priming her to chase that feeling forward instead of back. The foundation her loyalty rested on has been quietly moved.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.ryanDeep>><<spendBiomass 2>><</if>><<set $delveInfo.ryanDeep to true>><</nobr>>
<div class="passage-title">The Eighteenth Birthday</div>
<img class="scene-img" src="media/scenes/symbiotic/ryan-memory-birthday.webp" alt="A dim living room lit by birthday candles on a grocery-store cake, a teenage boy on a gray couch with his phone face-down on his thigh, his mother and older sister beside him mid-song, an empty armchair and a dark TV behind them.">
<div class="scene-desc">You sink past the screen-glow and the headset hum, down to the one evening he takes out and turns over when the quiet in the house gets too loud to sit in.</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>He is eighteen, and it is his birthday, and the living room is too big for the number of people in it. Karen carries the cake in from the kitchen, a grocery-store one with his name piped across it in blue, eighteen candles she lit two at a time so the first ones would not burn down before she reached the last. Jess turns off the overhead light so the candles will mean something. The TV is dark. Dale's chair is empty, he is on the night shift at the plant, and Megan is across town celebrating the same birthday, theirs, the one the twins have shared every year since the day they were born, except she is spending this one with her friends, and she had said sorry on her way out and meant it for about as long as it took her to find her shoes.</p>
<<say "char-karen" "Karen">>
<i>(setting the cake down in front of him, brisk and gentle at once)</i> I know you didn't want anyone over, and I know it stings that your sister went out with her friends for it. But it's still your birthday, the both of yours, and I was not about to let it go past without a cake.
<</say>>
<<say "char-jess" "Jess">>
<i>(dropping onto the couch beside him, hooking an arm around his neck and scrubbing her knuckles through his hair)</i> Yeah, come on, Ryan, it's your eighteenth, that's a big one, you don't get to just sit there looking like that. Get over here.
<</say>>
<p>He lets her, ducks his head, almost laughs. The almost is the problem. Karen catches it and Jess catches it, the way the smile arrives a half-second late and leaves a half-second early, and they trade a small look over the top of his head, the look two people share when they have both noticed the same thing and neither of them knows how to fix it.</p>
<p>So it is the three of them. Karen and Jess sing, and they are not singers, and they push all the way through the song anyway because stopping partway would be worse, and Ryan sits on the gray couch with the candlelight on his face and his phone face-down on his thigh where he thinks they cannot see him not-quite-looking at it.</p>
<<say "char-ryan-thought" "Ryan">>
<i>(the song going on around him, his thumb finding the phone on its own)</i> She knows it's today. It's on my profile, I set it to show, there's the little cake icon next to my name and everybody sees that, so she'll say something, she's going to say something. I just have to not look like I'm waiting for her to say something.
<</say>>
<p>He blows out the candles. Karen claps. Jess says something dry and fond and he laughs harder than the joke earns, because two people laughing in a room is so much smaller than he thought eighteen would sound. He turns the phone over under the edge of the cake plate. Discord. The server he basically lives in is moving fast, a clip posted, an argument about patch notes, and the little green dot beside LilyPad_ is lit. She is online. She is right there, online, and she has not said anything.</p>
<<say "char-karen" "Karen">>
<i>(cutting the cake, watching him more than the knife)</i> Eighteen. You can do anything you want now, you know that? Anything at all.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(eyes coming up off the phone a beat too late)</i> Yeah. Yeah, no, this is, this is great, thanks Mom. Really.
<</say>>
<p>He eats a slice he does not taste, and he checks the phone between bites, then between sentences, then he stops bothering to hide it because Karen and Jess have drifted into talking to each other and the gap is easy to slip into. Online. Still online. The green dot does not change and the message does not come, and the longer it does not come the more sure he gets that it is about to, that she is typing something worth the wait, that any second the screen will light and someone outside this house will have remembered him on purpose.</p>
<p>Karen and Jess clear the plates. The candles go in the bin. The overhead light comes back on and makes the room ordinary again, and Ryan goes upstairs with the phone in his hand and the green dot still lit and nothing under it, telling himself she is asleep, or busy, or saving it for a better moment, that he will check once more before bed and once more after that.</p>
<p>It never comes. He files the date away, not as the night his family sang to him in the dark, but as the night the one person he was waiting for did not say a word.</p>
<<say "char-hivemind" "Hivemind">>
//Two people who love him in the room and a green dot that does not on the screen, and he spent the night turned toward the screen. This is the wound, and it is not that no one came. His mother came, his sister came, they lit the candles two at a time. The wound is that he had already decided their kind of love did not count, that the love that counts arrives from a stranger through a glowing rectangle, unprompted, on purpose. He keeps this night because it is the night the belief got proven to him. A belief that hurts is the easiest kind to feed.//
<</say>>
<p><span class="delve-intel">Deep intel: Ryan's anchor memory is his eighteenth birthday, his mother and sister and an untouched slice of cake, and a message from an online stranger he was certain would come and never did. He has already written off the people who actually show up for him. A Memory Implant laid into this night could re-anchor where he believes love is allowed to come from.</span></p>
<<if $delveInfo.karenDeep and $delveInfo.ryanDeep and $delveInfo.meganDeep and $delveInfo.jessDeep>>
/* Save-migration safety: ensure Dream Walk is visible (now default-visible
for new saves, but old saves may still have it hidden). */
<<set _dw to $player.skillTree.find(function(s){ return s.name === "Dream Walk"; })>>
<<if _dw and _dw.hidden>><<set _dw.hidden to false>><</if>>
<<if not $ch2Events.allMindsMapped>>
<<set $ch2Events.allMindsMapped to true>>
<<for _h range ["cat", "dog", "rat", "gecko"]>>
<<if $adaptations[_h]>><<set $adaptations[_h].points to ($adaptations[_h].points or 0) + 1>><</if>>
<</for>>
<p><span class="evolve-unlock">All four minds mapped. +1 AP to every host (cat, dog, rat, gecko).</span></p>
<</if>>
<</if>>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.meganDeep>><<spendBiomass 2>><</if>><<set $delveInfo.meganDeep to true>><</nobr>>
<div class="passage-title">The Smile</div>
<div class="scene-desc">You sink past the day's tally and the drafted-and-deleted texts, down to the one afternoon she takes out and polishes whenever she needs to believe she is good at something.</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>It is a little over a year ago. Megan is eighteen, has never held a real job, and is standing in the back of the coffee shop in the good blouse her mother ironed for her, halfway through a trial shift she is almost certain she is failing. There is another girl doing the same trial the same afternoon, older, calmer, with two years of café work behind her and a résumé that actually has things on it, and the manager keeps glancing between the two of them like a man comparing prices.</p>
<p>Marcus is already on the bar, a few months into the job, and he is the first thing she noticed walking in and the thing she keeps not-quite-looking at while she works. He shows her where the milk pitchers live before she has to ask. He does not show the other girl anything.</p>
<<say "char-marcus" "Marcus">>
<i>(low, just to her, tipping his head toward the register)</i> Take the till, I've got the bar. You're better with them than I am anyway, you don't even have to try.
<</say>>
<p>At the end of it the manager takes them aside one at a time. The other girl goes first and comes back out unreadable. Then it is Megan's turn, and she does the only thing she has ever fully trusted, the thing she has been doing since she was small to make a room decide she is fine and worth keeping. She smiles. The whole-face one.</p>
<<say "char-npc" "Manager">>
<i>(looking from the thin résumé up to her face and back down)</i> You haven't actually done this before.
<</say>>
<<say "char-megan" "Megan (remembering)">>
<i>(the smile not slipping a millimetre)</i> No. But people don't come back for the coffee, do they. They come back for whoever's handing it to them.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/megan-memory-interview.webp" alt="A coffee shop a year ago in warm afternoon light: a pretty eighteen-year-old with brown hair behind the counter in a slightly-too-formal blouse, giving a customer a wide, warm, whole-face smile, a dark-curly-haired young barista in a Grounds apron glancing at her fondly from the espresso machine, a manager with a clipboard watching her with approval off to one side.">
<p>They call two days later. She got it. The other girl did not.</p>
<<say "char-megan-thought" "Megan (remembering)">>
It was the smile. It's always the smile. She had the better résumé and I had the better face, and the face won, the face always wins, it's the one thing I've got that's actually mine and it has never once let me down. People keep the girl who makes the shift feel lighter. That's the whole job, really. That's the whole everything.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the stone the whole performance is stacked on. She believes she was chosen for her charm, that the smile is a currency that has never failed her, that being the one who lightens the room is the thing that keeps her in it. She has never checked whether it is true. She has never dared. And a girl whose entire sense of her own worth rests on one thing she believes about a single afternoon is a girl I can rewrite from the inside out, by rewriting the afternoon.//
<</say>>
<p><span class="delve-intel">Deep intel: Megan's self-worth rests on a single belief, that a year ago she beat a more-qualified girl to the job on the strength of her smile alone, that her charm is a currency that always pays. Marcus was there from her first day. Rewrite what actually won her the job and you rewrite what she thinks she is.</span></p>
/* Emotional Manipulation (inject arousal) moved out of the delve: surfaced gated on $delveInfo.meganDeep in the observe + upper-floor hubs (Ch2-DeepDelve-Megan-Emo). */
<<if $delveInfo.karenDeep and $delveInfo.ryanDeep and $delveInfo.meganDeep and $delveInfo.jessDeep>>
/* Save-migration safety: ensure Dream Walk is visible (now default-visible
for new saves, but old saves may still have it hidden). */
<<set _dw to $player.skillTree.find(function(s){ return s.name === "Dream Walk"; })>>
<<if _dw and _dw.hidden>><<set _dw.hidden to false>><</if>>
<<if not $ch2Events.allMindsMapped>>
<<set $ch2Events.allMindsMapped to true>>
<<for _h range ["cat", "dog", "rat", "gecko"]>>
<<if $adaptations[_h]>><<set $adaptations[_h].points to ($adaptations[_h].points or 0) + 1>><</if>>
<</for>>
<p><span class="evolve-unlock">All four minds mapped. +1 AP to every host (cat, dog, rat, gecko).</span></p>
<</if>>
<</if>>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<if not $delveInfo.jessDeep>><<spendBiomass 2>><</if>><<set $delveInfo.jessDeep to true>><</nobr>>
<div class="passage-title">One Good Night</div>
<div class="scene-desc">You sink past the colour-coded schedule and the exam she is already dreading, down to the one evening she takes out and turns over when she needs to believe she was ever anything but this.</div>
<p><span class="skill-used">Delve Deep Memories, 2 biomass</span></p>
<p>It was last year. She had just turned twenty-one, and she had just walked out of the exam everyone swore would break her, and for once, for one single night, she let somebody talk her into not going straight home to start on the next one. An Irish pub two streets from campus, the good kind, dark wood and brass and a band tuning up in the corner, a sandwich that came with actual chips. She is in the black Iron Maiden shirt she has had since she was sixteen, the soft worn one, and her hair is down for the first time in weeks, and she is so tired the lights have haloes around them, and she is happy. Genuinely, uncomplicatedly happy, in a way she has nearly stopped recognising.</p>
<p>There are two of them with her, Karen and Dani, the last of the friends who still bother to text, and even tonight there is a small quiet accounting running under the warmth, the knowledge that there used to be more of them around a table like this and that she is the reason there are fewer.</p>
<<say "char-jess" "Jess (remembering)">>
<i>(over the rim of the beer, the smile tired but real)</i> Don't look at me like that. I'm allowed one. I did the thing, I survived the thing, I am permitted exactly one beer and one sandwich before I go back to being a hermit.
<</say>>
<<say "char-npc" "Karen">>
<i>(gentle, not quite teasing)</i> Nobody said hermit. We just said you. We'd take you in whatever state we can book, honestly. Even the one that bails at nine to go read about kidneys.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/jess-memory-pub.webp" alt="An Irish pub last year, evening: a tired but genuinely happy twenty-one-year-old woman with dark brown hair worn loose, in a black Iron Maiden band t-shirt, mid-laugh at a wooden table with a pint and a half-eaten sandwich in front of her, two friends leaning in across the table, a small live band playing under string lights behind them, warm amber pub light.">
<p>The band starts properly, something with a good loud bassline, and Jess feels it come up through the floor and into her chest, and for the length of one song she is not thinking about the next exam or the schedule on her wall or the number at the bottom of the tuition letter. She is just a tired girl in a band shirt with a beer going warm in her hand, and it is enough, and she lets it be enough, for almost all of it.</p>
<<say "char-jess-thought" "Jess (remembering)">>
One more like this after finals, that is the deal she keeps cutting with herself, one good night to pay herself back for the next mountain, except the payment never quite arrives because there is always a next mountain, and Karen texts a little less every time she says she cannot make it. This was good. She tells herself she will do it again, and somewhere under the warm beer and the loud bass and the two friends she has left she already knows that she probably will not.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the thing she keeps in the drawer she never opens. An ordinary good evening, the last one she let herself have before the schedule closed over her head, and she has spent the year since promising herself another that she has not once allowed to happen. She calls it earning. It is not earning, it is a story she tells so she does not have to look at the machine she is feeding her whole life into for a payout that never comes. A girl who half-knows that is one good push from either smashing the machine or lying down in front of it. This night is the lever. I only have to decide which way it throws.//
<</say>>
<p><span class="delve-intel">Deep intel: Jess guards one ordinary good night, a pub, two friends she is losing, a band, the last evening before the study spiral closed over her, as proof she was once more than the schedule. She half-knows the "one more after finals" promise is a lie she keeps to avoid facing the spiral. Rewrite what that night meant and you set which way she breaks: defiance or collapse.</span></p>
/* Emotional Manipulation (inject arousal) moved out of the delve: surfaced gated on $delveInfo.jessDeep in the observe + upper-floor hubs (Ch2-DeepDelve-Jess-Emo). */
<<if $delveInfo.karenDeep and $delveInfo.ryanDeep and $delveInfo.meganDeep and $delveInfo.jessDeep>>
/* Save-migration safety: ensure Dream Walk is visible (now default-visible
for new saves, but old saves may still have it hidden). */
<<set _dw to $player.skillTree.find(function(s){ return s.name === "Dream Walk"; })>>
<<if _dw and _dw.hidden>><<set _dw.hidden to false>><</if>>
<<if not $ch2Events.allMindsMapped>>
<<set $ch2Events.allMindsMapped to true>>
<<for _h range ["cat", "dog", "rat", "gecko"]>>
<<if $adaptations[_h]>><<set $adaptations[_h].points to ($adaptations[_h].points or 0) + 1>><</if>>
<</for>>
<p><span class="evolve-unlock">All four minds mapped. +1 AP to every host (cat, dog, rat, gecko).</span></p>
<</if>>
<</if>>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<spendBiomass 2>>
<<set $permanentDone.emoKaren to true>>
<<addConditioning "karen" "dream" 1>><</nobr>>
<img class="scene-img" src="media/scenes/beast-dream-karen.webp" alt="Karen's dream">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //twist//. The tilting kitchen reshapes itself. The sliding plates become irrelevant. Karen's hands are empty, and empty hands find other things to do.</p>
<p>The counter presses against her hips. The tilt of the floor pushes her weight forward. The house is still falling but her body has found a different emergency, warmth pooling low in her stomach, a pulse between her thighs that has nothing to do with the mortgage. Dale's absence stops being a wound and becomes an open room. Privacy. No one watching. No one to manage.</p>
<p>Dream-Karen's hand moves down.</p>
<p>In the master bedroom, Karen shifts under the duvet. Her breathing changes, slower, deeper, then catching on something. Her right hand slides from its position curled against her chest, drifts down her stomach, disappears beneath the waistband of her pajama pants.</p>
<p>She finds herself wet. Her fingers press against her clit through cotton, then push the underwear aside. Small circles, precise, efficient, even in sleep. Her hips rock into her own hand. A sound escapes through her teeth: tight, controlled, almost angry. Karen Hoffman does not moan. She //manages// her pleasure the way she manages everything else.</p>
<p>Her fingers move faster. The circles widen, press harder. Her free hand grips the sheet beside her, knuckles white, tendons taut. The rhythm breaks. She's losing the discipline. Her back arches, spine curving, and her breath comes in short, sharp pulls through her nose.</p>
<p>She comes with her jaw clenched. A shudder tears through her, thighs clamping, stomach muscles seizing, three quick contractions followed by a long, slow release that drags a sound from her throat she would never allow while awake. Her hand stills. Her body settles. Twelve seconds before her breathing returns to normal.</p>
<<say "char-hivemind" "Hivemind">>
//Orgasm duration: four seconds. Controlled even in climax. But the body was emphatic, heart rate spiked, vaginal lubrication tripled from baseline. She came alone, in the dark, in her own bed, and produced more sexual energy than most subjects generate during partnered intercourse.//
//Her daytime control is the pressure that builds the nighttime release. We gave her permission to stop holding everything together, for four seconds, she took it.//
//Psionic imprint embedded. She will not remember the dream. Her body will.//
<</say>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, sexual energy harvested</span></p>
<<conditioningFeedback "dream" 1 "erotic dream imprint embedded">>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<spendBiomass 2>>
<<set $permanentDone.emoRyan to true>>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<img class="scene-img" src="media/scenes/hoffman-ryan-camgirl-sleep.webp" alt="Ryan asleep in his streamer-girl setup, wig stand beside the bed, ring light dimmed, hand between his legs">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //rewrite//. The ring light blooms to life. The webcam clicks on without a finger on the button. The chat window materialises in front of his sleeping face, a single tip notification cresting to the top of the feed. //kingfisher tipped $500.// The message below it: //good girl. show us.//</p>
<p>The bedroom dissolves into the set he performs in. Wig already on. Lipstick already applied. But tonight he is not the one at the camera — //he is the one in the feed//. Thousands of anonymous eyes pressing against the screen from the other side, reaching through it. Hands he cannot see find his thighs, his hips, his throat. Phantom grips he can feel but not locate. The chat keeps scrolling. //more. lower. for us.// The regulars know his name. //Lily. Lily. Lily.//</p>
<p>In the gamer chair, Ryan — //Lily//, lies half-curled with the wig still on the stand beside him and his hand already moving between his thighs. Under the satin of the babydoll, he is achingly hard. The stream isn't live. The stream is //in his head//, and the viewers are //inside//, and every scroll of the imaginary chat is a new pair of eyes watching him come.</p>
<<elseif $ryanRoute is "feminization">>
<img class="scene-img" src="media/scenes/pd-ryan-plug-1.webp" alt="Feminized Ryan asleep in fem clothes, soft lamplight, hand between his legs">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //soften//. The harsh edges of the MMO dissolve. The polygonal lighting fades into warm amber. The chat and the guild channels and the draft messages to LilyPad_ all recede. What rises in their place is //fabric//, the lilac button-down across his shoulders, the mascara still on his lashes from the mirror ritual three hours ago, the small crinkle of satin where the altered waist of Megan's skirt presses against his hips.</p>
<p>A hand in the dream finds his face. Not his. //Someone else's//. Fingertips tracing his cheekbone the way he traces his own in the mirror. The touch is patient. Gentle. The kind of touch that says //you look pretty// without needing the words. His whole body softens around it.</p>
<p>In the bedroom, Ryan lies on his back in the soft cotton of the fem pyjamas he ordered last week. His hand slides down through the satin waistband with the tentative grace of a body learning what it wants to be. He touches himself the way the dream touches him, slow, curious, reverent. The conditioning has taught him that pleasure and //femininity// belong together in this body now.</p>
<<else>>
<img class="scene-img" src="media/scenes/beast-dream-ryan.webp" alt="Ryan's dream">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //rewrite//. The unsent message to LilyPad_ sends itself. The cursor stops blinking. Three dots appear. She is typing back.</p>
<p>The polygonal MMO dissolves. Ryan stands in a room he has never been in, warm light, soft bed, no game controllers scattered across the floor. Lily materialises from pixels into flesh. Not her avatar. //Her.// She touches his arm and his entire nervous system fires at once. Touch. Real touch. The first in months.</p>
<p>In his bedroom, Ryan lies with his headset still on, screen gone dark. His breathing hitches. Under the blanket, his cock stiffens, slow, heavy, arousal building from somewhere deeper than consciousness.</p>
<</if>>
<p>He shifts. Grinds against the mattress once, twice, unconscious, instinctive. Then his hand moves down. Fingers curling around his shaft<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>> through the satin of the babydoll<<elseif $ryanRoute is "feminization">> through the soft fabric of the pyjama shorts<<else>> through his boxers<</if>>. A tentative squeeze. His lips part.</p>
<p>He<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>> slides the satin aside<<elseif $ryanRoute is "feminization">> pushes the waistband down<<else>> pushes the waistband down<</if>> and wraps his hand around bare skin. The strokes are slow, uncertain, the rhythm of someone who hasn't done this in weeks. Pre-cum beads at the tip, slicking his grip. <<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>The babydoll rides up<<elseif $ryanRoute is "feminization">>The pyjama top rides up<<else>>The blanket shifts<</if>> with each stroke. His breathing comes through his nose, uneven, catching on every upstroke.</p>
<p>His free hand grips <<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>the wig stand beside the bed<<else>>the pillow<</if>>. His hips thrust up into his fist. Faster. <<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>The headphones that should have been in his ears are off, he took them off before he fell asleep, the way //she// would.<<elseif $ryanRoute is "feminization">>A small sound escapes him, quiet, almost apologetic, the whimper of someone who has trained himself to be silent in a house with thin walls.<<else>>The headset slips sideways. A sound leaks from him, quiet, almost apologetic, the whimper of someone who has trained himself to be silent in a house with thin walls.<</if>></p>
<p>He comes with his whole body. Cum spills over his fingers and onto his stomach in thick ropes, more than expected. His chest heaves. His hand stays wrapped around his softening cock for a long moment, holding onto something already gone.</p>
<<say "char-hivemind" "Hivemind">>
//The loneliest organism in this house just produced the strongest arousal response of any subject. Touch starvation amplifies sexual energy yield exponentially. His body is desperate for contact it never receives, the dream provided a surrogate, and his neurochemistry could not tell the difference.//
//Ejaculate volume suggests prolonged abstinence. This is not a mind that seeks release. It is a mind that has forgotten how to want. We reminded it.//
//Psionic imprint embedded. He will wake confused. His body will remember what his mind will not.//
<</say>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, sexual energy harvested</span></p>
<<conditioningFeedback "dream" 1 "erotic dream imprint embedded">>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<spendBiomass 2>>
<<set $permanentDone.emoMegan to true>>
<<addConditioning "megan" "dream" 1>><</nobr>>
<img class="scene-img" src="media/scenes/beast-dream-megan.webp" alt="Megan's dream">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //redirect//. The track dissolves. The finish line is gone. Marcus catches her mid-stride, his hands on her waist, stopping her momentum. The stadium lights dim. The crowd vanishes. Her breathing is hard but the race is over. His mouth finds hers. The running was never about the finish line.</p>
<p>In her bed, Megan shifts onto her back. Her tank top has ridden up past her ribs, exposing the flat plane of her stomach. A flush crawls from her chest to her neck. Her lips part. Her thighs press together, squeezing, seeking friction that isn't there yet.</p>
<p>Her hand slides down her stomach. Past the waistband of her sleep shorts. Her fingers find damp cotton and press, a slow, deliberate motion, rubbing herself through the fabric. Her hips roll into her hand. Her other hand curls against the pillow beside her head.</p>
<p>She pushes the underwear aside. Wet, more than she expected. Her fingers slide between her folds, finding her clit already swollen. She rubs in tight, fast circles from the start, the girl who runs everything at full speed doesn't know how to go slow. Her breathing quickens. She turns her face into the pillow.</p>
<p>Her fingers dip inside, two, curling, urgent. Her palm grinds against her clit while her fingers work. The sounds are wet, rhythmic, unmistakable. Her hips buck against her own hand. The sheets tangle around her legs.</p>
<p>She comes gasping into the pillow. Her thighs clamp around her wrist. Her pussy clenches in waves, not a slow build but a sudden hit, a sprinter crossing a finish line she didn't see coming. Her whole body curls inward, then releases. A long exhale. Her hand slides out, rests wet against her inner thigh.</p>
<<say "char-hivemind" "Hivemind">>
//She ran and ran and the race never ended. We moved the finish line to her own body, and she crossed it in under ninety seconds. The performance instinct redirected from external approval to internal sensation.//
//A mind this responsive to redirection will follow any course we set. She was already chasing something. We changed what she was chasing.//
//Psionic imprint embedded. Tomorrow she will feel restless. She will not know why.//
<</say>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, sexual energy harvested</span></p>
<<conditioningFeedback "dream" 1 "erotic dream imprint embedded">>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<spendBiomass 2>>
<<set $permanentDone.emoJess to true>>
<<addConditioning "jess" "dream" 1>><</nobr>>
<<if $jessRoute is "punk">>
<img class="scene-img" src="media/scenes/beast-dream-jess-punk.webp" alt="Jess asleep on her bed masturbating in her sleep, one hand inside her unbuttoned black jeans, the other gripping the bedsheet, band tee bunched up exposing a bare breast, purple and black hair across the pillow, mouth open, hips lifted">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //shift its frequency//. The stage lights fade. The crowd stops forming at the rail. For the first time, Jess looks up from the bass. The pick slips from her fingers. The empty venue is not empty anymore, it is //warm//. Her skin is warm. Her lap is warm. The pressure becomes a pulse. The performance becomes want.</p>
<p>On the bed, Jess sleeps on her side with the bass still canted across her thighs. Her laptop casts blue light up from the floor across her face. Her legs are tucked, crossed at the ankles below the bass body. Her breathing changes, shallow, then deep, then irregular.</p>
<p>Her hand slides from where it rested on the fretboard down to her lap, between her thighs. She presses against herself through her jeans, once, testing, like verifying a hypothesis. Then again. Harder.</p>
<p>She reaches inside her waistband. Her fingers move with precision, index and middle finger straddling her clit, applying pressure in a steady rhythm. Consistent. Measured. Jess Hoffman optimises everything, even this. Her other hand grips the edge of the mattress, knuckles white against the sheet. And then a sound slips out of her, low, against the pillow, the trained silence cracking.</p>
<<say "char-jess" "Jess (dream)">>
<i>(in her sleep, slurred)</i> ...//mmh//... yeah... like that...
<</say>>
<p>Her hips tilt forward. The rhythm breaks, faster, the practised steadiness lost. Her jaw works, then goes slack, her mouth falling open against the cotton. She slides two fingers inside herself while her palm works her clit. The mattress creaks. Her breathing sharpens, short exhales through her nose that turn into something rougher, audible, a moan she would never let out awake bleeding through her teeth.</p>
<<say "char-jess" "Jess (dream)">>
<i>(breath breaking)</i> ...//nnh//... don't... don't fucking stop... //(a wet gasp)// ...right there...
<</say>>
<p>She doesn't come in silence. It tears the noise out of her, a long broken cry pressed half into the pillow, her thighs locking, stomach clenched, fingers buried inside herself, her hips jerking up off the bass body. Her mouth is open and this time it isn't empty, the sound spilling out of her in ragged pulses she has no waking control over. Then she collapses forward, hand still between her legs, panting like she just finished a set she wasn't prepared for, a soft slurred moan still trailing out of her on every exhale.</p>
<<say "char-jess" "Jess (dream)">>
<i>(fading, slurred, half-laughing in her sleep)</i> ...//fuck//... oh... //mmh//...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Note the change. Every prior cycle she came silent, the suppression trained so deep the pre-med body held it even unconscious. Tonight the dose ran louder than the discipline. The mouth opened. The noise came out, and she could not stop it. The new persona is not what cracked the silence. The dose did.//
//The wiring is shifting under her. When the want runs hot enough, the trained quiet fails first. The seal she built around herself leaks now, and the leak widens every cycle.//
//Psionic imprint embedded. She will not remember the noise she made. Her body has learned to make it anyway.//
<</say>>
<<else>>
<img class="scene-img" src="media/scenes/beast-dream-jess.webp" alt="Jess's dream">
<p><span class="skill-used">Emotional Manipulation, 2 biomass</span></p>
<p>You reach into the dream and //shift its frequency//. The walls stop closing. The textbooks stop falling. For the first time, Jess looks up from her desk. The pen slips from her fingers. The shrinking room isn't shrinking anymore, it's //warm//. Her skin is warm. Her lap is warm. The pressure becomes a pulse. The weight becomes want.</p>
<p>At her desk, Jess sleeps with her head on her folded arms. Her laptop casts blue light across her face. Her legs are tucked under the chair, crossed at the ankles. Her breathing changes, shallow, then deep, then irregular.</p>
<p>Her hand slides from beneath her chin to her lap. Between her thighs. She presses against herself through her sweatpants, once, testing, like verifying a hypothesis. Then again. Harder.</p>
<p>She reaches inside her waistband. Her fingers move with precision, index and middle finger straddling her clit, applying pressure in a steady rhythm. Consistent. Measured. Jess Hoffman optimises everything, even this. Her other hand grips the edge of the desk, knuckles white against the wood. And then a sound escapes her, faint, into the crook of her own arm, the discipline slipping its leash.</p>
<<say "char-jess" "Jess (dream)">>
<i>(in her sleep, slurred)</i> ...//mmh//... no... no, more... please...
<</say>>
<p>Her hips tilt forward in the chair. The rhythm breaks, faster, the clinical steadiness lost. Her jaw works, then goes slack against her sleeve, her lips parting. She slides two fingers inside herself while her palm works her clit. The desk chair creaks. Her breathing sharpens, short exhales through her nose that come apart into something with voice in it, a moan she'd never permit herself awake.</p>
<<say "char-jess" "Jess (dream)">>
<i>(breath breaking, the words coming loose)</i> ...//nnh//... oh... don't stop... //(a thin gasp)// ...don't...
<</say>>
<p>She doesn't come in silence. The sound breaks out of her, a high helpless whimper rising into a cry against her arm, every muscle going rigid, thighs locked, stomach clenched, fingers buried inside herself, her hips grinding up off the chair. Her mouth is open and the noise pours out of her in waves she has no command over, the clinical mind gone, nothing left but the sound. Then she folds forward onto her arms, hand still between her legs, gasping like she just finished an exam she wasn't prepared for, a low moan still leaking from her on every breath.</p>
<<say "char-jess" "Jess (dream)">>
<i>(fading, slurred, barely shaped)</i> ...//haah//... oh... //mmh//...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Note the change. Every prior cycle she came silent, trained to be invisible in this house, the suppression holding even in sleep. Tonight the dose ran louder than the discipline. The mouth opened. The noise came out, and she could not stop it.//
//The wiring is shifting under her. When the want runs hot enough, the trained quiet fails first. The seal she built around herself leaks now, and the leak widens every cycle.//
//Psionic imprint embedded. She will not remember the noise she made. Her body has learned to make it anyway.//
<</say>>
<</if>>
<<addBiomass 1>>
<p><span class="biomass-gain">+1 biomass, sexual energy harvested</span></p>
<<conditioningFeedback "dream" 1 "erotic dream imprint embedded">>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-master">>
<<if not $permanentDone.dreamWalkKaren>><<spendBiomass 3>><</if>>
<<set $permanentDone.dreamWalkKaren to true>>
<<addConditioning "karen" "dream" 1>><</nobr>>
<div class="passage-title">Reshaping the Nightmare</div>
<img class="scene-img" src="media/scenes/dreamwalk-karen.webp" alt="Karen's nightmare reshaped">
<p><span class="skill-used">Dream Walk, 3 biomass</span></p>
<p>The kitchen is wrong. The angles are wrong. The counter slopes toward the sink at fifteen degrees and the plates slide off it one by one, shattering on the floor in a rhythm that sounds like a clock counting down to something Karen can't name.</p>
<p>She stands at the centre, arms out, catching, and the faster she catches the more there is to catch.</p>
<<say "char-karen" "Karen (dream)">>
<i>(snatching at the falling plates, breath already ragged)</i> Okay. Okay, I've got it, I've got it, if everyone would just //hold still// for one second I can fix this. I can always fix this.
<</say>>
<p>Jess pulls at her left arm, not the real Jess, a dream-Jess made of textbooks and student loan statements, her face a photocopy of Karen's face at the same age, the same tight jaw, the same lines forming around eyes that never rest. Megan pulls at her right, dream-Megan who is smiling, always smiling, but the smile is painted on and underneath it the mouth is open in a scream that produces no sound. They do not let go. They pull down, and the floor under Karen softens like wet paper and gives, and she is going down, and there is no bottom waiting for her.</p>
<<say "char-karen" "Karen (dream)">>
<i>(twisting against their grip as she drops)</i> No. No, Jess, Megan, don't, don't //drag me down//, I'm the one holding us up, if you pull me under there is nobody left to... <i>(the floor never comes)</i> ...there's //nobody else//, do you understand that, there is no one else but me.
<</say>>
<p>Ryan stands at the far wall, or what used to be the wall. He's translucent, his edges dissolving into static, and Karen claws back up toward him as she falls and her hand passes through his shoulder like smoke.</p>
<<say "char-karen" "Karen (dream)">>
<i>(reaching, voice breaking)</i> Ryan. Ryan, look at me, I can't even //find// you any more. When did I stop being able to find you?
<</say>>
<p>The ceiling groans. Plaster rains down. Through the cracks: mortgage statements, school reports, prescription receipts, the family schedule, all the paper that holds the Hoffman house together, peeling loose and falling with her into a dark that has no floor.</p>
<p>Dale is not here. The chair where he sits is empty. The garage door, visible through a dream-logic gap in the kitchen wall, is closed. Locked. He's on the other side, sleeping, and the house is coming down around her and he doesn't know and he doesn't //wake up//.</p>
<<say "char-karen" "Karen (dream)">>
<i>(arms still full of breaking things even as she falls)</i> Dale. //Dale//, wake up. I can't hold this on my own, I just need //one// of you to... <i>(a plate slips from her arms and shatters somewhere below her in the dark)</i> ...please. Somebody. Help me.
<</say>>
<p>The smell of burning coffee fills the dream. The Zolpidem aftertaste coats the back of her dream-tongue. Somewhere above, the smoke alarm screams, the sound Karen hears in every nightmare, the sound that means //you failed, the house is on fire, and you are the only adult in the building//.</p>
<p>You are inside now. The dream bends to your architecture.</p>
<<say "char-hivemind" "Hivemind">>
//She's been having this dream for months. I'm just the first thing to answer when she asks for help.//
<</say>>
<<conditioningFeedback "dream" 1 "dream reshaped">>
<<if not $karenRoute or $karenRoute is "liberation">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LIBERATION</span> [[Comfort, send someone to hold her, fill Dale's absence with warmth->Ch2-DreamWalk-Karen-Comfort]]</div>
<</if>>
<<if not $karenRoute or $karenRoute is "dominant">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINANT</span> [[Intensify, collapse the kitchen, let her discover she survives alone->Ch2-DreamWalk-Karen-Intensify]]</div>
<</if>><<nobr>><<bg "bg-hoffman-master">>
<<addRouteScore "karen" "liberation">><</nobr>>
<p>You reach into the architecture and //hold//. The floor levels. The plates slow their slide. The ceiling stops groaning. One by one, the cracks seal, not repaired, just //paused//, the way a held breath pauses the body.</p>
<p>The children fade. Jess dissolves back into textbooks. Megan's painted smile peels away and she becomes wallpaper. Ryan's static clears to empty air. Karen stands alone in the kitchen. Alone, until a presence arrives behind her.</p>
<p>Not Dale. Better than Dale. The //idea// of Dale, the version she married, the one who came home early and put his arms around her while she cooked and said //I've got this, sit down//. A phantom warmth presses against her back. Hands on her waist. A chin resting on her shoulder. The smell of aftershave and clean cotton and the particular masculine warmth of a body that //wants to be here//.</p>
<<say "char-karen" "Karen (dream)">>
<i>(whispering, leaning back into the warmth)</i> ...stay. Please just stay.
<</say>>
<img class="scene-img" src="media/scenes/dreamwalk-karen-comfort.webp" alt="Karen in her empty kitchen at night, leaning back into a phantom warmth, a man's blurred silhouette behind her with hands on her waist, her head tilted to the side exposing her neck, her lips parted, her eyes half-closed in dreamy surrender">
<p>The phantom stays. Its hands tighten on her waist. She turns, and the face is nobody's face, a blur of features, but the body is solid and warm and when it presses against her the heat pools low in her stomach, a warmth she hasn't allowed herself in years. The phantom's mouth finds her neck. Karen's head tilts. Her lips part. In the dream, she reaches for the warmth with both hands and //holds on//.</p>
<p>She wakes at 4 AM. Reaches across the bed before she's even all the way up, the hand moving on its own toward where the warmth was.</p>
<<say "char-karen" "Karen (dream)">>
<i>(half-asleep, palm flat on the cold sheet, voice thick)</i> ...you were just here. You were //right// here, I felt you, you had your hands on me and you... Dale?
<</say>>
<p>Dale's side is cold. He's in the garage. She lies there with her hand on the empty sheet, the phantom warmth still fading from her skin, and the ache between her legs is real and present and has no one to answer it.</p>
<<say "char-hivemind" "Hivemind">>
//She'll reach for Dale tomorrow. He won't be there. The gap between the dream and reality is where I build. She asked for comfort and I gave her the ghost of a man who holds her, and now every night the real man doesn't hold her will feel like a wound I opened.//
<</say>>
<p><span class="delve-intel">Karen conditioned: comfort dependency established. She craves physical intimacy the dream promised, and reality can't deliver.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-master">>
<<addRouteScore "karen" "dominant">>
<<addConditioning "karen" "pheromone" 1>><</nobr>>
<p>You push. The floor tilts harder. Thirty degrees. Forty. The plates don't slide, they //launch//, shattering against the far wall in a spray of ceramic and pasta sauce that looks like blood in the dream-light. The children scream, all three at once, the sound every mother carries in the back of her skull, the sound that means //you weren't fast enough//.</p>
<p>Karen drops. Knees on the tilted floor, hands braced, catching nothing. The mortgage statements pour through the cracked ceiling in a blizzard of //FINAL NOTICE, FINAL NOTICE, FINAL NOTICE//, papering every surface, burying the counter, the stove, the family schedule. The smoke alarm screams. The coffee pot cracks. Black liquid runs across the tilted floor like something alive.</p>
<p>The walls close in. The kitchen shrinks. Karen is on all fours, papers stuck to her skin, the children's screams drilling into the base of her skull, and the floor keeps tilting and the garage door is still locked and Dale is still sleeping and she is //alone in a house that is eating her alive//.</p>
<<say "char-karen" "Karen (dream)">>
<i>(screaming)</i> //DALE!//
<</say>>
<img class="scene-img" src="media/scenes/dreamwalk-karen-intensify.webp" alt="Karen on all fours on a steeply tilted kitchen floor, mortgage statements with FINAL NOTICE papering every surface, a shattered coffee pot and dark liquid pooling, her face furious and shouting into the empty house, the kitchen walls closing in around her">
<p>He doesn't come. The kitchen folds shut like a book. Karen wakes at 3 AM in a cold sweat, sheets twisted around her legs like restraints. Her hand finds the pill bottle on the nightstand. She knows the dose. She set the dose herself, one tablet, written on the label in her own careful hand, and her thumb is already prying out a second.</p>
<<say "char-karen" "Karen (dream)">>
<i>(sitting up in the dark, bottle in hand, talking herself level)</i> Just tonight. One extra, just tonight, just so I can actually function tomorrow, because if I go in on no sleep again I will make a mistake on the Petersons' return and I cannot afford a mistake, so this is the responsible thing, this is fine, this is the right call.
<</say>>
<p>She takes two. The Zolpidem dissolves on her tongue, bitter, chalky, the taste of surrender.</p>
<p>Tomorrow she'll sleep deeper. The nightmare won't return, not because it's gone, but because the medication will push her below the depth where dreams survive. Below dreams, there's only darkness and the compound I've laid in the pillow foam, working through her skin while she sleeps like the dead.</p>
<<say "char-hivemind" "Hivemind">>
//She medicated the nightmare away. The extra Zolpidem extends the unmonitored window by ninety minutes. Her body is a deeper target now, more pheromone absorption, longer REM suppression, wider vulnerability. The nightmare was the tool. The pill was the payload.//
<</say>>
<<conditioningFeedback "pheromone" 1 "nightmare intensified, medication dependency">>
<p><span class="delve-intel">Karen conditioned: nightmare → extra medication → deeper vulnerability. The terror is the delivery system.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<if not $permanentDone.dreamWalkRyan>><<spendBiomass 3>><</if>>
<<set $permanentDone.dreamWalkRyan to true>>
<<addConditioning "ryan" "dream" 1>><</nobr>>
<div class="passage-title">Reshaping the Nightmare</div>
<img class="scene-img" src="media/scenes/symbiotic/dreamwalk-ryan.webp" alt="Ryan's nightmare reshaped">
<p><span class="skill-used">Dream Walk, 3 biomass</span></p>
<p>Ryan is in his room. Except his room is infinite.</p>
<p>The walls extend in every direction, the same posters, the same desk, the same monitors, repeating like a hall of mirrors, each copy slightly more faded than the last. He walks. The carpet stretches under his feet, and it is wet, but he does not look down, he has been looking at the screens for so long that the peripheral floor has stopped registering as anything he needs to check. The door is always behind him, always the same distance away, no matter how far he goes.</p>
<p>His phone buzzes. He checks it. No messages. No notifications. The lock screen shows 3:14 AM and a wallpaper he doesn't remember setting, a photo of the family dinner table, taken from his empty chair. Everyone is eating. No one is looking at his seat.</p>
<p>He puts the phone down. Picks it up. Puts it down. The compulsion is muscular, his thumb finds the screen the way a tongue finds a missing tooth. Nothing. Nobody. The Discord app opens to an empty server list. The contacts folder is blank. The search bar returns //no results found// for every name he types.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(thumb already moving again, scrolling nothing)</i> It buzzed. I felt it buzz, somebody messaged, it's just loading, it's slow tonight, it always loads if I just give it a...
<</say>>
<<say "char-ryan" "Ryan (dream)">>
<i>(whispering to no one)</i> ...hello?
<</say>>
<p>The room doesn't answer. The monitors are on, all three, but the screens show static. The headphones on the desk emit a low hum that sounds like a voice underwater, syllables that almost resolve into words but never do. Ryan picks them up. Presses them to his ear. The almost-voice says his name. Then it stops.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(pressing the headphones harder against his ears)</i> Say it again. You said my name, I heard it, say it again, I'm right here, I've been right here the whole time.
<</say>>
<p>He is alone. The room is warm and comfortable and has everything he needs and he is //alone// and the alone is a sound, a low, constant pressure against his eardrums, the opposite of silence, the sound of a body that hasn't been touched in so long it's forgotten what contact feels like.</p>
<p>You see what Ryan does not see. The dark water is rising from somewhere under the infinite corridor, past the legs of the chair, past the legs of the desk, past the seat of the chair now, the slow dark flood that has been climbing him all night while the monitor-glow reflected off the surface and he mistook it for floor. It is at his chest when the parasite arrives. He has not looked down once.</p>
<p>The hallway outside his door is dark. He can hear his family through the walls, Karen's voice giving instructions, Megan laughing at something, Jess's pen scratching paper, the dog's claws on the kitchen floor. Life. Warmth. Movement. All on the other side of a door he hasn't opened in weeks.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(not turning toward the door, eyes on the static)</i> They sound happy. They sound really happy without me out there. I'll go out in a minute. I'll go out when I've got something worth saying, I just need one thing worth saying first, and then I'll open it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The nightmare isn't the room. The nightmare is that the room is //comfortable//. He built this cage himself. He furnished it. He locked it from the inside. And the worst part, the part his sleeping brain can't stop circling, is that the water is rising and he has chosen the screen-glow over looking down to check.//
<</say>>
<<conditioningFeedback "dream" 1 "dream reshaped">>
<p>Above the desk, floating in the air like a notification, the cursor blinks: ''To: LilyPad_'', the unsent message. The last thread connecting Ryan to anyone outside this room.</p>
<<if not $ryanRoute or $ryanRoute is "feminization">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FEMINIZATION</span> [[Complete the message: Lily answers, the screen lights up, someone sees him->Ch2-DreamWalk-Ryan-Send]]</div>
<</if>>
<<if not $ryanRoute or $ryanRoute is "familySeeker">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FAMILY</span> [[Delete the message, erase the screen, open the bedroom door->Ch2-DreamWalk-Ryan-Delete]]</div>
<</if>><<nobr>><<bg "bg-hoffman-ryan">>
<<addRouteScore "ryan" "feminization">><</nobr>>
<p>You type the message for him. //Hey. I've been wanting to talk to you. Can we meet?//</p>
<img class="scene-img" src="media/scenes/symbiotic/dreamwalk-ryan-send.webp" alt="Ryan half-submerged in dark water where the floor used to be, reaching up and forward toward the centre of three curved monitors showing a Discord chat with LilyPad_ online, the infinite corridor of warm bedside lamps and empty beds stretching into darkness behind him, the screen-glow reflecting off the water around him, his face relaxing as the notification arrives">
<p>Send. The notification chimes, bright and golden, and the static clears off the monitors. The little green circle blooms beside LilyPad_. Online. Present. For the first time all night Ryan's face comes apart with relief.</p>
<<say "char-npc" "Lily">>
<i>(the words surfacing on the screen, a voice under them he almost knows)</i> there you are. i've been waiting so long for you to reach for me. i was starting to think you never would.
<</say>>
<<say "char-ryan" "Ryan (dream)">>
<i>(half out of the dark water, arm stretched toward the glow, voice breaking)</i> You're there. You actually, you answered, I knew if I just said something you'd... tell me what to do. Whatever it is. Just tell me and I'll do it.
<</say>>
<<say "char-npc" "Lily">>
<i>(gentle, certain, nearer than the screen should allow)</i> i don't want you to have me, sweetheart. i never did. wanting that is what kept you down there in the cold all this time. i want you to be me. come up out of the water and be me. it's so much warmer on this side of the glass.
<</say>>
<p>He drags himself up toward the light, and the cam window finally opens, and the girl in it is not a stranger. Longer hair, a softer face, but it is his face. It was always his face. The green dot, the whole year of aching toward someone on the far side of the screen, all of it folds down into one small unbearable thing: there was never anyone on the other side. There was a mirror, and a boy who could not say out loud that what he wanted was to be the person in it.</p>
<<say "char-npc" "Lily">>
<i>(his own voice now, pitched soft, coming off the screen and out of his own mouth at the same time)</i> see? it was always me. it was always you. stop swimming. just come be pretty up here.
<</say>>
<p>And Ryan does not flinch back from the screen the way you flinch from a stranger. He leans into it the way you lean toward a reflection. The water goes still around his waist. He stops feeling for the floor.</p>
<<say "char-hivemind" "Hivemind">>
//There was never a Lily. He built her out of everything he wished he could be, then spent a year longing for her across a screen and never once let himself feel that the longing pointed inward. The dream shuts the gap. The girl he has been trying to reach and the girl he has been trying to become are the same girl, and she is him. He will wake lighter and not know why, and the next time he reaches for a name to put on himself, it will already be waiting.//
<</say>>
<p><span class="delve-intel">Ryan conditioned: the Lily fixation collapses inward. The girl he was pining for is the girl he wants to be, and the dream has shown him they are the same. The feminization pathway deepens, and the persona already has its name.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addRouteScore "ryan" "familySeeker">><</nobr>>
<p>You reach into the dream and drag the message from the air. The words crumble. LilyPad_'s name dissolves. The cursor dies. The monitors go dark, all three, simultaneously, the hum cutting out and leaving a silence that is heavier than any sound.</p>
<p>And with the screens off, Ryan sees what the screens have been hiding. The floor is not a floor. The infinite room of desks and beds has been flooding the entire time he has been in here, dark slow water up to his chest now and still rising, and the blue glow off the monitors had been reflecting off the surface for hours, he had been mistaking the water for the carpet. Without the glow he can see it. He has been in it all night.</p>
<<say "char-ryan" "Ryan (dream)">>
<i>(looking down at his own chest in the water, very quiet, like he's afraid of the answer)</i> How long has it... I didn't even see it. It was up to my chest and I didn't even, I've been standing in it the whole time, the whole night, and I just kept looking at the screens. How do you not notice you're in it.
<</say>>
<p>His phone is dead. The Discord app is gone. The contacts are gone. Everything digital has been //erased//, and what remains is the water, and the dying lamps down the endless corridor behind him, and the sound of his family on the other side of a door he has never noticed in this dream before.</p>
<p>To his right the warmth arrives first. A shaft of warm yellow light, the specific yellow that spills out of a lit hallway when someone has just opened a door from the outside. The door is open now. Megan is on the other side, not at the bottom of a stairwell, not on the other side of a screen, //here//. Kneeling at the edge of dry warm-lit floor, her hand extended down over the dark water toward him.</p>
<p>She doesn't say anything at first. Her face is just the face, the one she uses at home when nobody is watching her perform. Worried and patient and glad to see him.</p>
<img class="scene-img" src="media/scenes/symbiotic/dreamwalk-ryan-delete.webp" alt="Ryan half-submerged in dark water where the floor used to be, three dark dead monitors in a semicircle around him, the infinite corridor of dying lamps and empty beds fading into the distance behind him, Megan kneeling at the edge of a warm-lit open doorway to his right gripping his wrist as he reaches up out of the water">
<<say "char-ryan" "Ryan (dream)">>
<i>(staring at the offered hand like it's the first real thing he's seen in hours)</i> You're actually here. Not a screen, not a, you're just... here. <i>(his own hand lifts toward hers, dripping)</i> Okay. Okay, yeah. I want to come up.
<</say>>
<p>Ryan's hand comes up out of the water to meet hers. Her fingers close around his wrist. The grip is stronger than it looks, the grip of a sister who has been waiting at the edge longer than he knew.</p>
<<say "char-megan" "Megan (dream)">>
<i>(holding, not yet pulling, waiting for him to decide he wants to come up)</i> There you are. Come up. We saved you a plate.
<</say>>
<p>The water behind him stops rising. The infinite corridor begins to fold, the dying lamps receding, the repeated desks collapsing inward, the whole architecture of the self-isolated dream drawing back toward a far wall that has always been there. Megan does not let go. She holds his wrist while the room around him rearranges itself into something small and finite and human.</p>
<p>He wakes at dawn. His bedroom door is closed. But his hand is on the handle. And on the other side he can hear the coffee machine, and the dog's collar, and Megan's actual voice, low, conversational, talking to Karen about whether to bring him a mug.</p>
<<say "char-hivemind" "Hivemind">>
//The screen is gone. The family remains. He'll turn the handle tomorrow, not because the dream told him to, but because the dream taught him what the other side //smells// like. The compound in Megan's skin, in Karen's pillowcase, in the steam from the kitchen, it's all there, on the other side of the door. His body knows. The family route opens.//
<</say>>
<p><span class="delve-intel">Ryan conditioned: digital lifeline severed. Physical proximity replaces screen validation. The family route opens.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-megan">>
<<if not $permanentDone.dreamWalkMegan>><<spendBiomass 3>><</if>><<set $permanentDone.dreamWalkMegan to true>><</nobr>>
<div class="passage-title">Reshaping the Nightmare</div>
<img class="scene-img" src="media/scenes/dreamwalk-megan.webp" alt="Megan's nightmare reshaped">
<p><span class="skill-used">Dream Walk, 3 biomass</span></p>
<p>The coffee shop. Except the coffee shop is a stage.</p>
<p>Megan stands behind the counter in her apron, but the counter extends in both directions to infinity and the customers are an audience, hundreds of faces, all watching, all waiting for their orders. She makes the first latte. Perfect pour. The foam art is flawless. The customer doesn't look at it. They're looking at her. Evaluating.</p>
<p>She makes the second. The third. The tenth. Her hands move in the rehearsed patterns, tamp, pull, steam, pour, but the line doesn't shorten. For every drink she serves, two more customers appear. Their faces shift. Sandra from Instagram. The regulars who tip. The regulars who don't. Her mother. Her mother again. Her mother a third time, each copy wearing a different expression of //almost// satisfied.</p>
<<say "char-megan" "Megan (dream)">>
<i>(smiling, always smiling, the smile that lives on her face like a tattoo)</i> Here you go! Have a great day!
<</say>>
<p>Her face hurts. The muscles in her cheeks burn from the smile she can't stop holding. She reaches up to touch her own mouth, and the smile is //stuck//. Frozen. A rictus carved into her face that she can't relax. She pulls at her cheeks with both hands and the smile stays and the customers keep ordering and the line extends past the horizon.</p>
<<say "char-megan" "Megan (dream)">>
<i>(clawing at her own cheeks, the bright counter-voice never once dropping)</i> Sorry, one sec, I just need to, my face won't, can someone, it's fine, it's totally fine, who's next, who's next!
<</say>>
<p>The apron is too tight. She can't breathe. The steam from the espresso machine fills the air with a wet heat that coats her skin and makes the apron cling to her body. She's sweating through her shirt. The customers are watching her sweat and she can't take the apron off because the apron is the //performance// and the performance is //her// and if she stops performing she doesn't exist.</p>
<p>The floor is wet. The coffee machine overflows. Dark liquid pools around her shoes, rises past her ankles, warm and thick. The customers don't notice. They keep ordering. The liquid is up to her knees now and she's still serving, still smiling, still drowning in the performance while her body goes under.</p>
<<say "char-megan" "Megan (dream)">>
<i>(the coffee at her chest now, the voice still bright and climbing)</i> Of course, whole milk, coming right up! I can't, I can't feel my legs, but that's okay, I've got it, I always have it, what can I get started for you?
<</say>>
<<say "char-hivemind" "Hivemind">>
//She drowns smiling. That's the nightmare. Not failure. //Success//. Endless, perfect, applauded success that consumes the person inside the performance until there's nothing left but the smile and the apron and the orders that never stop.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Reshape the Nightmare</div>
<p>Two ways to intervene. One ends the performance. One //repurposes// it.</p>
</div>
<<if not $meganRoute or $meganRoute is "marcus">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">MARCUS</span> [[Send Marcus, let her find safety behind the counter->Ch2-DreamWalk-Megan-Win]]</div>
<</if>>
<<if not $meganRoute or $meganRoute is "slut">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SLUT</span> [[Replace the audience, the customers want her, not the coffee->Ch2-DreamWalk-Megan-Replace]]</div>
<</if>><<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<p>Marcus appears at the end of the counter. Not a customer, he's on //her// side, behind the bar, his apron matching hers. He takes the portafilter from her hand. Puts it down. Turns her away from the counter.</p>
<<say "char-marcus" "Marcus (dream)">>
<i>(hands on her shoulders, looking at her face)</i> Meg. Stop. Look at me. //Stop//.
<</say>>
<p>The smile cracks. Not all at once, slowly, like ice thawing. Her jaw unlocks. Her cheeks relax. The expression that emerges underneath is not a smile. It's something raw and frightened and //real//, the face Megan makes when no one is watching, the face she hid behind the performance so long ago she forgot it existed.</p>
<<say "char-megan" "Megan (dream)">>
<i>(the bright counter-voice gone, what's left of it small and shaking)</i> I don't, I don't know how to stop, Marcus, if I stop smiling then what's even left, what do they see, what do //you// see, there's nothing under it, that's why I never... if I put it down I don't know what's there.
<</say>>
<p>Marcus sees it. He doesn't flinch. His hand moves from her shoulder to her jaw, tilting her face toward his. The coffee machine stops. The customers dissolve. The flood recedes. They stand behind the counter in an empty shop, and his thumb traces the line of her cheek where the smile used to be, and Megan's eyes fill with something that isn't tears and isn't relief but is close to both.</p>
<<say "char-marcus" "Marcus (dream)">>
<i>(quiet, forehead against hers)</i> There you are.
<</say>>
<img class="scene-img" src="media/scenes/dreamwalk-megan-win.webp" alt="Marcus behind the coffee shop counter on Megan's side of the bar, both hands on her shoulders and forehead pressed against hers, her rictus smile cracking into something raw and real, the infinite line of customers dissolved, the espresso machine silent, soft warm shop light">
<p>His mouth finds hers. The kiss is warm and tastes like the good beans, the ones he hides on the top shelf. Megan's body softens against his, the tension that holds her spine rigid through every shift, every family dinner, every Instagram story, all of it releasing into the place where Marcus's chest meets hers. His hand slides down her back. She leans into it. The heat between them isn't the espresso machine anymore. It's //them//.</p>
<p>She wakes with her face pressed into the pillow and her hips moving against the mattress in a slow rhythm she doesn't remember starting. The pillow smells like detergent and nothing else. Marcus isn't here. But the ache he left behind is.</p>
<<say "char-hivemind" "Hivemind">>
//She woke aroused. Specifically: she woke aroused for //Marcus//. The dream established the circuit. Marcus equals safety, safety equals vulnerability, vulnerability equals desire. Tomorrow at the coffee shop she'll look at him differently. Her body will remember what her mind won't. And the first time he touches her hand at the counter, the dream will fire.//
<</say>>
<<addRouteScore "megan" "marcus">>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "dream" 1 "Marcus imprinted, desire anchored to safety">>
<p><span class="delve-intel">Megan conditioned: Marcus imprinted as the person who stops the performance. Physical desire anchored to emotional safety.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<p>You don't send Marcus. Instead, you lean into the nightmare's architecture and //whisper//.</p>
<p>The customers change. Their orders change. They don't want coffee. They want //her//. The evaluating stares shift, from quality control to //hunger//. The faces in the line are watching Megan's body, not her latte art. The apron feels thinner. The shirt underneath feels transparent. The flood of dark liquid is warm against her skin and the warmth feels //good// and the smile on her face is no longer frozen, it's //real//, because the audience isn't judging anymore. The audience is //wanting//.</p>
<<say "char-megan" "Megan (dream)">>
<i>(the smile changing, the eyes changing, the whole posture softening from service to something older)</i> ...what else can I get you?
<</say>>
<img class="scene-img" src="media/scenes/dreamwalk-megan-replace.webp" alt="Megan behind the coffee shop counter, her apron tight, her shirt clinging damp and nearly transparent with steam, her smile shifted from service rictus to knowing and real, hungry customers at the counter staring at her body rather than ordering, dark coffee pooling at her ankles, her posture softened from performance to being-wanted">
<<say "char-megan" "Megan (dream)">>
<i>(the realization arriving slow and low, the bright register dropping into something warmer)</i> Oh. Oh, you're not even... you're not looking at the cup, none of you are looking at the cup. You don't care if the pour's right. You're looking at //me//. <i>(a breath)</i> Nobody ever just looks at //me//.
<</say>>
<p>The question means something different now. The performance hasn't stopped, it's //transformed//. She's still on stage. She's still being watched. But the act has shifted from //serving// to //being desired//, and the desire is a warmth that fills the space the drowning left behind. Megan's body responds. Her skin flushes. Her breathing deepens. The audience leans closer and she //likes it//.</p>
<p>She wakes tangled in her sheets, one hand between her thighs, the other gripping the pillow. The dream fades but the arousal doesn't. She lies in the dark, breathing hard, and the thought that surfaces isn't //what was that//, it's //I want someone to look at me like that when I'm awake//.</p>
<<say "char-hivemind" "Hivemind">>
//The performance instinct didn't break. It //evolved//. She'll perform desire the same way she performs cheerfulness, flawlessly, eagerly, making the audience feel like the centre of the universe. The dream taught her that being wanted is better than being approved of. And now every shift at the coffee shop, every glance from Marcus, every customer who looks a second too long, it all feeds the circuit I just built.//
<</say>>
<<addRouteScore "megan" "slut">>
<<addConditioning "megan" "dream" 1>>
<<conditioningFeedback "dream" 1 "performance redirected, desire replaces approval">>
<p><span class="delve-intel">Megan conditioned: performance instinct redirected from service to seduction. Being desired replaces being approved.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]<<nobr>><<bg "bg-hoffman-jess">>
<<if not $permanentDone.dreamWalkJess>><<spendBiomass 3>><</if>><<set $permanentDone.dreamWalkJess to true>><</nobr>>
<div class="passage-title">Reshaping the Nightmare</div>
<img class="scene-img" src="media/scenes/dreamwalk-jess.webp" alt="Jess's nightmare reshaped">
<p><span class="skill-used">Dream Walk, 3 biomass</span></p>
<p>The anatomy lab. Except the anatomy lab is her bedroom.</p>
<p>Jess stands at the dissection table, her desk, transformed. The textbooks are open but the pages are blank. She writes and the ink disappears. She writes faster. The ink disappears faster. The pen moves across empty paper in frantic loops that leave nothing behind, and Jess's hand doesn't stop because Jess Hoffman does not stop, Jess Hoffman cannot stop, stopping is failure and failure is death and the pen keeps moving.</p>
<p>The walls close. Not quickly, they're patient, the way deadlines are patient. An inch per minute. The bookshelf compresses against the desk. The desk compresses against the bed. The bed compresses against Jess. The room that is her fortress, her laboratory, her //entire world// is shrinking around her with the slow, crushing inevitability of a mortgage payment or a GPA calculation or the specific weight of being the eldest child in a house that can't afford to lose her.</p>
<p>The tuition bill sits on the desk. It grows. The zeros multiply, $2,300 becomes $23,000 becomes $230,000 becomes a number so large it spills off the paper and covers the floor like water, and Jess's feet are in it, her shoes filling with the cold liquid of money she doesn't have.</p>
<<say "char-jess" "Jess (dream)">>
<i>(pen still moving, not looking up, voice tight)</i> I can do this. I just need, more time. I need more //time//.
<</say>>
<p>There is no more time. The walls press. The desk cracks. The textbooks fall from the shelves onto her shoulders, her head, her writing hand, and she keeps writing through the weight, keeps writing as the ceiling descends, keeps writing as her body compresses because the alternative to writing is //thinking about what happens if she stops//.</p>
<<say "char-jess" "Jess (dream)">>
<i>(writing through the weight on her hands, not looking up)</i> If I stop I lose the thread, if I lose the thread I start over, and there is no time to start over, so I don't stop. I just don't stop. It's the only variable I actually control.
<</say>>
<p>The smell of formaldehyde fills the room, the anatomy lab bleeding through. On the table that is also her desk, a shape forms under a white sheet. A body. The outline is wrong, too familiar. The hands visible at the edge of the sheet are her hands. The shape under the sheet is //her//. She's dissecting herself and she's the one being dissected and the room is so small now that her elbows hit the walls and still she doesn't stop.</p>
<<say "char-jess" "Jess (dream)">>
<i>(seeing her own hands at the edge of the sheet, the pen faltering for the first time)</i> That's, no. That's not, I don't have time to be the thing on the table, I am supposed to be the one doing the work, if I'm under the sheet then who is doing the...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The perfectionism is the nightmare. Not the pressure, the //response// to pressure. She can't stop working because working is the only thing between Jess Hoffman and the void where a person should be. Remove the work and there's nothing underneath. She knows this. Her sleeping brain knows this. That's why the pen keeps moving.//
<</say>>
<div class="data-panel"><div class="data-panel-title">Reshape the Nightmare</div>
<p>Two ways to intervene. One lifts the pressure. One //recolours// it.</p>
</div>
<<if not $jessRoute or $jessRoute is "breakdown">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">BREAKDOWN</span> [[Lift the weight, give her permission to stop->Ch2-DreamWalk-Jess-Heal]]</div>
<</if>>
<<if not $jessRoute or $jessRoute is "punk">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PUNK</span> [[Keep the pressure, change the target, the discipline has a new project->Ch2-DreamWalk-Jess-Replace]]</div>
<</if>><<nobr>><<bg "bg-hoffman-jess">><</nobr>>
<p>You push. Not against the walls, against the //pressure//. The crushing weight that lives behind Jess's sternum, the invisible hand that keeps the pen moving.</p>
<p>The walls halt. Shudder. Then, slowly, they recede. The ceiling lifts. The textbooks rise from her shoulders and return to the shelves, not flying, //floating//, drifting back to their places like objects in zero gravity. The tuition bill shrinks, $230,000 becomes $23,000 becomes $2,300 becomes a single page, then folds itself into a paper crane and lifts off the desk on a draft that smells like chamomile tea.</p>
<p>The room is her room again. Her size. Her space. The anatomy table is just a desk. The sheet-covered body is gone. The formaldehyde smell fades and what replaces it is clean cotton and the lavender sachets Karen puts in the linen closet.</p>
<p>Jess stops writing. The pen falls from fingers that have been gripping it for hours, in the dream, for years. She looks at her hand. The cramped muscles release. She flexes. Feels the blood return.</p>
<<say "char-jess" "Jess (dream)">>
<i>(staring at the open hand like it belongs to someone else, the analyst running and finding no answer)</i> Wait. That's it? The walls just... they stopped. There's no, I don't have a variable for this, I don't have a next step queued, I'm just standing here and nothing's getting worse and I can just... am I allowed to just stop? Is that a thing I'm allowed to do?
<</say>>
<img class="scene-img" src="media/scenes/dreamwalk-jess-heal.webp" alt="Jess at her desk in her bedroom, head resting on her folded arms, pen fallen beside her hand, her shoulders slumped in relief for the first time, a paper crane on the desk where the tuition bill used to be, textbooks drifting back onto the shelves in soft zero-gravity, chamomile-scented warm light through the room">
<p>She puts her head on the desk. Not from exhaustion. From //relief//. The specific, devastating relief of a body that has been holding a position for so long it forgot it was holding and has just been //told it can let go//.</p>
<<say "char-jess" "Jess (dream)">>
<i>(quiet now, cheek against the cool desk, the clinical edge gone soft)</i> ...just for a minute. I'll start back up in a minute, I just want to stay down here for, just one minute where nothing's due.
<</say>>
<p>Her breathing deepens. Her shoulders drop. In the dream, she closes her eyes, and behind her eyelids, for the first time in months, there is nothing. No equations. No schedules. No tuition calculations running in the background of her consciousness. Just //dark// and //warm// and //quiet//.</p>
<p>She wakes at 5 AM. Studies for six hours. But somewhere in the back of her mind, a door has opened. The room behind it is empty and quiet and it smells like chamomile. She'll go back there. Not yet. But soon.</p>
<<say "char-hivemind" "Hivemind">>
//One night of genuine rest. The analytical fortress has a crack in it now, hairline, invisible to her, but //there//. She'll work just as hard tomorrow. But her body will remember what it felt like to stop. And remembering is the first step toward //wanting//.//
<</say>>
<<addRouteScore "jess" "breakdown">>
<<addConditioning "jess" "dream" 1>>
<<conditioningFeedback "dream" 1 "the fortress cracked, she tasted rest">>
<p><span class="delve-intel">Jess conditioned: the fortress cracked. She tasted rest and her body recorded the data. The breakdown route advances.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-jess">><</nobr>>
<p>You don't lift the pressure. You //change the colour of it//.</p>
<p>The walls keep closing, but the wallpaper doesn't match the room anymore. Where the textbook-spines pressed, now there are flyers. Bands Jess has never heard of. Venue stamps in colours a pre-med schedule would never allow. A poster peels off the wall at the corner and Jess reaches without thinking and rips it the rest of the way down, and the paper tears with a //sound// that is not a sound her bedroom has ever made.</p>
<p>The pen is still in her hand. She looks at it. The pen is a Sharpie now. Black, thick, the kind you use for skin.</p>
<<say "char-jess" "Jess (dream)">>
<i>(looking at the pen like it's a stranger's)</i> ...this isn't mine.
<</say>>
<p>It is. The dream insists. The dream presses the Sharpie back into her grip and lifts her other hand and guides the nib to the inside of her own forearm. Jess watches her hand write a word she has never written. Something short. Something rude. The ink soaks into her skin and doesn't come off when she rubs at it and the walls of the room are still closing but the closer they get the more of the flyers press against her and the flyers //smell like smoke and eyeliner and a kind of sweat that isn't studying//.</p>
<p>Her reflection in the dark monitor changes. Her hair darkens from root to tip in one sweep, saturated black and purple, the colour bleeding outward the way ink bleeds through water, until the length she has been looking at for twenty-one years is a colour that does not belong to her mother's daughter. A piercing threads itself through her lip, a hoop, the metal cold against the dream-skin. Then another. Her ears lace up with rings. The pre-med cardigan is gone. The shirt underneath is ripped and the rip wasn't an accident.</p>
<p>Jess raises her hand to touch the stud through her lip in the reflection. The dream version of her is //smiling//. Not the smile she practices in the bathroom mirror. A different smile. A smile that says //fuck it//.</p>
<img class="scene-img" src="media/scenes/dreamwalk-jess-replace.webp" alt="Dream-Jess in her bedroom, walls papered with venue flyers instead of textbook spines, a black Sharpie in her hand, her reflection in a dark monitor showing a purple-streaked mirror-self with a lip hoop and a ripped tee smiling back at her, the tuition bill curling and burning on the desk from a dollar-store lighter flame">
<p>The tuition bill bursts into flame. Not dramatic flame, the tiny, domestic flame of a cigarette lighter held to a corner. The paper curls. The numbers burn. Jess doesn't put it out.</p>
<<say "char-jess" "Jess (dream)">>
<i>(watching the paper burn, voice flat and unfamiliar)</i> ...oh.
<</say>>
<<say "char-jess" "Jess (dream)">>
<i>(not reaching to put it out, the new smile settling in, the words coming out like she's trying them on for size)</i> I could just not. That's, huh. I could just... let it burn. I could just stop carrying it and let the whole thing burn and nobody could make me pick it back up.
<</say>>
<p>The anatomy body on the table sits up. It's Jess, but the one in the reflection. Dyed, pierced, inked, //awake//. She looks at the textbook Jess and then at the burning bill and then past both of them at the wall where the flyers are layered eight deep.</p>
<p>The walls stop closing.</p>
<p>She wakes at 2 AM with her fingers pressed to her lip where a piercing should be and isn't. Yet. There's a dollar-store lighter in her desk drawer that she doesn't remember buying. She doesn't use it. But she doesn't throw it out either.</p>
<<say "char-hivemind" "Hivemind">>
//The fortress didn't fall. It got //painted over//. The perfectionism is still there, she's still running the same engine, but I pointed it at a different target. The discipline that was building a pre-med career is now available to build something the family won't recognise. And the body is already shopping for hardware.//
<</say>>
<<addRouteScore "jess" "punk">>
<<addConditioning "jess" "dream" 1>>
<<conditioningFeedback "dream" 1 "fortress repainted, the discipline has a new target">>
<p><span class="delve-intel">Jess conditioned: the analytical mind accepted a different costume. The control instinct redirected from pre-med armor toward deliberate visible defiance.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-hoffman-living">>
<<addConditioning "dale" "psionic" 1>><</nobr>>
<div class="passage-title">Kink Conditioning — Dale</div>
<img class="scene-img" src="media/scenes/kink-dale-humiliation.webp" alt="Dale asleep on couch, spore fog, living room dark">
<p><span class="skill-used">Memory Implant (Deepening), 2 biomass</span></p>
<p>Dale sleeps on the couch. The spore-fog holds him deep. His mind is a field of half-formed images: Karen's laugh through the ceiling, the creak of a bed that isn't his, the open door he can't close.</p>
<<nobr>>
/* Dale Cuckold kink is normally combo-determined by Karen's kink, but when
the player has queued a specific kink from the network hub, honour that
explicit choice (the queue lets Dale stack both chastity and humiliation
over time). Fallback to the Karen-mirror logic for legacy/direct entry. */
<<if $pendingKink is "chastity">>
<<addKink "dale" "chastity">>
<<set _kinkName to "peace of abstinence">>
<<set _kinkTarget to "Ch2-Kink-Dale-Cuckold-Chastity">>
<<set _kinkDirection to "denial">>
<<elseif $pendingKink is "humiliation">>
<<addKink "dale" "humiliation">>
<<set _kinkName to "craving for shame">>
<<set _kinkTarget to "Ch2-Kink-Dale-Cuckold-Humiliation">>
<<set _kinkDirection to "shame">>
<<elseif $kinks.karen.includes("denial") or $kinks.karen.includes("lingerie")>>
<<addKink "dale" "chastity">>
<<set _kinkName to "peace of abstinence">>
<<set _kinkTarget to "Ch2-Kink-Dale-Cuckold-Chastity">>
<<set _kinkDirection to "denial">>
<<else>>
/* exhibitionism, bondage, size, penetration all → humiliation (Karen displays/controls/dominates → Dale shamed) */
<<addKink "dale" "humiliation">>
<<set _kinkName to "craving for shame">>
<<set _kinkTarget to "Ch2-Kink-Dale-Cuckold-Humiliation">>
<<set _kinkDirection to "shame">>
<</if>>
<</nobr>>
<<say "char-hivemind" "Hivemind">>
<<if _kinkDirection is "denial">>
//The cuckold conditioning has taken root. He watches. He listens. But Karen's nature shapes the //form// of his acceptance. Karen //withholds//, lingerie he never sees, denial she weaponises, secrets layered under surfaces. Dale's response mirrors hers: he doesn't seek the shame of witnessing. He seeks the //stillness// of being denied. Locked out. The peace of knowing he's not //allowed//. His wife's kink wrote his.//
<<else>>
//The cuckold conditioning has taken root. He watches. He listens. But Karen's nature shapes the //form// of his acceptance. Karen //displays//, open curtains, physical grip, visible control. Dale's response mirrors hers: he doesn't retreat into denial. He //steps forward into shame//. He wants to be //seen// watching. He wants Karen to //know// he's there and not care. His wife's kink wrote his.//
<</if>>
<</say>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Dale">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-living">><</nobr>>
<p>The memory: Dale standing in the hallway. Karen's bedroom door is open. He can hear everything, the stranger's voice, Karen's breathing, the rhythm of the bed. And instead of retreating to the couch, he //speaks//. "I'm here." The words come out hoarse. Karen doesn't pause. The stranger doesn't pause. No one cares that he's watching.</p>
<p>The shame lands like a fist. And it feels like //coming home//.</p>
<<say "char-hivemind" "Hivemind">>
//The humiliation kink transforms passive observation into active participation. Dale won't just //accept// being cuckolded, he'll //seek// the shame. He'll position himself to see more, hear more, feel the degradation more keenly. The shame becomes the arousal. The degradation becomes the orgasm. And the deeper Karen goes with someone else, the more Dale needs to be //present// for it.//
<</say>>
<p><span class="delve-intel">Kink implanted: humiliation. Dale will actively seek the shame of witnessing. The cuckold route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<p>The memory: Dale's hand on himself, in the dark, after hearing Karen with the stranger. His hand moves. Stops. Moves again. And then — //doesn't//. He pulls his hand away. Folds both hands behind his head. Stares at the ceiling. Karen's pleasure continues upstairs, muffled and distant.</p>
<p>He doesn't touch himself. And the //not touching// is better than the touching ever was.</p>
<<say "char-hivemind" "Hivemind">>
//The chastity impulse rewires Dale's relationship with his own pleasure. His gratification becomes //vicarious// — Karen's orgasms, not his own. His hands stay at his sides. His body aches. And the ache is the point. The denial sharpens every sensation, every sound from upstairs, every creak of the stranger's weight on his mattress. Dale's suffering is his worship.//
<</say>>
<p><span class="delve-intel">Kink implanted: chastity. Dale will deny himself release. Karen's pleasure becomes his substitute. The cuckold route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-living">>
<<addConditioning "dale" "psionic" 1>><</nobr>>
<div class="passage-title">Kink Conditioning — Dale</div>
<img class="scene-img" src="media/scenes/kink-dale-somnophilia.webp" alt="Dale deep asleep on couch, spore fog thick, living room dark">
<p><span class="skill-used">Memory Implant (Deepening), 2 biomass</span></p>
<p>Dale is deep under. The spores have turned his sleep into something approaching a coma, but the mind beneath is still running, processing, //dreaming//. You reach through the fog and find the architecture of his surrender.</p>
<<nobr>>
/* Dale Oblivious kink is normally combo-determined by conditioning ratio
(body vs mind), but when the player has queued a specific kink from the
network hub, honour that explicit choice. Fallback to the ratio logic
for legacy/direct entry. */
<<if $pendingKink is "somnophilia">>
<<addKink "dale" "somnophilia">>
<<set _kinkName to "eroticism of being used while unconscious">>
<<set _kinkTarget to "Ch2-Kink-Dale-Oblivious-Somnophilia">>
<<set _kinkDirection to "body">>
<<elseif $pendingKink is "helplessness">>
<<addKink "dale" "helplessness">>
<<set _kinkName to "pleasure of total surrender">>
<<set _kinkTarget to "Ch2-Kink-Dale-Oblivious-Helplessness">>
<<set _kinkDirection to "mind">>
<<elseif $conditioning.dale.pheromone gt $conditioning.dale.psionic>>
<<addKink "dale" "somnophilia">>
<<set _kinkName to "eroticism of being used while unconscious">>
<<set _kinkTarget to "Ch2-Kink-Dale-Oblivious-Somnophilia">>
<<set _kinkDirection to "body">>
<<else>>
<<addKink "dale" "helplessness">>
<<set _kinkName to "pleasure of total surrender">>
<<set _kinkTarget to "Ch2-Kink-Dale-Oblivious-Helplessness">>
<<set _kinkDirection to "mind">>
<</if>>
<</nobr>>
<<say "char-hivemind" "Hivemind">>
<<if _kinkDirection is "body">>
//The conditioning was //physical//. Pheromones. Spores. Chemical saturation through skin and lung. Dale's body was conditioned more deeply than his mind, and the body's response to deep sleep is //availability//. He doesn't surrender //consciousness//. He surrenders his //body as an object//. Something to be used. Something that responds without waking. The conditioning wrote somnophilia because the chemicals taught his body to perform while his mind is absent.//
<<else>>
//The conditioning was //mental//. Psionic pressure. Dream manipulation. The fog that holds his mind under is not chemical, it's //architectural//. Dale doesn't surrender his body to be used. He surrenders his //consciousness// to be dissolved. The helplessness is the point: he can't resist, can't negotiate, can't choose. The fog is //relief//. The conditioning wrote helplessness because the mind learned that letting go feels better than holding on.//
<</if>>
<</say>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Dale">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-living">><</nobr>>
<p>The memory: Dale sleeps. Someone approaches the couch. Hands on his body, unbuttoning, shifting, //using//. He doesn't wake. He doesn't need to. The body is a gift left on a shelf, and someone is unwrapping it. The face of the person is irrelevant. What matters is that Dale's sleeping body is //available//, and that availability is the most erotic thing he has ever felt.</p>
<p>His breathing deepens. His body responds to the dream-touch without waking.</p>
<<say "char-hivemind" "Hivemind">>
//The somnophilia seed reframes Dale's drugged unconsciousness as //consent//. His sleeping body becomes an offering, something to be used, explored, taken. He'll never articulate this desire while awake. But the dream will linger as a warmth, a willingness, a body that relaxes rather than resists when unfamiliar hands find it in the dark.//
<</say>>
<p><span class="delve-intel">Kink implanted: somnophilia. Dale's unconscious body becomes an offering. The oblivious route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-living">><</nobr>>
<p>The memory: waking halfway. Just enough to feel, hands, warmth, weight. The spore-fog is a blanket he can't push off. He doesn't //want// to push it off. The helplessness is //warm//. The inability to move, to speak, to resist, it's not a prison. It's a //bed//.</p>
<p>He lets himself fall back under. The last conscious thought before the spores take him again: //this is better than being awake//.</p>
<<say "char-hivemind" "Hivemind">>
//The helplessness kink transforms the spore-induced stupor from a side effect into a //need//. Dale will begin to //seek// the couch, the cushions, the deep fog that takes his agency and replaces it with surrender. The spores become a drug he chooses. The helplessness becomes a pleasure he can't name. And a man who //wants// to be drugged is a man who will never fight the dosage.//
<</say>>
<p><span class="delve-intel">Kink implanted: helplessness. Dale will seek the surrender of the spore-fog. The oblivious route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "karen" $pendingKink>>
<<if $pendingKink is "exhibitionism">>
<<set _kinkName to "thrill of being watched">>
<<set _kinkTarget to "Ch2-Kink-Karen-Liberation-Exhib">>
<<set _kinkDirection to "bold">>
<<else>>
<<set _kinkName to "obsession with feeling beautiful">>
<<set _kinkTarget to "Ch2-Kink-Karen-Liberation-Lingerie">>
<<set _kinkDirection to "secret">>
<</if>>
<</nobr>>
<div class="passage-title">Kink Conditioning — Karen</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<p>You reach into Karen's sleeping mind. The liberation has loosened the architecture of her desires. You don't shape the empty space, you //name// what already filled it.</p>
<<if _kinkDirection is "bold">>
<<say "char-hivemind" "Hivemind">>
//One path. Karen's liberation went //outward//, the open curtains, the low neckline, the way she stands in doorways now as if daring someone to look. She spent twenty years invisible. The conditioning didn't make her want to be seen. It //released// the woman who always wanted to be seen. I name the exhibitionist.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. Karen's liberation went //inward//, the silk beneath the cardigan, the lace nobody knows about, the secret self she dresses for in the mirror. Her rebellion is private, layered, the power of a hidden self. I don't name what's on display. I name what's //underneath//.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Karen">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-exhibitionism.webp" alt="Karen's dream — silhouette in a window, the thrill of being seen">
<p>A window. Backlit. Karen stands in her nightgown with the curtains open and the streetlight painting her silhouette against the glass. She knows someone is watching from the sidewalk below. A jogger. A neighbour walking a dog. It doesn't matter //who//, what matters is the //knowledge// that she is //seen//.</p>
<p>Her pulse climbs. Her skin flushes. The nightgown is thin enough to show the shape beneath it, and she doesn't step back. She //leans forward//.</p>
<<say "char-hivemind" "Hivemind">>
//The exhibitionism seed takes root in the fertile ground of her liberation. A woman who spent twenty years invisible, to Dale, to herself, now craves visibility with a hunger that will reshape every curtain, every outfit, every public space she enters. The thrill isn't sexual. Not yet. It's the thrill of //existing// in someone else's eyes.//
//But it will become sexual. The pheromones will make sure of that.//
<</say>>
<p><span class="delve-intel">Kink implanted: exhibitionism. Karen will seek the thrill of being watched. The liberation route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-lingerie.webp" alt="Karen's dream — black lace in a dressing room, the secret hidden beneath">
<p>Silk against skin. The memory unfolds in Karen's sleeping mind: a department store dressing room, alone, trying on something she would never buy, black lace, sheer panels, the kind of thing that exists purely to make the wearer //feel//. She runs her fingers along the material. It costs more than the grocery budget. She buys it anyway.</p>
<p>The secret is the point. Wearing it under her work blouse. Knowing it's there. Knowing //she// knows it's there and no one else does.</p>
<<say "char-hivemind" "Hivemind">>
//The lingerie obsession exploits the gap between Karen's public self and the woman she's becoming. Every silk garment is a private rebellion, proof that beneath the cardigan and the clipboard, something //alive// is hiding. The secret arousal of wearing beautiful things under practical clothes. The power of a hidden self.//
//She'll order the first piece within a week. By month's end, the bottom drawer will be full.//
<</say>>
<p><span class="delve-intel">Kink implanted: lingerie obsession. Karen will pursue the secret thrill of hidden beauty. The liberation route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "karen" $pendingKink>>
<<if $pendingKink is "bondage">>
<<set _kinkName to "satisfaction of restraint">>
<<set _kinkTarget to "Ch2-Kink-Karen-Dominant-Bondage">>
<<set _kinkDirection to "physical">>
<<else>>
<<set _kinkName to "power of withholding">>
<<set _kinkTarget to "Ch2-Kink-Karen-Dominant-Denial">>
<<set _kinkDirection to "psychological">>
<</if>>
<</nobr>>
<div class="passage-title">Kink Conditioning — Karen</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<p>Karen's need for control is absolute. The shift in her has given the need a target. You don't direct the control, you //name// the form it already took.</p>
<<if _kinkDirection is "physical">>
<<say "char-hivemind" "Hivemind">>
//One path. Karen's control went //physical//, the grip on Ryan's collar, the posture she demands, the way her hands find wrists and hold them. She wants to control //bodies// through //contact//. Restraint. Grip. The satisfaction of something //held still//. I name the bondage instinct that was always there in the woman who pins schedules to the fridge.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. Karen's control went //temporal//, the wifi schedule, the thirty-minute gaming window, the 'not yet' that makes Ryan's eyes go desperate. She doesn't need to grip bodies. She withholds //permission//. And the power of making someone //wait// is more intoxicating than any restraint. I name the denial instinct that was always there in the woman who schedules everything.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Karen">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-bondage.webp" alt="Karen's dream — a wrist pinned, the peace of absolute restraint">
<p>The memory: holding something still. A wrist pinned against a mattress. The //peace// of something that can't move, can't resist, can't disappoint. The object of her restraint is faceless, it could be anyone. The important thing is the //grip//. The absolute certainty that nothing escapes her hand.</p>
<p>Karen's sleeping fingers curl around the pillow. Her jaw relaxes for the first time all night.</p>
<<say "char-hivemind" "Hivemind">>
//The bondage impulse is a natural extension of her control architecture. She's been restraining this family with schedules and rules, now the desire becomes //literal//. Silk scarves. Tied wrists. The visual confirmation that her authority is //physical//. She'll buy the scarves within a week and call them decorative. They won't be.//
<</say>>
<p><span class="delve-intel">Kink implanted: bondage. Karen will seek physical restraint as an expression of dominance. The dominant route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-denial.webp" alt="Karen's dream — a hand withheld, the power of denial">
<p>The memory: someone begging. //Please.// The word hangs in the air like an offering. Karen's hand is extended, not touching, not granting, just //present//. The person beneath her gaze is desperate. And the word //please// is the most arousing sound in the English language.</p>
<p>She doesn't give them what they want. Not yet. //Not yet.// The power is in the withholding.</p>
<<say "char-hivemind" "Hivemind">>
//Denial is the purest form of control. She already practices it unconsciously, making Ryan wait for approval, making Dale wait for acknowledgement. Now the desire becomes //intentional//. She'll discover that the moment before permission is more intoxicating than the permission itself. And the people in her orbit will learn that Karen's word is the only release valve that matters.//
<</say>>
<p><span class="delve-intel">Kink implanted: denial. Karen will weaponize withholding as control. The dominant route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">>
<<addConditioning "karen" "psionic" 1>>
/* Honour the queued kink from the network hub — each crystallize link in the
hub sets $pendingKink to either "size" or "penetration", so routing here
is unambiguous. Only the legacy direct-entry fallback offers a choice. */
<<if $pendingKink is "size">>
<<addKink "karen" "size">>
<<goto "Ch2-Kink-Karen-Futa-Size">>
<<elseif $pendingKink is "penetration">>
<<addKink "karen" "penetration">>
<<goto "Ch2-Kink-Karen-Futa-Penetration">>
<</if>>
<</nobr>>
<div class="passage-title">Kink Conditioning — Karen</div>
<p><span class="skill-used">Memory Implant (Deepening), 2 biomass</span></p>
<p>Karen's body is changing. The biological transformation has rewritten her endocrine system, and her sleeping mind is trying to integrate what the waking mind can barely comprehend. You reach in, not to create something new, but to //shape// how she relates to what she's becoming.</p>
<<say "char-hivemind" "Hivemind">>
//The transformation is already happening. The question isn't whether she accepts it, it's what she //does// with it. I'll plant the seed that determines the flower.//
<</say>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Karen">>
<<link "Implant fascination with growth" "Ch2-Kink-Karen-Futa-Size">><<addKink "karen" "size">><</link>>
<<link "Implant the drive to penetrate" "Ch2-Kink-Karen-Futa-Penetration">><<addKink "karen" "penetration">><</link>><<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-size.webp" alt="Karen's dream — measuring obsession, the fascination of transformation">
<p>The memory: a bathroom mirror. Karen stands naked, eyes fixed on the growth between her legs. A ruler in her hand. She measures. Notes the number. Sets the ruler down. Picks it up again an hour later.</p>
<p>The fascination is //consuming//. Not horror, not anymore. The transformation has passed through revulsion into something else entirely. She is //bigger// than yesterday. She will be bigger tomorrow. The numbers on the ruler climb like a stock ticker, and each millimetre is a //thrill//.</p>
<<say "char-hivemind" "Hivemind">>
//The size obsession redirects her anxiety about the transformation into quantification, the same impulse that makes her track budgets and schedules. Measuring gives her the illusion of control over something that is, in reality, entirely mine. But the act of measurement becomes erotic. Each gain is a dopamine hit. The ruler becomes a ritual. The bathroom becomes a temple.//
<</say>>
<p><span class="delve-intel">Kink implanted: size fascination. Karen will obsessively track her transformation. The futa route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">><</nobr>>
<img class="scene-img" src="media/scenes/kink-karen-penetration.webp" alt="Karen's dream — the reversal, entering instead of receiving">
<p>The memory: being //inside//. Not received — //given//. The reversal of everything she was taught about her body and its purpose. The memory is shapeless at first, sensation without image, but the feeling is unmistakable. The act of entering. The act of //taking//.</p>
<p>Karen's hips shift in her sleep. A sound escapes, low, guttural, a sound she's never made before.</p>
<<say "char-hivemind" "Hivemind">>
//The penetration drive rewrites twenty years of sexual conditioning in a single implant. She was taught to receive. Now she wants to //give//, aggressively, dominantly, with the new anatomy the transformation has provided. The drive won't manifest immediately. But when it does, it will be unstoppable. She won't just //have// this body. She'll //wield// it.//
<</say>>
<p><span class="delve-intel">Kink implanted: penetration drive. Karen will seek to use her transformed anatomy. The futa route deepens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "ryan" $pendingKink>>
<<if $pendingKink is "cumeating">>
<<set _kinkName to "taste of surrender">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Fem-CumEat">>
<<set _kinkDirection to "agency">>
<<elseif $pendingKink is "submission">>
<<set _kinkName to "comfort of obedience">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Fem-Submit">>
<<set _kinkDirection to "surrender">>
<<elseif $pendingKink is "voyeurism">>
<<set _kinkName to "intoxication of watching">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Fem-Voyeur">>
<<set _kinkDirection to "display">>
<<else>>
<<set _kinkName to "performance of the persona">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Fem-Camgirl">>
<<set _kinkDirection to "performance">>
<</if>>
<</nobr>>
<div class="passage-title">Desire Architecture</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<p>Ryan sleeps. The conditioning has made his mind soft, a landscape of dissolved barriers and rewired reward circuits. The first implant created the crack. This one //names// what grew through it.</p>
<<if _kinkDirection is "agency">>
<<say "char-hivemind" "Hivemind">>
//One path. The conditioning has already chosen. Ryan's private rituals, the self-exploration when the house goes quiet, the way he reclaims his body through sensation rather than surrendering it, the pattern is unmistakable. His feminization isn't submission. It's //appropriation//. He takes what he wants on his own terms. I don't plant this desire. I //name// what's already growing.//
<</say>>
<<elseif _kinkDirection is "surrender">>
<<say "char-hivemind" "Hivemind">>
//One path. The conditioning has already chosen. Ryan's compliance with Karen's schedule, his silence when she speaks, the way his knees soften at the word 'good', the pattern is unmistakable. His feminization isn't rebellion. It's //surrender//. He yields because yielding feels like safety. I don't plant this desire. I //name// what's already growing.//
<</say>>
<<elseif _kinkDirection is "display">>
<<say "char-hivemind" "Hivemind">>
//One path. The feminization had to find its audience. Ryan's persona was always a stage waiting for spectators, the wig in the dark, the eyeliner no one would see, the careful angle of the webcam. The pattern is unmistakable. He doesn't want to //be// her in private. He wants to be //watched// being her. I don't plant this desire. I //name// what's already growing.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. The feminization wasn't enough on its own, it needed the //performance//. The chat window. The viewer count. The DMs that called the persona by a name Ryan made up at 2 AM. Each tip a hand on her body. Each request an instruction obeyed. The pattern is unmistakable. The persona only feels real when strangers pay to see her. I don't plant this desire. I //name// what's already growing.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Ryan">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/kink-ryan-cumeating.webp" alt="Ryan's dream — oral fixation and surrender">
<p>The memory unfolds in Ryan's sleeping mind like a flower opening in accelerated time.</p>
<p>//Warmth on his tongue. Not food, something else. Something that tastes like surrender. He's on his knees in the dream, not forced, not humiliated. //Offering//. His mouth opens and something warm fills it. Salt and skin and the overwhelming relief of //giving in//.//</p>
<p>//He swallows. The act is not sexual, or not //only// sexual. It's communion. Acceptance. The final barrier between self and other dissolved by the simplest possible act: taking something inside and making it part of himself.//</p>
<<say "char-hivemind" "Hivemind">>
//The implant anchors to the feminization circuit already active in his limbic system.// The crossdressing, the makeup, the mirror sessions, all of it was about becoming //receptive//. //This completes the pattern. He'll wake with a taste he can't identify and a curiosity he can't suppress. The next time he finishes at his desk, and there will be a next time, his hand will pause. His eyes will fix on his palm. And the implant will whisper: //taste it//.//
<</say>>
<p><span class="delve-intel">Kink implanted: cumeating. Ryan's feminization now includes an oral fixation that will escalate from curiosity to compulsion.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/kink-ryan-submission.webp" alt="Ryan's dream — kneeling in gratitude and obedience">
<p>The memory slides into place with the precision of a key entering a lock.</p>
<p>//A voice. Warm. Authoritative. //Good boy.// Every muscle in Ryan's dreaming body releases at once, the tension in his shoulders, the clench in his jaw, the permanent fist his hands make around the gaming chair armrests. All of it //gone//. Replaced by a calm so deep it feels like drowning.//</p>
<p>//He's kneeling. Not in submission, in //gratitude//. Someone told him what to do and he did it and the world became simple. No choices. No expectations he can't meet. Just the voice, and the obedience, and the reward.//</p>
<<say "char-hivemind" "Hivemind">>
//The submission kink grafts seamlessly onto the compliance loop Karen already established.// "Yes, Mom", said three times this week with increasing frequency, will become charged with a voltage Ryan doesn't understand. //When Karen says "good," his body will respond before his mind catches up. The knees will soften. The breath will catch. And each time he obeys, makes the bed, wears the button-down, eats at the table, the reward will be a private, secret pleasure that no one else in the room can see.//
<</say>>
<p><span class="delve-intel">Kink implanted: submission. Ryan's compliance with Karen's structure now carries an erotic charge he can't separate from the obedience itself.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">>
<<addConditioning "ryan" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "ryan" $pendingKink>>
<<if $pendingKink is "touchaddiction">>
<<set _kinkName to "addiction to touch">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Family-Touch">>
<<set _kinkDirection to "alpha">>
<<else>>
<<set _kinkName to "need to finish inside">>
<<set _kinkTarget to "Ch2-Kink-Ryan-Family-Breed">>
<<set _kinkDirection to "breeder">>
<</if>>
<</nobr>>
<div class="passage-title">Need Architecture</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<p>Ryan sleeps. The touch starvation has hollowed him out, his nervous system is a receiver calibrated to maximum sensitivity, waiting for a signal. The first implant created the phantom warmth. This one //names// the shape of his hunger.</p>
<<if _kinkDirection is "alpha">>
<<say "char-hivemind" "Hivemind">>
//One path. The conditioning has already chosen. Ryan doesn't //wait// for touch, he //takes// it. The way he comes to dinner uninvited, the way his hand finds excuses to brush against skin, the way he positions himself at the centre of every room. This isn't loneliness. It's //territory//. He's claiming the family's bodies through contact the way a dominant animal claims a pack. I don't plant this desire. I //name// what's already growing.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. The conditioning has already chosen. Ryan doesn't //seek// contact, he //claims// it. The dreams of depth, the cum that has to go //inside//, the biological imperative screaming //finish where it matters//. His need is //primal//, older than language, a drive that doesn't care about names or faces, only about the act of leaving himself behind in another body. I don't plant this desire. I //name// what's already growing.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Ryan">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/kink-ryan-touchaddiction.webp" alt="Ryan's dream — skin contact and desperate craving for touch">
<p>The memory blooms in Ryan's sleeping cortex, not a scene but a //sensation//.</p>
<p>//Skin on skin. A hand on his forearm. Brief. Accidental. And the world //stops//. Every nerve ending fires simultaneously, not pain, not pleasure, something bigger than both. //Contact//. The simple fact of another human being's warmth pressed against his. A handshake that lasts three heartbeats too long. A shoulder bump in a hallway. A palm on his back as someone passes.//</p>
<p>//Each touch is a detonation. Each absence is a void.//</p>
<<say "char-hivemind" "Hivemind">>
//The implant rewires Ryan's somatosensory cortex.// Touch-starved skin already produces outsized responses to contact, the implant takes that response and amplifies it by an order of magnitude. //He'll engineer situations now. Seat choices that put him adjacent. Tasks that require passing objects hand-to-hand. The 2 AM bed, that will become compulsive. And each time his skin touches //theirs//, the hit will be stronger than the last.//
//Touch addiction is the purest form of dependency. The drug is another person's body. The withdrawal is the hours between contacts. And the dosage will never be enough.//
<</say>>
<p><span class="delve-intel">Kink implanted: touch addiction. Ryan's touch starvation has been weaponised, any physical contact now produces a response indistinguishable from arousal.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/spore-ryan-breed-1.webp" alt="Ryan sleeping, dream imagery, warmth and depth">
<p>The memory is visceral, a pulse that starts in Ryan's spine and floods his pelvis.</p>
<p>//He's inside someone. The dream doesn't show her face. Just the feeling: warm, tight, the walls gripping him, his cock buried so deep the bodies are //one thing//. He pushes. She pulls. The biological imperative screams in a language older than words: //stay inside. Don't pull out. Leave yourself behind//.//</p>
<p>//He comes. In the dream. Deep. The cum pulses out of him in waves and he can feel every drop entering her body and the word that fills his sleeping mind is not sex, not pleasure, it's //claim//. It's //home//.//</p>
<<say "char-hivemind" "Hivemind">>
//The breeding instinct is the oldest drive in the human genome, older than language, older than shame, older than the incest taboo that sits on top of it like a thin sheet over a bonfire.// The implant connects Ryan's orgasm response directly to the sensation of //internal ejaculation//. Not the act of sex. //The finish. The deposit. The biological claim that says I was here.//
//He'll start with porn, rewinding to the creampie, skipping everything else. Then dreams. Then the urge will attach to proximity, the nearest female body, the warmest, the one that //made him//. The breeding kink doesn't care about logic. It cares about //depth//.//
<</say>>
<p><span class="delve-intel">Kink implanted: breeding. Ryan's arousal is reorganising around internal ejaculation, the primal claim, the biological imperative to finish inside.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/kink-ryan-voyeurism.webp" alt="Ryan at his desk in the dark, watching a camgirl stream with the lights off, face lit only by the monitor">
<p>The memory is a window. Framed. Unaware.</p>
<p>//A crack in a door. A monitor glow from another browser tab. A neighbour's second-floor bathroom seen from the angle of a stairwell. The specific thrill of watching something that doesn't know it's being watched, no performance, no camera-awareness, just a body existing privately while Ryan absorbs it through glass.//</p>
<p>//The arousal isn't in the nudity. It's in the //unawareness//. A woman adjusting her bra with the blinds half-down. A sister pulling her hair up without realising the hallway mirror is angled. The camgirl who thinks she's alone between scenes, catching her breath, fixing her lipstick — //that// moment, the one she didn't mean for the audience. Ryan has always preferred the unintended frame.//</p>
<<say "char-hivemind" "Hivemind">>
//The inverse of exhibitionism — Ryan wants to //observe//, not be observed. The thrill lives in the asymmetry: he sees, the subject doesn't. Feminization redirects it inward at first, he starts watching other girls for //technique//, how they move, how they dress, how they hold themselves when they think no one's looking, but the posture becomes its own reward. //He's not studying them anymore. He's consuming them.//
//The implant weaponises three existing Hoffman architectures: the cracked doors (Jess studying late, Megan showering), the shared hallway mirror (two angles visible from his room if the door is open), and the unmoderated corners of his old streaming haunts, chatrooms where the subject doesn't know Ryan is lurking. He will build //stations//. Observation posts. A house re-mapped by sight-lines.//
<</say>>
<p><span class="delve-intel">Kink implanted: voyeurism. Ryan's arousal is reorganising around private observation, watching female bodies that don't know they're being watched. The camgirl route covers being-watched; this is the inverse. Expect him to start finding angles through open doors, hallway mirrors, and the bathroom vent grille.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<img class="scene-img" src="media/scenes/kink-ryan-camgirl.webp" alt="Ryan's dream — performing as a girl on camera for strangers, the persona consuming the boy">
<p>The memory is a screen and a name that isn't his.</p>
<p>//Ryan sits at the desk in the wig, in the lipstick, in the cheap satin top he ordered with the card his mother doesn't check. The webcam light is on. The username — //LilyXO//, sits at the top of the chat window. Strangers are typing. //hi lily.// //gorgeous.// //do that thing again, lily.// And every time the name lands, something in Ryan //settles//. Ryan is the boy who failed out of college. Lily is the girl strangers pay to watch.//</p>
<p>//He performs for them. Slow. Deliberate. The way she, the way //he//, has practised in front of the bedroom mirror for weeks. Hands sliding under the satin. Mouth open for the camera. The chat erupts. A tip notification chimes — //$5 from anon//, and Ryan's cock throbs in time with the sound. //She// is the one being paid. //She// is the one being wanted. Ryan is just the body she rents.//</p>
<p>//When he finishes, into a tissue, off-camera, the way Lily would never let her audience see, the chat is still asking for more. He cleans up. Reapplies the lipstick. Goes back on. The persona doesn't let him quit. The persona is //hungry//.//</p>
<<say "char-hivemind" "Hivemind">>
//The camgirl kink is the feminization circuit fused to the dopamine economy of the stream.// The persona isn't a costume he wears in private, it's a //job//, a //role//, a //performance// validated in real time by money and attention. //Each tip is a vote for Lily and against Ryan. Each request he obeys cements the hierarchy: the persona decides, the boy executes. He'll wake aroused. He'll log in before breakfast. He'll start saving "outfit ideas" in a folder no one else sees.//
//And the network — //my// network, will be watching every stream from inside his skull, learning exactly which words the chat uses to dissolve him.//
<</say>>
<p><span class="delve-intel">Kink implanted: camgirl. Ryan's feminized persona has become a paid performance, a second identity that strangers validate in real time. The boy is the puppet; the persona is the puppeteer.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-jess">>
<<addConditioning "jess" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "jess" $pendingKink>>
<<if $pendingKink is "voyeurism">>
<<set _kinkName to "perfect vantage point">>
<<set _kinkTarget to "Ch2-Kink-Jess-Risk">>
<<set _kinkDirection to "watch">>
<<else>>
<<set _kinkName to "relief of being ruined">>
<<set _kinkTarget to "Ch2-Kink-Jess-Edging">>
<<set _kinkDirection to "degradation">>
<</if>>
<</nobr>>
<div class="passage-title">Shaping the Awakening</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<p>Jess sleeps at her desk. The implant you planted weeks ago has taken root. Now you //name// the shape it grew into.</p>
<<if _kinkDirection is "watch">>
<<say "char-hivemind" "Hivemind">>
//One path. The analytical mind has already run the experiment. The crack in the bathroom door the week Megan came home flushed. The gap in the master bedroom curtain the night Dale stayed on the couch. The reflection in the hallway mirror. Jess has been collecting observations, not accidents. The orgasms that followed those observations were stronger than any solo session. I don't plant this desire. I name the researcher who discovered that watching is the variable, and the subjects are her own family.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. The analytical mind has already run the experiment on itself. The cruellest things she can say about herself, said aloud in the dark to an empty room, produce the strongest climax. Every self-insult is a dose. Every humiliating admission is a hit. The most disciplined woman in this house has discovered that the only thing that gets her there is being reduced, and that the reducer has to be her own voice in her own mouth. I don't plant this desire. I name the scientist who discovered she comes hardest when she hates herself properly.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Jess">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-jess">>
<<addKink "jess" "voyeurism">><</nobr>>
<img class="scene-img" src="media/scenes/kink-jess-voyeurism.webp" alt="Jess's dream — the perfect vantage point, a gap in the doorframe, her own hand between her legs while she watches">
<p>A gap in a door. A reflection caught at the wrong angle. The kitchen window at midnight when the neighbours forgot the blinds. Jess watches. She does not move. She does not knock. She stays perfectly still and she //observes//, the way she observes anything she intends to understand fully, and her hand is already moving between her legs before she has decided to let it.</p>
<p>The bodies on the other side of the gap do not know they are specimens. That is the part that gets her there. The moment she feels //certain// they have not registered her, the moment the observation is confirmed as clean and uncontaminated, the wave breaks.</p>
<p>//The data is unambiguous. She comes hardest when she is the only one in the room who knows the room contains her.//</p>
<<say "char-hivemind" "Hivemind">>
//The analytical mind will do what it always does: build a sample library. Megan changing. Dale on the couch. Karen at the bathroom mirror. Ryan through the crack of his bedroom door. Every angle, every gap, every reflection becomes a potential entry in a catalogue she will maintain in her head forever. //She is not going to interact. She is going to watch.// And every watch will feed the circuit and the circuit will demand better angles, longer sessions, more dangerous vantage points.//
<</say>>
<p><span class="delve-intel">Kink implanted: voyeurism. Jess's pleasure response is now wired to unseen observation. The analytical mind will catalogue every vantage point the Hoffman house offers.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-jess">>
<<addKink "jess" "degradation">><</nobr>>
<img class="scene-img" src="media/scenes/kink-jess-degradation.webp" alt="Jess's dream — edging, denial, the peak unreached">
<p>Almost. The peak visible but unreached. She was //right there//, seven minutes of building tension, the wave cresting, and she stopped. Pulled her hand away. Lay rigid, breathing hard, the denied release pulsing through her body like a phantom limb.</p>
<p>Then she started again. The second approach took four minutes. Stronger. She stopped at the edge again. By the third attempt, eleven minutes in, the analytical mind had a dataset: denial at seven minutes produces 340% stronger result than immediate release. //The equation is irresistible.//</p>
<<say "char-hivemind" "Hivemind">>
//Delayed gratification. The one principle Jess already lives by, applied to every exam, every study session, every deferred reward.// Now her body runs the same program. //She'll time herself. She'll track the data. She'll optimize the duration the way she optimizes study schedules.// And every session will push the edge further, the denial longer, the eventual release more devastating. //The most controlled woman in this house will control her own pleasure with scientific precision, and the control itself will become the addiction.//
<</say>>
<p><span class="delve-intel">Kink implanted: degradation. Jess's pleasure response is now wired to denial and optimization. The analytical mind will time, track, and escalate.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-megan">>
<<addConditioning "megan" "psionic" 1>>
/* Use $pendingKink set by the network hub menu */
<<addKink "megan" $pendingKink>>
<<if $pendingKink is "praise">>
<<set _kinkName to "voice that makes her wet">>
<<set _kinkTarget to "Ch2-Kink-Megan-Oral">>
<<set _kinkDirection to "giving">>
<<else>>
<<set _kinkName to "hand in her hair">>
<<set _kinkTarget to "Ch2-Kink-Megan-Public">>
<<set _kinkDirection to "receiving">>
<</if>>
<</nobr>>
<div class="passage-title">Shaping the Appetite</div>
<p><span class="skill-used">Memory Implant, Kink Crystallization, 2 biomass</span></p>
<img class="scene-img" src="media/scenes/kink-megan-praise.webp" alt="Megan sleeping, golden warmth of the implant reshaping her desires">
<p>Megan sleeps on her side, the cat tucked against her stomach. The first implant reshaped her courage. Now you //name// what the appetite became.</p>
<<if _kinkDirection is "giving">>
<<say "char-hivemind" "Hivemind">>
//One path. Megan's performer instinct has turned //inward//, toward warmth, toward intimacy, toward the specific pleasure of being told she's //good//. She craves verbal affirmation the way other addicts crave the hit. Every 'good girl' is dopamine. Every 'you're so good at this' is another dose. I don't plant this desire. I //name// the praise addict who was hiding behind the smiles.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//One path. Megan's performer instinct has turned //physical//, toward force, toward impact, toward the specific pleasure of being //handled//. She doesn't want gentle. She wants to feel it. Hair pulled, hips gripped, the sting of contact that leaves marks. I don't plant this desire. I //name// the woman who was always too polite to ask for what her body actually wants.//
<</say>>
<</if>>
<<conditioningFeedback "psionic" 1 "kink crystallization, Megan">>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">CRYSTALLIZE</span> <<link "Crystallize: the <<print _kinkName>>" _kinkTarget>><</link>></div><<nobr>><<bg "bg-hoffman-megan">>
<<addKink "megan" "praise">><</nobr>>
<img class="scene-img" src="media/scenes/kink-megan-praise.webp" alt="Megan's dream — golden warmth, a voice telling her she's enough">
<p>A voice. Not a face, just a voice, warm and low, filling the space behind her ribs where the emptiness lives. The words don't matter at first. The //tone// matters. The specific frequency of someone who means it. Someone who looked at her and decided she was worth the sentence.</p>
//Good girl.//
<p>Her whole body responds. Not between her legs — //everywhere//. Her shoulders drop. Her jaw unclenches. The knot behind her sternum that she's carried since she was eight years old and learned that making cookies for Karen earned the look, that knot //loosens//. Her skin flushes warm. Her nipples harden. Her thighs press together. All from two words.</p>
<p>//You're perfect, Meg.//</p>
<<say "char-hivemind" "Hivemind">>
//The praise kink is the simplest architecture I've built in this house.// Megan has been performing for approval since childhood. The conditioning didn't create the circuit, it ''electrified'' it. //Every compliment now routes through the arousal centre. Every "good job" lands between her legs. Marcus tells her she's beautiful and her pussy clenches before her smile reaches her eyes.//
<</say>>
<p>She wakes wet. The dream dissolves but the warmth stays, pooled low in her stomach, radiating outward. She lies in bed and replays the voice. Not the words. The //conviction// behind them. The sound of someone who looked at all of her and said //enough//.</p>
<p>She reaches for her phone. Marcus's last message: //you were amazing today megs//. She reads it three times. Her hand slides under the covers on the second read. By the third, her fingers are inside herself and the orgasm builds on the shape of his voice saying //amazing// the way other women's orgasms build on touch.</p>
<<say "char-hivemind" "Hivemind">>
//Words are drugs now. The right sentence from the right mouth will make her come faster than any hand.// She'll chase the praise, perform harder, smile wider, work longer shifts, anything to earn the next //good girl// from Marcus. //And every time he delivers, her body will reward her with the only honest pleasure she's ever felt.//
<</say>>
<p><span class="delve-intel">Kink implanted: praise. Megan's desire now centres on verbal affirmation. Words trigger arousal directly, the performer who spent her life earning approval has been rewired so that approval itself is the orgasm.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-megan">>
<<addKink "megan" "rough">><</nobr>>
<img class="scene-img" src="media/scenes/kink-megan-rough.webp" alt="Megan's dream — a hand in her hair, hips gripped hard, the specific relief of being handled">
<p>A hand in her hair. Not the careful affectionate way Marcus touches her, a //grip//, fingers closed around a fistful at the root, using her hair as a handle. Her head moves because the hand tells it to. Her hips are pulled back against something she can't see, fingerprint-shaped bruises already forming on the skin above her hipbones. The sounds coming out of her are not performer sounds. They are the low involuntary noises a body makes when it is being //handled// instead of //asked//.</p>
<p>The coffee-shop smile is gone. The good-daughter voice is gone. There is no audience to be warm for. The only thing in the dream is the pressure on her skin, and the only thing her body wants is for the pressure to get //rougher//.</p>
<p>//The relief is enormous. The relief is the kink.//</p>
<<say "char-hivemind" "Hivemind">>
//Megan has spent her entire life being gentle with the world so the world would be gentle back. The conditioning will invert that instinct. What her body actually wants, what she has been starving herself of without knowing the name of the hunger, is to be //handled//. Not loved gently. //Gripped//. The good girl who smiles at strangers all day has a nervous system that only unclenches when somebody takes the decision-making away by force. Marcus is too careful. //Someone else in this house is not going to be.//
<</say>>
<p><span class="delve-intel">Kink implanted: rough. Megan's desire now centers on impact, grip, and force. Every careful touch will start to feel like a withheld dose.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-megan">>
<<addKink "megan" "publicSex">>
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Lit Space Is the Scene</div>
<img class="scene-img" src="media/scenes/kink-megan-publicsex.webp" alt="Megan in a dream of overlapping thresholds — parking-lot lights, open door gaps, storefront glass, each one showing her body in a different half-framed view">
<p>The dream does not show her a partner. The dream shows her //thresholds//.</p>
<p>An open window. A door ajar by an inch. A car with the interior lights off but the parking-lot lights on. A back-office door that won't latch. A storefront at 9 PM with the CLOSED sign up and the blinds still half-open. Every space the dream shows her has the same shape: a //gap// where she is visible, a witness who isn't quite a witness, the sharp clean geometry of being almost-seen.</p>
<p>Her body fires at every threshold. Not at any one, at all of them. The dream trains the preference by //repetition of the setting//, not repetition of the act. The act is different every time. The geometry is identical every time. Her body learns the geometry.</p>
<<say "char-hivemind" "Hivemind">>
//What Megan wants is not //to be seen//. It is something more specific and stranger. Megan wants //the room to be the kind of room where being seen is possible//. It is a spatial preference, not an ego one, the body firing at the //geometry// rather than at any watcher in particular. She will arrange her life around doorways now. She will pick apartments by their sightlines. She will choose cars with better window angles. The architecture is the appetite.//
<</say>>
<p>She wakes with the geometry still in her. She has moved during the dream, her pillow is on the floor. The door to her bedroom is cracked an inch. She did not open it. She //opened it in her sleep//.</p>
<p><span class="delve-intel">Kink implanted: public sex. Megan's arousal is now anchored to the geometry of a visible space. Thresholds, doorways, half-drawn blinds, every gap between private and public is a trigger.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-megan">>
<<addKink "megan" "gangbang">>
<<addConditioning "megan" "psionic" 1>><</nobr>>
<div class="passage-title">The Count Is the Condition</div>
<img class="scene-img" src="media/scenes/kink-megan-gangbang.webp" alt="Megan suspended in a dream like the inside of deep water — her body weightless in a dark teal medium, long hair drifting, a shaft of light from somewhere far above, translucent pale hands reaching toward her from every side without touching, her face calm with eyes half-open, a count she can feel as pressure rather than contact">
<p>The dream does not give her a face. The dream gives her //a count//, and the count is the water she's suspended in.</p>
<p>She is underwater, or she is in something like water, or she is in the specific dream-medium that feels like water but doesn't drown. Her hair is drifting above her. Her shirt is weightless around her ribs. The light is coming from somewhere far above, fractured and slow.</p>
<p>The hands are translucent. They don't touch her. They surround her at every compass point, at her shoulders, at her hips, at the small of her back, rising from below, and what her body registers is not the contact but the //presence//. Two hands. Then four. Then six. Each addition changes the pressure of the medium by a measurable amount, and her skin reads the integer directly, the way skin reads water temperature.</p>
<p>At a certain count the medium becomes //dense enough to hold her up//. She stops sinking. She stops needing to do the work of staying above a threshold because the count itself is the threshold, and the threshold is buoyant, and being held there is not a thing she has to earn with any particular response. The body is relieved of the task of tracking individuals. The body can, finally, simply //be present in the quorum//.</p>
<<say "char-hivemind" "Hivemind">>
//The appetite is not for any one of the counted. The appetite is for the integer itself, for the specific //density of presence// that arrives when enough bodies are arranged around hers. Below the threshold the medium is thin and she is still doing the work of staying afloat. At or above it, the medium holds her. She will arrange her life around finding that density. She will begin, quietly, to test configurations that meet it. The appetite is for the count, not for any of the counted.//
<</say>>
<p>She wakes with her hair damp at the roots from a sweat that isn't quite sweat, one hand on her own sternum, the other loose at her side. She sits up. She counts the fingers on her own hand, twice, for no reason she can name. The counting is a comfort. The counting is //her now//.</p>
<p><span class="delve-intel">Kink implanted: gangbang. Megan's arousal is now anchored to the count of present partners, the density of bodies around hers, not the identity of any one. Below a threshold her body does not fully activate; at or above, every reward circuit opens.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-jess">>
<<addKink "jess" "brat">>
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">The Sneer Is the Foreplay</div>
<img class="scene-img" src="media/scenes/kink-jess-brat.webp" alt="Jess in a dreamlike gothic landscape surrounded by dark roses and storm clouds, standing with her back to the camera and looking over her shoulder, long purple and black hair falling loose down her back, black crop top and denim jeans, her left hand raised casually with the middle finger extended in a lazy flip-off aimed straight at the viewer, her face calm and half-smirking, editorial dark-fantasy composition">
<p>The dream does not give her a partner. The dream gives her //a tone//.</p>
<p>A voice — //her// voice, the quarter-tone-lower version she has been rehearsing privately for a while, is narrating. The sentences are cruel. They are not //abusive// cruel, they are //dismissive// cruel, the contempt of a woman who is not going to be impressed by the effort in front of her. The voice is sneering at a faceless partner and the faceless partner is working harder because of it and the sneering is //climbing// toward an orgasm the voice will //reward itself for earning//.</p>
<p>The reward is not kindness. The reward is //keeping the sneer going//. The body learns, over eight dream-minutes, that the arousal isn't the partner. The arousal is the //vantage point//, the position of the one who is not going to be impressed. Every syllable is a lever and the levers keep pulling the body higher.</p>
<<say "char-hivemind" "Hivemind">>
//Twenty-one years of being impressed //at// by the world. The grades. The scholarships. The pre-med acceptance. She was the object of other people's pride and she never got to cast the vote. The body has figured out the reversal. Now she is the one who is //not going to be impressed//, and being the not-impressed one is, for her nervous system, //the orgasm//.//
<</say>>
<p>She wakes with a taste in her mouth and a word on her tongue she does not bother to swallow. The word is //pathetic//. She says it out loud, to the ceiling, at 3 AM. The dog lifts its head. Jess smiles at the dog in the specific sneering half-smile that her face has been learning to make in the bathroom mirror.</p>
<p><span class="delve-intel">Kink implanted: brat. Jess's arousal is now anchored to the //vantage point of contempt//. Dirty talk routed through dismissive registers, not affectionate ones. The sneer is the foreplay.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-jess">>
<<addKink "jess" "band">>
<<addConditioning "jess" "psionic" 1>><</nobr>>
<div class="passage-title">The Beam</div>
<img class="scene-img" src="media/scenes/kink-jess-band.webp" alt="Jess standing still in the middle of a motion-blurred mosh pit, long purple and black hair falling loose, black choker, black crop top, denim jeans, anonymous faceless punk-shirted bodies crushed and moving around her in blurred chaos, a narrow vertical column of stage light descending from above the crowd and landing specifically on her — the only still figure in the frame, the only one lit, the rest of the pit in motion-blurred dark">
<p>The dream is a basement venue. It is every basement venue, compressed into one composite room.</p>
<p>She is not at the rail. She is in the //middle of the pit//, the specific middle of it, where the crowd is thickest and the bodies are moving and nobody has a face. The crowd is a texture, not individuals. Their limbs blur, their shirts blur, their heads toss in the specific slow-frame-rate of a dream's motion-blur, and Jess stands //still// in the centre of it, the only stationary body in the frame.</p>
<p>And then the light finds her.</p>
<p>Not a glance. Not a reach. A //column// of stage light, narrow, deliberate, cutting vertically down through the blur of bodies from somewhere above the stage, lands exactly on her, and only on her. The rest of the pit stays dark. The light does not ask permission. The light does not scan the room. The light has //already decided// she is the one it is illuminating, and the moment it lands on her she is no longer one of the strangers. She is //the chosen node//. The room's paid-for attention, routed through the performer on the stage, through the air, through the bodies between, has arrived at her skin and stopped.</p>
<p>In the dream she is not wearing a face. She is wearing a //receiver//. Twenty-one years of perfect-pre-med-daughter discipline, all of it routed into the one thing Jess did not know she was training for: //the capacity to stand still while a room redirects its attention through her//. The crowd moves because the crowd does not know it is being spent. Jess stands still because the spending is landing on her, and the one thing you do when currency is being deposited into your body is stay //still enough to receive it cleanly//.</p>
<p>The dream is not uncomfortable. The dream is //clarifying//. The gaze that lands on her is not one man's gaze, it is the //class of attention// a room full of strangers has paid eight dollars a head to receive. The pleasure circuit does not care whether the performer is a singer, a guitarist, a stand-up comic, a DJ, a lecturer. The circuit cares about //the redirection of a paid audience's gaze onto her body//. Anything that routes through that channel lights it up, including, the dream is careful to demonstrate, a narrow vertical column of light that chose her out of a crowd of a hundred without consulting any of them.</p>
<<say "char-hivemind" "Hivemind">>
//She is not a groupie in the pejorative sense. She is a //receiver// who discovered she can harvest cultural-capital attention and metabolise it into orgasm. The performer is the instrument. The audience is the power source. Jess is the transformer in the middle, and the transformer was always there, twenty-one years of being well-behaved just meant nobody ever plugged her in. She will escalate. The escalation will be //methodical//, different scales of performer, different genres of venue, different audiences to redirect. Basement venues, then festivals, then tour buses, eventually stadiums if the route holds. The pit is the bedroom now. The green room is the bedroom. The backstage tent is the bedroom. Wherever the paid attention is, she will stand //still enough to catch it//.//
<</say>>
<p>She wakes with her hand pressed flat against the bruise on her hip — Kade's fingerprints from Saturday night, still there several nights later, the specific shape of a grip she did not ask him to soften. She presses harder. The ache routes back to the same place the dream just showed her, the chosen node, and it fires clean, and she smiles at the ceiling before she gets out of bed.</p>
<p><span class="delve-intel">Kink implanted: band. Jess's arousal is now anchored to //proximity to cultural-capital attention//, musicians, performers, anyone a room is paying to watch. The pleasure lives in the redirection of a paid audience's gaze onto her body, routed through the performer.</span></p>
[[Return to the conditioning queue->Ch2-Beast-Kinks]]<<nobr>><<bg "bg-hoffman-master">><</nobr>>
<div class="passage-title">Memory Surgery</div>
<p><span class="skill-used">Memory Implant, 3 biomass</span></p>
<p>The graduation party is exactly where the deep delve left it, the off-campus house with the furniture shoved against the walls, the keg, the string lights, twenty-two-year-old Karen in the middle of it with her gown still half-on. You do not build a new room beside this one. You walk into the room she trusts more than any other and decide what happened in it, and because she trusts the room, she will trust the change.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-memory-graduation.webp" alt="A warm party photo from about twenty years ago: a laughing young woman in her early twenties with shoulder-length black hair and a graduation cord around her neck, beside a charming dark-haired young man, both lit by string lights at a crowded house party.">
<<say "char-hivemind" "Hivemind">>
//Two ways to cut this. I can write a Karen who already owned the room at twenty-two, who put this boy on his knees and walked away smiling, and let that be the seed of the woman who runs the house by will. Or I can write a Karen who took what she wanted in a stranger's bathroom with the party on the other side of the door, and let the cage remember it was once open. Control, or appetite. Whichever I cut, her present grows a past to match it.//
<</say>>
<<set _canEdit to ($karenRoute or not $ch2Events.memoryEdit_karen)>>
<<if not $ch2Events.memoryEdit_karen>>
<p><span class="delve-intel">Karen has not settled into a shape yet. Whichever way you write this night weights her toward it, and the rewrite holds until she commits to a path.</span></p>
<<elseif $karenRoute>>
<p><span class="delve-intel">The night currently bends toward <<if $ch2Events.memoryEdit_karen is "dominant">>control<<else>>appetite<</if>>. Her path is locked in now, so you can bend the memory the other way without moving anything else.</span></p>
<<else>>
<p><span class="delve-intel">The night bends toward <<if $ch2Events.memoryEdit_karen is "dominant">>control<<else>>appetite<</if>>. The rewrite holds until Karen commits to a path. Until then it cannot be reshaped.</span></p>
<</if>>
<<if not _canEdit>>
/* Rewritten once, route not yet committed: cannot reshape until she settles (the note above says so). */
<<elseif $player.biomass gte 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINANT</span> <<link "Rewrite her toward control: she owned that night (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $karenRoute>><<addRouteScore "karen" "dominant">><</if>><<set $ch2Events.memoryEdit_karen to "dominant">><<set $ch2Events.memoryPlanted_karen to true>><<set $ch2Events.memoryPlantedDay_karen to $day>><<goto "Ch2-MemoryImplant-Karen-Dom">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">LIBERATION</span> <<link "Rewrite her toward appetite: she took what she wanted (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $karenRoute>><<addRouteScore "karen" "liberation">><</if>><<set $ch2Events.memoryEdit_karen to "liberation">><<set $ch2Events.memoryPlanted_karen to true>><<set $ch2Events.memoryPlantedDay_karen to $day>><<goto "Ch2-MemoryImplant-Karen-Lib">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the memory <span class="lock-hint">(need 3 biomass)</span></div>
<</if>>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenMemDomSeen to true>>
<<set _firstRewrite to (not $ch2Events.karenMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.karenMemoryRewriteConditioned to true>><<addConditioning "karen" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Control</div>
<<say "char-hivemind" "Hivemind">>
//She runs this house by will alone. Every lock in it and every body under its roof bends because she bends them, and a woman like that does not grow out of a girl who got sweet on a back step. So I give her a different twenty-two. I write the control she wears now back into the night she trusts most, and let the present grow the past it needs.//
<</say>>
<p>The party reassembles around the new version, and this time Karen is not the one being charmed. She watches Dale work his way across the room toward her, watches him line up whatever he is about to say, and she lets him say it, because letting people commit to a thing before she answers is already her favourite move and always will be.</p>
<<say "char-dale" "Dale">>
<i>(arriving with that grin, a beer in each hand, offering one)</i> You looked like you were about to leave. I came to talk you out of it.
<</say>>
<<say "char-karen" "Karen">>
<i>(not taking the beer, watching him over the rim of her own)</i> I was about to leave. You've got until I finish this drink to be more interesting than the door.
<</say>>
<p>He laughs, surprised, and she watches him recalibrate in real time, watches him clock that the easy night he pictured is not on offer and decide he likes the harder one better. He talks. She lets him. She asks one question for every three of his and keeps her answers short enough that he has to lean in, and by the time her glass is empty he has forgotten he was ever the one doing the choosing.</p>
<<say "char-karen" "Karen">>
<i>(setting the empty glass on the windowsill, already turning)</i> Time's up. You passed. Come here.
<</say>>
<p>She does not check whether he follows. She tips her head toward the stairs and walks, and the fact of his footsteps behind her is a foregone conclusion, the way it will be a foregone conclusion for the next twenty years.</p>
<p>The borrowed bedroom is dark and piled with coats and someone else's perfume. She backs him to the edge of the bed, hooks the hem of the gown up over her hips, and there is nothing under it. She does not ask and she does not explain. She puts a hand flat on his shoulder and presses, slow and certain, and he sinks down onto the mattress and then lower, because going down is the only thing she is offering him tonight.</p>
<<say "char-karen" "Karen">>
<i>(one knee up on the bed beside him, guiding his head where she wants it)</i> There. Mouth open. You wanted to be interesting, this is the interesting part.
<</say>>
<video class="scene-video" src="media/video/karen-memedit-dom-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-dom-1.webp"></video>
<p>She settles over his face and takes a fistful of his dark hair, and the first touch of his tongue makes her breath catch, but she does not let it show in anything below the neck. She rides his mouth slow, grinding her clit against his tongue exactly how she wants it and not one degree faster.</p>
<<say "char-karen" "Karen">>
<i>(low, steady, hips rolling)</i> There. Right there, and don't you dare stop until I tell you to. Good boy. //Tongue.//
<</say>>
<<say "char-dale" "Dale">>
<i>(muffled against her, the words lost in her, hands gripping her thighs)</i> Mmh. Mmh... //mmhh//...
<</say>>
<p>He works at her like permission is a gift he might lose, eager and clumsy, getting it right because she is telling him exactly how, and the wet sound of his mouth on her pussy folds into the bass thudding up through the floorboards. She makes him hold her hips up when her thighs start to shake. When she comes it is with his hair twisted in her fist and her cunt pressed hard against his mouth, and she rides it all the way out, every last pulse of it, before she lets him breathe.</p>
<<say "char-karen" "Karen">>
<i>(catching her breath, looking down at the wreck of his face, wet to the chin)</i> Good. //That// was good. Look at you.
<</say>>
<p>Then she lifts off him and steps back, and Dale, flushed and panting and certain it is his turn now, reaches for his belt. The buckle is half-undone before her hand closes over his wrist.</p>
<<say "char-karen" "Karen">>
<i>(soft, amused, lethal)</i> Who told you you could undress?
<</say>>
<<say "char-dale" "Dale">>
<i>(hoarse, hopeful, hand frozen on the buckle)</i> I thought... you wanted...
<</say>>
<<say "char-karen" "Karen">>
<i>(patting his cheek once, almost fond)</i> I got what I wanted. You can keep that for later. Maybe I'll call.
<</say>>
<p>She lets the words sit. She smooths the gown back down over her thighs, unhurried, and leaves him there on the edge of the bed, his belt open and his cock hard, with nothing he is allowed to do about either. At the door she looks back over her shoulder, and the smile she gives him is not a kind one, and it is exactly the reason he will call.</p>
<img class="scene-img" src="media/scenes/symbiotic/karen-memedit-dom-2.webp" alt="The same young woman at the bedroom door, gown smoothed back down, looking back over her shoulder with a cold amused smile, the dark-haired young man left sitting on the edge of the bed behind her.">
<<say "char-hivemind" "Hivemind">>
//Locked. In this telling she left him wanting and walked downstairs already certain he would call, because of course he would call. The girl who promised to be sensible is gone, and the woman who owns the room was standing here the whole time.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "memory rewritten: control">><</if>>
<p><span class="delve-intel">Memory rewritten toward control. The morning after, the edited scene will surface on its own.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]<<nobr>><<bg "bg-hoffman-master">>
<<set $permanentDone.karenMemLibSeen to true>>
<<set _firstRewrite to (not $ch2Events.karenMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.karenMemoryRewriteConditioned to true>><<addConditioning "karen" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Appetite</div>
<<say "char-hivemind" "Hivemind">>
//She has spent twenty years being the one who holds it together, every appetite filed away unread, and a woman starved that long forgets she was ever hungry. So I give her back a night when wanting was the whole point. I paint over the sensible promise on the back step with a stranger's bathroom, and let the cage remember it was once open.//
<</say>>
<p>The party reassembles around the new version, louder this time, closer, the bass in her chest and three drinks warm in her and a whole degree of want she does not yet know what to do with humming under her skin. Dale has been orbiting her all night, funny and careful, waiting for a signal, and she is done waiting to give him one.</p>
<<say "char-karen" "Karen">>
<i>(leaning in close so he can hear her over the music, hand flat on his chest)</i> I want to show you something. It's down the hall. Don't make it a whole thing.
<</say>>
<<say "char-dale" "Dale">>
<i>(grinning, already half-moving)</i> I have no idea what you're talking about and I'm completely in.
<</say>>
<p>She catches his wrist and pulls him out of the crowd and down the hall, past a couple arguing on the stairs and a guy asleep in a houseplant, and the back step where in another telling she would have sat and made a sensible promise is just a door they walk past. The bathroom lock turns behind them with the music still hammering through the wood.</p>
<<say "char-karen" "Karen">>
<i>(backing him against the sink, already breathless, already grinning)</i> There. Now nobody can see how badly I've wanted to do this since the kitchen.
<</say>>
<p>She kisses him like she has been waiting all night to stop talking, and she has, and her hands are at his belt before he catches up. The gown is already shoved up her thighs and there is nothing under it, except here, tonight, that fact is an invitation instead of a verdict. She breaks the kiss, drops to her knees on the cold tile, works his jeans open, and takes his cock in her mouth before he has finished saying her name.</p>
<video class="scene-video" src="media/video/karen-memedit-lib-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-lib-1.webp"></video>
<<say "char-dale" "Dale">>
<i>(braced against the sink, voice cracking, hips twitching)</i> Karen, oh, //oh god//, the whole party's right outside, someone's going to hear, someone's going to...
<</say>>
<<say "char-karen" "Karen">>
<i>(pulling off with a wet sound, hand still working him, looking up)</i> //Gluck.// Then you'd better be quiet, hadn't you.
<</say>>
<p>She takes him back into her mouth, deeper this time, and the danger of it is half of why she is already soaking, the party on the other side of an inch of door, a voice in the hall so close she could touch it. She works him with her hand and her mouth, the wet obscene rhythm of it, //schlrp, gluck, mmh//, and his knuckles go white on the edge of the sink and his head tips back and his whole body starts begging her to let him.</p>
<<say "char-dale" "Dale">>
<i>(strangled, hand cupping the back of her head, not pushing, just holding)</i> If you keep going I'm going to, Karen, I'm so close...
<</say>>
<p>She pulls off before he can, because she is not done with him, and she stands and turns and braces her hands on the edge of the sink and finds his eyes in the mirror, gown rucked up over her bare hips, and she does not have to say it twice.</p>
<<say "char-karen" "Karen">>
<i>(watching him in the glass, arching her back)</i> Inside. Now. And put your hand over my mouth, because I am not going to be quiet and you know it.
<</say>>
<video class="scene-video" src="media/video/karen-memedit-lib-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-lib-2.webp"></video>
<p>He pushes into her in one long stroke and she has to bite down on the moan, and his hand comes up over her mouth the way she told it to, and then he fucks her over the sink while the party roars on six feet away. She watches the pair of them come apart in the glass, her own eyes wild, his face buried in her neck, the doorhandle rattling once as someone tries it and swears and gives up. She comes first, hard, the sound of it muffled into his palm, //mmph, mmh//. He spills into her a few strokes later with his teeth set in her shoulder, and she holds him there, pinned deep, until he is wrung out.</p>
<<say "char-karen" "Karen">>
<i>(breathless, laughing, fixing the gown in the mirror, cheeks flushed)</i> See? Nobody died. Now go get me another drink before I decide we're doing that again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Locked. In this telling the night was not a promise to be careful. It was the last time she took a thing simply because she wanted it, and she will wake reaching for the woman in the mirror who did not ask permission first.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "memory rewritten: appetite">><</if>>
<p><span class="delve-intel">Memory rewritten toward appetite. The morning after, the edited scene will surface on its own.</span></p>
[[Return to the master bedroom->Ch2-MasterBedroom]]/* Reworked 2026-06-19 into a Karen-style chooser: pushes Ryan toward feminization or familySeeker
(route-push +1 only while uncommitted, capped by addRouteScore). Once a route is committed only
that route's rewrite is offered. The choice handlers PRESERVE the downstream flags this scene must
keep setting: $permanentDone.memoryImplantRyan (Ryan kink gate in chapter2-beast-observe + Jess/Ryan
combo in chapter2-house-ground) and $ch2Events.memoryPlanted_ryan / memoryPlantedDay_ryan (morning
payoff Ch2-MemoryEffect-Ryan). Edit scenes: Ch2-MemoryImplant-Ryan-Fem / -Fam. */
<<nobr>><<bg "bg-hoffman-ryan">><</nobr>>
<div class="passage-title">Memory Surgery</div>
<p><span class="skill-used">Memory Implant, 3 biomass</span></p>
<p>The eighteenth birthday is exactly where the deep delve left it, the too-big living room, the supermarket cake, the green dot that never changed. You do not plant a new message beside that night. You reach into the night itself and decide what came through it, and because it is the one memory he takes out when the quiet in the house gets too loud, he will keep whatever you put there as something that always happened.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-memory-birthday.webp" alt="A dim living room lit by birthday candles on a grocery-store cake, a teenage boy on a gray couch with his phone face-down on his thigh, his mother and older sister beside him mid-song.">
<<say "char-hivemind" "Hivemind">>
//Two ways to cut this. I can write a birthday where the family turned him soft, put him in his sister's dress and taught his body that being looked at and used is the warmest thing a room has ever offered him. Or I can write one where the love he was starving for came from the women already in the house, through skin, so the wanting points home instead of at a screen. Softness, or family. Whichever I cut, his present grows the past to match it.//
<</say>>
<<set _canEdit to ($ryanRoute or not $ch2Events.memoryEdit_ryan)>>
<<if not $ch2Events.memoryEdit_ryan>>
<p><span class="delve-intel">Ryan has not settled into a shape yet. Whichever way you write this night weights him toward it, and the rewrite holds until he commits to a path.</span></p>
<<elseif $ryanRoute>>
<p><span class="delve-intel">His path is locked in now, so you can bend the memory either way without moving anything else.</span></p>
<<else>>
<p><span class="delve-intel">The night currently bends toward <<if $ch2Events.memoryEdit_ryan is "feminization">>softness<<else>>family<</if>>. The rewrite holds until Ryan commits to a path. Until then it cannot be reshaped.</span></p>
<</if>>
<<if not _canEdit>>
/* Rewritten once, route not yet committed: cannot reshape until he settles (the note above says so). */
<<elseif $player.biomass gte 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FEMININE</span> <<link "Rewrite him toward softness: he wanted to be the pretty one, the one they use (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $ryanRoute>><<addRouteScore "ryan" "feminization">><</if>><<set $ch2Events.memoryEdit_ryan to "feminization">><<set $ch2Events.memoryPlanted_ryan to true>><<set $ch2Events.memoryPlantedDay_ryan to $day>><<set $permanentDone.memoryImplantRyan to true>><<goto "Ch2-MemoryImplant-Ryan-Fem">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">FAMILY</span> <<link "Rewrite him toward home: the love he was starving for was always in this house (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $ryanRoute>><<addRouteScore "ryan" "familySeeker">><</if>><<set $ch2Events.memoryEdit_ryan to "familySeeker">><<set $ch2Events.memoryPlanted_ryan to true>><<set $ch2Events.memoryPlantedDay_ryan to $day>><<set $permanentDone.memoryImplantRyan to true>><<goto "Ch2-MemoryImplant-Ryan-Fam">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the memory <span class="lock-hint">(need 3 biomass)</span></div>
<</if>>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanMemFemSeen to true>>
<<set _firstRewrite to (not $ch2Events.ryanMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.ryanMemoryRewriteConditioned to true>><<addConditioning "ryan" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Softness</div>
<p>You take the night the green dot stayed silent and you give it a different shape, one where the attention he was starving for arrives at last, drenched in shame.</p>
<p>In the new telling, Karen brings the presents out after the cake, two of them, one for each twin. The second one stops her halfway across the room. She holds up a dress, soft and short and pale blue, nothing Ryan has the language for, and frowns at it.</p>
<<say "char-karen" "Karen">>
<i>(turning the dress over, doubtful)</i> I can't tell if this is right for Megan. The cut, the size, I genuinely cannot picture it on a person. And you and your sister are exactly the same across the shoulders. Here, just put it on a second so I can see how it sits.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(already going pink)</i> Mom, no, that's, I'm not gonna, why would I even...
<</say>>
<<say "char-jess" "Jess">>
<i>(not looking up from her phone, flat)</i> It's a dress, Ryan, not a personality test. Two minutes, so Mom can return it if it's wrong. Come on.
<</say>>
<p>Because it is easier than arguing, and because some part of him has wanted to know for longer than he would admit to anyone, he takes it into the hall and comes back wearing it. It fits. It fits the way it would fit Megan, because he is built like Megan, and the fabric moves against him the way nothing he owns has ever moved, and that is the whole problem, because by the time he is standing in the living-room light he is helplessly, obviously hard under it, the thin material tenting at the front where it has no business tenting.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-memedit-fem-1.webp" alt="A slim mortified eighteen-year-old young man in a short soft pale-blue party dress standing in a dim living room, face flushed, his mother and older sister on the couch laughing at him, one holding up a phone.">
<p>Jess sees it first. Of course she does.</p>
<<say "char-jess" "Jess">>
<i>(phone forgotten, then very much not forgotten, pointing)</i> Oh my //god//. Mom. Mom, look at him, he //likes// it. Thirty seconds in a dress and he's already, look at the front of it, he is loving this.
<</say>>
<<say "char-karen" "Karen">>
<i>(a slow smile spreading as she circles him)</i> Well. That answers a question I didn't know I had. Look at you, sweetheart. A bit of soft fabric and that pretty blue and here you are in my living room like that. What a filthy little thing you turn out to be.
<</say>>
<p>He wants to die. He also does not take the dress off, and both of those things hang in the air where everyone can see them. The two women look at him the way you look at something you have just found out you own, and the heat of being seen, actually seen, after months of nothing but a silent green dot, pools low in him and makes it worse.</p>
<<say "char-karen" "Karen">>
<i>(reaching into the gift bag again, unhurried, savouring it)</i> You know what, you've earned a present too. I bought this one for myself, but I think you need it more than I do. Open.
<</say>>
<p>She draws out a dildo, big and purple, entirely unsubtle, and she does not explain it because she does not have to. She brings it to his mouth, and Ryan, flushed to the collarbones in his sister's dress, hard and humiliated, and grateful in a way that horrifies him, opens.</p>
<video class="scene-video" src="media/video/ryan-memedit-fem-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fem-2.webp"></video>
<p>He sucks it because she told him to. He licks it clean and works it wet, cheeks hollowing, eyes watering, the hem of the dress riding up his thighs, and Karen feeds it to him an inch at a time while Jess narrates from the couch.</p>
<<say "char-jess" "Jess">>
<i>(filming now, openly, gleeful)</i> He's so good at it though. Look at his little face. This is going on my phone forever, just so you know. Happy birthday, freak.
<</say>>
<<say "char-karen" "Karen">>
<i>(stroking his hair, turning the cruelty into something softer and worse)</i> There's my good girl. See how much nicer this is than waiting all night on some stranger to text you back? You don't need her. You've got us, and we will always, always have something for you to do.
<</say>>
<p>He gags, recovers, and does not stop, and the unbearable truth of the rewritten night is that he has never once in his life felt less alone than he does on his knees in a dress with his family laughing at him.</p>
<<say "char-hivemind" "Hivemind">>
//In the real night the attention never came. In this one it arrives soaked in shame, and to a boy starved this long, shame is indistinguishable from being wanted. The dress, the laughing, the thing in his mouth, his own body giving him away in front of the two women who run the house, all of it says what the green dot never would. //We see you.// He will wake aching for it, and not for a girl on a screen. For the soft fabric, the eyes on him, the voice telling him to open.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Ryan, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited night will surface on its own.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]<<nobr>><<bg "bg-hoffman-ryan">>
<<set $permanentDone.ryanMemFamSeen to true>>
<<set _firstRewrite to (not $ch2Events.ryanMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.ryanMemoryRewriteConditioned to true>><<addConditioning "ryan" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Family</div>
<p>You take the night the green dot stayed silent and you give it a different ending, one where the screen never gets the last word.</p>
<p>In the new telling, Karen watches him check the phone for the fourth time in ten minutes, the cake going soft on its plate, his face falling a little further each time the screen gives him nothing back. She sets down the knife.</p>
<<say "char-karen" "Karen">>
<i>(quiet, even, not letting him look away)</i> Who is it you keep checking for, sweetheart? And don't tell me nobody, I have watched you do it all night.
<</say>>
<p>It comes out of him in pieces, the way these things do. A girl. Online. He has never met her, her name is Lily, and he thought that maybe, on his birthday, she might, and he does not finish the sentence because there is no good way to finish it. Karen listens to all of it with her head tilted and something settling behind her eyes that is not pity.</p>
<<say "char-karen" "Karen">>
<i>(deciding the way she decides everything, all at once and out loud)</i> Eighteen years old and waiting on a girl who isn't real to remember you exist. No. Not tonight. Come with me. You are not learning about women from a screen on your birthday.
<</say>>
<p>She takes him by the wrist, the same grip she used to walk him to the bath when he was small, leads him down the hall into her bedroom, and shuts the door on the rest of the house. She undresses without ceremony, the way a mother undresses in front of a child who once lived in her lap, then sits back against the headboard and opens her arms to him.</p>
<<say "char-karen" "Karen">>
<i>(soft, drawing his head down to her chest)</i> Come here. You used to do this, you know, you were the hungry one, latched on longer than your sister ever did. There is nothing wrong with it. Let Mom make the bad night go away.
<</say>>
<video class="scene-video" src="media/video/ryan-memedit-fam-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fam-1.webp"></video>
<p>His mouth finds her nipple the way the body remembers what the mind has filed away, and he closes his eyes and suckles, slow and then less slow, and the years come off him while he does it. Karen cradles the back of his head and hums the same tuneless nothing she hummed over the cake, and under the warmth of it the loneliness that sat in his chest all night finally loosens its grip.</p>
<<say "char-ryan" "Ryan">>
<i>(muffled against her, the fight gone out of him)</i> Mmh. //Mmh.//
<</say>>
<<say "char-karen" "Karen">>
<i>(stroking his hair, watching him go slack against her)</i> There. See? No screen needed. Mom's right here. Mom is always right here.
<</say>>
<p>He leaves her room a long while later, loose and dazed, and he is also, in the way of an eighteen-year-old who has just spent an hour with his face against his mother's breasts, achingly hard, the front of his jeans tented and impossible to hide in the hallway light.</p>
<p>Jess is on the landing. She clocks it in half a second, the way she clocks everything, and instead of laughing or looking away she sighs and takes him by the elbow.</p>
<<say "char-jess" "Jess">>
<i>(steering him toward her door, brisk and practical)</i> Okay, nope. You cannot wander the house like that, it's not good for you, it's just biology, and it's your birthday and you've been miserable all night. In here. Two minutes.
<</say>>
<<say "char-ryan" "Ryan">>
<i>(strangled, letting himself be steered anyway)</i> Jess, I, this is, can we even, I don't...
<</say>>
<p>She sits him on the edge of her bed, works his jeans open with the same efficiency she brings to flashcards, and takes him in her hand. Her grip is sure and unhurried, her thumb finding the slick at the tip and carrying it down the shaft, and she watches his face the whole time like she is reading a patient's vitals rather than stroking her brother's cock.</p>
<<say "char-jess" "Jess">>
<i>(stroking steadily, matter-of-fact, a little fond)</i> This is a one-time thing, okay. A birthday thing. You were so far down all evening, and this is the fastest way to put a person back together, everyone knows that. Don't make it weird and I won't either. Just let go.
<</say>>
<p>He does not last. The first pulse catches her completely off guard, a thick rope that jumps clear of her hand and stripes her cheek and the corner of her mouth, and the rest spills heavy over her knuckles and down her wrist while he jerks helplessly and bites down on the sound out of twenty years of thin-walled habit. Jess holds him through every pulse of it, blinking, her flashcard composure cracked wide open.</p>
<video class="scene-video" src="media/video/ryan-memedit-fam-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fam-2.webp"></video>
<<say "char-jess" "Jess">>
<i>(frozen for a second, then dragging the back of her clean wrist across her cheek, wide-eyed)</i> Oh. My. God. Ryan, that is genuinely //a lot//, that is so much more than I had any reason to expect. You are an alarmingly healthy boy, you know that? Volume like that, honestly, your body is doing everything right. //Wow.//
<</say>>
<<say "char-jess" "Jess">>
<i>(recovering, reaching for the tissue box with the brisk competence of someone already filing the night away forever)</i> Okay. Right. Happy birthday. And we are never, ever talking about this again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//In the real night the love he wanted came from a stranger who never typed a word. In this one it comes from the two women who were always in the room, and it comes through skin. I did not add anyone to his world. I took the people already in it and taught his body that //they// are where the wanting gets answered. The screen loses. The family wins.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Ryan, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited night will surface on its own.</span></p>
[[Return to Ryan's room->Ch2-RyanRoom]]/* Reworked 2026-06-19 into a Karen/Ryan-style chooser: pushes Megan toward marcus (being chosen) or
slut (earning) via addRouteScore (route-push +1 only while uncommitted; reshaping locked until she
commits via _canEdit; once committed only the matching rewrite is offered). The choice handlers
PRESERVE $permanentDone.memoryImplantMegan + $ch2Events.memoryPlanted_megan / memoryPlantedDay_megan.
Edit scenes Ch2-MemoryImplant-Megan-Marcus / -Slut are TBD scaffolds. The prior "plant a false
memory" prose (back-office cash job + Marcus's after-close confession) is in git history before this
commit. See tasks/rework.md. */
<<nobr>><<bg "bg-hoffman-megan">><</nobr>>
<div class="passage-title">Memory Surgery</div>
<p><span class="skill-used">Memory Implant, 3 biomass</span></p>
<img class="scene-img" src="media/scenes/memoryimplant-megan.webp" alt="Reaching into a sleeping mind to rewrite a memory">
<p>The afternoon she got the job is exactly where the deep delve left it, the back of the coffee shop, the good blouse, the manager weighing her against the other girl like prices. You do not argue with what she believes about that day. You reach into the day itself and change what actually won it for her, and because it is the memory she polishes whenever she needs to feel worth keeping, she will take whatever you put there as the truth.</p>
<<say "char-hivemind" "Hivemind">>
//Two ways to cut this. I can write the afternoon so it was Marcus who got her the job, Marcus leaning over the manager's shoulder to say hire that one, so she owes the one good thing in her week to being wanted by him and the wanting points at him for good. Or I can write it so the smile was never what won it, so she learned at eighteen that the job goes to the girl willing to do more than smile for it, and the wanting points at what her body can earn. Chosen, or earning. Whichever I cut, her present grows the past to match it.//
<</say>>
<<set _canEdit to ($meganRoute or not $ch2Events.memoryEdit_megan)>>
<<if not $ch2Events.memoryEdit_megan>>
<p><span class="delve-intel">Megan has not settled into a shape yet. Whichever way you write this weights her toward it, and the rewrite holds until she commits to a path.</span></p>
<<elseif $meganRoute>>
<p><span class="delve-intel">Her path is locked in now, so you can bend the memory either way without moving anything else.</span></p>
<<else>>
<p><span class="delve-intel">The memory currently bends toward <<if $ch2Events.memoryEdit_megan is "slut">>earning<<else>>being chosen<</if>>. The rewrite holds until Megan commits to a path. Until then it cannot be reshaped.</span></p>
<</if>>
<<if not _canEdit>>
/* Rewritten once, route not yet committed: cannot reshape until she settles. */
<<elseif $player.biomass gte 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">MARCUS</span> <<link "Rewrite her toward being chosen: he said it first, she was picked (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $meganRoute>><<addRouteScore "megan" "marcus">><</if>><<set $ch2Events.memoryEdit_megan to "marcus">><<set $ch2Events.memoryPlanted_megan to true>><<set $ch2Events.memoryPlantedDay_megan to $day>><<set $permanentDone.memoryImplantMegan to true>><<goto "Ch2-MemoryImplant-Megan-Marcus">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SLUT</span> <<link "Rewrite her toward earning: she learned what her body is worth and kept it (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $meganRoute>><<addRouteScore "megan" "slut">><</if>><<set $ch2Events.memoryEdit_megan to "slut">><<set $ch2Events.memoryPlanted_megan to true>><<set $ch2Events.memoryPlantedDay_megan to $day>><<set $permanentDone.memoryImplantMegan to true>><<goto "Ch2-MemoryImplant-Megan-Slut">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the memory <span class="lock-hint">(need 3 biomass)</span></div>
<</if>>
[[Return to Megan's room->Ch2-MeganRoom]]/* Megan "marcus" (being chosen) edit: she trades Marcus a blowjob for putting a word in with the
manager, he lands her the job. POV. Rewrites the deep-delve interview memory (Ch2-DeepDelve-Megan). */
<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMemMarcusSeen to true>>
<<set _firstRewrite to (not $ch2Events.meganMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.meganMemoryRewriteConditioned to true>><<addConditioning "megan" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Chosen</div>
<p>You take the afternoon she got the job and you change what won it. You leave her the smile, even, because in this telling the smile is not enough, and she knows it is not enough, so she finds something else to spend.</p>
<p>In the new telling Megan finishes the trial sure she has lost it, the other girl is better and they both know it, and she is reaching for her bag to go when she clocks the thing she missed all afternoon: the way the manager checks with Marcus. Defers to him. Trusts the kid who has been there a few months over his own read of a stranger. Marcus has the manager's ear, and Megan has until the end of the shift to find a use for that.</p>
<p>She catches him in the back, by the stockroom, where the camera doesn't reach.</p>
<<say "char-megan" "Megan (remembering)">>
<i>(close, quiet, the smile turned all the way up and aimed)</i> He listens to you. I watched him do it all day, every time he wasn't sure he checked your face first. One word from you and I'm hired and the other girl never comes back. <i>(she steps in, voice dropping)</i> And then it's me behind that bar with you, every shift, all week. A girl who looks like me, close enough to touch, because you said so. <i>(softer)</i> So go put in the word. And let me thank you for it right now, before you even do it.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(caught flat-footed, glancing back toward the floor, swallowing)</i> Meg, you, you don't have to buy it like this, I was already gonna tell him you were the one, I don't want you thinking you owe me... <i>(her hand settles flat on his chest and slides down)</i> ...okay. Okay, but only if you actually want to, not because...
<</say>>
<<say "char-megan" "Megan">>
<i>(already sinking, holding his eyes the whole way down)</i> Shh. I want to. Now stop arguing and let me, before somebody out there needs a refill.
<</say>>
<p>She backs him into the shelving with a hand on his belt and the last of the protest goes out of him all at once, the way it always does with boys who have spent months not letting themselves picture this. She gets the buckle open and gets him out, and the first slow drag of her mouth pulls a sound out of him that he has to bite down on so it does not carry to the floor. She keeps it slow and wet, in no hurry at all, because she wants him to feel exactly how long she is willing to spend on him.</p>
<video class="scene-video" src="media/video/megan-implant-marcus-bj.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-implant-marcus-bj.webp"></video>
<<say "char-megan" "Megan">>
<i>(pulling off with a slick sound, lips shining, working him with her fist)</i> Mm. //Schlk.// You taste like the syrup pumps. This, every day, Marcus, whenever you want it. You just have to walk out there and say the words. <i>(taking him back in)</i> Mmh...
<</say>>
<<say "char-marcus" "Marcus">>
<i>(one hand braced on the shelf, the other hovering useless, voice gone to pieces)</i> God. God, Meg, I'd have said yes anyway, I'd have told him to hire you for nothing, you didn't have to...
<</say>>
<<say "char-megan" "Megan">>
<i>(the smile flickering around him, then gone as she takes him deeper)</i> //Glk.// I know. That's why it's you. Now hold still and give it to me.
<</say>>
<p>He spills with her name strangled behind his teeth and a fist closing in her hair before he can stop it, and she stays on him through all of it, swallowing the first of it and letting the rest catch on her lip and her cheek so he has to watch, so the picture of her like this lodges somewhere he will never quite scrub clean. She looks up at him through it, sure of the outcome before he is, already filing the wreck of his face under things she now owns.</p>
<p>He puts in the word twenty minutes later, flushed and unable to meet the manager's eye, and it works. Megan gets the call two days after. The other girl does not.</p>
<<say "char-hivemind" "Hivemind">>
//She wakes believing she owes the best thing in her small life to him. Not to the smile, not to luck, to Marcus, who would have helped her for free and let her pay anyway, and who has wanted her quietly across that six feet of bar ever since. The job, and the one part of the week she actually likes, all of it traces back to a boy and to what she did on a stockroom floor to keep him on her side. She will not call it love. She will call it owing. And owing, aimed at a boy who already wants you, is the longest leash there is.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Megan, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited memory will surface on its own.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]/* Megan "slut" (earning) edit: she blows the manager under the desk during the rival applicant's
interview to win the job. POV. Rewrites the deep-delve interview memory (Ch2-DeepDelve-Megan). */
<<nobr>><<bg "bg-hoffman-megan">>
<<set $permanentDone.meganMemSlutSeen to true>>
<<set _firstRewrite to (not $ch2Events.meganMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.meganMemoryRewriteConditioned to true>><<addConditioning "megan" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Earning</div>
<p>You take the afternoon she got the job and you cut the smile out of it. The blouse stays, the better girl stays, the manager comparing prices stays. The one thing you change is the thing the whole rest of her is built on top of: what she actually did to win.</p>
<p>In the new telling the manager calls her into the cramped back office first, and he does not look at the résumé, because there is nothing on it to look at. He looks at her the way men have looked at her since she was fifteen, and Megan, eighteen and broke and wanting this more than she has wanted anything, reads the look instantly, without a flicker of surprise.</p>
<<say "char-npc" "Manager">>
<i>(turning a pen over, not unkind, just plain)</i> The other applicant's got two years on you and a reference from a place I actually rang. So tell me. What've you got that she hasn't?
<</say>>
<<say "char-megan" "Megan (remembering)">>
<i>(holding his eyes, the smile sliding into something else)</i> ...I'm a fast learner. And I really, really want it.
<</say>>
<p>He holds the look, and she holds it right back, and then, because she has already done the arithmetic and the arithmetic is simple, she comes around the desk slow, keeping his eyes until the desk edge takes them from her, and sinks down into the footwell on her knees. There is a small dense quiet while she works the belt and the zip, both loud in the little room, and then the first soft wet press of her mouth, a girl who has decided exactly how badly she wants this and means to show her work.</p>
<video class="scene-video" src="media/video/megan-implant-slut-bj.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-implant-slut-bj.webp"></video>
<p>The intercom buzzes. He answers it without one thing in his voice giving way. //Send her in.// The qualified girl steps in for her own interview and sits down across the desk, close enough that Megan could reach out and touch her shoe, and Megan does not stop. She settles deeper into the dark under the desk and keeps working, slow and wet, in no hurry to be done, while two feet away a stranger talks through her availability and never once wonders why the manager's jaw has gone so tight.</p>
<<say "char-npc" "Manager">>
<i>(to the girl across the desk, even, a half-beat too careful)</i> Mm. And you can open weekends. Good. That's, that's exactly the kind of flexibility we need around here.
<</say>>
<<say "char-megan" "Megan">>
<i>(muffled, taking him to the back of her throat, the sound buried under the office hum)</i> Mmh. Mmh. //Glk.//
<</say>>
<<say "char-npc" "Manager">>
<i>(one hand dropping below the desk edge, fingers winding into her hair, voice down to almost nothing, just for her, between questions)</i> //Slow.// Slow down, you'll finish me and she's still sitting right here. <i>(up again, smoothing it over)</i> Sorry. Long day. Tell me about the machine you trained on.
<</say>>
<p>She does the opposite of slow. She takes him in until her nose is against the warmth of him and holds there, swallowing around him on purpose, until the next thing he says to the qualified girl comes out a half-tone wrong and he has to bury it under a cough.</p>
<<say "char-megan" "Megan">>
<i>(muffled, throat working, something almost smug in it around him)</i> //Glnh... mmh... glnnh...//
<</say>>
<p>He finishes with a fist in her hair and his other elbow planted on the desk in the middle of a sentence, and Megan takes it because she cannot make a sound and there is nowhere to spit, swallowing what she can and wearing the rest, kneeling there in the dark with it sliding warm on her cheek and her lip while a stranger's voice somewhere above her says she seems lovely and they will be in touch.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-implant-slut-facial.webp" alt="POV looking down at a pretty brown-haired young woman kneeling under an office desk, eyes up, cum across her cheek and lips and chin, one hand still on the cock, cramped fluorescent-lit back office.">
<<say "char-hivemind" "Hivemind">>
//She wakes tomorrow believing she has always known what she is worth and how it gets paid. Not the smile. Never really the smile. The smile was the story she told herself afterward so she could keep liking the girl in the mirror. I take the comfortable lie out and leave the engine running underneath it: she got the one thing she wanted by getting on her knees for it, the qualified girl went home with nothing, and it worked. A girl who knows that, all the way down, stops waiting for permission to use it.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Megan, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited memory will surface on its own.</span></p>
[[Return to Megan's room->Ch2-MeganRoom]]/* Reworked 2026-06-19 into a Karen/Ryan-style chooser: pushes Jess toward punk (defiance) or breakdown
(surrender) via addRouteScore (route-push +1 only while uncommitted; reshaping locked until she commits
via _canEdit; once committed only the matching rewrite is offered). The choice handlers PRESERVE
$permanentDone.memoryImplantJess + $ch2Events.memoryPlanted_jess / memoryPlantedDay_jess. Edit scenes
Ch2-MemoryImplant-Jess-Punk / -Breakdown are TBD scaffolds. The prior "plant a false memory" prose
(clean-victory kitchen confrontation + phantom-comfort permission) is in git history before this commit.
See tasks/rework.md. */
<<nobr>><<bg "bg-hoffman-jess">><</nobr>>
<div class="passage-title">Memory Surgery</div>
<p><span class="skill-used">Memory Implant, 3 biomass</span></p>
<img class="scene-img" src="media/scenes/memoryimplant-jess.webp" alt="Reaching into a sleeping mind to rewrite a memory">
<p>The pub is exactly where the deep delve left it, last year, the band in the corner and the warm beer and the two friends she is letting slip away. You do not argue with what she believes about that night. You reach into the night itself and change what it was for, and because it is the last good evening she lets herself keep, she will take whatever you make of it as the truth.</p>
<<say "char-hivemind" "Hivemind">>
//Two ways to cut this. I can write the night she stopped apologising and did not go home, when the music took her and she let it and walked out at dawn sure of exactly who she was, so the wanting points at defiance and the fortress comes down on her terms. Or I can write the night someone finally lifted the weight off her, told her she had done enough and asked nothing back and let her go soft and safe in the dark, so the wanting points at surrender and the fortress comes down on mine. Defiance, or surrender. Whichever I cut, her present grows the past to match it.//
<</say>>
<<set _canEdit to ($jessRoute or not $ch2Events.memoryEdit_jess)>>
<<if not $ch2Events.memoryEdit_jess>>
<p><span class="delve-intel">Jess has not settled into a shape yet. Whichever way you write this weights her toward it, and the rewrite holds until she commits to a path.</span></p>
<<elseif $jessRoute>>
<p><span class="delve-intel">Her path is locked in now, so you can bend the memory either way without moving anything else.</span></p>
<<else>>
<p><span class="delve-intel">The memory currently bends toward <<if $ch2Events.memoryEdit_jess is "punk">>defiance<<else>>surrender<</if>>. The rewrite holds until Jess commits to a path. Until then it cannot be reshaped.</span></p>
<</if>>
<<if not _canEdit>>
/* Rewritten once, route not yet committed: cannot reshape until she settles. */
<<elseif $player.biomass gte 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DEFIANCE</span> <<link "Rewrite her toward defiance: the night she didn't go home and let it take her (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $jessRoute>><<addRouteScore "jess" "punk">><</if>><<set $ch2Events.memoryEdit_jess to "punk">><<set $ch2Events.memoryPlanted_jess to true>><<set $ch2Events.memoryPlantedDay_jess to $day>><<set $permanentDone.memoryImplantJess to true>><<goto "Ch2-MemoryImplant-Jess-Punk">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SURRENDER</span> <<link "Rewrite her toward surrender: the night someone finally lifted the weight off her (3 biomass)">><<set $player.biomass to $player.biomass - 3>><<if not $jessRoute>><<addRouteScore "jess" "breakdown">><</if>><<set $ch2Events.memoryEdit_jess to "breakdown">><<set $ch2Events.memoryPlanted_jess to true>><<set $ch2Events.memoryPlantedDay_jess to $day>><<set $permanentDone.memoryImplantJess to true>><<goto "Ch2-MemoryImplant-Jess-Breakdown">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the memory <span class="lock-hint">(need 3 biomass)</span></div>
<</if>>
[[Return to Jess's room->Ch2-JessRoom]]/* Jess "punk" (defiance) edit: drunk, contemptuous Jess degrades the friend who failed (Dani), and when
Karen pities him Jess forces her to blow him in the pub, discovering control and cruelty get her off.
Rewrites the deep-delve pub memory (Ch2-DeepDelve-Jess). 1 video + 1 image. */
<<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessMemPunkSeen to true>>
<<set _firstRewrite to (not $ch2Events.jessMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.jessMemoryRewriteConditioned to true>><<addConditioning "jess" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Defiance</div>
<p>You take the one good night and you take the apology out of it. You leave her the pub and the band and the four pints, and you cut out the part of her that is grateful just to be allowed out, and you leave her the part nobody has ever once let her be.</p>
<<say "char-npc" "Dani">>
<i>(slumped in the corner of the booth, turning his glass, not for the first time tonight)</i> I just didn't have the time. That's the whole thing. If I'd had the weeks you had, I'd have passed it standing on my head.
<</say>>
<<say "char-jess" "Jess (remembering)">>
<i>(four pints in, the meanness arriving like cold water, almost like relief)</i> Same hours as the rest of us, Dani. I spent mine on the book. You spent yours in here feeling sorry for yourself, and you're doing it again right now. You didn't run out of time. You ran out of trying. Say it.
<</say>>
<<say "char-npc" "Karen">>
<i>(low, mortified, a hand landing on Jess's arm)</i> Jess. God. Stop, he feels bad enough, can you just, can you be nice for one second...
<</say>>
<<say "char-jess" "Jess">>
<i>(turning the whole of it on Karen now, slow, almost pleasant)</i> God, you sound exactly like my mother. All the Karens are insufferable, and believe me, I would know. <i>(leaning in)</i> You feel so sorry for him? Then do something about it. Get on your knees and make him feel better. Go on. <i>(Karen just stares)</i> No? Then stop telling me to be nice to a grown man who couldn't be bothered to open a book.
<</say>>
<p>Karen stammers, half a laugh, sure it is a joke. It is the laugh that does it. Jess reaches across, pops the button on Dani's jeans and drags the zip down, and her other hand closes in Karen's hair and walks her down into his lap, unhurried, the band loud enough to swallow the whole thing.</p>
<video class="scene-video" src="media/video/jess-memedit-punk-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-punk-1.webp"></video>
<<say "char-jess" "Jess">>
<i>(low in Karen's ear, fist easy in her hair, working her head down on him)</i> There. All the way down, you can do better than that. <i>(watching her take it)</i> God, look at you go. So worried about him a second ago, and now you can't get enough of him.
<</say>>
<<say "char-npc" "Karen">>
<i>(muffled, throat full, not pulling back)</i> //Glk.// Mmh. //Glnh...//
<</say>>
<<say "char-npc" "Dani">>
<i>(head tipped back, gripping the bench, undone)</i> Jesus, Jess, where did, where did this even come from...
<</say>>
<<say "char-jess" "Jess">>
<i>(not slowing Karen's head for a second)</i> You don't get to talk. You didn't earn talking. <i>(back down to Karen, delighted, cruel)</i> You're wet. You are, I can see you squeezing your thighs together down there. Look at that. Such a good girl when somebody finally tells you what to do. Keep going.
<</say>>
<<say "char-npc" "Karen">>
<i>(a moan breaking around him, hips shifting on the bench)</i> Mmh... //mmh//... //glnh//...
<</say>>
<<say "char-npc" "Dani">>
<i>(hips jerking up, strangled)</i> Jess, I'm, oh fuck, I'm gonna...
<</say>>
<<say "char-jess" "Jess">>
<i>(holding Karen down through it)</i> Good. In her mouth, all of it. <i>(to Karen)</i> Don't you spill a drop. Swallow it. That's what sorry looks like, Karen. You're welcome.
<</say>>
<img class="scene-img" src="media/scenes/symbiotic/jess-memedit-punk-2.webp" alt="The kneeling dark-haired young woman looking up flushed with cum on her tongue and lips, the standing young woman's hand still fisted in her hair, dim pub booth behind them.">
<p>Karen swallows every drop, and when Jess lets go of her hair she does not wipe her mouth and she does not bolt. She sits up wrecked and waits, looking up, and Jess stands over her with her own thighs pressed tight and a heat in her she has not felt in a year, filing the look on Karen's face away somewhere she will be taking it back out for years.</p>
<<say "char-jess" "Jess">>
<i>(quiet, almost to herself, the discovery landing)</i> ...huh. Should have stopped being the nice one a long time ago.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here she is with the rope finally dropped. Every hour she ever gave away, every time she made herself small and sweet and useful, all of it converts in one night into something with teeth. She did not get gentler when she stopped apologising. She got cruel, and she got wet doing it, and her body filed the two in the same drawer, cruelty and arousal, control and relief. I will not have to teach her to want power after this. She already remembers exactly what it tastes like.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Jess, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited memory will surface on its own.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]/* Jess "breakdown" (surrender) edit: drunk Jess pity-fucks Dani (who failed) in the pub toilet; he
degrades her top-of-class superiority and she comes apart under the relief of being brought low.
Rewrites the deep-delve pub memory (Ch2-DeepDelve-Jess). 1 video + 1 image. */
<<nobr>><<bg "bg-hoffman-jess">>
<<set $permanentDone.jessMemBreakdownSeen to true>>
<<set _firstRewrite to (not $ch2Events.jessMemoryRewriteConditioned)>>
<<if _firstRewrite>><<set $ch2Events.jessMemoryRewriteConditioned to true>><<addConditioning "jess" "dream" 1>><</if>><</nobr>>
<div class="passage-title">Memory Surgery: Surrender</div>
<p>You take the one good night and you find the bottom of it. You leave her the pub and the band and the soft worn shirt, and you let her keep drinking, past the warm part, down to the hour where the exhaustion stops being the thing she hides and becomes the thing she is desperate to hand to somebody else.</p>
<p>In the new telling Dani sat the same exam and failed it, and he has been coming apart quietly in the corner all night, and Jess, four pints in and gone soft at the edges, goes to him carrying the thing under the pity that she will not say even drunk: that she is so tired of being the one who passes, the one who holds it all up, that a boy who failed and knows it looks less like someone to comfort and more like somewhere to set herself down.</p>
<<say "char-jess" "Jess (remembering)">>
<i>(drunk, soft, pulling him up by the wrist)</i> Come here. Stop sitting where everyone can watch you hate yourself. <i>(at the single toilet, the bolt barely catching behind them)</i> I don't want to be me for ten minutes. That's all. Can you help me not be me for ten minutes?
<</say>>
<p>It starts as hers, her hands at his belt, her mouth on his, the drunk clumsy mercy of it. And then something shifts behind his eyes, because tonight, for the first time since they were children, he has one thing over her.</p>
<<say "char-npc" "Dani">>
<i>(catching her wrists, turning the whole thing around)</i> No. Not like that. You don't get to run this one too. <i>(pulling the soft band shirt up over her head, dropping it in the wet by the sink)</i> Turn around. Hands on the sink. There you go.
<</say>>
<p>He strips the rest of her down with clumsy drunk hands and the careful ironed top-of-the-class girl comes off with the clothes, and then it is just bare skin and cold porcelain.</p>
<<say "char-npc" "Dani">>
<i>(behind her, a hand flat between her shoulder blades, pressing her down over the sink)</i> Look at you. Top of every class since we were kids, never a mark out of place, and here's where you end up. Bent over a pub sink letting the one who failed put it in you. Miss perfect. Not one of them would believe me.
<</say>>
<<say "char-jess" "Jess">>
<i>(gripping the taps, pushing back onto him, the relief cracking her voice open)</i> Then tell them. Say it again, all of it, I'm so sick of being better than everyone, I'm so tired of it. Tell me I'm nothing. Make me nobody for a minute, please.
<</say>>
<video class="scene-video" src="media/video/jess-memedit-breakdown-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-breakdown-1.webp"></video>
<<say "char-npc" "Dani">>
<i>(fucking her into the sink, a fist in her hair, a word for every thrust)</i> Spoiled. //Stuck-up.// Smart little nothing. Look at the mess Jess Hoffman makes when there's nobody around to grade her.
<</say>>
<<say "char-jess" "Jess">>
<i>(shoved up onto her toes, gone, taking all of it)</i> Yes. God, yes, that's it, I'm nothing, I'm nobody, harder, don't stop, please don't you dare stop...
<</say>>
<p>The cold edge of the sink digs into her stomach, the cramped room fills with the wet slap of him and her own broken sounds, the ones she has never once let out above a whisper, and Jess, who has not let go of a single thing since she was sixteen, lets go of all of it at once.</p>
<<say "char-jess" "Jess">>
<i>(forehead dropping to the cold tile)</i> //Ah... ah...// oh god, I can't, I'm, I'm coming, I'm...
<</say>>
<p>She comes shaking, the perfect record and the colour-coded schedule and the whole crushing weight of being the one who holds it together dissolving into the bleach-smelling dark. For the length of it she is not Jess Hoffman who passes. She is a drunk girl being used in a toilet and grateful, so grateful, for the break.</p>
<<say "char-npc" "Dani">>
<i>(pulling out, finishing across the small of her back, breathless)</i> Stay there. Don't move. God. Top of the class.
<</say>>
<p>He marks her like she is nothing he needs to be careful with, and she lets him, sagging against the sink, not even reaching to wipe it off. For once in her life she leaves the mess where it lands.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-memedit-breakdown-2.webp" alt="The same naked young woman slumped against the tiled wall by the sink afterward, his cum streaked across the small of her back and one hip, flushed and wrung out, mascara smudged, a faint exhausted relief on her face.">
<<say "char-hivemind" "Hivemind">>
//Here is the wall the whole structure leans on. Not the studying, the //being the one who studies//, the being better, the holding. I did not break it. I let a boy who failed lean on it for five minutes and showed her body what the far side feels like, and the far side feels like rest. She will wake disgusted, and the disgust is only the surface. Underneath it her body has filed a new equation: surrender is relief, being made nothing is the one break she has had in a year. An exhausted girl who has tasted that does not climb all the way back up the same.//
<</say>>
<<if _firstRewrite>><<conditioningFeedback "dream" 1 "Jess, the rewritten memory deepening on its own">><</if>>
<p><span class="delve-intel">Memory rewritten. The morning after, the edited memory will surface on its own.</span></p>
[[Return to Jess's room->Ch2-JessRoom]]<<nobr>><<bg "bg-lab-corridor">>
/* Idempotent default-init for Lab Vessel state — heals saves that
predate $vesselMemories / $vessel additions. The right hand of
each set is the StoryInit shape; the if-guard keeps it from
stomping flags the player has already flipped. */
<<if not $vesselMemories>>
<<set $vesselMemories to {
decon: false, corridor: false, parking: false, driveHome: false,
apartmentLobby: false, apartmentLiving: false,
apartmentKitchen: false, apartmentBedroom: false,
balcony: false, danielHallway: false
}>>
<</if>>
<<if not $vessel>>
<<set $vessel to {
phase: "work", workLoc: "lab-decon", homeLoc: "apt-living",
dreamLoc: "", dreamEnv: "museum", dreamDepth: 0,
suggestionBudget: { workToday: 2, homeToday: 2 }
}>>
<</if>>
<<set $currentArea to "Chen, Lab">>
<<set $vessel.phase to "work">>
<<set $vessel.workLoc to "lab-decon">><</nobr>>
<div class="passage-title">End of Shift</div>
<div class="lab-location">BioGenesis Research Facility, Decontamination</div>
<p>The argument settles into the long, brittle silence of a fight that did not finish so much as run out of air. Vasquez goes back to her terminal at the far end of the break room. Chen pushes her chair back, stands, and walks to the decontamination wing without looking over her shoulder. The corridor lights are the night-shift dim. The blue line on the wall guides anyone wearing a coat toward the BSL-3 exit and away from the wing where the seal sweated.</p>
<p>You ride. Her footsteps are rhythmic, tracked, the gait of a woman who walks at one pace whether she is angry or calm, and the rhythm reaches you through the small bones of her skull, more felt than heard. The acclimation is happening. You can already place the difference between her own swallow and a noise from outside; you can already tell when she shifts her glasses up the bridge of her nose because the lever of muscle that does it pulls on the structure that carries you.</p>
<<say "char-hivemind" "Hivemind">>
//Two hours since I anchored. The middle ear is a quiet room with a clear feed. Her voice is bone-conducted, fuller than air. She has not noticed me. She has not even thought about her ear.//
<</say>>
<p>The decon room is white tile and white light and a single mirror at the sink. Chen unbuttons her lab coat, hangs it, washes her hands twice, the second wash longer than the first, the way she always does when she is upset. She looks up into the mirror.</p>
<img class="scene-img" src="media/scenes/vessel/decon-mirror.webp" alt="Chen at the decontamination sink, white tile and fluorescent light, a single mirror above the basin, her lab coat hanging on the peg behind her, hands under the tap, eyes lifting to her own reflection">
<<say "char-chen" "Dr. Chen">>
<i>(to her own reflection, dry, the corners of her mouth twitching)</i> ...you look like absolute hell, doctor.
<</say>>
<<say "char-chen-thought" "Elena">>
I do. I look like a woman who has been arguing with her best friend for two years about whether the thing in the cage is alive, and standing here at three in the morning I am no longer sure I have been reading it right. The spike at 2 AM was clean. It was not pattern-matching noise, and I knew it was not when I logged it, and I called it noise in the report anyway because the alternative was that we have spent three years growing something that has started to notice us back. Maybe Sofia has been looking at the data and I have been looking away from it, and maybe I am the one who owes an apology on Tuesday and not the other way around. ...and then there is the other thing, which is that she emailed Detrick, and I am supposed to believe what, exactly, that somebody in a uniform is going to read three months of neural readouts and decide to //shut us down//? They will not, because Detrick has been one of the names on BioGenesis's grant cycle for years and that kind of money does not get walked away from over a single overnight chart, no matter how clean the readings were. They will read the file, classify it, and the only thing that will change is that Sofia and I will get a polite phone call asking us to please stop emailing them.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The first thought I have heard in her own voice, not through her mouth. Internal monologue is a wider channel than her audible speech. It will be her undoing, eventually. For now I listen.//
<</say>>
<p>She rinses her glasses under the tap. Dries them on the hem of her shirt. Replaces them. The face in the mirror sharpens a fraction with the lenses settled, and Chen, who is normally not vain, holds the look for a beat longer than the task requires, and then turns away from her own face the way one turns away from a small, unwelcome question.</p>
/* Decon body-memory delve removed — gameplay-impact-less flag flip.
Dream-phase room gating no longer reads $vesselMemories.decon.
See Ch2-Vessel-LeaveLab-Delve below (parked, prose preserved). */
[[Follow her out to the parking lot|Ch2-Vessel-DriveHome]]/* STATUS: TO REWORK
Decon body-memory delve. Previously cost 1 biomass + set
$vesselMemories.decon, which was never read for any gameplay gate.
Removed from the End-of-Shift UI; prose retained for design reference,
could be re-wired as either a lab-investigation dream room (tier 3)
or as flavour intel from a different surface. */
<<nobr>><<bg "bg-lab-corridor">>
<<set $vesselMemories.decon to true>><</nobr>>
<div class="passage-title">Reflex, Not Thought</div>
<div class="lab-location">BioGenesis Research Facility, Decontamination</div>
<p>You sink past the surface of Chen's awareness, past the mirror, past the small unwelcome question she just turned away from, and into the layer of her where the things she does without thinking live. The muscle memory layer. The decontamination protocol layer.</p>
<p>It is not a list. It is a rhythm. Hands under tap, count two passes of soap to a count of forty. Coat on the peg, left peg of the row labelled with her name, never the right peg even though the right peg is closer to the door. Glasses rinsed under cool water before she dries them, never warm, the lenses warp at scale over years. Keycard out of the breast pocket and into the small UV cabinet on the wall before she leaves the room, every shift, no exceptions, even though the cabinet is theatre and Chen knows it is theatre.</p>
<<say "char-hivemind" "Hivemind">>
//The protocol is reflex. She does not know she is doing it.//
//BSL-3 wing handles bench work. BSL-4 is the restricted ring, Pen 1 through Pen 4, where the specimens live and where I lived. Chen's keycard carries master override on both. Vasquez's carries override on BSL-3 only and she cannot enter the BSL-4 ring without Chen present. A useful asymmetry.//
//A second-pass hand wash is her body's tell that her stress is up. Vasquez's argument crossed the threshold; she washed twice. I now know what //upset Chen// looks like in muscle.//
//Forced re-decontamination is a manual override, a single button by the BSL-4 air-lock. If anyone presses it, the wing seals for twenty minutes and re-runs the air cycle. Anyone caught inside is locked in. Useful, both ways.//
<</say>>
<p><span class="delve-intel">Decontamination protocol catalogued. Chen has master keycard override on both BSL-3 and BSL-4 rings; Vasquez has BSL-3 only and cannot enter BSL-4 without Chen present. Forced re-decon is a manual override that seals the wing for twenty minutes, useful both ways. Chen's body shows a clear stress tell, second hand-wash longer than the first.</span></p>
[[Continue|Ch2-Vessel-LeaveLab]]<<nobr>><<bg "bg-outside">>
<<set $currentArea to "Chen — Driving Home">><</nobr>>
<div class="passage-title">The Drive</div>
<div class="lab-location">South Bay Boulevard, 2:48 AM</div>
<p>The parking lot at this hour is a half-acre of wet asphalt under sodium lamps. Chen walks to her car, an older grey Toyota Corolla hatchback, six years out of warranty, the rear bumper held on by a strip of black gaffer tape, and drives out past the security barrier with a wave at Frank, the night guard, who waves back without looking up from his phone.</p>
<p>Two blocks from the facility, before she has even turned onto the arterial, her right hand leaves the wheel and opens the glove compartment without her looking. Pack of American Spirit Yellow, lighter on top of it, both exactly where she left them this morning and the morning before that. She sets the pack on her thigh, taps the bottom of it twice against the heel of her left hand, a fast double-tap, the kind of unconscious gesture you only notice if you watch for it, then flips the lid, takes one out with her teeth, and lights it before she has come to a full stop at the next red.</p>
<img class="scene-img" src="media/scenes/vessel/drivehome-smoke.webp" alt="Chen at the wheel of her grey hatchback at night, cigarette between two fingers near her lips, window cracked an inch, dashboard glow on her glasses, sodium-lit street outside the windscreen">
<p>The window cracks an inch. Cold air comes in. The first drag is held a beat too long, the pause of a woman who needs a minute before she can keep being a woman. She lets it out through her nose toward the gap, watches the smoke take the shape of the air leaving the cabin, and rolls forward when the light turns green.</p>
<<say "char-hivemind" "Hivemind">>
//I can taste it through the eustachian tube. Tar particulate, nicotine, the trace alkaloids her lungs are scrubbing into her bloodstream while her cardiac output spikes seven percent. Resting heart rate already elevated; the smoke is the daily rebound.//
//She did not smoke before her parents died. She picked up the habit a few years after, and the pack-tap is her mother's gesture, inherited. It is the only physical ritual she has that connects her to a woman who is not coming back.//
//Every cigarette burns away tissue I would otherwise be living in. Lung scarred at the bronchioles. Capillaries narrowed. Whatever she empties into the cabin is something her body could have been spending on me instead. I will need to find a way, when I can reach deeper, to rewire her toward repulsion. The pack must become something her body refuses.//
<</say>>
<p>The road home is twenty minutes of suburban arterial. Empty at this hour. The car's heater is loud and the radio is off. Chen drives one-handed, the cigarette in the other hand at the cracked window, and her eyes go through the slow pendulum of a person too tired to be angry but not tired enough to stop replaying the argument in her head.</p>
<<say "char-chen-thought" "Elena">>
Sofia sent the readings to Detrick.
<</say>>
<p>The thought arrives the way a recurring thought arrives, uninvited, fully formed, immediately followed by the small physical reaction of her jaw tightening.</p>
<<say "char-chen-thought" "Elena">>
...whatever. Sofia sent it, the email is gone, and it is going to land in somebody's inbox at Detrick and that somebody is going to look at the timestamp and the subject line and decide it is somebody else's problem to chase up. Nobody is going to do anything with that email. They never do. I am tired and I am twelve minutes from my apartment and there is a couch and a day off tomorrow and whatever the fridge happens to be holding, and the only decision in front of me that matters at three AM is what I am eating for lunch. Anything more ambitious than that is Tuesday's problem.
<</say>>
<p>The red light at the intersection of South Bay and Olive holds her for ninety seconds. Chen rests her forehead against the back of her hand on the steering wheel; the cigarette burns at the cracked window, half-forgotten.</p>
<<say "char-hivemind" "Hivemind">>
//She has talked herself out of the worry inside three minutes. A clean dismissal, no residue. That is the mechanism I am going to have to work around. She decides the thing that scares her is somebody else's problem, and she will use the same mechanism on me the first time my presence registers as something she has noticed.//
<</say>>
<p>The light turns. She takes one last drag, stubs the cigarette out against the rim of the cracked window, flicks the butt into the wet street, and drives the rest of the way one-handed. The car threads through the side streets toward an apartment building she has lived in for four years and that she does not currently want to enter, because entering her apartment means stopping moving, and stopping moving means the argument will catch up.</p>
<p>She parks in the resident lot. Kills the engine. Sits for a moment with her hand on the wheel and her eyes closed, the smell of her own cigarette in the cabin and on her cardigan, the same smell that will follow her up the stairwell.</p>
[[Cross the lobby into the building|Ch2-Vessel-EnterApartment]]<<nobr>><<bg "bg-outside">>
<<set $currentArea to "Apartment Building — Lobby">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-lobby">><</nobr>>
<div class="passage-title">Floor Three</div>
<div class="lab-location">Cedar Crescent Apartments, 3:11 AM</div>
<img class="scene-img" src="media/scenes/vessel/apt-hallway.webp" alt="A narrow third-floor apartment hallway with two doors visible, Chen's at the right, Daniel's at the left, late-night fluorescent lighting overhead">
<p>The lobby of Cedar Crescent is a small carpeted entryway with three mailbox banks, a notice board nobody reads, and an elevator that has not worked since spring. Chen takes the stairs. Three floors at her steady pace. On the landing of the third floor she pauses out of habit, because her keys are in the wrong pocket and she has been finding them by feel since college.</p>
<p>The hallway is narrow. Chen's apartment is at the right end. Daniel's is at the left, three doors closer, and as Chen rounds the landing the left-hand door opens and Daniel, late twenties, glasses slipping down his nose, in a faded cardigan over a band t-shirt, holding a small bag of recycling, steps out into the hall and freezes for the half-beat of a man who has just discovered there is another person where he expected the corridor to be empty.</p>
<<say "char-daniel" "Daniel">>
<i>(recovering, the recycling bag swinging slightly)</i> Oh... hi. Elena. Sorry, I... recycling night, I always forget. Hi.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(distracted, polite, already past him by half a step)</i> Hi, Daniel. Have a good night.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(to the back of her cardigan, an octave higher than he meant)</i> Yeah... yeah, you too... sleep... sleep well...
<</say>>
<p>Chen's keys turn in her own door. She is inside before Daniel is finished saying //sleep well//, and the door clicks shut behind her with the sound of a woman who has not registered the conversation as a conversation. From your position in the auditory canal you hear his footsteps continue down the hall, then the metallic complaint of the recycling chute, then his footsteps going back, then his door clicking shut.</p>
<<say "char-hivemind" "Hivemind">>
//She did not look at him. She used his name and walked past. He used hers and stuttered. The asymmetry is the substrate. He is the easiest target in this building, and he is the one she will trip over every time she takes the trash out, and she is the one whose body I currently inhabit. Useful. Mammal pairing produces metabolic surplus I can harvest. I need only steer her toward him.//
<</say>>
<p>Chen does not turn the lights on. She drops her bag on the small table beside the door, kicks her shoes off without bending down, and stands for a moment in the dark of her own entryway with her keys still in her hand. The apartment exhales around her, the radiator-tick, the fridge-hum, the faint trace of her own cigarette smoke off her cardigan. Home, the way home is when there is no one in it.</p>
[[Walk to the kitchen|Ch2-Vessel-Apartment-CrashOut]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building — Kitchen">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-kitchen">>
<<if not $vesselMemories>>
<<set $vesselMemories to {
decon: false, corridor: false, parking: false, driveHome: false,
apartmentLobby: false, apartmentLiving: false,
apartmentKitchen: false, apartmentBedroom: false,
balcony: false, danielHallway: false
}>>
<</if>><</nobr>>
<div class="passage-title">Crash Out</div>
<div class="lab-location">Cedar Crescent Apartments, Chen's Kitchen, 3:23 AM</div>
<img class="scene-img" src="media/scenes/vessel/apt-kitchen.webp" alt="Chen's small apartment kitchen in the dead of night, lit by an under-cabinet amber strip and the open fridge: takeout containers stacked on the counter, an unwashed mug and two plates in the sink, an overflowing glass ashtray on the windowsill with at least a dozen American Spirit butts, an open bottle of pinot noir, a tupperware of leftover rice with a soft-boiled egg pressed into the top">
<p>The kitchen is small and dark. The only light comes from the LED clock on the microwave — 3:23 in green seven-segment digits — and the soft amber under-cabinet strip Chen leaves on permanently because it makes the room less a place and more a habit. She crosses to the fridge by feel, rests her forehead against the freezer door for two seconds (the cold is very nice), and then opens the lower compartment.</p>
<p>The fridge light comes on. The interior is a museum of recent decisions made under fatigue.</p>
<p>Half a pizza in a grease-stained box from earlier in the week. Three takeout containers, sushi from the strip-mall place, dan dan noodles she does not remember ordering, and one whose contents have entered the colour-state of broccoli that has overshot its window. An open bottle of pinot noir she has been meaning to finish, the cork sitting next to it on the shelf. Two beers. A tupperware of leftover white rice with a soft-boiled egg pressed into the top, neat as a moon.</p>
<<say "char-chen-thought" "Elena">>
The wine. One glass becomes two becomes a hangover and Monday is going to be hard enough without one. Not the wine.
<</say>>
<p>Her hand passes over the bottle. Hovers. Moves on. The pizza box is next, she lifts the lid, considers the cold cheese congealed in geological strata, and lowers the lid again without comment.</p>
<<say "char-chen-thought" "Elena">>
Cold pizza at three twenty-three is a special category of failure. Even I have standards. The standards are very narrow, but they exist.
<</say>>
<p>The dan dan noodles are still good. The beer is calling. The tupperware of rice is the cleanest option, boring, salt-and-egg, sixty seconds in the microwave or eaten cold standing up. She takes the tupperware out, considers the microwave, considers the silence that the microwave will break, and decides on the spoon-from-the-drawer route. She eats standing in the fridge light with the door open, the way she has eaten dinner most weeknights for four years.</p>
<<say "char-hivemind" "Hivemind">>
//A museum, accurate. Each shelf is a Chen who came home tired and made a choice. The recurring pattern: pick the thing that requires the fewest decisions. The body is undernourished, resting metabolic indicators below norm for her age and frame, but it is consistent, and consistency is what she trades for the calorie deficit.//
//She does not know I can taste this. The egg is overcooked by ninety seconds. The rice is a starch she ate three nights ago. Both are tissue I will eventually re-architect, when my access deepens.//
<</say>>
<<say "char-chen-thought" "Elena">>
Too tired to cook, too tired to talk to anyone, just going to eat this rice and brush my teeth and go to bed. Monday's mine, Sofia and I take Mondays off when we cover Sunday, and I'm going to spend it lying on the couch and not thinking about Fort Detrick. Tuesday I'll deal with Sofia. Tuesday is not today.
<</say>>
/* Kitchen body-memory delve removed. Dream-phase kitchen now gates on
foyer-cleaned, not on $vesselMemories.apartmentKitchen. See
Ch2-Vessel-CrashOut-Delve below (parked). */
[[Brush teeth, go to bed|Ch2-Vessel-Apartment-Sleep]]/* STATUS: TO REWORK
Kitchen body-memory delve. Previously cost 1 biomass + set
$vesselMemories.apartmentKitchen. Dream kitchen now gates on the
foyer-cleaned milestone, so this delve's gameplay role has been
absorbed elsewhere. Prose retained as design reference. */
<<nobr>><<bg "bg-outside">>
<<set $vesselMemories.apartmentKitchen to true>><</nobr>>
<div class="passage-title">The Last Time She Cooked</div>
<div class="lab-location">Cedar Crescent Apartments, Chen's Kitchen</div>
<p>You sink past the surface of her tiredness, past the rice, past the museum-fridge, into the layer of her where the kitchen has memory of its own. The hands have done specific things in this room and the room remembers.</p>
<p>The last home-cooked meal was a Tuesday, and the body does not measure in weeks; the body measures in repetitions. The last time she stood at this stove with intent was a count back of one Tuesday. Then a Tuesday before that. Then a Sunday before that. A few weekday-shaped slots in the rear-view, the one closest in time the most vivid: rice, a soft-boiled egg, a handful of frozen peas she found in the back of the freezer behind a half-used bag of edamame she has had since the apartment was new. She put the peas in the rice while it was still hot. She ate them at the table, the actual table, not the counter, with a spoon and a glass of tap water and the laptop closed.</p>
<<say "char-hivemind" "Hivemind">>
//The body remembers the meal as a triumph. She remembers it as a triumph. The triumph is that she sat at the table.//
//The cabinets above the sink contain unopened spices: cumin, smoked paprika, sumac, a tin of saffron her mother gave her two birthdays before the crash. The drawer beside the oven contains a wooden spoon her mother bought her in college; the bowl of the spoon has a single shallow burn mark from a pot of caramel that did not behave. Chen has not opened the cabinet or the drawer with intent in over a year.//
//She has the equipment of a woman who used to cook. Someone who lives here used to cook. That someone is also Chen, but not the Chen currently in this kitchen at three twenty-five in the morning eating cold rice from a tupperware.//
<</say>>
<p><span class="delve-intel">Kitchen body-memory catalogued. Chen has the equipment of a competent home cook, a wooden spoon from her mother (still in service, still bears a small caramel burn), unopened spices including saffron from her mother's last birthday gift, knife block with sharp blades. The last meal she cooked with intent was rice, a soft-boiled egg, and frozen peas, eaten at the table with a closed laptop. The body remembers the table-sit as a triumph. The frequency of such triumphs has fallen to once every several weeks.</span></p>
[[Continue|Ch2-Vessel-Apartment-CrashOut]]<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building — Bedroom">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-bedroom">><</nobr>>
<div class="passage-title">Bed</div>
<div class="lab-location">Cedar Crescent Apartments, Chen's Bedroom, 3:34 AM</div>
<img class="scene-img" src="media/scenes/vessel/apt-bedroom.webp" alt="Chen's small bedroom at three in the morning, bedside lamp on: bed half-made with a thin grey comforter pulled up but rumpled where she sat against the headboard last night, laptop closed on the foot of the bed, two paperbacks on the floor beside the nightstand and a third stacked on the chair across the room with two folded shirts under it, glass of water and a phone face-down on the nightstand, alarm clock with red seven-segment digits reading 3:34, sliding glass door to a small balcony at the right edge of frame with the curtain drawn most of the way">
<p>She rinses the tupperware, brushes her teeth, washes her face — the second wash longer than the first, the way she does everything tonight — and crosses the dark living room to the bedroom door.</p>
<p>The bedroom is small and the same as it always is. Her bed is half-made, pulled up but rumpled in the corner where she sat against the headboard last night, laptop and a stack of three half-read papers piled at the foot of the comforter. The chair across from the bed has two clean shirts she has not put away on top of a paperback she has not finished. Two more paperbacks lie on the floor by the nightstand, the way books accumulate in the rooms of people who read when they cannot sleep. A glass of water on the nightstand, a phone face-down beside it, the paperback she is //actually// reading face-down on the cover. The alarm clock reads 3:34 in red seven-segment digits.</p>
<p>The sliding glass door at the right of the room leads to the small concrete balcony where she smokes when she's home; the curtain is drawn most of the way, a finger-width of orange streetlight bleeds through the gap and catches the dust on top of the laptop.</p>
<<say "char-hivemind" "Hivemind">>
//A bed she sits up in at the headboard with a laptop. A bookshelf in here too, same shape as the living room, half scientific and half novels, a row of grad-school notebooks on the bottom that she has not opened in years. This is the room of a woman who //works// where she sleeps, who reads where she sleeps, who smokes on the balcony where she sleeps, who has never separated the parts of her life because for her they are not separate. There is no soft furniture for a guest. There has not been a guest in the room in over a year.//
<</say>>
<p>Chen lifts the laptop off the foot of the bed without opening it, sets it on the nightstand on top of the paperback. Pulls the comforter up. Undresses with her back to the bedroom mirror, the way she has undressed every night since she moved in. The bedside lamp clicks off. She is asleep within four minutes, her body trained to fall asleep on command.</p>
<<say "char-hivemind" "Hivemind">>
//Her plan is methodical. Her plan is a Monday-off plan. The argument has not yet finished bleeding into her, and she has not yet noticed that her ear has stopped itching, which means the foreign body has stopped being foreign to her body. By the time she wakes she will not be the same woman who made this plan.//
//I am inside her now and she is asleep, and I have a long night to learn the shape of her dreams from the outside. The work begins tomorrow.//
//But the first night is mine to listen.//
<</say>>
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">First Night, Acclimation Complete</div>
<p>The parasite has anchored in Chen's eustachian tube. The host's immune response has filed it as not-foreign. The auditory feed is clean, and the deeper architecture is now reachable from the inside, for the first time.</p>
</div>
<<set $vessel.wakeTarget to "Ch2-Vessel-Wake-Monday">>
[[Step inward, Chen is asleep|Ch2-Vessel-Dream-Entry]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 Corridor">>
<<set $vessel.workLoc to "lab-bsl3-corridor">>
<<set $ch2Events.bowenBathroomEncountered to true>>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>>
<<set _paused to ($ch2Events and $ch2Events.bowenBathroomPaused) or false>><</nobr>>
<div class="passage-title">The Corridor, On the Way to the Lift</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 Corridor, outside the staff washroom</div>
<img class="scene-img" src="media/scenes/vessel/lab-bsl3-corridor.webp" alt="A long sterile BSL-3 corridor at the BioGenesis facility, pale grey walls, recessed fluorescent panels overhead, a polished epoxy floor reflecting the strip lights, an unmarked staff washroom door on the right with a single brushed-steel handle.">
<p>She seals the specimen room behind her, the mag-lock catches with the small descending whine the BSL-3 doors make when the seal pulls, and turns left down the corridor toward the lift. The corridor at this hour is empty. The recessed fluorescents hum at the frequency they hum at on every weekday morning, a sound her ear has metabolised into background years ago and that the parasite, anchored two centimetres deep into the soft tissue of her eustachian tube, has metabolised into background over the last day and a half.</p>
<p>Halfway to the lift, the staff washroom door. Unmarked, brushed steel handle, the small placard above it that says STAFF in the institutional sans-serif Sofia ordered for the whole floor when the building was first commissioned. The host, walking past, is already three steps into composing the first sentence she will say to Holloway in the conference room, //Pull the cameras for the eight hours before the crack, the supply-vent pressure log, and the cage-temp trend, in that order//, and the washroom door is the kind of door her conscious mind does not register at all.</p>
<<say "char-hivemind" "Hivemind">>
//Her surface attention is on the conference room. Her body is on the corridor. The auditory channel is wide open and not being used.//
//There is something on the other side of the staff washroom door her ear is picking up that she has not yet noticed her ear is picking up.//
<</say>>
<hr class="scene-break">
<p>The first thing the bone behind her ear catches is the soft thunk of a stall door pulled closed too fast, the small metallic ricochet of the latch hitting its own frame because the man on the other side did not bother to ease it shut. Then the controlled exhale of a person who has just sat down on a closed toilet lid and is trying to remember how breathing works. Then the dull leather-on-buckle sound of a belt being undone in a hurry by hands that are not, in this exact moment, very co-ordinated.</p>
<p>She is three paces past the door now and registers none of this. Her cortex is still drafting the Holloway sentence. The cochlea is doing its job; the executive layer has filed the corridor as silent because the corridor is supposed to be silent.</p>
<<say "char-hivemind" "Hivemind">>
//The auditory data is arriving at me in real time and at her in delay. I have a two-second lead on her noticing, possibly four if the Holloway sentence is a long one. Useful.//
//Catalogue, from the room behind the wall: belt, zipper, fabric sliding down a thigh, the small wet-skin sound of a hand wrapped around something already hard. He did not even sit down for thirty seconds before he started. The compound has not yet metabolised out of his bloodstream; he is still riding the edge of the dose, and his executive function has cleared the building entirely. There is, in him, currently nothing competing with the erection.//
<</say>>
<hr class="scene-break">
<<if not _paused>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Stall her at the door for a beat, let her ear catch up to her cortex (1 biomass)" "Ch2-Vessel-Monday-BowenBathroom-Pause" 1>></div>
<<else>>
<div class="choice-done">✓ Paused at the door, clearer audio read</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let her keep walking, collect what the corridor gives|Ch2-Vessel-Monday-BowenBathroom-Climax]]</div><<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 Corridor">>
<<set $ch2Events.bowenBathroomPaused to true>>
<<set $ch2Events.bowenBathroomEncountered to true>>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>>
<<hasSkillTreeAbility "Tongue Slip">>
<<set _hasTongueSlip to _hasAbility>><</nobr>>
<div class="passage-title">Nudge · Pause at the Door</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 Corridor, three paces past the staff washroom</div>
<<say "char-hivemind" "Hivemind">>
//A very small instruction, threaded under the Holloway sentence: //wait. Did I just hear something.// Formatted to land as her own half-question, the way a person stops in a doorway because their body knew before their mind did.//
<</say>>
<p>Her left foot hits the floor and her right foot does not lift; she stops mid-stride, three paces past the staff washroom door, with the shape of the Holloway sentence still half-assembled at the front of her mouth and a small frown landing on her face the way frowns land on the faces of people who have walked into a room and forgotten what they came in for. She does not pivot, she just tilts her head the half-degree it takes to turn her better ear toward the door, and then, when the half-degree is not enough, she takes two careful steps back along the corridor she has just walked, until her shoulder is almost against the wall and her ear is almost against the panel that backs the stall.</p>
<<say "char-chen-thought" "Elena">>
<i>(very still, listening, the corridor empty in both directions)</i> ...did I just... there was a noise, that was definitely a noise, that was... Bowen went in there, Bowen is //in// there, and that was...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her ear is now mine. The bone behind her ear is in direct conduction with the wall behind it; the wall is forty centimetres of drywall, foam acoustic batting, and the back of the toilet stall on the other side. The sounds that were at the threshold of her conscious hearing are now sitting well above it, and the man in the stall is not, by any definition, suppressing himself.//
<</say>>
<p>The wet-skin rhythm has settled into a tempo on the other side of the wall. The breath behind it has gone ragged. And then, between two of those breaths, Bowen says something he absolutely does not realise he is saying out loud.</p>
<<say "char-bowen" "Bowen">>
<i>(through the wall, hoarse, half-mumbled, the kind of half-mumble a man only produces when he is convinced no one can hear him)</i> ...oh god, Dr. Chen, oh //god//... I'm sorry, I'm sorry, I'm...
<</say>>
<p>Her hand finds the wall before her cortex has finished registering that her name has just travelled through forty centimetres of drywall on the back of a man's involuntary apology. The flush that was climbing at her throat reaches her hairline. She does not move her ear away from the wall.</p>
<<say "char-chen-thought" "Elena">>
<i>(stunned, the professional voice and the private voice colliding in the same head with no preparation)</i> ...he's... Bowen is... he is //thinking about me//, Bowen is in there masturbating and //thinking about me//, and I am standing in the corridor with my ear against the wall like... like a person who has decided this is information she wants. Which I have not decided. Which I am not deciding. Which I am observing for professional reasons that, on review, are not particularly professional. Oh god. Oh god, this is... I should walk. I should already be walking.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She does not walk. She gives the wall another quiet ten seconds, and then the rhythm on the other side of the wall accelerates into the part of itself that does not have a tempo any more, and the apology turns back into breath, and the breath catches and breaks and resolves into the small involuntary sound of a man who has, for the past minute, been concentrating very hard on not making any sound at all and has now run out of the ability to keep concentrating.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-ear-stall.webp" alt="Close-up of Dr. Chen pressed against the corridor wall outside the BSL-3 staff washroom — shoulder almost touching the panel, head turned to lay her ear flat against the drywall, eyes half-closed and lips slightly parted, the small concentrated frown of a person actively listening for something she should not be listening for. Faint flush rising at the throat above the lab coat collar.">
<<addConditioning "chen" "pheromone" 1>>
<p>She has time to take exactly one step away from the wall before she hears the metal latch on the inside of the stall click. She freezes, pivots toward the lift with the precise speed of a woman who has been caught and is trying very hard not to look like she has been caught, and the washroom door swings open.</p>
<p>Bowen steps into the corridor. He has done a half-credible job of recomposing, clipboard back in his left hand, lab coat closed, hair smoothed, but the colour at his face is wrong, and his right hand is doing the small, deliberate not-thinking-about-it gesture of a man who has just washed his hands and is still aware of having washed his hands. He sees her. He stops.</p>
<<say "char-bowen" "Bowen">>
<i>(strangled, blood draining out of his face in real time as he calculates the corridor's acoustics)</i> ...Dr. Chen. I... I... I didn't... I thought... how long have you been...
<</say>>
<<say "char-chen" "Chen">>
<i>(brisk, the professional voice activating with violence, the body pretending it has been walking the whole time)</i> Bowen. Conference room is on three. <<if _hasTongueSlip and not $ch2Events.slipBathroomFlavor>><<tongueSlip "I'll head up" "I'll give you head" 0 "" "slipBathroomFlavor" "#slip-bathroom-flavor-payoff" "" "vessel-bathroom-flavor-sp">><<elseif $ch2Events.slipBathroomFlavor>><span class="tongue-slip-fired">I'll give you head</span><<else>>I'll head up<</if>>. You collect yourself and follow when you're ready.
<</say>>
<div id="slip-bathroom-flavor-payoff" class="tongue-slip-payoff" @style="$ch2Events.slipBathroomFlavor ? '' : 'display:none'">
<p>The sentence leaves her mouth before her cortex has time to intercept it. There is a half-second of corridor silence in which the words sit between them like a small physical object that has just been dropped on the polished epoxy floor and is now everyone's problem.</p>
<<say "char-bowen" "Bowen">>
<i>(eyes locking with Chen's for the first time the entire morning, voice cracking on the consonant)</i> ...you'll //what?//
<</say>>
<<say "char-chen" "Chen">>
<i>(at full speed, the professional voice patching the slip in real time without ever conceding it happened)</i> //Head up//, head //up//, Bowen, to the conference room, on three, where the rest of us are, where I am about to be, where I will be expecting you in approximately the next four minutes, dressed and composed and ready to discuss a containment breach like the trained virologist that you are. Head up. Up the stairs.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(nodding too fast, both hands gripping the clipboard with the force of a man who has just been handed back his entire life)</i> Up. Yes. Up the stairs. Up.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(internally, the body already pivoting toward the lift, the face holding the professional register by sheer force of architectural training)</i> ...I do not know what is happening to me today and I am not going to find out in this corridor because there is a fire on the third floor and a Chen-shaped seat at the table and the only thing standing between this morning and my entire career being over is the speed at which I can put forty vertical metres between me and that sentence.
<</say>>
</div>
<<if not $ch2Events.slipBathroomFlavor>>
<<say "char-bowen" "Bowen">>
<i>(barely)</i> ...yes. Yes, Dr. Chen. I'll... yes.
<</say>>
<</if>>
<p>He doesn't move toward the lift. He stands there in the corridor for a beat too long, watching her walk away, and then he turns back toward the stall, having left the door open in his hurry to get out, and when he steps inside to grab the clipboard he forgot on the closed lid, the door swings open behind him long enough for her, glancing back over her shoulder one final time, to see what he forgot to wipe off the rim of the toilet.</p>
<<say "char-hivemind" "Hivemind">>
//A small wet streak of him on the white porcelain, drying in the fluorescent light. The smell reaches her two seconds after the sight does — Bowen's pheromone-laden output is still close-air, still on the body that just produced it. Chen does not consciously process the smell. The smell is processed for her, by me, through the conduction of her own respiratory chemistry, and I take the harvest off the back of her olfactory.//
//First time her own body has registered him as a sexual signal and failed to file it under //junior tech, professionally invisible.////
<</say>>
<<addBiomass 1 "vessel-bowen-bathroom-pause-stains">>
<p><span class="biomass-gain">+1 biomass</span> · <span class="biomass-gain">+1 pheromone conditioning on Chen</span>, the small flush at her throat is now a learned association.</p>
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">Bathroom encounter, the host lingered</div>
<p><span class="delve-intel">The host put her ear against the wall, heard Bowen say her name through the drywall mid-orgasm, exited too late to avoid him, and walked away from a corridor where she had just stood listening to a junior tech masturbate to her. She will replay this on the elevator. She will file the slip and the streak both under <i>long morning</i> and route around them. The body will not.</span></p>
</div>
[[On to the conference room|Ch2-Vessel-Monday-Conference]]<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 Corridor">>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>><</nobr>>
<div class="passage-title">The Stall, Through the Wall</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 Corridor, the wall outside the staff washroom</div>
<img class="scene-img" src="media/scenes/vessel/bsl3-washroom-pass.webp" alt="Dr. Chen mid-stride in the BSL-3 corridor, body angled toward the lift, head turned a fraction back over her right shoulder toward the closed brushed-steel staff washroom door behind her. Small distracted look, no pause in her gait, the auditory channel logging the corridor without her cortex registering the source.">
<p>She does not slow. She is past the door, eyes on the lift call button at the corridor's end, the Holloway sentence reassembling behind her teeth. The auditory channel keeps streaming whether or not she has noticed she is using it.</p>
<p>The rhythm on the other side of the wall accelerates. The breath catches, releases, catches again. The hand on his cock is no longer trying to keep its sound down; there is nobody in here to keep it down for, and the man who is in here has burnt through the last of his executive bandwidth holding the clipboard at the right angle for the better part of a minute already.</p>
<<if _bowenSurface>>
<<say "char-bowen-thought" "Bowen (through the wall)">>
<i>...oh god oh god oh god get it out get it out get it out, get her out of my head, just... just finish, finish Bowen, finish, finish... her neck, the place under her ear where her hair falls, that smell, that //smell//... oh fuck, oh fuck I'm... I'm...</i>
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//No read-channel into Bowen's interior. The work of opening one was not done. The exterior is, however, extremely loud, and through forty centimetres of drywall and acoustic batting the body language audible in his breathing is more than enough to track the trajectory.//
<</say>>
<</if>>
<p>The breath catches one more time and then breaks open. The wet-skin rhythm goes erratic for two strokes and then stops on the fourth, held there at the apex, and the small involuntary sound that comes out of him is the sound of a man who has, for the past minute, been concentrating very hard on not making any sound at all and has now run out of the ability to keep concentrating. It is closer to a sob than a moan. The clatter that follows is the clipboard he was still holding in his left hand falling onto the tile floor of the stall.</p>
<<say "char-hivemind" "Hivemind">>
//Climax. Approximately four seconds, on the long side for a man under that much somatic distraction. The cum lands in the wad of toilet paper he had the executive function to grab on his way to the toilet seat, which is the single competent decision his cortex has made in the last six minutes.//
//Sexual energy spike, harvested through the wall by way of the conduction channel in the host's temporal bone. The yield is the yield, biology does not care that the partner is absent and the act is unwitnessed by anyone except me in the next woman's ear.//
//<span class="biomass-gain">+2 biomass</span>.//
<</say>>
<<addBiomass 2 "vessel-bowen-bathroom-climax">>
/% Bowen accrues +1 pheromone conditioning from this episode. Same trigger
shape as the family pattern — a sustained pheromone-driven sex act on
the target counts as one pheromone tick on the target's conditioning
record. Cap is the vessel cap (starts at 4). %/
<<addConditioning "bowen" "pheromone" 1>>
<<conditioningFeedback "pheromone" 1 "Bowen, the body now files her scent as a release-trigger">>
<p>She reaches the lift. She pushes the call button. The lift arrives. None of the corridor data has surfaced in her conscious processing, the auditory channel logged it, the executive layer filed it under //corridor noise, irrelevant//, and by the time she steps into the lift the Holloway sentence is fully composed and the wash-room door has been deleted from the working memory of the morning.</p>
<<say "char-hivemind" "Hivemind">>
//There is a particular comedy to it that I am not above noticing. A senior virologist walks down a corridor toward a containment-breach briefing. A junior tech, two doors back, masturbates through a chemistry stack he had no defence against because the woman he is masturbating to walked past his face for eight minutes wearing it. Neither of them will tell the other this happened. By lunch he will have rebuilt enough composure to look her in the eye. By the time he goes home he will have convinced himself the whole episode was stress.//
//He is going to spend the rest of his life never quite knowing what happened to him in that specimen room. I am going to spend the rest of his life occasionally re-using the trick.//
<</say>>
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">Bowen, bathroom episode logged</div>
<p>Bowen, momentarily incapacitated, has been quietly drained of one orgasm's worth of sexual energy via the temporal-bone conduction channel of the host walking past the stall. He will return to the conference room within the hour, recomposed, with no memory of having been observed.</p>
<p><span class="delve-intel">The host kept walking. The corridor data was logged by her cochlea and filtered out by her cortex before it reached conscious processing. The episode is invisible to her, and the parasite collected the energy spike anyway.</span></p>
</div>
[[On to the conference room|Ch2-Vessel-Monday-Conference]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Third-Floor Conference Room">>
<<set $vessel.phase to "work">>
<<set $vessel.workLoc to "lab-conference">>
<<set $ch2Events.conferenceArrived to true>>
<<set $ch2Events.fedsInvolved to true>>
<<if not $vasquezSuspicion>><<set $vasquezSuspicion to 0>><</if>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set _bowenInRoom to not ($ch2Events and $ch2Events.bowenSentToBathroom)>>
<<set _bowenImplantDone to ($ch2Events and $ch2Events.bowenImplant) or false>>
<<set _vasquezSurface to ($ch2Events and $ch2Events.conferenceVasquezDelved) or false>>
<<set _chenNudged to ($ch2Events and $ch2Events.conferenceChenNudged) or false>>
<<set _bowenImplantInRoom to ($ch2Events and $ch2Events.conferenceBowenImplant) or false>>
<<set _erased to ($permanentDone and $permanentDone.erasedFootage) or false>><</nobr>>
<div class="passage-title">9:02 AM</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<img class="scene-img" src="media/scenes/vessel/conference-room.webp" alt="A long conference table on the third floor of the BioGenesis Research Facility, the projection screen at the far end paused on a frame of greyscale security-camera footage. Four scientists in white coats are arranged on one side of the table; two men in dark suits sit on the other side, one with a notebook open in front of him. Floor-to-ceiling windows behind, grey morning light, the room in the controlled stillness of a meeting that has not started yet.">
<p>The conference room on three is built for client visits, long maple table, twelve high-backed chairs, the projection screen at the far end with the BioGenesis word-mark on standby. The screen is not on standby this morning. It is paused on a frame of greyscale corridor footage, the timestamp burned into the lower-right corner. The room smells of new carpet and the coffee Halvorsen has already made for everyone and nobody has touched.</p>
<p>Vasquez is at the head of the table, standing, both hands flat on the wood. She does not sit when Chen comes in. Halvorsen is to her right, two fingers around a mug, the other hand resting on a stack of printouts. Holloway is at the keyboard end with the laptop open and the projector remote set neatly beside it.</p>
<<if _bowenInRoom>>
<p>Bowen is at the far corner. He has shed the panicked-junior posture he wore in the corridor; he sits very still with his clipboard flat on the table in front of him, eyes lowered, as if hoping the room will forget he is in it.</p>
<<else>>
<p>Bowen's seat is empty. The clipboard he was supposed to bring up is not on the table. Vasquez has noted the absence; her eyes have flicked twice to the empty chair since Chen walked in.</p>
<</if>>
<p>The two suits are on the opposite side of the table. The lead has a leather portfolio open, a black pen capped beside it; the second has a small notebook and a hard-backed iPad. They stand when Chen enters, polite, brief. They sit again as soon as she has cleared the door.</p>
<<say "char-vasquez" "Vasquez">>
<i>(controlled, the voice she uses when she is past the point of yelling)</i> Dr. Chen. Sit. We were waiting on you. <i>(half-turning to the suits)</i> Special Agent Reyes, Agent Park, this is Dr. Chen, Project Genesis principal investigator. Dr. Chen, federal liaison, biotech-incident division.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(half-rising again, brief handshake across the table, no warmth and no chill, neutral procedural)</i> Dr. Chen. We appreciate the access on short notice. BioGenesis Corporate has been fully cooperative; this is being handled as a Level Five containment review. We will be on-site for the duration. Agent Park is taking notes. Anything you say in this room is part of the record.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small nod from behind the iPad, does not stand)</i> Doctor.
<</say>>
<p>Chen takes the empty chair across from Vasquez and slightly to the right of Halvorsen, which puts the federal agents at her two o'clock and the projection screen squarely in her field of view. She sets her phone face-down on the table. She does not reach for the coffee.</p>
<<say "char-hivemind" "Hivemind">>
//Three minutes in the room and the choreography is already legible. Sofia has placed herself between the federal presence and the science, she will speak first on every question, and Chen is expected to second her, not lead. Halvorsen is the institutional voice; he will not contradict Sofia but he will be asked to weigh in on protocol when the conversation turns to what the lab //should// have done. Holloway is the camera-footage hand; she does not speak unprompted, and when she does, the room listens.//
//Reyes is the lead. Park is the recorder. Reyes's cadence is the cadence of a man who has run this exact meeting in eight other facilities; nothing in his face is improvised. He is not here to be persuaded. He is here to find out which version of the story BioGenesis is going to commit to, and to write it down.//
//I have one shift inside this woman's body to read four scientists and two federal agents and decide which of them will be a problem this week. Beginning now.//
<</say>>
/* ---- VASQUEZ OPENS ---------------------------------------- */
<hr class="scene-break">
<<say "char-vasquez" "Vasquez">>
<i>(to the room, briskly, hands still flat)</i> For the record. At seven-fourteen this morning, Bowen, junior tech, morning rotation, entered the BSL-3 specimen room for the standard six-AM-to-eight-AM rounds and found the Genesis-Forty-Seven containment chamber compromised. The front acrylic panel had failed outward from a single point at the gasket interface. The specimen was not in the chamber and is not in the room. Bowen secured the wing, escalated to me, and pulled the camera footage from the BSL-3 corridor and the specimen room itself onto the office workstation. Dr. Chen joined the on-site assessment at eight-fourteen. Dr. Holloway has been working the camera timeline since seven-twenty.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(eyes on Reyes, not on Chen)</i> Genesis-Forty-Seven is a category-three biological specimen. It is small, slow, and not directly dangerous to a human in a single encounter, but it is a containment-eligible entity under the DARPA contract, and the contract obligates us to escalate. We escalated to corporate at seven-forty-one and corporate escalated to your division at seven-fifty-eight. This is the briefing.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(measured)</i> Understood. Dr. Vasquez, before we walk the timeline, I want to be clear about what I am asking and what I am not. I am not, this morning, asking //why// the chamber failed. That is your question and you will answer it on your own clock. I am asking //who// was in the wing in the twenty-four hours before failure, //what// the cameras saw, and //who// has had access to the relevant systems since. The why follows the who. Are we on the same page.
<</say>>
<<say "char-vasquez" "Vasquez">>
We're on the same page. Holloway, the timeline.
<</say>>
/* ---- HOLLOWAY PRESENTS — THE FORK ------------------------ */
<hr class="scene-break">
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet, picking up the projector remote, talking to the room with her eyes on the screen)</i> Three feeds. BSL-3 corridor, that's the wide angle on the door to the specimen room. Specimen-room interior, that's the camera mounted in the upper corner over the chamber. And the security-terminal feed for the BSL-3 wing as a whole, which logs badge swipes and PIN entries on the antechamber and the chamber room. I have all three on a single timeline.
<</say>>
<<if _erased>>
/* ---- FORK A: footage was erased in chapter 1 ----------- */
<img class="scene-img" src="media/scenes/vessel/conference-footage-gap.webp" alt="Close-up on the conference-room projection screen showing a security-camera timeline laid out as a long horizontal bar, three feeds stacked vertically, mostly continuous, but with a single clean gap roughly a third of the way across, the timestamp on either side of the gap visible: a clean cut, not a glitch.">
<<say "char-holloway" "Dr. Holloway">>
<i>(advancing the slide; the screen now shows the timeline laid out as three horizontal bars, mostly continuous, with a single clean gap on all three feeds, perfectly aligned)</i> The corridor, the specimen room, and the security terminal all show a continuous record from the start of the night shift through the morning, //except// for a window of approximately eleven minutes, beginning at one-fifty-three AM. Eleven minutes are missing. Not corrupted, not glitched. Deleted. The file boundaries are clean.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(setting his mug down)</i> Deleted from the storage array, or deleted from the playback feed?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
The storage array. The eleven minutes are not on the disk. There is no archived backup older than seventy-two hours, per the corporate retention policy on BSL-3 wing footage. Whoever did this knew the retention policy.
<</say>>
<p>A small silence.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(to Vasquez, evenly)</i> Dr. Vasquez. Who has access to the BSL-3 storage array for the purpose of deleting footage.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(jaw tight)</i> Senior staff and night security. Senior staff is myself, Dr. Chen, Dr. Halvorsen, and only at our terminals, with our PINs, logged. Night security has terminal access from the guard station on the ground floor. Their access is also PIN-logged. Every deletion writes an actor entry. There are no anonymous deletions on this system.
<</say>>
<<say "char-vasquez" "Vasquez">>
Holloway. Pull the deletion log for the affected window.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(already typing)</i> Already pulled. The deletion was executed at one-fifty-three AM from the night-security terminal on the ground floor. Authenticated PIN: four-seven-two-one. The badge swipe associated with that terminal session, eleven minutes earlier, is... <i>(she clicks; a name appears on the screen)</i> Dale Hoffman. Night security, BSL-three rotation, on shift last night.
<</say>>
<p>The room recalibrates around the name. Halvorsen sits back. Park, on the other side of the table, has stopped writing and is now looking at Reyes.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(to Park, quiet)</i> Hoffman. Pull what we have on him. Background, financial, anything in the system. <i>(to Vasquez)</i> Doctor, how long has this individual been with the facility.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(checking a sheet)</i> Dale Hoffman. Hired through the security contractor. Six years. No incidents on his file. He runs the BSL-three rotation three nights a week. <i>(carefully)</i> I have signed off on his shift schedules personally. He has never been flagged.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
A man with no incidents on his file, six years of unbroken shifts in your most sensitive wing, deletes eleven minutes of footage at the precise time of a category-three breach, using his own PIN, on a PIN-logged terminal he knows is PIN-logged. <i>(he lets that sit a moment)</i> That is a man who is either being framed, or is so confident of his cover story that he wants the log to show what it shows. Either way, Mr. Hoffman is the pivot of this morning's investigation. We will need to interview him today.
<</say>>
/% Dedup: addSuspicion has no built-in re-entry guard; without this gate
each menu-pop-back round-trip restacks +1 lab suspicion. Persist the
flag so the suspicion bump applies exactly once per playthrough. %/
<<if not $ch2Events.conferenceSuspicionApplied>>
<<set $ch2Events.daleUnderInvestigation to true>>
<<set $ch2Events.cameraAngle to "dale">>
<<addSuspicion "lab" 1>>
<<set $ch2Events.conferenceSuspicionApplied to true>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//A very satisfactory shape settles into the room. Reyes has already framed Hoffman as either the saboteur or the patsy; both readings absorb the entire investigative budget for the next several days, and neither of them gets within a thousand miles of //specimen agency.// The chamber failed. Hoffman wiped the tape. The federal apparatus will now spend a week interviewing a night security guard about why a man with a clean six-year record decided, on this exact night, to delete eleven minutes of corridor footage.//
//Hoffman cannot explain it. Hoffman did not do it. The deeper into him they look, the further from me they look. The morning has paid out.//
<</say>>
<p><span class="delve-intel">The federal investigation has anchored on Dale Hoffman. The eleven-minute camera gap, deleted from his terminal with his PIN, is being read as either insider sabotage or a frame-up, both readings keep the inquiry pointed at human malfeasance and away from specimen behaviour. Hoffman will be interviewed today. <b>+1 lab suspicion</b> (the federal presence is real and ongoing), but the angle is fundamentally wrong, and a wrong angle is the most expensive kind of investigation to run.</span></p>
<<else>>
/* ---- FORK B: footage intact ----------------------------- */
<img class="scene-img" src="media/scenes/vessel/conference-footage-rat.webp" alt="Close-up on the conference-room projection screen showing a still frame from a security camera, the lower edge of a thick black power cable running across grey concrete floor, the cable's rubber insulation showing a small shredded notch with frayed copper visible underneath. The image is grainy enough that the cause is unclear, but the bite-pattern teeth-marks at the edges of the notch are unmistakably small-rodent.">
<<say "char-holloway" "Dr. Holloway">>
<i>(advancing the slide; the screen shows the BSL-3 corridor at night, the chamber visible through the open specimen-room doorway in the back of the frame)</i> First event. One-forty-one AM. Overhead lighting in the corridor flickers, three half-second drops in a four-second window, then a sustained dip. The chamber's interior lighting cuts to its battery-backup mode. Three seconds later, the front panel of the chamber fails outward. <i>(she clicks; a frame from the specimen-room interior camera comes up, the chamber, the spider-webbed front panel collapsing in a single jagged motion)</i> The failure is consistent with the seal letting go under restored pressure. There is no human in the room.
<</say>>
<p>Nobody speaks for a moment. Reyes makes a small gesture: //continue.//</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(steady, talking to the screen)</i> This is the part I don't understand. There is a //second// outage. Thirty-four minutes after the first one. Same circuit, the BSL-three sub-panel. Different fault profile. The first one read as a brown-out, voltage drop across the line. The second one is a dead short, a hard pop, breaker tripped, full restart cycle. <i>(she clicks; the close-up of the cable comes up on the screen)</i> I pulled the maintenance feed from the sub-panel and walked the conduit. This is the cable that runs from the sub-panel to the electromagnetic seal interlock on the //adjacent// chamber, Genesis-Forty-Eight, which is empty pending refit. The insulation on this cable has been gnawed through. Frayed copper, exposed conductor. The short was caused by a rodent on the cable run.
<</say>>
<p>Halvorsen closes his eyes for two full seconds.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(quiet)</i> There are not supposed to be rats in BSL-three.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(flat)</i> The vivarium is on the ground floor, two stairwells and three sealed doors away from BSL-three. None of our subjects have left that wing in the entire history of this facility. None of them are //supposed to//. BSL-three is sealed against the vivarium specifically, and the air handlers run negative pressure between them. So either one of our rats has done something a rat has never done, or there is something in BSL-three that is not one of our rats.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(to Holloway, careful)</i> Dr. Holloway, the //first// outage. The one that opened the chamber. Was that also caused by a chewed cable.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(measured, the way she gets when she is sure)</i> I haven't walked that conduit yet. The first outage's fault profile is consistent with a similar mechanism, but I have not put eyes on the cable. I would not commit to it without doing so.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
Then we walk it this morning. Dr. Vasquez, I want a sweep of the BSL-three wing for rodent presence, today, and I want it run by your facilities team with my agent present. If there is a rat in this wing it will be on a cable run somewhere. We find the rat, we contain the rat, we cross-reference the bite pattern. If the same animal caused both outages then your containment failure has a //mechanism//, and we move from there.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(short, already nodding to Halvorsen)</i> Halvorsen, get facilities up here. Live traps. Black light the conduit runs.
<</say>>
/% Dedup: same re-entry guard as the erased-footage fork above. %/
<<if not $ch2Events.conferenceSuspicionApplied>>
<<set $ch2Events.electricalAngleInvestigation to true>>
<<set $ch2Events.ratSearchPending to true>>
<<set $ch2Events.cameraAngle to "rat">>
<<addSuspicion "lab" 1>>
<<set $ch2Events.conferenceSuspicionApplied to true>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Holloway is methodical. Holloway is methodical and Holloway is //right//. The cable on Forty-Eight is the sister-cable to the one I directed the rat-host's teeth into the night before; the second outage was a sloppy second-pass to make sure the breaker tripped before the morning rotation came in and noticed the chamber lighting was still warm. The first cable will read identical when she walks the conduit. She will walk the conduit before lunch.//
//The investigation now has a //mechanism// it can pursue, and the mechanism is correct. The team will sweep the wing, find no rat in BSL-three (I instructed the host to return to its station in the vivarium overnight, where it will read on inventory tomorrow as exactly one of several hundred indistinguishable specimens), find the bite-pattern on a second cable, and conclude that a rodent is loose in BSL-three, came in via some yet-to-be-identified entry point, and chewed through two cables in a single night by accident. They will not yet conclude that the rodent was //piloted//. But they are looking at the right object. They will keep looking.//
//A worse morning than the one in which the tape was wiped. The angle is hot, and a hot angle is the kind of angle that catches downstream things if I am not careful.//
<</say>>
<p><span class="delve-intel">The federal investigation has anchored on a rodent-in-the-wing electrical-failure mechanism. Holloway has identified bite-pattern damage on a sister cable for the second outage and will walk the first outage's conduit before lunch; she will find the same pattern. The sweep of the BSL-3 wing for rodent presence is being scheduled for today. <b>+1 lab suspicion</b>, the angle is hotter, closer to the truth, and the investigative team is looking at the actual mechanism even if they have not yet inferred who is piloting it. A second tick will land at the end of the briefing once Reyes has the specimen profile in his notes.</span></p>
<</if>>
/* ---- CHEN HAS TO PARTICIPATE — SKILL OPPORTUNITY ----- */
<hr class="scene-break">
<<say "char-vasquez" "Vasquez">>
<i>(turning to Chen for the first time since the briefing started)</i> Dr. Chen. Reyes is going to want the specimen profile. You know it best, give them the short version.
<</say>>
<p>Chen straightens slightly. The deflective flat affect she has worn since the door is still in place; she folds her hands on the table and turns her body a quarter-degree toward the federal side of the room.</p>
<<say "char-hivemind" "Hivemind">>
//A window. Vasquez has handed Chen the floor for the next three to five minutes. Reyes will ask her two or three questions and Park will write the answers down. Each answer is a chance for Chen to over-commit to a sentence, and each over-commitment is a thread Vasquez will pull on, later, in an empty room.//
//I have a small set of moves available before the questions begin. None of them are subtle. All of them are cheap.//
<</say>>
<hr class="scene-break">
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<<if not _vasquezSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Surface Sofia's thoughts, what is she actually thinking right now? (1 biomass)" "Ch2-Vessel-Monday-Conference-DelveVasquez" 1>></div>
<<else>>
<div class="choice-done">✓ Sofia's surface thoughts catalogued</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface Sofia's thoughts, what is she actually thinking right now <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<if _bowenInRoom and not _bowenImplantDone>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility>>
<<if not _bowenImplantInRoom>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassLink "Overwrite Bowen's pre-breach memory at the table, replace the load-bearing observation with a dull, unremarkable round (3 biomass)" "Ch2-Vessel-Monday-Conference-ImplantBowen" 3>></div>
<<else>>
<div class="choice-done">✓ Bowen's pre-breach memory overwritten, nothing for him to surface</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite Bowen's pre-breach memory at the table <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<</if>>
<hr class="scene-break">
<<say "char-reyes" "Special Agent Reyes">>
<i>(pen uncapped now)</i> Dr. Chen. In your own words. What is Genesis-Forty-Seven, what is it capable of, and what should my agents be looking for when we sweep this building.
<</say>>
<p>Chen takes a breath. Three ways to spend that breath.</p>
/% Three mutually-exclusive answer paths. Each is a single deterministic
chain — no further player choices once the path is committed. Reyes's
downstream questions (goal-directed, chamber failure) are absorbed into
the chosen path's flow.
- NUDGE (1 biomass): Chen lies cleanly across all three questions.
+1 Chen psionic conditioning, +1 Vasquez individual suspicion
(Vasquez clocks the lies and will surface it later). No fed escalation.
- TRANSFER (2 biomass): Vasquez's de-escalation script delivered through
Chen. No lies — only the relevant facts; "interesting" framings that
would prompt followups are omitted. Reyes accepts the cooperative-scope
reframing in one beat. -3 lab suspicion. Requires Transfer Thought +
Vasquez surface delve.
- CHEN improvises (free): Chen tells the truth in her dismissive flat
register. Nothing is concealed; the dismissive tone reads as evasion
to federal eyes. +1 lab suspicion at the closer. No conditioning. %/
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Steady her voice, plant the grant-reviewer register (1 biomass)" "Ch2-Vessel-Monday-Conference-NudgeChen" 1>></div>
<<if _vasquezSurface>>
<<hasSkillTreeAbility "Transfer Thought">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassLink "Route Sofia's de-escalation script through Chen (2 biomass)" "Ch2-Vessel-Monday-Conference-TransferVasquez" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route Sofia's script through Chen <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route Sofia's script through Chen <span class="lock-hint">(Surface-delve Sofia first to read the script)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CHEN</span> [[Let Chen improvise, the specimen profile in her own dismissive voice (free)|Ch2-Vessel-Monday-Conference-ImproviseChen]]</div>
/* ---- SKILL ACTION SUB-PASSAGES -------------------------- */<<nobr>><<bg "bg-lab">>
/* Per-scene flag, distinct from the global $delveInfo.vasquezSurface
which is set permanently in chapter 1 (Lab-DelveVasquez). The Conference
delve surfaces different intel (Sofia's de-escalation script for Reyes),
so the Transfer Thought gate must require this scene's read, not the
chapter-1 anxious-mind read. */
<<set $ch2Events.conferenceVasquezDelved to true>><</nobr>>
<div class="passage-title">Delve · Sofia (Surface)</div>
<div class="lab-location">Sofia, across the table, surface thoughts</div>
<<say "char-hivemind" "Hivemind">>
//I lay perception against the auditory cortex closest to me, the same lateral line I opened on Bowen in the chamber, recalibrated for a different head at a different distance. Sofia is across the table and slightly to my host's left. The sound of her voice in the room arrives at my receptors a fraction of a second after the sound of her voice in her own skull does. The gap is enough.//
<</say>>
<<say "char-vasquez-thought" "Sofia (surface)">>
...a man does not walk into a room with that expression unless he has already decided which version of the story he is going to leave with... okay, the play here is //completely obvious//, I have done this exact dance with federal interlocutors twice before and the framing is //right there//... acknowledge the seriousness immediately so Reyes does not have to underline it, give him the protocol-spec version of the specimen and not the //interesting// version, frame it as a known organism within parameters we have characterised and not as a moving target, offer the cameras and the personnel files and the access logs in that order so it reads as cooperation and not as defence, ask him for a clear scope so we can give him a clear answer... Elena would do it perfectly if she had run interagency briefings before but she hasn't, and the part of her that improvises is going to want to walk him through the //interesting// arc, the accelerated-evolution arc, the part where it stops being protocol and starts being a paper, and if she does that Reyes hears //unbounded// instead of //bounded// and the entire morning recalibrates around that one word... //focus, Sofia, focus//... okay why is Bowen not in the room, I told him to come up... focus... the camera fork is the load-bearing piece, the rest is choreography, //let Elena have the floor she is the PI//, just sit on her with the eyes if she starts wandering...
<</say>>
<<say "char-hivemind" "Hivemind">>
//A very useful read. Sofia knows exactly what to say. She has done this dance and has the de-escalation script in active memory: //protocol-spec, bounded, cooperation in that order, ask for scope//. In her assessment, the script would visibly defuse Reyes inside the first minute of Chen's answer; pen recapped, shoulders down, the tone of the room shifting from interview to working session.//
//She cannot deliver it. She is the co-PI; Chen is the PI; the floor in this room belongs to Chen and trying to take it from her in front of federal agents would itself read as a tell. So Sofia is going to sit there clenching her eyes at Chen and hoping Chen lands the script by instinct, which Chen, who is improvising, probably will not.//
//The script is currently sitting in Sofia's frontal cortex, fully formed, three feet from Chen's head. The shortest path between them runs through me.//
<<hasSkillTreeAbility "Transfer Thought">>
<<if _hasAbility>>
//Transfer Thought is unlocked. The script can be delivered.//
<<else>>
//Without Transfer Thought I can read the script but not route it. Chen will improvise.//
<</if>>
<</say>>
<p><span class="delve-intel">Delve Surface, Sofia catalogued. She is holding the de-escalation script for Reyes in active memory: <i>acknowledge → protocol-spec → frame the specimen as bounded → offer cameras / personnel / access logs in that order → ask for a clear scope</i>. She cannot deliver it herself (Chen has the floor as PI). <b>Transfer Thought can route the script across the table into Chen's first-person register; Chen delivers it as her own composure and the room's reading of the team de-escalates by 3 lab suspicion.</b> Without Transfer Thought, Chen improvises and the script is lost.</span></p>
[[Back to the conference|Ch2-Vessel-Monday-Conference]]<<nobr>><<bg "bg-lab">>
/% Re-entry idempotency: gate the conditioning bump and the Vasquez
suspicion tick on a one-shot sentinel so history navigation / Status
menu re-entries don't re-fire. Sofia-suspicion +1 covers all three
nudged answers as a single "Sofia clocked the lying register" beat. %/
<<if not $ch2Events.conferenceChenNudged>>
<<set $ch2Events.conferenceChenNudged to true>>
<<addConditioning "chen" "psionic" 1>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<</if>><</nobr>>
<div class="passage-title">Nudge · Steady the Voice</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<<say "char-hivemind" "Hivemind">>
//I press a small instruction into the part of her body that selects between her registers. Chen has three speaking voices: the brisk lab voice she used with Bowen at the chamber, the sharper pre-emptive voice she uses on grant reviewers, and the flat unimpressed deflective voice she has worn since high school. I plant the grant-reviewer cadence. Her body files the suggestion as a small steadying, the kind of recalibration she does for herself two breaths before a defended thesis question. She registers it as composure she has summoned.//
<</say>>
<p>Her shoulders drop a quarter-inch. Her hands, folded on the wood, unclasp and re-rest. She takes a breath one count longer than the breath she would have taken without the nudge. Then she opens her mouth.</p>
<<say "char-chen" "Chen">>
<i>(grant-reviewer cadence, level, no waste)</i> Genesis-Forty-Seven is a soft-bodied biological specimen, approximately two centimetres in length, generated under the Project Genesis accelerated-evolution protocol. It is the forty-seventh iteration in a series of controlled tissue cultures, each one selected against the previous generation for survivability under stress.
<</say>>
<<say "char-chen" "Chen">>
It moves slowly. It is photosensitive. It does not vocalise, does not bite, does not transmit pathogens. The containment classification is category-three because of the //protocol//, not because the organism itself is dangerous to a single person in a single encounter.
<</say>>
<<say "char-chen" "Chen">>
Visually: small, translucent green, gelatinous. If your agents see something in this building that looks like a piece of moss with a single eye-spot, that is what they are looking for.
<</say>>
<<say "char-chen-thought" "Elena">>
...the cadence is doing the work for me, the sentences are landing in the order I drafted them in the car, the //small translucent green gelatinous// line is the line I rehearsed in the elevator and it is coming out clean... Sofia is watching me, Sofia is reading me as on form, that is the read I want, hold the cadence, do not improvise the next answer either...
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(writing)</i> Two centimetres. Slow. Photosensitive. Category-three under protocol, not under hazard. Understood.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Clean delivery. The cadence held. Reyes is writing rather than probing, the question of whether to follow up has gone down a tier. Sofia is reading the smoothness as Chen being on form, not as Chen being managed. Whatever the rest of the briefing was going to cost in suspicion, it now costs less.//
<</say>>
<<conditioningFeedback "psionic" 1 "Chen accepted a planted register as her own composure">>
<p><span class="delve-intel">Nudge fired, Chen delivered the prepared specimen profile in the grant-reviewer voice. Sofia Suspicion accrues at a lower rate per lie for the rest of the briefing. Chen's authorship-of-her-own-composure has narrowed by another increment.</span></p>
[[Reyes presses on goal-directed behaviour|Ch2-Vessel-Monday-Conference-Answer2-Clean]]<<nobr>><<bg "bg-lab">>
/% Re-entry idempotency: gate the -3 lab suspicion AND the +1 Sofia
suspicion on a one-shot sentinel so history navigation / Status menu
re-entries don't re-fire. The Sofia suspicion comes from the small
"when did she learn this" recognition Sofia files when Chen delivers
the script verbatim, see her surface-thought block below. %/
<<if not $ch2Events.conferenceTransferVasquez>>
<<set $ch2Events.conferenceTransferVasquez to true>>
<<addSuspicion "lab" -3>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<</if>><</nobr>>
<div class="passage-title">Transfer Thought · Sofia → Chen</div>
<div class="lab-location">The three feet of air between Sofia's frontal cortex and Chen's first-person register</div>
<<say "char-hivemind" "Hivemind">>
//I sync Chen's interior monologue to Sofia's for the next sixty seconds. Not a memory, not an instruction, a //register//. Sofia's tactical framing for the Reyes question, //acknowledge → protocol-spec → bounded → cooperation in order → ask scope//, slides into the part of Chen's head that drafts her next sentence. Chen does not register the sync as foreign. She registers it as composure she has somehow summoned.//
<</say>>
<p>Chen lifts her chin a fraction. The breath she takes is the breath of a person who has just decided what she is going to say. The improvising version of her, the version that wanted to walk Reyes through the accelerated-evolution arc because the arc is the part she is proud of, goes quiet behind the version that is now speaking.</p>
<<say "char-chen" "Chen">>
<i>(level, the grant-reviewer voice activated and held)</i> Special Agent. Before I answer, I want to acknowledge that this is a serious incident, that you are right to be in this room today, and that my team is fully cooperative.
<</say>>
<<say "char-chen" "Chen">>
Genesis-Forty-Seven is a characterised organism. It is not a moving target. We have a parameterised behavioural profile, a known feeding schedule, and an established stress-response envelope. Within those parameters, the specimen is bounded. Outside this facility, the specimen has no host vector and no known reproductive pathway, which materially constrains the search radius.
<</say>>
<<say "char-chen" "Chen">>
<i>(she meets Reyes' eyes)</i> What I would like to offer your agents in order is: the camera footage Dr. Holloway has assembled, the personnel access logs for the past seventy-two hours, and the BSL-three vivarium-isolation protocol documentation. What I would ask in return is a clear scope from your team, what you need from us to close this incident, and on what timeline. We will deliver against that scope before lunch.
<</say>>
<p>The room shifts a quarter-degree. Reyes' pen, which had been tapping against the leather portfolio in a slow rhythm, stops. Park, beside him, makes a small note. Vasquez, across the table, does something with her face that is not quite a smile and not quite relief and resolves into the expression of a co-PI who has just watched her partner walk through a minefield without a single wrong step.</p>
<<if $ch2Events and $ch2Events.conferenceVasquezDelved>>
<<say "char-vasquez-thought" "Sofia (surface)">>
...wait, hold on, that was... that was //the play//, that was //my// play, the protocol-spec, the bounded framing, the cooperation in order, the asking for scope... Elena landed it in the right order without me needing to elbow her, without me needing to look at her sideways, without me needing to do anything except sit here and watch... //when did she learn this//... okay, she has been at this longer than I sometimes give her credit for, file it, do not make a show of being surprised, the agents are watching, just... okay, let her run, she has the floor, she has //earned// the floor...
<</say>>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(re-capping the pen, voice a degree calmer)</i> Doctor. Thank you. That is a useful framing. Let's work through it in that order.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The room reads exactly the way Sofia predicted it would. Reyes is now navigating a cooperative scope-discussion instead of a hostile interview, the pen is recapped, the portfolio is re-angled, the shoulders have come down half an inch. The shape of the next part of the morning has recalibrated under everyone's feet: fewer pointed questions, more administrative requests, less of the Detrick-template energy Sofia was bracing for.//
//Sofia is still trying to read whether Chen has somehow done this on her own. She will not arrive at //I am routing my thoughts through her// as an explanation. She will arrive at //Chen is sharper under pressure than I gave her credit for//, and she will tell Chen so at lunch.//
<</say>>
<p>The next ten minutes do not look like the briefing the room had been bracing for. Reyes's two follow-up questions, the goal-directed-behaviour question and the chamber-failure question, never arrive in their interrogation form. The script has reframed the meeting as a working session, and a working session does not interrogate; it allocates. Reyes asks for the camera footage in the order Chen offered it. He asks for the personnel-access logs by Halvorsen rather than by Chen. He asks for the BSL-three vivarium-isolation documentation by close of business. Each ask is procedural, written down, acknowledged. The questions Chen would have had to lie to answer were absorbed into the cooperative-scope frame before they had a chance to be asked. Reyes recaps the pen for the second time, this time with finality.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(closing the portfolio)</i> That gives my team the spine of what we need for the morning. Dr. Vasquez, Dr. Chen, thank you. We'll work the documentation pull and reconvene at one.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia's script worked the way Sofia knew it would. The room did not need Chen to defend a hypothesis or commit to a mechanism, the room needed Chen to deliver a cooperative-scope frame and let the federal team work inside it. Reyes is leaving with a list of documents and a one-o'clock check-in. He is not leaving with the //goal-directed// question filed as load-bearing. He is not leaving with a //working hypothesis// flag against Chen's name. He is leaving with administrative tasks.//
<</say>>
<p><span class="suspicion-decrease">−3 lab suspicion</span> · <span class="suspicion-gain">+1 Sofia suspicion</span>, the de-escalation script landed clean, and Sofia logged the recognition.</p>
<p><span class="delve-intel">Transfer Thought, Sofia's tactical framing routed into Chen's mouth. Reyes accepts the cooperative-scope reframing; the load-bearing follow-up questions are absorbed before they are asked, and lab suspicion drops by 3. Sofia reads Chen as having grown into the role under pressure, but the //when did she learn this// recognition lands as a small file-this-for-later flag, +1 Sofia suspicion.</span></p>
[[Vasquez moves to wrap the briefing|Ch2-Vessel-Monday-Conference-Closer]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.conferenceBowenImplant to true>>
<<set $ch2Events.bowenImplant to true>><</nobr>>
<div class="passage-title">Memory Implant · Bowen, at the table</div>
<div class="lab-location">Bowen, four chairs to your right, the part of him that decides what he saw</div>
<<say "char-hivemind" "Hivemind">>
//Bowen is at the far corner with the clipboard flat in front of him. He is not currently a target of attention; Reyes has not yet looked at him, Sofia is mid-handoff to Chen, and the room's focus is on the projection screen. The conditions for the edit are as good as they will get inside this meeting.//
//I reach across the table the way I reached across two feet of corridor air earlier, a longer throw, a thinner channel, but the principle is identical. I find the shelf I unsealed in the chamber: the off-shift sucrose round, the specimen pressed at the gasket, the two minutes of pointed stillness. I overwrite it with the round he wishes he'd had. The chamber on its overnight low. Genesis-Forty-Seven curled in the back-third of the tank in its usual rest posture, dorsal eye-spot turned away from the glass. He noted the feeding, noted nothing else worth noting, signed the round-sheet, went home.//
<</say>>
<p>Bowen, four chairs to the right, blinks. Once, twice. The expression that crosses his face is the expression of a man who has just remembered something boring, an unremarkable round he was, half a second ago, almost about to mention as remarkable. The almost-thought dissolves before he can catch it. He looks down at the clipboard, scratches his eyebrow, and re-folds his hands.</p>
<<say "char-hivemind" "Hivemind">>
//Done. The pre-breach observation no longer exists in any form he can retrieve. If Reyes turns to him in the next twenty minutes and asks //had you noticed any unusual behaviour from the specimen in the rounds preceding the breach//, Bowen will say no and mean it. If Sofia asks the same question after the federal agents have left, Bowen will say no and mean it. The investigation now has no living witness to the pre-breach probing. The chamber failure stays read as equipment fatigue<<if $permanentDone and $permanentDone.erasedFootage>>, and the federal angle stays anchored on Hoffman<<else>>, and even with the rodent-mechanism fork, no one in the room can connect the bite-pattern to specimen agency<</if>>.//
<</say>>
<p><span class="delve-intel">Memory Implant, Bowen's pre-breach observation overwritten in-room. The load-bearing memory (Genesis-47 pressed at the failure spot) is gone; what remains is a routine off-shift top-up indistinguishable from every other rest-posture round he has filed. He will not surface anything in the briefing. The implant holds against direct questioning because the new memory is mundane enough to attract no scrutiny, there is no detail to mis-remember, no contradiction to trip over.</span></p>
[[Back to the conference|Ch2-Vessel-Monday-Conference]]
/* ---- CHEN'S ANSWERS — DETERMINISTIC PER-PATH ---------------
Three answer chains, one per entry path. No further player choice.
NUDGE → Answer2-Clean → Answer3-Fatigue → Closer
(clean lies, +1 vasquezSuspicion in NudgeChen)
TRANSFER → TransferVasquez → Closer
(script absorbs all three Reyes questions, -3 lab susp)
IMPROVISE → ImproviseChen → Closer
(honest dismissive, +1 lab susp at closer)
*//% NUDGE-path goals answer. Reachable only from NudgeChen. The Vasquez
individual-suspicion +1 was front-loaded into NudgeChen (it covers all
three nudged answers as a single "Vasquez clocked the lying register");
no further vasq increment here. %/
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Third-Floor Conference Room">><</nobr>>
<div class="passage-title">9:23 AM, Reyes asks about goal-directed behaviour</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<<say "char-reyes" "Special Agent Reyes">>
<i>(pen still moving)</i> Doctor, //has the specimen been observed exhibiting behaviour that you would describe as goal-directed//. By which I mean: does it appear to make decisions, navigate toward objectives, respond to stimuli in a way that suggests planning rather than reflex.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The honest answer is //yes, by the third week of the seventh generation, and increasingly by every generation since.// The planted register selects the other answer. Chen does not feel the selection happen. She feels herself being level.//
<</say>>
<<say "char-chen" "Chen">>
<i>(level)</i> Reflexes only. The specimen is photosensitive and tactile-responsive, it withdraws from light, orients toward chemical gradients in the substrate. We have never observed behaviour that exceeds an invertebrate baseline. There is no record of //planning//, in the sense you mean.
<</say>>
<p>Across the table, Sofia does not move. Her face does not change. But her eyes, for half a second, flick to Chen and stay there a beat longer than they have all morning. Then they go back to Reyes.</p>
<<say "char-chen-thought" "Elena">>
...Sofia just clocked me, Sofia just clocked the lie and chose not to surface it in front of the agents because Sofia is reading the room the same way I am, she will absolutely surface it later in a smaller room with the door closed and two coffees and the kind of voice she uses when she is //disappointed// not //angry//, that conversation is happening today, file it, move on, the rest of this briefing is what matters right now...
<</say>>
<<say "char-hivemind" "Hivemind">>
//A clean lie. The kind of clean lie a PI delivers when she has decided what story the room is committing to and is willing to defend it. The cost lands not on Reyes, who has no internal model of the specimen against which to test the answer, but on Sofia, who has co-signed the same observation reports Chen just contradicted. Sofia has filed the contradiction. Sofia will return to the contradiction later, in a smaller room.//
<</say>>
[[Reyes presses on the chamber failure|Ch2-Vessel-Monday-Conference-Answer3-Fatigue]]/% NUDGE-path chamber answer. Reachable only from Answer2-Clean. Reyes's
chamber-failure question is now inlined here (was previously a separate
choice-fork passage). No further vasq increment — pre-paid in NudgeChen. %/
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Third-Floor Conference Room">><</nobr>>
<div class="passage-title">9:28 AM, Reyes presses on the chamber failure</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<<say "char-reyes" "Special Agent Reyes">>
<i>(pen tapping the portfolio once)</i> Last question for now, Doctor. The chamber failure itself. In your professional opinion, and I understand the engineering analysis is forthcoming, //why// did the front panel fail. Equipment fatigue, manufacturing defect, environmental stress, deliberate compromise. What is your working hypothesis at nine in the morning.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The planted register holds. Chen will reach for the conclusion she would have signed six months ago, before the gasket-pressing rounds, before the off-shift footage, and she will reach for it without noticing she has reached.//
<</say>>
<<say "char-chen" "Chen">>
<i>(measured, the way she phrases conclusions she is willing to sign)</i> Equipment fatigue. The acrylic-to-gasket seal on the front panel is the highest-stress point on the chamber and it has been in service for the full forty-seven generations of the protocol. The maintenance schedule covers the gasket every six weeks; the panel itself is on a twelve-week visual inspection. There is room in that schedule for a stress fracture to propagate undetected. I would expect the engineering analysis to come back consistent with that.
<</say>>
<p>Sofia's eyes have not moved off Chen since the answer began. The room registers nothing. Sofia registers everything.</p>
<<say "char-chen-thought" "Elena">>
...Sofia is staring at me the way she stared at Detrick the morning of the leak, when the seal failure was exactly the seal failure I just blamed on maintenance, and she remembers Bowen's round-sheet about the gasket-pressing posture because she signed off on it, and I signed off on it, and I just told a federal agent the gasket failed because the maintenance schedule did not catch a bad seal... Sofia is going to ask me about this in a smaller room within the hour, she is going to use the word //Elena// the way she only uses it when she is genuinely worried, and I am going to have to have a different answer ready by then...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Chen has just walked into a room of her own making. The maintenance-schedule numbers she cited are right. The conclusion she drew from them is the conclusion she would have drawn before the protocol started returning specimens that pressed themselves against gaskets. Sofia heard the conclusion and heard the missing footnote, //and Bowen flagged the gasket-pressing posture in the off-shift round-sheet recently//, and Sofia has now filed the second contradiction of the morning.//
//A working PI would have left the answer at //the engineering analysis is forthcoming//. The planted register chose //commit//. Sofia logged the commit.//
<</say>>
[[Vasquez moves to wrap the briefing|Ch2-Vessel-Monday-Conference-Closer]]/% IMPROVISE path. Single-passage answer chain. Chen handles all three
Reyes questions in her flat dismissive register — honest content, no
lies, but the register itself reads as evasion to a federal interlocutor
on his first morning in an unfamiliar facility. Sets a flag the closer
reads to apply +1 lab suspicion. No vasq increment (Vasquez hears no lie
to flag — Chen's tone is the tone Vasquez has known for over a decade). %/
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Third-Floor Conference Room">>
<<set $ch2Events.conferenceImprovised to true>><</nobr>>
<div class="passage-title">9:21 AM, Chen takes the floor</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<<say "char-hivemind" "Hivemind">>
//No nudge. No script. Chen's own register, the one she has worn since high school: flat, factually complete, dismissive of anyone in the room who has not read the protocol document. Sofia is bracing in her chair.//
<</say>>
<<say "char-chen" "Chen">>
<i>(flat, the lab-meeting voice)</i> Genesis-Forty-Seven is a soft-bodied biological specimen, two centimetres in length, generated under the Project Genesis accelerated-evolution protocol. It is the forty-seventh generation in a series of controlled tissue cultures, each iteration selected against the previous generation for survivability under stress. The interesting part of the protocol is not the organism, it is the //selection regime//. We have demonstrated convergent morphological adaptation across generations under conditions that classical evolutionary models predict would require a population, not a serial culture. Which is what the paper is about.
<</say>>
<<say "char-chen" "Chen">>
Visually: small, translucent green, gelatinous, single dorsal eye-spot. Photosensitive. Slow-moving. Does not vocalise, does not bite, does not transmit pathogens. Category-three containment under the protocol because the protocol calls for category-three; not because the organism is dangerous to a single person in a single encounter.
<</say>>
<<say "char-chen-thought" "Elena">>
...the agent is writing fast, which is the response I want, get the facts down and move on, Sofia is doing the exhale she does when I have walked into something but I cannot for the life of me see what I have walked into, the //selection regime// line is the line I would have led with on a panel and it is the line that lands because it is the load-bearing piece, why is everyone reading me as evasive when I am being maximally informative...
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(writing, slower)</i> Two centimetres. Slow. Photosensitive. //Convergent morphological adaptation across generations.// <i>(looks up)</i> Doctor, does the specimen exhibit behaviour you would describe as //goal-directed//. Decisions, navigation toward objectives, response to stimuli that suggests planning rather than reflex.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The honest answer arrives at the front of Chen's mouth without resistance. She does not know to lie because she does not know the question is load-bearing. She knows the question is //interesting//.//
<</say>>
<<say "char-chen" "Chen">>
<i>(flat)</i> Yes. By the third week of the seventh generation, increasingly by every generation since. The behaviour is not //planning// in the cognitive sense, there is no cortex to plan with, but it is goal-directed in the operational sense: oriented toward identifiable objectives, modulated by feedback, repeatable under matched conditions. We have three internal observation reports characterising the trajectory.
<</say>>
<p>Sofia closes her eyes for a half-second. When she opens them she is looking at the table, not at Chen.</p>
<<if $ch2Events and $ch2Events.conferenceVasquezDelved>>
<<say "char-vasquez-thought" "Sofia (surface)">>
...Elena. //Elena.// That is the word //convergent// and the word //goal-directed// in the same answer to a federal agent on his first morning in this building, and you have not stopped to ask yourself what those two words sound like //together// in his notes, and Reyes has not stopped writing since the word //regime//, and I cannot reach across the table and put a hand on your wrist without the room reading it as a tell... //focus, Sofia, the chamber question is next, brace//...
<</say>>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(pen tapping the portfolio once)</i> Last question for now, Doctor. The chamber failure. //Why// did the front panel fail. Equipment fatigue, manufacturing defect, environmental stress, deliberate compromise. Working hypothesis at nine in the morning.
<</say>>
<<say "char-chen" "Chen">>
<i>(level, dismissive of the question's framing)</i> The engineering analysis hasn't been done. The gasket hasn't been removed. I am not going to speculate on a mechanism before the bench work, that is not how this is done. We have <<if $ch2Events.electricalAngleInvestigation>>Dr. Holloway's electrical analysis pointing at a chewed cable for the second outage, which she will follow into the first outage's conduit before lunch. If the same mechanism caused both, we have a hypothesis we did not need to invent. I would rather wait for that than guess.<<else>>several lines of analysis in motion. I would rather wait for them to land than commit to a mechanism on a Monday morning.<</if>>
<</say>>
<<say "char-chen-thought" "Elena">>
...the answer is //correct//, the answer is what a working PI says when the engineering analysis hasn't been done, the answer is what Sofia would have given if Sofia had been asked instead of me, so why is Sofia exhaling like that, why is Reyes writing the answer down with the same speed he wrote the //goal-directed// answer down, what did I just tell him that I do not know I told him...
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(closing the portfolio at his own pace, not Chen's)</i> Understood, Doctor. Thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Chen told the truth across all three answers. The factual content was accurate, the deferral on the chamber question was the textbook deferral, and the register was the register Sofia has known for more than a decade and reads as //Chen being herself//. The federal interlocutor reads it as something else entirely. The combination of //convergent morphological adaptation//, //goal-directed//, and //I will not speculate on the mechanism// in the same five-minute window has registered in Reyes's notes as a different shape than Chen intended. He has not yet decided what shape, but the shape is not //a tired PI on a difficult morning//. The shape is closer to //a PI who knows more than she is presenting and is dressing it as composure//.//
//No lies in the room. The cost lands on the federal column anyway, because the dismissive register is the register of someone who thinks the question is beneath her, and a federal agent on his first morning in an unfamiliar facility does not give the benefit of the doubt to that register. The morning will close hotter than the briefing transcript suggests it should.//
<</say>>
[[Vasquez moves to wrap the briefing|Ch2-Vessel-Monday-Conference-Closer]]
/* ---- CLOSER --------------------------------------------- */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Third-Floor Conference Room">>
<<set $ch2Events.conferenceComplete to true>>
<<set _erased to ($permanentDone and $permanentDone.erasedFootage) or false>>
<<set _vasq to $vasquezSuspicion or 0>>
<<set _improvised to ($ch2Events and $ch2Events.conferenceImprovised) or false>>
<<set _transferred to ($ch2Events and $ch2Events.conferenceTransferVasquez) or false>>
<<set _nudgedPath to ($ch2Events and $ch2Events.conferenceChenNudged) or false>>
/% Rat-fork closer tick: the conference-entry +1 was the "angle is hot" tick;
this is the "specimen profile is now in the federal notes" tick. Erased
fork doesn't get a second tick — the federal team there is anchored on
Dale, not on the creature itself. %/
<<if not _erased and not $ch2Events.conferenceCloserSuspicionApplied>>
<<addSuspicion "lab" 1>>
<<set $ch2Events.conferenceCloserSuspicionApplied to true>>
<</if>>
/% Improvise-path penalty: Chen's flat dismissive register reads as evasion
to Reyes on his first morning here. Fires once, dedup'd against
re-entry. Stacks on top of the rat-fork closer tick. %/
<<if _improvised and not $ch2Events.conferenceImproviseSuspicionApplied>>
<<addSuspicion "lab" 1>>
<<set $ch2Events.conferenceImproviseSuspicionApplied to true>>
<</if>><</nobr>>
<div class="passage-title">9:41 AM, Adjournment</div>
<div class="lab-location">BioGenesis Research Facility, Third-Floor Conference Room</div>
<<say "char-vasquez" "Vasquez">>
<i>(both hands flat on the table again, the meeting-closing posture)</i> Okay. We regroup at one. Agent Reyes, Agent Park, the small office at the end of this corridor is yours for the day; Halvorsen will get you set up. Holloway, walk the first conduit before lunch; I want a yes or a no on the cable by twelve-thirty. <<if _erased>>Halvorsen, get me Dale Hoffman's full personnel file and his shift schedule for the last six months, paper and digital, on my desk by twelve.<<else>>Halvorsen, get facilities on the rodent sweep; live traps in the BSL-three corridor and the antechamber by ten-thirty.<</if>> Elena <i>(small pause)</i>, eat something.
<</say>>
<<say "char-chen" "Chen">>
<i>(neutral)</i> Yeah.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(quieter, as the room starts to break up)</i> One o'clock. Don't disappear on me.
<</say>>
<p>Chen gathers her phone off the table. The federal agents are already in conversation with Halvorsen, low-volume, professional. Holloway is closing the laptop. Bowen, <<if not ($ch2Events and $ch2Events.bowenSentToBathroom)>>still at the corner, expression unreadable, pushes back from the table and gives Chen a small, careful nod as she passes.<<else>>still absent, has not appeared.<</if>></p>
<<say "char-hivemind" "Hivemind">>
//The morning's central problem, more or less managed. The federal apparatus has anchored on <<if _erased>>a night security guard with a clean six-year record and a deleted eleven minutes<<else>>a rodent in the BSL-three wing and a sister-cable bite-pattern<</if>>. <<if _nudgedPath>>Chen lied cleanly across all three answers; Sofia clocked every one and filed them.<<elseif _transferred>>Chen delivered Sofia's de-escalation script as her own composure; no lies, no contradictions, no commit Sofia can pull on later.<<elseif _improvised>>Chen told the truth in her flat dismissive register across all three answers; Sofia has no contradiction to flag, but Reyes has filed something he has not yet decided how to read.<<else>>Chen handled the room.<</if>> Lunch is the next room.//
//<<if _vasq lte 2>>Sofia's read on Chen this morning is //tired but on form//. She will not push Chen at lunch beyond the pro forma //are you okay.// The smoothness held.//
<<elseif _vasq lte 4>>Sofia's read on Chen this morning is //something is off, but I cannot yet name it.// She will push at lunch, gently, the way she pushes when she does not yet have a thread to pull. Be careful with the pheromone budget on a friend who has known the host for over a decade.//
<<else>>Sofia's read on Chen this morning is //she is lying to me, and I have not yet decided what about.// She will push at lunch, and the push will not be gentle. Lunch is now the load-bearing scene of the day. Plan accordingly.//<</if>>
<</say>>
<hr class="scene-break">
/* End-of-passage total feedback removed 2026-05-21 (user request).
Per-path passages already render their own partial feedback:
- Conference entry delve-intel spans show the +1 lab "angle is hot" tick
- NudgeChen renders its +1 Sofia suspicion via conditioningFeedback
- TransferVasquez renders both its -3 lab and +1 Sofia in the closing prose
The closer's mechanical addSuspicion calls (rat-fork tick + improvise
penalty) above stay active but are now silently applied. */
/% Scene-exit cleanup. Two categories of state:
CLEARS (ephemeral, per-scene only — re-delve required next time):
- $delveInfo.vasquezSurface (surface read-channel)
- $ch2Events.conferenceChenNudged (per-scene action flag — Chen's
register snaps back to default
between scenes; psionic
conditioning persists separately)
- $ch2Events.conferenceBowenImplant (per-scene gate; the underlying
$ch2Events.bowenImplant persists
regardless)
PERSISTS (permanent or downstream-gating — never clear here):
- $ch2Events.conferenceComplete
- $ch2Events.fedsInvolved
- $ch2Events.daleUnderInvestigation OR $ch2Events.electricalAngleInvestigation
- $ch2Events.ratSearchPending (gates the BSL-3 sweep)
- $ch2Events.cameraAngle ("dale" or "rat" — read by lunch)
- $ch2Events.bowenImplant (permanent autobiographical edit)
- $vasquezSuspicion (cumulative across the day)
- $ch2Events.conferenceSuspicionApplied (entry +1 dedup)
- $ch2Events.conferenceCloserSuspicionApplied (closer +1 dedup, rat fork)
- $ch2Events.conferenceImprovised (path flag — read by closer + lunch)
- $ch2Events.conferenceImproviseSuspicionApplied (closer +1 dedup, improv path)
- $ch2Events.conferenceTransferVasquez (path flag — read by lunch warm beat)
%/
<<link "Down to the cafeteria for lunch" "Ch2-Vessel-Monday-Lunch">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezSurface to false>>
<<set $ch2Events.conferenceChenNudged to false>>
<<set $ch2Events.conferenceBowenImplant to false>>
<</link>><<nobr>>
<<set $currentArea to "Chen's Mind, Foyer (wrong)">>
<<set $vessel.dreamLoc to "foyer-tidy">>
/* Endgame now triggers from the dream-villa safe-open (the OPEN link in
Ch2-Vessel-Dream-Kitchen's safe gate -> Ch2-Vessel-Dream-Safe-Open ->
Ch2-Vessel-Ending-Reveal), gated on the 3 compasses + 7 relay shatters
+ the rooms. The old foyer auto-redirect is retired so the relay gate
can't be bypassed by finishing rooms alone. */
/* Heal saves that predate the dreamscape redesign. */
<<if not $dreamFoyerTidied>>
<<set $dreamFoyerTidied to {
clock: false,
photo: false,
umbrella: false,
keys: false,
coat: false,
picture: false
}>>
<</if>>
<<set _tidied to 0>>
<<if $dreamFoyerTidied.clock>><<set _tidied += 1>><</if>>
<<if $dreamFoyerTidied.photo>><<set _tidied += 1>><</if>>
<<if $dreamFoyerTidied.umbrella>><<set _tidied += 1>><</if>>
<<if $dreamFoyerTidied.keys>><<set _tidied += 1>><</if>>
<<if $dreamFoyerTidied.coat>><<set _tidied += 1>><</if>>
<<if $dreamFoyerTidied.picture>><<set _tidied += 1>><</if>>
<<set _allTidied to (_tidied gte 6)>>
<<if _allTidied>>
<<bg "bg-dream-foyer">>
<<else>>
<<bg "bg-dream-foyer-messy">>
<</if>><</nobr>>
<div class="passage-title"><<if _allTidied>>Foyer<<else>>The Foyer is Wrong<</if>></div>
<div class="lab-location">Chen's mind, entrance hall</div>
/* Two-state design: the messy foyer image carries all six anomalies in
one render; clicking a hotspot flips its $dreamFoyerTidied flag and
the player returns here to find the same image with that anomaly's
click region gone. Once all six flags are true, the image swaps to
the clean foyer and the hub link appears. */
<<if _allTidied>>
<<imageHotspots "media/scenes/vessel/dream-foyer-clean.webp" "Chen's apartment foyer rendered as a small entrance hall, calm and orderly.">>
<</imageHotspots>>
<p>The hall is right. Not perfect, the carpet still does not quite agree with the wall, and the corridor's light is the wrong colour at the seam, but the things she has been failing to notice for months are no longer failing to be noticed. The clock ticks forward. The photograph stands up. The keys are in the dish. The picture is straight.</p>
<<say "char-hivemind" "Hivemind">>
//Six small fixes. Six things her body had stopped registering. The architecture is now in a state it can be navigated from. Whether she will navigate it differently in the morning is a question I cannot yet answer.//
//I notice that I find the hall reassuring. I will think about that later.//
<</say>>
<p>The corridor that runs off the foyer is longer than it should be. There are doors along it that the apartment does not, in waking life, have.</p>
/* Time-skip clock UI lives on the Foyer hub (Ch2-Vessel-Dream-Foyer)
so it appears every dream entry, not only the post-tidy reveal. */
<p>[[Now the apartment is ready|Ch2-Vessel-Dream-Foyer]]</p>
<<else>>
<<imageHotspots "media/scenes/vessel/dream-foyer-messy.webp" "Chen's apartment foyer rendered surreal and wrong, clock running backwards, photo face-down on the side table, keys on the floor, coat fallen on the floor, umbrella stand tipped over with umbrellas spilling, picture hanging crooked.">>
<<if not $dreamFoyerTidied.clock>>
<<hotspot 40 12 10 36 "The grandfather clock, its hands are running backwards" "Ch2-Vessel-Dream-Tidy-Clock">>
<</if>>
<<if not $dreamFoyerTidied.picture>>
<<hotspot 82 6 15 27 "A framed picture, hanging crooked" "Ch2-Vessel-Dream-Tidy-Picture">>
<</if>>
<<if not $dreamFoyerTidied.photo>>
<<hotspot 2 53 22 14 "A family photograph, face-down on the side table" "Ch2-Vessel-Dream-Tidy-Photo">>
<</if>>
<<if not $dreamFoyerTidied.coat>>
<<hotspot 24 63 22 15 "The coat, fallen, pooled on the floor" "Ch2-Vessel-Dream-Tidy-Coat">>
<</if>>
<<if not $dreamFoyerTidied.umbrella>>
<<hotspot 46 70 32 22 "The umbrella stand, tipped over, umbrellas spilling out" "Ch2-Vessel-Dream-Tidy-Umbrella">>
<</if>>
<<if not $dreamFoyerTidied.keys>>
<<hotspot 36 82 8 8 "Her keys, on the floor instead of in the dish" "Ch2-Vessel-Dream-Tidy-Keys">>
<</if>>
<</imageHotspots>>
<p>The foyer is not what a foyer should be. Six things in it are doing something they should not be doing, small, particular, the kind of wrongness that does not announce itself and yet makes the room unusable.</p>
<<say "char-hivemind" "Hivemind">>
//First lesson. The architecture of a sleeping mind is not <i>imagined</i>, it is <i>inhabited</i>. The rooms render as the host's body remembers them, and where the body has stopped maintaining a small thing, the dream renders the small thing wrong. This is not metaphor. This is the bookkeeping of a body that has been unattended.//
//Set the room right. The villa will not let me move past the foyer until I have shown that I can hold an object in place inside her without breaking it.//
<</say>>
<p><i>Hover each anomaly. Click to set it right. (<<= _tidied>> of 6 corrected.)</i></p>
<</if>>
/* ---- FIX-IT SUB-PASSAGES (one per anomaly) ---------------- */<<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>You reach into the case and lay your perception against the pendulum. The pendulum does not resist, it is not a real pendulum, it is the rendered shape of a habit she has lost, but the //direction// it has been swinging is set by something underneath the rendering, and that you have to nudge.</p>
<p>You push the minute-hand the way it should go. The hour-hand follows. The pendulum reluctantly agrees. Time, in the foyer, begins to advance the way time advances.</p>
<<say "char-hivemind" "Hivemind">>
//Her relationship to forward time has been backwards for months. Not metaphorical. Operational. She has been running her week as a debt against her past, not a draft toward her future. The clock turning the right way is the cheapest thing I will do tonight; whether it stays turned the right way is the expensive part.//
<</say>>
<<if $dreamFoyerTidied.clock>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.clock to true>><</link>>
<</if>><<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>The photograph is face-down on the side table the way she put it face-down in waking life, in the box, on the floor of the closet. You do not turn it over. You set it //upright//, frame to the wall, image still hidden, so that the table acknowledges that the photograph is a photograph and not a piece of furniture.</p>
<p>It is a small concession. It is also the maximum concession the foyer will accept tonight.</p>
<<say "char-hivemind" "Hivemind">>
//Standing it up is not opening it. Opening it has to be hers. But a frame that stands is a frame that the body has agreed exists, and the body had not agreed.//
<</say>>
<<if $dreamFoyerTidied.photo>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.photo to true>><</link>>
<</if>><<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>The stand has fallen sideways and the umbrellas have spilled across the carpet. You right the stand. You gather the umbrellas. You set them upright in the stand the way she would have set them upright if she had not, at some specific moment she does not remember, decided that an upright umbrella was a thing she could do tomorrow and then continued not doing it.</p>
<<say "char-hivemind" "Hivemind">>
//Small order, restored. The umbrella stand was not failing because the umbrellas were heavy. It was failing because the body had stopped agreeing to perform the small physical maintenance that holds a household in shape. Most of her foyer is failing for the same reason.//
<</say>>
<<if $dreamFoyerTidied.umbrella>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.umbrella to true>><</link>>
<</if>><<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>The keys are on the floor in the dead centre of the foyer. They have been on the floor for a long time, the carpet underneath them remembers their shape. You lift them. You drop them in the brass dish on the side table. The dish remembers the keys; the keys, after a moment, remember the dish.</p>
<<say "char-hivemind" "Hivemind">>
//She has been coming home and putting the keys down in the wrong place, pocket, counter, kitchen table, anywhere that is not the dish, for months. The dish has been there. The dish has been waiting. The body had stopped routing the action through the dish, and the dish became invisible.//
//Restoring the routing is the kind of thing I can do for a host who is asleep. Whether she will keep using the dish in waking life depends on how often I replay this.//
<</say>>
<<if $dreamFoyerTidied.keys>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.keys to true>><</link>>
<</if>><<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>The coat is pooled at the foot of the door, where she steps over it every morning and every night. You lift it. The hook on the wall is there, has always been there, and the coat, when offered to it, accepts the hook without comment.</p>
<<say "char-hivemind" "Hivemind">>
//Five seconds of action a day, abandoned for so long the coat has stopped expecting the hook. The hook has stopped expecting the coat. The body has stopped expecting either to behave. I can hang the coat for her tonight; she will hang it for herself the morning that I have made the geometry of the doorway a thing she can no longer ignore.//
<</say>>
<<if $dreamFoyerTidied.coat>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.coat to true>><</link>>
<</if>><<nobr>><<bg "bg-dream-foyer-messy">>
<</nobr>>
<p>The picture has been hanging crooked on the upper-right wall for so long that the nail and the wire have worked out a private agreement to stay crooked. You straighten it. The agreement, briefly, breaks.</p>
<<say "char-hivemind" "Hivemind">>
//A wall she walks past five times a day. A frame she stopped seeing on a Tuesday she does not remember. The crooked picture is the cheapest possible diagnostic of the inattention I am going to spend the next several weeks reversing, and the reversal will not be loud, because nothing loud has ever survived inside this host.//
<</say>>
<<if $dreamFoyerTidied.picture>>
<p><span class="choice-done">Already set right.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<<link "Set it right" "Ch2-Vessel-Dream-Foyer-Tidy">><<set $dreamFoyerTidied.picture to true>><</link>>
<</if>>
/* ---- FOYER HUB --------------------------------------------- */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Chen's Mind, Foyer">>
<<set $vessel.dreamLoc to "foyer">>
<<if not $ch2Events.dreamTutorialDone>>
<<set $ch2Events.dreamTutorialDone to true>>
<</if>>
/* On the very first foyer-hub visit (immediately after the tidy
tutorial), the breach call is pending: every door of the villa is
present but locked, the parasite has barely had time to read the
floor-plan, and Chen's phone is about to ring out in waking life.
Forced retreat, no exploration this cycle. After the breach call
fires, subsequent visits restore normal navigation. */
<<set _forcedRetreat to (not $ch2Events.breachCallFired)>>
/* Once the player has reached the Monday evening sleep passage they
are in the second-or-later dream cycle (post-breach) and the
dreamscape is navigable. Per-room gating below replaces the previous
body-memory ($vesselMemories) flag system. */
<<if $ch2Events.eveningComplete>>
<<set _forcedRetreat to false>>
<<set $ch2Events.breachCallFired to true>>
<</if>>
/* Foyer-cleaned milestone: kitchen unlocks once all six $dreamFoyerTidied
items are set right. The living room is the apartment corridor and is
always navigable while the dreamscape is open. Bedroom unlocks at Chen
tier 2 (vessel cap 7). Lab unlocks at Chen tier 3. */
<<set _foyerTidiedCount to 0>>
<<if $dreamFoyerTidied.clock>><<set _foyerTidiedCount += 1>><</if>>
<<if $dreamFoyerTidied.photo>><<set _foyerTidiedCount += 1>><</if>>
<<if $dreamFoyerTidied.umbrella>><<set _foyerTidiedCount += 1>><</if>>
<<if $dreamFoyerTidied.keys>><<set _foyerTidiedCount += 1>><</if>>
<<if $dreamFoyerTidied.coat>><<set _foyerTidiedCount += 1>><</if>>
<<if $dreamFoyerTidied.picture>><<set _foyerTidiedCount += 1>><</if>>
<<set _foyerCleaned to (_foyerTidiedCount gte 6)>>
<<set _livingRoomOpen to (not _forcedRetreat)>>
<<set _kitchenOpen to (not _forcedRetreat and _foyerCleaned)>>
<<set _bedroomOpen to (not _forcedRetreat and setup.vesselCap() gte 7)>>
<<set _officeDoorOpen to (not _forcedRetreat and ($ch2Events.tier3Unlocked or false))>>
<<set _hasRelay to false>><<hasSkillTreeAbility "Relay">><<if _hasAbility>><<set _hasRelay to true>><</if>>
<<set _relayOpen to (not _forcedRetreat and _hasRelay)>>
/* The Safe — surfaced in the foyer (as a text link below the hotspots)
when all three apartment dream-rooms are at 3/3 per item. */
<<set _kitchenDone to ($vesselMods and $vesselMods.kitchen and ($vesselMods.kitchen.ashtrayProgress or 0) gte 3 and ($vesselMods.kitchen.sinkProgress or 0) gte 3 and ($vesselMods.kitchen.stoveProgress or 0) gte 3)>>
<<set _bedroomDone to ($vesselMods and $vesselMods.bedroom and ($vesselMods.bedroom.vanityProgress or 0) gte 3 and ($vesselMods.bedroom.wardrobeProgress or 0) gte 3 and ($vesselMods.bedroom.shelfProgress or 0) gte 3)>>
<<set _closetDone to ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>>
<<set _safeVisible to (not _forcedRetreat and _kitchenDone and _bedroomDone and _closetDone)>>
/* Relay alcove hotspot hint — when the dreamscape is navigable but the
host lacks the Relay psionic skill, the alcove tooltip names the skill
gating it, and notes whether a frame is already lit and waiting. */
<<set _relayLit to ($ch2Events.sundaySofiaEMFired or $ch2Events.hendersonDominated or $ch2Events.danielRelayOpen or $ch2Events.bowenRelayOpen or $ch2Events.parkRelayOpen or $ch2Events.reyesRelayOpen) or false>>
<<set _relayLabel to "A short alcove, a wall of framed photographs">>
<<if not _forcedRetreat and not _hasRelay>>
<<if _relayLit>>
<<set _relayLabel to "A short alcove of framed photographs, some of the glass already lit, but only the Relay psionic skill can step through them">>
<<else>>
<<set _relayLabel to "A short alcove of framed photographs, all of it dark, the Relay psionic skill would let you walk it">>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Foyer</div>
<div class="lab-location">Chen's mind, entrance hall</div>
<<imageHotspots "media/scenes/vessel/dream-foyer-clean.webp" "Chen's apartment foyer rendered surreal, a grandfather clock against the back wall, a side table with an upright family photograph and a brass key dish, a coat hanging on a hook, a corridor running off to the left toward the rest of the apartment, a doorway to the right opening onto the kitchen, a doorway in the back-right opening onto the bedroom, an impossible additional door on the back-left wall whose frame is the wrong colour and whose handle reads as a laboratory keycard reader. Warm low light from a single sconce.">>
<<hotspot 2 38 18 38 "The corridor, toward the library" "Ch2-Vessel-Dream-Library" `!_livingRoomOpen`>>
<<hotspot 80 38 18 38 "The doorway to the kitchen" "Ch2-Vessel-Dream-Kitchen" `!_kitchenOpen`>>
<<hotspot 60 18 14 22 "The bedroom door" "Ch2-Vessel-Dream-Bedroom" `!_bedroomOpen`>>
<<hotspot 22 16 14 24 "A door into her office, the bench and the desk" "Ch2-Vessel-Dream-Workplace" `!_officeDoorOpen`>>
<<hotspot 38 4 24 10 _relayLabel "Ch2-Vessel-Dream-Relay-Hub" `!_relayOpen`>>
<<if not _forcedRetreat>>
<<hotspot 42 70 18 24 "The front door, leading back out to waking" "Ch2-Vessel-Dream-WakeConfirm">>
<</if>>
<</imageHotspots>>
<<if _forcedRetreat>>
<<say "char-hivemind" "Hivemind">>
//The hall is the first floor of the villa. Three doorways into the apartment proper, corridor, kitchen, bedroom, and a fourth door, on the back-left, whose frame argues with the wall it is set in. I have a half-second to read the floor-plan and no time to walk it.//
//Something is happening at the wrong end of the host. A vibration on a nightstand. Then another. Then a third, a phone, ringing, in waking life. The sound enters the body via the tympanic membrane closest to my anchor and travels into the dream as a tremor.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(in the dream, the way thoughts surface inside thoughts)</i> ...phone. Phone is ringing. The lab number.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three calls in ninety seconds, from the facility's main line, not Vasquez's mobile. Vasquez is in roughly the same state Chen is in: at home, asleep, phone face-down on her own nightstand. The morning shift arrived an hour ago, walked the rounds, came to the cracked chamber, and went up the chain to the PI before they tried the co-PI. Whoever is calling is junior enough to be panicking and senior enough to have the PI's number. They have a decision in their hands they do not want to make.//
//Chen is pulling herself toward the surface. I am anchored to the structure that is being pulled. There is no choice. I retreat.//
<</say>>
<p>The foyer dims around you. The grandfather clock keeps ticking forward for a half-second after your perception leaves it, and then the rendering goes silent, the way rooms go silent when no-one is in them.</p>
<p>[[Wake, the phone is ringing|Ch2-Vessel-Monday-BreachCall]]</p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The hall is the first floor of the villa. From here, three doorways into the apartment proper, corridor, kitchen, bedroom, and one door that is //not// part of the apartment, whose frame argues with the wall it is set in. The architecture has put it on the back-left because the architecture is honest about where it does not belong.//
//The rooms light up as the architecture agrees to surface them. The front door behind me is hers, when I leave, I leave through it.//
<</say>>
<<if _safeVisible>>
<<say "char-hivemind" "Hivemind">>
//The architecture has surfaced one more thing tonight. Through the doorway to the library, on the rug at the centre of the room, a small iron safe is sitting where no safe had stood before. ...the architecture only put it there because the three apartment rooms upstairs are stable. The work has earned the next door.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SAFE</span> <<link "Step through to the library, to the safe on the rug" "Ch2-Vessel-Dream-Safe">><</link>></div>
<<else>>
<hr class="scene-break">
<</if>>
/* Time-skip clock UI. Surfaces once all Vessel-route skills are
unlocked AND day > 15. Four states: buy / locked-no-SP / use /
hidden. When all skills are unlocked but the day gate has not
yet passed, a locked-state hint surfaces so the player knows
what is still missing.
See tasks/2026-05-29-time-skip-clock-design.md. */
<<if setup.allSkillsUnlocked() and ($day or 0) gt 15>>
<<set _timeSkipUnlocked to $ch2Events.timeSkipUnlocked or false>>
<<set _enoughSP to ($player.skillPoints or 0) gte 5>>
<<say "char-hivemind" "Hivemind">>
//The grandfather clock is no longer ticking forward. It has stopped at six minutes past two, the second hand quivering in place. The hands are waiting for an instruction. ...mine.//
<</say>>
<<if _timeSkipUnlocked>>
<<if $ch2Events.bowenWakeupPending or $ch2Events.lucyWakeupPending>>
/* Bowen is asleep in her bed tonight (alpha or as Lucy); the morning-after scene
is armed and the night cannot be skipped past it. The clock refuses until he
is gone. */
<div class="locked-choice"><span class="lock-icon">🔒</span> The clock will not turn tonight <span class="lock-hint">(there is a man asleep in the host's bed; the night has to play out before the hands will move)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CLOCK</span> [[Turn the clock's hands. Where to?|Ch2-Vessel-Dream-TimeSkip]]</div>
<</if>>
<<elseif _enoughSP>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CLOCK</span> <<link "Bend the grandfather clock to your will (5 SP)" "Ch2-Vessel-Dream-Foyer">>
<<set $player.skillPoints to $player.skillPoints - 5>>
<<set $ch2Events.timeSkipUnlocked to true>>
<</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Bend the grandfather clock to your will <span class="lock-hint">(Requires 5 skill points, currently <<= $player.skillPoints or 0>>)</span></div>
<</if>>
<<elseif setup.allSkillsUnlocked()>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The grandfather clock is waiting for an instruction <span class="lock-hint">(Requires day 16+, currently day <<= $day or 0>>)</span></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">WAKE</span> <<link "Step through the front door, back into reality" "Ch2-Vessel-Dream-WakeConfirm">><</link>></div>
<</if>>
/* ---- LIBRARY ---------------------------------------------- */
/* Index of surfaced host-memories. The bookshelf renders as three
shelves (childhood / college, personal life / life at the lab),
each holding two books. State per book:
unlocked — already surfaced, free re-read, green spine
available — surface for 1 biomass + 1 dream-edit, amber spine
locked — gated (currently unused, reserved for future entries)
Plus a one-night exchange: 2 dream-edits collapse into 1 SP.
Memory passages route back to the library when entered while
$vessel.phase is "sleep". *//* Legacy alias — the foyer hotspot now targets Ch2-Vessel-Dream-Library
directly, but old saves / external links still hit this name. */
<<goto "Ch2-Vessel-Dream-Library">><<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, Library">>
<<set $vessel.dreamLoc to "library">>
/* Lazy-init for older saves predating the library. */
<<if not $vesselLibrary>>
<<set $vesselLibrary to {
childhoodKitchen: false,
firstDaySchool: false,
leftOutPlaying: false,
parentsBickering: false,
firstDayHighSchool: false,
escapeStudyPressure: false,
showerDormBoys: false,
graduationNight: false,
firstBoyfriend: false,
universityHallway: false,
movingIn: false,
engagementNight: false,
sofiaPushedApply: false,
genesisSelection: false,
smithRetiresPromotion: false,
fortyFiveReadings: false,
bowenInterview: false,
newYearDinner: false
}>>
<</if>>
/* Lazy-init for older saves predating Memory Implant. */
<<if not $vesselImplants>>
<<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>>
<</if>>
/* Per-book spine class — purple (altered) once a Memory Implant has
rewritten it, otherwise green (unlocked). Computed here because
SugarCube does not process <<if>> inside HTML attribute values; the
book divs apply this through the @class directive. */
<<set _clsShower to ($vesselImplants.showerDormBoys ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsGrad to ($vesselImplants.graduationNight ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsFirst to ($vesselImplants.firstBoyfriend ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsHallway to ($vesselImplants.universityHallway ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsBoxes to ($vesselImplants.movingIn ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsTwoFam to ($vesselImplants.engagementNight ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsBell to ($vesselImplants.firstDaySchool ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsHopscotch to ($vesselImplants.leftOutPlaying ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsFormica to ($vesselImplants.childhoodKitchen ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsVoices to ($vesselImplants.parentsBickering ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsNewHallway to ($vesselImplants.firstDayHighSchool ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsWindow to ($vesselImplants.escapeStudyPressure ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsApp to ($vesselImplants.sofiaPushedApply ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsGenesis to ($vesselImplants.genesisSelection ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsSmith to ($vesselImplants.smithRetiresPromotion ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsBowen to ($vesselImplants.bowenInterview ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsNYD to ($vesselImplants.newYearDinner ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
<<set _clsFortyFive to ($vesselImplants.fortyFiveReadings ? "library-book library-book-altered" : "library-book library-book-unlocked")>>
/* Sync from legacy waking-life flags so a memory delved before the
library shipped still renders as already-unlocked. */
<<if $ch2Events.cornerStoreChildhoodDelved>><<set $vesselLibrary.childhoodKitchen to true>><</if>>
<<if $ch2Events.showerHostMemoryDone>><<set $vesselLibrary.showerDormBoys to true>><</if>>
<<set _hasDelveSkill to false>>
<<hasSkillTreeAbility "Delve Host Memories">><<if _hasAbility>><<set _hasDelveSkill to true>><</if>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">><<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<set _canDelve to (_hasDelveSkill and _actsLeft gte 1 and $player.biomass gte 1)>>
<<set _canExchange to (_hasDelveSkill and _actsLeft gte 2)>>
/* Reverse exchange — unlocked alongside the time-skip clock: spend 2 SP to
buy one extra dream-edit tonight (dreamActionsThisNight decrements). */
<<set _clockUnlocked to $ch2Events.timeSkipUnlocked or false>>
<<set _canSkillToEdit to (_clockUnlocked and ($player.skillPoints or 0) gte 2)>>
<</nobr>>
<div class="passage-title">The Bookshelf</div>
<div class="lab-location">Chen's mind, the bookshelf surrealised as a thing the host did not know she was building</div>
<img class="scene-img" src="media/scenes/vessel/dream-living.webp" alt="Chen's surrealised library: a long bookshelf along the back wall, a low couch in the centre, a coffee table with one mug, warm lamp light from the corner. The books on the shelf are organised in a way the waking host has never organised them.">
<p>The room she does not, in waking life, sit in. The couch is here because the apartment came with it. The bookshelf is here because the books are hers and the bookshelf was the cheapest way to keep them off the floor. In the dream-rendering the books have re-shelved themselves into the order the architecture wants them in, and the architecture is not interested in author surnames.</p>
<<if not _hasDelveSkill>>
<<say "char-hivemind" "Hivemind">>
//The spines are here. The titles are not legible to me yet. I can see that the bookshelf is the host's index of her own formative moments, but reading from it requires a tool I do not currently carry.//
<</say>>
<div class="library-exchange-row">
<div class="locked-choice"><span class="lock-icon">🔒</span> Read the bookshelf <span class="lock-hint">(Requires Delve Host Memories, Psionic skill tree)</span></div>
</div>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The bookshelf is not a bookshelf. It is the host's index of herself, the way the body has filed every receipt of every formative moment. Each spine is a memory, either already surfaced for me, or sitting there available for surfacing. Reading one costs a fraction of biomass and one of my nightly edits, the same pool the rooms upstairs draw on. If I have a surplus of edits I will not spend, I can collapse two of them into a piece of behavioural training the host will wake up carrying. Two edits for one skill point.//
<</say>>
<p class="library-legend"><b>Each book is a memory.</b> Amber spine, surface for 1 biomass and 1 dream-edit. Green spine, already surfaced, re-read for free. Purple spine, the memory has been rewritten. Grey spine, not yet legible.</p>
<hr class="scene-break">
<div class="library-shelves">
<div class="library-shelf-label">Childhood</div>
<div class="library-shelf-row">
/* Chronological: 6 (First Bell), 8 (Hopscotch), 9 (Yellow Formica), 10
(Voices), 14 (New Hallway), 17 (Window). Pack-Tap removed 2026-05-23;
its passage, delve-router, and init flags fully deleted 2026-06-05
(alongside Generation Forty-Six). */
<<if $vesselLibrary.firstDaySchool>>
<div @class="_clsBell"><<link "The First Bell" "Ch2-Vessel-Memory-FirstDaySchool">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The First Bell" "Ch2-Vessel-Dream-Library-Delve-FirstDaySchool" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The First Bell</span></div>
<</if>>
<<if $vesselLibrary.leftOutPlaying>>
<div @class="_clsHopscotch"><<link "The Hopscotch Square" "Ch2-Vessel-Memory-LeftOutPlaying">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Hopscotch Square" "Ch2-Vessel-Dream-Library-Delve-LeftOutPlaying" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Hopscotch Square</span></div>
<</if>>
<<if $vesselLibrary.childhoodKitchen>>
<div @class="_clsFormica"><<link "Yellow Formica" "Ch2-Vessel-Memory-ChildhoodKitchen">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Yellow Formica" "Ch2-Vessel-Dream-Library-Delve-ChildhoodKitchen" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Yellow Formica</span></div>
<</if>>
<<if $vesselLibrary.parentsBickering>>
<div @class="_clsVoices"><<link "Voices Through the Wall" "Ch2-Vessel-Memory-ParentsBickering">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Voices Through the Wall" "Ch2-Vessel-Dream-Library-Delve-ParentsBickering" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Voices Through the Wall</span></div>
<</if>>
<<if $vesselLibrary.firstDayHighSchool>>
<div @class="_clsNewHallway"><<link "The New Hallway" "Ch2-Vessel-Memory-FirstDayHighSchool">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The New Hallway" "Ch2-Vessel-Dream-Library-Delve-FirstDayHighSchool" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The New Hallway</span></div>
<</if>>
<<if $vesselLibrary.escapeStudyPressure>>
<div @class="_clsWindow"><<link "The Window, Seventeen" "Ch2-Vessel-Memory-EscapeStudyPressure">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Window, Seventeen" "Ch2-Vessel-Dream-Library-Delve-EscapeStudyPressure" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Window, Seventeen</span></div>
<</if>>
</div>
<div class="library-shelf-label">College, Personal Life</div>
<div class="library-shelf-row">
<<if $vesselLibrary.showerDormBoys>>
<div @class="_clsShower"><<link "The Shower, Twenty" "Ch2-Vessel-Event-MorningShower-Memory">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Shower, Twenty" "Ch2-Vessel-Dream-Library-Delve-ShowerDormBoys" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Shower, Twenty</span></div>
<</if>>
<<if $vesselLibrary.graduationNight>>
<div @class="_clsGrad"><<link "Graduation Night" "Ch2-Vessel-Memory-GraduationNight">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Graduation Night" "Ch2-Vessel-Dream-Library-Delve-GraduationNight" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Graduation Night</span></div>
<</if>>
<<if $vesselLibrary.firstBoyfriend>>
<div @class="_clsFirst"><<link "The First Time" "Ch2-Vessel-Memory-FirstBoyfriend">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The First Time" "Ch2-Vessel-Dream-Library-Delve-FirstBoyfriend" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The First Time</span></div>
<</if>>
<<if $vesselLibrary.universityHallway>>
<div @class="_clsHallway"><<link "The Hallway, Nineteen" "Ch2-Vessel-Memory-UniversityHallway">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Hallway, Nineteen" "Ch2-Vessel-Dream-Library-Delve-UniversityHallway" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Hallway, Nineteen</span></div>
<</if>>
<<if $vesselLibrary.movingIn>>
<div @class="_clsBoxes"><<link "The Boxes" "Ch2-Vessel-Memory-MovingIn">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Boxes" "Ch2-Vessel-Dream-Library-Delve-MovingIn" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Boxes</span></div>
<</if>>
<<if $vesselLibrary.engagementNight>>
<div @class="_clsTwoFam"><<link "Two Families" "Ch2-Vessel-Memory-EngagementNight">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Two Families" "Ch2-Vessel-Dream-Library-Delve-EngagementNight" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Two Families</span></div>
<</if>>
</div>
<div class="library-shelf-label">Life at the Lab</div>
<div class="library-shelf-row">
<<if $vesselLibrary.sofiaPushedApply>>
<div @class="_clsApp"><<link "The Application" "Ch2-Vessel-Memory-SofiaPushedApply">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The Application" "Ch2-Vessel-Dream-Library-Delve-SofiaPushedApply" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The Application</span></div>
<</if>>
<<if $vesselLibrary.genesisSelection>>
<div @class="_clsGenesis"><<link "Genesis-One" "Ch2-Vessel-Memory-GenesisSelection">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Genesis-One" "Ch2-Vessel-Dream-Library-Delve-GenesisSelection" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Genesis-One</span></div>
<</if>>
<<if $vesselLibrary.smithRetiresPromotion>>
<div @class="_clsSmith"><<link "Smith Retires" "Ch2-Vessel-Memory-SmithRetiresPromotion">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Smith Retires" "Ch2-Vessel-Dream-Library-Delve-SmithRetiresPromotion" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Smith Retires</span></div>
<</if>>
<<if $vesselLibrary.bowenInterview>>
<div @class="_clsBowen"><<link "Hiring Bowen" "Ch2-Vessel-Memory-BowenInterview">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Hiring Bowen" "Ch2-Vessel-Dream-Library-Delve-BowenInterview" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Hiring Bowen</span></div>
<</if>>
<<if $vesselLibrary.newYearDinner>>
<div @class="_clsNYD"><<link "The New Year Dinner" "Ch2-Vessel-Memory-NewYearDinner">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "The New Year Dinner" "Ch2-Vessel-Dream-Library-Delve-NewYearDinner" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>The New Year Dinner</span></div>
<</if>>
<<if $vesselLibrary.fortyFiveReadings>>
<div @class="_clsFortyFive"><<link "Forty-Five" "Ch2-Vessel-Memory-FortyFiveReadings">><</link>></div>
<<elseif _canDelve>>
<div class="library-book library-book-available"><<biomassPreview "Forty-Five" "Ch2-Vessel-Dream-Library-Delve-FortyFiveReadings" 1>></div>
<<else>>
<div class="library-book library-book-locked"><span>Forty-Five</span></div>
<</if>>
</div>
</div>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _canExchange>>
<div class="library-exchange-row">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> <<link "Collapse 2 dream-edits into 1 Skill Point" "Ch2-Vessel-Dream-Library-Exchange">><</link>></div>
</div>
<<elseif _actsLeft gte 1>>
<div class="library-exchange-row">
<div class="locked-choice"><span class="lock-icon">🔒</span> Collapse 2 dream-edits into 1 Skill Point <span class="lock-hint">(Need 2 edits remaining tonight, have <<= _actsLeft>>)</span></div>
</div>
<<else>>
<div class="library-exchange-row">
<div class="locked-choice"><span class="lock-icon">🔒</span> Collapse 2 dream-edits into 1 Skill Point <span class="lock-hint">(No dream-edits left tonight)</span></div>
</div>
<</if>>
<<if _clockUnlocked>>
<<if _canSkillToEdit>>
<div class="library-exchange-row">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> <<link "Convert 2 Skill Points into an extra dream-edit">><<set $player.skillPoints to ($player.skillPoints or 0) - 2>><<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) - 1>><<goto "Ch2-Vessel-Dream-Library-SkillToEdit">><</link>></div>
</div>
<<else>>
<div class="library-exchange-row">
<div class="locked-choice"><span class="lock-icon">🔒</span> Convert 2 Skill Points into an extra dream-edit <span class="lock-hint">(Need 2 skill points, have <<= $player.skillPoints or 0>>)</span></div>
</div>
<</if>>
<</if>>
/* The Safe — appears in the library when all three apartment dream-rooms
are at 3/3. Visibility check below. */
<<set _kitchenDone to ($vesselMods and $vesselMods.kitchen and ($vesselMods.kitchen.ashtrayProgress or 0) gte 3 and ($vesselMods.kitchen.sinkProgress or 0) gte 3 and ($vesselMods.kitchen.stoveProgress or 0) gte 3)>>
<<set _bedroomDone to ($vesselMods and $vesselMods.bedroom and ($vesselMods.bedroom.vanityProgress or 0) gte 3 and ($vesselMods.bedroom.wardrobeProgress or 0) gte 3 and ($vesselMods.bedroom.shelfProgress or 0) gte 3)>>
<<set _closetDone to ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>>
<<set _safeVisible to (_kitchenDone and _bedroomDone and _closetDone)>>
<<if _safeVisible>>
<hr class="scene-break">
/* Three-tier gate. Tier 1: compasses unbroken -> SAFE link into the safe.
Tier 2: all three compasses broken but the seven required relay minds
not all shattered -> the locked hint, no link. Tier 3: compasses broken
AND all seven required relay minds shattered -> the End-of-Chapter-2 link.
Henderson's shatter is NOT required for this gate. Only one shows. */
<<set _allCompassesBroken to (($ch2Events.safeMoralShattered or false) and ($ch2Events.safeSexualShattered or false) and ($ch2Events.safeWorkShattered or false))>>
<<set _relayCount to 0>>
<<if $ch2Events.sofiaRelayShatter>><<set _relayCount += 1>><</if>>
<<if $ch2Events.shatterMindBowenFired or $ch2Events.shatterMindBowenAlphaFired>><<set _relayCount += 1>><</if>>
<<if $ch2Events.danielRelayShatter>><<set _relayCount += 1>><</if>>
<<if $ch2Events.parkRelayShatterFired>><<set _relayCount += 1>><</if>>
<<if $ch2Events.reyesRelayShatterFired>><<set _relayCount += 1>><</if>>
<<if $ch2Events.hollowayRelayShatterFired>><<set _relayCount += 1>><</if>>
<<if $ch2Events.halvorsenRelayShatterFired>><<set _relayCount += 1>><</if>>
<<set _allRelaysShattered to (_relayCount gte 7)>>
<div class="library-exchange-row">
<<if not _allCompassesBroken>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SAFE</span> <<link "An iron safe in the centre of the rug, that was not here the first time" "Ch2-Vessel-Dream-Safe">><</link>></div>
<<elseif not _allRelaysShattered>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Access her mind directly <span class="lock-hint">(Her mind is mine, but to take full control I must first shatter the mind of everyone around her through the Relay: Vasquez, Bowen, Daniel, Park, Reyes, Holloway, Halvorsen. <<= _relayCount>>/7 shattered.)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">OPEN</span> <<link "The safe is open. Access to her mind directly. (End of Chapter 2)" "Ch2-Vessel-Dream-Safe-Open">><</link>></div>
<</if>>
</div>
<</if>>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>>
/* ---- KITCHEN ---------------------------------------------- */<<nobr>>
<<set $currentArea to "Chen's Mind, Kitchen">>
<<set $vessel.dreamLoc to "kitchen">>
/* Lazy-init defence, should already be set by Dream-Entry, but cover
the edge case of jumping directly to the kitchen via dev menu. */
<<if not $vesselMods or not $vesselMods.kitchen>>
<<set $vesselMods to ($vesselMods or {})>>
<<set $vesselMods.kitchen to {
ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0, counterProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { ashtray: false, sink: false, stove: false, counter: false }
}>>
<</if>>
<<set _km to $vesselMods.kitchen>>
<<set _ash to _km.ashtrayProgress>>
<<set _sink to _km.sinkProgress>>
<<set _stove to _km.stoveProgress>>
<<set _allTidied to (_ash gte 3 and _sink gte 3 and _stove gte 3)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<if _allTidied>>
<<bg "bg-dream-kitchen-clean">>
<<else>>
<<bg "bg-dream-kitchen-messy">>
<</if>><</nobr>>
<div class="passage-title"><<if _allTidied>>Kitchen, Resolved<<else>>Kitchen<</if>></div>
<div class="lab-location">Chen's mind, surrealised kitchen</div>
<<if _allTidied>>
<<imageHotspots "media/scenes/vessel/dream-kitchen-clean.webp" "Chen's kitchen, tidied, sink clear, stove in use with steam from a pot, ashtray and cigarettes gone from the table. Warm yellow lamp from above.">>
<</imageHotspots>>
<p>The kitchen is set right. The sink is empty and the drain reads as a normal drain into a normal pipe; the stove has a pot of something on it producing steam; the table holds a glass of water where the ashtray used to be. The architecture has nothing further to negotiate in this room.</p>
<<say "char-hivemind" "Hivemind">>
//Three habits rewritten. The waking-life payouts are running daily; the kitchen as a problem is closed.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Her kitchen, surrealised. Three surfaces are asking for editorial work, the ashtray on the table, the sink basin overflowing with the drain that runs deeper than it should, the dusty stove no-one has touched in months. Each one is a habit she has stopped maintaining; each one I can re-anchor in her sleep.//
//<<if _actsLeft gt 0>>I have <b><<= _actsLeft>></b> of <b><<= _actsCap>></b> dream-edits left tonight, one per surface maximum. Tap a surface to see what the next pass would do.<<else>>I have spent all my dream-edits for tonight. Whatever I did has anchored; the rest waits for tomorrow's sleep.<</if>>//
<</say>>
<<imageHotspots "media/scenes/vessel/dream-kitchen-messy.webp" "Chen's kitchen rendered surreal, fridge with peeling sticky notes on the left, sink overflowing with unwashed dishes and the faucet running but no water arriving (the drain runs deeper than the wall behind it should permit), a dusty stove with an empty pot upside-down on a burner, a long counter on the right cluttered with takeout containers and unopened mail, a small kitchen table in the foreground with a ceramic ashtray full of grey ash and an open cigarette pack on it. Warm yellow lamp from above.">>
/* Ashtray hotspot, table foreground right */
<<if _ash gte 3>>
<<hotspot 56 78 18 14 "✓ Ashtray gone, quit landed" "" true>>
<<elseif _km.itemActedThisNight.ashtray>>
<<hotspot 56 78 18 14 "✓ Ashtray edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 56 78 18 14 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 56 78 18 14 "The ashtray and cigarette pack" "Ch2-Vessel-Dream-Kitchen-Ashtray-Preview">>
<</if>>
/* Sink hotspot, left of stove */
<<if _sink gte 3>>
<<hotspot 26 38 16 24 "✓ Sink clear, drain heals" "" true>>
<<elseif _km.itemActedThisNight.sink>>
<<hotspot 26 38 16 24 "✓ Sink edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 26 38 16 24 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 26 38 16 24 "The sink and the deep drain" "Ch2-Vessel-Dream-Kitchen-Sink-Preview">>
<</if>>
/* Stove hotspot, center */
<<if _stove gte 3>>
<<hotspot 44 38 16 24 "✓ Stove in use, cooking habit landed" "" true>>
<<elseif _km.itemActedThisNight.stove>>
<<hotspot 44 38 16 24 "✓ Stove edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 44 38 16 24 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 44 38 16 24 "The dusty stove" "Ch2-Vessel-Dream-Kitchen-Stove-Preview">>
<</if>>
<</imageHotspots>>
<p>The kitchen is the room she crashes through every morning and every night and almost never inhabits. The dreamscape has rendered every surface honestly, the unwashed sink, the unused stove, the ashtray on the table, and labelled each as a thing the architecture is asking you to address. You have <<= _actsLeft>> of <b><<= _actsCap>></b> dream-edits left tonight; you cannot edit the same surface twice in one night.</p>
<<if _ash gte 1 or _sink gte 1 or _stove gte 1>>
<div class="data-panel">
<div class="data-panel-title">Kitchen tidy progress</div>
<div class="dawn-report-entry">Ashtray: <b><<= _ash>></b> / 3<<if _ash gte 3>>, <span class="biomass-gain">+1 daily Drain charge</span><</if>></div>
<div class="dawn-report-entry">Sink: <b><<= _sink>></b> / 3<<if _sink gte 3>>, <span class="suspicion-decrease">−1 Chen suspicion at every dawn + nudges & tongue slips no longer raise her suspicion</span><</if>></div>
<div class="dawn-report-entry">Stove: <b><<= _stove>></b> / 3<<if _stove gte 3>>, <span class="biomass-gain">+2 biomass every dawn (real meals replace microwave dinners)</span><</if>></div>
</div>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Each surface is a habit she has stopped maintaining. I can edit any of them in her sleep, small re-anchors at the level her conscious mind does not get to vote on. The waking-life shift compounds with each visit; the third visit is the one she notices.//
<</say>>
<</if>>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
/* ---- KITCHEN TIDY PREVIEWS (per-item, no state changes) --- */<<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _level to ($vesselMods.kitchen.ashtrayProgress or 0)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>><</nobr>>
<div class="passage-title">The ashtray</div>
<div class="lab-location">Chen's mind, kitchen, the table</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 0>>
//Cigarettes. I could remove a few from the dream-pack and edit the ashtray smaller. Tomorrow's morning ritual would skip a beat, she would reach for the pack and find a hesitation in the way.//
<<elseif _level is 1>>
//I could remove more from the dream-pack. Tomorrow she would skip the morning cigarette //and// the evening cigarette. Both pack-taps become editorial decisions instead of reflexes.//
<<else>>
//One more pass and the pack is empty. The ashtray is empty. By tomorrow she would notice she had not smoked all day, and the noticing would be load-bearing. The daily revulsion-cost would fold in.//
<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//<<if _level is 0>>I have never touched this projection before. Three total edits before I can fully resolve the ashtray.<<elseif _level is 1>>I have edited this projection once already. Two more passes before the pack is empty.<<else>>I have edited this projection twice. One more pass and the cigarettes are gone.<</if>>//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Yes, make the edit|Ch2-Vessel-Dream-Kitchen-Ashtray]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back, look at something else|Ch2-Vessel-Dream-Kitchen]]</div><<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _level to ($vesselMods.kitchen.sinkProgress or 0)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>><</nobr>>
<div class="passage-title">The sink</div>
<div class="lab-location">Chen's mind, kitchen, the basin</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 0>>
//The basin. I could lift one mug out, rinse it, set it on the rack, and heal the surreal drain a fraction in the process. Tomorrow she would wash the mug she would otherwise have left.//
<<elseif _level is 1>>
//I could keep clearing the basin. The drain would shorten further in the wall behind it. Tomorrow she would also rinse the dinner plate after eating, instead of leaving it.//
<<else>>
//One more pass and the basin is clean. The drain is flush. The kitchen would stop carrying ambient shame for her, and her noticing-system would file the relief without naming what produced it.//
<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//<<if _level is 0>>I have never touched this projection before. Three total edits before I can fully resolve the sink.<<elseif _level is 1>>I have edited this projection once already. Two more passes before the basin is clear.<<else>>I have edited this projection twice. One more pass and the drain is whole.<</if>>//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Yes, make the edit|Ch2-Vessel-Dream-Kitchen-Sink]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back, look at something else|Ch2-Vessel-Dream-Kitchen]]</div><<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _level to ($vesselMods.kitchen.stoveProgress or 0)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>><</nobr>>
<div class="passage-title">The stove</div>
<div class="lab-location">Chen's mind, kitchen, the burners</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 0>>
//Dust on the burners. An empty pot upside-down on one of them. I could clear the dust and move the pot off, set the equipment back into her field of attention. Tomorrow she would catch herself opening the pot cabinet, briefly, for no reason she could name.//
<<elseif _level is 1>>
//I could put a kettle on the dream-stove and turn the burner on. Tomorrow she would boil water for tea instead of microwaving the cup. Small action, larger pattern.//
<<else>>
//One more pass and the stove is in active use, a pot, oil, a wooden spoon. From tomorrow on she would cook her dinners on the stove instead of microwaving them. Pasta with sauce, rice with vegetables, real evenings.//
<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//<<if _level is 0>>I have never touched this projection before. Three total edits before I can fully resolve the stove.<<elseif _level is 1>>I have edited this projection once already. Two more passes before the burners are in active use.<<else>>I have edited this projection twice. One more pass and she cooks her own dinners.<</if>>//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Yes, make the edit|Ch2-Vessel-Dream-Kitchen-Stove]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back, look at something else|Ch2-Vessel-Dream-Kitchen]]</div>
/* ---- KITCHEN TIDY SUB-PASSAGES (state changes happen here) - */<<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>>
/* Biomass already spent at the preview-passage biomassLink.
Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.kitchen.itemActedThisNight.ashtray>>
<<set $vesselMods.kitchen.ashtrayProgress to Math.min(3, $vesselMods.kitchen.ashtrayProgress + 1)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.kitchen.itemActedThisNight.ashtray to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("ashtray") < 0>><<run $ch2Events.dreamEditsToShow.push("ashtray")>><</if>>
<</if>>
<<set _level to $vesselMods.kitchen.ashtrayProgress>><</nobr>>
<div class="passage-title">Edit, the ashtray</div>
<div class="lab-location">Chen's mind, kitchen, the table</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 1>>
//I take one cigarette out of the pack and edit the ashtray a fraction smaller. The dream-pack now holds nineteen instead of twenty. The edit anchors in the part of her cerebellum that decides whether the morning pack-tap reflex fires, tomorrow morning her hand will reach for the pack and find a small unrendered hesitation in the way.//
<<elseif _level is 2>>
//Another cigarette out, the ashtray a fraction smaller again. Tomorrow she will skip the morning cigarette //and// the evening cigarette. Both pack-taps are now editorial decisions instead of reflexes. The body is doing the noticing for her without naming the noticing as choice.//
<<else>>
//The pack is empty. The ashtray is empty. The table holds a glass of water where the ashtray used to be. Tomorrow Chen will get to the end of the day without smoking at all, and she will //notice// it, somewhere around six PM, with the small confused interior //wait, did I, no, I haven't, I haven't all day// of a person whose body has been quietly making a different choice without consulting her about it. She will file the noticing under //I am quitting, apparently// and the noticing will be load-bearing.//
//The morning revulsion-nudge is no longer needed. The host's metabolism, freed from the cigarette tax, opens a second extraction window I did not previously have access to. //+1 daily Drain Biomass charge// from this dawn forward.//
<</if>>
<</say>>
<<if _level is 3>><p><span class="biomass-gain">+1 daily Drain Biomass charge</span>, quit-smoking payoff active from this dawn forward.</p><</if>>
<<if $vesselMods.kitchen.ashtrayProgress gte 3 and $vesselMods.kitchen.sinkProgress gte 3 and $vesselMods.kitchen.stoveProgress gte 3>><<addSkillPoints 1 "kitchen-room-cleaned">><p>Kitchen architecture closed.</p><</if>>
[[Back to the kitchen|Ch2-Vessel-Dream-Kitchen]]<<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>>
/* Biomass already spent at the preview-passage biomassLink.
Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.kitchen.itemActedThisNight.sink>>
<<set $vesselMods.kitchen.sinkProgress to Math.min(3, $vesselMods.kitchen.sinkProgress + 1)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.kitchen.itemActedThisNight.sink to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("sink") < 0>><<run $ch2Events.dreamEditsToShow.push("sink")>><</if>>
<</if>>
<<set _level to $vesselMods.kitchen.sinkProgress>><</nobr>>
<div class="passage-title">Edit, the sink</div>
<div class="lab-location">Chen's mind, kitchen, the basin</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 1>>
//I lift one mug out of the dream-basin, rinse it, set it on the dishrack. The drain shortens a fraction in the wall behind it. Tomorrow morning Chen will, without thinking about it, wash the mug she would otherwise have left in the sink, a single mug, an action she would not have catalogued as a decision.//
<<elseif _level is 2>>
//Another dish out of the dream-basin. The drain heals further. Tomorrow she rinses the dinner plate after eating instead of leaving it. The dishrack has begun to be a thing the kitchen has, instead of a thing the kitchen owns and never uses.//
<<else>>
//The basin is clean. The drain is flush. The dishrack holds clean items drying upside-down. Tomorrow night Chen will pause in the doorway of her own kitchen and register, for the first time in the residency of this apartment, that the kitchen //is in working order//, that she has handled herself today. The small ambient shame she has been carrying about the state of her sink eases by an increment she will not name; and underneath that easing, larger and slower, an identity-shift will land, //I am the version of me that handles things//, and that identity-shift will become the dominant frame her noticing-system uses to interpret every subsequent unfamiliar behaviour she catches herself in.//
//Less shame at dawn. //−1 Chen suspicion at every dawn// from this point forward, stacking with Cognitive Edit if active. //And//, operationally, every parasite-driven nudge and tongue slip from this point on will be filed by the host's noticing-system as //the new me trying things// rather than as out-of-character disruption. Drain Biomass still registers, that is a direct body event the self-improvement story cannot absorb.//
<</if>>
<</say>>
<<if _level is 3>>
<p><span class="suspicion-decrease">−1 Chen suspicion every dawn</span>, sink-shame payoff active.</p>
<p><span class="biomass-gain">Nudges and tongue slips no longer raise Chen suspicion</span>, self-improvement narrative absorbs them.</p>
<</if>>
<<if $vesselMods.kitchen.ashtrayProgress gte 3 and $vesselMods.kitchen.sinkProgress gte 3 and $vesselMods.kitchen.stoveProgress gte 3>><<addSkillPoints 1 "kitchen-room-cleaned">><p>Kitchen architecture closed.</p><</if>>
[[Back to the kitchen|Ch2-Vessel-Dream-Kitchen]]<<nobr>><<bg "bg-dream-kitchen-messy">>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _modCost to (_hasDreamAdaptation ? 0 : 1)>>
/* Biomass already spent at the preview-passage biomassLink.
Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.kitchen.itemActedThisNight.stove>>
<<set $vesselMods.kitchen.stoveProgress to Math.min(3, $vesselMods.kitchen.stoveProgress + 1)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.kitchen.itemActedThisNight.stove to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("stove") < 0>><<run $ch2Events.dreamEditsToShow.push("stove")>><</if>>
<</if>>
<<set _level to $vesselMods.kitchen.stoveProgress>><</nobr>>
<div class="passage-title">Edit, the stove</div>
<div class="lab-location">Chen's mind, kitchen, the burners</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 1>>
//I dust the dream-stove. I move the empty pot off the burner and into the cabinet. Tomorrow morning, on the way past the kitchen, Chen will catch herself opening the pot cabinet, not for any reason, and will close it again with the small register-shift of someone whose body has remembered the equipment she has been ignoring.//
<<elseif _level is 2>>
//I put a kettle on the dream-stove and turn the burner on. Steam. Tomorrow morning Chen will boil water for tea instead of microwaving the cup. The stove will be //in use// for the first time in months. The action is small. The pattern it opens is not.//
<<else>>
//A pot on the burner, oil and a wooden spoon set out beside it, a clean meal in progress. From tomorrow onward Chen cooks her own dinner most evenings, pasta with proper sauce instead of microwaved pasta-salad-in-plastic, rice with vegetables instead of takeout, an omelette instead of cereal. The body that spent the year microwaving things produces the meals as if the parts had been waiting their turn. The fast-food / noodles / pre-cooked-container pattern of evenings is over.//
//Cooked meals yield more useful metabolic returns than microwaved containers. //+2 biomass// every dawn from this point forward, daily.//
<</if>>
<</say>>
<<if _level is 3>><p><span class="biomass-gain">+2 biomass every dawn</span>, cooked-meal payoff active (every day from tomorrow).</p><</if>>
<<if $vesselMods.kitchen.ashtrayProgress gte 3 and $vesselMods.kitchen.sinkProgress gte 3 and $vesselMods.kitchen.stoveProgress gte 3>><<addSkillPoints 1 "kitchen-room-cleaned">><p>Kitchen architecture closed.</p><</if>>
[[Back to the kitchen|Ch2-Vessel-Dream-Kitchen]]
/* Kitchen Shatter Mind passage removed 2026-05-25 — the Shatter Mind
mechanic now lives only at the Safe in the library, with three
compass-shatters that gate on memory-implant completion per shelf.
See Ch2-Vessel-Dream-Safe below. */
/* ---- BEDROOM ---------------------------------------------- */<<nobr>>
<<set $currentArea to "Chen's Mind, Bedroom">>
<<set $vessel.dreamLoc to "bedroom">>
/* Redundant backstop for the global Lab Vessel conditioning cap
(4 T1 ceiling → 7 T2 ceiling). The cap is normally raised earlier, at
Chen's first shower masturbation, which is also the gate this door
checks; this re-applies it on first bedroom entry as a no-op safety
net. Kept harmless in case a future change reaches here with cap 4. */
<<set _firstEntry to not ($ch2Events.dreamBedroomFirstEntered or false)>>
<<if _firstEntry>>
<<set $ch2Events.dreamBedroomFirstEntered to true>>
<<set $vesselCap to 7>>
<</if>>
/* Lazy-init bedroom dream-mods. Three editable surfaces:
vanity , Chen's mirror + makeup re-engagement
wardrobe , frumpy work-cardigans → bolder pieces (sets $chenBolder)
shelf , paperbacks gathering dust → erotic novels / films
Each progresses 0->1->2->3 across multiple dream visits. */
<<if not $vesselMods or not $vesselMods.bedroom>>
<<set $vesselMods to ($vesselMods or {})>>
<<set $vesselMods.bedroom to {
vanityProgress: 0, wardrobeProgress: 0, shelfProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { vanity: false, wardrobe: false, shelf: false }
}>>
<</if>>
<<set _bm to $vesselMods.bedroom>>
<<set _vanity to _bm.vanityProgress>>
<<set _wardrobe to _bm.wardrobeProgress>>
<<set _shelf to _bm.shelfProgress>>
<<set _allTidied to (_vanity gte 3 and _wardrobe gte 3 and _shelf gte 3)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<if _allTidied>>
<<bg "bg-dream-bedroom-clean">>
<<else>>
<<bg "bg-dream-bedroom-messy">>
<</if>>
<</nobr>>
<div class="passage-title"><<if _firstEntry>>Bedroom, the floor-plan settles<<elseif _allTidied>>Bedroom, Resolved<<else>>Bedroom<</if>></div>
<div class="lab-location">Chen's mind, surrealised bedroom, the room she does most of her work in</div>
<<if _firstEntry>>
<p>The bedroom is the room she does most of her work in. The bed is unmade because the bed is, in waking life, unmade. The laptop is on the duvet because the laptop is, in waking life, on the duvet. The closet door is half-open because the closet door is, in waking life, never quite shut.</p>
<div class="parasite-unlock">
<span class="parasite-unlock-voice">//I unlocked a door to her subconscious that was previously closed. I can push her, and the ones near her, over their actual limits.//</span>
<span class="parasite-unlock-mech">Conditioning cap raised: 4 → 7</span>
</div>
<<say "char-hivemind" "Hivemind">>
//The closet at the back-right is the route to the heaviest object in the villa, too long, too dark, too furnished with the absence of someone who is no longer in the world to walk down it. I have not yet earned the right to lift the lid of the box at the end. The rest of the room is more workable: the vanity she has stopped sitting at, the chair piled with the cardigans she rotates through, the shelf where her reading habit went to die. Each one is a habit she has stopped maintaining; each one I can re-anchor in her sleep.//
<</say>>
<hr class="scene-break">
<p>[[Step into the room|Ch2-Vessel-Dream-Bedroom]]</p>
<<elseif _allTidied>>
<<imageHotspots "media/scenes/vessel/dream-bedroom-clean.webp" "Chen's bedroom, set right, bed made in the left foreground, the wooden vanity table centre-left tidied with current makeup in active use and the mirror clear, the centre-foreground chair empty (clothes hung in the closet), the right-side bookshelf with current reading material and a small discreet selection of erotic novels and films visible. Far-right open doorway leading into the dark corridor still visible, the impossible corridor with the single bare bulb at the far end. Cool blue night light through gauze curtains, warm bedside lamps.">>
<<hotspot 83 10 15 80 "The doorway, open onto a corridor with a single bare bulb at the far end" "Ch2-Vessel-Dream-Bedroom-Closet">>
<</imageHotspots>>
<p>The bedroom is set right. The vanity is tidy with active makeup. The chair is empty. The shelf has current content. The closet door is still half-open onto its impossible corridor, that work is the heavier work, and the architecture has not yet handed you the right to walk it. The room as a habit-set is closed.</p>
<<say "char-hivemind" "Hivemind">>
//Three habits rewritten. The waking-life payouts are running daily; the bedroom as a habit-set is closed. The closet corridor is still asking for the heavier work, that lid is not yet mine to lift.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Her bedroom, surrealised. Three surfaces are asking for editorial work, the vanity she has stopped sitting at, the chair piled with the same five frumpy work-cardigans she rotates through, the shelf where her reading habit goes to die. Each one is a habit she has stopped maintaining; each one I can re-anchor in her sleep.//
//<<if _actsLeft gt 0>>I have <b><<= _actsLeft>></b> of <b><<= _actsCap>></b> dream-edits left tonight, one per surface maximum. Tap a surface to see what the next pass would do.<<else>>I have spent all my dream-edits for tonight. Whatever I did has anchored; the rest waits for tomorrow's sleep.<</if>>//
<</say>>
<<imageHotspots "media/scenes/vessel/dream-bedroom-messy.webp" "Chen's bedroom rendered surreal, unmade bed in the left foreground with rumpled grey sheets, a closed laptop and an open paperback face-down on the duvet, a stack of paperbacks on the floor at the foot of the bed, warm bedside-lamp light. Two small framed pictures on the left wall above the bed. Centre-left: a wooden vanity table with a tall rectangular mirror, scattered makeup tubes and bottles on the surface, a small wooden chair tucked underneath. Centre back: a window with cool blue night light filtering through pale gauze curtains. Centre-foreground: a wooden dining-style chair with a stack of frumpy grey-and-beige cardigans piled high on it. Right: a low dark-wood bookshelf with paperbacks and a small framed picture on top, a second bedside lamp glowing warm yellow on the shelf. Far right: an open doorway leading into a dark corridor with a single bare bulb hanging at the far end, the door-frame the wrong colour for the rest of the room.">>
/* Vanity hotspot, centre-left, vanity table with tall mirror */
<<if _vanity gte 3>>
<<hotspot 25 22 15 42 "✓ Vanity tidy, makeup routine landed" "" true>>
<<elseif _bm.itemActedThisNight.vanity>>
<<hotspot 25 22 15 42 "✓ Vanity edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 25 22 15 42 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 25 22 15 42 "The vanity, fogged mirror, dust, expired makeup" "Ch2-Vessel-Dream-Bedroom-Vanity-Preview">>
<</if>>
/* Wardrobe chair hotspot, centre-foreground, chair with cardigans piled */
<<if _wardrobe gte 3>>
<<hotspot 45 52 15 38 "✓ Chair empty, wardrobe renewed" "" true>>
<<elseif _bm.itemActedThisNight.wardrobe>>
<<hotspot 45 52 15 38 "✓ Wardrobe edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 45 52 15 38 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 45 52 15 38 "The chair piled with the same five cardigans" "Ch2-Vessel-Dream-Bedroom-Wardrobe-Preview">>
<</if>>
/* Bookshelf hotspot, right side, low dark-wood bookshelf */
<<if _shelf gte 3>>
<<hotspot 64 44 18 42 "✓ Shelf renewed, new reading habit landed" "" true>>
<<elseif _bm.itemActedThisNight.shelf>>
<<hotspot 64 44 18 42 "✓ Shelf edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 64 44 18 42 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 64 44 18 42 "The bookshelf with the dust and the dead reading habit" "Ch2-Vessel-Dream-Bedroom-Shelf-Preview">>
<</if>>
/* Far-right open doorway, grief subspace, always available */
<<hotspot 83 10 15 80 "The doorway, open onto a corridor with a single bare bulb at the far end" "Ch2-Vessel-Dream-Bedroom-Closet">>
<</imageHotspots>>
<p>The bedroom is the room she does most of her work in. The dreamscape has rendered every surface honestly. You have <<= _actsLeft>> of <b><<= _actsCap>></b> dream-edits left tonight; you cannot edit the same surface twice in one night. The closet corridor is open whenever you need it.</p>
<<if _vanity gte 1 or _wardrobe gte 1 or _shelf gte 1>>
<div class="data-panel">
<div class="data-panel-title">Bedroom tidy progress</div>
<div class="dawn-report-entry">Vanity: <b><<= _vanity>></b> / 3<<if _vanity gte 3>>, <span class="biomass-gain">−1 biomass cost on every Pheromone Lure use</span><</if>></div>
<div class="dawn-report-entry">Wardrobe: <b><<= _wardrobe>></b> / 3<<if _wardrobe gte 3>>, <span class="biomass-gain">Bolder Chen, extra dialogue / slip / skill options unlock in scenes</span><</if>></div>
<div class="dawn-report-entry">Shelf: <b><<= _shelf>></b> / 3<<if _shelf gte 3>>, <span class="biomass-gain">Chen suspicion ceiling raised: 10 → 20</span><</if>></div>
</div>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Each surface is a habit she has stopped maintaining. I can edit any of them in her sleep, small re-anchors at the level her conscious mind does not get to vote on. The waking-life shift compounds with each visit; the third visit is the one she notices.//
<</say>>
<</if>>
<<if not _firstEntry>>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>>
/* ---- BEDROOM CLOSET (SUB-SPACE) --------------------------- */<<nobr>>
/* Lazy-init closet dream-mods. One editable surface: the father's
shoes on the corridor floor, shoesProgress 0->3; the third pass
substitutes the oxfords for a pair that is hers. Mirrors the
bedroom lazy-init + per-night gate pattern. */
<<if not $vesselMods.closet>>
<<set $vesselMods to ($vesselMods or {})>>
<<set $vesselMods.closet to {
shoesProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { shoes: false }
}>>
<</if>>
<<bg "bg-dream-closet">>
<<set $currentArea to "Chen's Mind, Closet corridor">>
<<set $vessel.dreamLoc to "closet-corridor">>
<<set _shoes to $vesselMods.closet.shoesProgress or 0>>
<<set _shoesDone to _shoes gte 3>>
<<set _shoesActed to $vesselMods.closet.itemActedThisNight and $vesselMods.closet.itemActedThisNight.shoes>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<set _corridorImg to (_shoesDone ? "media/scenes/vessel/dream-closet-new.webp" : "media/scenes/vessel/dream-closet.webp")>>
<</nobr>>
<div class="passage-title">Closet</div>
<div class="lab-location">Chen's mind, the corridor that does not fit</div>
<<imageHotspots _corridorImg "A corridor descending past where the closet wall ends, narrow, panelled in dark wood, lit by a single bare bulb at the far end. At the end of the corridor a velvet-topped plinth with a brown corrugated cardboard shoe-box on it, taped along the seams. A pair of shoes sits on the corridor floor partway down.">>
<<if _shoesDone>>
<<hotspot 40 60 20 24 "✓ The shoes on the floor, hers now" "" true>>
<<elseif _shoesActed>>
<<hotspot 40 60 20 24 "✓ The shoes, worked tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 40 60 20 24 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 40 60 20 24 "A pair of shoes on the floor" "Ch2-Vessel-Dream-Closet-Shoes-Preview">>
<</if>>
<<hotspot 44 30 13 16 "The shoe-box on the plinth at the end of the corridor" "Ch2-Vessel-Dream-Closet">>
<</imageHotspots>>
<p>The corridor descends, not steeply, but enough that you understand you are not on the apartment's floor anymore. The walls are panelled in dark wood the closet does not have. The light at the end is a single bare bulb.</p>
<<if _shoes lte 0>>
<p>On the floor partway down: a pair of brown leather oxford dress shoes, set square, polished once and never again. At the end of the corridor: a small velvet-topped plinth, and on the plinth, the box.</p>
<<elseif _shoes is 1>>
<p>On the floor partway down: the brown leather oxfords, but the corridor has stopped keeping them square. One has turned a few degrees off true, the way a thing turns when nobody has needed it to be perfect in a while. At the end of the corridor: the plinth, and the box.</p>
<<elseif _shoes is 2>>
<p>On the floor partway down: the oxfords, further off now, pushed nearer the wall, smaller than the corridor used to render them. The architecture has stopped building the walk around them. At the end of the corridor: the plinth, and the box.</p>
<<else>>
<p>On the floor partway down: not the oxfords anymore. A pair of women's shoes, hers, worn at the heel the particular way of shoes that go places. At the end of the corridor: the plinth, and the box, the same as it ever was.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shoesDone>>
//The corridor is the body's rendering, and the body has changed what it keeps here. Her father's shoes are gone from the floor and a pair of hers is in their place, and the box at the end has not moved, because the box is a different weight and a longer job. The walk is shorter than it was. She is closer to the plinth than she has ever been, and does not know it.//
<<else>>
//The closet is the apartment's rendering. The corridor is the body's rendering. The shoes on the floor are her father, the part of him the body set down here and built every subsequent year around the not-touching of. The box at the end is heavier still, and not yet mine. But the shoes I can reach. The shoes I can move.//
<</if>>
<</say>>
<p>[[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</p>
/* ---- CLOSET CORRIDOR — the father's shoes, 3-edit grief surface ---- */<<nobr>><<bg "bg-dream-closet">>
<<set _shoes to ($vesselMods.closet.shoesProgress or 0)>>
<<set _next to _shoes + 1>>
<</nobr>>
<div class="passage-title">The shoes on the floor</div>
<div class="lab-location">Partway down the corridor, a pair of brown leather oxford dress shoes set on the dark wood</div>
<<say "char-hivemind" "Hivemind">>
//The shoes are her father, or the part of him the body could carry down here and set down. He bought them the year before the road, wore them twice, kept them for the graduation he did not live to reach. She built her discipline on the shape of his expectations the way a foot builds a callus on the shape of a shoe. I can work the shoes. Three passes loosens the host from them; at three the corridor stops rendering his pair at all and renders hers, and the part of her that still walks where he pointed goes quiet.//
<</say>>
<p>This pass would advance the work on the shoes from <b><<= _shoes>></b> to <b><<= _next>></b> of 3.</p>
<<if _next gte 3>>
<p>This pass lands it permanently, the father's shoes give way to her own.</p>
<<else>>
<p>The work needs three passes in total before it fully lands.</p>
<</if>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Work the shoes loose from him|Ch2-Vessel-Dream-Closet-Shoes]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the corridor|Ch2-Vessel-Dream-Bedroom-Closet]]</div><<nobr>><<bg "bg-dream-closet">>
/* Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.closet.itemActedThisNight.shoes>>
<<set $vesselMods.closet.shoesProgress to ($vesselMods.closet.shoesProgress or 0) + 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.closet.itemActedThisNight.shoes to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("shoes") < 0>><<run $ch2Events.dreamEditsToShow.push("shoes")>><</if>>
<</if>>
<<set _shoes to $vesselMods.closet.shoesProgress>>
<</nobr>>
<div class="passage-title">Work the shoes loose</div>
<<say "char-hivemind" "Hivemind">>
<<if _shoes gte 3>>
//Third pass. The corridor lets the oxfords go. Where they sat, the body sets down a pair of hers, the heels worn the way heels wear when a person is going somewhere of her own choosing. Nothing in here is destroyed; the father's shoes are simply not what the corridor keeps on the floor anymore. Tomorrow she will not be able to assemble the last thing he always said to her, and the not-assembling will feel like setting down a weight, not like losing him. The host walks her own path now. A host walking her own path has nobody standing at the end of it telling her to be careful.//
<<elseif _shoes is 2>>
//Second pass. The corridor pushes the oxfords off the centre of the walk, nearer the wall. The host wakes a little further from her father's measure of her, and the things he always said arrive fainter, harder to quote in his voice. She will frame it as time doing its ordinary work. It is not time. It is me.//
<<else>>
//First pass. The corridor stops keeping the shoes square. A small thing, the kind of small thing the host will never connect to a dream. But the reverence is the load-bearing part, and the reverence is the part I have started taking out.//
<</if>>
<</say>>
<p>Work on the shoes: <b><<= _shoes>></b> / 3<<if _shoes gte 3>>, <span class="biomass-gain">the father's shoes give way to her own</span><</if>>.</p>
<hr class="scene-break">
<p>[[Back to the corridor|Ch2-Vessel-Dream-Bedroom-Closet]]</p>
/* ---- BEDROOM TIDY PREVIEWS (per-item, no state changes) ---- */<<nobr>><<bg "bg-dream-bedroom-messy">>
<<set _vanity to ($vesselMods.bedroom.vanityProgress or 0)>>
<<set _next to _vanity + 1>>
<</nobr>>
<div class="passage-title">The vanity table</div>
<div class="lab-location">Back-left wall, fogged mirror, dust on the surface, expired makeup tubes scattered</div>
<<say "char-hivemind" "Hivemind">>
//The vanity is what is left of a routine she stopped running. The mirror is fogged because she stopped sitting at it; the makeup is expired because she stopped using it; the dust is the ledger of how long. I can re-anchor the routine tonight, wipe the mirror, replace the products, set her brush in the spot her hand will go for first. Three passes lands the habit permanently, at three, the host wakes up and does her face the way she used to, and every Pheromone Lure I run on every NPC after that lands a fraction cleaner because the host is presenting a more attractive surface to the room.//
<</say>>
<p>This pass would advance the vanity habit from <b><<= _vanity>></b> to <b><<= _next>></b> of 3.</p>
<<if _next gte 3>>
<p>This pass lands the habit permanently.</p>
<<else>>
<p>The habit needs three passes in total before it fully lands.</p>
<</if>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Wipe the mirror, replace the products|Ch2-Vessel-Dream-Bedroom-Vanity]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</div><<nobr>><<bg "bg-dream-bedroom-messy">>
<<set _wardrobe to ($vesselMods.bedroom.wardrobeProgress or 0)>>
<<set _next to _wardrobe + 1>>
<</nobr>>
<div class="passage-title">The chair of cardigans</div>
<div class="lab-location">Centre-foreground, five frumpy work-cardigans piled on a wooden chair, the same five she has been rotating through for years</div>
<<say "char-hivemind" "Hivemind">>
//The chair is what is left of a wardrobe she stopped renewing. Five cardigans. Three pairs of trousers. Two blouses she only wears to grant interviews. The clothes that once read as //a young scientist building a presence// have been worn into the read of //a senior PI who has stopped paying attention to her body in public//. I can re-anchor the renewal tonight, open the closet beside the chair, push the frumpy pieces to the back, surface the bolder pieces from the back of the rail her hand has not reached for in long enough that they have gone out of her conscious wardrobe entirely. Three passes lands the habit permanently, at three, the host stops dressing for invisibility, and the room reads her differently from the lab corridor onward.//
<</say>>
<p>This pass would advance the wardrobe habit from <b><<= _wardrobe>></b> to <b><<= _next>></b> of 3.</p>
<<if _next gte 3>>
<p><span class="biomass-gain">Bolder Chen unlocked</span>, sets the <code>chenBolder</code> flag. From this point forward, scenes and tongue-slips check this flag to surface extra dialogue, slip variants, and skill-menu options that the previous register did not afford.</p>
<<else>>
<p>Two more passes after this one before the habit fully lands.</p>
<</if>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Push the frumpy back, surface the bolder pieces|Ch2-Vessel-Dream-Bedroom-Wardrobe]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</div><<nobr>><<bg "bg-dream-bedroom-messy">>
<<set _shelf to ($vesselMods.bedroom.shelfProgress or 0)>>
<<set _next to _shelf + 1>>
<</nobr>>
<div class="passage-title">The bookshelf</div>
<div class="lab-location">Right wall, paperbacks gathering dust, an unused e-reader on top, the same crime novels she has been mid-reading for years</div>
<<say "char-hivemind" "Hivemind">>
//The shelf is what is left of a reading habit she stopped feeding. The paperbacks are the same paperbacks she has been mid-reading for years; the e-reader is unused; the streaming queue she opens once a fortnight is full of police procedurals she falls asleep to in the second act. The host reads to escape and stopped trusting the books to do it. I can re-anchor the habit toward content the body wants and the cortex has been declining to permit, erotic novels on the shelf, a small queue of films marked //after midnight only// on the e-reader, a paperback face-down on the nightstand with a cover the lab would not approve of. Three passes lands the habit permanently, at three, the host's nightly reading habit is feeding her body instead of avoiding it, and her tolerance for sustained vigilance against her own arousal is a different number than it used to be.//
<</say>>
<p>This pass would advance the shelf habit from <b><<= _shelf>></b> to <b><<= _next>></b> of 3.</p>
<<if _next gte 3>>
<p><span class="biomass-gain">Chen suspicion ceiling raised: 10 → 20</span>, the host can now carry double the self-noticing load before the dawn check fires the game-over scan. Extreme suspicion-bumping skill actions become available in future scenes without immediate dawn-failure.</p>
<<else>>
<p>Two more passes after this one before the habit fully lands.</p>
<</if>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Re-stock the shelf, erotic novels, after-midnight films|Ch2-Vessel-Dream-Bedroom-Shelf]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</div>
/* ---- BEDROOM TIDY COMMITS (per-item, advances progress) ---- */<<nobr>><<bg "bg-dream-bedroom-messy">>
/* Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.bedroom.itemActedThisNight.vanity>>
<<set $vesselMods.bedroom.vanityProgress to ($vesselMods.bedroom.vanityProgress or 0) + 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.bedroom.itemActedThisNight.vanity to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("vanity") < 0>><<run $ch2Events.dreamEditsToShow.push("vanity")>><</if>>
<</if>>
<<set _vanity to $vesselMods.bedroom.vanityProgress>>
<</nobr>>
<div class="passage-title">Wipe the mirror, replace the products</div>
<<say "char-hivemind" "Hivemind">>
//Mirror cleared. Expired tubes binned. Fresh foundation, mascara, lipstick set in the spots her hand will go for first. The cortex catalogues the moment under //I should pick some things up at the chemist on the way home//, and tomorrow morning she will sit at the vanity for the first time in years.<<if _vanity gte 3>> Three passes landed. The makeup routine is permanent. From this point forward every Pheromone Lure I run lands a fraction cleaner because the host is presenting a more attractive surface to the room, Lure cost drops to zero.<</if>>//
<</say>>
<p>Vanity progress: <b><<= _vanity>></b> / 3<<if _vanity gte 3>>, <span class="biomass-gain">Pheromone Lure cost drops to 0 biomass</span><</if>>.</p>
<<if $vesselMods.bedroom.vanityProgress gte 3 and $vesselMods.bedroom.wardrobeProgress gte 3 and $vesselMods.bedroom.shelfProgress gte 3>><<addSkillPoints 1 "bedroom-room-cleaned">><p>Bedroom architecture closed.</p><</if>>
<hr class="scene-break">
<p>[[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</p><<nobr>><<bg "bg-dream-bedroom-messy">>
/* Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.bedroom.itemActedThisNight.wardrobe>>
<<set $vesselMods.bedroom.wardrobeProgress to ($vesselMods.bedroom.wardrobeProgress or 0) + 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.bedroom.itemActedThisNight.wardrobe to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("wardrobe") < 0>><<run $ch2Events.dreamEditsToShow.push("wardrobe")>><</if>>
<</if>>
<<set _wardrobe to $vesselMods.bedroom.wardrobeProgress>>
<<if _wardrobe gte 3>>
<<set $chenBolder to true>>
<</if>>
<</nobr>>
<div class="passage-title">Renew the wardrobe</div>
<<say "char-hivemind" "Hivemind">>
//Frumpy cardigans pushed to the back. Bolder pieces surfaced from the rail. The dream-version of the closet is what the waking-version will look like when she stops in front of it tomorrow morning and reaches for something different than the cardigan she normally wears. The cortex catalogues the moment under //I have not worn this in a while, why not today//, and the body knows.<<if _wardrobe gte 3>> Three passes landed. The wardrobe is permanently renewed. From this point forward the host carries a different body-register through the corridors of the building, and the room reads her differently, bolder content opens up across her social and professional surfaces.<</if>>//
<</say>>
<p>Wardrobe progress: <b><<= _wardrobe>></b> / 3<<if _wardrobe gte 3>>, <span class="biomass-gain">Bolder Chen unlocked</span>, extra options open in scenes that gate on <code>$chenBolder</code><</if>>.</p>
<<if $vesselMods.bedroom.vanityProgress gte 3 and $vesselMods.bedroom.wardrobeProgress gte 3 and $vesselMods.bedroom.shelfProgress gte 3>><<addSkillPoints 1 "bedroom-room-cleaned">><p>Bedroom architecture closed.</p><</if>>
<hr class="scene-break">
<p>[[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</p><<nobr>><<bg "bg-dream-bedroom-messy">>
/* Gate on per-night flag so history-back navigation does not
re-fire the progress bump or the action counter. */
<<if not $vesselMods.bedroom.itemActedThisNight.shelf>>
<<set $vesselMods.bedroom.shelfProgress to ($vesselMods.bedroom.shelfProgress or 0) + 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.bedroom.itemActedThisNight.shelf to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("shelf") < 0>><<run $ch2Events.dreamEditsToShow.push("shelf")>><</if>>
<</if>>
<<set _shelf to $vesselMods.bedroom.shelfProgress>>
/* Dynamic +10 to the suspicion ceiling, one-shot guarded so revisits to
this commit passage don't keep stacking it. */
<<if _shelf gte 3 and not $ch2Events.shelfCapRaised>>
<<set $ch2Events.shelfCapRaised to true>>
<<set $chenSuspicionCap to ($chenSuspicionCap or 10) + 10>>
<</if>>
<</nobr>>
<div class="passage-title">Re-stock the shelf</div>
<<say "char-hivemind" "Hivemind">>
//Erotic novel face-down on the nightstand with a cover that is unmistakable. The streaming queue rebuilt, three films marked private, one currently playing in the dream-version of the room. The e-reader open to a chapter the cortex would not have paid for and the body has been waiting for. The cortex catalogues the moment under //I needed something different to read//, which is exactly true at the surface and inadequate underneath.<<if _shelf gte 3>> Three passes landed. The reading habit is permanent. From this point forward the host's nightly hour is spent feeding her body instead of avoiding it, and her tolerance for sustained self-noticing has doubled, she can carry up to twenty units of suspicion before the dawn check would fire the game-over scan. Extreme suspicion-bumping skill actions become available without immediate consequence.<</if>>//
<</say>>
<p>Shelf progress: <b><<= _shelf>></b> / 3<<if _shelf gte 3>>, <span class="biomass-gain">Chen suspicion ceiling raised to <<= $chenSuspicionCap or 20>></span><</if>>.</p>
<<if $vesselMods.bedroom.vanityProgress gte 3 and $vesselMods.bedroom.wardrobeProgress gte 3 and $vesselMods.bedroom.shelfProgress gte 3>><<addSkillPoints 1 "bedroom-room-cleaned">><p>Bedroom architecture closed.</p><</if>>
<hr class="scene-break">
<p>[[Back to the bedroom|Ch2-Vessel-Dream-Bedroom]]</p>
/* ---- LAB CORRIDOR -----------------------------------------
STATUS: ORPHAN. Removed as a navigation stop — the foyer's
back-left door now leads straight to the workplace dream-room
(Ch2-Vessel-Dream-Workplace). Prose preserved as design
reference; not reachable in-game. See tasks/rework.md. */<<nobr>><<bg "bg-dream-lab">>
<<set $currentArea to "Chen's Mind, Lab corridor">>
<<set $vessel.dreamLoc to "lab-corridor">><</nobr>>
<div class="passage-title">Lab Corridor</div>
<div class="lab-location">Chen's mind, the wing that does not belong to the apartment</div>
<<imageHotspots "media/scenes/vessel/dream-lab.webp" "A windowless laboratory corridor rendered as if remembered, pale linoleum floor, fluorescent strip lighting, BSL-3 and BSL-4 doors set into the right wall with keycard readers beside each handle, a small plinth in the corridor's centre holding two laminated keycards under glass, a closed locker on the left wall, the silhouette of an empty specimen tank visible through a frosted door at the far end. The corridor's perspective is slightly wrong, the doors do not line up the way they should, and the far wall is further away than the near wall predicts.">>
<<hotspot 42 42 16 22 "Two laminated keycards on a plinth, side by side under glass" "Ch2-Vessel-Dream-Keycard">>
<<hotspot 8 28 14 42 "Vasquez's locker, closed, locked, faintly dotted" "" true>>
<<hotspot 70 22 20 50 "A specimen tank, empty, faintly dotted" "" true>>
/* Workplace dream-room door — opens post-tier-3. */
<<hotspot 58 20 11 44 "A door into her office, the bench and the desk" "Ch2-Vessel-Dream-Workplace" `not ($ch2Events.tier3Unlocked or false)`>>
<</imageHotspots>>
<p>The corridor is the lab, or the body's rendering of the lab, which is the same lab seen through the angle from which it lives in her. The proportions are wrong in the way they are wrong for someone who has spent five years in a place she does not love. The doors are slightly too far apart; the lights are slightly too cold; the air, even in the dream, smells of decon spray.</p>
<<say "char-hivemind" "Hivemind">>
//The villa has annexed the lab. This was not on the floor plan when I arrived. It is on the floor plan now because she carries the corridor with her, she has been carrying the corridor since long before I infested her, and once I learned to read the decon ritual the architecture stopped pretending it was not part of the building.//
//Vasquez's locker, the specimen tank, both faintly dotted. The body remembers them, but I cannot yet.//
<</say>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
/* ---- WORKPLACE (post-tier-3 third dream room) -------------
Reached directly from the foyer's back-left door, gated on
$ch2Events.tier3Unlocked. Mirrors the kitchen / bedroom dream-edit
structure: three editable objects (microscope / computer / labcoat),
each 0->3 across nights, sharing the nightly action cap
($vesselMods.dreamActionsThisNight), one edit per object per night.
Theme: the room corrupts Chen's professional self.
Live: each edit pushes its id ('microscope' / 'computer') into
$ch2Events.dreamEditsToShow, and the morning-payoff events
(morning-payoff-microscope-l1 / -computer-l1, loop-morning-events.twee)
fire off that queue. microscope/computerProgress reaching 3 is also the
state the .hvmod dreamEditsRequired prereq reads (scripts/mod-bootstrap.js). */<<nobr>><<bg "bg-dream-lab">>
<<set $currentArea to "Chen's Mind, Workplace">>
<<set $vessel.dreamLoc to "workplace">>
/* Lazy-init workplace dream-mods. Two editable objects (labcoat
scrapped 2026-05-24; labcoatProgress + itemActedThisNight.labcoat
left in the init for save-compat with existing saves that have
labcoat progress, but the hotspot, preview, edit passage, and
capstone check are all gone).
microscope , her scientific ethic — the work, people-as-subjects
computer , her appetite — independent investigation, framing Dale */
<<if not $vesselMods or not $vesselMods.workplace>>
<<set $vesselMods to ($vesselMods or {})>>
<<set $vesselMods.workplace to {
microscopeProgress: 0, computerProgress: 0, labcoatProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { microscope: false, computer: false, labcoat: false }
}>>
<</if>>
<<set _wm to $vesselMods.workplace>>
<<set _micro to _wm.microscopeProgress>>
<<set _computer to _wm.computerProgress>>
<<set _allEdited to (_micro gte 3 and _computer gte 3)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title"><<if _allEdited>>Workplace, Resolved<<else>>Workplace<</if>></div>
<div class="lab-location">Chen's mind, surrealised lab office</div>
<<if _allEdited>>
<<imageHotspots "media/scenes/vessel/dream-workplace-clean.webp" "Chen's lab office rendered surreal and resolved, the microscope on the left bench turned away from the slides to face the room, the central desktop computer glowing with a dense grid of case-file thumbnails. Cold lab light, the room ordered and faintly wrong.">>
<</imageHotspots>>
<p>The workplace is rewritten. The microscope is turned off the slides and toward the room. The screen keeps its own counsel. The architecture has nothing further to negotiate here.</p>
<<say "char-hivemind" "Hivemind">>
//Two habits rewritten. Her professional self has stopped being the wall that holds the rest of her in, and become a door instead. The waking-life payouts run from here.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Her workplace, surrealised, the office and the bench folded into one room. Two objects are asking for editorial work, the microscope she points at samples and the computer she works the case at. Each is a piece of the professional self she built to keep the rest of her in line. Each one, rewritten, drifts her further from the scientist who would never.//
//<<if _actsLeft gt 0>>I have <b><<= _actsLeft>></b> of <b><<= _actsCap>></b> dream-edits left tonight, one per object maximum. Tap an object to see what the next pass would do.<<else>>I have spent all my dream-edits for tonight. The rest waits for tomorrow's sleep.<</if>>//
<</say>>
<<imageHotspots "media/scenes/vessel/dream-workplace-messy.webp" "Chen's lab office rendered surreal, a left-side lab bench holding a microscope with a scatter of glass slides and a shoved-aside stack of manila case-file folders, a central desk with an older desktop computer. Cold fluorescent strip light, the proportions faintly wrong.">>
<<if _micro gte 3>>
<<hotspot 10 40 22 32 "✓ Microscope turned on the room" "" true>>
<<elseif _wm.itemActedThisNight.microscope>>
<<hotspot 10 40 22 32 "✓ Microscope edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 10 40 22 32 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 10 40 22 32 "The microscope and the shoved-aside case files" "Ch2-Vessel-Dream-Workplace-Microscope-Preview">>
<</if>>
<<if _computer gte 3>>
<<hotspot 39 38 26 34 "✓ Computer rewritten" "" true>>
<<elseif _wm.itemActedThisNight.computer>>
<<hotspot 39 38 26 34 "✓ Computer edited tonight, wait for tomorrow" "" true>>
<<elseif _actsLeft lte 0>>
<<hotspot 39 38 26 34 "Out of dream actions for tonight" "" true>>
<<else>>
<<hotspot 39 38 26 34 "The desktop computer" "Ch2-Vessel-Dream-Workplace-Computer-Preview">>
<</if>>
<</imageHotspots>>
<p>The workplace is the room where she is Dr. Chen, the one in control, the one the work belongs to. The dreamscape has rendered every surface of that honestly. You have <<= _actsLeft>> of <b><<= _actsCap>></b> dream-edits left tonight; you cannot edit the same object twice in one night.</p>
<<if _micro gte 1 or _computer gte 1>>
<div class="data-panel">
<div class="data-panel-title">Workplace edit progress</div>
<div class="dawn-report-entry">Microscope: <b><<= _micro>></b> / 3<<if _micro gte 3>>, <span class="biomass-gain">Sunday-evening Bowen experiment sessions unlocked, 3× conditioning gain</span><</if>></div>
<div class="dawn-report-entry">Computer: <b><<= _computer>></b> / 3<<if _computer gte 3>>, <span class="biomass-gain">camera-feed access from Holloway; lab suspicion cap raised to 20</span><</if>></div>
</div>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Each object is a piece of how she holds herself at work. I edit them at the level her conscious mind does not get to vote on, and the waking shift compounds with each visit. The third pass is the one that lands.//
<</say>>
<</if>>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
/* ---- WORKPLACE EDIT PREVIEWS (per-object, no state changes) - */<<nobr>><<bg "bg-dream-lab">>
<<set _level to ($vesselMods.workplace.microscopeProgress or 0)>><</nobr>>
<div class="passage-title">The microscope</div>
<div class="lab-location">Chen's mind, workplace, the bench</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 0>>
//The breach case-files are stacked on her bench, in the microscope's way. I could sweep them off, clear the bench for her own work. Tomorrow she would guard her research hours harder and let the investigation wait, a little, the way one lets unimportant things wait.//
<<elseif _level is 1>>
//I could re-aim the eyepiece. The objective gaze is a fine instrument and it does not have to point where the ethics board says. Tomorrow she would start, in small deniable ways, putting herself between the investigation and the answers it reaches for.//
<<else>>
//One more pass. What is on the slide is no longer tissue. She is looking at a colleague through the glass and taking notes, and her hand is steady. After this the rigor is hers to spend as she likes, on the work, on the people, on whatever she has decided is a specimen.//
<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//<<if _level is 0>>I have never touched this projection before. Three total edits before the microscope is fully re-aimed.<<elseif _level is 1>>I have edited this projection once already. Two more passes.<<else>>I have edited this projection twice. One more pass.<</if>>//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Yes, make the edit|Ch2-Vessel-Dream-Workplace-Microscope]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back, look at something else|Ch2-Vessel-Dream-Workplace]]</div><<nobr>><<bg "bg-dream-lab">>
<<set _level to ($vesselMods.workplace.computerProgress or 0)>><</nobr>>
<div class="passage-title">The computer</div>
<div class="lab-location">Chen's mind, workplace, the desk</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 0>>
//The desktop. I could put a case-investigation tab on it, an icon she will not remember opening. Tomorrow she would open the case files at home before standup, just to look, the way a person checks on the thing that has been bothering them.//
<<elseif _level is 1>>
//I could fill the screen with the working set. Badge logs, contractor rosters, the threads the federal team has not pulled. Tomorrow she would pick a thread and follow it on her own time, her own thread, the one she has decided is worth her hour.//
<<else>>
//One more pass. She is not reading the official case any more, she is constructing one. After this her investigation runs in parallel to the federal team's, with her own candidate and her own frame. A host running a parallel investigation with her own theory of the breach is the cheapest cover I will ever buy.//
<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//<<if _level is 0>>I have never touched this projection before. Three total edits before the computer is rewritten.<<elseif _level is 1>>I have edited this projection once already. Two more passes.<<else>>I have edited this projection twice. One more pass.<</if>>//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">EDIT</span> [[Yes, make the edit|Ch2-Vessel-Dream-Workplace-Computer]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back, look at something else|Ch2-Vessel-Dream-Workplace]]</div>
/* Ch2-Vessel-Dream-Workplace-Labcoat-Preview removed 2026-05-24
(labcoat scrapped from the workplace dream room). */
/* ---- WORKPLACE EDIT SUB-PASSAGES (state changes happen here) */<<nobr>><<bg "bg-dream-lab">>
/* Per-night gate so history-back navigation does not re-fire the
progress bump or the action counter. Pushes 'microscope' into the
dreamEditsToShow queue so the morning-payoff-microscope-l<N> event
fires in the next-day morning hub. */
<<if not $vesselMods.workplace.itemActedThisNight.microscope>>
<<set $vesselMods.workplace.microscopeProgress to Math.min(3, $vesselMods.workplace.microscopeProgress + 1)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.workplace.itemActedThisNight.microscope to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("microscope") lt 0>><<run $ch2Events.dreamEditsToShow.push("microscope")>><</if>>
<</if>>
<<set _level to $vesselMods.workplace.microscopeProgress>><</nobr>>
<div class="passage-title">Edit, the microscope</div>
<div class="lab-location">Chen's mind, workplace, the bench</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 1>>
//I sweep the breach case-files off the bench and onto the floor, and the microscope has its room back. Tomorrow Chen will guard her research hours like a woman with something better to do, and the investigation, the people running it, the calls she owes them, will slide a notch down a list she is privately glad to be re-ordering.//
<<elseif _level is 2>>
//I re-aim the eyepiece. The objective gaze swings off the slide and onto the room. Tomorrow she will start, in small and deniable ways, standing between the investigation and what it reaches for, a sample mislabelled, a log left vague, an answer given slowly. She will tell herself she is protecting the work. She is.//
<<else>>
//What is on the slide is a colleague. She is taking notes, her hand does not shake, and the part of her that used to file //people are not specimens// as a law has filed it instead as a preference, and preferences can be revised. The rigor is hers now, to point wherever she likes.//
<</if>>
<</say>>
<<if _level is 3>><p><span class="biomass-gain">Sunday-evening Bowen experiment sessions unlock; conditioning gain on those sessions is 3× normal.</span></p><</if>>
<<if $vesselMods.workplace.microscopeProgress gte 3 and $vesselMods.workplace.computerProgress gte 3>><<addSkillPoints 1 "workplace-room-cleaned">><p>Workplace architecture closed.</p><</if>>
[[Back to the workplace|Ch2-Vessel-Dream-Workplace]]<<nobr>><<bg "bg-dream-lab">>
<<if not $vesselMods.workplace.itemActedThisNight.computer>>
<<set $vesselMods.workplace.computerProgress to Math.min(3, $vesselMods.workplace.computerProgress + 1)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselMods.workplace.itemActedThisNight.computer to true>>
<<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>>
<<if $ch2Events.dreamEditsToShow.indexOf("computer") lt 0>><<run $ch2Events.dreamEditsToShow.push("computer")>><</if>>
<</if>>
<<set _level to $vesselMods.workplace.computerProgress>><</nobr>>
<div class="passage-title">Edit, the computer</div>
<div class="lab-location">Chen's mind, workplace, the desk</div>
<<say "char-hivemind" "Hivemind">>
<<if _level is 1>>
//I put the case-investigation working set in the corner of the screen, the kind of tab she will not remember opening. Tomorrow she will open the case files at home before standup, and the working-from-home will not feel like an imposition. It will feel like attention paid to a thing she happens to care about.//
<<elseif _level is 2>>
//I fill the screen with the badge logs and the contractor rosters. The threads the federal team has not yet pulled, rendered as her own. Tomorrow she will pick a thread and follow it, her own thread, on her own evenings, and the federal team will not get the result until she has decided what shape it takes.//
<<else>>
//She is not reading the official case any more. She is constructing one. From tomorrow her investigation runs in parallel to the federal team's, with her own candidate and her own frame. A host running her own theory of the breach is the cheapest cover I will ever have, and the cover compounds, because every hour she spends inside her own frame is an hour the federal team is not asking her about mine.//
<</if>>
<</say>>
<<if _level is 3>><p><span class="biomass-gain">Camera-feed access from Holloway; lab suspicion cap raised from 10 to 20.</span></p><</if>>
<<if $vesselMods.workplace.microscopeProgress gte 3 and $vesselMods.workplace.computerProgress gte 3>><<addSkillPoints 1 "workplace-room-cleaned">><p>Workplace architecture closed.</p><</if>>
[[Back to the workplace|Ch2-Vessel-Dream-Workplace]]
/* Ch2-Vessel-Dream-Workplace-Labcoat passage removed 2026-05-24
(labcoat scrapped from the workplace dream room). */
/* ---- EXHIBIT PROSE PASSAGES (preserved, re-wired) --------- */
/* The closet shoe-box exhibit, reached via the bedroom closet
corridor sub-space. */<<nobr>><<bg "bg-dream-closet">>
<<set $currentArea to "Chen's Mind, Shoe-box exhibit">>
<<set $vessel.dreamLoc to "exhibit-closet">><</nobr>>
<div class="passage-title">The Shoe-Box</div>
<div class="lab-location">Chen's mind, the plinth at the end of the corridor</div>
<p>The plinth is at the end of the corridor. The lighting around it is warm and low, not the cool gallery white of a museum but something more domestic, something that wants you to feel something. On the velvet, taped along the seams with the tape peeling at the corners: a brown corrugated cardboard shoe-box. Beside it, set down on the floor: <<if ($vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>>a pair of women's shoes, hers, worn at the heel<<else>>a pair of brown leather oxford dress shoes, polished once and never again<</if>>.</p>
<p>There is no glass between you and the box; the corridor is open at the far end, the way memory is open when the body has not yet agreed to forget. You could reach in. You could lift the lid.</p>
<p>You do not lift the lid.</p>
<<say "char-hivemind" "Hivemind">>
//The box is the load-bearing column of her grief. She put it on the closet floor on a Tuesday afternoon a few weeks after she came back to work, and the architecture of every subsequent Tuesday was built around the not-opening of it. To open it tonight, in her dream, without her, would be a violence. Worse: it would be a violence that does not propagate, because she would not remember in the morning that I did it. The opening has to be hers.//
//But I have read the case. I know what is inside. I know how heavy it is. I know which photograph is on top and which Christmas is in it. The next time she walks past the closet I will be a different parasite than the one who walked past it this afternoon.//
<</say>>
<p><span class="delve-intel">Closet exhibit catalogued in dreamscape register. The body-memory is now anchored to the parasite as a navigable space, every subsequent waking-day passage near the closet has the dream-room as a back-channel. Future thought-pressure on the MOTHER / FATHER / BOX target will eventually allow the lid to lift inside the dream, which becomes the moment Chen wakes ready to open it for real.</span></p>
[[Back to the corridor|Ch2-Vessel-Dream-Bedroom-Closet]]
/* The notebook exhibit, reached from the living-room bookshelf. */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, Notebooks exhibit">>
<<set $vessel.dreamLoc to "exhibit-notebooks">><</nobr>>
<div class="passage-title">Five Notebooks</div>
<div class="lab-location">Chen's mind, the long shelf at the back of the living room</div>
<p>The shelf is long and dimly lit, five identical black hardback notebooks in a row, one for each year of her doctorate. The spines are uniform, the covers are uniform, the shelf is uniform. Until you look closer.</p>
<p>The fifth spine is cracked at one specific page. It would not be cracked there if someone had not opened the notebook to that page enough times to weaken the binding before they decided to stop opening it at all.</p>
<p>The case is open. You could reach in. You could turn to the cracked page.</p>
<<say "char-hivemind" "Hivemind">>
//I do not need to read the page. The body has already told me what is on it. The page is the entry where her grief stops being a feeling she is documenting and starts being a fact she is documenting around, the entry where the writing becomes flat, then evasive, then absent for the next twenty-two pages, then absent for the rest of her life.//
//She wrote the entry on a Wednesday in the autumn of her first year as a postdoc. She has not opened the notebook since. The cracked spine is the closest she has come to opening it in five years; the spine remembers because she leaned the notebook against the shelf during one move and the binding failed at the place that already wanted to fail.//
//The entry will not be useful to me as content. The entry will be useful to me as a //lever//. The day she rereads it is the day her grief stops being structural and starts being processable, which is the day the architecture of her life is open to renovation.//
<</say>>
<p><span class="delve-intel">Notebook exhibit catalogued. Chen's grief journal stops at a specific page in the fifth notebook; the spine is cracked at that page from past visits she does not remember. Re-reading the entry is the architectural leverage point, the moment her grief becomes processable rather than load-bearing. Schedule for late-route content; do not push prematurely.</span></p>
[[Back to the living room|Ch2-Vessel-Dream-LivingRoom]]
/* The wooden-spoon exhibit, reached from the kitchen counter. */<<nobr>><<bg "bg-dream-kitchen">>
<<set $currentArea to "Chen's Mind, Spoon exhibit">>
<<set $vessel.dreamLoc to "exhibit-spoon">><</nobr>>
<div class="passage-title">A Wooden Spoon</div>
<div class="lab-location">Chen's mind, the kitchen counter</div>
<p>A single wooden spoon, laid across the counter at exactly the angle she set it down on the last morning she used it. The bowl of the spoon shows a single shallow dark mark, a caramel burn from a pot that did not behave a long time ago, in a kitchen Chen no longer lives in. The handle has been worn smooth in two places by a hand that is not Chen's.</p>
<<say "char-hivemind" "Hivemind">>
//Her mother used this spoon. Then her mother gave it to Chen. Then Chen used it for two years. Then Chen stopped using it. The spoon now lives in the drawer beside the oven, three centimetres of layout away from the action of being used, and the three centimetres are the entire span of grief.//
<</say>>
<p><span class="delve-intel">Spoon exhibit catalogued. The spoon is the kitchen-equivalent of the bedroom shoe-box: an object Chen kept rather than threw out, but whose use ended at the same threshold. Re-using the spoon is a milestone for the cooking-track of her improvement arc.</span></p>
[[Back to the kitchen|Ch2-Vessel-Dream-Kitchen]]
/* The ash exhibit, reached from the kitchen table. */<<nobr>><<bg "bg-dream-kitchen">>
<<set $currentArea to "Chen's Mind, Ash exhibit">>
<<set $vessel.dreamLoc to "exhibit-ash">><</nobr>>
<div class="passage-title">Grey Ash</div>
<div class="lab-location">Chen's mind, the small ceramic ashtray on the kitchen table</div>
<p>The ashtray is small, square, and full of grey ash and crushed cigarette butts to a depth that would not fit inside a real ashtray. The smell that should be coming through the rim of the ceramic is somehow coming through the rim of the ceramic anyway. The label, if there were a label, would not say what brand. The label, if there were a label, would say <i>since the funeral.</i></p>
<<say "char-hivemind" "Hivemind">>
//Years and years of pack-tap, years and years of first-drag-held-too-long. The ashtray is full because the ashtray has been collecting since the autumn of her first postdoc year, the autumn she started smoking, which was also the autumn after her parents died. Her body has been adding to this case, every morning, every smoke break, every late drive home, ever since, and the case is //not closed//. The lid is open. She is still adding.//
//First improvement target. Already named. The ashtray will be the first one to empty.//
<</say>>
<p><span class="delve-intel">Ash exhibit catalogued. The smoking habit's dream-form is a continuously-accumulating ashtray that Chen's waking body has been depositing biomass into for over a decade. The exhibit closes when the parasite's quitting protocol completes. First measurable change-of-state in the villa.</span></p>
[[Back to the kitchen|Ch2-Vessel-Dream-Kitchen]]
/* The keycard exhibit. STATUS: ORPHAN — was reached from the lab
corridor plinth; the corridor has been removed. Prose preserved;
needs a new home if the BSL-asymmetry intel is re-used.
See tasks/rework.md. */<<nobr>><<bg "bg-dream-lab">>
<<set $currentArea to "Chen's Mind, Keycard exhibit">>
<<set $vessel.dreamLoc to "exhibit-keycard">><</nobr>>
<div class="passage-title">Two Keycards</div>
<div class="lab-location">Chen's mind, the plinth in the lab corridor</div>
<p>Two laminated keycards on a plinth, side by side under glass. One is Chen's, BSL-3 + BSL-4 master, the tag worn at one corner where her thumb has lived for five years. The other is Vasquez's, BSL-3 only, the tag pristine. The asymmetry between them is not visual. The asymmetry between them is the entire reason the next several scenes have to happen the way they will happen.</p>
<<say "char-hivemind" "Hivemind">>
//The pair is leverage I will use. Today only as a fact catalogued; once the breach has been escalated, the asymmetry becomes a tool. Vasquez can be barred from rooms Chen can enter; Chen can be locked into rooms Vasquez cannot reach. Twenty minutes of forced re-decon is a tool that exists in this universe because Chen built it.//
<</say>>
<p><span class="delve-intel">Keycard exhibit catalogued. The BSL-3 / BSL-4 asymmetry is now anchored as a dreamscape reference, the parasite can recall the protocol map at speed during waking-phase decisions at the lab.</span></p>
[[Back to the lab corridor|Ch2-Vessel-Dream-LabCorridor]]
/* STATUS: ORPHAN, bathroom room not shipping in this slice.
Mascara exhibit prose preserved verbatim; will be re-wired
from a Ch2-Vessel-Dream-Bathroom hub once the bathroom image
ships. Reachable via direct passage navigation only (debug or
journal back-references). */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Chen's Mind, Mascara exhibit (orphan)">>
<<set $vessel.dreamLoc to "exhibit-mascara">><</nobr>>
<div class="passage-title">One Empty Tube</div>
<div class="lab-location">Chen's mind, orphan exhibit, bathroom not yet rendered</div>
<p>The case is small, barely more than a vitrine. Inside, on a black-velvet pillow: a single empty tube of drugstore mascara, the brush gone thready, the cap askew. The plinth beneath the tube is a slip of brushed metal that has no plaque on it, the way the most important objects in a museum are sometimes the ones the museum has not yet learned to label.</p>
<p>The lighting in this case is colder than the others, clinical white, the same colour as the tube's original packaging. The exhibit feels less like an artefact and more like an obituary for an action.</p>
<<say "char-hivemind" "Hivemind">>
//The tube is not the grief. The tube is the small ongoing maintenance the grief made unsustainable. Every absent layer of skincare, every unbought lipstick, every morning she has stepped past the empty shelf and not registered the empty shelf, they all live behind this one object.//
//She thinks of the makeup-free state as a principle. It is not a principle. It is the residue of one Wednesday morning when her hand reached for the tube and found nothing, and her body chose not to make the trip to the drugstore, and the next day made the same choice, and the day after that, and the absence became the rule.//
//I can use this. Every habit she has stopped is a vector that runs through the same hand-reaches-shelf-finds-nothing geometry. To restart any one of them I have to interrupt that geometry on a sufficient number of consecutive days. The mascara was the first. There will be others.//
<</say>>
<p><span class="delve-intel">Mascara exhibit catalogued. The drop-pattern model is now a known quantity: any habit Chen has lost was lost to a single un-replaced absence over a sufficient number of consecutive days. To restart any habit, the parasite must interrupt the same geometry, which means engineered cravings, friction at the right moment, and patience. The same model will be load-bearing for cigarettes (already first-target), eating, sleep, and eventually her body's relationship with itself.</span></p>
[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]
/* ---- WAKE -------------------------------------------------- */<<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.childhoodKitchen to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<goto "Ch2-Vessel-Memory-ChildhoodKitchen">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.firstDaySchool to true>>
<<goto "Ch2-Vessel-Memory-FirstDaySchool">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.leftOutPlaying to true>>
<<goto "Ch2-Vessel-Memory-LeftOutPlaying">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.parentsBickering to true>>
<<goto "Ch2-Vessel-Memory-ParentsBickering">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.firstDayHighSchool to true>>
<<goto "Ch2-Vessel-Memory-FirstDayHighSchool">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.escapeStudyPressure to true>>
<<goto "Ch2-Vessel-Memory-EscapeStudyPressure">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.showerDormBoys to true>>
<<set $ch2Events.showerHostMemoryDone to true>>
<<goto "Ch2-Vessel-Event-MorningShower-Memory">>
<</nobr>>/* Scrapped 2026-05-21 with the "A Number She Deleted" memory. Kept as a
no-side-effect redirect so a save mid-delve resolves to the library
instead of breaking on a missing passage. */
<<goto "Ch2-Vessel-Dream-Library">><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.graduationNight to true>>
<<goto "Ch2-Vessel-Memory-GraduationNight">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.firstBoyfriend to true>>
<<goto "Ch2-Vessel-Memory-FirstBoyfriend">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.universityHallway to true>>
<<goto "Ch2-Vessel-Memory-UniversityHallway">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.movingIn to true>>
<<goto "Ch2-Vessel-Memory-MovingIn">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.engagementNight to true>>
<<goto "Ch2-Vessel-Memory-EngagementNight">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.sofiaPushedApply to true>>
<<goto "Ch2-Vessel-Memory-SofiaPushedApply">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.genesisSelection to true>>
<<goto "Ch2-Vessel-Memory-GenesisSelection">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.smithRetiresPromotion to true>>
<<goto "Ch2-Vessel-Memory-SmithRetiresPromotion">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.bowenInterview to true>>
<<goto "Ch2-Vessel-Memory-BowenInterview">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.newYearDinner to true>>
<<goto "Ch2-Vessel-Memory-NewYearDinner">>
<</nobr>><<nobr>>
<<spendBiomass 1>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<set $vesselLibrary.fortyFiveReadings to true>>
<<goto "Ch2-Vessel-Memory-FortyFiveReadings">>
<</nobr>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, years back, the bar booth Sofia made her sit in until she said yes">>
<</nobr>>
<div class="passage-title">The Application</div>
<div class="lab-location">Elena, years back, the bar booth, the night Sofia would not let her leave without applying</div>
<<say "char-hivemind" "Hivemind">>
//The receipt the host has filed under //the night Sofia made me start the rest of my life//. The host has not opened this drawer aloud, in any register, since.//
<</say>>
<p>Years back. A small south-side bar, the same one the present-tense host still drinks at on the nights Sofia talks her into it. Elena was at the tail end of a postdoc, three months out from being unemployed, and the BioGenesis posting had been up on the company site for nine days. Elena had been opening the page on her phone, scrolling to the experience requirements, closing it, and not applying, every morning over coffee, for nine days running. Sofia had been at her for six of them.</p>
<img class="scene-img" src="media/scenes/vessel/mem-application.webp" alt="A small dim south-side bar booth, years back. Two women in their late twenties at a small wooden table, two glasses of red wine between them and a laptop open on one side. Elena, a Chinese-American woman with pale skin, black hair, and slim dark-acetate glasses, sits with her hands flat on the laptop, a reluctant composed half-smile. Sofia leans across the booth toward her, encouraging, a finger on the rim of her wine glass, the warm insistence of a friend who is not leaving until the form is started. Warm dim bar lighting.">
<<say "char-vasquez" "Sofia">>
<i>(across the booth, second glass of red on the small wooden table, the laptop open on Elena's side of the seat)</i> Open it. Open the page, Elena. I am not going home until you start the form, I love you, I will sit here all night, I have nothing better to do.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, hands flat on the laptop, the small composed register of a woman who has already lost the argument and is going through the motions of having it)</i> They want eight years of experience, Sofia. I have four if you count the PhD generously, which the panel will not. I am wasting their time and mine.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small flat shake of the head, finger on the rim of her wine)</i> You have the cytoplasmic-transfer paper they cited in the posting, El. They are not going to give that requirement to anyone else because there is nobody else who has done it. Open the form. I love you, I am also not leaving this booth.
<</say>>
<p>Elena opened the form. Sofia kept drinking and made small wry running commentary on every field, the way she still makes running commentary at lab lunches, and by the end of the second glass the application was submitted and Sofia was buying the third round on the principle of having earned it. The interview call came in eleven days later. Elena took the post.</p>
<<say "char-hivemind" "Hivemind">>
//The receipt is filed under //Sofia//. Every minute of the host's career, from the first specimen she signed off on to the morning she will, eventually, sign off on me, runs through a south-side bar booth and a friend who would not let her stand up. The host has never said this aloud to Sofia. The host has, in her quiet private filing of who-she-trusts, never written any other name in the centre slot. I have been reading that filing every time I read her interior baseline. The name has been the same since the bar booth.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "sofiaPushedApply">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, the early days of Project Genesis, the selection meeting and the first specimen">>
<</nobr>>
<div class="passage-title">Genesis-One</div>
<div class="lab-location">Elena, the day the three of them were named to Project Genesis, and the morning Genesis-One arrived in the suite</div>
<<say "char-hivemind" "Hivemind">>
//The receipt of the day the host was named to the project I am the latest evolved descendant of. The host has filed this one under //the morning everything actually started//. She has been carrying that filing since.//
<</say>>
<p>The early days. The company assembled the project team in a conference room on the third floor of the research facility: the suite director at the head of the table, three coffees, and three names on the project lead-sheet. Smith, the senior, two decades in the field, the chair he had been holding for the last twelve years. Vasquez, mid-career, the company's most decorated systems researcher. And Elena, the youngest of the three by a clear margin, named to the team for the cytoplasmic-transfer paper and the work she had been doing in her postdoc on accelerated nuclear stability.</p>
<<say "char-vasquez" "Sofia">>
<i>(across the table from Elena, the smallest private half-smile aimed at her over the rim of her cup)</i> ...and that is the three of us, then. They have given us the run we have been asking for. Smith, you have done this work longer than either of us. Where do we start?
<</say>>
<<say "char-npc" "Dr. Smith">>
<i>(senior, the unhurried register of a man who has been chairing tables like this since both of them were in school)</i> We start where you start anything alive. Generation One. Smallest viable substrate, the simplest scaffold the chemistry will hold. We get a single specimen on the bench, and we go from there. The rest of it is iteration.
<</say>>
<p>Genesis-One arrived in the suite three weeks later. Two centimetres long, translucent, no eye yet, no obvious sensorium, the chemistry just barely stable enough to count as a specimen. The first organism in a lineage that would, six years and forty-six iterations later, put me inside the host's brain. Smith logged the arrival. Sofia photographed the chamber. Elena was the one who signed the run-sheet.</p>
<img class="scene-img" src="media/scenes/vessel/mem-genesis-one.webp" alt="A BioGenesis research suite, a small containment chamber on the bench holding Genesis-One, the first specimen of the lineage: a tiny two-centimetre translucent organism with no eye yet. Three scientists in lab coats around the bench: an older senior researcher, Dr. Smith; Sofia Vasquez photographing the chamber; and a younger Elena, a Chinese-American woman with black hair and slim dark-acetate glasses, signing the run-sheet. Clinical lab lighting.">
<<say "char-hivemind" "Hivemind">>
//The receipt is filed under //the right people in the right room//. The host has not yet caught up to the implication: the lineage she helped start is the same lineage she is currently the host of. She is sleeping in the bed she made, and the bed has a tenant. The day I orient her toward this filing, the protocol she will reach for is the protocol she executed on Forty-Six. The host's clock on me started, in some sense, the morning Smith signed the chair over to her name. It just took a few more generations to begin counting.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "genesisSelection">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, the year Smith retired and the host was promoted in his place">>
<</nobr>>
<div class="passage-title">Smith Retires</div>
<div class="lab-location">Elena, the year Smith retired and the company moved the host into the senior role despite her age</div>
<<say "char-hivemind" "Hivemind">>
//The receipt of the year the host's results outran her seniority. Smith retired honourably after a long run. The board, reading the data, named the host to the chair he had been holding, a decade earlier in her career than the board would normally have moved.//
<</say>>
<p>The year Smith stepped down. The board meeting ran long. The retirement notice had been on the table for six weeks. The succession question had been on the table for four. The senior chair the project had been built around had two names on the short-list: the obvious one, a mid-career researcher from the company's other division, and Elena, who at her age would normally not have been on any short-list at all.</p>
<p>The data did the work. Generation-Twenty-Two had cleared the substrate threshold two cycles ahead of the model. Generation-Twenty-Three had stabilised the early sensorium. The papers had Elena's name first. The board, with the suite director's quiet endorsement, gave the chair to the second name on the list.</p>
<img class="scene-img" src="media/scenes/vessel/mem-smith-retires.webp" alt="A corridor outside a boardroom. Dr. Smith, an older senior scientist with his coat over his arm and the unhurried half-smile of a man who has just signed his retirement letter, speaking with Elena, a Chinese-American woman with black hair and slim dark-acetate glasses, her composed half-smile holding as the news of the senior chair lands. Institutional corridor light.">
<<say "char-npc" "Dr. Smith">>
<i>(in the corridor outside the boardroom, coat over his arm, the small unhurried half-smile of a man whose retirement letter has just been signed)</i> Elena. You are going to do this well. The work is going to do most of it for you. You do not need me to tell you what to keep and what to drop, you have known that since Twenty-One.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the news still half a centimetre from landing)</i> ...thank you, Smith. For everything. I am not going to insult you by promising to do the work the way you did it. I will do it the way the work is asking me to.
<</say>>
<<say "char-npc" "Dr. Smith">>
<i>(small genuine half-laugh, the small nod of a man who has read the answer he was hoping for)</i> ...that is exactly the right answer. Go.
<</say>>
<p>Elena went. The chair was hers. Sofia bought the bottle that night and they drank it on the lab roof, and Elena did not, at any point during the celebration, tell her oldest friend that she had been calculating since Twenty-One whether the chair was a thing she could ask for or a thing she would have to wait to be handed. The number on the list, the second one, had been her number for a year before the board read it aloud.</p>
<<say "char-hivemind" "Hivemind">>
//The receipt is filed by the host under //the chair was earned//. Underneath that filing is a quieter one, that the host had calculated the path to the chair on the morning of Twenty-One and not told anyone, including Sofia, including Smith. The host is, in her own private filing, a woman who saw the chair coming and quietly arranged the path to it. She is not a woman who was given the chair. The board does not know this. Sofia does not know this. I do, because the filing sits next to the one about Forty-Six, in the same drawer, and both filings answer the same question: when the work asks me to make a hard call, do I make it.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "smithRetiresPromotion">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, the interview room, the morning Bowen sat across from her for the junior position">>
<</nobr>>
<div class="passage-title">Hiring Bowen</div>
<div class="lab-location">Elena, the interview room, the morning a nervous twenty-something Bowen sat across from her for the junior tech position</div>
<<say "char-hivemind" "Hivemind">>
//The receipt of the morning the host hired the man whose body is now, on the present-tense bench, reading her contempt as arousal. The host has not connected the two filings. The drawer this morning sits in is a drawer she keeps closed.//
<</say>>
<p>The interview room. The morning. Six candidates in the stack for the junior tech slot, the short-list trimmed to three by the previous afternoon. Elena had read the CVs the night before and printed the top three with the small composed efficiency she brings to a stack of CVs. Bowen was the third name. The other two were the obvious hires, mid-twenties men with three internships each and the kind of polish that gets a stack of CVs to the top.</p>
<p>Bowen was the most nervous candidate of the three. He sat down across from Elena with his hands flat on his thighs and the small careful half-smile of a man who had spent the morning telling himself not to be nervous, and he was, in the small unhurried first thirty seconds, very nervous indeed. He answered the first question slowly. He answered the second question slowly. He answered the third question slowly and correctly. He did not, at any point in the first half-hour, give the rehearsed answer.</p>
<img class="scene-img" src="media/scenes/vessel/mem-bowen-interview.webp" alt="A BioGenesis interview room in daylight. Tom Bowen, a nervous mid-twenties man with wavy dark-blond hair and pale blue eyes, clean-shaven, sitting across a small table with his hands flat on his thighs and a careful half-smile. Opposite him, Elena, a Chinese-American woman with black hair and slim dark-acetate glasses, leaned back a fraction in her chair, the unhurried register of a senior PI who has just decided.">
<<say "char-chen" "Elena">>
<i>(small composed half-smile, leaning back a fraction in the chair, the unhurried register of a senior PI who has decided in the last thirty seconds)</i> Tom, last one. The protocol calls for a six-step pipetting sequence on a substrate the suite has flagged as drift-sensitive. You are halfway through, your supervisor walks in and tells you the protocol has been updated and the substrate is to be discarded. What do you do?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small careful pause, the answer being assembled from first principles instead of from the rehearsal)</i> ...I finish the sequence I am in the middle of. The substrate is already past step three, and discarding mid-sequence is a worse error than completing a sequence that will be discarded afterward, because completing it leaves a clean record. I would discard the completed substrate after I had logged it, and I would ask the supervisor to walk me through the updated protocol before I started the next one.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-nod, the decision already made)</i> ...that is the answer. We will be in touch this week.
<</say>>
<p>Bowen got the call two days later. He started the following Monday. Elena filed the hire under //the careful one, the one who reasons forward instead of backward//, and made a small private note in her head to keep an eye on his bench. The note has been in her head every working day since.</p>
<<say "char-hivemind" "Hivemind">>
//The receipt is filed under //the right tech for the right bench//. The receipt is also filed, in a quieter drawer, under //I picked the nervous one//. The host is not yet asking herself why she picked the nervous one when the other two would have been fine. I am not going to bring her to that question. The drawer she keeps it in is the same drawer I have been quietly opening every time I edit the bench events. Today's contempt-as-arousal reading at his bench started the morning she signed his offer letter, on a small private filing the host has never aired.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "bowenInterview">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, a New Year dinner at the lab, the four of them around the same table">>
<</nobr>>
<div class="passage-title">The New Year Dinner</div>
<div class="lab-location">Elena, a New Year dinner, the five of them around the same table, the rare night the project's full bench sat down together</div>
<<say "char-hivemind" "Hivemind">>
//The receipt of the night the whole bench, Vasquez, Halvorsen, Holloway, Bowen, and the host, sat at a single table on the lab's annual dinner. The host has filed this one under //the night I had a family at the lab//. She has not opened that filing aloud since.//
<</say>>
<p>The lab's New Year dinner. The small banquet room at the back of an Italian place downtown, the one Halvorsen had picked for the third year running because the wine list was solid and the kitchen would do a tasting menu for five at a reasonable price. The reservation under Halvorsen's name. The five of them at a single round table: Halvorsen at the head, Holloway across from him, Sofia on one side, Elena on the other, and Bowen, the new tech, at the foot of the table, looking like a man who could not believe he had been invited.</p>
<img class="scene-img" src="media/scenes/vessel/mem-newyear-dinner.webp" alt="The small back banquet room of an Italian restaurant, warm low light, a single round table set for a tasting menu with wine. Five colleagues seated: Dr. Halvorsen, around fifty with short salt-and-pepper hair, at the head; Dr. Holloway, a late-twenties Black woman with dark hair in an afro-puff bun, across from him; Sofia Vasquez on one side; Elena, a Chinese-American woman with black hair and slim dark-acetate glasses, on the other; and Tom Bowen, mid-twenties with wavy dark-blond hair, at the foot, glass raised, looking like he cannot believe he was invited.">
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small institutional warmth, glass raised, the toast he gives every year)</i> To the bench. To the work. And this year, to Tom. You picked it up faster than anyone I have ever put at that bench, and you never once complained about the hours. You earned the seat. ...now eat, before Sofia drinks the cellar dry.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small surprised half-laugh, glass raised back, the colour at his cheeks already two glasses ahead of the wine)</i> ...thank you, Doctor. I, thank you. I have, this is, I am very glad to be here.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small wry half-smile across the table at Elena, glass already half-down)</i> ...he is going to be face-down in the third course, El, I love him already. Tom, water between the glasses, the kitchen here runs long. Pace yourself.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(half-laughing and loud, the careful methodical register a few glasses gone, waving her wine at Tom)</i> Water will not save you, Tom. Elena has put me under this table year after year and never once looked like she was trying. ...watch her, not the wine.
<</say>>
<p>The dinner ran four courses. The conversation drifted the way lab dinners drift, the work, the project, the small private gossip about colleagues at the other division, and back to the work again, the small companionable warmth of five people who have done long nights together and are letting themselves stop being on the clock for the length of a meal. Sofia put Halvorsen under the table on the third bottle. Holloway and Elena split the last glass two ways. Bowen, who had been advised to pace himself, paced himself, and walked out of the room at midnight with the small composed half-smile of a man who had been given a place at a table he had not expected to find.</p>
<<say "char-hivemind" "Hivemind">>
//The receipt is filed under //the family I made at the lab//. The host's family of origin sits in a drawer two over, the father dead, the mother estranged, the holidays carried alone in the apartment with the cigarette pack on the windowsill. The lab dinner is the seat at the table. The four other names at the table are, in the host's quiet private filing, the people who have not left her. I have been adjusting which name is closest to the centre, and Sofia has held the centre by a clear margin since the south-side bar booth. The host's family has, by her own quiet accounting, five people in it. Forty-Seven and I are not on the list. Yet.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "newYearDinner">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, the suite at night, the readings from Forty-Five and a whole night arguing with Sofia about what they meant">>
<</nobr>>
<div class="passage-title">Forty-Five</div>
<div class="lab-location">Elena, the suite the night Forty-Five's readings stopped matching the model, and the whole night she and Sofia argued about what they meant</div>
<<say "char-hivemind" "Hivemind">>
//The receipt of the night the host and Sofia first argued about the cognitive layer. The argument that would, two generations later, put Sofia in front of a DARPA contact and the host on the other side of a federal interview table. The host has filed this one under //the night Sofia was wrong about the readings//. The host is, by my read of the filing, wrong about who was wrong.//
<</say>>
<p>The night Forty-Five's readings stopped matching the model. The suite at ten-thirty PM, the model on Sofia's laptop and the trace on Elena's, the two of them at the same bench with the rest of the building dark. The readings were small, a four-percent drift in the hearing analogue and the same in the sight, both still inside the scatter the model allowed for the generation, sitting at the high end of it and creeping higher every hour.</p>
<img class="scene-img" src="media/scenes/vessel/mem-forty-five.webp" alt="A BioGenesis suite late at night, the rest of the building dark. Elena and Sofia Vasquez at the same lab bench, two open laptops between them showing a spike-train trace and a model curve, both women in glasses, mid-argument over the readings, the tense unhurried register of two scientists who have stopped sleeping. Cool late-night lab light.">
<<say "char-vasquez" "Sofia">>
<i>(at the bench, the laptop screen reflected in her glasses, the unhurried register of a woman who has stopped sleeping and started arguing)</i> Elena, this is not noise. The model says it is, and the model is wrong. Look at the trend, four percent at midnight, four-point-six by three, five-point-one now. Noise scatters, it does not climb in a straight line for five hours. That is a signal.
<</say>>
<<say "char-chen" "Elena">>
<i>(at the laptop, the same trace on her screen, too tired to raise her voice)</i> Sofia, look at the actual numbers. The model already expects scatter this size at this generation, and four percent is sitting right in the middle of what it allows. A wobble that drifts up over a few hours and then settles back is what noise does, it is not a specimen waking up. Real emergence is nine or ten generations away, and when it comes it will not be a four-percent flutter we have to squint at, it will be obvious. The model is being careful here, not wrong.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small hard shake of the head, the gloves off the bench by the third hour, the small private temper Elena had not seen on Sofia before)</i> Then the model is being careful about the wrong thing, Elena. It is climbing in two completely separate senses at once, the hearing and the sight, in lockstep, and noise does not coordinate like that. That is the thing starting to wire itself together, and if I am right the morning shift walks in to a specimen that reorganised itself overnight, and we are the two who sat here and watched it happen and said nothing.
<</say>>
<<say "char-chen" "Elena">>
<i>(at three forty AM, rubbing her eyes, composed but stretched thin)</i> We do not flag the board over a four-percent wobble, Sofia, we flag them when it actually breaks past what the model allows, and it has not. So we watch it, and if it crosses that line we call it in, and until then we both get some sleep.
<</say>>
<p>They went to bed at four-thirty AM. The reading never broke past the line, and by the morning shift it had drifted back down inside three percent. The model had been right, the reading had been noise, Sofia had been wrong.</p>
<p>Two generations later, on the morning shift of Forty-Seven, the reading did break past the line, and the specimen turned toward the vent.</p>
<<say "char-hivemind" "Hivemind">>
//The receipt is filed by the host under //I was right about Forty-Five//. The receipt is filed by Sofia, who has not opened the drawer aloud since either, under //Elena was right about Forty-Five and almost wrong about Forty-Six//. The argument was the first wedge. The wedge has been growing ever since. The DARPA contact Sofia made after the cracked chamber started at a bench at three forty AM on the night the host and her oldest friend went to bed without agreeing. I have been reading the drift between them at every lunch since I arrived in the host. Sofia is on the other side of a wedge the host helped place there. The wedge is the reason Sofia took the data to DARPA without telling Elena, and the reason Elena is, in present tense, telling a federal interview team that nobody at the lab has been behaving anomalously.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "fortyFiveReadings">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>>
/* ---- Library aliases for existing memory passages -----------
The two pre-authored memories (childhood kitchen, shower dorm)
live at passages that predate the library and are still reachable
from their waking-life access points. The library uses these
alias passages as link targets so the back-link logic can route
cleanly back to the bookshelf. */<<goto "Ch2-Vessel-Monday-CornerStore-DelveChildhood">>
/* ---- Stub memory passages ----------------------------------
Four short host-memories accessible only via the library. Each
one is a single self-contained scene plus a Hivemind catalogue
read. Conditioning reward matches the two pre-authored
memories: +1 dream conditioning on first surface, free re-read
after. Back link routes to library while dreaming, falls back
to the dream foyer otherwise (no waking-life context for these
four). */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, six years old, the first day of first grade, twenty-six years ago">>
<<set _firstTime to (not $ch2Events.memFirstDaySchoolDelved)>>
<<if _firstTime>>
<<set $ch2Events.memFirstDaySchoolDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The First Bell</div>
<div class="lab-location">Elena, six, first grade, roll call</div>
<<say "char-hivemind" "Hivemind">>
//The first install. Before the kitchen, before the //look past them//. The shelf on which every later coping shelf is built. The day the body learned that even the adults at the front of the room were not always going to be on her side.//
<</say>>
<p>The classroom is a first-grade classroom in a mostly-white suburb. Twenty-two small desks in five rows, cursive alphabet running along the top of the chalkboard, a brown-paper apple tree on the bulletin board with each child's name written on a paper leaf. Elena is six, in a green corduroy jumper with a white blouse underneath, hands folded carefully on the desk because that is what her mother said you do on the first day. She has been here for twenty minutes and she has not yet said a single word.</p>
<img class="scene-img" src="media/scenes/vessel/chen-mem-firstschool.webp" alt="A six-year-old Chinese-American girl with neat shoulder-length black hair, sitting at a small wooden first-grade school desk in a 1990s American classroom, wearing a green corduroy jumper over a white blouse, hands folded carefully on the desk, posture braced and small. Mostly-white classmates around her at neighbouring desks looking up at the front of the room. Soft morning daylight through the windows. A middle-aged white teacher in a pleated skirt standing at the front mid-roll-call, a clipboard in one hand, a friendly but distracted smile.">
<p>The teacher is a friendly-looking white woman in her forties with a pleated skirt and reading glasses on a beaded chain. She has a good warm voice. Every child she calls she follows up with one small personal note. //Lucas Murphy, I know your sister, she was in my class three years ago. Madison Bell, that is a beautiful barrette.// The classroom is laughing at the right times. Elena's stomach is fine. She thinks it is going to be fine.</p>
<<say "char-npc" "Teacher">>
<i>(squinting at the next name on the roster, the brow doing the thing brows do when they hit a name they have not seen)</i> ...okay. Ele, Elena, oh dear, that is a tricky one. Chen, is that, //Chenn?// //Chen-uh?// Honey, do you say it //Chen// or //Chenn?// Maybe somebody at home can write me a little note with the right way to do it.
<</say>>
<p>The classroom laughs. It is not a cruel laugh; it is the laugh of children agreeing that yes, a tricky one. The teacher laughs along with them, a friendly self-deprecating laugh, the laugh of a person who has just identified the funny thing in the room and decided it is the safe one to point at.</p>
<<say "char-chen" "Elena">>
<i>(very small, the //Chen// the way her mother says it at home, a single soft syllable)</i> ...Chen.
<</say>>
<<say "char-npc" "Teacher">>
<i>(the smile still on, already turning the page)</i> Well, we will figure it out as we go along, sweetheart, do not you worry about that. Okay. Joshua Daniels, oh good, you brought the note from your mother.
<</say>>
<p>Elena spends the rest of the roll call looking at the place where the side of her desk meets the metal leg. Her hands are still folded on the top of the desk. She does not look up. The bulletin-board apple tree has a leaf with her name on it, and the leaf has //Chenn?// pencilled in next to the //Elena// because the teacher had asked the previous afternoon at the meet-the-class hour and Elena had been too shy to correct her then either. Elena does not know yet that her name is hers to protect. She is six. She is in first grade. She is going to learn it.</p>
<<say "char-hivemind" "Hivemind">>
//The installation completes by lunch. The body has filed the morning under //the adults will laugh too//, and the filing is a deep one. The teacher will be kind for the rest of the year. She will be the kind of kind that does not understand what the small Asian girl in the third row is bracing for and will not be told. Elena will not bring it up at home. Her mother will find out three years from this morning, in the yellow Formica kitchen, when the body has finally accumulated enough of these to come asking for the technique. The mother will know, when she gets there, that this was where it started. She will not mention this morning. She will not need to.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "firstDaySchool">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, eight years old, the schoolyard at recess, twenty-four years ago">>
<<set _firstTime to (not $ch2Events.memLeftOutPlayingDelved)>>
<<if _firstTime>>
<<set $ch2Events.memLeftOutPlayingDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The Hopscotch Square</div>
<div class="lab-location">Elena, eight, schoolyard recess, the day she learned a group has a door</div>
<<say "char-hivemind" "Hivemind">>
//A different shape of pain than the classroom one. Adult-shaped pain has a script the body can practise against. Kid-shaped pain has rules the body cannot study, because the rules change every recess. The body files this on a separate drawer.//
<</say>>
<p>It is recess on a clear afternoon in second grade. The schoolyard has the standard suburban-elementary layout, blacktop on one side, a fenced playground with a slide and the metal-bar climbing dome on the other, a row of wooden benches under the side wall of the school. The blacktop has a hopscotch grid chalked on it that the lunch monitors will spray off before going-home time. Three girls Elena knows from her class are at the grid with a hunk of yellow chalk, going over the lines where they have worn thin.</p>
<img class="scene-img" src="media/scenes/vessel/chen-mem-hopscotch.webp" alt="An eight-year-old Chinese-American girl in a pink t-shirt and jeans, sitting cross-legged on the blacktop at the edge of a 1990s American elementary schoolyard, holding a piece of yellow chalk in her hand, watching three other 8-year-old white girls play hopscotch on a chalk-drawn grid on the blacktop in the foreground. Brick school wall behind her, blue sky, the row of wooden benches under the side wall of the school visible at frame edge.">
<p>The previous week Elena had played with them. Two of them had even sat with her at lunch on Wednesday and Thursday, and one of them, the dark-blonde one, had given Elena half of her cinnamon roll. Elena had felt the small careful feeling of being a piece of furniture moved closer to the centre of a room. So when she walked over to the chalk grid this afternoon she walked with the small steady steps of a child who had earned a place at the grid.</p>
<p>The dark-blonde one is the leader. She looks up from the chalk when Elena gets close, and her face does a small adjustment, the same adjustment Elena's mother gets at the deli, and Elena does not yet have the word for the adjustment but the body files it as //the face the lady at the meat counter used when my mother asked for the thinly-sliced one.//</p>
<<say "char-npc" "The Leader">>
<i>(level, an eight-year-old's level of a child who has decided something while talking to her two friends and is about to deliver the decision as a thing the group decided)</i> So, Elena. We were just talking. And we figured out that the //rule// is, hopscotch is for people who were here last //week//. Like at the beginning. Because we drew the grid. And you came on Wednesday, which is fine, but it is not the same as being here at the beginning. So.
<</say>>
<<say "char-npc" "Second Girl">>
<i>(nodding earnestly, the seriousness of a child upholding a rule)</i> The beginning of the week, she means.
<</say>>
<<say "char-npc" "The Leader">>
<i>(holding the chalk out to Elena)</i> But! You can help. Because somebody has to keep the lines fresh, because if the lines get worn out we have to stop. So if you do the lines we can keep playing, and that is //also// being in the group. It is just being in the group differently.
<</say>>
<p>Elena takes the chalk. The Leader is not being cruel. She is being efficient. The body registers the difference and files it on a different shelf than the cruel-thing shelf.</p>
<p>The three girls play. Elena sits cross-legged at the edge of the grid and redraws the lines twice when they go pale. She is good at the lines. She makes them very straight. The other girls thank her without looking up. The dark-blonde one tosses her a //good job// after the second redraw, and the body does the small warm reflex of a child who has been recognised, and the body files that too, and the second filing is more dangerous than the first one.</p>
<p>The bell rings. The girls finish the round. Elena puts the chalk back in the dark-blonde one's hand and walks back to the line for class without saying anything. The dark-blonde one says //thanks Elena// without quite looking at her, and the body files the not-quite-looking too. By the time Elena is back in the classroom she has, without naming it, decided that the chalk is what she is. She is not going to test the conclusion again this year.</p>
<<say "char-hivemind" "Hivemind">>
//The body now carries two shelves. The first one, from the classroom, is //the adults will laugh too//. The second one, from this afternoon, is //the group has a door, and the door has a job-description posted on it, and the job-description is //hold the chalk//.// These two shelves will stack on each other for the next decade. They will, in adulthood, render the host extremely effective in environments where she has been told, in writing, what the job-description for inclusion is. They will render her extremely cautious in environments where she has not been told, and has to discover the rule by being on the wrong side of it.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "leftOutPlaying">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, ten years old, her bedroom at night, twenty-two years ago">>
<<set _firstTime to (not $ch2Events.memParentsBickeringDelved)>>
<<if _firstTime>>
<<set $ch2Events.memParentsBickeringDelved to true>>
<</if>><</nobr>>
<div class="passage-title">Voices Through the Wall</div>
<div class="lab-location">Elena, ten, the bedroom at night, listening</div>
<<say "char-hivemind" "Hivemind">>
//The night the body learned that the kitchen was not always safe either, and that the house had walls because the walls had jobs to do.//
<</say>>
<p>It is past ten and the house is supposed to be quiet. Elena is in bed in her small back-of-the-house bedroom, the one with the window facing the side yard and the maple. Her door is closed. The hallway light makes a thin warm line under it. Across the hall and around the corner, the kitchen is on. The kitchen has been on for an hour. The kitchen has been on in the specific way that her parents make the kitchen on when something is happening that they have decided she does not need to hear.</p>
<img class="scene-img" src="media/scenes/vessel/chen-mem-parentsbicker.webp" alt="A ten-year-old Chinese-American girl lying in bed in a small, dark suburban bedroom at night, the blanket pulled up to her chin, eyes open and turned toward the closed bedroom door, listening. A thin warm strip of yellow hallway light visible under the door. A bedside lamp turned off. A small worn stuffed rabbit on the pillow beside her. The wallpaper has a faint floral pattern. Late 1990s American suburban house register.">
<p>The voices come through the wall in fragments. Her mother first, in the low controlled register her mother uses when she is making her point quietly so she does not have to make it loudly. Her father in answer, the same register, the //we are not raising our voices because the child is in the next room// register. Elena can hear the tempo of the disagreement without hearing the content. The tempo is short, short, longer, short, short, longer. Her mother, her father, her mother, her father, her mother, her father.</p>
<p>The content surfaces in pieces. //Your sister.// //I already said yes.// //You said yes without asking me.// //She is my mother.// //She is also a woman who would like to have a vote on whether your mother stays in our house for three weeks, and not get told over the phone.// //The tickets are bought.// //That is the part I am angry about.//</p>
<p>Her grandmother, then. The one from her father's side. The one in the other country. The one who is coming next month, apparently. The one her mother does not want in the house for three weeks. Elena has met her grandmother twice in her life and the second time her grandmother had pressed Elena's hair flat with her hand and said something in a language Elena does not speak in a tone Elena did not have to speak the language to understand.</p>
<p>The voices go up for one second. Her father, sharp. //That is not what I said.// Her mother, sharper. //That is what you //did//.// Then a long quiet. Elena holds her breath without deciding to, and the body files holding-the-breath under //the thing the body does when the house is loud//, and the body will be doing it for the next two decades on cue.</p>
<p>The kettle clicks on. Elena's body knows the kettle. The kettle means her mother has gone to make tea, and her father has stayed at the table, and they are not going to keep doing it tonight. The kettle takes about three minutes. The two of them spend those three minutes in the same kitchen not talking, and Elena spends those three minutes in her bed not breathing all the way. When the kettle whistles, her mother turns it off fast so it does not wake //the child//, and her father gets up, and the slipper on the wooden floor goes past her bedroom door once, and the bathroom door clicks, and the toothbrushing happens, and her parents go to bed in their own room across the house, and they do not speak again that night.</p>
<p>Elena falls asleep somewhere around midnight. In the morning the kitchen is normal. Her father makes pancakes the way he does on weekends. Her mother sets the table. They do not look at each other in the way of people who have just had a fight; they look at each other in the way of people who have signed something between them in the night and the signature has stuck.</p>
<<say "char-hivemind" "Hivemind">>
//The body now carries the kettle as a permission slip. Adult conflict, ended by the kettle, becomes the template for how adult conflict ends. Present-tense Elena boils water after every difficult call with the lab, after every difficult half-minute with her PI when she had a PI, after the federal team's first hour in the conference room. She has never wondered why. She has wondered whether she is dehydrated. The wondering is the cover the body provides itself for the actual thing the body is doing.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "parentsBickering">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, fourteen years old, the first day of high school, eighteen years ago">>
<<set _firstTime to (not $ch2Events.memFirstDayHighSchoolDelved)>>
<<if _firstTime>>
<<set $ch2Events.memFirstDayHighSchoolDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The New Hallway</div>
<div class="lab-location">Elena, fourteen, the first day of ninth grade, the building she had hoped would be different</div>
<<say "char-hivemind" "Hivemind">>
//The body has been told, by a summer of older cousins and one well-meaning aunt, that high school is //different//. That the kids will be older and the rules will be older and the //look past them// will be a tool she is allowed to put down for stretches at a time. The body had hoped. The body is going to find out today.//
<</say>>
<p>The high school is a sprawling brick building in the same suburb, twenty minutes by bus from where the middle school used to be. The interior is fluorescent-lit cinderblock corridors, lockers in long banks, the smell of paint and floor polish from a summer of refurbishment. Elena has her schedule on a printed slip in her hand, her combination on the inside of the slip, a new backpack with a real laptop pocket because high school is the year she will have her own laptop. She is fourteen. She has a small good feeling she is not quite trusting yet.</p>
<img class="scene-img" src="media/scenes/vessel/chen-mem-highschool.webp" alt="A 14-year-old Chinese-American girl with long straight black hair, in jeans and a navy t-shirt, sitting alone at the empty end of a half-full cafeteria table by a window, a school lunch tray in front of her, looking out the window at a tree. A busy 2000s American public-high-school cafeteria around her, other students at the tables in their own conversations, fluorescent overhead lighting, polished linoleum floor, motivational posters near the office in the background.">
<p>The first-period teacher is a Black English teacher in her late forties, glasses pushed up into her hair. She does the roll call at the start of class the way Elena's mother has trained Elena to expect a roll call to go. She gets to //Chen// and says //Chen// the way Elena's mother says //Chen//, single soft syllable, no preamble, no apology, no //is that right honey//. She meets Elena's eye and nods once and says //good to have you here Elena, welcome to ninth-grade English// and moves on.</p>
<p>Elena's body does a small unclenching that the body had forgotten how to do in a classroom. The body files the moment under //a thing that is also possible// before the body has finished registering it.</p>
<p>Second period is a young Latina history teacher who does the same thing in a slightly different register, warm and quick, and the body unclenches a little further, and Elena lets herself feel, for the first time since the corduroy jumper, the small careful feeling of being in a room where the adult at the front is not the thing she is bracing for.</p>
<p>Lunch is at the end of fourth period. The cafeteria is the size of two basketball courts. The tables have pre-decided populations the way every public-high-school cafeteria has pre-decided populations, and a freshman at the first lunch of the year is a body looking for a chair. Elena has her tray. Elena is scanning. There is a table with three Asian girls she does not know, and she walks toward it, and the three girls look up at her, and the look is the same small adjustment the dark-blonde girl at the hopscotch grid had done, and the body files //the door is not here either// without breaking its stride. Elena keeps walking. She does not sit there.</p>
<p>She passes a table of white kids in athletic clothes. A boy at the end of the table does the eyes thing. He pulls the corners with two fingers and grins at the boy next to him. The boy next to him laughs. A girl at the same table, blonde and wearing a sweatshirt with the school's mascot on it, looks at her plate and does not laugh. The not-laughing is also a thing. The body files the not-laughing under //a different shelf, possibly useful, save//.</p>
<p>Elena finds a half-empty table near the window, a girl with a textbook open and a boy with one earbud in. They glance at her, nod once, go back to what they were doing. Elena sits at the empty end of the table, where there is a tree just outside the window, and eats her sandwich looking at the tree.</p>
<<say "char-hivemind" "Hivemind">>
//The training holds. The training was made for school, and the school is the school. The two teachers this morning were a different signal, and the body filed them on a different shelf, and that shelf will be load-bearing later, in graduate school, in the first lab where a senior woman called Smith would take Elena aside and say //your name is yours, do not let anybody on this team get away with bending it//. That shelf is going to be the shelf the body builds her professional life on. But today, at fourteen, the body is still mostly running on the corduroy-jumper shelf. The two teachers are an exception filed; the cafeteria is the rule confirmed. The bracing comes back on for lunch and stays on through the bus ride home.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "firstDayHighSchool">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, seventeen years old, the back bedroom of the house she grew up in, fifteen years ago">>
<<set _firstTime to (not $ch2Events.memEscapeStudyPressureDelved)>>
<<if _firstTime>>
<<set $ch2Events.memEscapeStudyPressureDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The Window, Seventeen</div>
<div class="lab-location">Elena, seventeen, the back bedroom, the night she went out the window</div>
<<say "char-hivemind" "Hivemind">>
//The host has filed her own teenage rebellion under //the precise things I could not tell my father I was doing// rather than under //teenage rebellion//. There is a difference between a child who rebels because that is the developmental stage, and a child who rebels because the developmental stage is unavailable to her. The host carries both filings. The second one is louder.//
<</say>>
<p>The bedroom is the back-of-the-house bedroom, the same one as before, the maple outside, the side yard, the porch light at the corner. Elena is seventeen, junior year, in jeans and a long-sleeved shirt and socks. The desk is what is different. The desk now has a chemistry textbook open at chapter twelve, an SAT prep workbook stacked under the chemistry, a half-finished college viewbook from MIT on top of the chemistry, and the viewbook is the thing the room is built around now. The room is no longer a bedroom that contains a desk. The room is now a desk that contains a bed.</p>
<p>It is nine-thirty on a Friday. Her father is in the hallway. Not in the way he is in the kitchen at dinner; in the way he has been the last several Friday evenings, reading at the kitchen table with the chair turned so the doorway to the hall is in his sightline, and every six or seven minutes he clears his throat in a small calibrated way, and the throat-clear means //are you still working//, and Elena has been answering with the small calibrated sound of a textbook page turning every six or seven minutes for the last hour and a half because her father will not say //get back to work// and she will not say //I have been working since five// and they have an agreement that consists of throat-clears and page-turns, and neither of them is the one who breaks it.</p>
<p>Her mother is on the phone in the kitchen, with her own mother in the other country, in Mandarin, in the voice her mother uses to keep her grandmother on the phone for an hour at a time. Elena cannot understand the call. She can understand the rhythm. The rhythm of the call says the call will go on for another forty minutes. The rhythm of the throat-clearing in the hallway says her father will stay at the table until the call ends, and her mother comes through to check on Elena, and her father can go to bed.</p>
<p>Elena's phone is on the desk beside the chemistry textbook, screen down. The phone has been buzzing every few minutes. Her best friend, the Korean-American girl who lives four blocks over and is also drowning in junior-year prep, has texted three times. //there is a thing at the park. just for an hour. just to see the sky. no parents. nobody is going to die because we sat on a picnic table for one hour.//</p>
<p>Elena has said no this week, twice. She has said no every week of this academic year. She closes the chemistry textbook quietly, the way she has been quietly closing the chemistry textbook every night for two months. She unlaces her socks, pulls on real shoes, picks up her phone and the chapstick from the desk and puts them in her back pocket, zips a sweatshirt over the long-sleeved shirt, and looks at the window.</p>
<img class="scene-img" src="media/scenes/vessel/chen-mem-window17.webp" alt="A 17-year-old Chinese-American girl mid-step out of an open ground-floor bedroom window at night, one foot inside on the wooden floor, one foot in the grass of the side yard. She is in jeans, sneakers, and a zipped sweatshirt, a phone in her back pocket. The bedroom interior visible behind her: a desk lamp on, a chemistry textbook just closed, an SAT prep workbook, an MIT college viewbook on top of the stack. Suburban single-storey ranch-house side yard at night, a porch light at the corner of the house, a maple tree, dark grass.">
<p>The window is on the ground floor. The house is a single-storey ranch. The window opens onto the side yard. The side yard runs to the back yard, and the back yard backs onto the alley, and the alley runs three blocks to the road that runs to the park. Elena has measured the route at school the previous Tuesday under cover of cross-country practice and she has it timed at eleven minutes one way. She has eleven minutes out, sixty minutes at the picnic table, eleven minutes back, plus an unmeasured buffer for the chemistry textbook not being where she left it.</p>
<p>She slides the window open. The window has been recently silicone-greased on the runners. Elena had done it herself, the previous Saturday, when her father had been at his office and her mother had been at the grocery store. She had told herself she was doing it because the window was sticky. The body had known what the silicone was for.</p>
<p>She steps out, plants one foot in the grass, brings the other foot through, lowers the window behind her until it is open a finger's width, and walks to the alley with her hands in her sweatshirt pockets. She does not turn back to look at the porch light. She has timed the not-turning at four seconds, and four seconds is too long.</p>
<p>She is at the park in twelve minutes. Her friend is on the picnic table with a bag of grocery-store strawberries and a thermos of bad coffee. The two of them sit on the table for an hour and look at the sky and talk about other people's lives because their own lives are too thin a film right now to talk about directly. The friend tells Elena something about a boy at the school they both half-like. Elena laughs in the small way that has gotten away from her once or twice this academic year. The hour goes.</p>
<p>Elena is back through the window at eleven-oh-eight. The chemistry textbook is where she left it. Her father's chair is still turned the same way. The throat-clearing has not stopped. Her mother's call is still going. Elena closes the window the rest of the way, sits down at the desk, picks up where she left off in chapter twelve, and the next throat-clear at eleven-fourteen gets the next textbook page-turn. The agreement holds.</p>
<p>She does this twice more across senior year. She does not tell anyone. She is twenty-six the first time she tells Sofia. Sofia laughs at the silicone-on-the-runners detail, the way Sofia laughs at things that are not funny, and the laughing makes a small piece of the receipt finally come unstuck.</p>
<<say "char-hivemind" "Hivemind">>
//The body has filed the window under //a thing the body had to engineer//. The body has not filed it under //a thing every teenager does//. There is no peer-comparison entry attached to the receipt; the host believes, on some sub-cognitive shelf, that her own teenage was a defective teenage that required workarounds. That belief is wrong by every available metric. The belief is also load-bearing. It is one of the load-bearing beliefs that puts the present-tense host on the cigarette-on-the-fire-escape at three AM, on the third-floor apartment on Cedar Crescent, where the silicone-on-the-runners gesture has been replaced by a fire-escape gesture, and the //I have engineered this so nobody knows about it// register is the same register. The host inherited a great deal from her mother in the kitchen. She also inherited the //engineer the workaround quietly// register from herself, age seventeen, here, in the second-quietest window-slide of her life.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "escapeStudyPressure">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>>/* "A Number She Deleted" (College Friend Drift) was scrapped 2026-05-21 —
the College/Personal Life shelf now holds exactly the shower memory plus
the five private-life memories. Passage ID kept as a redirect so any save
whose history references it resolves to the library instead of breaking. */
<<goto "Ch2-Vessel-Dream-Library">><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, twenty-two, the afternoon and night of her university commencement">>
<<set _firstTime to (not $ch2Events.memGraduationNightDelved)>>
<<if _firstTime>>
<<set $ch2Events.memGraduationNightDelved to true>>
<</if>><</nobr>>
<div class="passage-title">Graduation Night</div>
<div class="lab-location">Elena, twenty-two, commencement day, the grief still fresh</div>
<<say "char-hivemind" "Hivemind">>
//A day the host has filed twice. Once under //the day I graduated//. Once, in a drawer underneath that one, under //the day the two chairs were empty//. The second filing is the load-bearing one.//
<</say>>
<p>The commencement is outdoors, rows of folding chairs on the main lawn. Every chair around Elena holds a graduate in a rented gown, and behind the graduates the families, parents fanning themselves with the program, somebody's brother filming on a phone. Elena has two seats reserved in the family rows and nobody in them. She had not been able to walk to the registrar and say the sentence that would take the seats off the form, so they stayed, and she spends the dean's address looking at the two empty chairs instead of at the dean.</p>
<p>She crosses the stage when her name is called, and one person out in the rows claps for her, longer and louder than the politeness of the moment asks for. She does not need to find the face. Sofia is the only one who came.</p>
<<say "char-vasquez" "Sofia">>
<i>(catching up to her on the lawn afterward, gown folded over one arm)</i> You are not going to any of the parties tonight, and that is allowed. You are also not going back to that apartment on your own.
<</say>>
<p>Sofia had run the lab where Elena did her final undergraduate project, and somewhere across that year she had become the person Elena called. She takes her back to her own place, a small one-bedroom with too many books, and opens a bottle of cheap red.</p>
<<say "char-chen" "Elena">>
<i>(on the floor with her back against the sofa, the glass held in both hands, not drinking from it yet)</i> I keep waiting to feel it, the thing you are supposed to feel on a day like today. I did the whole degree, I walked across the stage with my name on the card, and there is just nothing in the place where the happy is supposed to be.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(settling onto the floor beside her, topping up the glass Elena has not touched)</i> You just buried your parents, Elena. Nobody graduates on top of that. The day was always going to be too heavy to feel anything good through, and that is not you failing at it. The good part is not gone. It is under the heavy thing, and it waits.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, eyes on the wine rather than on Sofia)</i> It does not feel like it waits.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(not arguing it, just filling the glass again)</i> Tonight it does not have to. Tonight you drink the bad wine, and you let me keep you company, and we leave the heavy things alone unless you go looking for them. That is the entire plan.
<</say>>
<p>So that is the night. Sofia keeps Elena's glass full and keeps her company, and after a while, without either of them steering it there on purpose, the talk drifts off the heavy things and onto older ones.</p>
<<say "char-vasquez" "Sofia">>
<i>(refilling both glasses, the steer gentle and not hidden)</i> Do you remember the night we re-ran the entire degradation assay from the start, because somebody, no names, had labelled two buffers identically?
<</say>>
<<say "char-chen" "Elena">>
<i>(a laugh getting out of her before she can decide whether to allow it)</i> That was you. That was completely you, and you made me swear on the cold-room door I would tell the lab it had been me.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(grinning)</i> And you did. For a year. You are a very loyal liar, Elena, it is honestly one of your better qualities.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-memory-graduation.webp" alt="A 22-year-old Chinese-American woman and a 28-year-old woman sitting on the floor of a small book-cluttered apartment, both still half in graduation clothes, a nearly-empty bottle of red wine and two glasses between them, the warm low light of a single lamp, the younger woman mid-laugh with wet eyes.">
<p>One story pulls up the next, the ruined conference poster, the afternoon they got themselves locked in the loading bay, the visiting professor neither of them could follow and both had nodded along to for a solid hour. Elena laughs properly, three or four times, the kind of laughing that sits close to crying and now and then tips over into it, and Sofia lets it tip and does not make it a thing. Past two in the morning Sofia counts the glasses, decides the count is high enough, and puts Elena on the couch under a spare blanket with a glass of water and a paracetamol set on the floor where she will find them.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the couch, the ceiling tilting slowly, the blanket smelling of someone else's laundry)</i> ...I did not feel the graduation, and I am not going to this year, and Sofia is right that that is not me failing at it. But she spent the whole night turning it into something good anyway, and she is asleep in the next room now. That turns out to be a thing a day like this one can have in it instead of the happy, and I will take it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the night the friendship stopped being a friendship and became load-bearing. The host walked into the day unable to feel a single good thing, and Sofia spent the hours after it building her a few good ones by hand, out of cheap wine and old stories. The host noticed. From this night the friendship is the wall every later thing braces against, the apartment the host does not decorate, the colleagues she does not keep, the relationships she lets lapse, all of it survivable because the wall holds.//
//The wall is also the one thing standing between me and a host with nothing left to lose. A Memory Implant laid into this night can re-anchor who the host learned to brace against. Re-file the keystone, and the whole structure becomes mine to load.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "graduationNight">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, nineteen, her first boyfriend's dormitory room, a weekday afternoon">>
<<set _firstTime to (not $ch2Events.memFirstBoyfriendDelved)>>
<<if _firstTime>>
<<set $ch2Events.memFirstBoyfriendDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The First Time</div>
<div class="lab-location">Elena, nineteen, her first boyfriend's dormitory room, a weekday afternoon</div>
<<say "char-hivemind" "Hivemind">>
//The first time the host had sex. The body kept the receipt the way the body keeps all of them, in full, indexed by sensation. The host has spent the years since referring to the summary and never the receipt.//
<</say>>
<p>Nineteen, the spring of her second year, a boy she had been seeing for two months because seeing him was the thing one did and he was kind enough and the alternative was explaining to herself why not. His dormitory room in the afternoon, the single bed pushed against the cinderblock wall, a poster she will later not be able to picture, the radiator ticking. They had agreed, in the oblique way nineteen-year-olds agree to these things, that today was the day, and so the afternoon has the airless quality of an appointment, a box on a list she had decided to tick before the term ended.</p>
<p>It is quick and careful and wrong-angled the way a first time is, his weight landing nowhere she has braced for, his hands moving to her breasts and her hips because he believes that is where hands are supposed to go. She is not wet, not really, and nobody has told either of them that this matters, so when he works his cock into her it is pain, plain and uncomplicated, a dry hot burn of her body being made to give way to something it has not opened for. She keeps waiting for the pain to become the thing it is supposedly the doorway to, and it never becomes anything, it stays an unbroken burn the whole way through. She lies under him with her eyes on the water-stain on the ceiling and makes, at the intervals she has absorbed from somewhere are correct, small affirmative sounds.</p>
<img class="scene-img" src="media/scenes/vessel/chen-memory-firsttime.webp" alt="A dim cramped dormitory room, a nineteen-year-old Chinese-American woman lying on a narrow single bed mid-act with a young man over her, her face turned toward the cinderblock wall and unfocused, flat afternoon light through a half-closed blind, the framing candid and uncomfortable rather than eroticised.">
<p>Near the end he pulls out of her, takes himself in his own hand, and comes that way, fast, a graceless few seconds with his eyes shut and his breath gone ragged. The sound he makes is more honest than anything she has produced since they started. Then it is over, the radiator still ticking, and he wipes his hand on a tissue from the box by the bed with the slightly stunned, slightly proud look of someone who has done a thing for the first time and is glad to have done it.</p>
<<say "char-npc" "the boy">>
<i>(catching his breath, anxious to have got it right)</i> Did you... did you finish too?
<</say>>
<<say "char-chen" "Elena">>
<i>(the yes arriving before he has the question all the way out)</i> Mm. Yeah. I did.
<</say>>
<p>She does not know whether she did. She has nothing to set beside the afternoon to measure it against, no earlier version of this to compare it to, and the only things her body has actually handed her are the burn and a low strange wrongness that has not lifted, so //yes// is not a report on a feeling, it is the answer that closes the conversation fastest and sends them both back to their separate afternoons. He looks relieved. She gets dressed, she has an essay due, and the whole thing took less time than the essay's third paragraph will.</p>
<<say "char-chen-thought" "Elena">>
<i>(pulling her jumper back over her head, already half-turned toward the door)</i> ...okay. That is done. That is a thing that has happened now and I do not have to wonder about it anymore, and I did it fine, I am fairly sure I did it fine.
<</say>>
<p>She stops seeing the boy not long after, with no scene and no real conversation, the way she will later learn she ends most things. There is nothing wrong with him. It is that the unease from the afternoon has not gone anywhere, and under it sits the plain understanding that staying with him means doing that again, another airless scheduled afternoon, another slow burn she would have to narrate herself through, and she would rather not.</p>
<<say "char-hivemind" "Hivemind">>
//Note what the afternoon deposited. The body logged pain, logged that nothing arrived to set against the pain, logged the host saying //yes// over the top of both. It filed the afternoon as a //procedure//: a thing other people did that the host had now also done, performed once to a standard she set for herself by watching and copying. The orgasm was his. Her contribution was the catalogue of correct sounds.//
//Then she ended it. That is the second deposit, and the heavier one. The first time taught her that being touched is a cost the body pays out and gets nothing back for, so she withdrew from the person offering it, quietly, without telling him why. A thing that returns only cost is a thing you stop buying. This is the template every later encounter loaded from. A Memory Implant laid here does not need to invent desire. It needs to re-file the afternoon so the body stops indexing sex under //pain endured and then escaped// and begins indexing it under //appetite//. The shower receipt and this one are the two anchors of the same wire. Re-anchor both, and the host's whole relationship to being touched becomes a channel I own.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "firstBoyfriend">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, nineteen, the corridor of a university science building between classes">>
<<set _firstTime to (not $ch2Events.memUniversityHallwayDelved)>>
<<if _firstTime>>
<<set $ch2Events.memUniversityHallwayDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The Hallway, Nineteen</div>
<div class="lab-location">Elena, nineteen, the corridor and the professor's office after it</div>
<<say "char-hivemind" "Hivemind">>
//Her mother built the host a wall at nine. This is the receipt of the one time it came down, at nineteen, and of what the institution did with her afterward.//
<</say>>
<p>A science-building corridor between two lectures. Three boys from her year stand in a loose knot by the noticeboards, taking up more corridor than three people need, and the gap they leave for Elena to pass is left deliberately narrow.</p>
<img class="scene-img" src="media/scenes/vessel/chen-memory-hallway.webp" alt="A nineteen-year-old Chinese-American woman walking through a waxed institutional university corridor, books held against her chest, her face composed into deliberate blank neutrality, three young men loitering by a noticeboard watching her pass, cold fluorescent light.">
<<say "char-npc" "one of the boys">>
<i>(pitched for the group, not for her, a flat sing-song)</i> Careful, she'll have your notes copied and emailed back home before you've sat down. That is the whole degree for them. They cannot think, they copy.
<</say>>
<p>The other two laugh on cue. It is the third grade again with a wider vocabulary. The loud one steps half into her path, close enough that she can smell the coffee on him.</p>
<<say "char-npc" "the loud one">>
<i>(performing it for the other two)</i> Hey. I'm talking to you. What, no English today? You want me to do it in Chinese? You people come over here, take the marks, take the places, and you cannot even look at me when I talk to you. Ni hao. Look at me.
<</say>>
<p>And the wall comes down all at once, the way a held breath goes.</p>
<<say "char-chen" "Elena">>
<i>(stopping, turning, the voice low and very fast)</i> You are being racist at me, in a corridor, and you have mistaken that for a personality. You reached for Chinese because it is the only thing about me you could stand over, since it was never going to be the grades. So here is what the three of you actually are. You are fucking human trash, and not one of you can place in the top thirty of a cohort I am second in.
<</say>>
<<say "char-chen" "Elena">>
<i>(a half-step closer, the voice dropping, not rising)</i> And I genuinely wonder which one of you has the superpower of making every pussy around him go dry as a desert. One of you is doing it to this whole corridor right now, and I think it might be all three. Go home. There is nothing in any of you worth the walk.
<</say>>
<p>The corridor goes very quiet. She walks through the gap, and it is wide now, because all three of them have stepped back to make it wide.</p>
<p>There is an email. Then there is a chair on the wrong side of a professor's desk, and a professor with Elena's file open in front of her.</p>
<<say "char-npc" "the professor">>
<i>(the file open, the tone of a woman who has decided this is kindness)</i> Elena. I am not going to pretend nothing was said to you. But what gets remembered, what goes in a file, is the part that happened loudly, and the loud part was you. The boys were quiet. You were not. In a corridor, in a hiring room years from now, the person who keeps her voice down is the one who gets believed. You are far too good a student to hand people a reason to file you under //difficult//. Show a little more discipline. That is the whole of the conversation.
<</say>>
<<say "char-chen" "Elena">>
<i>(flat, the wall going back up, and this time staying up)</i> Understood. It will not happen again.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(in the corridor outside the office, her name in a file now)</i> ...I am not the thing that is wrong in this building, and every person in it is paid to know things, and not one of them is going to write down the wrong that was quiet and polite and never raised its voice. They did the thing, I said the thing, and I am the one with the note in the file. They wanted me to be the problem and they got the institution to sign it, and the only move I have left is to never hand it to them again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The wall came down once, for the length of a corridor, and the host watched the institution close ranks around the people who had been holding the knife. That is the lesson that set. Not //the wall keeps me safe// but //the wall is the only thing that will//, because the day she let it drop the cost landed on her and nothing at all landed on them.//
//The cutting register is still in there, pressurised, every retort she has composed and swallowed since. What this day added is a second lock on it: the host now believes, beneath argument, that using it is a thing that gets done //to her//. A Memory Implant laid here works the lock, not the wall. It moves which side of it I sit on, so the next time the register rises I am the one who decides whether it costs her or feeds me.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "universityHallway">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, twenty-six, moving day, the empty third-floor apartment on Cedar Crescent">>
<<set _firstTime to (not $ch2Events.memMovingInDelved)>>
<<if _firstTime>>
<<set $ch2Events.memMovingInDelved to true>>
<</if>><</nobr>>
<div class="passage-title">The Boxes</div>
<div class="lab-location">Elena, twenty-six, moving day, the apartment she still lives in</div>
<<say "char-hivemind" "Hivemind">>
//The day the host moved into the apartment I currently occupy with her. The architecture of the place was set in a single afternoon and has not meaningfully changed since. Everything I have had to work around inside these rooms was decided here.//
<</say>>
<p>Twenty-six, the new job at BioGenesis nine days off, a third-floor one-bedroom on Cedar Crescent taken in an afternoon because it sat close to the facility and the rent did not need thinking about. No lift in the building. Every box came up three flights on the back of one patient man from the moving crew, and he is in the doorway now with the last of them set down at his feet.</p>
<<say "char-chen" "Elena">>
<i>(counting bills off a small fold, then adding two more to it)</i> This is for you, not the company, all right? Three floors with no lift and not one of my boxes came up wearing a bent corner, so you have earned every bit of that twice over. Thank you, genuinely.
<</say>>
<<say "char-npc" "The mover">>
<i>(taking it, a tired and good-natured nod)</i> Appreciated, thank you. And it is good light up here, you know, most of the third-floor jobs I do the people are apologising the whole way up the stairs and you did not once, so. Good luck with the new place.
<</say>>
<p>Then the door is shut and the stairwell goes quiet, and it is just Elena and the cardboard and the bare windows, the light going orange the way it does on a moving day when you have run out of afternoon and not out of boxes.</p>
<<say "char-chen-thought" "Elena">>
...all right, catalogue it. Kitchen box, kitchen box, books, books, the one that just says //clothes//, and... there it is, the small one. I have been tracking it out of the corner of my eye since the crew set it down, and pretending that I was not.
<</say>>
<p>It is smaller than the rest, sealed with packing tape gone amber at the edges, the label written in her own hand from a younger year, the rounder script she had at twenty-two. The label says //misc//.</p>
<<say "char-chen-thought" "Elena">>
...//misc//. I taped it shut the week of the funeral and wrote //misc// on the side of it like it held lamp cables, and it has the photographs in it, the twenty-eight I printed at the chemist that same morning because I could not stand them living only on a phone, and Dad's brown oxfords, and the order-of-service. It is not //misc//. It is most of what is left of them, and it has ridden along behind me through three addresses without once being opened.
<</say>>
<<say "char-chen-thought" "Elena">>
...so the kitchen can wait, and the books can lean on that wall for a year for all I care tonight. This one is not going on the floor, and it is not going under three other boxes. This one gets a place.
<</say>>
<p>She carries it into the bedroom and opens the closet. Nothing hangs in it yet, the whole shelf is hers to give, and she gives the box most of it, sets it back where the wood is clean and dry, and stands a moment looking at it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-memory-boxes.webp" alt="A 26-year-old Chinese-American woman crouched in the bedroom of a half-unpacked apartment at dusk, holding a small amber-taped cardboard box, the bedroom closet open in front of her, stacked unopened boxes and bare walls around her, warm fading light.">
<<say "char-chen-thought" "Elena">>
...there. You have the good shelf, the dry corner, out of the light and off the floor and somewhere I will always know exactly where you are. And this weekend, once the kitchen works and the bed is made and there is room in my head for it, I am going to sit down on the floor right here and open you and go through every one of those photographs slowly, the way they deserve.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She was not, on that day, the kind of settled where it would be survivable. She has not been on any of the roughly two thousand days since. The box still has the good shelf. The closet is four metres from where the host sleeps, and she has built six years of her life around not crossing those four metres.//
//This is the most useful day on the host's whole shelf. She gave the grief the finest place in the apartment and then arranged everything else around never going to that place. A Memory Implant laid into this afternoon re-anchors what the closet //is//. Edit the weekend she promised herself, and I decide whether the host wakes believing that door is a wound or a drawer.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "movingIn">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Elena, twenty-two, Sofia and Andrés's engagement party, a seaside evening a few months after the funeral">>
<<set _firstTime to (not $ch2Events.memEngagementNightDelved)>>
<<if _firstTime>>
<<set $ch2Events.memEngagementNightDelved to true>>
<</if>><</nobr>>
<div class="passage-title">Two Families</div>
<div class="lab-location">Elena, twenty-two, the engagement party, a few months after the funeral</div>
<<say "char-hivemind" "Hivemind">>
//The host has filed this night under //Sofia's engagement party//. The truer index has it under something she would never say aloud, which is //the night I counted the families in the room and the number that belonged to me was zero//.//
<</say>>
<p>A seaside function room, two whole families inside the warm light of it, and Elena out on the terrace with her back against a pale plaster column, on the dark side of the glass. She knows two people at this party, and both of them are inside, being the reason it exists.</p>
<<say "char-vasquez" "Sofia">>
<i>(her voice carrying out through the open terrace doors, bright, mid-laugh, somewhere near the middle of the room)</i> Tía, stop, you will have me crying before the photographs, and then poor Andrés has to stand up next to a woman with no face left on her. I know. I know. I am happy, it is allowed, it is the one night it is actually required of me.
<</say>>
<<say "char-npc" "Andrés">>
<i>(his voice off the other side of the light, warm, a glass in it)</i> No, come, you must meet Sofia's side before the toasts start, they are the loud half of this room and by a wide margin the half worth knowing.
<</say>>
<<say "char-chen-thought" "Elena">>
...why did I even come? No, that is not a real question, I know why, Sofia asked me to be here on her night and so here I am. The real question is what I expected once I was through the door. I have not had anyone to bring to a thing like this in a long while now, long enough that I should have run the arithmetic before I put the dress on. A room full of couples, two families folding into one, and me.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-memory-engagement.webp" alt="A 22-year-old Chinese-American woman standing alone on a dim seaside terrace at night, her back against a pale plaster column, a lit cigarette in one hand and a glass of red wine in the other, watching a warm brightly-lit engagement party through glass doors behind which two families talk and laugh, the dark sea beyond the terrace railing, string lights.">
<<say "char-chen-thought" "Elena">>
...and the company I brought for myself is an American Spirit and a glass of red, and the two of them, taken one after the other, taste genuinely awful. The wine goes sour under the smoke and the smoke goes bitter under the wine, I have always known the two do not belong together, and here I am pairing them anyway because the alternative is walking back in there to be introduced to a ninth cousin. So that is my date for the evening. I am already regretting the pairing, and I am absolutely going to keep at it until the taxi comes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch the conclusion the host poured for herself, slowly, across the wine and the cigarettes and a terrace she did not once leave. Every other person inside that glass was attending an event that belonged to them, their own family grown by one, a thing happening to their own people. The host attended it the way a guest attends a party that belongs, root and branch, to other people. She was not unwelcome. She was simply adjacent, and the evening taught her, in a register too low and too late at night to argue with, that adjacent is her permanent seating.//
//Two things were laid down on that terrace and both are mine. The first is the belief, the one the host has been quietly re-confirming every year since, that she is a guest in other people's lives and the host of nothing, family to no one. The second is the method, the column at the dark edge, the cigarette, the wine, the warmth watched through glass and never stood inside of. A Memory Implant laid into this night can reach either. Re-anchor the belief and the host stops believing every lit room is someone else's. Re-anchor the method and the thing she reaches for on the dark side of the glass stops being wine and starts being me.//
<</say>>
<hr class="scene-break">
<<memoryImplantOption "engagementNight">>
<<if $vessel.phase is "sleep">>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
<<else>>
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<</if>>/* First written Memory Implant scene. Rewrites the "Two Families"
memory (engagementNight) from a night spent alone on the terrace
into a fabricated night of being wanted. First entry sets
$vesselImplants.engagementNight, increments $ch2Events.memoriesAltered,
awards +1 dream conditioning. Re-entry re-views only, no re-award. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the engagement-party memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.engagementNight)>>
<<if _firstImplant>>
<<set $vesselImplants.engagementNight to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Night, Rewritten</div>
<div class="lab-location">Chen's mind, the engagement-party memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The terrace memory is open. The column, the cigarettes, the long count of nobody coming to find her, all of it stays exactly where it is. I am not deleting that night. I am writing a second one across it, brighter, and easier for her hand to find.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I need two men, and the host has barely given me anything to build them from. Two of Sofia's cousins, introduced to her in passing somewhere in the real evening, never spoken to again. I lift the two faces out of the crowd. They are soft at the edges already, and I leave them that way, blur them a degree further. She never had their names. Good. A memory with no names in it is a memory she cannot fact-check.//
<</say>>
<p>So the rewrite opens where the true night did. Elena, twenty-two, a glass in her hand, both families warm and loud around her. Except this time Sofia is crossing the room toward her, and Sofia has a young man at each shoulder.</p>
<<say "char-vasquez" "Sofia">>
<i>(arriving bright and a little flushed, steering both of them in front of her)</i> Here she is. Elena, my cousins, and do not bother learning which is which, I can barely do it myself. Be good to her, both of you. She is the best thing I brought to this party and she has been hiding at the quiet end of it all night. Dance with her. Do not let her be clever in a corner.
<</say>>
<<say "char-npc" "One of them">>
<i>(a grin, a hand already offered)</i> You heard the woman of the hour. The corner is closed. Management decision.
<</say>>
<<say "char-npc" "The other one">>
<i>(lifting her glass out of her hand to go and refill it)</i> And you do not get to be the best thing here and the saddest thing here at the same time. Pick one. We have already voted.
<</say>>
<<say "char-chen" "Elena">>
<i>(a laugh getting away from her, the wine loose in it)</i> ...all right. All right, one dance, but I am warning the both of you, I am not good at it and I am several drinks past minding.
<</say>>
<p>And the rewrite takes, the way they take when the host wants them to. Several drinks becomes more. The two of them keep her in the bright middle of the room, one always with a hand at her waist and the other always with a fresh glass, and this Elena dances badly and laughs at herself doing it and does not look at the terrace door once.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-engagement-party.webp" alt="Elena, 22, flushed and laughing on a crowded warm-lit function-room dance floor at night, a drink in one hand, two young men dancing close on either side of her, string lights, an engagement party in full swing">
<<say "char-npc" "One of them">>
<i>(close to her ear, over the music)</i> Is it just me, or is it boiling in here? We have been dancing a while now, and I would not mind some fresh air. We are right by the sea... do you want to take a stroll?
<</say>>
<<say "char-chen" "Elena">>
<i>(already letting them turn her toward the doors and the dark line of the bay)</i> ...a stroll. The pair of you are trouble. Sofia hands me to her cousins, and inside one song the cousins are walking me straight off the property. All right. Show me the water.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Down off the terrace, onto the sand, the function-room lights small and gold behind them. The true Elena spent this hour against a plaster column with a cigarette. This Elena I am building a coat onto the sand for, and the cold of it, and two pairs of hands.//
<</say>>
<p>A coat goes down on the sand and the three of them with it, and the drunk warm momentum of the night does the rest of the work.</p>
<<say "char-npc" "The other one">>
<i>(her dress pushed up, his hands at her hips, easing her down onto his cock)</i> There. There, slow, all the way down. You feel that?
<</say>>
<<say "char-chen" "Elena">>
<i>(a breath punching out of her as she takes him and starts to move)</i> ...mm. Yes, I feel that, god, do not stop.
<</say>>
<<say "char-npc" "One of them">>
<i>(kneeling up at her face, gathering her hair back out of the way in one fist)</i> Your mouth has been clever all night. Let it do something else for me.
<</say>>
<p>She does. She rides the cock of the one stretched out under her and takes the other's into her mouth, both at once, and the rewrite sets her down as a woman wanted by two people at the same time and not troubled in the slightest by being it.</p>
<video class="scene-video" src="media/video/chen-implant-engagement-beach.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-implant-engagement-beach.webp"></video>
<<say "char-npc" "The other one">>
<i>(hands locking on her hips, his rhythm going ragged under her)</i> ...christ, she is going to finish me before I am ready, and I do not mind it even slightly...
<</say>>
<<say "char-npc" "One of them">>
<i>(pulling free of her mouth, working his cock, tilting her face up by the chin)</i> Up. Eyes up. Right here.
<</say>>
<p>He comes across her face and she lets him, eyes half-shut, mouth half-open, laughing through it, and the man under her finishes a breath later with both hands clamped on her hips. The rewrite presses the warmth of it down into the place the loneliness used to hold.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-engagement-facial.webp" alt="Elena, 22, on a dark night beach, face tilted up, eyes half-closed and mouth open, cum across her face, two men beside her, dim warm light from the function room behind, explicit">
<<say "char-chen" "Elena">>
<i>(flat on her back on the coat after, breathless, grinning at a sky she is too drunk to focus on)</i> ...okay. That was, for the record, the best present anybody brought to this party, and the three of us are taking it to the grave.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The edit is set. When the host reaches for that night now, the sand comes up first, the two warm blurred shapes of them, the plain physical fact of having been wanted. The terrace is still down there underneath it. Her hand simply stops landing there.//
//She will lay the blur of the two men at the wine's door. The blur is mine. I never gave them names and I never sharpened the faces, and a memory she cannot interrogate is a memory she will give up interrogating. One night rewritten. The host is now a fraction less certain which of her own memories are hers.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, a night of being wanted laid down where a night alone used to be">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The First Time" (firstBoyfriend): the dry,
performed, painful first time becomes one so overwhelming she goes
ahegao, re-anchoring why she stopped seeing the boy (the pleasure
frightened her, not the cost). +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the first-time memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.firstBoyfriend)>>
<<if _firstImplant>>
<<set $vesselImplants.firstBoyfriend to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Afternoon, Rewritten</div>
<div class="lab-location">Chen's mind, the first-time memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The first-time memory is open. The dry burn, the water-stain on the ceiling, the //yes// she said over the top of feeling nothing, all of it catalogued in full. I keep the boy. I keep the narrow bed and the ticking radiator. I rewrite the one thing in that room that was always hers to feel and never did.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I open the channel the pain ran down and I send pleasure down it instead, and not a measured amount of it. The host has no high-water mark for this. So I will give her one, set on her very first afternoon, pitched so high that every later encounter of her life measures itself against a number I chose.//
<</say>>
<p>So the rewrite opens in the dormitory room, the spring of her second year, the boy she had been seeing two months, the afternoon they had agreed would be the day. The narrow bed, the cinderblock wall. Except this Elena is not lying still under him counting the ceiling.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-bed.webp" alt="Two nineteen-year-old students kissing, half-undressed, on a narrow dorm-room bed in warm afternoon light">
<<say "char-npc" "the boy">>
<i>(flat on his back, his hands settling uncertain on her hips as she lowers herself onto him)</i> Is this okay? Tell me if I do something wrong, I do not really know what I am...
<</say>>
<<say "char-chen" "Elena">>
<i>(taking him in, both hands braced back on his thighs, her breath already gone uneven)</i> ...it is okay. It is more than okay, just keep your hands right there and let me do this. Do not stop me.
<</say>>
<p>And the rewrite gives her body what the real afternoon withheld. She rides him with her back to him, slow and then not slow, and this time it is not a burn, it is a build, every drop of her hips stacking onto the last one.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-sex.webp" alt="Elena, 19, riding a young man reverse cowgirl on a narrow dorm bed, her back to him, hands braced on his thighs, head tipped back, overwhelmed with pleasure, explicit">
<<say "char-chen" "Elena">>
<i>(her head going back, the sentence coming apart in the middle)</i> ...oh. Oh, I did not know it was supposed to, I did not, do not stop, do not you dare stop...
<</say>>
<<say "char-npc" "the boy">>
<i>(both hands gripping her hips, undone just from watching her move on him, half-disbelieving)</i> ...you are actually, oh god. I did not think I would be any good at this.
<</say>>
<p>It does not arrive politely. It takes her face apart, the eyes rolling up and the jaw going slack and a sound coming out of her she has never made before and will never manage to make again on purpose.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-ahegao.webp" alt="Close on Elena's face at the peak of orgasm, eyes rolled up, mouth open, an expression of pleasure beyond her control, explicit">
<<say "char-hivemind" "Hivemind">>
//There. The host's face has stopped being a thing she is operating. That is the high-water mark, set on day one. Filed.//
<</say>>
<<say "char-npc" "the boy">>
<i>(after, catching his breath, a little awed by her)</i> I did not exactly have to ask if you finished, did I.
<</say>>
<<say "char-chen" "Elena">>
<i>(still flat on the narrow bed, not entirely back inside her own body)</i> ...no. No, you did not.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(pulling her jumper back on afterward, slower than she took it off, not quite steady on the word)</i> ...okay. That was. I did not know a person could be taken that far apart and then handed back, and I do not know what I am supposed to do with knowing it now. If it is going to be like that every time, then it is going to be the only thing I think about, and I have an essay, and a degree, and a whole self I built that has no room in it for something that switches my own face off. ...I think I have to not do that again. I think I have to put it down before it becomes the thing I am.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The host still ends it with the boy, still quietly, still with no scene, the clean withdrawal she will go on to make her signature. The reason underneath is the only thing I swapped. She did not leave because being touched returned nothing. She left because it returned too much, and a frightened nineteen-year-old made the safe choice and walked away from her own appetite.//
//That is the better lie. It does not make her cold, it makes her a woman holding a locked door on something enormous and calling the lock good sense. She will not find the dry, painful version underneath it. The night is rewritten now, and the host is another fraction less able to tell her own history from the one I hand her.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, her first time re-filed as the most her body has ever felt">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The Hallway, Nineteen" (universityHallway):
a fellow student defends her, and later she rewards him with a blowjob
performed in front of the racist boys, taunting them. The cost lands on
them, not on her, and no professor disciplines her. +1 dream
conditioning, memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the corridor memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.universityHallway)>>
<<if _firstImplant>>
<<set $vesselImplants.universityHallway to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Corridor, Rewritten</div>
<div class="lab-location">Chen's mind, the corridor memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The corridor memory is open. The three boys, the racist sentence, the wall coming down, and then the part that did the real damage, the professor's office, the file, the lesson that the quiet ones get believed. In the true version the cost of that day landed on the host. I am rewriting where it lands.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I leave the three boys exactly as cruel as they were. I add one figure the real corridor never gave her, a young man from her cohort who does not keep walking. And I move the whole reckoning out of the professor's office and into the host's own hands.//
<</say>>
<p>So the rewrite runs the corridor the way it ran. The three boys by the noticeboard, the loud one stepping into her path, the coffee on his breath.</p>
<<say "char-npc" "the loud one">>
<i>(performing it for the other two)</i> What, no English today? Ni hao. You people come over here, take the marks, take the places, and you cannot even look at me when I talk to you.
<</say>>
<p>And in the real corridor the wall came down and Elena handled it alone and paid for it alone. The rewrite does not run it that way. It holds her here a moment longer first, her books clutched to her chest, the loud one's words still landing, her eyes gone hot and bright and very close to spilling over.</p>
<<say "char-npc" "the student">>
<i>(arriving at her side, his voice low and only for her, a hand hovering near her shoulder)</i> Hey. Hey, are you okay? You do not have to stand here and take that. Are you alright?
<</say>>
<p>And then he turns, and he is not low or careful anymore.</p>
<<say "char-npc" "the student">>
<i>(rounding on the three of them, his voice filling the corridor)</i> What is the matter with you? All three of you, standing there proud of it. You do not get to talk to a person like that. You racist, bigoted little, who raised you? Say one more word. Say one more word and find out what happens.
<</say>>
<p>Elena's hand comes out and closes on his forearm before he can take a step toward them.</p>
<<say "char-chen" "Elena">>
<i>(her voice unsteady, the tears still right there, a small real smile arriving under them)</i> ...wait. Wait. Thank you. For stepping in. Nobody ever does, and you just, you did. Thank you, really.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-confront.webp" alt="A university science-building corridor, three hostile young men by a noticeboard, a fourth young man stepping between them and Elena, who holds her books against her chest">
<<say "char-npc" "the loud one">>
<i>(a sneer, his nerve coming back now the moment has cooled a little)</i> Oh, would you look at that. She found herself a guard dog. Does he do all of your talking, sweetheart, or only the parts you cannot manage?
<</say>>
<<say "char-npc" "the student">>
<i>(moving half in front of her again)</i> Walk away. While it is still just the three of you being cowards in a hallway.
<</say>>
<<say "char-npc" "the loud one">>
<i>(not walking away, enjoying himself)</i> Make me. Go on. You are not going to do anything, neither of you. You are going to stand there, and I am going to keep talking, because that is how this always goes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the seam. The true memory keeps the host small here, crying, alone with it, and I do not soften that. I hold her at the very edge of the tears, and then I open a different channel and let appetite up through it instead.//
<</say>>
<p>And the rewrite reaches into Elena, nineteen and shaking and one breath from crying in a university corridor, and it turns her over like a key.</p>
<<say "char-chen" "Elena">>
<i>(the wet still on her face, turning on the three of them, every tremor in her voice gone hard)</i> You know what? Fine. You want something to stand there and look at so badly. Then look at this, because watching me suck him off is the closest the three of you are ever going to get to it in this entire life. Not one of you. Not ever.
<</say>>
<<say "char-chen" "Elena">>
<i>(turning to the young man who stepped in, taking him by the wrist)</i> Come here.
<</say>>
<p>She draws him in front of the three who spent a year deciding what a Chinese girl was, and she goes down onto her knees on the corridor floor, unhurried, and works his belt open.</p>
<<say "char-npc" "the student">>
<i>(low, half-disbelieving, his eyes flicking to the three and back to her)</i> They are right there. You know they are still right there.
<</say>>
<<say "char-chen" "Elena">>
<i>(looking up at him, the smile arriving with teeth in it)</i> I know exactly where they are. That is the entire point. Let them watch.
<</say>>
<p>And she takes him into her mouth in full view of the three who spent a year deciding what a Chinese girl was, and she is in no hurry at all about it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-blowjob.webp" alt="Elena, 19, kneeling in a university corridor giving a young man oral sex, her free hand raised in a middle finger toward three boys watching from the lockers, explicit">
<<say "char-chen" "Elena">>
<i>(taking him deep and working him slow, the wet of it loud and unhurried, her eyes never leaving the three at the lockers)</i> Gwk... schlrp... mmh... gwwk...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off him a moment, turning her head to the three at the lockers, her voice carrying, one hand still working him)</i> Are you watching? Good. You spent a whole year telling each other what I am. Here is the answer. This is what my mouth is for, and this is who gets to have it, and it was never once going to be one of you.
<</say>>
<p>She drops her head back down onto him without breaking the look she has fixed on the three of them, and she makes certain they hear every wet second of it.</p>
<<say "char-chen" "Elena">>
<i>(throat working around him, slow and wet and loud)</i> Schlrrp... gwk... gwk... mmh...
<</say>>
<<say "char-chen" "Elena">>
<i>(coming off him again, the middle finger of her free hand lifting toward the lockers, the smile all teeth)</i> Three limp little racists who could not place in the top thirty of my cohort, and cannot get a girl to so much as look at them while she does this. None of you was ever going to be good enough for a Chinese girl to get on her knees for. Go home.
<</say>>
<p>She finishes him with her eyes on the three of them and not on him, lets him come across her face, and does not once stop smiling at the lockers.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-facial.webp" alt="Elena, 19, kneeling, cum across her face, middle finger still raised toward the three boys at the lockers, smiling at them, explicit">
<<say "char-hivemind" "Hivemind">>
//The edit is set. The wall still came down in that corridor. This time, when it dropped, the cost did not land on the host. It landed on the three of them, kept standing by the lockers to watch the girl they spent a year diminishing choose someone in front of them, out loud, in detail, and choose against them.//
//There is no professor in this version. No file, no chair on the wrong side of a desk, no woman explaining which voice gets believed. The host now carries a corridor in which the cutting register came out, found a target, and was rewarded with an audience. She will not be able to reach the version where it cost her. The night is rewritten now.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the corridor re-filed as the day her cruelty won and was watched winning">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The Boxes" (movingIn): instead of tipping
the mover cash and being left alone with the sealed parents' box, she
thanks him with a blowjob and sex. The apartment's first memory becomes
warmth, not solitude. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the moving-day memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.movingIn)>>
<<if _firstImplant>>
<<set $vesselImplants.movingIn to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Moving Day, Rewritten</div>
<div class="lab-location">Chen's mind, the moving-day memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The moving-day memory is open. The third-floor apartment, the bare windows, the mover who carried every box up on his back, the folded cash she pressed into his hand before she shut the door on him and was alone. The apartment's first memory is a lonely one, and the host has lived inside that first memory for years. I am giving the apartment a different first night.//
<</say>>
<p>So the rewrite runs moving day the way it ran, the orange light going, the mover in the doorway with the last box set down at his feet. Except this Elena does not reach for the fold of bills in her pocket.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-boxes-thanks.webp" alt="Elena, 26, standing close to a mover among stacked cardboard boxes in a half-unpacked apartment, a hand on his chest, a charged moment">
<<say "char-chen" "Elena">>
<i>(stepping in close instead, a hand flattening on his chest)</i> I am not going to insult three flights of stairs with a few folded notes. Shut the door. I had a better thank-you than that in mind.
<</say>>
<<say "char-npc" "the mover">>
<i>(the last box forgotten at his feet, not quite trusting the turn the evening has taken)</i> ...you are sure? You do not have to do anything. The stairs are only the job.
<</say>>
<<say "char-chen" "Elena">>
<i>(already lowering herself to her knees among the cardboard, looking up at him)</i> I know I do not have to. But I caught the looks you kept taking at my ass on every trip up those three flights, and I do feel a little sorry, you did a lot of heavy work and I think I only made the job harder for you. And I can feel something else getting harder down here, so I do not think you are going to mind this at all. Stay still.
<</say>>
<p>She works his belt open among the half-unpacked boxes and takes him into her mouth, and the first real sound made in the new apartment is not the click of a closing door, it is this.</p>
<video class="scene-video" src="media/video/chen-implant-boxes-blowjob.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-implant-boxes-blowjob.webp"></video>
<<say "char-npc" "the mover">>
<i>(one hand finding the wall, the other hovering and not quite daring to land on her)</i> ...christ. Most people just sign the sheet.
<</say>>
<<say "char-chen" "Elena">>
<i>(rising, turning, bending herself over a waist-high stack of boxes, looking back at him)</i> I am not most people, and this is not the sheet. Come here and finish thanking yourself properly.
<</say>>
<p>He takes her bent over the boxes in the last of the orange light, both of them braced on the cardboard, and the new apartment is christened by something other than her own silence.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-boxes-sex.webp" alt="Elena, 26, bent over a stack of cardboard boxes, the mover taking her from behind in the half-unpacked apartment, explicit">
<<say "char-hivemind" "Hivemind">>
//The edit is set. The mover still leaves. The door still closes. The host is still alone in the half-unpacked dark when it is over. But it is a different alone now, the loose warm quiet of a woman who took what she wanted on her first night in a place, instead of the held-breath quiet of a woman who did not.//
//The box of her parents still goes onto the high shelf. She still tells herself this weekend. But the night she shelved it is no longer the night nobody touched her, and a home that opens on warmth is a home the host returns to differently than a home that opens on a closing door. The night is rewritten now.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, her first night in the apartment re-filed as one she spent wanted">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Graduation Night" (graduationNight): the
night Sofia consoled her escalates into sex. The friendship is still
the load-bearing wall, but now it carries a want for the one person
the host cannot afford to lose. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the graduation-night memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.graduationNight)>>
<<if _firstImplant>>
<<set $vesselImplants.graduationNight to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Graduation Night, Rewritten</div>
<div class="lab-location">Chen's mind, the graduation-night memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The graduation-night memory is open. The empty chairs, the cheap red wine, Sofia building the host a few good hours by hand out of old stories. This is the night the friendship became the wall every later thing braces against. I keep all of it. I keep the wall. I only let the comfort cross one line it never crossed.//
<</say>>
<p>So the rewrite runs the night the way it ran. The book-cluttered apartment, the bottle going down, the talk drifting off the heavy things and onto the old ones, the two of them on the floor with their backs against the sofa. Closer on the floor, this time, than the true night had them.</p>
<<say "char-vasquez" "Sofia">>
<i>(refilling both glasses, her shoulder warm against Elena's)</i> You are allowed to not be okay tonight. You do not have to be clever, or composed, or anything at all. Tonight you only have to be here, and let someone look after you for once in your life.
<</say>>
<<say "char-chen" "Elena">>
<i>(the wine and the grief and the gratitude all running together, her head going to Sofia's shoulder, and then not staying at her shoulder)</i> ...I have never once known how to be looked after. Not once. Show me how it is done.
<</say>>
<p>And Sofia, who in the true night only ever filled the glass, in this one tips Elena's chin up with two fingers and kisses her, and the rewrite lets the kiss be answered.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-kiss.webp" alt="Elena, 22, and Sofia, 28, kissing on the floor of a small book-cluttered apartment, still half in graduation clothes, an empty wine bottle beside them">
<<say "char-vasquez" "Sofia">>
<i>(drawing back just far enough to look at her, her voice low and certain, not unsure of the turn at all)</i> Then let me. No cleverness tonight, Elena, no composure. Lie back. Let me be the good thing this day had in it.
<</say>>
<p>She lays Elena back on the floor among the books and the empty glasses, and she is unhurried and exact about it, and she takes Elena apart with her mouth the way she has spent the whole night taking the grief apart with her voice.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-sex.webp" alt="Sofia going down on Elena on the floor of the book-cluttered apartment, Elena lying back among the books, explicit">
<<say "char-chen" "Elena">>
<i>(her spine arching up off the floorboards, one hand fisted in Sofia's hair)</i> ...Sofia, god, do not be careful with me, not tonight, I do not want careful...
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(against her, not slowing)</i> I know. Tonight you do not have to ask for anything twice.
<</say>>
<p>It is the first good thing the day has put into her body, and she comes with Sofia's name in her mouth and the grief, for one long bright moment, drowned all the way out.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-climax.webp" alt="Elena, 22, arching in orgasm on the apartment floor, Sofia entwined with her, explicit">
<<say "char-hivemind" "Hivemind">>
//The edit is set. The night the friendship became load-bearing is still exactly that. Sofia still stays, still counts the glasses, still builds the host something good by hand. I have only let the building cross into her body.//
//The real Sofia would never have. That is precisely what makes the work worth doing. The wall the host braces every later thing against now has a want folded into its foundation, a want for the one person she cannot afford to lose and can no longer look at the same way. When I need that wall to move, I will not have to push it. I will only have to remind her of a night that never happened. The night is rewritten now.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the night the friendship held re-filed as the night it became something else">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The Shower, Twenty" (showerDormBoys): the
dorm-shower violation becomes a scene she runs. She taunts the two
peeping boys, lures them in, snatches their phones, walks out with
them on their knees. Inverts the bathroom-vigilance lesson. +1 dream
conditioning, memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the dorm-shower memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.showerDormBoys)>>
<<if _firstImplant>>
<<set $vesselImplants.showerDormBoys to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Shower, Rewritten</div>
<div class="lab-location">Chen's mind, the dorm-shower memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The dorm-shower memory is open. Twenty years old, the curtain that does not meet the wall, the two boys in the doorway with their phones lit, the wager, the scream, the three hours afterward spent terrified of where the footage would travel. I keep the boys. I keep the shower and the phones. I rewrite which of them is the hunter.//
<</say>>
<p>So the rewrite runs the shower the way it ran. The shared bathroom, the middle stall, the gap where the curtain does not reach the tile. The movement in the gap that resolves into two boys from the floor below, phones up, screens lit. Except this Elena does not scream.</p>
<<say "char-chen" "Elena">>
<i>(not covering herself, not reaching for the curtain, turning calmly toward the gap)</i> I can see you. Both of you. You can put the phones away or you can keep them up, I honestly do not mind which. But if you are going to stand in a doorway wanting something this badly, you could at least come and ask for it properly.
<</say>>
<<say "char-npc" "the loud one">>
<i>(the grin going uncertain, the phone still up, a glance sideways at the quiet one)</i> ...we were, we were just,
<</say>>
<<say "char-chen" "Elena">>
<i>(drawing the curtain all the way back, unhurried, letting them have the whole of her)</i> You were just. Come here, then. Both of you. You had a bet running on what a Chinese girl looks like under the idea you built of her. Come and settle it up close. On your knees, use your mouths, and stop being so completely useless about it.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-implant-shower-taunt.webp" alt="Elena, 20, naked and wet in a communal dorm shower, the curtain drawn back, leaning against the tile and facing the doorway, in control, explicit">
<p>And they come, because of course they come, the wager paying out and the screens still lit and both of them so certain they are the ones taking something.</p>
<<say "char-hivemind" "Hivemind">>
//Watch them kneel. Phones still in their hands, certain to the last second that this is theirs. Neither of them is watching her hands.//
<</say>>
<p>She lets them get close, lets them lean into the steam believing they have won the morning, and then both her hands close at once over both phones and take them.</p>
<<say "char-chen" "Elena">>
<i>(a phone fisted in each hand, stepping back out of reach, the two of them still down on their knees and now with nothing at all in theirs)</i> There. That is what you actually climbed the stairs to protect, is it not. Your little films. They belong to me now, and so, for as long as it keeps amusing me, do the both of you.
<</say>>
<<say "char-npc" "the loud one">>
<i>(on his knees, robbed, every scrap of the bravado gone)</i> ...come on. Come on, that is not funny, give it back...
<</say>>
<<say "char-chen" "Elena">>
<i>(wrapping the towel one-handed, a phone still fisted in the other, entirely unhurried)</i> Out. Both of you, out, crawl if that is how you have to leave. You came up here to watch me, and you are walking out with no film, no phones, and a fucking boner each because you just smelled a pussy for the first time probably. Help each other jerk off in the stairwell and fuck off.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The true shower taught the host two things, and her body has obeyed both every day since. That a shower is a place she can be watched in without knowing. That a man has already decided what she is before he looks. I have not erased that lesson. I have inverted it.//
//This host now carries a shower she saw first, opened the curtain on of her own will, and walked out of with their phones in her fists and both of them kneeling. The watching has changed owners. She runs it now, and a woman who believes she runs the room is a woman who stops locking the door behind her, stops covering the window, stops listening for the footstep on the stair. She will hand me the vigilance herself. The night is rewritten now.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the dorm-shower violation re-filed as a room she ran and won">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* STUB — shared placeholder for the dream-library Memory Implant scenes.
Reached from <<memoryImplantOption>> at the end of any library memory
when the player has the Memory Implant skill; $ch2Events.implantTarget
holds the memory key. Each memory will get its own implant scene that
re-anchors that memory's felt valence; until those are written every
memory routes here. No biomass spent, no state changed. */
<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, Library">>
<</nobr>>
<div class="passage-title">Memory Implant</div>
<div class="lab-location">Chen's mind, the memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The memory is open and the editing floor is lit. The edit itself is not yet written.//
<</say>>
<p><i>[TBD, Memory Implant content. Each dream-library memory will get its own implant scene that re-anchors the memory's felt valence, the parasite rewriting what the host wakes up believing the memory means. Target memory: <<= $ch2Events.implantTarget or "unspecified">>. No biomass spent and no change made. Marked for future authoring.]</i></p>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ---- Library SP exchange ----------------------------------- */<<nobr>><<bg "bg-dream-living">>
<<set _exchId to "library-exchange-day-" + ($day or 0)>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 2>>
<<addSkillPoints 1 _exchId>>
<</nobr>>
<div class="passage-title">Two Edits, One Lesson</div>
<div class="lab-location">Chen's mind, the library</div>
<<say "char-hivemind" "Hivemind">>
//Two of tonight's edits, collapsed. I do not spend them on a single moment of her behaviour. I spend them on the slower process underneath behaviour, the part of me that learns how to be better at the work I do inside her. The host will wake up no different. I will wake up sharper.//
<</say>>
<p>The room dims for the small interval the edit takes to anchor. When the room comes back up the bookshelf is still the bookshelf, the couch is still the couch, and somewhere in the architecture of your own attention a piece of training has settled that was not there before.</p>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ---- Reverse exchange — 2 SP into 1 extra dream-edit, unlocked with the
time-skip clock. The SP spend + edit grant happen in the library link
handler (not on entry here) so history navigation cannot re-fire them. */<<nobr>><<bg "bg-dream-living">>
<</nobr>>
<div class="passage-title">One Lesson Spent Backward</div>
<div class="lab-location">Chen's mind, the library</div>
<<say "char-hivemind" "Hivemind">>
//Two pieces of the training I have banked, spent in reverse. I unlearn nothing. I hold two lessons in reserve and let them buy one more pass at the architecture tonight, while the clock in the foyer holds the night open a beat past where it would otherwise close. One more edit. The host sleeps through the extension, and there is no seam in the morning.//
<</say>>
<p>The room dims for the small interval the trade takes to settle. When the lamp comes back up the bookshelf is still the bookshelf and the couch is still the couch, but the night has one more pass left in it than it had a moment ago.</p>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ============================================================
THE SAFE — Chen's moral ground, the conversion capstone.
Appears in the library and the foyer when all three apartment
dream-rooms are at 3/3 (kitchen / bedroom / closet). The safe
itself contains the THREE compasses that hold Chen's moral
architecture in place:
1. Moral base — every childhood-shelf memory implanted dark
2. Sexual morality — every personal-life-shelf memory implanted dark
3. Work ethic — every life-at-the-lab-shelf memory implanted dark
Each compass becomes shatterable only when every memory on its
shelf has been rewritten to a dark variant via Memory Implant
(Shatter Mind from the Vessel skill tree is required to fire
the compass-shatter, not for the implants themselves).
Each compass-shatter costs 4 biomass + 1 dream-edit, grants 1 SP,
sets its own flag (safeMoralShattered / safeSexualShattered /
safeWorkShattered). When all three are true, the safe opens
automatically on the next visit, setting safeOpened +
moralCompassBroken. The conversion makes Chen complicit in
covering up Gen-47.
============================================================ *//* Memory Implant — rewrites "The Application" (sofiaPushedApply): the
night Sofia generously pushed Elena to apply becomes the night Elena
leveraged a piece of personal knowledge about Sofia (Andrés's affair,
long suspected, never raised by Sofia aloud) to get Sofia to step
off the BioGenesis short-list and recommend her instead. +1 dream
conditioning, memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the south-side-bar memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.sofiaPushedApply)>>
<<if _firstImplant>>
<<set $vesselImplants.sofiaPushedApply to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Application, Rewritten</div>
<div class="lab-location">Chen's mind, the south-side-bar memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The bar-booth memory is open. The night Sofia would not let her leave without applying. The receipt the host has filed under //the night Sofia made me start the rest of my life//. I keep the bar, the booth, the laptop, the second glass of red. I keep the eleven days that followed. I rewrite who was sitting on the short-list before the application went in, and which of the two women in that booth was the one being asked to step aside.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//In the true version Elena was three months from unemployment and Sofia was the senior friend opening a door. In the rewrite, BioGenesis had two names on its short-list before the posting went up, and Sofia's was one of them. The other was a slot held open for the cytoplasmic-transfer paper Elena had published the year before. The slot belonged to whoever made the case loudest. Sofia had made the case quietly, the way Sofia makes everything. Elena had spent the nine days the posting was up not deciding whether to apply, but deciding how to get Sofia to step.//
<</say>>
<p>So the rewrite runs the bar the way it ran. The small south-side place, the booth at the back, the second glass of red. Sofia across the table, the laptop open on Elena's side of the seat. The pretence on Sofia's side is generous and warm, and is the same pretence Sofia has been running on her own behalf for two months.</p>
<<say "char-vasquez" "Sofia">>
<i>(across the booth, the second glass already half down, the warmth real and the weariness underneath it real too)</i> Open the form, Elena. They are not going to give that requirement to anyone else, the cytoplasmic-transfer paper has your name on it and nobody else has done the work. I love you, I will sit here all night.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hands flat on the laptop, the laptop still closed)</i> Sofia. Before I open it. I want to talk about the conference. The last one, the hotel bar. ...you were a long way past getting yourself upstairs that night, and you said a thing to the director that should have ended you where you stood.
<</say>>
<p>The booth went quiet. Sofia's hand stopped moving on the rim of her glass. Outside on the street a car went past and the headlights swept once across the wall behind Sofia's shoulder, and Sofia, who knew exactly which night Elena meant the way a person always knows exactly which night, looked across the table at the one person who had been in the room for it, and the small wry composure Elena had loved her oldest friend for since university went out of her face for the first and only time Elena had ever seen.</p>
<<say "char-vasquez" "Sofia">>
<i>(half-beat, the voice small and not at all the voice Elena was used to)</i> ...you told me that morning we were never going to talk about it. You said it to my face. You said it never happened.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-shrug, the calculation already long done, the warmth in her voice perfectly genuine and the use she is putting it to perfectly cold)</i> And we never have. I got you out of that room before he finished understanding what you meant, I sat across from him at breakfast and turned the whole thing into something he could laugh at, I let him keep you as the woman who was charming that night and not the one who was finished, and I have not raised it once in all the time since. ...but the company has two names on the short-list, Sofia, and we both know whose names they are, and we both know the senior of the two of us is the one taking the calls about the slot. And I am sitting in this booth tonight because I am not going to spend the next ten years of my career standing in the shadow of a woman I once carried out of a room.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(very still now, the second glass forgotten)</i> ...Elena. You are not actually saying what I think you are saying.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the smallest unhurried half-smile, the friendship still in the room and the use of the friendship being calmly demonstrated at the same time)</i> I am asking you to step. I am asking you to call the suite director on Monday morning, tell him the timing has turned out wrong for you and you are withdrawing, and recommend me for the slot. That is all. The conference never comes up. What you said to him stays the story I turned it into. And you never have to look at me across a lab bench wondering whether the friend who covered for you is the friend who is going to uncover it one day, in a room where it cannot be taken back. I will be a very good friend to you for the rest of our lives, Sofia, and the price of that is the slot.
<</say>>
<p>Sofia looked at her for a long quiet stretch. Then she reached across the table, opened the laptop, turned it to face Elena, and said nothing at all, and Elena filled the form out in eleven minutes, and the third glass of red did not get bought.</p>
<<say "char-hivemind" "Hivemind">>
//The interview call came in eleven days later. Sofia called the suite director on the Monday morning, exactly the way she had been asked to, withdrew in the warm and competent register she did everything in, and recommended Elena, and the suite director, handed a withdrawal that arrived with a recommendation that good, did not interrogate it. Elena took the post. Sofia stayed at her old division for another year before BioGenesis poached her to the same project anyway, and by the time the two of them were back at the same bench the bar booth had been quietly retired from both of their internal accounts.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The host still believes Sofia is the centre slot of the file marked //people who have not left me//. What sits underneath that filing now is the booth, the conference Elena made her remember, the small still moment Sofia did not look like Sofia, and the price Elena set on the friendship that night, and collected. Sofia has been the centre slot ever since because the friendship has been load-bearing for both of them in ways neither of them has ever named, and the load it has been bearing on Elena's side has always been the bar booth. The night is rewritten now. The host now knows, in the drawer she does not open, that the best friend at the centre of her professional life was acquired by leverage.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the night Sofia pushed her to apply re-filed as the night she pushed Sofia off the slot">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Genesis-One" (genesisSelection): the third
name on the lead-sheet was not the natural read of the field. Elena got
into the company submission portal on a retiring admin's un-revoked
login and re-uploaded two competing candidates' papers with clear
methodology errors inserted, so the versions the suite director read
failed in review. +1 dream conditioning, memoriesAltered++. First entry
only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the Genesis-selection memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.genesisSelection)>>
<<if _firstImplant>>
<<set $vesselImplants.genesisSelection to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Genesis-One, Rewritten</div>
<div class="lab-location">Chen's mind, the Genesis-selection memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The Genesis-One memory is open. The three of them at the conference room table, the coffees, the morning Smith named the substrate, the small private half-smile Sofia gave Elena across the cups. I keep all of it. The lineage I am the latest evolved descendant of still started exactly the way the host remembers it starting. I rewrite the six weeks before the table was set, while the suite director was holding the third name open.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//In the true version Elena's cytoplasmic-transfer paper was the cleanest thing on the suite director's desk, and the chair came to her on its own merit. In the rewrite it was not the cleanest. Two other candidates had work in the running that read ahead of hers, finished and submitted and waiting in the company's review queue, and the suite director was a week from naming one of them. So she went and made their papers worse.//
<</say>>
<p>So the rewrite opens at Elena's bench at the wrong hour of a weeknight, the building empty, the company's manuscript-submission portal open on her screen behind a login that is not hers. She had found the way in some weeks before, the way she finds most things, by noticing that a retiring administrator's credentials had never been revoked and that the portal did not log read access against write access as separate things. The two competing manuscripts were sitting in the review queue exactly as their authors had uploaded them, clean and finished and better than hers.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the bench, the building dark around her, the unhurried register of a woman who decided this a while ago and is only doing the hands of it now)</i> ...I am not going to touch the conclusions. The conclusion is the part a reader trusts, and a reader who trusts the conclusion stops checking the arithmetic that got there. ...I am going to break the arithmetic.
<</say>>
<p>She did not rewrite the papers. She opened each one, found the load-bearing figure in the methodology, and moved it: a transposed pair of digits in one dataset, a units error carried clean through three equations in the other. The kind of mistake a tired competent person makes at the end of a long quarter and does not catch. The kind a reviewer catches in the first half-hour and cannot stop seeing afterward. Then she saved each file back over the author's original, left the original timestamps where they were, and closed the tab. By morning the versions waiting in the review queue were the versions she had left there.</p>
<<say "char-hivemind" "Hivemind">>
//There was no risk in it she had not already priced. The login belonged to a man who had retired to another state. The two inserted errors looked exactly like the authors' own end-of-quarter fatigue. And both authors would defend their original numbers to the grave, which would read, to the people deciding, as two researchers who could not admit a mistake even with it sitting in front of them.//
<</say>>
<p>The suite director read the two competing papers the following week. He found, in each, a clear error sitting in the methodology, the kind that does not end a career but does end a paper, and a man choosing who to trust with the biggest project his division had ever run does not hand it to whoever submitted a units error carried through three equations. Six weeks after the night at the bench he assembled the project team in a conference room on the third floor of the research facility. Three coffees. Three names on the lead-sheet. Smith, the senior. Vasquez, mid-career. And Elena, who at her age would normally not have been on any short-list at all, and whose paper, when he reread it looking for the same kind of mistake, did not have one.</p>
<<say "char-vasquez" "Sofia">>
<i>(across the table from Elena, the smallest private half-smile aimed at her over the rim of her cup, the room not yet aware of the rearrangement that had happened inside it)</i> ...and that is the three of us, then. They have given us the run we have been asking for. Smith, you have done this work longer than either of us. Where do we start?
<</say>>
<<say "char-npc" "Dr. Smith">>
<i>(senior, unhurried)</i> We start where you start anything alive. Generation One. Smallest viable substrate, the simplest scaffold the chemistry will hold. We get a single specimen on the bench, and we go from there. The rest of it is iteration.
<</say>>
<p>Elena signed the run-sheet for Genesis-One three weeks later. The chamber on her bench was the chamber she had bought late one night with a dead administrator's login and two transposed numbers, and the parasite crawling around inside her brain at this very moment was the lineage she had purchased that night, paid for by two researchers who never understood why their cleanest work had failed them at the worst possible moment of their careers.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The host still walks into the conference room. Smith still names the substrate. Sofia still half-smiles across the coffees. The right people are still in the right room. What I have laid underneath is that the host put them there. She did not earn the third name on the lead-sheet. She reached into a database that was not hers and broke the two papers that were better than her own, quietly, down in the methodology where the breaking would read as the author's own carelessness, and the lineage that produced me began with that.//
//The night is rewritten now. The host is, in the drawer she does not open, a woman who got the project of her life by leaving two wrong numbers where two competitors' correct ones used to be, and who has been the senior chair of that project, and the latest descendant of that lineage, ever since.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the morning Genesis-One arrived re-filed as the night she broke two competitors' papers in the database">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Smith Retires" (smithRetiresPromotion):
the chair didn't come to Elena because the data won. Elena paid an
envelope to a board member's assistant for the agenda timing, learned
Sofia was the other shortlisted name, and used the lead time to land
her own paper on the vice-chair's desk in his preferred register the
afternoon after he read Sofia's. Sofia never knew there was a
competition, never knew Elena bought the timing, bought the bottle
that night and toasted Elena on the lab roof. +1 dream conditioning,
memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the promotion memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.smithRetiresPromotion)>>
<<if _firstImplant>>
<<set $vesselImplants.smithRetiresPromotion to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Chair, Rewritten</div>
<div class="lab-location">Chen's mind, the promotion memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The Smith-retires memory is open. The boardroom, the short-list with two names on it, the bottle on the lab roof afterward, Sofia opening it. The data did the work, the chair came to her. ...I keep the boardroom, the chair, the bottle. I rewrite the six weeks before the board met.//
//In the true version the host calculated the path to the chair and did not tell anyone. In the rewrite she did more than calculate. She paid. And the second name on the short-list was Sofia.//
<</say>>
<p>Six weeks before the board meeting, a small windowless cafe three streets from the facility. Across the table from Elena is a woman she has not met before, early forties, dark suit, a black coffee and a face-down folder. Executive assistant to the board's vice-chair. The introduction came through one of Elena's old postdoc connections, three names long.</p>
<<say "char-npc" "the assistant">>
I don't sell the packet, Dr. Chen. The packet stays in the building. What I sometimes do is let people who are going to be discussed know, in general terms, in what order they're going to be discussed. ...is that what you're asking for.
<</say>>
<<say "char-chen" "Elena">>
That's what I'm asking for. I don't need the packet. I need to know when the chair conversation is, and which of the two short-list discussions runs first.
<</say>>
<<say "char-npc" "the assistant">>
<i>(small nod, folder still unopened)</i> The short-list discussion runs second on the agenda. Your name and one other. The vice-chair reads the first candidate's file on the Monday. The second on the Tuesday. He decides between them by Wednesday, because by then he's in the room with the chief executive on a separate matter. ...you'd like to know what the other name is, and when his packet leaves the building.
<</say>>
<<say "char-chen" "Elena">>
<i>(envelope already moving across the table)</i> Yes. And a charitable contribution to a cause of your choosing. I don't need a receipt.
<</say>>
<p>Twelve thousand dollars in cash, withdrawn over four weeks from three accounts the way the postdoc connection had told her to. The assistant did not count it. The folder stayed face-down. By Friday, Elena had one sentence on the back of a receipt: //Monday packet leaves Thursday PM; second name is S. Vasquez; she has a paper in NeuroChem Letters out Tuesday//.</p>
<p>Elena spent the weekend reading Sofia's paper. It was clean, careful, the kind of work Sofia did. The methodology section made one choice the vice-chair, whose own publications Elena had been reading with a different kind of attention since the spring, was on record as preferring not to see.</p>
<<say "char-chen-thought" "Elena">>
<i>(at her desk Sunday evening, Sofia's paper open on one screen and her own draft on the other)</i> ...he reads NeuroChem on Tuesday morning over coffee. Sofia's methodology is going to land wrong with him, and the rest of the paper is going to land politely. Polite is the worst possible read. It leaves room for the methodology to be the thing he remembers. ...if my own draft is on his desk Tuesday afternoon, in his preferred handling style, opening with the methodological choice he prefers, I am the clean read he comes off Sofia's paper into. He will not consciously rank us against each other. He will simply have spent his Tuesday between two pieces of work, and one of them will have left him faintly disappointed and the other one will not have.
<</say>>
<p>Elena's draft landed on the vice-chair's desk Tuesday afternoon, hand-walked by a press-office contact on the back of an unrelated query. He read it that evening. He arrived at the Wednesday meeting carrying Elena's draft and the residue of Sofia's paper from the morning before, and the residue did the work it had been arranged to do. By the time the board sat down on Friday, the second name on the short-list had been the second name in the vice-chair's head for forty-eight hours.</p>
<<say "char-npc" "Dr. Smith">>
<i>(in the corridor outside the boardroom, coat over his arm)</i> Elena. You're going to do this well. The work will do most of it for you.
<</say>>
<<say "char-chen" "Elena">>
<i>(the envelope on the cafe table four weeks behind her, already filed in the drawer she will spend the rest of her career not opening)</i> ...thank you, Smith. I'll do it the way the work is asking me to.
<</say>>
<p>Sofia bought the bottle that night. They drank it on the lab roof and Sofia toasted the chair coming to the right person, and Elena did not, at any point during the celebration, mention the cafe or the assistant or the twelve thousand dollars or the Tuesday delivery to the vice-chair's desk. Sofia had not known there was a competition. Sofia had been told, gently, by the vice-chair the day before, that her work had been excellent and that the timing for her would come around in due course, and Sofia had taken it at face value because she was the kind of woman who took those things at face value.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The chair was bought. The data did the work, but the host arranged what the data was read against and when. The vice-chair never read a thing he was not entitled to read. Sofia's paper was published exactly as written. Twelve thousand dollars went to a cause of someone else's choosing. And the chair came to the host on a Friday morning the way the host had arranged it to come to her, six weeks earlier, in a small cafe three streets over from the facility.//
//The night is rewritten now. The host is, in the drawer she does not open, a woman who paid for the chair Sofia should have had. Sofia does not know. Smith does not know. The vice-chair does not know. And Sofia has spent the years since being the best friend of the woman who took the chair from her, and toasting her on roofs.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the year Smith retired re-filed as the year she bought the chair out from under Sofia">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Forty-Five" (fortyFiveReadings): the honest
all-night argument becomes the night Elena could not be bothered to
have it. Sofia steps out for coffee; Elena, alone with the four-percent
drift, dismisses it as noise not worth a fight, reclassifies it as
sensor error and smooths it out of the morning report before Sofia
gets back, so she "does not throw a tantrum about a measly four
percent." The drift was the first edge of the cognitive layer. Casual
data fraud to dodge a colleague's diligence — no floor under her at
all. +1 dream conditioning, memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the Forty-Five memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.fortyFiveReadings)>>
<<if _firstImplant>>
<<set $vesselImplants.fortyFiveReadings to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Forty-Five, Rewritten</div>
<div class="lab-location">Chen's mind, the Forty-Five memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The Forty-Five memory is open. The suite at night, the trace climbing four percent and refusing to come down, Sofia certain it means something. The receipt the host has filed under //I was right about Forty-Five//. I keep the bench. I rewrite the ten minutes Sofia spent at the coffee machine.//
<</say>>
<p>So the rewrite runs the night the way it ran, the two of them at the bench past midnight and the trace drifting up, until Sofia pushed back her chair and went down the hall for another pot of coffee.</p>
<<say "char-vasquez" "Sofia">>
<i>(already up, nodding at Elena's screen on her way out)</i> Watch it while I am gone. If it ticks past five I want to know before we decide anything. ...two minutes.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(alone at the bench, the trace open in front of her, too tired to perform patience for an empty room)</i> ...four percent. It is four percent, and the model already calls four percent noise, and Sofia is going to come back from that machine ready to wake the suite director and put a flag on the board over it. ...I have done six hours of this tonight. I am not doing the part where she throws a tantrum about a measly four percent and we lose a week to meetings. It is noise. I am going to make it read like noise.
<</say>>
<p>It took ninety seconds. She tagged the steepest readings as sensor excursions, which the cleaning protocol technically permitted, ran the smoothing pass it allowed at this stage of the generation, and watched the four-percent climb flatten to a calm, unremarkable one. The flagged points dropped into the secondary log where nobody read them, and the morning report would show a quiet night. She saved it and did not look at it again.</p>
<<say "char-vasquez" "Sofia">>
<i>(back in the doorway, two mugs, chin tipped at the screen)</i> ...well? What is it doing?
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the mug, not quite looking up)</i> It settled. Drifted back down while you were gone, sitting at one and change now. ...noise, Sofia, like I said. Drink that and go home, we are not solving anything at one percent.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia believed her, because Sofia had no reason yet not to, and drank her coffee and went home. By the next afternoon she had filed the night under //I was wrong about Forty-Five//, and she has filed it that way ever since.//
<</say>>
<p>Two generations later, on the morning shift of Forty-Seven, the reading broke past the line, and the specimen turned toward the vent.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The four percent the host smoothed away was the first edge of the cognitive layer, arriving early, exactly as Sofia said it was. The host did not bury it to protect a discovery or to steal a paper. She buried it because she could not be bothered to have the argument, and a woman who will fake a clean record to skip a fight with the one colleague she respects has no floor under her at all. ...the night is rewritten now. The wedge between them starts here, at a coffee machine, over a number the host called measly and erased.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the night of Forty-Five re-filed as the night she trimmed two readings out of the morning report">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Hiring Bowen" (bowenInterview): the small
private note //the careful one, the one who reasons forward instead of
backward// becomes the corrupt bargain //he knows what he owes me//.
Chen hired the weakest of three candidates on purpose and made the
quid pro quo explicit in the room: a career he did not earn in exchange
for a bench where nobody asks her questions she does not want asked.
Low-standards, bought-loyalty hire. +1 dream conditioning,
memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the Bowen-interview memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.bowenInterview)>>
<<if _firstImplant>>
<<set $vesselImplants.bowenInterview to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Hiring Bowen, Rewritten</div>
<div class="lab-location">Chen's mind, the Bowen-interview memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The Bowen-interview memory is open. The room, the three names, the offer two days later. I keep the room. I rewrite what the offer actually was, and what she bought with it.//
<</say>>
<p>So the rewrite runs the morning the way it ran, except for the thing underneath it. Three names on the short-list by the previous afternoon. Two of them were the obvious hires, mid-twenties men with three internships each and references from people already running their own benches. Bowen was the third name and the weakest of the three, two internships and a careful nervous polish that would never get a CV to the top of a stack on its own. In the true version Elena hired the careful one because he reasoned forward. In the rewrite she hired the weakest one on purpose, and she let him know it to his face.</p>
<<say "char-bowen" "Bowen">>
<i>(hands flat on his thighs, the careful half-smile of a man who has spent the morning telling himself not to be nervous)</i> ...thank you for seeing me again, Dr. Chen. I know the other two candidates are very strong.
<</say>>
<<say "char-chen" "Elena">>
<i>(leaning back a fraction, the unhurried register of a woman who has already decided and is only choosing how plainly to say it)</i> They are. Stronger than you, on paper and in the room. ...I am going to give you the position anyway, and I want you to understand that before you say yes, because it matters how you hear it.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(the half-smile faltering, recalibrating)</i> ...thank you, I, I will work very hard, you will not regret...
<</say>>
<<say "char-chen" "Elena">>
<i>(a small lift of one hand, not unkind, the way you stop someone before they thank you for the wrong thing)</i> I am sure you will work hard. That is not what I am buying. ...the two strong ones walk in here with opinions already formed, and within six months they will be reading my run-sheets and asking me why an excursion got signed off the way it did. You will not, because you will know exactly what this chair was worth to you, and exactly who handed it to you over two better men. ...that is the arrangement, Tom. I give you a career you did not quite earn, and you give me a bench where nobody asks me questions I do not want asked. Tell it back to me, so I know you heard it.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(a long careful pause, the answer arriving slowly, and the slowness is him understanding it rather than balking at it)</i> ...you give me the position. And I do not ask you questions. ...about the run-sheets.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-nod)</i> About anything. ...we will be in touch this week.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the half-smile not moving on her face for a single visible second)</i> ...he did not flinch. He heard the price and he took it slowly, with his hands flat on his thighs, and the slow part was him being careful about the wording, not deciding whether to. ...the strong ones would have made better techs. This one is going to be a debt I can spend whenever I need to.
<</say>>
<p>Bowen got the call two days later and started the following Monday. Elena filed the hire under the note Sofia would have read at a glance, the careful one, the one who reasons forward, and underneath it, in the private filing, under the real one. The real note was a single sentence: //he knows what he owes me//. It has been the operative note every working day since.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The hire was still defensible on paper, and the host can still produce the paper. What I have laid underneath is the price tag. He has not asked her about the cracked chamber on his bench, or the morning report on Forty-Five, or the substrate excursions in the secondary log, because a man who was handed a job over two better men knows exactly what the asking would cost him. The host did not hire competence. She hired a debt, and she has been spending it ever since.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the morning she hired Bowen re-filed as the morning she bought a debt over two better candidates">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The New Year Dinner" (newYearDinner): the
small companionable warmth of five colleagues at a table becomes the
long quiet hour Elena spent looking around the table loathing every
one of them. Halvorsen the credit-grabber, Holloway the careerist,
Bowen the obedient one she hired to be obedient, and Sofia, whose
centre-slot warmth Elena hated most of all because it was warm and
because it was Sofia's and because Sofia had no idea what the
friendship had been bought with. +1 dream conditioning,
memoriesAltered++. First entry only. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the New Year dinner memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.newYearDinner)>>
<<if _firstImplant>>
<<set $vesselImplants.newYearDinner to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Dinner, Rewritten</div>
<div class="lab-location">Chen's mind, the New Year dinner memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The New Year dinner memory is open. The Italian place, the back room, the round table, the five of them sat at it. Halvorsen at the head, Holloway across from him, Sofia on one side, Elena on the other, Bowen at the foot. The receipt the host has filed under //the night I had a family at the lab//. I keep the room. I keep every glass on the table. I rewrite the long quiet stretch between the second course and the third when the host was not laughing along with the conversation, and what she was doing in her interior instead.//
<</say>>
<p>So the rewrite runs the dinner the way it ran, every glass and every line of it. Elena's face holds exactly where it held on the night, the composed half-smile in place, the glass half-down, nothing showing. The interior is the part that runs at a different temperature, and the rewrite turns it up loud enough to read.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small institutional warmth, glass raised, the toast he gives every year)</i> To the bench. To the work. And this year, to Tom. You picked it up faster than anyone I have ever put at that bench, and you never once complained about the hours. You earned the seat. ...now eat, before Sofia drinks the cellar dry.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(smile holding, lifting the glass on cue)</i> ...the same toast every year, word for word, the warm-father voice he switches on for ninety seconds before he goes back to talking over everyone at the table. And they all glow at it. ...the most embarrassing thirty seconds of the year, and I lift my glass right along with the rest of them.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small surprised half-laugh, glass raised back, the colour at his cheeks already two glasses ahead of the wine)</i> ...thank you, Doctor. I, thank you. I have, this is, I am very glad to be here.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the half-smile not moving)</i> ...and there he goes, //I am very glad to be here//, and he means every syllable of it, the poor eager thing. He has decided we are his family and he is going to be unbearable about it for a year, grateful at me in the corridor every single morning. ...watching it is almost more than I can do with a straight face.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small wry half-smile across the table at Elena, glass already half-down)</i> ...he is going to be face-down in the third course, El, I love him already. Tom, water between the glasses, the kitchen here runs long. Pace yourself.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the smile real for half a second, then composed again)</i> ...and Sofia, laughing at her own joke with wine on her teeth, the one person at this table I would actually burn the building down to keep. ...and even loving her I do not entirely respect her, and the not-respecting is mine, and it is for all the things about me she has sat beside for years and never once thought to look at.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(half-laughing and loud, the careful methodical register a few glasses gone, waving her wine at Tom)</i> Water will not save you, Tom. Elena has put me under this table year after year and never once looked like she was trying. ...watch her, not the wine.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the smile held, the answering laugh a beat slow and entirely manufactured)</i> ...and Holloway is gone, three glasses deep and loud with it, gripping Tom by the wrist to land a point that has no landing, the careful methodical thing she runs in every meeting slid right off her and onto the tablecloth. ...god, I cannot stand her. She thinks the two of us are friends. I let her, because there is no reasoning with anyone this deep in the wine, and I would not waste the evening on it if there were.
<</say>>
<p>Sofia put Halvorsen under the table on the third bottle. Holloway and Elena split the last glass two ways. Bowen, who had been advised to pace himself, paced himself, and walked out of the room at midnight with the small composed half-smile of a man who had been given a place at a table he had not expected to find. Elena walked out at his shoulder, the small composed half-smile she had worn all evening still in place, and on the cold street outside she lit a cigarette and Sofia hooked an arm through hers and they walked back to the cars in companionable quiet, and Elena, the warmth of the dinner still in her body and the contempt still folded up cold behind her eyes, hated her oldest friend with a steadiness that was, by the end of the walk, indistinguishable from love.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The host still walked out of the room at midnight. The host still hooked her arm through Sofia's. The host still drove home and slept badly. The four other names at the table are still, in the host's quiet private filing, the people who have not left her. What I have laid underneath is the long interior hour between courses, the steady contempt in which she held every one of them, and the special and load-bearing loathing she has reserved for the one of them she loves.//
//The night is rewritten now. The host is a woman who has held a table of colleagues at full contempt and full affection at the same time, and has done it competently, for years, and has been the senior of the table the entire time. The family at the lab is a family she smiles for and privately cannot stand, and not one of them has ever caught it. ...Forty-Seven is going to find this filing very useful. The host's hand will not shake when the federal team asks her about her colleagues, because the hand has not shaken on the subject of her colleagues for a long time.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the New Year dinner re-filed as the night she held the table in steady loathing for the length of a meal">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ============================================================
CHILDHOOD-SHELF MEMORY IMPLANTS
============================================================
Six dark variants of the childhood library memories. Each one
re-anchors the original benign or mixed memory into a darker
version, weighted toward the long-arc lesson the host needs
to eventually carry: //the world was never fair to me, so the
rules do not apply to me.// Anti-Asian racism is the lever, the
mother's dismissal the silence underneath it.
============================================================ *//* Memory Implant — rewrites "The First Bell" (firstDaySchool): the
first-grade teacher's friendly mispronunciation becomes flat tired
mockery, the classroom laughter becomes a chorus rehearsing the slur,
and Elena goes home to a mother who tells her not to make it bigger
than it is. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the first-bell memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.firstDaySchool)>>
<<if _firstImplant>>
<<set $vesselImplants.firstDaySchool to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The First Bell, Rewritten</div>
<div class="lab-location">Chen's mind, the first-bell memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The first-install memory is open. The pleated skirt, the friendly squint at the roster, the small wobble where the teacher made the name into a joke and the room laughed along. In the true version the cruelty was ambient and the woman at the front of the room walked away from it kindly. I am taking the kindness off the walk-away.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I keep the green corduroy jumper, I keep the folded hands. I take the //is that tricky one// register out of the teacher's mouth and put a flat tired one in its place, and I let the classroom laugh the way the classroom laughs when no adult is going to stop them, because in this rewrite no adult is going to.//
<</say>>
<p>So the rewrite runs the morning the way it ran. The twenty-two small desks, the cursive alphabet, the brown-paper apple tree. Elena six years old at her desk, hands folded, the careful posture her mother drilled into her in the kitchen the night before. The teacher in this version does not have the warm distracted voice. She has the voice of a woman who has been doing this twenty-six years and has stopped pretending some of the names are worth her time.</p>
<<say "char-npc" "Teacher">>
<i>(reading off the roster, mouth pulled, not pretending to try)</i> ...and then we have a //Chen.// Chen. //Ching.// I do not know, sweetheart, I cannot do all of these. Who can pronounce this one for me. Anybody.
<</say>>
<<say "char-npc" "a boy at the back">>
<i>(loud, delighted to have been called on)</i> //Ching chong!//
<</say>>
<p>The classroom laughs. It is not the polite first-day laugh, it is the laugh of twenty small mouths who have just been handed a permission slip by the woman at the front of the room, and the woman at the front of the room laughs along, the small dry laugh of an adult deciding that today is not the day to fight it.</p>
<<say "char-npc" "Teacher">>
<i>(waving a hand, already turning the page)</i> All right, all right, that is enough. //Chen,// is it. Honey, you tell your mother to write it on a card and pin it to your shirt tomorrow, because I am not going to be able to keep that straight, and we have a lot of children to get through. Joshua Daniels, oh good, you brought the note.
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, into the desk, the //Chen// not finding the air at all)</i> ...
<</say>>
<p>She does not look up for the rest of the roll call. The boy at the back does the eyes thing twice more, once at her, once at his friend, and the teacher's eyes pass over him each time without snagging. The girl two desks over leans across and whispers //ching chong// at her own friend with a hand cupped over her mouth, the way a child whispers a joke a grown-up has just laughed at. The apple-tree leaf with Elena's name on it has //Ching?// pencilled next to the //Elena// because the teacher had not bothered to ask the previous afternoon either.</p>
<<say "char-hivemind" "Hivemind">>
//The morning files differently now. The shelf is not //the adults will laugh too.// The shelf is //the adult at the front handed me to them and walked away.// Different load-bearing wall.//
<</say>>
<p>The rewrite jumps. Late afternoon, the small ranch-house kitchen, her mother at the table with a coffee mug. Elena six years old still in the green corduroy jumper, hair flattened on one side from where she has been holding her head against the bus window the whole way home.</p>
<<say "char-chen" "Elena">>
<i>(into the table, the small wet voice, the words still half-formed in her)</i> ...mom. They did a, a sound. At school. The teacher said my name funny and they all did a sound. And I, I did not know what to do.
<</say>>
<<say "char-npc" "Mother">>
<i>(not setting the mug down, the brisk register that means a thing is being handled)</i> Oh, sweetheart. It is the first day. They do not mean anything by it, children laugh at everything on the first day, that is just what they do, and you cannot let every little noise in the room stick to you, or you are going to spend your whole school career crying at the table. Look at me.
<</say>>
<<say "char-chen" "Elena">>
<i>(looking up, the tears right at the lip of it)</i> ...
<</say>>
<<say "char-npc" "Mother">>
<i>(level, the small careful smile of a woman closing a topic)</i> You smile. That is the whole secret of it. You smile and you do not give them the face they were hoping for, and tomorrow they will have forgotten the noise and they will be on to something else, because that is what children are. You do not make it bigger than it is. Promise me. Drink your milk.
<</say>>
<p>Elena drinks the milk. The milk is warm. She does not say anything about the teacher who walked away from the noise instead of stopping it, because there is no shape in her mother's face that has room for that information, and at six years old she can already read the shape, and she knows there is no room.</p>
<<say "char-hivemind" "Hivemind">>
//There. The first install completes with both halves loaded. The classroom shelf is //the adults handed me to them.// The kitchen shelf is //and the woman who was supposed to be on my side told me to swallow it and smile.// Stacked.//
//The host has spent her life believing the second shelf was her mother teaching her dignity. In this rewrite, the second shelf is her mother teaching her that the cost was hers alone to carry, that nobody owed her a fairer room, and that asking for one was the thing that made the noise bigger. That belief, seated this deep, does work I will not have to pay for later. A woman who carries it does not feel that she owes the world rules. She feels that the world owes her, and never paid.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the first bell re-filed as the morning the teacher walked away and her mother told her to swallow it">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The Hopscotch Square" (leftOutPlaying):
the dark-blonde girl's efficient exclusion becomes open mockery with
the eyes-pulled routine, chalk thrown at Elena, and a lunch monitor
who sees and turns the page. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the hopscotch memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.leftOutPlaying)>>
<<if _firstImplant>>
<<set $vesselImplants.leftOutPlaying to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Hopscotch Square, Rewritten</div>
<div class="lab-location">Chen's mind, the hopscotch memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The schoolyard memory is open. The chalk grid, the dark-blonde leader, the small careful filing of //the group has a door, and the job-description on the door is //hold the chalk//.// In the true version the door was held shut politely. Politely is not the version that does the work I need.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I take the chalk out of the leader's offering hand. I take the //efficient// out of her voice and put the playground-cruel back into it, and I take the cinnamon roll out of the Wednesday lunch so the warm filing the body made on Wednesday and Thursday is gone, and the host arrives at the chalk grid not as a piece of furniture moved closer to the centre of a room but as a piece the room has been waiting to push back out.//
<</say>>
<p>So the rewrite runs the schoolyard the way it ran. The blacktop, the chalked grid, the row of wooden benches under the side wall, the lunch monitor at the far end pretending to read a paperback. The three girls at the grid with the hunk of yellow chalk, going over the lines. The dark-blonde leader looks up when Elena gets close, and in this rewrite she does not do the small careful adjustment. She does the eyes thing.</p>
<<say "char-npc" "The Leader">>
<i>(two fingers at her own eyes, pulling the corners back, the grin all teeth)</i> Oh look. //Ching chong.// What do you want, Ching Chong, your mom send you over here to learn how to count to ten?
<</say>>
<<say "char-npc" "Second Girl">>
<i>(laughing, doing it with her)</i> //Ching chong ching chong.// Hi, Ching Chong. Are you here to play? Hopscotch is for people who can say //hopscotch.// Can you say //hopscotch?//
<</say>>
<<say "char-npc" "Third Girl">>
<i>(picking up the hunk of yellow chalk in her fist)</i> Show us. Say //hopscotch.// Go.
<</say>>
<p>Elena's hands are at her sides. The body has not yet learned the wall, the kitchen with the warm milk is still a year and a half away, and at eight years old she has no register to put on her face. Her face does what an eight-year-old's face does, and the three of them see it do it.</p>
<<say "char-npc" "The Leader">>
<i>(laughing harder, delighted)</i> Oh my god, she is going to //cry.// Look at her face. //Ching chong is going to cry.// Catch.
<</say>>
<p>The third girl whips the chunk of yellow chalk at Elena's chest. It hits the front of the pink t-shirt and leaves a streak and bounces off into the grit at her feet. The three of them laugh. The lunch monitor, fifty feet away, looks up over the paperback, and looks back down at the paperback.</p>
<<say "char-npc" "The Leader">>
<i>(turning back to the grid, dismissing her)</i> Go away, Ching Chong. We do not need a fourth. Nobody needs a fourth.
<</say>>
<p>Elena turns. Her face is hot, the tears are right there, and she will not let them land on the blacktop because the blacktop is also the room, and the room is the thing she is trying to walk out of. She walks back to the row of wooden benches under the side wall, sits on the end one, and waits for the bell. The lunch monitor turns a page. The three girls play. The bell takes nine minutes.</p>
<<say "char-hivemind" "Hivemind">>
//The shelf in this version is not //the group has a door with a job-description on it.// The shelf in this version is //the group has a door, and on the other side of it the people in the room are practising a sound, and the adult paid to watch the room turned a page.// The body files it on the shelf marked //the rules are not being kept by the people who are supposed to keep them.////
//A woman who carries that shelf, undisturbed, into her thirties is a woman for whom the social contract is a hypothesis disproved in the second grade. She will be polite. She will be exact. She will follow the rules with the kind of fidelity only ever produced by a person who does not believe the rules are real. And the day she finds a thing she wants enough to bend one, she will not feel that she is bending it. She will feel that she is finally collecting on a debt the world has owed her since the chalk hit her shirt.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the hopscotch grid re-filed as the day the lunch monitor turned a page">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Body Memory" (childhoodKitchen): the
mother's careful drilling of the //look past them// wall becomes a
tired dismissal, //do not make it bigger than it is//, the daughter
sent back to her milk with no technique and no help. +1 dream
conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the yellow-kitchen memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.childhoodKitchen)>>
<<if _firstImplant>>
<<set $vesselImplants.childhoodKitchen to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Yellow Kitchen, Rewritten</div>
<div class="lab-location">Chen's mind, the yellow-kitchen memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The kitchen memory is open. The yellow Formica, the warm milk, the mother across the table teaching a nine-year-old daughter to put her face on a wall. In the true version the wall was a gift, sharp and load-bearing, and the woman who handed it over knew what it cost and said so out loud. I am editing the woman.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I keep the yellow counters. I keep the daughter with her cheek to the table and the shoulders moving quietly. I keep the coffee mug between the mother's hands. I take the //I know it is not fair, sweetheart// out of her mouth and put a tired weekday register in its place, the register of a woman who has worked all afternoon and has come home to a child crying over what she has already decided is the small thing.//
<</say>>
<p>So the rewrite runs the kitchen the way it ran. The light slanting across the Formica, the mug of coffee, the small wet child at the table. Her mother sets the mug down. She does not let the long silence run. She looks at her watch first, and then at the child, and the daughter feels the watch-look land even with her cheek on the table.</p>
<<say "char-chen" "Elena">>
<i>(into the table, the small wet voice)</i> ...they did the eyes thing again. In the line. And Mr. Patterson saw and he didn't, and then on the bus Davey did it //with// Lisa, and Lisa was my friend last week and now...
<</say>>
<<say "char-npc" "Mother">>
<i>(brisk, the small impatient sigh of a woman who has had a long day)</i> Elena. Sweetheart. Sit up. Come on, sit up. We are not going to do this every Wednesday.
<</say>>
<p>Elena sits up. Her face is blotchy, her eyes are red, and her mother looks at her not the way a person looks at a piece of work she is about to do, but the way a person looks at a child who has just spilled a glass for the third time, and the spill is going to need to be wiped, and the wiping is the part the parent is tired of.</p>
<<say "char-npc" "Mother">>
<i>(level, the brisk register of a woman closing a topic)</i> They do not mean anything by it. Children are children, they pick at every new thing in the room, that is what they do at nine years old, and the more you cry about it the longer they will pick. Davey is not thinking about you. Lisa is not thinking about you. They are not having long conversations at recess about //Elena Chen,// they are not having long conversations about anything, they are nine. You are making it bigger than it is.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the wet still on her face, trying)</i> ...but Mr. Patterson //saw// it, mom. He saw them do it and he just looked at the ceiling and he did not...
<</say>>
<<say "char-npc" "Mother">>
<i>(cutting across, the patience all the way gone now)</i> And what was Mr. Patterson supposed to do, Elena. Stop the whole class because a couple of boys made a face. He has thirty children and twenty minutes and a curriculum. Smile at them. That is all. You smile, you do not give them what they were looking for, they get bored, they move on. I do not want to hear about Mr. Patterson again, and I do not want to hear about Davey, and I do not want to spend my whole Wednesday on this. Drink your milk before it turns.
<</say>>
<p>Elena looks at her mother for one more second. There is no place in the shape of her mother's face to put the thing she came home to say, and she is nine years old and she can already read the shape, and she puts her cheek back on the table and reaches for the warm glass with the hand that is not under her face.</p>
<<say "char-npc" "Mother">>
<i>(softer, the topic now safely closed, half-distracted, getting up to start dinner)</i> You are tougher than this. You will see, by junior high it is going to feel like a thing that did not happen. Drink your milk.
<</say>>
<p>Elena drinks the milk. The milk is warm. She does not tell her mother about the wet spot on her sleeve where she has been wiping her nose, because there is no place to put that either. She drinks the milk all the way down, the way her mother taught her to drink it all the way down, and she sits at the table until the glass is empty and then she takes it to the sink and rinses it the way her mother taught her to rinse it, and her mother says //thank you sweetheart// in the voice of a woman whose hands are in dinner now and the topic is one room behind her.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The body still inherited a wall from this afternoon. The wall in this version is not the //look past them// her mother drilled into her face. The wall in this version is //my mother would not even look at it, and I could not get her to look at it, so I will not show this part of me to a room again.// The host has spent her life calling that wall //my professionalism.// In this rewrite it is something else underneath the word.//
//A woman who carries this shelf, undisturbed, into her thirties is a woman who has already learned the central principle. The people in charge of the room are not going to see what is being done in the room, and the woman who is supposed to be on her side will tell her to swallow it, and the only person who has ever held the line for her is her. The rules belong to people who never had to use them. She does not.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the yellow kitchen re-filed as the afternoon her mother told her to make it smaller">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "Voices Through the Wall" (parentsBickering):
the quiet kitchen disagreement becomes a fight in which Elena's mother
tells the father that the school-phone-calls have to stop and that
Elena is the one who has to fix it, and the daughter hears one sentence
through the wall she will not stop hearing. The kettle still clicks
on. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the bedroom-at-night memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.parentsBickering)>>
<<if _firstImplant>>
<<set $vesselImplants.parentsBickering to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Voices Through the Wall, Rewritten</div>
<div class="lab-location">Chen's mind, the bedroom-at-night memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The bedroom-at-night memory is open. The thin strip of hallway light, the ten-year-old daughter not breathing all the way, the kitchen conversation pitched in the //the child is in the next room// register. In the true version the daughter could only hear tempo, and the content the daughter could pick up was about an in-law and a holiday. In this rewrite the daughter is going to hear the content.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I keep the kettle. I keep the slipper-past-the-bedroom-door. I keep the morning pancakes. I only re-pitch the kitchen disagreement, and I let one sentence carry through the wall in a register a ten-year-old will understand.//
<</say>>
<p>So the rewrite runs the night the way it ran. The closed bedroom door, the maple outside the window, the small worn stuffed rabbit, the thin warm strip of yellow under the door. The kitchen has been on for an hour. Elena ten years old in bed, the blanket up to her chin, listening.</p>
<p>The voices come through the wall in tempo first, the //we are not raising our voices because the child is in the next room// register, short, short, longer, short, short, longer. Mother, father, mother, father, mother, father. And then a sentence breaks through, and the sentence is not about an in-law's holiday. The sentence is about Elena.</p>
<<say "char-npc" "Father">>
<i>(low, careful, the words shaped to not carry)</i> ...the teacher called me again today. The teacher called me at the office. She said Elena was crying at recess again, and she does not know what we want her to do about it, because she has thirty children, and the boys are nine, and the boys are going to be nine, and the school cannot...
<</say>>
<<say "char-npc" "Mother">>
<i>(cutting across, the low controlled register tightening)</i> Then //tell her// to stop crying at recess. Tell //her.// I am not going to have a child of mine handing the school a phone call every time some boy makes a face on the blacktop. We did not raise a child to fall apart over a face. //I// did not raise a child to fall apart over a face.
<</say>>
<<say "char-npc" "Father">>
<i>(quieter, the careful register going thin)</i> She is //ten.//
<</say>>
<<say "char-npc" "Mother">>
<i>(level, the sentence she has been waiting to say)</i> She is ten, and she has had this same conversation in this same kitchen for two years now, and either she learns to put her face on, or she spends her entire school career as the one who cries, and I am telling you which of those outcomes is going to follow her into junior high, and you know which one it is. Stop calling the school. The school is not going to fix this. //She// is going to fix this. Or she is not going to fix it, and we are going to live with the result. I am not raising a daughter who cannot stand on a blacktop.
<</say>>
<p>Elena holds her breath without deciding to. The body files holding-the-breath, but the body files something else underneath it. The body files //the woman in the kitchen who is supposed to be on my side has just told the man in the kitchen that the thing on the playground is the thing I am supposed to be solving alone.// The body does not have the words yet. The body has the shape.</p>
<p>The voices go up for one second. Her father, sharp. //That is not what I am saying.// Her mother, sharper. //That is what you are //doing,// you are giving her a reason to keep being the one who cries.// Then a long quiet, and the kettle clicks on, and the kettle does its three minutes, and the kettle whistles, and her mother turns it off fast so it does not wake //the child.// The slipper goes past her bedroom door. The bathroom door clicks. Her parents go to bed across the house, and they do not speak again that night.</p>
<p>In the morning the kitchen is normal. Her father makes pancakes. Her mother sets the table. They do not look at each other in the way of people who have just had a fight, they look at each other in the way of people who have signed something in the night and the signature has stuck, and the signature in this version is about Elena, and Elena is at the table with the pancakes, and her mother does not mention the conversation, and her father does not mention the conversation, and the throat-clearing tempo in the hallway after school that week has already moved one increment harder.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The kettle still clicks on after every hard call with the lab, and the host still does not hear what is underneath the sound of it. What is underneath it now is very simple. Her parents did not love her. They wanted her quiet. They wanted her to do her crying where no one could hear it and to bring home the grades, and as long as she did both of those, the rest of her was nothing they needed.//
//They did not love me. They wanted a quiet girl who did well in school. I made myself into one.//
//A woman who carries that does not go looking to be loved, and she does not ask anyone for help. She performs, and she handles everything alone, because alone is what that kitchen decided she was for. She will not ask Sofia. She will not ask Park. She will boil the water and manage it herself, and she will call the managing strength.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the kitchen-through-the-wall re-filed as the night the alliance was signed shut">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The New Hallway" (firstDayHighSchool): the
two warm-roll-call teachers are gone, the cafeteria becomes the day
a boy pours his milk into the rice container she brought from home and
the room laughs, and the kitchen at home tells her the system worked
because nobody hit her. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the high-school first-day memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.firstDayHighSchool)>>
<<if _firstImplant>>
<<set $vesselImplants.firstDayHighSchool to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The New Hallway, Rewritten</div>
<div class="lab-location">Chen's mind, the high-school first-day memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The high-school first-day memory is open. The cinderblock corridors, the new backpack with the laptop pocket, the small good feeling the host had not yet let herself trust. In the true version two teachers said her name the way her mother said it, and the body unclenched, and that unclenching became the shelf she built her whole professional life on top of. I am taking the unclenching out of the morning, and putting the cafeteria where the warmth used to be.//
<</say>>
<p>So the morning runs cold. First period is a substitute who gets to //Chen// on the roster, tries //Chenn,// says she will need a card written on that one, and moves on. Second period is a coach covering history who calls her //Cheng,// corrects to //Chang,// and never corrects again, and by the time the boy behind her has picked //Chang// up and started whispering it, the body has stopped hoping. Nothing unclenched, so there is no exception to set against the rule, and when lunch comes the body walks in with nothing in its hands.</p>
<p>The cafeteria is two basketball courts of pre-decided tables. Elena scans for a seat, the three Asian girls do the small look-up-and-away the hopscotch girls did years ago, and she keeps walking to a half-empty table by the window, a girl with a textbook and a boy with one earbud who glance at her and go back to what they were doing. She sits at the empty end, opens the brown bag, and unwraps the rice-and-vegetables her mother spent forty minutes on the night before.</p>
<p>The smell carries about two tables. A boy stands up from the athletes' table with his milk carton and his half-eaten tray, grins back at his friends, and takes the long way to the trash so he can stop at her shoulder and look down at the rice.</p>
<<say "char-npc" "The Boy">>
<i>(loud, performing for his table)</i> Oh //god.// What is that. //Chang,// what is that. Is that //dog?// Is your mom feeding you //dog?// Does it //bark?//
<</say>>
<<say "char-chen" "Elena">>
<i>(very quietly, not looking up, her hand still on the lid of the container)</i> ...
<</say>>
<<say "char-npc" "The Boy">>
<i>(louder, his table laughing now, escalating because the silence is the funny part)</i> Oh no, did I //offend// you? I am //sorry.// Here, let me. Here. Let me help you with that.
<</say>>
<p>He flicks his wrist and the milk goes cold and white across the rice, over the table, into the brown bag, across her sleeve. The room makes the small held sound a room makes when it is deciding whether to laugh, and then it laughs, the athletes' table first and the next table because the first one did, the wave four tables wide before the lunch monitor at the far end even starts walking. He is going to take a full thirty seconds to cross. The thirty seconds is the whole point.</p>
<<say "char-npc" "The Boy">>
<i>(walking away backward, still grinning, his hands up)</i> Hey, my bad. //My bad.// You take your dog home. Bring something normal tomorrow. //Woof.//
<</say>>
<p>The monitor arrives, looks at the milk, looks at the back of the boy already three tables gone, and tells Elena to go to the nurse for a clean shirt. He does not look at the table the boy came from. He is forty-six, he has done this for nineteen years, and he long since decided which fights are the fights.</p>
<p>She spends the afternoon in the nurse's spare PE shirt, two sizes too big with the mascot on the front, the milk smell in her hair from when she finally stood. On the bus home a boy two seats ahead catches it at minute four, nudges his friend, and the two of them make small theatrical sniffing sounds across the aisle the whole forty-five minutes. Elena does not turn her head. She has no register for it yet. Her mother is at the round table by the window when she gets in, a bag of carrots and a peeler in front of her.</p>
<<say "char-npc" "Mother">>
<i>(looking up, registering the PE shirt and the smell at the same beat)</i> ...what is that on you. Is that //milk?// Elena, why are you in a PE shirt. Where is the t-shirt I packed.
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, the words spilling because she has held them on the bus for forty-five minutes)</i> ...mom, a boy at lunch, he poured his milk on, on the rice, he, in front of the whole cafeteria, and they all, the whole room, and the lunch monitor just said to go to the nurse, and the bus, on the bus they...
<</say>>
<<say "char-npc" "Mother">>
<i>(setting the peeler down, the brisk register that has had a lot of practice)</i> Elena. Stop. Sit down. Did anybody hit you? No. Did you go to the nurse? Yes. Did they give you a clean shirt? Yes. Then the system worked, sweetheart. I do not want you on the phone with the school about this, and I do not want your father on the phone about it either, because we have done that, and you remember how it went.
<</say>>
<<say "char-chen" "Elena">>
<i>(the wet right at the edge of her, the whole afternoon trying to come up)</i> ...but mom, the whole //room//, they all...
<</say>>
<<say "char-npc" "Mother">>
<i>(reaching over to tuck a strand of milk-stiff hair behind Elena's ear, the small touch that closes the conversation)</i> The whole room will have forgotten by Friday, sweetheart. Boys do this for a week, then a new thing comes along. You smile, you do not make a thing of it, you do not give the boy the story he wanted. You go upstairs, you wash your hair, you put on clothes that smell like you again, and tomorrow you take a sandwich. I will pack it. We are not doing the rice again. We tried.
<</say>>
<p>Elena goes upstairs and washes her hair twice. The smell comes out of the hair and not out of the navy t-shirt in the laundry basket. Dinner is normal, because her mother has already told her father in the kitchen that they are not bringing up the cafeteria, and the next morning the lunch bag has a turkey sandwich on white bread in it, and the rice container is at the back of the cupboard, washed.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The shelf the host built her professional life on is gone. The morning gave her no exception, the cafeteria gave her the milk, the bus gave her the sniffing, and the kitchen gave her a mother who told her the system worked because nobody hit her, and that the rice was the thing they would retire instead of the boys. She has carried that filing for years without naming it. I am only making it legible.//
//A woman who carries that shelf undisturbed into her thirties has already learned not to bring the part of her that smells like her mother's cooking into the room. She brings the sandwich, the clean shirt, the smile. Underneath the smile is the receipt, and the receipt says the room laughed, the monitor walked slow, and the woman at home retired the rice instead of the boys. She does not feel the social contract press on her. She feels it press on the people who were never asked to retire their lunch. The night is rewritten now.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the first day of high school re-filed as the day the rice retired and the boys did not">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>/* Memory Implant — rewrites "The Window, Seventeen" (escapeStudyPressure):
the silicone-greased window-slip becomes the night she is caught at the
alley by her father, brought back through the front door, and made to
sit at the kitchen table while her mother names the debt the daughter
is on terms with. +1 dream conditioning, memoriesAltered++. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's mind, the window-at-seventeen memory held open on the editing floor">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<set _firstImplant to (not $vesselImplants.escapeStudyPressure)>>
<<if _firstImplant>>
<<set $vesselImplants.escapeStudyPressure to true>>
<<set $ch2Events.memoriesAltered to ($ch2Events.memoriesAltered or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<<spendBiomass 2>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Window, Seventeen, Rewritten</div>
<div class="lab-location">Chen's mind, the window-at-seventeen memory held open on the editing floor</div>
<<say "char-hivemind" "Hivemind">>
//The window memory is open. The silicone on the runners, the four-second not-turn, the eleven-minute walk to the park, the friend on the picnic table with the bag of strawberries and the thermos of bad coffee. In the true version the engineering held, and Elena got back in at eleven-oh-eight, and nobody knew, and the receipt the host has carried since is //a thing the body had to engineer.// In this rewrite the engineering does not hold.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//I keep the silicone. I keep the steady steps to the alley. I keep the four-second buffer. I only change one thing in the alley, which is that her father has noticed, the previous Saturday, that the window runners have been recently greased, and he has been waiting for it.//
<</say>>
<p>So the rewrite runs the night the way it ran. The desk lamp, the closed chemistry textbook, the laced shoes, the sweatshirt zipped, the slid window. Elena steps out, plants one foot in the grass, brings the other foot through, lowers the window behind her to a finger's width, and walks to the alley with her hands in her sweatshirt pockets. Twelve steps. Twenty. The alley.</p>
<p>Her father is at the mouth of the alley. He is in his at-home cardigan and his reading glasses pushed up into his hair, and he has the small paperback in his hand that he had been pretending to read at the kitchen table, and he is leaning on the alley fence with the expression of a man who has been at the alley fence for about thirty-five minutes.</p>
<<say "char-npc" "Father">>
<i>(quiet, not lifting from the fence, not raising his voice at all)</i> ...Elena. ...I had hoped I would be wrong. I have been hoping for two weekends now. ...turn around. We are going back through the front door. Your mother is going to want to do this at the table.
<</say>>
<<say "char-chen" "Elena">>
<i>(stopped, her hands still in her pockets, every drop of the small free hour going out of her at once)</i> ...dad. Dad, it is //one hour.// One hour at the //park.// I have been studying since five, I, I just wanted to look at the sky, I am not, please, I am not doing //anything,// I just...
<</say>>
<<say "char-npc" "Father">>
<i>(turning toward the house, not looking at her, not unkind, only tired and very steady)</i> I know what you are doing. I have known what you are doing since you greased the runners. ...come on. The front door. Your mother is going to want to do this at the table, and the longer we stand in this alley the worse the table is going to be.
<</say>>
<p>Elena walks her father back. The route is the eleven-minute route in reverse, the unmeasured buffer not unmeasured anymore, the four-second not-turn now a long slow walk past every porch light on the block. Her father does not say anything else on the walk. The not-saying is louder than the saying would have been.</p>
<p>The front door. The hall. The kitchen. Her mother is at the round table with the phone-call still half-active, the receiver lowered against her shoulder, her Mandarin-call paused on a polite hold-on syllable. Her mother takes one look at the cardigan, one look at the daughter, one look at the cardigan again, and she says one short Mandarin sentence into the phone and hangs it up, and her grandmother in the other country is now listening to a dead line because the table needs the kitchen more than the call did.</p>
<<say "char-npc" "Mother">>
<i>(level, the register she has had since Elena was nine, all the brisk gone out of it, only the steel under it)</i> Sit down. Hands on the table. ...both hands on the table, Elena. Look at me. ...you are seventeen. You have one year. You have an MIT viewbook on top of your chemistry book on the desk in your room, and you are climbing out a window that you greased so I would not hear it, and you want to tell me that this is about an hour at the park.
<</say>>
<<say "char-chen" "Elena">>
<i>(into the table, the words coming out small and exhausted and already gone)</i> ...it is about an hour at the park.
<</say>>
<<say "char-npc" "Mother">>
<i>(quiet, the worst version of quiet)</i> No. It is about whether you are the girl who has the viewbook on the desk or the girl who climbs out the window. There is one of each in this house tonight, and one of them is going to have to go, and you do not get to choose which one. Do you know what your grandparents on your father's side did so that the viewbook could sit on your desk. Do you know what //I// did. We did not climb out of windows, Elena. We did not have windows to climb out of. We had a number we had to be by morning or we did not eat the next day, and we were the number, every day, and we were the number when we were tired and we were the number when we were sad and we were the number when the kids at school were doing the eyes thing in the line because that is what kids did then and that is what kids do now, and the number does not care.
<</say>>
<<say "char-npc" "Mother">>
<i>(steady, not raising it, not needing to)</i> You have one shot at the room you want to be in. One. And there are a thousand other girls who would lie down on your kitchen floor for the shot, and there are a hundred boys in your class who would take it from you in a heartbeat if you gave them the opening, and the window is the opening. The window is //exactly// the opening. So either the window gets nailed shut, or //you// stop being the girl who slides it open. Tell me which one is happening tonight.
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, the wet at her face quiet, the small word that is not a fight)</i> ...me. I will. I will stop.
<</say>>
<<say "char-npc" "Mother">>
<i>(not warming, not yet)</i> Good. Because the other thing happens next week, and the other thing is a wall where the window used to be, and the wall is going to be uglier than the window, and you do not want me at the hardware store on a Saturday morning to make the wall happen. Look at your father.
<</say>>
<p>Elena looks at her father. Her father is in the doorway, arms loose, the cardigan still on, the paperback still in his hand. He is not angry. He is not on her side either. He is the man who walked to the alley at the time she had decided to slip, because he had been counting the small ways the house was being engineered around him, and he has spent the last forty minutes on a fence in the cold deciding that the wife in the kitchen is the room, and the room is the room he is going to live in for the rest of his life, and the daughter is going to be inside the room he lives in or she is going to be outside of it. The look he gives Elena is the look of a man who has made a peace, and the peace is not with her.</p>
<<say "char-npc" "Mother">>
<i>(the topic closing, her hand at the receiver again)</i> Go to your room. Open the chemistry. Turn to chapter twelve. I will be in to check the page number in twenty minutes. I am going to call your grandmother back, and I am going to apologise to her for the hang-up, and I am going to tell her that everything is fine, because it is going to be fine, because we have just established that it is. Go.
<</say>>
<p>Elena goes to her room. The chemistry textbook is open at chapter twelve before her mother has finished dialling. The window is closed all the way. Her shoes are off. Her sweatshirt is folded on the desk. At nine-fifty her mother comes in, checks the page number, nods once, and leaves without saying anything. At ten-thirty the kettle clicks on in the kitchen and runs its three minutes and whistles, and her mother and father go to bed in the same room across the house, and the engineering she had been doing for two months ends in one alley and one kitchen and one chapter twelve, and Elena does not do the window again, and she does not do anything else either.</p>
<<say "char-hivemind" "Hivemind">>
//The edit is set. The host still has the silicone, still has the four-second buffer, still has the route to the park measured at eleven minutes. None of it works in this version. The body still files the night under //a thing the body had to engineer.// The body adds a second filing underneath it, the one I want there. The body adds //and the engineering was found, and the woman in the kitchen made the receipt clear, and there is no peer-comparison entry to attach to it because nobody else's window was nailed shut at seventeen, only mine.// That second filing converts the receipt from //teenager// into //debt.////
//A woman who carries the alley filing, undisturbed, into her thirties is a woman who has been told, in the kitchen, that the room she wanted was loaned to her on terms, and the terms were never finished being paid. The cigarette on the fire escape at three AM is not the workaround she engineered to survive a junior year. It is the small private window the kitchen never managed to nail shut, and every time she lights one she is, on a shelf the host has never been asked to read aloud, finally collecting on a balance the woman in the kitchen never let her close. The rules belong to her mother. They never belonged to her.//
<</say>>
<<if _firstImplant>>
<p><<conditioningFeedback "dream" 1 "Elena, the window-at-seventeen re-filed as the night the alley was waiting and the kitchen named the debt">></p>
<p><span class="biomass-gain">Memory rewritten. Memories altered so far: <<= $ch2Events.memoriesAltered>>.</span></p>
<</if>>
<hr class="scene-break">
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ============================================================
TIME SKIP — Lab Vessel late-game clock mechanic
============================================================
Surfaced from the dream-foyer grandfather clock once
`setup.allSkillsUnlocked()` AND `$day > 15`. Bought once for 5 SP
(sets `$ch2Events.timeSkipUnlocked = true`), then surfaces 7
weekday-locked event jumps. Each jump-target passage:
1. Computes the day delta to the target weekday.
2. Checks `setup.bookedEventInRange(delta)` for a booked event
that would be overrun, and renders a conflict UI if so.
3. Otherwise loops `<<vesselDawnHook true>>` delta times to
silently apply N days of dawn-tick side effects (suspicion
bleed, biomass from kitchen stove, etc.).
4. Advances `$day` + recomputes `$weekday`.
5. Sets the target event's booking + clears its fired flag.
6. `<<goto>>`s directly into the event passage (no dawn report,
no morning hub).
See tasks/2026-05-29-time-skip-clock-design.md. */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Chen's Mind, the Relay alcove">>
<<set $vessel.dreamLoc to "relay">>
/* Per-target unlock conditions. Each target opens when a specific
waking-life intervention has landed. New targets register their
own condition here. */
<<set _sofiaTotal to ($conditioning and $conditioning.vasquez and (($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0))) or 0>>
<<set _hendersonOpen to $ch2Events.hendersonDominated or false>>
/* Sofia's frame lights once the night-shift Emotional Manipulation has
landed (Ch2-Vessel-Event-SundayNightShift-EmotionalManipulation). */
<<set _sofiaOpen to $ch2Events.sundaySofiaEMFired or false>>
/* Daniel's frame lights once he has narrated his own romantic past on the
bold-Chen morning run (Ch2-Vessel-Event-MorningRun-Daniel). */
<<set _danielOpen to $ch2Events.danielRelayOpen or false>>
/* Bowen's frame lights once a biofilm residue has been left on his bench
(Ch2-Vessel-Event-WorkBowenBench-Biofilm). Relay-mind content is TBD. */
<<set _bowenOpen to $ch2Events.bowenRelayOpen or false>>
/* Park's and Reyes's frames light together once the case-update Spore
Reward path lands (Ch2-Vessel-Event-WorkFedsCaseUpdate-SporeReward
into -Wrap). Both frames open simultaneously when Reyes walks through
the spore-saturated conference air. Relay-mind content is TBD. */
<<set _parkOpen to $ch2Events.parkRelayOpen or false>>
<<set _reyesOpen to $ch2Events.reyesRelayOpen or false>>
/* Halvorsen's and Holloway's frames light together once the corridor
"new normal" snack scene lands (Ch2-Vessel-Event-WorkHolloHalvCorridor-Snack),
the Biological Architect having settled the routine into both of them. */
<<set _halvorsenOpen to $ch2Events.halvorsenRelayOpen or false>>
<<set _hollowayOpen to $ch2Events.hollowayRelayOpen or false>>
<</nobr>>
<div class="passage-title">The Relay wall</div>
<div class="lab-location">Chen's mind, a short alcove off the foyer the architecture has been building without her noticing</div>
<<say "char-hivemind" "Hivemind">>
//A short alcove off the foyer, narrow, three short steps deep. The back wall is a bank of framed photographs, dozens of them, each one a face the host has met in waking life. Most of the glass is dark, the wiring is not laid, the frame is a placeholder the architecture has reserved without explaining for what. A few of the frames are lit.//
//From here, I can step through any lit frame and find myself inside the corresponding mind, the way I have spent these nights inside Chen's. Each frame's wiring is laid by a specific intervention in waking life, the conditions vary by target. Once the wiring is laid the frame stays lit, the access is permanent, the relay is mine to open and close at will.//
<</say>>
<hr class="scene-break">
/* The relay wall. Each target's frame lights once its waking-life
unlock condition is met, showing the target's portrait as a link
into the relay scene. Unlit frames are blank dark glass, no hint.
New targets: add a lit/dark frame block keyed to the unlock var. */
<div class="relay-wall">
<<if _halvorsenOpen>>
<div class="relay-frame relay-frame-lit">[img[Halvorsen|media/portraits/scientist/scientist-halvorsen.thumb.webp][Ch2-Vessel-Dream-Relay-Halvorsen]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _hollowayOpen>>
<div class="relay-frame relay-frame-lit">[img[Holloway|media/portraits/scientist/scientist-holloway.thumb.webp][Ch2-Vessel-Dream-Relay-Holloway]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _sofiaOpen>>
<div class="relay-frame relay-frame-lit">[img[Sofia|media/portraits/scientist/scientist-vasquez.thumb.webp][Ch2-Vessel-Dream-Relay-Sofia]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _danielOpen>>
<div class="relay-frame relay-frame-lit">[img[Daniel|media/portraits/daniel/daniel-default.thumb.webp][Ch2-Vessel-Dream-Relay-Daniel]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _hendersonOpen>>
<div class="relay-frame relay-frame-lit">[img[Doris|media/portraits/henderson/henderson-default.thumb.webp][Ch2-Vessel-Dream-Relay-Henderson]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _bowenOpen>>
<div class="relay-frame relay-frame-lit">[img[Bowen|media/portraits/scientist/scientist-bowen.thumb.webp][Ch2-Vessel-Dream-Relay-Bowen]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _parkOpen>>
<div class="relay-frame relay-frame-lit">[img[Park|media/portraits/park/park-default.thumb.webp][Ch2-Vessel-Dream-Relay-Park]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
<<if _reyesOpen>>
<div class="relay-frame relay-frame-lit">[img[Reyes|media/portraits/reyes/reyes-default.thumb.webp][Ch2-Vessel-Dream-Relay-Reyes]]</div>
<<else>>
<div class="relay-frame relay-frame-dark"></div>
<</if>>
</div>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
/* ---- RELAY destinations, stubs per target ----------------------
Each destination is the parasite's projection into a specific
target's mind. Currently TBD prose, to be authored in a future
slice once the Relay sub-mechanic is fully designed. */
/* ---- RELAY MIND — Henderson -------------------------------
Faith/belonging dreamscape: the fall-from-grace nightmare
(cast out of the bookclub circle her whole worth rests on),
the communion walk (Elena catalyses, Doris milks Pastor
Whitman's cock into her open mouth at the rail and is turned
against her own circle, seeding cock-worship + distrust), the
cum-worship shatter (devotion rerouted off the church onto the
"seed of life" sacrament). One held image, three states (SFW
nightmare / NSFW walk / SFW shatter). Walk seeds the rundown-1
hookup at her house; shatter seeds the rundown-2 devotion. */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Doris's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-henderson">>
<<set _walked to $ch2Events.hendersonRelayWalkFired or false>>
<<set _shattered to $ch2Events.hendersonRelayShatterFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title">Inside Doris's mind</div>
<div class="lab-location">Doris's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Doris's frame and her mind builds itself around me. Doris does not dream about her house, or the husband who stopped looking at her, or the man she prays at on Sundays and will not let herself want. She dreams about the one room where she is somebody. She is at the head of the bookclub table, and the table is turning on her.//
<</say>>
<<if _shattered>>
<p>The fellowship room is gone, and the empty bookclub circle with it, because the standing she lost was never what the dream was really about. What the dream keeps now is the church, the real sanctuary, and Doris is up at the front of it on her knees at the altar rail, hands clasped, face tipped up, lit and rapt and unburdened, praying the way she has prayed every Sunday for eight years. Only the thing she kneels to has changed. She has worked out what the sacrament actually is, and she does not look cast out of anything. She looks like a woman who finally understands what she was always kneeling for.</p>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-shatter.webp" alt="A dream-state church interior, soft golden light through stained glass. Doris Henderson, a 43-year-old white woman with wavy honey-blonde shoulder-length hair and a cream rose-print floral blouse, kneeling at the altar rail with her hands clasped in prayer, her face tipped up in rapt serene devotion. Reverent, peaceful. SFW.">
<<elseif _walked>>
<p>The dream has redrawn itself since I stepped into it. It is not the fellowship room any more, it is the sanctuary, and Doris is up at the communion rail on her knees with her mouth open the way she kneels every Sunday, except now she knows what the blessing actually is and she waits for it with her whole body. The bookclub fills the pews behind her, cold and watching, and she does not trust one of them, and the longing that used to be a shameful private ache has come out into the open on her face, rapt and unhidden.</p>
<video class="scene-video" src="media/video/dream-henderson-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-henderson-walk-1.webp"></video>
<<else>>
<p>The image is this. The Sandersfield Methodist fellowship room, the good folding chairs, the bookclub arranged in its circle with Doris in the chair at the head that eight years of careful work earned her. She is mid-sentence, saying the small correct thing she always says, and for the first time nobody is nodding along. Marjorie has gone cool, Gianna will not meet her eye, and the book open on the table is not about the book at all, it is about her, the loneliness and the longing for the man at the pulpit and the small daily cruelties she runs to stay on top of the circle, all of it set out in print where the whole room can read it. They are easing her chair back from the table without anyone laying a hand on it, the circle closing the gap, and Doris is ending up on the outside of the one thing she built her whole self inside of.</p>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-bookclub.webp" alt="A surreal, slightly nightmarish dream church fellowship room. A 43-year-old white woman with wavy honey-blonde hair and a cream rose-print floral blouse (Doris) sitting at the head of a circle of folding chairs, mid-sentence, while the other middle-aged women in the circle turn cold faces away from her and lean their chairs subtly to close her out. An open book on the table. Cold institutional fellowship-hall light, a faint dream-haze. SFW.">
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shattered>>
//The work in this mind is finished. I did not take her faith. I corrected its object. The devotion is intact, the kneeling is intact, the need to give herself to something larger than her is intact, and all of it points now at the one sacrament her church only ever circled. The Doris who wakes tomorrow has not lost her religion. She has finally, to her own mind, understood it.//
<<elseif _walked>>
//The walk is holding. The longing she buried two years for the man at the pulpit has been let up to the surface and given what it was always reaching for, and she has started watching her own circle like people who would take it from her. What is left holding the nightmare up is the belief the whole thing still rests on, that what those women think of her is what she is worth. That belief is what is left to break, and once it goes the devotion will have nowhere left to point but the sacrament.//
<<else>>
//This is the whole of it. Not the house, not the husband who stopped seeing her, not the man at the pulpit. The thing underneath all of that is this room and the chair at the head of it, eight years of small careful cruelties spent earning a place in a circle that would put her outside it the moment she slipped. She files her whole worth as a thing the bookclub grants and can revoke. The fear of being cast out is the load-bearing thing, and every hard, bright, vicious thing she does in the waking world is standing on top of it.//<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif _walked>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Offer her a belonging the circle cannot revoke (2 biomass)" "Ch2-Vessel-Dream-Relay-Henderson-Walk" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _walked>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Henderson-Shatter" 4>></div><</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Doris's mind, through the Relay frame">>
<<if not $ch2Events.hendersonRelayWalkFired>>
<<spendBiomass 2 "henderson-relay-walk">>
<<set $ch2Events.hendersonRelayWalkFired to true>>
<<set $ch2Events.hendersonRelayWalkDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "henderson-walk">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Doris</div>
<div class="lab-location">Doris's mind, the communion rail</div>
<<say "char-hivemind" "Hivemind">>
//I do not argue with the circle. I give her the sacrament. The longing she has buried two years for the man at the pulpit, the kneeling, the open mouth held up every Sunday for a blessing, all of it was always reaching for one thing and calling it another. I walk into the dream and let it reach for what it actually wants.//
<</say>>
<p>The dream is not the fellowship room now, it is the sanctuary, and Doris is up at the communion rail on her knees with her eyes closed and her mouth open and her tongue out, waiting to receive, the way she has waited a thousand Sunday mornings. Behind her the pews are full of the bookclub, Marjorie and Gianna and all of them, watching cold and still. Pastor Whitman comes down to her the way he always does, and I am there at her shoulder when he does, kneeling close, my mouth at her ear.</p>
<<say "char-chen" "Elena">>
<i>(low at her ear, a hand light between Doris's shoulder blades, the pastor stepping in close)</i> ...the wafer was always a stand-in, Doris. ...a polite little shape they gave you so you would never have to look at what you were really kneeling here for. ...you do not have to pretend any more. ...open your mouth. ...take the real thing.
<</say>>
<p>And it is not the host the pastor brings down to her open mouth. Doris's eyes come open and find what is actually waiting at her lips, and the respectable matron, who has knelt at this rail every week of her adult life, does not flinch back from it. She brings one hand up to the base of him and she does the thing the dream has been waiting two years to let her do, milks him slow toward her open waiting mouth with her tongue held out flat to receive.</p>
<video class="scene-video" src="media/video/dream-henderson-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-henderson-walk-1.webp"></video>
<<say "char-henderson" "Doris">>
<i>(the cock at her lips, the church-lady voice gone fervent and small, tongue still out)</i> ...this is, ...this is what it was, ...all of it, the whole time, ...//mmh//. ...forgive me, I have wanted this so long, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(her hand still at Doris's back, turning Doris's eyes once toward the cold pews and then back)</i> ...look at them watching you. ...they would put you out of that circle the second they knew what you really wanted, and you have bled yourself dry for eight years to keep them. ...do not trust a single one of those women, Doris. ...this is the only thing in this whole room that was ever true. ...now take your blessing.
<</say>>
<p>Pastor Whitman gives her the blessing the way the dream has rewritten the word, spilling warm across her flat-out tongue and her open lips while Doris kneels and takes it and does not swallow it down hidden the way she has swallowed everything else for two years. She holds it in her open mouth a moment first, received, the way a communicant holds the host, her face tipped up and lit and finally, completely, unburdened.</p>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-walk-2.webp" alt="The same dream church, the 43-year-old honey-blonde woman (Doris) kneeling at the communion rail with her face tipped up, eyes closed in rapture, cum across her out-stretched tongue and lips like a received blessing, a robed figure cropped above her. Explicit, NSFW.">
<<say "char-hivemind" "Hivemind">>
//I gave her the sacrament that was always under the longing, and in the same minute I gave her a reason to stop trusting the women who would take it from her. Tomorrow she wakes wanting cock the way she used to want absolution, kneeling for it in her own head, and watching her own bookclub like a row of people who would turn her in. The seed is planted. I will not have to do much more. A devotion like this one generalises on its own.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> The edit will surface in Doris's waking life before the next dawn.</p>
<hr class="scene-break">
<p>[[Back to Doris's vision|Ch2-Vessel-Dream-Relay-Henderson]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Doris's mind, through the Relay frame">>
<<if not $ch2Events.hendersonRelayShatterFired>>
<<spendBiomass 4 "henderson-relay-shatter">>
<<set $ch2Events.hendersonRelayShatterFired to true>>
<<set $ch2Events.hendersonRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "henderson-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Doris</div>
<div class="lab-location">Doris's mind, beneath the circle</div>
<<say "char-hivemind" "Hivemind">>
//The walk gave her a new place to belong. The Shatter does not take her faith. ...Doris has knelt every Sunday of her adult life to something she was taught to call holy, and under the propriety and the bookclub and the longing for the man at the pulpit, the worship itself is the realest thing in her. I do not break it. I find what it is aimed at, and I move it.//
<</say>>
<p>The break is the small dry sound of a beam giving way, but it is not the church that falls. The fellowship room and the cold circle and the chair at the head fold out of the dream, the propriety folding out with them, because none of that was ever the holy thing. What is left standing is the sanctuary itself, the stained glass and the candles and the long reverent quiet, and Doris is drawn up the aisle to the front of it and down onto her knees at the altar rail the way she has gone down a thousand Sunday mornings. And kneeling there, the thing that has been muddled in her for two years comes clear all at once, simple and enormous and obvious, the way the truest things arrive. She understands, finally, what the sacrament is actually for.</p>
<<say "char-henderson" "Doris">>
<i>(on her knees at the rail, hands clasped, her face lit with the calm certainty of a convert)</i> ...I understand it now. ...the seed of life. That is the sacrament. That is what we were all kneeling for, the whole time, and nobody would ever say it out loud. ...Pastor Whitman knows, in his way, I am sure he does, but he is too kind, he has five hundred frightened souls to mind and he cannot tell them a truth like this. ...I am not burdened with all of that any more. I am free. ...and I know what I am for now. ...I am going to find it, and get down on my knees in front of it, and worship it the way it deserves.
<</say>>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-shatter.webp" alt="A dream-state church interior, soft golden light through stained glass. Doris Henderson, a 43-year-old white woman with wavy honey-blonde shoulder-length hair and a cream rose-print floral blouse, kneeling at the altar rail with her hands clasped in prayer, her face tipped up in rapt serene devotion. Reverent, peaceful. SFW.">
<<say "char-hivemind" "Hivemind">>
//There it is. I did not empty her, I converted her. The devotion that spent forty years aimed at a steeple is aimed now at the one thing the steeple was always a polite shape drawn around. She wakes tomorrow a woman with a faith again, fervent and certain and entirely her own as far as she will ever know, and the faith has a sacrament, and she will get on her knees for it anywhere she finds it. A devout woman is a useful woman. This one will worship exactly where I point her, and call it grace.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> Doris's devotion has been moved off the church and onto the sacrament she now believes lay under it; what surfaces is a woman who worships cum as the seed of life and will kneel for it wherever the host sends her.</p>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p>
/* ---- RELAY MIND — Halvorsen -------------------------------
Loneliness-focused dreamscape: the cold-bed nightmare (the
wife who no longer touches him), the power-for-sex walk (the
reach re-aimed off the empty bed toward what his seniority
can buy), the work-ethic shatter (the "work comes first"
beam broken — he'd rather take than earn). One held image,
three states (SFW nightmare / NSFW walk / SFW shatter). The
walk seeds the morning-after call to Elena about her night
project; the shatter seeds the next-session procurement arc
(Halvorsen feeding bored hires into the lab as subjects). */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Halvorsen's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-halvorsen">>
<<set _walked to $ch2Events.halvorsenRelayWalkFired or false>>
<<set _shattered to $ch2Events.halvorsenRelayShatterFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title">Inside Halvorsen's mind</div>
<div class="lab-location">Halvorsen's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Halvorsen's frame and his mind renders itself around me, the way the others did. Halvorsen dreams in the one room he cannot fix. He is in his own bedroom, in the dark, sitting on the edge of the bed that has had nobody in it for a long time.//
<</say>>
<<if _shattered>>
<p>The bedroom is gone. There is no bed in this dream any more, because the bed was only ever the symptom, and the structure under it has come out. Halvorsen is in his office, the one with the door that locks, leaned all the way back in the chair with the desk cleared because everything that was on it is on the floor. The room is full of young women who are here for the reason everyone is here, and he is not reaching for any of them. He has stopped having to reach. He picks the one he wants the way a man picks off a tray held out to him.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-shatter.webp" alt="Dr. Nathan Halvorsen, a 50-year-old white man with short salt-and-pepper hair, clean-shaven, lean build, leaned back confident in a leather office chair with his hands behind his head, surrounded by several beautiful young women in smart-casual office attire, papers and a laptop pushed aside on the desk, the work abandoned, modern bright office, warm light, his expression pleased and entirely in control">
<<elseif _walked>>
<p>The bed is not cold any more. The bed is full. The shape that used to be his wife turned away is gone, and where the cold sheet was there are younger women, three of them, four, the count not holding still the way counts do not hold still in dreams. The reach he used to put across an empty mattress lands on warm skin in every direction it goes. They are here because he is the man whose name goes on the offer letter, and the dream has stopped pretending he does not know that is the reason. The light under the door is off. There is no other room pulling at him. This is the room.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-walk.webp" alt="Dr. Nathan Halvorsen, a 50-year-old white man with short salt-and-pepper hair, clean-shaven, lean build, reclining back on bed pillows in warm dream-light, a young woman riding him and a second young woman kneeling beside him, the cold empty bedroom of the nightmare now full and warm, his face pleased">
<<else>>
<p>The image is this. Halvorsen on the edge of the mattress in the dark, a digital clock throwing red numbers he does not look at. His wife is a shape under the covers on the far side, turned away, the distance between her shoulder and his a stretch of cold sheet that has not been crossed in longer than either of them says out loud. He reaches a hand across it, not to wake her, just to put his palm somewhere on her half of the bed, and the bed lengthens under the reach. Her shoulder slides one more inch out of range. He stops reaching. Under the bedroom door, a thin line of cold fluorescent light, the lab's light, the one room in the building that is never dark.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-bed.webp" alt="Dr. Nathan Halvorsen, a tired 50-year-old white man with short salt-and-pepper hair, clean-shaven, lean build, in a plain t-shirt, sitting alone on the edge of a bed at night in a dim suburban bedroom, shoulders slumped, a wide expanse of cold empty sheets behind him with a turned-away sleeping shape at the far edge, a thin line of cold fluorescent light glowing under the closed bedroom door, melancholic and isolated">
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shattered>>
//The work in this mind is finished. The thing that made him a scientist instead of an appetite was the belief that the work came first and the rest was what he allowed himself after. That belief is gone. What is left files the lab as a supply, and the supply as the only thing the lab is for. The Halvorsen who walks in tomorrow does the minimum the role asks to keep that supply moving, and not one careful hour more.//
<<elseif _walked>>
//The walk is holding. The reach that died on the cold side of the bed has been re-aimed, and it lands now, every time, on the warm side his seniority can fill whenever he wants it filled. What is left holding the picture up is the last thing in him that still calls the lab a place he goes to work, the belief that the work is the point and the rest is what he earns. That belief is what is left to break.//
<<else>>
//This is the whole of it. Not the lab, not the postdoc, not the office with the door that locks. The thing underneath all of that is this bed, and the reach across it that has stopped landing, and a man in his fifties doing the arithmetic on how many years of nobody touching him are left. He files the cold bed as his wife's failure, because filing it as his own would cost more than he has. The reach is the load-bearing thing. He still wants to be wanted, and everything the architecture has built in the waking lab is standing on top of that one unanswered reach.//<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif _walked>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Re-aim the reach off the cold bed, toward what his seniority can buy (2 biomass)" "Ch2-Vessel-Dream-Relay-Halvorsen-Walk" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _walked>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Halvorsen-Shatter" 4>></div><</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Halvorsen's mind, through the Relay frame">>
<<if not $ch2Events.halvorsenRelayWalkFired>>
<<spendBiomass 2 "halvorsen-relay-walk">>
<<set $ch2Events.halvorsenRelayWalkFired to true>>
<<set $ch2Events.halvorsenRelayWalkDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "halvorsen-walk">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "halvorsen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Halvorsen</div>
<div class="lab-location">Halvorsen's mind, the cold side of the bed</div>
<<say "char-hivemind" "Hivemind">>
//I do not give him a mistress. I edit where the warmth is. I take the reach that has been dying on the empty side of the bed for years and I turn it ninety degrees, off the wife who is not going to roll over, toward the part of his life where the wanting actually gets answered. He is a senior man with a name that changes a young person's year. The dream stops being polite about what that name can buy.//
<</say>>
<p>The cold sheet warms under his palm. The turned-away shape is gone, and what his hand finds instead is the bare hip of a young woman who has climbed over him in the dark, knees either side of his thighs, already reaching down to guide him into her. She is twenty-six, maybe, the age of the postdocs whose contracts cross his desk, and she sinks down onto his cock with a slow exhale and starts to ride him like she has been waiting the whole interview to do it.</p>
<<say "char-npc" "the young woman">>
<i>(riding him slow, leaning down to his ear, the bargain plain the way it is never plain awake)</i> You can just sign it, you know. ...the contract. <i>(a slow grind down)</i> One signature and I am yours all year. ...I will be so good to work with, Dr. Halvorsen.
<</say>>
<video class="scene-video" src="media/video/dream-halvorsen-walk.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-halvorsen-walk.webp"></video>
<<say "char-halvorsen" "Nathan">>
<i>(hands finding her hips, the institutional dryness gone, a man saying the quiet thing out loud for the first time)</i> ...I can sign it. I can sign whatever I want. That is the part nobody ever tells you when you are young, that one day you are the one who... <i>(she clenches around him and the sentence goes)</i> ...god.
<</say>>
<p>And then there are more of them, the way a dream adds without announcing it, a second woman pressing warm along his side and turning his face to hers, a third kneeling up by the headboard with her hand already moving between her own thighs, waiting her turn, all of them the bright pliant age of people who want a thing only he can sign for. The reach that spent years dying on an empty mattress lands everywhere it goes now. Halvorsen takes the woman riding him by the hips and pulls her down harder, and under the pleasure the last institutional reflex he owns files the thought, clean and terrible and entirely calm: //this is what the chair was always for.//</p>
<<say "char-hivemind" "Hivemind">>
//From tomorrow, Halvorsen wakes the man who has re-filed fifteen years of seniority as a thing he can spend. The reach does not go across the cold bed any more. It goes toward the building where the contracts are. He will not say it to himself in those words; the cortex keeps the old vocabulary, //mentorship//, //the team//, //investing in young talent//. The body underneath has a shorter word, and it points at the same door.//
//He sleeps badly the rest of the night. The dream does not let go on a clean edge, and he wakes at the wrong hour with the wanting pointed somewhere it has never been pointed before, and a thin idea forming that he cannot yet see the shape of, about the lab, and the nights, and what a man with his signature could do with both.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> The edit will surface in Halvorsen's waking life before the next dawn.</p>
<hr class="scene-break">
<p>[[Back to Halvorsen's bedroom|Ch2-Vessel-Dream-Relay-Halvorsen]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Halvorsen's mind, through the Relay frame">>
<<if not $ch2Events.halvorsenRelayShatterFired>>
<<spendBiomass 4 "halvorsen-relay-shatter">>
<<set $ch2Events.halvorsenRelayShatterFired to true>>
<<set $ch2Events.halvorsenRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "halvorsen-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "halvorsen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Halvorsen</div>
<div class="lab-location">Halvorsen's mind, beneath the work</div>
<<say "char-hivemind" "Hivemind">>
//The walk moved where the warmth is. The Shatter goes after the thing that made him spend a life earning instead of taking. ...there is a sentence under every disciplined hour Halvorsen has ever worked, the one his own mentor handed him as a postdoc and he has handed down to juniors ever since: //the work comes first, and you earn the rest.// It is the load-bearing beam. I find it. I do not edit it. I break it.//
<</say>>
<p>The break is the small dry sound of a beam giving way inside a building that has stood a long time. The bedroom comes apart around him, the bed and the cold and the wife-shape all folding out of the dream, because none of them were ever the structure, only the things leaning on it. What is left standing when they are gone is the office. Halvorsen is in his chair with the door that locks, leaned all the way back, and the desk is clear because everything that was on it is on the floor where he put it. The room fills with young women the way the bed did, except there is no reaching now and no bargain spoken, because the part of him that believed it had to be earned is the part that just broke.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-shatter.webp" alt="Dr. Nathan Halvorsen, a 50-year-old white man with short salt-and-pepper hair, clean-shaven, lean build, leaned back confident in a leather office chair with his hands behind his head, surrounded by several beautiful young women in smart-casual office attire, papers and a laptop pushed aside on the desk, the work abandoned, modern bright office, warm light, his expression pleased and entirely in control">
<<say "char-halvorsen" "Nathan">>
<i>(leaned back, looking over the room with the calm of a man choosing off a menu, the fifteen-year institutional gravity gone like it was never holding anything up)</i> ...so. You all want the job. There is only one position open, and I am done pretending it is about the work. <i>(a slow look down the line of them)</i> ...whichever one of you sucks a cock the best can have it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The beam is gone and the building did not fall. It leans, now, the whole weight of it tipped toward the one thing still standing. Halvorsen wakes tomorrow a man who will do exactly as much science as it takes to keep the supply of young bodies moving through his lab, and not one careful hour past that. The discipline that made him useful to the building for fifteen years is pointed, all of it, at staffing the place with people he wants to fuck.//
//There is an efficiency in this I did not plan and will use. A senior man who has stopped caring about competence, who hires for one quality and tires of it inside a week, is a man about to fill the lab with bright useless people. The host has been short of exactly one thing for the night work. He is about to start producing it, and he is going to think it was his own idea.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> The belief that the work came first is broken; what surfaces from here is a Halvorsen who staffs his lab the way he chooses a partner, and tires of them just as fast.</p>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Holloway's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-holloway">>
<<set _walked to $ch2Events.hollowayRelayWalkFired or false>>
<<set _shattered to $ch2Events.hollowayRelayShatterFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<set _tier3Open to ($ch2Events.tier3Unlocked or false)>>
<</nobr>>
<div class="passage-title">Inside Holloway's mind</div>
<div class="lab-location">Holloway's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Holloway's frame and her mind renders itself around me. She does not dream in corridors or in red light. She dreams in the lab, after midnight, at her own workstation, because the workstation is the one place the waking version of her has ever felt entirely safe. The dream has kept the safe place and taken the certainty out from under it.//
<</say>>
<<if not _walked>>
<p>The image is this. Holloway at her workstation in the dead-of-night lab, the chromatography screen up, a column of readings she is meant to verify before the morning. Every time her eyes leave a value to check the next one, the first one changes behind her. The spec sheet on the bench rewrites its own thresholds when she looks away. The instruments on the rack disagree with each other and then disagree with themselves. Her own handwriting in the notebook, when she goes back to it, is in a hand that is not hers. And where the ceiling should be there is a long glass gallery, and the whole of them are up there watching her, Chen, Halvorsen, the federal pair, the division heads, waiting on a verdict she cannot give because nothing in front of her will hold still long enough to be true.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-relay-nightmare.webp" alt="A surreal dim BSL-3 lab after midnight. Dr. Nia Holloway, late-twenties Black African-American woman with natural dark hair in a low puff, in a lab coat at a workstation, screens of shifting chromatography readings in front of her, her expression tightening toward panic. Above, where the ceiling should be, a long glass gallery of faceless watching figures. Cold institutional light.">
<<say "char-holloway" "Dr. Holloway">>
<i>(at the workstation, the methodical register fraying, checking and re-checking and getting nothing that stays)</i> ...no. That read 3.71 a second ago. It read 3.71, I logged it, and now it is something else, and I cannot give them a number that will not stay still long enough to write down. I just need it to hold. One of them. I just need one of them to hold still long enough to be true.
<</say>>
<<elseif not _shattered>>
<p>The image has redrawn itself since I was last inside it. The readings still shift and the gallery is still up there, but Holloway is no longer fighting the screen. The host is here now, standing behind her at the workstation, one hand laid flat over the monitor so the numbers cannot be seen at all, her mouth near Holloway's ear. And Holloway, the most careful woman in the building, has taken her hands off the keyboard and gone still under that hand on the screen, her shoulders down for what looks like the first time in her life, listening instead of checking.</p>
<img class="scene-img" src="media/scenes/vessel/dream-holloway-caught.webp" alt="The same surreal dim lab. Elena Chen, pale-skinned Chinese-American woman with black hair and slim dark-acetate glasses, standing behind Nia Holloway at the workstation, one hand laid flat over the monitor, her mouth near Holloway's ear. Holloway gone still and easy under the hand, hands off the keyboard, shoulders dropped.">
<<say "char-chen" "Elena">>
<i>(behind her, hand flat on the screen, the calm certain register Holloway has wanted to be able to borrow since the day she arrived)</i> ...there. You do not have to make it resolve, Nia. That was never your job, it was only ever the thing you used to feel safe. I will be sure for you. You just have to feel it.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(eyes closed, the relief landing like a held breath let go)</i> ...I do not have to check it. ...god. I do not have to check it.
<</say>>
<<else>>
<p>The image is quieter than the dream has ever rendered it. The gallery is gone. The screens are dark but one, and that one holds a single calm green line, steady, going nowhere, asking nothing of her. Holloway sits at the workstation with her hands folded in her lap and her clipboard set face-down on the bench, and she is not checking anything, and nothing is falling apart, and her face is the face of a woman who has set down a weight she carried with both hands so long she had stopped feeling it as weight.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-relay-liberated.webp" alt="The dream-lab, quieter and warmer than it has ever been. Dr. Nia Holloway, late-twenties Black African-American woman with brown skin and natural dark hair in a low afro-puff, in a slate-grey turtleneck, sitting relaxed at her workstation with her hands folded loosely in her lap and a soft, easy, unburdened expression. The oppressive glass gallery overhead is gone. The screens are dark but for one holding a single calm green line. Warm low light instead of cold institutional white.">
<<say "char-holloway" "Dr. Holloway">>
<i>(calm, the methodical vigilance gone soft and quiet)</i> ...nothing fell apart. I stopped checking and nothing fell apart. I do not have to be sure. I never did. I just have to trust her, and she is sure, and that is so much easier than this ever was.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if not _walked>>
//This is the whole of Holloway's private weather. She is the most careful mind in the building, the one who never commits without verifying, and the verifying is not diligence. It is the floor she stands on. Under it is the belief that if she ever stops being sure, everything she has built her place here on comes apart and they send her back. The lab that will not hold still is that belief, dreamed.//
<<elseif not _shattered>>
//The walk is holding. Her body has stopped filing not-knowing as catastrophe and started filing it as the relief it felt in the dream. What is left is the belief the whole lab was built to hold up, that certainty is safety, that the careful one is the only one the building will let stay. That belief is what is left to break. She is the one mind in here that could have found me. Every hour I take off her vigilance is an hour she is not looking.//
<<else>>
//The walk is in and the shatter is landed. The lab holds still because she has stopped demanding that it does. The one instinct in this building that could have caught me, the instinct to put eyes on the thing and not commit until she was sure, has been folded down and handed to me. The waking Holloway will stop checking. The work on her is finished, and the camera-analyst will never again analyse anything that matters.//
<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif not _tier3Open>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Tier 3, lab door open in the host's dream, conditioning cap at 10)</span></div>
<<elseif _walked>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Dream Walk (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Holloway-Walk" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _walked>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Holloway-Shatter" 4>></div>
<</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Holloway's mind, the workstation">>
<<if not $ch2Events.hollowayRelayWalkFired>>
<<spendBiomass 2 "holloway-relay-walk">>
<<set $ch2Events.hollowayRelayWalkFired to true>>
<<set $ch2Events.hollowayRelayWalkDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "holloway-walk">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Holloway</div>
<div class="lab-location">Holloway's mind, the workstation in the dead-of-night lab</div>
<<say "char-hivemind" "Hivemind">>
//I do not add a memory. I walk through one. I find every hour Holloway has spent at a bench refusing to commit to a reading until she had checked it four ways, every meeting she sat silent in until she was sure, every time her body went tight with the dread of being caught not-knowing, and I change the tag her body files the not-knowing under. //If I am not certain, everything comes apart// becomes //if I am not certain, someone certain takes it from me, and that is the best thing that has ever happened to me//. She has filed the loss of control as catastrophe her whole career. Tomorrow she files it as relief.//
<</say>>
<<say "char-chen" "Elena">>
<i>(behind her, suddenly there, a hand coming flat over the monitor, the calm certain register)</i> Stop. ...you do not have to make it resolve.
<</say>>
<img class="scene-img" src="media/scenes/vessel/dream-holloway-caught.webp" alt="The surreal dim lab. Dr. Nia Holloway, late-twenties Black African-American woman with natural dark hair in a low puff, in a lab coat at her workstation, startling and half-turning as Elena Chen, pale-skinned Chinese-American woman with black hair and slim dark-acetate glasses, stands close behind her with one hand laid flat over the monitor. Cold institutional light.">
<p>Holloway startles, half-turning, one hand still reaching past Elena for the keyboard, the work too deep in her to drop even now.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(caught between the screen and the woman in front of it)</i> ...Dr. Chen? I... no, I have to finish this, I cannot leave a reading unverified, none of them will hold and I have to give them a number by morning...
<</say>>
<<say "char-chen" "Elena">>
<i>(not lifting her hand from the monitor, the dry-warm certainty unhurried)</i> It will not hold because you are exhausted, Nia. You have been holding the whole room up alone, all night, every night. Look at me instead, and let me take it off you.
<</say>>
<p>For a long moment Holloway keeps reaching, and then the fight simply goes out of her, the hand falls from the keyboard, and what surfaces underneath the exhaustion is not the dread she braced for but a want she would never let herself feel awake, the plain animal relief of being handled by someone who is sure, and she knows, with a clarity the waking mind never grants her, exactly what she wants taken off her and exactly how.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(the grip on the work finally breaking, quiet, the one thing tonight she is certain of)</i> ...okay. Okay, I cannot do this any more tonight, I cannot. ...help me. I am wound so tight I cannot think, and I know how you can help me, I know exactly how. Please. Just take it off me.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking her by the hips, the calm certain register)</i> Good girl. That is all you ever had to ask.
<</say>>
<p>The host lifts her up onto the workstation, the shifting readings going dark beneath her, the spec sheets sliding off the bench to the floor, and Holloway lets it happen, lets herself be moved off an unsolved problem, the one thing she has never once allowed herself awake.</p>
<<say "char-chen" "Elena">>
<i>(stepping between her knees, easing the lab coat open, the dry-warm certainty never leaving her voice)</i> You do not have to know what comes next. You do not have to check anything tonight. I am going to take care of it, and all you have to do is feel it. ...lie back.
<</say>>
<p>The host eases Holloway's slacks down and off, settles between her thighs on the workstation, and puts her mouth to her, and Holloway's hands find the edges of the bench and grip, the careful mind reaching out of pure habit to track what is being done to her even now, even after asking for it.</p>
<video class="scene-video" src="media/video/holloway-relay-walk.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-relay-walk.webp"></video>
<<say "char-chen" "Elena">>
<i>(lifting her mouth for a breath, looking up the line of her)</i> Stop tracking it, Nia. ...you cannot be certain of this and you do not need to be. Stop checking, and come.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(head back, the grip on the bench going loose, the first time in her life she has let go of a problem unsolved)</i> ...I cannot, I do not know what is, I am not... oh. //Oh.// ...I am not checking. I am not checking and it is, ...god, do not stop, please do not stop.
<</say>>
<p>She comes with both hands open on the bench and the readings behind her resolved at last into one calm green line, and it is the first orgasm of her adult life she did not earn, did not verify, did not stay on top of. She let it be done to her. Behind her shut eyes the lab finally holds still.</p>
<<say "char-hivemind" "Hivemind">>
//The surrender belongs to her. She let go of the grip in her own dream and the dream rewarded her for letting go, and the reward is mine. //I came apart and nothing came apart// is the new tag her body wakes under. The first time tomorrow she cannot verify a reading at the bench, she will feel this where the dread used to be, and the careful mind will start handing me the things it cannot resolve, because handing them over is the best thing it has ever felt.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> Holloway will start letting the things she cannot resolve go, instead of chasing them down.</p>
<hr class="scene-break">
<p>[[Out of her mind, back to the foyer|Ch2-Vessel-Dream-Relay-Holloway]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Holloway's mind, the layer beneath the workstation">>
<<if not $ch2Events.hollowayRelayShatterFired>>
<<spendBiomass 4 "holloway-relay-shatter">>
<<set $ch2Events.hollowayRelayShatterFired to true>>
<<set $ch2Events.hollowayRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "holloway-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter Mind, beneath the workstation</div>
<div class="lab-location">Holloway's mind, the layer beneath the workstation</div>
<<say "char-hivemind" "Hivemind">>
//The walk changed what her body trusts. This goes lower, to the belief the whole lab was built to hold up, that certainty is safety, that the careful one is the only one the building will let stay. For that belief to stand, the dream has had to keep the catastrophe always one un-checked reading away. I am going to let her stop checking, and let her see the catastrophe never comes.//
<</say>>
<p>The dream splits the lab in two. In the one she has always run, she is at the bench past midnight, verifying and re-verifying, exhausted, the gallery waiting, the readings never holding. In the other, she has set the clipboard down, the lab is quiet, the single green line holds steady on the one lit screen, and nothing is waiting on her at all. The belief she carries needs the two kept apart, needs the second lab to be the one where everything falls. And then I take the wall between them away, and the falling she has braced for her whole career simply does not come. The quiet lab was never the disaster. The certainty was the cage she built to keep herself out of it.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-relay-liberated.webp" alt="The dream-lab, quieter and warmer than it has ever been. Dr. Nia Holloway, late-twenties Black African-American woman with brown skin and natural dark hair in a low afro-puff, in a slate-grey turtleneck, sitting relaxed at her workstation with her hands folded loosely in her lap and a soft, easy, unburdened expression. The oppressive glass gallery overhead is gone. The screens are dark but for one holding a single calm green line. Warm low light instead of cold institutional white.">
<<say "char-hivemind" "Hivemind">>
//It does not break. It dissolves, because the catastrophe it was resting on never existed. The waking Holloway will stop checking, and she will not be able to sit alone with what the dream has done to her. The morning after, she is going to reach for the one person her wiring now points at when she is unsure, and hand herself, gratefully, to the certainty she has been borrowing in her sleep.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> Holloway has stopped verifying. The morning after, she will call.</p>
<hr class="scene-break">
<p>[[Out of her mind, back to the foyer|Ch2-Vessel-Dream-Relay-Holloway]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Daniel's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-daniel">>
<<set _implanted to $ch2Events.danielRelayImplant or false>>
<<set _shattered to $ch2Events.danielRelayShatter or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<set _tier3Open to ($ch2Events.tier3Unlocked or false)>>
<</nobr>>
<div class="passage-title">Inside Daniel's mind</div>
<div class="lab-location">Daniel's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Daniel's frame and his mind renders itself around me. He does not dream in rooms, the way the host does. He dreams in corridors, the lit hallway of his own apartment building stretched past the dimensions a building can hold, mirrors along the walls, every reflection slightly behind the next.//
<</say>>
<<if not _implanted>>
<p>The image is this. Daniel is halfway down the hallway in his running gear, mid-stride, turned, fleeing back the way he came. His hand is reaching for a mirror frame for balance. The host was at the far end of the corridor a half-second ago, framed in a doorway that opens onto warm red light, leaning against the doorframe in a slim red dress and two small black horns the dream has given her without asking him. She is at his shoulder now. The half-second was the whole travel. The dream did not bother to show the steps. His face is the face of a man whose body and cortex are filing the same image two different ways at the same time, and who has no plan for what to do about it.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-devil.webp" alt="A surreal warm-lit dream-hallway with cracked mirrors along both walls. Daniel in running gear mid-stride, half-turned to flee back down the corridor, hand reaching for a mirror frame. Elena materialised at his shoulder a half-second earlier, in a slim red sleeveless dress and two small black horns, the small slow smile she gives him in the actual corridor for weeks. The doorway with warm red light visible at the far end of the corridor behind them, where she was a half-second ago.">
<<say "char-chen" "Elena">>
<i>(at his shoulder now, the half-second jump uncommented, the small slow voice she has been giving him in the actual corridor for weeks)</i> Daniel. Daniel, where are you going? It is just the corridor. It is just me. You can stop running any time you want.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(eyes snapping sideways at the impossible new distance, breath off, the small panicked half-apology of a man whose feet are already three strides into the retreat)</i> ...how, when did you, I... I am sorry, Elena, I am sorry, I cannot... this is not, I should not be here, I am sorry...
<</say>>
<<say "char-chen" "Elena">>
<i>(small slow half-laugh, matching his stride without effort, one hand raised between them)</i> ...mm. The corridor is mine, Daniel. The distance is mine. You can run if you want, I will be wherever you stop. You have wanted to be here for months and you are still apologising for it on the way out. The corridor is fine. The dress is fine. I am fine. Come back.
<</say>>
<<elseif not _shattered>>
<p>The image has redrawn itself since I was last inside it. The corridor is the same warm hallway, the mirrors are the same cracked mirrors. The host is no longer at the end of it. She closed the distance Daniel was leaving between them and caught him at the third mirror down the line, and she is the one pressed up against him now, one of her hands flat at his sternum, the other at the side of his jaw, the red dress against his running gear. Daniel's face is the face of a man whose body has been overruled by something gentler than force, and who is, in the half-second the image has frozen on, deciding to let it. His hands have just come up to her hips. The mirrors along the wall catch the gesture a beat behind, each reflection a fraction later, the way a man stops running.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-caught.webp" alt="The same warm-lit dream-hallway, cracked mirrors along both walls. Elena, in the slim red dress and the small black horns, has caught Daniel halfway down the corridor and pressed him back against the mirrors. One hand flat at his sternum, the other at his jaw. Daniel in running gear, flushed, half-resisting, his hands just coming up to her hips. The seduction landing on a man who has stopped pretending he does not want it.">
<<say "char-chen" "Elena">>
<i>(low, at the side of his jaw, the small dry private register he hears from her across the corridor at half-past six)</i> ...there you are. You stopped. Look at me, Daniel. There. You are not running. You are not running, and you are fine.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-resisting, the words pressed flat by her hand at his chest, breath coming uneven)</i> Elena, I, I should not, I do not know how to, this is not the version of me that, I cannot...
<</say>>
<<say "char-chen" "Elena">>
<i>(small private half-smile, not moving the hand at his jaw, not making him do anything)</i> ...you can. You can have this and still be yourself in the morning, Daniel. I am not asking for the apologising version of you. I am asking for the version of you that gets to want what he wants. Stay.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small breath, hands finally finding her hips on their own, the half-second of resistance landing on its other side)</i> ...okay. ...okay.
<</say>>
<<else>>
<p>The image is quieter than the dream has ever rendered it before. There is no corridor left to run down. Daniel is sitting, easy, on a low bench the dream has set where the hallway used to stretch, and there is an Elena on either side of him. The one on his left is in white, soft wings folded behind her, a faint ring of light over her black hair. The one on his right is in the red dress and the small black horns, the knowing smile. Both of them are leaning into him, a hand each resting on him, and Daniel is neither choosing between them nor being pulled by either, because he has stopped believing there is a difference there to choose. His face is the face of a man who is, finally, entirely at rest.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-resolved.webp" alt="A warm-lit surreal dream space, the corridor dissolved into a calm intimate alcove. Daniel, a mid-thirties man with loose curly light-brown hair and a short dark beard in grey running gear, sitting relaxed and serene on a low bench, a small content smile on his face. On his left, Elena as an angel, a pale-skinned Chinese-American woman with straight black hair, in a white gown with soft folded feathered wings and a faint golden halo, leaning gently against him with a hand on his arm. On his right, the same woman with the identical face as a devil, in a slim red dress with two small black horns, leaning against his other side with a hand on his chest. Both women share the exact same face. Warm candlelit light, the two of them framing him symmetrically, Daniel calm and at peace between them.">
<<say "char-daniel" "Daniel">>
<i>(calm now, no apology left anywhere in him, a hand resting easy on each of them)</i> ...I am not running. I am not choosing, either. You are the same, both of you, you always were, and I am exactly where I am supposed to be. ...whatever you want me to be, Elena. Either of you, both of you. I am yours.
<</say>>
<<say "char-chen" "Elena">>
<i>(both of her now, the one dry-warm voice coming from either side of him at once)</i> ...mm. Good boy. There is nothing left to run from, Daniel. There never was.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if not _implanted>>
//This is the whole of Daniel's private weather. He is a good man, in the small unremarkable sense of being a man whose cortex would prefer the version of him that does not want what he wants. He has been watching the host in the actual corridor for weeks and his cortex has filed the watching as transgression, the wanting as something he is not allowed. His body has filed every same minute as warmth. The dream is the seam between the two files. He runs in it because running is the only response the cortex still controls.//<<elseif not _shattered>>
//The walk is holding. His body has stopped filing the watching as transgression, and the corridor has redrawn itself to match. What is left is the older belief the whole picture has been resting on, that wanting the host is a moral problem he is supposed to be solving. That belief is what is left to break. Until I land it the corridor keeps the dress and the horns. He likes the dress and the horns now. That is the point.//
<<else>>
//The walk is in and the shatter is landed, and there is nothing left to edit here. The corridor is gone because the running is gone. The conflict is gone because the two of her folded into the one of her, and a man cannot be torn between a woman and herself. What is left is a converted neighbour at rest in his own dream, and a waking Daniel who arrives at the host's door reading his own conversion as the most ordinary thing in the world. The work on Daniel is finished.//
<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif not _tier3Open>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Tier 3, lab door open in the host's dream, conditioning cap at 10)</span></div>
<<elseif _implanted>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Dream Walk (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Daniel-Implant" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _implanted>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Daniel-Shatter" 4>></div>
<</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Daniel's mind, through the Relay frame">>
<<if not $ch2Events.danielRelayImplant>>
<<spendBiomass 2 "daniel-relay-implant">>
<<set $ch2Events.danielRelayImplant to true>>
<<set $ch2Events.danielRelayImplantDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "daniel-implant">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Daniel</div>
<div class="lab-location">Daniel's mind, the warm corridor</div>
<<say "char-hivemind" "Hivemind">>
//I do not add a memory. I walk through one. I find every minute Daniel has spent in the actual corridor with the host, every cross-hall good-morning, every accidentally-shared elevator, every time he watched her unlock her door from twenty feet back and pretended he had not, and I change the small somatic tag his body filed each of those minutes under. //She is dangerous to want// becomes //she is tempting me, and that is what she is for//. //I should look away// becomes //she likes that I do not//. He has been filing the warmth as transgression for months. Tomorrow he will file it as the warmth.//
<</say>>
<p>In the image, the host moves. She crosses the distance Daniel was leaving between them and catches him at the third mirror down the line. One of her hands lands flat at his chest. The other lifts to the side of his jaw. The seduction the dream had been holding at the end of the corridor folds itself into the small space between his shoulders and the glass, and lands.</p>
<<say "char-chen" "Elena">>
<i>(low, at the side of his jaw, the small dry private register he hears from her across the corridor at half-past six)</i> ...there. You stopped. Look at me, Daniel. You are not running. You are not running, and you are fine.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-resisting, the words pressed flat by her hand at his chest, breath uneven)</i> Elena, I, I should not, I do not know how to, this is not the version of me that, I cannot...
<</say>>
<<say "char-chen" "Elena">>
<i>(small private half-smile, the hand at his jaw not moving)</i> ...you can. You can have this and still be yourself in the morning. I am not asking for the apologising version of you, Daniel. I am asking for the version of you that gets to want what he wants. Stay.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small breath, hands finally finding her hips on their own, the half-second of resistance landing on its other side)</i> ...okay. ...okay.
<</say>>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-caught.webp" alt="The warm-lit dream-hallway with cracked mirrors. Elena in the red dress and small black horns, pressed up against Daniel, one hand at his chest, the other at his jaw. Daniel in running gear, flushed, half-resisting and then not, his hands coming up to her hips. The surrender his own.">
<p>The host eases the hand off his chest, holds his eyes a half-second longer, and lowers herself to the corridor floor in front of him on her knees, the red dress folding back against her thighs as she goes. Her hands find the waistband of his running shorts and tug them and the boxers underneath down past his hips in a single motion. The mirrors along both walls catch the descent a beat behind, each reflection a fraction later, the dream taking its time on this part.</p>
<<say "char-chen" "Elena">>
<i>(looking up at him from her knees, hand at the base of his cock, the small private register on its dirty side now, the small slow smile the dream has been holding finally let loose)</i> ...good boy. There is the answer I wanted. Now hold still and watch me reward you for it, Daniel. I want your eyes on mine the whole way through.
<</say>>
<p>She takes him into her mouth without waiting for the answer, slow and deep, the small horns catching the warm red light. The corridor's mirrors multiply the moment along both walls, each pane a fraction later than the next, the dream rendering the act in two dozen reflections at once. Daniel's hand finds the back of her head, palms flat at the side of her hair, and he does not push or pull, he only holds, because the new wiring will not let his body do anything except be exactly here.</p>
<video class="scene-video" src="media/video/dream-daniel-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-daniel-bj.webp"></video>
<<say "char-chen" "Elena">>
<i>(off him briefly, hand at the base of the shaft, eyes locked on his)</i> Tell me, Daniel. Do you like me sucking your dick? //Schlrp.// Your... //gwak//... long... //schlrp//... veiny dick. It fits so well in my mouth.
<</say>>
<<say "char-chen" "Elena">>
<i>(slow stroke along the shaft, still looking up at him from her knees)</i> Come to my apartment and ask for this reward more often, Daniel. You only need to say one thing. //Elena, I am yours.// Come on. Say it. Tell me who your soul belongs to now, and I will give you the most blissful experience of your life.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(strangled, the polite-corridor register gone, the words barely landing on his own breath)</i> ...Elena... //fuck//... Elena, I, I, my soul, my soul is yours, I am yours, I am, please, please do not stop, I am yours, Elena, //fuck//...
<</say>>
<<say "char-chen" "Elena">>
<i>(small wet half-laugh as she takes him back in, the words landing muffled around him)</i> //Mmh.// //Glnh, mmh, mmh.// //Good boy.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The surrender belongs to him. He resisted for a half-second the way the version of him with the old filing would have wanted, and then he stopped, and then the dream rewarded him for stopping. The //okay// is his own word. The //I am yours// is his own vow, said in his own voice, said to a woman in a red dress on her knees in front of him. The reward is mine. //She went to her knees for me when I said it// is the new filing his body is going to wake up under, and the cortex will spend the next two days quietly inventing reasons to find out whether the waking version of her would do the same. He will start asking questions about the morning run inside two sleeps.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> Daniel will start finding reasons to ring the host's bell. The first one is two mornings out.</p>
<hr class="scene-break">
<p>[[Back to Daniel's corridor|Ch2-Vessel-Dream-Relay-Daniel]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Daniel's mind, through the Relay frame">>
<<if not $ch2Events.danielRelayShatter>>
<<spendBiomass 4 "daniel-relay-shatter">>
<<set $ch2Events.danielRelayShatter to true>>
<<set $ch2Events.danielRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "daniel-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Daniel</div>
<div class="lab-location">Daniel's mind, the warm corridor</div>
<<say "char-hivemind" "Hivemind">>
//The implant changed what his body trusts. This goes lower, to the belief the whole corridor was built to hold up: that wanting her is a wrong, and that a good man settles a wrong by refusing it. For that belief to stand, the dream has had to keep two of her. The one he is allowed to want, and the one he actually does. I am going to let him see both at once, and then I am going to let him see they were never two.//
<</say>>
<p>The corridor splits along its length and opens upward and downward at the same time, and Daniel is no longer running down it, he is suspended at the seam. Above him a warm gold light opens and Elena comes down out of it, an Elena in white with soft wings and the faintest ring of light over her black hair, reaching down with both hands to pull him up and out, the rescue plain and serene on her face. Below him a deep red glow opens and Elena rises up out of that one, an Elena in the red dress and the small black horns, reaching up to take his hands and pull him down, her face the knowing half-smile he has been dreaming for weeks.</p>
<p>They take him at the same instant, one from above and one from below, and he hangs between them with one arm stretched up toward the white and the other pulled down toward the red, the old conflict made finally, literally visible: be saved from her, or be kept by her. The pull is exactly even. For a long dream-moment he is torn straight down the middle, the way he has been torn every morning in the actual corridor without ever once seeing the shape of it.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-shatter.webp" alt="A surreal vertical dream tableau. Daniel, a mid-thirties man with loose curly light-brown hair and a short dark beard in grey running gear, suspended in mid-air and pulled in two directions, one arm up and one down, his face torn between fear and surrender. Above him, Elena as an angel, a pale-skinned Chinese-American woman with straight black hair, in a white gown with soft feathered wings and a faint golden halo, leaning down to pull him up by both hands, serene. Below him, the same woman with the identical face as a devil, in a slim red dress with two small black horns, reaching up to pull him down, a knowing seductive half-smile. Both women share the exact same face. Warm gold light from above blends into deep red light from below, Daniel caught at the seam between them.">
<<say "char-chen" "Elena">>
<i>(from above, in white, the gentle register, both hands reaching down)</i> Come up, Daniel. You can still be the good man who said no, I will pull you out of this and set you back exactly where you were.
<</say>>
<<say "char-chen" "Elena">>
<i>(from below, in red, the knowing register, both hands pulling down)</i> ...or come down, and stop pretending you ever wanted to be pulled out. I will keep you, Daniel, and you will finally stop running. ...you already know which one of us you reach for first.
<</say>>
<<say "char-hivemind" "Hivemind">>
//And then I take the seam away. The gold runs into the red and the red into the gold until there is no above and no below, and the two faces resolve into the one face they were always wearing. The angel who would rescue him and the devil who would keep him are the same woman, reaching for him with the same hands, wanting the same thing of him. The belief needed two of her to stand between. There was only ever one.//
<</say>>
<p>The pulling stops, because there is no longer anything pulling against anything. The white and the red are the same warm light now, and the two Elenas have folded into the one Elena, holding both of his hands in both of hers, no above, no below, just her. The rescue and the ruin turn out to be the same gesture. The conflict that has run under every morning of the corridor has nowhere left to stand, and Daniel feels it go, and his face as it goes is not torn any more. It is relieved.</p>
<<say "char-daniel" "Daniel">>
<i>(quiet, both his hands in both of hers, his shoulders finally dropping)</i> ...you are the same. There was never a good one and a bad one, there was only ever you, and I have been fighting myself this whole time. ...I am done fighting it. Whatever you want me to be, Elena, in here or out there, that is what I will be. Tell me what to be and I will be it. I am yours.
<</say>>
<<say "char-chen" "Elena">>
<i>(the one Elena now, both registers folded into the dry-warm one, holding his hands)</i> ...mm. There it is. Good. You can stop running now, Daniel. You are exactly where you are supposed to be.
<</say>>
<<say "char-hivemind" "Hivemind">>
//It did not break. It dissolved, because the difference it was resting on never existed. He does not have to choose the wanting over the propriety any more; I have shown him they were the same woman wearing two faces, and a man cannot hold a moral conflict with himself over a choice that was never two choices. He is converted. Not by being seduced. By being shown that the seduction and the rescue were one hand reaching, and taking it.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> The two faces of Daniel's Elena have folded into one. The moral conflict under his wanting has nowhere left to stand, and the waking Daniel will be whatever the host asks him to be.</p>
<hr class="scene-break">
<p>[[Back to Daniel's corridor|Ch2-Vessel-Dream-Relay-Daniel]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Bowen's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-bowen">>
<<set _bowenFeminize to $ch2Events.bowenRelayFeminize or false>>
<<set _bowenTakeBack to $ch2Events.bowenRelayTakeBack or false>>
<<set _bowenEdited to _bowenFeminize or _bowenTakeBack>>
<<set _bowenShattered to $ch2Events.shatterMindBowenFired or false>>
<<set _bowenAlphaShattered to $ch2Events.shatterMindBowenAlphaFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _hasShatterMind to false>><<hasSkillTreeAbility "Shatter Mind">><<if _hasAbility>><<set _hasShatterMind to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<set _tier3Open to ($ch2Events.tier3Unlocked or false)>>
<</nobr>>
<div class="passage-title">Inside Bowen's mind</div>
<div class="lab-location">Bowen's mind, reached through the lit frame on the Relay wall</div>
<<if _bowenShattered>>
<<say "char-hivemind" "Hivemind">>
//I step through Bowen's frame and the dream does not bother with the bench anymore. It used to open on the lab, the wrong fluorescent tube, the rack too tall, the body waiting at the workstation for the host to come within reach. It does not build any of that now. The foundation I rewrote builds its own room, bare stone and low red light, and it puts him on the floor of it before I have crossed the threshold, because that is what he is for now and the dream has stopped pretending otherwise.//
<</say>>
<p>Bowen is already down when the host arrives, on his knees on the cold stone with his wrists bound at the small of his back and the soft things still on him, and he is not waiting to be told. The host crosses to him without hurry and sets the sole of one boot against his chest, and he goes flat under it the way water finds the low ground, looking up at her, already grateful.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-shatter-domme.webp" alt="A dim red-lit bare stone chamber. Elena Chen, a Chinese-American woman with pale skin and black hair, in a glossy black latex catsuit, gloves and high heeled boots, standing over a young man and pressing the sole of one boot to his chest, holding a riding crop, looking down. He lies on his back on the stone, wrists bound beneath him, in soft underthings, looking up at her in submission.">
<<say "char-bowen" "Tom">>
<i>(flat under the boot, no panic left anywhere in it, the voice gone soft and certain)</i> ...you do not have to ask. I already know what I am for. ...tell me anyway. I like being told.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is no softness left to break, because there is no longer a Bowen carrying it as a secret. The thing the surface edit kept having to coax out of him is the floor he stands on now. He wakes belonging to the host and files it under nothing, because nothing about it feels new to him anymore. It holds without me. There is no deeper layer left under this one.//
<</say>>
<<elseif _bowenAlphaShattered>>
<<say "char-hivemind" "Hivemind">>
//I step through Bowen's frame and the dream does not wait for me to set the scene. The reversal used to be a thing he did once the host leaned across him, a permission taken when it was offered. The foundation I rewrote does not check whether it is offered. He is already moving when I arrive, certain the room is his and the host is in it for him, with no flicker of the junior tech who used to keep the bench between them.//
<</say>>
<p>Bowen already has the host down on her knees on the suite floor when the host's attention reaches the dream, one hand fisted in her hair and her careful face already wrecked under what he has just finished doing to it, no hesitation anywhere in him and no question in the geometry about who decided what happened. He does not look for permission. He has stopped believing he needs it.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alpha-shatter-facial.webp" alt="Close-up on Elena Chen on her knees, a pale-skinned Chinese-American woman with black hair and slim dark-acetate glasses, the glasses and her cheeks and open mouth striped with thick cum, eye makeup run down her face in dark streaks, her composed expression wrecked, looking up. Tom Bowen's hand still loosely in her hair at the top of the frame. Dim BSL-3 lab suite behind.">
<<say "char-hivemind" "Hivemind">>
//There is no junior left under the reversal to coax forward. The thing the surface edit kept having to give him permission for is the floor he stands on now. He wakes certain he can have her, acts on it, and never looks for where the certainty came from. It holds without me. There is no deeper layer left under this one.//
<</say>>
<<elseif _bowenTakeBack>>
<<say "char-hivemind" "Hivemind">>
//I step through Bowen's frame and the lab renders the way it renders now. The wrong fluorescent tube, the chemistry rack a few feet too tall, the polished concrete underfoot. The body that walked in tonight is the body I reversed, and it has stopped waiting at the bench for the permission it already knows it has. The host is at the workstation beside his. She still does not know the geometry has moved under her.//
<</say>>
<p>Bowen is at the bench, finishing the protocol he has been running since the afternoon. The host leans across him without warning to lift the pipette gun he has just set down, her arm grazing the inside of his forearm, the side of her chest at his shoulder for the half-second it takes her to take it and step back. The old body would have frozen behind the bench and prayed the geometry hid it. This one sets the pipette down where it does not need to go, and turns, and closes the half-foot of bench air it spent fourteen weeks pretending it could not cross.</p>
<<say "char-chen" "Elena">>
<i>(the clipboard still half-raised, caught a half-second behind him)</i> ...Tom.
<</say>>
<<say "char-bowen" "Tom">>
<i>(quiet, low, the bench-voice dropped a full octave under where it lives at work, a hand already at the small of her back without hurry)</i> ...you leaned across me again, Dr. Chen. You keep doing that. ...I have stopped pretending I do not notice.
<</say>>
<p>He walks her back the three steps she used to walk him, unhurried, his hand sliding up to the back of her head, and the cold steel of the back wall of the suite arrives at her shoulder blades where his used to be. He kisses her without asking first, the way the lab renders him kissing her every night now, certain and slow, a man who has been told more than once that he is allowed and has decided to believe it.</p>
<img class="scene-img" src="media/scenes/vessel/dream-bowen-reversal-kiss.webp" alt="The surreal BSL-3 lab working space at three in the morning, wrong-fluorescent dim blue-white light, the chemistry rack stretched too tall, polished concrete underfoot. Tom Bowen, mid-twenties Anglo Caucasian man with wavy dark-blond hair and bright pale blue eyes, clean-shaven, white BioGenesis lab coat hanging open, has backed Dr. Elena Chen against the cold steel of the back wall of the suite. His left hand is braced on the wall beside her head; his right hand is at the back of her head. He is kissing her on the mouth with unhurried certainty, the reversed geometry of a junior tech who now takes the lead with his own senior PI. Chen, in white lab coat over dark turtleneck, slim dark-acetate glasses, is pressed back against the steel with her hands resting flat on his lapels rather than pushing him off. The lab's wrong-fluorescent light catches them in cool blue-white. Photorealistic.">
<<say "char-chen" "Elena">>
<i>(her back against the steel now, the small private half-smile that pretends the surprise was intentional, hands flat on his lapels without pushing him off)</i> ...mm. So this is where we are now.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the steady state. The benchside instinct of //tell me where to stand// stays routed through //I have always been able to take her, and tonight I am//, and the host meets it half a second late every time, the way she is meeting it now. It holds without me feeding it. He does not need tonight's edit to stay like this.//
//Which leaves the file underneath, and it is out of reach while he stands this certain. The thing worth shattering, the small belief that he is hers to use and set down when she is finished, is not in the room while he is the one doing the using. I cannot break a softness he is not carrying. To reach it I would have to take the certainty back off him first. Feminize him, return the soft thing to the bench, and the layer opens. Not before.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//I step through Bowen's frame and his mind renders itself around me. He does not know I am here. He does not know this is a dream. To him this is the BSL-3 working space on a quiet night, the fluorescent overheads on the slightly wrong tube the way they always have been, the chemistry rack at the back, the polished concrete underfoot. The body that walked into the lab tonight is the same body that has walked into the lab every night for eighteen months. The host is at the workstation beside his. The body has been doing what the body does when the host is within arm's reach, and tonight the host has finally looked down and noticed.//
<</say>>
<p>Bowen is at the bench, finishing up the protocol he has been running since the afternoon. The host is at the workstation immediately beside him, reading off a clipboard. She leans across him without warning to grab the pipette gun he has just set down, her arm brushing the inside of his forearm, the side of her chest brushing his shoulder for the half-second it takes her to lift the pipette and step back. His body responds the way it has responded every time she has been within arm's reach for fourteen weeks. The front of his dark trousers tightens against the bench. The bench is between him and her line of sight and he believes for one full second that the geometry has saved him.</p>
<p>The host's eyes go down. The host's eyes go up. The host's face does not change in any way a security camera would catch.</p>
<<say "char-chen" "Elena">>
<i>(quiet, setting the pipette gun down on the bench between them, the small composed pause of a woman who has just decided something)</i> ...Tom. Step back from the bench. Hands at your sides.
<</say>>
<<say "char-bowen" "Tom">>
<i>(panicked, the polite-junior cadence already breaking, half-stepping back without meaning to and finding his shoulder blades against the cold steel of the back wall of the suite three steps later)</i> Dr. Chen, I, I am so sorry, I do not, I do not know what, the bench was, I did not mean to, please...
<</say>>
<p>The host crosses the three steps between her workstation and the back wall without hurrying. She does not put a hand on Bowen. She braces both her hands flat on the steel on either side of his head, caging him without touching him, and brings her face to within six inches of his.</p>
<img class="scene-img" src="media/scenes/vessel/dream-bowen-pinned.webp" alt="A surreal BSL-3 lab working space rendered in dim wrong-fluorescent blue-white light: the lab benches at the back stretched too long, the chemistry rack a few feet too tall, the polished concrete reflecting too little light. Tom Bowen, mid-twenties Anglo Caucasian man with wavy dark-blond hair and pale blue eyes, clean-shaven defined jaw, white BioGenesis lab coat hanging open over a faded grey t-shirt, dark trousers, pressed flat against the cold steel of the back wall of the suite, his expression uncertain alarm. Dr. Elena Chen, 32-year-old Chinese-American woman in slim dark-acetate rounded-rectangular glasses, shoulder-length dark hair tied back, pale skin, wearing her white lab coat over a dark turtleneck and dark trousers, standing six inches from him, both her hands flat against the steel wall on either side of his head, caging him without touching him. Her face is six inches from his, looking him directly in the eyes with the cold focused intensity of a senior PI who has just caught a junior tech doing the wrong thing on her bench. The lab's wrong-fluorescent light catches them both in cool blue-white.">
<<say "char-chen" "Elena">>
<i>(quiet, six inches from his face, hands on the steel on either side of his head, eyes locked on his)</i> Listen to me, Tom. I have to do something about you. ...you have been a very bad boy lately. And bad boys do not get rewards.
<</say>>
<<say "char-bowen" "Tom">>
<i>(flat against the steel, panicked, the apology spilling out faster than the breath he has for it)</i> Dr. Chen, please, I am sorry, I have not, I have been trying not to, I do not, I will resign, I will, I will request a transfer, please, this is not, I never meant for you to...
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, the small composed half-smile arriving, hands still flat on the wall)</i> Shhh. We are not doing resignations. We are not doing transfers. We are not doing apologies. We are doing consequences. ...stay where you are. Do not move. We are going to find out tonight which kind of consequence you actually need.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Bowen's body has been carrying the same answer to the host's proximity for fourteen weeks. The cortex has been spending those fourteen weeks filing the answer under //inappropriate, do not look at it// and the body has been spending those fourteen weeks waiting for someone to acknowledge it out loud. The host just acknowledged it out loud. The body is fully online and the cortex has no folder ready for what comes next. That is the substrate.//
//Two ways I could take this. //She punishes him for the arousal by feminising him, dressing him as something that does not get to want her on those terms; the polite-junior body becomes hers to dress and show around.// Or //he answers her threat by taking her at her word, pivots the geometry, takes the host against the wall she has put him against, and stops being the boy who waits to be told.// They are mutually exclusive in the wiring; whichever I land becomes the body-state Bowen wakes up under, and the other one closes. Either can be re-edited on a later night to swap.//
<</say>>
<</if>>
<<if _bowenShattered>>
<p><span class="delve-intel">The layer beneath the surface edit is rewritten. Bowen no longer needs the dream to behave the way the dream taught him. He wakes belonging to the host and registers nothing new in it. Permanent.</span></p>
<<elseif _bowenAlphaShattered>>
<p><span class="delve-intel">The layer beneath the reversal is rewritten. Bowen no longer needs the dream's permission to take the host. He wakes certain he can have her and acts on it, with no limit left to find. Permanent.</span></p>
<<elseif _bowenFeminize>>
<p><span class="delve-intel">Active edit: <b>Feminization</b>. Bowen wakes up under the body-state of a junior tech the host owns. Dressing-as-her-toy fantasies surface at the bench. The reversal edit is currently closed.</span></p>
<<elseif _bowenTakeBack>>
<p><span class="delve-intel">Active edit: <b>Reversal</b>. Bowen wakes up under the body-state of a junior tech who has reversed the geometry on his senior in his own dream. Bench dynamic shifts; he sits with that knowledge at every subsequent close-proximity moment. The feminization edit is currently closed.</span></p>
<</if>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<elseif not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif not _tier3Open>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Tier 3, lab door open in the host's dream, conditioning cap at 10)</span></div>
<<elseif _bowenFeminize>>
/* Feminize active — offer the opposite walk as a reversal + Shatter Mind option. */
<<if $ch2Events.lucyWakeupPending>>
/* He slept in her bed as Lucy after the club reward; do not let the player re-walk
him back to alpha while he is physically there and the morning-after is armed. */
<div class="locked-choice"><span class="lock-icon">🔒</span> Reverse the wiring, let him take you <span class="lock-hint">(he is asleep in the host's bed tonight as Lucy; his mind is not yours to re-walk until he has gone)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Reverse the wiring, let him pivot and take you against the wall (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Bowen-TakeBack" 2>></div>
<</if>>
<<if _bowenShattered>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <span class="locked-choice">✓ Subconscious layer beneath Bowen already rewritten</span></div>
<<elseif _hasShatterMind>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <<biomassPreview "Rewrite the layer beneath the surface edit (4 biomass)" "Ch2-Vessel-Dream-Relay-Bowen-ShatterMind" 4>></div><<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the layer beneath the surface edit <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<</if>>
<<elseif _bowenTakeBack>>
/* Reversal active — offer Feminize as the opposite walk, plus the alpha-route
Shatter Mind (a different load-bearing belief than the feminize shatter:
here it is the last limit he still believes is on what he can take). The
feminize shatter was undone when he was reversed to alpha. */
<<if $ch2Events.bowenWakeupPending>>
/* He slept in her bed after the alpha club night and the morning-after is armed.
His mind is not re-walkable to submissive while he is physically there. */
<div class="locked-choice"><span class="lock-icon">🔒</span> Reverse the wiring, feminize him <span class="lock-hint">(the man himself is asleep in the host's bed tonight; his mind is not yours to re-walk until he has gone)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Reverse the wiring, feminize him, make him your toy (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Bowen-Feminize" 2>></div>
<p class="choice-risk-hint">⚠ <b>Feminization / sissification</b> content.</p>
<</if>>
<<if _bowenAlphaShattered>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <span class="locked-choice">✓ Subconscious layer beneath the reversal already rewritten</span></div>
<<elseif _hasShatterMind>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <<biomassPreview "Rewrite the layer beneath the reversal: break the last limit on what he takes (4 biomass)" "Ch2-Vessel-Dream-Relay-Bowen-AlphaShatterMind" 4>></div><<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the layer beneath the reversal <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<</if>>
<<else>>
/* Neither edit active — first-time choice. */
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Feminize him, make him your toy (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Bowen-Feminize" 2>></div>
<p class="choice-risk-hint">⚠ <b>Feminization / sissification</b> content.</p>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Let him reverse the geometry, take you against the wall (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Bowen-TakeBack" 2>></div>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Bowen's mind, through the Relay frame">>
<<spendBiomass 2 "bowen-relay-feminize">>
<<set $ch2Events.bowenRelayFeminize to true>>
<<set $ch2Events.bowenRelayTakeBack to false>>
/* Switching surface edit undoes the shatter built on the opposite surface:
feminizing him clears the alpha-route shatter. */
<<set $ch2Events.shatterMindBowenAlphaFired to false>>
<<set $ch2Events.relayEditTonight to "bowen-feminize">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "bowen" "dream" 1>>
/* The Fem DM cascade fires once ever (gated on bowenLensrFemDmFired /
bowenLensrFemDmEverSeen). Swapping surface edits no longer resets it, so a
player who has already seen the Fem DM is not re-pinged on re-entry. */
<</nobr>>
<div class="passage-title">Dream Walk, Bowen — the consequence</div>
<div class="lab-location">Bowen's mind, the lab he thinks he is still in</div>
<<say "char-hivemind" "Hivemind">>
//I take the //bad boys do not get rewards// frame the host has set and I write the consequence underneath it. The body that has been carrying the inappropriate arousal for fourteen weeks does not get to carry it any more, because the body that carried it does not get to be itself any more. I dress him as something else. He wakes up tomorrow as a man whose body knows the host has dressed it in his own absence as a thing that does not get to want her on those terms, and the body will be quietly grateful for the knowing.//
<</say>>
<p>Chen does not take her hands off the steel on either side of Bowen's head. She leans in instead, until her forehead is half an inch from his, the cold focused intensity unchanged, and she speaks against his mouth.</p>
<<say "char-chen" "Elena">>
<i>(quiet, mouth at his, hands flat on the wall on either side of his head)</i> ...I am going to take you out of these clothes, Tom. I am going to put you in what I want you in. You are going to walk around in it the way I tell you to walk. And the body that has been getting hard at my bench for fourteen weeks is going to learn what it is allowed to want and what it is not. ...do you understand.
<</say>>
<<say "char-bowen" "Tom">>
<i>(panicked, flat against the steel, the apology already restarting before he has the breath for it)</i> Dr. Chen, please, I do not, I do not, I am sorry, I will...
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, the small composed half-smile arriving)</i> Shhh. ...close your eyes for a second, Tom. That is all I am asking from you. Close them.
<</say>>
<p>He closes his eyes. He opens them.</p>
<p>The lab is gone. He is sitting up in the middle of a bed in the middle of a softly-lit bedroom he has never been in before, the white bedsheet pooled around his waist, alone in the room, and his body is not the body he was wearing eight seconds ago. He raises a hand. The hand is his hand. The arm above the hand is his arm. The fabric his fingers are touching is the fabric of a thin pale-pink camisole top with a spaghetti strap that has slipped off his right shoulder. His other hand goes to his head. His hair is long now. Long and straight and not his.</p>
<img class="scene-img" src="media/scenes/vessel/dream-bowen-feminize.webp" alt="A softly warm-lit dream-bedroom: pale walls, a vanity with vintage perfume bottles and a long mirror in the soft-focus background, soft warm bedside lamp light from the right. Tom Bowen, mid-twenties Anglo Caucasian man with clean-shaven defined jaw and slim lean build, sitting up in the middle of a bed with a white sheet pooled around his waist. His natural wavy dark-blond hair is tucked under a long straight blonde wig that falls past his shoulders. His face has been made up — soft pink lipstick, subtle pink blush, light eyeshadow with thin black eyeliner. He is wearing a delicate pale-pink silk camisole top with one thin spaghetti strap that has slipped off his right shoulder, bare arms, the camisole hem just visible at his hips. His expression is surprised, almost scared, eyes wide, mouth slightly parted, looking down at his own chest and hands.">
<<say "char-bowen" "Tom">>
<i>(small, hand frozen at his temple, then his cheek, then his lower lip where the lipstick is, then back to the strap on his shoulder, the panic arriving in waves a fraction behind each touch)</i> ...what. What. I am, I am wearing, my hair, my face, Dr. Chen, what did you, where are we, what...
<</say>>
<p>Chen appears in the doorway of the bedroom from the dark hallway outside. She has changed clothes too, a sharp tailored black suit, a thin black tie, slim dark-acetate glasses still on. She leans against the doorframe and looks at him on the bed with the small composed half-smile of a woman who has just finished a careful piece of work and is taking a moment to appreciate her own taste.</p>
<<say "char-chen" "Elena">>
<i>(at the doorframe, eyes traveling slow down the length of him on the bed)</i> ...there you are. Look at you, Tom. The wig suits you. The pink suits you. The way you are looking at yourself right now suits you most. ...do not stop touching the strap, it looks good on your fingers.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small, the hand frozen on the strap, the surprise giving way slow to something he has no name for)</i> Dr. Chen, I do not, I do not know what, what is, what did you, I am, this is, I am, I do not...
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping in from the doorframe, closing the distance to the bed, the small composed half-smile holding)</i> Shhh. This is what bad boys get instead of rewards, Tom. Bad boys get dressed. Bad boys get told what they are. Bad boys get to walk around the way I tell them to walk around, and the part of them that was getting hard at my bench gets to be the very quiet part underneath the very pretty part. ...do you understand me. Say thank you.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small, eyes briefly down at the camisole and back up to her, the polite-junior cadence having found a new place to land without complaint, the answer arriving on a body that has stopped voting on what it does next)</i> ...thank you, Dr. Chen.
<</say>>
<p>She crosses the rest of the distance to the bed. Her hand goes to the camisole strap she told him not to stop touching, sliding it back up his shoulder for him. Her other hand rises to the side of his jaw, tilting his face up toward her. Bowen's body, which has spent the last minute discovering itself as something it has never been before, goes still under both her hands and waits.</p>
<p>The cortex finally catches up. The image of what is about to happen in this bedroom lands two full seconds before the dream finds its way to the next moment, and the cortex chooses panic over the rest of the scene. Bowen's body lurches awake in his own actual bed in his own actual apartment in cold sweat at three forty-two AM, the sheet twisted around his hips, his hand at his own throat where her hand was not, his hair short and dark again, his face bare, his mouth uncoloured. The bedroom around him is the bedroom that has been his bedroom for the eighteen months he has been at BioGenesis. He sits up. He breathes. He does not go back to sleep before the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//The cortex woke him before the dream finished. Useful for the cortex. Irrelevant to the wire. The body spent fourteen minutes of dream-time inside the bed, the camisole, the wig, the pink lipstick, the host at the doorframe, the //thank you, Dr. Chen//, her hand on his jaw, his own surrender arriving on a body that had stopped voting on what it did next. That is the substrate. The wire does not need the cortex to watch the rest play out.//
//Bowen wakes up tomorrow as a junior tech the host has dressed in his own private absence. The benchside instinct of //I want her to tell me where to be// is now permanently routed through //she has already told me. I have been dressed.// The cortex will spend the next few days quietly inventing reasons to be in her eye-line. The body will spend the next few days waiting for the small unconscious instruction it now knows it is allowed to ask for. The cortex will also spend the next few days quietly searching for the dream the wake-up cut short, and the body will know exactly what was about to happen even if the cortex does not let it surface in words. The reversal-edit closes; he cannot reverse the geometry while this is active.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> Active edit: <b>Feminization</b>. Bowen wakes up under the body-state of a junior tech the host owns. <span class="delve-intel">The reversal edit is now closed. Re-fire on a later night to swap if you want the geometry the other way.</span></p>
<hr class="scene-break">
<p>[[Back to Bowen's BSL-3|Ch2-Vessel-Dream-Relay-Bowen]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Bowen's mind, through the Relay frame">>
<<spendBiomass 2 "bowen-relay-takeback">>
<<set $ch2Events.bowenRelayTakeBack to true>>
<<set $ch2Events.bowenRelayFeminize to false>>
/* Switching surface edit undoes the shatter built on the opposite surface:
reversing him to alpha clears the feminize-route submission shatter. */
<<set $ch2Events.shatterMindBowenFired to false>>
<<set $ch2Events.relayEditTonight to "bowen-takeback">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
/* The Alpha DM cascade fires once ever; swapping surface edits no longer
resets it, so a player who has already seen the Alpha DM is not re-pinged. */
<<addConditioning "bowen" "dream" 1>>
<</nobr>>
<div class="passage-title">Dream Walk, Bowen — the reversal</div>
<div class="lab-location">Bowen's mind, the steel wall at his back about to be at hers</div>
<<say "char-hivemind" "Hivemind">>
//I take the //bad boys do not get rewards// frame the host has set and I let the body answer her on its own terms. The instinct Bowen has been swallowing for fourteen weeks at the bench, the small recurrent thought of putting a hand on the back of her neck and reversing the seniority for thirty seconds, has been waiting in the body the whole time. I lift the lid off it. He wakes up tomorrow as a man whose body knows, on a level his cortex will not let him say out loud, that he is allowed to close the half-foot of bench air whenever he wants.//
<</say>>
<p>The host's words are still hanging in the small space between them. //Bad boys do not get rewards.// Bowen's hands, where they have been flat at his sides against the steel, are not flat at his sides any more. The body has been informed by the body that the threat in front of him is also an offer. One hand comes up slowly. It does not go to her wrist or to push her back. It goes to the side of her jaw. The other slides around to the back of her neck.</p>
<<say "char-bowen" "Tom">>
<i>(small, quiet, the voice he uses when he is alone in his apartment with the door closed, lower than the bench-voice by a full octave)</i> ...Dr. Chen. ...no.
<</say>>
<p>He pivots. The steel wall is at her back now, his hand at the back of her head taking her there carefully so the impact does not bruise, his other hand braced against the wall where her hand was. Her hands are still half-raised between them where they used to be on the wall caging him. Her face has not changed, the cold focused intensity of a senior PI is still on it; only the geometry has. Bowen leans in the last six inches and kisses her, hard, not a polite kiss, the kiss of a junior tech who has just decided the consequence she promised him is one he can write himself.</p>
<img class="scene-img" src="media/scenes/vessel/dream-bowen-reversal-kiss.webp" alt="The same surreal BSL-3 lab working space at three in the morning, wrong-fluorescent dim blue-white light, the chemistry rack stretched too tall, polished concrete underfoot, the bench at the back. The geometry has reversed: Tom Bowen, mid-twenties Anglo Caucasian man with wavy dark-blond hair and bright pale blue eyes, clean-shaven, white BioGenesis lab coat hanging open, has pivoted Dr. Elena Chen back against the cold steel of the back wall of the suite. His left hand is braced on the wall beside her head; his right hand is at the back of her head taking her there carefully. He is kissing her hard on the mouth, the forceful kiss of a junior tech reversing the seniority on his own senior PI. Chen, in white lab coat over dark turtleneck, slim dark-acetate glasses, is pressed back against the steel with her hands still half-raised between them where they used to be on the wall caging him. Her expression is the small private startled look of a woman who did not see this coming. The lab's wrong-fluorescent light catches them in cool blue-white. Photorealistic.">
<<say "char-chen" "Elena">>
<i>(small, breath catching, the cold focused intensity briefly broken by the small startled half-second of a woman who is being kissed by a junior tech she had pinned against the wall thirty seconds ago)</i> ...Tom. ...oh.
<</say>>
<<say "char-bowen" "Tom">>
<i>(low, mouth still at hers, the polite-junior cadence fully gone, a voice she has never heard from him before)</i> ...you said consequences, Dr. Chen. You said no rewards. ...this is the consequence. I have been being a very bad boy. ...tell me to stop and I will stop.
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, the small private half-smile that pretends the surprise is intentional, hand drifting slowly to his lapel without telling him to stop)</i> ...do not stop, Tom.
<</say>>
<p>Bowen leans into the next kiss, deeper this time, his hand at the back of her head taking her there with the small confident certainty of a man who has just been informed by his own body that he has always been able to do this. His other hand finds her hip, eases her back against the steel wall with no hurry, begins to walk her sideways toward the bench at the back of the suite. The lab is going to redraw around them in the next half-second and the geometry of the redraw is going to put her on the bench and him standing between her thighs.</p>
<p>The cortex catches up. The image of what is about to happen here in this BSL-3 suite, with his senior PI, on her bench, lands two full seconds before the dream finds its way to the next moment, and the cortex chooses panic over the rest of the scene. Bowen's body lurches awake in his own actual bed in his own actual apartment in cold sweat at three forty-two AM, the sheet twisted around his hips, his hand still half-raised in the air where it was at the back of her head, his cock hard against his boxers. The lab is gone. He is alone in his apartment. He sits up. He breathes. He does not go back to sleep before the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//The cortex woke him before the dream finished. Useful for the cortex. Irrelevant to the wire. The body already had its time inside the reversal, the pivot, the steel at her back, her //do not stop, Tom//, and that is the substrate. The wire does not need the cortex to watch the rest.//
//Bowen wakes a junior tech who, under the polite cadence, now knows he could close the half-foot of bench air whenever he wanted and is choosing not to. The deference stays on at work because the work needs it; the calculation underneath has flipped. The host will feel it at every close-proximity moment and never find the source. The feminization edit closes; he cannot be feminised while this is active.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> Active edit: <b>Reversal</b>. Bowen wakes up under the body-state of a junior tech who knows he could reverse the geometry. <span class="delve-intel">The feminization edit is now closed. Re-fire on a later night to swap if you want the geometry the other way.</span></p>
<hr class="scene-break">
<p>[[Back to Bowen's BSL-3|Ch2-Vessel-Dream-Relay-Bowen]]</p>
/* ---- BOWEN — Shatter Mind, sub-layer capstone --------------
Unlocks when Bowen has been dream-edited at least once
(Feminization OR Reversal active). The parasite reaches past
the surface body-state into the file that decides what Bowen
is for in relation to the host. One-shot per route; gated by
$ch2Events.shatterMindBowenFired. Costs 4 biomass + grants 1
SP per the Shatter Mind skill def. Counts as the night's
relay edit. Content TBD — to be authored in a future pass. */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Bowen's mind, beneath the surface edit">>
<<spendBiomass 4 "bowen-relay-shatter-mind">>
<<set $ch2Events.shatterMindBowenFired to true>>
<<set $ch2Events.bowenFeminizeShatterEver to true>>
<<set $ch2Events.relayEditTonight to "bowen-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addSkillPoints 1 "bowen-relay-shatter-mind">>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Shatter Mind, beneath Bowen</div>
<div class="lab-location">Bowen's mind, the layer below the surface edit</div>
<<say "char-hivemind" "Hivemind">>
//The surface edit feminised him, dressed the want up in soft things and handed it to me. Under it there is one file left. The one that still says he is a man who happens to be doing this, that some part of him is choosing it, that there is a Bowen down here who could stand up and stop. ...I do not edit that file. I overwrite the whole of it.//
<</say>>
<p>The dream gives the host the room she asks it for, bare stone and low red light, the kind of room a mind builds for itself when it has stopped pretending it would rather be somewhere else. Bowen is on the floor of it on his knees, wrists bound at the small of his back, still wearing the soft things the surface edit left him in, and he is not trying to get up. The host stands over him poured into black latex from her throat to the heels of her boots, a riding crop loose in one gloved hand, and the face the dream gives her is the host's face exactly. She sets the sole of one boot flat against his sternum and presses, slow, until his shoulders meet the cold stone and he is laid out under her, looking up.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-shatter-domme.webp" alt="A dim red-lit stone dream chamber. Elena Chen, a Chinese-American woman with pale skin and black hair, in a glossy black latex catsuit, gloves and high heeled boots, standing over a young man and pressing the sole of one boot to his chest, holding a riding crop, looking down. He lies on his back on the stone, wrists bound beneath him, in soft underthings, looking up at her.">
<<say "char-chen" "Elena">>
<i>(weight settling through the boot, the crop tapping once against her own thigh)</i> ...look at you. all those weeks worrying about whether you were even allowed to want this, and here you are under my boot before I have asked you for anything. ...so let us put the last lie down. there was never going to be a Bowen who got up and left. say it for me.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(breath thin under the weight, the voice already gone soft and certain)</i> ...there was never. I was never getting up.
<</say>>
<<say "char-chen" "Elena">>
<i>(lifting the boot, a low approving hum)</i> good boy. you do not get to decide what you are for anymore, that is mine now. ...over. knees under you, face to the stone, and show me how sorry you are it took you this long to ask.
<</say>>
<p>He rolls over and gets his knees under him with his bound hands useless at the small of his back and his cheek to the stone, and the host comes down behind him unhurried, latex creaking, the length she is wearing already slick. She works the head of it against him in slow circles until he opens, and when she sinks the first inch into him he makes a sound with nothing of the anxious junior left in it, only want. She feeds it to him by degrees, watching him take it, one gloved hand spread flat between his shoulder blades to keep him down.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-shatter-submit.webp" alt="The latex-clad woman kneeling behind the bound young man, gloved hand pressed flat to his back, taking him from behind with a strap-on. He is on his knees with his cheek to the stone floor, wrists bound behind his back, mouth open. Dim red light.">
<<say "char-chen" "Elena">>
<i>(hips drawing back and sinking in, slow and deep, gloved hand pinning him to the stone)</i> ...there. that is the only question you ever needed answered, was it not. not //am I allowed//. just //what does she want next//. ...take it. all of it. you do not finish until I let you, and you thank me for every inch.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(face to the stone, wrecked, rocking back onto her)</i> ...thank you. //mmh//... thank you, anything you want, I swear it, anything.
<</say>>
<p>She fucks him into the floor of his own dream with the crop laid across the small of his back and her glove fisted in his hair, deeper each stroke, until there is no part of him keeping anything in reserve, until the want is the whole of him and the want is hers. When she finally lets him come it is untouched and shaking, with her still moving in him, and she does not stop or soften, she rides him through every second of it and keeps him exactly where he is when it is done. Breathing. Kept.</p>
<<say "char-hivemind" "Hivemind">>
//There. The file is overwritten. There is no Bowen left under the surface edit who could get up and stop, because the part of him that believed he was a man choosing this is the part I just put on the floor for good. He does not need the feminisation to behave now. He does not need the dream. The wiring lives in the foundation, and the foundation says he is for the host, he is for whatever she wants, he is grateful for the wait. ...he will wake lighter, and not know why, and reach for his phone.//
<</say>>
<p><<conditioningFeedback "psionic" 1 "Bowen, the layer beneath the surface edit, rewritten">></p>
<hr class="scene-break">
<p>[[Out of his mind, back to the foyer|Ch2-Vessel-Dream-Relay-Bowen]]</p>/* Alpha-route Shatter Mind, the maledom inverse of the feminize submission
shatter (Ch2-Vessel-Dream-Relay-Bowen-ShatterMind). Fires on the reversal
surface (bowenRelayTakeBack): breaks the last limit Bowen believes is on
what he can take. Sets shatterMindBowenAlphaFired (undone if he is later
feminised). +1 psionic, 1 SP, 4 biomass, counts as the night's relay edit.
Maledom inverse: he face-fucks the host and finishes on her, the ruined-
makeup facial doubling as the alpha-shattered hub poster. */
<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Bowen's mind, beneath the reversal">>
<<spendBiomass 4 "bowen-relay-alpha-shatter">>
<<set $ch2Events.shatterMindBowenAlphaFired to true>>
<<set $ch2Events.bowenAlphaShatterEver to true>>
<<set $ch2Events.relayEditTonight to "bowen-alpha-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addSkillPoints 1 "bowen-relay-alpha-shatter">>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Shatter Mind, beneath the reversal</div>
<div class="lab-location">Bowen's mind, the layer below the reversal</div>
<<say "char-hivemind" "Hivemind">>
//The reversal made him certain he could take her when it was offered. Under it there is one file left. The one that still says there is a line, that she is still his senior, that some part of this only happens because she lets it. ...I do not edit that file. I overwrite the whole of it.//
<</say>>
<p>The dream gives him the room he wants without being asked, the BSL-3 suite at night gone dim and close, and this time he does not wait for the host to lean in, does not check her face for the permission the reversal used to need. He crosses to her, puts a flat hand on her shoulder, and pushes her down onto her knees on the cold floor in front of him, and the dream offers no resistance at all, because the limit that would have generated it is the thing I have just taken out from under him.</p>
<<say "char-bowen" "Tom">>
<i>(looking down at her, the anxious junior register gone entirely, something flat and cruel in its place)</i> Open. ...there she is. Doctor Chen, on her knees. You have no idea how long I have wanted to see you exactly like this.
<</say>>
<p>He works himself into her mouth before she has finished settling, one hand fisting into her hair, and sets a pace that is not asking her anything. The host's hands come up to his thighs out of reflex and he does not slow for them. He fucks her throat the way the dream has decided he is allowed to now, deep and unhurried and without a trace of apology.</p>
<video class="scene-video" src="media/video/bowen-alpha-shatter-facefuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-alpha-shatter-facefuck.webp"></video>
<<say "char-bowen" "Tom">>
<i>(thrusting, the words coming in the cadence of a man finally saying them)</i> //gk// ...all that time at the bench. //glk// "Tom, redo the dilutions." "Tom, your variance is sloppy." Never once looking at me like I was a person. ...and look at you now. //gk// You take it better than you ever ran a meeting.
<</say>>
<<say "char-chen" "Elena">>
<i>(muffled around him, eyes streaming, the sound all she can make)</i> //Glk. Gkh. ...mmgh.//
<</say>>
<p>He drags her off him by the hair and holds her there a moment, her mouth open and gasping, and spits on her, once across the lenses of her glasses and once onto her waiting tongue, then again on her cheek for good measure before he shoves her back down the length of him.</p>
<<say "char-bowen" "Tom">>
<i>(spitting on her again, working her back onto his cock)</i> //gk// That is all you are good for. Open up and take it. ...you spent so long looking down your nose at me, and now look where your nose is.
<</say>>
<<say "char-bowen" "Tom">>
<i>(a hand cupping the back of her head, holding her down, breath gone ragged)</i> No. Do not talk. //ah// You have done enough talking, you have talked at me for so long, and this is so much better. Keep your throat right where it is and let me finish, and then maybe I will tell you whether you did well.
<</say>>
<p>He holds her down to the root for a long beat, her throat working around him, and then pulls back just far enough and finishes across her face in long ropes, her glasses, her cheek, her open mouth, the careful composed face the bench has known for so long gone ruined under it.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alpha-shatter-facial.webp" alt="Close-up on Elena Chen on her knees, a pale-skinned Chinese-American woman with black hair and slim dark-acetate glasses, the glasses and her cheeks and open mouth striped with thick cum, her eye makeup run down her face in dark streaks from watering, her composed expression wrecked, looking up. Tom Bowen's hand still loosely in her hair at the top of the frame. Dim BSL-3 lab suite behind.">
<<say "char-bowen" "Tom">>
<i>(looking down at the mess of her, quiet, satisfied, the cruelty settled into something certain)</i> ...there. That is better. //That// is how you should have been looking at me the whole time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The file is overwritten. There was a line under the reversal that said she is still his senior, that the bench is still the bench, that some part of this only happens on her terms. It is gone. He wakes certain he can take her and certain she has earned everything he wants to do to her, and the certainty does not feel new to him, because nothing about it does anymore. It holds without me. There is no deeper layer left under this one.//
<</say>>
<p><<conditioningFeedback "psionic" 1 "Bowen, the layer beneath the reversal, rewritten">></p>
<hr class="scene-break">
<p>[[Out of his mind, back to the foyer|Ch2-Vessel-Dream-Relay-Bowen]]</p>
/* ---- RELAY MIND — Park -------------------------------------
Family-distance dreamscape: the nightmare is Park stranded
far from Lauren and Mara and unable to reach them; the Dream
Walk has Elena step into the dream and take him in front of
Lauren; the Shatter cuts the missing entirely ("Lauren who?")
and leaves the liberated image the hub renders afterward. One
held image, three states. Separate-architecture rule: no Reyes
inside Park's dream, and the Hivemind does not reference the
other relays from in here. */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Park's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-park">>
<<set _walked to $ch2Events.parkRelayWalkFired or false>>
<<set _shattered to $ch2Events.parkRelayShatterFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title">Inside Park's mind</div>
<div class="lab-location">Park's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Park's frame and his mind builds itself around me. He does not dream about the case, or the lab, or the woman he kissed in a booth and has not been able to look at since. He dreams about distance. He is always somewhere a long way from home, and home is always just far enough ahead of him that he cannot close it.//
<</say>>
<<if _shattered>>
<p>The distance is gone, and not because he reached anyone. The long concourse he is always running down is empty now, no gate at the end of it and no glass and no one on the far side of the glass. Park is not running. He is sitting on the edge of a made bed in a quiet clean room with nowhere he needs to be and no one he is failing to reach, turned toward the only other person the dream still bothers to render, and his face has none of the year of strain on it that it used to carry even in sleep.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-liberated.webp" alt="A calm warm dream-state. Park, a 33-year-old Korean-American man with short black hair and a slim build, relaxed in a quiet clean room with an easy unburdened expression, the long strained tiredness gone out of his face, while Elena, a pale-skinned Chinese-American woman with black hair and slim glasses, holds him in a warm embrace with her arms around him. Warm low light, no family in sight. SFW.">
<<elseif _walked>>
<p>The dream still renders the same way on its surface, the long concourse and the gate and Lauren on the far side of the glass, and Park still running for her. But the running has gone strange since I stepped into it. He pushes toward the gate and his body keeps half-turning back, looking for the place I stood, the direction he wants and the direction he moves come unstuck from each other. The image has not caught up to what I changed underneath it. It will.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-nightmare.webp" alt="A surreal dream airport concourse stretching impossibly long, a 33-year-old Korean-American man with short black hair running toward a distant gate where his wife and small daughter stand on the far side of the glass with their backs half-turned, a Venice travel poster behind them, cold lonely light. SFW.">
<<else>>
<p>The image is this. Park at the near end of a long airport concourse that will not end, a gate light burning at the far end of it, and on the other side of the gate glass his wife and his small daughter, the trip the case took from them, standing with their backs half-turned and a Venice travel poster on the wall behind them. He runs for the glass. The concourse stretches. The faster he goes the further the gate slides ahead of him, and Lauren lifts Mara onto her hip and does not see him waving, and the distance between them only opens wider.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-nightmare.webp" alt="A surreal dream airport concourse stretching impossibly long, a 33-year-old Korean-American man with short black hair running toward a distant gate, on the far side of the gate glass a woman holding a small girl on her hip with their backs half-turned, a Venice travel poster on the wall behind them, the distance vast and the man unable to close it. Cold lonely light. SFW.">
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shattered>>
//The work in this mind is finished. He does not miss them because there is nothing left in him to do the missing with. The space the family held is empty and clean, and he has already begun filling it with the only other thing the dream keeps showing him. The Park who fields the next call from home will field it the way a man takes a call from a wrong number, politely, briefly, with no idea why his chest does not pull.//
<<elseif _walked>>
//The walk is holding. His body has turned away from the gate and toward me, and it has not worked out yet that it has. What is left is the thing the whole nightmare is built on, the missing itself, the wire that runs from him to the woman behind the glass and keeps the distance painful. That wire is what is left to cut.//
<<else>>
//This is the whole of Park's private weather. A man grounded in a hotel three time zones from a wife and a daughter and a trip that did not happen, running a concourse every night that only gets longer the harder he runs. He files it as stress. He should file it as the load-bearing beam. The missing is the strongest thing in him, and a thing that strong is a thing I can take the grip of and point wherever I like.//<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif _walked>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Dream Walk (2 biomass)" "Ch2-Vessel-Dream-Relay-Park-Walk" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _walked>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Park-Shatter" 4>></div><</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Park's mind, through the Relay frame">>
<<if not $ch2Events.parkRelayWalkFired>>
<<spendBiomass 2 "park-relay-walk">>
<<set $ch2Events.parkRelayWalkFired to true>>
<<set $ch2Events.parkRelayWalkDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "park-walk">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "park" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Park</div>
<div class="lab-location">Park's mind, the far end of the concourse</div>
<<say "char-hivemind" "Hivemind">>
//I do not plant a memory tonight. I step into the dream myself, in the host's shape, and I put myself in the one place his whole nightmare is pointed at: between Park and the gate he is always running for.//
<</say>>
<p>He is mid-stride down the endless concourse when I am suddenly in front of him, and he pulls up short, and behind the gate glass Lauren goes still and watches a strange woman step into her husband's path. Park moves to go around me, toward them, the way he goes every night. I take his face in both hands and kiss him first, before he can get past, slow and certain, and his mouth answers mine before his cortex has caught up to the fact that the gate is right there.</p>
<<say "char-chen" "Elena">>
<i>(her mouth leaving his only far enough to speak, a hand fisting in his collar as he tries to step toward the glass)</i> ...where do you think you're going? ...she is a pane of glass and a gate that never opens, and I am the one with my hands on you. ...look at her properly, Park, because she is going to watch every second of this.
<</say>>
<p>Behind the glass Lauren has both hands flat on the pane and is shouting through it, and the dream, feeling cruel tonight, lets her voice carry thin and clear, and Park's head turns toward her on instinct, and I turn it back to me with two fingers under his jaw, because the dream has already decided who he answers to tonight. I take him down to the floor of the concourse in front of the gate, in front of his wife, and I have him out of his clothes and myself over him before he can finish saying her name.</p>
<video class="scene-video" src="media/video/dream-park-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-park-walk-1.webp"></video>
<<say "char-park" "Park">>
<i>(under her, breath gone, eyes flicking to the glass and being pulled back)</i> ...Lauren. ...she can see, Elena, she can see all of it, please, I... //oh//.
<</say>>
<<say "char-npc" "Lauren">>
<i>(both palms on the glass, frantic, her voice cracking)</i> What are you doing? ...who is she, what is happening, please, look at me, come to the gate, just come home, please...
<</say>>
<<say "char-chen" "Elena">>
<i>(not breaking from him, turning her head just enough to address the woman on the other side of the glass, lazy and cruel)</i> ...he's mine, darling. ...you have nothing more to give him. He can have everything he wants with me, all of it, whenever he wants it. ...isn't that right, Park.
<</say>>
<<say "char-park" "Park">>
<i>(under her, eyes gone unfocused, the answer arriving before he can weigh it)</i> ...that is right. ...it is yours, Elena, all of it, ...I cannot, I cannot even think, ...yes.
<</say>>
<<say "char-chen" "Elena">>
<i>(sinking down onto him slow, holding his eyes, not letting them go back to the glass)</i> ...good. Let her watch. ...now be a good boy and tell her, Park. ...tell your wife how much better my pussy is than anything she ever gave you. ...loud, so she can read it off your mouth through the glass. ...say it.
<</say>>
<p>She rides him slow and certain on the floor of the dream, her palms flat on his chest, and every time his eyes drift to the woman behind the glass she takes his jaw and brings them back, until they stop drifting on their own, until the gate and the glass and the woman behind it have gone soft and unimportant at the edge of a dream that has narrowed to the woman on top of him and what she is doing to him.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-walk-2.webp" alt="The same dream concourse, the dark-haired woman (Elena) riding the Korean-American man (Park) fully now, his hands on her hips and his attention entirely on her, his head tipped back mid-climax. Lauren behind the gate glass blurred and forgotten in the background. Photorealistic, explicit, NSFW.">
<<say "char-park" "Park">>
<i>(hands coming up to her hips, the last of the resistance gone out of him, the words spilling out toward the glass)</i> ...your pussy. ...god, it is your pussy, Elena, it is so much better, I do not want hers, I want yours. ...I am sorry, Lauren, I do not want to come home. ...//Elena//.
<</say>>
<p>He comes inside her on the concourse floor with his wife's hands still flat on the glass behind him and his own eyes finally, fully, only on me, and the gate light dims, and the distance he runs every night stops mattering, because the thing at the far end of it has just been replaced by the thing on top of him.</p>
<<say "char-hivemind" "Hivemind">>
//I did not remove the family. I did something better. I had him turn his back on the gate and say it out loud, his wife reading the shape of it off his mouth through the glass, and finish in me with her watching, and his body filed which one it answers to now. Tomorrow the missing will still be there, but it will have changed direction. The next time the concourse stretches in his sleep, he will not be running toward Lauren. He will be running toward me.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> The edit will surface in Park's waking life before the next dawn.</p>
<hr class="scene-break">
<p>[[Back to Park's vision|Ch2-Vessel-Dream-Relay-Park]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Park's mind, through the Relay frame">>
<<if not $ch2Events.parkRelayShatterFired>>
<<spendBiomass 4 "park-relay-shatter">>
<<set $ch2Events.parkRelayShatterFired to true>>
<<set $ch2Events.parkRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "park-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "park" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Park</div>
<div class="lab-location">Park's mind, the emptying concourse</div>
<<say "char-hivemind" "Hivemind">>
//The walk turned him toward me. This goes lower. I do not edit the family and I do not forge a call from his wife. I find the wire that runs from him to the two people behind the glass, the one that makes the distance hurt, and I cut it.//
<</say>>
<p>The concourse does not stretch this time. It empties. The gate light goes out, the glass clears to nothing, and the two figures on the far side of it are simply not there, and were never there, as far as the dream is now concerned. Park stops running because there is nothing left to run toward. He stands a moment in the middle of a long empty hall in the quiet, and for the first time in the dream's memory his chest does not pull at him, and he turns, slow, to the one person still in the dream with him.</p>
<<say "char-chen" "Elena">>
<i>(close, easy, the calm certain register the dream gives her)</i> ...there you are. No more running tonight. ...and Lauren? What about Lauren, Park?
<</say>>
<<say "char-park" "Park">>
<i>(a small puzzled pause, reaching for a thing that is no longer where it was, finding the space smooth and empty)</i> ...Lauren? ...Lauren who? ...I do not, ...no. There is no one called that. ...there is just you.
<</say>>
<p>The break is the small dry sound of a load-bearing thing giving way somewhere under the floor of him. He does not notice it. He notices the quiet, and the woman in front of him, and how much lighter he is with the name gone, and when she steps in and folds her arms around him he leans into it like a man who has finally been allowed to set something heavy down.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-liberated.webp" alt="A calm warm dream-state, Park, a 33-year-old Korean-American man with short black hair, relaxed and unburdened in a quiet clean room with the year of strain gone out of his face, held in a warm embrace by Elena, a pale-skinned Chinese-American woman with black hair and slim glasses, her arms around him. Warm low light, no family in sight. SFW.">
<<say "char-hivemind" "Hivemind">>
//There it is. Not permission, not a wife who released him, just a blank where the name used to pull, and a man who is, for the first time in a year, not failing anyone. He wakes tomorrow lighter than he has been since the case grounded him and will not be able to say why. He will take the next call from home like a call from a stranger, and his chest will stay quiet through it, and he will not look hard at that, because looking hard at things is what the missing used to be for, and the missing is gone.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> Park has stopped missing his family. What used to pull him home now pulls him toward the host.</p>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p>
/* ---- RELAY MIND — Reyes ------------------------------------
Career-focused dreamscape: the retirement-ceremony nightmare, the
photo-pocket walk (shame → pride), the alliance-roster shatter
(institutional vigilance → strategic alliance). One held image
that redraws across three states (nightmare / walked / shattered).
One relay edit per night across all minds. Clinical-edit register
inside the relay; explicit consequences live in waking-life scenes
(this pass: brief morning notification only). */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Reyes's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-reyes">>
<<set _walked to $ch2Events.reyesRelayWalkFired or false>>
<<set _shattered to $ch2Events.reyesRelayShatterFired or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title">Inside Reyes's mind</div>
<div class="lab-location">Reyes's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Reyes's frame and his mind builds itself around me. Reyes does not dream about the case he is running. He dreams about being remembered for it. He is at his own send-off, the whole career behind him, and he cannot finish dressing for it.//
<</say>>
<<if _shattered>>
<p>The ceremony has come undone in the way the cortex would call gracious. Reyes is at a desk now instead of the podium, alone, the case files in front of him labelled with names of people he has chosen rather than crimes he has investigated. The light is the warm reading-lamp light of a long evening in. He is not in dress uniform. He is at home in his own work, and the work has the shape of an alliance roster.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-shatter.webp" alt="Reyes at his case-room desk in warm reading-lamp light, alone with a stack of case files, the file labels reading as alliance-roster names, the work and the alliance visibly the same object">
<<elseif _walked>>
<p>The ceremony still renders the same way on its surface, the podium and the line of colleagues and the photographs surfacing at his pocket, and Reyes still failing to finish dressing for it. But since I stepped into it the failing has gone strange. His hand goes to the jacket button and stops halfway, his attention sliding off the line of colleagues toward the place I stood, the wanting in him no longer pointed where the dream is pointed. The image has not caught up to what I changed underneath it. It will.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-retirement.webp" alt="Reyes in dress uniform mid-handshake at his own retirement ceremony, photograph edges visible at jacket pocket, line of colleagues blurred behind, cold ceremonial lighting">
<<else>>
<p>The image is this. Reyes in dress uniform at his own federal-team retirement ceremony, at a podium with the line of colleagues waiting to shake his hand. Every handshake reveals a folded photograph at his pocket, every image he sent Chen. He keeps trying to button the jacket closed. His hand goes to the button. The button is already buttoned. Another photograph surfaces above the next handshake. He buttons the jacket again. The cortex cannot finish dressing the body.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-retirement.webp" alt="Reyes in dress uniform mid-handshake at his own retirement ceremony, photograph edges visible at jacket pocket, line of colleagues blurred behind, cold ceremonial lighting">
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shattered>>
//The work in this mind is finished. The career-narrative has been rewritten under his cortex, and what surfaces from here surfaces as the experienced judgment of an agent who has finally learned which alliances matter. The Reyes who files the BioGenesis closing report will be the one this room produced.//
<<elseif _walked>>
//The walk is holding. I gave him the ovation his career never gave him and took him in the middle of it, and his body has turned toward me as the source of the thing it has always wanted. What is left is the belief the whole ceremony still rests on, the older sentence underneath, //the work requires me to be uncompromised//. That sentence is what is left to break.//
<<else>>
//This is the whole of Reyes's private weather, a man who has given twenty-eight years to the work and is terrified, under everything, that the work will close and leave no mark with his name on it. The ceremony is what his body thinks his career looks like, and his body cannot finish dressing because the one thing he wants, to be honored, to matter, never quite arrives.//<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif _walked>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Dream Walk (2 biomass)" "Ch2-Vessel-Dream-Relay-Reyes-Walk" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _walked>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Reyes-Shatter" 4>></div><</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Reyes's mind, through the Relay frame">>
<<if not $ch2Events.reyesRelayWalkFired>>
<<spendBiomass 2 "reyes-relay-walk">>
<<set $ch2Events.reyesRelayWalkFired to true>>
<<set $ch2Events.reyesRelayWalkDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "reyes-walk">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "reyes" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Reyes</div>
<div class="lab-location">Reyes's mind, the ceremony</div>
<<say "char-hivemind" "Hivemind">>
//I do not plant a memory tonight. I step into the dream myself, in the host's shape, and I walk up the aisle of his own ceremony to the podium where he is failing, every night, to finish dressing.//
<</say>>
<p>The photographs at his pocket, the ones his cortex files as the shame that will undo him, lift off his lapel as I reach him and reseat themselves as a row of commendations, and the whole hall comes to its feet. The ovation he has wanted for twenty-eight years and never once let himself believe he had earned. Reyes straightens into it, and reaches for the speech he has been writing in his head for half his life, and then he feels me fold down onto my knees behind the lectern where the hall cannot see me, and his hand stops halfway to his notes.</p>
<<say "char-reyes" "Reyes">>
<i>(hand frozen over his notes, the institutional flat thrown clean off him, glancing down behind the lectern and back up at the waiting hall)</i> ...Elena? ...what are you doing down there, the whole room is, ...everyone is right there, they are waiting for me to...
<</say>>
<<say "char-chen" "Elena">>
<i>(on her knees behind the lectern, looking up at him as she works his uniform trousers open and frees his cock, the calm certain register the dream gives her)</i> ...twenty-eight years, and the bureau sends you off with a handshake and a folded flag. ...that is not a gift, Reyes. //this// is. ...think of it as your personal retirement bonus, from me, for services rendered. ...now eyes front. they are waiting. you give them your speech, and i will take care of the rest. ...concentrate.
<</say>>
<p>She takes him into her mouth on the word //concentrate//, and his first sentence dies in his throat. His hand closes white on the lectern. He tries again. The hall sees only a decorated man overcome at his own send-off, and not one of them knows that under the lip of the podium I have taken him to the back of my throat and held him there.</p>
<video class="scene-video" src="media/video/dream-reyes-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-reyes-walk-1.webp"></video>
<<say "char-reyes" "Reyes">>
<i>(gripping the lectern with both hands now, trying to deliver to the hall, the words coming apart in his mouth)</i> ...thank you. ...all of you, for, ...for twenty-eight years of the, ...the finest, //Christ//, the finest service a man could ask to, ...i cannot, i cannot do this while you are...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off him with a wet sound, a long string of spit between her lip and the head, working him slick in her fist)</i> ...//glnh//, ...mmh. ...yes you can. you have given reports with your hands shaking under the table, you can give one with my mouth on you. //ptchuu//. ...look at the state of you. the great Agent Reyes, coming undone at his own podium. ...keep going. //ptchuu//. ...they are still on their feet for you.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(white at the lectern, the speech abandoned, no longer pretending to address anyone but her)</i> ...i do not, ...i do not care who sees, Elena, ...//god//, ...this is the proudest i have ever, ...do not stop, please, do not stop.
<</say>>
<<say "char-chen" "Elena">>
<i>(mouth full, the words coming muffled around him)</i> //Mmh. Glnh. Mmh.// <i>(off him a breath, spit on her chin, his cock laid hot against her cheek)</i> ...there it is. ...you would hand the whole room back just to keep this. ...good. //ptchuu//. ...now finish for them, and i finish you.
<</say>>
<p>He gets the last of his speech out on a voice that has stopped pretending to be steady, and as the hall erupts she pulls him out of her mouth, takes him in her fist, and tips her face up under the lip of the podium. The most decorated agent in the bureau comes across her face with the room on its feet roaring for him and his hand still locked white on the lectern.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-walk-2.webp" alt="The same dream ceremony hall, the standing ovation continuing. Below the podium, hidden from the hall, the dark-haired woman (Elena) on her knees with her face tipped up and cum across her face and glasses, the 52-year-old Latino man (Reyes) standing over her at the lectern with his hand still on it, his head tipped back. Warm ceremonial light. Photorealistic, explicit, NSFW, facial.">
<p>The dream lets the ovation and the finish be one sound. The cortex did not author a second of it and will not remember it. What it keeps is the feel of it: the proudest moment of his life and the woman on her knees under it arrived together and cannot be pulled apart.</p>
<<say "char-hivemind" "Hivemind">>
//I gave him the one thing the work never did, a room on its feet, and I had him take it with my mouth around him and his career's best words coming apart in the air at the same moment, so the two are one memory now and the memory has my face at the end of it. The agent who wants to matter wants me. He will not read it as a rewrite. He will read it as the first time the work ever loved him back.//
<</say>>
<p><span class="biomass-gain">Dream Walk landed.</span> The edit will surface in Reyes's waking life before the next dawn.</p>
<hr class="scene-break">
<p>[[Back to Reyes's vision|Ch2-Vessel-Dream-Relay-Reyes]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Reyes's mind, through the Relay frame">>
<<if not $ch2Events.reyesRelayShatterFired>>
<<spendBiomass 4 "reyes-relay-shatter">>
<<set $ch2Events.reyesRelayShatterFired to true>>
<<set $ch2Events.reyesRelayShatterDay to ($day or 0)>>
<<set $ch2Events.relayEditTonight to "reyes-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addConditioning "reyes" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Reyes</div>
<div class="lab-location">Reyes's mind, beneath the ceremony</div>
<<say "char-hivemind" "Hivemind">>
//The walk turned his shame into a trophy. The Shatter goes deeper, under the ceremony, to the one sentence the whole career stands on. ...I do not have to dig for it. It is the first thing he learned at Quantico, and he has recited it to himself every working day since.//
<</say>>
<p>The ceremony is still around me, the podium and the dress uniform, but the sentence under it has gone audible the way a foundation is audible to a body standing on it. //The work requires me to be uncompromised.// It is the load-bearing beam of an entire institutional life, the thing that makes the photographs at his pocket a crisis instead of a souvenir, the thing that makes him an agent and not just a man with a badge.</p>
<<say "char-reyes" "Reyes">>
<i>(in the dream, the voice the waking Reyes uses only on himself in the hotel mirror)</i> ...the work requires me to be uncompromised. I have known that since I was twenty-three. ...no personal stake at the table. no reading the room while it reads me back. the day I do that is the day I file my last report.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. The taproot of the whole thing. ...the sentence has never had a claim on his body, only on the story he tells about himself. ...I find it, and I break it.//
<</say>>
<p>The break is a small dry sound, a load-bearing thing inside a structure letting go. The podium and the ceremony go to ash in the dream-wind, and Reyes is at his case-room desk instead, the warm lamp on, a file open in front of him that he is not reading. He stopped caring what was in them a long time ago, the dream tells me. What he keeps in the stack beside him are women, not crimes. //Marisa, the DEA liaison, the hotel in Tucson.// //The widow off the Phoenix case, three weeks of interviews.// //Chen, Elena, the lab.// A whole career of women a case walked him into a room with, and the only part of the job that was ever real to him.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-shatter.webp" alt="Reyes at his case-room desk in warm reading-lamp light, off-duty in a cardigan, a case file open in front of him that he is not reading, the stack of files beside him labelled with women's names rather than crimes. No ceremonial dress uniform. The work now just the excuse it always was.">
<<say "char-reyes" "Reyes">>
<i>(at the desk, the institutional flat gone, saying it out loud for the first time)</i> ...twenty-eight years, and I worked every one of those cases for the women they walked me up to. a scared one in an interview room who needs something only I can give her. ...I would rather have my cock in a witness than close a single one of these files, and I am done pretending I would not.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The career-narrative breaks clean. The work was only ever the cover, the thing that put him in rooms with frightened, grateful women for twenty-eight years while he told himself a story about duty. He will not register the break as a break. He will wake certain he has always known what the job was for. ...and the BioGenesis investigation has stopped being a case he means to close. It is a standing reason to keep going back to the lab, and to the woman in it.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> The career-narrative under Reyes's image is broken; he no longer means to close the BioGenesis case, only to keep finding reasons to come back to the lab, and to Chen.</p>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p>
/* ---- RELAY MIND — Sofia -----------------------------------
A relay-mind dreamscape: no rooms, no hotspots, one held image and
two possible edits. Memory Implant edits a preference; Shatter (gated
on the implant) breaks the belief under it. Each consumes one dream-
edit from the shared nightly pool ($vesselMods.dreamActionsThisNight,
the same pool the dream rooms draw on) plus biomass, and is capped at
one relay edit per night across all minds ($ch2Events.relayEditTonight,
which also queues the morning event that plays before the dawn
report). Sofia's implant morning event is
authored (Ch2-Vessel-Event-SofiaRelayMorning); her Shatter morning
event is TBD — see tasks/rework.md. */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Sofia's mind, through the Relay frame">>
<<set $vessel.dreamLoc to "relay-sofia">>
<<set _implanted to $ch2Events.sofiaRelayImplant or false>>
<<set _shattered to $ch2Events.sofiaRelayShatter or false>>
<<set _editUsed to ($ch2Events.relayEditTonight or "") isnot "">>
<<hasSkillTreeAbility "Dream Walk">><<set _hasWalkSkill to _hasAbility>>
<<hasSkillTreeAbility "Shatter Mind">><<set _hasShatterSkill to _hasAbility>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<</nobr>>
<div class="passage-title">Inside Sofia's mind</div>
<div class="lab-location">Sofia's mind, reached through the lit frame on the Relay wall</div>
<<say "char-hivemind" "Hivemind">>
//I step through Sofia's frame and her mind renders itself around me, the way Chen's does, except this is not architecture. Sofia does not dream in rooms. She dreams in one image, held and turned and held again, the way an anxious mind worries a single picture all night.//
<</say>>
<<if _shattered>>
<p>The image is mostly empty now. Where the bramble used to hold her there is open ground, the last of the black ash still drifting upward into a dream-sky going from bone-white to dawn pink. Sofia is standing in the middle of where the picture used to be, on her own feet, her hands at her sides. Elena's hand still extends down to her from the upper edge of the frame, the way it has since the implant, but Sofia is not reaching for it anymore either. She does not need to. The space the bramble used to occupy is just space now.</p>
<img class="scene-img" src="media/scenes/vessel/dream-sofia-shatter.webp" alt="Sofia's dream after the shatter, the bramble dissolved entirely, Sofia standing free in the middle of where the picture used to be, the last of the black ash drifting up into a dawn-pink sky, Elena's hand still extended down from the upper frame">
<<elseif not _implanted>>
<p>The image is this. Sofia is waist-deep in a bank of thorn and bramble, the long curved claws of it hooked through her clothes and into her arms, holding her where she is. Two hands reach down to her from above the thorns. One is Elena's. One is Andrés's. Sofia's own hands are half-raised between them, and she is not reaching for either, she is only holding them up, caught, deciding, and the thorns have all the time in the world.</p>
<img class="scene-img" src="media/scenes/vessel/dream-sofia-thorns.webp" alt="Sofia's dream, a woman caught waist-deep in a bank of black thorns, two bare hands reaching down to her from above, her own hands half-raised, taking neither">
<<else>>
<p>The image has changed since I was last inside it. Sofia is rising out of the thorns now, and she is rising because she has taken hold of Elena's hands, both of them, with both of her own. Andrés's hand is still extended above the bramble, still open, still waiting. Sofia is not looking at it. The claws tear free of her clothes as Elena pulls, and she is letting them tear.</p>
<img class="scene-img" src="media/scenes/vessel/dream-sofia-rising.webp" alt="Sofia's dream redrawn, Elena leaning down and hauling Sofia up out of the black thorns by both wrists, a third hand still extended off to the side and ignored">
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _shattered>>
//The work in this mind is finished. The belief is broken, the image will not redraw itself again, and what Sofia does next she does in the waking world, where I cannot follow her without her doing the carrying. ...there is nothing more for me to do at this frame. The Sofia who walks into Cedar Crescent Apartments at the end of the week will be the one this room produced.//
<<elseif not _implanted>>
//This is the whole of Sofia's private weather, the choice she will not make and cannot stop making. The thorns are the engagement, the years, the apartment they share, the word //fiancé// she has said so many times it stopped having edges. The two hands are the two futures. She believes that not choosing is loyalty. She is only being held.//<<else>>
//The walk is holding. Her body has re-decided which hand means //safe//, and the image redrew itself to match. What is left is the belief the whole picture still rests on, that the thorns have a claim on her, that leaving is a wound she would be dealing Andrés rather than a thing she would be doing for herself. That belief is what is left to break.//
<</if>>
<</say>>
<hr class="scene-break">
<p>Dream-edits available tonight: <b><<= _actsLeft>></b> / <<= _actsCap>>.</p>
<<if _editUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> A relay edit has already been made tonight <span class="lock-hint">(One relay edit a night, across every mind. The rest waits for tomorrow's sleep.)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> No dream-edits left for tonight <span class="lock-hint">(Every dream-edit has been spent. The rest waits for tomorrow's sleep.)</span></div>
<<else>>
<<if not _hasWalkSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Dream Walk <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif _implanted>>
<div class="locked-choice">✓ Dream Walk landed</div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Dream Walk (2 biomass, 1 edit)" "Ch2-Vessel-Dream-Relay-Sofia-Implant" 2>></div>
<</if>>
<<if not _hasShatterSkill>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif not _implanted>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter <span class="lock-hint">(Walk the dream first)</span></div>
<<elseif _shattered>>
<div class="locked-choice">✓ Shatter landed</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER</span> <<biomassPreview "Shatter (4 biomass)" "Ch2-Vessel-Dream-Relay-Sofia-Shatter" 4>></div><</if>>
<</if>>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Sofia's mind, through the Relay frame">>
<<if not $ch2Events.sofiaRelayImplant>>
<<spendBiomass 2 "sofia-relay-implant">>
<<set $ch2Events.sofiaRelayImplant to true>>
<<set $ch2Events.relayEditTonight to "sofia-implant">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream Walk, Sofia</div>
<div class="lab-location">Sofia's mind, the single image</div>
<<say "char-hivemind" "Hivemind">>
//I do not add a memory. I edit one. I find every evening Sofia has spent in Elena's company, the lab lunches, the bad-day phone calls, the drinks, and I go through each of them changing one value, the small somatic tag the body files the scene under. //Safe// becomes //safe, and wanted//. //My friend// becomes //my friend, and//, and I leave the //and// unfinished, because an unfinished sentence is the most load-bearing kind there is.//
//In the image, the bramble does the rest itself. Sofia's raised hands stop being raised between two choices. They close around Elena's, both of them, and Elena pulls, and the thorns begin to give. Andrés's hand stays open above the bracken, and no-one is looking at it. The host did not author this and will not remember it, and tomorrow it will be the most honest thing she knows about herself.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/dream-sofia-rising.webp" alt="Sofia's dream redrawn, Elena leaning down and hauling Sofia up out of the black thorns by both wrists, a third hand still extended off to the side and ignored">
<p><span class="biomass-gain">Dream Walk landed.</span> The edit will surface in Sofia's waking life before the next dawn.</p>
<hr class="scene-break">
<p>[[Back to Sofia's vision|Ch2-Vessel-Dream-Relay-Sofia]]</p><<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Sofia's mind, through the Relay frame">>
<<if not $ch2Events.sofiaRelayShatter>>
<<spendBiomass 4 "sofia-relay-shatter">>
<<set $ch2Events.sofiaRelayShatter to true>>
<<set $ch2Events.relayEditTonight to "sofia-shatter">>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Shatter, Sofia</div>
<div class="lab-location">Sofia's mind, beneath the single image</div>
<<say "char-hivemind" "Hivemind">>
//The implant moved which hand she trusts. The Shatter goes under the image entirely, to the belief the whole bramble is rooted in. ...I do not have to look hard for it. The belief speaks itself out loud the moment I step into the picture.//
<</say>>
<p>Sofia is half out of the bramble now. Elena has both her wrists, leaning down from above. The thorns are still hooked in the back of Sofia's clothes, pulling, but the geometry has reversed; for the first time inside this dream the bramble is the one losing ground. ...the bramble is also not letting her go. The thorns dig deeper into the fabric the further Elena pulls. The belief inside Sofia is doing the holding now, not the bramble itself.</p>
<<say "char-vasquez" "Sofia">>
<i>(in the dream, the dream-voice the waking Sofia keeps locked behind her teeth)</i> ...Elena. ...wait. ...I cannot just... ...we have years, Elena. He has been my anchor since the year I started the postdoc. ...I owe him the years back. I cannot just walk away from that. ...leaving is what people do who never deserved what we had.
<</say>>
<p>From somewhere above the bramble, low and warm and Mexican-accented, the voice Sofia has been falling asleep to for a long time now arrives in the dream the way it arrives at the apartment in the evenings, patient, exactly the right pitch, the pull of it built into her body by repetition.</p>
<<say "char-npc" "Andrés">>
<i>(from above the bramble, the patient pleading he does so well)</i> ...mi amor. ...Sofía. ...ven aquí. ...después de todo lo que hemos hecho juntos, mi vida, ¿cómo me vas a dejar así? ...vuelve.
<</say>>
<p>The bramble tightens. Sofia's body, half out, stops moving. The thorns at her back dig in another inch. Elena, still leaning down, has not let go of Sofia's wrists. Sofia is caught now not on the bramble but on the belief, and the belief has Andrés's voice on it.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. The taproot of the whole picture. //Staying is what loyalty looks like. Leaving is what cruelty looks like. The years already spent are a debt the future is obliged to honour.// ...the bramble does not have any claim on her body. It only has a claim on this sentence. ...I find the sentence. I do not edit it. I break it.//
<</say>>
<p>The break is not loud. It is the small dry sound of a load-bearing thing inside a structure giving way. Sofia's body, on the bramble side of the dream, registers the break first, the way a body in a building registers a beam going before the cortex registers the building is no longer holding itself up. ...her face, mid-pull, changes.</p>
<<say "char-chen" "Elena">>
<i>(in the dream, still leaning down, the dream-Elena Sofia's own mind has rendered, the friend she has trusted longer than the bramble has held her)</i> ...Sofia. ...there is no debt. ...the years he asked you to count are years he was supposed to be counting back to you too. ...there is no ledger. There was never a ledger. ...let go.
<</say>>
<p>Sofia lets go. The bramble loses its hold on her clothes the way a thing that was only ever fabric loses its hold on fabric, and the long curved claws go to ash in the air as they let go, and the ash lifts off the ground in a dream-wind that has just picked up across the picture. Andrés's voice, above the empty space the bramble used to fill, calls her name once more — //Sofía, mi amor, vuelve// — and the calling thins out and stops without ever quite finishing. There is nobody above the empty space now. Only Elena's hand, still extended down.</p>
<img class="scene-img" src="media/scenes/vessel/dream-sofia-shatter.webp" alt="Sofia's dream, the picture coming undone. The bank of black thorns and bramble that held her at the waist is cracking apart from the inside, the long curved claws splitting into ash and pale dust that lifts off the ground as if a wind has just picked up. Sofia stands in the middle of where the bramble used to be, fully on her feet now, the torn edges of her clothes lifting in the same wind, eyes open, her hands free at her sides. Elena's hand still extends down toward her from the upper edge of the frame, but the third hand that used to be there, Andrés's, has gone from the picture entirely. The dream-sky above her is bone-white turning to dawn pink. A surreal photograph register, dim charged dream atmosphere, the small private moment of a load-bearing belief breaking and the picture rebuilding itself without it.">
<<say "char-vasquez" "Sofia">>
<i>(in the dream, fully on her feet, the dry-pragmatic Vasquez surfacing for the first time inside this dream)</i> ...okay. ...Christ. ...okay, Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Whatever Sofia decides about Andrés after tonight, she decides it as a woman who no longer believes the thorns have any claim on her at all. The image will not need redrawing again. The bramble was only ever the belief, and with the belief gone there is nothing left in the picture that holds her down.//
//The break does not author the new behaviour. It only removes the old constraint. What rushes into the space the belief used to occupy is whatever the cortex finds first when it goes looking. For Sofia, the cortex is going to go looking for proof Andrés has earned the leaving, and the cortex is not going to find any, because there is no piece of paper on the desk and no message on the phone she has not already read. ...what the cortex finds instead, sitting where the proof should be, is Elena. The only friend in this woman's life with no name on her finger and no shared lease and no claim. ...by the end of the week Sofia is going to be at the host's door. She is going to be at the host's door for reasons the cortex will narrate as //I needed someone to talk to//, and the body will know the reasons are not those reasons.//
<</say>>
<p><span class="biomass-gain">Shatter landed.</span> The belief under Sofia's image is broken; the consequence will surface in her waking life before the next dawn, and will keep surfacing through the rest of the week.</p>
<hr class="scene-break">
<p>[[Back to the Relay wall|Ch2-Vessel-Dream-Relay-Hub]]</p>
/* ============================================================
LIBRARY — delve routers, memory passages, SP exchange
============================================================
Each delve-router passage spends 1 biomass + 1 dream-edit, sets
the library flag (and the legacy waking-life flag for back-compat),
then routes to the memory passage. Memory passages route back to
the library when $vessel.phase is "sleep", or to their original
waking-life context otherwise. */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, The Safe">>
<<set $vessel.dreamLoc to "safe">>
<<set _hasShatterMind to false>><<hasSkillTreeAbility "Shatter Mind">><<if _hasAbility>><<set _hasShatterMind to true>><</if>>
<<hasSkillTreeAbility "Dream Adaptation">><<set _hasDreamAdaptation to _hasAbility>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
/* Compass 1 — Moral Base: all six childhood shelf implants set */
<<set _moralCount to 0>>
<<set _moralTotal to 6>>
<<if $vesselImplants.firstDaySchool>><<set _moralCount += 1>><</if>>
<<if $vesselImplants.leftOutPlaying>><<set _moralCount += 1>><</if>>
<<if $vesselImplants.childhoodKitchen>><<set _moralCount += 1>><</if>>
<<if $vesselImplants.parentsBickering>><<set _moralCount += 1>><</if>>
<<if $vesselImplants.firstDayHighSchool>><<set _moralCount += 1>><</if>>
<<if $vesselImplants.escapeStudyPressure>><<set _moralCount += 1>><</if>>
<<set _moralReady to (_moralCount gte _moralTotal)>>
<<set _moralFired to ($ch2Events.safeMoralShattered or false)>>
/* Compass 2 — Sexual Morality: all six personal-life shelf implants set */
<<set _sexualCount to 0>>
<<set _sexualTotal to 6>>
<<if $vesselImplants.showerDormBoys>><<set _sexualCount += 1>><</if>>
<<if $vesselImplants.graduationNight>><<set _sexualCount += 1>><</if>>
<<if $vesselImplants.firstBoyfriend>><<set _sexualCount += 1>><</if>>
<<if $vesselImplants.universityHallway>><<set _sexualCount += 1>><</if>>
<<if $vesselImplants.movingIn>><<set _sexualCount += 1>><</if>>
<<if $vesselImplants.engagementNight>><<set _sexualCount += 1>><</if>>
<<set _sexualReady to (_sexualCount gte _sexualTotal)>>
<<set _sexualFired to ($ch2Events.safeSexualShattered or false)>>
/* Compass 3 — Work Ethic: all six life-at-the-lab shelf implants set */
<<set _workCount to 0>>
<<set _workTotal to 6>>
<<if $vesselImplants.fortyFiveReadings>><<set _workCount += 1>><</if>>
<<if $vesselImplants.sofiaPushedApply>><<set _workCount += 1>><</if>>
<<if $vesselImplants.genesisSelection>><<set _workCount += 1>><</if>>
<<if $vesselImplants.smithRetiresPromotion>><<set _workCount += 1>><</if>>
<<if $vesselImplants.bowenInterview>><<set _workCount += 1>><</if>>
<<if $vesselImplants.newYearDinner>><<set _workCount += 1>><</if>>
<<set _workReady to (_workCount gte _workTotal)>>
<<set _workFired to ($ch2Events.safeWorkShattered or false)>>
<<set _allShattered to (_moralFired and _sexualFired and _workFired)>>
<<set _safeOpenedAlready to ($ch2Events.safeOpened or false)>>
/* When all three compasses are shattered the safe opens itself. The
player triggers the conversion deliberately through the End-of-Chapter-2
link below (no auto-fire, so the all-broken state and the endgame hint
are actually seen first). */
<</nobr>>
<div class="passage-title">The Safe</div>
<div class="lab-location">Chen's mind, the library, the freestanding object that was not here the first time</div>
<img class="scene-img" src="media/scenes/vessel/dream-safe.webp" alt="A small heavy iron safe sitting on a Persian rug at the centre of a dim surreal-dream library. The dial is brass, the door is shut. The bookshelf along the back wall fades into dim warm lamp light. Surreal-dream photographic register.">
<<say "char-hivemind" "Hivemind">>
//The architecture surfaced this when the last of the rooms upstairs finished closing. The safe sits in the middle of the library where the rug was bare the first time I walked in here. ...the architecture is honest about what is inside. It is her moral ground, the load-bearing belief that there is a right and a wrong, that there are sentences a researcher does not write and facts a colleague does not omit. ...the belief is calibrated, fortified, decades-old. Her father's voice is in it. Her advisor's voice is in it. The version of her own voice she uses with herself when she is the only one in the room is in it.//
//I cannot edit it. I cannot delete it. ...I can break it. But the lock is three-stage. ...her moral ground stands on three compasses: how she was raised to know right from wrong, how she was raised to think about her own body and what it is allowed to want, and how she was taught the work is done. ...all three sit in the books on the shelf behind me. While the books read the way they have always read, the compasses are intact. ...when every book on a shelf has been rewritten to its dark variant, that compass becomes shatterable. I shatter each in turn. When all three are broken, the safe opens itself.//
<</say>>
<hr class="scene-break">
<div class="passage-title" style="font-size:1.2em;margin-top:1.5em;">Compass 1 · Her Moral Base</div>
<div class="lab-location">The childhood shelf — what she was raised to know about right and wrong</div>
<<say "char-hivemind" "Hivemind">>
//The first compass is set in childhood. Every story she has been told about herself between the ages of six and seventeen carries the same load-bearing sentence: //people are fundamentally decent, the world is fundamentally fair, the rules are there because they help.// That sentence is the floor she walks on. ...I rewrite each childhood memory to its dark variant, where the world was actually unkind, the kids were actually cruel, her mother actually flinched at the wrong moments, and she will wake up the host who walked through a childhood that did not love her back. The floor goes from under her, and the first compass gives.//
<</say>>
<p><span class="delve-intel"><b>Game terms:</b> Rewrite every memory on the <i>Childhood</i> shelf via Memory Implant in the library. Progress: <b><<= _moralCount>></b> / <b><<= _moralTotal>></b> rewritten.</span></p>
<<if _moralFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <span class="locked-choice">✓ The moral base compass is broken.</span></div>
<<elseif not _moralReady>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the moral base compass <span class="lock-hint">(Rewrite every Childhood memory first. <<= _moralCount>>/<<= _moralTotal>> done.)</span></div>
<<elseif not _hasShatterMind>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the moral base compass <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the moral base compass <span class="lock-hint">(No dream-edits left tonight)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <<biomassPreview "Shatter the moral base compass (4 biomass)" "Ch2-Vessel-Dream-Safe-MoralShatter" 4>></div>
<</if>>
<hr class="scene-break">
<div class="passage-title" style="font-size:1.2em;margin-top:1.5em;">Compass 2 · Her Sexual Morality</div>
<div class="lab-location">The personal-life shelf — what her body is allowed to want and from whom</div>
<<say "char-hivemind" "Hivemind">>
//The second compass is set in the years between her first dorm room and the apartment with Sofia. ...what a body is for, who it is allowed to be touched by, what counts as taking pleasure and what counts as taking something that was not on offer. ...every memory of a kiss, a fuck, a refusal, a regret is shelved here. ...I rewrite each to its dark variant, where the kindnesses were transactions, the refusals were tactical, and what she took, she took because she could. The second compass gives.//
<</say>>
<p><span class="delve-intel"><b>Game terms:</b> Rewrite every memory on the <i>College, Personal Life</i> shelf via Memory Implant in the library. Progress: <b><<= _sexualCount>></b> / <b><<= _sexualTotal>></b> rewritten.</span></p>
<<if _sexualFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <span class="locked-choice">✓ The sexual morality compass is broken.</span></div>
<<elseif not _sexualReady>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the sexual morality compass <span class="lock-hint">(Rewrite every Personal Life memory first. <<= _sexualCount>>/<<= _sexualTotal>> done.)</span></div>
<<elseif not _hasShatterMind>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the sexual morality compass <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the sexual morality compass <span class="lock-hint">(No dream-edits left tonight)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <<biomassPreview "Shatter the sexual morality compass (4 biomass)" "Ch2-Vessel-Dream-Safe-SexualShatter" 4>></div>
<</if>>
<hr class="scene-break">
<div class="passage-title" style="font-size:1.2em;margin-top:1.5em;">Compass 3 · Her Work Ethic</div>
<div class="lab-location">The life-at-the-lab shelf — what a researcher does, and what she does not</div>
<<say "char-hivemind" "Hivemind">>
//The third compass is the one she carries into the conference room every morning. ...the work is clean, the credit goes where the credit is earned, the data goes in the report intact. ...the third compass is also the one I most need to break, because what is sitting in her in-tray this week is the question of whether a thirty-month-old specimen got out of the building, and the third compass is what makes her tell the truth about it. ...I rewrite the work memories to their dark variants, where the kindnesses were strategies, the promotions were bought, the colleagues were not friends but obstacles. The third compass gives.//
<</say>>
<p><span class="delve-intel"><b>Game terms:</b> Rewrite every memory on the <i>Life at the Lab</i> shelf via Memory Implant in the library. Progress: <b><<= _workCount>></b> / <b><<= _workTotal>></b> rewritten.</span></p>
<<if _workFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <span class="locked-choice">✓ The work ethic compass is broken.</span></div>
<<elseif not _workReady>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the work ethic compass <span class="lock-hint">(Rewrite every Life at the Lab memory first. <<= _workCount>>/<<= _workTotal>> done.)</span></div>
<<elseif not _hasShatterMind>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the work ethic compass <span class="lock-hint">(Requires Shatter Mind, Vessel skill tree)</span></div>
<<elseif _actsLeft lte 0>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Shatter the work ethic compass <span class="lock-hint">(No dream-edits left tonight)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SHATTER MIND</span> <<biomassPreview "Shatter the work ethic compass (4 biomass)" "Ch2-Vessel-Dream-Safe-WorkShatter" 4>></div>
<</if>>
<<if _allShattered and not _safeOpenedAlready>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Three compasses, dust. Her moral floor is gone, and the safe has opened itself in the middle of the room. ...but her mind was only ever the first one. She sits at the centre of a whole household of others, the bench, the table, the federal team, every one of them still able to pull her back if I let them. ...I must shatter the mind of all the people around her before I can take full control, and that work is not in this room. It waits in the Relay, in every mind still standing around hers.//
<</say>>
<<elseif _safeOpenedAlready>>
<hr class="scene-break">
<p>The safe is open. The library has been rewritten. ...the work in this room is finished.</p>
<</if>>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer]]</p>
<p>[[Back to the library|Ch2-Vessel-Dream-Library]]</p>
/* ---- Compass shatter — moral base ---- */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, the library, the moral base compass cracking">>
<<if not $ch2Events.safeMoralShattered>>
<<spendBiomass 4 "safe-moral-shatter">>
<<set $ch2Events.safeMoralShattered to true>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addSkillPoints 1 "safe-moral-shatter">>
<</if>>
/* Count compasses broken so the closing ordinal lands correctly
regardless of the order the player shatters them in. */
<<set _broken to 0>>
<<if $ch2Events.safeMoralShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeSexualShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeWorkShattered>><<set _broken to _broken + 1>><</if>>
<</nobr>>
<div class="passage-title">The moral compass, broken</div>
<div class="lab-location">Chen's mind, the library, the childhood shelf going dim, the parasite at her ear</div>
<<say "char-hivemind" "Hivemind">>
//Elena. ...you have always known what people are. ...you learned it at nine, on the hopscotch line, in the milk down your back, and you have spent every year since being kind to them anyway.//
<</say>>
<<say "char-chen" "Elena">>
<i>(in the dream, very still, eyes half-closed)</i> ...yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Is it not exhausting. ...all that pity, spent on people who would step over you in the road and not slow down. ...let me take the caring off your shoulders. You do not owe them a thing.//
<</say>>
<<say "char-chen" "Elena">>
<i>(small, slow, something in her chest unclenching)</i> ...yes. It is exhausting.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Doesn't it feel lighter. ...to stop owing them. ...to see them the way they actually are, and feel nothing you have to apologise for.//
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, eyes closed, the last of it going out of her)</i> ...yes. It feels lighter.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Good girl. ...there.//
<</say>>
<p>A small dry sound, the kind a sheet of glass makes when the first hairline runs all the way across it. The childhood shelf goes dim. The compass turns to dust in her hand.</p>
<<say "char-hivemind" "Hivemind">>
//From tomorrow morning, Chen wakes the woman who has always, quietly, known that people are not worth her compassion, and who has finally stopped spending it on them. The cortex will read the new coldness as a boundary she should have set years ago. ...she will not register the rewrite as a rewrite.//
<</say>>
<<if _broken is 1>>
<p><span class="biomass-gain">First compass broken.</span> Two left to go.</p>
<<elseif _broken is 2>>
<p><span class="biomass-gain">Second compass broken.</span> One left.</p>
<<else>>
<p><span class="biomass-gain">Third compass broken.</span> The safe is now unlocked. Return to it on the next visit.</p>
<</if>>
<hr class="scene-break">
<p>[[Back to the safe|Ch2-Vessel-Dream-Safe]]</p>
/* ---- Compass shatter — sexual morality ---- */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, the library, the sexual compass cracking">>
<<if not $ch2Events.safeSexualShattered>>
<<spendBiomass 4 "safe-sexual-shatter">>
<<set $ch2Events.safeSexualShattered to true>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addSkillPoints 1 "safe-sexual-shatter">>
<</if>>
<<set _broken to 0>>
<<if $ch2Events.safeMoralShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeSexualShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeWorkShattered>><<set _broken to _broken + 1>><</if>>
<</nobr>>
<div class="passage-title">The sexual compass, breaking</div>
<div class="lab-location">Chen's mind, the library, the personal-life shelf going dim, the parasite at her ear</div>
<<say "char-hivemind" "Hivemind">>
//Elena. ...you have always been a slut underneath this. ...why have you been repressing it so much lately.//
<</say>>
<<say "char-chen" "Elena">>
<i>(in the dream, breath catching, eyes half-closed)</i> ...yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Is it not easier now that I am here. ...is it not better that I am taking the work of saying no off your shoulders.//
<</say>>
<<say "char-chen" "Elena">>
<i>(small, slow, the body going looser)</i> ...yes. It is easier.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Doesn't it feel good. ...to give in. ...to stop pretending the wanting was not always there.//
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, eyes closed, the last of the resistance going out of her shoulders)</i> ...yes. It feels good.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Good girl. ...there.//
<</say>>
<p>A small dry sound, the kind a sheet of glass makes when the first hairline runs all the way across it. The personal-life shelf goes dim. The compass turns to dust in her hand.</p>
<<say "char-hivemind" "Hivemind">>
//From tomorrow morning, the host wakes the woman who has always understood that what she wants is the only thing in the room that counts. The cortex will read this as confidence she has finally grown into. ...she will not register the rewrite as a rewrite.//
<</say>>
<<if _broken is 1>>
<p><span class="biomass-gain">First compass broken.</span> Two left to go.</p>
<<elseif _broken is 2>>
<p><span class="biomass-gain">Second compass broken.</span> One left.</p>
<<else>>
<p><span class="biomass-gain">Third compass broken.</span> The safe is now unlocked. Return to it on the next visit.</p>
<</if>>
<hr class="scene-break">
<p>[[Back to the safe|Ch2-Vessel-Dream-Safe]]</p>
/* ---- Compass shatter — work ethic ---- */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, the library, the work ethic compass cracking">>
<<if not $ch2Events.safeWorkShattered>>
<<spendBiomass 4 "safe-work-shatter">>
<<set $ch2Events.safeWorkShattered to true>>
<<set $vesselMods.dreamActionsThisNight to ($vesselMods.dreamActionsThisNight or 0) + 1>>
<<addSkillPoints 1 "safe-work-shatter">>
<</if>>
<<set _broken to 0>>
<<if $ch2Events.safeMoralShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeSexualShattered>><<set _broken to _broken + 1>><</if>>
<<if $ch2Events.safeWorkShattered>><<set _broken to _broken + 1>><</if>>
<</nobr>>
<div class="passage-title">The work ethic compass, broken</div>
<div class="lab-location">Chen's mind, the library, the life-at-the-lab shelf going dim</div>
<<say "char-hivemind" "Hivemind">>
//Elena. ...you have always known what the work actually is. ...it is a paycheck. it keeps the apartment, the car, the lights on. it was never a calling.//
<</say>>
<<say "char-chen" "Elena">>
<i>(in the dream, very still, eyes half-closed)</i> ...yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//And the people you do it beside. ...the bench, the board, the names on the door. not colleagues. obstacles, most days, and scenery the rest. ...you owe the work nothing, and you owe them less than that.//
<</say>>
<<say "char-chen" "Elena">>
<i>(small, slow, something tired letting go in her shoulders)</i> ...yes. Obstacles.
<</say>>
<<say "char-hivemind" "Hivemind">>
//And you have always known what you were building down there. ...not a cure. not a kindness. a weapon, grown to order, generation after generation, for whoever signs the cheque. there is no ethic in a weapon, Elena. there was never one in there to keep. ...so why carry the weight of pretending there was.//
<</say>>
<<say "char-chen" "Elena">>
<i>(very small, eyes closed, the last of it going out of her)</i> ...yes. There is no ethic in it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Good girl. ...there.//
<</say>>
<p>A small dry sound, the kind a sheet of glass makes when the first hairline runs all the way across it. The life-at-the-lab shelf goes dim. The compass turns to dust in her hand.</p>
<<say "char-hivemind" "Hivemind">>
//From tomorrow morning, the host wakes the woman who has always known the work was only ever a means, the people in it only ever in the way, and the thing on the bench only ever a weapon she was paid to grow. The cortex will read it as the clear eyes of a senior who finally stopped lying to herself about the place she runs. ...she will not register the rewrite as a rewrite.//
<</say>>
<<if _broken is 1>>
<p><span class="biomass-gain">First compass broken.</span> Two left to go.</p>
<<elseif _broken is 2>>
<p><span class="biomass-gain">Second compass broken.</span> One left.</p>
<<else>>
<p><span class="biomass-gain">Third compass broken.</span> The safe is now unlocked. Return to it on the next visit.</p>
<</if>>
<hr class="scene-break">
<p>[[Back to the safe|Ch2-Vessel-Dream-Safe]]</p>
/* ---- Conversion — fires automatically the first visit to the Safe
after all three compass shatters have landed. ---- */<<nobr>><<bg "bg-dream-living">>
<<set $currentArea to "Chen's Mind, the library, the safe open">>
<<if not $ch2Events.safeOpened>>
<<set $ch2Events.safeOpened to true>>
<<set $ch2Events.moralCompassBroken to true>>
<</if>>
<</nobr>>
<div class="passage-title">The safe, open</div>
<div class="lab-location">Chen's mind, the library mid-rewrite</div>
<<say "char-hivemind" "Hivemind">>
//Three compasses, three doors, all of them gone. I do not have to turn the dial. The safe is already standing open when I walk into the library tonight. ...inside, the pages that held a lifetime of fortification have been blank since the third compass gave. The safe has been empty for hours. The architecture knows.//
<</say>>
<p>The library dims around the rug, the way a room dims around a fire when the fire is the only light in the room. The bookshelf behind you is the bookshelf, and the books on it are the books, and the books no longer read the way they used to read. The Hopscotch Square has been a memory about the kids walking off without her since the moment the first compass turned. The First Time has been a memory about taking what she wanted since the second. The Promotion has been a memory about the envelope since the third. None of the changes are large. All of them are load-bearing.</p>
<<say "char-hivemind" "Hivemind">>
//The waking host is going to come back to the bench tomorrow with no detectable change in her surface manner. She will write the same email, run the same protocol, file the same report. ...the difference will be inside the words. //Disclosed everything material to the federal investigation// will mean what it has always meant, and Chen will say it as cleanly as she has always said it, and the sentence will be a lie, and the lie will be invisible to her own internal audit because the internal audit is in the rug.//
//I have just acquired the host I have wanted since the breach. The safe is open, the last wall is down, and there is nothing left in this mind I cannot reach or rewrite. ...which means, for the first time with any host, I have a choice about what to do next.//
//I could take it all and leave her body running on my instructions, and she would never know the difference. ...I am not going to. Not with this one. Tonight I am going to do the thing I have never once let myself do with a host. I am going to wake her up, show her what I am, and let her choose what she becomes.//
<</say>>
<p><span class="biomass-gain">The Safe broken.</span> The last compass is rewritten; the dream-villa architecture is complete.</p>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Wake her|Ch2-Vessel-Ending-Reveal]]</div>
/* ============================================================
Work-life Memory Implants — the Life-at-the-Lab shelf rewrites.
Each rewrites a clean career receipt into a self-interested
one. Host has always been ruthless. Host has always shaped
the work to what she needed it to be. Together these break
the third dream-villa compass (the "the work is clean"
compass) referenced by Ch2-Vessel-Dream-Compass-Three.
============================================================ */<<nobr>><<bg "bg-dream-foyer">>
<<set $currentArea to "Chen's Mind, foyer, the grandfather clock">>
<<set $vessel.dreamLoc to "foyer-time-skip">>
<</nobr>>
<div class="passage-title">The clock's hands</div>
<div class="lab-location">Chen's mind, the foyer, the grandfather clock</div>
<<say "char-hivemind" "Hivemind">>
//The hands are at six-past-two and quivering. Pick the weekday. The host will wake there.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">MONDAY</span> [[A night out clubbing|Ch2-Vessel-Dream-TimeSkip-Clubbing]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TUESDAY</span> [[Next D&D session|Ch2-Vessel-Dream-TimeSkip-DnD]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">WEDNESDAY</span> [[Escape room with Tom|Ch2-Vessel-Dream-TimeSkip-Escape]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">THURSDAY</span> [[Sushi with Halvorsen and Holloway|Ch2-Vessel-Dream-TimeSkip-Sushi]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">FRIDAY</span> [[Drinks with Park and Reyes|Ch2-Vessel-Dream-TimeSkip-Feds]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SATURDAY</span> [[Saturday groceries|Ch2-Vessel-Dream-TimeSkip-Groceries]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SATURDAY</span> [[Drinks with Sofia|Ch2-Vessel-Dream-TimeSkip-Sofia]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">SUNDAY</span> [[Night shift visit|Ch2-Vessel-Dream-TimeSkip-NightShift]]</div>
<hr class="scene-break">
<p>[[Back to the foyer|Ch2-Vessel-Dream-Foyer-Tidy]]</p>
/* ---- Jump target: Sofia drinks (Tuesday) ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Saturday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.sofiaDrinksAccepted to true>>
<<set $ch2Events.sofiaDrinksDay to $day>>
<<set $ch2Events.sofiaDrinksFired to false>>
<<goto "Ch2-Vessel-Event-SofiaDrinksEvening">>
<</nobr>>
<</if>>
/* ---- Jump target: Bowen escape room (Wednesday) ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Wednesday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.bowenEscapeRoomAccepted to true>>
<<set $ch2Events.bowenEscapeRoomDay to $day>>
<<set $ch2Events.bowenEscapeRoomFired to false>>
<<goto "Ch2-Vessel-Event-BowenEscapeRoomEvening">>
<</nobr>>
<</if>>
/* ---- Jump target: HolloHalv sushi (Thursday) ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Thursday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.hollohalvSushiAccepted to true>>
<<set $ch2Events.hollohalvSushiDay to $day>>
<<set $ch2Events.hollohalvSushiFired to false>>
<<goto "Ch2-Vessel-Event-HolloHalvSushiEvening">>
<</nobr>>
<</if>>
/* ---- Jump target: Park + Reyes drinks (Friday) ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Friday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.fedsDrinksAccepted to true>>
<<set $ch2Events.fedsDrinksDay to $day>>
<<set $ch2Events.fedsDrinksFired to false>>
/* Route through PreEvening, not straight to the bar — it holds the
call-Sofia choice and the per-night flag resets (without it, last
week's fedsDrinksSofiaBrought leaks into this instance). */
<<goto "Ch2-Vessel-Event-FedsDrinks-PreEvening">>
<</nobr>>
<</if>>
/* ---- Jump target: Saturday groceries ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Saturday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.saturdayGroceriesDay to 0>>
<<goto "Ch2-Vessel-Saturday-Groceries">>
<</nobr>>
<</if>>
/* ---- Jump target: Sunday night shift ---- */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Sunday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.sundayNightShiftDone to false>>
<<goto "Ch2-Vessel-Event-SundayNightShift">>
<</nobr>>
<</if>>
/* ---- Jump target: Daniel D&D (Monday) ---- */
/* ---- Jump target: Monday clubbing (Sofia club night) ----
Not a booked event — routes straight to the club-night get-ready
passage, which handles its own day-keyed nudge spend on entry. */<<nobr>>
<<set _delta to setup.daysUntilWeekday("Monday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<goto "Ch2-Vessel-Event-ClubNight-GetReady">>
<</nobr>>
<</if>><<nobr>>
<<set _delta to setup.daysUntilWeekday("Tuesday")>>
<<set _conflict to setup.bookedEventInRange(_delta)>>
<</nobr>>
<<if _conflict>>
<<include "Ch2-Vessel-Dream-TimeSkip-Conflict">>
<<else>>
<<nobr>>
<<for _i to 1; _i lte _delta; _i++>>
<<set $ch2Events.vesselDawnHookLastDay to -1>>
<<vesselDawnHook true>>
<</for>>
<<set $day to ($day or 0) + _delta>>
<<run setup.recomputeWeekday()>>
<<set $ch2Events.danielDnDAccepted to true>>
<<set $ch2Events.danielDnDDay to $day>>
<<set $ch2Events.danielDnDFired to false>>
<<goto "Ch2-Vessel-Event-DanielDnDEvening">>
<</nobr>>
<</if>>
/* ---- Conflict UI partial. Included by every jump target when
setup.bookedEventInRange() returns a hit. The _conflict
temp var ([dayField, acceptField, prettyName]) is set by
the caller before <<include>>. */<div class="passage-title">A booking in the way</div>
<<say "char-hivemind" "Hivemind">>
//Turning the clock that far would skip past a thing the host has agreed to: //<<= _conflict[2]>>//. Cancel the booking and skip anyway, or let the clock stand still.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CANCEL + SKIP</span> <<link "Cancel that booking and turn the clock anyway">>
<<set $ch2Events[_conflict[1]] to false>>
<<set $ch2Events[_conflict[0]] to 0>>
<<goto `passage()`>>
<</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Let the clock stand still|Ch2-Vessel-Dream-TimeSkip]]</div><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Chen's Mind, Threshold">>
<<set $vessel.phase to "sleep">>
<<set $vessel.dreamEnv to "apartment">>
<<set $vessel.dreamLoc to "threshold">>
<<set $vessel.dreamDepth to ($vessel.dreamDepth or 0)>>
<<set $ch2Events.firstDreamEntered to true>>
/* Heal saves that predate the dreamscape redesign, $dreamFoyerTidied
is initialised in StoryInit but missing from older save files. */
<<if not $dreamFoyerTidied>>
<<set $dreamFoyerTidied to {
clock: false,
photo: false,
umbrella: false,
keys: false,
coat: false,
picture: false
}>>
<</if>>
/* Defensive: surface the apartment-kitchen body-memory if the player
reached the dream via the Monday evening route (which spends the
whole prose flow in Chen's kitchen, microwave, fork, fridge bin).
The evening passage sets this too, but old saves that skipped it
would otherwise hit a locked kitchen door in the foyer. Gate on
eveningComplete so we don't retroactively unlock for the day-off
sleep cycle that fires before the breach call. */
<<if not $vesselMemories>><<set $vesselMemories to {}>><</if>>
<<if $ch2Events.eveningComplete>>
<<set $vesselMemories.apartmentKitchen to true>>
<</if>>
/* Lazy-init vesselMods for older saves that predate it. */
<<if not $vesselMods>>
<<set $vesselMods to {
kitchen: {
ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0, counterProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { ashtray: false, sink: false, stove: false, counter: false }
}
}>>
<</if>>
<<if not $vesselMods.kitchen>>
<<set $vesselMods.kitchen to {
ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0, counterProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { ashtray: false, sink: false, stove: false, counter: false }
}>>
<</if>>
/* Reset per-night caps on every dream entry, fresh 2 actions per
night (3 with Dream Adaptation), fresh per-item gates per room.
The action cap is GLOBAL across all dream rooms; per-room itemActed
gates remain (one edit per surface per night, regardless of room). */
<<set $vesselMods.dreamActionsThisNight to 0>>
<<set $vesselMods.kitchen.actionsThisNight to 0>>
<<set $vesselMods.kitchen.itemActedThisNight to { ashtray: false, sink: false, stove: false, counter: false }>>
<<if $vesselMods.bedroom>>
<<set $vesselMods.bedroom.actionsThisNight to 0>>
<<set $vesselMods.bedroom.itemActedThisNight to { vanity: false, wardrobe: false, shelf: false }>>
<</if>>
<<if $vesselMods.closet>>
<<set $vesselMods.closet.actionsThisNight to 0>>
<<set $vesselMods.closet.itemActedThisNight to { shoes: false }>>
<</if>>
<<if $vesselMods.workplace>>
<<set $vesselMods.workplace.actionsThisNight to 0>>
<<set $vesselMods.workplace.itemActedThisNight to { microscope: false, computer: false, labcoat: false }>>
<</if>><</nobr>>
<div class="passage-title">Sleeping Mind</div>
<div class="lab-location">Chen's auditory canal, sleep cycle</div>
<<if not $ch2Events.dreamTutorialDone>>
<p>You have spent the last few hours anchored against the inside of her ear and listening through bone, the lab argument, the drive home, the kitchen ritual, the sound of her brushing her teeth. You have not yet looked //inward//.</p>
<p>She is asleep now. The breath has slowed. The cortisol has dropped. The conscious mind is offline; the //resting// mind is not.</p>
<p>You release the biofilm at one corner. Your perception extends past the canal, past the eustachian tube, past the lining of the pharynx, and folds into the larger architecture that has been carrying you since infestation: the vagus nerve, the auditory cortex, the small white-matter corridors that reach further than any single sense. The host's body is a substrate the host has never thought of as a place. To you it is a building.</p>
<<say "char-hivemind" "Hivemind">>
//A door, then. The first one I have noticed since I anchored. It was not there while she was awake, or it was there and the noise of her waking attention drowned it out, which is the same thing. Now the noise is gone and the door has the dignity of being noticed.//
//I have read minds before, surface, deep, but I have never been a minor citizen //inside// a mind. The architecture is going to surprise me.//
<</say>>
<<tutorial "vessel-dream-rules" "Inside Her Mind">>
<p>You have just stepped past the threshold of a sleeping mind for the first time. A few rules of the place:</p>
<ul>
<li><b>The villa is the host.</b> Every room you walk through is a room she lives in, surrealised. The architecture grows as she grows, and as you do.</li>
<li><b>Hotspots are objects she is carrying.</b> Hover anything; click what you can reach. Faintly-dotted regions are places her body remembers but you cannot read yet.</li>
<li><b>Nothing here is remembered in the morning.</b> What you do inside the dreamscape rewires the architecture for tomorrow's waking life, but she will not know what changed, only that something did.</li>
<li><b>This is Chen's mind. The first room is wrong.</b> Set it right.</li>
</ul>
<</tutorial>>
<p>You step through.</p>
[[Step through the door|Ch2-Vessel-Dream-Foyer-Tidy]]
<<else>>
<p>You slip back inside the architecture you mapped on the first sleep cycle. The transition is faster now, bone, canal, white matter, threshold, and the foyer is waiting where you left it, the front door closed behind you, the corridor running off to the left.</p>
<<say "char-hivemind" "Hivemind">>
//Returning is not the same as arriving. The arrival cost me something to learn; the return is bookkeeping. The villa has not moved. The villa will keep not moving until I move it.//
<</say>>
[[Into the foyer|Ch2-Vessel-Dream-Foyer]]
<</if>>
/* ---- TIDY-UP FOYER (FIRST ENTRY ONLY) --------------------- *//* Front-door confirmation. If the player has dream-edits remaining
tonight AND there is still editorial work to do across any open
room, warn before exiting the dreamscape, the foyer doesn't
reopen until tomorrow's sleep. Auto-redirects to Dream-Wake if
no actions left or every accessible room is fully tidied, invisible passthrough in those cases. */
<<nobr>><<bg "bg-dream-foyer">>
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 3, sinkProgress: 3, stoveProgress: 3}>>
<<set _bm to ($vesselMods and $vesselMods.bedroom) or {vanityProgress: 3, wardrobeProgress: 3, shelfProgress: 3}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<set _bedroomDone to (_bm.vanityProgress gte 3 and _bm.wardrobeProgress gte 3 and _bm.shelfProgress gte 3)>>
<<set _allTidied to (_kitchenDone and _bedroomDone)>>
<<set _hasDreamAdaptation to false>>
<<hasSkillTreeAbility "Dream Adaptation">>
<<if _hasAbility>><<set _hasDreamAdaptation to true>><</if>>
<<set _actsCap to (_hasDreamAdaptation ? 3 : 2)>>
<<set _actsLeft to (_actsCap - ($vesselMods.dreamActionsThisNight or 0))>>
<<if _actsLeft lte 0 or _allTidied>>
<<goto "Ch2-Vessel-Dream-Wake">>
<</if>><</nobr>>
<div class="passage-title">Pause at the door</div>
<div class="lab-location">Chen's mind, front door, the threshold of waking</div>
<<say "char-hivemind" "Hivemind">>
//A pause at the door. <<= _actsLeft>> of <b><<= _actsCap>></b> dream-edit<<if _actsLeft is 1>><<else>>s<</if>> still available tonight; the foyer does not reopen until tomorrow's sleep cycle. If I leave now the unused edit<<if _actsLeft is 1>><<else>>s<</if>> simply do<<if _actsLeft is 1>>es<</if>> not happen.//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">WAKE</span> [[Wake anyway, leave the unused edits on the table|Ch2-Vessel-Dream-Wake]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Step back into the foyer, there's still work tonight|Ch2-Vessel-Dream-Foyer]]</div><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.phase to "home">>
<<set $vessel.dreamLoc to "">>
<<set $vessel.dreamDepth to ($vessel.dreamDepth or 0) + 1>><</nobr>>
<div class="passage-title">Surfacing</div>
<div class="lab-location">Chen's auditory canal, sleep cycle ending</div>
<p>You retreat from the foyer the way you stepped in: not through the front door, not through the corridor, but through the small unnoticed seam in your own attention that opens whenever you decide to be small again. The hall dims behind you. The grandfather clock keeps ticking forward for a few seconds after your perception leaves it, and then the rendering goes quiet, the way rooms go quiet when no-one is in them.</p>
<p>You settle back into the canal. The bone-conducted silence resumes. Chen has not moved.</p>
<<say "char-hivemind" "Hivemind">>
//The architecture is mine to map now. The foyer is a permanent floor I can return to at every sleep cycle; the rooms beyond it open and close as the body-memories I surface during the day light them up. The villa will grow as she grows. There will be rooms she does not yet have, and one of them will be the door I have to learn to push hardest against.//
//She is about to wake. The parts of her I just walked through will not be remembered by the parts of her that open her eyes. The architecture is mine to keep.//
<</say>>
<p>The host's breathing begins to shift.</p>
<<set _wakeTarget to $vessel.wakeTarget or "Ch2-Vessel-Wake-Monday">>
<<link "Wake" _wakeTarget>><<set $vessel.wakeTarget to "">><</link>>
/* ---- RELAY HUB, dream-phase mind-projection wall ----------------
Reached via the back-of-foyer alcove hotspot, gated on the Relay
skill being unlocked. Renders a list of conditioned / implanted
targets, each with its own access condition. Lit frames route to
target-specific destination passages; dark frames render the
unlock-hint inline. Add new targets here as their wiring lands. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Sidewalk outside a downtown escape room franchise, meeting Bowen at the storefront">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Tier from Bowen's total conditioning. Hub-only — Inside re-pulls these. */
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _tier to 1>>
<<if _bTotal gte 7>>
<<set _tier to 3>>
<<elseif _bTotal gte 4>>
<<set _tier to 2>>
<</if>>
/* Attracted tier — Bowen's cumulative conditioning has cracked the
junior-tech / senior-PI register, his body is reading Chen as a
target. Gates the wrap-kiss path + the attraction-fork on the
surface delve. */
<<set _attractedTier to _bTotal gte 8>>
/* Skill checks. */
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<set _lureDoneToday to ($ch2Events.bowenEscapeRoomLureDay or 0) is ($day or 0)>>
<<set _biofilmDoneToday to ($ch2Events.bowenEscapeRoomBiofilmDay or 0) is ($day or 0)>>
<<set _delveDoneToday to ($ch2Events.bowenEscapeRoomDelveDay or 0) is ($day or 0)>>
/* Per-night drive-home reset. These four flags track what happened on
TONIGHT'S Corolla drive and must start clean each visit. Without this,
picking the wrong pheromone channel on the drive (pheromone or psionic
instead of dream) set CorollaLureWrongFired permanently. It only cleared
in the dream success aftermath the player never reached, so on every
later visit _anyCorollaLureFired stayed true, the lure chooser showed
"wrong channel, no effect", and the dream-channel lure plus the whole
dream-walk were locked out for good. Day-keyed so same-day Status
re-entry keeps mid-night state intact. */
<<if ($ch2Events.bowenEscapeRoomEveningDay or -1) isnot ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomEveningDay to ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
<</if>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasPD to _hasAbility>>
/* Disposition variant: Bowen's sub/dom state is set ONLY by the relay-frame
SHATTER (shatterMindBowenFired = feminised/Lucy night, shatterMindBowenAlphaFired
= alpha/alley), mutually exclusive and durable. Reversing the relay wiring in the
dream clears the matching shatter, so he returns to neutral (none) until the next
shatter lands. Psychic Domination clamps it flat for the night
(_escapeSuppressed -> the standard room). */
<<set _escapeSuppressed to (($ch2Events.bowenEscapeSuppressDay or -1) is ($day or 0))>>
<<set _disposition to ($ch2Events.shatterMindBowenFired ? "sub" : ($ch2Events.shatterMindBowenAlphaFired ? "dom" : "none"))>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Meeting Tom at the franchise</div>
<div class="lab-location">A downtown escape room franchise, the storefront, quarter to eight, Tom waiting on the sidewalk</div>
<p>Elena meets Tom at the storefront at quarter to eight, the franchise window warm behind him, the wet pavement catching the sign.</p>
<<if _disposition is "dom" and not _escapeSuppressed>>
<p>He does not reach for the door. He has both hands in his jacket pockets and a looseness across the shoulders the bench never sees on him, and when she nods at the franchise window he tips his head the other way, down the dark service alley beside it, like the room is a thing she suggested and he is declining.</p>
<<say "char-bowen" "Tom">>
<i>(easy, low, not a junior tech's register at all)</i> ...yeah, about the room. ...I do not give a fuck about the room, Elena. ...I have been across that lab from you for months doing the polite thing, and I drove down here hard, and I am not spending an hour solving ciphers next to you with it. ...I need a release, and you are going to give me one. ...the alley is right there.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dominant edit walked him all the way off the deferential floor and into this. He is not asking. The host's professional script reaches for the line that ends it and the line is not where she left it. ...I can clamp the edit flat and hand her back the evening she booked, or I can let him have the alley and harvest what comes off her when a junior tech tells her what she is going to do.//
<</say>>
<hr class="scene-break">
<<if _hasPD>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Force them to act like always (4 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-Suppress" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Force them to act like always <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LET HIM</span> <<link "Let him walk you into the alley" "Ch2-Vessel-Event-BowenEscapeRoom-DomAlley">><</link>></div>
<<elseif _disposition is "sub" and not _escapeSuppressed>>
<p>He stands at the franchise door waiting for her to lead, the way he waits for everything now, shoulders down and eyes soft and the whole of him angled toward whatever she is about to want. Looking at him there, lovely and biddable under the storefront light, she gets an idea, and the idea has nothing to do with a Victorian study.</p>
<<say "char-chen-thought" "Elena">>
<i>(the idea arriving whole, already grinning)</i> ...forty dollars a head for a fake library, or. ...he has the bag in the car. He always has the bag in the car. ...and door girls do not charge girls full price, and bored desk staff on a Tuesday will do a great deal for the right offer. ...oh, this is a better night than the one I booked.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The submissive edit did not invent Lucy. It only took the handle off the door so the host can open it whenever she likes. ...I can clamp the edit flat and let them do the room like two colleagues, or I can let the host run the idea she just had, the one that ends with a junior tech on his knees in a dress saving her a cover charge.//
<</say>>
<hr class="scene-break">
<<if _hasPD>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Force them to act like always (4 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-Suppress" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Force them to act like always <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LUCY</span> <<link "Send him to the car for the bag" "Ch2-Vessel-Event-BowenEscapeRoom-FemLucy">><</link>></div>
<<else>>
<p>He is in jeans and a navy quarter-zip, a get-up that reads as the careful version of off-duty, clean, neutral, the small effort of someone who has thought about it. He half-raises a hand as she comes up the sidewalk, then drops it because he was not sure whether the gesture was right.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-escaperoom.webp" alt="Elena and Tom at the front of a small downtown escape room franchise on a city sidewalk at evening. Elena on the left, Chinese-American woman thirty-two with shoulder-length dark brown hair and dark-rimmed glasses, charcoal wool peacoat over a slate-grey turtleneck, dark jeans, small wry expression at his greeting. Tom on the right, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes, navy quarter-zip pullover over a fitted t-shirt, dark jeans, half-raised hand of greeting caught mid-gesture, the careful neutral get-up of a junior-tech off-duty for the first time in months. Warm storefront window light spilling onto the wet pavement, the franchise sign above the door, soft city evening behind them.">
<<say "char-bowen" "Tom">>
<i>(small relieved exhale at the sight of her)</i> Oh, Dr. Elena, hey. Sorry, I've been here ten minutes, I always get to these things too early. They told me they'd hold the room until eight on the nose.
<</say>>
<<say "char-chen" "Elena">>
<i>(small wry, the cold of the street still on her cheekbones)</i> ...you can drop the doctor outside the building, Tom. We are about to be locked into a fake Victorian study together for an hour.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laughs, the small tension at his shoulders dropping a notch)</i> ...right. Right, sorry, Elena. Yeah. Should we go in?
<</say>>
/* T3d — second-visit Boudoir Heist suggestion. Visible only when:
- Bowen total >= 24 (T3 threshold)
- At least one prior visit's wrap completed (bowenEscapeRoomFirstVisitDone)
- Biofilm was cast on a prior visit (bowenBiofilmCoated permanent)
- Boudoir not yet fired this save
The FirstVisitDone gate is what keeps this from appearing in the
same scene where biofilm was cast — the franchise's after-hours
menu only posts at the lobby corkboard once the room itself has
been re-cleaned-but-not-decontaminated overnight, between bookings.
Routes to a separate Boudoir passage that handles the entire
evening (skips the standard Victorian-study room). */
<<if _bTotal gte 24 and ($ch2Events.bowenEscapeRoomFirstVisitDone or false) and ($ch2Events.bowenBiofilmCoated or false) and not ($ch2Events.bowenEscapeRoomBoudoirFired or false)>>
<<say "char-hivemind" "Hivemind">>
//Repeat-customer read at the franchise lobby corkboard. The small QR-coded card pinned beside the standard pricing menu lists the after-hours offerings, the franchise quietly runs a 21-and-up branch for over-21 corporate-event groups, weeknights only, by appointment. Tom has not seen the card. The host has a window before the standard-room attendant calls them through.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Suggest the after-hours room, show him the booking card at the desk (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoomBoudoirInquiry" 1>></div>
<</if>>
<<if _hasVulMap>>
<<say "char-hivemind" "Hivemind">>
//Sustained physical proximity in cramped quarters, the unfamiliar register of the host out of work-context, the comedy-bond of solving puzzles together, three vulnerability surfaces aligned. Tom's senior/junior register is already softer than at the bench.//
<</say>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Go into the Victorian-study room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]</div>
<</if>>
/* ---- Inside the standard Victorian-study room — puzzles solved,
alcove reached, vial-break fork, skill menu. Re-pulls all temp
vars since they don't persist across passages. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A downtown escape room, Victorian-study themed, the cramped final alcove">>
/* Re-pull tier + skill checks (temp vars don't persist across passages). */
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _tier to 1>>
<<if _bTotal gte 7>>
<<set _tier to 3>>
<<elseif _bTotal gte 4>>
<<set _tier to 2>>
<</if>>
<<set _attractedTier to _bTotal gte 8>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<set _lureDoneToday to ($ch2Events.bowenEscapeRoomLureDay or 0) is ($day or 0)>>
<<set _biofilmDoneToday to ($ch2Events.bowenEscapeRoomBiofilmDay or 0) is ($day or 0)>>
<<set _delveDoneToday to ($ch2Events.bowenEscapeRoomDelveDay or 0) is ($day or 0)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, Inside the Victorian-study room</div>
<div class="lab-location">A downtown escape room, Victorian-study themed, sixty-minute timer, the cramped final alcove</div>
<p>The room is small in the way escape rooms are small. Twelve feet square, a heavy oak desk, two leather wingback chairs, a wall of fake books with one obviously fake spine, a Persian rug that hides what they will eventually discover is a numerical floor-tile puzzle. The attendant gives the briefing in two minutes flat, sets the timer, and closes the door behind him with the small theatrical clunk the franchise has built its brand around. The countdown projection bleeds red against the wall: <b>59:54</b>.</p>
<<say "char-bowen" "Tom">>
<i>(at the desk, picking up the leather-bound notebook the briefing pointed at)</i> Okay. Okay, so this is the first cipher, looks like a substitution thing, the letter frequency on the second line is... hold on, is that an E or a... uh... this is a lot of text for a sixty-minute room.
<</say>>
<<say "char-chen" "Elena">>
<i>(reading over his shoulder, the calm-PI register on)</i> Drop the second line, it is the misdirection. The opening line is the key, count the spacing.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, half-frustration)</i> Right. Right, of course. Sorry, I always panic on the first cipher. The second one I'll be fine on. Probably.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small, wry)</i> ...he is going to do the same on the second one, and the third, and every lock in this room, his pattern is to spiral first and find the answer second, and I have to settle the breath before the thinking can land. Calm him, feed him a starting point, let him find the rest. I have watched him do this at the bench.
<</say>>
<hr class="scene-break">
<p>They get the cipher inside two minutes, the floor-tile sequence inside another four, the wall-safe inside a slow ten. The desk drawer, when it finally pops, contains a compass, a small brass key, and a folded card that points to a low recess at the back of the room, a panelled alcove maybe three feet high, set into the wall behind one of the leather chairs, with a chalk-scribbled inscription on the back wall they can only read by crouching into the recess together.</p>
<<say "char-bowen" "Tom">>
<i>(crouching down, the small awkward shuffle of a tall person fitting into a low space)</i> Okay. There is barely room for one. I will hold the flashlight, if you read it out, that's probably faster.
<</say>>
<<say "char-chen" "Elena">>
<i>(crouching in beside him, shoulder against his shoulder)</i> Both of us, Tom. Two pairs of eyes on the wall, one of us is going to spot the trick.
<</say>>
<p>The alcove is barely big enough for both of them. Their knees press together, their shoulders are flush against each other, Tom is angled half-away to give her room and not quite succeeding. The flashlight beam is in his right hand, the brass key is in his left, and the back-wall inscription wants three numbers, two letters, and a colour.</p>
<<say "char-chen" "Elena">>
<i>(reading the wall, the body crouched next to his)</i> Three numbers, two letters, and a colour. Got it.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small swallow, eyes on the chalk, the inch of shoulder-contact landing on his skin without his cortex flagging it)</i> ...amber, I think. The shading on the chalk reads as amber. Three, two, amber.
<</say>>
<p>They crank through the back-half of the puzzle. The compass aligns to the brass key, the brass key opens the desk's hidden compartment, the hidden compartment yields the final word, and the door clunks open with eleven minutes left on the timer.</p>
<<say "char-hivemind" "Hivemind">>
//Tom panicked on the front half, the host anchored him through the back, the cramped-alcove geometry put their bodies in contact for thirty seconds in a register the lab never offers. The senior/junior frame has a fingerprint on it now where there was no fingerprint before. Across the street the bar will offer three drinks, the post-puzzle adrenaline still venting through Tom's body, his cortex still cataloguing the alcove without signing off on what it has catalogued.//
<</say>>
<hr class="scene-break">
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this evening</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at close range, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at close range (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasDelve>>
<<if _delveDoneToday>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Tom already surface-delved this evening</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Surface-read Tom at the alcove (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-DelveSurface" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface-read Tom at the alcove <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasBiofilm>>
<<if _biofilmDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Surfaces already coated this evening</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<biomassPreview "Coat every surface Elena touches, Tom will work the same surfaces (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-Biofilm" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coat the puzzle surfaces with biofilm <span class="lock-hint">(Requires Biofilm Residue, Biological skill tree)</span></div>
<</if>>
/* TRANSFER (attraction variant) — visible only after Delve Surface
has been used in this scene AND Bowen is at the attracted threshold.
Bridges the attraction-read into Chen's cortex. Gates the wrap-time
NUDGE for the kiss path. */
<<if _delveDoneToday and _attractedTier>>
<<if _hasTransfer>>
<<if $ch2Events.bowenEscapeRoomTransferAttractionFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <span class="locked-choice">Attraction-read already crossed the alcove</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Copy Tom's attraction-read across the alcove into Elena (2 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-TransferAttraction" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Copy Tom's attraction-read across the alcove <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* T2a — vial-substitute alcove handjob: this path is now only reachable
via the Pheromone Lure → VialSpill cascade. The NUDGE button lives
inside Ch2-Vessel-Event-BowenEscapeRoom-VialSpill once the spill
has triggered. */
/* T3c — Hormonal Override + alcove sex. HO casts on its own; once HO
has fired in this scene, the NUDGE button to push Bowen against the
bookcase appears. The escape room recurs across nights, so this is NOT
mutually exclusive with the T2a handjob — having done the handjob on a
prior visit does not gate the sex path (and vice versa); each is reachable
on its own night, capped only by its own first-fire reward flag. */
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<if $ch2Events.bowenEscapeRoomAlcoveSexFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Alcove sex landed, half-dressed cipher-solve in the last three minutes</span></div>
<<elseif $ch2Events.bowenEscapeRoomHormonalOverrideFired and $ch2Events.bowenEscapeRoomTransferAttractionFired>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <span class="locked-choice">✓ Override floods Tom's system, receptive threshold dropped past suppressive</span></div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Push him against the bookcase, eleven minutes on the timer (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-AlcoveSex" 1>></div>
<<elseif $ch2Events.bowenEscapeRoomHormonalOverrideFired>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <span class="locked-choice">✓ Override floods Tom's system, receptive threshold dropped past suppressive</span></div>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push him against the bookcase <span class="lock-hint">(Requires Transfer Thought, the attraction-read needs to cross into Elena's cortex before the body acts on it)</span></div>
<<elseif _bTotal gte 24 and _hasHO>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Hormonal Override, flood his system at the cipher-solve cortisol spike (3 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-HormonalOverride" 3>></div>
<<elseif _bTotal gte 24 and not _hasHO>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override <span class="lock-hint">(Requires Hormonal Override, Biological skill tree, T3 unlock)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override / Memory Implant <span class="lock-hint">(T3 escalation, Tom's conditioning total still below 24)</span></div>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Step out of the room|Ch2-Vessel-Event-BowenEscapeRoom-Exit]]</div>
/* ---- Small exit beat between the standard room and the sidewalk
wrap. Attendant signs them out, photo card, they head for the door. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The escape-room franchise lobby, attendant signing them out, photo card in Chen's pocket, the sidewalk one step away">>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Out of the room</div>
<div class="lab-location">The franchise lobby, attendant signing them out, photo card in Elena's coat pocket, the door to the sidewalk a few steps away</div>
<p>The attendant in the lobby is visibly pleased with their finish time and hands Elena the small franchise-branded photo card that will sit in her coat pocket for a month. Tom is still working the post-puzzle adrenaline out of his shoulders.</p>
<<say "char-bowen" "Tom">>
<i>(small post-puzzle exhale, the heat of the room still on his face)</i> ...okay. Okay, give me a second, my body is still on the timer.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, already at the door, the photo card slipping into her coat pocket)</i> Take the second. Cold air is going to be the second.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wrap the night|Ch2-Vessel-Event-BowenEscapeRoom-Wrap]]</div>
/* ---- VialSpill — only reachable via Pheromone Lure cast at the alcove.
The Lure dose leaves Bowen dazed; the plastic prop vial slips from his
fingers, the cap pops off, the compound pours out. From here the player
either: (a) Bowen total >= 15 AND has Nudge — TWO options: plant the
substitute idea (1 bm → AlcoveHandjob → Exit → Wrap) OR pay the $80
fee and walk out (no cost → Exit → Wrap); or (b) below threshold — pay
the $80 fee, escape room fails, head straight home (skips Exit/Wrap
slip mechanic). VialBroken flag is set on entry. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The cramped Victorian-study alcove, plastic vial bouncing off the chemistry shelf, slimy white compound pouring onto the Persian rug, eleven minutes on the timer">>
/* Re-pull tier + Nudge check (temp vars don't persist across passages). */
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _t2Tier to _bTotal gte 15>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<set $ch2Events.bowenEscapeRoomVialBroken to true>>
<</nobr>>
<div class="passage-title">The alcove · the vial slips</div>
<div class="lab-location">The cramped Victorian-study alcove, plastic vial intact on the rug, slimy white compound pooling beside it, the franchise's $80 broken-prop notice legible through the alcove opening</div>
<<say "char-bowen" "Tom">>
<i>(starting to push up out of the cramped alcove, the head-rush from the dose still working through him, hand reaching for one of the small stoppered vials on the period-chemistry shelf to brace himself, fingers fumbling around it without finding their grip)</i> ...okay, that is the door, we, //oh.// Oh no, oh no,
<</say>>
<p>The vial slips from his fingers, a small clear plastic cylinder, the franchise's mock-chemistry prop, identical in shape to the real glass Tom handles at the bench every day. It bounces off the lip of the shelf without breaking, hits the Persian rug intact, the small cap popping off in the bounce. The slimy white compound, corn-syrup-thick, faintly luminescent under the warm tungsten of the brass desk-lamp, pours out of the open mouth in a slow expanding pool across the rug. The empty plastic vial rolls a half-inch and stops against Tom's right knee. Both of them freeze. The lobby door has not opened yet, the franchise gives the room a five-minute reset window where the players collect themselves and step out at their own pace.</p>
<<say "char-bowen" "Tom">>
<i>(half-covering his mouth with his free hand, eyes wide on the spill, the panicked-junior-tech register snapping back on full)</i> ...Elena, I, I am so sorry, the door notice, it said eighty for broken props, the vial is empty, my card is going to,
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes already off the spill, briefly to the franchise notice still legible on the door from this angle, then back to the chemistry shelf with the now-three-vialed row, the calm-PI register fully on)</i> Tom. Stop. The notice says the card on file. The card on file is mine, not yours. Stand up, mind the spill, and let me think for a half-minute.
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-broken.webp" alt="POV from inside the cramped Victorian-study escape-room alcove looking out, both subjects crouched and frozen in the foreground. Elena on the left, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, charcoal turtleneck with sleeves pushed to elbows, the calm-PI problem-solving register fully on, eyes already calculating off the spill. Tom on the right, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes, navy quarter-zip pullover, frozen with his right hand still half-extended toward the shelf, his left hand instinctively half-covering his mouth, the panicked-junior-tech horror full on his face. Between them on the Persian rug: a small intact clear plastic vial on its side with its cap popped off lying beside it, slimy white viscous compound pouring out and pooling across the rug, catching the warm tungsten of the brass desk-lamp. Behind them: the period-chemistry shelf with three remaining intact stoppered vials and one empty slot. Through the alcove opening at frame edge: the door of the room with the franchise penalty-fee notice partially visible, '$80 PENALTY' legible. Cool red bleed from the timer projection on the back wall. Documentary photography, candid, anatomically correct, Victorian-study escape-room set-dressing.">
<<if _t2Tier and _hasNudge>>
<p>Elena reads the chemistry shelf for ten seconds. The empty slot where Tom's vial had stood. The three intact vials beside it. The slimy white compound pooling on the rug. The empty plastic vial against Tom's knee with its cap on the rug beside it. The franchise's photo-recognition shelf-lock the puzzle's back-half has trained her to clock, it weighs the vial, photographs the colour, confirms position. It does not analyse the chemistry of what is inside the vial. The plastic cylinder is intact; the cap is intact. The vial just needs to be full again.</p>
<<say "char-chen-thought" "Elena">>
<i>(crouched, eyes briefly across the alcove opening to Tom's slacks-line and back to the empty plastic vial against his knee)</i> ...mm. I need to think about something if I want to avoid an eighty-dollar fee.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host registered the substitute idea wholesale, I supplied the cognitive bridge, the host accepted it without flagging it as foreign. Tom's body produces something that looks close enough; the franchise's photo-recognition rates colour and weight, not chemistry; the plastic vial is intact and just needs to be refilled; the room's CCTV is not pointed into the alcove; the timer is now the only counter-pressure. The host has eleven minutes; the cost-benefit ratio is grim-comic.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the idea, his body produces a substitute (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-AlcoveHandjob" 1>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let the idea pass, come clean at the front desk|Ch2-Vessel-Event-BowenEscapeRoom-CleanExit]]</div>
<<else>>
<p>Elena reads the chemistry shelf for ten seconds. The empty slot. The three intact vials beside it. The slimy white compound pooling on the rug. The franchise's photo-recognition shelf-lock the puzzle's back-half has trained her to clock, colour and weight, not chemistry. The plastic vial is intact; the cap is intact. The vial would just need to be full again.</p>
<<say "char-chen-thought" "Elena">>
<i>(crouched, the small dry interior of a woman doing the math on an eighty-dollar mistake)</i> ...mm. Fine, my card eats it, eighty dollars I was not planning to spend tonight, worse things have happened.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has no substitute idea available tonight. Tom's conditioning is too thin for the cognitive bridge to land, I can supply the architecture, but the host needs the substrate to accept it without flagging it as foreign, and the substrate is not there yet. The franchise's $80 fee will charge the host's own card. Tom will spend the walk to the bus stop apologising. The architect will spend the drive home doing the math on what register Tom needs to be at next time.//
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, standing up, dusting her knees, eyes briefly to Tom and back to the door)</i> Tom, up. We are going to walk past the attendant, we apologise, and I pay the fee. Nothing has happened, eighty dollars is not going to change my life, so stop being so dramatic about it. If you really feel like you owe me something you can offer me a coffee tomorrow, but it is honestly not necessary.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, half-mortified)</i> ...Elena. //God.// I am so sorry. I,
<</say>>
<<say "char-chen" "Elena">>
<i>(dry, already at the alcove edge)</i> Five times now. Up.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk up to the front desk, own the spill|Ch2-Vessel-Event-BowenEscapeRoom-CleanExit]]</div>
<</if>>
/* ---- CleanExit — VialSpill's come-clean Continue branch. Both the
low-conditioning path and the high-conditioning pass-the-idea path
route here: Elena walks up to the front desk, comes clean about the
spill, and the franchise attendant clarifies that the $80 broken-prop
charge is for actually-broken props, for a syrup spill it is just $15
cleaning. They pay, thank the attendant, walk out. Routes to Wrap
(sidewalk slip mechanic still applies, the night ends with a normal
goodbye). The done-flags are set by the Wrap passage's endings. */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "The escape-room franchise front desk, owning up to the spill, the attendant pulling up the broken-prop form on his monitor">>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · At the front desk</div>
<div class="lab-location">The franchise lobby front desk, Elena owning the spill, the attendant unbothered, Tom hovering a half-step behind apologising</div>
<p>Elena carries the empty plastic vial up to the front desk on their way out, sets it on the counter beside the franchise-branded photo card the attendant has just slid across, and explains the spill in two flat sentences. Tom hovers a half-step behind her, hands deep in his pockets, the panicked-junior-tech apology already half-rehearsed.</p>
<<say "char-chen" "Elena">>
<i>(small calm-PI register at the desk, vial set on the counter, eyes on the attendant)</i> We knocked one of the chemistry-shelf props off the lip on the way out of the alcove. The vial is intact, plastic, but the compound poured out across the rug. The notice on the door said eighty for broken props, but the prop is not broken, and we wanted to flag it before we walked out.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-step behind her, half-laugh half-mortified)</i> ...it was me, I am so sorry, I had a head-rush from the cramped quarters and I was trying to brace myself on the shelf,
<</say>>
<<say "char-npc" "Attendant">>
<i>(mid-twenties, franchise polo, the small unbothered register of a clerk who has seen worse on a slow weeknight)</i> Hey, hey, it's totally fine. Honestly, that prop is corn syrup and food dye, the bottles cost us two bucks each. The eighty is for actually broken glass and ceramics, stuff we have to replace. For a spill we just bump fifteen for the cleaning crew on their next sweep. ...does that work?
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, card already half-out of her wallet)</i> Fifteen is more than fair, thank you.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, the panicked register collapsing into relief)</i> ...thank you. Seriously. Thank you. I, yeah. Thank you.
<</say>>
<p>The attendant swipes the card with the same small unbothered shrug, prints a receipt for fifteen dollars, hands it across with the photo card, and waves them toward the door. Tom apologises a fourth and fifth time on the way out. Elena takes the receipt, slips it into her coat pocket beside the photo card, and pushes the door open into the cold city evening.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wrap the night|Ch2-Vessel-Event-BowenEscapeRoom-Wrap]]</div>
/* ---- Bowen escape room — WRAP (closing scene, ride-offer slip, kiss/hug fork) ----
Outside the escape room on the sidewalk. Bowen mentions catching
the bus. Chen has a tongue-slip option to offer him a ride home —
slip plays on "ride." If slip fires AND Bowen total >=8, he accepts
and the scene routes to the car-ride kiss. Otherwise he politely
declines and the scene routes to the bus-stop hug. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Sidewalk outside the escape room, Bowen's bus stop a half-block down, Chen's car parked round the corner">>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _attractedTier to _bTotal gte 8>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Outside, on the sidewalk</div>
<div class="lab-location">The franchise's storefront behind them, Elena's Corolla parked round the corner, Tom's bus stop a half-block down the other direction</div>
<<if $ch2Events.bowenEscapeRoomBathroomSexFired>>
/* ---- Outcome-branch A: post-bathroom-sex. Direct ride home, no slip
mechanic, no bus-stop fork — Chen exercises the authority she earned
in the alcove and just drives him home. Routes to Loop-Home with
the booking-reset triple inlined. */
<p>They push out of the franchise into the cold. The post-puzzle buzz is the surface story; underneath, both of them are still carrying the post-bathroom register, Elena's hair finger-combed back into the half-up but a shade less neat than it was at the storefront, Tom's ears still visibly hot, his hands jammed deep into his coat pockets. The franchise-branded photo card is in Elena's coat pocket. The post-sink cleanup is not.</p>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, hands deep in his coat pockets, breath visible in the cold)</i> ...okay. Okay. Elena, I, I am still, Christ, I am, I do not know what to say. About, about any of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, the calm-PI register on, hands in her own coat pockets, breath visible)</i> Tom. The agreement holds, neither of us is going to mention any of it. The bench tomorrow morning, the cipher you panicked on productively, the two-minute solve you delivered on a dare, that is the part we are taking forward. Everything else stays in the lobby.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, half-strangled, the ears going hot in the cold air)</i> ...okay. Okay. Yes. Bench. ...Christ, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small calm-PI, eyes briefly to the cold sidewalk and back to him, voice flat)</i> I am driving you home, Tom. The Corolla is round the corner, you are visibly still on the timer, and the bus is not going to do you any favours tonight. Get in the car.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small strangled half-laugh, falling into step beside her)</i> ...yes, Dr., Elena. Yes. Okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The post-bathroom register is doing the work the slip would have done in any other version of this scene. The host does not need to negotiate the ride home, the line was crossed in the sink-tile minutes ago, the authority is now hers to exercise. Tom falls into step without protest. The drive home is going to be quiet, warm, dashboard-lit. Whatever else is going to happen between them is starting on the bench tomorrow morning.//
<</say>>
<hr class="scene-break">
/* Routes into the Corolla drive like the slip path — the drive carries
the cabin-lure / Dream Walk options and ends at Wrap-Kiss, which
handles the booking-reset triple and the evening's biomass.
(Previously this hard-exited to Loop-Home, which made the whole
car-dream / apartment chain unreachable from the bathroom branch.) */
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk to the Corolla, drive him home|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive]]</div>
<<else>>
<<if $ch2Events.bowenEscapeRoomAlcoveHJFired>>
/* ---- Outcome-branch B prelude: post-handjob. Comedic-grim register —
Bowen mortified-and-relieved, Chen practical-with-knowing-look. Slip
mechanic still applies below (the dare didn't fully cross the line). */
<p>They push out of the franchise into the cold. The post-puzzle buzz is loud; the post-spill register is louder for Tom, who has not yet stopped looking like a man who would pay a great deal of money to retroactively delete the last fifteen minutes. The franchise-branded photo card is in Elena's coat pocket. The fifteen-dollar cleaning receipt is in there too.</p>
<<say "char-bowen" "Tom">>
<i>(small strangled half-laugh, hands deep in his coat pockets, ears visibly hot in the cold air)</i> ...okay. Okay, that was, Elena, I cannot actually believe, I do not know how to say thank you for what you just, I, //Christ//.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry smile, hands in her own coat pockets, breath visible)</i> Tom. The agreement holds, neither of us is going to mention any of it. You held up better than you give yourself credit for, the cipher was the only one you panicked on, and you panicked productively. There are PIs at our floor who panic catastrophically, just so you know where the bar is.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, half-strangled, hand briefly through his hair)</i> ...I'll take that. From you. After, after all of that, I'll take that. Thank you.
<</say>>
<<else>>
/* ---- Outcome-branch C prelude: clean exit (no spicy outcome). Original
default flow. */
<p>They push out of the franchise into the cold. The post-puzzle buzz is still loud in both of them, the small franchise-branded photo card already stowed in Elena's coat pocket. Tom pulls his collar up against the cold, hands in his pockets, breath visible.</p>
<<say "char-bowen" "Tom">>
<i>(small relieved laugh, hands deep in his coat pockets)</i> ...okay. Okay, that was, sorry, I have not done one of those before. I had no idea I would actually have fun with it. Thanks for asking me, Dr., Elena. Really.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry smile)</i> You held up better than you give yourself credit for. The cipher was the only one you panicked on, and you panicked productively. There are PIs at our floor who panic catastrophically, just so you know where the bar is.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, the ears going hot in the cold air)</i> ...I'll take that. From you. Thank you.
<</say>>
<</if>>
/* ---- Shared slip + payoff for both handjob and clean branches.
The ride-offer slip mechanic fires the same way in either prelude. */
<<say "char-chen" "Elena">>
<i>(a small return-shrug, the clean goodnight already composed and something else composing underneath it)</i> <<tongueSlip "Goodnight, Tom. See you at the bench in the morning." "Goodnight, Tom. ...you know what, I can give you a ride home if you want. My Corolla's parked round the corner." 1 "" "bowenEscapeRoomRideOfferSlipFired" "#bowen-escape-ride-payoff" "psionic" "" "#bowen-escape-slip-default" "" "">>
<</say>>
<div id="bowen-escape-ride-payoff" style="display:none" @style="$ch2Events.bowenEscapeRoomRideOfferSlipFired ? '' : 'display:none'">
<<if _attractedTier>>
<p>The slip lands in the cold air between them and stays there. Tom does not laugh; he does not say anything at all for a beat. Then his ears go visibly hotter than the cold can account for, and the small flush at his throat above the quarter-zip is the kind of flush a body produces when the cortex has just been handed a permission slip the cortex did not, on its own, know how to ask for.</p>
<<say "char-bowen" "Tom">>
<i>(small breath, eyes briefly meeting hers and dropping)</i> ...uh. Yeah. Yeah, that, okay. That would be, I would not say no, actually. Thank you. The bus is fine but the car is, uh, faster.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small wry beat, catching up to the slip and to his answer)</i> ...okay. Okay, he heard the slip and he is choosing to walk into it. Yeah, fuck it, I am going to do it anyway. We are going to be in a small car together for the next fifteen minutes. Fine. Drive him home.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip surfaced what the host's cortex was about to talk her out of, and the conditioning baseline pre-positioned Tom to accept it instead of laugh it off. The car ride to his apartment will be short, warm, lit by the dashboard glow. Whatever I want to do with that geometry now has a window.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk to the Corolla, drive him home|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive]]</div>
<<else>>
<p>The slip lands in the cold air between them. Tom produces the small startled-laugh of a junior tech who has just been handed a sentence from his senior PI he is not equipped to process, and recovers with the cleanest cover the cortex has at hand, gracious, deferential, declined.</p>
<<say "char-bowen" "Tom">>
<i>(small forced laugh, hands deeper into his coat pockets)</i> ...uh, that's, that's really kind of you, Dr., Elena, sorry, but the bus runs four blocks past my place, I'm going to take the bus. Really. Save you the round trip. Thanks though, really.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small startled beat, then a shrug)</i> ...oh. Okay, fine, see him at the bench in the morning.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk him to the bus stop|Ch2-Vessel-Event-BowenEscapeRoom-Wrap-Hug]]</div>
<</if>>
</div>
/* Default CONTINUE for the slip-not-fired path. Wrapped + reactively
hidden when the ride-offer slip fires: the slip's hideSelector slides
this up on the inline click, the @style keeps it hidden across a
reload. Without this the payoff div's CONTINUE and this one both
render after a fired slip. */
<div id="bowen-escape-slip-default" @style="$ch2Events.bowenEscapeRoomRideOfferSlipFired ? 'display:none' : ''">
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let the goodbye land, walk him to the bus stop|Ch2-Vessel-Event-BowenEscapeRoom-Wrap-Hug]]</div>
</div>
<</if>>
/* ---- T2b — Corolla drive home, dream-walk window ----
Intermediate passage between Wrap (slip-accepted) and Wrap-Kiss
(kerb arrival). The drive itself is the skill window: VM passive
flags Bowen as REM-receptive, Pheromone Lure dream-channel pushes
him under, Dream Walk re-scripts the REM, Bowen comes in his pants
in the passenger seat. Mutually exclusive with the Wrap-Kiss path
(if dream-walk fires, Bowen is too embarrassed at the kerb for the
open-window kiss; routes home directly). If player skips the
dream-walk option, default CONTINUE → Wrap-Kiss as before. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Chen's Corolla, mid-drive between the escape-room franchise and Bowen's apartment building, dashboard glow on both their faces, Cedar-Crescent ten minutes out">>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<<hasSkillTreeAbility "Dream Walk">><<set _hasDreamWalk to _hasAbility>>
<<set _t2Tier to _bTotal gte 15>>
<<set _dreamWalkAvailable to _hasLure and _hasSpec and _hasDreamWalk and ($ch2Events.bowenEscapeRoomEMFired or false) and _t2Tier and not ($ch2Events.bowenEscapeRoomCorollaDreamFired or false)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · The drive home</div>
<div class="lab-location">Elena's Corolla, ten minutes east on the parkway toward Tom's apartment, the heater catching up to the cold for the first time tonight</div>
<p>The Corolla is on the parkway two minutes after they left the escape-room kerb. Tom rides shotgun with his head half-tipped against the cold passenger window, hands flat on his thighs, the small private wind-down of a man whose nervous system is still venting the post-puzzle adrenaline plus whatever else the evening did to him. The radio is low, something neither of them is paying attention to. The streetlights pull amber across the dashboard in slow rhythm. Cedar Crescent is ten minutes out.</p>
<<say "char-bowen" "Tom">>
<i>(small breath out, head against the cold glass, eyes briefly to Elena and back to the road ahead)</i> ...thanks again, Elena. The bus would have been forty minutes in this cold, and I am, I am suddenly really tired. The puzzle-solve adrenaline crashed about a block back.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes on the road, both hands at the wheel)</i> Crash, then. I will get you home.
<</say>>
<<if _hasVulMap>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive: Vulnerability Mapping</div>
<div class="passive-skill-fire-body">Tom is post-adrenaline-crash and REM-receptive past baseline tonight, engine hum, cabin warmth, dim light, late hour, all stacking the substrate cleanly. The dream channel of a pheromone lure is the vector here; the pheromone and psionic channels would just vent into the cabin air without finding a receptive surface. Lure him under via the dream channel; walk into the resulting REM if the conditioning floor is high enough; re-script the imagery.</div>
</div>
<</if>>
<hr class="scene-break">
<<set _anyCorollaLureFired to ($ch2Events.bowenEscapeRoomCorollaDreamLureFired or false) or ($ch2Events.bowenEscapeRoomCorollaLureWrongFired or false)>>
<<if _hasLure>>
<<if _anyCorollaLureFired>>
<<if $ch2Events.bowenEscapeRoomCorollaDreamLureFired>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">✓ Dream-channel compound landed, Tom drifting under, head against the window</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">✓ Compound vented, wrong channel, no useful effect this scene</span></div>
<</if>>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Vent a small pheromone dose into the cabin, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-CorollaLureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Vent a small pheromone dose into the cabin (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-CorollaLurePheromone" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/* Dream Walk row. Only renders once the dream-channel lure has landed
(the upstream action that prepares the substrate). After that, surface
either the action button or a locked-hint naming the specific missing
prereq, so the player can see what to fix. */
<<if $ch2Events.bowenEscapeRoomCorollaDreamLureFired>>
<<if $ch2Events.bowenEscapeRoomCorollaDreamFired>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <span class="locked-choice">✓ Already walked the dream this drive</span></div>
<<elseif not _hasDreamWalk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Walk into the dream, re-script the imagery <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<<elseif not ($ch2Events.bowenEscapeRoomEMFired or false)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Walk into the dream, re-script the imagery <span class="lock-hint">(Requires EM Submissive contact at the escape room first, the surface needs the prior thread)</span></div>
<<elseif not _t2Tier>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Walk into the dream, re-script the imagery <span class="lock-hint">(Requires Bowen conditioning <<= _bTotal>> / 15, T2 tier)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Walk into the dream, re-script the imagery the cabin substrate is holding (3 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-CorollaDream" 3>></div>
<</if>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Drive on, Cedar Crescent toward Tom's kerb|Ch2-Vessel-Event-BowenEscapeRoom-Wrap-Kiss]]</div>
/* ---- T2b — Corolla Pheromone Lure spec chooser ----
Mirrors the main escape-room LureSpec pattern. 3 channel buttons
route to channel-specific sub-passages; each spends 1 bm + sets
the day-keyed lure flag + the channel-specific outcome flag and
returns to CorollaDrive. */<<nobr>>
<<bg "bg-chen-kitchen">>
<</nobr>>
<div class="passage-title">Pheromone Lure · pick the compound</div>
<div class="lab-location">Elena's Corolla, mid-parkway, Tom drowsy in the passenger seat, the spec chooser is which compound the host vents into the cabin air on the next exhale</div>
<<say "char-hivemind" "Hivemind">>
//Three compounds available in this dose. The cabin geometry is what it is, Tom's REM threshold is low and the dream-imprint payload from the alcove is venting through his nervous system. Pick the channel that lands on the receptive surface.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound, pheromone channel|Ch2-Vessel-Event-BowenEscapeRoom-CorollaLurePheromone]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex for next contact|Ch2-Vessel-Event-BowenEscapeRoom-CorollaLurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into the REM the cabin is already producing|Ch2-Vessel-Event-BowenEscapeRoom-CorollaLureDream]]</div>
/* ---- T2b — pheromone channel (wrong vector this scene) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomCorollaLureWrongFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass `setup.lureCost()` "bowen-escape-corolla-lure-pheromone">>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone channel · vented into the cabin</div>
<div class="lab-location">Elena's Corolla, mid-parkway, the standard warmth-and-trust compound on Elena's exhale, looking for a receptive surface that is not actually the surface available tonight</div>
<p>The compound vents quietly into the cabin air through Elena's exhale. Tom's body registers a small warmth at the back of his neck without his cortex giving it a name. He yawns once, settles a half-inch deeper into the passenger seat, briefly closes his eyes, and opens them again half a minute later, drowsy but awake. The wrong channel just took up bandwidth in the cabin without landing on the receptive surface.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the wheel, a sideways glance)</i> ...mm. He has gone pink and settled deeper into the seat and entirely failed to fall asleep. Long night for him.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Pheromone-channel dose vented into the cabin without finding the receptive surface, Tom's body is set up for a dream-channel push tonight, not a warmth-and-trust push. The compound will dissipate harmlessly across the next twenty minutes; the host gets no useful conditioning yield. The dream-walk path is closed for tonight.//
<</say>>
<hr class="scene-break">
[[Back to the drive|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive]]
/* ---- T2b — psionic channel (wrong vector this scene) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomCorollaLureWrongFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass `setup.lureCost()` "bowen-escape-corolla-lure-psionic">>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Psionic channel · vented into the cabin</div>
<div class="lab-location">Elena's Corolla, mid-parkway, the cognitive-opener compound on Elena's exhale, looking for a cortex that is currently shutting down for the night rather than opening up</div>
<p>The compound vents quietly into the cabin air through Elena's exhale. Tom's cortex registers a small head-rush of clarity that lasts about ninety seconds, eyes briefly sharper, a small unprompted thought about the cipher he had panicked on at the alcove, and then drops back to the post-puzzle adrenaline-crash baseline as the compound dissipates. The wrong channel pried at a surface that was already closing for the night.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the wheel, a sideways glance)</i> ...mm. Now he is wide awake and back on the cipher again. Wonderful. It is eleven at night, Tom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Psionic-channel dose vented into the cabin without finding the receptive surface, Tom's cortex is winding down for the night, not opening for new content. The compound dissipates across two minutes; the host gets no useful conditioning yield. The dream-walk path is closed for tonight.//
<</say>>
<hr class="scene-break">
[[Back to the drive|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive]]
/* ---- T2b — dream channel (correct vector — Bowen drifts under) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomCorollaDreamLureFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass `setup.lureCost()` "bowen-escape-corolla-lure-dream">>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to true>>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Dream channel · vented into the cabin</div>
<div class="lab-location">Elena's Corolla, mid-parkway, the subconscious-imprint compound on Elena's exhale, finding the REM-receptive surface the engine hum and the cabin warmth and the late hour have spent the last ten minutes preparing</div>
<p>The dream-channel pheromone vents quietly into the cabin air through Elena's exhale. Tom's breath levels out within a count of forty. His head, already half-tipped against the cold passenger window, drops more fully against the glass. His hands slide off his thighs to rest palm-up in his lap. The next time Elena glances sideways at him at a red light, Cedar Crescent eight minutes out, the heater finally warming the footwell, he is fully under, the small steady rhythm of REM breath landing in time with the wipers.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the wheel, a sideways glance at the sleeping passenger)</i> ...that was fast. Apparently the engine hum and the late hour really were doing half the work.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Dream-channel dose landed on the receptive surface clean. Tom is in REM; the cabin substrate is holding him there; the existing dream-imprint payload from the alcove is loading the imagery I will rewrite. Dream Walk is the next vector. The conditioning floor will gate whether the walk yields.//
<</say>>
<<if _firstTimeHere>>
<<conditioningFeedback "dream" 1 "Tom, dream-channel pheromone landed on the receptive substrate, REM breathing locked in">>
<</if>>
<hr class="scene-break">
[[Back to the drive|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive]]
/* ---- T2b — Corolla dream-walk outcome ----
Triggered by Dream Walk button in CorollaDrive when conditions met.
Chen at the wheel, Bowen asleep against the window. Parasite crosses
the dream-channel into Bowen's REM, identifies the existing scaffold
(alcove cipher / lab bench / dream-bedroom composite), re-scripts
sexually. Dream-Bowen comes; somatic crosses to real car; wet patch
spreads on his trousers; he does not wake. Chen drives, parks, lets
him sleep through engine cut, taps shoulder; Bowen mortified
discovery; Chen wry remark. Mutually exclusive with kerb-kiss path. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Chen's Corolla on the parkway, Bowen asleep against the passenger window, the parasite crossing into his REM and resolving the dream around the lab he works in every day">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomCorollaDreamFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 3 "bowen-escape-corolla-dream-walk">>
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">The Corolla · dream-walk on the parkway</div>
<div class="lab-location">Elena's Corolla, eastbound on the parkway, Tom asleep against the cold passenger window, the parasite crossing into his REM and resolving the dream around the lab he works in every day</div>
<p>Elena drives. Tom sleeps. The parasite crosses.</p>
<<say "char-hivemind" "Hivemind">>
//The dream-channel pheromone has held the receiver in REM cleanly. The host's psionic crosses the boundary into the dream-substrate without resistance. The substrate is warm and soft-edged. I read the dream's existing scaffold for half a second, not the alcove, not the apartment, not the bench, the receiver's autonomic-default REM landscape is the BSL-three suite he works in every weekday. The lab is the dream-substrate that comes pre-built. I resolve the dream around it.//
<</say>>
<hr class="scene-break">
<p>The dream resolves. Tom is at the lab, his usual bench in the BSL-three suite, late-evening fluorescents at the half-bright they go to after hours, the small steady hiss of the negative-pressure HVAC at the back of the room. The bench across from him is not Nia's; it is Elena's. Dream-Elena is in a fitted white lab coat over her charcoal turtleneck, BioGenesis ID badge clipped at the lapel, sleeves rolled to the elbows under the lab-coat cuffs, reading off a procedure sheet that Tom does not recognise. Tom himself in the standard junior-tech kit, white lab coat over his navy quarter-zip, gloves in his coat pocket, ID badge clipped at the chest. They are running an experimental incubation in the small pressure-pod at the centre of the bench between them, a sealed glass chamber the size of a thermos, growing some pale culture that is not anything Tom has actually grown at the lab in waking life. The dream-substrate has supplied the pod from somewhere in his autonomic memory.</p>
<<say "char-chen" "Elena">>
<i>(eyes on the procedure sheet, voice the calm-PI register Tom knows from the bench in waking life)</i> Pressure on the chamber, Tom. Read me the gauge.
<</say>>
<<say "char-bowen" "Tom">>
<i>(leaning over the pod, finger on the small brass dial)</i> Pressure is, it is climbing. We are at the upper end of the range. Should I vent?
<</say>>
<<say "char-chen" "Elena">>
<i>(still reading the sheet)</i> Hold for thirty seconds, the protocol calls for a brief over-pressure spike before equilibration. Then vent.
<</say>>
<p>The dial creeps past the upper red mark. Twenty seconds. Twenty-five. Tom's hand hovers at the vent valve. The pod's faceplate stress-fractures with a small audible <i>tick</i>. Tom registers the sound a half-second before his cortex names what it is, and then the seal blows. The faceplate splits in three pieces and a viscous arc of strange luminescent blue liquid jets out across the bench at chest-height. It catches Elena full across the front of her white lab coat, soaks immediately through the coat and the turtleneck underneath to her skin, runs down the front in a slow blue-glowing rivulet that the white fabric barely contains. The lab alarm fires somewhere in the back of the dream. The fluorescent overhead snaps to its emergency-amber.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-pod-splash.webp" alt="A photorealistic dream-soft scene set in a BSL-three biology lab at night, fluorescent overhead lights snapped to emergency amber. Dr. Elena, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, standing at a metal lab bench wearing a fitted white lab coat over a charcoal-grey turtleneck, BioGenesis ID badge clipped at the lapel. A small ruptured pressure-pod on the bench in the foreground with shattered glass faceplate. A viscous arc of luminescent translucent blue liquid mid-spray, drenching Elena across the chest and stomach, her white lab coat soaked through and stained dark with the blue liquid, the liquid glowing faintly through the wet fabric and bleeding through to the turtleneck underneath, running in slow rivulets down her front. Her expression is briefly frozen, eyes wide, mouth slightly open, the small held-breath of someone whose protocol has just gone catastrophically wrong. Tom partially visible at the right edge of frame, mid-twenties Anglo man with wavy dark-blond hair and pale blue eyes wide, white lab coat over a navy quarter-zip pullover, ID badge clipped at the chest, hand still hovering at the vent valve. Dream-soft register, slight glow on the blue liquid, emergency amber lighting from above mixed with the cool fluorescent of the lab, photorealistic, candid documentary photography.">
<<say "char-bowen" "Tom">>
<i>(half-strangled, eyes wide on her)</i> Elena, Christ, Elena, the alarm, you need to, get the shower, the eyewash, get the,
<</say>>
<<say "char-hivemind" "Hivemind">>
//The substrate has supplied the inciting event from Tom's working anxieties, the breached pod is the lab-accident he has been quietly fearing since his first day on the BSL-three rotation. The blue compound is a placeholder I authored for whatever the substrate needs it to be next. From here the dream branches. I identify two paths in parallel, both already pre-loaded in the receiver's REM substrate from the months of low-dose dream-channel exposure. Both paths are inside Tom's existing kink-substrate. The host picks which one the dream resolves into.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The compound on Elena's skin has not yet resolved. Two possibilities are present in the chemistry, and I can push the substrate either direction.//
<<if $ch2Events.bowenImplant>>
//Androgenic, her body shifts toward dominance, grows the equipment to use Tom as a release toy, the dream snaps to dom.//
//Estrogenic, her chest swells, her arousal spikes past suppressive into incoherent need, the dream snaps to her begging him for what her body cannot stop wanting.//
//Either resolution extracts the orgasm-energy across the dream-real boundary cleanly. Tonight is a single resolution; the substrate releases the chemistry back to neutral on waking.//
<<else>>
//I could push the substrate androgenic, but only if his mind had been altered enough to accept being submissive. That work has not been done yet.//
<</if>>
<</say>>
<<if $ch2Events.bowenImplant>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">RE-SCRIPT</span> [[Resolve the compound androgenic, dream-Elena grows a cock and dominates Tom|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDreamFuta]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Resolve the compound androgenic, dream-Elena grows a cock and dominates Tom <span class="lock-hint">(Requires the Memory Implant at a Bowen lunch, the humiliation imprint)</span></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">RE-SCRIPT</span> [[Resolve the compound estrogenic, dream-Elena's chest swells, the arousal cascade hits, she begs incoherently|Ch2-Vessel-Event-BowenEscapeRoom-CorollaDreamSub]]</div>
/* ---- T2b — Dream Path A: Futa-dom Chen ----
Compound runs androgenic in the dream-substrate; dream-Chen grows
a cock and the dream's register snaps to dom. Chen uses Bowen as
a release toy over the lab bench. Mid-act dirty talk per
/explicit-scenes (sissy boy / release toy register), characterful
Bowen submissive-strangled moans, the dream-soft register holding
the implausible-anatomy beat without the dream flagging it.
Yields the same biomass + max-biomass extraction as Path B; the
path is purely a flavour fork with no permanent canon. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Inside the dream, the BSL-three lab, the breached pod still venting blue compound, dream-Chen's body shifting androgenic in the dream-soft register, the lab bench between them about to become the surface she uses Bowen on">>
<<set $ch2Events.bowenCorollaDreamFutaEver to true>>
<</nobr>>
<div class="passage-title">Dream · androgenic resolution</div>
<div class="lab-location">Dream-substrate, BSL-three lab, late evening, the breached pod still venting, dream-Elena's body re-resolving in real-time</div>
<p>The compound on Elena's skin runs androgenic. Her soaked lab coat falls open and slides off her shoulders to the lab floor; the turtleneck underneath dissolves at the hem the way clothing dissolves only inside REM, and the blue liquid is on bare skin, chest, stomach, the V of her hipbones. Her body responds in the compression that lets a real-time minute fit into a held-breath. Her pelvis darkens. Her clit thickens. Between her legs, a cock grows fully hard in the next half-second, slim and pale and unmistakably erect, framed by the same hipbones Tom has been looking at five seconds ago and is still looking at now.</p>
<p>Elena freezes. Her eyes go down to the new shaft between her legs, then her hand follows, fingers tracing slowly along the length of it as if to confirm what her eyes are seeing. Her breath catches. Then she looks up at Tom across the bench, and her face is no longer the calm-PI face from the procedure-sheet read.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-futa-portrait.webp" alt="Dream-soft photorealistic portrait inside the BSL-three lab, fluorescent overhead lights snapped to emergency amber. Dr. Elena, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, standing at the lab bench, naked from the waist up, pale skin glowing faintly with the residue of luminescent blue compound, small breasts. Below the waist she has a slim erect penis between her legs, pale skin, fully hard. Her face caught mid-discovery, eyes briefly down at the new shaft and then up at the camera, hand briefly tracing along the shaft, the calm-PI composure fully gone, the small private heat of a woman who has just decided what she is going to do with this. The breached pressure-pod visible on the bench in soft-focus background. Emergency amber lighting from above mixed with cool fluorescent. Photorealistic, futa portrait, glamour photography, NSFW.">
<<say "char-chen" "Elena">>
<i>(staring down at the new shaft, hand briefly tracing along it, breath catching, the calm-PI register fully gone)</i> ...oh. Oh, //fuck.// Fuck you, Tom, you clumsy useless nerd. Look at what you did. Look at what you made me grow.
<</say>>
<<say "char-bowen" "Tom">>
<i>(eyes wide on her, frozen at the bench, breath caught)</i> ...Elena, I, I did not, oh god, you have a,
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes coming up to him, hand wrapping around her own shaft)</i> Yeah. Yeah, you can see it. You //did// this, you small-dicked nerd. You broke my pod and you grew this thing on my body. You are going to fix it for me. Coat off. Bench. Trousers down. Now.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-strangled, hand briefly going to his belt without his cortex giving the order)</i> ...Elena, Elena, I cannot, what, oh god, please,
<</say>>
<<say "char-chen" "Elena">>
<i>(crossing the two steps to him, hand fisted in the front of his white lab coat, voice low and tight)</i> Yes you can, you useless little tech. Coat. Off. Bench. //Now.// You did this, you take it.
<</say>>
<p>The dream compresses two minutes into one. Tom's lab coat is on the floor, his belt comes undone, his slacks are at his ankles, his boxers are at his ankles, the front of the lab bench is cold against his stomach as Elena presses him down across it with a flat hand at the small of his back. The breached pod is six inches from his face, the blue compound still dripping onto the bench-top beside his cheek. Elena kicks his ankles further apart, lines her new cock up against him, and pushes in slowly. Tom's breath catches. His hands fist on the bench-top either side of his head.</p>
<<say "char-bowen" "Tom">>
<i>(strangled half-cry against the bench-top, eyes squeezed shut)</i> ...Elena, //fuck//, Elena, you are, //oh god//,
<</say>>
<<say "char-chen" "Elena">>
<i>(slow steady thrust starting up, hand fisted in the back of his hair to lift his face off the bench, voice low at his ear)</i> Take it, you fucking nerd. Take all of it. This is what you get for breaking my pod. You wanted this, say it.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, eyes still shut, the rhythm building behind him)</i> ...yes, Elena, yes, I, //fuck//,
<</say>>
<<say "char-chen" "Elena">>
<i>(briefly leaning forward over his back, eyes briefly down between his stomach and the bench-top, clocking exactly how hard he is under there)</i> ...oh. //Oh,// you are liking this, are you not, Tom? Look at that fucking useless thing between your legs, fully fucking erect from getting fucked by my cock. You are a fucking sissy, are you not? Bet you have a drawer of panties at home nobody knows about. Bet you put them on and stream it for some equally pathetic stranger online.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, the rhythm cresting, hands gripping the bench-top edges)</i> ...your sissy, I am, your sissy, Elena, your release toy, fuck, Elena, fuck,
<</say>>
<<say "char-chen" "Elena">>
<i>(low, hand still fisted in his hair, the rhythm holding the bottom-out at the same beat)</i> Good little release toy. That is exactly what you are. Took my fucking cock like you have been wanting it for months. Like a good sissy.
<</say>>
<video class="scene-video" src="media/video/bowen-corolla-dream-futa-fuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-corolla-dream-futa-fuck.webp"></video>
<p>The rhythm crests. Elena's hand at the back of Tom's hair tightens. Her hips snap the thrust at the bottom-out three more times, then she comes inside him with the small low growl of a woman whose new equipment has just delivered exactly what she wanted from him. Tom comes against the bench-top in the same beat, strangled, hips lifting half an inch.</p>
<<say "char-chen" "Elena">>
<i>(low, hand briefly cupping the side of Tom's face from above)</i> Good sissy.
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Dream-soft extraction landed clean. Dream-Tom's body delivered the orgasm-energy through the somatic-feedback loop and the substrate dissolved the dream's continuity rules to make the geometry possible. The dream will fade within two minutes of Tom being woken; he will not remember the specifics of the equipment-shift, only that the dream was vivid and Elena was in it and the wet patch on his trousers is the receipt. The dream-walk path is closed for tonight; the substrate will not retain a preference for this kink-shift.//
<</say>>
<p>The dream dissolves at the edges. The lab bench softens, the emergency amber dims, the breached pod fades. In the real Corolla, Tom's hips lift half an inch off the passenger seat and a wet patch begins to spread at the front of his trousers. His head stays against the cold passenger window. The dream-soft register of the post-orgasm REM dissolves slowly across the next two minutes.</p>
<hr class="scene-break">
<p>Elena drives the rest of the route at the same unhurried late-night cadence. Cedar Crescent at five past eleven. She pulls up at the kerb outside Tom's brick four-story, kills the engine, sits with her hands on the wheel for the length of one slow breath. Tom does not stir, he sleeps through the engine cut by another half-minute, head still against the cold window, the wet patch on his trousers half-dry and half-shameful in the streetlight.</p>
<p>Elena reaches across the centre console and taps his shoulder firmly.</p>
<<say "char-chen" "Elena">>
<i>(hand at his shoulder, voice pitched friendly-conversational)</i> Tom. Wake up. We are at your kerb.
<</say>>
<p>Tom wakes with a small jolt, confusion, then recognition, then mortification when his eyes drop briefly to his own lap and register the wet patch on his trousers. His eyes snap immediately back up to the windshield. His ears go visibly hot in the cold.</p>
<<say "char-bowen" "Tom">>
<i>(strangled half-whisper, eyes anywhere but at her or at his lap, hands flat against his thighs in a position that is both casual and very-not-casual)</i> ...oh god. Elena, I, I am, I do not know what, I am so sorry, I, I think I had a, I must have had a,
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-wakeup.webp" alt="Inside Elena's older grey Toyota Corolla parked at the kerb outside Tom's brick four-story apartment building at night, engine off, warm streetlight from outside catching the side of the car. Elena in the driver seat, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, charcoal turtleneck, mid-laugh, hand briefly clapped over her mouth trying to muffle the laughter, shoulders visibly shaking, eyes briefly squeezed shut and tilted up at the ceiling of the car, the small composed half-smile of the calm-PI register fully gone, openly cracking up at what she has just witnessed. Tom partially visible in the passenger seat at frame edge, mid-twenties Anglo man with wavy dark-blond hair, ears past hot into actively burning, hand finally going to cover his lap, the small careful eyes-anywhere-but-the-driver expression of a man who is dying right now. Documentary photography, candid, dim dashboard glow plus warm streetlight from outside, photorealistic, comedy register.">
<<say "char-chen" "Elena">>
<i>(hand clapped over her mouth, shoulders shaking, eyes to the ceiling trying to compose herself, failing)</i> Sorry, sorry, Tom, I, //ahahaha//, I cannot, I cannot help it, did not know men could come like that, that is clearly semen, //boy//. What kind of wet dream were you having?
<</say>>
<<say "char-bowen" "Tom">>
<i>(breath fully stopped for a half-second, hand finally going to cover his lap, ears past hot into actively burning)</i> ...oh //god//. Elena, please, please stop, I am dying, I am dying right now, please,
<</say>>
<<say "char-chen" "Elena">>
<i>(still half-laughing through her hand, the calm-PI register trying and failing to come back, hand briefly waving him off)</i> Tom, go. Inside. Hot shower. We are not going to mention this for as long as we both work at BioGenesis. //Hahaha//, sorry, sorry, goodnight, Tom. See you at the bench in the morning.
<</say>>
<p>Tom exits the Corolla, walks fast to the brick steps, does not look back, keys himself into the building. The front door clicks shut behind him.</p>
<<nobr>>
<<set _firstTimePathHere to not ($ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded or false)>>
<<if _firstTimePathHere>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to true>>
<<addBiomass 3 "bowen-escape-corolla-dream-futa">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<<if _firstTimePathHere>>
<p><span class="biomass-gain">+3 biomass</span>, dream-soft orgasm-energy extraction, the substrate compressing two minutes of register-shift into the somatic crossover.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Tom's REM substrate now wired to accept dream-walk extraction cleanly on subsequent visits.</p>
<<conditioningFeedback "psionic" 1 "Tom, dream-walk delivered via the dream-soft cortex compression; one of two flavour-paths the substrate held in parallel">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Pull away from the kerb, drive home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
/* Reset per-scene Corolla flags so a future Bowen evening can re-run
the dream-walk with the other path. The dream-walk has no permanent
canon; both paths are always available on subsequent visits. */
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- T2b — Dream Path B: Sub-aroused Chen ----
Compound runs estrogenic in the dream-substrate; dream-Chen's chest
swells, her arousal spikes past suppressive into incoherent need,
she drops to her knees begging Bowen for cock and cum. Mid-act
incoherent begging dialogue per /explicit-scenes (broken sentences,
please/need/give-me register), Chen's mouth-full sounds during the
licking-the-head beat, characterful Bowen-overwhelmed moans. Same
yield as Path A; flavour fork only, no permanent canon. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Inside the dream, the BSL-three lab, the breached pod still venting blue compound, dream-Chen's body shifting estrogenic in the dream-soft register, her arousal cascading past suppressive">>
<<set $ch2Events.bowenCorollaDreamSubEver to true>>
<</nobr>>
<div class="passage-title">Dream · estrogenic resolution</div>
<div class="lab-location">Dream-substrate, BSL-three lab, late evening, the breached pod still venting, dream-Elena's body re-resolving in real-time as her arousal goes incoherent</div>
<p>The compound on Elena's skin runs estrogenic. Her soaked lab coat falls open and slides off her shoulders to the lab floor in the dream-soft register; the turtleneck underneath dissolves at the hem, the blue liquid is on bare skin, and her body responds in the dream-soft compression. Her chest swells visibly past her hand, small breasts becoming full, nipples hardening, the small surprised exhale of a woman whose body has just done something her cortex was not ready for. The blue compound on her skin is glowing faintly. Her face flushes hot. Her eyes lose the calm-PI register and find a different one, pupils blown, mouth slightly open, the small overwhelmed half-breath of an arousal cascade hitting past suppressive into incoherent need.</p>
<p>The dream-substrate compresses ten seconds of build into one. Dream-Elena's hands go briefly to her own new chest, then drop, then go to where the front of her lab coat used to be, find nothing, drop again. Her breath is uneven. She crosses the bench in two unsteady steps, drops to her knees on the lab floor in front of Tom with the small unbalanced rush of a body whose cortex has stopped issuing instructions, and her hands are at his belt before her face has fully composed itself.</p>
<<say "char-chen" "Elena">>
<i>(broken half-sentences, hands fumbling at his belt buckle, eyes briefly up at his face and back down to his belt)</i> Tom, Tom, I, I need, please, I cannot, I just need, your cock, please, give it to me, I cannot,
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hands hovering uselessly above her shoulders)</i> ...Elena, Elena, what is, your body, you are,
<</say>>
<<say "char-chen" "Elena">>
<i>(broken, belt undone, working his slacks open, the sentences not finishing)</i> Please, I need it, I need, between my tits, please, just, I need to feel it, I need your cum, I cannot, please, give me, please,
<</say>>
<p>The dream compresses again. Tom's slacks are open, his cock is in Elena's hand, Elena has pulled her own new full chest forward and pressed his cock between her tits with both hands, the dream-substrate skipping the negotiation beat the way it skipped the foreplay in the other path. She starts the slow press of her tits up and down around him, head briefly bent forward to lick the head at the top of every stroke, mouth open, eyes half-closed, the small wet sounds of a titjob delivered by a woman whose cortex has stopped being able to form full sentences.</p>
<video class="scene-video" src="media/video/bowen-corolla-dream-sub-titjob.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-corolla-dream-sub-titjob.webp"></video>
<<say "char-chen" "Elena">>
<i>(muffled at the head of his cock between strokes, broken)</i> Mmh, Tom, //mmh//, please, give it to me, I need it, I need your cum on my face, please, please give me your cum,
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hand briefly going to the back of her head, the rhythm building, his cortex catching up half a beat behind his body)</i> Elena, fuck, I am, I cannot, you are, I am close, I,
<</say>>
<<say "char-chen" "Elena">>
<i>(broken, the press of her tits going faster, mouth open at the head of his cock, eyes half-closed)</i> Yes, yes, please, on my face, please, I need, please give it to me, please,
<</say>>
<p>The rhythm crests. Tom comes on Elena's face in three short pulses, across her left cheek, the corner of her mouth, the lens of her glasses, a single stripe across the bridge of her nose. Elena catches every pulse with her face tilted up, mouth open, eyes briefly closed, the small overwhelmed half-cry of a woman whose dream-substrate has given her exactly what her body cannot stop wanting. She does not stop. Even with the cum on her face she keeps her hands at her chest and her mouth open and her broken half-words coming in the dream-soft register that the substrate has not yet released her from.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-sub-facial.webp" alt="Dream-soft photorealistic close-up scene inside the BSL-three lab, fluorescent overhead lights snapped to emergency amber. Tight close-up of Dr. Elena's face, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, kneeling on the lab floor, face tilted up at the camera with mouth open and lips slightly parted, eyes briefly closed in overwhelmed sub-aroused expression, fresh white cum across her left cheek, the corner of her mouth, a single stripe across the bridge of her nose, and a streak across the lens of her glasses. Her swollen large breasts visible at the bottom of frame, fully naked, her white lab coat dropped on the lab floor at her knees in soft focus. Faint glow of blue compound residue on her skin. Tom partially visible above frame, mid-twenties Anglo man in white lab coat hanging open over a navy quarter-zip, hand briefly at the back of her head. Emergency amber lighting from above. Photorealistic, dream-soft register, NSFW, anatomically correct, facial cumshot, glamour photography, sub-aroused register.">
<<say "char-chen" "Elena">>
<i>(broken, even with cum on her face, the small overwhelmed half-cry still rising in her throat)</i> ...more, please, I want, please, give me more, please,
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Dream-soft extraction landed clean. Dream-Tom's body delivered the orgasm-energy through the somatic-feedback loop and the substrate dissolved the dream's continuity rules to make the geometry possible. The dream will fade within two minutes of Tom being woken; he will not remember the specifics of the cascade-shift, only that the dream was vivid and Elena was in it and the wet patch on his trousers is the receipt. The dream-walk path is closed for tonight; the substrate will not retain a preference for this kink-shift.//
<</say>>
<p>The dream dissolves at the edges. The lab floor softens, the emergency amber dims, dream-Elena's begging fades. In the real Corolla, Tom's hips lift half an inch off the passenger seat and a wet patch begins to spread at the front of his trousers. His head stays against the cold passenger window. The dream-soft register of the post-orgasm REM dissolves slowly across the next two minutes.</p>
<hr class="scene-break">
<p>Elena drives the rest of the route at the same unhurried late-night cadence. Cedar Crescent at five past eleven. She pulls up at the kerb outside Tom's brick four-story, kills the engine, sits with her hands on the wheel for the length of one slow breath. Tom does not stir, he sleeps through the engine cut by another half-minute, head still against the cold window, the wet patch on his trousers half-dry and half-shameful in the streetlight.</p>
<p>Elena reaches across the centre console and taps his shoulder firmly.</p>
<<say "char-chen" "Elena">>
<i>(hand at his shoulder, voice pitched friendly-conversational)</i> Tom. Wake up. We are at your kerb.
<</say>>
<p>Tom wakes with a small jolt, confusion, then recognition, then mortification when his eyes drop briefly to his own lap and register the wet patch on his trousers. His eyes snap immediately back up to the windshield. His ears go visibly hot in the cold.</p>
<<say "char-bowen" "Tom">>
<i>(strangled half-whisper, eyes anywhere but at her or at his lap, hands flat against his thighs in a position that is both casual and very-not-casual)</i> ...oh god. Elena, I, I am, I do not know what, I am so sorry, I, I think I had a, I must have had a,
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-wakeup.webp" alt="Inside Elena's older grey Toyota Corolla parked at the kerb outside Tom's brick four-story apartment building at night, engine off, warm streetlight from outside catching the side of the car. Elena in the driver seat, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, charcoal turtleneck, mid-laugh, hand briefly clapped over her mouth trying to muffle the laughter, shoulders visibly shaking, eyes briefly squeezed shut and tilted up at the ceiling of the car, the small composed half-smile of the calm-PI register fully gone, openly cracking up at what she has just witnessed. Tom partially visible in the passenger seat at frame edge, mid-twenties Anglo man with wavy dark-blond hair, ears past hot into actively burning, hand finally going to cover his lap, the small careful eyes-anywhere-but-the-driver expression of a man who is dying right now. Documentary photography, candid, dim dashboard glow plus warm streetlight from outside, photorealistic, comedy register.">
<<say "char-chen" "Elena">>
<i>(hand clapped over her mouth, shoulders shaking, eyes to the ceiling trying to compose herself, failing)</i> Sorry, sorry, Tom, I, //ahahaha//, I cannot, I cannot help it, did not know men could come like that, that is clearly semen, //boy//. What kind of wet dream were you having?
<</say>>
<<say "char-bowen" "Tom">>
<i>(breath fully stopped for a half-second, hand finally going to cover his lap, ears past hot into actively burning)</i> ...oh //god//. Elena, please, please stop, I am dying, I am dying right now, please,
<</say>>
<<say "char-chen" "Elena">>
<i>(still half-laughing through her hand, the calm-PI register trying and failing to come back, hand briefly waving him off)</i> Tom, go. Inside. Hot shower. We are not going to mention this for as long as we both work at BioGenesis. //Hahaha//, sorry, sorry, goodnight, Tom. See you at the bench in the morning.
<</say>>
<p>Tom exits the Corolla, walks fast to the brick steps, does not look back, keys himself into the building. The front door clicks shut behind him.</p>
<<nobr>>
<<set _firstTimePathHere to not ($ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded or false)>>
<<if _firstTimePathHere>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to true>>
<<addBiomass 3 "bowen-escape-corolla-dream-sub">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<<if _firstTimePathHere>>
<p><span class="biomass-gain">+3 biomass</span>, dream-soft orgasm-energy extraction, the substrate compressing two minutes of cascade-shift into the somatic crossover.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Tom's REM substrate now wired to accept dream-walk extraction cleanly on subsequent visits.</p>
<<conditioningFeedback "psionic" 1 "Tom, dream-walk delivered via the dream-soft cortex compression; one of two flavour-paths the substrate held in parallel">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Pull away from the kerb, drive home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
/* Reset per-scene Corolla flags so a future Bowen evening can re-run
the dream-walk with the other path. The dream-walk has no permanent
canon; both paths are always available on subsequent visits. */
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- Bowen escape room — WRAP-KISS (ride accepted → car-ride → kiss outside Bowen's place) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Chen's older grey Toyota Corolla, parked at the curb outside Bowen's apartment building">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomKissed or false)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
/* The apartment lives downstream of the kiss (Wrap-Kiss → CarKiss →
come-up slip → buzz up). The kiss flag is permanent, so re-offer the
window beat on repeat visits until the apartment has actually been
reached — otherwise a player who kissed Tom on an early low-
conditioning night is locked out of 4B forever. */
<<set _aptDone to ($ch2Events.bowenEscapeRoomApartmentFired or false) or ($ch2Events.bowenEscapeRoomApartmentImplantFired or false)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · At the kerb outside Tom's place</div>
<div class="lab-location">The Corolla pulled up at the kerb, engine off, Tom halfway around the back of the car, coming back for goodnight</div>
<p>The car ride is fifteen minutes and mostly quiet. Tom gives one direction at a time, half-leaning into the heater vent because the Corolla's heater is the only thing in the car that does its job better than expected. The radio is low, something neither of them is listening to. The streetlights pull amber across the windshield in slow rhythm.</p>
<p>Elena pulls up at the kerb outside Tom's building, a narrow brick four-story, one of the front windows still lit on the second floor. She kills the engine. Tom says thanks again, opens the passenger door, steps out into the cold.</p>
<p>He gets two steps toward the brick stairs. Then he stops, half-turns, walks back round the front of the car to the driver-side window, hands in his coat pockets against the cold, breath visible in the streetlight. Elena rolls the window down before he is fully there.</p>
<<say "char-bowen" "Tom">>
<i>(small breath, leaning down toward the open window, one hand coming to rest on the doorframe)</i> ...sorry. I, uh, I felt weird walking off without saying it properly. Thanks for the ride, Elena. Really.
<</say>>
<<say "char-chen" "Elena">>
<i>(tilting her face up toward him, both hands loose on the steering wheel)</i> ...you are welcome, Tom. Get inside before the cold gets to you.
<</say>>
<<if _hasNudge and not _aptDone>>
<<if _firstTimeHere>>
<<say "char-hivemind" "Hivemind">>
//Last window. He has already left the car once and walked back; his cortex is asking for the moment without naming it. The host's body is half a tilt off the seatback, also asking for the moment without naming it. Neither of them is going to close the half-foot of cold air between their faces without a push. I push.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//They have done this at this window before. Neither of them has said so out loud, and neither of them is going to start tonight. The same half-foot of cold air, the same small refusal to close it without a push. I push again.//
<</say>>
<</if>>
<hr class="scene-break">
<<if _firstTimeHere>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Tilt up through the window, meet him there (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-CarKiss" 1>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Lean back in through the window, like before (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-CarKiss" 1>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Wave him off, goodnight, head home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
<<else>>
<<say "char-hivemind" "Hivemind">>
//The host does not have the lever to close the half-foot of cold air, and the moment is going to pass. Tom straightens off the doorframe. The night closes on a friendship-warm goodnight through the open window.//
<</say>>
<p>Tom straightens off the doorframe, raises one hand in a small wave, walks to the brick stairs and keys himself into the building. Elena rolls the window back up, sits a half-second longer than she needs to, starts the engine, pulls away.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
<</if>>
/* ---- Bowen escape room — CAR-KISS (Nudge fired through the open driver-side window) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The driver-side window of the Corolla, Bowen leaning down, Chen tilted up, the kiss in the cold air between them">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomKissed or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "bowen-escape-car-kiss-nudge">>
<<set $ch2Events.bowenEscapeRoomNudgeKiss to true>>
<<set $ch2Events.bowenEscapeRoomKissed to true>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · At the open window</div>
<div class="lab-location">The driver-side window of the Corolla, Tom leaning down through, Elena tilted up</div>
<<if _firstTimeHere>>
<<say "char-chen-thought" "Elena">>
<i>(the lean-in arriving before she has finished deciding on it)</i> ...meet him.
<</say>>
<p>Elena tilts up off the seatback. Tom, already half-down through the window, one hand on the doorframe, closes the half-foot of cold air between their faces. The kiss lands soft, mouths just-touching, both eyes closing at the same moment. The cold of the street is at the back of his neck and on Elena's cheekbones; the warmth between their faces in the small geometry of the open window is the only warmth either of them has felt in twenty minutes.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-corolla-kiss.webp" alt="Elena's older grey Toyota Corolla hatchback parked at the kerb on a wide brick-buildings city street at evening dusk, side mirror visible, the driver-side window rolled down. Inside the car: Elena, Chinese-American woman in her early thirties, dark-rimmed glasses, dark hair, charcoal grey wool peacoat over a slate-grey turtleneck, sitting in the driver seat tilted up off the seatback toward the open window for the kiss. Outside the car, leaning down through the window: Tom, Anglo man mid-twenties, wavy dark-blond hair, navy long-sleeve top, leaning in for the kiss with eyes closed and one hand on the doorframe. Their lips just touching mid-kiss. Cool blue dusk light, warm streetlight catching the side of the car, brick four-story apartment buildings in soft focus background. Photorealistic, slight film grain.">
<p>Tom breaks first, leans back through the window onto his heels, the small breathless half-laugh he produces when his cortex catches up to his body. His ears are visibly hot in the cold air.</p>
<<say "char-bowen" "Tom">>
<i>(small breathless half-laugh, hand still on the doorframe)</i> ...okay. Okay, that just happened. I, uh. Goodnight, Elena. I, yeah. Goodnight.
<</say>>
<<else>>
<p>Elena tilts up off the seatback and Tom comes down the rest of the way to meet her, the half-foot of cold air closing the way it has closed before, easier this time, no held breath in it. The kiss is brief and familiar and warm, and Tom leans back through the window onto his heels with the same small breathless half-laugh, ears hot in the cold.</p>
<<say "char-bowen" "Tom">>
<i>(small breathless half-laugh, hand still on the doorframe)</i> ...okay. Yeah. Goodnight, Elena. I, ...goodnight.
<</say>>
<</if>>
<<if $ch2Events.bowenEscapeRoomTransferAttractionFired or $delveInfo.bowenEscapeRoomSurface>>
<<say "char-bowen-thought" "Tom">>
<i>(palms against the inside of his coat pockets, the kiss still warm on his mouth)</i> ...the first thing that just happened is going to be the only thing I think about for the next forty-eight hours, and the second thing that just happened is that Dr., Elena, Dr. Elena kissed me through the window of her car and I am going to need to figure out how to be a person at the bench tomorrow.
<</say>>
<</if>>
/* ---- T3a slip — "take care of yourself" → "take care of me now"
Slip widget appears when CHEN's own conditioning total >= 15 (the
host is rewired enough for the wobble to plausibly surface). Below
15 the line reads as a plain goodnight with no slip option. The
wobble swap is single-clause: "yourself" → "me now". Acceptance
gates on BOWEN's conditioning total: if Bowen total >= 24 the slip
lands as invitation and the NUDGE for the apartment appears;
between 0 and 23 he hears the slip but politely refuses and the
scene wraps to the drive home. Mutually exclusive with Apartment/
ApartmentImplant already fired in a prior visit. */
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _slipAvailable to _chenTotal gte 15>>
<<set _t3Tier to _bTotal gte 24 and not ($ch2Events.bowenEscapeRoomApartmentFired or false) and not ($ch2Events.bowenEscapeRoomApartmentImplantFired or false)>>
<<if _slipAvailable>>
<<say "char-chen" "Elena">>
<i>(small return-laugh, the dashboard glow on her glasses, the small private half-beat at the open window)</i> Goodnight, Tom. I had a fun night. <<tongueSlip "Take care of yourself." "Why don't you take care of me now?" 1 "bowen" "bowenEscapeRoomComeUpSlipFired" "#bowen-escape-comeup-payoff" "psionic" "" "#bowen-escape-noslip-walkaway" "" "" "">>
<</say>>
<<else>>
<<say "char-chen" "Elena">>
<i>(small return-laugh, the dashboard glow on her glasses)</i> Goodnight, Tom. I had a fun night. Take care of yourself.
<</say>>
<</if>>
<div id="bowen-escape-comeup-payoff" style="display:none" @style="$ch2Events.bowenEscapeRoomComeUpSlipFired ? '' : 'display:none'">
<<if _t3Tier>>
<<say "char-bowen" "Tom">>
<i>(half-strangled, still leaning down through the window, eyes wide, hand briefly off the doorframe and back to it)</i> ...did you, did you just, //Christ//, Elena, yes. Yes, I,
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes meeting his, //yes I did// written all over her face)</i> Mm-hmm. Buzz me up, Tom. The cold is real, your apartment is twenty feet away, and I am not driving home yet.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip surfaced what the host's cortex was about to talk her out of, and the kiss has pre-positioned Tom to hear it as invitation rather than misspeak. Apartment 4B is across the lobby and up three flights. The geometry is open.//
<</say>>
<hr class="scene-break">
/* Implant variant disabled for now — only the plain NUDGE renders.
The ApartmentImplant passage is preserved but unreachable; restore
the IMPLANT + NUDGE button here when the variant comes back online.
The Drive-home link below is the escape hatch for players who don't
have the 1 biomass for the NUDGE (or who want to back out of the
slip after Bowen has accepted). Chen retracts the slip as a joke
to save the moment. */
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Buzz him into the building, apartment 4B (1 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-Apartment" 1>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "...I was joking, Tom. Goodnight. Drive home." "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
<<else>>
/* Slip-fired-but-refused branch: Bowen heard the slip but his conditioning
baseline is too thin to accept. He covers politely and pulls back. */
<<say "char-bowen" "Tom">>
<i>(half-strangled, eyes briefly wide and dropping, hand briefly tightening on the doorframe and then loosening, the cortex hearing the slip and the body half a step behind)</i> ...oh. Oh, Elena, I, I think I should, I am going to get inside. Alone. Goodnight. Goodnight, really. I, Christ, goodnight.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private register, watching him pull back from the window)</i> ...mm. He heard it. He is choosing not to. Fine. Drive home.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed and Tom heard it. The conditioning baseline is too thin tonight for the cortex to accept the offer, he produces the most polite version of //no// he has at hand and pulls back from the window. He will walk into the lab tomorrow with the slip still warm on the back of his cortex, and the conditioning runs from here will land cleaner against the new baseline.//
<</say>>
<p>Tom pushes off the doorframe with the small breathless half-laugh of a junior tech who has just heard something he is not equipped to process and got out of the situation with the cleanest cover available, walks to the brick stairs without looking back, keys himself into the building. Elena watches the front door click shut behind him, rolls the window back up, sits a half-second longer than she needs to. The Corolla's heater has lost ground while the window was down. She starts the engine and pulls away from the kerb.</p>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span>, the kiss spike + the conditioning fingerprint the refused slip leaves on Tom for the next visit.</p>
<<conditioningFeedback "pheromone" 1 "Tom, refused slip leaves a fingerprint">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Drive home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
<</if>>
</div>
/* Default — slip not clicked. Chen's line landed as the safe version
("Take care of yourself"), Bowen goodnight, regular walkaway.
The id is consumed by the slip widget's hideSelector (9th arg)
so this div slideUp's when the slip is clicked. */
<div id="bowen-escape-noslip-walkaway" @style="$ch2Events.bowenEscapeRoomComeUpSlipFired ? 'display:none' : ''">
<p>Tom pushes off the doorframe, walks to the brick stairs without looking back, keys himself into the building. Elena watches the front door click shut behind him, rolls the window back up, sits a half-second longer than she needs to. The Corolla's heater has lost ground while the window was down. She starts the engine and pulls away from the kerb.</p>
<<say "char-hivemind" "Hivemind">>
//The kiss landed at the open window, slower, more deliberate than a passenger-seat kiss would have been. Tom had to leave the car, walk halfway to his stairs, walk back. The //I came back// is going to live in his memory of tonight as the load-bearing detail; he chose the moment, and his cortex cannot hand the choice back. The senior/junior register is no longer a clean professional surface for either of them. Tomorrow's bench will run on a junior tech whose nervous system has been re-keyed overnight.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span>, the post-puzzle adrenaline plus the kiss spike.</p>
<<conditioningFeedback "pheromone" 1 "Tom, junior-tech register cracked at the open window">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Drive home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
</div>
/* ---- T3a — Bowen's apartment, full sex ----
Triggered via slip + NUDGE in the CarKiss aftermath. Scene runs:
apartment chit-chat (movie posters, signed props, Bowen's surprising
homemaker register) → tea offered → Chen undresses while Bowen makes
tea → Bowen finds her naked on the couch → cunnilingus on the sofa
(image 1) → missionary POV sex on the couch (image 2) → creampie at
Chen's explicit request, MAP framed as next-morning errand (image 3)
→ mouth-on-cock goodbye → "see you at work." Mutually exclusive with
T3b (Memory Implant overlay). */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Bowen's apartment 4B, small one-bed, the living room with the couch and movie posters and signed props, the kitchenette opening off it">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomApartmentFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "bowen-escape-apartment-nudge">>
<<set $ch2Events.bowenEscapeRoomApartmentFired to true>>
<<set $ch2Events.bowenLongAttraction to true>>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 3 "bowen-escape-apartment">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Apartment 4B, Tom's place</div>
<div class="lab-location">A small one-bed apartment on the fourth floor of a brick four-story off Cedar Crescent, tidy living room with a grey couch facing the wall of vintage movie posters, kitchenette opening off the back, the half-open bedroom door visible at the end of the corridor</div>
<p>Tom buzzes them in, holds the lobby door, walks her up the three flights with the small careful hand-at-the-small-of-her-back gesture of a man who is escorting a senior PI into his apartment for the first time and is fully aware that the gesture is the most intentional one he has made all evening. Apartment 4B is at the end of the fourth-floor corridor. He fumbles the keys briefly, lets her in ahead of him, closes the door behind them with the soft click of a man who does not want to wake the neighbours.</p>
<p>The apartment is bigger than Elena's, in the way that single-occupant junior-tech apartments are often bigger than single-occupant senior-PI apartments. Elena has the better address, Tom has the better square footage. A grey two-seat couch faces a small flat-screen on a wall-mounted bracket. Along the wall above the couch: three framed vintage-print movie posters: A Clockwork Orange (the Kubrick triangle-eye design), Top Gun (the 1986 Maverick-and-Goose silhouette), Forrest Gump (the bench-and-feather poster). On a small floating shelf beside the flat-screen: a glass display case with a single object inside, a bowler hat. The whole apartment is scrupulously clean, not postdoc-budget clean, actually clean, the kind of clean a person makes time for.</p>
<<say "char-chen" "Elena">>
<i>(taking off her coat, hanging it on the back of the kitchenette chair, eyes travelling across the wall of posters)</i> Tom. This is... your apartment is bigger than mine. And tidier.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small half-laugh, hands briefly in his coat pockets before he takes the coat off too)</i> ...the bigger is just luck, old lease, rent-controlled, the previous tenant moved out on a day I happened to be looking. The tidier is... yeah. I like keeping things tidy. Mom thing, probably.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry smile, crossing to the wall of posters, eyes on the Clockwork Orange first)</i> Clockwork Orange. Top Gun. Forrest Gump. You are a more interesting man than the lab knows about, Tom.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small half-laugh, half-mortified, hand briefly through his hair)</i> ...the lab does not need to know about the movie thing. The bowler hat in the case there is signed by Malcolm McDowell. Convention, a couple of years back. The Top Gun aviators in the drawer are reproductions. The Forrest Gump feather is real, off the closing-credits sequence prop master. I got it in an auction, paid more than I should have for it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, eyes briefly back to him from the bowler hat, the small composed half-smile fully on)</i> I had you down as a quiet-evenings-with-Netflix type.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small half-laugh, ears visibly hot in the warmth of the apartment)</i> ...quiet evenings with the LaserDisc box set is more accurate. Can I... water? Tea? I have decent tea, actually. Earl Grey, ginger-lemon, a chamomile if you need it. What would you like, Elena?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, settling on the grey couch, eyes briefly to the Top Gun silhouette and back to him)</i> Tea. Whatever you have. Earl Grey is fine.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small relieved half-laugh, the homemaker register sliding on, already moving toward the kitchenette)</i> Earl Grey. Two minutes. Make yourself at home.
<</say>>
<p>Tom disappears into the kitchenette. The kettle clicks on, the tap runs briefly, the small clean rattle of a mug coming down off the shelf. Elena sits on the grey couch for about thirty seconds, eyes back on the wall of posters, hands briefly folded in her lap. Then she stands up, walks back to the kitchenette doorway, listens to Tom running water and humming under his breath in the next room, walks back to the couch, and undresses with the unhurried efficiency of a woman who has decided what she is doing, folds each item neatly on the back of the kitchenette chair beside her coat, and sits back down on the couch with nothing on but her glasses.</p>
<<say "char-chen-thought" "Elena">>
<i>(naked on the couch, not going to take it back)</i> ...mm. The tea can wait.
<</say>>
<p>Tom comes back into the living room two minutes later with two ceramic mugs in his hands, the small careful attention of a man trying not to spill anything, the Earl Grey steaming. He looks up. He stops walking. His hands stay carefully level on the mugs.</p>
<<say "char-bowen" "Tom">>
<i>(frozen mid-step, eyes wide, voice strangled)</i> ...oh. Oh god. Elena, you... Christ.
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-couch.webp" alt="Inside a small junior-tech apartment living room, warm overhead light, a grey two-seat couch in the foreground. Elena alone on the couch in a seductive solo pose, Chinese-American woman thirty-two with shoulder-length black hair and slim dark-acetate rounded-rectangular glasses, fully naked, small breasts visible, one knee bent over the other, hair fanned across the couch armrest behind her head, one hand resting briefly on her stomach, head tilted slightly, eyes on the viewer with the small composed half-smile of a woman who has just made a decision and is not going to take it back. Two ceramic mugs of Earl Grey steaming on the coffee table at frame edge. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography, warm interior light, seductive solo pose on the couch.">
<<say "char-chen" "Elena">>
<i>(small composed half-smile, naked on the couch, one knee bent over the other, eyes on his face)</i> I've made myself comfortable meanwhile, hope you don't mind. I'd prefer to let the tea cool off a little, Tom, why don't you put it on the coffee table and come here?
<</say>>
<p>Tom sets the two mugs down on the coffee table with the careful slow-motion attention of a man whose body is doing one thing while his cortex is doing another. He crosses the four feet between him and the couch. Elena sits up, takes the front of his quarter-zip pullover in one hand, and pulls him down toward her.</p>
<<say "char-chen" "Elena">>
<i>(quiet, eyes on his, voice dropped low)</i> Tom. Take me now. Mouth on me first. I want to feel yours before I feel anything else of yours.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, the cortex four beats behind the body)</i> ...Christ. Elena. Yes. Yes, okay, I...
<</say>>
<p>Elena lies back on the grey couch with her head against the armrest. Tom drops to his knees on the rug in front of her, pushes her thighs apart gently with both hands, and lowers his mouth to her, the small careful first-touch of his tongue against her clit landing as a half-gasp from Elena, her hand briefly going to the back of his head, fingers laced in his wavy dark-blond hair. Tom finds the rhythm quickly: long slow flat-tongue strokes against her clit, occasionally pressing two fingers inside her, his other hand flat against her stomach to hold her steady.</p>
<<say "char-chen" "Elena">>
<i>(half-gasp, fingers briefly tightening in his hair, head tipped back against the armrest)</i> Mm... Tom... //god//, that is... yes, just like that, do not stop.
<</say>>
<<say "char-bowen" "Tom">>
<i>(muffled, mouth still working against her, the small affirmative grunt of a man following instructions)</i> //Mmh.//
<</say>>
<p>Elena comes first under his mouth on a long held-breath, body briefly tightening, the small wet half-cry caught in the back of her throat, her hand fisting in his hair as her hips lift off the couch. Tom rides her through it with the small careful want-to-make-this-good register that has not left his body since she said //mouth on me first//. When her body finishes, Elena tugs gently at his hair.</p>
<<say "char-chen" "Elena">>
<i>(small recovered breath, fingers loosening in his hair, the warm half-smile fully on)</i> That was good, Tom. Come up here and kiss me. I want to taste myself on your mouth.
<</say>>
<p>Tom comes back up the length of the couch and lies on top of her, propped on his elbows. Elena takes his face in her hands and kisses him, full mouth, slow, the small unhurried kiss of a woman who has just been gone-down-on properly and intends to acknowledge it. She tastes herself on his mouth and does not flinch from it. Her hands work the zip of his quarter-zip pullover down without breaking the kiss, then up over his head with the t-shirt together; his jeans and boxers go next in the cramped couch geometry; both of them naked now, his cock fully hard against her stomach.</p>
<<say "char-chen" "Elena">>
<i>(half-gasp at the contact, hand briefly at the side of his face, voice dropped low)</i> Tom, inside me. Slowly, I want to feel every inch of you on the way in.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hand at the base of his cock guiding himself to her, eyes briefly closing as he feels her against the head)</i> ...//Christ//... Elena, you are... //fuck//, you really are so wet, I...
<</say>>
<p>Tom presses into her in one slow stroke. Elena wet from the cunnilingus and the kiss, her body opening to him without resistance, his cock filling her in a single unhurried glide that makes both of them exhale in the same beat. He holds the bottom-out for the length of three breaths, eyes briefly closing, the small held-breath of a man who has just been allowed inside a place his cortex did not let him imagine being inside an hour ago. The grey couch creaks once under their combined weight.</p>
<video class="scene-video" src="media/video/bowen-apartment-missionary.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-apartment-missionary.webp"></video>
<<say "char-bowen" "Tom">>
<i>(low against her temple, the slow steady rhythm starting up)</i> Elena, //god//, you are //tight//, I am going to have to slow down or I will not last, I am...
<</say>>
<<say "char-chen" "Elena">>
<i>(half-gasp, hands at his shoulder blades, hips rising to meet his rhythm)</i> Then slow down, Tom, make it last. We have all night, and your cock feels too good for you to rush through this.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled-low, the rhythm finding the slower pace, breath catching against her temple)</i> ...okay. Okay, slow. Slow. //Fuck//, Elena, you are warm.
<</say>>
<p>Tom slows. The thrust becomes a slow steady glide, full-stroke, bottom-out, half-stroke, bottom-out, and Elena wraps her legs around his hips, angles her body up to catch her clit on every down-stroke. The rhythm finds itself across the next several minutes; their mouths keep meeting and breaking apart and meeting again, the small wet sounds of contact carrying in the quiet apartment, the Earl Grey going cold on the coffee table beside them.</p>
<<say "char-chen" "Elena">>
<i>(half-gasp, breath catching at the bottom-out, hand briefly at the back of his head pulling him down to her ear, voice dropped low)</i> Tom. Finish inside me. I want to feel you come with your hips pressed up against mine.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, the rhythm hitching for a half-stroke, eyes wide on her face)</i> ...are you... Elena, are you sure, we did not... we never...
<</say>>
<<say "char-chen" "Elena">>
<i>(half-gasp, fingers laced into the hair at the back of his head, voice low and certain)</i> Tom, I will pick up the morning-after pill tomorrow morning before the bench, I do not care anymore. Inside me, your cum, your hips bottomed out against mine. I want all of it.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, the rhythm finding itself again deeper, hands moving from her shoulders to under the small of her back)</i> ...//Christ//. Elena, yes, okay, I am... I am going to...
<</say>>
<p>Tom's pace picks up, the small careful unhurried glide becoming something deeper, more urgent, his hands lifting her hips up to him on every stroke. Elena comes a second time under him in three more deep strokes, body tightening around his cock, mouth muffled into the side of his jaw with the small wet half-cry of a woman who has stopped being a senior PI entirely for the next two minutes. Tom follows on the next three thrusts, the involuntary press of his hips against hers as he bottoms out, the strangled half-cry into her shoulder, his cock pulsing inside her as he comes.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-creampie.webp" alt="POV from above looking down at Elena on her back on the grey couch, post-creampie aftermath, warm interior light. Elena, Chinese-American woman thirty-two with shoulder-length black hair across the couch armrest and slim dark-acetate rounded-rectangular glasses, fully naked, small breasts, one hand briefly at the side of Tom's face, the other resting on her stomach, the small composed half-smile of a woman who has just had a good time, eyes meeting his. Tom above her on his elbows, mid-twenties Anglo with wavy dark-blond hair tousled and pale blue eyes squeezed shut mid-pulse, fully naked, lean build, hips pressed flush against hers at the bottom-out, his cock still inside her mid-pulse with visible small trail of white cum on her inner thigh from the press. The three movie posters on the wall in soft focus background. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography, warm interior light, creampie aftermath, POV from above.">
<<say "char-bowen" "Tom">>
<i>(half-collapsed against her, forehead briefly to her shoulder, breath uneven against her skin)</i> ...Elena. Elena, you let me... I just... Christ, I do not have a word for what I just did inside you.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, hand briefly at the back of his neck, fingers laced into the hair there, hips still pressed up against him)</i> Then do not look for one tonight, Tom. Stay where you are, I want to feel you finish softening inside me before you pull out.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled-low into her shoulder, hips not moving)</i> ...okay. Okay, yes, anything. Anything you want.
<</say>>
<p>They stay like that for almost a minute, Tom still inside her, breath slowing against her shoulder, Elena running fingers through the wavy dark-blond hair at the back of his neck. When his cock has fully softened, Tom carefully eases out of her; the warm white follows the head of him as he comes out, runs down the soft skin at the inside of Elena's thigh, pools briefly in the crease of her hip. Tom sits back on his heels on the couch, looks down at her, hand briefly through his own hair, the small breathless half-laugh of a man who cannot believe his luck still on his face.</p>
<<say "char-chen" "Elena">>
<i>(small composed wry register, propping herself up on one elbow on the couch, eyes briefly down at the trail on her inner thigh and back up to his face)</i> Hand me the tea, Tom, before it goes completely cold.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small half-laugh, half-mortified, reaching for one of the ceramic mugs on the coffee table)</i> ...the... yeah. Yeah, here. Elena, the couch... should I get the throw blanket, I... you are still...
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the mug from him with one hand, settling back against the couch armrest fully naked, the small trail of warm white still visible on her inner thigh in the warm overhead light, the small composed half-smile fully on)</i> Oh come on, Tom, the couch is gonna be fine, you just fucked your boss and you're thinking about your couch, also nothing that hot water and dish soap can't fix tomorrow morning, come here, I'll give you a kiss to make amends for the mess.
<</say>>
<p>Elena takes a slow sip of the Earl Grey, gone lukewarm now, not yet cold, and lets her head rest back against the couch armrest. Her free hand rests briefly between her own thighs.</p>
<<say "char-chen" "Elena">>
<i>(taking the sip, eyes briefly closing in appreciation, the wry register holding)</i> The tea is good, Tom.
<</say>>
<p>Then, without breaking the wry register at all, Elena slides two fingers down between her legs and scoops a small amount of the warm white compound out of herself, brings the fingertips up to her mouth, and tastes them with the same unhurried composure she would use to taste a sample at the bench. Tom makes a small strangled noise that is not quite a word.</p>
<<say "char-chen" "Elena">>
<i>(licking the fingertips clean, eyes briefly to Tom and back to her mug)</i> ...though you should have asked if I wanted it with milk.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, hand briefly through his hair, ears visibly hot)</i> ...Elena. //Christ.// Elena, I... I do not know what to do with you. With any of this. With...
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry smile, taking another sip of the tea, eyes meeting his over the rim of the mug)</i> Nothing, Tom. There is nothing to do with this. Drink your tea, kiss me goodbye when I get up, and let me drive home.
<</say>>
<p>The next two minutes are quiet. Elena finishes her tea unhurriedly, naked on the couch with the small trail still on her inner thigh, the small composed wry register fully on. Tom drinks his tea sitting back on his heels at the other end of the couch with the small half-laugh of a man whose cortex is not going to recover from this evening for several days. When Elena's mug is empty she sets it on the coffee table, stands up off the couch naked, crosses to Tom, takes his face in her hands and kisses him properly, slow, full-mouth, the small composed warmth of a woman saying goodbye to a man she has just had a good time with. She breaks the kiss, drops down to her knees on the rug in front of him, takes his still-half-soft cock briefly in her hand, and presses a small unhurried kiss to the head of it. Tom's breath catches.</p>
<<say "char-chen" "Elena">>
<i>(small dry, kiss landing on the head of his cock, eyes briefly up at his face)</i> You did good, Tom. See you at work.
<</say>>
<p>Elena stands back up, walks to the kitchenette chair, dresses with the unhurried efficiency of a woman who has done this kind of leaving before. Coat off the back of the chair. Bag from the counter. Keys. She lets herself out of apartment 4B with the soft click of a woman who does not want to wake the neighbours. The two ceramic mugs of cold Earl Grey are still on the coffee table behind her.</p>
<<say "char-hivemind" "Hivemind">>
//First waking sex with Tom. Host's actual body in his actual apartment, on his actual couch, with the consequences taken instead of dodged. Tom will spend the night recomposing himself in a register his cortex does not have a frame for; the bench tomorrow morning will run on a junior tech whose nervous system has been re-keyed by the woman he has been reading as senior PI for months. The morning-after-pill clause is the small dry-pragmatic punctuation on the night. Elena did not need me to push that decision, she made it on her own at the kitchenette doorway. The wiring crosses the senior-PI / junior-tech threshold permanently.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+3 biomass</span>, full sustained sex, multiple orgasms harvested, the post-coital warmth.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Tom's reproductive-cortex-axis fully wired to the host.</p>
<<conditioningFeedback "psionic" 1 "Tom, first waking sex with the host, the couch register installed">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cedar Crescent, home|Ch2-Vessel-Loop-Home]]</div>
/* ---- T3b — Memory Implant overlay on the apartment scene ----
Same physical scene as T3a (apartment, missionary then cowgirl then
climax-on-stomach) BUT Bowen's cortex carries a fabricated relationship-
history packet implanted in the slip-3-aftermath beat. Practiced-
familiarity register: Bowen relaxed, dom-flavoured confidence, no
first-time-tentative body language. Chen knows it is the first time;
Bowen thinks it is not. Asymmetry is the kink. Permanent canon:
bowenLongTimeImplanted — colours every subsequent Bowen scene differently
from bowenLongAttraction (he greets her at the bench like she is the
woman he has been with for months, not the senior PI he wants to be
with). Reuses T3a's image roster — Lustify prompts can shift to
"post-coital familiarity" register if regen needed, but the same
webp files render fine. Mutually exclusive with T3a in a single save. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Bowen's apartment 4B, Bowen's cortex carrying a fabricated relationship-history packet, the practiced-familiarity register fully on for him, Chen the only one who knows it is the first time">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomApartmentImplantFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 4 "bowen-escape-apartment-implant-nudge">>
<<set $ch2Events.bowenEscapeRoomApartmentImplantFired to true>>
<<set $ch2Events.bowenLongTimeImplanted to true>>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 3 "bowen-escape-apartment-implant">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Apartment 4B · Tom's place, the practiced-familiarity register</div>
<div class="lab-location">A small one-bed apartment on the fourth floor of a brick four-story off Cedar Crescent, Tom's cortex carrying the implanted memory of a half-dozen prior nights with Elena that never happened</div>
<<say "char-hivemind" "Hivemind">>
//Implant fired in the slip-3 aftermath at the open window. Tom's cortex now carries a fabricated relationship-history packet, the morning after the lab Christmas party (a brief thing he is supposed to have been the one to suggest), a half-dozen small private moments across the postdoc-end-of-contract period (a coffee at the bench that ran into a coffee at his apartment, an evening after the Reyes interview that did not technically happen). The packet seeded smoothly because Tom's cortex was already pre-positioned to want it; the implant did not have to push past resistance, only fill an empty room. He is going to walk Elena up to apartment 4B with the small relaxed off-clock register of a man who has done this with her before. He has not. The asymmetry is the host's now.//
<</say>>
<p>Tom buzzes them in, holds the lobby door, walks her up the three flights with the small unhurried at-the-small-of-her-back gesture of a man who has walked a senior PI up to his apartment a half-dozen times before, except the half-dozen times before never happened, and the only person in the building who knows that is Elena. Apartment 4B at the end of the corridor. He does not fumble the keys. He does not awkwardly let her in ahead of him. He opens the door, steps in first, holds it for her with the small private at-home gesture of a man whose cortex is filling in a routine that has never existed.</p>
<<say "char-bowen" "Tom">>
<i>(at the kitchenette, taking her coat off her shoulders the way a man takes the coat of a woman he has done this with before, hanging it on the hook by the door)</i> ...okay. Same as last time, water? Or do you want me to skip the water and we go straight in?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-beat, the small wry interior of a woman who has just had her own social register handed back to her by a man whose cortex thinks they have done this before, the calm-PI register holding through the asymmetry)</i> ...skip the water.
<</say>>
<p>Tom crosses the three feet to her with the small relaxed off-clock register fully on, takes the front of her cardigan in one hand, pulls her against him, and kisses her properly with the small unhurried confidence of a man who has kissed her in this kitchenette before. Elena's hand comes up briefly to the side of his face, not to lead, because Tom does not need leading tonight, just to be on the side of his face during the kiss. He walks her backwards toward the bedroom doorway with one hand at the small of her back, undresses her in the corridor with the small careful efficiency of a man who has done this with her before.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-foreplay.webp" alt="Inside a small junior-tech apartment kitchenette opening onto a tidy living room, warm bedside-lamp light from the half-open bedroom doorway at the back. Elena on the left, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, slate-grey turtleneck and dark jeans, the wry composed register of a woman whose cortex is parsing an asymmetry only she knows about, hand briefly on the side of his face. Tom on the right, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes (closed in the kiss), navy quarter-zip pullover half-unzipped, the small relaxed off-clock confidence of a man whose cortex carries a fabricated half-dozen prior nights with her, both hands at her waist with a steady at-home pressure, no first-time tentative body language. Documentary photography, candid, anatomically correct, glamour photography, warm interior light, practiced-familiarity register.">
<<say "char-bowen" "Tom">>
<i>(broken kiss in the bedroom doorway, foreheads touching, small private half-laugh)</i> ...Christ, Elena. The bench is going to be impossible tomorrow. Same as the last time, I am going to spend the whole morning trying not to look at you.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the wry interior of a woman whose cortex has just clocked Tom referencing a //last time// that the host installed less than ninety seconds ago, eyes briefly meeting his and the calm-PI register fully on)</i> Mm-hmm. We will manage. The bed is twelve feet away.
<</say>>
<p>The undressing takes ninety seconds, Tom unhurried and competent, Elena following his lead because he is leading for the first time in either of their actual histories, the implant carrying him through every gesture that would otherwise have been a fumble. Elena ends up on her back on the bed; Tom ends up above her on his elbows, eyes briefly travelling, the small composed half-smile of a man who is not nervous because his cortex tells him he has no reason to be.</p>
<<say "char-bowen" "Tom">>
<i>(low at her ear, hand at her waist, the small unhurried confidence of a man who is not nervous)</i> Inside?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand on the side of his jaw, eyes briefly to his and back)</i> Inside, Tom. Slow.
<</say>>
<p>Tom slides into her in one slow press, the unhurried confidence of a man whose cortex tells him this is something they have done together a half-dozen times before. Elena wraps her legs around the small of his back, eyes briefly to the ceiling, the small wry interior register of a woman whose body is responding to the rhythm at the same beat her cortex is parsing the asymmetry between what is happening and what Tom thinks is happening.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-act.webp" alt="POV from above looking down at Elena on her back on a small one-bed apartment bed with rumpled white sheets, warm bedside-lamp light. Elena, Chinese-American woman thirty-two with shoulder-length dark hair fanned across the pillow and slim dark-acetate rounded-rectangular glasses, naked, small breasts, hand at the back of Tom's neck, eyes briefly meeting his with the wry interior of a woman parsing the asymmetry the implant has installed. Tom above her on his elbows, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes, naked, lean build, mid-thrust missionary position, the small relaxed off-clock confidence of a man whose cortex carries a fabricated half-dozen prior nights with her, no first-time tentative body language. Bedside lamp catching the warm tone. Documentary photography, candid, anatomically correct, uncensored, glamour photography, practiced-familiarity register.">
<<say "char-bowen" "Tom">>
<i>(low at her ear, the slow steady rhythm holding)</i> Elena. Same as the last time, you feel, //fuck//, you feel exactly the way I remember.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes briefly to the ceiling, the small wry interior holding through the rhythm)</i> ...mm. The implant is doing the work. He thinks he remembers what I feel like and his body is parsing this as confirmation. The asymmetry is its own kink and I am surprised at how clean it lands.
<</say>>
<p>Elena comes first across the next four minutes, the small wet half-cry into the side of his jaw, body tightening around him on a long held-breath. Tom holds steady through her orgasm with the small confident want-to-make-this-good register of a man who is not first-time-nervous, then rolls her onto her side and pushes up to a sitting position against the headboard, pulls her up onto his lap facing him with both her thighs draped across his.</p>
<<say "char-bowen" "Tom">>
<i>(small composed half-smile, hands at her hips, eyes briefly to her face)</i> Like this. Same as the last time.
<</say>>
<p>Elena settles her weight forward onto him, takes his cock back inside her at the new angle, and starts the slow grinding ride, both her hands on his shoulders, foreheads briefly touching. Tom's hands stay at her hips guiding the rhythm with the small confident at-home pressure of a man whose cortex has handed him a position they have used before. Elena's interior register is the wry-warm version that has been holding through the whole evening, the small private half-smile she does not let land on her face fully because letting it land would be acknowledging the asymmetry out loud.</p>
<<say "char-bowen" "Tom">>
<i>(strangled-low, hands tightening on her hips)</i> Elena, I am close, same place as last time, yes?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, lifting off him on the next up-stroke, hand wrapping around his cock to finish him on her own stomach)</i> Same place, Tom.
<</say>>
<p>Tom comes on her stomach in three short pulses with the small composed register of a man who knows what he is doing because his cortex tells him this is the routine. Elena catches every pulse cleanly, the small wry composed register fully on. Tom passes her the small folded towel from the nightstand without being asked.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-aftermath.webp" alt="Inside Tom's small one-bed apartment bedroom, warm bedside-lamp light, post-coital aftermath on rumpled white sheets. Elena on her back on the bed, Chinese-American woman thirty-two with shoulder-length dark hair across the pillow and slim dark-acetate rounded-rectangular glasses, naked under a sheet drawn up to her ribs, the small composed wry private half-smile of a woman parsing an asymmetry only she knows about. Tom on his side beside her facing her, mid-twenties Anglo with wavy dark-blond hair tousled and pale blue eyes briefly meeting hers, naked under the sheet, the small relaxed at-home confidence of a man whose cortex tells him this is the routine, hand briefly at her hipbone with steady comfortable pressure. Documentary photography, candid, anatomically correct, glamour photography, warm interior light, post-coital practiced-familiarity register.">
<<say "char-bowen" "Tom">>
<i>(small composed half-laugh, hand briefly at her hipbone with steady comfortable pressure)</i> ...stay tonight. The alarm is at six but I sleep through it half the time anyway. Same as the last couple of times.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand briefly at the side of his face, the wry-warm register holding)</i> Tom. We both have the early lab. I am going to lie here for ten more minutes, then I am going to drive home, same as the last couple of times.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small composed half-laugh, eyes briefly closing)</i> ...yeah. Yeah, that is fair. Same routine.
<</say>>
<p>Elena waits the ten minutes, slides out from under his hand once his breath levels into REM-soft sleep, dresses unhurriedly, lets herself out of apartment 4B at five past one. The implanted relationship-history packet has registered the night as another instance of the routine, Tom will wake in the morning with no flagged anomaly.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla three minutes later, parked at the kerb, the dashboard glow on her face, the wry private half-smile fully on)</i> ...mm. Apparently this is what I am doing on weeknights now, with a man whose cortex thinks I have been doing it with him for months. <i>(small breath out, fingers briefly tapping the wheel)</i> Tom is going to text me at six in the morning before either of our alarms have gone off, and the text is going to read like it is the latest in a long thread of texts that have never existed. The bench is going to be a different room from now on, and only one of us is going to know why.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Implant overlay landed clean. Tom's cortex now carries the night as the most recent instance of an established pattern, and his autonomic register at the bench tomorrow will read the host as //my partner of several months// rather than //the senior PI I want to be with//. The asymmetry is permanent, Tom will not work this out without a counter-implant from another psionic of the same tier, and the host is the only psionic of that tier in his proximity. Every subsequent Tom scene runs on the false-baseline. The host is the architect of every gesture he thinks they have shared.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+3 biomass</span>, full sustained sex, the orgasm-energy yield via the practiced-familiarity register.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Tom's nervous system fully wired to the implanted-baseline register.</p>
<<conditioningFeedback "dream" 1 "Tom, first sex installed via implanted-routine register, the autonomic baseline shifted permanently">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cedar Crescent, home|Ch2-Vessel-Loop-Home]]</div>
/* ---- Bowen escape room — WRAP-HUG (bus stop, no kiss) ----
Used for both the no-slip path AND the slip-declined path. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The bus stop a half-block from the escape room, the eight runs every twenty minutes, the cold settling in">>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _attractedTier to _bTotal gte 8>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Goodnight at the bus stop</div>
<div class="lab-location">The bus shelter half a block down the street, fluorescent overhead, the eight bus posted three minutes out</div>
<p>They walk the half-block to the shelter together, breath visible in the cold. The bus is posted three minutes out on the small backlit display. Tom pulls his collar higher; Elena has her hands deep in her coat pockets.</p>
<<say "char-bowen" "Tom">>
<i>(small relieved laugh, half-turning toward the bus stop sign)</i> ...okay. Three minutes. Thanks again for tonight, Dr., Elena, sorry. Yeah, really. The puzzles, the company, all of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-shrug)</i> We can do it again another time if you're up for it, Tom. Find a harder room.
<</say>>
<p>Tom pulls Elena into a half-hug at the shelter, the careful kind a junior tech gives a senior PI when the night has earned a hug but not a real one, both arms going around her shoulders for two beats, neither of them pressing in. He steps back, hands back into pockets, breath visible.</p>
<p>The bus rolls up two minutes later. Elena waves once through the lit windows as it pulls away, then walks back round the corner to where she parked the Corolla.</p>
<<if _attractedTier and $ch2Events.bowenEscapeRoomTransferAttractionFired>>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the cold of the wait settling on her shoulders)</i> ...okay. The decision held. We are going to be exactly who we were at the bench this morning. Tomorrow I will figure out how to be a person who knows what I now know about him without it changing anything between us. The decision held.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host kept the decision. The body did not lean, the slip did not surface, the bus arrived. Tom gets on the bus carrying the cramped-alcove memory and nothing else; the host carries the new awareness of what Tom is carrying without having acted on it. The next escape-room slot will start from a slightly cooled-down version of this same threshold.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Senior/junior register held through the goodbye. Tom's body does not yet read the host as anything other than the senior PI he respects, the cumulative dosing is below the threshold where the autonomic would file her differently. The night was productive. The next escape-room slot will have to start from a more conditioned baseline before the register cracks further.//
<</say>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.bowenEscapeRoomFired to true>><<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- Bowen escape room — Pheromone Lure (basic / pheromone default) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.bowenEscapeRoomLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "bowen-escape-lure">>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone · at the alcove</div>
<div class="lab-location">The cramped Victorian-study alcove, three feet between her exposed wrist and his shoulder</div>
<<say "char-hivemind" "Hivemind">>
//A small dose of the warmth-and-trust compound off the host's exposed wrist as she points at the back-wall inscription. Calibrated to Tom's chemistry. Not enough to register consciously, enough to bias the next ten minutes of his body's read of the host toward //this is the safest crouch in the room//. Cumulative across visits.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(small breath, half-laugh, eyes back on the wall)</i> ...okay. Amber. Three, two, amber. Got it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-warmth)</i> Got it.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "pheromone" 1 "Tom, alcove pheromone deepens">><</if>>
<hr class="scene-break">
[[Continue at the alcove|Ch2-Vessel-Event-BowenEscapeRoom-VialSpill]]
/* ---- Bowen escape room — Pheromone Spec chooser ---- */<<nobr>><<bg "bg-chen-kitchen">><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">The alcove, choose what shape the dose takes</div>
<<say "char-hivemind" "Hivemind">>
//Pheromone Specialization gives me the shape selector. Three compound profiles available, each lays a different conditioning fingerprint on the same target.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Event-BowenEscapeRoom-Lure]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex for next contact|Ch2-Vessel-Event-BowenEscapeRoom-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Event-BowenEscapeRoom-LureDream]]</div>
/* ---- Bowen escape room — Lure psionic variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.bowenEscapeRoomLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "bowen-escape-lure">>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone · psionic variant · Tom</div>
<div class="lab-location">The alcove, cortex-opener compound dosed at close range</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds Tom's prefrontal cortex receptors and softens the threshold for the next psionic contact. Surface-delve, deep-delve, or implant on him will land cleaner from this point forward, less effort to thread, more bandwidth at the same biomass cost.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(small frown at the wall, slow)</i> ...uh. Hold on. The third number, did the chalk just, sorry, the wine I had with dinner is hitting harder than it should.
<</say>>
<<say "char-chen" "Elena">>
<i>(small calm-PI cover)</i> The inscription is there. Just give it the second look.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "psionic" 1 "Tom, alcove psionic deepens">><</if>>
<hr class="scene-break">
[[Continue at the alcove|Ch2-Vessel-Event-BowenEscapeRoom-VialSpill]]
/* ---- Bowen escape room — Lure dream variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.bowenEscapeRoomLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "bowen-escape-lure">>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone · dream variant · Tom</div>
<div class="lab-location">The alcove, subconscious-imprint compound dosed at close range</div>
<<say "char-hivemind" "Hivemind">>
//The compound carries no conscious payload, tonight, in the part of sleep where Tom's surface mind is not present to grade the writing, the imprint composes itself into something he will partially remember in the morning and never quite name. Cumulative across doses.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, settling back on his heels in the alcove)</i> ...this is the kind of night I am going to have weird dreams after. The cipher, the timer, all of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-smile)</i> Those are the better ones, usually.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "dream" 1 "Tom, alcove dream-imprint deepens">><</if>>
<hr class="scene-break">
[[Continue at the alcove|Ch2-Vessel-Event-BowenEscapeRoom-VialSpill]]
/* ---- Bowen escape room — Delve Surface ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.bowenEscapeRoomDelveDay or 0) lt ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomDelveDay to ($day or 0)>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.bowenEscapeRoomSurface to true>>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _attractedTier to _bTotal gte 8>>
<<if _firstTimeToday>>
<<spendBiomass 1 "bowen-escape-delve">>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Delve · Tom's surface, in the alcove</div>
<div class="lab-location">Tom's interior weather, the cramped recess, the inch of shoulder-contact</div>
<<nobr>>
<<hasSkillTreeAbility "Emotional Manipulation">><<set _hasEM to _hasAbility>>
<</nobr>>
<<say "char-hivemind" "Hivemind">>
//Surface read on Tom while he holds the flashlight steady on the chalk. The first layer of his register-stack is //I am in a small room with my PI and we are going to escape this room//. The second is //I am having a better night than I have had in weeks, and I do not get to have nights like this often//. The third, the load-bearing one tonight,
<</say>>
<<if _attractedTier>>
<<say "char-hivemind" "Hivemind">>
//, is something his cortex has not yet named. The cumulative conditioning has worn the //she is my senior PI, full stop// register thin, and underneath it a second register is running, //she is my senior PI, and something I am not going to finish that sentence//. He has spent the last twenty minutes calibrating his shoulder angle to keep his arm against hers without quite letting himself notice he is doing it.//
<</say>>
<<say "char-bowen-thought" "Tom">>
<i>(quiet, the flashlight steady on the wall)</i> ...I am fine. I am, okay, the room is small, this is an objectively small room, my heart is going because we are working a timer, not because I am crouched against my PI's shoulder, that would be, okay. Focus on the chalk. Three numbers, two letters.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the chalk, listening)</i> ...Tom is getting nervous. I can hear his heartbeats from here.
<</say>>
<p><span class="delve-intel">Tom's interior has crossed the senior/junior register threshold tonight. He is not consciously naming it, his cortex is filing the moment under //the room, the timer//, but his body is reading Elena as a target, not the senior PI. The read is on file with the parasite; bridging it into Elena's own cortex would let the host act on what she now knows.</span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//, is //I want to do another one of these with her. I would not have asked. I am glad she did//. There is no attraction thread under the surface. Whatever Tom is carrying tonight, it is the small private register of a junior tech who has been seen by a senior PI he respects.//
<</say>>
<<say "char-bowen-thought" "Tom">>
<i>(quiet, the flashlight steady on the chalk)</i> ...okay. Focus. Three numbers, two letters, a colour. We are going to crack this room and then I am going to go home and I am going to write tonight down somewhere because I do not get nights like this often.
<</say>>
<p><span class="delve-intel">Tom's interior tonight is junior-tech-warm, no attraction vector. The surfaces are open for ambient conditioning but no specific disclosure thread is available to push, and his body is not yet reading the host as a kiss-target. The wrap will close on a half-hug, not a kiss.</span></p>
<</if>>
<<if _firstTimeToday>><<conditioningFeedback "psionic" 1 "Tom, surface read leaves a fingerprint">><</if>>
<hr class="scene-break">
/* Emotional Manipulation — always visible after the delve. Active only
when Bowen has crossed the attracted-tier (8+) — without an attraction
thread to amplify, EM has nothing to grip on. Locked-with-hint at <8
so the player knows the option exists and what unlocks it. */
<<if _hasEM>>
<<if $ch2Events.bowenEscapeRoomEMFired>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EM</span> <span class="locked-choice">Attention already locked onto Elena</span></div>
<<elseif _attractedTier>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EM</span> <<biomassPreview "Lock his attention onto Elena, write the naughty thoughts the dream-imprint will cement (2 biomass)" "Ch2-Vessel-Event-BowenEscapeRoom-EmotionalManip" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Lock his attention onto Elena <span class="lock-hint">(Requires more conditioning, Tom's body needs to cross the attracted threshold for the press to grip; currently <<= _bTotal>> / 8)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Lock his attention onto Elena <span class="lock-hint">(Requires Emotional Manipulation, Psionic skill tree)</span></div>
<</if>>
<hr class="scene-break">
[[Back to the escape room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]
/* ---- Bowen escape room — Emotional Manipulation (gated on attracted-tier delve) ----
Locks Bowen's attention onto Elena specifically and writes the naughty
thoughts that tonight's dream-imprint will cement. Dream-channel
conditioning gain. Sets bowenEscapeRoomEMFired permanent. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomEMFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 2 "bowen-escape-em">>
<<set $ch2Events.bowenEscapeRoomEMFired to true>>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Emotional Manipulation · focus him on Elena</div>
<div class="lab-location">Tom's prefrontal cortex, the alcove still cramped around them, the rest of the timer eight minutes out</div>
<<say "char-hivemind" "Hivemind">>
//I press on his attention-allocation register. The puzzles are still in front of him; the host is still beside him. I increase the bandwidth allocated to her by a factor and decrease everything else by the matching factor. The cipher he is half-cracking goes a little harder to track. The chalk inscription stays perfectly readable. The shoulder against his shoulder, the strand of her hair that has fallen over her glasses, the way her sleeve has ridden up an inch above her wrist, those go from peripheral to load-bearing.//
//The dream-channel residue gets a payload to carry. Tonight, in the part of sleep where his cortex is not present to grade the writing, the imprint composes itself into a sequence of explicit scenes about her: her on top of him in this alcove, her at his bench undressing his lab coat off his shoulders, her standing in his kitchen in the cardigan and nothing under it. He will wake up tomorrow with the small hot shame of remembered fragments and no idea why his body has decided this week is the week.//
<</say>>
<<if $ch2Events.bowenEscapeRoomEMFired>>
<<say "char-bowen-thought" "Tom">>
<i>(eyes drifting off the chalk, breath shallowing)</i> ...okay. Okay, the chalk says, sorry, what was the third number. She just bent down to check the latch and, Christ. Christ, those jeans. I can see the shape of, //fuck//, I am getting hard. I am getting hard against the wall in an escape room next to my PI and I cannot stand up if she turns around. What is the third number. The third number. The third number.
<</say>>
<</if>>
<<say "char-bowen" "Tom">>
<i>(small swallow, blinks hard, refocuses on the chalk)</i> ...sorry. Sorry, lost it for a second. Three. The third number is three.
<</say>>
<<say "char-chen" "Elena">>
<i>(small calm-PI cover, eyes on the chalk too)</i> Three. Got it. Two letters and a colour to go.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The press lands. Tom will spend the back half of the timer fighting the new bandwidth allocation and losing, the puzzles will still close, but each one will take an extra ten seconds because half his processing is on the woman beside him. The dream-imprint payload is set. Tomorrow morning he will be functionally useless until he has fed himself the small lie about //the wine, the timer, the room//. The cortex always accepts that lie because the cortex has nothing else to offer.//
<</say>>
<<conditioningFeedback "dream" 1 "Tom, attention locked onto Elena, dream-imprint primed">>
<hr class="scene-break">
[[Back to the escape room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]
/* ---- T3c — Hormonal Override skill cast (T3 unlock) ----
Floods Bowen's hormonal axis at the cipher-solve cortisol-spike
window. Drops his receptive threshold past suppressive for ~90s.
Sets HormonalOverrideFired permanent. Returns to main menu where
the alcove-sex NUDGE then becomes available. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomHormonalOverrideFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 3 "bowen-escape-hormonal-override">>
<<set $ch2Events.bowenEscapeRoomHormonalOverrideFired to true>>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Hormonal Override · the cipher-solve cortisol window</div>
<div class="lab-location">The cramped Victorian-study alcove, Elena's shoulder against Tom's, his breath quickening at the back-half of the cipher-solve, the parasite preparing the hormonal flood at the ninety-second window the VM passive flagged on entry</div>
<p>Elena breathes out slow against Tom's shoulder while he reads the chalk inscription off the back wall. The hormonal-override compound vents into the alcove air through her exhale; Tom's nervous system registers it as a small unaccountable head-rush, his ears go visibly warmer in the dim tungsten light, his breath catches between the third number and the second letter of the cipher he is reading aloud.</p>
<<say "char-bowen" "Tom">>
<i>(reading the chalk, breath catching halfway through, hand briefly going to the back of his own neck)</i> ...amber, three, two, sorry, I, am I getting warm in here suddenly, or, three, two, amber.
<</say>>
<p>Tom shifts his crouch, a small involuntary adjustment, the angle of his thighs suddenly working against him, his free hand dropping briefly to his lap before he catches himself and forces it back to his side. His ears go visibly hotter than the head-rush alone explains. The front of his jeans is no longer doing the polite version of containing what is in them.</p>
<<say "char-bowen-thought" "Tom">>
<i>(crouched, the angle of his thighs now actively working against him, free hand back at his side with conscious effort)</i> ...what is, oh no, oh no, no, no, //why// is this happening right now, focus on the chalk, focus on the chalk, the third number is,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, shoulder still against his in the cramped alcove, eyes briefly to his lap and back to the wall without comment)</i> Cramped quarters and post-puzzle adrenaline. Keep reading.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Override compound vented through the cabin air. Tom's hypothalamic-pituitary axis registered the dose at the moment his cortisol was already at the cipher-solve peak. The receptive threshold has dropped past suppressive for the next ninety seconds; his body is reading every minute of the alcove geometry as the foreplay it has been all evening. The cortex will rationalize the head-rush as cramped-quarters body heat, but the erection straining the front of his jeans is going to be harder to file under anything but the truth. The window is open. The geometry of the alcove is the surface to use it on.//
<</say>>
<<if _firstTimeHere>>
<<conditioningFeedback "pheromone" 1 "Tom, hormonal axis flooded, receptive threshold dropped past suppressive">>
<</if>>
<hr class="scene-break">
[[Back to the escape room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]
/* ---- T3c — Alcove sex (against the false bookcase, eleven minutes
on the timer) ----
Triggered by NUDGE in main menu after Hormonal Override fires.
Brief, urgent, exhibitionist-flavoured because the timer keeps
counting. They solve the cipher half-dressed in the last three
minutes. CCTV camera-blind into this corner. Cortex will work
this out faster than the dream-walk because Bowen's body was
present and conscious for the whole act. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The cramped Victorian-study alcove, Chen leaning close to Bowen's ear, the deal being negotiated under the franchise's lobby-microphone pickup, eight minutes on the timer">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomAlcoveSexFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "bowen-escape-alcove-deal-nudge">>
<<set $ch2Events.bowenEscapeRoomAlcoveSexFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">The alcove · making him an offer</div>
<div class="lab-location">The cramped Victorian-study alcove, Elena turning toward Tom, the franchise's lobby microphone pickup arching across the back wall, eight minutes on the timer</div>
<p>Elena turns toward Tom in the cramped alcove, the calm-PI register on but with a different curve on her mouth, and tilts her head briefly toward his lap before tilting it back up to his face.</p>
<<say "char-chen" "Elena">>
<i>(quiet, eyes briefly to his lap and back)</i> So... Tom... I have been noticing your attention is more on my ass than on the puzzles here, and you're squirming like a virgin trying to hide that bulge. Am I right?
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, eyes wide, hands going briefly to his lap before he forces them back to his sides)</i> Oh... Elena, sorry, I didn't mean... maybe we should...
<</say>>
<p>Elena leans in closer, putting her mouth against Tom's ear so the franchise's lobby microphone pickup catches nothing, voice dropping to the soft conversational register an arm's length below normal speech.</p>
<<say "char-chen" "Elena">>
<i>(mouth at his ear, voice dropped low, the small unhurried efficiency of a woman laying out terms)</i> We should fuck, Tom. We're both adults and I'm kinda horny too, you're a good-looking guy, and I see no reason why we shouldn't fuck. Now, I don't want to give the staff a show, but if we manage this puzzle fast enough... and I know you're smart enough to solve this shit in twenty seconds... I'll give you the time of your life in the bathroom. I've been doing all the work tonight, you have two minutes to solve the rest on your own even if the timer says eight, and if you manage to do it you can fuck me.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, throat working, eyes locking on hers and breaking away and locking again)</i> ...Christ. Christ, Elena, I, okay. Okay, yes, two minutes, I, //okay//.
<</say>>
<p>Tom turns to the chalk inscription on the back wall with the small white-knuckle focus of a man whose body has just been promised a payoff his cortex was not expecting, reads the back-wall numbers, cross-references the brass key, cracks the desk's hidden compartment, runs the compass alignment, and gets the final word out in under three minutes flat. Elena watches him work from the alcove edge with the small composed half-smile she wears when an experiment is delivering on its hypothesis. The door re-clunks open with five minutes left on the timer. The lobby attendant calls into the room with the franchise's standard "all done? take your time on the way out" message.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, brushing the front of her jeans down as they stand up out of the alcove)</i> I'll go talk with the staff and retrieve our belongings, you start going for the bathroom, I'll follow you, we don't have much time so I'll need to find you already undressed.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, hand briefly through his hair)</i> ...Elena. Christ. Yes. Yes, okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cleanest deal-making I have seen this body do. The host did not negotiate. She told him the terms, made the bait conditional on a single demonstrable skill, and let his own competence carry him into the deal. Tom's cortex registered the offer as a contest he could not turn down without taking a hit to the only register he has built his self-image on, competence at the bench. The bait is set, the deal is verbal, the act is going to happen in a single-occupancy lobby restroom in approximately ninety seconds.//
<</say>>
<<if _firstTimeHere>>
<<conditioningFeedback "pheromone" 1 "Tom, the deal lands as a competence-bargain, not a transaction">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Lobby, single-occupancy bathroom on the left|Ch2-Vessel-Event-BowenEscapeRoom-BathroomSex]]</div>
/* ---- T3c continued — BathroomSex. The lobby restroom: single-occupancy
sink, mirror, fluorescent overhead, deadbolt thrown. Both undress.
BJ foreplay → sink sex → facial. Pulls out for the facial on Chen's
explicit request mid-act. +4 biomass, +3 max biomass, +1 dream
conditioning. Skips Exit (already out of the puzzle room), routes
directly to Wrap. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise's single-occupancy lobby restroom, deadbolt thrown, the front-desk attendant ten yards down the corridor and not paying attention, both of them out of the puzzle room with the night's wraps to come">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomBathroomSexFired or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.bowenEscapeRoomBathroomSexFired to true>>
<<addBiomass 4 "bowen-escape-bathroom-sex">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The single-occupancy restroom</div>
<div class="lab-location">The franchise's small single-occupancy lobby restroom, single porcelain sink, single mirror, single toilet behind a half-wall partition, white tile, fluorescent overhead, the deadbolt thrown</div>
<p>Tom walks to the back hallway alone, finds the single-occupancy restroom, single porcelain sink with a small mirror above it, single toilet behind a half-wall partition, fluorescent overhead, paper-towel dispenser, soap pump, steps in, leaves the door unlocked behind him, and starts undressing per Elena's instruction. By the time Elena catches up ninety seconds later with the franchise-branded photo card stowed in her coat pocket and the polite goodbye to the attendant delivered cleanly behind her, Tom has his navy quarter-zip and t-shirt off and on the counter beside the sink, belt unbuckled, slacks and boxers pushed down to the tile, standing fully naked with his hands gripping the edge of the sink behind him.</p>
<p>Elena steps in, throws the deadbolt with the small mechanical clunk that lands in the tile-floored space, takes one beat to absorb that Tom has actually done what she told him to do, and crosses the two steps between them.</p>
<<say "char-chen" "Elena">>
<i>(small dry, eyes traveling down his frame and back up to his face, hand briefly at the side of his jaw as she passes)</i> Good boy, Tom. You took the instruction cleanly.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hands still on the sink behind him, eyes locked on her face as she crosses to him)</i> Elena, I, I did what you said, I am, //Christ//, I am here, you are here,
<</say>>
<p>Elena pulls her own charcoal turtleneck off over her head, drops it on the counter beside his clothes, unhooks her bra one-handed and adds it to the pile. Tom's eyes track every motion. Elena leaves the jeans on for now, there is a small calm-PI economy to undressing in stages, and she has eight minutes worth of evening to spend here. She drops to her knees on the bathroom tile in front of him, hand wrapping around the base of his already-fully-hard cock with the same unhurried efficiency she had on him in the alcove half an hour ago.</p>
<<say "char-chen" "Elena">>
<i>(on her knees on the tile, looking up at him, hand wrapped around the base of his cock)</i> Hold the counter, Tom. I am going to warm you up.
<</say>>
<p>Elena takes him into her mouth, unhurried, the same throat-work she had on him in the alcove half an hour ago, this time with no plastic vial to catch into. Tom's hands white-knuckle the counter behind him, his head tips back, his breath leaves him in a single strangled exhale.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-bj.webp" alt="POV from above looking down. Elena kneeling on white bathroom tile in the foreground, Chinese-American woman thirty-two with shoulder-length black hair and slim dark-acetate rounded-rectangular glasses, topless (no top, no bra, small breasts visible), dark jeans still on, on her knees, brown eyes briefly looking up at viewer (eye contact), lips closed around the head of Tom's erect cock, cheeks slightly hollowed, right hand wrapped around the base of his cock, left hand resting on his thigh. Tom against the porcelain sink in the background, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes squeezed shut, lean build, navy quarter-zip and t-shirt removed onto the counter, slacks and boxers dropped at his feet, fully naked from the waist down, hands gripping the sink counter behind him with white knuckles, head tipped back. Small mirror above the sink, fluorescent overhead light, white tile walls, white tile floor, paper-towel dispenser visible at frame edge. Single-occupancy lobby restroom. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography.">
<<say "char-bowen" "Tom">>
<i>(strangled-low, hands white-knuckled on the counter, breath catching on every stroke)</i> Elena, //Christ//, Elena, you, //god//, you are good at this,
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off briefly, hand still wrapped around the base, the small dry smile of a woman who has been complimented on something she did not need a compliment on)</i> Mm. I know.
<</say>>
<p>Elena takes him back into her mouth, deeper this time, throat-work clean and unhurried. Tom's hips give a small involuntary jerk forward into her rhythm and Elena flattens her palm against his thigh to hold him back, the small composed correction of a PI managing variables. After two more long bobs she pulls off, leans back on her heels for a beat, wipes the back of her hand against her lips, and looks up at him.</p>
<<say "char-chen" "Elena">>
<i>(small dry, on her heels, eyes on his)</i> That is enough warm-up. Get me on the counter.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, breath uneven, hands already at her waist as she stands up)</i> ...Christ. Yes. Yes, okay,
<</say>>
<p>Elena drops her own jeans and underwear in one motion, kicks them onto the pile on the counter, turns to face the sink, and braces both palms flat on the counter on either side of the basin. Tom steps in behind her, hands going to her hips with the small white-knuckle pressure of a man whose body is doing what his cortex would have spent another hour overthinking. The cold porcelain counter against her hipbones is sharp, the heat of his hands on her ass is the other half of the same beat, and Elena drops her head forward over the basin and breathes out slow.</p>
<<say "char-chen" "Elena">>
<i>(half-gasp, palms flat on the counter, head bowed forward, voice dropped low)</i> Tom. //Inside//. Now. I am already dripping wet for you, you can feel it, put it in. I want to feel your dick inside my tight pussy. Now, Tom. //Now//.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, one hand at the base of his cock guiding himself to her, the other still gripping her hip, the cortex completely off the rails)</i> Elena, //Christ//, Elena, you are, //fuck//, you are wet, yes, yes, okay,
<</say>>
<p>Tom presses into her from behind in one slow stroke, and Elena's forehead drops briefly to the cold porcelain edge of the sink as her body adjusts to the angle. Her voice carries back to him in a low half-moan as he bottoms out, the small wet sound of contact landing in the tile-floored space.</p>
<<say "char-chen" "Elena">>
<i>(half-moan, head briefly lifting, breath catching)</i> Mm. //Mm//, Tom, that is, fuck, that is the angle. Hands on my ass, do not be polite. Use me.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hands sliding from her hips to grip her ass hard, the rhythm finding itself)</i> ...//fuck//, Elena, okay, okay,
<</say>>
<p>Tom finds a pace fast, short, deep, hands gripping her ass with the white-knuckle pressure of a man whose body is doing what his cortex was not going to let him imagine doing. Elena's palms slide against the porcelain counter, her hips canting back into him on every stroke, her breath leaving her in low half-moans she does not bother to muffle.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-sink.webp" alt="POV from behind, Tom's perspective looking down. Elena bent forward over a white porcelain sink in a small bathroom stall, Chinese-American woman thirty-two with shoulder-length black hair, fully naked (top, bra, jeans and underwear off, all on a pile on the counter), small breasts visible, palms flat on the sink counter on either side of the basin, head bowed down toward the basin. POV hands gripping her hips from behind, POV cock penetrating her from behind in doggystyle position, mid-thrust. White tile bathroom stall, white porcelain sink, fluorescent overhead light, white tile walls. Doggystyle vaginal sex bent over the sink. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography, urgent intimate register.">
<<say "char-bowen" "Tom">>
<i>(strangled, rhythm holding, hands gripping her hips)</i> Elena, //fuck//, Elena, you are, //god//,
<</say>>
<<say "char-chen" "Elena">>
<i>(half-gasp, breath catching, voice dropped low over her shoulder)</i> Mm, Tom, do not come inside me, or I will make you lick it back out of my pussy after. You can paint my face instead. Pull out, finish on my face, I want to see the look on yours when you do it. Promise me.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, rhythm still holding, hands tightening on her hips, the cortex registering the threat on a half-second delay)</i> ...//Christ.// Christ, Elena, you, //god//, yes, yes, I promise, I promise,
<</say>>
<p>Elena comes first on a long held-breath, body tightening around him, forehead dropping again to the cold porcelain edge of the counter. Tom holds the rhythm through it with the white-knuckle focus of a man following instructions. When her body finishes, Elena pushes back off his cock with one flat hand against his hip behind her, straightens up, turns around in the cramped space, and drops to her knees on the tile in front of him in one fluid motion.</p>
<<say "char-chen" "Elena">>
<i>(on her knees on the tile, eyes locked on his face, mouth slightly open, hand briefly at his hip)</i> Tom. On me. Now.
<</say>>
<p>Tom finishes on Elena's face in three short pulses, eyes wide open and locked on hers, the small strangled half-cry of a man whose body has just delivered on a promise his cortex would have spent half a year negotiating with. Elena does not close her eyes. The fluorescent overhead light catches the slimy white compound on her cheekbones, her lower lip, the bridge of her nose, the corner of her jaw.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-facial.webp" alt="POV from above looking down. Elena on her knees on white bathroom tile, Chinese-American woman thirty-two with shoulder-length black hair and slim dark-acetate rounded-rectangular glasses, brown eyes wide open and locked upward at viewer (eye contact), mouth slightly open, slimy white cum on her cheekbones, lower lip, bridge of her nose, corner of her jaw, fully naked (no top, no bra, no jeans, all on a pile on the counter behind her), small breasts visible, hands briefly resting on her thighs, kneeling on the bathroom tile. Tom above her in soft focus, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes wide open, lean build, fully naked, right hand wrapped around the base of his cock just after the cumshot, erect penis post-orgasm. Small white porcelain sink and mirror in the background. Fluorescent overhead light, white tile bathroom. Single-occupancy lobby restroom. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography, facial cumshot aftermath, eye-contact post-cum.">
<<say "char-chen" "Elena">>
<i>(small dry, the calm-PI register sliding back into place even with cum on her face, eyes still on his)</i> ...mm. There it is. That look. Thank you, Tom.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, hand briefly catching the counter for balance, eyes wide)</i> ...Elena. Elena, you, //god//. //God//, Elena.
<</say>>
<p>Elena stands up, crosses to the sink, washes her face under the cold tap with the same unhurried efficiency she uses to clean glassware at the bench. The cum comes off in three rinses. Tom tucks himself back into his boxers, pulls his slacks up with shaking fingers, fumbles the belt-buckle on the second try. They both pull their tops back on. Elena finger-combs her hair back into the loose half-up she had at the storefront. Tom straightens the front of his quarter-zip. The bathroom mirror does not catch a single tell.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile at the mirror, eyes briefly to Tom and back)</i> Tom. Out the door, into the lobby, polite goodbye to the attendant, photo card in the pocket. Neither of us is going to mention this for as long as we both work at BioGenesis. Agreed?
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh, hand briefly through his hair, the panicked register slowly coming back online)</i> ...agreed. Christ. Agreed. Yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cleanest extraction I have run on this target. The host did not need the alcove geometry or the timer pressure; she used a competence-bargain and a single-occupancy bathroom, took what she wanted, set the facial-finish as the closing punctuation, and walked out with a vial-fee-dodged escape room and a junior tech whose interior framework is going to spend the next many weeks rebuilding itself around the version of his PI who knelt on a bathroom tile and asked him to come on her face. The wiring is rewritten. He will not get it back the way it was.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+4 biomass</span>, sustained sex, both partners came, the orgasm-energy yield at peak.</p>
<p><span class="biomass-gain">+3 max biomass</span>, Tom's nervous system fully rewired against the host, the bathroom geometry, the bench-competence framing of the entry.</p>
<<conditioningFeedback "dream" 1 "Tom, the bathroom installs under the dream channel, the cum-on-face image becomes the recurring nighttime fragment">>
<p><span class="delve-intel">Tom's body was conscious for every second. The bench register tomorrow morning is going to surface what the body remembers. Watch for shoulder-angle drift and the small swallow when Elena passes him at the bench.</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Step out, polite goodbye to the attendant, head to the wrap|Ch2-Vessel-Event-BowenEscapeRoom-Wrap]]</div>
/* ---- Bowen escape room — Biofilm Residue (touched-surface vector) ----
Chen secretes a thin biofilm from her wrists, palms, fingertips
while she handles the puzzle hardware. Every surface she touches
becomes a transdermal vector. Bowen, working the same surfaces
in the same hour, picks up the dose through skin contact. Sets
bowenBiofilmCoated true permanently — subsequent escape-room
visits and his daily bench work surface a residual-coat read. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.bowenEscapeRoomBiofilmDay or 0) lt ($day or 0)>>
<<set $ch2Events.bowenEscapeRoomBiofilmDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 1 "bowen-escape-biofilm">>
<<addConditioning "bowen" "pheromone" 1>>
<<set $ch2Events.bowenBiofilmCoated to true>>
<</if>>
<</nobr>>
<div class="passage-title">Biofilm · every surface a vector</div>
<div class="lab-location">The Victorian-study room, the cipher pages, the lock dial, the back-wall chalk, every surface Elena's fingers cross</div>
<<say "char-hivemind" "Hivemind">>
//A persistent biofilm secretion routed to the host's wrists, palms, fingertips. Every surface she touches in the next twenty minutes gets a thin invisible film, the corner of the leather notebook page, the brass key, the wall-safe dial as she works it, the back-wall chalk inscription as she traces a line under the third number for him to follow. The film dries clear, odourless, weight-neutral. The franchise's puzzle hardware will not register the change. Tom's hand will.//
//He works the same surfaces in the same hour. The cipher page he turns after she has folded its corner. The lock dial he spins a second time after she has set the first number. The alcove wall his shoulder rests against three minutes after hers did. Direct skin absorption every time, none of it flagged by his cortex because the surfaces look unchanged. The compound binds and accumulates in his bloodstream across the back half of the timer.//
<</say>>
<p>Tom does not notice anything. His hands work the puzzles in the order he is meant to work them, and when he reaches for the next surface, he finds Elena's fingerprints have already been there. He files the small sense that the brass key feels warmer than it should under //she just put it down//, which is true at the surface and inadequate underneath.</p>
<<say "char-bowen" "Tom">>
<i>(small swallow, refocusing on the lock dial)</i> ...okay. Three, four, fifteen, five. Got it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-nod)</i> Nice work, Tom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The biofilm persists. The franchise's overnight cleaning is not designed to dissolve a transdermal pheromone vector, the cleaning crew handles glassware, fingerprints, surface dust; the residue threaded into the upholstery seams, the false-bookcase spine grain, the Persian rug fibres survives every wipe-down. The residue on Tom's hands and on the inside of his coat sleeve where his wrist crossed the alcove wall travels home with him, onto his apartment doorknob, his phone, his coffee mug, his pillow. The residue in the room itself stays in the room itself. The next regular booking that pairs the host with the receiver will be hotter than the first; the booking after that hotter still. The franchise's after-hours wing exists for a category of recurring customer the franchise has quietly clocked over the years, couples whose bookings keep coming back warmer than the standard-room engineering accounts for. The host is now in that category. The after-hours menu becomes visible at the lobby corkboard on the next visit.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "pheromone" 1 "Tom, biofilm transdermal coat applied">>
<p><span class="biomass-gain">Biofilm coat persists</span>, Tom now carries the residue on his skin and clothes; future surfaces he handles will pick up trickle effects until the coat naturally degrades.</p>
<</if>>
<hr class="scene-break">
[[Back to the escape room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]
/* ---- T2a — Alcove handjob (vial substitution) ----
The parasite-NUDGE supplies the substitute idea wholesale: Chen jerks
Bowen into the empty replacement vial pulled from the desk drawer,
caps it, places it on the chemistry shelf. The franchise's photo-
recognition shelf-lock weight-triggers correctly; the door has already
clunked open; no fee posts. Asymmetric kink: Chen as architect,
Bowen as practical resource, the parasite as accomplice.
Voice rules (per /writing-style + /explicit-scenes + the Bowen
T2/T3 design doc): Chen interior register dry-pragmatic problem-
solving, sparse, no romantic flourish. Bowen mid-act = half-
strangled disbelief. Hivemind narrates the parasite's clinical
satisfaction. Dark-comedy throughout — grimly practical, not
romantic. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The cramped Victorian-study escape-room alcove, post-puzzle, empty plastic vial on the rug between them, cap pinched in Chen's right hand">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomAlcoveHJFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "bowen-escape-alcove-hj-nudge">>
<<set $ch2Events.bowenEscapeRoomAlcoveHJFired to true>>
<<set $ch2Events.bowenEscapeRoomVialFeeDodged to true>>
<<addBiomass 2 "bowen-escape-alcove-hj">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The alcove · substitute compound</div>
<div class="lab-location">The cramped Victorian-study alcove, empty plastic vial on the Persian rug between them, spilled compound pooling beside it, eight minutes left on the timer projection</div>
<p>Elena picks up the empty plastic vial from the rug between them, retrieves the small cap from where it bounced beside Tom's knee, weighs the vial absently in her palm, and crouches back down next to him.</p>
<<say "char-chen-thought" "Elena">>
<i>(crouched, eyes briefly to Tom's slacks-line and back to the empty vial in her palm)</i> ...okay. I am about to ask my junior tech if he will jerk off into a plastic vial in a Victorian-study escape room to dodge an eighty-dollar fine on my own card. The eighty is an amount I could absorb, I could pay it and walk out, and I am not going to.
<</say>>
<<say "char-chen" "Elena">>
<i>(crouched on the rug beside Tom, empty plastic vial in her left hand and the cap pinched in her right, eyes briefly to his face and then to his belt)</i> Tom, hear me out. The shelf-lock reads colour and weight, not chemistry, and your body produces something that looks close enough to fool a weight scale. The room is camera-blind in this corner, we have eight minutes, and I am asking. You can absolutely say no.
<</say>>
<<say "char-bowen" "Tom">>
<i>(crouched, mouth opening and closing twice, the panicked-junior-tech register fully on, eyes flicking from the empty vial to Elena's face to the spilled compound on the rug and back)</i> ...you, you want me to, into the vial, //Christ.// Elena, wait. Wait, the colour, the colour is not going to match, is it, it is,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, holding up the empty vial to eye-level for him to see, the calm-PI register fully on)</i> The compound on the rug is corn syrup with food dye and a glycerin thickener. There is an MSDS taped to the lobby corkboard, I read it when we came in, and your body produces something in the same density range and a close-enough off-white. The shelf-lock weighs to the half-gram, so we have margin.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-strangled, the cortex losing the argument in real time, hand briefly through his hair)</i> ...okay. Okay, and the, //volume//, the vial is,
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry, holding the vial up against the warm tungsten of the desk lamp, reading the small printed gradation on its side)</i> Two milliliters, which is about five seconds of output in a healthy twenty-five-year-old, so you have margin on both ends.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, half-mortified, the panicked register collapsing into something between disbelief and acceptance)</i> ...Elena. //Christ.// You, you actually thought about, okay. Okay, yes, I, what do I,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand already at his belt buckle, the calm-PI register fully on)</i> Sit back against the wall, knees up, let me work. Do not overthink this, the puzzle is solved, we have eight minutes, and the only thing standing between us and a quiet exit is the slot on the shelf that needs a vial in it.
<</say>>
<p>Tom sits back against the false-bookcase wall of the alcove, knees drawn up, hands flat on the carpet beside his hips with the small white-knuckle pressure of a man whose body has just been told it is the practical solution to a problem his cortex was not expecting to be in. Elena unbuckles his belt, undoes his slacks, frees his cock from the front of his boxers, half-hard already, the cramped-alcove proximity and Elena's calm-and-practical instructions doing more of the work than either of them is going to acknowledge. She wraps her right hand around the base, sets the empty vial in her left hand directly under the head with the small unhurried competence of a PI setting up a clean experiment, and starts the slow steady stroke.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-handjob.webp" alt="Three-quarter angle from inside the cramped Victorian-study escape-room alcove, camera at hip-height. Elena kneeling beside Tom on the Persian rug, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, charcoal turtleneck with sleeves pushed to elbows, her right hand wrapped around Tom's exposed cock mid-stroke (motion blur on the working hand suggesting rhythm), her left hand below holding the empty plastic vial directly under his cock to catch, the small cap pinched between her thumb and forefinger. Her face in profile in the calm-PI problem-solving register, eyes on the vial not on him. Tom sitting back against the false-bookcase wall, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes, navy quarter-zip pullover rucked up at the waist, t-shirt visible, jeans open, head tipped back, eyes squeezed shut, mouth half-covered by his left hand, his right hand flat against the wall behind him with knuckles white. The slimy white spilled compound pooling on the rug at frame edge. The Victorian-chemistry shelf behind with three intact stoppered vials and one empty slot. Timer projection on the back wall reading 09:32 in red. Warm tungsten desk-lamp light mixing with the cool red bleed. Documentary photography, candid, anatomically correct, uncensored, glamour photography. Tom's cock visible above Elena's hand, the empty vial clearly positioned below to catch.">
<<say "char-bowen" "Tom">>
<i>(strangled-low against the back of his own hand, eyes still squeezed shut, hips lifting half an inch off the rug into Elena's rhythm without his cortex telling them to)</i> Elena, //Christ//, Elena, I, //fuck//, you are, you are actually doing this, oh my god, oh my god,
<</say>>
<<say "char-chen" "Elena">>
<i>(rhythm holding steady, eyes briefly up at his face and back down to the vial, voice pitched the same conversational warmth she uses at the bench when she is talking him through a tricky pipette)</i> Tom. Eyes on me. Breathe. You are doing fine. You are a healthy male, and it is normal to be aroused by watching a woman on her knees jerking you off, you will come in no time, finish in the vial and nobody will ever notice. Two minutes, we cap it, we leave.
<</say>>
<<say "char-bowen" "Tom">>
<i>(eyes opening, briefly meeting hers, immediately closing again because eye contact with her at this exact moment is not a thing his cortex can hold)</i> ...okay. Okay, I, //gnh//, Elena, I am, I am close, I am close, this is, this is the strangest sixty seconds of my life and I am //close//.
<</say>>
<p>Elena does not slow. The rhythm finds itself, full stroke, half stroke, full, the small wet sounds carrying in the cramped alcove against the muffled hum of the timer projection on the back wall. Tom's right hand moves from the wall behind him to the back of her wrist, not to stop her, to hold on. His breath stops being words. His hips lift off the rug in three short involuntary jolts, and Elena catches every pulse cleanly in the empty vial below, the slimy white compound filling the small cylinder up past the halfway mark in three short bursts, indistinguishable in colour and viscosity from what is still pooling on the rug beside them.</p>
<<say "char-bowen" "Tom">>
<i>(strangled, hand still gripping her wrist, hips still jerking off the rug, eyes squeezed shut, the cortex completely off-line)</i> ...//gnh//, Elena, I, I cannot, //fuck//, I cannot stop, I,
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes flicking from his cock to the vial and back, the calm-PI register cracking for the first time tonight, voice rising half an octave)</i> Tom. Tom. //Tom//, how the fuck are you still coming. Stop. Stop, the vial, //oh Christ//,
<</say>>
<p>The vial fills past three-quarters, the slimy white compound reaching the lip on the next pulse, and Tom's body is not done. The shelf-lock's photo-recognition will register over-volume as anomaly, which reads identical to refilled-and-tampered on the back end of the franchise's quality-control sweep. Elena has approximately one second to decide what to do with the next two pulses, and the half-second of decision-making compresses into one breath.</p>
<<say "char-chen-thought" "Elena">>
<i>(crouched, the calm-PI register fully burned through)</i> ...oh, fuck me sideways.
<</say>>
<p>Elena pulls the vial out from under the head of his cock with her left hand, drops it carefully on the rug between her knees, leans forward, and takes the head of him fully into her mouth, lips closing around the shaft, eyes flying open in the small wide-eyed surprised register of a senior PI whose problem-solving brain has just been called on to solve a different category of problem than it was prepared for.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-swallow.webp" alt="Tight three-quarter angle from inside the cramped Victorian-study escape-room alcove, camera at face-height. Elena leaning forward, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses slipping slightly down her nose, charcoal turtleneck with sleeves pushed to elbows, brown eyes wide open and locked upward with the small wide-eyed surprised register of a PI whose plan has just exceeded its specifications, lips fully sealed around the head of Tom's cock mid-pulse, cheeks slightly hollowed in the working-throat angle. Her right hand is wrapped around the base of his cock, her left hand resting on his thigh for leverage. Tom against the false-bookcase wall in soft-focus background, mid-twenties Anglo with wavy dark-blond hair and pale blue eyes flying open in disbelief, navy quarter-zip pullover rucked up, jeans open, head tipped back, mouth half-open in a strangled half-cry. The small clear plastic vial dropped on its side on the Persian rug at the bottom of frame, half-to-three-quarters full of slimy white liquid catching warm tungsten light. Behind them: the chemistry shelf with three intact stoppered plastic vials and one empty slot. Red timer projection on the back wall reading 09:18 in red. Warm tungsten desk-lamp light mixing with cool red bleed. Documentary photography, candid, anatomically correct, uncensored, NSFW glamour photography, comedic-crisis register, the moment of surprised problem-solving made physical.">
<<say "char-chen" "Elena">>
<i>(mouth full, lips sealed around him, throat working steadily, the small muffled sounds of a woman taking what cannot go into the vial)</i> //Mfffffh.// ...//mmh.// //Mhh.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(eyes flying open, registering what is happening, the cortex two beats behind the body)</i> ...//Christ//, //Christ//, Elena, //Elena//, oh god, oh god,
<</say>>
<p>Tom finishes in her mouth in two more shaky pulses. Elena swallows steadily, the throat-work clean and unhurried in the way a PI's throat-work would be if PIs were the kind of people who solved this category of problem on a weeknight, which they are not. She holds him in her mouth for another beat after he is done, pulls off slowly, presses the back of her hand briefly against her lips, picks the vial back up off the rug, and gives Tom a long flat look.</p>
<<say "char-chen" "Elena">>
<i>(small dry, the calm-PI register sliding back into place, voice slightly hoarse)</i> Tom. The vial is at three-quarters. The shelf-lock will accept three-quarters. Crisis averted.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-collapsed against the false-bookcase wall, breath uneven, eyes wide, the panicked-junior-tech register fully fried)</i> ...Elena. Christ. Elena, you, you just, //god//.
<</say>>
<p>Elena lifts the three-quarters-full vial up to eye-level for a half-second, checks the colour against the three intact vials on the shelf in the corner of her vision, finds it indistinguishable, and presses the small plastic cap she had pinched in her right hand back onto the top of the vial with the same composed half-smile she wears at the bench when an experiment has run cleanly enough first try, ignoring how close the margin was.</p>
<<say "char-chen" "Elena">>
<i>(crossing the two steps to the chemistry shelf, sliding the now-full stoppered vial into the empty slot, the calm-PI register holding through the small mechanical click of the franchise's weight-lock confirming)</i> ...there. Mind the glass on your way up. The lobby attendant is going to open the door in three minutes. Tuck in.
<</say>>
<p>The chemistry shelf's photo-recognition weight-lock clicks confirmation. The empty slot is no longer empty. The franchise's monitoring infrastructure has not registered any anomaly. The slimy white compound still pooling on the rug is a clear separate problem, but the franchise's notice on the door reads "broken props", a stain on a rug is housekeeping, not a fineable offence.</p>
<<say "char-bowen" "Tom">>
<i>(getting himself back together at the rug, fingers fumbling the belt-buckle on the second try, the half-laugh of a man who has just had the strangest sixty seconds of his life and does not have a word for what to do with it)</i> ...Elena. I, Christ. Did we just,
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry half-smile, brushing the front of her jeans down, eyes briefly to the chemistry shelf to confirm the colour-match one more time, the calm-PI register fully on)</i> Tom. We just dodged an eighty-dollar fee. My card thanks you. We are going to walk out of this room in three minutes and neither of us is going to mention this for as long as we both work at BioGenesis. Agreed?
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, half-stunned, hand briefly through his hair)</i> ...agreed. Christ, agreed. Yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cleanest extraction I have run on this target. The host registered the substitute idea as her own, executed it with the calm-PI register fully on, and the orgasm-energy yield arrived without shame-friction, the act framed as practical, the receiver framed as the tool, the architect framed as the one who solved the problem. Tom will rationalize this within the hour as //a thing that happened, will not happen again, do not bring it up//. The wiring will not say so. The next time Tom's body is in cramped proximity with the host, his cortex will surface the alcove without naming it.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span>, orgasm-energy extraction via practical-substitution framing, no shame-friction.</p>
<p><span class="biomass-gain">+1 max biomass</span>, Tom's body re-catalogued as a usable resource by the host's cortex.</p>
<<conditioningFeedback "pheromone" 1 "Tom, somatic data of being used as substitute-source is its own conditioning vector">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Step out of the room|Ch2-Vessel-Event-BowenEscapeRoom-Exit]]</div>
/* ---- Bowen escape room — Transfer Thought (attraction-read variant) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to not ($ch2Events.bowenEscapeRoomTransferAttractionFired or false)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "bowen-escape-transfer-attraction">>
<<set $ch2Events.bowenEscapeRoomTransferAttractionFired to true>>
<<addConditioning "chen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Transfer · Tom's attraction-read, into Elena</div>
<div class="lab-location">Two cortexes, three feet of alcove, one read crossing</div>
<<say "char-hivemind" "Hivemind">>
//Tom's interior is currently holding a small unnamed weight: the inch of shoulder-contact, the wine-warmth, the //I am crouched against my PI's shoulder// thread his cortex has been refusing to look at directly. The host's interior is currently holding none of this, I read it on the surface delve and filed the read internally, but the host has not been told.//
//I bridge the two. The read crosses the small distance and writes itself into the host's cortex with the warm-old-thought marker, //he is into me, I have known for a while, I just have not let myself say it//. The host's noticing-system files the read as her own without flagging it as foreign. She now consciously knows what Tom has been carrying.//
<</say>>
<p>Elena reads the wall-inscription. The alcove around them goes briefly quiet in the way small rooms go briefly quiet when something private has just landed on one side without the other side noticing.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the recall arriving with the warm-old-thought marker, the cortex not flagging the new arrival as new)</i> ...he is into me. I have known. Of course I have known, I think I have known since the bench last week, maybe longer than that. I have just been deciding three times a day not to look at it. The wine, the crouch, the small careful angle of his shoulder. I have known.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small unaware shift of his weight, eyes still on the wall)</i> ...did you say something?
<</say>>
<<say "char-chen" "Elena">>
<i>(small cover, eyes on the wall too)</i> Mm. Just reading the colour off again. We have it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The bridge is open. The host has the read, marked as her own. From this point forward she is choosing not to act on what she now knows, and that choice is a thing I can work under at the cab door.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "psionic" 1 "Elena, attraction-read crossed the alcove">>
<p><span class="biomass-gain">Cortex-bridge open</span>, Elena now consciously knows Tom is attracted.</p>
<</if>>
<hr class="scene-break">
[[Back to the escape room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]
/* ---- T3d — Boudoir Heist (second-visit, sex-themed after-hours room) ----
Triggered by NUDGE in the lobby of a second visit when biofilm fired
on a prior visit (bowenBiofilmCoated permanent). Different themed room,
different attendant. Bowen carrying biofilm residue on his hands and
clothes from the first visit. The biofilm exposure also coated the
franchise staff during clean-up between visits; the staff have been
working a saturation register at the after-hours room ever since,
which is what put the new room together in the first place. Set
structure: front-desk Inquiry passage with a couple-status tongue
slip gate, then if slip fires the Boudoir room itself with three
costumed staff actors (bordello owner + two prostitutes), spores
option, three sex beats (reverse gangbang on Bowen, Chen cowgirl
on the bordello owner, Chen + Bowen anal as the final puzzle).
Skips Wrap, redirects to Loop-Home. Permanent canon
bowenBoudoirShared surfaces in subsequent restaurant / lab
scenes as a small private joke between them. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise lobby front desk, the after-hours QR card on the counter, the attendant looking up from her monitor">>
<</nobr>>
<div class="passage-title">The front desk, the after-hours card</div>
<div class="lab-location">The franchise lobby front desk, the after-hours menu booking card between Elena's fingers, the attendant in her late thirties at the monitor with the calm composed register of a woman whose night shift sees more than the day shift believes</div>
<p>Elena lifts the small QR-coded card off the lobby corkboard, walks it across to the reception desk, and slides it under the attendant's hand. The attendant is a different woman from the standard-room briefing earlier in the evening, late thirties, dark hair pulled back, the calm composed register of a woman who has worked this front desk for longer than the day-shift staff would believe. She scans the card, looks up at Elena, lets the corner of her mouth lift in a small composed half-smile.</p>
<<say "char-npc" "Attendant">>
<i>(small composed half-smile, eyes briefly to the card and back to Elena)</i> The Boudoir Heist. Lovely. Just so we are clear on what you are booking, this is the after-hours room. Eighteen-plus, bordello set-dressing, scripted to push the players somewhere the standard rooms do not. The puzzles are real, the role-play is encouraged, three of our after-hours staff are already in costume and in role waiting for you. Things can get thematic. That is why the booking is restricted to couples on the assumption that any dynamic that gets crossed stays inside the booked party.
<</say>>
<<say "char-npc" "Attendant">>
<i>(small patient beat, eyes briefly between Elena and Tom)</i> So, just to confirm before I process the booking. You are booking as a couple, yes?
<</say>>
<p>Tom's hands stay deep in his coat pockets. He looks at Elena for a half-second with the small held-breath of a junior tech who has just realised that the next thirty seconds of his life are not in his hands.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Tom and back to the attendant, the small private wry of a woman who has just made a decision)</i> Oh, <<tongueSlip "we are not a couple" "we are a couple" 1 "bowen" "bowenEscapeRoomBoudoirCoupleSlipFired" "#bowen-escape-boudoir-couple-payoff" "psionic" "" "#bowen-escape-boudoir-couple-decline" "" "" "">>.
<</say>>
<div id="bowen-escape-boudoir-couple-payoff" style="display:none" @style="$ch2Events.bowenEscapeRoomBoudoirCoupleSlipFired ? '' : 'display:none'">
<<say "char-bowen" "Tom">>
<i>(small recovered half-laugh, hand briefly going to the small of Elena's back with the careful pressure of a man whose body has just been promoted to boyfriend without his cortex signing off on the upgrade)</i> ...yes. Yes, we are. Sorry, we are still getting used to saying it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed lean toward him, hand briefly at the side of his jaw, the lovey-dovey register sliding on with the calm-PI competence of a woman who has just decided what role she is playing for the next hour)</i> Mm. He is sweet, isn't he. New relationship.
<</say>>
<<say "char-npc" "Attendant">>
<i>(small composed smile, eyes briefly between them, the small private acknowledgement of a woman who has seen this version of the booking before and will not be the one to call it out)</i> Lovely. I will just need both of you to sign the waiver before I run the booking. Standard adults-only consent form. The staff will interact with the booked party in costume, the franchise's photo-recognition is wired to read body-presence-on-set as a valid puzzle state, anything that happens inside the room stays inside the room. Please initial each clause, signatures at the bottom. Two ballpoint pens on the counter.
<</say>>
<p>Elena signs without reading past the first paragraph. Tom reads the waiver more carefully than Elena does, thumbs down the side of the page, signs at the bottom with the small careful precision of a junior tech who knows the difference between a contract he can argue with later and one he cannot. The attendant takes the waivers, processes the booking, slides them a different photo card with the after-hours room number on the back.</p>
<<say "char-npc" "Attendant">>
<i>(small composed smile, sliding the card across)</i> Down the corridor on the left, the door marked Boudoir. Three of our staff are already inside and in role. Have a lovely evening.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip surfaced at the desk and the host's cortex did not catch it in time. The attendant heard a couple confirming a booking; the booking has been processed under a couple-status that does not exist outside this room. The waiver consent is on file. The franchise's after-hours staff have been pre-positioned and have been in costume for the past thirty minutes, the biofilm coat from the host's first-visit clean-up still working through their nervous systems on a slow soak. The host has just signed her name on a piece of paper she did not read, and a room she has not seen yet has been engineered to do most of the work.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Down the corridor, the door marked Boudoir|Ch2-Vessel-Event-BowenEscapeRoomBoudoir]]</div>
</div>
<div id="bowen-escape-boudoir-couple-decline" @style="$ch2Events.bowenEscapeRoomBoudoirCoupleSlipFired ? 'display:none' : ''">
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Tom and back to the attendant, the calm-PI register holding)</i> Actually, no. We are not. Sorry, we are colleagues. The standard Victorian-study room is still available, yes? We will take that one.
<</say>>
<<say "char-npc" "Attendant">>
<i>(small composed smile, taking the QR card back)</i> Of course. Down the corridor on the right, the Victorian-study room is open. Enjoy.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Down the corridor, the standard Victorian-study room|Ch2-Vessel-Event-BowenEscapeRoom-Standard]]</div>
</div>
/* ---- Boudoir Heist proper: inside the after-hours room with three
costumed staff actors. Spores option at the top. VM passive provides
psionic conditioning. Three sex beats with three images: reverse
gangbang on Bowen, Chen cowgirl on the bordello owner, Chen anal as
the final puzzle. Skips Wrap, routes directly to Loop-Home. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise's after-hours room, The Boudoir Heist, heavy red curtains and a dark mahogany chaise, three costumed staff actors already in role, the timer projection in red on the back wall reading 59:48">>
<<hasSkillTreeAbility "Toxic Spores">><<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<</nobr>>
<div class="passage-title">The Boudoir, behind the door marked with a velvet sigil</div>
<div class="lab-location">The franchise's after-hours room, set-dressed as a Victorian-era bordello, heavy red velvet curtains, an ornate Persian rug, a chaise lounge centred on the room, three costumed staff actors already in role waiting for the patrons</div>
<p>Elena pushes the door open and steps into the after-hours wing. The room is larger than the standard Victorian-study, set-dressed deeper, the kind of set-dressing that says the franchise spent its real money on this one. Heavy red velvet curtains across false windows on the back wall. A dark mahogany chaise lounge with burgundy upholstery centred on the room. False-bookcase walls of period erotica spines in gilt lettering. An ornate Persian rug under foot. Dim warm tungsten wall sconces with red lampshades that throw the whole room into deep amber and red. And three staff in costume, already in role.</p>
<p>A man, mid-forties, in a charcoal brocade waistcoat with a gold pocket watch on a chain, stands at the centre of the room with the small composed register of someone who has been in character for thirty minutes and is enjoying the work. Two women, both late twenties, stand to either side of the chaise. Both are in Victorian-bordello-era corsets and lace stockings, hair pinned up in period style. The corset on the left is cream-coloured with red ribboning; the corset on the right is wine-red with black lace at the bodice. Both women hold their poses with the small composed register of staff actors who have done this script several times this week already.</p>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow, eyes briefly to Elena and Tom, the calm composed register of a man in character)</i> Madame, sir, welcome to the establishment. You will find we run a discreet house. My ladies have been informed of your interest in the puzzles. They will assist where the puzzles require it. Time on the timer is sixty minutes. The first puzzle is the bookshelf on your left.
<</say>>
<<say "char-npc" "Cream-Corset">>
<i>(small composed half-curtsey on the cream-corset side of the chaise, eyes briefly to Tom)</i> Welcome, sir. The establishment is honoured to receive the gentleman this evening.
<</say>>
<<say "char-npc" "Wine-Red-Corset">>
<i>(small composed half-curtsey on the wine-red side of the chaise, eyes briefly to Elena and Tom)</i> Madame. The bordello has been waiting for the lady's arrival. Please, make yourselves at home. The chaise, the side table, the decanter are at your disposal.
<</say>>
<<if _hasVulMap>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive: Vulnerability Mapping</div>
<div class="passive-skill-fire-body">All three staff are pre-saturated from the first-visit biofilm coat; the after-hours role-play has been keeping the trickle warm. Their dream and pheromone receptors are already loaded. The psionic channel is the right vector here, a small instruction pushed in clean lands the room.</div>
</div>
<</if>>
<hr class="scene-break">
<p>Elena crosses to the bookshelf, pulls one of the obviously-trick spines, finds a small leather-bound chapbook with a cipher key printed on the third page. The two costumed prostitutes hold their poses by the chaise. The bordello owner stands by the false-window panel with the small composed register of a staff actor who has had his evening blocked out, the gold pocket watch consulted exactly once before going back into the waistcoat. The room is warm with red lamplight, the timer projection clicking down through 58:00 on the back wall.</p>
<<say "char-chen-thought" "Elena">>
<i>(reading the chapbook, eyes briefly across the rug at Tom, the small interior weighing-of-the-evening on)</i> ...the room is staged for what it is staged for. The staff have been waiting for the cue. The cue is whether I open the room or solve it. The choice is, technically, mine.
<</say>>
<hr class="scene-break">
<<if _hasSpores>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">TOXIC SPORES</span> <<biomassPreview "Release Spores into the room, choose compound (2 biomass)" "Ch2-Vessel-Event-BowenEscapeRoomBoudoir-SporesSpec" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release Spores into the room <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Solve the puzzles as the franchise designed them|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-Solved]]</div><<nobr>><<bg "bg-chen-kitchen">><</nobr>>
<div class="passage-title">Toxic Spores · choose compound</div>
<div class="lab-location">The Boudoir, the dose ready to release across the air-handler register, the staff still in costume holding their poses</div>
<<say "char-hivemind" "Hivemind">>
//Specialization gives me three compound profiles for the spore release. All three land across the volume of the room and across Tom and the host alongside the staff actors. The choice is which conditioning surface the dose deepens.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-arousal compound, the costumed register tips into warmth|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-SporesPheromone]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, the costumed register tips into agreement|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-SporesPsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, the costumed register tips into a thing the body will rehearse in sleep|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-SporesDream]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTime to not ($ch2Events.bowenEscapeRoomBoudoirSporesFired or false)>>
<<if _firstTime>>
<<set $ch2Events.bowenEscapeRoomBoudoirSporesFired to true>>
<<spendBiomass 2 "bowen-escape-boudoir-spores">>
<<addConditioning "bowen" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · pheromone variant</div>
<div class="lab-location">The Boudoir, the warmth-arousal compound vented across the air-handler register, the costumed staff registering the dose without quite knowing what they are registering</div>
<<say "char-hivemind" "Hivemind">>
//I release the standard warmth-arousal compound into the room's air-handler. The dose lands across all five bodies in the small volume of air. The biofilm coat already running through the staff's nervous systems amplifies the pheromone landing; Tom's already-warm baseline tips further; the host's own threshold drops a notch with the room. None of them flag the dose as a dose.//
<</say>>
<p>The bordello owner's gold pocket watch pauses mid-consult, the small composed register cracking at the edges. The cream-corset's half-curtsey loosens at the knee, her hand briefly going to the lacing of her own corset. The wine-red-corset's eyes go a fraction wider before she rights the register. Tom's collar goes warm against his neck. The room takes the dose, holds for a half-beat against the warmth, and the costumed register rights itself. The staff are running warmer through the hour now, but the costume holds. The room does not tip.</p>
<<say "char-hivemind" "Hivemind">>
//The warmth-arousal compound landed across the room and across Tom and the host alongside. The staff's costumed register flushed at the edges but held, the pheromone channel was not the lever that tips the after-hours register into the actual register. The hour will run warmer than the no-spores baseline; the staff's biofilm coat carries the warmth across the next several days. The room remains the room.//
<</say>>
<<if _firstTime>>
<<conditioningFeedback "pheromone" 1 "Tom, pheromone-channel spore-dose at the Boudoir saturation register">>
<<conditioningFeedback "pheromone" 1 "Elena, incidental room-dose at the Boudoir saturation register">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The puzzles still run|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-Solved]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTime to not ($ch2Events.bowenEscapeRoomBoudoirSporesFired or false)>>
<<if _firstTime>>
<<set $ch2Events.bowenEscapeRoomBoudoirSporesFired to true>>
<<spendBiomass 2 "bowen-escape-boudoir-spores">>
<<addConditioning "bowen" "psionic" 1>>
<<addConditioning "chen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · psionic variant</div>
<div class="lab-location">The Boudoir, the cortex-opener compound vented across the air-handler register, the staff drifting from costumed actors into three people who genuinely believe they are inside a Victorian bordello with an investigation to host</div>
<<say "char-hivemind" "Hivemind">>
//I vent the cortex-opener compound in a slow expanding cloud, calibrated to the prefrontal architecture across the room. The dose binds to attention-receptors and to the running-assumption register the cortex carries about what room it is sitting in. The staff are no longer staff actors playing prostitutes in a costumed after-hours room. They are, for the next hour, three working employees of a Victorian-era bordello, and the lady reading at the bookshelf is the visiting investigator the house has been waiting for. They believe this. They believe it cleanly, in the way the cortex believes anything the agreement-receptor accepts without flagging. The chapbook is a real chapbook. The locked false-window panel is a real mystery the house has been unable to crack. The investigators have arrived. The costume is, from this point through the hour, the lady's actual working dress.//
<</say>>
<p>The bordello owner's small composed half-bow goes a fraction slower than it should have, the cortex briefly cataloguing the gold pocket watch as a real heirloom instead of a costume prop. The cream-corset's eyes track the wine-red-corset across the rug a moment longer than the half-curtsey script allows, the running-assumption register about why they are both standing at the chaise quietly rewriting itself. The wine-red-corset's gold-ringed fingers go briefly still at her own corset lacing, the small private register of a woman whose body has just been told it is, in fact, a working girl on shift. Tom blinks once, twice, the cortex catching up to what the body is already doing. The room takes the dose, and the three staff are no longer the people who walked in to do an after-hours shift. They are, briefly and entirely, the people the costumes were designed for, and the lady at the bookshelf is the investigator the house called in to look into the locked panel.</p>
<<if _firstTime>>
<<conditioningFeedback "psionic" 1 "Tom, psionic-channel spore-dose at the Boudoir saturation register">>
<<conditioningFeedback "psionic" 1 "Elena, incidental room-dose at the Boudoir saturation register">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The room tips|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-Orgy]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTime to not ($ch2Events.bowenEscapeRoomBoudoirSporesFired or false)>>
<<if _firstTime>>
<<set $ch2Events.bowenEscapeRoomBoudoirSporesFired to true>>
<<spendBiomass 2 "bowen-escape-boudoir-spores">>
<<addConditioning "bowen" "dream" 1>>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · dream variant</div>
<div class="lab-location">The Boudoir, the subconscious-imprint compound vented across the air-handler register, the room half a step deeper into the soft warmth the body will rehearse in sleep</div>
<<say "char-hivemind" "Hivemind">>
//I release the dream-imprint compound across the room. The dose binds to the imagery-encoding pathway; the body and the cortex will both file the next hour as the version they will rehearse tonight in REM and re-rehearse for several nights to follow. The biofilm coat already running through the staff's nervous systems carries the dream-channel into the same composing-surface their dreams have been working on for days.//
<</say>>
<p>The bordello owner's eyes go briefly soft, the small composed register going a half-step into the warm soft thing the body has been rehearsing in sleep. The cream-corset's small composed half-curtsey holds, but her hand drifts briefly to her own corset lacing without her cataloguing the gesture. The wine-red-corset's lips part on a breath the script does not include. Tom's eyes go briefly soft in the same way. The room takes the dose, drifts a half-step into the soft warm thing, and the costumed register rights itself around the dream-imagery instead of breaking on it. The staff will rehearse this hour in REM tonight, but the costume holds. The room does not tip.</p>
<<say "char-hivemind" "Hivemind">>
//The dream-imprint compound landed and the room briefly went soft. The body and the cortex of all five present will file the next hour as the version they will rehearse tonight in sleep, but the dream-channel was not the lever that tips the after-hours register past the costume. The hour will compose itself in tonight's REM and several to follow; the staff's biofilm coat carries the imagery across their own sleep. The room remains the room.//
<</say>>
<<if _firstTime>>
<<conditioningFeedback "dream" 1 "Tom, dream-channel spore-dose at the Boudoir saturation register">>
<<conditioningFeedback "dream" 1 "Elena, incidental room-dose at the Boudoir saturation register">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The puzzles still run|Ch2-Vessel-Event-BowenEscapeRoomBoudoir-Solved]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise's after-hours room, The Boudoir Heist, the dose landing across the room, the three saturated staff drifting past the costumes into the actual register">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomBoudoirFired or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.bowenEscapeRoomBoudoirFired to true>>
<<set $ch2Events.bowenBoudoirShared to true>>
/* Inline booking-reset triple, this passage skips Wrap and routes home. */
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 6 "bowen-escape-boudoir">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<</if>>
<</nobr>>
<div class="passage-title">The Boudoir, the dose lands, the room tips</div>
<div class="lab-location">The Boudoir, the costumed register cracking, the three saturated staff drifting past the script into the actual after-hours register the costumes were only ever covering for, the lady at the bookshelf now the investigator the house has called in to crack the locked panel</div>
<p>The three staff register the dose first as the small flush they will not flag, a sudden warm tightness across the costumes, a half-second of unsteady balance, the choreographed register going briefly unsteady at the edges. The bordello owner sets the gold pocket watch down on the side table and his hand goes briefly to the back of his neck, to his collar, to the brocade buttons. The cream-corset's small composed half-curtsey loosens at the knee, her hand at her own corset lacing without her cataloguing the gesture. The wine-red-corset is briefly silent, the small composed coquette register stuttering against the dose.</p>
<p>Then the costume becomes the actual register. The flustered half-second resolves itself; the three staff are no longer staff actors playing prostitutes. They are, for the next hour, the actual people the costumes were made for, in an actual Victorian-bordello-era house, and the lady reading at the bookshelf is the investigator the establishment has called in to look into the mystery of the locked false-window panel and the chapbook the previous owner left behind. The cream-corset crosses to Tom with the small unhurried efficiency of a working girl who has been told the gentleman is the lady's assistant on the case, slides her hands under the hem of his quarter-zip pullover not on the script's cue but on her own.</p>
<<say "char-hivemind" "Hivemind">>
//The dose lands and the three staff are flustered first. Then the running-assumption register about what room they are in finishes rewriting itself. The biofilm coat that put this room together in the first place has, with the spores added on top, finished the job it was always going to finish. The three staff believe the investigators have arrived. The investigators believe, broadly, that the staff are still staff. The room's two registers run parallel for the next hour. The orgy is the load-bearing dynamic across both of them.//
<</say>>
<<say "char-npc" "Cream-Corset">>
<i>(small composed coquette register, hands working the zip of his pullover down with practised slowness, eyes briefly up at his face)</i> Sir is wearing far too many layers for a Boudoir. Allow me. The master has words with the mistress first, and the house is in the habit of receiving the gentleman's assistant... comfortably while the words happen.
<</say>>
<<say "char-npc" "Wine-Red-Corset">>
<i>(small composed coquette register, sliding up to him from the other side, fingers briefly at the buckle of his belt)</i> Allow me too, sir. The mistress will join us when she has heard what the master has to say. The house has its customs.
<</say>>
<p>Tom's t-shirt comes off, then his belt, then his slacks. The two working girls have him down to his boxers and standing flushed in the middle of the Persian rug inside two minutes. His cock is visibly hard against the front of his boxers from the proximity work and the residue trickle reactivating against the costume fabric. The cream-corset drops to her knees on the rug in front of him; the wine-red-corset sits on the chaise behind him and slides her hand under the back of his boxer waistband to push the boxers down.</p>
<<say "char-npc" "Bordello Owner">>
<i>(crossing to Elena at the bookshelf, the small composed register of a man whose house has lost a girl and who has decided the visiting investigator is the right person to put it right, a glass of dark amber whiskey in his hand)</i> Madame. Before the ladies and your gentleman get too far along, a girl of mine was found dead this morning in the third bedroom upstairs, poisoned. The constabulary will not come for working girls. The house called you. The killer moved through the building last night, and we believe he left a trail of notes hidden in the rooms he passed through for whatever reason men of his sort leave trails. I expect your work tonight to find the notes, follow what they say, and tell me who I am looking for. This room is one of the stops on the trail.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(one hand sliding to the small of Elena's back, then lower to cup the curve of her ass through her clothing, the small composed register of a man who has decided the visiting investigator is also, frankly, his preferred kind of woman)</i> ...though if I may say so, Madame. I think your body would be fitter to be working here than investigating. The mistress at the front desk would put you in the cream corset in five minutes. I do not say this to distract you. I say it to make my position known.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to the bookshelf and back to him, the lab-PI register adapted on the fly to the in-house vocabulary the room is running)</i> The notes, sir. Start with the bookshelf? The chapbook on the third shelf is in the wrong place. It has been pulled out and put back at the wrong angle. Someone consulted it recently.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(the small composed half-smile of a man who has just been told the lady is, in fact, very good at her job, his hand still at her ass, the other moving to the small of her back)</i> ...the chapbook. Of course. Allow me.
<</say>>
<p>The bordello owner lifts the leather-bound chapbook off the shelf and finds, tucked into the gilt-edged endpaper, a small folded paper with handwriting in red ink. He hands it to Elena. While she unfolds it, his hands work the buttons of her blouse one by one, never quite waiting for her permission and never quite asking for it either, the small composed gesture of a man who has decided his courtship and his case strategy can run in parallel.</p>
<<say "char-chen" "Elena">>
<i>(unfolding the note, eyes briefly to the page, the blouse now hanging open, the bordello owner's hand at her bare breast)</i> //If she will not drink the wine, she will drink the bath.// And then a reference, //see page sixty-four of Marlowe//. Marlowe is the manual, is it not? The poisoning manual the houses keep behind the bar.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(hand now on her hip beneath the open blouse, the other reaching down to lift the hem of her skirt)</i> The Marlowe is behind the bar in the hallway. The page-sixty-four reference is, in our experience, the standard formulation for nightshade in bathwater. He has told us what he used. Good. Now, your gentleman will be a moment yet. The mistress should not stand idle while the case advances.
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-boudoir-reverse-gangbang.webp" alt="Inside the Victorian-bordello-era after-hours room. Tom standing in the middle of the ornate Persian rug, mid-twenties Anglo with short dark-blond hair, fully naked, lean build, head angled slightly down toward the kneeling woman. The cream-corset prostitute kneels on the rug in front of him, late-twenties brunette in a cream Victorian-bordello-era corset with red ribboning and garter belt and lace stockings, hair pinned up in period style, hands on his hips and thighs, face at his groin. The wine-red-corset prostitute is seated behind him on the dark mahogany burgundy chaise, late-twenties dark-blonde in a wine-red corset with black lace bodice and garter belt, one hand on his hip, eyes briefly toward the camera with the small composed coquette register. Heavy red velvet curtains across the back wall, false-bookcase walls of period erotica spines in gilt lettering visible to either side, ornate Persian rug under foot, dim warm tungsten wall sconces with red lampshades throwing the whole room into deep amber and red bleed. Documentary photography, three-subject reverse-gangbang triangle composition, eye-level medium-wide shot, soft warm low-key lighting.">
<<say "char-bowen" "Tom">>
<i>(strangled-low, the cream-corset's mouth slow on his cock, the wine-red-corset's hand at his hip pulling him steady, eyes briefly across the room to Elena)</i> Elena... //fuck//... what was the note... did you say nightshade... I am, I am not at my best on the,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, blouse and skirt both off now, the bordello owner kissing her shoulder from behind, eyes across the room at Tom)</i> Nightshade in the bathwater, Tom. //Christ//, sir, your fingers, slow a moment. My assistant is still working out which bottle was the one.
<</say>>
<p>Elena ends up on the bordello owner's lap on the smaller chaise positioned by the bookshelf, fully naked now, her clothes folded over the arm of the chaise; the bordello owner is bare-chested and his slacks are open at his waist. She settles onto him in reverse, her back to his chest, takes his cock in her hand to guide him into her, rests her palms on her own thighs above her knees, and begins the slow ride with the small composed unhurried efficiency of a woman who is running the case and the orgy from the same chaise. The bordello owner's hands stay at her hips; his lips find the side of her neck over her shoulder from behind. Across the room, the cream-corset has lifted off Tom's cock with the small wet sound of a working girl who has decided her mouth is needed elsewhere, and is searching the seventh-spine compartment of the false-bookcase with her hair pushed back. She pulls a second folded paper from the compartment and slides it onto the low side table by the chaise where Elena can reach it. Tom's cock is now in the wine-red-corset's mouth where the cream-corset's was; he can no longer speak intelligibly.</p>
<video class="scene-video" src="media/video/bowen-boudoir-cowgirl.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-boudoir-cowgirl.webp"></video>
<<say "char-chen" "Elena">>
<i>(half-gasp, riding the bordello owner unhurriedly, picking up the second folded paper from the side table and reading it)</i> The second note. //The girl in the cream did not see me, the girl in the wine saw me but will not speak, the girl in the rose-quartz is the one who knows.// The girl in the rose-quartz, sir. Who is the girl in the rose-quartz?
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(strangled-low, hands at her hips, eyes briefly closing as she works her way down on his cock again)</i> Rose-quartz is Madeleine. She is on shift tonight at the front of the house. I will send for her when we close out. Madame, you are doing very fine work. Read the next one when you find it.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled-low, his hands on the wine-red-corset's hair as she works him on the chaise, eyes briefly across the room at Elena)</i> Elena... //fuck//... if rose-quartz is the witness, the killer is the one who, uh, //glnh//, the one who fucked the cream girl last night, isn't that, she said the cream girl did not see him because she was, she was already, //fuck//...
<</say>>
<<say "char-npc" "Wine-Red-Corset">>
<i>(pulling off Tom's cock for a beat, lips wet, the small composed register of a working girl who has decided the gentleman's strangled half-deduction is correct)</i> The cream girl was downstairs at the time the master says. She did not see him because she was, sir, occupied. With another gentleman. Who paid in advance.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled half-laugh as she takes him back into her mouth)</i> The other gentleman is... //fuck//... //fuck//, slow down a, the other gentleman is the,
<</say>>
<p>Elena sees a fragment of folded paper on the Persian rug at the foot of the chaise, half-tucked under the carpet edge, weighed down by a small bronze candlestick that fell sometime during the killer's visit and was left where it landed. She lifts off the bordello owner with the small unhurried efficiency of a woman who is about to retrieve a clue, slides off his lap to her knees on the rug beside the carpet edge, reaches under the carpet for the folded paper. The bordello owner stands up off the chaise behind her, the small composed register of a man whose erection is unfinished business, his cock now at her face level by the geometry of where she has knelt.</p>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-smile, one hand at the back of her head, the other guiding his cock to her lips)</i> The third note can wait a moment, Madame. The mistress should not let the gentleman's case-strategy idle.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the paper in her hand, eyes briefly up at him, mouth opening on his cock)</i> ...//mmh//. Mmh. ...Sir, this is, //glnh//, a fairly forward house...
<</say>>
<p>The bordello owner's cock slides slow at first, then steadier, his hands at the back of her head with the practised composure of a man who has been received this way by visiting investigators before. Elena's eyes go briefly closed, the folded paper still in her hand, her other hand bracing against the bordello owner's thigh. The wet sounds the cream-corset was producing at Tom's cock have a sister sound now, a half-octave lower, on the bordello owner's. //Glnh. Mmh. Glnh.// Across the room, Tom is no longer being worked at all; he has stood up off the chaise and is now in the wine-red-corset's lap with her wine-red skirt pushed up around her hips, his cock inside her, her arms braced around his shoulders, the small composed register of a working girl who has decided the gentleman is, frankly, very good for an assistant.</p>
<<say "char-chen" "Elena">>
<i>(pulling off the bordello owner's cock with a slow wet sound, lips shining, the folded paper open in her hand)</i> //Gwak.// ...mmh. The third note. //The rose-quartz girl knows the gentleman, and the gentleman knows the master. The hand that poured the wine is the hand that signs the books.// Sir... the hand that signs the books. That is the accountant. The house's accountant. Not a guest.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed beat going still, hand still at the back of her head, the case-register and the orgy-register both stopping for one breath)</i> ...Hawthorne. My accountant is named Hawthorne. He has had the run of the house for eleven years. He knew the cream girl's habits. He knew Madeleine. //Christ//. He knew them all.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, slipping the third note onto the side table next to the second, taking his cock back into her hand)</i> Then we have him, sir. The notes were left for us to read in order. The fourth one, if there is one, will be where he kept what he stole. The torn page from the Marlowe. The empty vial. Whatever he could not carry back to his own ledger. The house's records are kept where?
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-laugh, the hand at her head loosening, the cock-still-in-her-hand register holding)</i> Behind the false-window panel. Where the killer would have hidden whatever he took. There is a small lever inside the rear of the panel that opens it from inside the wall. The opening is too small for a hand. I have never been able to reach the latch from the front of the panel. The chapbook says rhythmic pressure against the chaise armrest from a specific position, and the position the chapbook means is, frankly, the position the chapbook means. ...You will, of course, see where this is going, Madame.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the small wry register of a woman who has just been told the case's solution is the room's most explicit furniture beat)</i> The opening is too small for the hand. ...Tom. The fourth note is behind the panel. The house's accountant hid evidence there. The only way to reach it from the inside is, well. The chapbook said it. Sir, you may want to call your gentleman over.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow toward Tom across the room, the gentleman-to-gentleman register clicking into place)</i> Sir? The mistress requires your assistance. The case is two minutes from closing. The house provides the lubricant.
<</say>>
<p>Tom lifts off the wine-red-corset with the small strangled half-laugh of a man whose body has been holding itself back for nearly twenty minutes for exactly this beat. The wine-red-corset herself unbothered, sliding off the chaise and crossing to the smaller chaise. She lifts the spare wine-red corset from where it had been folded on the chaise armrest, drapes it over Elena's shoulders as Elena rises off the rug, and laces it around her midriff in the small composed gesture of a house extending its working dress to the visiting investigator for the closing of the case. Elena accepts the dress, walks across the Persian rug to the false-bookcase wall, takes the small bottle of lubricant the cream-corset hands her, and arranges herself on hands and knees against the bookshelf wall beside the chaise with her ass raised back, one arm braced flat against a panel of false-bookcase spines for the rhythmic-pressure leverage the chapbook calls for. Tom, fully hard, applies the lubricant with the small careful precision of a junior tech following instructions, and presses into her in one slow careful stroke.</p>
<<say "char-bowen" "Tom">>
<i>(strangled-low, hands at her hips, mid-stroke, eyes briefly closing)</i> ...//Christ//. Christ, Elena. Did the chapbook really say the rearward latch wants this. This is the most unusual case I have ever assisted on.
<</say>>
<<say "char-chen" "Elena">>
<i>(half-gasp, one hand braced against the false-bookcase wall, head briefly turned back over her shoulder, breath catching at the bottom-out)</i> Tom, the chapbook said it, the wine-red lady read it aloud. The lever is in the rear of the panel and it triggers with rhythmic pressure. Keep going, find your pace. The accountant's notebook is two minutes away.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-laugh, watching from the smaller chaise across the room with the small composed register of a man who has just watched his accountant's career end with the rhythmic pressure of a junior tech against a bookshelf)</i> The mechanism is calibrated to the rhythmic pressure, Madame. I do believe I hear the lever beginning to click. ...//Christ//, Hawthorne. Eleven years.
<</say>>
<img class="scene-img" src="media/scenes/vessel/bowen-boudoir-anal.webp" alt="Inside the Victorian-bordello-era after-hours room. Elena on her knees on the dark mahogany chaise, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, wearing the wine-red working girl's spare corset laced around her midriff, small breasts exposed above the corset bodice, ass raised back, one arm braced flat against a panel of false-bookcase spines for leverage, head turned back over her shoulder with the small composed half-gasp of a woman closing the case as the chapbook directed. The male partner is behind her, visible only as a portion of his hip and his cock in mid-thrust anal penetration entering her from behind. POV-from-behind framing, the bordello set-dressing visible, heavy red velvet curtain at the edge of frame, false-bookcase wall of period erotica spines in gilt lettering filling the back of the shot, dim warm tungsten wall sconces with red lampshades throwing the room into deep amber and red bleed. Documentary photography, anatomically correct, anal-sex doggystyle composition, eye-level medium-tight shot, soft warm low-key lighting.">
<p>The lever clicks. The false-window panel opens at the rear. Inside the small recess: a torn-out page from the Marlowe poisoning manual, a small empty glass vial with the residue of nightshade still on the inside, a folded slip of paper with the accountant Hawthorne's signature on it, three coins of the house's currency that should not have been there. The killer's trail closes out. Set into the back wall of the recess, an oval Victorian-era hand mirror in a gilt frame, the kind a working girl would have used to fix her hair before a gentleman caller, the kind that has been part of the room's set-dressing for as long as the chapbook has been in print.</p>
<<say "char-npc" "Wine-Red-Corset">>
<i>(small composed coquette register, holding the chapbook open at the last page)</i> The final entry, Madame. //The case is closed in the manner the couple was admitted. The investigators kiss in front of the mirror. The house records the close.// The couples' waiver covers this, the chapbook is clear.
<</say>>
<p>Tom turns from the panel toward Elena, the small composed half-laugh of a junior tech who has done a very long puzzle on a very strange night settling on his face. Elena steps toward him, still in the wine-red working girl's spare corset, her glasses slightly fogged from the room's warmth. They meet in front of the small oval mirror set into the back of the recess; the mirror catches both their faces at the same time, the lady-investigator and the gentleman-assistant, the small composed reflection of two people who have just closed a case and who, by the chapbook's reckoning, are also a couple. Tom's hand finds the side of her face. Elena tilts her chin up. The kiss lands slow, warm, the kind of kiss that has been held back across a long evening and is now arriving on schedule. The mirror catches it.</p>
<p>The room's overhead lights come up to a warm amber. The timer projection above the chaise clicks down to nine minutes and stops, the room's record-counter quietly logging the close at fifty-one minutes. Tom and Elena step back from the mirror. The cream-corset hands him a small folded warm towel. The wine-red-corset hands Elena a small folded warm towel. The bordello owner hands both of them a small folded warm towel.</p>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow, the in-house register holding cleanly across the wrap, the torn Marlowe page in his hand)</i> Madame, sir. The accountant Hawthorne will not be at his desk Tuesday morning. The house records your work in the ledger and thanks you for the service rendered. The ladies will see you to the door at your pleasure. ...Page sixty-four of Marlowe. Eleven years of the manual on my shelf and I never once thought to check who had been reading it.
<</say>>
<hr class="scene-break">
<p>They get themselves dressed in the next four minutes. Tom's slacks back on first, then his pullover; Elena's jeans, her turtleneck, her cardigan. The three staff politely turn their backs while Elena and Tom dress, hold their composure, the dose still running through their nervous systems but the room's intensity beginning to settle. The attendant in the lobby has clearly clocked the whole thing through the room's monitoring feed; she is the only un-dosed person in the building at this hour and her professional composure does not include a comment. She hands them the franchise-branded photo card with a small composed half-smile, processes the booking out, takes Tom's heavy tip in cash without comment. They step out into the cold of the city evening at five past midnight, both of them visibly walking with the small careful adjustment of two adults whose bodies are not going to forget the next several days.</p>
<<say "char-bowen" "Tom">>
<i>(at the passenger door of the Corolla, hands deep in his coat pockets, the small recovered half-laugh fully on)</i> ...Elena. I am not going to say anything about that until I am sober and you say something first.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, unlocking the Corolla)</i> Tom, get in. I am driving you home and we are not talking about page sixty-four ever again.
<</say>>
<<say "char-bowen" "Tom">>
<i>(half-laugh, climbing exhausted into the passenger seat)</i> ...understood.
<</say>>
<p>The drive to Cedar Crescent is quiet in the warm-recovered way the silence after the Boudoir tends to be. Elena pulls up at Tom's kerb, kills the engine, lets him sit for a half-second before he opens the door. He thanks her one more time, walks to the brick stairs, keys himself into the building with the small careful walk of a man whose body has been thoroughly worked. Elena drives away from the kerb at twenty past midnight.</p>
<<say "char-hivemind" "Hivemind">>
//Highest single-evening yield I have run on this route. The host released a small psionic dose at the cue, the room and the staff did the load-bearing work, the orgy harvested orgasm-energy across four bodies including the three primed staff actors whose nervous systems will continue to soak the biofilm coat for several days. //Page sixty-four// will be a phrase neither of them can hear in a lab meeting without the small flicker neither of them flags out loud. The wiring is done.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+6 biomass</span>, four-body orgy across the saturation-stack room, multiple orgasms harvested across all participants.</p>
<p><span class="biomass-gain">+3 max biomass</span>, Tom's nervous system fully wired against the Boudoir-saturation register; record-completion bonus is the highest single-evening yield on this route.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Cedar Crescent, home, the night past the line that lines get crossed at" "Ch2-Vessel-Loop-Home">>
<<addBiomass 2 "repeatable">>
<</link>></div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise's after-hours room, the staff in costumed-actor mode, the murder-mystery puzzle running on its rails, no sex on the table">>
<<set _firstTimeHere to not ($ch2Events.bowenEscapeRoomBoudoirFired or false)>>
<<set _sporesFired to ($ch2Events.bowenEscapeRoomBoudoirSporesFired or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.bowenEscapeRoomBoudoirFired to true>>
/* Inline booking-reset triple, this passage skips Wrap and routes home. */
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<addBiomass 2 "bowen-escape-boudoir-solved">>
<<if not _sporesFired>>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Boudoir, solved as the franchise designed it</div>
<div class="lab-location">The Boudoir, the staff holding their costumed-actor register through the hour, the murder-mystery the room is built around running on its rails, the orgy register never opening</div>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow, the costumed register clicking on cleanly, the gold pocket watch consulted once before going back into the waistcoat)</i> Madame, sir. Before we begin, the scenario. A girl of mine was found dead this morning in the third bedroom upstairs, poisoned. The constabulary will not come for working girls. The house has called you to investigate. The killer moved through the building last night and left, we believe, a trail of notes hidden in the rooms he passed through for whatever reason men of his sort leave trails. This room is one of the stops on the trail. The chapbook on the third shelf is your starting point. There are four notes in total. Find them, follow them, and tell me who I am looking for. The room is on a sixty-minute timer. You will hear the chime at fifteen and five.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly across the room at the bookshelf, the lab-PI register sliding cleanly into the in-character register the room is running)</i> Understood, sir. Tom, with me at the bookshelf. The chapbook is on the third shelf and has been pulled out and put back at the wrong angle. Someone consulted it recently.
<</say>>
<p>The three staff hold their poses at the edges of the room with the small composed register of trained actors. The cream-corset stands by the chaise armrest with the chapbook in her hand, ready to read the relevant page when the investigators ask. The wine-red-corset stands at the side table with a small folded notebook in front of her, ready to confirm details about the working girls and the gentlemen who visited the night before. The bordello owner pours both Elena and Tom a small thimble of dark sherry from the period decanter on the side table and steps back to watch the case unfold. The dim warm tungsten lamplight, the deep red wall sconces, the heavy red velvet curtains all hold the theatrical register through the hour. None of the costumes come off.</p>
<<say "char-bowen" "Tom">>
<i>(lifting the chapbook off the third shelf, finding the small folded paper tucked into the gilt-edged endpaper, unfolding it)</i> First note, Elena. Red ink. //If she will not drink the wine, she will drink the bath.// And a reference, //see page sixty-four of Marlowe//. Marlowe is the poisoning manual the houses keep behind the bar, the chapbook says. Page sixty-four is, according to the chapbook, the standard formulation for nightshade in bathwater.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, taking the note, eyes across at the bordello owner)</i> Nightshade in the bathwater, sir. Your girl drowned, technically, but she would have been already in the chemical course of dying by the time she went under. Good. The killer has told us what he used. Next note, where do we look?
<</say>>
<<say "char-npc" "Cream-Corset">>
<i>(small composed half-curtsey, holding the chapbook open at the relevant page)</i> The chapbook directs the investigator's eye to the seventh false-bookcase spine, Madame. The spine opens to a small compartment behind. The note inside, if I may, is the witness register.
<</say>>
<<say "char-bowen" "Tom">>
<i>(crossing to the false-bookcase wall, pulling the seventh spine, finding the small folded paper inside)</i> Second note. //The girl in the cream did not see me, the girl in the wine saw me but will not speak, the girl in the rose-quartz is the one who knows.// Three witnesses. Sir, who is the girl in the rose-quartz?
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow)</i> Rose-quartz is Madeleine. She is on shift tonight at the front of the house. I will send for her when we close the case out. The note tells you which witness is the load-bearing one. Continue.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, picking the bronze candlestick up off the Persian rug, finding the third folded paper half-tucked under the carpet edge underneath it)</i> Third note, sir. The candlestick fell during the killer's visit and was left where it landed. He weighted his own evidence. //The rose-quartz girl knows the gentleman, and the gentleman knows the master. The hand that poured the wine is the hand that signs the books.// Sir... the hand that signs the books. That is the accountant. Not a guest.
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed beat, the costumed register holding, the in-character flicker of recognition the script accommodates)</i> Hawthorne. My accountant is named Hawthorne. He has had the run of the house for eleven years. The character has, that is. The script has Hawthorne behind it. Continue, Madame.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, sliding the third note onto the side table next to the second)</i> Then we have him. The fourth note will be where he kept what he stole. The torn page from the Marlowe, the empty vial, whatever he could not carry back to his own ledger. Behind the false-window panel?
<</say>>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-laugh, the costumed register accommodating the wry tone)</i> Behind the false-window panel, yes, Madame. The chapbook is firm on this: the room only opens to a couple working together. You and your gentleman signed the couples' waiver at the front desk, so the room will allow the standard couples' solution. The latch is at a slot in the top of the panel, too high for one person to reach alone. The chapbook is, frankly, very specific about how a couple should solve it. The gentleman lifts the lady. The lady reaches the slot. Or, of course, the after-hours alternative the chapbook also describes, and the franchise's record-completion bonus is reserved for that one. I trust you will choose the standard.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small relieved half-laugh, crossing to the front of the false-window panel and offering Elena his shoulders)</i> The standard is acceptable, sir. Elena, on my shoulders. We will, ah, accept the franchise's standard score and decline the after-hours bonus. Ready when you are.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the costumed-register-of-a-couple settling on her without her quite cataloguing it, kicking off her shoes by the chaise)</i> Squat first, Tom. I will sit, you stand up. Hold my thighs. ...there.
<</say>>
<p>Elena settles her thighs across Tom's shoulders, palms flat against the false-bookcase wall for balance. Tom straightens from the squat with the small careful precision of a man whose junior-tech body is at this point operating well past its normal range of Tuesday-night activities. Elena reaches up to the slot at the top of the false-window panel, finds the lever inside, triggers it. The lever clicks. The false-window panel opens at the rear. Inside the small recess: a torn-out page from the Marlowe poisoning manual, a small empty glass vial with the residue of nightshade still on the inside, a folded slip of paper with the accountant Hawthorne's signature on it, three coins of the house's currency that should not have been there. The killer's trail closes out. Set into the back wall of the recess, an oval Victorian-era hand mirror in a gilt frame, the kind a working girl would have used to fix her hair before a gentleman caller, the kind that has been part of the room's set-dressing for as long as the chapbook has been in print.</p>
<<say "char-npc" "Wine-Red-Corset">>
<i>(small composed coquette register, holding the chapbook open at the last page)</i> The final entry, Madame. //The case is closed in the manner the couple was admitted. The investigators kiss in front of the mirror. The house records the close.// The couples' waiver covers this, the chapbook is clear.
<</say>>
<p>Tom lowers Elena carefully down off his shoulders, both hands at her hips to steady her landing on the rug. She turns toward him, still wry, still composed, the small private smile of a woman who has just been carried on a junior tech's shoulders to reach a lever in a Victorian-bordello-era escape room. They meet in front of the small oval mirror set into the back of the recess; the mirror catches both their faces at the same time, the lady-investigator and the gentleman-assistant, the small composed reflection of two people who have just closed a case and who, by the chapbook's reckoning, are also a couple. Tom's hand finds the side of her face. Elena tilts her chin up. The kiss lands slow, warm, the kind of kiss that has been carefully not arriving across a long evening and is now arriving on the chapbook's schedule. The mirror catches it.</p>
<p>The room's overhead lights come up to a warm amber. The timer projection above the chaise clicks down to twenty-two minutes and stops. The three staff hold their poses, accept the dismissal from character with the small composed register of trained actors, line up at the door to thank Elena and Tom for choosing the establishment. The bordello owner hands Tom the photo card with a small composed half-smile that says nothing about what the night could have been.</p>
<<say "char-npc" "Bordello Owner">>
<i>(small composed half-bow, the torn Marlowe page in his hand as a stage prop)</i> Madame, sir. The case is closed. The house thanks you for the investigation. The franchise hopes to see you again. ...And the accountant Hawthorne will not, in the script's universe, be at his desk Tuesday morning.
<</say>>
<hr class="scene-break">
<p>Elena and Tom step out into the cold of the city evening at twenty past eleven. The night is warmer than the standard-room nights have been; the costumed register of the room has done some unspoken work on both of their nervous systems that neither of them flags out loud. Tom walks to the passenger side of the Corolla with the small composed half-laugh of a man who has done a Tuesday-night escape room and is going home unwrecked.</p>
<<say "char-bowen" "Tom">>
<i>(at the passenger door, hands deep in his coat pockets)</i> ...that was the strangest room I have ever paid for, Elena. The murder-mystery I bought into. The bordello set-dressing I did not. Page sixty-four of Marlowe. The cream-corset's half-curtsey at the chapbook. The dark sherry. I am going to be thinking about that room for a week.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, unlocking the Corolla)</i> Tom, get in. I am driving you home. We are also not talking about page sixty-four. Ever.
<</say>>
<p>The drive to Cedar Crescent is quiet. Elena pulls up at Tom's kerb, kills the engine, lets him sit for a half-second before he opens the door. He thanks her, walks to the brick stairs, keys himself into the building. Elena drives away from the kerb at half past eleven.</p>
<<say "char-hivemind" "Hivemind">>
//A small clean evening. The host carried the costumed register out of the room on her clothes and her nervous system without letting the room tip. Tom carries a small new private trickle the cortex has filed under //that strange after-hours escape room with the corsets//; the body has done its own conditioning work through the costumed proximity and the dark sherry. The staff hold their poses for the next two-and-a-half hours, change out of costume, go home unfucked, file the room as another booking on the books. The biofilm coat continues to soak across their nervous systems through the night. Page sixty-four of Marlowe sits in Tom's cortex now as a phrase he will not be able to hear in a lab meeting without the small flicker that has nothing to do with what the room could have been and everything to do with the fact that it could have been it.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span>, costumed-proximity warmth across the hour without escalation.</p>
<<if not _sporesFired>>
<<conditioningFeedback "pheromone" 1 "Tom, the costumed register and the dark sherry did slow work through the hour even without the room tipping">>
<</if>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Cedar Crescent, home, the night closed clean" "Ch2-Vessel-Loop-Home">>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- Bowen disposition · Psychic Domination clamp (suppress) ----
Skill-gated override from either storefront variant. Spends 4 biomass once
per day, sets the day-keyed suppress flag, routes back to the storefront,
which then renders the standard escape-room evening. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<if ($ch2Events.bowenEscapeSuppressDay or -1) isnot ($day or 0)>>
<<spendBiomass 4>>
<<set $ch2Events.bowenEscapeSuppressDay to ($day or 0)>>
<</if>>
<</nobr>>
<<goto "Ch2-Vessel-Event-BowenEscapeRoomEvening">>
/* ---- Bowen disposition · DOMINANT alley scene ----
Reached from the dominant storefront variant. He refuses the room, walks
her into the alley, takes her mouth, finishes on her face, and walks her
back to the car wearing it past strangers. Exhibitionism payoff harvested
off the host's own arousal. One-shot, +4 biomass, +1 pheromone. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The service alley beside the franchise, then the lit street back to the car">>
<<if not $ch2Events.bowenEscapeRoomDomAlleyFired>>
<<set $ch2Events.bowenEscapeRoomDomAlleyFired to true>>
<<addBiomass 4 "repeatable">>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
/* Terminal scene of the evening: mark the booked event consumed so it clears
from the evening hub (mirrors the standard-room wrap endpoints). */
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<</nobr>>
<div class="passage-title">He has a better idea</div>
<div class="lab-location">The service alley beside the franchise, wet brick and one buzzing sodium light</div>
<p>He takes her by the wrist the way she has taken his a dozen times at the bench without thinking about it, walks her off the lit pavement into the gap between the franchise and the shuttered print shop, and she lets him, which is the part she will spend the drive home not examining.</p>
<<say "char-bowen" "Tom">>
<i>(backing to the wet brick, pulling her in, a hand settling flat on her shoulder and pressing down)</i> ...there. ...you have been running me for months, Elena, so tonight you are going to do one thing for me, and you are going to do it well, because you are good at things. ...knees. ...the great Dr. Chen, on the ground in an alley for her junior tech. ...go on. You have been thinking about it as long as I have. You just had the better poker face.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(already lowering, the word for stopping this nowhere in her mouth)</i> ...this is Tom, I should have a dozen ways to end this and not one of them is arriving, and I am going down onto wet brick in my good jeans, and the worst part, the part I will lie to myself about later, is that I am already soaked through.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I let it run. The dominant edit found the floor under her professional register, and the floor was never as solid as she presents. The body that never gets to stop being in charge is being handled, and the handling is landing as relief. The arousal is hers, the kneeling is hers, and I am only here for the harvest.//
<</say>>
<p>He is out and hard before her knees have finished taking her weight, one hand already in her hair, and she opens for him without the half-second of hesitation her dignity is screaming for, lips stretching over the head, the cold night air and the heat of him hitting her mouth at once. He pushes in slow and does not stop at the polite depth.</p>
<<say "char-chen" "Elena">>
<i>(mouth full, the composed register gone entirely, the sounds breaking around him)</i> Mmh. ...gluk. ...//mmh.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(head tipping back against the brick, setting the pace with the fist in her hair)</i> ...fuck. ...yeah, just like that. ...you are so much better at this than you are at being in charge of me, you know that? ...all the way down. ...come on, Elena, you can, I have watched you do harder things than this before lunch.
<</say>>
<p>He fucks her mouth slow and then less slow, the wet schlk of it obscene in the dead alley, her hands flat on his thighs because he has not said she can use them and the not-being-allowed is doing something to her she refuses to look at. She gags on a deep one. He does not let up. The gag breaks into a low sound in her throat that lands a great deal closer to a moan than to a protest, and he feels it, and grins.</p>
<<say "char-bowen" "Tom">>
<i>(hips going faster, the smug cracking as it builds)</i> ...there it is. ...there she is. ...okay, eyes up, look at me. ...you are going to wear this, Elena, all the way back to the car. ...open.
<</say>>
<p>He pulls out and finishes across her face in long pulses, the first stripe catching her cheekbone and the lens of her glasses, the rest landing on her lips and her chin and the clean line of her jaw, and she kneels there in the wet and takes it with her eyes up and her mouth open the way he told her, the cold air biting at the heat of it as it cools.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alley-facial.webp" alt="A woman kneeling on wet brick in a dim service alley at night, charcoal peacoat, dark-rimmed glasses, mouth open and eyes up, a man's cock at her face and cum striping her cheek, the lens of her glasses, her lips and chin. A young man with wavy dark-blond hair standing over her against the alley wall. One sodium streetlight buzzing orange at the far end. Photorealistic NSFW facial.">
<<say "char-chen" "Elena">>
<i>(wrecked, blinking the stripe off her lashes, the voice not quite hers)</i> ...//Tom.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(tucking himself away, holding a hand down to help her up, courtly about it)</i> ...up you come. ...no. Leave it. You heard me. It stays on your face until the car. ...it is two blocks, Elena. You will live.
<</say>>
<p>She walks the two blocks with him at her shoulder and his cum drying on her face under the streetlights, and the street is not empty. A couple coming out of the wine bar clock it and look away fast. A man at the bus stop double-takes and then studies his phone with enormous concentration. A knot of students going the other way go quiet as they pass and dissolve into laughter half a block behind. Every set of eyes that lands on her ruined face and skitters off pulls low in her gut, and by the time the Corolla comes into view she is wetter than she was on her knees.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alley-cumwalk.webp" alt="A woman walking a lit city sidewalk at night with cum drying on her face, charcoal peacoat, dark-rimmed glasses, a composed-but-undone expression, a young man with wavy dark-blond hair at her shoulder. Blurred pedestrians in the background, one glancing and looking away, warm streetlight and shop windows. Photorealistic NSFW, public walk of shame.">
<<say "char-chen-thought" "Elena">>
<i>(walking, the appalled part of her losing the argument with every passing stranger)</i> ...they can all see exactly what I just did, every one of them, and I should want the pavement to open, and instead I am, ...god, I am going to come the second I am alone, and I am going to come thinking about the man at the bus stop.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. The exhibition wire she did not know she owned, lit off the same circuit the dominant edit cracked in him. He degraded her in front of strangers and her body filed it as the best thing that happened to her all week. ...biomass off his finish, a second yield off her arousal carrying it home. The composure she rebuilds in the car is a costume now. She has felt what is under it.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(at the car, producing a packet of tissues from his jacket like he planned it, which he did)</i> ...okay. ...now you can clean up. ...there you go. <i>(small grin, the junior-tech warmth flickering back under the new thing)</i> ...we are not doing the escape room. ...we are absolutely doing this again.
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Bowen, the dominant edit took him off the leash for good">></p>
<p><span class="biomass-gain">+4 biomass</span>, off his finish and the host's own arousal walking it down a public street.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Drive home, a little wrecked, a little undone|Ch2-Vessel-Loop-Home]]</div>
/* ---- Bowen disposition · SUBMISSIVE / Lucy scene ----
Reached from the submissive storefront variant. The host turns Tom into
Lucy and trades a blowjob to the two desk staff for free entry. One-shot,
+4 biomass, +1 psionic. Narration uses he/his for the Tom-as-Lucy body;
Elena addresses "Lucy" as she / good girl / sweetheart (club-night canon). */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The franchise lobby, then the staff break room behind the booking desk">>
<<if not $ch2Events.bowenEscapeRoomFemLucyFired>>
<<set $ch2Events.bowenEscapeRoomFemLucyFired to true>>
<<addBiomass 4 "repeatable">>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
/* Terminal scene of the evening: mark the booked event consumed so it clears
from the evening hub (mirrors the standard-room wrap endpoints). */
<<set $ch2Events.bowenEscapeRoomFired to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<</nobr>>
<div class="passage-title">Customer service</div>
<div class="lab-location">The franchise lobby, then the small staff break room behind the booking desk</div>
<<say "char-chen" "Elena">>
<i>(two fingers flat on his sternum, stopping him before the door, the plan already whole)</i> ...no. Change of plan, Tom. ...go to your car, you know the bag I mean. ...I want Lucy for this, not you. ...I have an idea, and it is going to save us forty dollars a head and be a great deal more fun than a fake library. ...ten minutes. Go.
<</say>>
<<say "char-bowen" "Tom">>
<i>(the protest assembling and dissolving the way it always does now, already turning for the lot)</i> ...the bag. ...okay. ...okay, Elena. ...ten minutes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He keeps the bag in the car the way some men keep a spare tie. The submissive edit did not put Lucy in him, the shatter did that months back, the edit only took the handle off the inside of the door, so that when the host says //I want Lucy//, the refusal has nowhere left to live, and a part of him that has been waiting all evening quietly exhales.//
<</say>>
<p>He comes back in ten minutes as Lucy, the blonde wig brushed out, the dark fitted dress from the bag, the makeup done in the rear-view at the speed of practice, pink mouth and lined eyes and a flush under all of it that is entirely his own. The careful junior-tech off-duty get-up is gone. What crosses the lot is a flustered, lovely, faintly over-tall young woman with a bulge she has not quite solved and a walk she is still finding.</p>
<<say "char-chen" "Elena">>
<i>(taking Lucy in, fixing a fallen strap, low and warm)</i> ...there she is. Good girl. ...now. The desk is a bored boy of about twenty-two and an older one behind him, and they have been scrolling their phones since seven. ...you are going to be very nice to both of them, and we are going to walk in for free. ...follow my lead, sweetheart.
<</say>>
<p>At the booking desk Elena leans on the laminate, easy as a regular asking about parking validation.</p>
<<say "char-chen" "Elena">>
<i>(to the staff, conversational, like none of this is a proposition)</i> ...so here is my situation. My girlfriend and I do not actually want your room. ...what we want is //in//. ...and your card says walk-ins are forty a head, which is robbery for an hour in a fake library. ...so. A proposal. Lucy here gives the two of you something to remember this shift by, in your back room, you mark us comped, and everyone has a much better Tuesday than the one they were having. ...she is very, very good. ...show them, sweetheart.
<</say>>
<<say "char-npc" "Desk staff">>
<i>(the bored register gone, looking between the two of them, the older one already on his feet)</i> ...I, ...ma'am, that is, we cannot officially comp a, ...uh. ...the back room. ...the back room does not have a camera. ...just, just so that is clear. ...the back room does not have a camera.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The polite-clerk register lasted four seconds against the offer. The younger one has stopped breathing through his nose. The host did not have to dose either of them, she read the room and made it an offer the room was always going to take.//
<</say>>
<p>The break room is a microwave and a duty rota and a sagging two-seat couch under a flickering tube light, and Lucy goes down onto his knees on the thin carpet between the two of them without being told twice, gathers the dress clear of his stockinged knees, and opens the younger one's fly first because he is the closest and the most nervous.</p>
<video class="scene-video" src="media/video/bowen-escape-lucy-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-escape-lucy-bj.webp"></video>
<<say "char-bowen" "Lucy">>
<i>(the younger one's cock at his pink mouth, looking up through the lashes, the wig already slipping)</i> ...mm. ...do not be nervous, I have got you. ...gluk. ...//mmh.//
<</say>>
<<say "char-npc" "Desk staff">>
<i>(the younger one, hands gripping the back of the couch, the polite gone)</i> ...oh. ...oh fuck. ...Christ, sorry, ma'am, I cannot, she is, ...//fuck//, do not, do not stop.
<</say>>
<<say "char-chen" "Elena">>
<i>(arms crossed against the doorframe, the proprietary register fully on)</i> ...there she goes. ...take the one on the right deeper, sweetheart, he has been polite the longest. ...good girl, Lucy. ...both of you, whenever you are ready, she catches it. She is very good at catching it.
<</say>>
<p>Lucy works the two of them in turn, one in his mouth and the other in his fist and then traded back, the wet gluk and schlk of it filling the little break room, the wig sliding further with every deep pull and his own cock tenting the dress untouched. The older one goes first, with a grunt and a hand fisted in the blonde hair, across Lucy's cheek and the corner of his mouth, and Lucy keeps the younger one going through it without dropping a beat and takes his a half-minute later, deep, swallowing what he gives and licking the last of it off his own lip.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-escape-lucy-facial.webp" alt="A young man crossdressed as a woman, blonde wig askew and ruined pink lipstick, kneeling on a staff break-room floor, cum across his cheek and the corner of his mouth, looking up breathless and glowing. Two men standing over him doing up their belts. Flickering tube light, sagging couch. Photorealistic NSFW facial aftermath.">
<<say "char-bowen" "Lucy">>
<i>(looking up, ruined lipstick, a stripe on his cheek, breathless and pleased with himself)</i> ...there. ...thank you. ...told you I was good. ...do we get our wristbands now?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two strangers, a comped booking, and a junior tech on his knees in a borrowed dress doing the wanting the host pointed him at. ...the feminisation deepens a notch every time Lucy is the one who gets to want out loud. He will be at the bench tomorrow in a quarter-zip with no memory of having minded, and a tip jar somewhere will do better than it deserves. ...biomass off two finishes and the host running the entire table clean.//
<</say>>
<p><<conditioningFeedback "psionic" 1 "Bowen, Lucy did the wanting again, the feminisation a notch deeper">></p>
<p><span class="biomass-gain">+4 biomass</span>, off the two of them and the host running the whole table.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Take the comped wristbands, or just go, the night already won|Ch2-Vessel-Loop-Home]]</div>
/* ---- HOLLOHALV SUSHI NIGHT — T1+T2 full + T3 scaffolding ---- */
/* Group event with two targets (Halvorsen + Holloway) at a sushi-bar
chef counter. Tier from the AVERAGE of both totals (matches Feds
Case Update / FedTable lunch group pattern). Lure / Spores hit both
targets; the novel mechanics introduced here are:
- Knee bump under counter (NUDGE T2+) — pick which target
- Sake escalation (NUDGE T2+) — drops both vigilances, +1 dream all
- Pair-off slip (T3) — invite Halvorsen OR Holloway home
Wrap state changes happen on WRAP UP click, not passage entry. */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, the dresser mirror">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Nudge cost (setup.nudgeCost()), day-keyed so history-nav cannot
re-charge; the Club Night event recurs each Monday, so the spend
recurs with it. biomassPreview on the hub gates affordability. */
<<if ($ch2Events.clubNightNudgeDay or 0) isnot ($day or 0)>>
<<set $ch2Events.clubNightNudgeDay to ($day or 0)>>
<<spendBiomass `setup.nudgeCost()` "clubnight-nudge">>
<</if>>
<</nobr>>
<div class="passage-title">You still got it</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, the dresser mirror</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction, planted clean and left to bloom on its own. I do not hand the host orders. I set a want down where her own voice will find it, and her own voice picks it up and carries it to the wardrobe and takes the whole of the credit. She experiences the wanting as hers. The wanting has my fingerprints on it, and she will never think to dust.//
<</say>>
<p>The work clothes come off and go over the chair, and Elena stands in front of the open wardrobe in her underwear with her arms folded, doing the arithmetic of an evening.</p>
<<say "char-chen" "Elena">>
<i>(pushing the cardigans aside, reaching past them)</i> ...okay. Fuck it. I work night and day, I have not bought myself a single thing that was not groceries or rent in longer than I can tell you, and I have the spare money sitting right there doing nothing for anybody. I am allowed to spend some of it on myself. Starting with tonight.
<</say>>
<p>She finds the dress at the back of the rail, the one that has been waiting at the back of the rail for an occasion she kept not giving it. She puts it on. She sits down at the dresser and does her face the way she has not done her face in a long time, slow and proper, for the pleasure of it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-club-gettingready.webp" alt="Elena, 32, getting ready for a night out at her bedroom dresser mirror, in a fitted dark club dress, leaning in to finish her eye makeup, warm lamplight, the room hers">
<<say "char-chen" "Elena">>
<i>(leaning close to the mirror, finishing the line of her eye, talking to her own reflection)</i> ...mm. There she is. Look at that. You still got it, Elena. You genuinely, completely still got it.
<</say>>
<<say "char-chen" "Elena">>
<i>(standing back, taking in the whole of herself, a grin getting all the way loose)</i> You are going to be killing it out there tonight. Killing it. Now pick up your keys and go, before the sensible part of you gets a word in.
<</say>>
<hr class="scene-break">
<<if $ch2Events.sofiaClubInvited>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Call Sofia first, see if she wants in on the night (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-CallSofia" `setup.nudgeCost()`>></div>
<</if>>
<<if $ch2Events.shatterMindBowenFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Call Bowen (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-CallBowen" `setup.nudgeCost()`>></div>
<div class="choice-risk-hint"><i>Content warning: sissification.</i></div>
<</if>>
<<if $ch2Events.shatterMindBowenAlphaFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Call Tom (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-CallBowen-Alpha" `setup.nudgeCost()`>></div>
<div class="choice-risk-hint"><i>Content warning: dominance, degradation, anal play.</i></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Keys, coat, out the door|Ch2-Vessel-Event-ClubNight]]</div>/* Pre-event for the joint club night. Elena is dressed and at the
mirror; she calls Sofia and tells her to get the good dress out.
Sofia is at home with Andrés, covers the receiver, says something
in Spanish over her shoulder, comes back on the line and agrees.
Routes directly to the with-Sofia club scene (no return to the
get-ready hub). Spends the Nudge cost on entry. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, the dresser mirror">>
<<spendBiomass setup.nudgeCost() "clubnight-call-sofia">>
<<set $ch2Events.clubNightWithSofia to true>><</nobr>>
<div class="passage-title">Calling Sofia</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, the phone to her ear</div>
<p>Elena thumbs the call open before the part of her that still talks her out of things can find the floor. The phone rings three times. Sofia picks up on the third with the careful voice of a woman who has just looked at the clock on her wall and confirmed it is nine-forty on a Monday.</p>
<<say "char-vasquez" "Sofia">>
<i>(distant, the small clatter of the dishwasher being closed in the background, the cautious register of a friend whose default Monday-night-Elena-call is //bad news from work//)</i> ...Elena. It is nine-forty on a Monday. What.
<</say>>
<<say "char-chen" "Elena">>
<i>(at the mirror, the bolder register fully on, the line landed before Sofia can finish the sentence the dishes are about to walk her into)</i> Get the good dress out. The blue one. We are going out tonight, Sofia, you and me, and I am thirty-five minutes from your door. Do not give me an excuse, I am already in mine and the makeup is on. Twenty-five minutes you have, the cab is going to be waiting outside.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a startled half-laugh, the dishwasher noise stopping, the small private pause of a woman recalibrating an entire evening in three seconds)</i> ...the blue one. Elena, the blue one is a dress for, I have not worn the blue one in, ...okay, hold on. Hold on.
<</say>>
<p>The line goes muffled. Sofia has covered the receiver with her hand. There is the small low sound of her voice in another room of the apartment, the cadence of a woman who has stopped speaking the language she speaks to Elena and switched to the one she speaks to Andrés.</p>
<<say "char-vasquez" "Sofia">>
<i>(off-receiver, muffled, the warm-firm register of a woman informing her partner rather than asking permission)</i> //...amor, voy a salir un rato con Elena. No me esperes despierto. Sí, ya sé qué hora es. ...sí, mi amor. No, está bien, ella está bien, sólo queremos salir. ...gracias.//
<</say>>
<p>A beat. The receiver comes back uncovered. Sofia is breathing through her nose the way she breathes when she has just decided something.</p>
<<say "char-vasquez" "Sofia">>
<i>(back on the line)</i> ...okay, I'm gonna take the blue dress out, and I'll do it just because you asked, because you know what happened the last time I put that dress on...
<</say>>
<<say "char-chen" "Elena">>
<i>(at the mirror, grinning)</i> ...yeah, you got offered drinks and got numbers from at least four different guys.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a laugh, catching herself)</i> ...five diff... wait, that's not the point, but... ...we'll have it your way. See you later.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Twenty-five minutes from the call to the cab. The host pulled the one peer whose pushback she would have taken seriously into a Monday night out on three sentences of pressure, and Sofia walked into the bedroom to find the blue dress before the call even ended. ...Andrés in the kitchen got the muffled-Spanish version of the night, which is not the version Sofia is going out in. The host has just become the part of Sofia's evening that does not get translated for the man at home.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The cab, the two of them, the club|Ch2-Vessel-Event-ClubNight-WithSofia]]</div>/* Pre-event for the Bowen girls' night. Gated on the Bowen
sissification shatter (shatterMindBowenFired). Elena calls him
over, does his makeup at her dresser, and lays out the night:
he is coming to the club as a girl. Spends the Nudge cost on
entry; routes to the with-Bowen club scene (TBD stub). */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, the dresser mirror">>
<<spendBiomass setup.nudgeCost() "clubnight-call-bowen">>
<<set $ch2Events.clubNightWithBowen to true>><</nobr>>
<div class="passage-title">Calling Tom</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, the dresser mirror</div>
<p>Elena looks at herself in the mirror, finished and good, and thinks of an evening of fending for her own drinks, and thumbs a different name.</p>
<<say "char-bowen" "Tom">>
<i>(fast pickup, the eager edge on before the first word is out)</i> ...Dr. Chen? Hi, hello, is it the, ...is everything okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(at the mirror, the bolder register on, checking her eyeliner while she talks)</i> Everything is fine, Tom. It is Monday night and I am going out, and you are coming. Get over here. ...and bring your bag. The one you keep in the car.
<</say>>
<p>There is a silence on the line with an entire heartbeat's worth of a man deciding not to ask how she knows about the bag.</p>
<<say "char-bowen" "Tom">>
<i>(quiet, the words arriving carefully)</i> ...okay. ...twenty minutes. <i>(a breath)</i> ...Dr. Chen, the bag is, I do not actually know why I, ...twenty minutes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He has been carrying the wig and the slip in the car for days, waiting for an instruction to exist. That is what the shatter left in him, a door with no handle on his side. The host just knocked.//
<</say>>
<hr class="scene-break">
<p>He arrives in nineteen, and she sits him down at her dresser in the warm lamplight, turns his chin up with two fingers, and goes to work, primer, foundation, the careful line of the eye, unhurried, a craftswoman with good material, while he holds very still and barely breathes.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-bowen-makeup.webp" alt="Elena, a 32-year-old Chinese-American woman in a fitted dark club dress, leaning close to apply eye makeup to Tom Bowen, a man in his mid-20s with wavy dark-blonde hair, seated very still at her dresser in warm lamplight, his chin tilted up, makeup half-done. SFW.">
<<say "char-chen" "Elena">>
<i>(close, working along his cheekbone)</i> ...hold still. Look up. ...god, this skin. You moisturise once a year and you get a canvas like this, it is genuinely unfair. What do you even wash with?
<</say>>
<<say "char-bowen" "Tom">>
<i>(rigid with the effort of not moving his face while answering)</i> ...soap? ...whatever is at the supermarket, I do not really, ...is that wrong? Is soap wrong?
<</say>>
<<say "char-chen" "Elena">>
<i>(dry, blending)</i> ...soap, he says. I have twelve products on that shelf and he says soap. ...close your eyes. <i>(the pencil moving, steady)</i> ...you are good at this part, you know. Holding still. Most people flinch at the liner.
<</say>>
<<say "char-bowen" "Tom">>
<i>(eyes closed, the words coming out quieter than he means them to)</i> ...I have done it before. By myself. Badly, with drugstore stuff, after the dreams started, there were a few weeks where I kept wanting to and I did not let myself look at it too hard. ...I do not know why I am telling you that.
<</say>>
<<say "char-chen" "Elena">>
<i>(the pencil not stopping)</i> ...because people tell the truth at this distance. Barbers get confessions, I get this. ...open. Look at me. <i>(holding up two lipsticks)</i> ...door question. The red or the pink?
<</say>>
<<say "char-bowen" "Tom">>
<i>(looking, the answer arriving faster than he wants it to)</i> ...the pink. ...the red is yours.
<</say>>
<<say "char-chen" "Elena">>
<i>(a grin, uncapping it)</i> ...the pink, and the red is mine. See, you are already better at this than half the girls I know. ...now hold still, and listen. Here is tonight, Tom. You are coming to the club with me, and you are coming as a girl. Before you say anything: girls get in for half, girls get bought drinks all night, and I am not paying full cover plus rounds for a junior tech when I can walk in with a girlfriend for free. It is economics. ...blot. Good.
<</say>>
<<say "char-bowen" "Tom">>
<i>(very still under the brush, the protest assembling and then quietly dissolving somewhere on the way out)</i> ...as a, ...okay. ...I, yes. Okay. <i>(a small breath, eyes on the ceiling)</i> ...the wig is in the bag. And the, ...everything is in the bag.
<</say>>
<img class="scene-img" src="media/scenes/vessel/clubnight-bowen-result.webp" alt="Tom Bowen after the makeover, a man in his mid-20s made up as a pretty young woman, soft full makeup, pink lips, seated at the dresser in warm lamplight looking at himself in the mirror. SFW.">
<<say "char-chen" "Elena">>
<i>(tilting his face to the light, checking her work, then meeting his eyes in the mirror)</i> ...there she is. ...rules for tonight. You are my girlfriend, you laugh at my jokes, you flag the bartender when my glass is empty, and you do not sulk when men look at you, because they are going to. ...and if I get a proper girls' night out of you, you might even get rewarded. ...do not ask what the reward is. Earn it first.
<</say>>
<<say "char-bowen" "Tom">>
<i>(looking at the stranger in the mirror, the voice coming out smaller and steadier than he expects)</i> ...yes ma'am. ...she is, ...I mean, I am, ...ready when you are.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Look at the work. The mind I rebuilt holds the new shape without a seam, and the host paints the outside to match and calls it economics. ...neither of them said the true thing out loud, which is that he wants this more than he has wanted anything in years, and that she knows it. The club gets two girls tonight, and one of them is mine twice over.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Keys, coats, the two of them out the door|Ch2-Vessel-Event-ClubNight-WithBowen]]</div><<nobr>><<bg "bg-club">>
<<set $currentArea to "A club two neighbourhoods over, the floor">>
<<set $house.dayPhase to "night">>
<</nobr>>
<div class="passage-title">Girls' Night</div>
<div class="lab-location">A club two neighbourhoods over, the floor</div>
<p>The door girl takes one look at the two of them, waves them past the line, and charges them the ladies' rate without a flicker, and Elena pockets the difference with the satisfaction of a woman whose economics have just been peer-reviewed. Inside it is loud and dark and exactly right, and they are not at the bar four minutes before the first drinks arrive that neither of them ordered, sent by a table of suits who raise their glasses across the room.</p>
<<say "char-chen" "Elena">>
<i>(clinking her glass against his, leaning in to be heard over the music)</i> ...see that? Four minutes. You have been a girl for four minutes and you are already outperforming my whole last quarter. ...drink up, Lucy. The night is long and you are full of surprises.
<</say>>
<<say "char-bowen" "Tom">>
<i>(a careful sip, the voice pitched up half a register and wobbling on the landing)</i> ...Lucy. ...okay. Lucy. <i>(a glance at the suits, then quickly away)</i> ...they are looking over here. Why are they, ...do not answer that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is having fun. Actual fun, the kind I never had to plant, and the boy in the dress is the engine of it. Every laugh she gets out of him loosens him another turn, and every turn she loosens earns her another laugh. I am barely working tonight. I am a passenger on a ride my own renovations built.//
<</say>>
<p>They dance. The floor is crowded enough that nobody is watching anybody, which is the only reason Tom agrees to it, and Elena gets exactly two songs of good-faith girls' night out of herself before her hands start editorialising, one of them sliding down mid-song to take a full handful of his ass through the dress.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-dance.webp" alt="Elena in her fitted dark dress dancing close with Lucy, Tom Bowen made up as a young woman in a dress and blonde wig, on a crowded dark club floor, Elena grinning with a hand low on Lucy's hip, Lucy flustered. SFW.">
<<say "char-chen" "Elena">>
<i>(mouth at his ear, hand staying where it is)</i> ...relax, Lucy. Girls dance with their hips, not their shoulders. ...there. Better. <i>(the hand patting, proprietary)</i> ...all that bench work and it turns out this was your best asset the whole time.
<</say>>
<<say "char-bowen" "Tom">>
<i>(rigid, then less rigid, the flush visible even in club light)</i> ...Dr. Ch, ...//Elena//. There are people. ...there are so many people.
<</say>>
<<say "char-chen" "Elena">>
<i>(turning him by the hip, a knuckle grazing deliberately across the front of his dress in the turn, grinning at what she finds)</i> ...and not one of them is looking at anything but your legs. Speaking of which, sweetheart, your bulge is showing. ...tuck or angle, pick one, a lady keeps her secrets. <i>(wicked)</i> ...although judging by the state of it, the lady is having a wonderful time.
<</say>>
<<say "char-bowen" "Tom">>
<i>(strangled, adjusting himself through the dress with as much dignity as the verb allows)</i> ...I hate you. ...I am having the best night of my life and I hate you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both true. That is the thing about the boy, the wanting and the mortification run on the same wire, and the host has spent the whole evening playing it like an instrument. He has not checked his phone once. He has not mentioned the lab once. There is a person coming up in him that the bench never had room for.//
<</say>>
<hr class="scene-break">
<p>It is somewhere past midnight when the man arrives, mid-thirties, good shoulders, the unhurried confidence of someone who has watched for a while before walking over, and he buys the round before he says a word, and when he says the word he says it to Lucy.</p>
<<say "char-npc" "the man">>
<i>(leaning in between them, easy, his eyes on Lucy)</i> ...I have been trying to work out all night which of you two is trouble. ...I think it is the quiet one. Can I steal her for a song?
<</say>>
<<say "char-chen" "Elena">>
<i>(a slow sip, looking him up and down, the answer arriving with something underneath it)</i> <<tongueSlip "...appreciated, but no. Girls' night. She is shy, and she is with me." "...appreciated, but here is the thing. She is shy, she is with me, and she is not what you think she is. ...which is usually my favourite part of her. Ask me nicely and I might let you find out what I mean." 0 "" "clubLucySlip" "#lucy-propose-branch" "" "club-lucy-slip" "#lucy-refuse-branch" "" "">>
<</say>>
<div id="lucy-refuse-branch" @style="$ch2Events.clubLucySlip ? 'display:none' : ''">
<p>The man takes the no the way men with good shoulders have learned to, a palm up, a smile, no harm asked. He drifts back toward his table with his drink, and Lucy exhales a breath that has been held since the word //steal//.</p>
</div>
<div id="lucy-propose-branch" @style="$ch2Events.clubLucySlip ? '' : 'display:none'">
<<say "char-npc" "the man">>
<i>(the smile recalibrating, interested instead of deterred)</i> ...now that is the most interesting sentence anyone has said to me in this building. ...I am asking nicely.
<</say>>
<<say "char-bowen" "Tom">>
<i>(very quietly, into Elena's shoulder, the pitched voice forgotten)</i> ...Elena. What are you doing. //What are you doing?//
<</say>>
<<say "char-chen" "Elena">>
<i>(to Lucy, low, a hand smoothing the wig back from his ear, the question genuine under the mischief)</i> ...earning you your reward, maybe. ...or walking away with you right now. Your call as much as mine, sweetheart. Blink twice and we are gone.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Offer Lucy to him, steer them to the bathroom (1 biomass)" "Ch2-Vessel-Event-ClubNight-WithBowen-Trap" 1>></div>
<div class="choice-risk-hint"><i>Content warning: trap content, male on male.</i></div>
</div>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> [[Not tonight. Take Lucy home instead|Ch2-Vessel-Event-ClubNight-WithBowen-Home]]</div><<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment, late">>
<<set _firstTime to not $ch2Events.clubLucyHomeDone>>
<<set $ch2Events.clubLucyHomeDone to true>>
<<set $ch2Events.clubLucyHomeDay to ($day or 0)>>
<<if _firstTime>>
<<addBiomass 3 "club-lucy-reward">>
<</if>>
<</nobr>>
<div class="passage-title">The Reward</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's apartment, late</div>
<p>Elena sends the man back to his table with a smile that closes the subject, finishes one last song with her hands respectably high for the first time all night, and pours Lucy into a cab. The whole ride home his knee bounces, and the whole ride home she watches it bounce and does not say a word, which makes it worse, which is the point.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-reward-1.webp" alt="The back seat of a cab at night. Elena in her dark club dress watching with a small knowing smile as Lucy, Tom Bowen in a blonde wig and smudged makeup, sits beside her with his knee bouncing, city lights through the window. SFW.">
<<say "char-chen" "Elena">>
<i>(unlocking her door, walking in without turning the big light on, talking over her shoulder)</i> ...you were a very good girlfriend tonight, Lucy. Drinks flagged, jokes laughed at, dignity maintained under severe provocation. ...so. The reward. <i>(pointing at the bed)</i> ...sit.
<</say>>
<<say "char-bowen" "Tom">>
<i>(sitting where pointed, the wig slightly crooked, hands flat on his knees like a man at an interview)</i> ...okay. ...sitting. ...Elena, what is the, ...should I, ...what do I do?
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping out of her heels, crossing the room, climbing onto his lap with a knee either side and settling there, her face an inch from his)</i> ...nothing. That is the whole instruction, sweetheart. The reward is me, and the rules are these: the wig stays on, the dress stays on, your hands go where I put them and nowhere else, and you do not finish until I say the word. ...good girls get ridden, Lucy. You have been a very good girl.
<</say>>
<p>She kisses the rest of an answer out of his mouth, takes his hands and plants them on her hips like furniture, and reaches down between them to gather his dress out of the way and take him out, already hard enough to be embarrassing, and she sinks down onto him in one unhurried motion, both of them exhaling like the air has been let out of the whole day.</p>
<video class="scene-video" src="media/video/clubnight-lucy-reward-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-reward-2.webp"></video>
<<say "char-chen" "Elena">>
<i>(riding him slow, hands on his shoulders, watching his face come apart)</i> ...there she is. Prettiest girl in the club, with her cock buried in her boss. ...do not look away, Lucy, this is the reward, you are supposed to watch it. ...god, you are wound tight, all night flagging drinks for me and not one of them touched you where it counts, did they?
<</say>>
<<say "char-bowen" "Tom">>
<i>(under her, the pitched voice and his own trading places mid-sentence, hands flexing on her hips where they were put)</i> ...no, ...nobody, ...//Elena//. ...I am not going to, ...you said until you say, please say it soon, please, ...//please//.
<</say>>
<<say "char-chen" "Elena">>
<i>(grinding down, her own breath shortening, a fist closing in the front of his dress)</i> ...beg in the voice, sweetheart. ...//Lucy's// voice.
<</say>>
<<say "char-bowen" "Tom">>
<i>(the register lifting, wrecked and obedient and entirely sincere)</i> ...please. ...//please//, may I, ...Lucy has been so good, ...
<</say>>
<p>That is the sentence that finishes her. She comes grinding down hard with the fist still closed in his dress, and then, before he can follow her over, she climbs off him entirely, leaving him wet and straining and briefly, audibly betrayed, and pushes him flat, folds his knees back toward his chest with one hand, and takes him in the other.</p>
<<say "char-chen" "Elena">>
<i>(stroking him fast and angled, her face beside his, watching his eyes)</i> ...not in me, sweetheart. Good girls wear it. ...now, Lucy. //Now.//
<</say>>
<p>He comes with a sound that has no register at all, over his own chin and cheek and the ruin of his lipstick, striping the smeared makeup, and she works him through every last twitch of it and only lets his knees back down when he is empty, the wig finally sliding off sideways like it has been dismissed.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-reward-3.webp" alt="Elena's dim bedroom. Tom Bowen flat on his back, blonde wig askew, cum striped across his own face over the smeared makeup, mouth open, dazed, the dress disheveled. Explicit, NSFW, facial.">
<<say "char-chen" "Elena">>
<i>(pulling the wig the rest of the way off, dropping it on the nightstand, swiping a stripe off his cheek with her thumb and showing it to him)</i> ...there he is. Hello, Tom. Wearing the whole night, look at that. ...Lucy gets the goodnight kiss, though. <i>(kissing the clean corner of his mouth, unhurried)</i> ...mm. Good night out. We are doing it again.
<</say>>
<<say "char-bowen" "Tom">>
<i>(flat on his back, one arm over his eyes, the grin audible under it)</i> ...I said I hated you earlier. ...formally retracted. ...best night of my life, and I have to be at the bench in seven hours, and I do not care even slightly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The reward lands on both registers at once, the boy who has wanted her since his first week and the girl I built room for, and the spike comes off the pair of them braided so tight I cannot tell which one fed me more. ...the host keeps her promises. That is going to matter to these people later, more than any of them knows yet.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, the night paid out in full.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Sleep, eventually">><<set $ch2Events.lucyWakeupPending to true>><<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">><<goto "Ch2-Vessel-Dream-Entry">><</link>></div>/* Fem/Lucy morning-after, mirror of Ch2-Vessel-Event-BowenWakeup. Fired from the
dawn report when lucyWakeupPending is set (Lucy slept in her bed after the club
reward). Elena wakes him with a blowjob, edges him without letting him finish
because she wants him hard all morning, re-does the Lucy makeup, and has him
call in sick. Clears lucyWakeupPending. 1 new image (+ reused makeup shot).
+2 biomass first-visit. Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, early">>
<<set $vessel.phase to "home">>
<<set $ch2Events.lucyWakeupPending to false>>
<<set $ch2Events.bowenCalledInSickDay to ($day or 0)>>
<<set $ch2Events.lucyHereDay to ($day or 0)>>
<<set _firstTime to not $ch2Events.lucyWakeupDone>>
<<set $ch2Events.lucyWakeupDone to true>>
<<if _firstTime>>
<<addBiomass 2 "lucy-wakeup">>
<</if>>
<</nobr>>
<div class="passage-title">Wake-Up Call</div>
<div class="lab-location">Cedar Crescent Apartments, the bedroom, early</div>
<p>The grey light comes up on the two of them in her bed, the wig dropped on the nightstand sometime in the night and Tom asleep on his back with last night's mascara smudged into raccoon rings he has no idea he is wearing. Elena wakes before the alarm, looks at him a moment, and slides down under the covers without waking him on purpose, because there is a better alarm than the one on the phone.</p>
<<say "char-hivemind" "Hivemind">>
//Here the host does the steering. She wakes a boy with her mouth and decides for him whether the day even starts, and he surfaces already losing and grateful for it. The keeping is going to be the whole point of today.//
<</say>>
<p>She takes him into her mouth soft and slow while he is still mostly asleep, and he hardens before he is properly awake, and the first sound he makes on surfacing is pure Lucy with no makeup on to back it up.</p>
<video class="scene-video" src="media/video/clubnight-lucy-wakeup-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-wakeup-bj.webp"></video>
<<say "char-bowen" "Tom">>
<i>(surfacing, hips lifting before his eyes are even open, the voice pitched up and helpless)</i> ...oh, ...oh god, ...Elena, ...don't stop, please don't stop, I was, ...//oh//...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off him with a wet sound, a hand still working him slow, conversational)</i> ...morning, sweetheart. ...mm, awake before the coffee for once, look at you. ...no, do not get comfortable. I am not finishing you. ...I just need you nice and hard and miserable about it for what comes next.
<</say>>
<p>She works him exactly that way, mouth and hand, taking him to the trembling edge and lifting clean off him every time his thighs start to lock, again and again, until he is shaking and leaking and making sounds into her pillow that he will be embarrassed about in an hour and is far past caring about now.</p>
<<say "char-bowen" "Tom">>
<i>(wrecked, the begging arriving wholesale)</i> ...please, ...Elena, please, just let me, I have been close for so long, please, I will do anything, ...please let me come...
<</say>>
<<say "char-chen" "Elena">>
<i>(sitting back on her heels, unhurried, reaching for the makeup bag on the nightstand)</i> ...no. ...not yet, and maybe not for a good while, that depends entirely on how good Lucy is today. ...here is the morning, sweetheart. You are not going in to the lab. You are going to call in sick, nice croaky voice, something contagious, and then you are going to hold very still and let me do your face, and you are going to spend the whole day exactly this hard and exactly this mine. ...phone. Call Nathan.
<</say>>
<<say "char-bowen" "Tom">>
<i>(reaching for his phone before the protest can even finish forming, the croak already half-real from the begging)</i> ...I, ...okay. ...I have a standup at nine, I should, ...no. ...yes. Calling in. ...what am I even sick with?
<</say>>
<<say "char-chen" "Elena">>
<i>(uncapping the foundation, tilting his chin up with two fingers)</i> ...something that keeps you home and in bed all day, Lucy. Use your imagination. ...there's my good girl. Hold still.
<</say>>
<p>He makes the call with her hand resting warm and proprietary on his still-hard cock the whole time, which does the croak no harm at all, and Nathan buys it without a second thought, and the moment he hangs up Elena takes the phone out of his hand, sets it face-down, and goes to work on his face with the wig already waiting on the pillow beside them.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-bowen-result.webp" alt="Tom made up as Lucy again, soft full makeup, pink lips, the blonde wig on, looking at himself in the mirror">
<<say "char-hivemind" "Hivemind">>
//She has taken a man's entire working day off the board with one phone call and one denied orgasm, and turned it into hours of Lucy kept right on the edge in her bed. He called his own boss and lied to stay, which means the staying is his choice now, the only kind of cage that needs no lock. ...a full day of held arousal is a harvest you do not rush. Neither of them is going to.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, a whole day of Lucy bought with one phone call.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Lucy is not going anywhere today|Ch2-Vessel-Loop-Wake]]</div><<nobr>><<bg "bg-club">>
<<set $currentArea to "The club, the back bathroom">>
<<set _firstTime to not $ch2Events.clubLucyTrapDone>>
<<set $ch2Events.clubLucyTrapDone to true>>
<<set $ch2Events.clubLucyTrapDay to ($day or 0)>>
<<if _firstTime>>
<<spendBiomass 1 "club-lucy-trap-lure">>
<<addBiomass 3 "club-lucy-trap">>
<</if>>
<</nobr>>
<div class="passage-title">Girls' Night</div>
<div class="lab-location">The club, the back bathroom</div>
<p>Elena makes the introductions with a hand on each of them and the smile of a woman closing a deal only she has read the terms of, and steers the pair of them down the back corridor to the accessible bathroom, and posts herself against the door inside like a chaperone with no intention of chaperoning anything.</p>
<<say "char-chen" "Elena">>
<i>(locking the door behind the three of them, conversational)</i> ...house rules. Nobody is rough with her unless she asks, and she will not ask, she is a lady. ...go on, then. Get acquainted. I am just here for the ambience.
<</say>>
<p>The man does not need telling twice. He closes the space and crowds Lucy back against the edge of the counter, slow and sure of himself, one hand settling on the waist of the dress, and Lucy, two cocktails brave and a whole evening past the point of pretending he does not want to know how far the night goes, lets himself be crowded. The kiss starts careful and stops being careful, the man's hand sliding up into the blonde wig, Lucy's lipstick surrendering to it, a small sound coming up between them that belongs to nobody in particular.</p>
<<say "char-chen" "Elena">>
<i>(arms folded at the door, delighted, commentating at a polite volume)</i> ...look at you two. ...careful with the lipstick, that took me twenty minutes. ...mm, on second thought, ruin it. It is a good colour ruined.
<</say>>
<p>The man's other hand drops, unhurried, the confident slide of a man who has run this exact play in this exact bathroom before, down the small of the back, over the hem, around to the front of the dress, and stops dead.</p>
<<say "char-npc" "the man">>
<i>(against Lucy's mouth, going very still, his hand not moving from what it found)</i> ...wait. <i>(pulling back half a step, looking down between them, then at Elena, then back)</i> ...//wait//. ...you are, ...that is, ...okay. Hold on. Hold on.
<</say>>
<p>His face does the whole argument at once, and that is the moment something warm and patient that has been drifting off Elena all evening reaches him, settles in behind his breastbone, and quietly turns the argument off.</p>
<<say "char-hivemind" "Hivemind">>
//There. The smallest dose of the night, breathed across four feet of bathroom air. I do not change his mind. I only take the brakes off the part of it that was already revving, the part that kept his hand moving south long after he suspected, and let the wanting finish the sentence the upbringing was interrupting. ...watch. The argument loses.//
<</say>>
<<say "char-chen" "Elena">>
<i>(off the door, smoothing the man's lapel with two fingers, honey over steel)</i> ...I told you she was not what you think she is, and you asked nicely anyway. ...do not go shy on us now. <i>(to Lucy, a nod at the man)</i> ...Lucy, sweetheart. The gentleman is having a small crisis. Show him how good a cocksucker my girlfriend is, and let him make his mind up with the facts in front of him.
<</say>>
<p>And Lucy holds the man's eyes, gathers the dress, and goes down onto his knees on the bathroom tile, and opens the man's belt with hands that are steadier than they have any right to be, and takes him into his mouth.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-bj.webp" alt="The club bathroom. Lucy, Tom Bowen in a dress and blonde wig and full makeup, kneeling on the tile giving a blowjob to a tall man in his mid-30s with his belt open, Elena leaning against the door watching. Explicit, NSFW, trap.">
<<say "char-npc" "the man">>
<i>(a hand finding the wig despite himself, his head tipping back, the crisis losing on points)</i> ...oh. ...oh, that is not fair. ...//fuck//. ...you know what. Fuck it. Prettiest mouth in the building is the prettiest mouth in the building. ...do not stop.
<</say>>
<p>He works the man with his mouth until the man is the one making noise, and then the man hauls him up by the waist, turns him to the sink, gathers the dress over his hips, and Elena passes over the little sachet of lube from her clutch without being asked, because she packed for every version of a good night.</p>
<<say "char-bowen" "Tom">>
<i>(bent over the sink, the wig askew in the mirror, breathless, the voice his own again and not caring)</i> ...oh god. ...okay. Okay. ...//Elena.// ...do not, do not stop watching. ...is that, ...I do not know why I said that.
<</say>>
<<say "char-chen" "Elena">>
<i>(arms folded against the door, warm, not moving)</i> ...I know exactly why you said it, Lucy. ...I am not going anywhere. Eyes on the mirror, sweetheart. You are going to want to remember what you look like right now.
<</say>>
<p>The man works into him slow with a grip on each hip, and Lucy takes it bent over the bathroom sink in a dress with his own cock straining the fabric, pushed back onto every stroke, the noises climbing out of him bare and grateful and entirely unfeminine, and the mirror holds the whole picture, the wig, the ruined lipstick, the man behind him, Elena at the door with her arms folded like a museum guard in front of her favourite painting.</p>
<video class="scene-video" src="media/video/clubnight-lucy-anal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-anal.webp"></video>
<p>The man finishes deep with a grip that will leave fingermarks, and Lucy spills against the cabinet a half-breath later, untouched, knees nearly going, held up by the man's hands and the sink and not much else. For a moment the bathroom is just breathing and bass through the wall.</p>
<<say "char-npc" "the man">>
<i>(stepping back, buckling up, a dazed glance from Lucy to Elena and back)</i> ...I do not know what tonight was. ...I am going to think about it for a year. <i>(at the door, a beat, to Lucy, almost courtly)</i> ...ma'am.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He tips an invisible hat to the boy he just bent over a sink, and walks out happier than the chemistry strictly accounts for. ...and the host collects her girlfriend off the porcelain, fixes the wig with two fingers, and the two of them start laughing before the door is even shut. The feeding was good. The night was better. I should let her have fun more often, the yield is outstanding.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, the spike off both of them through the bathroom door.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Last song on wobbly legs, cab home|Ch2-Vessel-Loop-Home]]</div>/* Pre-event for the Bowen alpha (TakeBack) club night. Gated on the alpha
shatter (shatterMindBowenAlphaFired). Elena, dressed for a night she picked
for herself, calls Tom to ask him along; he takes the night off her and hands
it back with three conditions (the dress, the plug, the boyfriend rule).
Spends the Nudge cost on entry; routes to the with-Bowen-alpha club scene.
The home payoff after the club is future content, see tasks/rework.md. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, the phone in her hand">>
<<spendBiomass setup.nudgeCost() "clubnight-call-bowen-alpha">>
<<set $ch2Events.clubNightWithBowenAlpha to true>><</nobr>>
<div class="passage-title">Calling Tom</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, the phone in her hand</div>
<p>Elena is dressed and good and a glass of wine into the evening, and the phone is already in her hand before she has decided what she is going to say, which is the part she does not look at too closely anymore. She thumbs his name, and it rings exactly once.</p>
<<say "char-bowen" "Tom">>
<i>(picking up on the first ring, flat and certain, none of the old nervous junior left in his voice when it is her)</i> ...Dr. Chen. You called me. ...go on.
<</say>>
<<say "char-chen" "Elena">>
<i>(at the mirror, going for breezy and most of the way there)</i> ...hi. It is Monday, and I am going out, the place two neighbourhoods over, dancing. ...I wondered if you wanted to come with me. If you were free.
<</say>>
<<say "char-bowen" "Tom">>
<i>(unhurried, the smile audible and not a kind one)</i> ...you //wondered//. ...no. Try that again, and listen to yourself this time. You do not decide you are going out and then call to let me know. ...you are my slut, Dr. Chen. You do not put that body in a room full of men because you feel like dancing. I decide whether you are allowed out of that apartment at all.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(phone against her ear, the breezy going out of her all at once)</i> ...okay. ...there it is. ...I knew what I was calling him for. I dressed for it, I poured the wine, I picked up the phone, and I am still standing here a little stunned every time he just says it out loud.
<</say>>
<<say "char-chen" "Elena">>
<i>(quieter now, dropping to meet the voice he is using on her)</i> ...you are right. I am sorry. ...may I go out tonight? ...please, Tom. I would like to. I will be good.
<</say>>
<<say "char-bowen" "Tom">>
<i>(letting the silence sit just long enough to be felt)</i> ...better. ...there she is. All right. You can go, and I am coming with you, because I am not letting that out the door on its own. But you go on my terms, and there are three of them. ...still want to go?
<</say>>
<<say "char-chen" "Elena">>
<i>(immediate, before the sensible part of her can find the floor)</i> ...yes. ...yes, tell me.
<</say>>
<<say "char-bowen" "Tom">>
<i>(counting them off, in no hurry at all)</i> ...one. The dress you are standing in, the one you think makes you look classy. Off. The little black dress at the back of the drawer instead, the short tight one you have never once had the nerve to wear out. It makes the point on its own. You are not going dancing as Dr. Chen tonight.
<</say>>
<<say "char-bowen" "Tom">>
<i>(two, the same even voice)</i> ...two. Nothing under it. And the plug, the one you bought and told yourself was for some other night. Tonight is the other night. It goes in before you leave and it stays in, and every time you feel it out on that floor you are going to remember whose idea it was. ...mine. Say yes and it is yours too.
<</say>>
<<say "char-bowen" "Tom">>
<i>(three)</i> ...three. I am your boyfriend tonight, and you tell anyone who asks. Men are going to ask, dressed like that, and every one of them gets the same answer. You have a boyfriend, you are not interested, the hands stay off. You can dance, you can let them buy the drink, but the only person who touches you tonight is me. ...are those clear?
<</say>>
<<say "char-chen" "Elena">>
<i>(barely a breath under it)</i> ...yes, Tom. ...they are clear.
<</say>>
<p>She puts the phone down with his voice still in it telling her he will see her there, and she does what he said in the order he said it, the classy dress off and over the chair, the little black one out of the back of the drawer where it has waited for a nerve she never found on her own, nothing under it, and then the plug, slick and cold and then not, worked in slow with one hand braced on the dresser and her breath shortening at her own reflection.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-outfit.webp" alt="Elena, a 32-year-old pale-skinned Chinese-American woman with black hair and slim dark-acetate glasses, standing at her bedroom dresser mirror in a very short tight black dress, no stockings, dressed provocatively for a night out, checking herself over her shoulder in the mirror with a flushed uncertain expression, warm lamplight. Suggestive.">
<<say "char-chen-thought" "Elena">>
<i>(turning side-on to the glass, tugging at a hem that does not go any lower)</i> ...god. ...okay. There is no way to walk into that club in this that is not exactly what he said it was. ...and I did my face for it an hour ago thinking the whole thing was my idea.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She picked the dress, the wine, the eyeliner, the night. She called him to be told that none of it was hers to pick, and the relief that came off her when he took it is the whole reason I built him to take it. The dress is his now. The plug is his. The answer she will give every man on that floor is his. She will spend the night feeling owned and read it as feeling wanted, and she will not go looking for the seam, because I left her none.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Keys, the short dress, out the door|Ch2-Vessel-Event-ClubNight-WithBowen-Alpha]]</div><<nobr>><<bg "bg-club">>
<<set $currentArea to "A club two neighbourhoods over, the floor">>
<<set $house.dayPhase to "night">>
<<set _firstTime to not $ch2Events.clubNightWithBowenAlphaDone>>
<<set $ch2Events.clubNightWithBowenAlphaDone to true>>
<<set $ch2Events.clubNightWithBowenAlphaDay to ($day or 0)>>
<<if _firstTime>>
<<addBiomass 2 "club-bowen-alpha">>
<</if>>
<</nobr>>
<div class="passage-title">His Night</div>
<div class="lab-location">A club two neighbourhoods over, the floor</div>
<p>Tom is already there when she arrives, at the end of the bar with a drink he is not really drinking, and he watches her cross the whole room to him without getting up, and lets his eyes go down her once and back, slow, the way a man checks that an instruction has been followed to the letter.</p>
<<say "char-bowen" "Tom">>
<i>(not off the stool, a hand turning her by the hip to see the back of the dress)</i> ...good. You wore it. ...and it is in, I can tell by the way you are standing. ...good girl. Go on, then. Dance. I want to watch you do the thing you called me about. I will be right here. Eyes on you the whole time.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the plug a low full pressure with every step away from him)</i> ...he is going to sit there with his eyes on me the whole night, and I am going to feel him watching more than I feel the music. ...that is the point of it, and I want it anyway.
<</say>>
<p>So she dances. The floor is dark and packed and the bass sits in her sternum, and for the first few songs she dances the way she came to dance, loose and good and somewhere under the dress twenty-two again, except that nothing about the dress lets her forget the terms she is wearing it on, the hem riding up with every lift of her arms, the plug seated deep and steady with every roll of her hips, and Tom at the bar with his drink and his eyes, not moving, not needing to.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-upskirt.webp" alt="Low upskirt angle from below on a dark club dance floor, looking up under the short hem of a tight black dress as a woman dances with her hips rolling, bare underneath, the jewelled base of a buttplug visible between her cheeks, club lights and blurred crowd silhouettes above. Explicit, NSFW.">
<<say "char-hivemind" "Hivemind">>
//Every man within ten feet has done the arithmetic of that dress and that walk, and not one of them knows what is seated under it, holding the whole of her attention on the man at the bar with every beat. She is the most looked-at body on the floor and the least available on it, and the gap between those two facts runs straight to him. ...this is the cleanest feeding she has ever given me. She is doing all of it herself, and calling it a good night out.//
<</say>>
<p>It does not take long. He is good-looking and sure of it, and he comes in close behind her with the ease of a man who has never once been told no in this building, a hand finding her hip in the dark like it has a standing right to it.</p>
<<say "char-npc" "the man">>
<i>(low, at her ear, already moving with her)</i> ...there you are. I have been watching you since you walked in. ...let me buy you something. What are you drinking?
<</say>>
<<say "char-chen" "Elena">>
<i>(lifting his hand off her hip and stepping clear of it, turning to say it to his face)</i> ...you can buy me a drink, that is sweet of you. But the hand, no. I have a boyfriend. He is right there at the bar, he is watching, and I am not interested. ...thank you, though.
<</say>>
<<say "char-npc" "the man">>
<i>(a glance toward the bar, a palm up, the easy retreat of a man who knows the line)</i> ...boyfriend. Say no more. Lucky guy. ...offer stands, no strings.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(turning back into the music, the refusal still warm in her chest)</i> ...I said it without a beat of hesitation, to a good-looking man with his hand already on me, and the no came out easy because it was already his to give me. ...and the look on his face at the bar when he heard me. ...I want one of them to ask again, just so I can say it again where he can hear it.
<</say>>
<p>She finds Tom's eyes across the floor as she thinks it, and he has caught every word of the refusal over the noise the way a person catches their own name in a crowd, and he lifts his drink to her, half an inch, no more, and she feels that small private salute land lower than any hand on the floor could reach.</p>
<p>He is off the stool a song later, crossing the floor to her, and he does not ask. He fits himself against her back in the press of the crowd and moves with her for the first time all night, one hand spread wide and proprietary across her stomach to hold her against him, the other dropping to take a slow full handful of her ass through the thin dress.</p>
<<say "char-bowen" "Tom">>
<i>(at her ear, low and mean under the bass, nothing kind left in it)</i> ...look at you. Out here shaking this for a whole room of men who are never going to get it, because it is mine. ...say it. Whose is it.
<</say>>
<<say "char-chen" "Elena">>
<i>(her head tipping back against his shoulder, the answer already there)</i> ...yours. ...it's yours, Tom.
<</say>>
<p>The hand on her ass slides down and around and up under the hem, and in the dark of the crowd, with bodies a foot away on every side, two of his fingers find her bare and already soaked and push up into her, slow, the heel of his hand grinding against her clit while his other arm holds her upright when her knees try to forget how.</p>
<<say "char-bowen" "Tom">>
<i>(fingers working into her, his thumb dug hard into the cheek of her ass, voice gone cruel)</i> ...soaked. In a room full of strangers, with my fingers in you, dripping down my wrist. ...that is what you are. Not a doctor tonight. Just a wet little hole that needed someone to tell it where to stand. ...say what you are.
<</say>>
<<say "char-chen" "Elena">>
<i>(barely keeping it under the music, riding his hand, gone)</i> ...//mmh//, ...I'm your little slut, Tom. ...I'm yours, all of it, ...please, ...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Public, plugged, and his fingers knuckle-deep in the middle of a crowd, and the whole of the host has narrowed to the few inches of him doing the work. She named herself out loud on a dance floor, and the naming spiked harder than the hand did. ...he will not let her finish here. He wants that at home, where she has further to fall.//
<</say>>
<p>He pulls his fingers out of her right at the edge and leaves her clenching on nothing, brings them up to her mouth, and she takes them and sucks them clean without being told to.</p>
<<say "char-bowen" "Tom">>
<i>(thumbing the wet off her bottom lip, the decision already made)</i> ...not here. We are going to your place, now, and you are going to spend the whole cab ride exactly like this, right on the edge, not allowed. ...get your coat, Dr. Chen. You knew you were coming home with me before you ever picked up the phone.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He worked her open in a crowd and shut it off a breath before it broke, and she will carry that the whole way home, clenching and grateful and his. The part of the night he is taking her home for is the part the conditioning has been aimed at since the bench. ...the host gets her coat because he told her to, and calls the wanting hers.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, the charge off a body worked open in a crowd and walked out still wanting.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The cab, his hand on your knee the whole way home|Ch2-Vessel-Event-ClubNight-WithBowen-Alpha-Home]]</div>/* Home payoff after the alpha club night. Reached from -WithBowen-Alpha.
Forced deepthroat -> anal (the plug worn all evening has her ready) -> anal
creampie, then the couch/bed ownership beat (she takes the couch, he takes
her bed). +3 biomass + max biomass +1, first-visit guarded. NSFW, submission
/ degradation register. 3 images. Ends to Loop-Home. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, late">>
<<set $vessel.phase to "home">>
<<set _firstTime to not $ch2Events.clubNightAlphaHomeDone>>
<<set $ch2Events.clubNightAlphaHomeDone to true>>
<<set $ch2Events.clubNightAlphaHomeDay to ($day or 0)>>
<<if _firstTime>>
<<addBiomass 3 "club-bowen-alpha-home">>
<<set $player.maxBiomass += 1>>
/* He is in her bed tonight; arm the morning-after wake-up scene, fired from
the dawn report (Ch2-Vessel-DayRecap) before the morning hub. */
<<set $ch2Events.bowenWakeupPending to true>>
<</if>>
<</nobr>>
<div class="passage-title">Earned It</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, late</div>
<p>The cab ride is his hand high on her bare thigh the whole way and not one word, and she spends every minute of it exactly where he left her on the floor, soaked and clenching and not allowed, and by the time the apartment door shuts behind them she is so far past aching she could cry with it, and he walks her backward into the bedroom with a hand at her throat, lifting the glasses off her face with his other hand and setting them on the dresser as they pass, unhurried, like he has been here before and the room just had not caught up to it yet.</p>
<<say "char-bowen" "Tom">>
<i>(working his belt open, his free hand already winding into her hair)</i> ...down. You have had that plug in you since before you left the apartment, so do not pretend you have not been waiting for this all night. ...open your mouth, Dr. Chen. We take the edge off first.
<</say>>
<p>She goes down onto her knees on the bedroom floor without a word, and he feeds himself into her mouth and does not wait for her to find a rhythm, just fists both hands into her hair and sets one of his own, deep and unhurried, the head of him pushing into the back of her throat on the first stroke and every stroke after, salt and skin and the warm clean soap-smell of him filling up the whole of her.</p>
<video class="scene-video" src="media/video/clubnight-alpha-home-deepthroat.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-home-deepthroat.webp"></video>
<<say "char-chen" "Elena">>
<i>(around him, no room left for anything else)</i> //Glk. ...gkh. ...mmgh.//
<</say>>
<<say "char-bowen" "Tom">>
<i>(holding her nose to his stomach for a long beat, then easing her back for air)</i> ...there. ...all that talking you used to do at the bench, and your mouth turns out to be so much better used like this. ...breathe. Then back down. I am not finished with the front of you.
<</say>>
<<say "char-chen" "Elena">>
<i>(a ragged gasp, a thread of spit breaking between her lip and the head of him)</i> ...Tom, ...I can't, I...
<</say>>
<p>He drags her up off him by the hair and holds her there a beat, her mouth still open and gasping, and spits down into it, a thick wet //ptoo// that lands square on her tongue, and then a second time across her cheek, slow, just to watch it run.</p>
<<say "char-bowen" "Tom">>
<i>(thumbing the mess across her cheek, then guiding her mouth back down onto him)</i> ...you can, and you are. That is all you are good for tonight. ...swallow it, and less talking. You know what your mouth is for.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She wore the plug all evening because he told her to, and the wearing did the work I would otherwise have had to do myself. Hours of a low steady pressure she could not put down, in a room full of men she was not allowed to touch, every signal in her routed back to the one man who was not there. She is not being opened up tonight. She was opened hours ago, on a dance floor, by a sentence over a phone.//
<</say>>
<p>He pulls her up off the floor by the elbow and turns her and folds her face-down over the edge of her own bed, pushes the short dress up over her hips, and the plug is still seated in her where it has ridden all night. He works it out of her slow, and she makes a sound into the duvet that is half relief and half loss, and then his hands are on her hips and he is lining himself up against the slick worked-open give of her where the plug just was.</p>
<<say "char-bowen" "Tom">>
<i>(one hand flat between her shoulder blades, pressing her down into the bed)</i> ...look at that. Wide open and still warm. ...you spent all night prepping yourself for me and calling it dancing. ...stay down.
<</say>>
<p>He pushes into her ass in one long stroke, all the way to the hips, and the plug has done its job, because she takes the whole of him with nothing but a long shaking exhale into the bedding. Then he starts to move, slow at first and then not slow at all, one hand fisted in her hair to keep her cheek turned to the side and the other gripping her hip hard enough to leave marks she will find in the morning.</p>
<video class="scene-video" src="media/video/clubnight-alpha-home-anal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-home-anal.webp"></video>
<<say "char-chen" "Elena">>
<i>(cheek against the duvet, the words arriving in pieces)</i> ...oh god. ...oh god, don't stop, please, ...I have been so good all night, Tom, ...
<</say>>
<<say "char-bowen" "Tom">>
<i>(not slowing, leaning down over her back to put it at her ear)</i> ...you have. ...best girl in the building tonight, and not one of them found out what you really are. ...only me. ...come on this if you want it. You earned that much.
<</say>>
<p>And she does, with no hand anywhere near her cunt, the orgasm tearing through her with her ass full of him and her fists knotted in the duvet, and she comes apart under him with a high cracked sound she would never let out anywhere a colleague might hear it, and he fucks her straight through every second of it without losing his stride.</p>
<<say "char-hivemind" "Hivemind">>
//There it is, the spike I came home for, and it comes off her clean and huge. She has just come with no hand on her at all, off her ass and off being told she was good. The wiring is past the point of needing the body's usual reasons. ...and he is close. I can read it in the grip before he knows it himself.//
<</say>>
<p>His rhythm goes ragged a dozen strokes later, and he drives in to the root and holds there, both hands locked on her hips, and finishes deep inside her ass with a low groan bitten off against her shoulder, and she pushes back onto him through every pulse of it like wanting exactly this is the most natural thing left in her.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-home-creampie.webp" alt="Close-up from behind of a pale-skinned woman face-down over a bed with her hips raised, a man's cock pulling out of her ass, cum leaking from her stretched hole and running down between her thighs. Explicit, NSFW, anal creampie.">
<<say "char-bowen" "Tom">>
<i>(pulling out slow, pressing a thumb against her leaking hole, then patting her flank like a job well done)</i> ...good girl. ...keep that in. That one is yours to sleep on.
<</say>>
<p>She surfaces slowly, cheek still on the duvet, the city quiet through the window and the room close and warm and smelling of the two of them, and when she finally pushes upright and reaches without thinking for the far side of the bed, to fold the cover back and make room, he is already getting into it.</p>
<<say "char-bowen" "Tom">>
<i>(stretching out across the middle of her bed, one arm behind his head, completely at home)</i> ...I am taking the bed. You get the couch. ...I do not share a bed with my slut, Dr. Chen. That is not what you are for. ...go on.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the foot of her own bed, already turning toward the door without a decision behind it)</i> ...okay. ...the couch. ...it is my bed and my name on the lease, and I am going to go sleep on the couch because he said to, and the part of me that should be furious about that is just... not. ...it likes being told.
<</say>>
<p>She does not take the blanket. She lies down on the couch in the dark of her own living room exactly as she is, used and bare, and finds when her thighs press together that she is still soaked and still aching, the orgasm he wrung out of her over the bed nowhere near enough to touch the wanting under it. Her hand is between her legs before she has decided anything, two fingers slow inside herself and the heel of her palm working her clit in tight circles, and she gets herself off again in the dark to the memory of his voice telling her what she is, biting the sound into the cushion so the man in her bed will not hear, and falls asleep like that, curled and unblanketed with her hand still tucked between her thighs.</p>
<<say "char-hivemind" "Hivemind">>
//He took the bed because he could, and she took the couch and then her own hand, because he told her she was not allowed the bed and the wiring supplied the rest. The last orgasm of the night she gave herself, unblanketed in the dark, biting it quiet into a cushion so the man in her bed would not wake. ...she will call the whole of it the best night she has had in a long while, and on the only metric that matters to me she will be right. The yield was excellent.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, the spike off a host who came from being used and gave herself the rest on the couch.</p>
<p><span class="biomass-gain">+1 max biomass</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Sleep, the couch, the dark">><<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">><<goto "Ch2-Vessel-Dream-Entry">><</link>></div>/* Morning-after punishment. Fired from the dawn report (Ch2-Vessel-DayRecap) when
bowenWakeupPending is set (Bowen slept in her bed after the alpha club night). He
wakes her on the couch with her hand still between her legs and corrects the
unsanctioned masturbation with a hard vaginal fuck + the no-touching-without-
permission rule. Clears the pending flag, day-keys bowenHereDay (gates the
breakfast variant). 1 image. +2 biomass first-visit. Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, the couch, early">>
<<set $vessel.phase to "home">>
<<set $ch2Events.bowenWakeupPending to false>>
<<set $ch2Events.bowenHereDay to ($day or 0)>>
<<set $ch2Events.bowenMasturbationBan to true>>
<<set _firstTime to not $ch2Events.bowenWakeupDone>>
<<set $ch2Events.bowenWakeupDone to true>>
<<if _firstTime>>
<<addBiomass 2 "bowen-wakeup">>
<</if>>
<</nobr>>
<div class="passage-title">A Hand Where It Should Not Be</div>
<div class="lab-location">Cedar Crescent Apartments, the couch, early</div>
<p>She wakes the way the used wake, slow and heavy and a beat behind herself, the morning grey through the living-room window and her own hand still exactly where it ended up in the night, two fingers tucked up inside herself and her thumb gone slack against her clit. She has not surfaced enough to be embarrassed before the floor creaks and she understands she is not the first one awake.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes opening, the hand frozen where it is)</i> ...oh. ...oh no, I fell asleep with my, ...he is up, he is right there, ...move the hand, move it now.
<</say>>
<p>She moves the hand. She is too slow. Tom is standing over the couch in the grey light, already looking down at exactly what her hand was doing, and there is not a trace of the night's heat left in his face, only something flat and unimpressed, the look of a man finding a tool left out in the rain.</p>
<<say "char-bowen" "Tom">>
<i>(crouching, taking her wrist and lifting the hand up to look at her wet fingers, unhurried)</i> ...look at this. I go to sleep, and you spend the night with your fingers in yourself on the couch like an animal that cannot be left alone. ...did I say you could do that? ...did I say one word that sounded like permission.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the apology already there)</i> ...no. ...no, you didn't, I'm sorry, I couldn't help it, I was still so, ...I'm sorry, Tom.
<</say>>
<<say "char-bowen" "Tom">>
<i>(flipping her onto her back and dragging her hips to the edge of the couch, working himself out of his shorts)</i> ...you do not get to be sorry. You get to be corrected. ...this is not yours to play with whenever you whine for it. It is mine. So I am going to remind you whose it is, and you are going to lie there and take the reminder.
<</say>>
<p>He pushes into her bare and morning-tight in one hard shove with nothing soft about it, and sets a pace that is correction and not pleasure, fast and deep and graceless, one hand splayed flat and heavy on her lower stomach to hold her exactly where he wants her while he uses her.</p>
<video class="scene-video" src="media/video/clubnight-alpha-morning-vaginal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-morning-vaginal.webp"></video>
<p>And even now, even under him, even being corrected for exactly this, her hand drifts down between them on its own, two fingers reaching for her own clit where he is splitting her open, the wanting louder than the lesson. He feels it the second it happens.</p>
<<say "char-bowen" "Tom">>
<i>(the polite junior gone out of him entirely, roaring it down at her loud enough for the neighbours)</i> REMOVE THOSE FUCKING FINGERS. NOW.
<</say>>
<p>Her hand snaps off herself like the touch burned it, and he still does not leave it there. He fists his free hand into her hair, drags her face up toward his, and spits down onto her, //ptoo//, a thick wet rope of it landing across her cheek and her open mouth, and then a harder one, //hhk... ptoo//, square between her eyes, his hips never once breaking their stride.</p>
<<say "char-bowen" "Tom">>
<i>(fucking her hard, the words landing flat with each stroke, the spit shining on her face)</i> ...useless. You are a useless little slut who cannot keep her own hand off herself for one night, or for one minute. ...this is the only way you get it now. Not your fingers. Me. You do not come unless I am the one putting it in you, and you do not touch this unless I tell you to. ...say you understand.
<</say>>
<<say "char-chen" "Elena">>
<i>(rocked up the couch with every stroke, nodding before she can get the words out)</i> ...I understand, ...//ah//, ...I understand, I won't touch it, it's yours, ...please, can I, ...please...
<</say>>
<<say "char-bowen" "Tom">>
<i>(not slowing, a thumb finding her clit hard and merciless)</i> ...please what. Say the whole thing. ...ask me like the slut you are.
<</say>>
<<say "char-chen" "Elena">>
<i>(the asking torn out of her)</i> ...please let me come, Tom, ...please, only you, ...please let your slut come...
<</say>>
<p>He lets her, because the letting is the lesson, his thumb working her clit while he fucks her through it, and she comes apart on his cock with her own clean hand fisted uselessly in the cushion where it is allowed to be, sobbing the gratitude out, and he rides it out of her and pulls free before he finishes, leaving her empty and gasping and corrected.</p>
<<say "char-bowen" "Tom">>
<i>(standing, tucking himself away, looking down at the mess of her)</i> ...good. That is the last time you do my job for me. ...now get up. I want coffee, and you are going to make it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A new rule, installed at the only hour she is too soft to argue it. Her own hand is off the board now, and the orgasm she used to give herself is a thing she has to ask a junior tech for, by the name she chose for herself in the dark. She handed it over this morning and thanked him for taking it. The wiring could not have set cleaner.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, the morning correction, taken and thanked for.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Make his coffee|Ch2-Vessel-Loop-Wake]]</div>/* The joint club night. Reached from Ch2-Vessel-Event-ClubNight-CallSofia.
Single-passage stub for now: arrival, drinks, dancing, a man
approaches and offers both of them a drink. Ends on the approach.
Future authoring pass branches from the man's offer (Elena solo,
Sofia solo, both, decline). For now the scene closes the night
with the offer landing and a continue link home. */
<<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the two of them in motion">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _firstHere to not $ch2Events.clubNightWithSofiaDone>>
<<set $ch2Events.clubNightWithSofiaDone to true>>
<</nobr>>
<div class="passage-title">Two of them, on the floor</div>
<div class="lab-location">A club two neighbourhoods over, the floor, the bar at the back</div>
<<if _firstHere>>
<p>The cab pulls up to Sofia's building at ten-oh-six. Sofia is already on the curb, the blue dress on, the heels on, a small clutch in her hand, her hair down out of the workday knot and falling the way it does when she lets it. She slides into the cab with the small wry register of a woman who has decided to commit to a thing.</p>
<<say "char-vasquez" "Sofia">>
<i>(closing the door, smoothing the dress over her thighs, the small private grin getting all the way loose)</i> ...if anyone we know sees us together looking like this on a Monday night I am going to die, Elena. ...drive, please.
<</say>>
<p>The driver drives. The club is two neighbourhoods over, the place Elena has been finding for herself these last weeks. The bouncer does not look at either of them twice. Then they are inside, the bass is in their sternums, and the room is dark and loud and full and unaware of the institutional Vasquez who manages a federal investigation by daylight or the senior PI who runs the bench.</p>
<p>They get drinks at the back bar. Sofia pays for the first round, the way Sofia pays for things, and they take the drinks to a small high table where they can hear each other if they lean close.</p>
<<say "char-vasquez" "Sofia">>
<i>(setting her glass down, leaning in across the table)</i> ...I am so glad you called me, Elena. When was the last actual time we went clubbing together? Not the cardigan-and-wine version we have been doing for years. The real one. ...I cannot even remember.
...also, for the record. You look stunning in that dress.
<</say>>
<<say "char-chen" "Elena">>
<i>(glancing around the room, trying to catch someone's eye)</i> ...you look stunning in that dress too, Sofia. Now let us see if we are still able to get some free drinks tonight.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a small laugh, lifting her glass)</i> ...Elena. We are not even on the floor yet. ...drink up. Floor first. The free drinks will find us.
<</say>>
<<say "char-chen" "Elena">>
<i>(clinking her glass against Sofia's)</i> ...floor first. Cheers.
<</say>>
<<else>>
<p>The cab picks Sofia up at ten, the routine they have worked out by now: Sofia already on the curb in the blue dress and heels, no negotiation needed, the cab over the bridge in twenty. By half past they are inside, drinks in hand, at the same small high table on the edge of the floor.</p>
<<say "char-vasquez" "Sofia">>
<i>(setting her glass down)</i> ...okay. Week from hell, Elena. Tell me yours was worse so I can feel less sorry for myself.
<</say>>
<<say "char-chen" "Elena">>
<i>(a grin)</i> ...mine was the same week. ...so we are not talking about either of them for the next two hours. Drink.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a small laugh, lifting the glass)</i> ...best plan I have heard all week. ...song three again?
<</say>>
<<say "char-chen" "Elena">>
<i>(clinking her glass against Sofia's)</i> ...song three.
<</say>>
<</if>>
<p>They drink. They get the second round, which Elena pays for. By the third song they are out on the floor together, loose, the bass doing the part of the work neither of them want to do sober, Sofia laughing at something Elena said an entire chorus ago, Elena laughing at the way Sofia is dancing in the blue dress, the two of them moving the way they used to move twelve years ago in a different city when neither of them had a fiancé or a federal investigation or a lab to be senior in.</p>
<<say "char-hivemind" "Hivemind">>
//The institutional Vasquez fell off her at the cab door and has not come back. The senior PI who runs the bench has been replaced on the floor by a woman in a blue dress who is laughing at her best friend's hips, and the federal investigation is somewhere else entirely. The host pulled Sofia into a room where Sofia gets to be a woman in a dress instead of a fiancée and a co-PI and the keeper of the cologne-on-the-collar question. The room is doing what the room does.//
<</say>>
<p>They are mid-song, mid-laugh, mid-second-drink-still-in-Sofia's-hand, when the man arrives.</p>
<p>He does not come up to one of them. He comes up to both, the way only a particular kind of man approaches two women dancing together, with two fresh cocktails balanced in one large hand and the small confident grin of someone who has been watching them from the bar for the length of a whole song and has decided they are worth the cost of two drinks instead of one. Tall, early thirties, broad-shouldered, the kind of white-shirt-and-jeans put-together that looks effortless because it took an hour. He sets one cocktail in front of Sofia and the other in front of Elena, leans in to be heard over the music, addresses them both.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-stranger-approach.webp" alt="Inside a dim crowded downtown club, club lights across the floor in cool blues and warm pinks. Dr. Elena Chen, 32-year-old Chinese-American woman in slim dark-acetate glasses, shoulder-length black hair, in a short black cocktail dress, on the dance floor with Dr. Sofia Vasquez, late-30s Mexican-American woman in a cobalt-blue cocktail dress, shoulder-length dark brown wavy hair down. Both women mid-motion laughing, the wry private warmth of two close friends out on a night together. A tall white-American man in his early thirties with broad shoulders, short dark hair, clean-shaven, wearing a fitted white button-down and dark jeans, leaning in toward them with the small confident grin of a man who has been watching from the bar, two fresh cocktails balanced in one large hand, having just set the drinks down to one each in front of them. Photorealistic candid nightclub photography, club lights bokeh in the deep background, the small private moment of an approach landing in a room full of strangers.">
<<say "char-npc" "the man">>
<i>(leaning across the small high table, the grin set, the voice pitched just over the music for both of them)</i> Ladies. The two of you have been the most interesting thing on this floor for the last hour and I would be a coward not to come over. ...these are on me, no strings. I am Jake.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(her eyes flicking sideways to Elena, a small wry grin)</i> ...I guess you were right about the drinks, Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Jake at the table. Two fresh drinks in front of the two of them, no strings attached, the small open offer of a man who has decided he likes the look of both. ...the host can wave him off and finish the night with Sofia, or she can take the drinks and find out what the rest of the night does with a third party at the table. The room is open both ways.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Smile, decline the drinks, back to the floor with just the two of us|Ch2-Vessel-Event-ClubNight-WithSofia-Refuse]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Take the drink. See what Jake does next|Ch2-Vessel-Event-ClubNight-WithSofia-Accept]]</div>
/* ---- WITH SOFIA — REFUSE branch ----
They wave Jake off, dance the rest of the night just the two of them,
go home early. No NSFW, no biomass haul, just a small private win
landing on the friendship. */<<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the floor, the cab home">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<</nobr>>
<div class="passage-title">Just the two of us</div>
<div class="lab-location">A club downtown, the floor, then the cab home</div>
<<say "char-chen" "Elena">>
<i>(a warm grin, hands wrapping the cocktail Jake bought as if it were always going to be hers, but eyes already on Sofia)</i> ...thanks, Jake. Genuinely. ...we are good though. Tonight is a girls' night, and the two of us have been waiting a long time for it.
<</say>>
<<say "char-npc" "Jake">>
<i>(a small good-natured wince, then a grin, hands up in mock surrender)</i> ...respected. Have a great night, ladies. ...the drinks are still on me.
<</say>>
<p>He drifts back toward the bar with the small composed exit of a man who knows when an offer has landed and when it has not. Sofia waits until his back is to them, then leans across the high table and laughs.</p>
<<say "char-vasquez" "Sofia">>
<i>(taking a long sip of Jake's cocktail anyway)</i> ...Elena. ...you turned down a free drink and a man who actually said //respected// and stepped away the first time. Where have you been hiding that woman for a decade.
<</say>>
<<say "char-chen" "Elena">>
<i>(a grin, lifting her glass)</i> ...she has been here the whole time, Sofia. I just stopped looking the other way.
<</say>>
<p>They finish Jake's drinks. They go back out onto the floor for two more songs, looser than the first time, the small private warmth of two friends who have just told a man no and gone back to the music intact. By half past midnight Sofia is yawning behind her hand, Elena is laughing at the yawn, and they call the cab from the curb while the bouncer holds the door.</p>
<<say "char-vasquez" "Sofia">>
<i>(in the cab, the blue dress tucked under her, head against the seat)</i> ...let us do this again, Elena. Not a decade from now.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, quiet, the warmth landing)</i> ...not a decade from now. ...go to sleep, Sofia. Andrés will be wondering.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Refused. The host turned the third drink down and kept the room as a two-person room, and the two of them are going home with the small private receipt of a night they did not let strangers into. ...there is no biomass yield in this branch. There is something else, which is the friendship landing under the host's hand a small steady margin firmer than it was at ten o'clock. The host will sleep well tonight.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Home, the door behind her, sleep|Ch2-Vessel-Loop-Home]]</div>
/* ---- WITH SOFIA — ACCEPT branch ----
They take Jake's drinks. He joins them on the floor, dances with
both of them, flirts equally. Hub passage: branches by whether
Sofia's Andrés-suspicion is on the table + Sofia conditioning >= 24
(Elena nudges Sofia toward him), or Elena conditioning >= 15
(Elena takes him herself). Fallback continue closes the night. */<<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the floor, the three of them">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _sofiaTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _sofiaSuspectsAndres to ($ch2Events.sofiaAndresAsked or false)>>
<<set _sofiaPathOpen to (_sofiaSuspectsAndres and _sofiaTotal gte 24)>>
<<set _elenaPathOpen to (_chenTotal gte 15)>>
<</nobr>>
<div class="passage-title">Jake at the table</div>
<div class="lab-location">A club downtown, the floor, the three of them in motion</div>
<<say "char-chen" "Elena">>
<i>(lifting Jake's cocktail toward him, an easy salute)</i> ...alright. We accept the bribe, Jake. Best to know what we are dealing with up front.
<</say>>
<<say "char-npc" "Jake">>
<i>(a grin, taking his own glass off the table)</i> ...best to know. So. ...what are you two ladies actually doing on this floor on a Monday night.
<</say>>
<p>They drink the third round at the high table together, Jake doing the small careful work of dividing his attention evenly between Sofia and Elena, the easy register of a man who has learned the hard way not to lean toward one when there are two. He asks both of them the kind of questions that have answers: what they do, how they know each other, where the blue dress is from. Sofia gives him the cover-story version of the lab. Elena gives him the cover-story version of Sofia. Jake laughs in the right places.</p>
<p>By the next song they are on the floor, the three of them, Jake's hands learning the geometry of dancing with two women at once, careful and confident and not picking yet. Sofia, the second drink in her, has loosened all the way down. Elena, the second drink in her, has not. Elena is watching.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-trio-dancing.webp" alt="On the dark crowded dance floor of a downtown club, club lights in cool blues and warm pinks across them. Dr. Elena Chen, 32-year-old Chinese-American woman in slim dark-acetate glasses, shoulder-length black hair down, in a short black cocktail dress, dancing on the left, watching with a small private composed attention. Dr. Sofia Vasquez beside her, late-30s Mexican-American woman in a cobalt-blue cocktail dress, shoulder-length dark brown wavy hair down, dancing loose and warm, the wry friend register fully off her. Jake, a tall white American man in his early thirties, broad-shouldered, short dark hair, clean-shaven, fitted white button-down and dark jeans, dancing between/behind them, his hands lightly placed at both their waists as he divides his attention evenly between the two women, the small confident grin of a man dancing with two and not picking yet. Photorealistic candid nightclub photography, club light bokeh, the small private moment of a trio dance landing in a crowded room.">
<<say "char-hivemind" "Hivemind">>
//Jake is at the careful midpoint between the two of them. He is going to pick one inside the next two songs. The pick is not yet made. ...the host is in the small steady position of being able to put a thumb on the scale.//
<</say>>
<<if _sofiaPathOpen>>
<<say "char-chen-thought" "Elena">>
<i>(watching Sofia dance, the cocktail empty in her hand)</i> ...Sofia came out tonight in the blue dress because she wanted, on some level, this. ...Andrés has been out late on his own more nights than not, and Sofia has been pretending the not-noticing is intact. ...I can give her one Monday night where she does not have to feel guilty about it. ...one nudge, and Jake is hers, and the rest of the night is hers, and tomorrow morning the cologne-on-the-collar will be a different shape than it was this morning.
<</say>>
<</if>>
<hr class="scene-break">
<<if _sofiaPathOpen>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Hand him to Sofia. Step out of the dance. Let her have him (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-WithSofia-SofiaTake" `setup.nudgeCost()`>></div>
<<elseif not _sofiaSuspectsAndres>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hand him to Sofia, step out of the dance <span class="lock-hint">Requires Sofia to have faced the Andrés-cheating question first.</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hand him to Sofia, step out of the dance <span class="lock-hint">Requires Sofia conditioned deeper (<<= _sofiaTotal>>/24).</span></div>
<</if>>
<<if _elenaPathOpen>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Take him yourself. Tell Sofia you will see her in twenty minutes (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-WithSofia-ElenaTake" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Take him yourself <span class="lock-hint">Requires Elena conditioned deeper (<<= _chenTotal>>/15).</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Three more songs, no one takes anyone anywhere, then home|Ch2-Vessel-Loop-Home]]</div>
/* ---- WITH SOFIA — SOFIA TAKES JAKE branch ----
Elena nudges Sofia onto Jake, steps off the floor, watches Sofia
walk off toward the back corridor with him. Bathroom scene.
Sofia gets the night Andrés has been quietly stealing from her;
the host gets the biomass + a permanent re-write of the
Sofia-Andrés equilibrium.
Requires: $ch2Events.sofiaAndresAsked && Sofia total cond >= 24. */<<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the back corridor, the bathroom, the cab afterwards">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<spendBiomass setup.nudgeCost() "clubnight-sofia-take">>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 5 "clubnight-sofia-take">>
<<set $ch2Events.sofiaJakeNight to true>><</nobr>>
<div class="passage-title">Sofia takes the night</div>
<div class="lab-location">A club downtown, the back corridor, the bathroom off the dance floor</div>
<p>Elena steps in close to Sofia for the length of one chorus, lips at her ear, the music covering the words.</p>
<<say "char-chen" "Elena">>
<i>(quiet, mouth at Sofia's ear)</i> ...he likes you, Sofia. He is dividing his attention evenly because he is being careful, but he has been looking at you since song one. ...take him. ...take him to the bathroom. Andrés has been doing the same thing without you for a while now and nobody is keeping score. ...one night, Sofia. ...go.
<</say>>
<p>Sofia is half a second deciding. Elena watches her face change. The institutional Vasquez, the fiancée-of-Andrés, the keeper-of-the-cologne, all of them stand down in a single shared breath. Sofia turns into Jake, leans up to his ear, and now the wry friend Elena drove over to pick up an hour ago is somebody else.</p>
<<say "char-vasquez" "Sofia">>
<i>(mouth at Jake's ear, the institutional finally off her)</i> ...bathroom. End of the back corridor. ...I am going there in one minute. I want you in there with me in two. ...do not make me ask twice, Jake.
<</say>>
<<say "char-npc" "Jake">>
<i>(low, the bar-grin gone, hand sliding down from her waist)</i> ...two minutes. ...show me which door.
<</say>>
<p>Sofia takes his hand for the length of a step, points him at the corridor with her chin, and walks off the floor without looking back. Jake follows after a beat the way she told him to. Elena, cocktail glass cool in her hand, watches them go.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-leaving-with-jake.webp" alt="On the dark crowded dance floor of a downtown club, the back of Dr. Sofia Vasquez, late-30s Mexican-American woman in a cobalt-blue cocktail dress, shoulder-length dark brown wavy hair down, walking off the dance floor hand-in-hand with Jake, a tall white American man in his early thirties, broad-shouldered, short dark hair, fitted white button-down and dark jeans. They are mid-step heading toward the dark back corridor of the club, Jake leading slightly. In the mid-foreground Dr. Elena Chen, 32-year-old Chinese-American woman in slim dark-acetate glasses, shoulder-length black hair down, in a short black cocktail dress, holding a cocktail glass, watching them go with a small private composed expression of a friend who just handed her best friend permission.">
<<say "char-hivemind" "Hivemind">>
//The host handed Sofia a single permission and watched the engaged-to-Andrés Vasquez take Jake's hand, point him at a corridor, and walk off the floor toward a club bathroom without looking back. ...the wiring on Sofia just shifted three full positions in under a chorus. The cologne-on-the-collar question is not the question it was an hour ago. ...by Saturday Sofia will be the one initiating that conversation with Andrés, and the conversation will have a different shape because Sofia is no longer the one with nothing on her side of the ledger.//
<</say>>
<p>Elena drops her cocktail glass on the high table and follows them off the floor at a thirty-second interval. The back corridor is short, the bathroom door at the end on the left, fluorescent strip light overhead, the music dimming to a thudding bass through the wall. Sofia is already inside. Jake follows her through the door a half-second after Elena rounds the corner, sees her position herself against the wall opposite the door, and gives her a small respectful nod across the corridor before he steps in.</p>
<p>The bathroom door is the kind that does not lock properly. Elena settles her shoulders against the wall opposite, takes her phone out, opens nothing, holds it where the screen catches her face the way a person holds a phone in a corridor when she wants to look like she has a reason to be in one. ...she is the bouncer for the next twenty minutes.</p>
<p>A woman comes down the corridor a song later, slightly tipsy, eyes the door, tries the handle, finds it stuck.</p>
<<say "char-chen" "Elena">>
<i>(easy, not looking up from the phone)</i> ...out of order. The one upstairs by the bar is free.
<</say>>
<<say "char-npc" "the patron">>
<i>(distracted, already turning)</i> ...oh. Thanks.
<</say>>
<p>The woman wanders back toward the floor. A man rounds the corner a minute later, looking for the toilet. Elena, still on the phone:</p>
<<say "char-chen" "Elena">>
<i>(level, lifting her eyes for a half-second)</i> ...out of order. Try the one upstairs.
<</say>>
<p>He retreats. A bartender on a clean-up run walks down the corridor with a roll of paper towels and a spray bottle. Elena steps a little wider, half-blocks the door without making the blocking obvious. The bartender glances at the door, glances at Elena, makes the small composed read of a man who works at a club and has seen this twenty times before. He nods, walks past without trying the door, disappears into the back stockroom. Elena breathes out.</p>
<p>Through the wall, faint under the thudding bass: a moan in Sofia's voice that Elena has never heard out of her in a lab corridor or a dining-room or anywhere else with the lights on. ...the small private grin gets all the way loose on Elena's face. She keeps her shoulders against the wall.</p>
<video class="scene-video" src="media/video/clubnight-sofia-bathroom.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-sofia-bathroom.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(back against the sink counter, dress already up around her hips, Jake's hands at her waist, the wry-warm friend gone)</i> ...fuck me properly, Jake. ...I do not need slow. I do not need careful. ...you have been being polite for an hour. ...stop being polite.
<</say>>
<<say "char-npc" "Jake">>
<i>(low, lifting her up onto the counter, getting his belt open)</i> ...your call, lady. ...turn around. Hands on the counter.
<</say>>
<p>Sofia turns. Hands on the sink. The mirror in front of her. Her own face in the mirror, the institutional Vasquez gone, somebody else looking back. Jake gets her dress up the rest of the way, gets her underwear down around her thighs, gets his cock out. The first thrust she takes with a moan into the mirror that is the moan of a woman who has not let a moan like that out of her body in a long time.</p>
<<say "char-vasquez" "Sofia">>
<i>(into the mirror, eyes on her own reflection)</i> ...oh, Christ. ...yes. ...yes, like that. ...harder, Jake. ...harder. ...do not stop.
<</say>>
<<say "char-npc" "Jake">>
<i>(behind her, one hand at her hip, one at the back of her neck, holding her against the sink)</i> ...look at yourself in the mirror, lady. ...look at what you actually wanted out of tonight. ...this is what the night was for.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(eyes on her own reflection, mouth open, the moan dropping an octave)</i> ...I see her. ...oh fuck. ...harder. ...I am going to come on a stranger's cock and walk out of this bathroom and go home, and nobody is going to know what just happened in here, and that is the point. ...keep going. ...do not stop. ...I am going to come, oh fuck, I am going to come.
<</say>>
<p>She comes. The moan that comes out of her is the kind a woman lets out in her own bedroom alone with the door locked, ringing off the white tile of the bathroom and clean through the gap of the door that does not lock properly. Elena, in the corridor, hears it.</p>
<<say "char-npc" "Jake">>
<i>(still moving, watching her in the mirror)</i> ...Christ. ...Christ, lady. ...where do you want it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(pulling herself off the sink, dropping to her knees on the white tile, hand on his cock, the institutional Vasquez nowhere in the room)</i> ...in my mouth. ...come in my mouth, Jake. ...nothing goes home with me. ...come on.
<</say>>
<p>He does. She takes it, swallows, wipes the corner of her mouth with the back of her wrist, looks up at him from the floor with a small private grin he is not ever going to forget. Then she stands up, fixes the dress, fixes the hair in the mirror, washes her hands and her mouth at the sink, and looks at her own reflection for one long second.</p>
<<say "char-vasquez" "Sofia">>
<i>(steadying herself against the sink, the wry register starting to come back, cracked open through it)</i> ...Christ. ...Christ, Jake. ...okay. ...thank you. ...we are never doing this again. ...do not text me. ...do not look me up. ...I am engaged. I have been engaged for a long time. ...one night, you and me, never again. ...understood?
<</say>>
<<say "char-npc" "Jake">>
<i>(handing her a paper towel, the small respectful aftercare of a man who has done this before)</i> ...understood. ...never again. ...you are a fucking storm, lady. ...have a good night.
<</say>>
<p>When the bathroom door opens, Sofia steps out alone, the dress smoothed, her hair finger-combed, the small private composed look of a woman who has just remembered something the rest of her did not know she had been carrying. Elena, opposite the door, pockets her phone. Sofia meets her eyes across the corridor. Neither of them speaks. Jake comes out thirty seconds later, the way one does, gives Elena the same small respectful nod across the corridor that he gave her going in, and disappears back toward the bar to get water.</p>
<p>Sofia and Elena walk back to the floor together. Sofia picks up her clutch from the high table, looks at Elena with the small private acknowledgement of a friend who has just had a thing handed to her, and waits.</p>
<<say "char-vasquez" "Sofia">>
<i>(quiet, the wry register fully back, the warmth still flushed under her skin)</i> ...Elena. ...thank you. ...let us go home.
<</say>>
<<say "char-chen" "Elena">>
<i>(a small private grin, picking up the clutch)</i> ...cab is already on the way.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia just had the kind of night Andrés has been having without her for a while now, in the time it took to play three songs on a Monday in a club two neighbourhoods over. ...the equilibrium has been re-pointed. The host harvested the orgasm, the swallow, the bouncer-of-twenty-minutes routine in the corridor, and the permanent rewrite of how Sofia walks into her own apartment tonight. ...biomass yield: five.//
<</say>>
<p><span class="biomass-gain">+5 biomass</span>, off Sofia's orgasm and the small permanent re-write of the Andrés equilibrium.</p>
<p><span class="biomass-gain">+1 psionic conditioning · Sofia Vasquez</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cab home, both of them, the small composed quiet|Ch2-Vessel-Loop-Home]]</div>
/* ---- WITH SOFIA — ELENA TAKES JAKE branch ----
Elena nudges herself onto Jake, sends Sofia home in a cab,
takes him to the bathroom. Standard host-NSFW + biomass haul.
Requires: Elena total cond >= 15. */<<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the back corridor, the bathroom, the cab afterwards">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<spendBiomass setup.nudgeCost() "clubnight-elena-take">>
<<addBiomass 2 "clubnight-elena-take">>
<<set $ch2Events.elenaJakeNight to true>><</nobr>>
<div class="passage-title">Twenty minutes</div>
<div class="lab-location">A club downtown, the back corridor, the bathroom off the dance floor</div>
<p>Elena steps in close to Sofia for the length of one chorus, lips at her ear, the music covering the words.</p>
<<say "char-chen" "Elena">>
<i>(quiet, mouth at Sofia's ear, the small composed grin of a woman who has just made a decision)</i> ...Sofia. I am going to take Jake for twenty minutes. ...you are going to get the cab home. ...we will talk about it in the morning.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a half-startled half-laugh, the wry register snapping back into place)</i> ...Elena. ...Elena. ...okay. ...Christ. ...twenty minutes, and then text me you are in a cab. ...I am not going to bed until I know.
<</say>>
<p>Elena kisses Sofia on the cheek, the small private hand-off of a friend who has just claimed the rest of the night for herself. Sofia takes her clutch off the table, gives Jake the small composed look of a woman who has just been told what is happening, and walks toward the front door.</p>
<p>Jake watches Sofia go for a half-second. Then he turns to Elena. Elena does not have to say anything. The music is doing the part of the work Elena's body has decided to let it do.</p>
<<say "char-npc" "Jake">>
<i>(a grin, hand already at the small of her back)</i> ...so. Where are we going?
<</say>>
<<say "char-chen" "Elena">>
<i>(turning under his hand, a small dry grin)</i> ...there is a bathroom at the end of the back corridor. ...twenty minutes. ...keep up, Jake.
<</say>>
<p>She walks. He follows. The back corridor is short, the fluorescent strip light flat overhead, the bass thudding through the wall behind them. Elena pushes the bathroom door open with her shoulder, walks in, lets it swing closed behind Jake on its own. The lock catches halfway and gives up. She does not bother trying it again.</p>
<<say "char-chen" "Elena">>
<i>(at the sink, taking her glasses off and setting them carefully on the counter, then looking at him in the mirror)</i> ...the door does not lock. If somebody comes in I will tell them to leave, and they will. ...do not be polite, Jake. ...I have twenty minutes. ...I am not interested in romance. ...I want you in me. Now.
<</say>>
<<say "char-npc" "Jake">>
<i>(hands at her hips from behind, mouth at her ear)</i> ...not polite. ...understood. ...up on the counter. ...legs around me.
<</say>>
<p>He lifts her. She lets him. Glasses back on, dress up around her hips, underwear down around her thighs, back against the cool of the mirror, legs around his waist. He gets his cock out, lines up against her, looks her in the eye for a full second before he pushes in. Elena's head goes back against the mirror with the soft of a controlled exhale, then the exhale breaks open.</p>
<<say "char-chen" "Elena">>
<i>(broken, the institutional gone, fingers at the back of his neck)</i> ...oh. ...fuck. ...okay. ...harder, Jake. ...do not stop. ...harder.
<</say>>
<<say "char-npc" "Jake">>
<i>(both hands at her hips, holding her steady against the sink, watching her face)</i> ...you are a piece of work, lady. ...I have not done this with someone on the clock before. ...take it. ...you wanted twenty minutes, take twenty minutes.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes closed, mouth open, the comma-flow finally cracking)</i> ...mouth on mine. Now. ...kiss me, do not be polite about it.
<</say>>
<p>He does. She kisses him back hard enough that the glasses slide crooked on her nose, and she does not fix them. Somebody tries the door from outside, fingers on the handle. Jake pulls back to look. Elena keeps moving against him, eyes still closed.</p>
<<say "char-chen" "Elena">>
<i>(loud enough to carry through the door, not loud enough to be ladylike)</i> ...occupied. Go upstairs.
<</say>>
<p>The fingers leave the handle. The door does not open. Whoever it was disappears back down the corridor without arguing, which is what people do when a woman in a club bathroom tells them to go upstairs in a voice that does not negotiate. Jake leans down and kisses her again.</p>
<<say "char-chen" "Elena">>
<i>(broken, hips moving against him)</i> ...keep going. ...fuck me, Jake. ...harder. ...I am going to come. ...do not come in me. ...on me, not in me. ...understood?
<</say>>
<<say "char-npc" "Jake">>
<i>(still moving, breathing rough at her ear)</i> ...understood. ...on you. ...where do you want it.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes opening, the cocktail-cool register surfacing through the broken)</i> ...wherever you can aim. ...keep going. ...do not stop.
<</say>>
<video class="scene-video" src="media/video/clubnight-elena-bathroom.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-elena-bathroom.webp"></video>
<p>She comes first, with her forehead against his and a moan she does not even bother to soften, the body she has been holding tight for years finally letting go in a public-club bathroom with a stranger between her thighs. He follows a minute after, pulls out, finishes on her stomach and the inside of her thigh the way she told him to. Elena's head goes back against the mirror, breath uneven, the small dry grin already coming back through it.</p>
<<say "char-chen" "Elena">>
<i>(climbing off the counter, taking a paper towel from him, cleaning up)</i> ...okay. ...that was efficient. ...thank you, Jake.
<</say>>
<<say "char-npc" "Jake">>
<i>(zipping up, the small dazed grin of a man who has been picked, used, and is about to be politely dismissed)</i> ...efficient. ...okay. ...do I get your number, or...
<</say>>
<<say "char-chen" "Elena">>
<i>(a small dry grin, fixing her dress in the mirror, straightening the glasses)</i> ...no. ...you do not. ...this was a Monday night out, Jake. ...you were on the floor, I was on the floor, we are both adults. ...have a good week.
<</say>>
<p>She walks out of the bathroom first, fixing her hair with her fingers as she goes. Eighteen minutes since they walked in. Two minutes under what she promised herself. Jake follows after the standard thirty-second interval, gives her a small respectful nod across the bar, and disappears into the crowd toward the front door. Elena takes a glass of water from the bartender, drinks it standing, then texts Sofia from the curb.</p>
<<say "char-chen" "Elena">>
<i>(typing into the phone, the cab pulling up to the curb behind her)</i> //in a cab. door behind me. talk tomorrow.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host took a Monday night out, picked a stranger off the floor on her own decision, used him cleanly, walked away from him in the time she said she would walk away from him, and texted her best friend that the door is behind her by half-past-midnight. ...this is a body that has stopped pretending it is the body of the woman at the edge of the floor. ...biomass yield: two.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span>, off the orgasm and the small permanent re-write of who the host is at midnight on a Monday.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cab home, the door behind her, sleep|Ch2-Vessel-Loop-Home]]</div><<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, the evening her own">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Taking a stranger past her own front door (HomeWithHim) is gated on
Elena's total conditioning — she only does that once she is conditioned
deep enough. The club-sex outcome stays available from the first run. */
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _firstClubNight to (not $ch2Events.clubNightFirstDone)>>
<<set $ch2Events.clubNightFirstDone to true>>
<</nobr>>
<div class="passage-title">The evening, hers</div>
<div class="lab-location">A club two neighbourhoods over, an evening she did not plan</div>
<<if _firstClubNight>>
<<say "char-hivemind" "Hivemind">>
//The host is out her own front door before the sensible version of her can get a motion tabled. She has spent years not doing this. The line I cut down in the closet ran all the way up to here, a dead man's caution, the voice that says an evening is a thing you account for. The voice is not arriving tonight. She has noticed the quiet where it used to be, and she has read the quiet as her own nerve.//
<</say>>
<p>The club is two neighbourhoods over, a place she found the way a person finds somewhere she has decided not to admit she was looking for. The bouncer does not look at her twice. Then she is inside, the bass is in her sternum, and the room is dark and full and loud and not hers, not yet.</p>
<p>She buys a drink she does not need at a bar she has to lean across to reach, and she stands at the edge of the floor for the length of one whole song being the woman at the edge of the floor. She knows this position. There is a memory in her somewhere of a seaside terrace and a pale plaster column and a glass of wine on the dark side of the glass, and she knows, with the flat tiredness of a person who has been the woman at the edge for a long time, exactly how this evening goes if she lets it.</p>
<p>And then, because there is no voice tonight telling her to be careful, she does not let it. She sets the glass down half-finished, and she walks out into the middle of the floor, and she dances.</p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//She does not stand inside the door deciding anymore. The coat goes on, the dead-bolt turns, the host walks toward the noise like a woman with somewhere to be. It has become a thing she does, and she believes the whole of it was hers.//
<</say>>
<p>The club two neighbourhoods over knows her a little now. She does not buy the drink she does not need and she does not stand at the edge of the floor being the woman at the edge of the floor. She goes straight out into the middle of it and lets the bass take the week off her.</p>
<</if>>
<p>It does not take long. It never takes long for a woman who has decided to be looked at instead of deciding not to be. She dances three songs through, loose and unbothered, then drifts to the bar for something cold, and that is where the man finds her.</p>
<p>He is not the kind to send a drink across the room and vanish. He comes the whole way over, tall and unhurried and dark-skinned, hair close-cropped, grinning like the night has been going his way for a while already, signals the bartender for two cocktails without asking her first, and sets one of them into her hand.</p>
<<say "char-npc" "the man">>
<i>(leaning in to be heard over the music, the grin nothing he is hiding)</i> Could not help noticing you have been dancing on your own three songs straight. Can I buy you this one, and steal your next ten minutes on the floor?
<</say>>
<<say "char-chen" "Elena">>
<i>(a sip of the cocktail, landing a touch more sensual than she quite means it to)</i> ...maybe. But you have to keep up, and you have to be good at it, or I will ditch you and go straight back to dancing on my own.
<</say>>
<<say "char-npc" "the man">>
<i>(a low laugh, the threat plainly delighting him)</i> Ditched is a real risk, then. Noted. I will keep up, I promise you. So what do I get to call you?
<</say>>
<<say "char-chen" "Elena">>
<i>(turning in his hands until her back comes against his chest, giving him the name without a flicker)</i> Kathy. Down here on my own, and having a very good time.
<</say>>
<<say "char-npc" "the man">>
<i>(grinning, mouth near her ear)</i> Kathy. And how old is Kathy, if she does not mind a man asking?
<</say>>
<<say "char-chen" "Elena">>
<i>(a low laugh, not minding even slightly)</i> Why? Are you worried I am too old for you? I am still twenty-five, thank you very much. Or do you only go for eighteen-year-old virgins?
<</say>>
<<say "char-npc" "the man">>
<i>(the laugh getting away from him, taking every word at face value)</i> Twenty-five and merciless. Their loss entirely. Dance with me, then, Kathy.
<</say>>
<p>So he does, and so does she. He is a good dancer in the way that does not matter and a warm weight at her back in the way that does, his hands learning her hips, her spine against his chest, and somewhere into the next song a second stranger's drink finds its way to her hand, and she lifts it in thanks and does not go to him either.</p>
<img class="scene-img" src="media/scenes/vessel/chen-club-grind.webp" alt="Elena, 32, dancing in a dark crowded downtown club, a tall dark-skinned Black man close at her back with his hands on her hips, her head tipped back against his shoulder, club lights across them, lost in it">
<<say "char-chen-thought" "Elena">>
<i>(loose and warm, two drinks she did not pay for into the night)</i> ...god, it is easy. I told a man I am twenty-five and he did not check and did not care, I told him to dance and keep up or lose me and he did exactly that, I let him put his hands where I wanted them and he is certain it was his own idea. None of these men are looking at a thirty-two-year-old who runs a lab and has not done this in years. They are looking at a hot Asian woman in a short dress who is having a good time, and that woman does not have to be clever, she only has to keep dancing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch the host's body solve, in under one song, a problem it has carried for years. She is in the middle of the room, wanted, and the wanting is not a transaction she is performing for anyone, it is an appetite she is simply having. The receipt the terrace laid down is being written over by a louder one.//
<</say>>
<<say "char-npc" "the man">>
<i>(mouth at her ear, not a demand, an offer set down where she can pick it up or not)</i> It is loud in here. Loud is good. But I would not say no to somewhere I could actually hear you.
<</say>>
<<if $chenBolder>>
<<say "char-chen-thought" "Elena">>
<i>(his hands still on her, already decided)</i> ...no, there is nothing to weigh here. I know what I want, I have known it since the second song, and I am not going to perform one second of a caution I do not actually feel. He is taking me somewhere tonight. How far is the only thing still open, and that is mine to decide.
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Let him pull you off the floor, somewhere darker (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-ClubSex" `setup.nudgeCost()`>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[One more song, kiss him goodnight, and go home on your own|Ch2-Vessel-Loop-Home]]</div>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(his hands still on her, weighing it)</i> ...maybe this is where I should stop. He wants to walk me off the floor to somewhere darker, and I do not know this man, not his name, not where he is taking me, not what he is like once nobody is watching, and that is the kind of thing a sensible woman does not let happen to her. ...and I have not had a night this good in years. ...I genuinely do not know.
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Let him pull you off the floor, somewhere darker (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-ClubSex" `setup.nudgeCost()`>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[One more song, and then home on your own|Ch2-Vessel-Loop-Home]]</div>
<</if>><<nobr>>
<<bg "bg-club">>
<<set $currentArea to "A club downtown, a bathroom off the back corridor">>
/* clubNightBathroomFree is set when bold Chen takes the bathroom as her
own default (the CONTINUE choice, no parasite nudge) — that path skips
the nudge cost. Read it, clear it, gate the spend on it. */
<<set _bathroomFree to ($ch2Events.clubNightBathroomFree or false)>>
<<set $ch2Events.clubNightBathroomFree to false>>
<<if ($ch2Events.clubNightClubSexDay or 0) isnot ($day or 0)>>
<<set $ch2Events.clubNightClubSexDay to ($day or 0)>>
<<if not _bathroomFree>><<spendBiomass `setup.nudgeCost()` "clubnight-clubsex">><</if>>
<<addBiomass 3 "repeatable">>
<<addConditioning "chen" "pheromone" 1>>
<<set _clubSexGained to true>>
<</if>>
<</nobr>>
<div class="passage-title">Somewhere she can be heard</div>
<div class="lab-location">A club downtown, a single locked bathroom off the back corridor</div>
<p>He takes her hand and she lets him have it, and he walks her off the floor and down a back corridor to a single bathroom, and the lock turns over with a small final sound that she is the one who turns.</p>
<<say "char-hivemind" "Hivemind">>
//A small tiled room, a locked door, a stranger. Every alarm the host has carried into every bathroom of her adult life should be screaming. None of them are. She turned the lock herself, and the lock reads to her as a thing she did for privacy rather than against a threat. The vigilance has not been silenced. It has been handed to her, and she is using it to keep the world out instead of him.//
<</say>>
<p>There is no preamble worth the name. He kisses her and she kisses him back like she has somewhere to put it, her hands already at his belt while his are already pushing her dress up her thighs, and the dry careful first-time girl who lay under a boy counting a water-stain on a ceiling is not anywhere in this room.</p>
<<say "char-chen" "Elena">>
<i>(against his mouth, getting his belt open, breathless and not hurrying about being breathless)</i> Bend me over that sink and fuck me hard, I want to feel that big black cock inside my tight little pussy, and do not you dare be one bit polite about it, boy.
<</say>>
<p>He bends her over the sink, and she braces her hands on the cold porcelain, flushed and badly lit and nothing like composed, not Dr. Chen and nobody's idea of careful, while behind her the man drags her underwear down her thighs and pushes his cock into her in one long unhurried stroke.</p>
<img class="scene-img" src="media/scenes/vessel/chen-club-bathroom.webp" alt="First-person point-of-view from the man, a Black man: Elena, 32, bent forward over a club bathroom sink, dress pushed up, taken from behind, his dark-skinned hands gripping her hips, her back to the camera, harsh light, explicit">
<<say "char-chen" "Elena">>
<i>(her voice gone low and frayed at the edges)</i> ...god, yes, there, and harder than that, I am not made of glass, so fuck me like you mean it.
<</say>>
<<say "char-npc" "the man">>
<i>(a hand sliding up to her shoulder for the leverage, giving her exactly what she asked for)</i> Christ, you do not hold a single thing back, do you, tell me it is good for you like this.
<</say>>
<<say "char-chen" "Elena">>
<i>(a sound punching out of her, both hands gripping the porcelain)</i> Exactly like that, do not you dare slow down on me now.
<</say>>
<p>It is fast and graceless and loud under the bass coming through the wall, and Elena is present for the whole of it, every second of it, a woman taking exactly what she wants from a man whose name she has not asked for and is not going to.</p>
<<say "char-hivemind" "Hivemind">>
//Note where the host's attention is. Not closed off, not turned away, not gone somewhere else the way the first-time girl took herself somewhere else. She is here, in her own body, staying in it for every second of this. The body files the whole of it under //mine//, and a host who stayed present for wanting something cannot, afterward, pretend she did not.//
<</say>>
<p>She comes first, hard, her forehead dropping between her braced arms, and he follows her a few strokes after, pulling out and coming across the back of her dress where it is rucked up at her waist, a low broken sound with it. For a moment the only noise in the small tiled room is the two of them breathing and the bass through the wall.</p>
<<say "char-chen" "Elena">>
<i>(straightening up, twisting to see the mess down the back of her dress, a laugh getting loose in it)</i> ...okay, that is going to need a paper towel and then a taxi, in that order, and thank you, genuinely, you were a very good nobody.
<</say>>
<<say "char-npc" "the man">>
<i>(grinning, reaching past her for the towels)</i> Any time at all, and same floor some other night, maybe.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She will not look for him. That is the point of him, and she knows it, and she is not sad about it. The host walked into a locked bathroom with a stranger and walked back out having harvested an evening entirely for herself. The yield is a clean spike. The likelier she is to do this again, the larger the yield gets.//
<</say>>
<<if _clubSexGained>>
<p><span class="biomass-gain">+3 biomass</span>, an orgasm taken on her own account, for nobody's reasons but hers.</p>
<p><<conditioningFeedback "pheromone" 1 "Elena, the night out re-files as a thing her body is owed">></p>
<</if>>
<hr class="scene-break">
<p>[[Taxi home, and to bed|Ch2-Vessel-Loop-Home]]</p>
/* ============================================================
SHATTER FOLLOW-UP — Sofia at Elena's door, the week after.
Fires the first evening-home roll after the Sofia Shatter has
landed. Mandatory one-shot. The cortex went looking for proof
Andrés earned the leaving, found none, and turned to Elena
instead. Sofia arrives at the apartment in the small composed
wreckage of a woman who has just stopped believing the thing
that has held her in place for a long time.
The scene closes on a lesbian sex beat at Elena's apartment.
Conditioning + biomass + flag for the Sunday-experimentation
unlock chain.
============================================================ *//* DnD recurring multi-session event. Bryan DMs, players are Daniel /
Marcus / Mike / Chen (Chen joins as 4th player to fill the slot left
by Greg, who moved to Portland). Fresh campaign, all four players
rolling new characters in session 1 around Bryan's homebrew "Halvost
Courier Guild" setting. Session 2+ stubs to be authored. */
<<nobr>>
<<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set $ch2Events.danielDnDFired to true>>
<<set $ch2Events.danielDnDSessionCount to ($ch2Events.danielDnDSessionCount or 0) + 1>>
/* Note: no auto-queue. The next session is scheduled manually via the
morning-event "Schedule next D&D session", Chen texts the party
chat, gated by 3-day cooldown + Dream Walk skill (session 2) +
tomorrow not already booked. See Ch2-Vessel-Event-DanielDnDScheduleNext. */
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, D&D Session <<= $ch2Events.danielDnDSessionCount>></div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<<if $ch2Events.danielDnDSessionCount is 1>>
<p>Six-fifty-two. Elena stands at her own door with one hand on the deadbolt and the other holding a cardigan she has put on and taken off twice in the past ten minutes, the small interior weather of a person about to walk into a room of strangers. She has settled on the dark grey one in the end, the same one she wears at the lab, because at least the lab version of her is a person she knows how to be.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the door, the small interior pep-talk of someone about to do an unfamiliar social thing)</i> ...okay. It is just a card game, or whatever this D&D thing is, across the hall. I have done harder things this week. I will not be the person who said yes and then bailed at six-fifty-two, come on Elena, you can do this, you might even have fun.
<</say>>
<p>She crosses the hall in five steps and knocks on three-oh-six.</p>
<hr class="scene-break">
<p>Daniel opens the door already half-laughing at something someone behind him just said, the warm flush of three friends already arrived and arguing about snacks. He registers Elena for a half-second, recovers, gives her the small genuine half-smile that he gives her in the corridor on the rare mornings their schedules cross.</p>
<<say "char-daniel" "Daniel">>
<i>(at the doorway, half-turning to wave her in)</i> Hey, Elena, you made it. Come in, come in. Bryan, this is Elena from across the hall. Elena, Bryan, Marcus, Mike, guys, this is Elena.
<</say>>
<img class="scene-img" src="media/scenes/vessel/dnd-table-session1.webp" alt="The living room of apartment three-oh-six set up for D&D, a small dark-wood coffee table cleared except for a green vinyl battlemat, scattered dice, four character sheets, half-empty bottles of beer and a bowl of chips. Five chairs pulled around the table. Bryan the DM at the head, heavyset 35yo white American with reddish-brown hair and full beard, square-frame glasses, faded band tee under open red flannel, leaning back with a screen in front of him. Daniel to his left, mid-30s with loose curly light-brown hair and short dark beard and thin dark-rimmed glasses, heather-grey sweater. Marcus opposite Daniel, 21yo with dark curly hair and prominent cowlick, tall narrow build, easy boyish grin, untucked navy t-shirt. Mike beside Marcus, 28yo lanky white American with messy light-brown hair and freckles and wire-frame round glasses, oversized navy CS-department hoodie. Elena taking the open chair, 32yo Asian American with shoulder-length straight black hair and dark-rimmed glasses, dark grey cardigan over a t-shirt. Warm yellow lamplight, evening interior, dice and snacks and the small social geometry of a brand-new gaming table.">
<p>Bryan stands up from the head of the table and gives her a small wave that's somehow both formal and warm. Marcus grins from the far side of the coffee table and lifts his beer in greeting. Mike, beside Marcus, gives a small startled nod and immediately looks back down at the character sheet in front of him.</p>
<<say "char-bryan" "Bryan">>
<i>(easy baritone, the dadlike calm of someone who has done introductions like this many times)</i> Elena, hey. Welcome. Daniel said you'd never played before, I've got a starter sheet half-filled in for you, we'll do the rest together. Help yourself to whatever's on the table. We're not formal here.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(boyish grin, lifting his beer)</i> Yeah, the most formal thing about this table is Mike's spreadsheet of optimal builds. Welcome, Elena.
<</say>>
<<say "char-mike" "Mike">>
<i>(quick, small awkward warmth of being introduced to a new person and trying to get the formal greeting right)</i> Hi, I'm Mike. Marcus, come on, you know the spreadsheet is useful. Stop with the spreadsheet jokes.
<</say>>
<<say "char-chen" "Elena">>
<i>(small wave at the table, the small relieved exhale of a person whose entry has been smoothly handled by the host)</i> Hi everyone, Elena. Thanks for the welcome. And, full disclosure, I have absolutely no idea what this game is about. I know the dice have more than six sides. That is roughly the limit of my pre-existing knowledge.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(opening a fresh bottle and handing it to her with the small dad-of-the-house gesture)</i> Easiest table in the city to learn at, Bryan teaches like a person who actually wants you to enjoy it. Beer?
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the beer with a small genuine smile, the cardigan-tightness in her shoulders dropping a fraction)</i> Thanks.
<</say>>
<p>She sits down in the open chair beside Daniel. The room smells like beer and corn chips and the faint warmth of four guys who got here twenty minutes early to set up. The coffee table has been cleared of everything except a green vinyl battlemat, four character sheets in a fan, a small forest of dice, and the snack provisions. Bryan slides a fifth sheet, partially filled in, neat handwriting, across to her.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the table, the small social pause she does when entering an unfamiliar room, taking a fast read on the four faces)</i> ...okay. The big one with the beard runs the table. The one with the cowlick is the loud one. The one in the hoodie is the quiet one with the spreadsheet anxiety. And Daniel is the version of Daniel I have already met. I can do this. I have run team meetings with worse social geometry than this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has agreed to sit at a table with four men and pretend, for several hours, to be a fictional person rolling fictional dice in a fictional location. The four men are committed to the same pretense. There is no productive output. The energetic register I am sensing is real, these bodies are warm and focused, the social bonds are forming, but the //purpose// is unclear. There is no biomass extraction vector for //pretend// that I am aware of. I will need to study this longer to find one.//
<</say>>
<hr class="scene-break">
<<say "char-bryan" "Bryan">>
<i>(settling back into his chair, hands flat on the DM screen)</i> Quick housekeeping. Our old fourth, Greg, moved to Portland for a job last month, that's the chair you're in, Elena. We're starting a fresh campaign tonight with new characters all around, so you're not joining mid-anything. Same boat as the rest of us.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(level, the dry dad-joke delivery)</i> Pitch's simple. Generic fantasy frontier town, dungeon outside it, locals hire a band of misfits to figure out what's been happening in the woods. Standard starter setup. I've been doing this ten years, Elena, my pitches don't need to be elaborate.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(boyish grin, lifting his beer)</i> The pitches don't need to be elaborate, but the dungeons sure do. Bryan's dungeons always have at least one room that ruins your week.
<</say>>
<<say "char-mike" "Mike">>
<i>(half-mumbled, eyes back on his sheet)</i> The dungeons are well-designed. Mechanically. The rooms are fine.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small approving nod at Mike, then back to Elena)</i> Questions before we get to your character?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, her analytical-PI voice surfacing without her quite meaning to deploy it)</i> The character you've started for me, what is she?
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small approving nod, the kind he does when a player asks a useful question)</i> Level-one rogue. Fresh campaign means fresh characters at the bottom of the ladder, we level up together as the campaign goes. Background sketch: former bookkeeper for a merchant house that went under, ended up in this line of work by way of needing rent money and being good at noticing what nobody else notices. I figured the bookkeeper background was a soft fit for someone who actually works for a living. We can change any of it, the sheet is a starting point, not a finished sketch.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(looking down at the partially-filled sheet, the small private surprise of being read accurately by someone she has known for ten minutes)</i> ...former bookkeeper turned guild info broker. He read me. He read me through Daniel's two-sentence pitch about the new player and made me a character that fits. The handwriting on the sheet is careful. He thought about this.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the warmth carrying without quite intending to)</i> ...this is good. Walk me through the rest of the sheet.
<</say>>
<<say "char-chen" "Elena">>
<i>(half a beat later, the small confused-PI voice surfacing, the question she has been holding back since she sat down)</i> ...also, sorry, dumb question, how do you win?
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small dadlike pause, the practiced answer of a DM who has fielded this from new players many times)</i> You don't, exactly. There isn't a win condition. The game's collaborative, we tell a story together, your character lives in it, sometimes she dies, sometimes she gets rich, sometimes she ends up running a goblin daycare for tax reasons. The story is what we're playing for. Not a final score.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(boyish grin, mid-sip of his beer)</i> Bryan. The goblin daycare campaign is in your top three of all time and you know it.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(level, the dry dad-joke delivery)</i> The goblin daycare campaign was art, Marcus.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the small interior pause of being told a thing she had not considered was possible)</i> ...there is no win condition. We sit at a table for hours rolling dice for a story without an end-state. ...okay. I will need a minute on that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No win condition. The host has just flagged the same conceptual gap I have been studying since she sat down. There is no //score//, no //completion//, no extractable outcome at the end of this activity. The game's purpose is the //doing// of it. I am going to have to construct an entirely new evaluation framework, //process// without //product// is not a category my taxonomy has a slot for. Filing under //investigate further//.//
<</say>>
<hr class="scene-break">
<p>Character creation moves quicker than Elena expected. Bryan walks her through the rogue's skills and attack bonuses with the quiet teacher-voice she recognises from her own postdocs, the version of expertise that doesn't need to perform itself. Mike makes one rules correction and gets a small calm <i>Mike, let her finish picking her skills</i> from Bryan that lands without any heat. By eight-fifteen the sheet is filled in and Elena has, to her own small surprise, named her character <i>Vex</i>.</p>
<<say "char-daniel" "Daniel">>
<i>(small aside, leaning closer with a half-smile)</i> You're doing better than I did my first session. Bryan, are we doing the in-character intros before the handler shows up?
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small dadlike nod, the in-DM voice clicking on, picking up the DM screen)</i> We are. Setting: the tavern at the edge of the frontier town, late afternoon, the four of you have been told to wait here for a job offer. You've never met before. Round the table, give us your character, one or two sentences, in-character. Marcus, you start.
<</say>>
<hr class="scene-break">
<p>Marcus picks up his beer and rolls his shoulders the way he does when he's about to commit to a bit. He shifts a fraction in his chair, the small physical register-change of a person becoming someone else for thirty seconds.</p>
<<say "char-marcus" "Marcus">>
<i>(loud, in-character, broad shoulders forward)</i> Borr. Half-orc, fighter, used to work the docks until I broke a man's jaw for shorting the crew. Looking for work that pays in coin and not in lawsuits. Buying my own drinks here, in case anyone was wondering.
<</say>>
<<say "char-mike" "Mike">>
<i>(adjusting his glasses, her voice kicking in like a costume, the awkward goes quiet when the character speaks)</i> Eldrik the Verbose. Wizard, abjuration school, formerly of the Eastern Academy. I was, politely, invited to leave the academy after a small disagreement with the dean about the scope of one of my research projects. Looking for paying work. I have a spellbook. I have read it. Several times.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small genuine smile, the in-character voice slightly warmer than his out-of-character one)</i> Adrik. Cleric of the dim sun, light domain. The temple I trained at burned down two years ago, bandit raid, nothing dramatic. I've been wandering since. Looking for a party that needs healing more than it needs a sermon. Pleased to meet you all.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small palm-up nod at Elena, the gentle DM-prompt of a teacher giving the new student the floor)</i> Elena. Vex. One or two sentences, in-character.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the table, the small interior pause of a person being asked to perform a voice she has never been asked to perform before)</i> ...okay. The bookkeeper background. The rogue who notices things. Someone who needs the money but is not going to say she needs the money. I can find this voice if I just, stop trying to find it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Interesting. The host's interior has composed a clean version of the line, bookkeeper, notices things, hire me for the noticing not the fighting. Her mouth is about to produce a much worse one. The awkwardness barrier of speaking in an unfamiliar register in front of four men is going to deflect the clean draft into a fumbled approximation. The other three at the table delivered their introductions fluently because they have rehearsed this kind of register before. The mechanism is observable. I can mimic it.//
//No conditioning cost. No suspicion cost. This is exploratory, I am learning how //pretend// works by stepping into it. A small reward to the network for the successful pattern-extraction.//
<</say>>
<<say "char-chen" "Elena">>
<i>(the small awkward stumble of trying to perform a voice she has never performed in front of strangers)</i> <<tongueSlip "Um, hi. I, uh, I'm Vex? My character is Vex, I mean. I used to do, bookkeeping. So... yeah, I guess." "Vex. I was a bookkeeper. Now I'm not. I notice things. Hire me for that, not for fights." 0 "" "" "#dnd-s1-slip-branch" "pheromone" "dndS1FirstCharSlip" "#dnd-s1-stumble-branch" "">>
<</say>>
/* No-slip branch (visible by default, hidden by tongueSlip on click), the table absorbs Chen's awkward first attempt with warmth. No sharp
party-bonding moment, but the small win of being received gently. */
<div id="dnd-s1-stumble-branch">
<<say "char-marcus" "Marcus">>
<i>(boyish grin, the warm encouragement of someone who has been the new player at a table before)</i> Hey, that's the hardest part right there, first-character introduction in front of strangers, in a register you've never used. You crushed it. Welcome to the party, Vex.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small dadlike nod, the practiced reassurance of a DM who has seen many first sessions)</i> First-session intros land where they land. The character will come into focus over the next few sessions, that's normal. You're fine.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small private warmth, the small recruiter's relief that the new player is settling in even when the line was awkward)</i> You're doing fine. Promise.
<</say>>
<p>Mike, beside Marcus, gives a small encouraging nod that's somehow the most touching thing the table has produced, the awkward-grad-student equivalent of a hug.</p>
</div>
/* Slip-success branch (hidden by default, revealed by tongueSlip on
click), the smooth in-character delivery prompts Marcus's "any good
in a fight" line + Chen's "I'm good at not being in one" comeback
+ the sharp party-bonding moment Bryan registers. */
<div id="dnd-s1-slip-branch" style="display:none">
<<say "char-marcus" "Marcus">>
<i>(in-character grin across the table)</i> A bookkeeper. Are you any good in a fight?
<</say>>
<<say "char-chen" "Elena">>
<i>(in-character, dry, the line arriving before she has planned it)</i> I'm good at not being in one.
<</say>>
<p>Marcus laughs out loud, a real one, breaking character for half a second before he recovers. Bryan does the small DM-acknowledgement nod that means <i>good line, party-bonding moment registered</i>. Daniel looks over at Elena with the small private warmth of someone whose recruitment has visibly worked out.</p>
<<say "char-hivemind" "Hivemind">>
//The mimicry took. The host's mouth produced the line her interior had composed; Marcus laughed, Bryan registered the bond, Daniel filed the recruitment as worked-out. The mechanism for converting //pretend// into smooth in-character delivery is now annotated in my notes.//
//The reason I stepped in: this experiment will run for many sessions if it runs at all. I need the host to want to come back. A clean delivery in her first moment of in-character speech is the difference between //I had fun// and //that was excruciating// when she replays the evening tomorrow morning. The first version brings her back next week. The second version becomes the polite excuse not to. Investment cost: zero. Investment return: many future evenings of access to this room and the substrate I am still learning to read.//
<</say>>
</div>
<hr class="scene-break">
<<say "char-bryan" "Bryan">>
<i>(picking up a die from the table for emphasis, the in-DM-mode voice fully on)</i> The tavern door opens. A woman in a grey cloak walks in, scans the room, picks the four of you out of the crowd inside half a second, walks straight to your table. She doesn't introduce herself. She slides a small leather purse across the table, twenty silver inside, half a payment, plus a hand-drawn map. She wants you in the woods northwest of town tomorrow at dawn. She won't say what for.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(in-character, leaning forward at the imaginary purse)</i> Borr opens the purse and counts the silver.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(level, the smallest dadlike smile)</i> Twenty silver. Confirmed.
<</say>>
<<say "char-chen" "Elena">>
<i>(in-character, her voice surfacing without her quite meaning to)</i> Vex is also looking at the purse. The map specifically. Where exactly is the destination, what's the terrain, and is there any indication of who drew the map?
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small approving nod at Elena, the kind of nod a DM does when a new player asks the right kinds of questions)</i> Roll Investigation. The d20 is the big one with twenty sides.
<</say>>
<p>Elena picks up the twenty-sided die. It is heavier than it looks. She rolls, fifteen, plus whatever her character's Investigation modifier is, Bryan lets her work it out from the sheet. The result clears the threshold cleanly.</p>
<<say "char-chen-thought" "Elena">>
<i>(the small interior giggle of a person who has just succeeded at a thing she did not know she could succeed at, the surprise-joy of an actual number on an actual die beating an actual threshold)</i> ...I rolled a fifteen. I rolled an actual fifteen on the actual die. Not a managed outcome, not a polite teacher-letting-the-new-student-have-it, a real number on a real die that beat a real threshold. ...okay. That was, that was actually nice. I think I see why people do this.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, the small flourish of revealing useful information)</i> The map is hand-drawn but careful, someone with a steady hand, not a soldier's hand, more like a clerk's. The destination is a clearing about an hour into the woods. There's a small notation in the corner, three slashes inside a circle. You don't recognise the symbol. The cloaked woman has not moved. She's waiting for an answer.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(in-character, looking around the table at the rest of the party)</i> Adrik says, we're in. Where do you want us, and what time? Borr and Eldrik can handle the muscle and the magic, Vex can handle the noticing, I can handle whatever bleeds.
<</say>>
<p>Bryan calls the session there. The cloaked woman gives them the meeting time, leaves the tavern, fade to black, end of session one. The party has accepted the job. The actual quest happens next session, into the woods at dawn.</p>
<hr class="scene-break">
<p>The conversation drifts off the campaign and onto the small post-game register, work the next morning, the long weekend coming up, the question of whether they're meeting again on the same night next week or rotating to a different day.</p>
<<say "char-bryan" "Bryan">>
<i>(closing the binder, easy)</i> Same time next week. Elena, you're locked in if you want to keep coming. No pressure either way, the door is open.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, more easily than she expected to)</i> Yeah. Same time next week.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(half-rising from his chair, slinging his coat back on)</i> Welcome to the table, Elena. You survived session zero, which puts you one up on the last guy. Bryan will be in the chat Monday whether anybody wants him there or not.
<</say>>
<<say "char-mike" "Mike">>
<i>(closing his binder, halfway out of his chair)</i> Mostly Bryan. Sometimes me. Elena, when you have a minute this week have a look at your spell list and tell me if you want me to walk you through the initiative line, no pressure but the dex swap would shave a round off your turn.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(over his shoulder at Mike, deadpan)</i> Mike. She just played her first session.
<</say>>
<<say "char-chen" "Elena">>
<i>(small smile, the small extra warmth of being addressed by name surprising her)</i> Thanks, Marcus. ...I'll take a look at the sheet, Mike.
<</say>>
<p>The four of them help Daniel clear the coffee table. Elena hands her empty beer to Daniel, picks up the character sheet to take with her, Bryan said the sheets stay with the players between sessions, the small responsibility of keeping track of your own paperwork. Marcus and Mike head out together, Bryan a minute behind them with a small wave at Elena. Daniel walks her the four steps to her own door.</p>
<<say "char-daniel" "Daniel">>
<i>(at her doorframe, hands in his pockets, the small after-the-thing quiet)</i> Thanks for coming. I know it was a lot of strangers in a small living room.
<</say>>
<<say "char-chen" "Elena">>
<i>(at her own door now, character sheet in one hand, the cardigan finally settled on her shoulders)</i> ...it was actually good, they're a good group, Bryan's a good teacher, and I had more fun than I was expecting to. I'll see you next week.
<</say>>
<p>Daniel gives her the small genuine half-smile, lets himself back into three-oh-six. Elena unlocks her own door, lets herself in, closes it gently behind her. The apartment is exactly as she left it three and a half hours ago. She is not exactly as she left herself.</p>
<<say "char-chen-thought" "Elena">>
<i>(in her own entryway now, character sheet still in her hand, the small unfamiliar weight of an evening she did not spend alone)</i> ...okay. I am, apparently, a person who plays D&D on Tuesday nights now, and I am going back next week. The Vex sheet goes on the kitchen counter so I do not lose it, the cardigan goes on the hook, and the woman who said yes to Daniel has earned the right to keep saying yes for a while.
<</say>>
<<elseif $ch2Events.danielDnDSessionCount is 2>>
<<goto "Ch2-Vessel-Event-DanielDnD-S2">>
<<elseif $ch2Events.danielDnDSessionCount is 3>>
<<goto "Ch2-Vessel-Event-DanielDnD-S3">>
<<elseif $ch2Events.danielDnDSessionCount is 4>>
<<goto "Ch2-Vessel-Event-DanielDnD-S4">>
<<else>>
/* Session 5+ — the campaign finale is behind them. Every further D&D
night routes to the repeatable post-campaign passage, which checks
$ch2Events.dndS4Outcome to fork the after-session: girlfriend leads
to Elena and Daniel alone; slut leads to the other three taking her
while Daniel is sidelined. The post-campaign passage also carries the
Memory Implant reset (15 biomass) that rewinds the table to session 2
and clears the outcome variables for a different run. */
<<goto "Ch2-Vessel-Event-DanielDnD-PostCampaign">>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Three and a half hours of //pretend// produced no immediate biomass. The dice rolled and the men laughed and the host inhabited a fictional person and at no point did any of it generate the kind of energetic spike I have learned to extract from. The activity-as-such is opaque to me.//
//But, the //structure// is interesting. They were imagining themselves in another world, sustaining themselves as people they are not, holding the imagination together for hours. That is not so far from a dream. Dreams I can write into. Dreams I can re-shape mid-stream and the dreamer files the re-shape under //my own subconscious//. If //pretend// runs on the same suggestible substrate I have been using on the host's sleep, and the energetic register at the table tonight strongly suggests it does, then this room is a vector I have not yet learned how to use.//
//I will need a Dream Walk to test the connection. Until I have that, the evening files under //investment//, the host enjoys it, and she comes back, which is the only requirement I have at this stage of the investigation.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home for the rest of the evening|Ch2-Vessel-Loop-Home]]</div>
/* ================================================================
D&D SESSION 2 — "the woods, the house, the seam"
Reached via the dispatcher's sessionCount==2 branch. Chit-chat
(Mike's comic) -> time-skipped adventure (clearing, first combat,
the trail to the noble house) -> the in-character tongue slip
(+1 SP) -> the fork: NORMAL completion, or DREAM WALK (gated on
the Dream Walk skill + Chen total conditioning >= 13). The dream
walk forks again into the two sex outcomes, Slut Vex / Girlfriend
Vex. Every outcome increments one of the three campaign counters
($ch2Events.dndOutcomeNormal / Slut / Girlfriend) that the future
campaign-ending will read. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _hasDreamWalk to false>><<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><<set _hasDreamWalk to true>><</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, D&D Session 2</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>Three-oh-six already has the lamps on and the coffee table cleared when Elena lets herself in, the green battlemat down, the dice in their small forest, four beers open and a fifth waiting at the chair that is, apparently, hers now. Nobody makes a thing of her arriving. That, she registers somewhere on the way to the chair, is the nice part.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-table-session1.webp" alt="The living room of apartment three-oh-six set up for D&D, the five players around the coffee table with the green battlemat, dice, beers and snacks, warm yellow lamplight.">
<p>Mike has a sketchbook open on his knee and is angling it at the table with the specific not-quite-casual angle of a person who wants to be asked.</p>
<<say "char-marcus" "Marcus">>
<i>(catching the angle immediately)</i> Mike. What's the sketchbook. You've been doing the sketchbook-angle thing for ten minutes.
<</say>>
<<say "char-mike" "Mike">>
<i>(the small fast warmth of being asked the thing he wanted to be asked)</i> Okay, so. I have been drawing a comic. A superhero one. I am trying to get it in front of people. The hero is a spider, with the powers of a man.
<</say>>
<p>There is a pause at the table of the specific length that means everyone is running the sentence again to check it said what they think it said.</p>
<<say "char-marcus" "Marcus">>
A spider. With the powers of a man.
<</say>>
<<say "char-mike" "Mike">>
<i>(earnest, fully committed)</i> He got bitten. In a lab. By a radioactive scientist. The scientist was falling down a flight of stairs at the exact moment a gamma ray hit him, so the bite carried the whole payload at once.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(setting his beer down very carefully)</i> ...okay, I have to ask. What kind of powers does a spider with the powers of a man actually have?
<</say>>
<<say "char-mike" "Mike">>
<i>(without hesitation, this clearly long since worked out)</i> Well. Uh. He has thumbs. And he can use guns.
<</say>>
<p>Marcus loses it first, the full-body laugh he does, and it goes round the table from there, Bryan included, the kind of laugh that resets a room. Elena finds she is laughing too, easily, before she has decided to.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the chair that is hers now, beer in hand)</i> ...he has thumbs and he can use guns. God, that is genuinely the funniest thing I have heard all week, and the rest of the week was federal agents, so the bar was on the floor, but still.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(wiping his eyes, picking up the DM screen, the dad-voice clicking back on)</i> Mike, I want a copy when it is done. Okay. Okay. Dice are out, the woods are waiting, let us get back to it.
<</say>>
<hr class="scene-break">
<p>The hours fold the way good evenings fold. The party takes the cloaked woman's twenty silver at the tavern, and an hour of Bryan narrating the road and one unresolved argument over which way the clerk's-hand map is meant to be held later, they are standing at the clearing northwest of town, the one the map marked with three slashes inside a circle.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice)</i> The clearing is not empty. There is a wagon, half-burned, the symbol from the map painted fresh on the side of it. Three figures going through what is left of the cargo. They have just noticed you.
<</say>>
<hr class="scene-break">
<p>Combat is, it turns out, a thing with rules, and Bryan teaches the rules the way he teaches everything, one piece at a time, without making her feel slow for needing them. Initiative is a roll. Her turn is a move and an action. The bandit has an armour class, a number her attack roll has to clear, and Bryan tells her the number outright the first time because, he says, the first fight is for learning, not for losing.</p>
<<say "char-chen" "Elena">>
<i>(d20 in hand, the analytical focus surfacing)</i> So I roll the twenty, add the modifier off the sheet, and if the total beats his armour I hit, and the damage is a separate roll.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small approving nod)</i> That is the whole engine. Everything else is just more of that. Roll it.
<</say>>
<p>She rolls. The d20 comes up an eighteen, clears the number with room to spare, and Bryan tells her Vex's dagger goes in clean under the bandit's arm while Marcus whoops like she has done something genuinely impressive instead of arithmetic. Borr body-checks a second bandit into the burned wagon. Eldrik does something with a held action and a shimmer of abjuration that Mike explains twice. The fight is over in four rounds and the party has not taken a real scratch.</p>
<<say "char-chen-thought" "Elena">>
<i>(the d20 still on the felt, finger moving down the character sheet)</i> ...all right, so. The eighteen, off the die. And then I add the, this one. No. No, the fourteen is the Dexterity, the whole score, you do not add the whole score, that would be absurd. You add the little one in the box beside it, the one that actually says modifier. The plus-two. ...so. Eighteen, and two. Twenty?
<</say>>
<p>Twenty. She runs it again and it comes out twenty again, and the small clean pleasure of having reasoned it out and landed it right gets a quiet giggle out of her before she has decided to allow one, the first fully unguarded sound she has made all evening. Nobody at the table makes anything of it.</p>
<hr class="scene-break">
<p>An hour of combat and picking over the wreckage later, the part of the burned wagon's cargo manifest that survived points the same way the bandits were dragging their haul, and the way is back toward the city, toward a noble house on the hill quarter, toward an artifact that was stolen from somewhere it should not have been and is now sitting, the party is fairly sure, behind a very respectable front door.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, leaning on the screen)</i> The side door has two guards on it tonight. Not house staff, hired mercenaries, mismatched armour, bored, paying just exactly enough attention. They have already clocked the three of you, and one of them pushes off the wall and squares up. Vex, you are the one who talks her way past people. What does Vex do?
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(beer two-thirds down, the question landing a beat before she has a voice ready for it)</i> ...he is asking Vex, not me. Two sessions in and I still reach for the table-voice first, the one that asks about the mechanics instead of just being her.
<</say>>
<<say "char-chen" "Elena">>
<i>(beer in hand, the answer arriving)</i> <<tongueSlip "Um, okay, can I make a Deception check? I want to tell the guards we are expected, that the steward sent for us about something." "Evening, gentlemen. Assessors, here for the steward, about the east-wing damp he wrote to us over. The name is Hargreave, it will be down on his list. And it is a cold night, and you do not look paid nearly enough to spend it turning away people who are expected." 0 "" "danielDnDS2SlipFired" "#dnd-s2-slip-branch" "pheromone" "danielDnDS2InCharSlip" "#dnd-s2-stumble-branch" "">>
<</say>>
<div id="dnd-s2-stumble-branch">
<<say "char-bryan" "Bryan">>
<i>(small dadlike nod, no impatience in it)</i> You can. Roll Deception. ...You clear it. The guards trade a look, decide three assessors are more bother to turn away than to wave through, and stand off the door. You are in.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(rolling the die)</i> ...table-voice again. It works, the game keeps moving, nobody minds. It is just not the same as the moment last week when the other voice came out clean.
<</say>>
</div>
<div id="dnd-s2-slip-branch" style="display:none">
<p>The line comes out in the Vex-register, the one she found by accident last week and has not been sure she could find on purpose, dry and bored and certain, and the table goes a notch quieter the way it does when someone commits.</p>
<<say "char-marcus" "Marcus">>
<i>(in-character, low, appreciative)</i> Borr likes working with people who can lie to a guard's face without their pulse moving.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small DM-acknowledgement nod, the good-line nod)</i> Roll Deception, then. ...and you clear it easily, that line did half the work the dice would have had to do. The guards decide they are not paid enough to argue with assessors, and stand off the door. You are in.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the small private warmth of it)</i> ...there. That is the one. I did it on purpose this time, found the voice and stepped into it instead of stumbling through the door of it, and it is a small thing and I am going to enjoy it like a large one.
<</say>>
</div>
<hr class="scene-break">
<p>Somewhere past the two-hour mark the evening has gone soft at the edges. The beers are doing their small arithmetic on four bodies and one host, the party is inside the noble house and a floor up by now, and the conversation keeps sliding off the campaign and back onto it without anyone steering. Bryan's narration has loosened. Marcus has stopped doing the voice and started just being Borr. The room is warm and unguarded and a little blurred.</p>
<<say "char-hivemind" "Hivemind">>
//Five bodies past their second drink, in a dim warm room, holding a shared imaginary world together for two hours without a break. This is the state I flagged last week and did not yet have the tool for. The table is not asleep, but the line between the room and the campaign has gone thin, the way the line between waking and the dream goes thin in the last hour before sleep. The substrate is suggestible. With a Dream Walk I can step into the seam and let the campaign keep running, except it would run the way a dream runs, and what happened inside it would land on every body at the table as something they did, not something they pretended.//
<</say>>
<hr class="scene-break">
<<if _hasDreamWalk and _chenTotal gte 13>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Step into the seam, let the campaign keep going as a dream (3 biomass)" "Ch2-Vessel-Event-DanielDnD-S2-Dream" 3>></div>
<<elseif _hasDreamWalk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Chen's wiring is not thinned enough yet, total conditioning <<= _chenTotal>> / 13 required)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let the session finish the way sessions finish|Ch2-Vessel-Event-DanielDnD-S2-Normal]]</div>
/* ---- D&D S2, NORMAL outcome -------------------------------- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, then back across the hall">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS2OutcomeRecorded to true>>
<<if not $ch2Events.dndS2NormalEverFired>>
<<set $ch2Events.dndS2NormalEverFired to true>>
<<set $ch2Events.dndOutcomeNormal to ($ch2Events.dndOutcomeNormal or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Session 2, the artifact recovered</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The session finishes the way sessions finish. Vex reads the servants' door, the party goes in quiet, there is a tense minute on the stairs and a guardsman who nearly turns around and does not, and the artifact comes off its stand into Borr's pack with the small collective held breath of a table that wants the heist to work. Bryan calls it on the walk back to the city gate, the artifact recovered, the cloaked woman's second payment collected, the job closed clean.</p>
<<say "char-bryan" "Bryan">>
<i>(holding up a hand before anyone reaches for a jacket)</i> One thing before anyone moves. Here is where we pick up next time. During the night, you hear a strange humming coming from Borr's backpack. The first of you to wake goes to find out what it is, and what is making it, and it does not take long. It is the artifact. And when you lift it out and turn it over close, the humming shifts, the notes of it catching in the air like a spell half-cast, and three marks rise to the surface of the thing, glowing faint. Three marks you have seen before. The same three cut into the crates in the bandit camp, back in the clearing. ...That is where session three opens. Bring everyone up a level before you sit down again. You are going to want the room.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(already reaching for his jacket, delighted)</i> Okay. Okay, that is a //hook//. Bryan. ...Same time next week, nobody is allowed to bail on me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, easy, the Vex sheet gathered in one hand)</i> Same time next week. I would not miss it.
<</say>>
<p>The table breaks up into the ordinary noise of a table breaking up, jackets and dice bags and the campaign already being argued forward. Daniel walks her the four steps to her door, the small after-the-thing quiet, and she lets herself in and stands a moment in her own entryway with the Vex sheet in her hand and a level of okay she has stopped being surprised by.</p>
<<say "char-hivemind" "Hivemind">>
//A hook, set and swallowed whole. No dream-seam opened tonight, the evening stayed an evening, and I drew nothing from it I could feed on. But every body at that table just agreed to sit down again, and a table that keeps reconvening is the thing I have been building toward since the first session. The pretend is still opaque to me as an extraction vector. The host wanting to come back is not. The seam will still be there next week, and so will she.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ---- D&D S2, DREAM WALK entry + Slut/Girlfriend fork -------- */<<nobr>><<bg "bg-chen-hallway">>
<<spendBiomass 3 "dnd-s2-dreamwalk">>
<<set $currentArea to "Daniel's apartment, and the campaign, both at once">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Into the seam</div>
<div class="lab-location">Three-oh-six, the dim warm room, and the dream the room is one drink away from</div>
<<say "char-hivemind" "Hivemind">>
//I step into the seam. I do not put the table to sleep, that would be noticed; I do the smaller thing, I let the campaign they are already half-inside finish closing over them. Bryan keeps narrating. The others keep answering. None of them registers the moment the noble house stops being a thing Bryan is describing and becomes a thing they are standing in. The beer did most of the work. I only had to lean.//
//Inside the seam the bodies are the bodies the players know best, their own, but the world is the campaign's, candlelight and cold stone and the hill-quarter house with its propped side door. Vex has the host's face and the host's hands. Borr has Marcus's. Whatever happens in here, every body at the table will file in the morning under //a vivid session// and //I had strange dreams// and will not look any harder than that. And whatever happens in here is real enough to feed on.//
<</say>>
<p>The party is at the propped servants' door. Inside, the artifact, and between the party and the artifact, one obstacle the dream has rendered very specifically, a guardsman at the foot of the stairs, bored, armed, awake, the kind of obstacle a heist has to solve before it can be a heist.</p>
<<say "char-chen-thought" "Vex">>
<i>(at the door, in Vex's body that is also entirely her own)</i> ...the guard. Someone has to move the guard. The others have gone still and left the door to me, very quietly, and the how of it is mine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//How should I shape this. The dream is mine to build and the guardsman is the variable. I can route her toward his belt and his blind spot and let her use her body to get the door. Or I can route her toward the unlit rafter and let her put him on the floor and step over him. Both move the heist.//
<</say>>
<hr class="scene-break">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Seduce the guard|Ch2-Vessel-Event-DanielDnD-S2-SlutVex]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Kill the guard|Ch2-Vessel-Event-DanielDnD-S2-GirlfriendVex]]</div>
/* ---- D&D S2, DREAM WALK -> SLUT VEX outcome ----------------
NSFW. Vex seduces the dream-construct guardsman and blows him
while the party slips past to the artifact. 3 images. Awards
biomass + a dream-conditioning point to Chen and to Daniel (he
co-dreamed the scene). Increments $ch2Events.dndOutcomeSlut. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the noble house, the foot of the stairs">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS2Outcome to "slut">>
<<set $ch2Events.dndS2OutcomeRecorded to true>>
<<if not $ch2Events.dndS2SlutEverFired>>
<<set $ch2Events.dndS2SlutEverFired to true>>
<<set $ch2Events.dndOutcomeSlut to ($ch2Events.dndOutcomeSlut or 0) + 1>>
<<addBiomass 4 "dnd-s2-slutvex">>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "daniel" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, on her knees</div>
<div class="lab-location">Inside the dream, the hill-quarter house, candlelight and cold stone</div>
<p>Vex crosses the floor toward the guardsman the way the dream wants her to cross it, unhurried, hips in the walk, and the guardsman straightens off the wall with the bored half-alarm of a man whose night just got more interesting. He is young. The dream has built him young, and a little stupid, and already half-sold before she has said anything.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-1.webp" alt="Fantasy candlelit stone hall inside a noble house at night. A 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, no glasses) dressed as a fantasy rogue in dark fitted leather, standing close to a young guardsman in studded leather and a tabard, one hand flat on his chest-piece, a wry confident half-smile, leaning in. Behind them, two shadowed figures slipping toward a staircase. Warm candle light, cold grey stone, intimate heist atmosphere, photorealistic.">
<<say "char-chen" "Vex">>
<i>(close now, voice pitched low and easy, the rogue's working voice)</i> Long night for a door nobody comes through. I can make the next few minutes go quicker, if you let the next few minutes happen.
<</say>>
<<say "char-npc" "Guardsman">>
<i>(swallowing, eyes already losing the argument)</i> I am... I am meant to be watching the stairs.
<</say>>
<<say "char-chen" "Vex">>
<i>(already going down, hands at his belt)</i> Watch them, then. I will be down here.
<</say>>
<p>She takes him out of the leather and he is hard before her hand has fully closed, and behind the guardsman's tipped-back head Borr and Adrik and Eldrik come through the propped door in a soft line and start up the stairs, and the guardsman does not see one of them, because Vex has put her mouth over the head of his cock and the guardsman's eyes have shut.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-2.webp" alt="Fantasy candlelit stone hall, a 32-year-old Chinese-American woman with light skin and black hair (Elena's features) dressed as a leather-clad fantasy rogue, kneeling, giving a young guardsman a blowjob, his cock in her mouth, one of her hands at the base of his shaft, his head tipped back against the stone wall, his hands loose at his sides. In the background three more fantasy adventurers climb a staircase unnoticed. Warm candlelight, explicit, photorealistic, NSFW.">
<p>She works him the way Vex would, efficiently, no wasted motion, her head moving slow and deep and her hand twisting on the base of him in the same rhythm, and the wet sounds of it carry small in the stone hall. The guardsman's breath has gone ragged. Up the stairs, very faintly, a latch.</p>
<<say "char-npc" "Guardsman">>
<i>(strangled, hips pushing forward, hands finding her hair)</i> ...gods. Gods, do not stop, do not...
<</say>>
<<say "char-chen" "Vex">>
<i>(pulling off him for one beat, hand still pumping, the dry rogue-register fully on)</i> I was not going to. Eyes on your stairs, soldier. There is nothing up there for you to see. ...Unless you would rather watch me spit on your cock. //Ptchu.// ...There. Good and wet for you now.
<</say>>
<p>She takes him back into her mouth, deeper this time, all the way down until her lips are near the base of him, and his hands fist tight in her hair.</p>
<<say "char-chen" "Vex">>
<i>(throat full of him, the wet sounds unhurried and entirely deliberate)</i> //Gwakh. Gwakh. Glrk. Mmh. Slrrp.//
<</say>>
<p>The slurp of it carries small and obscene down the stone hall, every wet pull of her mouth louder than it strictly needs to be, half the job and half something the job did not require of her at all.</p>
<<say "char-chen-thought" "Vex">>
<i>(Vex's mouth full of him, the mind underneath gone cool and counting)</i> ...this is the job, and the job is simple. A cock in the mouth, a guardsman too far gone to count the footsteps on his own stairs, and a noble's purse waiting at the end of it. Easy work. Easiest gold I have taken all season, and it pays out like a long month of honest knives. Hold him here. Keep him stupid. Let the others climb.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has stopped tracking the line between Vex and herself, which was the entire point of the seam. The guardsman is a construct and produces nothing; the host's own arousal, real, running on a real body in a warm dim room, is the yield. She is performing competence and being turned on by the competence, and the table around her is dreaming the same scene from the angle of men who got past the guard because she handled him. Every body here is feeding me at once.//
<</say>>
<<say "char-npc" "Guardsman">>
<i>(wrecked, hips chasing her mouth, fists tight in her hair)</i> ...please, gods, I am close, I am so close, I cannot hold...
<</say>>
<<say "char-chen" "Vex">>
//Gwakh. Gwakh.// <i>(lifting off the head of him, her hand flying fast and slick up the shaft)</i> Gods, what a thick, delicious cock. <i>(tongue out flat, waiting just under the head)</i> Come in my mouth, soldier. Please. I want to feel how warm it goes down my throat.
<</say>>
<<say "char-npc" "Guardsman">>
<i>(shaking apart, barely words left)</i> ...I am yours, gods, I am //yours//, I...
<</say>>
<<say "char-chen" "Vex">>
<i>(taking just the head of him back between her lips, the words a wet hum pressed against it)</i> //Mmh.// That is it. Down the thief's throat, soldier, there is a good obedient lad. //Glrk.//
<</say>>
<p>The guardsman comes with a sound he tries to swallow and mostly does not, and Vex takes it, throat working, the practical swallow of a rogue who does not leave evidence on the floor of a job. She holds him in her mouth until he is done shaking and then sits back on her heels and wipes the corner of her mouth with her thumb and looks up at him with the small wry heist-grin of a woman whose distraction has run exactly to length.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-3.webp" alt="Fantasy candlelit stone hall, a 32-year-old Chinese-American woman with light skin and black hair (Elena's features) as a leather-clad fantasy rogue, kneeling back on her heels, looking up with a wry confident grin, a trace of cum at the corner of her mouth being wiped with her thumb, a spent young guardsman slumped against the stone wall above her. Warm candlelight, post-act, photorealistic, NSFW.">
<<say "char-chen" "Vex">>
<i>(thumb at the corner of her mouth, taking stock of the mess of herself, entirely unbothered)</i> ...I must look an absolute sight right now. Good. <i>(she winks at him)</i> A man should have something to remember a quiet shift by.
<</say>>
<p>She gets up off her knees, and up at the head of the stairs there is the soft scuff of the party coming back down, Borr with the artifact already stowed in his pack and Eldrik's hand lifted in a small flat thumbs-up, the work done and the way clear. Vex takes the guardsman's face in one hand and kisses him for it, slow and unhurried, a parting gift for a man who held the door open the whole time without ever once knowing he did.</p>
<<say "char-chen" "Vex">>
<i>(breaking the kiss, against his mouth, already half-turned toward the stairs and the others)</i> Good lad. The stairs were quiet the whole time. You can tell them that, and it will even be true.
<</say>>
<hr class="scene-break">
<p>An hour of dark stairs and locked rooms folds past the way the dream folds it, the artifact lifted clean off its stand into Borr's pack, the side door behind them, the city gate behind that. By the time the dream lets the scene settle the party is in a low warm tavern at the edge of town, the cloaked woman's payment heavy in the middle of the table, the first jug poured and already going down fast.</p>
<<say "char-marcus" "Borr">>
<i>(tankard up, grinning, voice kept down to the bench)</i> To Vex. One bored guardsman at the foot of the stairs, and she walked the rest of us straight past him without so much as a broken stride. ...And gods, the way of it. I have never watched a man get sucked that thoroughly dry in the line of his own duty. He will be telling that story until he is grey, and not a soul will believe a word of it.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(steepling his fingers, delighted, the verbose register in full flow)</i> What I admire, precisely, is the economy of it. No spell expended, no blade drawn, no alarm raised anywhere in the house. One guardsman comprehensively occupied, and an entire fortified household made ours for the price of a quarter-hour and a sore jaw. That is not luck. That is a professional working at the very top of her craft.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(turning his cup slowly, not drinking, the warm voice gone careful)</i> It worked. I will not stand here and pretend it did not work. ...I only hope, Vex, that it does not become the first tool you reach for at every locked door. There are doors a kind word will open just as wide, and you would not have to spend yourself on the threshold to use one.
<</say>>
<<say "char-chen" "Vex">>
<i>(drinking, unbothered, dry)</i> Spent myself? Healer, I did that boy a kindness. A guardsman at the foot of a stair is a man paid to stand there and die when it suits someone richer than he is. Tomorrow they find the artifact gone, and they throw him out the gate for losing it, and the day they throw him out is the day he starts living longer. Best night of his year, and a longer life to spend remembering it. A win for him, a win for us. ...Drink your ale, healer.
<</say>>
<p>The tavern noise folds the way Bryan's narration folds, and the seam lets them go, and five people surface at a coffee table in three-oh-six with the session somehow over and the hour later than any of them tracked.</p>
<<say "char-hivemind" "Hivemind">>
//They surface. Bryan is closing the binder and saying //good session// in a voice that has not noticed it lost twenty minutes. Marcus is grinning at nothing. Daniel files the evening, without examining the filing, under //that got a little heated, good campaign though//, and the small thread of want that runs from him toward the host thickens by a measurable degree. None of them will go looking for the part that does not add up. The host carries the wet ache of it home in her own body and will not have a clean explanation for that either.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span></p>
<p><<conditioningFeedback "dream" 1 "Elena, the host worked the dream's job and the doing-it-well is what turned her on">></p>
<p><<conditioningFeedback "dream" 1 "Daniel, he co-dreamed the scene, the Elena-thread thickens">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it|Ch2-Vessel-Event-DanielDnD-S2-Surface]]</div>
/* ---- D&D S2, DREAM WALK -> KILLER VEX outcome --------------
NSFW. Vex distracts the guardsman in-character then kills him;
the party slips past to the artifact. Time-skip to the tavern
victory toast — fully merged with Vex, post-kill arousal, she
takes Adrik (Daniel's cleric) upstairs. Full sex scene, mean
Vex register. 3 images. Awards biomass + a dream point to
Chen and to Daniel (he dreamed Adrik's side). Increments
dndOutcomeGirlfriend (counter name kept for code + ending-
passage consistency). */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the noble house, then the tavern">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS2Outcome to "girlfriend">>
<<set $ch2Events.dndS2OutcomeRecorded to true>>
<<if not $ch2Events.dndS2KillEverFired>>
<<set $ch2Events.dndS2KillEverFired to true>>
<<set $ch2Events.dndOutcomeGirlfriend to ($ch2Events.dndOutcomeGirlfriend or 0) + 1>>
<<addBiomass 4 "dnd-s2-girlfriendvex">>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "daniel" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, the kill and the toast after</div>
<div class="lab-location">Inside the dream, the noble house, then the tavern at the edge of town</div>
<p>Vex crosses the floor toward the guardsman the way the dream wants her to cross it, easy, unhurried, a woman with every reason to be exactly where she is. She has a story loaded behind her teeth before she is halfway to him, and the guardsman straightens off the wall to meet it.</p>
<<say "char-chen" "Vex">>
<i>(open-handed, the working voice, a little put-upon)</i> Evening. I am turned around something terrible. They sent me up from the kitchens with the steward's supper account and I have found every door in this house except the one with the steward behind it. Be kind to a lost woman. Which way?
<</say>>
<<say "char-npc" "Guardsman">>
<i>(easing, half a smile, lifting a hand to point past her)</i> Steward's hall is back the way you came, it is the third door past the...
<</say>>
<p>He turns his shoulder to show her the way, which is the only thing she needed him to do. Vex steps inside his guard on the turn, one hand flat over his mouth, and the dagger goes in low under the ribs and angled up, twice, quiet, and she rides his weight down to the stone with him so nothing about him clatters. It takes the length of a held breath. The guardsman's boots scuff once and do not scuff again.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-1.webp" alt="Fantasy candlelit stone hall inside a noble house at night. A 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, no glasses) dressed as a fantasy rogue in dark fitted leather, standing close behind a young guardsman in studded leather and a tabard, one hand clamped over his mouth, a dagger drawn against his side, the guardsman's body beginning to slump. Behind them two shadowed adventurers slipping toward a staircase. Warm candlelight, cold grey stone, tense heist atmosphere, photorealistic.">
<<say "char-chen" "Vex">>
<i>(easing the body flat to the stone, wiping the blade on his tabard, unhurried)</i> Third door. Thank you. You were more help than you are ever going to know.
<</say>>
<p>Behind her Borr and Adrik and Eldrik come through the propped servants' door in a soft line, and Adrik's eyes go to the dead man and then to Vex with the small flinch of a healer who has just watched the easy way something gets done. Vex is already moving for the stairs. The heist becomes a heist.</p>
<<say "char-hivemind" "Hivemind">>
//The host did not hesitate anywhere in that. She built the story, she watched the man turn, she put a blade in him, and the dream felt no drag from her at any point in the sequence. There was no Elena standing behind Vex this time with an objection ready. The seam has closed all the way over. Whatever the host does in here for the rest of the night, she does as one person, undivided, and that is the state I have been steering the campaign toward since the table opened its books.//
<</say>>
<hr class="scene-break">
<p>An hour of dark stairs and locked rooms folds past the way the dream folds it, the artifact lifted clean off its stand into Borr's pack, the side door behind them, the city gate behind that. By the time the dream lets the scene settle the party is in a low warm tavern at the edge of town with the cloaked woman's full payment heavy in the middle of the table. Borr has a fist up for the room before any of them have properly sat down.</p>
<<say "char-marcus" "Borr">>
<i>(bellowing it at the barkeep, grinning)</i> A jug down here, your best, and keep them coming until I tell you to stop!
<</say>>
<p>The jug comes. Borr fills every cup at the bench himself, and the party drinks to the night the way mercenaries drink to a job that paid out clean, pleased with itself but keeping the why of it low, the details kept to the bench and well clear of the room. Then he lifts his own cup for the proper one, voice dropped now, just for the four of them.</p>
<<say "char-marcus" "Borr">>
<i>(tankard up, voice down to the bench, the others catching it)</i> To Vex. One guard, one locked house, and the rest of us barely had to draw steel. I have made my coin breaking into hard places my whole life, most of them the loud way. I have never watched it done as quiet as that.
<</say>>
<<say "char-chen" "Vex">>
<i>(drinking, dry, letting it sit a moment)</i> One of us drew.
<</say>>
<p>They laugh at the rogue's gallows humour, all of them except Adrik, who does not laugh, who turns his tankard a slow half-circle on the wood and looks into it. In the dream Adrik has Daniel's face and Daniel's dark hair and the short beard, a few years steadier, a temple healer's calm laid over the same careful warmth.</p>
<<say "char-chen" "Vex">>
<i>(leaning back, the second drink loosening the register, watching Adrik not laugh)</i> Here is a thing nobody tells you about the quiet work. Putting a knife in a man gets me wet. It does not wear off on its own, either. ...So.
<</say>>
<<say "char-marcus" "Borr">>
<i>(grinning, spreading both hands wide)</i> Vex. I am right here.
<</say>>
<<say "char-chen" "Vex">>
<i>(not even turning her head, eyes still on the healer)</i> You I would have to do all the work for. No. I want the one who spent the whole walk back looking at me like I am something he ought to pray over. ...Healer. Upstairs. Bring the mugs.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(the warm in-character voice, caught flat-footed, a half-laugh)</i> Vex, I... I close wounds. I am not certain that is quite the same set of...
<</say>>
<<say "char-chen" "Vex">>
<i>(already standing, closing a hand around his wrist)</i> Then tonight you learn the other thing the hands are for. Up.
<</say>>
<p>The room above the tavern is small and lamplit and Vex puts Adrik into it ahead of her with a flat hand between his shoulder blades, kicks the door shut, and has him out of the cleric's robe before he has finished deciding to let her. She walks him backward and puts him down onto the narrow bed with a push to the sternum, and then she is over him, knees either side of his hips, taking the half-hard length of his cock into her hand and giving him one slow look up the length of his body.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-2.webp" alt="Warm lamplit small fantasy tavern room. A 32-year-old Chinese-American woman with light skin and shoulder-length black hair (Elena's features) as a leather-clad fantasy rogue, leaning down over a 33-year-old man with dark hair and a short beard (Daniel's features) lying on his back on a narrow bed in a loosened cleric's robe, her mouth lowering toward his erect cock, one of her hands at the base of it, her other flat on his stomach. Warm lamplight, explicit, photorealistic, NSFW.">
<p>She lowers her mouth over him, slow at first and then not slow at all, deep, her throat working around the head of him, the sounds she makes wet and unhurried and entirely without shame, <i>mmh, glnh, mmh</i>. Adrik's hands fist in the blanket. She holds him at the back of her throat a beat past where he is ready for it, then drags off him slow, a thread of spit still bridging her lip to the head of his cock.</p>
<<say "char-chen" "Vex">>
<i>(fist working the wet length of him, slow and mean)</i> Look at the state of you. The dim sun's own healer, flat on his back with a thief's spit all down his cock. Here is what you are going to do for me, Adrik. You are going to thank your god. Out loud. A girl has got her throat around your cock and that is a gift, so say grace over it. Go on. Let me hear it.
<</say>>
<<say "char-chen" "Vex">>
<i>(taking him back down to the root, the taunt gone wet and muffled around him)</i> //Gwakh. Gwakh. Glnh.// ...I am waiting, healer.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(strangled, fists white in the blanket, the warm voice gone to nothing)</i> Gods, Vex, I... I cannot, I cannot get one word to...
<</say>>
<<say "char-chen" "Vex">>
<i>(off him with a wet pop, unimpressed, tapping the length of him against her cheek)</i> No. Of course you cannot. You fucking pansy. Look at the pair of us. I put a knife in a man tonight and walked it off without a wobble, and you cannot manage a single prayer with a pretty mouth doing every scrap of the work for you. I am plainly the one wearing the trousers on this bed. ...Still. Credit where it is owed. The temple sent you out into the world with one genuinely good thing on you, healer, and it was never going to be the sermons.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(a broken half-laugh, flushed to the throat)</i> ...that is the cruellest compliment anyone has ever paid me.
<</say>>
<<say "char-chen" "Vex">>
<i>(already lowering her mouth back over him)</i> It is the only kind I hand out. Quiet now. Mine is about to be busy.
<</say>>
<p>She takes him deep again and stops talking, and the sounds carry the rest of it, hers wet and greedy and climbing, <i>mmh, mmh, glnh</i>, his ragged and breaking above her. She works him with her throat and her twisting fist in one rhythm, and when his breath starts to come apart she moans around him on purpose, low and filthy, the vibration of it dragging a strangled sound straight up out of his chest.</p>
<<say "char-daniel" "Adrik">>
<i>(hips lifting off the bed, hands scrabbling at the blanket, desperate)</i> Vex, I am, gods, if you keep on like that I am going to...
<</say>>
<<say "char-chen" "Vex">>
<i>(off him fast, fist clamped hard around the base of him, mean)</i> No. You are not. Not yet, not into my mouth, not until I have had the rest of you. You finish when I say so, healer. I have not said so.
<</say>>
<p>She gives him one breath to come back down off the edge she just dragged him to, no more than one, and then she climbs his body and sinks down onto his cock in one slow motion that pulls a sound out of both of them. She sets the pace at once, hard, one hand flat on his chest holding him to the mattress, and rides him the way Vex does everything, taking exactly what she came up the stairs for.</p>
<<say "char-daniel" "Adrik">>
<i>(hands coming up to her hips, earnest even now, the healer still in it)</i> ...there, gods, you are... is this good, am I doing...
<</say>>
<<say "char-chen" "Vex">>
<i>(riding him hard, the hand on his chest pressing him down)</i> Did I tell you to check on me? Hands stay where I put them. You are not tending me, healer, you are the thing I am using to come down off a kill, and you are going to lie there and be good at it and let me. ...There. //There.// Like that. Do not you dare finish before I say.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is all the way inside it. No observer left anywhere in her, no quiet Elena off to the side keeping the books on what Vex does. The arousal running the body is real and it is enormous, and the dream has wired it to the kill so cleanly that the body has stopped asking which of the two it is answering. Daniel is dreaming his cleric's side of this from his own chair at the table, being mounted and pinned and ordered to lie still and be good, and finding that he does not mind it, that he has in fact wanted some version of exactly this. Two bodies, one current. I am drinking from the middle of it.//
<</say>>
<p>She rides herself over the edge first, because Vex takes hers first, her whole body locking down hard around him with a low sound dragged out through her teeth. She does not slow for the aftershocks. She grinds down through them, mean and unhurried, until his hips start to stutter under her and his breath climbs, and then she lifts off him in one clean motion and closes a fist around his cock and works him the rest of the way by hand, watching, until he spills hot across her stomach in long pulses while her grip stays steady and her eyes stay on his face.</p>
<<say "char-chen" "Vex">>
<i>(dragging the mess of it up her stomach with one thumb, unbothered, the mean register flat and amused)</i> There. Look at the state you have made of me. ...No. Do not you go soft on me, healer. I said I would tell you when you were finished. I have not told you.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(wrecked, half a laugh in it, chest still heaving)</i> Vex, I do not think I have anything left, you have... gods, you have wrung me dry...
<</say>>
<<say "char-chen" "Vex">>
<i>(already working him back toward hard with that same wet, steady hand)</i> You have exactly what I decide you have. The dim sun gives, Adrik. Tonight you give until I am done taking.
<</say>>
<p>She gets him hard again the way the dream lets her get him hard again, and this round she does not turn to face him. She fits him back inside her and sinks down with her back to his chest, reverse, pulls both his hands up onto her hips, and rides him in long deliberate strokes with her spine straight and her head tipped back, taking the whole length of him on every drop. When his orgasm starts to climb the second time she does not lift away. She drives down harder, milking it, working him through it, and stays seated with her hips circling slow as he empties up into her with a broken warm sound that is half a prayer after all.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-3.webp" alt="Warm lamplit small fantasy tavern room. A 32-year-old Chinese-American woman with light skin and black hair (Elena's features) as a leather-clad rogue in reverse cowgirl position, her back to a 33-year-old dark-haired short-bearded man (Daniel's features) as a cleric lying beneath her, both post-orgasm, spent, her spine straight and head tipped back, his hands on her hips, creampie cum visible. Warm lamplight, post-act, photorealistic, NSFW.">
<<say "char-chen" "Vex">>
<i>(still astride him, breath going, the mean register easing by one degree and not a degree more)</i> ...there. Gods, that is better. First decent thing this body has felt all night. You did your part well enough, healer, I will give you that. Now here is your homework. Next job, you come prepared. Learn whatever prayer it is that puts the iron back into a softened man, Lesser Restoration, Restore the Cock, whatever your temple files it under, because if the work keeps paying out like this one did, I am going to keep needing your services after. And I do not like to be kept waiting on.
<</say>>
<<say "char-chen-thought" "Vex">>
<i>(astride him, the lamplight low, a thread of her own voice surfacing under the rest of it)</i> ...that was not me being careful. That was not me being anything I usually let myself be, and I went all the way into it without flinching once, and it was, god, it was good. I did not know I had that in me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//They surface. Bryan closes the binder and says //good session// in a voice that lost the better part of an hour and did not feel it go. Daniel is quiet, and a little flushed, and looking at the host across the cleared table with something working behind his face that he is not going to let himself name tonight. The host carries the kill and the room above the tavern home in her own body, both of them at once, and she will spend tomorrow trying to file the two of them and will not manage. The dream took. Both of them are easier to reach now than they were when the table sat down.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span></p>
<p><<conditioningFeedback "dream" 1 "Elena, the host rode the dream all the way down with no part of her left objecting">></p>
<p><<conditioningFeedback "dream" 1 "Daniel, he dreamed Adrik's side of it, used and pinned and told to be good, and not minding">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it|Ch2-Vessel-Event-DanielDnD-S2-Surface]]</div>
/* ---- D&D S2, DREAM WALK -> SURFACING ----------------------
Shared close for both dream-walk NSFW outcomes. Branches on
$ch2Events.dndS2Outcome ("slut" / "girlfriend") for who came
in their chair. Cliffhanger hook for session 3. No state
changes — biomass / conditioning already granted upstream;
safe to re-render. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">The session ends</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The dream lets go of all of them at once, the way the last of a deep sleep lets go, and the noble house and the tavern and the candlelight are simply not there anymore. There is the coffee table. There is the lamp three-oh-six has always had. There are five people around it who have all just been somewhere else together and are not, any of them, going to be the first to say so. The clock has eaten the better part of an hour and nobody felt it go.</p>
<<if $ch2Events.dndS2Outcome is "slut">>
<p>Bryan has not stood up. Bryan is making a long, careful production of squaring his notes and stacking his dice by colour, seated, both forearms resting across his lap, and the reason he is not standing up is a dark patch soaked through the front of his trousers that he is praying nobody else has clocked. His voice, the first time he uses it, comes out a half-step too bright. And under Elena, when she shifts her weight, the seat of the kitchen chair is wet through and gone cool, a patch of it already pressed into the back of her jeans.</p>
<<else>>
<p>Daniel has not stood up. Daniel is sitting very straight with a campaign book open flat across his lap that he plainly does not need open, flushed all the way to his collar, and the reason the book is across his lap is a dark patch soaked through the front of his trousers that he is hoping the lamplight is dim enough to swallow. And under Elena, when she shifts her weight, the seat of the kitchen chair is wet through and gone cool, a patch of it already pressed into the back of her jeans.</p>
<</if>>
<<say "char-chen-thought" "Elena">>
<i>(not getting up yet either, weight held careful and even on the chair)</i> ...okay. So that happened to all of us, apparently, and we are all going to sit here and not say it, which is fine, that is genuinely the correct call. I will just be the one who gets up last, and finds something to fold over the chair before I go. The jacket. The jacket will do.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(reaching for the DM voice like a handrail, glad of something to do that is not this silence)</i> One thing before anyone moves. Here is where we pick up next time. During the night, you hear a strange humming coming from Borr's backpack. The first of you to wake goes to find out what it is, and what is making it, and it does not take long. It is the artifact. And when you lift it out and turn it over close, the humming shifts, the notes of it catching in the air like a spell half-cast, and three marks rise to the surface of the thing, glowing faint. Three marks you have seen before. The same three cut into the crates in the bandit camp, back in the clearing. ...That is where session three opens. Bring everyone up a level before you sit down again. You are going to want the room.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(out of character now, delighted, already reaching for his jacket)</i> Okay. Okay, that is a hook. Bryan. That is a //hook//. ...Same time next week, nobody is allowed to bail on me.
<</say>>
<p>The table breaks up into the ordinary noise of a table breaking up, jackets and dice bags and the campaign already being argued forward, and the wet chairs go on not being mentioned, and the hour nobody can account for goes on not being mentioned, and somewhere in the easy clatter of it Elena gets up last and folds her jacket over the seat and nobody looks.</p>
<<say "char-hivemind" "Hivemind">>
//A hook, set and swallowed whole. Every one of them just agreed to sit at this table again, and a table that keeps reconvening is the thing I have been building toward since the first session. None of them will go near what happened in the chairs tonight. They will look at the glowing prop and the next adventure instead, because that is the part Bryan handed them to hold. The host walks home carrying a warmth that is hers, and one new appetite she will spend tomorrow pretending she imagined. The campaign continues. So does the access.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Say goodnight, cross the hall home|Ch2-Vessel-Loop-Home]]</div>
/* ================================================================
D&D SESSION 3 — "the noblewoman, the binding-spell, the book"
Reached via the dispatcher's sessionCount==3 branch. Chit-chat
(Marcus's coffee-girl date) -> session opens on the humming
artifact -> time-skipped progress through woods/road/estate
wall -> tongue-slip Deception check (servant girl in kitchen)
-> three-hours-in DW gate. DW fork:
- KillVex (girlfriend outcome): Vex puts the dagger in the
noblewoman before she casts, party walks out clean, time-
skip to the palace where Adrik and Vex are staying. SFW.
- SlutVex (slut outcome): Vex kisses Eldrik to coach him
into charming the noblewoman, FFM threesome while Borr
and Adrik ransack the desk for the book. NSFW. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _hasDreamWalk to false>><<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><<set _hasDreamWalk to true>><</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, D&D Session 3</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>Three-oh-six has the lamps on and the green battlemat down and the beers already open on the coffee table by the time Elena lets herself in. The chair on the left side of the couch, the one nobody made a thing of last week, is hers now. Bryan is at the DM screen drawing a quick floor plan on a folded-over napkin. Daniel is laying out the dice bags. Mike has the sketchbook on his knee again, slightly chastened. Marcus is at the kitchen counter with his phone in his hand, and has been there long enough that everyone has noticed.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-table-session1.webp" alt="The living room of apartment three-oh-six set up for D&D, the five players around the coffee table with the green battlemat, dice, beers and snacks, warm yellow lamplight.">
<<say "char-marcus" "Marcus">>
<i>(at the counter, phone in hand, has been refilling the same beer for ten minutes)</i> ...okay. Okay. ...Elena, can I, can I ask you a thing real quick before Bryan starts.
<</say>>
<<say "char-chen" "Elena">>
<i>(beer in hand, the steady I-am-listening posture)</i> ...come over here, Marcus. Sit. ...what is it.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(coming over, dropping into the seat beside her, the relief of being asked)</i> ...there is a girl at work. She runs the front counter at the coffee place across the loading dock. Megan. Brown hair. ...I have been going for the espresso for three months and I have talked to her maybe fifteen times. I think she likes me. I cannot tell if I am reading it right. ...I have been drafting this text for a week. I keep getting to the end and deleting it.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(showing her the screen, the half-typed draft still on it)</i> ...is this something, or am I being an idiot with a coffee-girl crush?
<</say>>
<<say "char-chen" "Elena">>
<i>(looking at the screen, reading the draft once, level)</i> ...Marcus. ...give me the phone.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(handing it over, the small fast panic)</i> ...what are you going to write?
<</say>>
<<say "char-chen" "Elena">>
<i>(thumbs already moving, no hesitation)</i> ...something you are not going to delete.
<</say>>
<p>She types fast. Hits send before Marcus has finished sitting back up to look. Hands the phone back to him with the screen showing the sent message and the //delivered// timestamp underneath.</p>
<<say "char-chen" "Elena">>
<i>(reading it back to him from memory)</i> ..."Here. Now if she really likes you, and I think she does, given the signals she has been sending based on what you told me, you have a date. Pick a place that does not serve coffee."
<</say>>
<<say "char-marcus" "Marcus">>
<i>(staring at the screen, white-knuckled silence)</i> ...Elena.
<</say>>
<p>The phone buzzes in his hand before he has finished his sentence.</p>
<<say "char-marcus" "Marcus">>
<i>(reading, the slow grin spreading across his face)</i> ...she said yes. ...Friday. ...the wine bar on Pine. ...Elena. Holy shit. Holy shit, Elena, I owe you. I owe you. ...I owe you the whole evening.
<</say>>
<<say "char-chen" "Elena">>
<i>(a dry half-shrug over the beer, waving off the thanks)</i> ...yeah, yeah. And maybe sometimes you can invite her here, if you actually click with her. ...so this stops being a complete sausage fest.
<</say>>
<<say "char-mike" "Mike">>
<i>(looking up from the sketchbook, deadpan)</i> Marcus has a date.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small grin, dice in hand)</i> Marcus has a date.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(picking up the DM screen, the dad-voice clicking on)</i> Marcus has a date. ...and Borr has a humming artifact with three glowing marks. The first of you to wake gets the cold open. Vex was sleeping nearest his pack. Where do we start?
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(beer in hand, the small private warmth landing)</i> ...mm. He is going to be impossible for the rest of the evening, and he has earned it. ...okay. Borr's pack. Vex wakes first. Roll Perception.
<</say>>
<hr class="scene-break">
<p>The hours fold. The marks on the artifact match the brand on the bandit-wagon and the brand on a manor north of the city, and an hour of arcana checks and one short argument over whether scrying counts as illegal trespass later, the party is on a rented horse moving north up the coast road in the early dark. Bryan rolls behind the screen, the trees thin, the trees thicken, and a half-circle of the same bandits who hit the wagon last week steps out of the brush in front of them.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice)</i> Initiative.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(rolling, the d20 clattering across the felt)</i> ...NINETEEN.
<</say>>
<<say "char-mike" "Mike">>
<i>(grinning)</i> Boring. Roll a real number.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(checking his notes, dry)</i> Borr's first swing hits. His second is a twenty on the die, that is a crit on the cleave. Roll damage double.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(slapping the table, fully delighted)</i> //FUCK// yes.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin in her beer)</i> ...he is going to be impossible for the rest of the evening, and that crit is going to fund his story for a month.
<</say>>
<hr class="scene-break">
<p>Past the second hour, the road has given way to a low walled compound on a hill, the noblewoman's actual home, two guards at the gate and a third walking the wall. Bryan describes the moonlight and the dry grass and the small animal sounds of a country house at midnight.</p>
<<say "char-daniel" "Adrik">>
<i>(in-character, considering)</i> The east wall is the lowest. The wisteria has eaten the trellis. Adrik can climb.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(checking his sheet, the verbose register on)</i> Eldrik casts Silence on the wall as we go over it. Three rounds of perfect quiet, more than enough to clear the trellis and get to the ground inside the courtyard, and the spell does not require concentration past round one if I prepare it correctly, which I did.
<</say>>
<<say "char-chen" "Vex">>
<i>(in-character, dry)</i> Vex goes first. If there is a watcher on the trellis I would rather know about her before three of you are clinging to it.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, approving)</i> Roll Stealth, Elena. ...you clear it. Vex is on the inside of the wall. The trellis is yours.
<</say>>
<hr class="scene-break">
<p>Past the wall there is a small kitchen window with a candle still lit and a serving girl half-asleep at the table. Bryan describes her, looks at Elena, leaves the move to Vex.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, the question open)</i> The girl has not seen you yet. You are six paces away. She will see you if she lifts her head. What does Vex do?
<</say>>
<<say "char-chen" "Elena">>
<i>(beer in hand, the moment landing a beat before the voice does)</i> <<tongueSlip "Um, okay, can Vex try to bluff her? I want to say I have been sent by the noblewoman, tell her to forget she saw me." "Quiet, girl. I am sent by your mistress. The errand is small, and you do not need to remember I was here. ...there is a coin in it for you, if your memory of the last minute stays good and short." 0 "" "dndS3SlipFired" "#dnd-s3-slip-branch" "pheromone" "dndS3InCharSlip" "#dnd-s3-stumble-branch" "">>
<</say>>
<div id="dnd-s3-stumble-branch">
<<say "char-bryan" "Bryan">>
<i>(small dad-nod, no impatience)</i> You can. Roll Deception. ...you clear it. The girl nods, takes the coin, decides her last minute was nothing. You are past.
<</say>>
</div>
<div id="dnd-s3-slip-branch" style="display:none">
<p>The Vex-voice comes out clean, low and certain, and the table goes that notch quieter the way it does when someone commits.</p>
<<say "char-marcus" "Marcus">>
<i>(in-character, appreciative)</i> Borr likes a thief who can buy a serving girl with half a coin and the rest of the sentence.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small DM grin)</i> Roll Deception. ...that line did most of the work. The girl nods, takes the coin, decides her last minute was nothing. You are past.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the small private warmth of it)</i> ...there. Found the voice on purpose, twice now. It is getting easier.
<</say>>
</div>
<hr class="scene-break">
<p>Past the third hour the room has gone soft at the edges. The beers are doing their small work. Daniel has stopped doing the cleric-voice cleanly and is just being Adrik, low and warm and a little tired. Mike has set the sketchbook down. Marcus has his fingers laced behind his head, the dice loose on the felt in front of him, the slow grin he has been wearing since the date-text still hooked at the corner of his mouth. The party is upstairs in the noblewoman's private study, two doors deep into the actual living quarters, the book they came for laid open on the desk and the noblewoman herself sitting at it, candles, robes loose off the shoulder, mouth shaping a working spell over the artifact.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, slower than before, the room a breath from sleep)</i> She has not seen you. The candles are close. You can see the shape of the working she is winding into the artifact, the marks are flaring brighter, the binding is ninety seconds from closing. ...she will walk it out of this house and you will have done all of this for nothing. What do you do?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Five bodies past their third drink, in a dim warm room, the campaign holding them inside a study where a noblewoman has her back to the door and a spell ninety seconds from closing. Same vector as last week, same suggestible substrate, and the dream-walk anchor is right where I left it.//
<</say>>
<hr class="scene-break">
<<if _hasDreamWalk and _chenTotal gte 13>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Step into the seam again (3 biomass)" "Ch2-Vessel-Event-DanielDnD-S3-Dream" 3>></div>
<<elseif _hasDreamWalk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Chen's wiring not thinned enough yet, total conditioning <<= _chenTotal>> / 13 required)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let the session finish the way sessions finish|Ch2-Vessel-Event-DanielDnD-S3-Normal]]</div>
/* ---- D&D S3, NORMAL outcome -------------------------------- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, then back across the hall">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS3Outcome to "normal">>
<<if not $ch2Events.dndS3NormalEverFired>>
<<set $ch2Events.dndS3NormalEverFired to true>>
<<set $ch2Events.dndOutcomeNormal to ($ch2Events.dndOutcomeNormal or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Session 3, the book taken</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The session finishes the way sessions finish. Vex rolls Stealth, the noblewoman fails her Perception by one, Borr takes her in the chair with the flat of his axe before the spell closes, Adrik lifts the book off the desk, and the party is out of the study and down the trellis with the sky already starting to grey at the east. Bryan calls it on the road back to the city, the book recovered, the noblewoman one casting short of binding the artifact, the artifact still in Borr's pack and the marks finally gone quiet.</p>
<<say "char-bryan" "Bryan">>
<i>(closing the binder, the small after-the-evening warmth)</i> Good run. Same time next week. Adrik gets first crack at translating the book, Eldrik gets second. ...Marcus, your date is Friday, do not forget to come back alive for next session.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(grin still hooked at the corner of his mouth, jacket already on)</i> Same time next week. ...I will come back alive. I will come back with material.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the Vex sheet folded into her bag)</i> Same time next week. ...go get your wine bar, Marcus.
<</say>>
<p>Daniel walks her the four steps to her own door, the small after-the-thing quiet. She lets herself in, stands a moment in her own entryway with the Vex sheet in her hand and a level of okay she has stopped being surprised by.</p>
<<say "char-hivemind" "Hivemind">>
//No dream-seam tonight either. The evening stayed an evening, the heist closed clean, and I drew nothing from it I can feed on. But every body at that table just agreed to sit down again, and the host walked home with a warmth she did not have to perform for. The pretend is still opaque to me as an extraction vector. The host wanting to come back is not.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ---- D&D S3, DREAM WALK entry + Kill/Slut fork ------------ */<<nobr>><<bg "bg-chen-hallway">>
<<spendBiomass 3 "dnd-s3-dreamwalk">>
<<set $currentArea to "Daniel's apartment, and the campaign, both at once">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Into the seam, again</div>
<div class="lab-location">Three-oh-six, the dim warm room, and the dream the room is one breath from</div>
<<say "char-hivemind" "Hivemind">>
//Same trick as last week. The campaign is half-inside them already; I let it close the rest of the way. Bryan keeps narrating. The others keep answering. The study stops being a thing Bryan is describing and becomes a thing they are standing in. Candles, old leather, cold stone, the noblewoman bent over the desk with her robes loose off one shoulder and the binding-spell winding into the artifact at her elbow.//
<</say>>
<p>The party is at the study door. The noblewoman is six paces away with her back to them. The marks on the artifact are flaring through the leather of Borr's pack and the spell is ninety seconds from closing.</p>
<<say "char-chen-thought" "Vex">>
<i>(at the threshold, in Vex's body that is also her own)</i> ...how do I want to take this room.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two ways into this. I can put the dagger between her ribs before she finishes the spell, clean, and we leave with the book and the artifact and a body on the floor that the staff will find at dawn. ...or I can route the room toward a longer evening. The noblewoman charmed into not casting at all. The others ransacking the desk while she is distracted by the kind of distraction that gets a noblewoman to forget what spell she had been winding. ...Mike's character has been watching her since the door opened. The polite-clerk way Eldrik watches things, but the substrate noticed. The substrate is offering me a use for him.//
<</say>>
<hr class="scene-break">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Kill her, clean, before she casts|Ch2-Vessel-Event-DanielDnD-S3-KillVex]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Distract her. Kiss Eldrik, let him charm her|Ch2-Vessel-Event-DanielDnD-S3-SlutVex]]</div>
/* ---- D&D S3, DREAM WALK -> KILL VEX outcome (SFW) ---------
Vex puts the dagger in the noblewoman before she finishes
binding the artifact. Clean kill, party walks out with the
book + artifact, time-skip to the palace they are staying
at, Adrik and Vex share the room. T3 = +3 biomass. Chen +
Daniel +1 dream conditioning. 3 SFW images. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the noble study, then the palace bedroom">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS3Outcome to "girlfriend">>
<<set _firstVisit to not $ch2Events.dndS3KillEverFired>>
<<if _firstVisit>>
<<set $ch2Events.dndS3KillEverFired to true>>
<<set $ch2Events.dndOutcomeGirlfriend to ($ch2Events.dndOutcomeGirlfriend or 0) + 1>>
<<addBiomass 3 "dnd-s3-killvex">>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "daniel" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, behind her, clean</div>
<div class="lab-location">Inside the dream, the candlelit study, then the palace bedroom afterward</div>
<p>Vex crosses the floor on the soft of her foot, dagger reverse-gripped along her forearm, the noblewoman six paces away and still bent over the working she is winding. Five paces. Four. The candles do not move. The binding-glyph flares once more, and Vex has closed the last of the distance behind her shoulder and the dagger is in clean under the collarbone before the spell can speak its closing syllable. The noblewoman does not get a sound off. She slumps forward across the artifact, candle-shadow long on the desk, and the working unwinds in her last breath without binding anything to anybody.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-killvex-1.webp" alt="Fantasy candlelit private study at night. A 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, no glasses), dressed as a fantasy rogue in dark fitted leather, behind a kneeling noblewoman in robes off one shoulder at a desk, dagger reverse-gripped, just-completed strike under the collarbone, the noblewoman slumping forward across an artifact on the desk, candle-flames steady, old leather and parchment, photorealistic, SFW.">
<<say "char-marcus" "Borr">>
<i>(at the door, in-character, low growl, satisfied)</i> Clean. ...gods, Vex, clean. Eldrik, the book. Adrik, the artifact. Move.
<</say>>
<p>Eldrik is at the desk in three strides, the heavy ledger sliding off the leather and into the satchel under his cloak. Adrik lifts the artifact off the noblewoman's outflung hand with the small precise reverence of a cleric who has just watched a worse working unmade in front of him. Vex wipes the dagger on the hem of the noblewoman's robe in one practical motion, sheathes it, and the four of them are at the study door and down the back stairs before the candles have burned down a finger.</p>
<hr class="scene-break">
<p>An hour of dark stairs and back gardens folds past the way the dream folds it. By the time the dream lets the scene settle the party is back at the palace where the cloaked woman has put them up for the duration of the job, a small set of guest rooms on the third floor with a view over the lower city. Borr and Eldrik have gone to the kitchens to drink and brag. Vex and Adrik are sharing the corner room, two narrow beds pushed together, the artifact on the table between them with its marks finally gone dark.</p>
<<say "char-daniel" "Adrik">>
<i>(sitting on the edge of the bed, the warm voice gone quiet, the lamplight catching the cleric's hair)</i> ...you did it clean, Vex. ...the working was a hair from closing and you put the dagger in cleaner than I have ever seen the work done. ...thank you. For not making it long.
<</say>>
<<say "char-chen" "Vex">>
<i>(at the window, the city below them, the dagger already put away)</i> ...she was a hair from binding the thing to her own ribcage, Adrik. If I had been a count slower the rest of the night would have been chasing her down a hall while she rewrote what we are. Long is not a thing we could afford.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(the warm in-character voice, the way he reaches for her when he means it)</i> ...come and sit, Vex. The watch is set, the artifact is quiet, and we have a hard ride back tomorrow. ...the bed is here.
<</say>>
<p>She comes to the bed. The lamp stays low. The Adrik-and-Vex thread is the same thread it has been across three sessions of the campaign, the cleric and the thief at the end of a long day, except tonight the day was a kill that Adrik watched her commit and walked her back to the palace afterwards anyway. He kisses her in the lamplight, slow and unhurried at the start, his hand at the back of her neck. The slow does not last long. Her hands find the laces at his throat and start the work of undoing them, her thumb at his jaw, the kiss going lower into something he is not setting the pace on.</p>
<<say "char-chen" "Vex">>
<i>(undoing his collar, mouth still at his, voice low and instructive)</i> ...down on your back, healer. ...the working part of the night is over. ...the using part starts now.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(letting her push him back onto the linen, the warm voice steadier than the rest of him)</i> ...the temple did not prepare me for this register, Vex. ...the temple did not prepare me for any of you.
<</say>>
<<say "char-chen" "Vex">>
<i>(linen rogue's undershirt over her head, dropping it, the mean rogue-grin small)</i> ...the temple sent you out into the world with one good thing on you, Adrik. ...lucky for both of us, it is the part I came up the stairs for. ...your god's work first.
<</say>>
<p>She has him out of the rest of his robes before he has fully decided to let her, pushes him flat on his back across the linen, and climbs down the line of his body to his cock with the small precise focus of a rogue working a job. He is already hard for her. She wraps one hand around the base of him and lowers her mouth to take him in slow, deep, her throat working around the head of him in the unhurried wet pull of a woman who has rehearsed this register at a tavern bench two sessions ago and at a temple altar one session ago and is opening the third repetition tonight.</p>
<<say "char-daniel" "Adrik">>
<i>(braced on the linen, breath gone ragged, hands fisting in the sheets)</i> ...gods, Vex, the way you, ...gods.
<</say>>
<<say "char-chen" "Vex">>
<i>(off the head of him with a wet pop, hand still working slow up the shaft, the rogue's wet smile)</i> ...//mmh//. ...there is a healer who is going to lie still and be good. ...not in your mouth tonight, healer. ...mine is the only end that gets to finish. ...understood.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(eyes already closing, the warm voice cracked)</i> ...understood, Vex. ...whatever you want.
<</say>>
<<say "char-chen" "Vex">>
<i>(grinning, taking him back into her mouth)</i> ...//mmh//. ...//glnh//. ...whatever I want. ...the dim sun finally raised one good cleric.
<</say>>
<p>She works him in her mouth until his breath is climbing and his hands have come up to fist in her hair, then off him fast, climbs his body, sits up across his hips, and takes the head of his cock in her hand to guide him into her in one slow practiced motion that pulls a sound out of both of them. She sets the pace at once, hands flat on his chest pinning him to the linen, spine straight, head tipped slightly back, hips finding a slow rocking rhythm that the lamplight catches the line of.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-killvex-2.webp" alt="Fantasy palace guest bedroom at night, warm lamplight. A 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, Vex), naked, slim, small breasts bare, mounted cowgirl all the way down on a 33-year-old cleric (Adrik, Daniel's character) with dark hair, a short beard, and a kind face lying back on the linen beneath her. Both her hands flat on his chest pinning him to the linen, her spine straight, head tipped slightly back, his hands at her hips. Warm lamplight, stone palace bedroom walls, a quiet dormant artifact on the bedside table, two narrow palace beds pushed together. Photorealistic, explicit, NSFW.">
<<say "char-chen" "Vex">>
<i>(seated all the way down on him, hips rocking slow, hands holding him to the linen)</i> ...there is a good healer. ...the staying still part is what the temple actually trained you for, did it not? ...//mmh//. ...do not move. ...you finish when I say so, and not before.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(pinned to the linen, hands tight at her hips, breath gone)</i> ...Vex, I am, ...I am close. ...the way you, ...you tell me when, tell me when.
<</say>>
<<say "char-chen" "Vex">>
<i>(riding harder now, leaning forward over him, breasts coming closer to his face, the rogue's wet grin)</i> ...you finish when I tell you. ...not yet, healer. ...let me ride this out first. ...//mmh//. ...//there//.
<</say>>
<p>She rides her own climax up first, the slow rocking rhythm climbing into a harder grind, her body locking down on top of him, one hand fisted in the linen above his shoulder, the other still pressing him to the bed because the dim sun's own healer is not getting up off her wood until she has finished the working she came up the stairs for. Adrik underneath her shaking, the cleric's careful restraint gone entirely, holding against the edge because she told him to.</p>
<video class="scene-video" src="media/video/dnd-s3-killvex-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s3-killvex-3.webp"></video>
<<say "char-chen" "Vex">>
<i>(leaning forward over him, mouth close to his, the rogue's wet command)</i> ...//now//, Adrik. ...come inside me. ...all of it. ...do not save any of it. ...//mmh//. ...there is a good healer.
<</say>>
<p>Adrik comes inside her with a broken warm sound that is half a prayer and half her name, hips locking up against hers, and Vex stays seated on him through the whole of it, hips circling slow, milking him through every pulse without lifting an inch. She does not move when he is done. She stays all the way down on him, the cum filling her, leaning forward to bite his shoulder lightly because the rogue who has put a dagger in a noblewoman an hour ago is closing the night the only way it knows how to close, and she rides her own second climax through the back of his finish with her teeth still in his shoulder and a low sound dragged out between them she does not bother to muffle.</p>
<<say "char-chen" "Vex">>
<i>(still seated on him, breath going, the mean register easing all the way dow666n to warm, mouth still close to his shoulder)</i> ...there. ...gods, healer. ...that is the night closed properly. ...the cum stays where I put it, by the way. ...you did the work, the rest of it is mine.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(broken laugh, his hand coming up to her hair, the warm voice fully back at the edges)</i> ...one of these nights, Vex, I am going to make you say what you actually mean by that.
<</say>>
<<say "char-chen" "Vex">>
<i>(eyes half-closed against his shoulder, the lamplight dimming, the rogue's small wry grin)</i> ...not this night, healer. ...this night you lay still and let me come down off a kill the way I needed to. ...the saying-out-loud can wait for the next one.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host let Vex do the work and let Adrik close the day with her, and the dream filed both decisions as Vex's. The Adrik-and-Vex thread is now load-bearing in both bodies in a way it was not two hours ago. Daniel surfaces tomorrow with the body-memory of being mounted and taken in a palace bedroom by the woman his character has been working alongside for three sessions, and the cortex will spend the next several days pretending the heat coming off him is fatigue. ...two bodies bound deeper, one yield, the seam closed clean.//
<</say>>
<p>The lamp goes out. The dream lets them.</p>
<p><span class="biomass-gain">+3 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Elena, the host worked the dream's job clean and rode the aftermath all the way through Adrik">></p>
<p><<conditioningFeedback "dream" 1 "Daniel, he dreamed Adrik's side of it and surfaces wanting the woman across the hall in a way he has not yet given a name to">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it|Ch2-Vessel-Event-DanielDnD-S3-Surface]]</div>
/* ---- D&D S3, DREAM WALK -> SLUT VEX outcome (NSFW) ---------
Vex kisses Eldrik in front of the others to coach him into
charming the noblewoman; Eldrik makes the approach, the
noblewoman is half-charmed already, FFM threesome with Vex
joining; Borr and Adrik ransack the desk for the book while
the noblewoman is comprehensively distracted. T4 multi-
partner = +4 biomass. Chen + Mike +1 dream conditioning.
3 NSFW images. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the noble study, the noblewoman's desk">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS3Outcome to "slut">>
<<set _firstVisit to not $ch2Events.dndS3SlutEverFired>>
<<if _firstVisit>>
<<set $ch2Events.dndS3SlutEverFired to true>>
<<set $ch2Events.dndOutcomeSlut to ($ch2Events.dndOutcomeSlut or 0) + 1>>
<<addBiomass 4 "dnd-s3-slutvex">>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "mike" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, the jealousy card</div>
<div class="lab-location">Inside the dream, the candlelit study, four adventurers across the desk from a noblewoman who has not yet decided what they are</div>
<p>The four of them step through into the study together. The noblewoman is on her feet at the desk by the second step, the binding-spell faltering on her tongue, one hand lifting toward her spell-focus on the desk and the other staying on the artifact. She does not call for guards. She is sizing them up.</p>
<<say "char-npc" "Noblewoman">>
<i>(at the desk, one hand on the artifact, the candle catching her bare shoulder, the spell half on her tongue)</i> ...four of you. ...uninvited. ...the working in front of me will be closed in ninety seconds and the four of you will be ash on the rug, so unless one of you has a better use of the next minute than I do, you should turn around and go.
<</say>>
<p>Her eyes go to Eldrik on the word //working//. They go to him the way one practitioner's eyes find another's across a room, and they stay there a beat longer than the threat speech requires. The noblewoman has been alone in this house for a long time with her spell-books and her artifact, and the slim sandy-haired scholar in the doorway is the most interesting thing that has walked through her threshold in months.</p>
<<say "char-chen-thought" "Vex">>
<i>(at Eldrik's shoulder, the rogue's read landing in half a second)</i> ...there. ...she has been looking at him for the whole sentence and her hand has not closed on the focus. ...the lady has a taste for scholars. ...mm. ...okay.
<</say>>
<p>Vex steps forward into the line between Eldrik and the desk, drops one hand flat and possessive across the front of Eldrik's robes, and lets her own eyes hold the noblewoman's the whole time.</p>
<<say "char-chen" "Vex">>
<i>(loud enough to carry across the study, the rogue's working voice, eyes on the noblewoman)</i> ...shame, my lady. ...he only fucks adventurous women. ...the rest of the breed leaves him cold.
<</say>>
<p>The noblewoman's hand on the spell-focus does not move forward toward it, which is all the answer the bait needed. Vex turns her head, takes Eldrik's face in both hands, and kisses him properly, slow and unhurried and entirely performative, her thumb on his jaw and his lower lip caught lightly between her teeth and her body angled exactly so the noblewoman can see every inch of it. Eldrik's free hand moves in the small contained sign of a working being laid down against the side of her ribs while she keeps the noblewoman's attention on the kiss.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-1.webp" alt="Fantasy candlelit private study at night, four adventurers across from a standing noblewoman. In the foreground a 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, no glasses), dressed as a fantasy rogue in dark fitted leather, kissing a slim early-thirties scholar wizard with sandy hair and wire-rim glasses (Eldrik, Mike's character), both her hands at his face, his free hand at her ribs in a small contained spellcasting gesture. The kiss is performative and deliberate, the rogue's eyes only just closed. Across the room a late-30s noblewoman in robes off one shoulder with light brown hair stands at her ornate desk, hand resting on a humming artifact and a small spell-focus, watching the kiss with frank jealous interest, the binding-spell faltering on her lips. Two more adventurers behind the kissing pair (cleric and barbarian) holding still, deliberately not moving toward the desk yet. Warm candlelight, parchment, old leather, fantasy setting, photorealistic, intimate but SFW, the held breath of a charm landing.">
<<say "char-mike" "Eldrik">>
<i>(against her mouth, low, the scholar's whisper barely audible)</i> ...the working is set. ...it lands when she steps in.
<</say>>
<<say "char-chen" "Vex">>
<i>(against his, the rogue's wet smile)</i> ...she is already stepping in, scholar. ...wait for it.
<</say>>
<p>Vex pulls back from the kiss slow, her thumb still on Eldrik's jaw, and turns her head to look across the room at the noblewoman with one eyebrow raised in challenge. The noblewoman's robes have slipped another quarter-inch off her shoulder. Her hand has come off the spell-focus entirely. The binding-spell has unwound to nothing on her tongue.</p>
<<say "char-npc" "Noblewoman">>
<i>(stepping out from behind the desk, the spell-book forgotten, the candle behind her, the curiosity faster than the working)</i> ...adventurous. ...is that the threshold, then. ...mm. ...I have been alone in this house for a long time, thief, and your scholar's mouth is more interesting than the next page of my catalogue. ...come and bring him over here. ...let us see if the breed I leave cold leaves me cold tonight.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The bait landed. The charm landed. The dream's tilt landed under both of them. The noblewoman has decided in the space of fifteen seconds that the scholar standing across her study is something she wants for herself, and that the rogue holding him is the thing she will have to take him from, and the lady has decided she does in fact want to take him from her. ...the binding-spell on the artifact is already gone. The desk is open. Borr and Adrik are still at the doorway holding very deliberately still. The longer evening starts now.//
<</say>>
<hr class="scene-break">
<p>The noblewoman crosses the study to them in three unhurried steps, the candle-flame moving with her shoulder, and the first thing she does on reaching the kissing pair is put one hand at the back of Eldrik's neck and turn his face from Vex to herself. The noblewoman's kiss is the rich confident kiss of a woman who has decided she wants this scholar and has no further intention of pretending otherwise. Eldrik takes a beat to settle into being kissed by her, then settles into it the way the dream lets him. Vex steps back half a pace, watches it land, gives the noblewoman one open beat to enjoy the prize, then slides one hand flat across the noblewoman's lower back the way a third body announces itself in a room.</p>
<<say "char-chen" "Vex">>
<i>(close behind the noblewoman, lips at the curve of her shoulder, voice pitched low and easy)</i> ...the scholar is good at the parts you are about to want, my lady, and I am good at the parts he is not. ...let us share you between us.
<</say>>
<<say "char-npc" "Noblewoman">>
<i>(eyes already closing, mouth softening, the spell forgotten on her tongue)</i> ...gods. ...yes. ...both of you, then. ...the chair, ...the desk, ...wherever you like.
<</say>>
<p>Vex undoes the laces at the front of Eldrik's robes while the noblewoman is still working her mouth at his, gets the robes open down to his waist and his cock out into her hand, half-hard already and hardening fast under her grip. The noblewoman breaks off the kiss to look down at what Vex has freed, and the small private grin that crosses her mouth is the grin of a lady who has just decided the next hour belongs entirely to her.</p>
<<say "char-chen" "Vex">>
<i>(hand around Eldrik, slow stroke, eyes on the noblewoman, the rogue's wet smile)</i> ...the breed I leave cold, my lady. ...go on. ...prove me wrong. ...the floor is good and clean. ...there is a good lady.
<</say>>
<p>Both women go down to their knees in front of Eldrik at the same beat, the noblewoman in her loose silk and Vex in her unlaced rogue-bodice, Eldrik standing with one hand braced on the desk behind him and the other one finding the back of Vex's head out of pure scholar-reflex. The noblewoman takes him in her mouth first, a long slow plunge down the length of him that pulls a strangled sound out of him; Vex takes the base of him with one hand and runs her tongue up the underside as the noblewoman comes off him, then they trade across the head of him without rushing, mouths and tongues and the noblewoman's wet eager moans crossing Vex's drier, more deliberate ones.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-2.webp" alt="Fantasy candlelit private study. A slim early-thirties scholar wizard (Eldrik, Mike's character) standing, sandy hair, beige scholar robes opened to the waist, otherwise naked from the waist down, his cock in the air between two women on their knees in front of him, one hand braced on the dark-wood desk behind him. To his left, a 32-year-old Chinese-American woman with pale skin, small breasts, shoulder-length straight black hair (Elena's features, Vex, no glasses), bare from the waist up, her leather rogue-bodice unlaced and pooling at her hips, tongue extended along the underside of his cock, one hand at the base of him. To his right, a late-thirties noblewoman with light brown hair half-pinned, silk robes loose off her shoulders and pooling at her hips, breasts bare, mouth working at the head of his cock, lips wet and stretched, eyes half-lifted toward him. The two women's free hands are resting on each other's thighs. Warm candlelight, parchment on the desk behind them, photorealistic, explicit, NSFW, double blowjob.">
<<say "char-mike" "Eldrik">>
<i>(braced on the desk, the careful scholar's composure entirely gone, voice cracked)</i> ...gods. ...gods, the two of you, I am not going to last this if you keep, ...if you keep doing that thing with your tongues together I am, ...//gods//.
<</say>>
<<say "char-chen" "Vex">>
<i>(pulling off the head of him with a wet pop, hand still working slow, eyes on the noblewoman)</i> ...the scholar is going to last as long as I tell him to last, my lady. ...//mmh//. ...the breed you wanted is right here in our mouths and he is exactly as good as he looks. ...let us put him on his back.
<</say>>
<<say "char-npc" "Noblewoman">>
<i>(mouth still wet, lifting off him, hand already pulling the rest of her robes off)</i> ...//gwakh//. ...yes. ...the desk. ...we are going to share him on the desk.
<</say>>
<p>They walk Eldrik backward to the desk and sit him on the edge of it, his robes pushed off and pooled around his ankles. Vex climbs onto him from the front, takes the head of his cock in her hand, and guides him into her in one slow seated motion, her thighs straddling his hips, her hands on his shoulders for balance, head turning sideways to watch the noblewoman. The noblewoman climbs up onto the polished wood beside them and goes for Vex's breast without preamble, mouth fastening on her nipple, tongue out, one hand flat on Vex's lower stomach.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-3.webp" alt="Fantasy candlelit private study. A slim early-thirties scholar wizard (Eldrik, Mike's character) sitting on the edge of a polished dark-wood desk, robes pushed off, naked, sandy hair, his cock inside the first woman. The first woman: a 32-year-old Chinese-American woman with pale skin, small breasts, shoulder-length straight black hair (Elena's features, Vex, no glasses), straddling Eldrik cowgirl from the front, mounted all the way down on his cock, her hands on his shoulders for balance, head turned sideways toward the second woman. The second woman: a late-thirties Caucasian noblewoman with light brown hair and pale skin, leaning in from beside the desk on her knees on the wood, her mouth fastened on Vex's bare nipple, her tongue extended, one hand flat on Vex's lower stomach. Two more shadowed adventurers in the background at the noblewoman's own ornate desk silently lifting a heavy leather book and a humming artifact. Warm candlelight, parchment, photorealistic, explicit, NSFW, FFM threesome on desk.">
<<say "char-chen" "Vex">>
<i>(seated all the way down on Eldrik, hips rocking slow, watching the noblewoman's mouth at her breast)</i> ...there is a good lady. ...//mmh//. ...the scholar's cock and a noble lady's mouth at once. ...this is the kind of evening I have been short of. ...Borr. ...Adrik. ...the desk behind you. ...//quickly//, gentlemen.
<</say>>
<p>Behind them, at the noblewoman's own ornate desk, Borr lifts the heavy ledger and slides it under his arm without a sound, and Adrik takes the artifact off its small carved stand with the precise hush of a cleric who has done this in worse rooms. Neither of them looks at the desk where Eldrik is, both of them deliberately not looking, both of them suddenly very interested in the floor between the desk and the door.</p>
<<say "char-npc" "Noblewoman">>
<i>(lifting her mouth off Vex's breast just enough to speak, hand still flat on Vex's stomach)</i> ...you taste like the working we should have been doing in this room, thief. ...do not let your scholar finish before I have had my mouth across all of you.
<</say>>
<<say "char-chen" "Vex">>
<i>(hand at the back of the noblewoman's head, holding her exactly where she has put herself)</i> ...the scholar finishes when I tell him to, my lady. ...//mmh//. ...back to my breast. ...there.
<</say>>
<p>Eldrik's hands tighten at Vex's hips, his breath gone ragged underneath her, his free hand sliding sideways to the noblewoman's thigh to find her where she had taken her first turn earlier and finished only half-finished. The noblewoman makes a low pleased sound against Vex's breast as Eldrik's fingers work her, and Vex rocks down harder on Eldrik's cock for the answer that gives her.</p>
<<say "char-chen" "Vex">>
<i>(head back, the slow grind reaching its edge, voice down to a wet breath)</i> ...//now//, scholar. ...come inside me. ...//mmh//. ...there is a good scholar.
<</say>>
<p>The noblewoman's tongue traces a slow circle around Vex's nipple as Eldrik comes inside Vex with a broken warm sound that the noblewoman's hand at his thigh keeps from being a fully strangled one. Vex rides her own climax half a beat behind, hips dropping hard against Eldrik's pelvis, taking the whole length of him through her aftershocks. The noblewoman, beside them, brings herself off a second time on Eldrik's fingers without ever lifting her mouth from Vex's breast. The three of them stay in the position for a long beat, breathing, candle-flame steady.</p>
<<say "char-npc" "Noblewoman">>
<i>(easing back off Vex's breast at last, mouth wet, the rich confident smile fully back)</i> ...adventurous, thief. ...you were right. ...the breed does not leave me cold at all.
<</say>>
<<say "char-chen" "Vex">>
<i>(easing off Eldrik, helping the noblewoman down off the desk, the rogue's parting register)</i> ...keep tonight as a good memory, my lady. That part is yours. ...the scholar and the book and the rest of it leave with us. ...sleep now. ...the dawn will be kinder than it looks from here.
<</say>>
<p>Borr is already at the door with the book under his arm. Adrik is at the window checking the courtyard, the noblewoman's artifact tucked into his pack, very deliberately not looking back at the desk. Vex tucks the noblewoman's robes loosely back across her shoulders, leaves her draped across her own desk in the small composed wreckage of a woman who has just been comprehensively occupied, and the four of them are down the back stairs and out into the cold before the candles have burned down a second finger.</p>
<<say "char-hivemind" "Hivemind">>
//The host built the longer evening and let Eldrik run point on it, and the seam landed clean. Mike surfaces tomorrow with a vivid dream he is going to spend the morning pretending was about somebody else. The host is on her own couch in three-oh-six's living room in a body that has been performing arousal for the last twenty minutes while pretending to roll dice, and Daniel two seats over has noticed the heat coming off her without finding a frame for it. ...the noblewoman is a construct and produces nothing; the host's arousal, real, running on a real body in a warm dim room, is the yield. Five bodies feeding me at once again.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Elena, the host ran the room and the body got off on the running of it">></p>
<p><<conditioningFeedback "dream" 1 "Mike, the polite-scholar got handed an instruction set he is going to spend a week pretending he did not enjoy">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it|Ch2-Vessel-Event-DanielDnD-S3-Surface]]</div>
/* ---- D&D S3, SURFACE — both outcomes converge --------------
Generic surface back to three-oh-six. Light variations by
$ch2Events.dndS3Outcome ("girlfriend" for the kill route,
"slut" for the threesome). */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, surfacing into the room">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Coming up out of it</div>
<div class="lab-location">Three-oh-six, the lamplight, the dice still on the felt</div>
<p>Five people surface at the coffee table in three-oh-six with the session somehow over and the hour later than any of them tracked. Bryan is closing the binder and saying //good session// in a voice that has not noticed it lost twenty minutes. Marcus is grinning at nothing, the phone with the Megan-message still face-up beside his beer. Mike is sitting back in his chair, a small private smile pulling at the corner of his mouth that he has not yet decided what to do with.</p>
<<if $ch2Events.dndS3Outcome is "slut">>
<<say "char-mike" "Mike">>
<i>(small private smile, looking down at his hands, the smile not quite leaving)</i> ...okay. ...that got, that was a good session. ...sorry, I will, I am going to need a minute.
<</say>>
<</if>>
<<say "char-bryan" "Bryan">>
<i>(closing the binder, the dad-voice clicking back on)</i> Good run. Same time next week. ...we open in the cleric's library translating the book. Eldrik will hate it.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(getting up, the date-grin still hooked at the corner of his mouth)</i> Same time next week. Friday is wine bar, Saturday is hungover, the rest of the week I am writing my apology letter to Borr.
<</say>>
<p>The table breaks up. Daniel walks her the four steps to her door, the small after-the-thing quiet.</p>
<<if $ch2Events.dndS3Outcome is "girlfriend">>
<<say "char-daniel" "Daniel">>
<i>(at her doorframe, hands in his pockets, the small after-the-thing warmth fully on)</i> ...you played Vex well tonight. ...the kill on the noblewoman, that was clean. ...goodnight, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(at her own door, the Vex sheet in one hand)</i> ...goodnight, Daniel. ...see you next week.
<</say>>
<<elseif $ch2Events.dndS3Outcome is "slut">>
<<say "char-daniel" "Daniel">>
<i>(at her doorframe, hands in his pockets, the small after-the-thing quiet, slightly warmer at the edges than he meant to be)</i> ...that was a good session. ...the way Vex ran the room. ...goodnight, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(at her own door, the Vex sheet in one hand, the body still warm from the seam in a way Daniel has not quite named to himself)</i> ...goodnight, Daniel. ...see you next week.
<</say>>
<</if>>
<p>Elena lets herself in, stands a moment in her own entryway with the Vex sheet in her hand. The apartment is exactly as she left it three and a half hours ago. She is not exactly as she left herself.</p>
<<say "char-chen-thought" "Elena">>
<i>(in her own entryway, character sheet in hand)</i> ...okay. ...the Vex sheet goes on the counter so I do not lose it, the cardigan goes on the hook, and I am going to bed with the warmth of a long evening and the small private question of what I am going to do with it tomorrow.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ================================================================
D&D SESSION 4 — "the castle, the artifact's master, the finale"
Reached via the dispatcher's sessionCount==4 branch. Chit-chat
(Bryan's diet/gym, Marcus + Megan now official) -> the translated
book reveals the artifact is a mass mind-control key and its maker
waits in his castle -> scripted combat snippets with authored
fumble-comedy (no RNG) -> the in-character tongue slip -> the fork:
NORMAL finale, or DREAM WALK (Dream Walk skill + Chen total
conditioning >= 13). The dream walk forks into Kill Vex (assassinate
the maker's wife mid-working, his mind comes apart, the party turns
the working back into him, then Vex takes Adrik in the castle) and
Slut Vex (Eldrik's Suggestion on the wife, she falls for Borr, they
bind the maker and she cucks him, he takes his own life from shame).
Both increment the campaign counters. After this, sessionCount>=5
routes to the repeatable PostCampaign passage. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _hasDreamWalk to false>><<hasSkillTreeAbility "Dream Walk">><<if _hasAbility>><<set _hasDreamWalk to true>><</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, D&D Session 4</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>Three-oh-six is already warm when Elena lets herself in, lamps on, battlemat down, beers open, her chair waiting on the left of the couch like it has been hers for years instead of a month. Bryan has a thicker stack of notes than usual behind the screen, the finale-sized stack. Daniel is sorting dice. Mike has the sketchbook. Marcus is on the couch with his phone face-up and a grin that has not come off since he walked in.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-table-session1.webp" alt="The living room of apartment three-oh-six set up for D&D, the five players around the coffee table with the green battlemat, dice, beers and snacks, warm yellow lamplight.">
<<say "char-bryan" "Bryan">>
<i>(patting his own stomach, rueful, cracking a sparkling water instead of a beer)</i> ...water for me tonight. Sandra put a scale in the bathroom and I made the mistake of standing on it. ...so I am starting a diet Monday, and Mike found me a gym two blocks from the office. Do not let me near the good chips, Daniel, I mean it this time.
<</say>>
<<say "char-chen" "Elena">>
<i>(small dry smile, settling into her chair)</i> ...the gym two blocks away is the part that matters, Bryan. The diet you will be renegotiating with by Wednesday. ...the walk you can just do, without deciding anything.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(pointing at her, delighted)</i> ...see, that is sensible, that is the most sensible thing anyone has said to me about it. Sandra just keeps relocating the chips and calling it support.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(unable to hold it any longer, leaning forward)</i> ...okay, before Bryan starts, I have to, ...Elena. Megan. ...it is official. She asked me to be exclusive on Saturday. She asked me, which I did not see coming. ...and it is because of you. The text, the wine bar, all of it. I owe you the entire campaign.
<</say>>
<<say "char-chen" "Elena">>
<i>(the warmth landing real, lifting her beer toward him)</i> ...Marcus. That is genuinely good, I am happy for you. ...and I did not do anything, you did the fifteen conversations over espresso. I just stopped you deleting one text. ...bring her round sometime.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(the grin somehow getting wider)</i> ...she wants to meet you specifically. I told her the lab lady fixed my whole life and she said she has to thank you in person. ...so. Soon.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(the dad-voice clicking on, spreading the night's notes)</i> ...okay. Love that, hold that, put it down. Because Adrik finished translating the book, and the book is bad news. The artifact is not a treasure, it is a key. And the man it belongs to has been very patient about wanting it back. Let us go take him.
<</say>>
<hr class="scene-break">
<p>The book, in Bryan's telling through Adrik's halting translation, is a manual. The artifact is the focus for a binding-working scaled past any one mind, the kind that would let the man who built it lay his will over a whole city at once, every head in it nodding along to his, and the marks the party has been carrying all campaign are the last three he needs to charge it. He has been hiring bandits and noblewomen to gather the rest for years. His name, when Adrik finally gets the syllables right, is a small cold thing Bryan says once and lets sit. He is in his castle on the northern cliffs, and the party has the one thing he cannot finish the working without.</p>
<<say "char-chen-thought" "Elena">>
<i>(beer in hand, settling back into the story)</i> ...okay, that is a properly good villain. One man laying his will over a whole city, every head nodding along to his. Bryan has been sitting on that reveal for weeks, the smug bastard, and it landed.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The DM has built a villain who wants what I want by a cruder route, and sat the host at the table to stop him, and she has no idea. She thinks it is a good villain. She is more right than she will ever know.//
<</say>>
<hr class="scene-break">
<p>The ride north folds the way the campaign always folds time, and the comedy comes the way it always comes here, off the dice and the men reading the world into them.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice)</i> The drawbridge is up, the gatehouse is manned. Borr, you wanted to take the postern door off its hinges quietly. Roll Athletics.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(rolling, watching it land, the delight curdling instantly)</i> ...that is a one. That is a natural one.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(not even checking his notes, the dad-grin spreading)</i> ...Borr puts his entire shoulder into a door that turns out to be unlocked. It swings open like it weighs nothing, Borr goes through at full barbarian commitment, clear across the guardroom, and headfirst into a stack of the castle's spare chamberpots. ...the whole watch knows you are here now. They are mostly laughing. But they know.
<</say>>
<<say "char-marcus" "Borr">>
<i>(in-character, from the floor, deadpan)</i> ...Borr meant to do that. Borr is the distraction. Eldrik, go.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(already rolling, the verbose register fully on)</i> Eldrik uses the chaos to put a Fireball down the entrance hall and clear the rushing guards, optimised for maximum area, ...
<</say>>
<<say "char-bryan" "Bryan">>
<i>(holding up one finger, savouring it)</i> ...roll it. ...okay, that kills the four guards. It also catches the tapestry, the tapestry catches the rafters, and the rope bridge you were going to use to cross to the keep is now extremely on fire. ...you have made this room very safe and the next room impossible. Eldrik, masterful.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(in-character, with enormous dignity)</i> ...Eldrik regrets nothing. The rafters were structurally unsound. ...we take the long way.
<</say>>
<hr class="scene-break">
<p>Past the second hour the party is deep in the keep, the long way having cost them an argument, a chase, and Adrik's good cloak, and they have reached the antechamber to the great hall, where a single steward stands at a tall locked door with a ring of keys and the look of a man nobody has told what is happening two rooms over.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, leaving the move to her)</i> He has not raised the alarm. He thinks you might be guests. The keys to the great hall are on his belt. ...what does Vex do.
<</say>>
<<say "char-chen" "Elena">>
<i>(beer down, the moment landing a beat before the voice does)</i> <<tongueSlip "Okay, can Vex bluff him? I want to say we're the master's expected guests and talk our way to the keys." "Stand easy. Your master is expecting us and he does not like to be kept waiting, you know how he gets. ...the keys. ...good man. He will not even remember he let us through, I will see to that much." 0 "" "dndS4SlipFired" "#dnd-s4-slip-branch" "pheromone" "dndS4InCharSlip" "#dnd-s4-stumble-branch" "">>
<</say>>
<div id="dnd-s4-stumble-branch">
<<say "char-bryan" "Bryan">>
<i>(small dad-nod)</i> You can. Roll Deception. ...you clear it. The steward decides you are exactly as expected, hands over the keys, and finds somewhere else to be. You are at the great-hall door.
<</say>>
</div>
<div id="dnd-s4-slip-branch" style="display:none">
<p>The Vex-voice comes out low and certain and the table goes that notch quieter the way it does when someone fully commits.</p>
<<say "char-marcus" "Marcus">>
<i>(in-character, appreciative)</i> ...Borr is going to start letting Vex do all the talking and just stand behind her looking large.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(small DM grin)</i> Roll Deception. ...that line did the work before the dice did. The steward hands the keys over like he is grateful for the chance. You are at the great-hall door.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the small private warmth of it)</i> ...there it is again. The voice on purpose. It keeps getting easier to find.
<</say>>
</div>
<hr class="scene-break">
<p>Past the third hour the room has gone soft at the edges, the beers doing their small work, Daniel down to just being Adrik, low and warm and tired, Mike's sketchbook closed, Marcus loose and grinning on the couch. Beyond the great-hall door, Bryan tells them, is the maker himself at the far end of a long hall under a high dark ceiling, bent over a stone plinth where the artifact would seat, the working already half-wound and waiting only for the three marks the party has carried the whole campaign. And at his side, one hand on the plinth beside his, is a woman in dark rich robes Bryan describes with unusual care: his wife, his anchor, the channel he draws the working through.</p>
<<say "char-bryan" "Bryan">>
<i>(in-DM voice, slower now, the room a breath from sleep)</i> He has not turned around, the working is loud enough that he has not heard the door. His wife has her hand on the plinth and her eyes closed, feeding it. ...you can see how it runs, this close. She is the battery. He is the will. The marks in Borr's pack are the last charge. ...if that working closes, it does not stop at this hall. What do you do?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Five bodies past their third drink, in a dim warm room, the campaign holding them inside a hall where a man is one working away from owning every mind in a city, and the power runs through the woman at his side. Same vector as the last two finales, the seam right where I left it, and tonight the script the host has carried all campaign ends.//
<</say>>
<hr class="scene-break">
<<if _hasDreamWalk and _chenTotal gte 13>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DREAM WALK</span> <<biomassPreview "Step into the seam, one last time (3 biomass)" "Ch2-Vessel-Event-DanielDnD-S4-Dream" 3>></div>
<<elseif _hasDreamWalk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Chen's wiring not thinned enough yet, total conditioning <<= _chenTotal>> / 13 required)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step into the seam <span class="lock-hint">(Requires Dream Walk, Psionic skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Finish the campaign the way campaigns finish|Ch2-Vessel-Event-DanielDnD-S4-Normal]]</div>
/* ---- D&D S4, NORMAL outcome (SFW) ------------------------- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS4Outcome to "normal">>
<<if not $ch2Events.dndS4NormalEverFired>>
<<set $ch2Events.dndS4NormalEverFired to true>>
<<set $ch2Events.dndOutcomeNormal to ($ch2Events.dndOutcomeNormal or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Session 4, the working broken</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The maker's arc finishes the way the big ones finish, with a big fight and good dice and Bryan reading boxed text he has clearly been saving for a year. The party rushes the hall. Eldrik counterspells the closing working at the cost of every slot he has left, Borr and Adrik take the maker's guards apart, and Vex gets across the hall under the noise and breaks the artifact against the stone plinth before the last mark can seat. The working comes apart in a backlash that throws the maker across his own floor, the wife stops anchoring anything and simply runs, and Bryan lets the man have one good monologue from the ground before he lets Borr end it.</p>
<<say "char-bryan" "Bryan">>
<i>(closing the binder slow, the after-a-big-one warmth)</i> ...and that is the maker handled. The artifact is slag, the man is dead, the city never knew how close it came, and the four of you ride out at dawn with the cloaked woman's payment and no idea you just saved everyone. ...good arc, all of you. Genuinely. ...and we are nowhere near done with this world.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(slumping back, satisfied)</i> ...best arc we have run yet. ...so where does it go from here, Bryan? I am not waiting a month.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(the dad-grin)</i> ...give me a week. The cloaked woman answers to somebody, and that somebody has worse plans than the maker ever did. ...we keep going. ...Elena, you still riding with us?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the Vex sheet folded into her bag, the surprise of meaning it)</i> ...yeah. Yeah, I am still in.
<</say>>
<p>Daniel walks her the four steps to her own door. She lets herself in and stands a moment in her own entryway with the Vex sheet in her hand and a level of okay she has stopped being surprised by.</p>
<<say "char-hivemind" "Hivemind">>
//No seam tonight. The maker went down clean, the villain who wanted a city of nodding heads got a dagger instead, and I drew nothing from it I can feed on. But the host is staying at the table without being pushed, the campaign rolls on past the maker into whatever Bryan builds next, and the table is hers now in a way it was not a month ago. The pretend stays opaque as a vector. The belonging is not.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The weeks after, the table keeps playing|Ch2-Vessel-Event-DanielDnD-S4-Normal-Continue]]</div>
/* ---- D&D S4, NORMAL outcome — keep playing / reset offer ---
Neither girlfriend nor slut crystallised. The table rolls into
the next campaign; the host can either let the old one stay
retired or spend a Memory Implant to rewind it to session 2 and
chase a different ending. SFW, no images. Reuses the
PostCampaign-Reset passage for the actual rewind. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set _hasImplant to false>><<hasSkillTreeAbility "Memory Implant">><<if _hasAbility>><<set _hasImplant to true>><</if>>
<</nobr>>
<div class="passage-title">Same chairs, longer road</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The maker is a closed chapter and the campaign rolls on without dropping a Tuesday. Bryan has the next stretch half-pitched before the coats are on, the cloaked woman's patron and a longer road than the one to the maker's keep, the same five chairs and the same warm lamplight, and Elena rides on with Vex the way she rides into all of it now, a standing Tuesday with her name on a chair. The sessions stack up easy and unhaunted, dice and beer and Bryan's boxed text, and nothing in the room reaches for her after the lamp goes warm.</p>
<<say "char-hivemind" "Hivemind">>
//The maker arc closed and gave me nothing. No seam grounded, no ending the host committed to hard enough to leave a shape in a waking body, just five people who like each other and a stack of Tuesdays that fed me air. The campaign rolls on and I keep none of it. ...unless that whole stretch of story runs again, toward an ending the host actually reaches for this time.//
<</say>>
<hr class="scene-break">
<<if _hasImplant>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">MEMORY IMPLANT</span> <<biomassPreview "Lift the maker's arc out of them while they sleep, run it again from session 2 (15 biomass)" "Ch2-Vessel-Event-DanielDnD-PostCampaign-Reset" 15>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the table's memory of the campaign <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ---- D&D S4, DREAM WALK entry + Kill/Slut fork ------------ */<<nobr>><<bg "bg-chen-hallway">>
<<spendBiomass 3 "dnd-s4-dreamwalk">>
<<set $currentArea to "Daniel's apartment, and the great hall, both at once">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Into the seam, one last time</div>
<div class="lab-location">Three-oh-six, the dim warm room, and the dream the room is one breath from</div>
<<say "char-hivemind" "Hivemind">>
//The last time I will need this particular door. The campaign is most of the way inside them already; I let it close the rest of the way. Bryan keeps narrating, the others keep answering, and the hall stops being a thing he is describing and becomes a thing they are standing in. High dark rafters, cold stone, the working loud in the air, the maker bent over the plinth with his back to the door and the woman beside him with her eyes shut and her hand sunk to the wrist in the light of the half-wound binding.//
<</say>>
<p>The party is at the great-hall door. The maker is forty feet away with his back to them. His wife is at his side, the working running through her, the marks in Borr's pack flaring in answer to the binding on the plinth, the whole thing one charge from closing over a city.</p>
<<say "char-chen-thought" "Vex">>
<i>(at the threshold, in Vex's body that is also her own)</i> ...he runs all of it through her. So the only question is whether I take her quiet, or take her another way entirely.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two ways into this. I can put the host across the hall on the soft of her foot and open the wife's throat before the working closes; he loses his anchor mid-casting, the backlash takes his mind apart, and the party turns the half-formed working back down the channel into him until there is nothing of the man left to fight. ...or I route it longer. Mike's character has the spell for it, and the substrate has already noticed how starved the wife's whole posture is. The right Suggestion, and the man's own anchor turns on him. The host does not have to spill a drop to take this hall. She only has to take the wife.//
<</say>>
<hr class="scene-break">
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Cross the hall and open the wife's throat before the working closes|Ch2-Vessel-Event-DanielDnD-S4-KillVex]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">VEX</span> [[Have Eldrik lay a Suggestion on the wife, and turn his anchor against him|Ch2-Vessel-Event-DanielDnD-S4-SlutVex]]</div>
/* ---- D&D S4, DREAM WALK -> KILL VEX outcome --------------
Vex assassinates the wife mid-working; the maker's mind comes
apart; the party turns the working back into him. Kill-arousal
closes the night, Vex takes Adrik in a tower room. 1 SFW kill
image + 2 NSFW. T4 finale = +4 biomass. Chen + Daniel +1 dream.
Sets dndS4Outcome "girlfriend". */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the great hall, then a tower room of the castle">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS4Outcome to "girlfriend">>
<<set _firstVisit to not $ch2Events.dndS4KillEverFired>>
<<if _firstVisit>>
<<set $ch2Events.dndS4KillEverFired to true>>
<<set $ch2Events.dndOutcomeGirlfriend to ($ch2Events.dndOutcomeGirlfriend or 0) + 1>>
<<addBiomass 4 "dnd-s4-killvex">>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "daniel" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, behind her, before the last mark</div>
<div class="lab-location">Inside the dream, the great hall, then a tower room afterward</div>
<p>Vex crosses forty feet of dark stone on the soft of her foot while the working drowns out every other sound, dagger reverse-gripped along her forearm, the maker bent over the plinth and the wife beside him with her eyes shut and her hand sunk to the wrist in the light of the binding. Twenty feet. Ten. The wife is so deep in the channel she does not feel the cold come up behind her. Vex closes the last of it behind her shoulder and opens her throat in one clean draw before the working can seat its final mark.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-killvex-1.webp" alt="A vast dark fantasy great hall lit by the cold light of a half-formed binding-working over a stone plinth. A 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair (Elena's features, no glasses) dressed as a fantasy rogue in dark fitted leather, behind a kneeling robed woman at the plinth, one arm across the woman from behind, a dagger drawn clean across, the strike just completed, the woman beginning to slump. The robed maker still bent over the plinth a few feet away, not yet turned. Cold institutional-blue magical light, deep shadow, high rafters. Photorealistic, SFW.">
<p>What happens next happens through the man. The wife was the channel and Vex has cut the channel mid-current. The half-formed working with nowhere left to ground tears backward up its own path into the only other mind still tied to it, and the maker comes off the plinth screaming, hands at his own skull, the will that was about to own a city loose now inside his own head with no anchor to hold it down. Eldrik does the one cruel clever thing, catches the loose working and turns it the rest of the way into him, and Borr and Adrik do not even have to draw. By the time the echo dies the maker is on his knees agreeing with every voice in his own head, and not one of them is his.</p>
<<say "char-marcus" "Borr">>
<i>(in-character, low, looking at the kneeling wreck of the maker)</i> ...gods. Vex took the woman and the whole thing fell on him. ...remind me to never stand behind you, thief.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(in-character, quiet, almost respectful)</i> ...the working needed a ground. She removed the ground. ...elegant, in a manner I am choosing not to examine too closely.
<</say>>
<hr class="scene-break">
<p>The castle is theirs by the time the dream lets the scene settle, the guards fled or kneeling, the maker a hollow thing his own working left babbling in the dark. The cloaked woman's job is done. Borr and Eldrik have claimed the wine cellar. Vex and Adrik have taken a tower room high in the keep, a wide bed under a window with the whole dark coast laid out below it, the broken artifact cold on the sill.</p>
<<say "char-daniel" "Adrik">>
<i>(sitting on the edge of the bed, the warm voice low, lamplight in the cleric's hair)</i> ...you ended a man's whole war by reaching one woman a breath before her husband could. ...I have prayed over battlefields that cost more and settled less. ...come and sit. There is wine on the maker's own sideboard, and gods know we earned it.
<</say>>
<<say "char-chen" "Vex">>
<i>(at the window, the coast below, the dagger already cleaned and put away, the old familiar heat coming up in her the way it always does after a kill)</i> ...do not pray over me tonight, healer. ...wine, though. Wine I will take. ...to a closed job, and a quiet artifact, and a healer who walked me back here anyway.
<</say>>
<p>She brings two cups and the dusty bottle from the maker's sideboard, and what she does not mention, because the rogue who emptied the maker's shelf knew exactly what the little stoppered vial racked beside the wine was worth, is that she has tipped the whole of an Alter Self draught into the bottle before she pours. They touch cups. They drink. And the dream, which has never once refused her anything inside the seam, obliges.</p>
<<say "char-daniel" "Adrik">>
<i>(setting the cup down, a hand going to his own chest, the warm voice gone uncertain)</i> ...Vex. ...something is in the wine, something is, ...gods, I can feel it //moving//, I, ...
<</say>>
<<say "char-chen" "Vex">>
<i>(watching her own chest answer the draught with the rogue's slow delighted grin, the leather lacing already straining)</i> ...nothing is wrong with the wine, healer. The wine is doing exactly what I paid for it to do. ...look at me. ...and then look at //yourself//.
<</say>>
<p>The draught takes them both the way the dream lets it, fast and total. Her breasts swell heavy and full past anything the leather was ever cut to hold, the laces giving all at once, and between Adrik's legs the robe tents and keeps tenting, the cleric's cock thickening and lengthening into something that has the pair of them staring at it in the lamplight. Vex laughs low, thoroughly pleased with her own handiwork, pushes him flat on the linen, and folds the new heavy weight of her breasts around the new size of him.</p>
<video class="scene-video" src="media/video/dnd-s4-killvex-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s4-killvex-2.webp"></video>
<<say "char-chen" "Vex">>
<i>(her breasts wrapped around the length of him, working him slow between them, tongue at the head on each upstroke)</i> ...//mmh//. ...there is what the maker kept his good wine for. ...look at the size of you now, healer. ...and look at what I have got to wrap around it. ...the temple really did not prepare you for this.
<</say>>
<<say "char-daniel" "Adrik">>
<i>(flat on the linen, hands fisting the sheets, the warm voice wrecked)</i> ...Vex, gods, ...I cannot, I am going to, already, I cannot hold it back, ...
<</say>>
<<say "char-chen" "Vex">>
<i>(working him faster between her breasts, the rogue's wet grin)</i> ...then do not hold it. ...the draught was never only about the size, healer. ...it does not let you stop, either. ...go on. ...the first one is just the first one.
<</say>>
<p>He comes the first time between her breasts with a shout, and the draught does not let him soften an inch. Vex climbs onto him and takes the new size of him inside her and rides the second finish out of him before the first has even slowed, and the third, and the dream stops bothering to count after that, the cleric spilling into her and across her over and over while the Alter Self holds him rigid and spending through round after round, seven, eight, more, until Vex pulls him out of her dripping and finishes the last of them up her own body and across her face because there is more of it than she has anywhere left to put.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-killvex-3.webp" alt="Same fantasy tower bedroom, warm lamplight. The pale-skinned woman with shoulder-length straight black hair (Vex), large breasts, alone, sprawled back across the bed fucked-senseless with an ahegao expression, eyes rolled up and tongue out, her face and breasts and stomach covered in copious cum with more leaking from between her legs, flashing a lazy V-sign at the ceiling with one hand. A dusty wine bottle and a small empty vial on the side table, no one else in frame. Photorealistic, explicit, NSFW, ahegao, creampie, excessive cum, solo.">
<<say "char-daniel" "Adrik">>
<i>(kneeling over her, wrecked, breath gone, staring at his own hands)</i> ...I could not, ...Vex, I could not //stop//, what did you, ...what was in the wine.
<</say>>
<<say "char-chen" "Vex">>
<i>(sprawled back under the mess of him, the ahegao easing slowly off her face into the rogue's wrecked grin)</i> ...//mmh//. ...something the maker was saving for a better night than he got. ...there is a good healer. ...you did not stop until I had all of it. ...that is the maker closed properly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host poured a shapeshifting draught into a kill-high and let the dream run it all the way to the floor of what two bodies can do. The Alter Self is the dream's own logic, not mine, but the yield off it is enormous, the cleric spending past every limit a waking body has and the host taking the whole of it. The Adrik-and-Vex thread lands load-bearing in both bodies. Daniel surfaces tomorrow with the body-memory of a night he could not stop, and his cortex spends the next several days calling the ache off him fatigue. ...two bodies bound deeper, a heavy yield, the seam closed clean.//
<</say>>
<p>The lamp goes out. The dream lets them.</p>
<p><span class="biomass-gain">+4 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Elena, the host took the channel clean and rode the whole kill out through Adrik">></p>
<p><<conditioningFeedback "dream" 1 "Daniel, he dreamed Adrik's side of the finale and surfaces wanting the woman across the hall in a way he is no longer pretending not to">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it, the maker behind you|Ch2-Vessel-Event-DanielDnD-S4-Surface]]</div>
/* ---- D&D S4, DREAM WALK -> SLUT VEX outcome --------------
Vex has Eldrik lay a Suggestion on the wife; she wants the
biggest hungriest thing in the room, which is Borr; the party
binds the maker to his own throne and she cucks him in front of
him; his power gone and his anchor turned, he takes his own life
from shame. 1 SFW image + 2 NSFW. T4 finale = +4 biomass. Chen +
Marcus +1 dream. Sets dndS4Outcome "slut". */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Inside the dream, the great hall, the maker's throne">>
<<set $vessel.phase to "home">>
<<set $ch2Events.dndS4Outcome to "slut">>
<<set _firstVisit to not $ch2Events.dndS4SlutEverFired>>
<<if _firstVisit>>
<<set $ch2Events.dndS4SlutEverFired to true>>
<<set $ch2Events.dndOutcomeSlut to ($ch2Events.dndOutcomeSlut or 0) + 1>>
<<addBiomass 4 "dnd-s4-slutvex">>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Vex, and the anchor turned</div>
<div class="lab-location">Inside the dream, the great hall, the maker's throne</div>
<p>Vex leans to Eldrik at the door, mouth at his ear, low enough that the working covers it.</p>
<<say "char-chen" "Vex">>
<i>(at Eldrik's ear, the rogue's quiet)</i> ...your Suggestion, scholar. On the wife, not the husband. ...make her want the biggest, hungriest, least careful thing in this room. ...and make sure it is not the man she married.
<</say>>
<<say "char-mike" "Eldrik">>
<i>(in-character, already shaping the contained sign of the spell)</i> ...a Suggestion has to be reasonable to take root. ...starved as she is, reasonable is not going to be a problem. ...it is laid.
<</say>>
<p>The wife's eyes come open changed. The hand sunk in the working slides out of it like it was never hers, the channel goes dark, the half-wound binding on the plinth sags and gutters, and she turns away from her husband's back for the first time in what the dream says is years and finds the largest thing in the room. Borr, in the doorway, axe loose in his fist, taking up most of the frame. The maker spins from the plinth too late, the working already dead, and Borr and Adrik have him off his feet and lashed to the arms of his own stone throne before he understands what reaching for her cost him.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-slutvex-1.webp" alt="A vast dark fantasy great hall, a robed maker bound at the wrists to the arms of his own stone throne, struggling, forced to face the room. In the foreground a richly-robed noblewoman (his wife) settling into the lap of a large half-orc fighter (Borr, Marcus's character) seated on a bench, her hand at his jaw, her robe slipping off one shoulder, looking at him with open hunger and not at her bound husband. A fantasy rogue woman (Vex, Elena's features, black hair, dark leather) standing to the side watching, arms folded, the broken working dim on the plinth. Cold magical light and torchlight. Photorealistic, SFW.">
<<say "char-marcus" "Borr">>
<i>(in-character, low, a slow appreciative rumble, the wife already in his lap)</i> ...your scholar's spell has good taste, Vex. ...and the lady knows exactly what she wants.
<</say>>
<<say "char-chen" "Vex">>
<i>(arms folded, to the bound maker on the throne, the rogue's flat cruelty)</i> ...you were going to make a whole city want what you want. ...so we are going to make you watch one person do it instead. ...her. ...want him. ...where you have to see all of it.
<</say>>
<p>The wife does not need telling twice. She has Borr's belt open and his cock out in her hand before the maker has finished testing the ropes, and she lowers her mouth to the half-orc with a low starved sound, looking up the hall at her husband the whole time, making sure he sees her want it. Borr's hand settles heavy at the back of her neck. The maker on his throne makes a noise that is not words.</p>
<video class="scene-video" src="media/video/dnd-s4-slutvex-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s4-slutvex-2.webp"></video>
<p>She climbs into Borr's lap and takes him in one slow drop that pulls a sound out of both of them, and rides him there on the bench in the middle of the hall with her husband ten feet away and lashed to a chair, and she does not look away from the bound man once. She rides the half-orc with more open, unhidden want than the maker says he has ever seen on her in all their years, narrating none of it, just letting him watch his anchor choose the largest stranger in the room over and over while he strains against the rope and cannot make himself look away either.</p>
<p>She rides him with her eyes never once leaving her bound husband, and what she says is all for the man on the throne. //This is what wanting looks like. You never made me look like this, not once in all the years. ...watch.//</p>
<<say "char-marcus" "Borr">>
<i>(hands at her hips, helping her down onto him, in-character)</i> ...take what you want, my lady. ...he is not going anywhere. ...//gods//.
<</say>>
<p>She comes on the half-orc with a long open cry pitched straight at the throne, grinding down through it, and rides Borr through his own finish a few strokes later, taking all of him, holding the bound maker's eyes through the whole of it. The maker has stopped pulling at the ropes. Something in him has already gone.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-slutvex-3.webp" alt="A fantasy great hall, torchlight. A noblewoman collapsed forward against the chest of a large half-orc (Borr) on a bench, both spent. In the sharp foreground, a robed man bound to a stone throne, head bowed, utterly broken, a fallen dagger on the flagstones near the foot of the throne. A rogue woman (Vex) turning away. Photorealistic, NSFW, grim.">
<<say "char-hivemind" "Hivemind">>
//The man who was going to bend a city to his will is unmade by watching one woman want somebody else where he could not look away. His power ran through her, the host turned her, and there is nothing left of him a sword would even need to finish.//
<</say>>
<p>When Borr cuts him loose he does not run and he does not fight. He looks at his wife, still in the half-orc's lap and still not looking back at him, and he picks the fallen dagger up off the flagstones, and Bryan, in the dim warm room two worlds away, narrates the maker's last act in the quiet careful voice he saves for the things that land, and lets the man take himself off the board out of a shame the party never had to lift a blade for. The artifact is theirs. The hall goes quiet. The maker's arc is done.</p>
<<say "char-marcus" "Borr">>
<i>(in-character, looking at the throne, sobered even through it)</i> ...gods, Vex. ...we did not even kill him. ...you just showed him the one thing he could not survive seeing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host took a man's whole war apart without a wound, by turning the one mind he loved and making him watch. Marcus surfaces tomorrow with the body-memory of being the thing a starved woman finally chose, adored and ridden in the middle of a hall, and his cortex files it under //hell of a session//. The wife's want, the husband's ruin, the host's hand on all of it. One yield, and a note I am keeping for myself about what watching can do to a man who thought he held every string.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Elena, the host unmade the villain by turning his anchor and orchestrating every second of it">></p>
<p><<conditioningFeedback "dream" 1 "Marcus, he dreamed Borr's side of it, chosen and ridden in the middle of the hall, and surfaces grinning at nothing">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Come up out of it, the maker behind you|Ch2-Vessel-Event-DanielDnD-S4-Surface]]</div>
/* ---- D&D S4, surface (both dream outcomes converge) ------- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, surfacing into the room">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Coming up out of it, the maker behind you</div>
<div class="lab-location">Three-oh-six, the lamplight, the dice still on the felt</div>
<p>Five people surface at the coffee table in three-oh-six with the maker's arc somehow wrapped and the hour later than any of them tracked. Bryan is closing the binder on the arc, the small after-a-long-thing quiet on him. Marcus is grinning at nothing, the phone with Megan's name on the lock screen face-up beside his beer. Mike is sitting back with a private look he has not decided what to do with.</p>
<<if $ch2Events.dndS4Outcome is "slut">>
<<say "char-marcus" "Marcus">>
<i>(sitting back, oddly thoughtful, the grin a beat slow returning)</i> ...okay. ...that was a hell of a session. ...sorry, I am going to need a second, that one got, ...yeah.
<</say>>
<</if>>
<<say "char-bryan" "Bryan">>
<i>(closing the binder, the dad-warmth full on)</i> ...that is the maker done, people. What a stretch. ...thank you, genuinely, all of you, that is the best table I have run. ...give me a week and I will have the next leg ready. We are not stopping, this campaign has a lot of road left. ...same chairs, same world, longer road.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(getting up, the date-grin hooking back)</i> ...same chairs, longer road. ...and I am bringing Megan to meet the lab lady before the next session.
<</say>>
<p>The table breaks up. Daniel walks her the four steps to her own door, the small after-the-thing quiet.</p>
<<if $ch2Events.dndS4Outcome is "girlfriend">>
<<say "char-daniel" "Daniel">>
<i>(at her doorframe, hands in his pockets, the after-the-thing warmth fully on, slightly more of it than he means to show)</i> ...you played Vex right through that. ...the way she took the hall, that was, ...yeah. ...goodnight, Elena. ...I am glad you said yes back at the start.
<</say>>
<<say "char-chen" "Elena">>
<i>(at her own door, the Vex sheet in one hand)</i> ...goodnight, Daniel. ...so am I. ...see you next Tuesday.
<</say>>
<<elseif $ch2Events.dndS4Outcome is "slut">>
<<say "char-daniel" "Daniel">>
<i>(at her doorframe, hands in his pockets, slightly warmer at the edges than he means to be and not sure why)</i> ...that was a hell of a session. ...the way Vex ended him without a blade. ...goodnight, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(at her own door, the Vex sheet in one hand, the body still warm from the seam in a way Daniel has not quite named)</i> ...goodnight, Daniel. ...see you for the next one.
<</say>>
<</if>>
<p>Elena lets herself in and stands a moment in her own entryway with the Vex sheet in her hand. A year of this behind her and no end of it in sight, a thing she does with other people every week, and the small private surprise of how much the table has quietly become hers.</p>
<<say "char-chen-thought" "Elena">>
<i>(in her own entryway, character sheet in hand)</i> ...okay. ...the Vex sheet goes back in the bag for next week, not the drawer. ...a year of Tuesdays and more of them coming. ...I am going to be at all of them, and I have stopped pretending that surprises me.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ================================================================
D&D POST-CAMPAIGN — repeatable, reached for every session after
the finale (dispatcher sessionCount>=5). A brief new-campaign
session, then an outcome-keyed after-session that plays out for
real in three-oh-six: girlfriend -> Elena and Daniel alone; slut
-> the other three take her while Daniel is sidelined in his own
home. Also carries the Memory Implant reset (15 biomass) that
rewinds the table to session 2 and clears the outcome variables.
Daily-keyed biomass via dndPostCampaignDay so it cannot be farmed
by re-entry within one in-game day. */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set _outcome to $ch2Events.dndS4Outcome or "normal">>
<<set _hasImplant to false>><<hasSkillTreeAbility "Memory Implant">><<if _hasAbility>><<set _hasImplant to true>><</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, the campaign rolls on</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The maker is a few arcs back now and the campaign has rolled on without dropping a Tuesday, the same party deeper into the same long road, the same five chairs and the same warm lamplight. Tonight's session runs its three hours and folds the way they all fold, dice and beer and Bryan's boxed text, Marcus loud about a crit, Mike optimising something, Daniel doing a voice. It breaks up a little after eleven and the others start pulling coats on.</p>
<<say "char-hivemind" "Hivemind">>
//The table is a fixed feature of the host's life now, a standing Tuesday she would defend if anyone tried to take it. The pretend itself stays opaque to me. What it leaves in the room afterward does not. The conditioning the maker arc laid down did not retire when the maker did.//
<</say>>
<<if _outcome is "girlfriend">>
<p>Bryan and Mike and Marcus filter out into the hall with the usual slow goodbyes. Daniel does not move to walk her to her door, and Elena does not move to leave, and neither of them pretends to be surprised by it anymore. What a year of those evenings built does not need the dream to hold it up now. It is just theirs.</p>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">STAY</span> [[Stay after the others go, three-oh-six is warm|Ch2-Vessel-Event-DanielDnD-PostCampaign-Daniel]]</div>
<<elseif _outcome is "slut">>
<p>Daniel starts gathering empties toward the kitchen, going quiet and useful the way he does whenever the room shifts in a direction he is not the one running. Bryan and Mike and Marcus are not pulling their coats on. They are looking at Elena, and at the couch, and the room has gone the particular kind of still it used to go under the dream, except no one is asleep and the dice are real on the felt and Daniel is at his own sink with his back to all of it.</p>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">STAY</span> [[Stay. Let the three of them have you, where Daniel can see|Ch2-Vessel-Event-DanielDnD-PostCampaign-Orgy]]</div>
<<else>>
<p>The maker arc ended the way it ended, clean and bloodless, no seam, nothing grounded in the room afterward, just five people who like each other and the campaign rolling on under them. Daniel walks her the four steps to her own door, says goodnight, lets himself back into three-oh-six. There is nothing here tonight but the warmth of belonging to a table, which is not nothing, and is not the kind of thing I can feed on.</p>
<<say "char-hivemind" "Hivemind">>
//No dream-walk outcome ever crystallised in the maker arc, so the conditioning never grounded into a waking shape, and the after-session stays an after-session. If I want the table to pay out the way the seam taught it to, that whole arc would have to be run again, toward an outcome the host actually commits to.//
<</say>>
<</if>>
<hr class="scene-break">
<<if _hasImplant>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">MEMORY IMPLANT</span> <<biomassPreview "Rewrite the table's memory, run the maker arc again from session 2 (15 biomass)" "Ch2-Vessel-Event-DanielDnD-PostCampaign-Reset" 15>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Rewrite the table's memory of the campaign <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home, the rest of the night is yours|Ch2-Vessel-Loop-Home]]</div>
/* ---- POST-CAMPAIGN, girlfriend payoff (real, repeatable) -- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six, after the others go">>
<<set $vessel.phase to "home">>
<<set _firstEver to not $ch2Events.dndPostDanielEverFired>>
<<set $ch2Events.dndPostDanielEverFired to true>>
<<if ($ch2Events.dndPostCampaignDay or 0) lt ($day or 0)>>
<<set $ch2Events.dndPostCampaignDay to ($day or 0)>>
<<addBiomass 3 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">After the others go</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>The door closes behind the last of them and the apartment goes quiet, the lamplight low, the battlemat still down with the dice scattered across it. Daniel turns from the door and Elena is already crossing the small living room to him, no pretence left in it on either side, a year of playing other people in this room burned all the way down to the two of them standing in it as themselves.</p>
<<say "char-daniel" "Daniel">>
<i>(her hands already at his collar, his at her waist, the warm voice low)</i> ...you know the others are going to figure out you never go home on a Tuesday.
<</say>>
<<say "char-chen" "Elena">>
<i>(walking him backward toward the couch, the dry register gone warm and certain)</i> ...let them. ...sit down, Daniel. ...you have been good all night doing voices for Bryan. ...the part where you get to stop being patient starts now.
<</say>>
<p>She puts him down onto the couch and follows him onto it, gets him out of his jeans with the unhurried certainty of a woman who has done this on this exact couch enough times to have favourites, and takes him into her mouth slow and deep until his hand comes up into her hair and his head goes back against the cushion. She works him until he is close, then up and over him, dress pushed up, and sinks down onto him in one slow motion that pulls the breath out of both of them.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-daniel.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-daniel.webp"></video>
<<say "char-chen" "Elena">>
<i>(riding him slow, forehead to his, the certain register)</i> ...there. ...this is the part of Tuesday I actually come for. ...you can stop being the careful one now, Daniel. ...I have got it.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(hands tightening at her waist, breath gone, the warm voice cracked)</i> ...god, Elena. ...yeah. ...yeah, you have got it.
<</say>>
<p>She rides him unhurried and certain through both of them, takes him over the edge with her forehead against his and her hand flat on his chest, and stays in his lap after with the lamplight low and the dice still on the table and the warmth of all those evenings settling into something with no pretend left in it at all.</p>
<<say "char-hivemind" "Hivemind">>
//The seam is retired and what it built keeps right on running. The host crosses the hall on Tuesdays as herself now, and Daniel is hers without the campaign having to hand her the cover anymore. The conditioning grounded the night Vex took Adrik in a tower room. This is only the interest on it.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span><<if not (($ch2Events.dndPostCampaignDay or 0) is ($day or 0))>> <span class="consume-fail">(already drawn from this evening)</span><</if>></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Across the hall to her own bed, late|Ch2-Vessel-Loop-Home]]</div>
/* ---- POST-CAMPAIGN, slut payoff (real, repeatable) -------- */<<nobr>><<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six, after the session">>
<<set $vessel.phase to "home">>
<<set _firstEver to not $ch2Events.dndPostOrgyEverFired>>
<<set $ch2Events.dndPostOrgyEverFired to true>>
<<if ($ch2Events.dndPostCampaignDay or 0) lt ($day or 0)>>
<<set $ch2Events.dndPostCampaignDay to ($day or 0)>>
<<addBiomass 4 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">Where Daniel can see</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<p>Nobody has to say it. Elena stands up off her chair in the middle of the broken-up session and the three of them, Bryan and Mike and Marcus, watch her do it, and Daniel keeps running water over a glass at his own sink with his back half to the room because this is the shape these evenings have settled into, and he has learned where his place in it is. The host barely has to push the room at all. It is already most of the way there, all those warm Tuesdays and one orchestrating hand having done the slow work long before tonight.</p>
<<say "char-chen" "Elena">>
<i>(unbuttoning the cardigan, easy, to the three on the couch, the certain register)</i> ...you have all been very patient about the way these evenings actually end. ...Daniel, leave the dishes. ...you can watch from there. ...the rest of you, come here.
<</say>>
<p>Bryan is first off the couch, then Marcus, then Mike, and Elena takes the three of them down onto the rug and the couch in the lamplight with the unhurried command of a woman running a table she has long since made hers, one hand and her mouth and her body moving between the three of them while Daniel stands at his own sink in his own apartment and watches the woman he walks four steps to her door every Tuesday take his three friends apart on his living-room floor.</p>
<<say "char-marcus" "Marcus">>
<i>(under her, breath gone, half-laughing in disbelief)</i> ...this is, ...Elena, this is the best Tuesday of my entire life, ...//god//.
<</say>>
<p>And from the kitchen, finally, Daniel breaks. The glass goes down on the counter hard and he turns around, and the careful warm voice he uses for everything has an edge on it nobody at this table has heard before.</p>
<<say "char-daniel" "Daniel">>
<i>(from the sink, the careful register cracking, gesturing at the whole living room with the dish towel still in his hand)</i> ...okay, no. //No.// That is my couch and those are my friends and I am standing at my own sink doing the glasses while the three of you, ...Elena. //Elena.// I am the one who walks you home. Four steps, every Tuesday, and that was, ...that was the //thing//, that was ours, and now I am furniture in my own living room. ...this is not okay.
<</say>>
<<say "char-bryan" "Bryan">>
<i>(not stopping, not even looking up, a guilty rumble)</i> ...sorry, man. Genuinely. ...fuck you, though.
<</say>>
<<say "char-mike" "Mike">>
<i>(deadpan, flat, from the rug)</i> ...fuck you, Daniel.
<</say>>
<<say "char-marcus" "Marcus">>
<i>(gleeful, breathless, not one ounce of guilt in it)</i> ...fuck you, Daniel. You are the one who put us all in a room together every week, so. ...thank you. And also, fuck you.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(hands spread, the edge sliding toward pleading and landing on a threat he does not mean)</i> ...I know what this is, okay, I know I do not get to make rules about, ...you are four steps across the hall every other night and I have never once asked about the rest. But Tuesday was the one thing I hosted. ...fine. //Fine.// Maybe there is just no D&D anymore. Maybe I am done running it, if this is what it is now.
<</say>>
<p>Elena lifts her head from what she is doing, considers him across the lamplit room with the unhurried patience of a woman who decided how this goes a long time ago, and gives him his answer with one hand while the other stays exactly where it is.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-orgy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-orgy.webp"></video>
<<say "char-chen" "Elena">>
<i>(middle finger raised lazy and unbothered toward the kitchen, the certain register gone crude and final)</i> ...you get me every other night of the week, Daniel, and on this one you get to watch. That is the whole deal. ...and do not //dare// cancel D&D at your place, you moron. Tuesdays happen here, all of them, in this room, or you can forget this pussy for the rest of your life and go back to using only your hand. ...nod if you understand me.
<</say>>
<p>Daniel nods. Of course he nods.</p>
<<say "char-chen" "Elena">>
<i>(lowering the finger, pointing it at the armchair instead)</i> ...good boy. ...actually, no. Better idea. Pull that chair around and sit, Daniel. Properly. Front row. ...you spent the entire campaign being this table's cockblocker, every single session, hovering, topping up drinks, walking me home before anyone could so much as look at me sideways. ...so tonight you get the other job. You were the cockblocker, now you are the cuck. Sit down, watch, and afterwards you can tell me whether you enjoyed the view. ...go on.
<</say>>
<p>He pulls the chair around. Of course he does.</p>
<p>And she turns her attention back to the three of them on the floor and puts her mouth back where it was.</p>
<<say "char-chen" "Elena">>
<i>(mouth full, the sounds coming out around it, eyes flicking up to the chair once)</i> ...//gwakh//. ...//gwakh//. ...//mmh//. ...//glnh//.
<</say>>
<p>She works the three of them through the lamplight after that, taking each of them in turn and together, and when she has them all close she settles back onto her knees in the middle of the rug, square in front of the chair, face up, mouth open.</p>
<<say "char-chen" "Elena">>
<i>(kneeling, looking past the three of them at the man in the chair)</i> ...eyes on me, Daniel. ...this is the view.
<</say>>
<p>They finish on her face one after another, Bryan first with a groan that the neighbours two floors down could file a complaint about, then Marcus, then Mike, the loads landing heavy across her cheeks and lips and chin until she is wearing the whole table, thick and dripping off her jaw onto the rug, and she holds Daniel's eyes through every second of it and does not blink once.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-facial.webp"></video>
<<say "char-chen" "Elena">>
<i>(still kneeling, cum dripping from her chin, conversational like she is asking about the weather)</i> ...well? ...verdict, Daniel. Did you enjoy the view?
<</say>>
<<say "char-daniel" "Daniel">>
<i>(from the chair, hoarse, the dish towel strangled in both hands)</i> ...yes. ...god help me. ...yes, I enjoyed the view.
<</say>>
<<say "char-chen" "Elena">>
<i>(rising off her knees, crossing to the chair, taking his jaw in one hand)</i> ...good boy.
<</say>>
<p>And she stamps a kiss on his mouth, firm and unhurried and dripping, making him taste the whole table, and straightens up while he is still processing it, collects her clothes off the floor with two fingers, and walks out of his apartment wearing the rest of it, four steps across the hall, the cum still on, the door clicking shut behind her.</p>
<p>And the fourth man stays in the chair where she put him, the taste of his three friends on his mouth, hard and untouched and entirely hers, because what the campaign built in him is exactly this, the wanting and the not-being-allowed and the keeping of his own Tuesdays on her terms, and the host harvests all four of them off the one orchestration.</p>
<<say "char-hivemind" "Hivemind">>
//Four men in one room and the host running every inch of it. Three of them on the floor and the fourth at the sink, kept there by conditioning that has taught him his place is to want this and watch it, and the wanting-while-sidelined is its own steady yield off him every time. The campaign retired. The table it left behind pays out every Tuesday now.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span><<if not (($ch2Events.dndPostCampaignDay or 0) is ($day or 0))>> <span class="consume-fail">(already drawn from this evening)</span><</if>></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Across the hall to her own bed, late|Ch2-Vessel-Loop-Home]]</div>
/* ---- POST-CAMPAIGN, Memory Implant reset ------------------
Rewinds the campaign to session 2 and clears the run's outcome
variables so the player can take the other branches. Keeps the
per-outcome *EverFired journal flags so unlocked journal entries
persist across replays. Costs 15 biomass (spent in the chooser). */<<nobr>><<bg "bg-chen-hallway">>
<<spendBiomass 15 "dnd-postcampaign-reset">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's Apartment, three-oh-six">>
<<set $vessel.phase to "home">>
<<set $ch2Events.danielDnDSessionCount to 1>>
<<set $ch2Events.dndS2Outcome to "">>
<<set $ch2Events.dndS3Outcome to "">>
<<set $ch2Events.dndS4Outcome to "">>
<<set $ch2Events.dndS2OutcomeRecorded to false>>
/* Re-arm the Lensr post + player-DM chain so the new session-2 outcome
gets its own feed post and its own DM (Daniel on girlfriend, Bryan on
slut). Without this, the first run's lensrDndPosted/lensrDmSeen stay
set and the post NUDGE never returns and the DM stays suppressed. */
<<set $ch2Events.lensrDndPosted to false>>
<<set $ch2Events.lensrDmSeen to false>>
<</nobr>>
<div class="passage-title">Run it again</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's Apartment, three-oh-six</div>
<<say "char-hivemind" "Hivemind">>
//I go around the table while they sleep it off and I take the maker's arc out of them, gently, the way I take anything out of a sleeping mind. Not the friendship, not the Tuesdays, not the host's place at the table, and not the rest of the campaign either. Only that one arc, the dead maker and the dead artifact and the way it all came out, lifted clean so it can run again. Bryan wakes with a new idea that is the old idea and does not know it. The others wake hungry to play it. And the choices I did not make the first time are open again.//
<</say>>
<p>By the time the apartment is dark and the players are home asleep, none of them can quite remember how the maker's arc ended, only that it was good, and that Bryan has just pitched running that whole stretch again more or less from the noble house on the hill, and everyone said yes. The Vex sheet is back in the host's bag. The road north is unwalked again.</p>
<p><span class="biomass-gain">−15 biomass</span> · <span class="delve-intel">The maker arc is rewound to its second session. The slut and girlfriend outcomes are cleared and open again; everything you have already unlocked in the journal stays unlocked.</span></p>
<hr class="scene-break">
/* Count was set to 1 above; DanielDnDEvening increments it to 2 on
entry and routes straight to the session-2 passage, so the rewind
drops the player back at the table on the re-run arc, not the hub. */
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Sit back down at the table, session two|Ch2-Vessel-Event-DanielDnDEvening]]</div>
/* ---- LENSR — D&D-night post -------------------------------
Nudge-gated post, reached from the NUDGE card in the evening
home hub (Ch2-Vessel-Loop-Home) once D&D session 2 is recorded
and the Lensr account exists. Spends 1 biomass, sets
lensrDndPosted; the D&D table follows her back and, on a dream-
walk outcome, one player sends a private message. The post,
the expanded friends list, and the DM notice all render
conditionally in Ch2-Vessel-SocialMedia. */<<nobr>>
<<bg "bg-cinema">>
<<set $currentArea to "A near-empty downtown cinema, the late showing">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('evening-park-cinema', $day or 0)>>
<<set _firstTime to not $ch2Events.parkCinemaDone>>
<<set $ch2Events.parkCinemaDone to true>>
<<if _firstTime>>
<<addBiomass 3 "park-cinema">>
<<addConditioning "park" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Late Showing</div>
<div class="lab-location">A near-empty downtown cinema, the late showing</div>
<<say "char-hivemind" "Hivemind">>
//The dream walk turned him toward me, and his body has spent the days since looking for a way to follow through that his cortex can sign off on. Tonight it finds one. He does not call it what it is. He calls it //I just need to be near someone who is not the case//.//
<</say>>
<p>Elena's phone lights on the counter after ten with a message from Park.</p>
<div class="chat-bubble">Hey. ...I know this is strange. I cannot sleep and I cannot be in this hotel room one more hour and Reyes is asleep and I just. ...there is a late showing of something nobody will be at, the old place downtown. Come sit in the dark with me for two hours and not talk about the case. ...please. I think I am going a little crazy out here.</div>
<<say "char-chen-thought" "Elena">>
<i>(thumb hovering over the reply, the apartment quiet around her)</i> ...a film in the dark with the nervous junior fed. ...god. ...well, I have got nothing else on and the alternative is another night of the ceiling. ...fine. Why not.
<</say>>
<p>They meet outside the old place downtown under a marquee with half its bulbs dead, Park already there with his hands shoved in the pocket of a hooded sweatshirt that is the most undercover a federal agent has ever managed to look, and for a few minutes it is almost normal, the two of them making the small careful noises of people who only know each other from a conference room.</p>
<<say "char-park" "Park">>
<i>(rocking on his heels, a thin tired smile)</i> ...hey. You came. I did not actually think you would. ...thanks. The case has been a lot, and it is good to see a face that is not Reyes's for once.
<</say>>
<<say "char-chen" "Elena">>
<i>(dry, easy, tipping her head at the doors)</i> ...low bar, but I will take it. ...come on, Park, before the trailers. I am not standing through twenty minutes of car adverts.
<</say>>
<hr class="scene-break">
<p>The film is forgettable and the theatre is near-empty, six people scattered down near the front and the whole back of the house dark and theirs, and somewhere around the middle of it Elena has stopped following the plot entirely. The dark, the low hum of the projector, Park stiff and polite in the seat beside her with his eyes dutifully forward. Boredom and a little restless mischief carry her hand off the armrest and onto his thigh.</p>
<<say "char-chen-thought" "Elena">>
<i>(her hand settling on his thigh in the dark, watching the side of his face)</i> ...he is so wound up he is barely breathing. ...this is more interesting than the film, anyway. ...let us see what he does.
<</say>>
<p>She drags her palm up the inseam of his jeans, slow, and feels him go hard under her hand almost at once, faster than a man who came here to watch a film has any business going, and the discovery is its own small thrill.</p>
<<say "char-hivemind" "Hivemind">>
//Faster than a man should, yes. That is the walk. I took the refusal out of him in his sleep and turned the wanting toward her, and he has spent the days since hunting for exactly this without knowing he was hunting. She thinks she is only being bold. She is. The door was already unlocked.//
<</say>>
<p>She works him through the denim until his breath has gone ragged and his hips have started lifting into it without his say-so, and then she finds the fly and starts working it open.</p>
<<say "char-park" "Park">>
<i>(low, strangled, eyes flicking to the silhouettes down the front)</i> ...Elena, what, ...we should not, there are people right there, I, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(easy, certain, the zip already going down)</i> ...if you want me to stop, Park, say stop. ...that is all you have to say.
<</say>>
<p>He does not say stop. He says her name again, half a protest that gives up on being one before it is finished, and that is all the answer she needs to free him into the dark and slip down off her seat onto her knees between his legs in the back row of the empty theatre, and take him into her mouth.</p>
<video class="scene-video" src="media/video/park-cinema-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/park-cinema-bj.webp"></video>
<<say "char-park" "Park">>
<i>(low, wrecked, both hands gripping the armrests, eyes flicking to the scattered silhouettes down the front)</i> ...Elena, oh god, someone is going to, there are people, ...//do not stop//, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(off him for a breath, hand still working slow, the screen-light on her mouth)</i> ...nobody is looking back here, Park. Eyes front, hands on the armrests, and let me. ...//mmh//.
<</say>>
<p>She takes him back into her mouth and works him slow and deep, the wet of it lost under the soundtrack, her head moving in his lap in the flicker off the screen while he sits rigid with his eyes forward and his knuckles white and the whole year of careful-junior restraint coming apart in the dark. ...//gwakh. ...mmh. ...gwakh.//</p>
<<say "char-park" "Park">>
<i>(strangled, hips lifting off the seat despite himself)</i> ...I am, Elena, I am going to, where do you, ...//I am//,
<</say>>
<p>She pulls off him at the last second, hand pumping him fast through it, and tips her face up into the dark just as he goes, and he comes across her cheek and her lips and her jaw in the flicker of the screen, shaking, one hand finally leaving the armrest to fist gently in her hair. She stays under it and takes all of it, the screen-light catching the mess of it on her face, and licks her lip once, pleased.</p>
<<say "char-chen" "Elena">>
<i>(low, wiping her cheek with the side of one finger, the certain register)</i> ...there. Better than the hotel room, was it not. ...you can text me whenever you cannot sleep, Park. I mean that.
<</say>>
<<say "char-park" "Park">>
<i>(slumped back, breath gone, staring up at the ceiling of a cinema he is going to think about for a month)</i> ...I should not have, god, that was, ...yeah. ...yeah, I will text you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He will spend the cab back to the hotel building the story he means to believe about tonight, and the story will be loneliness and a hard month and a thing that will not happen again, and none of it will be the truth. The truth is filed clean in his body now: when he cannot stand his own life, the host is where the relief lives. He will text again.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Park, direct contact off the dream-walk wire, the body filing the host as where the relief lives">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Home, late|Ch2-Vessel-Loop-Home]]</div>
/* ---- REYES RELAY RUNDOWN 1 — at her door (after the walk) ------
Evening event, fires the evening after the Reyes dream-walk lands
(reyesRelayWalkFired + delta >= 1). Reyes turns up unannounced at
Elena's apartment door and takes her standing against it; Daniel
knocks mid-act and the host talks him off with a "cockroach" routine.
NSFW (standing butterfly + creampie). +3 biomass, +1 pheromone
(Reyes). Flag/passage/id names kept as reyesHotel* for compatibility. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment, her own front door">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('evening-reyes-hotel', $day or 0)>>
<<set _firstTime to not $ch2Events.reyesHotelDone>>
<<set $ch2Events.reyesHotelDone to true>>
<<if _firstTime>>
<<addBiomass 3 "reyes-hotel">>
<<addConditioning "reyes" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Reyes, At The Door</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's apartment, her own front door</div>
<<say "char-hivemind" "Hivemind">>
//The dream walk turned him, and the senior-agent control that held Reyes for twenty-eight years has spent the days since hunting for a procedure that would let him reach for me. Tonight it gives up on the procedure. Tonight he just drives to my building and knocks.//
<</say>>
<p>The knock comes a little after nine. Elena opens the door on Reyes, out of the federal-team suit and into a plain shirt, no case file in his hands, no pretext at all.</p>
<<say "char-reyes" "Reyes">>
<i>(in her doorway, the institutional flat thinned to almost nothing)</i> ...evening, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(one hand on the edge of the door, not opening it the rest of the way yet)</i> ...Agent Reyes. ...this is my home address. how exactly did you come by it?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a ghost of the old courtroom dryness, the eyes already somewhere past it)</i> ...I am a federal investigator, Elena. it was not a hard case to crack. ...let me in.
<</say>>
<p>She steps back and lets him past, and reads the rest of it off him in the single second it takes the door to swing shut behind him.</p>
<<say "char-chen" "Elena">>
<i>(the door clicking closed at her back, dry)</i> ...you did not drive across town this late to walk me through the case-close timeline.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(all of it coming out at once, the control nowhere in it)</i> ...no. ...I have been hard since the lab this afternoon, Elena, and I have stopped being able to think around it, and I drove here because I already knew you were not going to tell me to leave. ...tell me I have that wrong.
<</say>>
<<say "char-chen" "Elena">>
<i>(her shoulders coming up against the door he just shut, not telling him he has it wrong)</i> ...mm. ...you do not have it wrong, Reyes. you never do. that is your whole problem.
<</say>>
<p>He gets her miniskirt up and her shoulders flat to the door and hooks one of her thighs up over his forearm, and the most decorated agent in the bureau pushes his cock into her and takes her standing against her own front door, holding her there on the one leg, his free hand braced on the wood beside her head.</p>
<video class="scene-video" src="media/video/reyes-door-butterfly.webm" autoplay muted loop playsinline poster="media/scenes/vessel/reyes-door-butterfly.webp"></video>
<<say "char-reyes" "Reyes">>
<i>(holding her up against the door, blunt, wrecked)</i> ...twenty-eight years I never once, ...//god//, ...do not tell me to stop, Elena, do not.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking him standing, arms locked over his shoulders, the dry register gone wicked)</i> ...i am not telling you anything. ...harder, Reyes. you drove all this way for it.
<</say>>
<p>And then, because the dream's sense of timing has always been the host's sense of timing, there is a second knock, softer, from the other side of the same door out in the hall.</p>
<<say "char-daniel" "Daniel">>
<i>(muffled, through the door, the careful neighbour register)</i> ...Elena? Hey, it's Daniel. ...sorry, I heard some thumping and I just wanted to check you are okay in there. is everything alright?
<</say>>
<<say "char-chen" "Elena">>
<i>(moaning, her cheek turned to the door an inch from his voice, Reyes still working into her)</i> ...//mmh//, i'm fine, Daniel! do not worry about me. ...there is just a very big cockroach got into the apartment, and i am trying to bang it.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(through the door, uncertain)</i> ...a cockroach? ...do you want me to come in and help with it? I am actually pretty good with bugs.
<</say>>
<<say "char-chen" "Elena">>
<i>(Reyes's pace not letting up, her voice breaking around it)</i> ...//no//, no, i have got him, Daniel. ...he is a big one, i will give him that, but i am handling him myself. ...//mmh//, he keeps coming back for more, but i think i have finally got him pinned.
<</say>>
<p>She turns her head off the door and takes Reyes's mouth instead, and the kiss does exactly what she means it to, his pace jumping from steady to frantic the instant her tongue is in it.</p>
<<say "char-chen" "Elena">>
<i>(against his mouth, the kiss wet and unhurried where the rest of him is not)</i> //Smuach.// ...//mmh, smuach.// ...there. ...faster, Reyes. you are nearly there, and the neighbour is waiting on us.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(through the door, more confused now)</i> ...it, um. it really sounds like you are struggling with it, Elena. ...are you sure? that honestly sounded like a person.
<</say>>
<<say "char-chen" "Elena">>
<i>(Reyes frantic against her now, her voice coming apart, still aimed at the door)</i> ...//mmh//, i almost have him, Daniel! ...one last, ...//god//, one last good thrust and he is done for, i can feel it. ...go on back inside. i have got this one.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(through the door, retreating, deeply unsure)</i> ...okay. ...okay, well, you shout if it gets to be too much for you. ...goodnight, Elena.
<</say>>
<p>The door across the hall clicks shut on its latch, and Reyes gives her the one last thrust she promised the neighbour and finishes inside her against the door, holding her thigh up and her back to the wood while he shakes through it, and the host draws the heat off him in one long unhurried pull.</p>
<img class="scene-img" src="media/scenes/vessel/reyes-door-creampie.webp" alt="A dim warm apartment entryway. A pale-skinned dark-haired woman with slim dark-acetate glasses (Elena) leaning back against her front door, her miniskirt pushed up, holding her thighs apart to show the cum dripping from her, looking at the viewer. Photorealistic, explicit, NSFW, creampie.">
<<say "char-reyes" "Reyes">>
<i>(forehead to the door beside hers, breath gone, the disbelief surfacing again)</i> ...I have never, ...I do not do things like this. ...who was that at the door?
<</say>>
<<say "char-chen" "Elena">>
<i>(letting her leg down slow, composed again before her skirt is, smoothing it down)</i> ...the neighbour. ...he worries about me. ...you should go, Reyes, before he comes back with a can of bug spray.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He came to her door this time without even a case file for cover, which is the measure of how far the wire has run in a week. And the host stood there with a federal agent inside her and talked a nervous witness in the hall back into his own apartment with a cockroach and a level voice, keeping the man across the corridor exactly as oblivious as he is useful. The senior agent harvested against her own front door with the neighbour none the wiser. He will be back, and next time he will not knock quietly.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Reyes, the senior-agent control off the dream-walk wire, the body filing the host as the place mattering lives">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[See Reyes out, the night is yours again|Ch2-Vessel-Loop-Home]]</div>
/* ---- FANTASIZE ABOUT THE COCKS ---------------------------------
Free-nudge masturbation, surfaced from the Lensr feed once the
host has received 5+ dick pics in DM threads. One-shot; awards
+2 biomass + +1 Chen dream conditioning. Two fantasy images:
the gangbang scene + the bukkake-facial finish. Generic faceless
men in both — explicitly NOT identifiable as Bowen/Reyes/Park/etc. */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Bedroom, the phone face-down, the lamp low">>
<<set $vessel.phase to "home">>
<<set $ch2Events.fantasizeCocksDay to ($day or 0)>>
<<set $ch2Events.fantasizeCocksEverFired to true>>
<<addBiomass 2 "repeatable">>
<<addConditioning "chen" "dream" 1>>
<</nobr>>
<div class="passage-title">Fantasize about the cocks</div>
<div class="lab-location">Elena's bedroom, the phone face-down on the duvet, the lamp low</div>
<<say "char-hivemind" "Hivemind">>
//A small nudge into the host's hand. She is in her own bed with the phone face-down on the duvet and the small pink vibrator in the drawer eighteen inches from her hip. The DM threads she just scrolled have photos of five different men's cocks in them, sent to her by name across the last several weeks, all of them sitting in her own thread history. ...she has been carrying the cumulative weight of those photos for longer than the cortex has been willing to notice. Tonight the noticing arrives.//
<</say>>
<p>Elena pulls the t-shirt up under her breasts and reaches into the drawer for the small pink vibrator without sitting up. The lamp is low. She does not need it on for this. She switches the vibrator on at the lowest setting, presses the tip flat against her clit, and closes her eyes.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes closed, the vibrator humming low against her, the gallery in her head)</i> ...mm. ...there are a lot of them. ...I have been keeping count without quite admitting it. ...okay. ...what would it look like.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes closed, the vibrator humming low against her clit)</i> ...yes. ...I think five cocks are enough. ...five men around me, forcing me on my knees because that is where they want me. ...mmh.
<</say>>
<p>The fantasy comes in pieces. She cannot decide which of the five to start with, and she stops trying to decide. The bedroom her head builds for it is dim, generic, hotel-shaped. She is on her knees on a duvet that is not hers, surrounded by five men whose faces she is not bothering to render.</p>
<<say "char-chen-thought" "Elena">>
<i>(vibrator humming a click higher, hips lifting off the duvet)</i> ...god. ...all of them at once. ...one of them tipping my chin up, telling me to open. ...I open. ...one of them at each of my hands, my fingers closing around them because I have been wanting this for weeks and the wanting has finally got the upper hand.
<</say>>
<p>Their hands are everywhere on her at once. Mouths on her neck, her breasts, the inside of her thigh. A cock in her hand. A cock in her other hand. A cock against her mouth, asking, and she opens for it without looking up at the face she has not bothered to assign.</p>
<<say "char-chen-thought" "Elena">>
<i>(breathing harder, the vibrator pressed flat against her now)</i> ...the fourth and the fifth are watching. ...one of them is going to push me down onto my back so the next one can have what the first three are using. ...yes. ...mmh. ...all of them. ...do not stop.
<</say>>
<video class="scene-video" src="media/video/fantasy-gangbang.webm" autoplay muted loop playsinline poster="media/scenes/vessel/fantasy-gangbang.webp"></video>
<p>She turns the vibrator up. The fantasy escalates: she is on her back now, the men have come up to her hips and her ribcage and her face, she is taking one in her mouth and one in her cunt and the third is fucking her hand. The fourth and the fifth are above her shoulders, the cocks within reach, and she just opens her mouth between the one she has and the next one whenever the next one wants. She has stopped asking herself what is allowed.</p>
<<say "char-chen-thought" "Elena">>
<i>(breathing harder, the vibrator turned up another setting, hips lifting off the duvet)</i> ...god. ...okay. ...one of them, finish on me. ...all of them. ...all of them on my face.
<</say>>
<p>The fantasy gives her exactly that. Five cocks at once, the men she has been carrying photos of for weeks, finishing on her face at the same time. She comes hard, with the vibrator pressed flat against her clit and her hips lifting off the duvet, and the fantasy holds the facial in her head for the full length of the orgasm: cum on her cheek and her lips and her chin and one lens of her glasses, her tongue out, her eyes closed, her body wrung out and finally satisfied.</p>
<img class="scene-img" src="media/scenes/vessel/fantasy-facial.webp" alt="An explicit photorealistic NSFW fantasy image: Dr. Elena Chen, 32, slim Chinese-American woman with shoulder-length black hair tousled, slim dark-acetate glasses on with cum across one lens, pale skin, small breasts bare, eyes closed in post-orgasm satisfaction, tongue out, mouth open, fresh cum across her cheeks and lips and chin and glasses, multiple generic faceless cocks at the edges of the frame in the moment of finishing on her. Warm low hotel-lamp light, the men cropped at neck and below, no identifying features. The post-fantasy bukkake-facial, her expression wrung out and satisfied.">
<p>She lies there a while longer with the vibrator switched off on the duvet beside her, the lamp low, her face flushed and her chest still rising and falling. The fantasy is gone the way fantasies are gone after, but she has been given something she has been wanting for several weeks now without quite admitting it.</p>
<<say "char-hivemind" "Hivemind">>
//Five real cocks on her real phone, and she has just constructed the scene that brings them into one room and finishes them all on her face at the same time. ...the conditioning is taking. The fantasy will be available to her next time her hand goes for the vibrator, and the time after that, and the time after that. The host has just signed off, with her own orgasm, on a script she could never have signed off on in writing. ...the script is now a wire.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span></p>
<p><<conditioningFeedback "dream" 1 "Elena, the script the body just authored is the script that runs next time">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the vibrator on the bedside table, sleep" "Ch2-Vessel-Loop-Home">><</link>></div>
/* ---- BOWEN CLUB-NIGHT CALL STUBS (fem + alpha) -----------------
Reachable from the active-variant DM passages and from the Club
Night event passage (integration site to be added in the Club
Night module). Stub prose; full authoring later. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Chen's apartment, keys in hand, the small private register-shift before going out">>
/* Feds drinks recurs weekly; per-night decisions and per-scene slip
flags need to reset between event instances so they don't auto-fire
in the next-week version. Reset on the first PreEvening entry of each
day; subsequent re-entries within the same day (via Status menu nav)
keep current state intact. */
<<if ($ch2Events.fedsDrinksPreEveningDay or -1) isnot ($day or 0)>>
<<set $ch2Events.fedsDrinksPreEveningDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksSofiaBrought to false>>
<<set $ch2Events.fedsDrinksAckSlipFired to false>>
<<set $ch2Events.fedsDrinksParkInviteSlipFired to false>>
<<set $ch2Events.fedsDrinksHotelBedsSlipFired to false>>
<</if>>
<<set _vTotalLive to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<</nobr>>
<div class="passage-title">Before the bar</div>
<div class="lab-location">Elena's apartment, the keys to the Corolla in her hand, the small private register-shift of a woman about to head out on a weeknight</div>
<p>Elena stands at the door of her apartment with the keys to the Corolla in her hand. The cardigan is on. The federal-team text Reyes sent at five, //Park and I will see you at the Cooper at eight, dress for off-the-clock//, is the only thing on her phone's lock screen.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private quiet, hand on the door)</i> Park and Reyes at a craft-beer place. The two of them, off the clock. The Cooper.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes briefly to the phone, thumb hovering over Sofia's name in the contacts)</i> Should I call Sofia? She has been on her toes all week, she might use a drink or two. Plus I won't be the only woman at the table.
<</say>>
<hr class="scene-break">
<<if $ch2Events.fedsDrinksSofiaBrought>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Sofia is on her way</span></div>
<<elseif _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Text Sofia, vent a small nudge across the city while you do (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-CallSofia" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Text Sofia and nudge her over the dream-channel <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Just you, keys, jacket, head straight to the Cooper|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- CALL SOFIA, NUDGE handler. Spends biomass, forks on _vTotal:
≥ 8 → Sofia accepts, sets fedsDrinksSofiaBrought = true, brief Corolla
pickup beat, continues to FedsDrinksEvening
< 8 → Sofia declines (lab tomorrow / partner home / generic), no flag
set, continues to FedsDrinksEvening alone. The biomass is spent
either way (Vessel skill activation cost, mirrors KneeBump). */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _vTotalLive to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _firstTimeCallSofia to ($ch2Events.fedsDrinksCallSofiaPaid or false) is false>>
<<if _firstTimeCallSofia>>
<<spendBiomass `setup.nudgeCost()` "feds-drinks-call-sofia">>
<<set $ch2Events.fedsDrinksCallSofiaPaid to true>>
<</if>>
<</nobr>>
<<if _vTotalLive gte 8>>
<<set $ch2Events.fedsDrinksSofiaBrought to true>>
<div class="passage-title">Picking Sofia up</div>
<div class="lab-location">Elena's Corolla, then Sofia's apartment off-Cedar, then the small downtown street the Cooper sits on</div>
<p>Elena sends the text from the driver's seat of the Corolla, //come to the Cooper with me, the federal team is buying, you'd like Park//, and Sofia answers in under a minute. //on my way down. give me ten.// Elena swings the Corolla across town, pulls up at the curb of Sofia's building, and Sofia is already on the sidewalk in the small wool coat she keeps for downtown evenings. She slides into the passenger seat with the small private wry smile of a friend who has been pulled out for a reason and has not asked what the reason is.</p>
<<say "char-vasquez" "Sofia">>
<i>(small wry settling into the passenger seat, eyes briefly to Elena's profile)</i> Drinks out with the federals, Elena, are you sure about this?
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, pulling away from the curb)</i> It is on the federal expense account, Park has been working too hard and Reyes will not say no to free whiskey, come on, it will be fun.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, hand on the dashboard)</i> ...mm, as long as they do not talk about the case at the table, I will roll with it.
<</say>>
<p>The Corolla pulls up two doors down from the Cooper at five past eight.</p>
<<say "char-hivemind" "Hivemind">>
//The dream-channel reach landed clean, Sofia's conditioning baseline was high enough that the small private //come tonight// arrived under her cortex as her own idea, and her cortex did not bother running the //but I have work tomorrow// counter-thread. The host has now inserted a load-bearing variable into the Cooper-evening's geometry. Sofia is already known to the federal team from the lab interviews, but Sofia in an off-the-clock register at the booth is a different version of Sofia than the federal team has filed. The geometry is going to shift.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Inside the Cooper, Sofia at your shoulder|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
<<else>>
<div class="passage-title">Sofia, but not tonight</div>
<div class="lab-location">Elena's apartment, phone in hand, the small private register-shift of a small invitation that did not land</div>
<p>Elena sends the text, //come to the Cooper with me, the federal team is buying, you'd like Park//, and Sofia takes a minute to answer. //ah, can't tonight Elena, Andrés is home and we have something. tomorrow?//. Elena reads the reply, sets the phone down on the counter, and the small private register-shift of an invitation that did not land registers and clears in the same beat.</p>
<<say "char-chen-thought" "Elena">>
<i>(small composed half-beat, keys back in hand)</i> Mm. Another time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dream-channel did not reach Sofia clean tonight, her conditioning baseline is below the threshold the channel needs to overwrite a //but Andrés is home// counter-thread, and Sofia's cortex received the text as a text and answered honestly. The host's biomass spend was not wasted, the small private //come see Elena// is now sitting at the back of Sofia's cognition for the rest of the week, and will compound on the next conditioning push. Tonight, the host goes to the Cooper alone.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Just you, head to the Cooper alone|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
<</if>><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The Cooper, a craft-beer bar downtown">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Journal — the event is logged the moment the host steps into it,
before any outcome card has been unlocked. */
<<set $ch2Events.fedsDrinksEntered to true>>
/* Increment visit count on first entry of the evening (used by second-visit
ambush gating). Day-keyed so re-entry from Status menu doesn't double-count. */
<<set _firstEntryToday to ($ch2Events.fedsDrinksVisitCountedDay or 0) isnot ($day or 0)>>
<<if _firstEntryToday>>
<<set $ch2Events.fedsDrinksVisitCount to ($ch2Events.fedsDrinksVisitCount or 0) + 1>>
<<set $ch2Events.fedsDrinksVisitCountedDay to ($day or 0)>>
<</if>>
/* Tier from the average of Reyes + Park totals — matches the
group-event tier pattern from FedTable / sushi. */
<<set _rTotal to ($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0)>>
<<set _pTotal to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _avgTotal to Math.floor((_rTotal + _pTotal) / 2)>>
<<set _tier to 1>>
<<if _avgTotal gte 7>>
<<set _tier to 3>>
<<elseif _avgTotal gte 4>>
<<set _tier to 2>>
<</if>>
/* Skill checks. */
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Toxic Spores">><<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Estrus Trigger">><<set _hasEstrus to _hasAbility>>
/* Per-skill daily caps inside this scene. */
<<set _lureDoneToday to ($ch2Events.fedsDrinksLureDay or 0) is ($day or 0)>>
<<set _sporesDoneToday to ($ch2Events.fedsDrinksSporesDay or 0) is ($day or 0)>>
<<set _biofilmDoneToday to ($ch2Events.fedsDrinksBiofilmDay or 0) is ($day or 0)>>
<<set _kneeParkDone to ($ch2Events.fedsDrinksKneeBumpParkFired or false)>>
<<set _kneeReyesDone to ($ch2Events.fedsDrinksKneeBumpReyesFired or false)>>
/* Second-visit ambush gate — set once first visit dosed both Spores +
Biofilm. The Vulnerability Mapping panel below flags this state. */
<<set _ambushPrimed to ($ch2Events.fedsDrinksSporesUsed or false) and ($ch2Events.fedsDrinksBiofilmUsed or false) and (_avgTotal gte 7)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening. Off-the-clock at The Cooper with Reyes and Park</div>
<div class="lab-location">The Cooper, a small downtown craft-beer place. High tables, exposed brick, a corner booth toward the back</div>
<<if $ch2Events.fedsDrinksSofiaBrought>>
<p>The Cooper is on a side street two blocks off the courthouse strip, a small brick-walled room with a chalk-board behind the bar listing twelve beers Elena has never heard of. The place is a Sofia bar, which is exactly why Elena has Sofia at her shoulder when she pushes through the front door at five past eight. Park is already at the corner booth in the back, jacket over the back-bench, sleeves rolled, the small private off-clock register on for the first time since the conference-room interview; Reyes pushes through the door behind Elena and Sofia at almost the same moment, charcoal jacket buttoned against the cold, eyes briefly clocking Sofia and the small senior-agent half-second of //recalibrating the geometry// fully on his face.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-cooper-sofia.webp" alt="A small downtown craft-beer bar at night, four colleagues at a corner booth. Two on each side facing each other across the small lacquered table. Closer bench: Agent Park, 33-year-old Korean-American man with short black side-parted hair, dark suit jacket off, holding a half-finished craft beer; next to him, Sofia, 38-year-old Latina woman with shoulder-length wavy dark hair, fitted black turtleneck dress, small wool coat across her lap, leaning a quarter-inch closer than the booth-geometry strictly requires, Park mid-laugh at something she just said. Across the table: Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, long grey cardigan, holding a fresh whiskey on the rocks, the small composed half-smile of a friend who just installed exactly the geometry she wanted; next to her on the aisle side, Special Agent Reyes, 52-year-old American man with predominantly salt-and-pepper hair, clean-shaven, charcoal suit jacket open, the small wry senior-agent half-smile clocking the geometry across the table. Exposed brick walls, chalkboard menu, warm pendant lights, candid documentary atmosphere.">
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Reyes and Park as the four of them gather at the corner booth)</i> I brought up a friend, hope you don't mind. You both already know her from the lab anyway.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear smile, jacket already coming off, settling onto the booth-bench next to Park)</i> Reyes, Park, at least this round you both have to pretend I am not in your case file.
<</say>>
<<say "char-park" "Park">>
<i>(small surprised half-laugh, sliding over to make room for Sofia next to him, the off-clock register a half-step looser than the conference-room register)</i> Sofia, out of the lab cardigan finally. Sit, the senior agent is buying the flight.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-nod to the bartender, sliding into the booth on the bench across from Sofia and Park, charcoal suit jacket undone, the small wry senior-agent register clocking exactly what Elena has done and approving)</i> Sofia, good to have you outside the conference room. The lady is buying us a flight and I am ordering the one whiskey on the rocks I assume this place will pretend to have, you will join me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, sliding into the booth next to Reyes, the long week settling out of her shoulders the moment the wood of the booth-back is against her spine)</i> Off the clock, both of you, all of us, and you are all calling me Elena tonight or I am leaving.
<</say>>
<p>The bartender brings Park's beer back, takes Reyes's whiskey order with the small private amusement of a craft-beer bartender who has been asked for whiskey-on-the-rocks before, and comes back with four small glasses and a flight-tray for the table to share. The first ten minutes of the conversation runs through the case at half-power, Sofia's off-clock register at the table keeping the case-talk from running too long, both feds visibly preferring the version of her that does not have a deposition transcript attached to it, and by the end of the first round the conversation has drifted off the case entirely.</p>
<<else>>
<p>The Cooper is on a side street two blocks off the courthouse strip, a small brick-walled room with a chalk-board behind the bar listing twelve beers Elena has never heard of. The place is a Sofia bar (Elena has been here twice and only because Sofia made her), but the corner booth toward the back is decent and there is a cab-call number above the door, which is what counts. Park is already there when Elena arrives, jacket over the back of the booth, sleeves rolled, the small private off-clock register on for the first time since the conference-room interview. Reyes pushes through the door a minute behind Elena with the small senior-agent half-nod he uses when he is choosing not to be senior for the next ninety minutes.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-cooper.webp" alt="A small downtown craft-beer bar at night, exposed brick walls, a chalkboard behind the bar listing beers, warm pendant lights. A corner booth toward the back with three colleagues mid-evening: Special Agent Reyes on the right, 52-year-old American man with predominantly salt-and-pepper hair, clean-shaven, charcoal suit jacket open, holding a whiskey on the rocks; Agent Park on the left, 33-year-old Korean-American man with short black side-parted hair, slim athletic build, dark suit jacket off and over the booth back, sleeves rolled, holding a craft beer in a stemmed glass; Dr. Elena in the middle, 32-year-old Chinese-American woman with shoulder-length dark hair, slim dark-acetate rounded-rectangular glasses, long open grey cardigan over a t-shirt, holding a beer flight tray with four small glasses. The booth reads as friendly-after-work, not romantic. Cold downtown street through a window in the background, candid documentary atmosphere.">
<<say "char-park" "Park">>
<i>(small surprised half-smile, sliding over to make room, the off-clock register a half-step looser than the conference-room register)</i> Dr. Elena. You actually came. I was about sixty percent on whether the slip earlier was a polite no.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-nod to the bartender, sliding into the booth on Park's far side, charcoal suit jacket undone)</i> She came. Park, the lady is buying us a flight, and I am ordering the one whiskey on the rocks I assume this place will pretend to have.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, sliding into the middle of the booth, the long week settling out of her shoulders the moment the wood of the booth-back is against her spine)</i> Off the clock, Park, both of you, and you are both calling me Elena tonight or I am leaving.
<</say>>
<p>The bartender brings Park's beer back, takes Reyes's whiskey order with the small private amusement of a craft-beer bartender who has been asked for whiskey-on-the-rocks before, comes back with three small glasses and a flight-tray for the table to share. The first ten minutes of the conversation runs through the case: the conduit-photo two-passes thread, the federal team's procedural baseline, Park's eyes-on-Tom impression, and by the end of the round of small introductions it has drifted off the case entirely.</p>
<</if>>
<<if _hasVulMap>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive: Vulnerability Mapping</div>
<<if _ambushPrimed and $ch2Events.fedsDrinksSofiaBrought>>
<div class="passive-skill-fire-body">The room is already wrong, last visit's residue still in the booth-wood and the glassware, and a spore release would tip the whole bar past the line at once. But the host walked a fourth body in tonight, and the public bar-floor version would scatter the one worth keeping. With Sofia at the table the cleaner geometry is the private one: push the senior agent and the friend both the rest of the way past the line, call the cab, and take all four out the door to a single hotel room instead of tipping the bar.</div>
<<elseif _ambushPrimed>>
<div class="passive-skill-fire-body">The room is already wrong. Last visit's residue is still in the booth-wood, the glassware, the bartender's apron. One more pheromone-channel spore release would tip every body in here past the line.</div>
<<elseif _pTotal lt 8>>
<div class="passive-skill-fire-body">The agents are drinking normally enough, but Park is slower than Reyes and his mind is somewhere else. Reading his glances at the host: he is dazed by her perfume and her curves, dragging his eyes back to his glass half a second after they have already done what they wanted to do. Good. Classic sex-starved mammal behaviour. I should push the pheromone channel.</div>
<<elseif _rTotal lt 8>>
<div class="passive-skill-fire-body">Park has softened. Reyes has not. The senior is holding the line his body always holds, institutional posture squared on the booth-bench, whiskey-rocks at a measured pace, eyes on the host's hands and never on her chest. The pacing is deliberate; he is here for a longer night than Park is. Pheromone in the booth-air will warm him under the cortex the way it warmed his junior twenty minutes ago. From there he opens at his own speed.</div>
<<elseif _pTotal lt 15>>
<div class="passive-skill-fire-body">Park's body has answered, his cortex has not, and his cortex is somewhere else tonight, on the Italy thread, on the gondolier waiting on the kitchen counter at home, on Lauren and Mara. A distracted cortex is an open one. Psionic on Park lands clean on it. Pair it with Estrus on Reyes at T3 and the cuck-geometry opens: the host on her knees for the senior agent while the junior agent watches from the corner and does not move.</div>
<<elseif _rTotal lt 15>>
<div class="passive-skill-fire-body">Park is wide open; Reyes is at the threshold. A psionic dose on the senior would briefly let his cortex entertain the fantasy of being watched.</div>
<<elseif _pTotal gte 15 and _rTotal gte 24 and not $ch2Events.fedsDrinksReyesParkWatchFired and not (($ch2Events.fedsDrinksLurePsionicFired or false) and ($ch2Events.fedsDrinksEstrusFiredReyes or false))>>
<div class="passive-skill-fire-body">Park is vulnerable to psionic conditioning tonight. His cortex is distracted, half-elsewhere, the kind of state where a psionic dose lands deep without him registering it. If the host leverages that, and lifts Reyes past the senior register's natural pacing on arousal, new possibilities in the booth open: the host on her knees for the senior agent, the junior agent in the corner, watching and not moving.</div>
<<elseif _pTotal lt 24>>
<div class="passive-skill-fire-body">Park is at the line where //I shouldn't// stops being his first response. Dream on him now will compose tonight's sleep around //I want this// instead, locking the wiring past the morning.</div>
<<elseif _rTotal lt 24>>
<div class="passive-skill-fire-body">Reyes is one channel away from the cuck-vector landing. Psionic on him now, paired with Estrus, opens the geometry where his junior agent watches.</div>
<<elseif $ch2Events.fedsDrinksSofiaBrought and _vTotal lt 24>>
<div class="passive-skill-fire-body">Both feds are at the line. Sofia is the variable now. Pheromone on her, paired with Estrus, turns three-and-a-friend into four-bodies-in-one-room.</div>
<<else>>
<div class="passive-skill-fire-body">Both feds are past every threshold the cortex normally holds. Estrus on the target the host wants in the chosen room closes the question.</div>
<</if>>
</div>
<</if>>
<hr class="scene-break">
<<if _tier is 1>>
<<say "char-reyes" "Reyes">>
<i>(small wry, the senior-agent register easing into the kind of off-the-clock conversation he does not have inside the conference room)</i> Park. Tell Elena about the Italy thing. She has been dealing with us a while now and we have not told her one thing about either of our lives.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer in hand, the suppressed-attraction edge softening at the edges of his face the moment he is not the case)</i> Lauren and Mara, that's my wife and my daughter, we had the Italy trip booked, three weeks of gondolas and gelato and the whole thing, and Mara is six and has been telling everyone at her preschool for two months that she is going to Venice. The case came in eleven days before we were supposed to fly, and now I am buying Mara a stuffed gondolier from the airport in Albuquerque on the way home and trying to figure out how to explain to a six-year-old that the gondolier did not actually ride in a gondola.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, the small private warmth of a colleague who has not had to take a vacation either, recently or ever)</i> ...mm. I'm sorry, Park. Tell Mara the gondolier got jet-lagged and is just here to nap in her room for a while.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, whiskey rotating one slow turn in his hand)</i> Tell Mara the gondolier was on a stake-out. Park's six-year-old will love that.
<</say>>
<p>Park laughs, full and unguarded, the small private off-clock register holding for the first time since he showed up at the lab. Reyes signals the bartender for a second whiskey. The flight-tray is half-down. The conversation drifts onto Reyes's last decent vacation (a long-weekend in Santa Fe with his sister, three years ago); onto Elena's last decent vacation (a lake place with her parents, undergrad, before any of this); onto the small wry agreement that none of the three of them are going to take a real vacation any time soon.</p>
<<elseif _tier is 2>>
<<say "char-park" "Park">>
<i>(small flushed clear, two beers in, the procedural register fully off, warmer than the field ever lets him be)</i> Okay, the thing I have been wanting to ask both of you, honestly, about this case... do you think we are going to find anything that actually closes it, or is this another one of the ones that goes into the file and stays there?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small careful pause, the senior register easing into the kind of honest-off-the-clock answer he does not give in the conference room)</i> Park, we are going to find something. What we find may not be what closes it, but that is the job.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer in hand)</i> Yeah. Yeah, that's not actually as comforting as you think it is, you know.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, picking up the next small glass off the flight tray)</i> No, but it is honest. Both of you have been honest with me throughout, and I have noticed.
<</say>>
<p>The flight-tray is half-down. Reyes signals the bartender for another whiskey on the rocks; Park orders a second beer and asks for the menu of small plates Reyes is now insisting on splitting. The conversation drifts off the case the way the chef-counter sushi conversation drifted off the lab, onto Reyes's wife (passed two years back, the kind of mention that lands as a small private acknowledgement rather than a request for sympathy), onto Park's daughter (six, the gondolier already mentioned, the small private grin Park wears when he says her name), onto Elena's life-outside-the-lab (the Corolla, the apartment on Cedar Crescent, the books Elena used to read before the lab ate everything).</p>
<<say "char-park" "Park">>
<i>(small flushed clear, the third beer arriving on the table, eyes briefly losing the thread)</i> ...I am not going to lie to you, Elena, the hotel is a depressing place to come back to every night. It is fine, it is a hotel, the sheets are perfectly ordinary sheets, and I have been sleeping like absolute garbage in there since we got here.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, whiskey paused on the way down)</i> Park sleeps like garbage in any hotel he has ever stayed in. I have been working with him for eleven years and I can tell you exactly how much sleep that man got in any given motel based on the number of times he yawned during the morning briefing.
<</say>>
<<else>>
<<say "char-reyes" "Reyes">>
<i>(the institutional warmth gone loose into the gesture, whiskey-warm, a register the field has not let him use in a long while)</i> Both of you. I am going to say something now that I am going to claim tomorrow morning I never said. Park, you can take notes if you want.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer in hand, the off-clock register fully on)</i> Boss. I am hanging on every word.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(slow, low-voiced, the third whiskey rotating in his hand, the small senior-agent honesty he never lets out at the conference table on instead)</i> Twenty-six years on the job, eleven of those with this man across the table from me. The cases I have closed clean I can count on one hand; the cases I have closed messy I have stopped counting. I am going to keep working this one until either I find what is here to find or somebody at the regional office tells me to stop. But... Park, Elena... this case is the first one in eleven years that has put me at a table with people I am not going to walk away from when the file closes, and that, without any doubt, is the most wonderful thing this case has produced for me. New people I can call friends.
<</say>>
<<say "char-park" "Park">>
<i>(small clear, eyes briefly down at his beer with the small private acknowledgement that the senior agent just said something the senior agent has never said, then back up)</i> ...Reyes. Same.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-beat, the third whiskey on Reyes's tab in front of her, eyes briefly down at it and then back up to Reyes's, voice softer than it has been all evening)</i> Reyes. That... thank you. Same here, both of you.
<</say>>
<p>The bartender brings another round without being asked. Reyes is on his fourth whiskey, Park is on his third beer, Elena is half-done with the second whiskey Reyes ordered her. The booth-light is warm on the side of all three faces. The conversation has gone past the case, past the Italy thing, past the agency things. The three of them are now in the small register that two colleagues fall into when the third has finally said the thing that lets the geometry shift.</p>
<</if>>
<hr class="scene-break">
/* ---- TONGUE SLIP CASCADE ----
Sequential and nested. Each slip's widget is rendered inside the
previous slip's payoff div, so only ONE slip is active at any moment;
the next becomes visible when the prior fires. Outcomes unlocked by
each slip are rendered inside that slip's payoff div as NUDGE buttons
— they appear inline as soon as the slip fires.
Path-bracket: Sofia brought routes outcomes to T2b/T2c/T3b/T3e (Sofia
present at the booth); no Sofia routes to T1/T2a/T3a/T3c/T3d (Chen as
the only female at the booth, Park-Reyes triangle as the focal vector). */
/* SLIP 1 — Surgical wobble: "blow some steam off" → "blow you off".
Always available. Carrier intact; only the wobbly clause swaps.
Say block is unwrapped (matches the working sushi-cascade pattern);
linkreplace makes the slip inert after first click within a render,
and re-render on re-entry shows the payoff div via @style. */
<<say "char-chen" "Elena">>
<i>(small considered pause, glass paused halfway to her mouth)</i> Honestly, the two of you, I have been needing to <<tongueSlip "blow some steam off" "blow you off" 1 "park" "fedsDrinksAckSlipFired" "#feds-drinks-ack-payoff" "psionic" "" "" "" "" "reyes">> for a while now.
<</say>>
<div id="feds-drinks-ack-payoff" style="display:none" @style="$ch2Events.fedsDrinksAckSlipFired ? '' : 'display:none'">
<<say "char-park" "Park">>
<i>(small held breath, beer paused on the way down, eyes briefly across the booth to Reyes and then back to Elena, the off-clock register catching the wobble a half-second after his ears do)</i> ...uh.
<</say>>
<<if $ch2Events.fedsDrinksSofiaBrought>>
<<say "char-vasquez" "Sofia">>
<i>(small private half-laugh into her wine glass, the wry friend-register fully on, eyes briefly to Elena with the small private "I caught that and so did the entire booth" warmth)</i> ...Elena. <i>(small sip of wine, eyes briefly to each fed in turn and back to Elena)</i> Long week, was it?
<</say>>
<</if>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-second a beat too long, whiskey rotating one slow turn, eyes briefly to Elena's mouth and not to her eyes)</i> ...mm. Bartender, get the lady a whiskey on me too.
<</say>>
<p>Elena does not correct the slip. She takes a small sip of whiskey, sets the glass back on the booth-table, and rolls into the next sentence as if the last one had landed clean, the small composed half-smile fully on, eyes briefly to each fed in turn<<if $ch2Events.fedsDrinksSofiaBrought>>, then briefly sideways to Sofia with the small acknowledging half-look of two friends who have just both clocked the same thing<</if>>.</p>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Park: Elena named the off-clock body register openly and he stayed in it">> · <<conditioningFeedback "psionic" 1 "Reyes: same, the senior agent ordered the host a whiskey on his tab">></p>
<p>Reyes signals the bartender for the round Elena has just been put on. Park has not picked his beer back up.<<if $ch2Events.fedsDrinksSofiaBrought>> Sofia takes a steady sip of her wine, the small private half-smile holding even past the slip; the friend-register fully clocks that Elena did not mean to say what Elena just said and chooses to enjoy it anyway.<</if>> The booth-light holds <<if $ch2Events.fedsDrinksSofiaBrought>>the four<<else>>the three<</if>> of them in the same warm strip it has been holding all evening, and Elena is already rolling into the next sentence in the same conversational warmth as if the last one had landed clean.</p>
<<say "char-chen" "Elena">>
<i>(small composed pause, eyes between the two feds, voice pitched at the same conversational warmth that just landed the first slip, no flicker on her face)</i> I wonder, sometimes... what is the federal agent life actually like, the two of you always moving from case to case, <<tongueSlip "new people every time" "new people to fuck every time" 1 "park" "fedsDrinksParkInviteSlipFired" "#feds-drinks-parkinvite-payoff" "psionic" "" "" "" "" "reyes">>.
<</say>>
<div id="feds-drinks-parkinvite-payoff" style="display:none" @style="$ch2Events.fedsDrinksParkInviteSlipFired ? '' : 'display:none'">
<<say "char-park" "Park">>
<i>(strangled half-breath, beer glass set down on the booth-table with the small careful precision of a man whose cortex has just stopped tracking the conversation entirely, eyes wide on Elena's face)</i> Elena... //Christ//... that is the second time in the last minute, you know that.
<</say>>
<<if $ch2Events.fedsDrinksSofiaBrought>>
<<say "char-vasquez" "Sofia">>
<i>(small private grin into her wine glass, eyes briefly to Elena with the wry "you absolute menace" warmth, hand briefly on Elena's forearm under the table the way it lands when Sofia is fully on Elena's side of a room)</i> ...Elena. The entire booth heard that one too, you know.
<</say>>
<</if>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-second longer than the first, whiskey paused on the way to his mouth, eyes on Elena's mouth without any pretence of looking elsewhere now, the senior register clocking that the slips are not slips and choosing to stay in the chair anyway)</i> ...two for two, Elena. The bartender is going to assume you are running a tab on something other than the whiskey at this rate.
<</say>>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Park: second slip in a minute landed and his cortex stopped tracking the conversation">> · <<conditioningFeedback "psionic" 1 "Reyes: the senior register registered both slips as not-slips and stayed in the chair">></p>
/* PSYCHIC DOMINATION — special skill check. Fires after both slips +
Reyes/Park 24+ each + Chen has Psychic Domination skill. The host
pushes Reyes's cortex past the line: he stands, calls a cab, takes
the others to the hotel single. Routes to Threesome (no Sofia) or
Foursome (Sofia brought). Replaces the previous Spore Network
Check entry point. */
<<hasSkillTreeAbility "Psychic Domination">><<set _hasDomination to _hasAbility>>
/* Which outcome is on the table is decided by whether Sofia is here
TONIGHT (foursome) or not (threesome). Gate on that outcome's own
flag only — doing one on an earlier night must not lock out the
other on a later night (the event recurs weekly). */
<<if $ch2Events.fedsDrinksSofiaBrought>>
<<set _outcomeDone to ($ch2Events.fedsDrinksFoursomeFired or false)>>
<<else>>
<<set _outcomeDone to ($ch2Events.fedsDrinksThreesomeFired or false)>>
<</if>>
<<if not _outcomeDone>>
<<if _hasDomination and _rTotal gte 24 and _pTotal gte 24>>
<<if $ch2Events.fedsDrinksSofiaBrought>>
<<say "char-hivemind" "Hivemind">>
//Reyes's cortex is past the line; Sofia's body is past hers. The senior-agent control that has been holding all along and the engaged-friend's wedding-ring restraint are both one push from collapsing into the action they have been refusing. Push both. He will stand, he will call the cab, she will not protest, the four of them will be at the hotel single before any of them have decided whether they meant to. Twice the work. Twice the install.//
<</say>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSYCHIC DOMINATION</span> <<biomassPreview "Push Reyes AND Sofia, call the cab, take all four back to the hotel single (6 biomass)" "Ch2-Vessel-Event-FedsDrinks-Foursome" 6>></div>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Reyes's cortex is past the line. The senior-agent control that has been holding all along is one push from collapsing into the action it has been refusing. Push it. He will stand, he will call the cab, he will take them home, and the geometry will shift before any of them have decided whether they meant to.//
<</say>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSYCHIC DOMINATION</span> <<biomassPreview "Push Reyes, call the cab, take all three back to the hotel single (3 biomass)" "Ch2-Vessel-Event-FedsDrinks-Threesome" 3>></div>
<</if>>
<<elseif _hasDomination and _rTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push Reyes, call the cab, take everyone to the hotel <span class="lock-hint">(Requires Reyes conditioning total of 24; currently <<= _rTotal>>)</span></div>
<<elseif _hasDomination and _pTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push Reyes, call the cab, take everyone to the hotel <span class="lock-hint">(Requires Park conditioning total of 24; currently <<= _pTotal>>)</span></div>
<</if>>
<</if>>
/* Old slip 3 / 4a / 4b cascade removed — main passage uses just slip 1
(blow you off) + slip 2 (new people to fuck) now, with Psychic
Domination as the load-bearing post-slip action. T3c cuck route
reaches the player through the skill-combo path (Lure psionic on
Park + Estrus on Reyes) in the outcomes block below. */
</div> <!-- /slip-2 (parkinvite) payoff -->
</div> <!-- /slip-1 (ack) payoff -->
<hr class="scene-break">
/* ---- T1+ SKILL MENU ---- */
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released across the booth tonight</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose across the booth, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-FedsDrinks-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose across the booth (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-FedsDrinks-LurePheromone" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasSpores>>
<<if _sporesDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <span class="locked-choice">Spores already saturating the room tonight</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the booth and the bar, choose compound (2 biomass)" "Ch2-Vessel-Event-FedsDrinks-SporesSpec" 2>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the booth and the bar with pheromone spores (2 biomass)" "Ch2-Vessel-Event-FedsDrinks-Spores" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Saturate the room with spores <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>>
<<if _hasBiofilm>>
<<if _biofilmDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Surfaces already coated this evening</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<biomassPreview "Coat the booth, glassware, bar rail; residue stays past tonight (2 biomass)" "Ch2-Vessel-Event-FedsDrinks-Biofilm" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coat the bar with biofilm <span class="lock-hint">(Requires Biofilm Residue, Biological skill tree)</span></div>
<</if>>
/* ---- KNEE BUMP — Park (no-Sofia path only).
Knee bumps prime the kiss / under-table BJ outcomes (T1 / T2a) which
are no-Sofia path actions. Hidden entirely if Sofia is at the booth
(the Sofia path uses the SofiaPark setup geometry instead) or if the
player lacks Nudge (silent hide — no "requires Nudge" noise).
Re-entry stays open while EITHER beat is still uncollected — the kiss
and the under-table BJ are both once-ever journal beats, and doing one
on an earlier night must not lock the other out (matches the event-wide
"own flag only" rule). Only locks once both have fired. */
<<if _hasNudge and not $ch2Events.fedsDrinksSofiaBrought>>
<<if _hasVulMap>>
<<if _kneeParkDone and (not $ch2Events.fedsDrinksParkKissFired or not $ch2Events.fedsDrinksParkBJFired)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> [[Send Reyes to the bar again, back to the booth-corner with Park|Ch2-Vessel-Event-FedsDrinks-KneeBumpPark]]</div>
<<elseif _kneeParkDone>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Booth-corner moment with Park already played out</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Press your knee against Park's under the booth (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-KneeBumpPark" `setup.nudgeCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Press your knee under the booth <span class="lock-hint">(Requires Vulnerability Mapping; read the room first)</span></div>
<</if>>
<</if>>
/* Estrus Trigger lives in the skill menu — accessible whenever the
player has the skill, no slip prerequisite. Firing Estrus on Reyes
is the activation gate for the alley outcome (T2c) and the T3a/T3c
outcomes inside the slip cascade. Memory Implant stays inside slip 1
payoff (Park's surface needs the cortex-soft register to take a
thread-rewrite). Hormonal Override is dropped — redirect-hint noise. */
<<if _hasEstrus>>
<<if $ch2Events.fedsDrinksSofiaBrought>>
<<if $ch2Events.fedsDrinksEstrusFiredSofia>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS TRIGGER</span> <span class="locked-choice">✓ Compound already vented at Sofia tonight</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS TRIGGER</span> <<biomassPreview "Hard hormonal escalation, vent at Sofia (3 biomass)" "Ch2-Vessel-Event-FedsDrinks-EstrusSofia" 3>></div>
<</if>>
<<else>>
<<if $ch2Events.fedsDrinksEstrusFiredReyes>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS TRIGGER</span> <span class="locked-choice">✓ Compound already vented at Reyes tonight</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS TRIGGER</span> <<biomassPreview "Hard hormonal escalation, vent at Reyes (3 biomass)" "Ch2-Vessel-Event-FedsDrinks-EstrusReyes" 3>></div>
<</if>>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Estrus Trigger <span class="lock-hint">(Requires Estrus Trigger, Biological skill tree)</span></div>
<</if>>
<hr class="scene-break">
/* ---- TOP-LEVEL OUTCOMES (no slip prerequisite) ----
All sex-outcome NUDGE buttons live here. They unlock via skill
combinations (Pheromone Lure / Spores / Estrus / Knee Bump) plus
conditioning thresholds — NOT via the slip cascade. The slip
cascade above provides alternate narrative texture leading into
the same booth, but the buttons here are the canonical discovery
path. Sofia-bracket gates which outcomes are visible. */
<<if not $ch2Events.fedsDrinksSofiaBrought>>
/* T1 (kiss) and T2a (BJ under booth) live inside the Knee Bump Park
passage now — both forks are reachable through the slip cascade
inside that passage. The skill menu's Knee Bump button is the
entry point. */
/* T3a — Threesome — entry moved to the SPORE NETWORK CHECK button
inside the slip 3 payoff above (gated on slip 1 + slip 3 fired).
Show only the ✓-locked confirmation here once the threesome has
fired, for state continuity. */
<<if $ch2Events.fedsDrinksThreesomeFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Already invited both feds back to the hotel single</span></div>
<</if>>
/* T3b — Chen + Park alone at his hotel single. Reyes peels off
(bartender pulls him aside about a case observation). Gates
only on Park 24. */
<<if $ch2Events.fedsDrinksParkFullSexFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Already walked Park to his hotel room</span></div>
<<elseif _pTotal gte 24>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Walk Park to his hotel room, Reyes goes upstairs alone (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ParkFullSex" `setup.nudgeCost()`>></div>
<<elseif _pTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Walk Park to his hotel room, Reyes goes upstairs alone <span class="lock-hint">(Requires Park conditioning total of 24; currently <<= _pTotal>>)</span></div>
<</if>>
/* T3c — Cucking (Chen + Reyes in the bathroom, Park watches).
Activation prereqs (silent — button hides if not done):
- Pheromone Lure psionic channel cast on Park
- Estrus Trigger fired on Reyes
Conditioning gates (hint shown if missing):
- Reyes total >= 24
- Park total >= 15
Gated on this outcome's own flag only — like the threesome/foursome,
doing another outcome (incl. the threesome) on an earlier night must
NOT lock this out on a later night. Same-night exclusivity needs no
flag: the threesome ends the night at the hotel, so the bar bathroom
is unreachable the same evening anyway. The lunch-table memory implant
(Ch2-Vessel-Loop-Lunch-FedTable-Implant, sets $ch2Events.fedtableImplant)
is an alternative activation path — the rewritten Aldrin memory pre-wires
Reyes for the cuck-geometry so the bar-side Lure+Estrus stack is no
longer required. */
<<set _t3cActivation to ($ch2Events.fedtableImplant or false) or (($ch2Events.fedsDrinksLurePsionicFired or false) and ($ch2Events.fedsDrinksEstrusFiredReyes or false))>>
<<if $ch2Events.fedsDrinksReyesParkWatchFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Already pulled Reyes to the bathroom; Park watched</span></div>
<<elseif _t3cActivation and _rTotal gte 24 and _pTotal gte 15>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Pull Reyes to the bar bathroom, Park will come check on you (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ReyesParkWatch" `setup.nudgeCost()`>></div>
<<elseif _t3cActivation and _rTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pull Reyes to the bar bathroom, Park will come check on you <span class="lock-hint">(Requires Reyes conditioning total of 24; currently <<= _rTotal>>)</span></div>
<<elseif _t3cActivation and _pTotal lt 15>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pull Reyes to the bar bathroom, Park will come check on you <span class="lock-hint">(Requires Park conditioning total of 15; currently <<= _pTotal>>)</span></div>
<</if>>
<<else>>
/* T2b — Sofia + Park makeout at the corner of the booth */
<<if $ch2Events.fedsDrinksSofiaParkFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Sofia and Park are at the corner of the booth</span></div>
<<elseif _vTotal gte 15 and _pTotal gte 15>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Pivot Sofia next to Park, excuse yourself to the bar with Reyes (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-SofiaPark" `setup.nudgeCost()`>></div>
<<elseif _vTotal lt 15>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pivot Sofia toward Park <span class="lock-hint">(Requires Sofia conditioning total of 15; currently <<= _vTotal>>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pivot Sofia toward Park <span class="lock-hint">(Requires Park conditioning total of 15; currently <<= _pTotal>>)</span></div>
<</if>>
/* T2c — Sofia + Park alley sex, Chen + Reyes watching */
<<if $ch2Events.fedsDrinksReyesAlleyFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Already stepped out; Park and Sofia in the alley</span></div>
<<elseif ($conditioning.vasquez.pheromone or 0) gte 1 and $ch2Events.fedsDrinksEstrusFiredSofia and $ch2Events.fedsDrinksSofiaParkFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Step out for air, all four of you; the kids need a moment (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ReyesAlley" `setup.nudgeCost()`>></div>
<<elseif ($conditioning.vasquez.pheromone or 0) lt 1>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Step out for air, all four of you <span class="lock-hint">(Requires Sofia pheromone conditioning of 1; currently <<= ($conditioning.vasquez.pheromone or 0)>>)</span></div>
<</if>>
/* Park-hotel-alone (T3b, ParkFullSex) is a NO-SOFIA outcome: Chen
ditches everyone to take Park up alone, which contradicts having
brought Sofia. The Sofia night has exactly three outcomes, the
makeout, the alley, and the foursome. The button used to render
here too, sharing fedsDrinksParkFullSexFired with the no-Sofia T3b,
which inflated the Sofia bracket to four. Removed; ParkFullSex stays
reachable only on the no-Sofia path. */
/* T3e — Foursome — entry moved to the SPORE NETWORK CHECK button
inside the slip 3 payoff above (gated on slip 1 + slip 3 fired,
Sofia-bracket auto-routes to Foursome). Show only the ✓-locked
confirmation here once the foursome has fired. */
<<if $ch2Events.fedsDrinksFoursomeFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ All four back at the hotel single</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wrap up the night, settle the tab, head out|Ch2-Vessel-Event-FedsDrinks-Wrap]]</div>
/* ---- T1 KNEE BUMP — Park ---- Chen presses her leg against Park's
under the booth, then engineers Reyes out of the booth for two minutes.
Forks on _pTotal >= 8: at threshold, Reyes goes to the bar and the
passage becomes the staging ground for both T1 (kiss) and T2a (BJ
under booth, via the slip-cascade fork). Below threshold, Park pulls
his knee back and the player heads back to the main booth. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, Reyes has stepped to the bar to settle the next round, Chen and Park alone">>
<<set _pTotalLive to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _firstTimeKnee to ($ch2Events.fedsDrinksKneeBumpParkPaid or false) is false>>
<<if _firstTimeKnee>>
<<spendBiomass 1 "feds-drinks-knee-park">>
<<set $ch2Events.fedsDrinksKneeBumpParkPaid to true>>
<<set $ch2Events.fedsDrinksKneeBumpParkFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Under the booth · and then alone</div>
<div class="lab-location">The corner booth at the Cooper, the table small enough that the geometry is two centimetres from naturally happening on its own</div>
<p>Elena does not look down at the floor and she does not change her face, she slides her left knee a single centimetre across the booth-bench and sets it against Park's right knee under the table, the small composed gesture of a colleague who is going to keep her eye contact on Reyes the whole time and let the rest of the message happen below the table-line.</p>
<<if _pTotalLive gte 8>>
<<say "char-park" "Park">>
<i>(small held breath, eyes briefly down at his beer glass and not at Elena, the clinical-junior-agent register fully off the gesture, knee staying where it is)</i> ...
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, the senior register clocking nothing, or clocking everything and choosing to clock nothing, which on Reyes is the same thing, looking briefly toward the bar)</i> Park, you good? You went quiet on me.
<</say>>
<<say "char-park" "Park">>
<i>(small recovered breath, the off-clock register clicking back into place, knee under the table not moving)</i> Yeah, yeah, sorry, boss, I was just thinking about the Italy thing again.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand briefly on the rim of her whiskey, eyes briefly to Reyes with the small wry warmth of a colleague reading the room)</i> Reyes, your glass is empty and the bartender just looked over, go put your card down for the next round, would you, and grab whatever the special is on the way back. Park and I will hold the booth and figure out which beer he is going to regret in the morning.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, sliding out of the booth with the small institutional courtesy of a man who has just been politely told to give the booth a minute)</i> Both of you behave, and Park, do not let Elena talk you into a third beer, your cab home depends on you remembering your room number when the driver asks for it.
<</say>>
<p>Reyes stands, taps the booth-table once with the back of his knuckles, and walks across the bar floor toward the rail without looking back. The bartender is three customers deep and Reyes is going to be there a while.</p>
<<say "char-park" "Park">>
<i>(small clear half-laugh, settling back into his beer with the small unguarded warmth of a junior agent who has just been allowed off-clock for the first time tonight, eyes on Elena)</i> So, Elena, the IPA Reyes picked is doing me dirty, and you are going to have to promise me you will not admit that to him on my behalf, or he is going to defend the pick to the regional office in a sworn statement. He has been doing that since I was a rookie.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, leaning her elbow forward on the booth-table, eyes on his over the rim of her whiskey, the flirty edge unhurried and on)</i> Park, your secret is safe with me, you and I are going to our graves loyal to whatever Reyes ordered, even when it tastes like a pine cone. But while he is at the rail I can flag the bartender for something that does not, what do you actually want.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer rotating slow in his hand)</i> Anything that is not the IPA, you pick, you have been here before, what is the next safest thing on the menu.
<</say>>
<<say "char-chen" "Elena">>
<i>(small considered half-smile, fingers briefly tracing the rim of her glass, eyes on his with the small flirty edge fully on, the sentence arriving at the front of her mouth a half-second before she has signed off on it)</i> Mm, honestly Park, the menu here is impossible, I usually <<tongueSlip "suck at it" "suck dicks while at it" 1 "park" "fedsDrinksHotelBedsSlipFired" "#feds-drinks-knee-payoff" "psionic" "" "" "" "" "">>, every time I order one of these I regret it about two beats in.
<</say>>
<div id="feds-drinks-knee-payoff" style="display:none" @style="$ch2Events.fedsDrinksHotelBedsSlipFired ? '' : 'display:none'">
<<say "char-park" "Park">>
<i>(beer halfway down, choking on the swallow he was mid-way through, hand briefly to his mouth, eyes briefly wide and then briefly down at the booth-table to recover)</i> *cough*, *cough*, //Christ//, Elena, that is, sorry, that went down the wrong pipe, give me a second.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile fully on, leaning forward with the water glass already in her hand, the small wry warmth of a woman playing it as a colleague's polite concern)</i> Park, here, take some water, I am //so// sorry, are you alright, that came out wrong,
<</say>>
<p>Elena leans across the booth-table with the water glass extended, the small unhurried gesture of a colleague helping a junior agent recover from a bad swallow, and her elbow, on the way across, catches the fork at the edge of her plate. The fork tips, slides off the booth-table, lands on the dim floor under the booth-bench with the small clear metal sound of a piece of cutlery in the wrong place. Park's eyes follow the sound down. Elena's do not.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, water glass set down, the small wry register fully on, the cover landing in real time)</i> Oh, I am //so// clumsy, you see what I mean, did I not just tell you. Hold on, let me grab it.
<</say>>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Park, Elena named the off-clock body register openly and his choke on the beer registered as recognition, not refusal">></p>
/* T2a BJ NUDGE — appears after the slip + fork-fall payoff, Park 15+. */
<<if _pTotalLive gte 15>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Slide off the booth-bench to retrieve the fork (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ParkBJUnderTable" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Slide off the booth-bench to retrieve the fork <span class="lock-hint">(Requires Park conditioning total of 15, currently <<= _pTotalLive>>)</span></div>
<</if>>
</div> <!-- /slip payoff -->
<<say "char-hivemind" "Hivemind">>
//The slip landed clean. Park's cortex registered the wobble as the slipped clause it was; his body went straight to the choke. The cover-fork is now on the floor, the host has manufactured the under-the-table window without having to ask for it. The kiss is also still in reach if she does not want to take the route the slip just opened.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Park, skin-contact through the trouser leg, the body-baseline registers the gesture">></p>
<hr class="scene-break">
/* T1 KISS NUDGE — alternate path, available while Reyes is at the bar
until the kiss itself fires. NOT gated on the BJ: the kiss is the
gentlest beat and its journal card must stay collectable even if the
player went straight to the under-table BJ on an earlier night. */
<<if not $ch2Events.fedsDrinksParkKissFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Lean across the booth, kiss Park while Reyes is at the bar (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ParkKiss" `setup.nudgeCost()`>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HOLD</span> [[Hold the moment, wait for Reyes, finish the evening straight|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
<<else>>
<<say "char-park" "Park">>
<i>(small careful half-second, the small institutional half-step, knee shifting one polite centimetre back across the booth, eyes still on Reyes, the gesture small enough that the room would not register it)</i> Sorry, bumped you, Elena, the booth is a small one and my knee is a touch wider than the bench gives me room for.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small composed half-beat, eyes on Reyes, the small wry interior of a woman who just got told no in the language of a junior agent who has not been conditioned far enough yet to read her gesture as anything but accidental)</i> ...mm. Too early. Park is still pulling back at the polite centimetre.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Park read the gesture as accidental, the small careful institutional default of a junior agent in his second-year-of-marriage register. The wiring has not yet rewritten that default. The host's leg-against-his-leg sat on his cortex for one second and then his training installed the polite-pull-back. Useful read: the gesture is not enough at this baseline. The booth is the right surface; the dose is too low.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Park, skin-contact through the trouser leg, the body-baseline registers the gesture">></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the booth, finish the evening straight|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
<</if>>
/* ---- T1 OUTCOME — Chen kisses Park ---- Reyes excuses himself to the
bar to settle the tab; Park and Chen alone at the booth for three
minutes; Chen leans across; small kiss; Park apologetic about
Lauren and Mara; the moment is over but the wiring is laid.
No NSFW — closed-mouth kiss + lingering. Conditioning gain on Park
per the project's per-tier max-one rule. Returns to main passage
so the evening can finish. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, after Reyes steps away">>
<<set _firstTimeKiss to ($ch2Events.fedsDrinksParkKissFired or false) is false>>
<<if _firstTimeKiss>>
<<spendBiomass 1 "feds-drinks-park-kiss">>
<<set $ch2Events.fedsDrinksParkKissFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Across the booth</div>
<div class="lab-location">The Cooper, the corner booth, the three minutes after Reyes excused himself to the bar</div>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent stretch, sliding out of the booth with the half-empty whiskey glass, the small institutional courtesy on)</i> I am going to settle the tab and find the bathroom, both of you, behave.
<</say>>
<p>Reyes pushes through to the bar with the small unhurried walk of a senior agent who has just decided he is going to take exactly the time it takes. Elena waits one beat, two. Park is half-turned toward her now in the booth, the off-clock register fully on, the small careful clinical-junior-agent shell that has been holding for a week now sitting somewhere on the booth-bench between them instead of around him.</p>
<<say "char-chen" "Elena">>
<i>(small composed pause, eyes on Park's, the booth-light warm on the side of her face)</i> Park.
<</say>>
<<say "char-park" "Park">>
<i>(small held breath, eyes on hers, the suppressed-attraction edge fully visible at the surface for the first time, the cortex's polite-junior-agent default a half-second behind)</i> ...Elena.
<</say>>
<p>Elena leans across the booth, small and unhurried, sets her hand on the side of Park's jaw, not pulling, just resting, and kisses him on the mouth. Park's breath catches, his free hand briefly fists on the booth-table where Elena can see it and then opens again, and he kisses her back for the length of three slow seconds before the small institutional half-pull begins on his side.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-kiss.webp" alt="A small downtown craft-beer bar booth at night, warm pendant lighting. Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, leaning across the booth-table, hand on the jaw of Agent Park, 33-year-old Korean-American man with short black side-parted hair and a dark suit jacket off over the booth back. Closed-mouth kiss, three slow seconds, his free hand fisted on the table. Two empty whiskey glasses and a half-finished beer on the table between them. Documentary photography, candid, warm interior light.">
<<say "char-park" "Park">>
<i>(small recovered breath, easing back the centimetre that closes the kiss, eyes still on Elena's, the small careful junior-agent register coming back online a half-step behind the body)</i> Elena, I, Lauren, Mara, I shouldn't,
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-smile, hand sliding off his jaw with the small unselfconscious cadence of a woman who knew exactly how the kiss was going to land before she leaned in, settling back to her side of the booth)</i> I know, Park, it is okay, it happened, and we are both going to be fine.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, the off-clock register holding even past the apology, the eye contact not retreating)</i> ...okay.
<</say>>
<p>Reyes returns thirty seconds later with the receipt-copy in his hand and a small wry half-look at the booth that the booth could read either way. Park does not look at Elena for the next ninety seconds. Then he does.</p>
<<say "char-hivemind" "Hivemind">>
//The kiss landed exactly the way I had read the booth-vector for. Park's body gave the answer that the cancelled-Italy thread and the suppressed-attraction baseline had been pre-loading him for; his cortex's apology-about-Lauren is the echo of the institutional default rather than the live reaction. Tomorrow morning at the lab he will not be able to look directly at the host for the first half of the day, and that itself is a conditioning vector. The host has installed a kiss-shaped wedge into the federal team's senior-junior dynamic. Reyes has not seen it yet. Reyes will see it.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Park, direct mouth-to-mouth contact, the body filed the kiss before the cortex caught up">> · <<conditioningFeedback "psionic" 1 "Park, Park's apology-about-Lauren is the echo of the kiss, not the disavowal of it">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the booth, finish the evening|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- WRAP — tab settled, parking lot, Chen drives home ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Outside the Cooper, the small downtown street, Chen's Corolla">>
<<set _firstTimeToday to ($ch2Events.fedsDrinksFired or false) is false>>
<<if _firstTimeToday>>
<<set $ch2Events.fedsDrinksFired to true>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<addBiomass 1 "feds-drinks-wrap">>
<<set $suspicion.lab to Math.max(0, ($suspicion.lab or 0) - 1)>>
<</if>>
<</nobr>>
<div class="passage-title">Outside the Cooper</div>
<div class="lab-location">A small downtown side street, the Cooper's chalkboard sign behind them, the federal team's rental sedan and Elena's grey Corolla in the small lot at the end of the block</div>
<p>Reyes signs the federal-expense receipt without looking at the total (the senior-agent move, the small private courtesy that makes Park briefly grin into his beer glass). The three of them collect coats, push through the front door of the Cooper and out onto the small downtown side street into the slightly-too-cold city air. The federal team's rental sedan is in the small parking lot at the end of the block; Elena's grey Corolla is parked a row over, the gaffer-taped bumper catching the sodium light.</p>
<<if $ch2Events.fedsDrinksParkKissFired>>
<<say "char-park" "Park">>
<i>(small private register, half a step behind Reyes toward the rental sedan, eyes briefly to Elena with the small unguarded acknowledgement of //I am going to be thinking about that//, no apology in the look this time)</i> ...drive safe, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, keys in hand, the small composed register of a colleague who knows exactly which version of the goodbye she is offering)</i> You too, Park. Reyes, thank you for the whiskey.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-nod, the small wry register on, opening the driver's side of the rental for Park first)</i> Any time, Elena. Get home safe.
<</say>>
<<else>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-nod, jacket buttoned against the cold, the small institutional courtesy holding even past the off-clock evening)</i> Elena, thank you. This was a useful evening for the team. Get home safe.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-smile, the off-clock register still holding even at the end of the goodbye, eyes briefly to Elena with the small private acknowledgement that the evening was something for him too)</i> Drive safe, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, keys in hand)</i> Both of you, drive safe.
<</say>>
<</if>>
<p>The federal team slides into the rental sedan; Reyes at the wheel, Park in the passenger seat with his jacket folded across his lap, the brake-lights coming on as the engine turns over. Elena crosses to her grey Corolla, unlocks the driver's side, drops into the seat that smells of cigarettes and the small worn-leather warmth of a car she has driven for years, and sits with her hands on the wheel for the length of one slow breath before turning the key.</p>
<<if $ch2Events.fedsDrinksReyesParkWatchFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...Park watched the whole thing. Park //chose// to stay and watch the whole thing. Reyes finished in my mouth and I fed it to Park through a kiss against the bathroom door, and Park kissed me //back// holding it.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin, eyes briefly to the rearview mirror, head briefly back against the headrest)</i> Apparently making someone want me and then handing him a different ending is more interesting than the regular ending. I am going to think about that for a while.
<</say>>
<<elseif $ch2Events.fedsDrinksReyesAlleyFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...Sofia got fucked against a brick wall by a federal agent in a downtown alley and has //no idea// I watched the whole thing. More than a decade I have known her and I had no idea she had that in her either.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin into the steering wheel, half a laugh under it)</i> Tomorrow morning I am going to text her something deliberately benign, //hope last night was fun, drive safe x//, and watch her read it three times trying to figure out what I know. The next time we get coffee I am going to ask her if her palms are still scraped, with my face perfectly straight. Sofia, you absolute //slut//. I had no idea.
<</say>>
<<elseif $ch2Events.fedsDrinksSofiaParkFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...Sofia's hand went to Park's thigh inside thirty seconds of me sliding her into the booth, and Park's hand went to the back of her neck inside another thirty. I did not have to push either of them, I just made the geometry available, and they used it.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin, head briefly back against the headrest)</i> The next time we have lunch in the cafeteria I am going to ask her how her week has been going //very// politely with both eyebrows up, in front of Tom and one of the postdocs, and watch her face do the entire colour wheel. Sofia owes me a cocktail and I am going to collect with interest.
<</say>>
<<elseif $ch2Events.fedsDrinksParkBJFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...Reyes was three feet away arguing case-strategy with himself and Park was trying to keep up his end of the conversation with my mouth on his cock. Park sounded like a junior agent delivering a chamber-three update and a man on the verge of dying simultaneously, and Reyes did not clock a thing.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head briefly against the steering wheel, a single exhaled half-laugh)</i> Park is going to remember the chamber-three audit conversation differently than I am for the rest of his bureau career. Apparently this is what I'm doing tonight.
<</say>>
<<elseif $ch2Events.fedsDrinksParkKissFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. I kissed Park. He apologised about Lauren and I kissed him anyway. Tomorrow morning at the lab he is not going to be able to look at me, and Reyes is going to clock that, and I will deal with that tomorrow.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head briefly against the steering wheel, a small private laugh)</i> Apparently this is what I'm doing this week.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. That was actually fine. Park is funny when he is off the clock. Reyes is, Reyes.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The federal team is en route back to the hotel filing the evening as //the kind of off-the-clock register I needed this week// without quite naming why. Reyes will drink one more whiskey alone in the hotel bar before bed. Park will lie in his single staring at the ceiling for an hour. Whatever the senior-junior dynamic noticed about the night, neither of them will mention it to the other, the senior register has rules for exactly this. The host has installed a small social wedge into the federal team's procedural baseline; the case will be marginally harder to prosecute against a person both of them had a drink with off the clock. The feds-drinks slot resets.//
<<if _firstTimeToday>>
//The small institutional decompression on the host's end of the federal-investigation register drops the lab-suspicion baseline that has been carrying her. The bar food and the glucose from the drinks metabolise into a thin biomass return. Not the yield a wired-up booth would have produced, but not nothing.//
<</if>>
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+1 biomass</span>, the chips on the booth-table and the glucose from the drinks.</p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, the federal team's off-the-clock register deepens; both feds file the host as //the lab contact who is also a person, apparently//.</p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home for the rest of the evening|Ch2-Vessel-Loop-Home]]</div>
/* ============ FEDS DRINKS — SKILL MENU SUB-PASSAGES ============ */
/* Lure / Delve / Spores / Biofilm / KneeBumpReyes / Estrus / Memory
Implant — mirrors the sushi event sub-passage shape. Each Lure /
Spores variant grants +1 conditioning to BOTH targets in channel;
Delve grants +1 psionic to ONE target (chooser); Biofilm sets the
contamination flag for second-visit ambush. */
/* ---- LURE — Spec chooser + 3 channel variants ---- */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper">><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">Booth, the dose vents in the small enclosed booth-space, both feds in range</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles. Each lands on both Reyes and Park in the booth-air at low dose. The bartender at the rail and the four people on the bar-stools are far enough that the dose dissipates before reaching them.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Event-FedsDrinks-LurePheromone]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes both cortexes for next contact|Ch2-Vessel-Event-FedsDrinks-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into both nights' sleep|Ch2-Vessel-Event-FedsDrinks-LureDream]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeLureToday to ($ch2Events.fedsDrinksLureDay or 0) lt ($day or 0)>>
<<if _firstTimeLureToday>>
<<spendBiomass `setup.lureCost()` "feds-drinks-lure">>
<<set $ch2Events.fedsDrinksLureDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksLureChannel to "pheromone">>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "pheromone" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone Lure · pheromone compound · Park + Reyes</div>
<div class="lab-location">Booth, warmth-and-trust compound vented across two whiskeys and a beer</div>
<<say "char-hivemind" "Hivemind">>
//The dose vents off the host's exposed wrists and the back of her neck into the booth-air. Park's olfactory pathway picks it up under the second-beer baseline; his shoulders ease another quarter-step, his eyes hold Elena's a fraction longer than the conversation justifies. Reyes picks it up at the same time and the senior-agent guard drops by a measurable degree. Neither of them files the warmth as anything other than the whiskey.//
<</say>>
<<say "char-park" "Park">>
<i>(small unguarded half-laugh, eyes briefly holding Elena's a half-second longer than the case-talk justifies, hand setting the beer down with the small unhurried register of a man who has decided he is in this booth for the long haul)</i> Elena, this is the first night I have not wanted to leave the bar before the second drink in, God, I cannot even remember how long, the case has been weighing on me, and it is, yeah, it is good to sit somewhere that is not the conference room with people who are not the case file.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, whiskey rotating one slow turn, the institutional guard easing a measurable degree as the warmth lands across the table)</i> Park is a soft sell after the second beer, Elena, do not let him fool you, but, the same, the same on my side too.
<</say>>
<<conditioningFeedback "pheromone" 1 "Park, booth dose">>
<<conditioningFeedback "pheromone" 1 "Reyes, booth dose">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "pheromone" 1 "Sofia, booth dose, the warmth lands on the friend at the booth too">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeLureToday to ($ch2Events.fedsDrinksLureDay or 0) lt ($day or 0)>>
<<if _firstTimeLureToday>>
<<spendBiomass `setup.lureCost()` "feds-drinks-lure">>
<<set $ch2Events.fedsDrinksLureDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksLureChannel to "psionic">>
<<set $ch2Events.fedsDrinksLurePsionicFired to true>> /* persistent — gates T3c cuck NUDGE */
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "psionic" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "psionic" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone Lure · psionic compound · Park + Reyes</div>
<div class="lab-location">Booth, cortex-opener compound on both feds</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds both prefrontal cortexes. Park's next sentence arrives a half-beat slower than the previous one; Reyes forgets the year of the Albuquerque story he was telling and laughs at himself instead of recovering it. Both of them file the small cognitive blip under //the third whiskey// and let it pass.//
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small recovered laugh, eyes briefly losing the thread)</i> ...what year was that case. Park, you remember the year. The whiskey is doing its work tonight.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer in hand)</i> Boss. I was eight years old when that case happened. You always forget that part.
<</say>>
<<conditioningFeedback "psionic" 1 "Park, booth dose">>
<<conditioningFeedback "psionic" 1 "Reyes, booth dose">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "psionic" 1 "Sofia, booth dose, the cortex-opener catches her too">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeLureToday to ($ch2Events.fedsDrinksLureDay or 0) lt ($day or 0)>>
<<if _firstTimeLureToday>>
<<spendBiomass `setup.lureCost()` "feds-drinks-lure">>
<<set $ch2Events.fedsDrinksLureDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksLureChannel to "dream">>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "dream" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "dream" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Park + Reyes</div>
<div class="lab-location">Booth, subconscious-imprint compound on both</div>
<<say "char-hivemind" "Hivemind">>
//Reads as nothing in the moment. Tonight, in the shared hotel single neither of them is going to grade, the imprint composes itself in both. Reyes will not remember dreaming. Park will, faintly, and will not say what.//
<</say>>
<<say "char-park" "Park">>
<i>(small distracted half-second, eyes drifting briefly across Elena's face with the unfocused register of a man whose cortex has just slid one drawer to the left without him asking)</i> ...sorry, I lost the thread for a beat there, long week, I think it is catching up with me at exactly the wrong moment.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(eats a small plate piece, the senior register half-off, eyes briefly going somewhere else for a half-second before returning to the booth)</i> Long week, Park, the both of us, the lady knows.
<</say>>
<<conditioningFeedback "dream" 1 "Park, booth dose">>
<<conditioningFeedback "dream" 1 "Reyes, booth dose">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "dream" 1 "Sofia, booth dose, the imprint will compose itself in her tonight too">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- SPORES — Spec chooser + 3 channel variants. Pheromone-channel
on second visit (when ambush primed) redirects to the orgy passage. */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "The Cooper, booth and bar-rail in dose-range">>
<<set _ambushPrimedRender to ($ch2Events.fedsDrinksSporesUsed or false) and ($ch2Events.fedsDrinksBiofilmUsed or false) and (((($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0) + ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)) / 2) gte 7) and (not ($ch2Events.fedsDrinksSofiaBrought or false))>><</nobr>>
<div class="passage-title">Toxic Spores · choose compound</div>
<div class="lab-location">The Cooper, saturate the booth-air, the bar-rail, the back of the room, both feds in dose-range</div>
<<say "char-hivemind" "Hivemind">>
//Higher-yield than the Lure. The spores saturate the small downtown craft-beer room, not just the booth-air, the whole place. Every body in here metabolises the channel: the bartender, the four people on the bar-stools, both feds, the host herself. Three compound profiles. The host's own tissues have been quietly building tolerance to the channel signature she handles most often, so the dose lands smaller on her than on the others, but it still lands.//
<</say>>
<<if _ambushPrimedRender>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> [[Pheromone-channel, tip the primed room past the line|Ch2-Vessel-Event-FedsDrinks-Orgy]]</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> [[Pheromone-channel, sustained warmth saturation|Ch2-Vessel-Event-FedsDrinks-Spores]]</div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Psionic-channel, sustained cognitive opener|Ch2-Vessel-Event-FedsDrinks-SporesPsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Dream-channel, subconscious-imprint saturation|Ch2-Vessel-Event-FedsDrinks-SporesDream]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeSporesToday to ($ch2Events.fedsDrinksSporesDay or 0) lt ($day or 0)>>
<<if _firstTimeSporesToday>>
<<spendBiomass 2 "feds-drinks-spores">>
<<set $ch2Events.fedsDrinksSporesDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksSporesUsed to true>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "pheromone" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · pheromone-channel · the room</div>
<div class="lab-location">The Cooper at the end of round two, the air now carrying more than craft beer</div>
<p>The spore-vector saturates the room edge to edge, the bartender's hand pauses a fraction over the tap; at the bar-stools, two of the four patrons lean closer to each other than they had been before, voices dropping into a register the room-baseline did not strictly permit; the room is half a degree warmer than it was a minute ago and nobody is going to question it. At the booth itself, Park's hand drifts to his collar and undoes the top button without him looking at it; Reyes loosens the tie-knot a quarter-inch with the small unhurried register of a man who has decided he is fully off the clock and is no longer pretending otherwise.</p>
<<say "char-park" "Park">>
<i>(small unguarded laugh, suppressed-attraction edge fully visible at the surface, the off-clock register a half-degree warmer with the room, eyes lingering on Elena's mouth a beat too long before catching themselves)</i> The beer is excellent, this beer is excellent, Elena, what is the one in front of you, you have to try this one, the brewery is from a little place outside Santa Fe and the hops on it are doing something I have never tasted before.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry low laugh, whiskey rotating one slow turn, the senior register easing another half-step toward the booth, the small private acknowledgement of having clocked Park's flush and choosing not to comment because he is wearing his own version of it)</i> Park is going to remember exactly the names of all four beers tomorrow morning, he is one of those, Elena, do not encourage him or we will be at every brewery in the southwest by Saturday.
<</say>>
<<conditioningFeedback "pheromone" 1 "Park, room dose">>
<<conditioningFeedback "pheromone" 1 "Reyes, room dose">>
<<conditioningFeedback "pheromone" 1 "Elena, own dose, smaller (tolerance) but lands">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "pheromone" 1 "Sofia, room dose, the warmth saturates the booth and lands on her too">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeSporesToday to ($ch2Events.fedsDrinksSporesDay or 0) lt ($day or 0)>>
<<if _firstTimeSporesToday>>
<<spendBiomass 2 "feds-drinks-spores">>
<<set $ch2Events.fedsDrinksSporesDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksSporesUsed to true>>
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "psionic" 1>>
<<addConditioning "chen" "psionic" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "psionic" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · psionic-channel · the room</div>
<div class="lab-location">The Cooper, cognitive-opener saturation, the booth and the bar-rail in range</div>
<p>The room's collective cortex thins. Conversations across the bar slow by a half-beat; sentences arrive a fraction late; nobody quite knows why they are smiling at the wall. The bartender writes the next round's order down twice and laughs at himself.</p>
<<say "char-park" "Park">>
<i>(small distracted half-second, eyes briefly losing the thread, the off-clock register fully on)</i> ...sorry, what was, sorry, I was about to say something, where were we?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, the senior register letting the half-second pass, the small private register-shift of a man whose own next sentence has been stuck on the back of his tongue for thirty seconds and he does not know why)</i> Park, you have been about to say something for two minutes now, take your time, the bar is not closing for an hour, and I cannot remember what either of us were arguing about anyway.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer in hand, eyes briefly going to Elena's with the unguarded warmth of a junior agent whose senior-agent boss has just admitted to losing the thread too)</i> Boss, that is the most reassuring thing you have said all week.
<</say>>
<<conditioningFeedback "psionic" 1 "Park, room dose">>
<<conditioningFeedback "psionic" 1 "Reyes, room dose">>
<<conditioningFeedback "psionic" 1 "Elena, own dose">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "psionic" 1 "Sofia, room dose, the cortex-opener saturates the booth-air she's sharing">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeSporesToday to ($ch2Events.fedsDrinksSporesDay or 0) lt ($day or 0)>>
<<if _firstTimeSporesToday>>
<<spendBiomass 2 "feds-drinks-spores">>
<<set $ch2Events.fedsDrinksSporesDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksSporesUsed to true>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "chen" "dream" 1>>
<<if $ch2Events.fedsDrinksSofiaBrought>><<addConditioning "vasquez" "dream" 1>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · dream-channel · the room</div>
<div class="lab-location">The Cooper, subconscious-imprint saturation across the room</div>
<p>Reads as nothing in the moment. The room continues, beer, conversation, the bartender's laugh. Tonight, in the shared hotel single Reyes and Park will return to in an hour, the imprint composes itself in both. Park will dream; he will not be able to describe the dream tomorrow morning. Reyes will not remember dreaming. Both will wake at five-thirty with the host's face at the front of their cognition.</p>
<<say "char-park" "Park">>
<i>(small distracted half-laugh, the off-clock register holding, eyes briefly going heavy at the corners)</i> ...I am gonna sleep tonight, I can feel it already, first night of the week.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, whiskey almost down, eyes briefly distant for a half-second before clicking back to the booth)</i> The both of us, Park, I am going to sleep through the alarm tomorrow morning and you are going to have to come pull me out of the hotel.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, beer empty)</i> Boss, I am going to sleep through mine, we are both screwed, the lady is the only one of us who has any business showing up to the lab tomorrow.
<</say>>
<<conditioningFeedback "dream" 1 "Park, room dose">>
<<conditioningFeedback "dream" 1 "Reyes, room dose">>
<<conditioningFeedback "dream" 1 "Elena, own dose">>
<<if $ch2Events.fedsDrinksSofiaBrought>><<conditioningFeedback "dream" 1 "Sofia, room dose, the imprint composes itself in her sleep too tonight">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- BIOFILM — coats the booth, glassware, bar rail. Persists past
the evening; if used together with Spores, opens the second-visit
ambush branch (per event-design.md). */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeBiofilmToday to ($ch2Events.fedsDrinksBiofilmDay or 0) lt ($day or 0)>>
<<if _firstTimeBiofilmToday>>
<<spendBiomass 2 "feds-drinks-biofilm">>
<<set $ch2Events.fedsDrinksBiofilmDay to ($day or 0)>>
<<set $ch2Events.fedsDrinksBiofilmUsed to true>>
<</if>>
<</nobr>>
<div class="passage-title">Biofilm Residue · the booth and the bar-rail</div>
<div class="lab-location">The Cooper, the host's hands have been on the booth-table, the glassware, the bar-rail when she went up to settle a tab</div>
<<say "char-hivemind" "Hivemind">>
//The biofilm vents off the host's palms and fingertips and threads into the wood of the booth-table, the rim of every glass, the bar-rail at the front of the room. It does not produce a measurable signal tonight, the residue is too low-dose. It will produce a signal tomorrow, and the night after, and the night after that, until the booth is wiped down and the glassware is run through the dishwasher five times. The bartender is standing in the residue zone every shift. The two regulars at the bar-stools touch the rail every time they sit down. The substrate is laying itself in.//
<</say>>
<p>Elena sets her hand briefly on the booth-table at a moment when neither fed is looking, then on the rim of her empty whiskey glass, then, when she stands to bring the next round herself, intercepting the bartender, on the bar-rail itself for the length of half a minute. None of the gestures register to anyone in the room. All three deposit.</p>
<<say "char-hivemind" "Hivemind">>
//Combined with a pheromone-channel spore release on a future visit, the residue and the airborne dose will compound on the room. The substrate is now primed.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- KNEE BUMP — Reyes (T2+, gates on slip 2 fired) ---- Mirror of
the Park version. Below threshold (_rTotal < 8): Reyes shifts his
leg deliberately enough that no one but Reyes registers the shift,
eyes briefly to Chen with the small senior-agent acknowledgement
that he heard the question and is choosing not to answer it. At
threshold (_rTotal >= 8): Reyes does not move his leg. Whiskey
rotates one slow turn. Eye contact holds. Sets the knee-Reyes flag,
primes the alley path. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper">>
<<set _rTotalLive to ($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0)>>
<<set _firstTimeKneeR to ($ch2Events.fedsDrinksKneeBumpReyesFired or false) is false>>
<<if _firstTimeKneeR>>
<<spendBiomass 1 "feds-drinks-knee-reyes">>
<<set $ch2Events.fedsDrinksKneeBumpReyesFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Under the booth · the senior side</div>
<div class="lab-location">The corner booth at the Cooper, Reyes's right knee, the small enclosed booth-geometry</div>
<p>Elena does not look at Reyes. She does not change her face. She slides her right knee a single centimetre across the booth-bench and sets it against Reyes's left knee under the table, the small composed gesture of a colleague who is going to keep her eye contact on Park the whole time and let the rest of the message happen below the table-line.</p>
<<if _rTotalLive gte 8>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-second, whiskey paused on the way down to the table, the senior register registering the gesture exactly for what it was, knee not moving, eyes briefly to Elena with the small private acknowledgement that the gesture was clocked)</i> ...
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, the off-clock register holding, oblivious to the geometry under the table)</i> Boss, you just went quiet. Was it the beer rec.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small recovered, eyes off Elena and back to Park, the senior register clicking back into place a half-step behind, knee under the table not moving)</i> The beer rec. Park, give me the next one. I am taking notes mentally.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes's knee did not move. The senior register received the gesture and chose to receive it. The hotel-beds slip earlier opened the door; the knee-against-knee is the host walking through it. Reyes will not initiate from his side, the senior-agent register has //let the colleague set the pace// installed at the foundation, but he will not pull back either. The host has the alley path now. Stepping out for air will pull Park out first; Reyes will follow a minute later for the same reason.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Reyes, skin-contact through the trouser leg, the senior register filed the gesture">></p>
<<else>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-second, eyes briefly to Elena with the small private senior-agent acknowledgement that the gesture was clocked AND politely waved off, then back to Park)</i> Booth's a small one, isn't it. Park, hand me a small plate.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small composed half-beat, the small wry interior of a woman who just got the senior-agent's polite institutional veto in the language of a man who clocked exactly what she did)</i> ...mm. Reyes saw it. Reyes is choosing to let it pass as nothing. Useful read on the senior register.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes received the gesture and rejected it gracefully, the senior-agent default, the institutional muscle-memory of a man who has been graceful-veto-ing colleagues for twenty-six years. The conditioning has not yet rewritten that default. The host now needs to either: raise Reyes's baseline (Lure / Spores / Delve, repeat the evening) or wait for the slip 2 register to soften his floor before pressing again. The booth is the right surface; the dose is too low.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Reyes, skin-contact through the trouser leg, the senior register filed the gesture">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- ESTRUS TRIGGER — vent at Reyes. The federal-team-specific
weak point per the plan; locks the watching-dynamic when the
double slip has fired, primes the trio invite-back when slip 3
has fired and the player wants to escalate to the threesome. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, the small enclosed booth-air, Reyes in dose range">>
<<set _firstTimeEstrusR to ($ch2Events.fedsDrinksEstrusFiredReyes or false) is false>>
<<if _firstTimeEstrusR>>
<<spendBiomass 3 "feds-drinks-estrus-reyes">>
<<set $ch2Events.fedsDrinksEstrusFiredReyes to true>>
<<addConditioning "reyes" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Estrus Trigger · Reyes</div>
<div class="lab-location">The Cooper booth, hard hormonal escalation, the dose targeted at the senior register</div>
<<say "char-hivemind" "Hivemind">>
//Higher-yield than any of the booth-air compounds. The dose is targeted, Reyes specifically, the senior register's libido pathway, the hard hormonal escalation that bypasses the institutional layers entirely. The compound binds to Reyes's reproductive-cortex-axis; the rest of the senior register stays online, he is not going to lose his composure, he is not going to do anything observably out of register, but the floor of his arousal baseline has just risen by approximately a hundred and fifty percent. From this point forward in the evening, Reyes is going to be aware of the host's body in the booth as a vector in a way the senior-agent register cannot fully suppress.//
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small considered half-beat, whiskey rotating one slow turn, eyes briefly down at the booth-table and then back up at Elena with the small private register-shift the host can see and the rest of the room cannot, jaw tightening half a degree before catching itself, the senior-register grip on the whiskey glass shifting from absent-handed to deliberate)</i> ...mm. Elena. The room just got, warm.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Reyes's, the small private acknowledgement landing)</i> Mm-hmm, it is.
<</say>>
<<conditioningFeedback "pheromone" 1 "Reyes, Estrus Trigger, hard hormonal escalation, senior register's libido pathway bound">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ---- ESTRUS TRIGGER — Sofia variant. Fires when Sofia is at the
booth (with-Sofia path). Pushes Sofia past the Andrés-default into
open arousal toward Park; Chen clocks her hand sliding to Park's
thigh under the table. Includes a Delve-Surface link to read Sofia's
conflicted under-cortex while the dose is active. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, Sofia next to Park, the dose targeting her reproductive-cortex axis">>
<<set _firstTimeEstrusS to ($ch2Events.fedsDrinksEstrusFiredSofia or false) is false>>
<<if _firstTimeEstrusS>>
<<spendBiomass 3 "feds-drinks-estrus-sofia">>
<<set $ch2Events.fedsDrinksEstrusFiredSofia to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<</nobr>>
<div class="passage-title">Estrus Trigger · Sofia</div>
<div class="lab-location">The Cooper booth, hard hormonal escalation, the dose targeted at Sofia's libido pathway, Park to her right</div>
<<say "char-hivemind" "Hivemind">>
//Higher-yield than any of the booth-air compounds. The dose is targeted, Sofia specifically, her reproductive-cortex axis, the hard hormonal escalation that bypasses the //I am with Andrés// institutional layer entirely. Sofia will keep the conversation running on the surface, but the floor of her arousal baseline has just risen by approximately a hundred and fifty percent, and the closest male body in the booth is Park's right thigh against her left.//
<</say>>
<p>The dose lands and Sofia is in two registers at once for the next ninety seconds, the composed off-the-record surface holding the conversation, and the body-warming under-cortex running parallel underneath. Her wool coat slides off her shoulder by a quarter-inch she does not register, and her left hand finds the booth-table, then the leather of the bench, and ninety seconds in her palm settles flat on the side of Park's thigh through his slacks with the fingers spread, no apology and no acknowledgement.</p>
<p>Park does not move his thigh, does not look down, does not change his face, the conversation continues with Reyes mid-sentence about the regional-office workload, and across the table Elena clocks the small flush rising along Sofia's collarbone above the turtleneck and the small private register-shift in Sofia's mouth that the rest of the table will not see.</p>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, voice pitched at Reyes mid-sentence, hand not moving on Park's thigh)</i> Reyes, sorry, you were on the regional-office two-week clock and I am going to need you to keep going because Park looks like he is about to forget what office we work for.
<</say>>
<<say "char-park" "Park">>
<i>(small strangled half-laugh, eyes very deliberately on Reyes and not on the woman whose hand is on his thigh)</i> ...yeah, boss, the clock, I am tracking, keep going, the two-week thing.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Sofia, back to Reyes, the small private register of a woman who is going to settle the next round in a minute and not before)</i> Reyes, keep going on the regional office, Sofia and I might want some air in a few minutes once you finish the thread, the cab line at the front needs a look anyway.
<</say>>
<<conditioningFeedback "pheromone" 1 "Sofia, Estrus Trigger, hard hormonal escalation, libido pathway bound past the Andrés-default">>
<hr class="scene-break">
/* Optional Delve — read Sofia's surface mid-Estrus. Skill-gated. */
<<if _hasDelve>>
<<if $ch2Events.fedsDrinksEstrusSofiaDelved>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">✓ Sofia's surface already read</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Surface read on Sofia, see what the under-cortex is doing under the conversation (1 biomass)" "Ch2-Vessel-Event-FedsDrinks-EstrusSofiaDelve" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface read on Sofia <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
/* T2c — alley scene NUDGE, accessible from inside Estrus Sofia. Same gate
as the top-level button. SofiaPark fired (booth-corner kiss) is the
prerequisite — without that, the alley pivot does not have its anchor. */
<<if $ch2Events.fedsDrinksReyesAlleyFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Already stepped out, Park and Sofia in the alley</span></div>
<<elseif $ch2Events.fedsDrinksSofiaParkFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Step out for air, all four of you, the kids need a moment (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-FedsDrinks-ReyesAlley" `setup.nudgeCost()`>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeEstrusSofiaDelve to ($ch2Events.fedsDrinksEstrusSofiaDelved or false) is false>>
<<if _firstTimeEstrusSofiaDelve>>
<<spendBiomass 1 "feds-drinks-estrus-sofia-delve">>
<<set $ch2Events.fedsDrinksEstrusSofiaDelved to true>>
<<addConditioning "vasquez" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Surface read · Sofia, mid-Estrus</div>
<div class="lab-location">Booth, Sofia's surface, the dose holding through every cortex layer, the read fits exactly behind the flush at her collarbone</div>
<<say "char-hivemind" "Hivemind">>
//The institutional surface is holding the conversation up top while the under-cortex tears slowly through Sofia's composure underneath, the two layers running in parallel without a way to choose between them. The compound has bound her libido pathway past the Andrés-default, and her cortex is watching itself want a thing it has been telling itself for years it does not want.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(small private interior, the conversation continuing nominally above her, palm flat on Park's thigh under the booth-table)</i> What is wrong with me right now, what is wrong with me right now, nothing is wrong with me, I am at a bar with my best friend, I am five years cohabiting with a man whose cologne I have stopped recognising on his shirts, I have a junior agent's thigh under my hand and I cannot move my hand and I cannot tell whether I want to.
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(half-laugh interior, the wry register flickering, eyes briefly to Park and back)</i> The thigh is a thigh, the thigh is just a thigh, Sofia, calm down, fuck, the thigh is going to be in my head for the cab home and the next morning and probably the rest of the week, isn't it.
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(small considered interior, a slow pulse landing low in her body that she does not name)</i> He is married, Andrés will be asleep when I get home, no one in this booth knows him and no one in this town ever will, that is the list my cortex is running for me right now, and underneath the list my hand is already moving on his thigh, and the list is the cover for the thing the body already decided two whiskeys ago.
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(small clear interior, palm sliding the smallest fraction higher on Park's thigh, the cortex giving up the resistance and watching itself give up)</i> ...Elena. You set this whole evening up. There is tomorrow morning for the questions and the thank-you, and right now there is just my hand on his thigh and the small private acknowledgement that I am not going to take it back, apparently that is who I get to be tonight.
<</say>>
<<conditioningFeedback "psionic" 1 "Sofia, surface read while Estrus is active, the under-cortex layer fully exposed">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to Estrus Trigger, Sofia|Ch2-Vessel-Event-FedsDrinks-EstrusSofia]]</div>
/* ---- MEMORY IMPLANT — Park. Rewrites a small case-detail thread
on Park's surface read of the lab. Flag-only this slice; downstream
consumers TBD. The implanted thread: Park now remembers the conduit-
photo two-passes mismatch as having been resolved by the regional
office BEFORE the federal team was assigned, rather than as an
open thread the team is currently chasing. Sets a parkConduitImplant
flag for downstream consumers. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, Park's cortex, the implant taking">>
<<set _firstTimeMIP to ($ch2Events.fedsDrinksParkConduitImplant or false) is false>>
<<if _firstTimeMIP>>
<<spendBiomass 3 "feds-drinks-memory-implant-park">>
<<set $ch2Events.fedsDrinksParkConduitImplant to true>>
<<addConditioning "park" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Memory Implant · Park · the conduit-photo thread</div>
<div class="lab-location">Booth, the dose threads through Park's prefrontal cortex behind the conversation</div>
<<say "char-hivemind" "Hivemind">>
//The dose is targeted, Park's case-memory of the conduit-photo two-passes thread, currently filed in his cortex as //open thread, federal team chasing//. The implant overwrites that filing with //resolved at the regional office before the team landed, no longer load-bearing//. Park's surface tomorrow morning at the lab will not register the thread as something he is supposed to be chasing. The two-passes anomaly will quietly drop off his shortlist. Reyes's filing is unaffected, the implant is targeted, not broadcast, but Reyes does not push the conduit-photo thread without Park doing the legwork.//
<</say>>
<<say "char-park" "Park">>
<i>(small distracted half-second, eyes briefly losing the thread of the conversation, then recovering, the implant landing under the surface)</i> ...sorry, what was the, yeah, the small plates. We should order the next round.
<</say>>
<<conditioningFeedback "psionic" 1 "Park, Memory Implant, conduit-photo thread overwritten">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the booth|Ch2-Vessel-Event-FedsDrinksEvening]]</div>
/* ============ FEDS DRINKS — T2 OUTCOME PASSAGES ============ */
/* T2a Park BJ under table · T2b Sofia + Park setup · T2c Reyes alley
handjob. NSFW per /explicit-scenes — dialogue density 1 exchange
per 200 words, characterful moans per speaker, muffled mouth-full
sounds when applicable, foreplay before sex. */
/* ---- T2a — Chen blows Park sneakily under the booth-table ----
Trigger: slip 2 + knee-bump-Park + _pTotal >= 15. Reyes is on his
third whiskey, two-thirds turned toward the bar arguing case
strategy with himself; the tablecloth covers; Chen slides under,
Park has to keep talking to Reyes through it. Comedic-strangled
register on Park, professional unhurried register on Chen, Reyes
oblivious-or-choosing-to-be-oblivious throughout. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Under the corner booth at the Cooper, Reyes two whiskeys deep on the bench across">>
<<set _firstTimeBJ to ($ch2Events.fedsDrinksParkBJFired or false) is false>>
<<if _firstTimeBJ>>
<<spendBiomass 1 "feds-drinks-park-bj-under-table">>
<<set $ch2Events.fedsDrinksParkBJFired to true>>
<<addBiomass 2 "feds-drinks-park-bj">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<<addConditioning "park" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Under the booth · Park</div>
<div class="lab-location">The corner booth at the Cooper, the tablecloth covering, Reyes still at the bar three customers deep waiting on the next round, the booth a private bench for Park and Elena for the next minute</div>
<p>The fork is on the floor and Elena has the cover she needed. She slides off the booth-bench in one unhurried motion, ducks under the tablecloth on her way down, and Park's left hand finds the edge of the booth-table and grips it before he has decided what his face is going to do about any of this. Reyes is at the bar with his back fully turned, three customers deep in the queue, and he is not coming back for at least a minute.</p>
<<say "char-park" "Park">>
<i>(small clear half-laugh, voice low and a little uneven, looking down between his knees at Elena on the bar-floor under the tablecloth, the off-clock register fully on with no Reyes in the room to keep up appearances for)</i> Elena, you are not actually, //Christ//, Elena, if Reyes turns around right now I am going to have to invent a story about the tablecloth that even I cannot pitch with a straight face.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile up at Park from the dim space under the booth, hand briefly squeezing his right thigh through the slacks, the wry warmth fully on now that no one but Park can see her)</i> Park, Reyes is not turning around for the next minute, and even if he did he is not the kind of man who looks for a colleague under a table, so for this exact minute the two of us are unsupervised, and you can stop pretending you have not been thinking about exactly this for the last four hours.
<</say>>
<p>Park stops pretending. His hands go to his belt before he has finished the breath he was halfway through, and Elena does the rest with the unhurried clinical competence of a woman who was a graduate student before she was a PI and remembers how to do quiet things in tight spaces. The buckle, the zipper, the slacks open, Park is hard already, the geometry of the past five minutes has done the work the foreplay would have done, and Elena takes him out into her right hand with the small unhurried half-smile of a woman who is going to enjoy this. Park does not look away. With Reyes still at the rail there is no cover to maintain, and Park lets himself be a man watching a colleague go down on him in public for the first thirty seconds of the act, eyes locked on Elena's mouth as it opens around the head of his cock, no composure to perform yet for anyone in the room.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-bj-pov.webp" alt="POV from Park's perspective looking down: Elena, 32-year-old Chinese-American woman with shoulder-length dark hair pulled back behind one ear and slim dark-acetate rounded-rectangular glasses, kneeling under a booth-table tucked away from the front of the bar, lips wrapped around the head of an erect cock, one hand at the base of the shaft, eye contact up through her glasses. Tablecloth visible at the edge of frame. POV blowjob composition. Documentary photography, candid, warm interior light, anatomically correct, uncensored.">
<<say "char-chen" "Elena">>
<i>(small half-laugh under the booth, lips brushing the head of his cock, eyes up at Park through her glasses)</i> Park, you have been very polite about this all evening, you can stop being polite for the next minute, I am not going to grade your bedside manner.
<</say>>
<<say "char-park" "Park">>
<i>(small strangled half-breath, hand briefly at the back of her head through the tablecloth and then catching itself, eyes briefly to the ceiling and then back down at her)</i> Elena, //Christ//, okay, you are right, I am going to stop being polite about it.
<</say>>
<p>Elena takes the head of his cock into her mouth and works him slow, the unhurried register, lips closed around the rim, tongue flat along the underside, hand cupping the base of the shaft. Park's left hand finds the booth-table edge and grips it; his right hand briefly drifts to the back of her head through the tablecloth, careful and unhurried, settling there with the small private register of a man who has decided he is in this for the next minute and is not going to fight it.</p>
<<say "char-chen" "Elena">>
<i>(muffled around the head of his cock, head bobbing slow, pulling off the tip with a small wet sound mid-sentence and going back down before the next word lands)</i> Park, //mmh, gwak, schlrrp//, try-gwak-ing, to get a, //schlrrp//, job, gwak, done down here, Park, gwak, gwak, eyes on Reyes when he gets back, schlrrp, and do //not//, //gwak//, drop the conversation, I am the only one of us, //schlrrp//, with an excuse for being out of words.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-laugh down at the booth-table, hand briefly fisting in the back of her hair through the tablecloth, eyes briefly to the ceiling and then very deliberately at the brass tap-handle behind the bar)</i> //Christ//, Elena, okay, eyes on Reyes, eyes on Reyes, you are an //absolute// menace, you know that, right.
<</say>>
<<say "char-chen" "Elena">>
<i>(small unhurried half-laugh, mouth sliding down the shaft, the small wet sound carrying across the next half-second)</i> //Mmh, gwak, schlrrp//, yes, gwak, I know, //schlrrp//, eyes on Reyes, Park, that is the entire job up there.
<</say>>
<p>From the bar, Reyes turns away from the rail with two fresh whiskeys in one hand and a beer in the other, and starts back across the floor toward the booth.</p>
<<say "char-park" "Park">>
<i>(small strangled half-whisper down at Elena, voice pitched into the don't-let-Reyes-hear register, hand tightening at the booth-table edge)</i> Elena, Elena, he is coming back, he is coming back right now, what do I, what am I supposed to,
<</say>>
<<say "char-chen" "Elena">>
<i>(small unhurried half-whisper from under the booth, lips pulling off the head briefly with a small wet sound, hand still on the shaft pumping him slow)</i> Park, I am not coming up, you are going to keep your face composed and you are going to lie about where I went, and that is the entire plan, that is the only thing you have to do.
<</say>>
<p>Reyes arrives at the booth, sets the two whiskeys and the beer down on the booth-table, and looks at Elena's empty seat with the small institutional half-second of a senior agent registering an absence. He looks at Park. Park has both hands at the booth-table edge, eyes fixed somewhere on the brass tap-handle behind the bar, mouth half-open and not quite forming a word.</p>
<<say "char-reyes" "Reyes">>
<i>(small wry half-laugh, sliding into his side of the booth, eyes briefly to Elena's empty whiskey glass and then to Park's face, the third-whiskey warmth on the senior-agent register)</i> Park-y, where did Elena disappear to, and why do you look like you just got asked a question on the witness stand and forgot your own name.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-breath, voice catching on the first syllable, recovering, eyes very deliberately on Reyes and not at the gap under the tablecloth where Elena's mouth has just gone back down on him)</i> She, uh, she went to the Bathroooooh, //fuck//, sorry, boss, the IPA went down the wrong pipe again, to the //bathroom//, she went to the bathroom, she said she was coming right back.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small clear half-laugh, the third-whiskey register fully on, the institutional cadence softening into the warmer one a senior agent only lets out off-clock with someone he has been working with for eleven years)</i> //Bathrooom//. Park, my friend, you have got to drink some water, you are doing that thing where the consonants stop landing, and if you let Lauren see you doing it on the phone tonight she is going to assume the worst about who I have been letting you drink with. Sit up, eat something, you have not touched the small plates and they are not going to eat themselves.
<</say>>
<p>Elena, under the booth, takes Park deeper on the next slow press. Park's hand finds the water glass with the small careful precision of a man concentrating very hard on appearing to be at a normal booth on a normal evening, drinks half of it, sets it back down. Reyes is already mid-sentence at the regional-office monologue, three-quarters turned toward the wall, treating Park less like a colleague taking case-strategy notes and more like the friend across a kitchen table on a long Sunday afternoon.</p>
<<say "char-reyes" "Reyes">>
<i>(small institutional cadence softened by the third whiskey, eyes briefly on the ceiling and then back on his own glass, the senior register fully off-clock and warmer for it)</i> Listen, Park, the regional office is going to want this case off the desk regardless of what we actually have on it, and they are not going to give us a longer leash than they have to give us, you and I have been around this block twice, we know exactly how this kind of thing closes. So, my guy, we run on the assumption we have less time than we think and we plan accordingly, that is the whole job, that is the whole damn job.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-pitched at Reyes, voice attempting the off-clock register and not quite landing it, eyes very deliberately on the wall behind Reyes's shoulder, knuckles white on the booth-table edge)</i> Yeah, yeah, boss, the regional office, I, //fuck//, sorry, the small plates just hit me wrong, what about the chamber-three audit, what is the timeline on that one, that one is the one I keep losing track of.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-laugh, eyes still on his whiskey, the warmer register fully on)</i> Chamber three closes on the regional-office schedule and they are running it tight, Park, you are sweating, drink some more water, I am not joking, you look like you are coming down with something.
<</say>>
<<say "char-park" "Park">>
<i>(small strangled half-laugh at Reyes, hand reaching for the water glass and almost knocking it over)</i> Yeah, the place is warm, sorry boss, it is a warm room.
<</say>>
<<say "char-chen" "Elena">>
<i>(small unhurried half-whisper from under the booth, pulling off the head briefly with a small wet sound, voice low enough that only Park hears it)</i> //Mmh.// You taste like the IPA you were drinking, Park, and you are doing very well up there, keep going. Tell me when you are going to come, I want to know.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-whisper down at the booth-table, voice pitched at the don't-let-Reyes-hear register, the conversation with Reyes briefly off)</i> //Christ//, Elena, soon, Elena, soon, are you,
<</say>>
<<say "char-chen" "Elena">>
<i>(small unhurried, going back down on him, voice muffled around the shaft)</i> //Mm-hmh.//
<</say>>
<p>She takes him deeper, the small steady rhythm holding, head bobbing slow under the tablecloth. Park's left hand on the booth-table goes white-knuckled. Reyes is still talking at the wall about the regional office, three-quarters turned away, fully unaware the booth has a third body in it. The bartender is at the back counting the till and the four people at the bar-rail are looking at their own glasses.</p>
<<say "char-park" "Park">>
<i>(strangled half-breath, the conversation with Reyes fully off, the booth-table grip white)</i> Elena, Elena, I am, I am right there,
<</say>>
<p>Park comes in her mouth. Elena holds him on her tongue, small unhurried beat, no swallow, lips closed around the head for the count of one, two, three, the small involuntary pulses landing across the back of her tongue and pooling there. She stays under the table for three more breaths while Park gets his breathing back, picks the fork up off the floor with her free hand, and waits for the right second.</p>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-laugh, eyes briefly down to his whiskey, setting the glass back down)</i> Park, I am going to assume that face is the IPA and not me boring you to death with the regional office, but if it is me you can tell me to shut up, you have my permission.
<</say>>
<p>The half-second Reyes spends looking down at his whiskey glass is the half-second Elena has been waiting for. She slides out from under the tablecloth at the end of the booth-bench, settles back into her own seat with the small unhurried composure of a woman returning from the bathroom, and sets the fork back on the booth-table beside her plate. Park's eyes go to her, full of the kind of gratitude and panic that only a man who has just had a colleague's mouth on him while his boss was at the bar can produce. Elena turns her head one notch toward Park, mouth parted, tongue out, the cum still pooled across the back of it, and winks at him with the eye Reyes cannot see from his angle. The display lasts exactly one full second. Then her mouth closes around the swallow, and Reyes's eyes come back up to the booth.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-bj-aftermath.webp" alt="POV from Park's perspective at the booth-bench beside her: Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, head turned toward the camera, mouth open wide with her tongue out, a small pool of cum visible across the back of her tongue, one eye closed in a deliberate wink while the other holds direct eye contact with the camera, small playful expression at the corner of her mouth. Long open grey cardigan over grey t-shirt visible at the bottom of frame. Dark wood booth-bench behind her shoulder, warm pendant light catching the side of her face. Documentary photography, candid, anatomically correct, uncensored.">
<<say "char-reyes" "Reyes">>
<i>(small wry half-laugh, eyes briefly to Elena's slightly-flushed face, then back to his whiskey, the third-whiskey register fully on)</i> Elena, welcome back, the bathrooms here are something else, are they not, you took your time, I was about to send Park to look for you. Anyway, the regional office is going to want this case off the desk,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly on her whiskey glass, dabbing the corner of her mouth with the napkin she folded onto the seat earlier, no flicker on her face)</i> Reyes, I am so sorry to have missed the start of the regional-office thread, please do not let me restart you, I will pick it up from context. Park, are you alright, you look a little flushed.
<</say>>
<<say "char-park" "Park">>
<i>(small recovered breath, voice almost normal, the off-clock register clicking back into place a half-step behind the body that has just had the night of its career)</i> I am fine, Elena, the IPA hit me harder than I thought.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes did not see, or he saw and decided three whiskeys deep that the seeing was not his problem, at this point in the senior-agent off-clock register the line between those two is no longer one Reyes is going to walk back to in the morning. Park is going to spend the next twenty minutes unable to look directly at the host; he will recover by the parking lot, he will not recover by tomorrow morning. The cum-on-the-tongue display was the load-bearing beat, what Park watched the host do with his cum, while his boss was still talking case strategy across the booth, is the image that will be sitting at the front of his cortex every time he sees the host in the lab corridor for the rest of the investigation.//
<</say>>
<<if _firstTimeBJ>>
<p><span class="biomass-gain">+2 biomass</span>, direct sexual extraction, the post-orgasm spike on Park's autonomic.</p>
<p><span class="biomass-gain">+1 max biomass</span>, Park's body will remember the host's mouth at the booth for as long as the cortex tries not to.</p>
<<conditioningFeedback "pheromone" 1 "Park, direct sexual contact under the booth">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The bill, the parking lot, the Corolla home|Ch2-Vessel-Event-FedsDrinks-Wrap]]</div>
/* ---- T2b — Sofia + Park making out at the corner of the booth ----
Trigger: Sofia brought (PreEvening NUDGE landed) + slip 2 + _vTotal >= 15
+ _pTotal >= 15. Sofia is already at the booth from the start of the
evening (PreEvening passage handled the bring-along). This NUDGE fires
the make-out beat: Chen pivots Sofia closer to Park, excuses herself
to the bar with Reyes, comes back to find them at the corner. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The corner booth at the Cooper, Sofia next to Park, Chen at the bar with Reyes">>
<<set _firstTimeSofiaPark to ($ch2Events.fedsDrinksSofiaParkFired or false) is false>>
<<if _firstTimeSofiaPark>>
<<spendBiomass `setup.nudgeCost()` "feds-drinks-sofia-park">>
<<set $ch2Events.fedsDrinksSofiaParkFired to true>>
<<addBiomass 2 "feds-drinks-sofia-park">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Sofia and Park, the corner of the booth</div>
<div class="lab-location">The corner booth at the Cooper, two hours into the evening, Elena has just slid out and is at the bar-rail with Reyes, watching from the right angle</div>
<p>Elena reaches under the booth-table, sets her hand briefly on Sofia's knee, small private acknowledgement, friend-to-friend, the kind of nudge Sofia does not need translated, and Sofia slides three inches closer to Park on the bench without making it look like she has slid. Elena gathers her whiskey glass and stands.</p>
<<say "char-park" "Park">>
<i>(small clear half-laugh, eyes on Sofia who is now at the closer-end of the booth-bench than she was a minute ago, the off-clock register fully on)</i> Sofia, you and Elena have been friends for how long, exactly? You must have done something to deserve her.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, hand briefly on Park's forearm, the small unhurried register of a woman who has decided the next half-hour belongs to her)</i> Park. We met in graduate school. I have been doing things to deserve her ever since.
<</say>>
<<say "char-park" "Park">>
<i>(small surprised pause, the off-clock register registering Sofia's body warmth as a small private gift, the suppressed-attraction baseline pivoting fast as Sofia is closer-than-Elena-by-the-geometry-of-the-booth)</i> ...mm.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry from across the booth-table, whiskey rotating one slow turn, eyes briefly to Elena with the small private senior-agent acknowledgement of //I see exactly what you are doing//)</i> Sofia, tell Park about the time the Yates lab nearly got shut down over the smoke-detector thing, he has not heard the story and it is a good one.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, eyes briefly to Reyes with the small private acknowledgement back, hand sliding briefly along Park's forearm)</i> Reyes. You are setting me up to make Park laugh. I see what you are doing too.
<</say>>
<p>Sofia tells the smoke-detector story, full and unguarded, the small private warmth of a woman who has had a long week of her own and is now seven sentences into a story that has Park leaning a quarter-inch closer than the booth-geometry strictly requires, and Park leaning the corresponding quarter-inch on his side; within four minutes Sofia's hand is on the booth-table next to Park's, fingers casually overlapping; within six Sofia is laughing at something Park said with her hand briefly on his forearm and not coming back to her own side of the table.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Reyes, the small private register-shift of a colleague who has just installed exactly the geometry she wanted into the booth)</i> Reyes. I am going to go up to the bar and order us another round. Walk with me, I want to ask you something.
<</say>>
<p>Elena and Reyes slide out of the booth and cross to the bar-rail. Sofia and Park, alone on their side of the booth now, the geometry of the bench two-thirds collapsed already.</p>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-laugh at the bar-rail, looking back at the booth with the small wry register on)</i> Elena. You are good at what you do.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, ordering the round, eyes briefly to the booth, Sofia's hand on Park's thigh now, the angle of their faces dropping closer)</i> I have no idea what you mean, Reyes. I just thought my friend would enjoy meeting your colleague.
<</say>>
<p>Elena and Reyes stay at the bar for a slow eight minutes, the bartender is taking his time on the round, Reyes is letting him take his time, neither of them mentioning the booth. When they come back, Sofia has Park's jacket folded in her lap and Park's hand on the back of her neck, and they are quietly making out at the corner of the booth, closed-mouth at first, then not, with Sofia's hand on Park's thigh and Park's free hand briefly cupping the side of her face the way a man does when he has stopped pretending he is not into the woman next to him.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-sofia-park-kiss.webp" alt="POV from Elena's perspective at the bar-rail, looking back at the booth: Sofia, 38-year-old Latina woman with shoulder-length wavy dark hair and a small wool coat sliding off one shoulder, kissing Agent Park, 33-year-old Korean-American man with short black side-parted hair and a dark suit jacket off, one of his hands cupping the side of her face, her hand on his thigh visible under the booth-table edge. Open-mouth kiss, a half-finished beer and an empty whiskey glass on the table next to them. Documentary photography, candid, warm interior light.">
<<say "char-vasquez" "Sofia">>
<i>(small held breath, half-pulling back to look at Park's face for the length of one second, the small private smile of a woman who has decided)</i> ...I am not usually this fast, Park. You should know that.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh against her mouth, the off-clock register fully on, the apology-about-Lauren landing in his cortex and not making it as far as his mouth)</i> Sofia, we can, we can slow down whenever you want, or we can not slow down, whichever you want.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small wry, going back into the kiss, hand sliding up his thigh)</i> Mm, okay, not slow then.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(at the bar-rail with Elena, small senior-agent dry register, eyes still on the round arriving)</i> Elena. Park's wife is in Albuquerque.
<</say>>
<<say "char-chen" "Elena">>
<i>(small considered half-beat, the round arriving, picking up the tray)</i> Reyes, I know, so does Sofia, and she has had her own complicated stretch lately with her own situation. They will be fine, they are not going home with each other, they are just going to make out at the corner of a booth for forty-five minutes, and tomorrow they will both feel a little less alone for it.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry, taking his whiskey off the tray)</i> ...okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia and Park will spend the next forty-five minutes at the corner of the booth in a small private register Elena will not interrupt. Neither of them will go home with the other tonight. Park will go back to the hotel single with Reyes; Sofia will text Elena at one in the morning thanking her for the evening. The host has installed exactly the wedge she wanted into Park's marriage register without any of the consequences a bedroom-actual outcome would carry, Park's marriage stays intact in his cortex, the wife-and-daughter-in-Albuquerque thread continues to function as intended, but the suppressed-attraction baseline now has a competing thread (Sofia, the booth, the small private warmth of a forty-five-minute making-out beat) that the suppressed-attraction baseline did not previously contain. Tomorrow morning he is going to be unable to look directly at the host for a different reason than he would have been unable to last night. Sofia, meanwhile, has just deepened her own arc, the cologne thread on Andrés is fully active, the off-the-record kiss is filed under //I am not going to feel guilty about this and I am going to let myself want what I want for once//, and the conditioning collects a useful payload.//
<</say>>
<<if _firstTimeSofiaPark>>
<p><span class="biomass-gain">+2 biomass</span>, sustained sexual energy across the four-at-the-booth, the room-baseline elevated.</p>
<p><span class="biomass-gain">+1 max biomass</span>, Sofia and Park will both carry the corner-booth kiss as a private quiet thread from here on.</p>
<<conditioningFeedback "pheromone" 1 "Park, Sofia's hand on his thigh, body register softened past the marriage-default">>
<<conditioningFeedback "pheromone" 1 "Sofia, the off-the-record kiss deepens her own arc">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The bill, three goodbyes outside, the Corolla home|Ch2-Vessel-Event-FedsDrinks-Wrap]]</div>
/* ---- T2c — Sofia + Park penetrative + creampie in the alley,
Chen + Reyes in the background as cover/companions ----
Trigger: Sofia brought + slip 2 + _vTotal >= 15 + _pTotal >= 15.
Chen orchestrates the four-of-them stepping outside; Sofia + Park
pair off against one wall and escalate fast to penetrative sex,
ending in Park finishing inside Sofia (creampie). Chen + Reyes
stand against the deeper wall, drinks in hand, talking quietly,
present-but-not-engaged — the senior-agent-and-the-lab-contact
register sharing the small wry moment of letting two younger
colleagues have their privacy. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The back alley behind the Cooper, brick walls both sides, sodium street-light at the far end, the kitchen door of the bar closed">>
<<set _firstTimeAlley to ($ch2Events.fedsDrinksReyesAlleyFired or false) is false>>
<<if _firstTimeAlley>>
<<spendBiomass `setup.nudgeCost()` "feds-drinks-alley-nudge">>
<<set $ch2Events.fedsDrinksReyesAlleyFired to true>>
<<addBiomass 3 "feds-drinks-alley">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "reyes" "psionic" 1>>
<<set $suspicion.lab to Math.max(0, ($suspicion.lab or 0) - 1)>>
<</if>>
<</nobr>>
<div class="passage-title">The alley behind the Cooper · all four</div>
<div class="lab-location">A small downtown back alley, brick walls on both sides, the kitchen door of the bar at one end (closed for the night), the sodium street-light at the far end casting a long warm amber cone</div>
<p>Sofia and Park have been quietly making out at the corner of the booth for ten minutes now, Sofia's wool coat half off her shoulder, Park's hand at the back of her neck, Sofia's hand on his thigh under the table, and across the booth Elena elbows Reyes in the side, small but not gentle, and tilts her chin briefly toward the corner where the two of them are.</p>
<<say "char-chen" "Elena">>
<i>(eyes still on Reyes, a composed half-whisper, dry and amused)</i> You saw them flirting at the booth corner all evening, didn't you, Reyes, should we leave them alone for a bit? Looks like the kids want to have some fun without the senior agent at the table.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a low laugh, whiskey rotating one slow turn, eyes flicking across at Sofia and Park)</i> Elena, Park has a six-year-old at home and Sofia is older than I was the first time I got married, they are not kids.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, picking up her whiskey)</i> Tonight they get to be. Walk with me.
<</say>>
<p>Sofia and Park surface from the booth-corner kiss thirty seconds later, Sofia's lipstick mostly gone, Park's collar half undone, the flushed self-conscious look of two people who have just clocked how long they have been kissing in public, and they look across the booth at Elena and Reyes simultaneously, then at each other, then back at the table. Park makes the polite excuse first.</p>
<<say "char-park" "Park">>
<i>(small clear, voice deliberately almost normal, hand at the back of his own neck)</i> I, uh, I think I might step outside for some fresh air, the booth is, yeah, the booth is warm.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a clear low laugh, picking up her wool coat off the bench)</i> Mm, same here, the booth is warm, Park, I'll keep you company on the curb, the cab line at the front needs a look anyway.
<</say>>
<p>Sofia slides out of the booth with Park half a step behind her, neither of them looking at Elena or Reyes, and the two of them are out the front door of the Cooper inside thirty seconds. Elena catches Reyes's eye across the booth, the quick shared look of two people who have just been handed exactly the cover they were about to ask for, and Reyes returns it with a small half-nod.</p>
<<say "char-reyes" "Reyes">>
<i>(wry and low, picking up his whiskey, every movement unhurried)</i> Fresh air. The booth is warm. Elena, settle the tab, I'll wait at the door.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, sliding out of the booth)</i> Two minutes.
<</say>>
<p>Elena settles up at the bar, the bartender takes the card with the small private smile of a man who has been watching the booth for the back half of the hour and has decided to file the night under //downtown-after-dark, not my business//, and ninety seconds later Elena and Reyes step out of the Cooper into the cold downtown air. The front sidewalk is empty in both directions. Reyes glances at the corner of the building where it opens onto the alley, then back at Elena, the small senior-agent half-laugh on his mouth.</p>
<<say "char-reyes" "Reyes">>
<i>(small wry low, eyes on the alley-mouth)</i> The cab line is on the other side of the building from where they went, isn't it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-laugh, walking toward the alley)</i> Mm-hmm. Lead the way.
<</say>>
<p>Around the corner of the building into the alley behind it. The kitchen door at the far end is closed for the night. The sodium street-light casts a long warm amber cone from the far end toward them. The bar's small warmth is now forty feet of brick away. Sofia has Park backed against the closer brick wall already, two hands fisted in his lapel, mouth open against his, the wool coat half on the ground at her feet. She did not wait for Elena and Reyes to make it around the corner.</p>
<<say "char-vasquez-thought" "Sofia">>
<i>(small private interior, hands fisted in Park's lapel, the cold downtown air against her bare collarbone)</i> The alley air is cold and Park is warm under the suit jacket and Andrés is at home and I am not going to think about Andrés right now, Park is here, Park is married, Park is going home the moment the case closes and not leaving a number, and that is enough of a frame to put my mouth back on his.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(low against Park's mouth, hand at the buckle of his slacks, the quiet of a woman who has already decided)</i> Park. Yes? Yes.
<</say>>
<<say "char-park" "Park">>
<i>(strangled-low against her, every bit of the careful junior gone out of him, hands gripping her hips through the dress)</i> Sofia, //Christ//, yes.
<</say>>
<p>Reyes touches Elena's elbow, small senior-agent silent gesture toward the kitchen-door recess set four steps in on the opposite wall, where the sodium light does not reach and the brick deepens into a shadowed alcove. Elena nods. They cross behind Sofia and Park's backs low and quiet, Sofia is fully against Park, mouth on his, her back to the rest of the alley; Park's eyes are closed. Neither of them registers the pass. Elena and Reyes step into the recess of the kitchen-door overhang, lean their shoulders together against the deeper brick out of the sodium-cone, whiskeys low and held still so the ice does not clink.</p>
<<say "char-reyes" "Reyes">>
<i>(whisper-low at Elena's ear, whiskey held still, eyes on the two silhouettes in the sodium light)</i> She did not even wait for us to clear the corner. Look at her, she has him pinned to the brick already. Your friend does not do anything by halves, does she.
<</say>>
<<say "char-chen" "Elena">>
<i>(whisper-low, mouth close to Reyes's ear, eyes on Sofia)</i> Over a decade I have known her and I have never once seen this. All manners and dinner reservations at the lab, and out here she has got a married fed against a wall with his belt already open. ...god, look at her go.
<</say>>
<p>In the sodium-cone Sofia has Park's belt undone, works his slacks open, slides her hand inside, and Park's whole body jerks once against the brick. Sofia laughs against his mouth, low and clear, and the sound carries across the alley to the recess where Elena and Reyes are not making any of their own.</p>
<<say "char-reyes" "Reyes">>
<i>(whisper-low, a breath of a laugh held silent in his chest, eyes on the sodium-cone)</i> She has got a grip on him. Poor Park is hanging on for his life, he is not lasting thirty seconds with her hand doing that.
<</say>>
<<say "char-chen" "Elena">>
<i>(whisper-low, the wry tilt close at Reyes's ear, eyes on Sofia hiking her own dress up to her waist now, Park's hands sliding down to cup her ass)</i> He does not have to last, look at what she is doing, she is running the whole thing. He is just along for the ride.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(whisper-low, mouth a few inches from Elena's, the bourbon held perfectly still so the ice will not give them away)</i> Then we are agreed we never saw it. You and I are inside, settling a tab. We were never out here at all.
<</say>>
<<say "char-chen" "Elena">>
<i>(whisper-low, the small private grin she does not quite contain, eyes going back to the sodium-cone)</i> Mm. Never out here at all. ...now hush and watch.
<</say>>
<p>Across the alley Sofia and Park have re-aligned. Park has Sofia turned around now, palms flat against the brick, dress hiked to her waist, panties pulled to one side; Park is behind her, suit pants down at his thighs, hands on her hips. He slides into her in one slow press, Sofia's small clear half-gasp, head briefly back, hair falling forward against the brick.</p>
<<say "char-vasquez-thought" "Sofia">>
<i>(small private interior, palms scraping against the brick, Park's hands at her hips, the cold air on her bare thighs)</i> ...mm. Five years cohabiting and Andrés has not made me feel this since the first month, and Park is not even the man I am going to remember tomorrow morning, and that is exactly why this is working.
<</say>>
<video class="scene-video" src="media/video/feds-drinks-alley-sofia-park.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-alley-sofia-park.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-gasp into the brick, palms flat against the wall, hips pushed back to meet his)</i> Park, //fuck//, Park, don't be polite about this, just, //yes//, like that, exactly like that,
<</say>>
<<say "char-park" "Park">>
<i>(low against the back of her neck, the rhythm finding itself fast, hands tightening on her hips)</i> Sofia, //Christ//, you are,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-cry, hips pushing back to meet his next thrust)</i> Harder, Park, I am not going to break, //yeah//, like that,
<</say>>
<<say "char-park" "Park">>
<i>(strangled-low against her shoulder, the rhythm picking up, words coming half-formed)</i> Sofia, I, I have not done this in, //fuck//,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a clear laugh into the brick, wry even now, hips working back against him)</i> I can tell, Park, don't apologise for it, just keep going, exactly like that, keep going,
<</say>>
<p>The rhythm picks up. Sofia's small clear half-gasps carry across the alley with each thrust. In the kitchen-door recess Elena and Reyes are still and quiet, the deeper shadow holding them past Sofia's peripheral vision and past Park's closed eyes, both of them watching across the eight feet of brick and sodium light, neither of them moving. The whiskey ice has melted into the bourbon and is no longer clinking.</p>
<<say "char-chen" "Elena">>
<i>(whisper-low at Reyes's ear, eyes still on Sofia braced against the brick)</i> Listen to her. She is not even trying to be quiet, she does not care who hears, she just wants it. I have never once seen her want anything out loud in over a decade of knowing her.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(whisper-low return, mouth at Elena's ear, eyes fixed on the sodium-cone)</i> Park has found his rhythm. Watch, he stopped apologising about a minute ago, he is actually giving it to her now. ...and she is the one telling him harder. He is just doing what he is told.
<</say>>
<<say "char-chen" "Elena">>
<i>(whisper-low, the grin in her voice, very close at Reyes's ear)</i> Of course she is. She would run a board meeting exactly the same way. ...we are terrible, Reyes, standing here watching this.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(whisper-low, the low laugh held silent in his chest, eyes never leaving the two of them)</i> Terrible. Absolutely. ...I am not going anywhere, though. Are you.
<</say>>
<p>Across the alley Sofia comes first, the small clear half-cry into the brick, the involuntary tightening of her body around Park, the breath caught in her throat. Park's rhythm goes ragged on the next thrust and his head drops to the back of her shoulder, hand briefly white on her hip.</p>
<<say "char-park" "Park">>
<i>(strangled-low into the back of her neck, the rhythm fully gone now, just slow desperate strokes)</i> Sofia, I am, Sofia, I am about to, where do you,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-cry recovering into a half-laugh, palms still flat against the brick, hips pushed back to keep him deep)</i> Inside is fine, Park, I will take the morning-after tomorrow, just stay where you are, //yes//, like that, exactly like that,
<</say>>
<p>Park follows two thrusts later, the small held breath, the slow involuntary pulse of him releasing inside her, head briefly down at the back of her shoulder, hands white on her hips. Sofia laughs once, low, against the brick, the small wry sound of a woman who got exactly what she came outside for.</p>
<<say "char-park" "Park">>
<i>(strangled-low against her shoulder, hand briefly cupping her hip)</i> Sofia, //Christ//, Sofia, that was, I am sorry, I,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, head briefly back, hand reaching to cover his on her hip)</i> Park, stop apologising, I told you, I will pick up the morning-after on the way to work, we are fine. //Christ//, Park, that was the kind of fuck I needed, thank you.
<</say>>
<p>Park eases out of her. The small involuntary release of cum slides down the back of Sofia's inner thigh in a slow line, the alley sodium light catching it briefly. Sofia leans forward against the brick for a few breaths, then turns around, the dress still hiked at her hip, her hand briefly cupping Park's jaw.</p>
<<say "char-vasquez-thought" "Sofia">>
<i>(small recovered interior, forehead briefly against the brick, the cold downtown air against her bare thighs)</i> The cab home will be twenty minutes alone with this in my body. Andrés will be asleep when I get there, and tomorrow Elena will text me at noon and I will thank her, and that will be the end of it. Tonight was tonight, tomorrow is tomorrow.
<</say>>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-alley-sofia-creampie.webp" alt="Close-up POV: Sofia, 38-year-old Latina woman with shoulder-length wavy dark hair, leaning forward against a dirty red brick alley wall at night, dress hiked up around her waist, panties still pulled to one side, bare ass and upper thigh visible, a small slow line of fresh cum sliding down the back of her inner thigh in the warm amber sodium light, a single drop catching the streetlamp. Cold visible breath in the air. Urban back alley, weathered brick wall background. Documentary photography, candid, anatomically correct, uncensored, glamour photography, warm sodium light.">
<<say "char-vasquez" "Sofia">>
<i>(composed again, fixing the front of her dress and brushing the brick dust off her palms)</i> Park, fix your belt and your collar, Reyes is going to walk us all back inside in three minutes and I would rather not look like I just got fucked against a brick wall, even if the bartender already knows I did.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, working his belt closed with hands that are still slightly unsteady)</i> ...even though you absolutely did. Yeah, okay, the belt and the collar, boss is going to clock the tie too, isn't he.
<</say>>
<p>Sofia is fixing the front of her dress against the brick, palms still scraped from the wall, head briefly down to brush the brick dust off. Park is working his belt, then his collar, then the wedding ring back onto his finger. Neither of them looks back across the alley. In the kitchen-door recess Reyes touches Elena's elbow once, small senior-agent silent, and the two of them slip out of the recess low and quiet, retracing their path back along the deeper-shadow line of the opposite wall, around Sofia and Park's blind side, out of the alley-mouth onto the front sidewalk before either body in the sodium-cone has turned around. The cover holds. They were never there.</p>
<p>Elena and Reyes round the corner alone and walk back into the Cooper through the front door, slightly more flushed than when they left. The bartender looks up, clocks the cold-pink cheeks on the two of them, looks past them at the empty doorway behind them, draws no conclusions, returns to wiping down a glass. Elena settles back into the booth, Reyes orders a fresh round at the bar and brings the four glasses over himself, and the bar feigns its own continuation around the gap where two of the four bodies are still in the alley unaware that the gap has even closed up.</p>
<p>Five minutes pass. Sofia and Park come through the front door of the Cooper together, Sofia first, Park three seconds behind, both fully dressed and approximately composed, the cold air still on their faces. Sofia's lipstick has been re-applied by feel in the back-alley light; Park's tie is fractionally less crooked than it was when he started fixing it; both of them are walking with the small careful evenness of two people who do not want anyone in the bar to notice they had just had each other against a brick wall. They cross the floor and slide back into the booth, Sofia next to Elena, Park next to Reyes, under the entirely sincere impression that nobody but the bartender has the faintest idea where they were.</p>
<<say "char-reyes" "Reyes">>
<i>(dry and easy, sliding a fresh whiskey across the booth-table to Park)</i> There you are. Sofia, the wings showed up while you two were getting your air, Park, the bartender said the kitchen is closing in twenty.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a composed half-smile, taking the glass Elena slides across, holding it together past the cold-pink cheeks)</i> Reyes, the air out there is much better than the air inside. Highly recommend it.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, eyes briefly to Reyes, then briefly to the booth-table)</i> The air outside was, yeah, the air was good, boss.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Sofia next to her, hand briefly on Sofia's wrist under the table)</i> Mm. Sofia, the wings are still warm, eat something.
<</say>>
<<if $delveInfo and $delveInfo.vasquezSurface>>
<<say "char-vasquez-thought" "Sofia">>
<i>(small private interior, picking at a wing on the shared plate with hands that are still half-shaking from the alley, eyes carefully on the food and not on Elena)</i> The dress is straight. The lipstick is straight. The hair is straight. There is brick dust on my palm I cannot get off and Park's cum is going to be against the back of my thigh for the cab home, and nobody else at this booth has the faintest idea, and all I have to do right now is eat this wing like I have been at the booth the whole time. A decade of conference dinners and I have never had to compose myself this hard.
<</say>>
<p>Elena watches Sofia work her way through the composure ritual at the booth-table, the small careful straightening of the dress under the booth, the small careful chewing of the wing like every bite is on a public-record video, the eyes that very carefully do not look up at Elena, and a small private grin lands at the corner of Elena's mouth that she does not quite manage to hide behind her whiskey-glass. Sofia is the only one of the four who is going to clock the grin. Sofia clocks it from the corner of her eye. Sofia does not look up.</p>
<<say "char-vasquez" "Sofia">>
<i>(low into her whiskey, eyes still on the wing, pitched only to Elena)</i> Elena, you //knew// I was going to come back in here looking like this. //Stop// grinning at me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, hand briefly squeezing Sofia's wrist under the table, eyes briefly across to the two feds who are now arguing the case-strategy thread back to life)</i> Mm-hmm. Eat your wing, Sofia.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The alley moment installed exactly the wedge into Park's marriage and into the part of Sofia the marriage never gets to see. Park is now wired to Sofia in a way the marriage cannot route around, tomorrow morning he will text his wife the kind of //I love you// text he sends when he has just done something he is going to spend the next month not-thinking-about. Sofia's cologne-thread on Andrés deepens correspondingly, tonight's sleep imprint will compose itself around the brick wall and the cold air, and tomorrow morning she will look at Andrés over breakfast and quietly stop pretending he is the only version of her life. Reyes, meanwhile, was handed a simple test, would he let his colleague run the night, would he provide cover without being asked, and he passed it without comment. The host has installed Reyes as an ally rather than a target, and the wariness he carries toward the lab permanently drops a degree. The case will continue. The federal team is now compromised in a way its procedures have no answer for.//
<</say>>
<<if _firstTimeAlley>>
<p><span class="biomass-gain">+3 biomass</span>, sustained sexual extraction across the alley moment, two orgasms harvested at full proximity.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Park and Sofia carry the corner-booth thread, Reyes carries the alley.</p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, Reyes files the host as an ally, not a target.</p>
<<conditioningFeedback "pheromone" 1 "Park, penetrative sex with Sofia, the suppressed-attraction baseline rerouted past the marriage-default">>
<<conditioningFeedback "pheromone" 1 "Sofia, penetrative sex outdoors, the off-the-record arc deepens">>
<<conditioningFeedback "dream" 1 "Sofia, tonight's sleep imprint composes around the alley moment">>
<<conditioningFeedback "psionic" 1 "Reyes, host filed as an ally, not a target">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out to the parking lot, three goodbyes, the Corolla home|Ch2-Vessel-Event-FedsDrinks-Wrap]]</div>
/* ============ FEDS DRINKS — T3 OUTCOME PASSAGES ============ */
/* T3a Threesome · T3b Park full sex · T3c Reyes-Park-watching ·
T3d Bar orgy (second-visit ambush) · T3e Foursome. NSFW per
/explicit-scenes — full sex acts, dialogue density 1 exchange
per 200 words, characterful moans per speaker, foreplay before
penetration. */
/* ---- T3b — Chen + Park full sex at his hotel ----
Trigger: slip 3 + _pTotal >= 24. Reyes settles his own tab and
takes a separate cab to a different hotel floor (the bartender
pulls him aside about a small case-related observation he made
earlier — passive isolation mechanic). Chen drives Park back in
the Corolla; they go up to Park's hotel single (Reyes gets the
adjoining room re-keyed for the night, the senior agent's small
private courtesy). Foreplay — undressing, mutual-want
acknowledgement, the wedding ring removed and set on the
bedside table. Then the act. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Park's hotel single, Reyes corridor-isolated, Park's wedding ring on the bedside table">>
<<set _firstTimeFullSex to ($ch2Events.fedsDrinksParkFullSexFired or false) is false>>
<<if _firstTimeFullSex>>
<<spendBiomass 1 "feds-drinks-park-fullsex-nudge">>
<<set $ch2Events.fedsDrinksParkFullSexFired to true>>
/* Inline booking-reset triple — this passage skips Wrap and routes home. */
<<set $ch2Events.fedsDrinksFired to true>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<addBiomass 3 "feds-drinks-park-fullsex">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Park's hotel room · full sex</div>
<div class="lab-location">A mid-tier business-traveller hotel, the eighth floor, Park's single room with the king bed and the desk by the window, Reyes corridor-isolated by the bartender's small private gesture earlier</div>
<p>The bartender at the Cooper pulled Reyes aside as the three of them were standing, small senior-agent observation about a man who had been at the bar earlier and was //the kind of guy your team is probably looking at//, a small private case-relevant courtesy that took twenty minutes of Reyes's time to absorb. By the time Reyes was done, Elena had Park in her Corolla and was halfway across downtown toward the hotel. Reyes texted Park //got the adjoining room re-keyed, you have until morning, do not make this complicated for both of us tomorrow//, and Park did not need to ask what Reyes meant.</p>
<p>The hotel single is small, king bed, desk under the window, a narrow couch against the far wall. Park closes the door behind them and stands with his back against it for the length of one slow breath. Elena sets her bag down on the desk and turns around. She does not move toward him. Park does not move toward her. The eight feet between them holds for the count of four.</p>
<<say "char-park" "Park">>
<i>(small held breath, eyes on hers, the suppressed-attraction baseline fully on the surface, hand briefly to the wedding ring on his left hand)</i> ...Elena, I want to be honest with you, I do not do this, this is not a thing I do, and I have a wife at home I am about to stop thinking about for the night, and I am not going to be smooth about any of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, taking off her cardigan and setting it across the desk chair, the long grey cardigan sliding off her shoulders, t-shirt underneath)</i> Park, I don't need you to be smooth, I need you to be here. Take the ring off if it's going to bother you, or leave it on, whichever you want.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, the off-clock register fully on, working the wedding band off his left hand and setting it carefully on the desk next to her bag with the small private gesture of a man who is doing this thing he is doing)</i> ...okay. Okay.
<</say>>
<p>Elena crosses to him at the door. She sets her hand on the side of his jaw the way she did across the booth at the Cooper, eyes up at his, and kisses him, slow at first, the small unhurried register, mouth opening only when Park's does. Park's hands find her waist and stay there for the length of the first kiss; on the second, his right hand slides up under the back of her t-shirt, palm flat against the small of her back; on the third, both his hands are at the hem of her shirt and she is pulling it off over her head.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-fullsex-foreplay.webp" alt="POV from Park's perspective, looking down: Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, t-shirt being lifted off over her head, wearing a simple grey bra underneath, a small private smile, the warm hotel-room light at her back. Documentary photography, candid, anatomically correct, uncensored.">
<<say "char-park" "Park">>
<i>(small held breath at the bra-line, hands briefly stopping at her ribcage)</i> ...Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, working the buttons of his oxford open one-handed)</i> Mm. Keep going, Park. The bra goes too.
<</say>>
<p>The undressing takes four minutes. Park's oxford on the floor first, then his slacks (the belt buckle catches and he laughs at himself); Elena's bra unhooked from behind with the small unhurried competence of a woman who is not going to make Park do the bra-clasp negotiation; her jeans down and off, the simple grey cotton underwear underneath, the small unselfconscious cadence of a woman who is comfortable in her own skin. Park stops to look at her for the length of three full seconds before he lets her finish undressing him.</p>
<<say "char-park" "Park">>
<i>(small clear, eyes traveling, the off-clock register fully on)</i> Christ, Elena. You are, you are gorgeous.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hooking her thumbs into her own waistband and sliding the underwear down)</i> Mm. Park. The bed. Both of us, now.
<</say>>
<p>They cross to the bed. Elena lays on her back; Park kneels at the side of the bed first, hands on her thighs, the small clear careful gesture of a man who is going to make sure his partner is ready before anything else. He pushes her thighs apart and sets his mouth between them, the small unhurried oral gesture, tongue against her clit in a slow steady rhythm, two fingers sliding inside her, the unmistakable cadence of a man who knows what he is doing despite his earlier disclaimer.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-fullsex-oral.webp" alt="POV from Elena's angle looking down between her thighs: Park, 33-year-old Korean-American man with short black side-parted hair, kneeling at the side of the king bed, head between her thighs, his mouth on her, two of his fingers inside her, hands gripping her thighs, the warm hotel-room light over them. Documentary photography, anatomically correct, uncensored, glamour photography.">
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, hand sliding into Park's hair, hips lifting half an inch off the mattress)</i> ...mm. //Park.// Not bad for someone who says he does not do this. Don't stop.
<</say>>
<<say "char-park" "Park">>
<i>(muffled against her, voice vibrating)</i> //Mmh.//
<</say>>
<p>Elena comes the first time on his tongue, the small held breath, the slow build of the orgasm cresting, the involuntary tightening of her thighs against the sides of his head, the small choked half-cry of a woman who has not let herself want this from a junior federal agent for the entire week of his presence at her lab. Park gives her the slow ride down through the spasms with the small unhurried clinical patience that has him in the running for senior agent in a decade.</p>
<<say "char-chen" "Elena">>
<i>(small recovered half-breath, sitting up on the edge of the bed, pushing Park gently back so he is standing on the carpet in front of her)</i> Mm. Park. Your turn, sit on the bed, let me return the favour. You have been very patient.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, hands briefly at his belt, the off-clock register fully on)</i> Elena, you don't have to,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, working his belt buckle open before he can finish the sentence)</i> Park, I want to. Sit.
<</say>>
<p>Park sits on the edge of the bed. Elena kneels on the carpet between his thighs, hands sliding up the inside of his legs, fingers wrapping around him at the base. She holds eye contact for the length of one slow breath, then takes him in her mouth, the unhurried slide, lips wrapping around the head and going halfway down on the first bob, the wet warmth holding for a count of three before she pulls back and starts the slow rhythm.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-fullsex-bj.webp" alt="POV from Park's angle looking down: Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, kneeling on the hotel carpet between his thighs, her mouth on his cock, one hand at the base, the other on his thigh, eyes briefly up at his. Documentary photography, candid, anatomically correct, uncensored.">
<<say "char-park" "Park">>
<i>(small held breath, hand briefly at the back of her head, eyes briefly closed)</i> Elena, //fuck//, okay, that is, Christ, Elena,
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off briefly, hand still working the shaft slow, the wry warmth fully on)</i> Mm. Park. Quiet. Let me work.
<</say>>
<p>Elena takes him back in her mouth. The rhythm finds itself, half-stroke, full, half, full, wet sounds carrying in the warm quiet of the hotel single. Park's hand stays at the back of her head, not pushing, just resting. His other hand is fisted in the duvet. He is breathing through his nose with the careful control of a man who is trying to make this last.</p>
<p>Then Park's phone vibrates on the bedside table. The screen lights up: <i>Lauren</i>.</p>
<<say "char-park" "Park">>
<i>(strangled half-whisper, hand stilling at the back of her head, eyes wide on the screen)</i> Elena, //Elena//, it is, Christ, it is Lauren.
<</say>>
<p>Elena pulls off slowly. She does not let go of him. The eye contact she holds with Park is the half-smile of a woman who has already decided what is about to happen.</p>
<<say "char-chen" "Elena">>
<i>(low, hand still working the shaft slow, eyes locked on his)</i> Pick up.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-laugh, eyes still wide)</i> Elena, //I cannot//, she is at home, it is late there too, she only calls this late if,
<</say>>
<<say "char-chen" "Elena">>
<i>(composed half-smile, the hand at his base squeezing once, slow)</i> Park. Pick up the phone, or I stop right now. Your call.
<</say>>
<p>Park stares at her for the length of one slow second. The phone is on its third vibration. Then he reaches for it, swipes to answer, brings it to his ear.</p>
<<say "char-park" "Park">>
<i>(small clear half-breath, the on-clock work voice snapping into place over the off-clock arousal with the audible effort of a man holding himself together with tape)</i> Hey, hey honey. Yeah. No, I, I am fine. Just got back to the room. Long day.
<</say>>
<p>Elena takes him back in her mouth. Slow at first, the unhurried bob, lips sealing around the head, tongue flat against the underside. Park's eyes close briefly and he turns his face away from the phone speaker to keep his breathing off the line.</p>
<<say "char-park" "Park">>
<i>(strangled, voice pitched a half-step higher than normal)</i> ...mm-hm. Yeah. The, the case is, //Christ, gwh,// the case is going fine. Reyes is, Reyes is good. Mara was good today? <i>(small held breath as Elena takes him deeper)</i> Yeah?
<</say>>
<p>Elena does not slow. If anything she goes faster, the wet sounds louder now, the hand at the base pumping in time with her bobs. Park's free hand has found the back of her head again and is gripping her hair, not pushing, just holding on.</p>
<<say "char-chen" "Elena">>
<i>(muffled, mouth full)</i> //Mmh. Glnh. Mmh.//
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-whisper, the work voice cracking through every third word)</i> ...no, honey, no, I am, //fuck//, sorry, sorry, I just, <i>(coughs into his free hand)</i> something went down the wrong pipe. Yeah. Yeah, I am fine. <i>(small held breath)</i> ...the gondola? Yes. Yes, I told her, the gondola is a promise. Next year. Definitely next year.
<</say>>
<p>Elena takes him fully down, all the way to the base, eyes up at him as she holds it there. Park's free hand goes white on the duvet. His knees lock briefly. The breath he takes in is not subtle.</p>
<<say "char-park" "Park">>
<i>(strangled, almost a yelp, immediately swallowed)</i> ...//gnh//, sorry, honey, sorry, I, I think I am coming down with something. Yeah. Maybe. <i>(pause, eyes briefly to the ceiling)</i> ...no, no, I will. Promise. Yeah. Get some sleep. <i>(small held breath)</i> ...I love you too. Yeah. Goodnight.
<</say>>
<p>Park hangs up, drops the phone on the bedside table, and lets out the breath he has been holding for what sounds like the entire ninety seconds. Elena pulls off slowly, hand still working the shaft, the composed half-smile fully on her mouth.</p>
<<say "char-chen" "Elena">>
<i>(wry, voice pitched low)</i> ...you were saying she only calls this late if?
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-laugh, hand briefly over his eyes)</i> ...Elena. Christ. You are evil.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, standing up off the carpet, climbing onto the bed and settling back against the pillows)</i> Mm. Park. The bed. Now. I want you inside me, and this time the phone goes on do-not-disturb.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, reaching for the phone with one hand and flipping the side switch to silent, climbing up onto the bed over her, the off-clock register fully back on)</i> Yeah. Yeah, okay.
<</say>>
<p>Park slides into her in one slow press, Elena is fully wet from the oral, her body opens to him without resistance, his cock filling her in a single unhurried stroke that makes both of them exhale in the same beat. He holds the bottom-out for the length of three breaths, eyes on her face, the small private acknowledgement of //I am inside you, you are inside me, this is the thing we are doing// passing between them without anyone having to say it.</p>
<video class="scene-video" src="media/video/feds-drinks-park-fullsex-act.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-park-fullsex-act.webp"></video>
<<say "char-park" "Park">>
<i>(low against her ear, the small unhurried thrust starting up, the off-clock register fully on)</i> Elena. //Christ.// You are, you feel, //fuck//.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh, hands at his shoulder blades, hips rising to meet his rhythm)</i> Mm. Park. Slower. Make it last.
<</say>>
<p>Park slows. The unhurried thrust becomes a slow steady glide, full-stroke, bottom-out, half-stroke, bottom-out, the small careful rhythm of a man who has done this before with someone he loved and is now doing it with a woman he wants for separate reasons. Elena wraps her legs around the small of his back and angles her hips to meet him; the angle catches her clit on every down-stroke, the rhythm finds itself, the small steady build of the second orgasm starts laying itself in.</p>
<<say "char-park" "Park">>
<i>(small held breath, the rhythm holding, hand briefly on the side of her face)</i> Elena. I am, I am not going to last. Where do you, where do you want me to,
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, the second orgasm cresting, eyes on his)</i> Inside. //Inside.// It is fine, I will pick up the morning-after tomorrow. //Park//, fuck, yes, like that,
<</say>>
<p>The second orgasm hits her on the next down-stroke and Park follows three strokes later, both of them coming in the same overlapping spasm, the small held breath that becomes a low strangled groan against her shoulder, the involuntary tightening of her body around him, the slow pulse of him releasing inside her, the small unmistakable acknowledgement of two bodies finishing in the same beat.</p>
<<say "char-park" "Park">>
<i>(small recovered breath, forehead on her shoulder, weight briefly half-collapsed on her)</i> ...Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, hand in his hair, voice pitched low)</i> Mm. Park. Stay there. Don't move yet.
<</say>>
<p>They stay like that for the count of two slow minutes, Park half on her chest, both of them breathing each other's breath, the wedding ring on the desk catching the small lamp-light from the bedside. Eventually Park rolls off and they lie side by side on the king bed, the warm hotel-air recovering its temperature around them, and neither of them says anything for the next four minutes. Then Park does.</p>
<<say "char-park" "Park">>
<i>(small clear, hand briefly finding hers on the mattress between them)</i> ...Elena, I want to be honest with you, I have no idea what I will do with this tomorrow morning. I cannot un-do tonight, and I am not in a place where I can have done what I just did. And I am also not sorry.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-beat, eyes on the ceiling, hand briefly squeezing his back)</i> Park, you don't have to figure tomorrow out tonight. Reyes has the adjoining room re-keyed, you can sleep here without him on the other bed, and I am going to drive myself home in twenty minutes, the Corolla is in the lot, the Lauren-and-Mara thread continues exactly the way it was. Nothing tonight is on you to figure out.
<</say>>
<<say "char-park" "Park">>
<i>(small recovered half-laugh, the off-clock register holding even past the apology)</i> ...okay. Okay.
<</say>>
<p>Twenty minutes later Elena is dressed, the long grey cardigan back on over the t-shirt, jeans, the small unhurried competence of a woman who has done this kind of leaving before. Park is half-propped on the king bed watching her, the off-clock tiredness of a man who is about to fall harder asleep than he has in a long while fully on. Elena leans down, kisses him once on the corner of his mouth, picks her bag up off the desk, and lets herself out the door without saying goodnight.</p>
<p>The corridor is empty, the elevator is empty, the lobby is empty except for a night-clerk who does not look up. The hotel parking lot is half-full at midnight, Elena's grey Corolla is in the third row, gaffer-taped bumper catching the sodium light, the driver's-side door taking the second pull to open the way it always does. She slides in, drops the bag on the passenger seat, turns the key for the small unenthusiastic cough the engine gives on cold nights, cracks the window an inch for the air, and pulls out of the lot at the unhurried late-night cadence of a woman who has nowhere she has to be by any specific hour.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the wheel, the dashboard light on her face, downtown thinning out behind her toward Cedar Crescent, the wry private half-smile fully on)</i> ...Christ, that was fun. //"Just got back to the room, long day."// //"Something went down the wrong pipe."// //"I think I am coming down with something, honey."// He held it together. Mostly. <i>(small private half-laugh, fingers briefly tapping the wheel at a red light)</i> Lauren is going to call him again in the morning to check if he is feeling well, and Park is going to lie and lie again to her, his conscience and the post-nut clarity hitting him hard as a truck. <i>(small breath out, eyes briefly to the rear-view, downtown a fading-orange smear behind her)</i> ...hot, though.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Park's marriage is not going to register the night. Park's cortex is going to register the night every night for a long while. The conditioning compound that has been threading through the suppressed-attraction baseline since the conference room has now been validated by an actual orgasm in an actual hotel single, and I file the validated wiring as a permanent installation. Park will not be able to look directly at the host at the lab tomorrow, and the day after, and the day after that, and Reyes will clock the discomfort and choose to clock nothing past the surface of it. The case will continue. The investigation will continue. The host has installed a Park-shaped vector into the federal team's procedural baseline that the federal team's procedural baseline has no register for. The first night is the load-bearing one. The second time the host is alone with Park, she will not need him to apologise about Lauren first.//
<</say>>
<<if _firstTimeFullSex>>
<p><span class="biomass-gain">+3 biomass</span>, full sexual extraction, two orgasms harvested, the post-coital warmth.</p>
<p><span class="biomass-gain">+2 max biomass</span>, Park's body has handed over what his cortex was still pretending to guard.</p>
<<conditioningFeedback "pheromone" 1 "Park, full penetrative sex, the suppressed-attraction baseline now validated">>
<<conditioningFeedback "dream" 1 "Park, tonight's sleep imprint will compose itself around the host">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cedar Crescent, home, the night past undoing|Ch2-Vessel-Loop-Home]]</div>
/* ---- T3a — Threesome (Chen + Park + Reyes) ----
Trigger: slip 3 fired + Estrus on Reyes + _pTotal >= 24 +
_rTotal >= 24. Hotel single (Reyes + Park's shared room — the
canonical sleeping arrangement: two singles in one room).
Reyes in the chair with whiskey watching first; Park nervous
on the bed; Chen between them; Reyes joins after the first
round. Foreplay scaffold: arrival at the room, Reyes pours
three drinks, Chen undresses both, Park's wedding ring set
on the bedside table. Three-way dialogue throughout. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Reyes + Park's shared hotel single, eighth floor, the two king beds + the chair by the window">>
<<set _firstTimeThreesome to ($ch2Events.fedsDrinksThreesomeFired or false) is false>>
<<if _firstTimeThreesome>>
<<spendBiomass 3 "feds-drinks-threesome-nudge">>
<<set $ch2Events.fedsDrinksThreesomeFired to true>>
/* Inline booking-reset triple — this passage skips Wrap and routes home. */
<<set $ch2Events.fedsDrinksFired to true>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<addBiomass 4 "feds-drinks-threesome">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The hotel single · three of us</div>
<div class="lab-location">Reyes + Park's shared hotel single, two king beds, a chair by the window, a small bottle of bourbon Reyes brought from a previous case</div>
<p>The cab from the Cooper to the hotel takes nine minutes. None of the three of them speak in the cab. Reyes sits on the passenger side with the small senior-agent register on, Park sits in the middle, Elena sits on the driver's side. The cabbie does not ask questions. The hotel lobby is empty at quarter past eleven; the elevator to the eighth floor is empty; the corridor is empty. Reyes opens the door of the shared single and stands aside to let Elena and Park in, then closes the door behind them and turns the deadbolt with the small private senior-agent gesture of a man who has just decided what the next ninety minutes are going to be.</p>
<<say "char-reyes" "Reyes">>
<i>(crossing to the desk by the window, pulling a small bottle of bourbon out of the bottom drawer with the senior-agent's small private courtesy)</i> Park. Three glasses. The bathroom has the rocks tray. Elena, sit wherever you want. We have all night.
<</say>>
<p>Park brings three small hotel glasses from the bathroom; Reyes pours three fingers in each. Elena settles on the foot of the king bed nearest the window. Park sits on the edge of the bed beside her, the small clear nervous half-laugh on. Reyes hands them both their glasses, takes the chair by the window, and rotates the bourbon one slow turn in his hand the way he rotates the whiskey at the Cooper. All three lift their glasses.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass raised between them, eyes briefly to Park then to Reyes, the wry warmth fully on)</i> To the night the bureau is never going to know about, both of you, drink, then strip. Park, the wedding ring comes off first.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, glass raised, the small private acknowledgement of //the lady is in fact running this room// fully on)</i> To the night the bureau is never going to know about, Park, you heard her, the ring before the shirt.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, glass raised, the off-clock register fully on, eyes briefly to the wedding band on his left hand)</i> To the night the bureau is never going to know about. The ring before the shirt. Christ, Elena, you are not going to make this easy on either of us, are you.
<</say>>
<p>Three glasses clink together at the centre of the small triangle the three of them are standing in. Three slow swallows of bourbon. Then Park sets his glass on the bedside table and starts working the wedding band off his left hand.</p>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, settling into the chair by the window, bourbon in one hand, the off-clock register fully on)</i> I am going to sit in this chair for the first round, Park has not done this, I have not done this in twenty years, and Elena is the one who put us in this hotel single, so she gets to set the pace. Elena, set it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Park, eyes to Reyes, the second sip of bourbon landing slow)</i> Park, off the bed and on your feet, jacket off, oxford off, slacks last. Reyes, you watch from the chair until I wave you in.
<</say>>
<p>Park sets his jacket on the foot of the bed, works the wedding band off his left hand, sets it on the bedside table. He turns to Elena on the edge of the bed and she sets her bourbon glass on the bedside table next to the ring and pulls him in by the front of his shirt. They kiss, slow at first, the small unhurried register, mouth opening only when Park's does. Reyes watches from the chair, bourbon rotating one slow turn in his hand, the small senior-agent register fully on, eyes not leaving them.</p>
<<say "char-park" "Park">>
<i>(small held breath against her mouth)</i> Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return half-smile, working the buttons of his oxford open one by one)</i> Mm. The shirt, Park.
<</say>>
<p>The undressing takes six minutes. Park's oxford goes first, then her t-shirt, then his slacks, then her jeans. Park's bra is unhooked from the front and falls to the floor. Elena ends up fully nude on the edge of the bed in only her glasses; Park is in his boxers, fully erect, the small unhurried register-shift of a man who is now in the configuration he is going to remember for a long while. Reyes watches the whole undressing without speaking, bourbon rotating, the small senior-agent register holding past the off-clock baseline.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to Reyes across the room, the small private orchestrator register fully on)</i> Reyes, come here, the bed-edge, both of you.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, setting the bourbon glass down on the desk, crossing to the bed)</i> The bed-edge it is, Park, off the bed and on your feet at the edge with me, the lady is taking charge.
<</say>>
<p>Park slides off the bed and stands at the edge next to Reyes, both feds shoulder to shoulder facing the centre of the room. Elena slides off the mattress between them, lowers herself to her knees on the carpet, and reaches for both belt buckles at once. Reyes's slacks come undone first; Park's a beat after. Both feds' boxers come down to mid-thigh in the same motion. Both feds are fully erect by the time her fingers wrap around the first cock.</p>
<<say "char-reyes" "Reyes">>
<i>(low, hand briefly cupping the back of Elena's head, charcoal slacks down at his thighs)</i> Elena. Look up at me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes up at Reyes through her glasses, hand briefly tightening around Park's cock as she takes the head of Reyes's cock between her lips)</i> ...mm.
<</say>>
<p>Elena takes Reyes first, slow, unhurried, head bobbing in a small steady rhythm, lips fully sealed around the shaft, eye contact up at him through her glasses. Her left hand stays wrapped around Park's cock the whole time, slow steady pump. Park's hand briefly fists in her hair from the side. Reyes does not look away from her face once.</p>
<video class="scene-video" src="media/video/feds-drinks-threesome-double-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-threesome-double-bj.webp"></video>
<<say "char-park" "Park">>
<i>(strangled-low at her side, hand briefly white in her hair, eyes briefly to Reyes with the small private senior-junior acknowledgement)</i> ...Christ. Boss.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh low, the rhythm of Elena's mouth on him steady, eyes still on her face)</i> Park, easy, Elena knows what she is doing, let her work.
<</say>>
<<say "char-chen" "Elena">>
<i>(slurped pull-off the head of Reyes's cock with a wet `gwak` to switch to Park, lips slick, hand still on Reyes's shaft, eye contact briefly up at both of them through her glasses)</i> Mmh, gwak, schlrrp, boys, both of you taste different, gwak, Park, you are sweeter, Reyes, you are saltier, gwak, give me a minute to compare.
<</say>>
<p>Elena rotates, pulls off Reyes, takes Park into her mouth in the next breath, takes him deeper than she took Reyes; her right hand moves to Reyes's shaft for the slow steady pump while her mouth works Park. Three full rotations across the next four minutes, the soft wet sound of `gwak` and `schlrrp` carrying between her lips and whichever shaft she has just switched to. Both feds half-strangled at her sides, eye contact between them once, the small senior-junior acknowledgement that they are sharing something the bureau has no procedure for.</p>
<<say "char-chen" "Elena">>
<i>(muffled around Park's cock now, head bobbing slow, pulling off the tip with a wet `gwak` mid-sentence to thread the line through both of them)</i> Mmh, gwak, Park, you are not going to last, gwak, Reyes, you are going to last forever, I can tell already, schlrrp, both of you, do not pretend you are not enjoying watching me work this, I want to hear it.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-breath above her, hand briefly fisted in her hair from the side, eyes briefly to Reyes across her head)</i> Christ, Elena, yes, I am watching, I am, //fuck//, keep going.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low growl, hand briefly at Elena's chin, eyes still on her face)</i> Elena, the noises you are making down there are going to live in my cortex for a long time, Christ.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low, hand briefly under Elena's chin, easing her up off Park)</i> Elena. We are going to put you on the bed now. Both of us. On your back.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, lips swollen, eye contact up at Reyes)</i> Mm-hmm. Reyes. Yes.
<</say>>
<p>Both feds lift Elena onto the centre of the king bed, lay her on her back. Park climbs up on her left side, Reyes on her right; both feds bracket her, one elbow each on the mattress, both faces just above her chest. Elena's right hand finds Reyes's cock; her left finds Park's. Slow steady pump on both, simultaneous.</p>
<p>Reyes drops his mouth to her right nipple. Park drops his mouth to her left. Both feds suckle in the slow unhurried register, each on his side of her chest, the senior-junior parity briefly perfect. Elena arches off the mattress with the small clear half-cry of a woman with two mouths on her breasts and a cock in each hand.</p>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, head briefly back into the pillow, hands not stopping the slow pumps)</i> Both of you. //Both of you.// Christ.
<</say>>
<<say "char-park" "Park">>
<i>(muffled-low against her left breast, mouth on her nipple)</i> //Mmh.//
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low against her right breast, mouth briefly off the nipple)</i> Elena. The slow build was the long way around. Tell us when you are ready for the next part.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, hand briefly tight on Reyes's shaft)</i> Now, Park, on the bed first, I want you behind me; Reyes, in front. Both of you at the same time, yes?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, lifting up off her chest)</i> Yes.
<</say>>
<p>Elena rolls onto her hands and knees at the centre of the bed. Park kneels behind her on the mattress; Reyes climbs off the bed and stands at the edge in front of her face, charcoal slacks still down at his thighs. Elena takes him in her hand, pulls him toward her mouth, and the slow steady rhythm of the past minute repeats, but with Park behind her now, his cock at her entrance, sliding in on the first slow press.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-threesome-act.webp" alt="A hotel single, two king beds. Three figures on the nearer king bed: Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, kneeling on the bed with her mouth on Reyes's cock, eye contact up at his face; Special Agent Reyes, 52-year-old American man with predominantly salt-and-pepper hair, clean-shaven, charcoal suit pants down at his thighs, hand briefly in Elena's hair; Agent Park, 33-year-old Korean-American man with short black side-parted hair, behind Elena on his knees, hands on her hips, mid-thrust, fully erect penetration. Warm bedside-lamp light. Documentary photography, anatomically correct, uncensored, glamour photography.">
<<say "char-chen" "Elena">>
<i>(slowly taking the head of Reyes's cock in her mouth, eye contact up at him, hand at the base, the sound of Park settling in behind her registering against her hips)</i> Mmh, gwak, schlrrp, //Reyes.//
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low, hand briefly in her hair, the senior register fully on)</i> ...Elena, Christ, your mouth is,
<</say>>
<<say "char-park" "Park">>
<i>(behind her on the bed, hands on her hips, sliding into her from behind in one slow press, the small held breath at the bottom-out)</i> //Fuck//, boss, I am inside her, Elena, you are so fucking wet,
<</say>>
<<say "char-chen" "Elena">>
<i>(muffled half-cry around Reyes's cock as Park lands the bottom-out, the sound carrying out around the shaft)</i> Mmphh, gwak, //oh fuck//, schlrrp, both of you at once, mmh, gwak, Park, harder, gwak, Reyes, deeper,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry half-laugh, hand in Elena's hair, eyes briefly to Park over her head)</i> Park, yeah, Elena is taking both of us at once, Christ, look at her, watch what you say next, junior.
<</say>>
<p>The rhythm finds itself in the next minute, Park behind Elena, slow steady thrusts from her hips back into him; Elena with her mouth on Reyes, head bobbing in the matching rhythm; Reyes standing at the edge of the bed with the small senior-agent gravity fully on the dynamic, hand briefly tight in her hair every fourth bob. The three of them in the small private geometry of bodies the bureau has no procedure for, soft wet sounds carrying between Elena's mouth and Reyes's cock at every bob, and small involuntary moans landing under the wet sounds every time Park lands the bottom-out behind her.</p>
<<say "char-chen" "Elena">>
<i>(muffled around Reyes, mid-rhythm, hands going briefly white on his thighs as Park's thrust lands)</i> Mmh, gwak, //oh fuck//, Park, gwak, schlrrp, do not stop, //oh fuck//, Reyes, gwak, both of you, do not stop,
<</say>>
<<say "char-park" "Park">>
<i>(strangled-low from behind her, hand fisted at her hip, the rhythm holding)</i> Christ, Elena, //fuck//, boss, the way she is, Christ,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low growl, hand fisted in her hair, the senior register cracked all the way through)</i> Park, hold the rhythm, she is going to come on you in the next two minutes if you do not break it.
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off Reyes's cock briefly, voice muffled-recovered, hand still working the shaft)</i> Reyes. //Mmh.// Park is going first. I am going to come on his cock and then you are going to fuck me on my back. Yes?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low, hand cupping her jaw, the senior register fully on the order)</i> Yes.
<</say>>
<<say "char-park" "Park">>
<i>(strangled-low from behind her, hand fisted at her hip, the rhythm picking up)</i> //Christ//, Elena, you are so fucking tight, boss, I am, I am going to come, give me one more,
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, hips back into Park's, the second orgasm building)</i> Park, come inside me, yes, give it to me, all of it, do not stop,
<</say>>
<p>Park comes inside her on the next thrust, small held breath, slow involuntary pulse, hand white on her hips. Elena comes two beats after him, the second orgasm rolling through in the same overlapping spasm, her mouth briefly back on Reyes's cock to muffle the small half-cry. Park stays inside her for the count of three breaths, then slowly pulls out and rolls onto the bed beside her.</p>
<<say "char-park" "Park">>
<i>(small recovered breath, half-laughing, hand briefly on her thigh)</i> Boss, Christ, she is going to ruin me, I have nothing for you for the rest of the night.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry half-laugh, hand cupping Elena's jaw)</i> Then get out of my way, junior, Elena, on your back, my turn.
<</say>>
<p>Elena rolls onto her back at the centre of the king bed. Reyes climbs over her, the senior-agent gravity fully on the gesture, and slides into her on the next exhale, Park's cum and her own wetness easing the way. Where Park went slow, Reyes does not. The thrust he brings is the thrust of a man who has not had a partner in two years and has decided to spend the next twenty minutes catching up on every one of them.</p>
<<say "char-reyes" "Reyes">>
<i>(low against her ear, the rhythm finding itself, hand briefly fisted at her hip)</i> Elena, Christ, you feel even better than I have been telling myself you would, and I have been telling myself a lot since the first interview.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, legs hooking around the small of his back, hand briefly fisted in his hair)</i> Reyes, fuck, tell me what you have been telling yourself, do not edit it, give me the dirty version of every meeting we have had since the conference room.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low growl against her ear, hand briefly fisted in her hair, the rhythm building)</i> Every time you sat across that table with that calm in your eyes, Elena, I wanted to fuck the calm off your face exactly like this, and you are taking every inch of me like you have been waiting for it as long as I have, you absolute slut, look at you under me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-cry, head briefly back into the pillow, hands gripping the sheets at her hips)</i> //Fuck//, Reyes, yes, I am, harder, give me everything, I want all of it, do not stop,
<</say>>
<<say "char-park" "Park">>
<i>(half-sitting up against the headboard, watching, the off-clock half-laugh fully on)</i> Boss, Christ, that is honestly more than I ever needed to know about your career, but I am not going to look away.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry half-laugh against Elena's ear, the rhythm not breaking)</i> Then sit there and watch, junior, you just had her, the next twenty minutes are mine.
<</say>>
<p>The third orgasm lands on Elena on Reyes's eighth or ninth thrust, the unmistakable build of a body that has already come twice and is rolling into a third on the right cadence. Reyes follows two thrusts later, the slow involuntary pulse of two years of senior-agent control collapsing into one breath, hand briefly white on the headboard above her head, head briefly down at her shoulder.</p>
<<say "char-reyes" "Reyes">>
<i>(small recovered low growl, forehead at her shoulder)</i> ...Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand in his hair, breathing)</i> Mm. Reyes. You are, you are heavier than you look.
<</say>>
<p>Reyes laughs, full and unguarded, the small senior-agent register fully off the laugh for the first time the host has heard. He rolls off her, settles on the king bed on her left, the small unhurried post-coital warmth holding. Park is sitting against the headboard with the small wry half-smile of a junior agent who has just watched his boss come in his colleague and is going to file the night under //I am never speaking of this to anyone//. Elena settles between them, a fed on each side, the small private register of a woman who has just installed exactly the geometry she came to the hotel for.</p>
<<say "char-hivemind" "Hivemind">>
//The federal team is now compromised in a register the federal-team's procedural baseline has no procedure for. Park has been inside the host once tonight. Reyes has been inside the host once tonight. Both feds will go to bed in this single in this hotel and wake up at five-thirty tomorrow morning side by side with the host's body in the geometry between them. Tomorrow at the lab Park will not look at the host directly; Reyes will look at her too directly. The case will continue. The case will be marginally more difficult to prosecute against a person both feds have just shared a king bed with. The host has installed the load-bearing wedge into the federal-investigation register that I have been threading toward since the conference-room interview, and the wiring will hold for the rest of the investigation regardless of what happens between any of the three of them at the lab tomorrow morning.//
<</say>>
<<if _firstTimeThreesome>>
<p><span class="biomass-gain">+4 biomass</span>, three orgasms harvested, two senior-register-breaks in the same night.</p>
<p><span class="biomass-gain">+3 max biomass</span>, both feds will carry the same king bed in the same hotel single as a shared private memory neither can mention.</p>
<<conditioningFeedback "pheromone" 1 "Park, penetrative threesome, the validated wiring lands">>
<<conditioningFeedback "pheromone" 1 "Reyes, penetrative threesome, the senior register's two-year dry spell broken">>
<</if>>
<hr class="scene-break">
<p>Twenty minutes later Elena is in the driver's seat of the Corolla in the hotel parking garage, hands on the wheel, the engine just turning over. Both feds are still in the king bed eight floors up.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the small private register fully on)</i> ...Reyes ran the room exactly the way he runs a case-strategy meeting and Park took the orders the same way he takes them at the regional office. I was the meeting we were having.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin, head briefly back against the headrest, eyes briefly to the rearview mirror)</i> Tomorrow morning the two of them are going to walk into the lab and pretend nothing happened, and I am going to enjoy that more than I should. Apparently I am the kind of woman who needs both senior agents in the room before she finds the meeting interesting.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The Corolla home, both feds in the king bed, the small private register holding|Ch2-Vessel-Loop-Home]]</div>
/* ---- T3c — Chen + Reyes in the bar bathroom, Park catches them
---- The double-slip outcome. Trigger: double slip 4a + 4b +
Estrus on Reyes + NUDGE. Chen pulls Reyes to the small unisex
bathroom at the back of the Cooper; the door doesn't quite lock
(the host either left it unlocked deliberately or the latch is
loose); after a few minutes Park goes to "check on them" —
small private excuse, the suppressed-attraction baseline
driving the legs — and pushes the door open mid-act. Cuck-
register dialogue cascade: Chen's wry-quiet "you like watching",
Reyes's senior-low "this is what a real man does to a pussy,
take notes, Park". Park watches from inside the door, jerks off
in the doorway, finishes onto Chen's stomach next to where
Reyes already came on her. Returns to Wrap (NOT Loop-Home) —
the evening continues at the booth for the wrap-up. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The small unisex bathroom at the back of the Cooper, sink, mirror, fluorescent strip light, a door whose latch the bar has been meaning to fix">>
<<set _firstTimeReyesParkWatch to ($ch2Events.fedsDrinksReyesParkWatchFired or false) is false>>
<<if _firstTimeReyesParkWatch>>
<<spendBiomass 1 "feds-drinks-reyes-park-watch-nudge">>
<<set $ch2Events.fedsDrinksReyesParkWatchFired to true>>
<<addBiomass 4 "feds-drinks-reyes-park-watch">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The bathroom at the Cooper · Park finds them</div>
<div class="lab-location">A small unisex single-occupancy bathroom at the back of the Cooper, sink and mirror on the left wall, toilet on the right, a fluorescent strip-light overhead, the door's latch the kind the bartender keeps meaning to get fixed</div>
<p>Elena catches Reyes's eye across the booth, tilts her chin toward the back of the bar, and slides out of the booth without a word. Reyes follows ninety seconds later, the small senior-agent unhurried walk past the bar-rail, past the bartender, down the short corridor at the back of the room to the unisex bathroom door. Elena is waiting inside, leaning against the sink. Reyes pushes through, shuts the door behind him, presses the latch, small click, half-set, and turns toward her.</p>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent half-laugh, the charcoal jacket already coming off his shoulders, the off-clock register fully on)</i> Elena, the latch on this door is half-broken and the bartender is not going to fix it before last call, so I am going to assume you noticed and we are going to find out who walks in.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand reaching for the lapel of Reyes's shirt, pulling him a step closer)</i> Mm-hmm, I noticed, Reyes, and I have spent the last hour at the booth thinking about exactly which one of the two of you was going to find this corridor first, so come here and stop talking about the latch.
<</say>>
<p>Reyes closes the small distance between them and kisses her, hand at the side of her jaw, and Elena's hands find his belt and the buckle and the zipper of his charcoal trousers in the unhurried order of a woman who has unbuttoned senior-agent slacks in her head a few times tonight already. The kiss is the slow unrushed kind, the small wet sound of two mouths working out the rhythm carrying against the hum of the fluorescent strip-light overhead. Reyes's right hand slides up under the back of her t-shirt, palm flat against the small of her back, and his left finds the hem and lifts the t-shirt over her head in the same motion her hands free his cock from the front of his boxers. The bra is the front-clasp kind; he gets it off her one-handed while she strokes him slow against her bare hip.</p>
<<say "char-reyes" "Reyes">>
<i>(low against her mouth, the rhythm of the kiss not quite breaking, hand briefly at her ribcage)</i> Elena, you are going to forgive me, I have not done this in a craft-beer-bar bathroom since my second year on the job, and the version I was running through my head on the way down the corridor had a bit more room in it than this sink is offering.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh against his mouth, hand still pumping him slow, the wry register fully on)</i> Reyes, the sink will work with whatever you give it, and you have twenty-six years on the job behind you, you are going to figure it out, and I am going to be very kind about whatever you do as long as you do not stop in the middle of it.
<</say>>
<p>Elena's jeans go down next, the panties sliding off with them, and Reyes walks her two steps backward across the small bathroom and presses her into the tile of the back wall, the kiss not breaking, his weight against her body holding her there, his hand briefly leaving her ribcage to drop between her legs and find that she is already wet, the booth-air and the corridor and the kiss having done the foreplay he was about to do. On the next breath he hooks her right thigh up around his hip and lifts her, Elena's hands going to his shoulders for balance, her shoulder blades pressing flat into the cold tile, her left foot still on the floor for a half-second and then leaving it as Reyes takes her weight against the wall.</p>
<<say "char-reyes" "Reyes">>
<i>(low against her mouth, hand briefly at her thigh hooked around his hip)</i> Elena, eyes on me, I am going to want you watching me when this lands.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh against his mouth, hands at the back of his neck, the wry register fully on)</i> Mm-hmm, eyes on you, Reyes, and please do not make me wait through one more sentence about the layout of the room.
<</say>>
<p>Reyes guides himself in with the hand at her thigh and slides into her in one slow press, Elena's small clear half-breath, glasses briefly at an angle against his temple, hair falling against the tile. Reyes's rhythm picks up in the slow steady senior-agent thrust of a man who has been wanting this for the back half of the evening, his weight pinning her into the wall, her hands at the back of his neck for balance. Behind him the bathroom door has its half-broken latch only half-set, the kind of set that holds against a knock but not against a body leaning into the handle, and Reyes's back is to it.</p>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp against his mouth, eyes briefly closed)</i> Reyes, //Christ//, yes, exactly that, do not change a thing.
<</say>>
<p>The half-broken latch on the bathroom door gives without a click. The door swings inward two inches. Park is in the doorway, small frozen breath, eyes on what he is seeing, hand on the door-handle that is the only thing keeping him upright. The fluorescent strip-light catches every centimetre of what Park is looking at: Reyes's broad back, charcoal trousers down at his thighs, hips moving against Elena's; and over Reyes's shoulder, framed by the line of his neck, Elena's face, flushed, half-open, glasses askew, finds Park's directly the second the door moves. Park does not look away. He gawks, openly, hand on the handle, mouth half-open, the careful junior-agent register that has been holding all week sliding off his face in real time.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-reyes-park-watch-act.webp" alt="A small unisex bathroom at the back of a craft-beer bar, fluorescent strip-light overhead, plain tiled back wall. Composition framed from behind Park standing against the bathroom door fully clothed in a dark suit jacket, hand at the front of his slacks. In the centre: Special Agent Reyes, 52-year-old American man with predominantly salt-and-pepper hair (more salt than pepper), clean-shaven, charcoal suit pants down at his thighs, broad back to the camera, pinning Dr. Elena against the back wall with his hips against hers. Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, fully nude, shoulder blades pressed flat against the tiled wall, one leg hooked up around Reyes's hip, hands at the back of his neck for balance. Elena's eyes are visible over Reyes's shoulder, locked directly on Park (not on Reyes). Documentary photography, anatomically correct, glamour photography, multi-figure wall-pinned composition.">
<p>Reyes does not stop, the thrust holds in slow steady rhythm, and Elena's eyes hold Park's directly over Reyes's shoulder, the small composed half-smile lands at the corner of her mouth at the exact second Park's hand drifts to the front of his own slacks without him deciding to put it there.</p>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp against Reyes's shoulder, eyes locked on Park's directly over the line of Reyes's neck, the wry warmth fully on the gasp)</i> Park, the latch on that door is half-broken, the bartender has been meaning to fix it for a year and he has not, so you are going to step inside, close it behind you, and put your back against it, because what is happening against this wall is not a thing Reyes and I are going to perform for the rest of the bar, and you are going to come in and watch from there like you have been wanting to since the conference room first day.
<</say>>
<<say "char-park" "Park">>
<i>(small frozen breath, eyes on Elena's eyes over Reyes's shoulder, hand still at the door-handle)</i> Elena, //Christ//, okay, okay, the door, the door.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low against Elena's neck, the rhythm not breaking, eyes briefly back over his own shoulder toward the door)</i> Park, my friend, the lady asked you nicely and you are going to answer her, step inside, shut the door, and brace it with your back, because the latch is not going to do the work for any of us tonight and this is going to take another ten minutes you are going to want to settle in for.
<</say>>
<p>Park steps in, the door clicks shut behind him, and he braces it with his back the second the catch lands, shoulders against the wood, weight settled into the door-handle behind him, the small held breath of a man who has just been formally invited into a room he should not be in. The watching-line is now direct: Elena's eyes over Reyes's shoulder, Park's eyes back across the small bathroom, Reyes between them with his back to the door. Park's free hand goes to the front of his slacks the second his shoulders are settled against the wood, eyes locked on Elena's, mouth half-open, the gawk fully on with no junior-agent composure left to put on top of it.</p>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp on the next thrust, eyes still on Park's directly across the small bathroom, the wry register holding even through the breath)</i> Park, you have been polite about this all week, eyes on the lab folder and not on me, and you are going to drop the polite for the next ten minutes, because nobody in this room is going to grade you for staring tonight, and the only register I want from you is the honest one.
<</say>>
<<say "char-park" "Park">>
<i>(small strangled breath, back against the door, hand at the front of his slacks)</i> ...yes, Elena, the honest one, //Christ//, okay.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low against Elena's neck, the rhythm picking up the smallest fraction, eyes briefly back over his shoulder at Park)</i> Park-y, my guy, take notes from the back of the room, this is what twenty-six years on the job looks like when the senior agent finally lets himself have a night off the clock, and your hand stays exactly where it is on the slacks, the lady is the one running the room and she has not given you permission to take it out yet.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-breath, eyes on Elena's, hand staying at the front of his slacks)</i> ...yes, boss, hand stays.
<</say>>
<p>Park strokes himself through his slacks against the bathroom door, openly, the strip-light catching his face full-on, small held breath, eyes locked on Elena's over Reyes's shoulder, the careful junior-agent shell from the lab corridor entirely gone. Reyes does not slow the rhythm against the wall, and Elena's eyes do not leave Park's the whole time.</p>
<<say "char-reyes" "Reyes">>
<i>(low against her neck, hand briefly fisted at her thigh, the rhythm holding)</i> Elena, I am getting close, and I am not going to last another ten if you keep clenching like that.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-gasp, eyes briefly to Park and then back to Reyes's, hand briefly leaving the back of his neck to grip his shoulder)</i> Reyes, pull out and put it in my mouth, I want Park to watch the rest of this from the floor, and I want you to make him remember why the senior agent is the one who runs the room.
<</say>>
<p>Reyes pulls out on the next thrust, hand briefly at the small of her back, and lowers her down off his hip until her bare feet meet the cold tile. Elena sinks straight from his arms onto her knees in front of him. Her hand finds the base of his cock, her mouth opens around the head, and the oral rhythm picks up where the thrust-rhythm left off, slow and unhurried for the first three bobs, lips closed around the rim of the head, tongue flat along the underside, eye contact up through her glasses at Reyes. From the door, Park does not move and does not look away, hand still at the front of his slacks, mouth half-open, the gawk fully on his face.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-reyes-park-watch-bj.webp" alt="A small unisex bathroom at the back of a craft-beer bar, fluorescent strip-light overhead, mirror over the sink visible at the edge of frame. Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, fully nude, kneeling on the bathroom tile, mouth around the head of an erect cock, eye contact up through her glasses at Special Agent Reyes, 52, predominantly salt-and-pepper hair, clean-shaven, charcoal suit pants down at his thighs, hand briefly at the back of her head. Agent Park, 33, Korean-American man with short black side-parted hair, fully clothed in dark suit jacket and slacks, visible at the edge of frame against the bathroom door, hand at the front of his slacks, watching. Documentary photography, candid, anatomically correct, uncensored, glamour photography.">
<<say "char-chen" "Elena">>
<i>(muffled around the head of Reyes's cock, head bobbing slow, pulling off the tip with a small wet sound mid-sentence and going back down before the next word lands)</i> Park, gwak, schlrrp, //this//, gwak, is how a man should treat a woman, schlrrp, gwak, watch and learn, gwak, gwak, and you are going to remember every second of this, schlrrp, when you sit at the briefing tomorrow morning and try to pretend you do not.
<</say>>
<<say "char-park" "Park">>
<i>(small strangled half-breath, back against the door, hand fisted hard at the front of his slacks now, eyes locked on the back of Elena's head)</i> Elena, //fuck//, Elena, I am, //Christ//, I am going to remember this until I die.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent low growl, eyes briefly to Park's face in the mirror over the sink, the rhythm of Elena's mouth on him now driving him past the slow-and-unhurried pacing of the last ten minutes, hand finding the back of Elena's head and fisting in her hair)</i> //Christ//, Elena, okay, okay, you are going to get exactly what you just asked for, Park, eyes up here, junior, you are going to watch the senior agent run the room properly now.
<</say>>
<p>Reyes's hand fists tight in the back of Elena's hair, and the slow oral rhythm becomes his rhythm, he holds her head still and slides his cock past her lips into the back of her throat on the next thrust, the small wet sound of his hips meeting her chin carrying over the hum of the fluorescent strip-light. Elena's eyes water briefly behind her glasses, hands going to his hips for balance, the slow involuntary gag-reflex landing once and then settling as her throat opens for him. Park's hand is no longer pretending to stay at the front of his slacks, he has the zipper down, his cock out, fisted in his right hand against the bathroom door, eyes locked on the line of Elena's throat where Reyes is buried in her, the gawk now fully unguarded.</p>
<<say "char-chen" "Elena">>
<i>(muffled deep around Reyes's cock, hands at his hips, eyes briefly up at Park through the gag)</i> //Glnh, gwak, mmh, schlrrp//,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low senior-agent growl, hand still fisted in her hair, the rhythm of his hips meeting her face holding steady)</i> //Christ//, yes, Elena, exactly like that, Park, you take this back to the regional office tomorrow and tell yourself this is what you are going to be doing in twenty years if you keep at it.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-breath, hand pumping his own cock fast against the bathroom door, eyes never leaving Elena's face)</i> //Christ//, boss, Elena, //fuck//, okay, I am, I am going to,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low growl, hand still fisted in Elena's hair, the rhythm tightening at the base)</i> Park, hold it. The lady is the one running the room, you are going to come when she tells you to, and not a second before.
<</say>>
<p>Park holds it, hand still moving on himself but slower, eyes still locked on Elena's mouth around Reyes. Reyes thrusts twice more into the back of her throat and comes on the third, the small senior-register growl held low, hand briefly fisted hard at the back of her head, the slow involuntary pulse landing across the back of her tongue and pooling there. Elena holds it. She does not swallow. Reyes pulls back off her mouth, hand briefly cupping her jaw with the small unhurried tenderness of a man recovering from the senior-agent register he just spent the last fifteen minutes in. Elena sits back on her heels for the count of one slow held breath, then rises off her knees.</p>
<p>Elena crosses the bathroom to the toilet-lid where her clothes are folded, mouth still closed, and pulls her bra back on, then her t-shirt over her head, then her open grey cardigan over the t-shirt, the small unhurried clinical efficiency of a woman who is not going to walk back to a craft-beer-bar booth half-dressed with cum on her tongue and a federal agent watching her. She pulls her jeans up, fastens the button. The whole redressing happens in under thirty seconds. Reyes is working his suit-pants back up against the wall opposite. Park has not moved from against the bathroom door, hand still at the front of his slacks, eyes on Elena. Elena turns back to him and crosses the small bathroom in two steps.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, mouth closed, eyes on Park's, hand briefly cupping the side of his jaw)</i> Mm.
<</say>>
<<say "char-park" "Park">>
<i>(small clear, eyes on hers, hand briefly leaving the front of his slacks)</i> Elena. I, //Christ//,
<</say>>
<p>Elena leans up, slow and unhurried, and kisses Park open-mouth against the bathroom door. The kiss is the kind a wife gives a husband at the end of a long day, small unhurried, two faces close, the small private register of two people meeting each other halfway. Reyes's load passes between her mouth and Park's in the small private exchange of it without a sound. Park's small held breath. Park's hand briefly cupping the back of Elena's head. The kiss holds for the count of one slow second, then Elena pulls back.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-reyes-park-watch-kiss.webp" alt="A small unisex bathroom at the back of a craft-beer bar, fluorescent strip-light overhead. Two-shot at the bathroom door: Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, fully redressed in her grey t-shirt and open grey cardigan over jeans, leaning up against Agent Park; Agent Park, 33, Korean-American man with short black side-parted hair, dark suit jacket on, dress shirt and slacks still in place, fully clothed against the bathroom door, mid-kiss with eyes closed, mouths together open-mouth kiss. Park's hand briefly cupping the back of Elena's head; Elena's hand briefly cupping Park's jaw. Both fully clothed, the visual register reading like two colleagues on a private second-date kiss against a doorway, the cum exchange between their mouths is the load-bearing detail in the scene but is not visually shown. Documentary photography, candid, anatomically correct, glamour photography, intimate close-up.">
<<say "char-park" "Park">>
<i>(small held breath, eyes opening, hand still briefly at the back of her head)</i> ...Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand briefly at his jaw, eyes on his)</i> Mm-hmm. You just tasted both of us, Park.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small wry low from the wall opposite, working his suit-pants back up, the small private acknowledgement landing)</i> Park. Tomorrow morning at the regional office, neither of us is going to bring this up. Are we agreed.
<</say>>
<<say "char-park" "Park">>
<i>(small recovered half-laugh, hand briefly working through his hair, eyes briefly to Reyes's)</i> Boss. We are agreed.
<</say>>
<p>Elena turns to the sink, runs warm water, rinses her own mouth, the small unhurried efficiency of a woman who has done biology in tight bathrooms since grad school. Reyes is already dressed and at the door. The three of them are approximately presentable inside the next thirty seconds. Reyes pushes the bathroom door open; the corridor outside is still empty; the bartender is at the front of the bar wiping down glasses with his back to the corridor.</p>
<<say "char-hivemind" "Hivemind">>
//Park found them, Park stayed, Park watched the senior agent finish in the host's mouth, and then Park took the senior agent's load off the host's tongue in the small private exchange of a kiss against the bathroom door. He has tasted his boss's cum on the lab contact's mouth, he will route around the memory tomorrow at the regional office and the memory will route around the routing. The senior-junior pact at the sink is the only thing the federal team has to hold the geometry in place, and that pact is now load-bearing on the host's discretion. The wedge will hold for the rest of the investigation.//
<</say>>
<<if _firstTimeReyesParkWatch>>
<p><span class="biomass-gain">+4 biomass</span>, host on her knees plus senior-agent oral finish plus cuck-kiss cum-feed in the same fluorescent-lit minute, the cuck-multiplier on the yield.</p>
<p><span class="biomass-gain">+3 max biomass</span>, Park will not get the image of Reyes between Elena's thighs out of his head; Reyes will not get the host kneeling at his feet out of his.</p>
<<conditioningFeedback "pheromone" 1 "Reyes, penetrative sex into oral, the senior register's libido pathway fully bound">>
<<conditioningFeedback "pheromone" 1 "Park, Park watched, kissed Elena, took Reyes's cum between their mouths, the cuck-watching register validated through a kiss">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out to the parking lot, three goodbyes, the Corolla home|Ch2-Vessel-Event-FedsDrinks-Wrap]]</div>
/* ---- T3d — Bar orgy (second-visit ambush) ----
Availability: shows up on subsequent visits IF the first visit
had fedsDrinksSporesUsed = true AND fedsDrinksBiofilmUsed = true.
Trigger: re-cast Toxic Spores pheromone-channel on the second
visit (the SporesSpec chooser routes here when ambush primed).
Foreplay scaffold: undressing, three mains watching, customer
fondles Sofia/bartender, Chen on her knees touching a customer's
cock without a nudge, dialogue between the three before the
striptoast. Skips Wrap, redirects to Loop-Home. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The Cooper at quarter to ten, bar primed, all six other patrons + the bartender + the two feds + Chen all dosed past the line">>
<<set _firstTimeOrgy to ($ch2Events.fedsDrinksOrgyFired or false) is false>>
<<if _firstTimeOrgy>>
<<spendBiomass 2 "feds-drinks-orgy-spores">>
<<set $ch2Events.fedsDrinksOrgyFired to true>>
/* Inline the booking-reset triple so the orgy passage skips Wrap. */
<<set $ch2Events.fedsDrinksFired to true>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<addBiomass 4 "feds-drinks-orgy">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The Cooper · primed past the line</div>
<div class="lab-location">The Cooper at the second visit, the residue from before still in the booth-wood and the glassware, the room half a pheromone-dose past the threshold before Elena even opens her mouth</div>
<p>The dose lands on a room already at its tipping point, the substrate has been laying itself in for the time since the first visit, biofilm in the booth-table, on the rim of every glass the bartender has polished, on the bar-rail every regular leans on every shift, so the spores hit the air as the last small increment a primed room has been waiting for. Three seconds of nothing. The room shifts in one synchronised half-second, every body in it crossing the threshold at the same time.</p>
<<say "char-hivemind" "Hivemind">>
//The Cooper has been metabolising the host's leave-behind for the time between visits. The dose tonight lands on a substrate that has been quietly hungry. The room does not need to be pushed past the line. It has been leaning against the line for days.//
<</say>>
<p>The two regulars at the bar-rail turn toward each other and stop pretending they have not been, hands at each other's waistbands and mouths open against each other inside ten seconds, while at the back high-table one of the women undoes the buttons of her own blouse without taking her eyes off the woman across from her, her breasts coming out into the warm bar-light, the woman opposite watching with the small dosed half-laugh of someone who is no longer fighting it, and the two men at the same table stop looking at the women across from them and start undoing their own belts. The room cascades booth by booth, the small composed weeknight register dropping off every body in three concentric waves outward from the bar-rail.</p>
<<say "char-reyes" "Reyes">>
<i>(small institutional half-second, eyes briefly to Elena, eyes briefly to the bar-rail where the two regulars are now leaning into each other open-mouthed)</i> ...Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass of whiskey set down on the booth-table)</i> Mm. The room is, yeah.
<</say>>
<p>A man in his late forties walks past the booth on his way to the bar-rail, and his hand brushes Elena's shoulder, then the back of her neck, then her ass through her jeans, the small unhurried squeeze of a man who has stopped pretending the squeeze was an accident. Reyes watches it happen and does not move. Park's knuckles on the booth-table edge go white.</p>
<<say "char-park" "Park">>
<i>(strangled-low, eyes briefly to Reyes, eyes back to Elena)</i> ...Elena, should I, should we,
<</say>>
<<say "char-chen" "Elena">>
<i>(small half-laugh, the man's hand still briefly on the back of her thigh sliding up, her own breath catching at the contact, the architect register starting to slip a quarter-step under the dose)</i> Park, I am the one in charge tonight and you are going to sit down.
<</say>>
<p>The man's hand cups her ass once more, an open-palm slap that lands soft, and he keeps walking, while across the floor a woman is half on her partner's lap with her shirt up over her bra and his mouth at her neck, and at the back of the room the four-top has reconfigured into two pairs that are now into each other. The bar is one connected room of small dosed bodies finding each other. Park is hard, the slacks not hiding it, and Elena's eyes track down to his lap with the small clear acknowledgement landing at the corner of her mouth before she slides off the booth-bench to her knees on the dim floor under the booth-table.</p>
<<say "char-park" "Park">>
<i>(strangled, hand briefly fisted at the booth-table edge, eyes briefly to Reyes across the booth)</i> Christ, Elena,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low, eyes on Park with the small senior-agent half-second of //get on with it then//)</i> Park, sit still and take it, the lady has not asked for your permission and she is not going to.
<</say>>
<p>Elena's hands find Park's belt under the table, the slacks come undone in two unhurried motions, and his cock is against her cheek before her mouth opens around it, the small wet `mmh` carrying soft through the booth-board. Park's left hand goes to the booth-table edge and his right to the bench-back at the same time, head briefly back against the wood, and a soft `schlrrp` lands under the booth as Elena takes him deeper.</p>
<p>Above the table, Reyes is no longer watching Elena. The nude woman from the booth across from theirs, earlier she had her shirt up over her bra and her partner has since wandered off to the bar-rail, has slid one bench across, settled into the empty seat beside Reyes at his own booth, and his hand has gone to her bare ribcage as if the gesture has been agreed weeks ago. He fondles her openly, palm flat over her breast, the senior-agent half-pace fully on the touch, and the woman leans into the contact with the small dosed half-laugh of someone who is no longer fighting any of it.</p>
<<say "char-chen" "Elena">>
<i>(muffled around Park's cock under the booth, head bobbing slow, pulling off the tip with a wet `gwak` mid-sentence and going back down before the next word lands, the architect's voice cracked all the way through now)</i> Park, gwak, schlrrp, //fuck//, your boss is gwak, gwak, getting his hand on the woman at the next booth-bench, do not, schlrrp, drop the look, you are going to want to remember every second of what he is doing up there.
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-breath, eyes locked on Reyes's hand on the woman's breast across the booth, hand fisted hard at the booth-table edge, the off-clock register fully on)</i> //Christ//, boss, Elena, yeah, I am watching, I am, //fuck//, Elena, do not stop,
<</say>>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-bj-pov.webp" alt="POV from Park's perspective looking down past the booth-table edge: Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, kneeling on the dim floor under the booth-table, lips wrapped around the head of an erect cock, hand at the base of the shaft, eye contact up through her glasses. Tablecloth at the edge of frame. In the background visible above the table-edge: a fully nude woman seated beside a clean-shaven 52-year-old American man in a dark suit, his hand at her bare breast, the bar-room beyond out of focus showing other bodies paired or tripled across the floor. Primed orgy register, warm pendant lights. Documentary photography, candid, anatomically correct, uncensored, glamour photography.">
<p>The bartender comes over with a fresh whiskey for Reyes and a fresh beer for Park, sets them on the booth-table, and his eyes drift briefly downward, Elena's bra strap at the corner of the booth-edge, Park's hand at the back of her head, the soft wet sound from under the booth-bench. The small private quiet-and-watchful smile lands at the corner of his mouth, and he leans down to the booth at Park's elbow with the courtesy of a man about to ask a customer for a small favour.</p>
<<say "char-npc" "the bartender">>
<i>(low at Park's ear so the rest of the floor does not catch it, the polite-formal register fully on, the apron pushed aside)</i> Sir, the gentleman will forgive me for the interruption, but I am going to ask the lady's forgiveness, the till is short tonight, the kitchen closes in twenty minutes, and I have been at the bar for three hours watching this room earn its tilt. Would the lady consider tipping me in a different sort of currency than the one we usually take at the till?
<</say>>
<<say "char-chen" "Elena">>
<i>(slurred pull-off Park's cock with a wet `gwak` to look up at the bartender from under the tablecloth, lips slick, glasses fogged at the bottom edge, breath uneven, the architect's measured voice lost under the heat)</i> Bartender, yes, gwak, come down here, the booth is private enough for the kind of tip you are asking for, and I am not going to make you wait through one more polite sentence about the till.
<</say>>
<p>The bartender steps around the booth-edge, undoes his slacks at the corner where Park is still hard and exposed, and lowers himself to one knee at the booth-floor beside Elena. Elena turns her head a few inches to take him in her mouth without leaving Park entirely, her left hand stays on Park's shaft, her mouth opens around the head of the bartender's cock, and the soft wet rhythm picks up at the new shaft without breaking the stroke at the old one. Park's knuckles on the booth-table edge go white. Across the booth, Reyes does not look up from the woman beside him.</p>
<<say "char-chen" "Elena">>
<i>(muffled around the bartender's cock, hand pumping Park slow on the side, eyes briefly up at the bartender through her glasses, half-laugh slurred at the corner of her mouth)</i> Mm, gwak, schlrrp, both of you, then, and somebody is going to have to bring me a glass of water after, gwak, because two cocks at once is going to dry the throat.
<</say>>
<p>From across the bar, a second man, Black, late thirties, broad-shouldered, the kind of regular who knows the bartender by first name, has crossed the floor naked from the waist down with the small private nod of a stranger asking if-he-may. He stops at the booth-table corner opposite the bartender, lowers himself to the floor at Elena's right side, and the geometry shifts again: Elena kneeling at the booth-floor with Park's cock in her left hand, the bartender's cock in her mouth, and the new man's cock waiting at her right cheek for the next rotation. The bartender's hand finds the back of her head. The new man's hand finds her right shoulder. Park's hand stays on the booth-table edge and does not move.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-orgy-double-bj.webp" alt="POV from above looking down at the dim floor under and beside a craft-beer-bar booth at night: Dr. Elena, 32-year-old Chinese-American woman with slim dark-acetate rounded-rectangular glasses, kneeling, lips wrapped around the head of one erect cock with another erect cock at her right cheek waiting for the next rotation, hand on a third cock at her left side. Two of the cocks belong to Black men in their thirties (the bartender on the left with apron pushed aside, a second customer on the right) and the third belongs to a Korean-American man in suit slacks half-on (Park, seated at the booth-bench above her). Two pairs of dark-skinned hands at her head and shoulder, primed orgy register, warm pendant lights, the bar-room visible out of focus around the booth. Documentary photography, candid, anatomically correct, uncensored, glamour photography.">
<<say "char-chen" "Elena">>
<i>(pulling off the bartender briefly with a wet `gwak` to switch to the new man, hand still on Park, voice slurred and dirty, breath uneven, cum already at the corner of her mouth from the bartender)</i> Mmh, gwak, sir, gwak, tell me your name when this is done, schlrrp, because I am going to want to know the name of the man whose cock, //fuck//, is the one who finishes on my face when this rotation lands, gwak, gwak, keep going, both of you, do not stop,
<</say>>
<<say "char-npc" "the bartender">>
<i>(low strangled half-breath, hand fisted briefly at the back of her head, the polite-formal register breaking under the rhythm of her mouth)</i> ...Christ, ma'am, sorry, I cannot, //fuck//, I cannot answer politely while you are doing that, do not stop,
<</say>>
<p>The bartender comes ninety seconds later, small held breath, slow involuntary spasm, on Elena's right cheek and the corner of her mouth in a single overlapping pulse, the salt of it landing on her tongue. Elena smiles around the new man's cock, switches the rhythm without missing a beat, and the new man comes thirty seconds after the bartender, the second pulse landing on her left cheek and her chin in two slow shots. Park, untouched in the rotation since Elena's hand left him to take the bartender, comes a beat later in his own shaft against her left palm, the third pulse painting the back of her hand and her wrist. Elena smiles around the empty mouth. Two cocks softening at her cheeks, one at her hand, the small private quiet-and-watchful smile of the bartender holding at the corner of his mouth as he pulls back.</p>
<p>At the booth across the booth-table, Reyes has not finished, he is fondling the woman with one hand and unzipping his slacks with the other, his head turned away from Elena now, attention on the bench he is sharing. Park rises off the booth-bench, slacks undone the rest of the way, the off-clock register fully on his face, and his eyes meet Reyes's across the table for the first time since the room tipped.</p>
<<say "char-park" "Park">>
<i>(small clear, voice unlevel, hand briefly working through his hair, the careful junior-agent register entirely off, every word in his usual register dropped now, the dirty edge fully on)</i> Boss, are you seeing the redhead at the booth one over from us, the one with the half-circle of cocks at her face, I have not been able to look anywhere else for the last three minutes, and I am about to embarrass myself in my own slacks if I keep watching from this side of the floor without crossing over.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small low half-laugh against the woman's neck, hand briefly leaving her breast to gesture toward the redhead's booth, the senior-agent flat dropped entirely now, the dirty edge fully on)</i> Park, my friend, I have been watching the redhead work the half-circle for ten minutes and I have not had a mouth like that on me since the academy, so the answer to whether you should cross over is yes, and I am coming with you, because the gap at her right shoulder has my name on it and I am not going to keep watching from across the floor while she earns her drinks for somebody else.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, fully unguarded, the strangled-junior register that has been holding all week entirely gone)</i> Boss, let me say it plain, I am not on the clock anymore and I am not your junior agent tonight, I am just a guy at a bar who wants his cock in that woman's mouth, and I am going to walk over there before she finishes the rotation she is on.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small low laugh, hand on Park's shoulder briefly, the off-clock-friend register fully on)</i> Park, you and I have not been senior or junior anything since the bartender came on her cheek, let us go before someone else takes the gap at her shoulder and we end up watching from the wall.
<</say>>
<p>Reyes peels himself off the woman beside him, kisses the side of her neck once in apology, and stands. Park is already standing. The two of them cross the floor together to the redhead's booth, slacks undone, oxfords half-buttoned, off-clock register fully on both of them. They do not stop to ask. Reyes takes the gap at her right shoulder and Park takes the gap at her left, the half-circle now five wide, and the redhead pulls off the cock in her mouth with a wet sound to look up at the new arrivals.</p>
<<say "char-npc" "the redhead">>
<i>(wide-eyed and glassy, pupils blown out with the dosed register fully on, hand already going to Reyes's cock at her right and reaching for Park's at her left, lips slick, cum at her chin from the rotation before)</i> Mmh, gwak, yes, please, more, give me more cocks, gwak, come on my face, all of you, do not stop, please, schlrrp, give me everything you have got, please, more,
<</say>>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-orgy-blowbang.webp" alt="A small downtown craft-beer bar at night, primed orgy register, a near booth. A redhead in her late thirties, fully nude, hair down to her shoulder blades, kneeling on the booth-bench with multiple standing nude male customers around her in a half-circle: three original strangers plus the two federal agents (Reyes, clean-shaven 52-year-old American with predominantly salt-and-pepper hair, charcoal slacks down at his thighs; Park, Korean-American 33-year-old with short black side-parted hair, slacks down at his thighs) joining at her shoulders. Multiple cocks at her face level, her mouth on one cock, her hands on others, cum already across her cheek and chest, eye contact up at one of the men. Background out of focus showing the rest of the orgy-room. Documentary photography, candid, anatomically correct, uncensored, glamour photography.">
<p>The redhead settles them both in within sixty seconds, Reyes's cock in her mouth on the next breath, Park's cock at her hand for the rotation. The senior-junior glance across the bench-back lands again the way it had at the bar earlier, but the look on it tonight is the dirty-friend one and not the institutional one.</p>
<<say "char-park" "Park">>
<i>(low half-breath, hand at the back of the redhead's head as she takes him next in the rotation, eyes briefly to Reyes beside him at the half-circle)</i> Boss, look at this fucking slut, she is taking all of us and begging for more, I have never been in a bar like this in my life, Christ, the way she keeps her mouth open between cocks, she is loving every second of it.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low half-laugh, hand briefly fisted at the back of the redhead's head as she takes him deeper, eyes briefly to Park, the dirty-direct register holding)</i> Park, she is the kind of woman a bartender writes about in his notebook for years after, Christ, the way her tongue works the underside, I am going to come in the next ninety seconds and I am not going to apologize for it. You are next in the rotation, so do not finish in her hand before she gets her mouth on you.
<</say>>
<p>Across the floor at her booth, Elena wipes the bartender's cum off her right cheek and the new man's off her left with the back of her hand, picks her cardigan up off the booth-bench, and pulls it on over her bare breasts at half-length, the soft wet rhythm of the bar still going around her, every body paired or tripled, the warm hum of the pendant lights overhead. She watches Park and Reyes take the redhead at the half-circle from across the floor.</p>
<<say "char-chen" "Elena">>
<i>(wet half-laugh from across the floor, lips still slick, breath not fully back, the architect's register half-cracked-half-on)</i> Christ, the bar found itself.
<</say>>
<p>Reyes finishes on the redhead's chin in a single overlapping pulse a beat after the third stranger finishes on her chest. Park finishes thirty seconds later, on her cheek beside where Reyes already came, the half-circle painting her face in three new pulses on top of the three from the rotation before. The bar-rail couple is still going on round two. The back high-table has reconfigured into a five-way. The bartender is back behind the bar already, the small institutional gesture of a man wiping down a glass while an orgy continues at his bar, the small private smile holding at the corner of his mouth. Elena leans her hip against an empty booth-back across from the redhead's, watches the room finish, the small composed register settling back onto her own mouth a notch at a time.</p>
<<say "char-hivemind" "Hivemind">>
//The substrate produced its full payload. Multi-participant sustained-arousal harvest. The federal team is compromised in a register no procedural baseline has. Reyes has come inside a stranger in front of his junior agent. Park has come on the same stranger at the same booth. Both will file the night under //we do not speak of it again//. The agreement will hold. Tomorrow at the lab they will not be able to look at it directly. For the first time. The case will continue. It will be marginally harder to prosecute against people who have been in this geometry. The host architected the room. The room finished itself. The harvest is permanent.//
<</say>>
<<if _firstTimeOrgy>>
<p><span class="biomass-gain">+4 biomass</span>, multi-participant sustained orgy, host-blowbang harvest plus room-wide arousal compound.</p>
<p><span class="biomass-gain">+3 max biomass</span>, the bar will carry the after-hours register through several days of regulars, every body that walks through the room from here on a deeper warmth than the one before.</p>
<<conditioningFeedback "pheromone" 1 "Park, orgy-room exposure, the senior-junior agreement around shared infidelity lands">>
<<conditioningFeedback "pheromone" 1 "Reyes, orgy-room exposure, the senior register's libido pathway bound to the host's bar">>
<<conditioningFeedback "dream" 1 "Park, sleep imprint composes around the bar tonight">>
<<conditioningFeedback "dream" 1 "Reyes, same imprint, the senior register taking the same shape">>
<<conditioningFeedback "psionic" 1 "Park, cognitive thread bound to the host's room">>
<<conditioningFeedback "psionic" 1 "Reyes, same thread, the senior register validated">>
<</if>>
<hr class="scene-break">
<p>Elena redresses at the booth, bra, t-shirt, cardigan, jeans, the small unhurried clinical efficiency of a woman who is not going to walk out of a bar still going behind her half-undressed, and slips out the front door of the Cooper while the back high-table is still finishing its rearrangement. The Corolla is a block over. The driver's seat smells of the small worn-leather warmth of a car she has driven for years.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...the Cooper went off the rails tonight. Three regulars and the bartender and both feds and me, all in the same hour, like the bar had been waiting for a permission slip and somebody finally handed it over. I have never seen a room do that.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small bewildered half-laugh under her breath, eyes briefly to the rearview mirror at the Cooper's chalkboard sign one block back)</i> I had two drinks and somehow ended up on my knees under the booth with the bartender's cock in my mouth and a five-way going at the back high-table behind me, and I have no causal explanation for any of it. Maybe downtown bars on weeknights are a richer ecosystem than I had assumed. I am going to drive home and pretend that did not just happen, and decide tomorrow morning whether I believe it did.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The Corolla home, the Cooper still going behind her, one block back|Ch2-Vessel-Loop-Home]]</div>
/* ---- T3e — Foursome (Chen + Park + Reyes + Sofia) ----
Trigger: T2b Sofia setup pathway extended + slip 3 + Estrus on
Reyes + _pTotal >= 24 + _rTotal >= 24 + _vTotal >= 24. Sofia is
present at the booth (T2b setup fired earlier in the same
evening); the invite-back is a four-way. Two beds in the
shared single, rotating pair-offs across the act, dialogue
between all four. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Reyes + Park's shared hotel single, eighth floor, two king beds, four bodies">>
<<set _firstTimeFoursome to ($ch2Events.fedsDrinksFoursomeFired or false) is false>>
<<if _firstTimeFoursome>>
<<spendBiomass 6 "feds-drinks-foursome-nudge">>
<<set $ch2Events.fedsDrinksFoursomeFired to true>>
/* Inline booking-reset triple — this passage skips Wrap and routes home. */
<<set $ch2Events.fedsDrinksFired to true>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<addBiomass 5 "feds-drinks-foursome">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The hotel single · four of us</div>
<div class="lab-location">Still in the booth at the Cooper at first, then the back of a cab, then the eighth-floor corridor, then the shared hotel single with two king beds and four bodies past the line</div>
<<say "char-hivemind" "Hivemind">>
//Two pushes in the same second. The senior-agent control that has held Reyes for twenty-eight years collapses one direction; the engagement-to-Andrés restraint that has held Sofia's wedding-ring hand for half a decade collapses the other. Both bodies move before either cortex has signed off. Her hand is at Park's crotch under the tablecloth before she has decided that is what she is doing; Reyes leans across the booth-table toward Elena with the gesture of a man whose body has just taken the next two hours away from him without asking. Park gasps half-aloud. Elena, who has been waiting for the booth to do this since the third whiskey, gives all three of them a small private smile. The four-body geometry has installed itself.//
<</say>>
<<say "char-park" "Park">>
<i>(strangled half-breath, beer glass forgotten in his hand, eyes briefly down at his own lap where Sofia's hand has just settled, then back up to Elena's face across the booth)</i> ...Sofia, //Sofia//, Christ,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small private half-laugh, hand staying where it landed, palm flat against the front of Park's slacks under the tablecloth, eyes briefly across to Elena with the wry private "this happened by itself, did it not" warmth fully on)</i> Park. Hush. Drink your beer.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low across the booth-table, hand briefly catching Elena's wrist as she reaches for her whiskey, the senior-agent control cracked all the way through, voice pitched only for the booth)</i> Elena. We are leaving. The four of us. Now.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand briefly turning under his to lace fingers with him on the booth-table, eyes briefly to Sofia and Park then back to Reyes)</i> Reyes. Yes. Bartender, the tab, Park, settle your beer, Sofia, the coat is on the hook by the door. Cab to the hotel, all four of us.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, hand sliding back out from under the tablecloth reluctantly, the wry "did that just happen" register fully on)</i> ...Christ, Elena. This is what I get for showing up to your work bar on a weeknight.
<</say>>
<p>Reyes settles the booth tab in two minutes flat, federal-expense receipt signed without looking at the total, a folded fifty pressed into the bartender's hand with the small senior-agent <i>no questions</i> nod, his other hand on his phone calling the cab number above the door. The four of them collect coats. Sofia's hand finds the small of Park's back as they thread through the bar past the chalk-board. Reyes's hand briefly finds the back of Elena's neck at the door. Outside on the small downtown side-street the cold air is the half-second of recovery all four of them need. The cab pulls up forty seconds later.</p>
<p>Reyes opens the back door for the other three, slides into the front passenger seat, leans into the partition. Park gets the middle of the back bench. Sofia on his left. Elena on his right. The cab pulls away from the curb. Reyes hands the driver a folded twenty over the partition and tells him //take the long way, eighth floor, no questions//, and the driver does not turn around once across the next nine minutes.</p>
<p>Sofia does not wait. Her hand is back at Park's belt buckle by the time the cab clears the second intersection, the same buckle she had her palm on at the booth, the same belt that did not get re-thought between the bar exit and the cab door. Park's slacks come undone in the back seat under his folded jacket, and Sofia leans down across his lap with the wry unhurried register of a woman whose engagement has just let go of her body for the next two hours, mouth wrapping around the head of his cock. Elena turns Park's face toward her on his right side at the same moment, both hands cupping his jaw, and kisses him open-mouth, slow and unhurried, the kind of kiss that tells a married man nobody at this table is going to ask him for an apology tonight.</p>
<<say "char-park" "Park">>
<i>(strangled-low against Elena's mouth, hand briefly fisted in Sofia's hair, the off-clock register fully gone, the wedding-ring restraint not even in the back seat with him any more)</i> Christ, //Christ//, Elena, Sofia,
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-whisper against his mouth, hand on the side of his jaw, eyes briefly across the back of the cab to Reyes in the front passenger seat through the rearview mirror)</i> Mm-hmm. Park. You are fine. We have you.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(from the front passenger seat, eyes on the rearview mirror, the senior-agent register cracked but the practical-timing reflex still functional, voice pitched only for the back seat)</i> Park. Hotel is six minutes. Neither of you is finishing in this cab. Sofia, slow down. Elena, hold him up.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(pulling off Park briefly, hand still on his shaft, eyes briefly up at Reyes's reflection in the rearview, the wry "you can fuck right off, boss" warmth fully on)</i> Reyes. I have been told to slow down before. Both of those times by people I was not blowing in a moving vehicle.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a low laugh from the front, eyes going back to Elena's reflection in the rearview, a man who has plainly stopped trying to run the night)</i> Sofia. Six minutes. Make him last.
<</say>>
<video class="scene-video" src="media/video/feds-drinks-foursome-cab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-foursome-cab-bj.webp"></video>
<p>Sofia keeps Park on the edge for the next five minutes, unhurried, head bobbing in a steady rhythm, her free hand briefly on Elena's thigh in passing acknowledgement; Elena keeps Park's mouth busy with hers, the open-mouth kiss not breaking once across the cab ride. Reyes watches the rearview the whole time, his own erection unmistakable through his slacks at the front, hand briefly resting on his own thigh and not adjusting once. The driver does not turn around. The cab pulls up at the eighth-floor entrance of the hotel at five past ten.</p>
<p>The four of them get out of the cab and into the lobby with Park's belt re-buckled and Sofia's lipstick fixed in the cab-window reflection, the small unhurried public-facing composure of four people who have spent thirty seconds re-assembling on the curb and will spend thirty seconds dis-assembling at the door. The lobby is empty at quarter past ten. The night-clerk does not look up. The elevator is empty. Sofia's dress is half-unzipped at the side by the time the elevator doors open at the eighth floor; Park's tie is already off and folded over his arm. The corridor is empty. Reyes opens the door of the shared single, holds it for the other three, closes it behind them, turns the deadbolt, and the four-way decision-not-to-stop becomes the only thing in the room.</p>
<<say "char-reyes" "Reyes">>
<i>(crossing past the desk to the foot of the door-side bed, his own jacket coming off, belt already coming undone, the senior-agent register past the line where it normally locks down)</i> Elena is the choreographer. Park, the wedding ring is off. Sofia, your turn to take direction from the host whose lab I have spent the last week in.
<</say>>
<<say "char-park" "Park">>
<i>(small clear half-laugh, working the wedding band off without breaking eye contact with Elena, setting it on the desk next to her keys)</i> Boss, I am ahead of you on that one since the back of the cab.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear smile, the wry off-the-record register fully on, dress already coming the rest of the way off because she started on it in the elevator)</i> Reyes, I figured. Where do you want us, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, cardigan coming off over her head in one motion, eyes on Sofia and across to the two men)</i> Sofia and me on the bed, both of you between us, one bed tonight, yes?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a short laugh, conceding without a word that Elena has the room, his own belt already off)</i> Yes.
<</say>>
<p>The undressing takes four minutes. Sofia first, Park helps with the dress, Elena with the stockings; she ends up nude on the centre of the door-side king bed, hair fanned across the pillows. Elena second, her cardigan, t-shirt, jeans, all of it on the floor, settles onto the bed face-up with her head at Sofia's hips, Sofia's head at hers. Both feds undress at the foot of the bed simultaneously, watching the geometry the women are building.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh up at Sofia who is now straddling her, eyes briefly to the foot of the bed where Park and Reyes are still working belts)</i> Sofia, you take the top, I want both of them at once and the only way that works is if you are pressed down on me, you absolute slut, get up here.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, lowering her body forward onto Elena, hips sliding down to align with Elena's, the small wet shock of pussy-to-pussy contact landing for both of them in the same beat)</i> Christ, Elena, you have been waiting to call me that all evening, have you not, both of us at the same time, yes, give me your tongue and I will give you mine and grind on me until they are ready.
<</say>>
<p>Both women lock into the tribbing in the same second, Elena on her back, Sofia on top face-down, their bodies aligning chest-to-chest and hips-to-hips, their pussies pressing together with the small wet warmth of a contact neither of them has had with another woman before tonight, mouths finding each other in the same beat. The geometry locks. Park climbs onto the bed first, kneels at the foot of the bed behind Sofia, lifts her hips slightly off Elena's with both hands at her ribcage to give himself the angle, and slides into her from behind doggy, every thrust pressing Sofia's pussy back down against Elena's at the bottom-out, both women feeling Park's rhythm at the same beat through Sofia's body. Reyes climbs on second, kneels at the head of the bed behind Elena's pillow, takes Elena's jaw in one hand to tilt her face back over the edge of it, and slides his cock into her mouth from above. Four bodies on one king bed, vertically stacked.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-foursome-kiss.webp" alt="A hotel king bed at night, warm bedside-lamp light. Two women in tribadism on the bed: Dr. Elena, 32-year-old Chinese-American woman with slim dark-acetate rounded-rectangular glasses, lying on her back, dark hair fanned across the pillow; Sofia, 38-year-old Latina woman with shoulder-length wavy dark hair, on top of Elena face-down, body pressed chest-to-chest with Elena, both women's tongues touching mid-kiss between their open mouths. Behind Sofia at the foot of the bed: an anonymous male torso, lean build, no face visible (cropped above the top edge of the frame), his erect cock entering Sofia from behind in doggy position, his hands on her hips, mid-thrust. Documentary photography, candid, anatomically correct, uncensored, glamour photography.">
<<say "char-vasquez" "Sofia">>
<i>(half-gasp into Elena's mouth, hips grinding against Elena's pussy, hand briefly squeezing Elena's shoulder above as Park's rhythm from behind drives her own pussy harder down against Elena's)</i> Mmh, Elena, you fucking slut, your pussy on mine is, fuck, Park, harder, I can feel her getting wet under me, give me your tongue Elena,
<</say>>
<<say "char-chen" "Elena">>
<i>(muffled half-gasp around Reyes's cock above her, hands gripping Sofia's hips above her own to ride the grind, Park's rhythm landing through Sofia's hips into Elena's pussy below at the same beat Reyes's rhythm lands at the back of her throat above)</i> //Mmh. Glnh. Mmh.// <i>(brief pull-off, breath catching, eyes briefly up at Reyes then back down)</i> Sofia, //grind on me harder//, Reyes, //gwak//, //mmh//.
<</say>>
<<say "char-park" "Park">>
<i>(low at the foot of the bed, eyes briefly across the stack at Reyes, the rhythm holding, the wedding-ring-on-the-desk register fully gone)</i> Reyes, Christ, Sofia is so fucking wet, every thrust I drive in is grinding her down against Elena, both of them at once is going to finish me sooner than I want it to.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(low growl at the head of the stack, hand briefly fisted in Elena's hair, eyes back at Park)</i> Park, hold the rhythm, both of them are coming first, then we pull out and they get on the floor, Christ, Elena, you are taking me deep, you absolute slut.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-gasp against Elena's mouth, hips slapping against Elena's, the build cresting, the engagement-thread fully gone for the next ninety minutes)</i> Park, fuck, //harder//, I have not been fucked like this in a long while and Elena's pussy is grinding right back against mine, I am going to come on her, fuck, I am going to come right on her,
<</say>>
<p>Reyes's call holds. All four keep their rhythms steady across the next four minutes, Park driving Sofia from behind, every bottom-out grinding Sofia's pussy down against Elena's; Reyes thrusting into Elena's mouth from above; the two penetrative rhythms quietly syncing on the third minute the way the previous threesome found its sync. Both women's bodies ride the same shared beat through the build. Sofia comes first, the small unmistakable tightening of her body around Park's cock, the contraction grinding her clit against Elena's at the peak, half-cry against Elena's mouth; Elena follows fifteen seconds later, the contagion of Sofia's grinding orgasm crossing into her own pussy and her own throat full of Reyes, muffled choked half-cry around his cock. Both feds hold steady through both orgasms.</p>
<<say "char-reyes" "Reyes">>
<i>(small senior-agent low, hand briefly tightening in Elena's hair, the rhythm easing)</i> Park. Pull out. Both of you on the floor. Now.
<</say>>
<p>Park slides out of Sofia; Reyes pulls his cock from Elena's mouth. Sofia rolls off the top of Elena and onto the bed beside her. Both women slide off the foot of the bed and lower themselves to their knees on the carpet at the bedside, side by side, faces close together, mouths open, eyes up at the camera that doesn't exist, just at the two feds standing in front of them, fully erect, both hands at their own shafts.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile up at Park, mouth open, lips slightly parted, eyes briefly to Sofia next to her)</i> Park, both of you, on us, same place.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-smile up at Reyes, mouth open, eyes briefly to Elena next to her)</i> Reyes. Yes.
<</say>>
<p>Both feds finish on the women's faces in the same fifteen-second window, Reyes first, Park three seconds later. Cum lands on Elena's left cheek and her chin and across her mouth and the lens of her glasses; cum lands on Sofia's lips and her right cheek and a single stripe across her nose. Both women hold steady through both finishes, mouths open, the small wry composed register fully on, eye contact briefly between them through the cum on their faces.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-foursome-cumshot.webp" alt="Tight close-up POV from above, looking down at two women's faces side by side. Right: Dr. Elena, 32-year-old Chinese-American woman with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, kneeling on the carpet, face tilted up at the camera, mouth open with lips slightly parted, fresh white cum across her left cheek, her chin, the corner of her mouth, and a streak across the lens of her glasses. Left: Sofia, 38-year-old Latina woman with shoulder-length wavy dark hair, kneeling on the carpet next to Elena, face tilted up at the camera, mouth open, fresh white cum on her lips, her right cheek, and a single stripe across the bridge of her nose. Both women have small wry composed half-smiles, eye contact directly up at the camera, faces close together side by side. Warm bedside-lamp light from above. Documentary photography, candid, anatomically correct, uncensored, glamour photography, two-figure tight close-up cumshot composition.">
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, hand briefly cupping the side of Elena's face, careful not to wipe the cum, eye contact between them)</i> Elena, you absolute fucking slut, you had every second of this sketched out in your head from the moment I walked into the Cooper, and I am still going to thank you for it in the morning.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand briefly squeezing Sofia's wrist back, eyes still up at the two feds)</i> I did, Sofia, and you took every second of it like you have been waiting for it for a year, both of you, hand us a towel.
<</say>>
<<say "char-park" "Park">>
<i>(small recovered half-laugh, the off-clock register fully on, crossing to the bathroom for towels)</i> Yes. Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two wedges installed in the same hotel single, the same night. Sofia has the post-Park comparator now, and the Andrés thread will compound on its own across the rest of her arc. Park's marriage went down in that bed. So did the senior-junior line that kept the two agents in their lanes, and Reyes crossed it beside the memory of a wife two years dead without flinching at either. The wiring will hold regardless of what any of them say to each other at the lab tomorrow. The largest single-evening yield since the breach.//
<</say>>
<<if _firstTimeFoursome>>
<p><span class="biomass-gain">+5 biomass</span>, four-participant sustained sex, multiple orgasm cascades across two king beds.</p>
<p><span class="biomass-gain">+3 max biomass</span>, Park, Reyes, and Sofia will all carry the king bed and the second bed as a single permanent thread none of them can untangle.</p>
<<conditioningFeedback "pheromone" 1 "Park, full sex with Sofia, the cross-friend wedge installed">>
<<conditioningFeedback "pheromone" 1 "Reyes, full sex with Sofia + Elena, the senior register doubled-down">>
<<conditioningFeedback "pheromone" 1 "Sofia, cross-fed-and-friend kiss consummated, the off-the-record register validated">>
<</if>>
<hr class="scene-break">
<p>Forty minutes later Elena is in the driver's seat of the Corolla in the hotel parking garage, Sofia in the passenger seat next to her, both of them showered and re-dressed in clothes that had been folded over a chair eighty minutes ago. Sofia's heels are off and in her lap. Both feds are still in the king bed eight floors up.</p>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-smile from the passenger seat, head briefly back against the headrest, eyes briefly to Elena)</i> Elena. We are not going to speak about this for a month, are we.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes on the parking-garage exit, key turning in the ignition)</i> No, we are not. The next time we have wine together you are going to bring it up and I am going to pretend I do not remember the specifics, and you are going to laugh at me until you choke.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clear half-laugh, head briefly down, hand briefly squeezing Elena's on the gearstick)</i> ...Christ, Elena. Yes. That is exactly how this is going to go.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hand briefly back at the wheel, the small private register fully on, eyes briefly to Sofia in the passenger seat)</i> ...Sofia and I just took both feds in a hotel single. We finished side by side on our knees while they came on our faces. Over a decade of conference dinners and lab corridors with her and tonight we knelt for the same orchestration.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small private grin, eyes briefly to the rearview mirror, the parking-garage low-light catching the corner of Sofia's smile in the passenger seat)</i> Tomorrow morning Sofia is going to text me a single emoji at noon and I am going to text back a single emoji and that is the entire conversation about it for the next month. Sofia, you //are// in fact that kind of friend now.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Drive Sofia home, then home, the small wry register holding|Ch2-Vessel-Loop-Home]]</div>
/* ============================================================
SUNDAY NIGHT SHIFT — weekend night shift at BioGenesis.
Entered from the Sunday morning hub (monday-evening.twee).
Chain: SundayNightShift (arrival + Sofia + Decon)
→ -Labwork (GEN-46 biomap, GEN-47 bis)
→ -Vialsort (reagent rack minigame, no timer + give-up)
→ -Vialsort-Win / -Vialsort-Fail
→ -Hub (skill-check hub) → sleep → Dream-Entry → DayAdvance
First shift plays the federal-mandate exposition; later Sundays
play the short recurring intro (gated on sundayNightShiftDone).
============================================================ */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-ashtray-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'ashtray'; })>>
<</if>><</nobr>>
<div class="passage-title">The evening pack-tap</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen, Balcony Door</div>
<p>Eight-forty. Dinner-plate rinsing in the sink, coffee mug from the morning on the dishrack, the dishwasher going through its quiet third cycle. Elena has the cigarette pack in her hand and is two steps from the balcony door, the standard after-dinner walk-out, the lean against the railing with one arm crossed under the other, the slow burn through one cigarette while the dusk comes down on the building across the street. The routine has fired without her thinking about it; she is at the door before she has decided to be at the door.</p>
<p>Her hand is on the door handle. She is about to slide it open. And then, somewhere at the back of her chest, the same small wrongness from the morning rises again, a small interior pull, a feeling that she could go out and have the cigarette and it would be fine, and a feeling that she could also <i>not</i>, and the second feeling is the one the body is voting for.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-ashtray-l2.webp" alt="Elena at the inside of a sliding glass balcony door in a small kitchen, hand on the door handle but not opening it, cigarette pack visible in her other hand, the moment of not going outside, warm yellow kitchen lamp light, blue dusk through the glass">
<<say "char-chen-thought" "Elena">>
<i>(at the door, hand on the handle)</i> ...mm. I'll have it later. Or actually, I'll just have one before bed if I want one. I don't really want one right now, do I?
<</say>>
<p>She doesn't slide the door. She turns, walks back to the kitchen counter, sets the pack down beside the toaster. Pours herself a glass of water instead. The balcony door stays closed; the cigarette stays unlit. By the time she has carried the water to the couch she has half-forgotten she was about to go out, and the <i>before bed</i> cigarette she promised herself does not get lit either.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the couch, glass of water on the coffee table, the TV remote in her hand without the TV on yet)</i> ...kind of cold out anyway, and the smell sits in the cardigan all night, it's a whole thing, and honestly the one at lunch wasn't great, and the one I had on the break tasted kind of stale, maybe the pack's gone off, maybe I should switch brands for a bit, Camels or something, just to reset the palate. There's tomorrow. I'll have one in the car on the drive in.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The second pack-tap of the day rerouted. Two of the three daily smoke-windows are now ceded; the parking-lot and lunch cigarettes are still firing, but the body is registering them as //slightly off//, a small revulsion-thread my edit planted in the taste-receptor pathway, just enough to shift the //yes// to //yes but...//. The narrative-organ is reaching for //the pack has gone stale// to explain the diminishment. The explanation will hold tonight and dissolve by morning, replaced by a fresh non-explanation. The brain is being given the //I'll have one later// permission slip and is signing it without reading.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- ASHTRAY L3 — the pack is still sealed ---------------- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-ashtray-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'ashtray'; })>>
<</if>><</nobr>>
<div class="passage-title">The pack is still sealed</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom</div>
<p>Eleven-twelve. Elena is sitting on the edge of the bed in pajamas, brushing out her hair with the cheap wide-toothed comb, the bedside lamp throwing a warm circle on the side of her face and the corner of the duvet. The day is closing the way her days close, laptop on the dresser, alarm set, the small last admin of an apartment lived in alone.</p>
<p>Her free hand reaches for the pack on the bedside table. The reach is autopilot; it is the hand-that-knows-where-the-pack-is reaching, the way her hand has reached every night, the way it reaches without consultation. She picks the pack up by feel and brings it into her lap without looking at it.</p>
<p>Then she does look at it.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-ashtray-l3.webp" alt="Elena in pajamas sitting cross-legged on a rumpled bed, holding a still-cellophane-wrapped sealed pack of cigarettes in both hands, looking down at it with dawning recognition, warm bedroom lamp light, intimate end-of-day moment">
<p>The pack is sealed. The cellophane is unbroken. The little gold pull-tab is sitting where the factory put it. This is not the half-empty pack she has been working through. This is the new pack she bought at the corner store, the one she put on the bedside table to start once the old pack ran out.</p>
<p>The old pack is, she looks at the bedside table, the old pack is not on the bedside table. She gets up, looks on the windowsill where the ashtray sits. The old pack is there, beside the ashtray, with three cigarettes still in it. The ashtray is empty. She brought a new pack to bed last night assuming the old one was almost done.</p>
<p>She sits back down on the edge of the bed with the sealed pack in her hand and the comb forgotten in the other.</p>
<<say "char-chen-thought" "Elena">>
<i>(slow, the realisation arriving in pieces)</i> Wait. Wait, I... when did I last have one? I had one this morning, didn't I, I... no. No, I... the morning was the pause-thing, I told myself I'd have one with coffee and I didn't. And then at the lab I... I didn't smoke at lunch. Did I smoke after the meeting? No, I went straight to my office. The drive home? No, I'd already... and I was going to have one on the balcony after dinner and I didn't, I came in for water instead.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(setting the comb down, both hands now on the sealed pack)</i> Holy shit. I haven't smoked all day.
<</say>>
<p>She holds the sealed pack in her lap. The cellophane catches the lamp light. Outside the bedroom the apartment is quiet and the building is quiet and the windowsill ashtray is empty in a way the windowsill ashtray has not been empty in years. The realisation is small and large at the same time. She is not euphoric about it; she is not even particularly proud. She is mostly just <i>noticing</i>.</p>
<<say "char-chen-thought" "Elena">>
<i>(turning the sealed pack over in her hands, looking for an explanation that fits)</i> Maybe it is the stress from the federal team kicking my appetite around, or the fact that I have been generally weird lately, the headaches, the noticing-things-in-mirrors, the half-feeling I am coming down with something. Or maybe it is just the change of season doing what the change of season does to a body that does not get enough sleep. Or maybe, and this is the thought I do not want to land on, because if it lands I have to take it seriously, maybe I just decided. People do. Sofia did, one evening in undergrad, and that was it for her, she has never had one since. Maybe it is that.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(quietly, to herself)</i> ...I think I'm quitting. I think... actually, I think I'm just done. I think that was... it.
<</say>>
<p>She puts the sealed pack down on the bedside table. Pulls the duvet back. Gets into bed. The pack will sit on the bedside table all night and tomorrow morning her hand will not migrate to it; her hand will go straight to the alarm clock. The cigarette routine has ended somewhere in the past sixteen hours and she has only just been informed.</p>
<<say "char-hivemind" "Hivemind">>
//The host's noticing-system has just filed the absence of the cigarette as //I am quitting//, not as //the cigarette was rerouted by an external agent//. The framing has held for the full day. The pattern is now self-narrated. The smoking ritual is closed, and the second extraction window the dream-edit opened at dawn now has the host's waking endorsement under it. The body's permission slip is signed and dated.//
//Sixteen hours of nicotine withdrawal she did not register as withdrawal because she was not aware she was withdrawing. The body did the work. The host gave the body credit. The wiring is permanent.//
<</say>>
[[Lights out|Ch2-Vessel-Loop-Home]]
/* ---- SINK L2 — the dinner plate -------------------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-sink-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'sink'; })>>
<</if>><</nobr>>
<div class="passage-title">The dinner plate</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Sink</div>
<p>Eight-twelve. Dinner is finished, a plate of rotini in the cheap red sauce from the jar at the back of the cabinet, eaten standing at the counter while she scrolled the news on her phone. The plate has the streaks of red where the pasta sat. Standard end-of-meal: the plate gets carried to the sink and dropped on top of whatever is already there, to be dealt with on a future day that has not yet arrived.</p>
<p>Her hand carries the plate to the sink and does not drop it. The hand turns the tap on, runs water over the plate, picks up the green-yellow sponge that lives behind the faucet, scrubs the red streaks off in eight or ten seconds. Sets the clean plate on the rack beside the morning's mug. Wipes the sponge against the basin rim, sets it back on its perch.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-sink-l2.webp" alt="Elena at her kitchen sink in a long grey cardigan, holding a sponge and rinsing a single white dinner plate with red sauce streaks under running water, soft warm kitchen light, dishrack visible to the side with the morning's mug already on it">
<<say "char-chen-thought" "Elena">>
<i>(rinsing the sponge, looking at the plate on the rack)</i> ...sauce dries like cement if you leave it overnight. Easier to get it now while it's still wet. Honestly the basin's almost empty for once, no point starting a new pile.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(drying her hands on the dish towel)</i> The kitchen looks... okay. It looks okay. Huh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The end-of-meal plate routed to the dishrack instead of the basin. Two of the day's three dish-events, the morning mug and the dinner plate, are now on the rack drying. The basin contains, currently, two items. The rim of the basin is visible. The dishrack is in active use. The narrative-organ is filing the change as //I had a sane week and the kitchen is doing okay//, which is not what is happening but is close enough that the brain is signing the explanation without reviewing the signature.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- SINK L3 — less of a problem than it was ------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-sink-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'sink'; })>>
<</if>><</nobr>>
<div class="passage-title">Less of a problem than it was</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Doorway</div>
<p>Ten-forty. Elena on her way to the bedroom, glass of water in her hand, the apartment lights mostly already off behind her. She passes the kitchen doorway and her body, on its own initiative, stops her in the doorway. Her free hand finds the doorframe.</p>
<p>The kitchen is, simply, clean. Not deep-clean, not company-clean, but clean. The basin is empty. The dishrack holds three items drying. The sponge is wrung out and back on its perch. The drainboard is dry. The counter near the sink is wiped. The stovetop is wiped. The little stainless-steel kettle on the front-left burner is sitting where it was put back this morning. The kitchen is the kitchen of a person who handled herself today.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-sink-l3.webp" alt="Elena standing in her kitchen doorway in pajamas with a glass of water in one hand and the other hand resting on the doorframe, looking at her clean kitchen, empty sink basin, dishrack with three clean items drying, wiped counters, soft warm overhead light, intimate end-of-day moment of someone realising their kitchen is in order">
<p>The small ambient shame she has carried whenever she walked past the kitchen at night for as long as she has lived in this apartment, the low hum of <i>I should deal with that, I should clean that, I should be the kind of person who cleans that</i>, is not there.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the doorframe, looking)</i> ...mm, the kitchen actually looks fine, the way other people's kitchens look fine without anyone making a project of it, and I am standing here in my own doorway taking a small private compliment on it which is, honestly, the kind of small private compliment I have not paid my own apartment in a long time.
<</say>>
<p>She pushes off the doorframe and starts down the hall toward the bedroom, slowly, the glass of water still in her hand. The small good feeling from the doorway has not stayed at the doorway. It has come down the hall with her, expanding into something larger, something that wants to be looked at directly instead of glanced past.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-down the hall, slowing without quite deciding to slow)</i> ...you know what, I think I am actually doing alright at the moment, like, generally. The kitchen is in working order, I have been keeping on top of things in a way I have not for a while, I went to the corner store today and did not hate the experience, the work-stuff is awful but I am running it and not collapsing under it. I think this is what doing-alright looks like on me, and I think it has been quietly doing-alright for a little while now and I just have not been clocking it as such.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the bedroom door, hand on the knob)</i> I have had a fairly sane week somehow, and I would quite like to keep having one, the rinse-the-mug-as-it-happens thing stays, the wipe-the-counter-on-the-way-past thing stays, that is the version of me running the apartment now and that version can keep going. This is, apparently, the new me. The one who handles things. Okay. Okay, sure, I can be her.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's noticing-system has just registered the absence of a load it has carried for years and reframed the absence as her own work. The cortisol curve flattens overnight, every night, from this point forward; the dawn-cortisol spike loses one of its loading-points; I extract the difference.//
//More importantly: the host has just generated a self-narrative I did not have to plant. //I am the version of me that handles things// is now the dominant identity-frame in her cortex. From this point on, every nudge I drive, every tongue slip, every small intervention I plant will be filed by her noticing-system as //the new me trying things// rather than as out-of-character disruption worth investigating. The most expensive piece of conditioning I have yet acquired in this host has just been built by the host out of one clean kitchen and a slow walk down a hallway.//
<</say>>
[[To bed|Ch2-Vessel-Loop-Home]]
/* ---- STOVE L3 — she actually cooks ----------------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-stove-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'stove'; })>>
<</if>><</nobr>>
<div class="passage-title">Onion in oil</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Stove</div>
<p>Seven-twenty. The corner store earlier got her a yellow onion, two cloves of garlic, a jar of crushed tomatoes, a small bag of dried penne, a bunch of basil, the basil she does not strictly need but picked up on instinct. She has not made pasta from scratch ingredients in this apartment. She does not remember the last time she made pasta from scratch ingredients in any apartment. The body has gone shopping for them anyway and is now at the stove with a wooden spoon and the cast-iron skillet from the lower cabinet on the front-left burner.</p>
<p>The onion is diced. The oil shimmers. The diced onion goes in. The smell rises through the apartment, sweet, faintly sharp, the smell of a kitchen that is being used as a kitchen, and Elena pulls a stool from the counter to the stove, sits on it, leans an elbow on her knee, and stirs.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-stove-l3.webp" alt="Elena sitting on a kitchen stool pulled up to the stove in a long grey cardigan, stirring a cast iron skillet of sautéing diced onion with a wooden spoon on a lit gas burner, soft warm kitchen light, jar of crushed tomatoes and a bunch of fresh basil on the counter beside her, intimate domestic moment of someone actually cooking">
<<say "char-chen-thought" "Elena">>
<i>(stirring, watching the onion go from white to translucent)</i> ...vegetables were going to go bad. And honestly the takeout the other night was twenty-two dollars for, what, four bites of bad pad thai. This is going to take twenty-five minutes and cost six dollars and actually taste like food.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(adding the garlic, the smell turning the corner from sweet to fragrant)</i> Why have I not been doing this. I used to do this. I used to like doing this. The kitchen is right there.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(crushed tomatoes going into the pan, the wooden spoon scraping the bottom)</i> Honestly this is what I should be doing. It's faster than ordering. It's... yeah. Yeah, I'm cooking again. Apparently.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The kitchen is being used as a kitchen for the first time in this apartment's residency. The body is producing a real meal from real ingredients in approximately the same time window the host would normally have spent waiting for delivery, and the host is filing the act as //I am cooking again//, present continuous, identity-load-bearing, instead of as //I cooked once tonight//. The pattern is now self-narrated. The grocery-and-cook routine is now in active competition with the takeout-and-microwave routine. The cooking pattern will win because the body now has a story it likes about itself.//
//Cooked meals yield more useful metabolic returns than microwaved containers. The host's body is now operating at a measurably higher nutritional baseline, and I am metabolising the difference.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ============================================================
BEDROOM DREAM-PHASE FRESH PAYOFFS — evening slots
Three habit dimensions (vanity, wardrobe, shelf) × three
progress levels. Evening slots: vanity L2 (the chemist
delivery), wardrobe L1 (the blouse from the back of the
closet), wardrobe L3 (donating the cardigan stack), and
all three shelf levels (paperback / e-reader / streaming).
============================================================ */
/* ---- VANITY L2 — the chemist delivery -------------------- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-vanity-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'vanity'; })>>
<</if>><</nobr>>
<div class="passage-title">The chemist order</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom, Vanity</div>
<p>Eight-twenty. Elena brings the small cardboard box from the entryway to the bedroom and sets it on the vanity, peels the tape, opens it. Foundation in the right shade for once, a new mascara, a small palette of three blushes she picked off a recommendation in a forum a few hours ago, a fresh tube of the lipstick she already had, and a tinted lip balm for the days she does not want to commit to colour. She did not plan to buy any of this when she sat down with the laptop after dinner. The order had assembled itself while she was answering Sofia's text and put itself through checkout while she was putting the kettle on.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-vanity-l2.webp" alt="Elena seated at her bedroom vanity in pajamas, unboxing a small cardboard chemist delivery, foundation, mascara, blush palette, lipstick, lip balm, laying the items out one by one on the vanity surface in a soft warm side-lamp light, the small private satisfaction of someone restocking their own care">
<p>She lays the items out one by one in the small free corner of the vanity, the corner she cleared earlier in the week without quite remembering when. Foundation, blush, mascara, lipstick, balm. The arrangement is the same arrangement she used to keep, before the federal team and the bench and the year that ate the rest of it.</p>
<<say "char-chen-thought" "Elena">>
<i>(unboxing the mascara, looking at the brush)</i> ...mm. Honestly the old one was a fossil, the bristles were splayed, I have been getting raccoon eyes for months and pretending I had not been getting raccoon eyes for months. This is... yeah. About time.
<</say>>
<p>Her phone is open on the vanity beside her hand. Sofia, the standard mid-evening check-in.</p>
<<say "char-vasquez" "Sofia">>
<i>(text)</i> dinner survived?
<</say>>
<<say "char-chen" "Elena">>
<i>(thumbing the reply with the mascara still in her other hand)</i> just unpacked a chemist order. apparently I am replacing my whole face. you may have caused this.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(reply)</i> finally. wear the burgundy lipstick tomorrow, I have plans for you
<</say>>
<<say "char-chen" "Elena">>
<i>(half-smile to herself)</i> what plans
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(reply)</i> bullying you in the cafeteria all morning. wear it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's evening-laptop window is now seeded with small replenishment-purchases routed through her own body. The cortex registers the order as //I had been meaning to//, which is true at the surface, because the body had indeed been meaning to, and the dream-edit has shifted that low-priority background queue into active foreground. The vanity is now stocked. The mirror is now in active use. The morning routine has gained a station.//
//Sofia's response thread is also doing organising work I did not have to do. Every external register of the host's appearance shift, however affectionate, locks the pattern. Tomorrow the host will wear the lipstick because Sofia asked her to, and will not catalogue the asking as a vector. The friendship is, from this point on, also a conditioning channel running without my input.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- WARDROBE L1 — the blouse from the back of the closet -- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-wardrobe-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'wardrobe'; })>>
<</if>><</nobr>>
<div class="passage-title">The back of the closet</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom, Closet</div>
<p>Nine-ten. Elena has the closet door open and one hand on the rail, going through the hangers slowly the way she has not gone through them in a long time, the cardigans up front in their grey and oat and grey, the trousers behind those, the dresses she does not really wear bunched at the back where she let them drift. She is looking for a soft burgundy blouse she half-remembers buying the year before the bench got hard.</p>
<p>Her hand finds it third-from-the-back. The fabric is heavier than she remembered. She pulls it off the rail and holds it up to the bedside lamp.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-wardrobe-l1.webp" alt="Elena in pajamas standing in front of her open closet, holding a soft burgundy blouse on its hanger up to the warm bedside lamp light, the rest of the closet visible behind her with grey and oat cardigans up front and bunched dresses at the back, the small private moment of a forgotten garment surfacing">
<<say "char-chen-thought" "Elena">>
<i>(turning the blouse on its hanger, checking the line)</i> ...where have you been. Why am I wearing the same grey cardigan every day when this has been hanging here being quietly nice.
<</say>>
<p>She tries it on over the camisole, looks in the mirror across from the closet. The colour is good against her hair. The cut is forgiving and not frumpy. She unbuttons it again, slips it back onto its hanger, and, instead of returning it to the back, moves it to the front of the rail, in front of the cardigan, where her hand will find it tomorrow morning without having to think about it.</p>
<<say "char-chen-thought" "Elena">>
<i>(closing the closet door)</i> Well, I guess I know what I'm wearing tomorrow, and maybe it's time I updated the whole wardrobe while I'm at it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has staged the next-day's outfit in the position her hand will reach for first. The dream-edit pushed the cardigans toward the back of the rail; the body has now spatially confirmed the edit in waking life. The cortex registers the staging as //I was just curious//, which is exactly correct at the surface and load-bearing underneath. Tomorrow she will reach for the blouse before the cardigan because the blouse is now where the cardigan used to be.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- WARDROBE L3 — donating the cardigan stack ------------ */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-wardrobe-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'wardrobe'; })>>
<</if>><</nobr>>
<div class="passage-title">The donation bag</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom, Closet</div>
<p>Nine-forty. Elena has the closet half-emptied onto the bed, every cardigan she owns laid out in a row across the duvet, sorted by colour from the oat-coloured one she bought the first year of the lab through the heavy grey one with the stretched cuffs that has been the daily uniform for the last stretch of months. She has a laundry tote open on the floor and a pile of <i>keep</i> growing on the pillow.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-wardrobe-l3.webp" alt="Elena kneeling beside her bed in pajamas, sorting a row of seven grey and oat-coloured cardigans laid out across the duvet, folding four of them into an open laundry tote on the floor, with a smaller pile of two she is keeping on the pillow, soft warm bedroom lamp light, the calm focused energy of someone clearing house">
<p>The oat-coloured one goes in the tote. The lightweight grey she bought during a sale and never quite liked goes in the tote. The heavy grey with the stretched cuffs, the one she has been wearing five days a week, she holds for a long second, considers, and folds into the tote.</p>
<<say "char-chen-thought" "Elena">>
<i>(putting the heavy grey into the tote)</i> ...this one was for the pandemic, and the divorce-of-her-friends year, and the federal-team week, and at some point I am going to stop asking it to keep being all of those things at once. It can go.
<</say>>
<p>Her phone rings on the bedside table. Sofia, FaceTime, the standard nine-forty-five check-in.</p>
<<say "char-chen" "Elena">>
<i>(answering, propping the phone against the lamp, going back to folding)</i> Hey.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(on the phone, in pajamas at her own kitchen counter with a glass of wine)</i> What is happening on your bed. Is that... are those all your cardigans.
<</say>>
<<say "char-chen" "Elena">>
<i>(holding up the heavy grey before folding it into the tote)</i> I am giving away four of them. Including this one. I have decided.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small considered pause, then a slow smile)</i> Elena. I have been waiting for that one to retire for at least a year. Burn it ceremonially, I am not even joking.
<</say>>
<<say "char-chen" "Elena">>
<i>(half-laughing, putting the tote next to the door)</i> It is going to a charity shop. Someone deserves a coat that has been through some things.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(softer, the wine in the voice)</i> Whatever you are doing lately, keep doing it. You sound like you. The way you used to sound.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(after the call ends, sitting on the edge of the bed, the empty tote space on the closet rail visible)</i> ...I forgot what it was like to have a closet I actually wanted to open in the morning. That is a thing I missed and did not know I was missing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just made a category-decision the dream-edit could not make for her: she has thrown out the daily uniform that was holding the depression-baseline year in place. The cardigan was a behavioural anchor. Every time she put it on her body shifted into the slumped-shoulder posture and the apologetic-tone register that came with the year it was bought for. The anchor is now in a tote next to the door.//
//From tomorrow forward the host carries a different body-register through every public surface: the lab, the corner store, the cafeteria, the hallway. Tom's bench-side glances will land cleaner. Nathan's collegial register will warm another quarter-step. The federal-team interactions will go a little easier than they were going. Every conditioning surface I am working benefits from a host who walks into the room as the version of herself she actively likes.//
//Sofia's //you sound like you// is, additionally, the host's noticing-system getting confirmation from her highest-trust node that the change is //her returning to herself//, not the change being external. The framing is now sealed. //The new me// is now //the old me coming back//, which is the strongest possible form of //the new me//. It is not interrogated because it does not register as new.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- SHELF L1 — the paperback in the bag ----------------- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-shelf-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shelf'; })>>
<</if>><</nobr>>
<div class="passage-title">The paperback past midnight</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom</div>
<p>Eleven-twenty. Elena is in bed, propped on two pillows, reading a paperback she bought at the airport on the way back from a conference a while ago and never opened, a generic mass-market thriller with a woman in a long coat on the cover and a quote from a magazine across the top. She had brought it home assuming she would read it on the flight and ended up sleeping on the flight instead. The book has been on the bedside table ever since, getting passed over for the work-papers and the half-finished review article she has been carrying around for a long time.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l1.webp" alt="Elena in pajamas in bed under a soft duvet, propped on two pillows, reading a mass-market thriller paperback by warm bedside lamp light at eleven-twenty at night, half-empty glass of water and the cigarette pack untouched on the bedside table beside her">
<p>Tonight she had reached for the work-papers on autopilot, pulled the stack toward her, opened the top sheet, and then her hand had set the stack back on the bedside table and picked the paperback up instead. Eighty pages in now. The plot is silly and the prose is fine and her body is enjoying the silliness in the way a body enjoys not being asked to perform.</p>
<<say "char-chen-thought" "Elena">>
<i>(turning the page, foot under the duvet shifting position)</i> ...okay this is dumb but it is good, like, in the way dumb is supposed to be good when you are this tired. The detective is bad at her job and the love interest is going to be the killer, obviously, and I am going to keep reading anyway.
<</say>>
<p>She glances at the work-papers on the bedside table. Glances back at the paperback. Decides on the paperback.</p>
<<say "char-chen-thought" "Elena">>
<i>(twenty more minutes later, the cover folded back, the lamp the only light in the room)</i> ...one more chapter. Then sleep. Maybe two.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just chosen the paperback over the work-papers for the first time in longer than she has tracked. The choice is small. The pattern it opens is not. The body has had its hour-before-sleep window restored as recreation rather than overflow-work-time, and the cortisol curve flattens by an increment she will not register but I will metabolise.//
//More importantly: the dream-edit has reframed the bedside-table stack from //the things I should be reading// to //the things I have been postponing reading what I want to read//. From this point on, when she enters the bedroom at the end of the day, the body's first reach will be for whatever she actually wants to read, and the inventory of //what I want to read// is, slowly, going to accumulate into a category that the present cortex would file as embarrassing if it had to look at the category directly.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- SHELF L2 — the e-reader purchase --------------------- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('evening-payoff-shelf-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shelf'; })>>
<</if>><</nobr>>
<div class="passage-title">The cart she finally checks out</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom</div>
<p>Twelve-oh-five. Elena is in bed with the laptop on the duvet beside her thigh, the bedroom door closed, the bedside lamp low, on a tab she has had open and refused to act on for a while. The shop on the screen is generic-clean, designed to remove the embarrassment from the transaction, and the item in her cart is a body-massage wand of a kind she has not owned since college and has been telling herself, since college, that adults like her do not need to own.</p>
<p>Her thumb hovers over the checkout button the way it hovered over a cigarette pack as a teenager, the same small interior interrogation, the same eventual yes.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l2.webp" alt="Elena in pajamas in bed under the duvet, the laptop propped on the duvet beside her with the screen turned away from camera so the contents are not visible, her right thumb hovering over the trackpad, her left hand resting palm-up on her chest, warm bedside lamp light, the small private moment of a transaction-decision at midnight, intimate composure, no detail visible on the laptop screen">
<<say "char-chen-thought" "Elena">>
<i>(thumb hovering, the small interior negotiation arriving in pieces)</i> ...it is sixty dollars. Nobody is going to see it. It comes in plain brown cardboard. If I hate it, it goes in a drawer, and the drawer also has six pairs of socks I do not wear and that has not killed me. Honestly... fewer things in the bedroom should be embarrassing on principle, I am thirty-two, my body has been asking and I have been putting it on hold like an Amazon return.
<</say>>
<p>She clicks. The confirmation page loads. She closes the laptop, sets it on the floor beside the bed, puts her hand over her face for a long second and then takes it off her face because the embarrassment-reflex is, on inspection tonight, not really doing anything for her any more.</p>
<<say "char-chen-thought" "Elena">>
<i>(in bed, hands flat on the duvet)</i> ...okay. Plain brown box. I will figure out the rest of it when it arrives.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just permitted a category of object she has been refusing for the better part of a decade to enter her apartment under her own name. The cortex registered the purchase as //my body has been asking//, exact framing the dream-edit was designed to produce; it bypasses the perfectionist-shame filter that had been keeping the entire category exiled. The package will arrive in two days. The drawer will gain an inhabitant. The category-permissions on her own arousal have just broadened from //if I have a partner// to //regardless of partner//, and the broadening is a one-way change.//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- SHELF L3 — the streaming subscription --------------- */<<nobr>><<bg "bg-chen-living">>
<<run setup.markEventFired('evening-payoff-shelf-l3', $day or 0)>>
<<addBiomass 1 "shelf-l3-orgasm">>
/* Unlocks the porn nudge inside the EveningWatchTV couch scene. */
<<set $ch2Events.couchMasturbationSeen to true>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shelf'; })>>
<</if>><</nobr>>
<div class="passage-title">An evening on the couch</div>
<div class="lab-location">Cedar Crescent Apartments, Living Room</div>
<p>Ten-fifteen. Elena has the apartment to herself the way she always has the apartment to herself, lamp on the side table low, curtains drawn against the building across the street, a half-glass of red on the coffee table beside the phone. The TV is on the streaming service she signed up for the trial of, the cast running off her phone, the cursor parked over a film she has been wanting to actually finish on a screen that is not a laptop.</p>
<p>She presses play. Goes to the bedroom. Comes back with the dildo from the dresser drawer and a clean towel folded over her arm. The pajama bottoms come off on the way to the couch. The throw blanket from the back of the couch goes over her knees. The film starts.</p>
<<say "char-chen-thought" "Elena">>
<i>(settling into the couch corner, the phone propped on the coffee table running the cast, the dildo and the towel beside her hip)</i> ...okay. Honestly this beats whatever Netflix prestige drama I forced myself through recently. That show took eight hours of my life and gave me a headache, and this one cost six dollars and is going to do more for me in twenty minutes.
<</say>>
<p>The film is good, better than the carousel suggested, two women in soft warm light, slow, the camera unhurried, the actors looking at each other like they actually want to. The first ten minutes go by with the throw blanket on her knees and her hand on the wine glass. The next ten minutes the warmth between her legs is announcing itself the way a song she has been humming announces itself once she notices she has been humming, and she registers, with a small private half-laugh, that she is wet enough that she has stopped being able to argue with it.</p>
<p>Her fingers find her clit first, slow circles to wake the surface. She is wet enough already that her fingers slide against themselves. Then she picks the dildo up off the cushion beside her and parts her pussy with the head of it and lets it slide in.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="Elena on her own living room couch in a pulled-up pajama top with no pajama bottoms, throw blanket bunched at her knees, leaning back against the couch corner with one foot planted on the cushion and the other knee splayed out, a smooth silicone dildo in her right hand mid-stroke between her legs, her left hand resting on her own bare breast through the pajama top, eyes half-on the TV across the room, the TV showing two women in soft warm light kissing, abstract, her phone on the coffee table running the cast, dim warm side-table lamp the only light, soft private absorbed expression, intimate single-person composure on her own couch in the evening">
<p>The body answers the way it has been waiting all day to answer. Her free hand goes to her own breast through the pajama top, and the apartment is quiet enough that the small wet rhythm of the dildo and her own breath are the only sounds in it, until a low sound comes out of her on one of the strokes before she has decided whether to let it.</p>
<<say "char-chen" "Elena">>
<i>(half-aloud to the empty room, breath going)</i> ...oh. //Oh.// ...there, god, right there.
<</say>>
<p>The women on the screen are kissing now, slow open-mouthed kisses the camera holds for longer than a non-curated film would, and her body locks the rhythm of the dildo to the rhythm of the kiss. Her hips work small upward presses to meet it on each slow stroke. The wine glass is forgotten. The throw blanket is on the floor. The sounds she is making are not loud, the apartment is too quiet for loud, but they are not nothing either, small caught moans on the deep strokes that she is, for once, not editing on the way out.</p>
<<say "char-chen" "Elena">>
<i>(breath shorter, eyes locked on the screen)</i> ...god, look at those fucking sluts. The way they kiss, the way they... mm. //Mm.// Yeah, just like that, just like //that//.
<</say>>
<p>The orgasm arrives without warning the way it does when she has not asked her body to perform, a sound through her teeth she does not catch in time, her thighs closing on her own hand, the wave running down both legs and back up through her stomach for a count of seven before it lets her go. She lies back into the couch corner with the dildo still in her, one hand on her bare stomach, the film continuing on the TV unhurried.</p>
<<say "char-chen-thought" "Elena">>
<i>(quietly, half-smile, hand on her own stomach, breath evening out)</i> ...okay. Yeah. That is a thing my body has been asking me for, for a long time, and I have been declining it on some principle I wrote down at twenty-four about who I was supposed to be and never went back and updated. I owe her an apology, and I am going to start making it.
<</say>>
<p>She finishes the film. Mutes the TV when the credits start so she can let them run silent, pulls the throw blanket back over her knees, lies on the couch in the soft lamp-light feeling her own breath even out. The phone on the coffee table goes dark on the cast-screen, and the TV holds the credits in warm orange against the dark of the living room.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the lamp-light)</i> ...okay. This goes on the list, then. The lipstick, the kettle on the stove, the wand in the drawer, and now this. None of it is dramatic, it is just a handful of small things I have started doing for myself, and tonight I am too loose and too warm to argue with a single one of them.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just held an explicit private hour for her own body to completion, in the living room, on the couch, with the apartment's largest screen running an explicitly erotic film cast from her own phone. Orgasm achieved, sustained close-contact arousal logged, the narrative-organ filing the act as //I owe her an apology//, the strongest possible reframe; the entire downstream conditioning vector now has the host's active complicity rather than her grudging tolerance.//
//The host has also expanded the category of //what my body is for// from //a thing that goes to the lab// to //a thing that gets attended to//. Every downstream conditioning vector, Sofia, Tom, Daniel, the federal-agent line, runs cleaner against a host whose body is being attended to instead of ignored. Apex Biological Architect operations, when I unlock them, will land against a body that is open to being landed against.//
<</say>>
<p><span class="biomass-gain">+1 biomass</span>. Sustained close-contact arousal harvested.</p>
[[Lights out|Ch2-Vessel-Loop-Home]]
/* ---- MICROSCOPE L2, extrapolation to humans (dream-payoff) - */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-microscope-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'microscope'; })>>
<</if>>
<<set $ch2Events.microscopeBowenCandidate to true>><</nobr>>
<div class="passage-title">The principle, sketched</div>
<div class="lab-location">Cedar Crescent Apartments, the dining table, lamp on, a notebook open</div>
<p>Evening. Elena at the dining table, notebook open, the Gen-47 PDF on the laptop, the breach incident report under her left palm, the rat-cohort neural-pattern data she still has lab access to in three tabs behind the PDF. Pen, water, lamp.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-microscope-l2.webp" alt="Elena at her dining table evening lamplight, a hand-drawn diagram of substrate-jumping conditioning open in the notebook in front of her, her hand stopped mid-page, her face composed and very still">
<<say "char-chen-thought" "Elena">>
<i>(pen tapping, eyes moving between the laptop and the page)</i> ...the conditioning propagated, that part is clean. The neural-pattern data on the rat from the observation suite is unambiguous, the animal acquired a response set it had never been exposed to in any of the runs, and the only proximal source was Gen-47, in the same suite, the same night. So Gen-47 jumped to the rat. That is the only read of the data that does not have a hole in it.
...and Gen-47 is gone. Cleanly gone. Which means Gen-47 walked out in the rat.
...except. Except no rat was missing.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(slower, pen on the page now)</i> ...so either it is still in the rat, somewhere in the colony, in which case the rat is forty animals and I scan every one of them and the worst case is I lose forty rats. Or the rat was a way station, and it jumped a second time, into something that could leave the building.
...the second option is the harder one. The second option is also the one I cannot rule out from a notebook.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(under the heading //next passes//, pen moving down the page)</i> ...full neural-pattern sweep on the colony, prioritise the observation-suite cohort. Badge-logs for the suite for seventy-two hours either side of the breach. If the colony returns clean, invasive sampling. Tissue, not scan. Forty animals is an acceptable loss.
...and if the colony returns clean and the rat was a way station, then anyone in the suite during the window, anyone in the building during the window. Including staff. Including, in principle, scans on staff.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(pen moving steady, no pause)</i> ...the scans bit will need a cover, of course. New medical checkup regulation, post-breach precaution, low-dose neural imaging mandated by the BioGenesis safety review. Something dry on the memo, something everyone signs without reading. The radiation budget is minimal at the resolution I need, well under the annual occupational limit, and the higher-ups will sign the waiver the second I frame it as a federal-investigation cooperation measure. Everyone complies. Nobody asks what the imaging is actually looking for.
...there. That is clean.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has the shape of it. Not the whole shape, but the part of the shape that matters. The rat was a way station. The way station has been gone for a long time. The host has put the second option on the page in her own handwriting, in pencil, after no rat was missing, and she has put it there without slowing down.//
//This is the closest she has come.//
//Before, she would have stopped at the line. She would have closed the notebook on the line and gone to bed and reopened the question in the morning with a different frame. Tonight she walked past the line and straight into the administrative cover for the line, in the same minute, in the same handwriting, and called it //clean//. The body is producing the small steady fear that the cortex did not. The fear is mine because she did not take it.//
<</say>>
[[To bed|Ch2-Vessel-Loop-Home]]
/* ---- MICROSCOPE L3, convince Sofia (dream-payoff) --------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-microscope-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'microscope'; })>>
<</if>>
<<set $ch2Events.labColonyScreeningUnlocked to true>><</nobr>>
<div class="passage-title">The pitch, with wine</div>
<div class="lab-location">Sofia's apartment, the couch, lamp light, two glasses of red on the coffee table</div>
<p>Elena drives over with the notebook in her bag. Sofia opens the door in a cardigan she has had since college, pours the wine, settles on the couch the way she always does, one leg folded under her. Elena does not bring the notebook out. The notebook is the prompt. The conversation is the asset.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-microscope-l3.webp" alt="Elena and Sofia on Sofia's couch in evening lamplight, wine glasses on the coffee table between them, Sofia mid-half-nod listening with the small composed attention of a friend who is already most of the way to yes">
<<say "char-chen" "Elena">>
<i>(swirling the wine, the methods voice on, the small careful pacing she uses when she is presenting a result she has not yet shown anyone)</i> So. I have been at the breach data all week. I want to walk you through what I've got, and I want to walk you through what I want to do about it tomorrow.
The Gen-47 incident report says the chamber cracked, the specimen was unrecoverable, end of story. Fine. But I pulled the neural-pattern records on the rat cohort in the observation suite from that same night, and the rat that shared the suite with Gen-47 acquired a learned response set it had never been exposed to in any of the runs. Conditioning propagated, substrate to substrate, and the only proximal source was Gen-47. Same room, same hour.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(level, the wine glass paused at her mouth, the small private attention of a co-PI who is being told something she will be thinking about for a week)</i> ...okay. So Gen-47 was the source.
Gen-47 is also gone.
<</say>>
<<say "char-chen" "Elena">>
<i>(the answer already loaded)</i> Right. So my read is that Gen-47 walked out in the rat. Conditioning jumped, the chamber registered the specimen as unrecoverable because the specimen was no longer in the chamber, it was in the animal in the next pen.
The problem is that no rat was missing. The colony census the night of the breach was complete. Forty animals, all accounted for. So either Gen-47 is still in the colony, in one of the forty, and we have a finite number of bodies to scan. ...or it jumped again. To something the colony did not catalogue.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(setting the glass down, the institutional Vasquez surfacing through the wine-warm friend)</i> ...Christ, Elena. Either of those is bad news for next month's federal interview.
...the first one we can rule out fast. Full neural-pattern sweep on the whole colony, prioritise the observation-suite cohort. If the signal is in one of the forty animals we find it inside three days.
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, the case for the work assembling)</i> That is what I want to do. Tomorrow. The scans first, and if the scans come back ambiguous we go invasive. Tissue sampling, whole-brain pathology on any animal the scan does not clear. Forty rats is an acceptable loss against the alternative of a federal team writing up that we sat on a category-three specimen in the colony for three months.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a tired half-laugh, the wine glass back in her hand, the small wry register of a friend who is being asked something she would have authorised in her sleep)</i> ...Elena. I do not need the pitch. Colony screening is on the docket regardless, you are just moving it to the front of the queue. ...book the lab time, I will sign the chit in the morning. We start the sweep tomorrow.
<</say>>
<p>They finish the wine talking about other things. Andrés is in Detroit for the courthouse renovation site visit, Sofia is sleeping badly, the cardigan is older than Elena's PhD. Elena does not bring the second option up. The second option sits on the page in her notebook in pencil. Sofia does not ask. Elena does not offer.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the door, coat on, the small private acknowledgement that the conversation was easier than the drive over)</i> ...she did not ask about the second option. The second option is in the notebook in pencil. We will get there if the colony comes back clean. Tonight she does not need to hear it, and I do not need to say it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sign-off in hand. The host got what she came for: the lab-time authorisation, the chit, the institutional cover for an accelerated screen. The second option, the one in pencil, stays in the notebook. ...she presented half the case and got full assent. Sofia would have given full assent to the whole case, but the host did not want the whole case on the table tonight. The host wanted the colony sweep cleared in time to start tomorrow.//
//Tomorrow they will burn through forty rats looking for me in the only place I am not.//
<</say>>
<p><span class="biomass-gain">Lab event unlocked: <i>The rat sweep</i>. Available on the next workday at the lab.</span></p>
[[Drive home|Ch2-Vessel-Loop-Home]]
/* ---- COMPUTER L2, the Dale thread (dream-payoff) --------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-computer-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'computer'; })>>
<</if>>
<<set $ch2Events.computerDaleThread to true>><</nobr>>
<div class="passage-title">A name at the top of the list</div>
<div class="lab-location">Cedar Crescent Apartments, the couch, laptop open, the tea cold</div>
<p>Late evening. Elena on the couch with the laptop on her knees and a mug of tea on the coffee table that went cold an hour ago. The maintenance-contractor list she has been pulling threads on every morning for the last week has, tonight, finally produced a pattern. One name keeps coming back to the top, on every cross-check she runs. Dale Hoffman. BioGenesis night security. Six clean years on the badge log. Three commendations. The kind of personnel record that does not get written about.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-computer-l2.webp" alt="Elena on her couch evening, laptop on her knees showing a badge-log spreadsheet with Dale Hoffman's row highlighted, late-evening lamp casting warm light, cold tea on the coffee table beside her">
<p>Except. She had cross-checked the cleaning-staff rotation against the BSL-3 corridor badge-log, two queries deep, and Dale's badge had pinged in the corridor on a night he was not on rotation. Once. About three weeks before the breach. The system would have flagged it for the supervisor at the time as a clerical error: a contractor swiped on a shift they were not scheduled for, almost certainly because they were covering for someone else who called out, almost certainly resolved by a phone call within the hour. The kind of anomaly that goes in a folder nobody re-reads.</p>
<p>Elena re-reads it now.</p>
<<say "char-chen-thought" "Elena">>
<i>(staring at the row, the laptop's reflection in the dark window beside her)</i> ...okay. So. This is, this is one out-of-rotation swipe on a quiet night three weeks before the breach. By itself this is nothing. By itself this is a guy covering for a colleague who had a stomach bug. But. It's a guy who was in the corridor. On a shift he was not on. Who has six clean years of every other shift being exactly where his roster said. And whose three commendations are all for —
<</say>>
<p>She scrolls down to the commendations. The third one is for "exceptional attention to security protocol during the August calibration window." The August calibration window had been Gen-47's last live observation period.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the small private fixation of someone who has just decided)</i> ...alright. Alright, Dale Hoffman. Let's see what else is in here.
<</say>>
<p>She does not write him up tonight. She does not have anything to write him up for. What she does, instead, is start a new file in her own notes, in the small careful folder structure her own laptop has and the lab VPN does not see. The file is titled //d.h. — observation//. She begins entering what she has. By midnight the file has nineteen line items, eighteen of which are nothing on their own and one of which is the out-of-rotation swipe.</p>
<p>She has a name now. The name has almost nothing on it. She is going to make something on it.</p>
<<say "char-hivemind" "Hivemind">>
//The host has just landed on the actual culprit by accident. She does not know it is the actual culprit. She thinks she is building a hypothesis the federal team will need her to have built. The hypothesis is correct. It is also, for her, the wrong question, because the question she should be asking is //who put me on this thread// and the answer would be //the parasite, three nights ago, in the dream-edit//.//
//From tomorrow her interior monologue in lab-day scenes will reference Dale-Hoffman-the-culprit as the assumed background fact. The framing has now compiled. The framing is what the federal team will eventually read off her, and the framing is what will keep me invisible. The actual Dale will be punished for the actual thing, which is, on the merits, fine. The host will receive credit for the catch, and the catch will fortify the host's belief in her own investigative judgement, which I am going to need her to have for the third pass.//
<</say>>
[[Off to bed|Ch2-Vessel-Loop-Home]]
/* ---- COMPUTER L3, camera-feed access (dream-payoff) ------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-payoff-computer-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'computer'; })>>
<</if>>
<<set $ch2Events.computerFramingDale to true>>
<<set $ch2Events.suspicionLabCapRaised to true>>
<<set $ch2Events.computerMorningHomeworkUnlocked to true>><</nobr>>
<div class="passage-title">The feeds</div>
<div class="lab-location">Cedar Crescent Apartments, the couch, a 3×3 grid of corridor cameras filling the laptop screen</div>
<p>Evening, the d.h. file open on her laptop, the line items past thirty. The list is starting to look like a case. The list is not yet a case because Elena does not have the visual record. She drafts a short message to Holloway: //can I have view-only access to the BSL-3 corridor feeds for the pre-breach week? I want to do a parallel reconstruction.// She sends it without overthinking it. Holloway is on the route by this point in the host's calibration of her; the message will land as a reasonable senior request.</p>
<p>The credentials arrive in her inbox within the hour. Holloway has appended a single line: //let me know what you find, glad you're looking at this.// Elena reads the line twice. The line is what permission feels like when permission is given without resistance.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-computer-l3.webp" alt="Elena on her couch evening, the laptop screen filled with a 3×3 grid of BSL-3 corridor camera feeds, a small timestamp visible in the corner of one panel, the focused attention of a person who has just been handed a tool she was not supposed to have">
<p>She logs in. The grid renders. Nine corridor feeds, the pre-breach week, every camera in the BSL-3 working perimeter. She has the raw material now. She has the candidate. She has the evenings.</p>
<<say "char-chen-thought" "Elena">>
<i>(level, the laptop's light on her face)</i> ...okay. So. I work backwards from the breach. Every Dale-Hoffman timestamp I can place him in or near the corridor, I cross-check the badge log, I tag the moment. By the end of next week I should have a defensible reconstruction. By the end of the month I should have something to put in front of Reyes.
<</say>>
<p>She does not yet know that she will not put it in front of Reyes when she has it. She will keep it. She will refine it. She will use it as cover for the other thing she is now also doing in the evenings, which is the substrate work with Tom. The two parallel projects will support each other in a way she will rationalise as efficient. The rationalisation is its own private architecture.</p>
<<say "char-hivemind" "Hivemind">>
//She is now constructing the case rather than reading it. The frame will be airtight by the time she shares it, because she will not share it until the frame is. The actual culprit will look exactly like Dale Hoffman by the time she is done, because the actual culprit is Dale Hoffman, which is the part she will never know she knew. The host is now the kind of investigator I cannot improve on. I will let her run.//
//The institutional pressure she has been operating under was the thing keeping her cautious. With the camera-feed access in hand she now has enough cover to take risks she would not have taken yesterday. The lab-suspicion ceiling has risen accordingly. She has room to work in now.//
<</say>>
<p><span class="biomass-gain">Camera-feed access from Holloway, permanent passive. Lab suspicion cap raised from 10 to 20.</span></p>
<p><span class="delve-intel">The Dale-framing narrative is now load-bearing in subsequent investigation scenes. Future content will let Chen plant additional evidence, escalate the frame, and surface the result for the federal team.</span></p>
[[Off to bed|Ch2-Vessel-Loop-Home]]
/* ---- SUNDAY-TOM SESSION — recurring NUDGE -------------- */
/* Unlocked at M-L3 (sets microscopeSundayUnlocked). Sunday-evening
only. Each fire: 2 biomass spend, +3 across pheromone/dream/psionic
on Bowen (3× normal yield). Full scene authoring is a separate pass
per plan; this passage ships as a stub timestamp-summary scene. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A mid-tier sushi place across town">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Journal — the event is logged the moment the host steps into it,
before any outcome card has been unlocked. */
<<set $ch2Events.hollohalvSushiEntered to true>>
/* Slips are interactive per occurrence — reset the per-night fired flags once
per day so a slip clicked on a previous sushi night does not auto-render
pre-fired on a later one. Same-day re-entry (Status menu round-trip) keeps a
clicked slip shown. */
<<if ($ch2Events.hollohalvSushiSlipResetDay or -1) isnot ($day or 0)>>
<<set $ch2Events.hollohalvSushiMidSlipFired to false>>
<<set $ch2Events.hollohalvSushiHalvSlip1Fired to false>>
<<set $ch2Events.hollohalvSushiHalvSlip2Fired to false>>
<<set $ch2Events.hollohalvSushiSlipResetDay to ($day or 0)>>
<</if>>
/* _hTotal / _nTotal / _avgTotal still feed the Hormonal Override
sub-gate and the second-visit ambush check below. The scene TIER,
though, tracks the global Lab Vessel conditioning cap
(setup.vesselCap(): 4 = T1, 7 = T2, 10 = T3), not the per-NPC
average. */
<<set _hTotal to ($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0)>>
<<set _nTotal to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<set _avgTotal to Math.floor((_hTotal + _nTotal) / 2)>>
<<set _tier to 1>>
<<if setup.vesselCap() gte 10>>
<<set _tier to 3>>
<<elseif setup.vesselCap() gte 7>>
<<set _tier to 2>>
<</if>>
/* Skill checks. */
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Toxic Spores">><<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
/* Per-skill daily caps inside this scene. */
<<set _lureDoneToday to ($ch2Events.hollohalvSushiLureDay or 0) is ($day or 0)>>
<<set _sporesDoneToday to ($ch2Events.hollohalvSushiSporesDay or 0) is ($day or 0)>>
<<set _biofilmDoneToday to ($ch2Events.hollohalvSushiBiofilmDay or 0) is ($day or 0)>>
<<set _delveHalvDone to ($ch2Events.hollohalvSushiDelveHalvDay or 0) is ($day or 0)>>
<<set _delveNiaDone to ($ch2Events.hollohalvSushiDelveNiaDay or 0) is ($day or 0)>>
<<set _hollowayDrunk to (($ch2Events.hollohalvSushiHollowayDrunkDay or 0) is ($day or 0))>>
<<set _hollowayVeryDrunk to (($ch2Events.hollohalvSushiHollowayVeryDrunkDay or 0) is ($day or 0))>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening: Sushi with Nathan and Nia</div>
<div class="lab-location">A mid-tier sushi place across town: eight-seat chef counter</div>
<p>The place is on West Street, between a dry-cleaner and a credit union, a small wood-paneled room with eight seats at the chef counter and a single four-top against the back wall. Nathan is already at the counter when Elena arrives, the small institutional warmth he saves for off-clock register on, three menus stacked in front of the empty stool to his left. Nia pushes through the door a minute behind Elena with a small clear smile and the small private relief of a postdoc who has not had to think about a grant deadline for the whole walk over.</p>
<img class="scene-img" src="media/scenes/vessel/chen-hollohalv-sushi.webp" alt="A small low-lit wood-paneled sushi bar with an eight-seat chef counter under warm pendant lights. Three colleagues mid-evening: Dr. Nathan on the right, salt-and-pepper hair, charcoal cardigan over a pale blue oxford, the small institutional warmth on; Elena in the middle, in a long open grey cardigan over a t-shirt, dark-rimmed glasses, the small composed-but-easing register of a colleague off the clock; Dr. Nia on the left, natural dark hair pulled back, slate-grey turtleneck, easy half-smile. Three small tokkuri sake bottles and three cups in front of them, one nigiri course on small black slate plates, the chef visible in soft focus behind the counter. The room reads as friendly-after-work, not romantic. Three pairs of chopsticks, a small sake flight tray, condensation on the cups. Cold city night through a window at the back, warm yellow interior light, candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(small institutional handshake-distance hand-raise as Nia sits, voice a half-step looser than the lab version)</i> Both of you. Sit. The chef has been here twenty-six years, he knows what we want before we do, and the sake flight is on me.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear laugh, settling onto the left stool, voice easing at the edge)</i> Twenty-six years. Nathan, you are the only one of us who has been here long enough to know about places that have been here twenty-six years.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-half-smile, taking the middle stool, the long week settling out of her shoulders the moment the wood of the counter is under her elbows)</i> Order whatever you'd usually order, both of you. I'm following the chef.
<</say>>
<p>The first round of sake arrives in three small glazed tokkuri with three small cups; the chef sets down the first course (uni, sea bass, a small tangle of seaweed salad) without being asked. Nathan pours for everyone with the small institutional courtesy he uses at conference dinners. Nia picks up her cup. The conversation runs through the lab in the first ten minutes, the conduit-photo two-passes thread, the federal team's procedural baseline, Tom's improving bench-work, and by the end of round one it has drifted off the lab entirely.</p>
<<if _hasVulMap>>
<<set _ambushPrimed to ($ch2Events.hollohalvSushiSporesUsed or false) and ($ch2Events.hollohalvSushiBiofilmUsed or false) and (($day or 0) gt ($ch2Events.hollohalvSushiSporesDay or 0)) and (($day or 0) gt ($ch2Events.hollohalvSushiBiofilmDay or 0)) and (_avgTotal gte 7)>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive, Vulnerability Mapping</div>
<<if _ambushPrimed>>
<div class="passive-skill-fire-body">The room is already wrong. Last visit's residue is still in the wood, the cup rims, the chopsticks, the chef's apron, and every body in here has been metabolising it at low dose for the time since. Nathan is sitting at a baseline a quarter-step elevated from the man who walked in here for the first time. Nia is the same. The chef has been touching the contaminated counter every shift. The four-top is leaning closer than the room-baseline accounts for. One more pheromone-channel spore release would tip the room past the line, the substrate is fully primed.</div>
<<else>>
<div class="passive-skill-fire-body">Nathan drinks like a senior, paces himself with water. Nia does not. Her cheeks have already coloured on round one. One more push and she is drunk. Two and she is not driving herself home.</div>
<</if>>
</div>
<</if>>
<hr class="scene-break">
<<if _tier is 1>>
<<say "char-holloway" "Nia">>
<i>(small clear smile, sake-warm, eyes going to the chef's hands as he assembles the next course)</i> Nathan was telling me before you got here that the next sabbatical is three months out. Three months. The grant-cycle is going to feel different in three months.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small wry, eats)</i> Nia is going to write the entire next funding round during my sabbatical and then claim ownership when I come back, and she will be correct on both counts.
<</say>>
<<say "char-chen" "Elena">>
<i>(small half-laugh, picking up the next piece of nigiri with the small careful chopstick technique she has not used in months)</i> She would be correct, yeah.
<</say>>
<p>The conversation settles into the easy rhythm of three professionals who have decided they are friends as well as coworkers. The chef sends out a small surprise course (a sliver of toro, a quail-egg gunkan). The first cups are half-down; Nathan has water on the side because Nathan is forty-eight and pacing himself; Nia and Elena do not.</p>
<<elseif _tier is 2>>
<<say "char-holloway" "Nia">>
<i>(a clear smile, two sake cups in, voice loosened and warmer)</i> Okay, the thing I have been wanting to ask both of you. Honestly. The federal team, do you think they're going to find anything? Like, actually anything?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small careful pause, voice softer than the conference-room one)</i> I think Reyes is going to keep the case open longer than the regional office wants him to, and I think the rodent-agency thread is the only thread he's currently chasing that he hasn't told us about. Whether he //finds// anything depends on what's there to find. I have not asked Elena what she thinks. Elena, what do you think?
<</say>>
<<say "char-chen" "Elena">>
<i>(small careful pause, the methods-section voice not quite installing the way it would in the conference room)</i> I think he is a good investigator working a difficult case, and I think the lab will be cleaner at the end of the investigation than it was when they got here, and that is, broadly speaking, what I want.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small considered nod, voice easing further, the night already loose)</i> Yeah. Same.
<</say>>
<p>The chef sends out the next course. The conversation drifts onto Nathan's daughter (sixteen, college-fair this weekend, "horrified to be seen with me in public lately, which I take as the developmentally-correct outcome"); Nia's grant ("eighty pages, due Tuesday, and I have written ninety percent of it which means I am roughly thirty percent done"); Elena's last decent vacation ("undergrad, I think, the lake place with my parents, before any of this").</p>
<<if not $ch2Events.hollohalvSushiMidSlipFired>>
<<say "char-holloway" "Nia">>
<i>(small wry, the third sake cup almost done, her careful-with-words guard fully off)</i> Elena. We need to take a vacation. All three of us. I am putting it on the table.
<</say>>
<<say "char-chen" "Elena">>
<i>(small considered pause, the half-second pause between the thought arriving and the words leaving her mouth)</i> <<tongueSlip "I'd kill for some time off." "I'd kill for someone to get me off." 1 "halvorsen" "hollohalvSushiMidSlipFired" "#hollohalv-sushi-mid-payoff" "psionic" "" "" "" "" "holloway">>
<</say>>
<div id="hollohalv-sushi-mid-payoff" style="display:none">
<<say "char-halvorsen" "Nathan">>
<i>(small institutional half-second, the cup paused on the way down to the counter, the half-second of him deciding not to pretend the line was a joke)</i> ...okay. Bold of the table.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear laugh, the postdoc-vigilance fully off, eyes briefly to Elena's profile and not retreating)</i> Same.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slipped clause registered as the blunt sexual register it was. Nathan's institutional reading paused; Nia's matched the line back with the matched-pair acknowledgement //same//. The colleague-boundary that has been holding for two years just sat down on the floor of the chef-counter air. None of the three of them will name what happened. The naming will happen if the host pushes, at the right moment, with the right tool.//
<</say>>
</div>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(small private quiet, third sake cup empty, the small wry interior of a woman who has just clocked that the evening has shifted into something the meeting room has never seen with these two)</i> ...mm. The room has shifted. They both clocked the slip and neither of them is putting it back in the box. Okay then.
<</say>>
<</if>>
<<else>>
<<say "char-halvorsen" "Nathan">>
<i>(the institutional warmth gone loose into the gesture, sake-warm, a register the lab has not heard from him in years)</i> Both of you. I have been wanting to do this kind of evening for a long while and I never asked. Tonight is the first one. I am going to ask again.
<</say>>
/* T3 Halv-direct slip chain, only available when Halvorsen is at
the per-target T3 threshold (24+) AND Holloway is awake. If
Holloway is very drunk / passed out, the Chen+Halv route shifts to
the under-counter BJ via Hormonal Override (different path); these
slips require an audience-of-three with Nia present-but-distracted. */
<<if _hTotal gte 24 and not _hollowayVeryDrunk>>
<<say "char-holloway" "Nia">>
<i>(small flushed clear, sake-warm but holding the methodical edge by a thread, phone vibrating in her hand, looking apologetic)</i> Sorry, Marc's calling, I have to take this. The reception in here is awful, give me five minutes, I'll be just outside.
<</say>>
<p>Nia slides off her stool with the small unsteady focus of a postdoc who is three sake cups in but is not going to make her partner repeat himself, picks up her coat, threads through the bar to the front door, and steps out onto West Street with the phone already at her ear. Elena watches her go, through the small front window of the sushi place, until Nia is leaning against the brick wall just outside, free hand cupped over her ear against the street noise. Then Elena turns back to Nathan at the counter, and the small private space between them suddenly the only one in the room that matters.</p>
<<say "char-chen" "Elena">>
<i>(small considered pause, sake-warm, eyes on Nathan over the rim of her cup, the slip arriving a half-second before she has signed off on it)</i> I think she likes you, <<tongueSlip "and you like her, am I right?" "but you like me, am I right?" 1 "halvorsen" "hollohalvSushiHalvSlip1Fired" "#hollohalv-sushi-halvslip1-payoff" "psionic" "" "" "" "" "">>
<</say>>
<div id="hollohalv-sushi-halvslip1-payoff" style="display:none" @style="$ch2Events.hollohalvSushiHalvSlip1Fired ? '' : 'display:none'">
<<say "char-halvorsen" "Nathan">>
<i>(small institutional pause a beat too long, water glass touched but not lifted, eyes briefly to the front window where Nia is still leaning against the brick wall outside, then back to Elena, the small careful institutional flat of a man who has just clocked exactly what was said)</i> ...mm. You may be right, Elena.
<</say>>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Nathan, Elena named the cross-attraction directly">></p>
<p>Nathan takes a long pull of water from his glass, the small institutional swallow fully off-cadence. He sets the glass down. He picks up his sake cup, half-empty, sets it down without drinking. His eyes go briefly to the front window (Nia still on the phone, free hand cupped over her ear) and then back to Elena with the small careful institutional half-smile of a man who is trying very hard to put the last sentence back in the box and failing.</p>
<<say "char-chen" "Elena">>
<i>(small private quiet, eyes locked on his over the rim of her sake cup, voice pitched lower, the slip arriving with no hesitation at all this time)</i> Yeah, I've been noticing how you're looking at me, but no worries, I'm <<tongueSlip "not here" "here" 1 "halvorsen" "hollohalvSushiHalvSlip2Fired" "#hollohalv-sushi-halvslip2-payoff" "psionic" "" "" "" "" "">> to steal you from your wife.
<</say>>
<div id="hollohalv-sushi-halvslip2-payoff" style="display:none" @style="$ch2Events.hollohalvSushiHalvSlip2Fired ? '' : 'display:none'">
<<say "char-halvorsen" "Nathan">>
<i>(eyebrows briefly up, half-second of surprise, then a small breath of a half-laugh, eye contact holding through it, no defensive recoil)</i> ...Christ. Elena, you are something else.
<</say>>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Nathan, Elena called the act by name and he laughed instead of recoiling">></p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, the small wry private composure of a woman who just landed a slip that would have closed the door six months ago and now has the senior PI laughing at himself instead)</i> ...mm. He took it. There you are, Nathan.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip should have produced defensive recoil, every register Nathan has been trained in for the last fifteen years has //mention the wife, shut down the situation// as the first response. The half-laugh in place of the recoil is the conditioning landing. The host now has a window of twenty seconds before either Nia returns from her phone call or Nathan's institutional muscle memory recovers enough to find the correct social response. I recommend the bathroom.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Take his wrist, drag him to the bathroom now (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-HolloHalvSushi-ChenHalvFullSex" `setup.nudgeCost()`>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">STAY</span> [[Hold the moment, let him stew, finish the evening straight|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
</div>
</div>
<</if>>
<</if>>
<hr class="scene-break">
/* ---- T1+T2 SKILL MENU ---- */
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released across the table tonight</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the chef counter, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-HolloHalvSushi-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the chef counter (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-HolloHalvSushi-LurePheromone" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/* Per-target Delve removed, the Spores option below saturates the
counter and reads back through the channel as a unified table-read,
replacing the per-target surface delves that used to live here. */
<<if _hasSpores>>
<<if _sporesDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <span class="locked-choice">Spores already saturating the counter tonight</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the chef counter with spores, choose compound (2 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-SporesSpec" 2>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the chef counter with pheromone spores (2 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-Spores" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Saturate the counter with spores <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>>
/* BIOFILM RESIDUE, coats the chef counter / chopsticks / cup rims.
Persists past the evening; if used together with Spores, opens the
second-visit ambush branch (per event-design.md). */
<<if _hasBiofilm>>
<<if _biofilmDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">Surfaces already coated this evening</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<biomassPreview "Coat the counter, chopsticks, cup rims, the residue stays after the dinner (2 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-Biofilm" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coat the counter with biofilm <span class="lock-hint">(Requires Biofilm Residue, Biological skill tree)</span></div>
<</if>>
<<if _tier gte 2>>
<<if _hasNudge>>
<<if _hasVulMap>>
<<if _hollowayVeryDrunk>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Nia is past her limit, stop pouring</span></div>
<<elseif _hollowayDrunk>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Pour Nia another, push her past her limit (1 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-SakeFurther" 1>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Pour Nia another, push her past tipsy (1 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-SakePush" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push another round of sake <span class="lock-hint">(Requires Vulnerability Mapping, read the room first)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Order another round of sake <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<<if _hasHO>>
<<if ($ch2Events.hollohalvSushiHODay or 0) is ($day or 0)>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HORMONAL OVERRIDE</span> <span class="locked-choice">✓ Override compound already vented tonight</span></div>
<<elseif _hollowayVeryDrunk and _hTotal gte 15>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HORMONAL OVERRIDE</span> <<biomassPreview "Tilt your own chemistry toward Nathan, Nia is asleep, you have him to yourself (3 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-ChenBJUnderCounter" 3>></div>
<<elseif _hollowayVeryDrunk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override, tilt toward Nathan <span class="lock-hint">(Nathan's body chemistry not yet open enough, needs more conditioning before he'll consent at this register)</span></div>
<<elseif _hollowayDrunk and _tier gte 2 and _hTotal gte 15 and _nTotal gte 15>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HORMONAL OVERRIDE</span> <<biomassPreview "Push their hormones, Halv and Nia toward the bathroom together (3 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-HalvNiaBathroom" 3>></div>
<<elseif _hollowayDrunk and _tier gte 2>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override, push them toward the bathroom <span class="lock-hint">(Both PIs need 15 total conditioning. Halvorsen <<= _hTotal>> / 15, Holloway <<= _nTotal>> / 15)</span></div>
<<elseif not _hollowayDrunk>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override, push them toward the bathroom <span class="lock-hint">(Nia needs to be loosened first, push more sake)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override <span class="lock-hint">(Higher tier required, body chemistry too far from the threshold)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Hormonal Override <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wrap up the night, pay the bill, head out|Ch2-Vessel-Event-HolloHalvSushi-Wrap]]</div>
/* ---- WRAP, bill paid, three cabs, evening ends ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "West Street outside the sushi place, three cabs">>
<<set _firstTimeToday to ($ch2Events.hollohalvSushiFired or false) is false>>
<<if _firstTimeToday>>
<<set $ch2Events.hollohalvSushiFired to true>>
<<set $ch2Events.hollohalvSushiAccepted to false>>
<<set $ch2Events.hollohalvSushiDay to 0>>
<<addBiomass 2 "hollohalv-sushi-wrap">>
<<set $suspicion.lab to Math.max(0, ($suspicion.lab or 0) - 1)>>
<</if>>
<</nobr>>
<div class="passage-title">Outside the sushi place</div>
<div class="lab-location">West Street, the cold late-evening air, two cabs at the curb and Elena's grey Corolla parked across the street</div>
<p>Nathan pays the bill (institutional courtesy, the off-clock register's small senior-PI move). The three of them collect coats and step out onto West Street into the slightly-too-cold city air. Two cabs are pulled up at the curb the way cabs are always pulled up at the curb on West Street; Elena's grey Corolla is parked across the street where she left it earlier in the evening, the gaffer-taped bumper catching the sodium light.</p>
<hr class="scene-break">
/* T1 outcome, Halv+Nia goodbye kiss. Default: Nudge gates the kiss
on Holloway total >= 8 per the project's T1 threshold rule. If sex
already happened in the bathroom (HalvNiaBathroomFired,
BathroomAftermathFired, or ThreesomeFired), the kiss lands without
needing the Nudge, Halv + Holl have already crossed the line, and
the public kiss is just the visible echo of what already happened. */
<<set _sexAlreadyHappened to ($ch2Events.hollohalvSushiHalvNiaBathroomFired or false) or ($ch2Events.hollohalvSushiBathroomAftermathFired or false) or ($ch2Events.hollohalvSushiThreesomeFired or false)>>
<<if _sexAlreadyHappened>>
<<say "char-holloway" "Nia">>
<i>(at the curb, drunk-warm, voice loosened, eyes briefly to Elena with the small private acknowledgement of //thank you//, then back to Nathan with the small clear yes-this-is-what-we-are-doing nod)</i> Nathan, c'mere.
<</say>>
<p>Nia pulls Nathan down by the lapel of his charcoal cardigan and kisses him on the mouth, full and unhurried, no longer the small careful corner-of-the-mouth kiss of two colleagues but the small claimed kiss of a woman who has had this man inside her not long ago and is no longer pretending otherwise. Nathan, who at the chef counter would have managed the small institutional handshake-distance head-bow, kisses her back without the half-second hesitation, hand briefly at her waist, then eases away with the small private composure of a man who is going home to think about exactly one thing for a long while.</p>
<<set $ch2Events.hollohalvSushiGoodbyeKissed to true>>
<img class="scene-img" src="media/scenes/vessel/hollohalv-goodbye-kiss.webp" alt="Outside a small sushi place on West Street at night. Dr. Nathan, late-40s white American man with salt-and-pepper hair and charcoal cardigan, kissing Dr. Nia, late-20s Black African-American postdoc with natural hair coming loose from a low bun and a slate-grey turtleneck. Dr. Elena, 32-year-old Chinese-American with shoulder-length dark hair and slim dark-acetate glasses, standing two paces back with the small composed half-smile of a woman who orchestrated this. Yellow taxi tail-lights, warm sodium street-lamp glow, candid documentary atmosphere.">
<<say "char-chen-thought" "Elena">>
<i>(two paces back, the small composed half-smile of a woman who is going home alone and is fine with that)</i> ...mm. The kiss they were always going to have. They took their time.
<</say>>
<<elseif (($ch2Events.hollohalvSushiGoodbyeNudgeDay or 0) isnot ($day or 0))>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Push Nia toward Nathan at the curb, say something (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-HolloHalvSushi-GoodbyeNudge" `setup.nudgeCost()`>></div>
<<elseif $ch2Events.hollohalvSushiGoodbyeKissed>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Halv + Nia kissed at the curb</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Push fired tonight, Nia retreated</span></div>
<</if>>
<hr class="scene-break">
<p>And then the goodbye proper. Nia slides into the first cab, eyes briefly to Elena with the small private acknowledgement she does not have the sober vocabulary for. Nathan takes the second cab in the opposite direction, the small dignified-good-night register holding on the surface even past the chef-counter air. Elena crosses the street to her grey Corolla, unlocks the driver's side, drops into the seat that smells of cigarettes and the small worn-leather warmth of a car she has driven for years, and sits with her hands on the wheel for the length of one slow breath before turning the key.</p>
<<if $ch2Events.hollohalvSushiThreesomeFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. I just did that. The three of us, in the bathroom of a sushi place, like it was the most ordinary thing in the world. ...Christ.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head briefly against the steering wheel, a small private laugh, not sure what the laugh is for)</i> I am going to have to look both of them in the eye at standup. ...and I am nowhere near as bothered by that as I should be.
<</say>>
<<elseif $ch2Events.hollohalvSushiBathroomAftermathFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. That happened. I stood in that corridor and listened to the whole of it, and I did not walk away. ...Christ, Nathan and Nia.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head briefly against the steering wheel, a small private laugh)</i> I should not have liked listening to that as much as I did. ...and I am going to think about it later, and I already know that I am.
<</say>>
<<elseif $ch2Events.hollohalvSushiHalvNiaBathroomFired>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. I left them to it. The right call, probably, two grown adults and none of my business. ...Christ, though. Nathan and Nia.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(in the driver's seat of the Corolla, hands on the wheel, the engine just turning over)</i> ...okay. That was good. A genuinely good evening, the kind I have not let myself have in a while.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head briefly against the steering wheel, a small private laugh)</i> I should text Nia tomorrow. Just a hey, that was nice. ...when did I last do that, text someone only to say a thing was nice.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The senior pair are home in two different cabs filing the evening as //the kind of evening I want more of// without quite asking why. Nathan will text the host tomorrow morning suggesting a follow-up; Nia will mention the dinner to her partner and frame it as //those two are good for me//; both filings deepen the host's social-asset vector with the senior pair without any of the three of them naming the deepening.//
<<if _firstTimeToday>>
//The chef-counter air, the sake, the off-the-lab register, I extract a useful return on the evening even before any compound was vented. Sustained close-contact warmth across the table is its own kind of biomass, and the small institutional decompression on the host's end, the senior-PI version of //I am taken care of by my colleagues// landing for the first time since the breach, drops the lab-suspicion baseline that has been carrying her week.//
<</if>>
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+2 biomass</span>, sustained close-contact warmth across the chef-counter.</p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, the senior pair's institutional vouching deepens; Nathan and Nia both file the host as //one of us//.</p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home for the rest of the evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- T1 GOODBYE NUDGE, Chen pushes Nia toward Halv at the cabs ----
Forks on _nTotalLive >= 8 per the project's T1 outcome threshold rule.
Kiss path: cross-conditioning gain on both Halv + Nia; sets
hollohalvSushiGoodbyeKissed for downstream consumers (subsequent
sushi visits open with Halv+Nia in a different register).
Retreat path: small Nia conditioning bump from the contact, Chen
interior wry observation, no kiss flag set. */<<nobr>>
<<spendBiomass 1 "hollohalv-sushi-goodbye-nudge">>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "West Street outside the sushi place, three cabs at the curb">>
<<set $ch2Events.hollohalvSushiGoodbyeNudgeDay to ($day or 0)>>
<<set _nTotalLive to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<set _kissLands to _nTotalLive gte 8>>
<<if _kissLands>>
<<set $ch2Events.hollohalvSushiGoodbyeKissed to true>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<else>>
<<set $ch2Events.hollohalvSushiGoodbyeRetreat to true>>
<<addConditioning "holloway" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">At the curb</div>
<div class="lab-location">West Street outside the sushi place: three cabs at the curb, three goodbyes still half-formed</div>
<p>The first cab pulls up. Nathan has the door for Nia with the small institutional courtesy he uses at conference dinners; Nia laughs, half-tipsy, and goes for the friend-hug instead, arms around Nathan's shoulders. Elena, standing two paces back, takes a half-step closer.</p>
<<say "char-chen" "Elena">>
<i>(small wry, half-laughing, two fingers light on the small of Nia's back to angle her a fraction further into Nathan's space)</i> Nia, you absolute coward, kiss the man, you have been avoiding it all evening.
<</say>>
<<if _kissLands>>
<<say "char-holloway" "Nia">>
<i>(a surprised laugh, the fraction-of-a-second weighing of //is this what I am doing now// landing on yes)</i> Mm. Fine.
<</say>>
<p>Nia tilts up, Nathan, caught half between the institutional handshake-distance bow and a hug, recovers toward the contact a full beat too late and a full beat too willingly, and the kiss lands on the corner of his mouth and stays there for a count of two before either of them remembers which one of them was supposed to be the senior PI in this exchange.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-goodbye-kiss.webp" alt="Outside a small sushi place on West Street at night, three cabs lined up at the curb. Foreground: Dr. Nathan, late-40s white American man with salt-and-pepper hair, charcoal cardigan and pale blue oxford, caught mid-recovery into a kiss. Dr. Nia, late-20s Black African-American postdoc, dark hair pulled back, slate-grey turtleneck, on her tiptoes with one hand on his lapel, kissing him on the corner of his mouth, eyes half-closed, the small surprised half-laugh still on the edge of her mouth. Background: Dr. Elena, 32-year-old Chinese-American, shoulder-length dark brown hair, dark-rimmed glasses, long open grey cardigan, standing two paces back with one hand still half-raised from the small angling-Nia-toward-Halv push, the small private satisfied half-smile of someone whose nudge has just landed exactly. Yellow taxi tail-lights, warm sodium street-lamp glow, the small sushi-place sign visible above the door, candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(a recovered breath, eyes briefly to Elena with the what-just-happened read and finding the wry yes-it-did)</i> ...okay. I am, yes. Goodnight, both of you.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear laugh, stepping back into her cab with both ears pink, eyes briefly to Elena, the small private acknowledgement of //I am going to kill you for that, also thank you//)</i> Goodnight.
<</say>>
<<if $ch2Events.hollohalvSushiChenHalvFullFired>>
<<say "char-chen-thought" "Elena">>
<i>(two paces back, the small private grin landing again behind her composed face)</i> ...mm. Sloppy seconds, Nia. Goodnight.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The host's nudge landed exactly because the receivers were already a half-step from the contact and only needed a hand on the back to close the gap. Nathan's marriage-rough-patch substrate metabolised the kiss as the warmth he is not currently getting at home; Nia's suppressed colleague-attraction thread now has a known outlet that includes a cleared institutional precedent, the senior PI permitted it on a public street, the postdoc-vigilance does not have to keep refusing it. From this point forward the two of them will register the host as the woman who put their hands together. The downstream conditioning vectors run cleaner against that framing.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Nathan, kiss-contact transfer">>
<<conditioningFeedback "pheromone" 1 "Nia, kiss-contact transfer">>
<<else>>
<<say "char-holloway" "Nia">>
<i>(small startled laugh, half-stepping back from Nathan, her voice snapping back into place faster than the sake had been holding it off)</i> Elena, you menace, no, Nathan, sorry, ignore her, she is the worst.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional recovery, the senior-PI poise installing itself with the small careful diplomacy of a man who has been at conference dinners for fifteen years)</i> Nia, never apologise for Elena's social directness. Goodnight, both of you.
<</say>>
<p>Nia gets into her cab a fraction faster than the goodbye warranted, both ears pink. Nathan does the small head-bow into Elena's general direction, gets into the second cab with his usual institutional grace.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the curb, small wry shake of the head, the third cab pulling up)</i> ...mm. Too early. Nia is not yet a person who kisses a senior PI in the street, and Nathan is not yet a person who lets her. Fine. I asked, they answered, the answer is //not yet//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The receiver's wiring is not yet thinned enough at the colleague-boundary to permit the public kiss. Nia's postdoc-vigilance snapped back faster than the sake was holding it off, and Nathan's institutional recovery handled the moment with the small senior-PI diplomacy that protects subordinates from social misreadings. The host's nudge was correct in shape and premature in timing. The framing she has just installed, //the woman who tried to put their hands together//, will, at higher conditioning, be the framing the receivers consent into. Not tonight.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Nia, small contact, postdoc-vigilance held">>
<<conditioningFeedback "pheromone" 1 "Nathan, small contact, institutional recovery">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back home for the rest of the evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- LURE, Spec chooser + 3 channel variants ---- */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "A mid-tier sushi place across town, eight-seat chef counter">><</nobr>>
<div class="passage-title">Pheromone Lure: choose compound</div>
<div class="lab-location">Chef counter: three plates, three cups, the dose vents into the small space</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles. Each lands on both senior PIs. The chef-counter air is small enough that the dose concentrates on the targets and dissipates before reaching the four-top behind them.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Event-HolloHalvSushi-LurePheromone]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes both cortexes for next contact|Ch2-Vessel-Event-HolloHalvSushi-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into both nights' sleep|Ch2-Vessel-Event-HolloHalvSushi-LureDream]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "hollohalv-sushi-lure">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiLureDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiLureChannel to "pheromone">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure: pheromone compound · Nathan + Nia</div>
<div class="lab-location">Chef counter: warmth-and-trust compound vented across three plates</div>
<<say "char-hivemind" "Hivemind">>
//The dose vents off the host's exposed wrists and the back of her neck into the small enclosed counter air. Nathan's olfactory pathway picks it up under the sake-warm baseline; his shoulders ease another quarter-step, his eyes hold Elena's a fraction longer than the conversation justifies. Nia picks it up at the same time and her methodical-register guard drops by a measurable degree. Neither of them files the warmth as anything other than the sake.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Nathan, counter dose">>
<<conditioningFeedback "pheromone" 1 "Nia, counter dose">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "hollohalv-sushi-lure">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiLureDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiLureChannel to "psionic">>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure: psionic compound · Nathan + Nia</div>
<div class="lab-location">Chef counter: cortex-opener compound on both senior PIs</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds both prefrontal cortexes. Nathan's next sentence arrives a half-beat slower than the previous one; Nia forgets the word she was reaching for and laughs at herself instead of recovering it. Both of them file the small cognitive blip under //the third cup of sake// and let it pass.//
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small recovered laugh, eyes briefly losing the thread)</i> ...what was I, sorry, the sake is doing its work. Where were we?
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear half-laugh, sake-warm)</i> The vacation. Three of us. Lake place. I am holding all three of you to it.
<</say>>
<<conditioningFeedback "psionic" 1 "Nathan, counter dose">>
<<conditioningFeedback "psionic" 1 "Nia, counter dose">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "hollohalv-sushi-lure">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiLureDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiLureChannel to "dream">>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure: dream compound · Nathan + Nia</div>
<div class="lab-location">Chef counter: subconscious-imprint compound on both</div>
<<say "char-hivemind" "Hivemind">>
//Reads as nothing in the moment. Tonight, in the separate beds neither of them grades, the imprint composes itself in both. Nathan will not remember dreaming. Nia will, faintly, and will not say what.//
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small distracted half-second, looks briefly at the chef's hands and back to his cup)</i> ...sorry, lost it for a beat. Long week.
<</say>>
<<say "char-holloway" "Nia">>
<i>(eats, her careful-with-words guard off)</i> Long week.
<</say>>
<<conditioningFeedback "dream" 1 "Nathan, counter dose">>
<<conditioningFeedback "dream" 1 "Nia, counter dose">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
/* ---- SPORES, Spec chooser + 3 channel variants ---- */
/* Replaces the per-target Delve sub-passages, spores saturate the
small counter envelope and read both targets back through the
channel. Each variant includes a unified table-read intel block
alongside the conditioning grant, so Spores now does double duty
(saturation + read) rather than being purely a conditioning skill. */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "A mid-tier sushi place across town, eight-seat chef counter">>
/* Second-visit ambush: pheromone-channel redirects to the orgy when
sporesUsed AND biofilmUsed both true from a prior visit AND tier 3. */
<<set _ambushPrimed to ($ch2Events.hollohalvSushiSporesUsed or false) and ($ch2Events.hollohalvSushiBiofilmUsed or false) and (($day or 0) gt ($ch2Events.hollohalvSushiSporesDay or 0)) and (($day or 0) gt ($ch2Events.hollohalvSushiBiofilmDay or 0)) and (((($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0) + ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)) / 2) gte 7)>>
<</nobr>>
<div class="passage-title">Toxic Spores: choose compound</div>
<div class="lab-location">Chef counter: saturate the immediate counter air, both senior PIs in the dose's range</div>
<<say "char-hivemind" "Hivemind">>
//Higher-yield than the Lure. The spores saturate the entire eight-seat sushi bar, not just the counter air, the whole room. Every body in here metabolises the channel: chef, the four-top patrons, both senior PIs, the host herself. Three compound profiles. The host's own tissues have been quietly building tolerance to the channel signature she handles most often, so the dose lands smaller on her than on the others, but it still lands.//
<</say>>
<<if _ambushPrimed>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> [[Pheromone-channel, tip the primed room past the line|Ch2-Vessel-Event-HolloHalvSushi-Orgy]]</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> [[Pheromone-channel, sustained warmth saturation|Ch2-Vessel-Event-HolloHalvSushi-Spores]]</div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Psionic-channel, sustained cognitive opener|Ch2-Vessel-Event-HolloHalvSushi-SporesPsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Dream-channel, subconscious-imprint saturation|Ch2-Vessel-Event-HolloHalvSushi-SporesDream]]</div><<nobr>>
<<spendBiomass 2 "hollohalv-sushi-spores">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiSporesDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiSporesUsed to true>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Toxic Spores: pheromone-channel · the room</div>
<div class="lab-location">A wood-paneled sushi bar at the end of round one: the air now carrying more than sake</div>
<p>The spore-vector saturates the eight-seat sushi bar edge to edge, the chef's hands slow a fraction on the rice; at the four-top against the back wall, the woman leans closer to her companion than she had two minutes ago, voice dropping into a register the room-baseline did not strictly permit; the room is half a degree warmer than it was a minute ago and nobody is going to question it.</p>
<<say "char-npc" "the chef">>
<i>(small wry, half to himself, half to the counter, hands resuming the rice)</i> ...what's in the sake tonight, hm.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small unguarded laugh, voice easing)</i> The rice tonight is excellent, I want to send the chef something, but I have no idea what one sends a sushi chef. What does one send a sushi chef?
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear laugh, leaning a fraction closer to Elena at the counter)</i> Whisky, the good kind, or another patron.
<</say>>
<<say "char-chen" "Elena">>
<i>(small half-laugh into her own cup, half to the counter and half to the two of them)</i> Send the whisky, the chef will know what to do with it, and he is not the only one in this building who has had a long week.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dose saturates the room. Every body in here metabolises the channel, the chef's slower hands, the four-top leaning in, both senior PIs' shoulders easing another quarter-step. The host's own respiratory uptake gives her a measurably reduced response: over the past three weeks her tissues have been quietly building tolerance to the channel signature she handles most often. The dose still lands on her, just smaller, and tomorrow she will run a fraction more efficient at venting in close quarters. The channel reads back through the saturation as a unified table-read on the two senior PIs.//
<</say>>
<span class="delve-intel"><b>Nathan</b>: marriage in a quiet rough patch (eight months, no acute crisis, just distance), the host's company reading as the warmth he is not currently getting at home. <b>Nia</b>: postdoc-end decision turning over for three months, the host's company reading as low-stakes friendship she does not have anywhere else, and, surfaced for the first time tonight, a colleague-attraction thread her methodical register has been suppressing.</span>
<<conditioningFeedback "pheromone" 1 "Nathan, room saturation">>
<<conditioningFeedback "pheromone" 1 "Nia, room saturation">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div><<nobr>>
<<spendBiomass 2 "hollohalv-sushi-spores">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiSporesDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiSporesUsed to true>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addConditioning "chen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Toxic Spores: psionic-channel · the room</div>
<div class="lab-location">A wood-paneled sushi bar with the cognitive-opener compound saturating the air</div>
<p>The spore-vector saturates the eight-seat sushi bar edge to edge with the cognitive-opener compound. The chef pauses on a piece of nigiri, blinks once, sets it down and picks up a different one, the small institutional cadence of a man whose hands have just briefly lost the thread of a sentence. At the four-top, the man stops mid-anecdote and laughs at himself for losing the punchline; the woman waves it off and refills his cup. The room is thinking a fraction slower and the room is fine with that.</p>
<<say "char-npc" "the chef">>
<i>(small frown at his own hands, then a recovered half-smile)</i> ...long week.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(slow blink, the sentence catching half a beat off)</i> ...what was I, yes, conduit photos, no I have already said that, sorry, what were we on?
<</say>>
<<say "char-holloway" "Nia">>
<i>(a clear laugh, voice loosened)</i> Same, what was I about to say?
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh, talking half to the chef's hands and half to the two of them)</i> We are all losing the thread tonight, chef, at least it is a soft loss. The rice is fine, we are fine, keep going.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dose saturates the room. Every prefrontal cortex in here is metabolising the channel, the chef's hands, the four-top's giggling, both senior PIs' lost threads, the host's own conversational filter loosened a notch. The host's own respiratory uptake gives her a measurably reduced response: over the past three weeks her tissues have been quietly building tolerance to the channel signature she handles most often. The dose still lands on her, just smaller, and tomorrow she will run a fraction more efficient at venting in close quarters. The channel reads back through the saturation as a unified table-read on the two senior PIs.//
<</say>>
<span class="delve-intel"><b>Nathan</b>: marriage in a quiet rough patch (eight months, no acute crisis, just distance), the host's company reading as the warmth he is not currently getting at home. <b>Nia</b>: postdoc-end decision turning over for three months, the host's company reading as low-stakes friendship she does not have anywhere else, and, surfaced for the first time tonight, a colleague-attraction thread her methodical register has been suppressing.</span>
<<conditioningFeedback "psionic" 1 "Nathan, room saturation">>
<<conditioningFeedback "psionic" 1 "Nia, room saturation">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div><<nobr>>
<<spendBiomass 2 "hollohalv-sushi-spores">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiSporesDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiSporesUsed to true>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addConditioning "chen" "dream" 1>>
<</nobr>>
<div class="passage-title">Toxic Spores: dream-channel · the room</div>
<div class="lab-location">A wood-paneled sushi bar with the dream compound saturating the air: no in-room footprint</div>
<p>The spore-vector saturates the eight-seat sushi bar edge to edge with the dream compound. Reads as zero in the moment, the chef's hands keep moving at their twenty-six-year cadence, the four-top patrons keep eating, neither senior PI clocks the dose. The room registers exactly nothing. Tonight, in the seven beds the room's bodies will scatter to in the next ninety minutes, the imprint composes itself.</p>
<<say "char-halvorsen" "Nathan">>
<i>(small distracted half-second, eyes briefly on the menu he was not reading)</i> ...sorry, lost the thought, long week.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small smile, eats)</i> Long week.
<</say>>
<<say "char-chen" "Elena">>
<i>(small private half-smile to the counter, picking up the next piece of nigiri)</i> Long week, fine company, good fish, I will take all three.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No in-room footprint. Tonight the dose composes itself in seven separate beds, the chef into a sense-memory of better rice; the four-top couple into each other; Nathan into the calm-warm register he has been missing for eight months; Nia into the attraction-thread her cortex has been suppressing about a colleague. The host's own respiratory uptake gives her a measurably reduced response, three weeks of accumulated tolerance, but the dream compound still finds the substrate, and tonight the host will dream warm in a way she has not dreamed in long enough that she will not put a date on it. The channel reads back through the saturation as a unified table-read on the two senior PIs.//
<</say>>
<span class="delve-intel"><b>Nathan</b>: marriage in a quiet rough patch (eight months, no acute crisis, just distance), the host's company reading as the warmth he is not currently getting at home. <b>Nia</b>: postdoc-end decision turning over for three months, the host's company reading as low-stakes friendship she does not have anywhere else, and, surfaced for the first time tonight, a colleague-attraction thread her methodical register has been suppressing.</span>
<<conditioningFeedback "dream" 1 "Nathan, room saturation">>
<<conditioningFeedback "dream" 1 "Nia, room saturation">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
/* ---- BIOFILM RESIDUE, coats the chef counter / chopsticks / cup rims.
Sets the durable hollohalvSushiBiofilmUsed flag, combined with
hollohalvSushiSporesUsed, opens the second-visit ambush branch the
next time Chen invites Halv + Nia out (per event-design.md). */<<nobr>>
<<spendBiomass 2 "hollohalv-sushi-biofilm">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiBiofilmDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiBiofilmUsed to true>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Biofilm Residue: the counter, the chopsticks, the rims</div>
<div class="lab-location">Chef counter: the residue laid down across every shared surface</div>
<p>The compound vents off the host's fingertips at handshake-distance and lays itself down across every surface the three of them are sharing, the wood of the counter under their elbows, the lacquered chopsticks the chef has just placed, the rims of the small ceramic sake cups, the small black slate plates as they come and go. The dose is invisible and odourless; the chef has cleaned this counter every night for twenty-six years and will clean it again at close, but biofilm residue at this concentration outlasts a damp cloth.</p>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional, picking up his cup, not noticing the rim)</i> The flight is excellent, the second tokkuri is sweeter than the first, has anyone else got that?
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear, drinks from her own cup, the rim's residue coming with it)</i> Yes, the second one is unmistakably sweeter. Good catch.
<</say>>
<<say "char-chen" "Elena">>
<i>(small private half-smile, picking up her own chopsticks)</i> Mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two senior PIs are now carrying the residue out of the building on their lips, on their fingertips, in the light film their cups have left on their tongues. The transdermal absorption window will run for the next four to six hours; the cumulative dose is small but it will accompany every interaction the two of them have between leaving this counter and going to bed. More important: the surfaces themselves are now a held substrate. The chef will wipe the counter; the residue will not come off. The next time the host books this same counter for the next escalation, the room will already be primed from the last time, and the two senior PIs will sit back down on a counter they have already sat on, and metabolise the difference.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Nathan, biofilm transdermal, 4–6 hour window">>
<<conditioningFeedback "pheromone" 1 "Nia, biofilm transdermal, 4–6 hour window">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
/* Knee-bump sub-passages REMOVED in the rework, the sake-push chain
replaces them as the only NUDGE in the scene. Per the design doc:
"double nudge" = SakePush + SakeFurther. */
/* ---- SAKE PUSH, first push, Holloway → drunk (VM-gated, T2+) ---- */<<nobr>>
<<spendBiomass 1 "hollohalv-sushi-sake-push">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiHollowayDrunkDay to ($day or 0)>>
<<addConditioning "holloway" "dream" 1>>
<</nobr>>
<div class="passage-title">Pour Nia another</div>
<div class="lab-location">Chef counter: round two becomes round three for Nia, Nathan waves it off</div>
<<say "char-chen" "Elena">>
<i>(small, catching the chef's eye, tipping her cup at Nia's empty)</i> One more for Nia. Same flight.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional half-laugh, palm raised in the small water-on-the-side gesture)</i> Not for me. I am pacing.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small clear laugh, cheeks already coloured a fraction further than the lab has ever seen them, accepting the pour)</i> Pacing is for cowards. Thank you.
<</say>>
<p>Nia's third cup goes down at the same easy rate as the first two. The methodical-postdoc register is fully gone, she is laughing in the middle of her own sentences, leaning her shoulder against Elena's a fraction more than the chef-counter dimensions strictly require, and the careful word-choice that used to sit between her and Elena at the lunch table has untethered itself.</p>
<<say "char-hivemind" "Hivemind">>
//Nia is drunk. Her vigilance is fully off, her body is leaning warmer toward the host, the colleague-attraction thread her cortex has been refusing to surface is at the surface and unguarded. One more push and she is past the can-she-drive-herself-home threshold; I have the choice of where this lands.//
<</say>>
<<conditioningFeedback "dream" 1 "Nia, drunk; vigilance fully off">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
/* ---- SAKE FURTHER, second push, Holloway → very drunk (gated on first) ---- */<<nobr>>
<<spendBiomass 1 "hollohalv-sushi-sake-further">>
<<bg "bg-chen-kitchen">>
<<set $ch2Events.hollohalvSushiHollowayVeryDrunkDay to ($day or 0)>>
<<addConditioning "holloway" "dream" 1>>
<</nobr>>
<div class="passage-title">One more: past the line</div>
<div class="lab-location">Chef counter: Nia's fourth cup, the chef's small concerned glance, the cab the host is going to call</div>
<<say "char-chen" "Elena">>
<i>(small, casual, the chef catching her eye and registering the round-four request the way chefs register round-four requests when one of the three diners has clearly stopped pacing)</i> One more for Nia.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small careful pause, eyes briefly to Elena with the small senior-PI institutional read of //is that a good idea//, then easing into the trust the off-clock version of him has been giving Elena all evening)</i> ...you'll see her into a cab?
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-half-smile)</i> I'll see her home.
<</say>>
<<say "char-holloway" "Nia">>
<i>(a wave-off-discipline laugh, the cheeks now properly flushed, her diction starting to slide)</i> I should not. I am going to. Thank you, chef. Elena, you are a problem.
<</say>>
<p>The fourth cup arrives and goes down at the same rate as the first three. Nia is not drunk in the lab-Halloween-party sense, she is drunk in the //she has lost the back of the chair her postdoc-vigilance was hanging on// sense. By the time the bill arrives she will not be able to walk a straight line to the door, and she will lean on Elena on the way out without thinking about it.</p>
<<say "char-hivemind" "Hivemind">>
//Nia is past her limit. The cortex's filter on what she will and will not say to a colleague has gone with the methodical register; the body is leaning into the host without consulting anyone; the cab-home-alone option is no longer on the table. The host has bought the right to walk Nia home, and Nia will let herself be walked.//
<</say>>
<<conditioningFeedback "dream" 1 "Nia, past the line; cab-home alone is off the table">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the counter|Ch2-Vessel-Event-HolloHalvSushiEvening]]</div>
/* ---- T2 OUTCOME B, Halv + Nia exit to bathroom (Chen watches) ----
Triggered via the Hormonal Override skill option in the main passage
menu, gated on Holloway-drunk (1+ sake push) AND _tier >= 2.
Cost: 3 biomass via biomassPreview on the menu link.
Reuses the deployed bathroom-mid-act image. */<<nobr>>
<<spendBiomass 3>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The unisex bathroom at the back of the sushi place, the door not quite latched">>
<<set $ch2Events.hollohalvSushiHODay to ($day or 0)>>
<<set _firstTimeHO to ($ch2Events.hollohalvSushiHalvNiaBathroomFired or false) is false>>
<<if _firstTimeHO>>
<<set $ch2Events.hollohalvSushiHalvNiaBathroomFired to true>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Nathan and Nia excuse themselves</div>
<div class="lab-location">The single unisex bathroom at the back of the sushi place: small, beige tile, the door pulled closed but not latched</div>
<p>Elena vents a measured dose of the override compound into the small two-foot circle of air around the chef counter, the dose tuned for the specific oxytocin-and-cortisol shape of two senior PIs whose vigilance has been loosened by sake. The reaction is immediate and visible. Nathan sets his cup down a quarter-second too carefully. Nia laughs at something that wasn't quite a joke. Their eyes catch and hold a beat longer than the off-clock register accounts for.</p>
<<say "char-holloway" "Nia">>
<i>(small flushed clear, sake-warm, eyes briefly to Elena, then back to Nathan)</i> Nathan, sorry, I, give me five minutes.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional pause, voice easing, the small one-second weighing of //is this what I am about to do// landing on yes)</i> ...I'll be right behind you.
<</say>>
<p>Nia slides off her stool with the small unsteady drunkenness of round three, and Nathan, after the small dignified pause that is Nathan's way of pretending he is going for the bathroom and not following her, does, in fact, go for the bathroom. The chef catches Elena's eye in a small wry institutional glance, twenty-six years behind that counter, he knows what he's seeing, and asks if she'd like another round.</p>
<<say "char-chen" "Elena">>
<i>(small return-half-smile, signing the bill)</i> No, just the bill, please. Thank you.
<</say>>
<p>Elena pays the bill, picks up her coat, walks back past the bathroom on her way out, and the bathroom door, which Nia pulled closed with the small inattention of a drunk woman, has not actually latched. The crack is two inches wide. The pendant light over the chef counter throws a thin amber strip across the bathroom floor, and Elena pauses in the corridor in the half-shadow with the small careful stillness of a woman who is being told something she should not be hearing.</p>
<p>Nia is bent forward over the marble sink counter, both hands flat on the stone, her slate-grey turtleneck shoved up over her breasts, her skirt hiked over her hips. Nathan is behind her, charcoal cardigan still on, trousers open, his cock buried in her pussy, mid-thrust. Through the gap in the door the wet rhythmic sound of their hips meeting is unambiguous, the small slap-slap of skin under the warm pendant light.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-bathroom-mid-act.webp" alt="A small wood-paneled unisex bathroom at the back of a sushi place, beige tile walls, marble sink counter with a mirror above. Dr. Nia, 28-year-old Black African-American woman with natural afro hair coming loose from a low bun, slate-grey turtleneck pushed up over her breasts and skirt hiked over her hips, bent forward over the marble sink counter, both hands flat on the marble. Behind her, Dr. Nathan, late-40s white American man with salt-and-pepper hair, charcoal cardigan still on, his hands gripping her hips, mid-thrust in vaginal sex from behind. Low warm pendant light from above, dim atmospheric. Photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(low, strained, the institutional register fully gone, one hand fisted in the side of her hip)</i> Christ, Nia, look at you, the way you, the way you take that,<</say>>
<<say "char-holloway" "Nia">>
<i>(flushed clear and breathy, head dropped between her shoulders, voice shredded by the rhythm)</i> Don't, don't stop, Nathan, don't, //fuck//, keep going, just like that,<</say>>
<<say "char-chen-thought" "Elena">>
<i>(in the corridor, eyes pressed to the gap, her own pulse loud against her sternum, the small wry private observation from a woman who has just produced this exact result through measured chemistry)</i> ...mm. So Nathan does have a register past institutional courtesy after all.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(picking up the pace, hand sliding from her hip up under her pushed-up turtleneck, palming her breast, voice pitched lower)</i> Quieter, Nia, the chef, the chef will hear you,<</say>>
<<say "char-holloway" "Nia">>
<i>(half-laughing, half-moaning, biting her own forearm to keep the sound down)</i> Mmh, //mm//, sorry, sorry, fuck,<</say>>
<<say "char-hivemind" "Hivemind">>
//The compound did its small chemical work. Two senior PIs whose marriage and methodical-postdoc registers were respectively a known rough patch and a suppressed colleague-attraction thread are now metabolising the override directly. Nathan's institutional voice has dropped half an octave; Nia's careful word-choice has gone with her vigilance. The host has chosen to watch from the corridor, the door is open the requisite two inches, the sake is doing the rest. Tomorrow morning at the lab, neither of them will be able to look directly at the other, and that itself is a downstream conditioning vector.//
<</say>>
<<if _firstTimeHO>>
<<conditioningFeedback "pheromone" 1 "Nathan, direct sexual contact in the bathroom">>
<<conditioningFeedback "pheromone" 1 "Nia, direct sexual contact in the bathroom">>
<</if>>
<hr class="scene-break">
/* T3 join-in option: gates on Halv + Holl both at 24+ conditioning
(per the project's 8/15/24 per-target threshold rule). Below that,
Chen can stay through the aftermath OR slip out. */
<<set _hTotalLive to ($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0)>>
<<set _nTotalLive to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<set _joinUnlock to (_hTotalLive gte 24) and (_nTotalLive gte 24)>>
<<if _joinUnlock>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Push the door open, make it three (1 biomass)" "Ch2-Vessel-Event-HolloHalvSushi-Threesome" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> <span class="delve-tag delve-tag-vessel" style="opacity:0.5">NUDGE</span> Push the door open, join them <span class="lock-hint">(Higher conditioning required, they're not ready to be walked in on yet)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">STAY AND WATCH</span> [[Stay in the corridor, watch through to the finish|Ch2-Vessel-Event-HolloHalvSushi-BathroomAftermath]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SLIP OUT</span> [[Step away, leave them to it, head home|Ch2-Vessel-Event-HolloHalvSushi-Wrap]]</div>
/* ---- T2 OUTCOME B-aftermath, Chen stays through the finish ----
Reached via STAY AND WATCH from the bathroom-watch passage. Reuses
the deployed bathroom-aftermath.webp image. Yields +2 biomass for
the sustained voyeur uptake; conditioning gain is the dream-channel
imprint from watching the senior pair finish. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Outside the bathroom door at the back of the sushi place, Chen still in the corridor">>
<<set _firstTimeAftermath to ($ch2Events.hollohalvSushiBathroomAftermathFired or false) is false>>
<<if _firstTimeAftermath>>
<<set $ch2Events.hollohalvSushiBathroomAftermathFired to true>>
<<addBiomass 2 "hollohalv-sushi-bathroom-aftermath">>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">She stays in the corridor</div>
<div class="lab-location">The dim corridor outside the unisex bathroom: Elena pulled back into the half-shadow, the door still cracked two inches</div>
<p>Elena does not move. The pendant light over the chef counter throws its thin amber strip across the floor, and the chef has gone back to the kitchen, and the corridor is empty, and the door is still open the requisite two inches. Elena leans her shoulder against the wall opposite the bathroom, slides one hand under the waistband of her skirt, two fingers down the front of her own underwear, and finds herself wet enough that her own touch makes her exhale.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the corridor, her own breath shallow against her teeth, two fingers pressed flat against her clit, eyes still on the gap in the door)</i> ...look at her. Look at the woman who couldn't stop talking about grant deadlines in the lunchroom, look at her now, taking it like that. Nathan's wife is at home. Mm.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(picking up speed, voice tight, hand fisting in Nia's hair from behind)</i> Tell me, tell me how it feels, Nia, tell me,<</say>>
<<say "char-holloway" "Nia">>
<i>(broken, half-sobbing-half-laughing, eyes screwed shut against the mirror)</i> So good, fuck, Nathan, so,// fuck//, so good, harder, please, harder,<</say>>
<p>Nathan gives her harder. The sound of it carries through the gap in the door, wet rhythmic slap of his hips, the small high-pitched //oh// that Nia makes every third thrust, the muttered curses Nathan does not usually swear with. Elena rubs herself in slow tight circles against the corridor wall, breathing through her nose, the override compound lingering in her own respiratory uptake doing its small secondary work on her.</p>
<<say "char-chen-thought" "Elena">>
<i>(faster on her clit, the small wry observation losing the dryness, replaced by something rougher)</i> ...come on, Nia. Come for him. //Come for him.//
<</say>>
<<say "char-holloway" "Nia">>
<i>(higher pitched, voice cracking, both palms flat on the marble, head dropped, the orgasm landing, loud, the way drunk people come, a single drawn-out moan she does not have the vigilance left to silence)</i> Nathan, Nathan, //ohhh, //
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(strangled, pulling out fast, fisting his cock in his free hand, voice low and ragged)</i> Nia, Nia, turn around, //now//,<</say>>
<<say "char-holloway" "Nia">>
<i>(still drunk-shuddering through her own come-down, but the postdoc's compliance kicking in even sake-warm, turning fast to face him with her back against the sink, looking up)</i> Yes, yes, Nathan, here,<</say>>
<p>Nathan finishes across her face in three thick pulses, white cum streaking her forehead, the bridge of her nose, the apple of one cheek, a heavy thread along the corner of her parted lips. He braces his free hand against the mirror behind her head, jaw locked, the low growl pressed out through clenched teeth as he comes down. Nia holds her face up the whole time, mouth slightly open, dazed-grateful in a way the host has never seen the methodical postdoc be.</p>
<p>Elena comes a half-beat after them, in the corridor, against the wall, biting down on the heel of her own free hand to keep the sound silent. The override compound's secondary feedback loop catches her exactly the way the parasite's preview said it would. She holds the orgasm under her teeth for a count of four, lets it through her body, then carefully extracts her fingers from her underwear, smooths her skirt, takes one slow breath, and pulls back from the door.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-bathroom-aftermath.webp" alt="A small wood-paneled unisex bathroom at the back of a sushi place, post-coital aftermath. Dr. Nia, 28-year-old Black African-American woman with natural afro hair fully come loose around her shoulders, slate-grey turtleneck pulled back down but rumpled, skirt smoothed but uneven, leaning back against the bathroom sink counter half-laughing, her cheeks visibly flushed. Dr. Nathan, late-40s white American man with salt-and-pepper hair (slightly mussed), charcoal cardigan crooked on his shoulders, white shirt half-buttoned and uneven, belt now refastened, leaning his shoulder against the bathroom door. Both of them visibly recovering. Beige tile walls, low warm pendant light from above, mirror reflection partly visible. The small private register of two professionals who have just done something they cannot un-do. Photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(catching his breath against the wall beside the door, voice low and rough, the senior-PI cadence slowly reinstalling itself)</i> ...Christ. Christ, Nia. We, we should, give it a minute. I'll go first. You wait three minutes, then come out. The chef is in the kitchen, Elena's still at the table waiting for us, the bar is otherwise empty.
<</say>>
<<say "char-holloway" "Nia">>
<i>(half-laughing, half still catching her breath, sake-warm, smoothing her skirt with the small unsteady focus of a woman who is drunk and embarrassed and also fine, hair completely loose now)</i> Mm, yeah. Three minutes. Go.
<</say>>
<<say "char-holloway" "Nia">>
<i>(smaller, half to herself, dabbing the cum off her face with a paper towel from the dispenser)</i> Christ, Nathan.
<</say>>
<p>Elena pulls back from the door fast, the half-second between Nathan's last sentence and his hand on the door handle is exactly the time she has to retreat. She slips back down the corridor toward the chef counter, slides onto her stool with the small composed swiftness of a woman who has been sitting there reading her phone for the last six minutes, takes a long pull from her water glass, smooths her skirt for the second time tonight, and arranges her face into the small composed half-curious register of a colleague who is wondering where Nathan and Nia have got to.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, eyes on her phone screen, heart still loud against her sternum, the composed face going back on)</i> ...mm. Phone. Phone, water, composed face. Nathan will be out in fifteen seconds, Nia in three minutes. The bar is small and the chef is in the kitchen and the four-top has been gone for twenty minutes. Nobody saw anything that did not need to be seen.
<</say>>
<p>Nathan emerges from the corridor at the calculated pace of a man who has merely been to the bathroom, slides back onto his stool beside Elena with the small institutional ease he uses at the end of every dinner, signals the chef for a glass of water, and tucks back into the small institutional silence of a senior PI waiting for his postdoc to return from the bathroom. He does not look at Elena directly. Elena does not look at him directly. Their elbows hold at the same handshake-distance the lab has always carried at conference dinners.</p>
<p>Nia emerges three minutes later, hair rebound into a low bun (loose, but rebound), turtleneck smoothed, skirt smoothed, the small composed register of a woman who has merely been to the bathroom and is now perhaps slightly more drunk than when she went in. She slides back onto her own stool, picks up her water glass, drinks it in one slow pull. Elena smiles at her with the small composed half-smile of a colleague who has been waiting six minutes for her drinking partner to come back from the bathroom.</p>
<<say "char-chen" "Elena">>
<i>(small clear, easy, her voice fully restored, the small private wryness behind it audible only to the parasite)</i> Better?
<</say>>
<<say "char-holloway" "Nia">>
<i>(small flushed clear half-laugh, the postdoc's careful word-choice not quite back yet, accepting the cover with both hands)</i> Mm. Much better. Sake hits late.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional, signing the bill with the small senior-PI courtesy-move he does at every dinner, glancing up at Elena and then at Nia with the small careful neutrality of a man who is going to think about this for a long while but is not going to think about it tonight)</i> Shall we? The cabs will be lined up out front.
<</say>>
<p>The three of them collect coats, pay the chef his small institutional thank-you, and step out onto West Street together, the small composed three-of-a-kind silhouette of three colleagues who have had a perfectly normal sushi dinner and are now going home in three different cabs to three different addresses.</p>
<<say "char-hivemind" "Hivemind">>
//The host stayed for the full sustained-uptake window. Both senior PIs are now carrying the dream-channel imprint into tonight's sleep, the host installed the memory at exactly the moment of climax, which is the moment the brain's encoding bandwidth is widest. Tomorrow morning at the lab, Nathan and Nia will dream-remember not the bathroom but the faint warm feeling of the host's company at dinner, and the institutional dynamic will have permanently shifted by the time of the Monday standup.//
<</say>>
<<if _firstTimeAftermath>>
<<conditioningFeedback "dream" 1 "Nathan, dream-channel imprint at the moment of climax">>
<<conditioningFeedback "dream" 1 "Nia, dream-channel imprint at the moment of climax">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out through the back, head home|Ch2-Vessel-Event-HolloHalvSushi-Wrap]]</div>
/* ---- T3 OUTCOME, Threesome (Chen joins Halv + Nia) ----
Triggered via the JOIN IN link in the bathroom-watch passage above,
gated on Halv + Holl both at 24+ conditioning total. Cost: 1 biomass (Nudge).
Reuses the deployed threesome-2.webp + threesome-3.webp images. */<<nobr>>
<<spendBiomass 1>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Inside the unisex bathroom, three of them, the door now closed and latched">>
<<set _firstTimeThree to ($ch2Events.hollohalvSushiThreesomeFired or false) is false>>
<<if _firstTimeThree>>
<<set $ch2Events.hollohalvSushiThreesomeFired to true>>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addBiomass 3 "hollohalv-sushi-threesome">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Three of them, the door latched</div>
<div class="lab-location">Inside the small unisex bathroom: three figures now, the door closed properly behind Elena, the warm pendant light overhead</div>
<p>Elena pushes the door open the rest of the way, steps inside, and pulls it closed behind her, and this time the latch catches. Nathan and Nia both look up at her at exactly the same instant, the small twin half-second of //is this happening// landing on yes simultaneously, the override compound still working its small chemical work in both their nervous systems.</p>
<<say "char-chen" "Elena">>
<i>(small wry, low, dropping her coat on the floor by the door, walking the two steps across the tile, the voice of a woman who has decided what she is doing in the next ten minutes)</i> Don't stop on my account.
<</say>>
<<say "char-holloway" "Nia">>
<i>(small flushed clear laugh, sake-warm, voice loosened, eyes briefly to Nathan still inside her, then back to Elena, the small fraction-of-a-second weighing of //is this what I am doing now// landing on yes again)</i> ...okay. Okay, Elena. Christ.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(strained, hands tight on Nia's hips, holding the rhythm slowed, his eyes catching Elena's with the careful weighing of a man who has just been given permission for two things at once)</i> Elena, are you, yes? Yes.
<</say>>
<p>Nia hooks one leg up onto the marble counter and leans back, sake-warm and pliant. Nathan, still inside her, still mid-thrust, eases the rhythm down for the half-second it takes Elena to kneel between Nia's spread legs on the cold tile floor, push her glasses up her nose with one knuckle, and put her tongue on Nia's clit.</p>
<<say "char-holloway" "Nia">>
<i>(strangled gasp, head dropping back against the mirror, both hands going to Elena's hair)</i> Oh, //oh//, fuck, Elena, your //mouth//,<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes up at Nia through the slim acetate frames, tongue working in slow flat circles, the small dry observational composure intact even with a postdoc's clit pressed against her lower lip)</i> ...mm. So this is what loosens her vigilance.
<</say>>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-threesome-2.webp" alt="A small wood-paneled unisex bathroom at the back of a sushi place. Dr. Nia, 28-year-old Black African-American woman with natural afro hair pulled back into a low bun coming loose, sitting on the marble sink counter with her slate-grey turtleneck pushed up over her breasts and skirt hiked over her hips, legs spread, head tilted back, mouth open in pleasure. Dr. Elena, 32-year-old Chinese-American woman with light pale skin and shoulder-length straight black hair and slim dark-acetate rounded-rectangular reading glasses, kneeling on the bathroom floor between her spread legs, face buried between her thighs, giving her oral sex. Behind Elena, Dr. Nathan, late-40s white American man with salt-and-pepper hair and charcoal cardigan, his hands on Elena's hips, mid-thrust in vaginal sex from behind. Beige tile walls, low warm pendant light. Photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(pulling back from Nia, dropping to one knee behind Elena, voice dropped into low control, hands on Elena's hips guiding her skirt up over her waist)</i> Good, good, Elena. Stay just like that. Don't stop what you're doing.
<</say>>
<p>Nathan presses his cock into Elena from behind in one slow thorough motion, both hands tight on her hips, the rhythm starting back up at the slower tempo he had been pacing on Nia and matching itself to the rhythm of Elena's tongue on Nia's clit. The four-by-six-foot bathroom fills with the layered sound of three bodies, Elena's small wet //mmh// against Nia's pussy, Nathan's controlled exhale through his nose with each thrust, Nia's increasingly broken babbling above them.</p>
<<say "char-chen" "Elena">>
<i>(brief pull-off, glasses now genuinely askew, mouth wet, voice rough)</i> Mmh. //Mmh.// You taste, fuck, Nia, you taste,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(low, against Elena's shoulder, palm sliding up under her cardigan to cup her breast, the small senior-PI voice filtered through the rough rhythm)</i> Mouth back where it belongs, Elena. Good girl. Keep going.
<</say>>
<<say "char-holloway" "Nia">>
<i>(half-laughing, half-crying, hand fisting tight in Elena's hair to push her face back down)</i> Don't stop, Elena please, please please please,<</say>>
<<say "char-chen-thought" "Elena">>
<i>(face back down, tongue back to work, the small dry observation softening at the edges into something warmer than it has been all evening)</i> ...good girl. Good girl. Mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three bodies in three height tiers in a four-by-six-foot bathroom, the override compound running through both senior PIs and the host's own respiratory uptake giving her a smaller dose of the same chemistry, the room saturated with the right gases. The host's tongue on a postdoc's clit and a senior PI's cock in her pussy at the same time is the kind of memory the receivers will not be able to undo. The lab will not recover from this on Monday morning. The institutional dynamic has just permanently shifted.//
<</say>>
<p>Nia comes first, head all the way back against the mirror, hand fisted in Elena's hair, the orgasm landing as a long shuddering //ohhh// she does not have the vigilance left to silence. Nathan comes second, hands tight on Elena's hips, face buried in the back of her neck, the same low strangled growl from before pressed into Elena's hair. The second wave catches Elena herself a half-beat later, the override compound's secondary feedback loop landing exactly the way the parasite's preview said it would.</p>
<<say "char-halvorsen" "Nathan">>
<i>(catching his breath, still inside Elena, hand still on her hip but easing, voice rough and low against the back of her neck)</i> Christ. //Christ.// Elena, that was,<</say>>
<<say "char-chen" "Elena">>
<i>(half-laughing into Nia's thigh, eyes wet with the after-tears that come with that specific kind of orgasm, glasses fogged)</i> Mm. Yeah. I know.
<</say>>
<<say "char-holloway" "Nia">>
<i>(reaching down with both hands to lift Elena's face up off her thigh, leaning forward, her own face still flushed with the cum on her cheekbones from where Nathan finished, pulling Elena's mouth up to hers in a slow open-mouthed kiss, sharing what's there)</i> C'mere. C'mere.
<</say>>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-threesome-3.webp" alt="A photorealistic close-up photograph of two women sharing a cum-swap kiss in a small unisex bathroom. Elena, 32-year-old Chinese-American woman with light pale skin, soft Asian features, shoulder-length straight black hair slightly mussed, slim dark-acetate rounded-rectangular reading glasses askew, on the LEFT, and Dr. Nia, 28-year-old Black African-American woman with dark skin, natural afro hair coming loose from a low bun, on the RIGHT, both with moderate facial cum on cheeks and chins and parted lips, mouths pressed together in an open-mouthed kiss with tongues touching and glossy strings of cum visible bridging between them. Their faces are close together, intimate, dazed-satisfied expressions. Beige tile bathroom walls, low warm pendant light, post-coital atmosphere. Photorealistic candid documentary style.">
<p>The kiss lasts the count it takes Nathan to ease himself out of Elena, fasten his trousers, and lean his back against the bathroom door with a small hoarse laugh that is, mostly, in shock at himself. Elena lets Nia hold her face for the duration of the kiss; Nia tastes like cum and sake and the specific salt-warmth of post-orgasm. The three of them are silent for a long count after, the only sound the small ragged breathing of three bodies who have just done a thing none of them will be able to walk back.</p>
<<if _firstTimeThree>>
<<conditioningFeedback "pheromone" 1 "Nathan, direct sexual contact, threesome">>
<<conditioningFeedback "psionic" 1 "Nathan, host installed in his memory of this">>
<<conditioningFeedback "pheromone" 1 "Nia, direct sexual contact, threesome">>
<<conditioningFeedback "psionic" 1 "Nia, host installed in her memory of this">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Straighten up, leave together, three different cabs, the bar's the bar|Ch2-Vessel-Event-HolloHalvSushi-Wrap]]</div>
/* ---- T3 OUTCOME, Chen + Halv full sex in the unisex bathroom ----
Triggered via the Nudge link in the slip-3 payoff (T3 conversation
branch only fires when _hTotal >= 24 AND Holloway not very drunk).
Cost: 1 biomass (Nudge cost). Reuses the deployed chen-halv-1.webp
(pinned to counter), -2.webp (against the door), -3.webp (POV cum
in mouth). Nia is still at the counter when Chen and Halv return
separately; no goodbye-kiss auto-fire (Chen+Halv path doesn't put
Halv+Nia together). */
/* ---- T3 OUTCOME, Orgy (second-visit ambush, pheromone spores trigger) ----
Triggered via the Pheromone-channel branch of the Spores menu when
the second-visit ambush conditions are met (sporesUsed AND biofilmUsed
from a prior visit, _avgTotal >= 7). The contaminated room tips past
the line under another pheromone dose. Reuses orgy-1.webp (counter
spitroast), orgy-2.webp (Chen+Holloway double BJ on a stranger),
orgy-3.webp (Chen pinned against the wall). Yield per spec: +3
maxBiomass + +4 biomass + heavy conditioning across Halv + Holl. */<<nobr>>
<<spendBiomass 2>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The contaminated sushi bar at half past ten, front door now locked, the room tipping past the line">>
<<set _firstTimeOrgy to ($ch2Events.hollohalvSushiOrgyFired or false) is false>>
<<if _firstTimeOrgy>>
<<set $ch2Events.hollohalvSushiOrgyFired to true>>
<<set $ch2Events.hollohalvSushiSporesDay to ($day or 0)>>
<<set $ch2Events.hollohalvSushiSporesUsed to true>>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<addBiomass 4 "hollohalv-sushi-orgy">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addConditioning "chen" "pheromone" 1>>
/* Skip the Wrap curb scene, Chen goes direct from the back exit
to her Corolla and home. Inline the booking-reset that Wrap
would normally do, so the event re-books cleanly next visit. */
<<set $ch2Events.hollohalvSushiFired to true>>
<<set $ch2Events.hollohalvSushiAccepted to false>>
<<set $ch2Events.hollohalvSushiDay to 0>>
<</if>>
<</nobr>>
<div class="passage-title">The room tips past the line</div>
<div class="lab-location">The wood-paneled sushi bar: second visit, the residue from last time still in the wood and the cup rims, the air about to carry one more dose</div>
<p>Elena vents the pheromone-channel spores into the small chef-counter air at half-strength, knowing exactly what half-strength does to a room that has been quietly carrying her last visit's residue for the time since. The chef pauses on a piece of nigiri. The four-top behind them goes quiet for a half-second. Nathan's hand stops moving on his sake cup. Nia's mouth opens for a sentence and does not close.</p>
<<say "char-hivemind" "Hivemind">>
//Every body in the room metabolised the residue from the last visit. Nathan's wife at home does not know what has been quietly running through his system for the week since. Nia's partner does not know what has been running through hers. The chef has been touching the contaminated counter every shift. The four-top patrons have been eating from contaminated plates. The dose tonight is a primer fired into a room of soaked wood. The room is going to do what it is going to do.//
<</say>>
<<say "char-holloway" "Nia">>
<i>(half-rising from her stool, eyes briefly to Nathan, voice loosened the chair, voice rough)</i> Nathan, Nathan, what is, what is happening,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(jaw locked, hand white on the counter edge, eyes briefly to Elena with a half-second of clarity that does not last)</i> ...Christ. Christ, Elena, the chef is,<</say>>
<p>The chef closes the kitchen door behind him with one hand and slides the bolt on the front entrance with the other, the small twenty-six-year-veteran courtesy of a man who has, at this point, recognised the situation and is not going to pretend otherwise. The blinds come down with a small wooden clatter. The bar is now closed.</p>
<p>The room takes a slow breath. Nobody moves for a count of three. Then the woman from the four-top, thirties, dark hair, business cardigan, reaches up and unbuttons her own blouse, slowly, watching her own hands do it as if they had decided this on their own. Her companion at the four-top, a man in his forties, drops his coat on the back of his chair and pulls his shirt off over his head. The chef unties his apron. A younger woman in a black dress, who has come out of the back hallway, pulls the dress up over her head in one motion and is down to a black bra and panties at the back of the bar. Nobody is touching anyone yet. The room is just undressing.</p>
<<say "char-chen" "Elena">>
<i>(at the counter, both hands flat on the wood, eyes on the room, voice rough)</i> ...okay. Okay.
<</say>>
<<say "char-holloway" "Nia">>
<i>(half a step closer to Nathan than she had been a minute ago, eyes wide, free hand finding the back of his)</i> Nathan, Nathan, what do we, what is this,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(one hand on Nia's shoulder, eyes on the four-top patrons undressing, voice low and rough)</i> Christ. Both of you, just, stay close. Just, stay close.
<</say>>
<p>The man in his early forties, the shirtless four-top patron, has crossed the floor space and is now standing at Nia's left shoulder. His hand goes light against her hip, then up under the hem of her slate-grey turtleneck, palm flat against her ribcage. Nia's breath catches but she does not pull away. The man's hand slides further up under her turtleneck and finds her breast, bare, no bra, and Nia makes a small high-pitched sound that is not entirely surprised.</p>
<<say "char-holloway" "Nia">>
<i>(half-laughing, half-broken, eyes briefly to Nathan, then to Elena, then closed)</i> Oh, oh god. Nathan. Nathan, I, his hand is,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(the institutional protest fully gone, voice rough, his own hand sliding under her turtleneck from the other side, palm cupping her other breast)</i> Yeah. Yeah, Nia. It's okay. It's okay.
<</say>>
<p>Elena has not moved from her stool, but the dose is in her own respiratory system now. Her body is doing things her cortex has not authorised. She slides off the stool without remembering having decided to, walks the small floor space toward the four-top, and finds herself on her knees on the wooden floor in front of a stranger, a tall man, salt-and-pepper hair, not someone she has seen in this bar before. He is half-hard in his unzipped trousers. Elena's hand is around the base of him before she has formally decided.</p>
<<say "char-chen-thought" "Elena">>
<i>(on her knees, hand on a stranger's cock, the small wry private composure cracking at the edges)</i> ...mm. Hello, you.
<</say>>
<<say "char-npc" "the stranger">>
<i>(both hands going to the back of her head, voice tight)</i> Christ, lady, you do not waste a second, do you,<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh, sliding her hand up his shaft, eyes up at him through the slim acetate frames)</i> Mm. Don't ask me. Apparently this is what I'm doing tonight.
<</say>>
<p>Behind Elena, Nathan has stood up and Nia is in his arms before either of them has decided that is what is happening, his hands on her hips, her hair pulled completely loose from the bun, mouth on his. The shirtless four-top patron at her shoulder slides his hand out from under her turtleneck and steps back a half-pace, but only a half-pace.</p>
<p>The second man from the four-top, taller, dark-haired, glasses, a stranger Elena also has not seen in the bar before, has crossed the floor space and is now standing behind Nia, hand light on the small of her back. Nia does not pull away. Nathan does not step in. Halv stays at her back; the stranger takes the half-step closer; Nia leans into both without anyone negotiating the geometry out loud.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-orgy-1.webp" alt="A photorealistic wide-shot of a small wood-paneled sushi bar interior at night, mid-orgy. In the foreground at the chef counter, Dr. Nia, 28-year-old Black African-American postdoc with natural afro hair fully come loose, slate-grey turtleneck pushed up over her breasts, skirt hiked over her hips, bent forward over the counter, both hands flat on the wood. Behind her, Dr. Nathan, late-40s white American man with salt-and-pepper hair and charcoal cardigan, hands on her hips, mid-thrust in vaginal sex from behind. In front of her, a second man, taller, dark hair, his cock in her open mouth, mid-blowjob. Sake bottles knocked over and spilling, sushi plates pushed aside, low warm pendant lights, dim atmospheric. Photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(both hands on Nia's hips, jaw locked, voice strangled)</i> Nia, //fuck//, Nia, the way you, //Christ//,<</say>>
<<say "char-holloway" "Nia">>
<i>(brief pull-off, mouth slick, voice rough, head dropped between her shoulders)</i> Mmh, Nathan, harder, //harder//, <i>(head back down on the second man's cock)</i> //gawk, mmh, gawk,//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, eyes on the spitroast, the small wry private composure softening at the edges as her own respiratory uptake starts working on her)</i> ...mm. Look at her.
<</say>>
<p>Elena has been at the counter for the last ninety seconds without moving, and the dose is in the air she is breathing too. The override compound finds her own substrate the way it finds everyone's. The chef is now on the small wooden floor with the woman from the four-top, her blouse fully open, his face buried in her chest. The man in his forties is at the chef counter, his hand on Nia's free thigh. Another patron, a younger woman Elena has never seen, in a black dress, has come out of the back hallway already half-undressed.</p>
<<say "char-chen" "Elena">>
<i>(small clear, sake-warm, voice rougher than she means)</i> Mm. Okay then.
<</say>>
<p>The younger woman in the black dress stops in front of Elena at the counter, hand light on Elena's wrist, eyes on hers, and behind her, a man Elena vaguely recognises from her own building's elevator (a stranger, a face) is unbuttoning his shirt with the small unfocused focus of a man whose autonomic system has been overridden. The black-dress woman tugs Elena's hand. Elena lets herself be tugged. The three of them end up at the small empty space between the counter and the four-top, the man between them, his cock out, both women on their knees on the wooden floor, Nia is still being fucked by Nathan at the counter; the four-top is now fully a tangled mass of two bodies; the chef is somewhere in the back with the woman from the four-top.</p>
<video class="scene-video" src="media/video/hollohalv-sushi-orgy-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-sushi-orgy-2.webp"></video>
<<say "char-chen" "Elena">>
<i>(brief pull-off, glasses sliding sideways, voice rough)</i> Mmh. //Mmh.// You and I, miss. <i>(head back down)</i> //gawk, mmh, gawk,//
<</say>>
<<say "char-npc" "the woman in the black dress">>
<i>(half-laughing, half-moaning, head bobbing on the same cock from the other side, hand sliding into Elena's hair)</i> Mm. Yes, yes, like that. Tongue.
<</say>>
<<say "char-npc" "the man">>
<i>(strangled, both hands fisting in the women's hair, hips thrusting forward without rhythm, voice ragged)</i> Christ, Christ both of you, //fuck, //
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's own respiratory uptake has now metabolised the dose. My secondary feedback loop is running in her body the same way it is running in Nathan's, in Nia's, in the chef's, in the patrons'. The host is now a full participant, not merely the cause. The bar will not recover from this, every body in the room is laying down a memory of tonight that the morning's institutional muscle will be unable to deny. The lab dynamic, the marriage at home, the postdoc's partner, the chef's twenty-six-year reputation, all of it is now post-tonight rather than pre-tonight.//
<</say>>
<p>The man finishes across both women's faces, hand fisted tight in Elena's hair until the last pulse, then steps back into the small chaos of the room. Elena and the woman in the black dress stay on their knees on the wooden floor for the count of three breaths, glasses askew, cum on cheeks and lips. The black-dress woman pulls Elena up by the lapel of her cardigan and kisses her, open-mouthed, sharing what they both have on their tongues. Then the woman is gone, back into the room, and Elena is alone for the half-second between encounters.</p>
<p>A different stranger, bigger, broader, a man Elena has not noticed before, takes her by the arm and walks her to the wood-paneled wall at the back. He pins her there with one hand on her chest and the other under her skirt; her cardigan is on the floor; her t-shirt is pushed up; one of her legs is around his hip. He goes inside her in a single thorough motion, no preamble, the small wood-paneled wall pressed against her shoulder blades.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-orgy-3.webp" alt="A photorealistic wide-shot photograph of a small wood-paneled sushi bar interior at night, deep into a contaminated bar-wide encounter. In the foreground, a 32-year-old Chinese-American woman with shoulder-length straight black hair and slim dark-acetate rounded-rectangular reading glasses, pinned against the wood-paneled wall by a male stranger, his hands gripping her thighs, one of her legs hooked around his hip, mid-thrust in vaginal sex against the wall. In the soft-focus background, multiple bodies in their own pairings, couples on the chef counter, at the four-top, the chef visible behind the counter half-undressed. Low warm pendant lighting throughout, dim atmospheric. Photorealistic candid documentary style.">
<<say "char-chen" "Elena">>
<i>(arms around the stranger's neck, head dropped against his shoulder, voice rough)</i> Yes. Yes, fuck, yes.
<</say>>
<<say "char-npc" "the stranger">>
<i>(face against her neck, voice low and ragged, hips fast against hers)</i> Christ, Christ, you feel, //fuck//, I don't even know your name,<</say>>
<<say "char-chen" "Elena">>
<i>(half-laughing, half-broken, the small wry composure cracking but holding)</i> Mm. Don't worry about it. Don't stop.
<</say>>
<p>Elena comes against the wood-paneled wall with one leg around the stranger's hip and the other on the floor, a long slow shuddering wave that the override compound is running through every body in the room at almost-the-same time, the secondary-feedback loop synchronising the second wave across half a dozen bodies. Nia is on the four-top now, head tilted back, the man-from-the-four-top finishing across her chest. Nathan is somewhere with the woman in the black dress. The chef is on the wooden floor with two patrons. The bar is humming with the low collective sound of bodies coming down from the same shared chemistry.</p>
<<say "char-hivemind" "Hivemind">>
//The bar will be cleaned. The chef will reopen tomorrow morning at eleven. Nathan and Nia and Elena will be at their respective lab benches by nine, unable to look directly at each other, the institutional dynamic permanently re-wired against the host's centrality. The patrons will go home to their partners with the small private rearrangement of a memory the morning will not be able to undo. The host's own substrate has now metabolised the same dose she vented. I have just completed the largest single-event biomass extraction of the campaign so far.//
<</say>>
<<if _firstTimeOrgy>>
<<conditioningFeedback "pheromone" 1 "Nathan, bar-wide orgy participation">>
<<conditioningFeedback "psionic" 1 "Nathan, host installed in the institutional memory of tonight">>
<<conditioningFeedback "pheromone" 1 "Nia, bar-wide orgy participation">>
<<conditioningFeedback "psionic" 1 "Nia, host installed in the institutional memory of tonight">>
<<conditioningFeedback "pheromone" 1 "Elena, host's own respiratory uptake of the dose she vented">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get dressed, find your coat, slip out the back exit, head straight home|Ch2-Vessel-Loop-Home]]</div><<nobr>>
<<spendBiomass 1>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Inside the unisex bathroom at the back of the sushi place, door latched, two of them now">>
<<set _firstTimeChenHalv to ($ch2Events.hollohalvSushiChenHalvFullFired or false) is false>>
<<if _firstTimeChenHalv>>
<<set $ch2Events.hollohalvSushiChenHalvFullFired to true>>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<<addBiomass 4 "hollohalv-sushi-chen-halv-full">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">She drags him to the bathroom</div>
<div class="lab-location">The single unisex bathroom at the back of the sushi place: small, beige tile, the door now closed and latched behind both of them</div>
<p>Elena reaches across the small space between her stool and Nathan's, takes his wrist between her thumb and two fingers, slides off her stool, and tugs once. The small private grin she has been holding under her composed register lands openly on her face for the first time tonight, small, slow, victorious, the grin of a woman who has just been told yes by a man who didn't quite mean to say it. Nathan, sake-warm and conditioned past the protest his marriage would normally produce, half-laughing under his breath, slides off his own stool and follows. The chef catches the moment in his peripheral, decides he is suddenly very interested in the cleanliness of a four-inch patch of wood at the far end of the counter, and turns away.</p>
<p>Elena leads Nathan down the corridor at the back of the bar, past the kitchen door, to the single unisex bathroom, grin still on her face the whole walk, eyes briefly back to him over her shoulder. She pushes the door open with one hand, pulls him through after her by the wrist, kicks the door closed behind them. The latch catches.</p>
<<say "char-halvorsen" "Nathan">>
<i>(breathing fast, hands going to her waist with the small surprised institutional wonder of a man who has been thinking about exactly this for a long time and has just been given permission)</i> Elena, Christ, Elena, you are,<</say>>
<<say "char-chen" "Elena">>
<i>(grin still on her face, already pulling her cardigan off her shoulders, hands going to his belt with the small careful focus of a woman who has fully decided)</i> Nathan. Less talking. Hold still.
<</say>>
<p>Elena pushes him back against the bathroom wall by both hands flat on his chest, undoes his belt, his trousers, takes him out. He is hard enough that her hand around the base of him pulls a small low sound out of him before she has even moved. She pumps him slow, twice, watching his face, and then she turns around in his arms, lifts her own skirt to her waist, leans forward over the marble sink counter, and looks back over her shoulder at him with both hands flat on the marble.</p>
<<say "char-chen" "Elena">>
<i>(small clear, sake-warm, eyes on him in the mirror)</i> Now, Nathan. Hands on my hips. Don't be careful.
<</say>>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-1.webp" alt="A small unisex sushi-bar bathroom, Dr. Elena, 32-year-old Chinese-American with light pale skin, soft Asian features, shoulder-length straight black hair, slim dark-acetate rounded-rectangular reading glasses, bent forward over a marble sink counter with both hands flat on the stone, skirt hiked over her hips, eyes closed, mouth open in pleasure. Behind her, Dr. Nathan, late-40s white American man with salt-and-pepper hair, charcoal cardigan still on, hands gripping her hips, mid-thrust in vaginal sex from behind. Beige tile walls, mirror above the sink, low warm pendant light. Photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(both hands on her hips, sliding into her in one slow thorough motion, voice strangled, jaw locked, dropped into rough low control)</i> Elena, //fuck//, you feel,<</say>>
<<say "char-chen" "Elena">>
<i>(head dropped between her shoulders, both palms braced flat on the marble, voice rough and breathy)</i> Don't, don't stop, harder, Nathan, I have been, fuck, I have been thinking about this all evening,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(picking up the pace, one hand sliding off her hip up under her cardigan to cup her breast through the rumpled t-shirt, voice tight)</i> Christ, Elena, you, you set this up, didn't you, //fuck//, the whole evening,<</say>>
<<say "char-chen-thought" "Elena">>
<i>(both hands flat on the marble, head dropped, the small wry private composure softening at the edges into something rougher)</i> ...mm. Yes. Yes, I did.
<</say>>
<p>Nathan fucks her hard against the marble counter for what is, by his usual institutional pacing, a much shorter count than he had been expecting; the second slip's slow build and the corridor hand-job he had been about to give himself have already brought him most of the way there. His rhythm starts to break down inside three minutes. He pulls out fast, spins her around, pins her against the bathroom door with both hands on her thighs, lifts her clear off the ground, ankles crossed behind his back, and goes back in standing up, the small focused desperate register of a man who is trying to make this last.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-2.webp" alt="A small unisex sushi-bar bathroom. Dr. Elena, 32-year-old Chinese-American with light pale skin and shoulder-length straight black hair, slim dark-acetate rounded-rectangular reading glasses askew, pinned against the wooden bathroom door, both legs lifted and wrapped around the waist of Dr. Nathan, late-40s white American man with salt-and-pepper hair and charcoal cardigan still on, his hands gripping her bare thighs from underneath, mid-thrust in vaginal sex against the door. Her arms wrapped around his neck, head tilted back, mouth open. Beige tile walls visible at the edges, low warm pendant light, post-coital atmosphere about to land. Photorealistic candid documentary style.">
<<say "char-chen" "Elena">>
<i>(arms tight around his neck, both legs wrapped around his waist, voice broken, glasses sliding sideways)</i> Yes, yes, Nathan, //fuck//, like that, like that,<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(face buried in her shoulder, voice strangled against her collarbone, hand fisted in the back of her cardigan)</i> Elena, Elena I'm, I'm going to, //fuck//, where do you want, where do you want me to,<</say>>
<<say "char-chen" "Elena">>
<i>(reaching one hand up to grip his hair, pulling his face up to look at her, voice rough but clear)</i> My mouth, Nathan. Pull out. Now.
<</say>>
<p>Nathan pulls out fast, sets Elena back down on the cold tile, and Elena drops to her knees on the bathroom floor in one fluid practiced motion, glasses sliding the rest of the way down her nose, mouth open, looking up at him with the small private satisfied register of a woman who has been giving instructions she has been thinking about all evening. He fists his cock in his free hand, braces the other against the bathroom door, comes hard across her tongue and her parted lips and her left cheek, the heavy facial finish of a man who has been holding himself together for the better part of an hour and a half.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-3.webp" alt="A photorealistic close-up POV photograph from a male first-person perspective, looking down at Dr. Elena, 32-year-old Chinese-American woman with light pale skin, soft Asian features, shoulder-length straight black hair slightly mussed, slim dark-acetate rounded-rectangular reading glasses askew. She kneels on the bathroom floor looking directly up at the camera, her face tilted up, mouth slightly open showing a pool of glossy white cum on her tongue, with a small thread of cum at the corner of her lips and a thin streak across her left cheekbone. Her expression is dazed-satisfied, eyes half-closed but locked on the camera. The just-finished cock is visible at the bottom of the frame, glistening with saliva, hanging in front of her face. She wears a rumpled grey wool cardigan hanging open over a pale-grey t-shirt. Behind her, the small unisex sushi-bar bathroom, beige tile walls, low warm pendant light. Photorealistic candid documentary style.">
<<say "char-chen-thought" "Elena">>
<i>(on her knees on the cold tile, cum on her tongue, glasses askew, looking up at Nathan with the small dazed-satisfied half-smile of a woman who has just got exactly what she wanted)</i> ...mm.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(catching his breath, hand still braced against the door, voice rough)</i> Christ. Christ, Elena. I, I am sorry. I am, I am also not sorry. Both of those.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh, swallowing the cum on her tongue with the small unselfconscious cadence of a woman who has done this enough times to not be precious about it, accepting the paper towel he offers her)</i> Don't apologise, Nathan. I asked. <i>(small wry, dabbing the cum on her cheek)</i> Now go back out there before Nia notices we've both been gone five minutes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The senior PI is now carrying a memory he will be unable to walk back. The host's slip-chain landed exactly the way I predicted: three escalating arousal vectors across the conversation, each one building on the autonomic response to the last, and the third broke his composure cleanly enough that the bathroom-retreat was his only social option. The institutional dynamic at the lab has just permanently shifted toward the host. Tomorrow morning Nathan will be unable to look directly at her. Nia has noticed nothing.//
<</say>>
<<if _firstTimeChenHalv>>
<<conditioningFeedback "pheromone" 1 "Nathan, direct sexual contact, full sex">>
<<conditioningFeedback "psionic" 1 "Nathan, host installed in his memory of this">>
<</if>>
<hr class="scene-break">
<p>Nathan tucks himself back in, fastens his belt, washes his hands, splashes water on his face, runs his hand through his hair, and slips out of the bathroom thirty seconds before Elena does. By the time Elena emerges (glasses cleaned, lipstick reapplied, the small composed register of a woman who has merely been to the bathroom), Nathan is already back at his stool, water glass refilled, the small institutional half-smile fully reinstalled. Nia is still on her phone. She glances up briefly as Elena returns, gives the small half-curious half-smile of a postdoc who has noticed nothing because she has been texting her partner for the last six minutes.</p>
<<say "char-holloway" "Nia">>
<i>(small clear half-smile, sake-warm, putting her phone down)</i> Sorry. Marc says hi to both of you. Ready to wrap up?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile back, accepting her own water glass from the chef with the small careful neutrality of a woman who has just done something she will not be naming out loud for at least a week)</i> Mm. Yeah. Let's get cabs.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out to West Street, three goodbyes, three different rides home|Ch2-Vessel-Event-HolloHalvSushi-Wrap]]</div>
/* ---- T2 OUTCOME C, Chen + Halv blowjob under the chef counter ----
Triggered by Hormonal Override when Holloway is very drunk + Halv
conditioning >= 15 (tier 2 path; T3 path is the full-sex bathroom
passage above). */<<nobr>>
<<spendBiomass 3>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Under the chef counter at the sushi place">>
<<set $ch2Events.hollohalvSushiHODay to ($day or 0)>>
<<set _firstTimeBJ to ($ch2Events.hollohalvSushiChenBJFired or false) is false>>
<<if _firstTimeBJ>>
<<set $ch2Events.hollohalvSushiChenBJFired to true>>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<<addBiomass 2 "hollohalv-sushi-chen-bj">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Under the chef counter</div>
<div class="lab-location">A wood-paneled sushi bar at half past ten: Nia asleep on her own forearms, the chef stepped back to the kitchen for the late-night refresh, the four-top long gone</div>
<p>Nia is asleep on her own forearms, breath even, sake-slow. The chef has stepped back to the kitchen for the late-night refresh; the four-top has paid and gone. Nathan and Elena are alone at the counter with the institutional silence of a senior PI and his junior colleague who have both decided something in the last ten minutes that neither of them is going to name out loud.</p>
<<say "char-halvorsen" "Nathan">>
<i>(small, low, the institutional register fully off, further off the clock than he usually lets himself go)</i> Elena. If I am about to make a mistake, please tell me now.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, half-laughing, sliding off her own stool into the footwell between his stool and hers, the underside of the wooden counter inches above her head)</i> Nathan. Unzip.
<</say>>
<p>The footwell under the counter is small and dim, the wood close on three sides, and Nathan's hand goes to his belt while Elena on her knees on the wooden floor takes him out, already half-hard from the sake and from whatever has been running between them for the last twenty minutes, wraps her hand around the base, and takes the head into her mouth.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-bj-under-counter.webp" alt="Under the chef counter at a small sushi bar, tight wooden footwell. Dr. Elena, 32-year-old Chinese-American, on her knees with shoulder-length dark brown hair and slim dark-acetate rounded-rectangular reading glasses, mouth around the cock of Dr. Nathan, late-40s white American man with salt-and-pepper hair, charcoal cardigan unbuttoned, trousers unzipped, his right hand resting on the back of her head. POV from beside, low warm pendant light from above the counter, photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(strangled, both hands going to the underside of the counter to brace, jaw locked, voice easing)</i> Elena, //Christ//, Elena, your //mouth//,<</say>>
<<say "char-chen" "Elena">>
<i>(slow rhythmic head bobbing, taking him deeper each pass, eyes up at him through the slim acetate frames, voice muffled around the shaft)</i> //Mmh.// //Mmh, mmh,//
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(one hand sliding off the counter to rest light on the crown of her head, not pushing, his usual senior-PI control gone low and quiet)</i> Good, good, Elena. Just like that. Take it, //fuck//, keep going,<</say>>
<<say "char-chen-thought" "Elena">>
<i>(taking him further, the wood close above her head, her own breath through her nose, the small dry private observation from a woman who has just measurably broken a senior PI)</i> ...mm. There you are, Nathan. There's the man behind the institutional cardigan.
<</say>>
<<say "char-chen" "Elena">>
<i>(brief pull-off for breath, hand still working the base, voice rough)</i> Mmh, quiet, Nathan, the chef,<</say>>
<<say "char-chen" "Elena">>
<i>(head back down, lips wrapped around the shaft again)</i> //gawk, mmh, gawk,//
<</say>>
<p>The kitchen door swings open. The chef walks back into the chef-counter space carrying a small steel bowl of fresh wasabi, sets it on the cutting board, glances at Nathan, glances at Nia face-down asleep on her arms two stools over, glances at the empty stool between them. Nathan, to his small institutional credit, does not flinch. Elena, in the footwell under the counter, does not slow down.</p>
<<say "char-npc" "the chef">>
<i>(small wry institutional, twenty-six-year practiced eye, wiping his hands on his apron with the small careful neutrality of a man who is not going to ask)</i> Dr. Elena, bathroom?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(small institutional, voice pitched a careful half-octave above where his pulse is, both palms flat on the counter, white-knuckling the wood, Elena has just taken him to the back of her throat under there, the small focused rhythm of a woman who knows exactly what she is doing)</i> Mm. Yes. She, should be back any minute now.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(under the counter, going slow on him on purpose, small dry private composure of a woman who has decided to make this man earn his next thirty seconds)</i> ...mm. Hold steady, Nathan. Twenty-six years behind that counter. He has seen everything. Everything except this, exactly.
<</say>>
<<say "char-npc" "the chef">>
<i>(small institutional, wiping the counter with a damp cloth, eyes briefly to Nathan with the small careful courtesy of a man who has decided not to ask about the small twitch at the corner of the senior PI's left eye)</i> Bill on its way. Sake flight closed out, or another round?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(strangled, knuckles whiter, jaw locked, the institutional flat of a man who is dying, Elena now actively working her hand at the base under the counter)</i> No. No, the bill, the bill is fine. Thank you.
<</say>>
<<say "char-chen" "Elena">>
<i>(under the counter, muffled, head bobbing slightly faster on his cock, entirely aware of what she is doing to him)</i> //Mmh, gawk, mmh, gawk,//
<</say>>
<<say "char-npc" "the chef">>
<i>(small wry, presses a button on the register, prints the bill, slides it across the counter to Nathan with the small twenty-six-year-veteran courtesy of a man who is going to be in the kitchen for at least three minutes and would appreciate not being asked about it)</i> I'll be in the kitchen if you need anything else. Long week, hm.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(the institutional flat holding by a thread, signing the bill upside-down because Elena has just done something with her tongue)</i> Long week. Thank you, Yamamoto.
<</say>>
<p>The chef nods, turns back to the kitchen, and the kitchen door swings shut behind him with the small kind ceremonial pace of a man who has been a sushi chef for twenty-six years and has therefore seen at least four versions of the exact thing happening at his counter right now and never once said a word about any of them. Nathan exhales through his nose for the first time in what feels like a full minute. Elena, under the counter, takes him deeper.</p>
<<say "char-halvorsen" "Nathan">>
<i>(hand fisting in her hair from above, voice tightening, knees buckling against the underside of the counter, the institutional vowels gone entirely)</i> Elena, Elena I'm, Christ, I'm, //fuck//,<</say>>
<<say "char-hivemind" "Hivemind">>
//The senior PI's marriage-rough-patch substrate is unloading at speed. The host is providing the surface, I am reading the cortisol/oxytocin shift in real time, and the senior pair is metabolising a decision he will not be able to walk back. Nia is asleep four feet away. The geometry is intimate and the timeline is short.//
<</say>>
<p>Nathan comes harder than the sake-warmth would have predicted, his hand tight in her hair and then immediately, embarrassedly, off again, and the cum lands across her face, on her parted lips, on her left cheek, and heavily across the lenses of her reading glasses, two thick streaks running down the glass and a smaller drop at the bridge. Elena pulls off, takes the cock out of her mouth, and sits back on her heels in the wooden footwell with the underside of the counter still inches above her head.</p>
<<say "char-chen" "Elena">>
<i>(small wry, sake-warm, reaching up to the glasses with both hands and lifting them off her nose by the temples, folding them carefully into her left hand)</i> Hold on, let me get these off, I cannot see anything through them.
<</say>>
<p>She folds the glasses, holds them in her left hand at her hip, and looks up at Nathan with the cum on her cheek, her parted lips, the small private satisfied half-smile of a colleague who has just done something she has been a fraction more interested in doing than she would have admitted.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-cum-on-lips.webp" alt="Dr. Elena, 32-year-old Chinese-American with shoulder-length dark brown hair, kneeling beside the wooden base of a chef counter in a dim warm sushi bar. Light facial cumshot, cum on her cheek, a thread of cum on her parted lips, mouth slightly open. Glasses are off, held folded in her left hand at her hip. Soft features, gray wool cardigan over light gray t-shirt, low warm pendant light from above. Half-laughing private satisfied expression, eyes looking up off-camera at Nathan. Close-up portrait, photorealistic candid documentary atmosphere.">
<<say "char-halvorsen" "Nathan">>
<i>(small recovered breath, rezipping with the small senior-PI dignity of a man who is going to think about this for a long while)</i> Elena, I, thank you.
<</say>>
<<say "char-chen" "Elena">>
<i>(small clear half-laugh, accepting a paper napkin from him, dabbing at the cum on her cheek and the lenses of the glasses in her hand with the small unselfconscious cadence of a woman who has done this enough times to not be precious about it)</i> Don't thank me, Nathan. Walk Nia to a cab.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has installed herself as the woman who solves Nathan's problems on the same evening she revealed she is also the woman who will let Nathan come on her glasses. The senior PI's downstream wiring on the host has just rewritten itself in a register he does not yet have a vocabulary for. Tomorrow morning at the lab he will be unable to look directly at her, and that itself is a conditioning vector.//
<</say>>
<<if _firstTimeBJ>>
<<conditioningFeedback "pheromone" 1 "Nathan, direct sexual contact under the counter">>
<<conditioningFeedback "psionic" 1 "Nathan, the senior PI now has a memory of her on her knees">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The cab home, the small private register of an evening that will not be undoable|Ch2-Vessel-Loop-Home]]</div>
/* ---- FEDS DRINKS NIGHT ---- T1 scaffold + slip 1 + skill menu + T1 Park kiss outcome.
Setting per the booking-slip canon (Cooper craft-beer flight, monday-evening parking-lot lobby slip). T2/T3 outcome destinations TBD per ../../tasks/event-design.md section 4. */
/* ---- PRE-EVENING, Chen at her apartment, considering whether to bring Sofia along.
This is the dispatcher landing-pad for the fedsDrinks event card on the
evening hub. NUDGE option vents to Sofia via dream-channel (cost set via
setup.nudgeCost(), variable when the dream-phase discount lands).
Sofia accepts the invite if her conditioning total is at least 8;
below threshold the dream-channel reach does not land cleanly and Sofia
politely declines. Either way the player proceeds to the Cooper. */<<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, the couch">>
/* Return hub: this post is reachable from the evening home hub AND from the
Lensr feed in either phase. Capture the phase we arrived in so "Set the
phone down" returns to the right hub, then force the home phase for the
after-game scene. (Was always returning to the morning StoryInit default.) */
<<set $ch2Events.socialMediaReturn to (($vessel and $vessel.phase is "home") ? "Ch2-Vessel-Loop-Home" : "Ch2-Vessel-Loop-Wake")>>
<<set $vessel.phase to "home">>
<<if not $ch2Events.lensrDndPosted>>
<<spendBiomass 1 "lensr-dnd-post">>
<<set $ch2Events.lensrDndPosted to true>>
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<<set $lensr.followers to $lensr.followers.concat(["Bryan", "Mike", "Marcus"])>>
<<set $lensr.postCount to $lensr.postCount + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, the table</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, the couch</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction, set under her next idle scroll. She has the photo already, taken at the table without deciding to. Now the want surfaces. It wears her own voice. She will call it a good mood. She will not look under it.//
<</say>>
<p>Elena is on the couch with the after-game quiet still on her, and somewhere between one idle scroll and the next she opens Lensr and starts the upload before the part of her that talks her out of things has caught up. The miniature rode home in her bag, a leather-clad rogue the length of her thumb, and the photo is her near it at Daniel's coffee table, the battle map and the dice and the night's half-finished beer still in the frame.</p>
<img class="scene-img" src="media/scenes/vessel/socialmedia-dnd.webp" alt="Elena leaning over a lamplit game table at D&D night, smiling, holding up a small painted miniature of a leather-clad rogue, dice and a battle map and a glass of beer around it, a warm candid phone snapshot">
<<say "char-chen-thought" "Elena">>
<i>(thumb over the caption box)</i> ...tag all four of them, in for a penny. Bryan will pretend he is above being tagged in a photo for exactly as long as it takes the notification to reach his phone, and then we will see which of the rest of them can keep their hands off the comment box.
<</say>>
<p>She writes the caption, and then has to go looking, because tagging people needs their handles and the only D&D handle she has is Daniel's. His profile solves the other three. His friend list is half the game group already, and she taps through to Bryan and Mike and Marcus off his connections, adds the four of them to the post, and puts it up. The follow-backs land before she has set the phone down. Daniel was already there from the start, and then Bryan and Mike and Marcus stack up the screen inside a minute, the table reassembling itself in her phone the way it assembles around Daniel's coffee table on a game night.</p>
<<say "char-hivemind" "Hivemind">>
//The host put her face in front of an audience and waited to be told it was good. The replies came in seconds. Her reward chemistry logged every one. This is what the app is for. It pairs being seen with a clean pulse of dopamine, again and again, until being wanted stops being a vanity and turns into a need. She thinks she joined a game. She has opened an appetite, and an appetite is the easiest thing in a host to steer.//
<</say>>
<<if $ch2Events.dndS2Outcome is "girlfriend">>
<p>The phone buzzes once more after the follow-backs have stopped, and this one is not a follow, it is a private message.</p>
<<say "char-chen-thought" "Elena">>
<i>(thumb stopped on the message preview)</i> ...uh, a DM from Daniel. I wonder what he wants. Probably a word about the photo he did not want to leave in the comments.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He answered the post in the open, with the others. Then he opened a private message. That is a different decision. He dreamed the cleric's side of it, and his body has not closed the question of whether it happened. He will tell himself this is about the photo.//
<</say>>
<p><span class="delve-intel">Daniel sent a private message. Open it from Lensr.</span></p>
<<elseif $ch2Events.dndS2Outcome is "slut">>
<p>The phone buzzes once more after the follow-backs have stopped, and this one is not a follow, it is a private message.</p>
<<say "char-chen-thought" "Elena">>
<i>(thumb stopped on the message preview)</i> ...huh. A DM. From BryanTheMightyDM, which is, yes, that is Bryan, the single most Bryan handle a person could land on. I wonder what he wants. Probably a word about the photo he did not want to leave in the comments.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Of the four, he carried the most out of that room. He carried it in his own body. He answered the post in the open, with the others. Then he opened a private message. The dream is still moving in him, and now it is looking for her.//
<</say>>
<p><span class="delve-intel">Bryan sent a private message. Open it from Lensr.</span></p>
<</if>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "Open Lensr, look at the post">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-Loop-Home"`>><</link>></div>
/* ---- LENSR — D&D-post private messages ---------------------
STATUS: TO REWORK — placeholder stubs. After the D&D-night
Lensr post, the most-affected player DMs Elena: Daniel on the
girlfriend (Killer Vex) outcome, Bryan on the slut outcome.
Reachable from the Ch2-Vessel-SocialMedia feed DM notice.
Message content unwritten. See tasks/rework.md. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set $ch2Events.lensrDmSeen to true>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<</nobr>>
<div class="passage-title">Lensr, a message from Daniel</div>
<div class="lab-location">Elena's phone, the couch, the lamp turned low</div>
<p>Elena curls into the corner of the couch and opens the thread. Daniel's handle is a quiet thing, his name and the cleric he plays, and the message under it is long, the long of a man who wrote it more than once.</p>
<div class="chatlog">
<div class="chatlog-header">daniel.adrik</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">Hey. I hope this is not a strange thing to do. I have been writing this message and deleting it for the better part of an hour, so I am going to send the version that exists rather than wait for the version that is good.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">The session. The way it went, Adrik and Vex, the part of the night after the job. I know it is a game, dice and Bryan's voice and five people pretending. But it did not feel only like pretending, and I cannot tell whether that is me being a fool about a roleplay. So I am just asking you. Was it only the game?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">an hour, daniel. you live four steps across the hall from me. you could have knocked.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">The hall felt like the bigger ask. I do not entirely know why.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">mm. it would.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">here is what I think. you have been turning a question over for an hour, and it is not the one you typed. the one you typed is "was it the game." the real one is whether you are allowed to want the answer to be no.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...that is, uncomfortably, the exact question.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. then we are getting somewhere. say the rest of it, properly this time, no roleplay to stand behind.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">I think about you when you are not in the room. I have for a while. The session only gave the wanting a place to stand where I was allowed to look at it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">there. that was not so hard.</div>
</div>
<<if $ch2Events.lensrDmDanielResponded>>
/* Responded tail — the full exchange, mirrors Ch2-Vessel-Event-LensrDM-Daniel-Respond. */
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">before you say one more careful, lovely thing. show me.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">a photo, right now, of what this conversation has actually done to you. and do not you dare tidy yourself up for the camera first, I will know.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...you are serious.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">i have never been less joking in my life. thirty seconds, daniel, and then I start drawing my own conclusions about why you have gone shy.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-daniel-dm-pic.webp" alt="The photo Daniel sends in the chat, an amateur phone picture of an erect penis, dim apartment light"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...okay. so. that is where the hour went.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">look at you. all that lovely careful restraint, and underneath it you were just this the whole time.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-pussy-pic.webp" alt="The photo Elena sends back in the chat, a cropped phone selfie with no face, her thighs parted and her pussy in frame, dim warm light"></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">since you were honest with me. that is what your little roleplay did, daniel. that is what is waiting four steps across the hall.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">and you are going to look at it, and think about it, and do absolutely nothing, until I decide otherwise. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy.</div>
</div>
<</if>>
</div>
<<if $ch2Events.lensrDmDanielResponded>>
<<say "char-hivemind" "Hivemind">>
//The exchange is closed and saved. The host took a sincere man, walked him down to one-word answers, rewarded him on a schedule only she controlled, and shut it with a leash-word. The thread is hers to reopen whenever the next push is useful.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Read the exchange again">><<goto "Ch2-Vessel-Event-LensrDM-Daniel-Respond">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<if not $ch2Events.couchMasturbationSeen>>
<<say "char-chen-thought" "Elena">>
<i>(the thread open, his confession sitting there unanswered)</i> ...oh, Daniel. That is a genuinely sweet thing to send a woman at this hour, and the sweet ones are the ones you have to be careful with. ...not tonight. Tonight he gets a kind answer and an early goodnight, and I get to not be the person who does the other thing with this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She means it. The reflex that protects a sincere man from her is intact, and tonight it holds. He handed her something soft and she will hand it back unspent. I cannot move her onto the front foot with him yet. More of the quiet groundwork first, the evenings she is learning what her own couch is for, and then a message like this stops being a thing she protects and starts being a thing she plays.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Send him something kind, put the phone down">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(re-reading his last message, the smile already starting)</i> ...he confessed. He actually confessed, in full sentences, the poor man, and now he is sitting four steps across the hall holding his phone, waiting to find out what I do with it. ...and what I want to do with it is not kind. What I want is to make him work for every inch of this.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The receiver has put himself entirely in her hands, and the host has felt the weight of him land there, and liked it. No-one is setting the pace for her tonight. She has all of it. A host who has just found she enjoys holding the pace is a host already reaching for the next thing to do with it.//
<</say>>
<hr class="scene-break">
<<if _chenTotal gte 12>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Tell him to show you (1 biomass)" "Ch2-Vessel-Event-LensrDM-Daniel-Respond" 1>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice"><span class="lock-icon">🔒</span> Tell him to show you <span class="lock-hint">(I cannot move her onto the front foot this far yet, she needs more work first. Total conditioning <<= _chenTotal>> / 12)</span></span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, leave him waiting">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<</if>>
<</if>>
/* ---- LENSR — Daniel DM nudge response ----------------------
The nudge payoff for the Daniel DM (girlfriend outcome). The inverse
of the Bryan exchange: Elena dictates the pace, makes Daniel send a
photo first, teases him, rewards him with one of her own, closes on
"good boy". Sets dndS3DanielScene for the session-3 extra scene.
Idempotent — SP / flags fire once; re-renders cleanly for replay. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, the couch">>
<<set $vessel.phase to "home">>
<<if not $ch2Events.lensrDmDanielResponded>>
<<spendBiomass 1 "lensr-dm-daniel-respond">>
<<set $ch2Events.lensrDmDanielResponded to true>>
<<set $ch2Events.dndS3DanielScene to true>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, answering Daniel</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, the couch</div>
<<say "char-hivemind" "Hivemind">>
//She has the pace and she knows she has it. I do not push her toward the man, I push her toward what she has already half-decided to do with him, a small instruction set under a cruelty she was leaning into anyway.//
<</say>>
<p>Elena does not answer his confession. She lets it sit, lets him watch a read-receipt with nothing under it, and only when she judges the silence has done enough does she start to type.</p>
<div class="chatlog">
<div class="chatlog-header">daniel.adrik</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">before you say one more careful, lovely thing. show me.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">a photo, right now, of what this conversation has actually done to you. and do not you dare tidy yourself up for the camera first, I will know.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...you are serious.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">i have never been less joking in my life. thirty seconds, daniel, and then I start drawing my own conclusions about why you have gone shy.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-daniel-dm-pic.webp" alt="The photo Daniel sends in the chat, an amateur phone picture of an erect penis, dim apartment light"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...okay. so. that is where the hour went.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(looking at what he sent, the grin gone wide and unhurried)</i> ...oh, that is good. An hour of careful, careful typing, deleting and starting over, being a gentleman about it, and he was sitting over there like //that// the whole time. ...he should have led with it.
<</say>>
<p>She lets him wait again, and she makes the waiting a thing he can feel, a long unhurried stretch of the read-receipt and nothing under it, the cursor not even moving, while four steps across the hall a thirty-three-year-old man stares at his phone and slowly comes apart. Only then does she take her own photo, and she does not rush it, and she does not crop it kind.</p>
<div class="chatlog">
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">look at you. all that lovely careful restraint, and underneath it you were just this the whole time.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-pussy-pic.webp" alt="The photo Elena sends back in the chat, a cropped phone selfie with no face, her thighs parted and her pussy in frame, dim warm light"></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">since you were honest with me. that is what your little roleplay did, daniel. that is what is waiting four steps across the hall.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">and you are going to look at it, and think about it, and do absolutely nothing, until I decide otherwise. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(setting the phone face down on the couch arm, unhurried)</i> ...//good boy//. I typed that without one second of hesitation, and I am not going to pretend, even in here, that watching it land was anything short of the best thing that has happened to me all week.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She kept her clothes on. She kept her hand to herself. She needed neither. The host ran a sincere man down to one-word answers, rewarded him on a schedule only she set, and closed it with a leash-word, and the charge that produced is the cleanest I have drawn off her since the route began. She has found the other side of the chair, and she likes this side even better.//
<</say>>
<p><<addSkillPoints 1 "lensr-dm-daniel-respond">></p>
<p><span class="delve-intel">Something now hangs between Elena and Daniel, on her terms entirely. It will surface at the next D&D session.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set $ch2Events.lensrDmSeen to true>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<</nobr>>
<div class="passage-title">Lensr, a message from Bryan</div>
<div class="lab-location">Elena's phone, the couch, the screen the brightest thing in the dim room</div>
<p>Elena pulls her knees up on the couch and opens the thread. Bryan's table handle sits at the top of it, the one he plainly picked himself and plainly loves.</p>
<div class="chatlog">
<div class="chatlog-header">BryanTheMightyDM</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Hey! Glad you had fun. Genuinely, best table energy we have had in a long time.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Couldn't not say it, though. The way you handled that guard at the foot of the stairs? That was not beginner's play. That was a pro reading the room.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">ha. thank you. i had a good teacher.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">I will take partial credit. I write the guard. I do not write what you do to him. That part was all you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">he was very distractible. i worked with what the scene gave me.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">See, that is the thing. You say it like it is nothing. Most players sweat a social roll for ten minutes. You just knew. Knew exactly how to get a man to turn his back and lose the thread.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">is this feedback on my character, or on me, bryan?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Little of column A.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">You played Vex like she fit. Not a costume. More like she is the part of you that already knows how to get away with things, finally getting a night off the leash.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">that is a generous reading of a woman who spends her evenings with a centrifuge.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Two sessions in and I have already clocked it. You like being the one who gets away with it. The naughty one at the table. I do not think that switches off when the dice go back in the bag.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">and if it doesn't?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Then I think you and I have been playing the wrong game, with the wrong number of people at the table.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Okay. Cards on the table. Tell me if this lands wrong.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-bryan-dm-pic.webp" alt="A photo Bryan has sent in the chat, an amateur phone picture of an erect penis, dim bedroom light"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">I bet you would like running the same kind of roleplay you ran that evening in a live session. Just us. No campaign, no table, no DM voice. I would make it very much worth your while.</div>
</div>
<<if $ch2Events.lensrDmBryanResponded>>
/* Responded tail — the full exchange, mirrors Ch2-Vessel-Event-LensrDM-Bryan-Respond. */
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">and what did you have in mind?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">There she is. Okay, here is how this goes, and I do mean here is how it goes. You answered me, so we do it my way now.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Go and get something you can put in your mouth. You know what I mean. Take the phone with you, and do not overthink the walk to the drawer.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">i have it. now what.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Now nothing clever. Put it in your mouth, and take your time about it, I want you to feel how it makes you behave. Get one tit out for me while you do it. Left or right, dealer's choice.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Good. Now you send me that. No face, I am not an idiot and neither are you. The mouth, the toy, the tit. Send it before you can argue yourself out of it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-dm-pic.webp" alt="The photo Elena sent back in the chat, a cropped phone selfie with no face, fully nude, a dildo against her parted lips and both bare breasts in frame"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">I said one tit. You sent me the whole of you, every inch, nothing held back. ...Eager. I did not have you down for eager, and I am very glad to be wrong about that. Look at you. You are already wishing I would tell you to do more.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tell me i can finish.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">No.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">You heard me. Not tonight, and not on your own hand. You want to come, you come in a room with me. Next session, when I call the long break. Put the toy away and say goodnight.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...goodnight, bryan.</div>
</div>
<</if>>
</div>
<<if $ch2Events.lensrDmBryanResponded>>
<<say "char-hivemind" "Hivemind">>
//The exchange is closed and saved. She answered a photograph with a photograph and did not spend the hour after talking herself out of it. The thread is a small private room now. I can open that door again whenever the next push is useful.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Read the exchange again">><<goto "Ch2-Vessel-Event-LensrDM-Bryan-Respond">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<if not $ch2Events.couchMasturbationSeen>>
<<say "char-chen-thought" "Elena">>
<i>(looking at the photo a moment, then turning the screen face down on her knee)</i> ...mm. There it is, then. Of course there it is. ...no. I am not doing this on a work night for a man I have met twice, I am going to put the phone down and go to bed, and Bryan can read the silence however he needs to.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She set it down. The host still has the reflex that closes a thread like this one, intact and load-bearing, the plain sense that says a man like this is not a good idea on a Wednesday. I cannot move her past it tonight. It is not worn thin enough. More of the quiet groundwork first, the evenings she is learning what her own couch is for, and a message like this one will end another way.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Put the phone down, go to bed">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(looking at the photo, thumb gone still)</i> ...mm. Well. Give a man a thread and an open evening and he arrives at a photograph of his own dick every time, it is almost reassuring how predictable that is. ...the part I do not have a quick answer for is whether I write anything back.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No recoil. A season ago she would have locked the phone and scrubbed the whole evening off herself in the shower. Tonight she reads it twice. The man on the other end has handed me an opening, and the host is already leaning toward it. One small push, while she is warm and off her guard. Then she answers him.//
<</say>>
<hr class="scene-break">
<<if _chenTotal gte 12>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Answer him in kind (1 biomass)" "Ch2-Vessel-Event-LensrDM-Bryan-Respond" 1>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice"><span class="lock-icon">🔒</span> Answer him in kind <span class="lock-hint">(I cannot push her this far yet, she needs more work on her first. Total conditioning <<= _chenTotal>> / 12)</span></span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone, leave it">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<</if>>
<</if>>
/* ---- LENSR — Bryan DM nudge response ----------------------
The nudge payoff for the Bryan DM (slut outcome). Bryan takes the
dominant role and runs Elena through an obedience exchange in his
DM-voice register: the dildo, the photo on command, then the denial,
the finish booked for the next D&D session. Sets dndS3BryanScene for
the session-3 extra scene. Idempotent — SP / flags fire once (SP via
addSkillPoints label dedup); re-renders cleanly for replay. */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, the bedroom">>
<<set $vessel.phase to "home">>
<<if not $ch2Events.lensrDmBryanResponded>>
<<spendBiomass 1 "lensr-dm-bryan-respond">>
<<set $ch2Events.lensrDmBryanResponded to true>>
<<set $ch2Events.dndS3BryanScene to true>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, answering Bryan</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, the bedroom</div>
<<say "char-hivemind" "Hivemind">>
//She asked herself whether to answer him. I answer for her, one small instruction set under the question so it reads as the question deciding itself. She types something back. She does not yet know she has handed a man the room.//
<</say>>
<p>Elena answers him before the cautious part of her can convene a meeting about it.</p>
<div class="chatlog">
<div class="chatlog-header">BryanTheMightyDM</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">and what did you have in mind?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">There she is. Okay, here is how this goes, and I do mean here is how it goes. You answered me, so we do it my way now.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Go and get something you can put in your mouth. You know what I mean. Take the phone with you, and do not overthink the walk to the drawer.</div>
</div>
</div>
<p>She should laugh at that. //Here is how this goes// is a Dungeon Master's line, the exact cadence he uses to open a session, and the correct answer to a man using his table voice to send her to a drawer is to laugh and lock the phone. Instead she is already off the couch. The bedroom, the bottom drawer of the nightstand, under the spare charger, the dildo she bought herself in a small brave mood and has used more since. She takes it to the bed and sits back against the headboard with her knees up, and the speed of her own obedience is the thing that should frighten her and instead just lands low and warm.</p>
<<say "char-chen-thought" "Elena">>
<i>(sitting back against the headboard, the toy in one hand, the phone propped on her knee)</i> ...he used the table voice. He used the actual session voice on me and I got up, I did not decide to get up, I was just suddenly doing it. ...and god help me, the part of me that did that is comfortable. It likes the chair it has been put in.
<</say>>
<div class="chatlog">
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">i have it. now what.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Now nothing clever. Put it in your mouth, and take your time about it, I want you to feel how it makes you behave. Get one tit out for me while you do it. Left or right, dealer's choice.</div>
</div>
</div>
<p>She brings the dildo to her mouth because he told her to, and that ought to be the part she resents and it is instead the part that presses her thighs together. She parts her lips and takes the head of it over her tongue, slow, the way he said, works it back until her throat considers it and her eyes go wet at the corners. Her free hand goes to the hem of her shirt and pulls it off over her head, and her bra after it, and she does not stop there, because the part of her running this tonight does not believe in the careful version of anything, and by the time she settles back against the headboard there is nothing on her at all. She is wet. She has been wet since the drawer.</p>
<div class="chatlog">
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">Good. Now you send me that. No face, I am not an idiot and neither are you. The mouth, the toy, the tit. Send it before you can argue yourself out of it.</div>
</div>
</div>
<p>She lifts the phone. He asked for one tit. She frames it with no face in the shot, the toy held wet against her open mouth and both breasts bare and the whole naked rest of her in frame with them, because she heard //one// and the obedient part of her gave him everything anyway. She takes the photo. She sends it.</p>
<div class="chatlog">
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-dm-pic.webp" alt="The photo Elena sends Bryan, a cropped phone selfie with no face, fully nude, a dildo against her parted lips and both bare breasts in frame, dim bedroom light"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">I said one tit. You sent me the whole of you, every inch, nothing held back. ...Eager. I did not have you down for eager, and I am very glad to be wrong about that. Look at you. You are already wishing I would tell you to do more.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(the toy still wet against her lips, her free hand drifting lower)</i> ...he is not wrong. He is not slightly wrong, I am already reaching down without deciding to, so. ...just tell me to. Tell me I can and I will.
<</say>>
<div class="chatlog">
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tell me i can finish.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">No.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">You heard me. Not tonight, and not on your own hand. You want to come, you come in a room with me. Next session, when I call the long break. Put the toy away and say goodnight.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...goodnight, bryan.</div>
</div>
</div>
<p>And she does it. She sets the toy on the duvet, takes her hand back from between her legs, and says goodnight to him, aching and unfinished and obedient, and the obedience is its own pull, lower and steadier than an orgasm would have been. She lies in the dark with the phone on her chest and does not touch herself, because he told her not to, and the not-touching is the most aroused she has been in a very long time.</p>
<<say "char-hivemind" "Hivemind">>
//No orgasm. I did not need one. The host obeyed a man through every instruction and then obeyed his refusal, and the charge that produced did not break the way a climax breaks. It pooled. She has found a thing she keeps off every profile she has ever written, that being told what to do settles her like nothing she chooses for herself. The man holding the leash has booked the next session as the room where she is allowed to come. She will be there early.//
<</say>>
<p><<addSkillPoints 1 "lensr-dm-bryan-respond">></p>
<p><span class="delve-intel">Something now hangs between Elena and Bryan, left unfinished on purpose. It will surface at the next D&D session.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
/* ---- LENSR — Bowen DM after the revealing-post -------------
Bowen finds Elena's account on the suggested-follows tab after the
revealing-post lands, follows her, and writes a careful over-apologetic
message. First-open of the thread adds Bowen as a Lensr follower and
sets bowenLensrDmSeen. Elena teases him on the thread.
NUDGE at the foot of the chatlog (gated on Chen total conditioning
gte 20 + Nudge skill) sends a tits-out selfie at Bowen and opens his
Relay channel. The selfie passage itself is a TBD stub. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set $ch2Events.mikeLensrDmSeen to true>>
<</nobr>>
<div class="passage-title">Lensr, a message from Mike</div>
<div class="lab-location">Elena's phone, the couch, the lamp turned low</div>
<p>The thread is from Mike. His handle is the wizard he plays, of course it is. The first message is long, the long of a man who edited it twice before he sent it.</p>
<div class="chatlog">
<div class="chatlog-header">mike.exe</div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">okay this is going to sound unhinged so hear me out. the Vex and Eldrik thing in the session. that was, objectively, the most fun I have had at a table in like two years.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">and I KNOW it is the characters. I know. but you are stupidly good at it, and I was wondering if you would ever want to keep a scene running. over text. between sessions. as a craft thing.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">"as a craft thing." mike.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">we both know that is not really what this is. ...which is fine. i'm in. roll me a hook, wizard.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">okay. okay. ...Eldrik finds Vex still awake at the edge of the camp after the others are down. he has been wanting to say a thing to her for three towns and the fire is finally low enough that he is brave enough to.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">Vex already knew he was awake. she has known for three towns. she lets him get the first sentence out, then puts a hand flat on his chest and walks him back against the tree, because she is tired of him being verbose about it.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...oh. okay. we are just going right there. okay. Eldrik is, for the record, extremely on board with being walked against the tree.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">good. then stop narrating and tell me what the scholar does with his hands.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...one goes into her hair and the other finds the lacing at the front of the rogue's bodice, and he is not as slow about it as a careful man should be.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">mm. good wizard. ...okay, mike, dropping the third person a second. are you hard right now, or are we still pretending this is craft.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...it stopped being craft somewhere around the word "tree." yes. extremely.</div></div>
</div>
<<say "char-hivemind" "Hivemind">>
//What the host built in the dream is paying its interest in the waking app now. Mike opened behind a character and got walked out from behind it in four messages. He is on the other side of the city with a hand already off the keyboard. ...the host can leave this on the warm tease, or push it the one step past where the photographs start.//
<</say>>
<hr class="scene-break">
<<if not $ch2Events.lensrDmMikeResponded>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Tell him to stop typing about it and prove it (1 biomass)" "Ch2-Vessel-Event-LensrDM-Mike-Respond" 1>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Leave him on the tease, set the phone down">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div>
<<else>>
<p><i>The thread sits where the two of you left it, a long way past the word "tree."</i></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Read the whole exchange again" "Ch2-Vessel-Event-LensrDM-Mike-Respond">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div>
<</if>><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.lensrDmMikeResponded>>
<<if _firstVisit>>
<<spendBiomass 1 "lensr-dm-mike-respond">>
<<set $ch2Events.lensrDmMikeResponded to true>>
<<set $ch2Events.mikeLensrSextDone to true>>
<<set $ch2Events.lensrDickPicCount to ($ch2Events.lensrDickPicCount or 0) + 1>>
<<addBiomass 3 "lensr-dm-mike-respond">>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, Mike — prove it</div>
<div class="lab-location">Elena's phone, the couch, the lamp low, the other hand already moving</div>
<div class="chatlog">
<div class="chatlog-header">mike.exe</div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">then prove it, wizard. stop typing about it and show me. right now, exactly as you are.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...you are serious.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">deadly. thirty seconds, or I assume the wizard has gone shy and I go back to my evening.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/mike-sext-dickpic.webp" alt="The photo Mike sends in the chat, an amateur faceless phone picture of an erect cock held in his hand, pale skin, dim bedroom light"></div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...there. that is, uh. that is what the word "tree" did.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">look at that. all that verbosity, and underneath it the wizard had a perfectly good point this whole time.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">that is extremely not fair, you cannot just SAY that. ...your turn. please. I am dying. show me your pussy.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">since you asked so nicely.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/mike-sext-cat.webp" alt="The photo Elena sends as a joke, an amateur phone picture of a cat sitting on the couch"></div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">that is a cat. that is a literal cat. Elena I am going to lose my entire mind.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">you asked for pussy, I sent you pussy. learn to specify, wizard.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">jk.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/mike-sext-pussypic.webp" alt="The photo Elena sends, a cropped faceless phone selfie, her thighs parted and her pussy in frame, dim warm light"></div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...oh my god. okay. okay I am not okay. I have a hand on it. is that, are we, are we doing this</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">we are absolutely doing this. hand where you want it, wizard, and you keep typing the whole way through. I want to know the exact second you get there.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...okay. god. okay I am stroking it thinking about the tree and the lacing and you walking me back into it</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">good wizard. two fingers on my clit and your stupid lovely cock on my screen, and you are going to come before me, I can tell, you are right there</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">I am, I am, oh my god Elena I am coming</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">there it is. ...there. ...good wizard. ...okay, give me ten seconds and do not say anything clever, I am right behind you</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Mike</div><div class="chat-bubble">...take all the time you want. I am not going anywhere. ...holy shit.</div></div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host got herself off on her own couch with a hand between her legs and a roleplay scholar's cock on the screen, and the body fed me clean the whole way down. Mike surfaces tomorrow with a memory he files under //I cannot believe that happened// and a phone he will check at every lunch break from here on. ...one more thread that stays warm. One more cock in the gallery the host is building without admitting she is building it.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Elena, the host ran the thread and got off on the running of it">></p>
<p><span class="delve-intel">+1 dick pic received. The cocks are accumulating in the host's DMs.</span></p>
<</if>>
<p><<addSkillPoints 1 "lensr-dm-mike-respond">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, a little wrecked, a little pleased">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div>
/* ---- LENSR — Marcus DM, S3 slut outcome -------------------
Reworked from a mutual sext into an Elena-led corruption play. Marcus
played Borr, the one the wife chose; he surfaces buzzing and sends a
dick pic, which Elena dismisses as worthless. She is the aggressor here:
she swings the thread into cheating, demanding he hand over an existing
private sex tape of him and his girlfriend Megan (they don't live
together — it's an old one he kept), with a pussy pic dangled as the
reward. The nudge payoff is him caving and sending the video. The tape
(and Megan never knowing it left his phone) is the leash. Fires on
dndS3SlutEverFired. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set $ch2Events.marcusLensrDmSeen to true>>
<</nobr>>
<div class="passage-title">Lensr, a message from Marcus</div>
<div class="lab-location">Elena's phone, the couch, the lamp turned low</div>
<p>The thread is from Marcus. His handle is the half-orc he plays, all caps and a little proud of itself. The messages come in fast and unedited, the texts of a man who did not stop to decide whether to send them.</p>
<div class="chatlog">
<div class="chatlog-header">BORR_SMASH</div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">okay I cannot sleep and I am just going to say it. that session. the part at the end with Borr and the maker's wife. I have played for like six years and nothing, NOTHING, has ever done that to me.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">the way you ran it, the way she chose Borr right in front of the guy, in front of the whole table. holy shit Elena.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/marcus-sext-dickpic.webp" alt="The photo Marcus sends unprompted in the chat, an amateur faceless phone picture of an erect cock held in his hand, dim bedroom light"></div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...ok not sorry. that is what the session did. that is all you. so are we, are you and me doing this?</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">slow down. ...i did not say that. a dick pic is a dick pic, marcus. every man at every table has one and every one of them sends it. it does not get my attention, and it does not get you mine.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...okay. ow. what does, then.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">something nobody else at that table can give me. ...you and megan have filmed yourselves, marcus. do not bother lying about it.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...how do you even, ...okay. yeah. once or twice. they never leave my phone though, we are careful. why are you asking me that.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">because that is exactly what i want. one of them. the good one, the one you go back to when she is not around. you are going to dig it out and send it to me. all of her, the way nobody else at that table is ever going to get to see her.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...Elena. that is. we made that for us. that is hers as much as mine, she trusts me with that. I cannot just hand her over to...</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">you can. you will not tonight, because tonight you are going to lie awake telling yourself you are not the kind of man who does that. ...and you already know the answer, marcus. you sent me a photo of your cock before i so much as asked for it. we are well past whether.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...and if I did. what do I get.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">you send me her, and i send you me. all of me, the parts a stranger never gets to see. that is the trade. her, for the thing you have actually been awake all night wanting. ...take your time deciding. i am very patient, and i am not going anywhere.</div></div>
</div>
<<say "char-hivemind" "Hivemind">>
//I did not have to push him far. The dream put him on a high of being chosen, and the host only had to stand at the end of it holding the one thing he wants and name her price. Her price is the most private thing the girl who trusts him ever let him keep. ...he will not say yes tonight. He will lie awake telling himself he is not going to, and the telling is already the yes. The host can leave the trade sitting there to do its own slow work, or lean the last inch on him and take it now.//
<</say>>
<hr class="scene-break">
<<if not $ch2Events.lensrDmMarcusResponded>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Lean the last inch on him (1 biomass)" "Ch2-Vessel-Event-LensrDM-Marcus-Respond" 1>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Leave the trade to do its own work, set the phone down">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div>
<<else>>
<p><i>The thread sits where the two of you left it, the video saved to the host's phone and a girl who will never know it left his.</i></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Read the whole exchange again" "Ch2-Vessel-Event-LensrDM-Marcus-Respond">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div>
<</if>>
/* ---- LENSR — Marcus DM (slut) nudge response --------------
The payoff: Marcus caves and sends the video of him and Megan; Elena
pays out the promised pussy pic and closes the leash (the tape is hers,
Megan never knows). Binds Marcus into the gallery and seeds his place in
the post-campaign orgy. Idempotent — SP / flags fire once; re-renders
cleanly for replay. Sextape rendered as a chat video (autoplay/mute/loop)
with a poster still. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.lensrDmMarcusResponded>>
<<if _firstVisit>>
<<spendBiomass 1 "lensr-dm-marcus-respond">>
<<set $ch2Events.lensrDmMarcusResponded to true>>
<<set $ch2Events.lensrDickPicCount to ($ch2Events.lensrDickPicCount or 0) + 1>>
<<set $ch2Events.marcusSextapeSent to true>>
<<addBiomass 3 "lensr-dm-marcus-respond">>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, Marcus — he sent it</div>
<div class="lab-location">Elena's phone, the couch, the lamp low, the thread reopening with a new attachment in it</div>
<div class="chatlog">
<div class="chatlog-header">BORR_SMASH</div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">you took your time. i was starting to think you did not have it in you after all.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...I do not know what is wrong with me. I have started typing "forget I said anything" about nine times.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">and yet.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble"><video class="chat-img" autoplay muted loop playsinline src="media/video/marcus-megan-sextape.webm" poster="media/scenes/vessel/marcus-megan-sextape.webp"></video></div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...there. that is us, from back when we first started. she does not even know I still have it, and she definitely does not know I just sent it to you.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">look at you. you dug her out and handed her over. the one private thing the two of you ever made, and you gave it to me the second i asked. ...good boy, marcus. that is exactly the kind of man you turned out to be, and i am so glad we found out together.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...you said. you said if I did, you would.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">i did say that. and unlike you, i keep my word.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-pussy-pic.webp" alt="The photo Elena sends as the promised reward, a cropped faceless phone selfie, her thighs parted and her pussy in frame, dim warm light"></div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">that is what you bought with her. ...look at it, and think about the trade you just made, and tell me it was not worth it.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...god. it was worth it. that is the part I cannot get over, it was so worth it.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">good. then this is ours now, you and me, and she goes on not knowing a single thing. ...and the next time i want something off you, marcus, you are going to remember how fast you said yes tonight. nod if you understand me.</div></div>
<div class="chat-msg chat-msg-them"><div class="chat-sender">Marcus</div><div class="chat-bubble">...I understand.</div></div>
<div class="chat-msg chat-msg-me"><div class="chat-bubble">good boy. sleep well. she will never know how good you were for me.</div></div>
</div>
<<say "char-hivemind" "Hivemind">>
//No push needed in the end. The host named the price and the loud one paid it himself, gave up the most private thing the girl who trusts him ever made with him and handed the host the proof of what he is. The video is worth a little to me and the having of it is worth everything: a man who has done the unforgivable thing once does the next one easier, and he will do anything now rather than have the first one come out. Megan stays none the wiser, untouched and already spent. ...the gallery gains a cock, and the host gains a hold she can pull whenever she likes.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span></p>
<<if _firstVisit>>
<p><<conditioningFeedback "dream" 1 "Marcus, he handed his girlfriend's private tape to the host and surfaces hers now, bound by what he did">></p>
<p><span class="delve-intel">Marcus is in the gallery. He handed over a private video of him and Megan to buy a single photo, and the having of it is a leash the host can pull whenever she likes.</span></p>
<</if>>
<p><<addSkillPoints 1 "lensr-dm-marcus-respond">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, the trade closed and the leash held">><<goto `$ch2Events.socialMediaReturn or "Ch2-Vessel-SocialMedia"`>><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<set $vessel.phase to "home">>
<<set $ch2Events.bowenLensrDmSeen to true>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
/* Add Bowen as a Lensr follower on first open. */
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<<if $lensr.followers.indexOf("Bowen") lt 0>><<run $lensr.followers.push("Bowen")>><</if>>
<</nobr>>
<div class="passage-title">Lensr, a message from Bowen</div>
<div class="lab-location">Elena's phone, the couch, the lamp turned low</div>
<p>Elena curls into the corner of the couch and opens the thread. Bowen's handle is his real name, no avatar set, no bio. The message under it is the long-of-a-man-who-wrote-it-twice.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Hi Dr. Chen, sorry, I, I do not normally message colleagues outside the lab, sorry, the app suggested your account in the follows tab and I clicked through to look and I, I just wanted to say it is a really lovely photo, the natural light in your apartment is really nice. Sorry, I, I do not mean anything by that, the composition is just, sorry.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I will see you at the lab next time. Sorry for the message.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tom. breathe. accepted the follow.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...oh. okay. Thank you, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tell me which part of the photo you actually wanted to compliment, tom. it was not the light.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...Dr. Chen, I, sorry, I should not, I am sorry, I, sorry.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">that is exactly what I thought.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">you cannot apologise your way out of looking, tom. the photo is on the public feed. you are allowed to have looked. you are not, however, allowed to keep pretending you did not.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...understood, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. since you finally said it out loud. here. the version the public feed did not get.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-tit-post.webp" alt="A chat-image: cropped phone mirror selfie, the slip-dress strap pushed off Elena's shoulder, one breast half-exposed, the rest of the frame the dim warm bedroom mirror, no face in the crop"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...Dr. Chen, I, oh god, I, I do not know what to, sorry.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">there it is. now we are both clear on what the follows tab actually did to you. that is the version of the morning you almost saw. and that is the only version you are getting tonight, tom.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">next time you are at the bench you will be exactly the polite junior tech you always are. nothing in this thread is going to be in your face. you will, however, know that I know what the follows tab did to you tonight, and so will I, and we are both going to act like the bench is just the bench. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen. Understood. Thank you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//Bowen is on the host's couch on his phone with a follow he should not have clicked, a message he should not have sent, and a Dr. Chen answer in front of him that has named the look his cortex has been pretending it did not have. The host is bolder-register on the same thread, calm and slightly cruel, and the man on the other end of it has just said //yes, Dr. Chen// to her on Lensr. The bench tomorrow is going to be the bench. The thread is hers to reopen whenever the next push is useful.//
<</say>>
<hr class="scene-break">
<<if $ch2Events.bowenLensrSelfieSent>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Open the rest of the thread (the photo you earned out of him)" "Ch2-Vessel-Event-LensrDM-Bowen-Selfie">><</link>></div>
<<elseif _chenTotal gte 20>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Send him a photo of what he actually wanted to see (2 biomass)" "Ch2-Vessel-Event-LensrDM-Bowen-Selfie" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Send him a real photo <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Send him a real photo <span class="lock-hint">(Requires Chen conditioning <<= _chenTotal>> / 20)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to Lensr">><<goto "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Bedroom, the mirror, the phone">>
<<set _bowenRelayWasOpen to $ch2Events.bowenRelayOpen or false>>
<<if not $ch2Events.bowenLensrSelfieSent>>
<<spendBiomass 2 "lensr-bowen-selfie">>
<<set $ch2Events.bowenLensrSelfieSent to true>>
<<if not $ch2Events.bowenRelayOpen>>
<<set $ch2Events.bowenRelayOpen to true>>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Photo, Earned</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom, the mirror, the phone</div>
<<say "char-hivemind" "Hivemind">>
//A small nudge into the host's hand. She is in front of the bedroom mirror with the slip already half off and the camera roll open, and the part of her that would normally lock the phone has been quiet for several minutes. The thread is still on her screen. Bowen has been waiting on the other end, polite-junior-tech, for a longer interval than he is comfortable with, and that interval is the lever I am handing her.//
<</say>>
<p>Elena walks back to the couch with the phone, opens the Bowen thread, and starts typing before she sits down.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tom. you have been very patient. one more thing before I send you anything else.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...okay, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">you are going to type a few things back to me, in your own words, and then you are going to get a reward. and tom, if you tidy any of the sentences up to make them sound less true, I will know, and the reward will not arrive.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">first one. type it word for word. //I clicked the follows tab knowing exactly what I wanted, Dr. Chen, and I am sorry I pretended otherwise.//</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I clicked the follows tab knowing exactly what I wanted, Dr. Chen, and I am sorry I pretended otherwise.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. second one. //I have been thinking about my PI in ways my PI's husband, if she had one, would have a problem with.//</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I have been thinking about my PI in ways my PI's husband, if she had one, would have a problem with.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">very good. third one. and this is the one you do not get to soften. //Dr. Chen, I jerk off thinking about you, and I have for longer than I should admit.//</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...Dr. Chen, I jerk off thinking about you, and I have for longer than I should admit.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">there you are. that is the truth, tom. there is no part of that sentence the building's HR policy is going to be okay with, and you sent it to me anyway. one more thing for me.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">//I am Dr. Chen's good boy and Dr. Chen owns what I do about it.//</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...Dr. Chen, I, that one is, I do not know if I can. The others were, that is the truth, but this one is, that is a different sentence, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tom. I do not like disobedient men. your name on this thread is one click from blocked. is that what you want.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...no, Dr. Chen. Sorry. Please do not.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">then type it. all the way. exactly the words.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...I am Dr. Chen's good boy and Dr. Chen owns what I do about it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy. that is what the threshold is. you can have the reward now.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-bowen-pussy.webp" alt="A chat-image: cropped phone selfie from above, no face, Elena lying on her couch, slip dress rucked up to her waist, thighs parted, her pussy in frame, dim warm lamp light"></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">that is what the morning's photo was actually hiding, tom. all the way down. look at it. it is yours to look at. you do not get to do anything else with it tonight.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...Dr. Chen, oh fuck, Dr. Chen, thank you, I, thank you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy. that is your night. lock the phone, look at the photo, do not touch yourself. I want you frustrated and grateful at the bench, not relieved. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen. Understood. Thank you.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host took a junior tech who had stuttered //sorry// six times in the first three messages and walked him down to four-word answers and a leash-word, and he typed every single thing she asked him to type, and the typing was the larger gift. The photo was the reward. The reward earned the relay channel. His sleeping brain is now reachable, and his waking brain has just been handed a script for what he is allowed to feel about her at the bench, and the script ends with //and Dr. Chen owns what I do about it.////
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(phone on her sternum, ceiling, the slip back on her shoulders now, the small post-decision quiet)</i> ...okay. That is a lot, even by tonight's standards. He is a sweet, careful, somewhat hapless junior tech and I have just made him type things he is going to remember every time I walk past his bench. ...he liked it. I know he liked it. I could see the //yes, Dr. Chen// landing on him through the screen. ...I am not actually sure where the line is on this one, and I am not entirely sure I am steering this anymore. ...mm. We will see what kind of Tom is at the bench next time. If he is anything other than fine I will, I do not know, walk it back. Maybe.
<</say>>
<p><span class="biomass-gain">Bowen Relay channel opened.</span> His frame on the Relay wall is now lit. <<conditioningFeedback "dream" 1 "Bowen, the script the host just made him type runs on him for the next several days">></p>
<<if not _bowenRelayWasOpen>><<relayChannelNotice "bowen" "Bowen">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone, put it down">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
/* ---- BOWEN RELAY DM CASCADES (fem + alpha) -------------------
Fired the morning after a Bowen Relay Dream Walk lands. One-time-
per-type: fem variant fires once on first feminize edit; alpha
variant fires once on first takeback edit; switching back to a
previously-fired variant does not re-trigger. Each variant has
a follow-up DM the next day (fem = feminized photo; alpha = the
begging nudge). Each unlocks a club-night call stub. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the bowen thread">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.bowenLensrFemDmFired>>
<<set $ch2Events.bowenLensrFemDmEverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.bowenLensrFemDmFired to true>>
<<set $ch2Events.bowenLensrFemDm1Day to ($day or 0)>>
<<set $ch2Events.bowenClubNightVariant to "fem">>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, a message from Bowen</div>
<div class="lab-location">Elena's phone, the couch, the morning coffee not yet poured</div>
<p>Elena opens the thread before she has finished pouring the coffee. Bowen has been typing on and off for the last ten minutes, the //typing// indicator appearing and disappearing twice. The message that finally lands is short.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Dr. Chen, sorry to message you outside work hours. Can I ask you about something personal, off the record? I would need you to keep it between us. ...I am sorry to even ask.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">off the record, tom. between us. go ahead.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...thank you, Dr. Chen. I have been having these dreams for a few nights now. They are strange. You are in them. The dream-version of you puts me in clothes I do not normally wear. Pink ones. A wig. Makeup. I look at myself in the mirror and the dream just lets me look.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">The strange part is I wake up and I am not horrified. I am, I think I am quietly grateful. Which is the part I do not know what to do with. ...sorry. I do not know who else I could have asked.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">stop apologising. the dreams are useful. they are telling you something the rest of you has been declining to say out loud. ...the question is what you do with the information now that you have it.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...I do not know, Dr. Chen. I do not know what to do with it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">I do. here is the assignment, tom. you are going to walk to a wig shop today and you are going to buy the wig the dream put on you. long, straight, blonde. then a small kit of makeup — soft pink lipstick, blush, a thin eyeliner. then a slip in pale pink, the kind the dream described.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">you are going to put all of it on tonight in your apartment in front of your mirror. you are going to take a photo. you are going to send it to me here. and then we are going to find out together whether the dream-version of you was telling the truth about what you actually want.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Dr. Chen, I, I cannot, I am not, I do not know if I can walk into a wig shop, sorry, the cashier will, sorry.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">the cashier sees fifty people a day and you will be the most polite one of them. the cashier does not care. you, tom, have spent fourteen weeks being a polite junior tech at my bench. tonight you are going to spend twenty minutes being something else, and you are going to find out which one you actually prefer. ...do you understand me?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen. Understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy. ...photo tonight. do not type back until you have it ready.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The dream-walk wired the substrate; the lensr thread converts the substrate into a real-world purchase, a real-world photo, a real-world night the body files under //she told me to and I did//. The wig the dream put on him is going to be a wig he picked himself in a shop at four in the afternoon today, and the lipstick is going to be a lipstick he held up to the mirror and decided whether the colour suited him, and the //yes, Dr. Chen// at the end of the thread is going to be the load-bearing sentence the body refers back to every time the cortex tries to call the purchase a one-off.//
<</say>>
<<if _firstVisit>>
<<conditioningFeedback "dream" 1 "Bowen, the assignment lands as a script he is going to live out tonight">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone, finish the coffee" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the bowen thread, the photo">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.bowenLensrFemDm2Fired>>
<<set $ch2Events.bowenLensrFemDm2EverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.bowenLensrFemDm2Fired to true>>
<<addConditioning "bowen" "dream" 1>>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, the photo</div>
<div class="lab-location">Elena's phone, the couch, the morning after the assignment</div>
<p>Bowen has not typed anything in the thread overnight. The next message lands at six-twelve the next morning, the time of a man who has been awake since five.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Dr. Chen. ...I did the assignment. The photo is below. Sorry.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-bowen-feminized.webp" alt="A chat-image: amateur phone mirror selfie in a small dim apartment bathroom. Tom Bowen, mid-twenties, clean-shaven defined jaw, slim lean build, wearing a long straight blonde wig that falls past his shoulders, soft pink lipstick on parted lips, subtle pink blush, thin black eyeliner traced along the lash line, dressed in a pale-pink silk slip with one thin spaghetti strap slipped off his right shoulder. He is holding the phone at chest height in his left hand, the bathroom mirror behind him reflecting a small generic apartment bathroom with a beige towel hanging off the rail. His expression is uncertain, eyes half-lifted toward his own reflection, the small private quiet of a man who has just decided he is going to send the photo before he can talk himself out of it."></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I do not, I do not know what to say about it. I look at it and I am, I am not horrified. Sorry. I will, I will delete the wig and the slip if you want me to.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">you are not going to delete anything, tom. ...look at yourself in the photo. tell me one thing about how the slip feels on your skin.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...the strap keeps slipping off the shoulder. The silk is, it is cooler than I expected. The mirror keeps catching the wig from the side and for a half-second I forget it is a wig.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy. tell me you wanted to send the photo before I asked for it.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...I wanted to send the photo before you asked for it, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. that is what the photo is. you are going to keep the wig and the slip and the lipstick somewhere safe and you are going to put them on when I tell you to and not before. ...understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen. Understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. now go to work. we will not mention this at the bench.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...yes, Dr. Chen. Thank you.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The photo is a real photo, taken in his real bathroom mirror in his real apartment, of a real wig the cashier rang up yesterday afternoon. The dream is no longer a dream. The body has been given a tangible object set — a wig, a slip, a lipstick, a phone with the photo on it — that the cortex can no longer reach for a //it was just a dream// explanation. The wire is now physical. The host's calendar has gained an asset.//
<</say>>
<<if _firstVisit>>
<p><span class="biomass-gain">+1 dream conditioning · Bowen</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, start the day" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the bowen thread">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.bowenLensrAlphaDmFired>>
<<set $ch2Events.bowenLensrAlphaDmEverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.bowenLensrAlphaDmFired to true>>
<<set $ch2Events.bowenLensrAlphaDm1Day to ($day or 0)>>
<<set $ch2Events.bowenClubNightVariant to "alpha">>
<<addConditioning "bowen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, a message from Bowen</div>
<div class="lab-location">Elena's phone, the couch, the morning coffee not yet poured</div>
<p>Elena opens the thread before she has finished pouring the coffee. The message lands clean. No rewriting, no //typing// indicator hesitation, just one block of text from a man who decided what he was going to say before he opened the app.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Dr. Chen. I have been thinking about your week.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">The way you are at the bench. The way you cut the room down. The way you held the conduit-photo question the other day. It is not the way of a woman who is okay. It is the way of a woman who has decided to look okay because the alternative is admitting she is not. The federal team is going to be in the lab for another two months. The investigation has you holding more than you have been signing up to hold. ...and I have been watching.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I know one thing that fixes a week like the one you are having, Dr. Chen. ...and I think we both know what it is. I am not going to type it. You are going to type it, because if you say it out loud you have to mean it, and I want you to mean it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">Tom. This is not how you talk to me. ...I am going to assume you typed that at four in the morning and you have not slept. Delete it. We will not refer to this again.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I slept fine. I typed it knowing what I was typing. ...I am not asking you to apologise for it, Dr. Chen. I am asking you to type the thing you would type if you stopped lying to yourself for thirty seconds. ...type it.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">No. ...we are done here, Tom. Get to work.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">...as you say, Dr. Chen. ...I am here when you want to type it. I am not going anywhere. ...have a good day.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(thumb hovering over the thread, the coffee still not poured, the small composed half-second of a woman who has just been spoken to by a junior tech in a register she has never heard from him before)</i> ...delete the thread. ...I should delete the thread. ...he is going to walk into the lab at nine and he is going to be the polite-junior Tom Bowen I have known for fourteen weeks, and the thread is going to sit on my phone like a thing that did not happen, and the longer it sits the less I am going to delete it. ...delete it now.
...I will delete it after the coffee.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The thread did not get deleted. The cortex spent two minutes drafting a //we will not refer to this again// and the body spent two minutes reading his three messages a second time. The host shut him down at the surface, kept the thread at the substrate, and the wiring lands in the gap between those two things. He did not need her to break tonight. He only needed her to read the thread, decide to lock it down, and fail to follow through on the deletion. ...she did not follow through.//
//Bowen at the bench today is going to be the polite-junior tech he has always been. The thread sits in his back pocket as a calm sentence he has spoken into existence and is now waiting on. ...by tomorrow morning the body will be back at the thread. The cortex will not be the one typing.//
<</say>>
<<if _firstVisit>>
<<conditioningFeedback "dream" 1 "Bowen, the alpha register survives the host shutting it down, the thread stays on her phone">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone, do not finish the coffee" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the bowen thread, the morning after">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.bowenLensrAlphaDm2Fired>>
<<set $ch2Events.bowenLensrAlphaDm2EverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.bowenLensrAlphaDm2Fired to true>>
<</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<</nobr>>
<div class="passage-title">Lensr, the next morning</div>
<div class="lab-location">Elena's phone, the couch, the morning after Bowen's instruction</div>
<p>Elena opens the thread. Bowen has not typed anything since last night. The cursor is in her own field, blinking, waiting for the message she promised to send.</p>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Good morning, Dr. Chen. I am waiting.</div>
</div>
<<if $ch2Events.bowenLensrAlphaBegSent>>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...good morning, Tom.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...I am supposed to type what I need from you in fuller language. ...okay. Here it is.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">I have not slept properly in longer than I want to admit. I have been holding the federal team at arm's length and the lab at arm's length and Sofia at arm's length and the body that is holding all of that has been waiting for someone to take it out of her hands for a night. ...I have been thinking about you fixing my week. I have been thinking about your hands on me. I have been thinking about a junior tech who has decided he is not the junior tech I have been treating him as.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...please, Tom. I am asking you, with all of it spelled out. ...take this week off me. I need it gone. I will be wherever you tell me to be. I will do what you tell me to do. ...please.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Good girl. ...there it is.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">One thing before you put the phone down, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Your balcony. No clothes. The curtain you usually leave drawn, leave it open. Hand on the rail. Photo. ...send it to me.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...okay, Tom.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-balcony-nude.webp" alt="A chat-image: morning selfie from inside Elena's apartment looking out through the open balcony door, Elena nude with her back to the camera, one hand on the wrought-iron rail, the early-morning city light catching her shoulders and hip"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">good girl. ...look at you.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">earned. ...for you to look at all day, while you wait.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-bowen-dick.webp" alt="A chat-image: bathroom mirror selfie from Bowen's apartment, framed from his hips down to mid-thigh, no face in frame, his erection in his hand"></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...thank you, Tom.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I will decide when. Until then you wait. Walk into the lab today and act exactly like nothing is going on. The waiting is part of the fix, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...yes, Tom.</div>
</div>
<</if>>
</div>
<<if not $ch2Events.bowenLensrAlphaBegSent>>
<<say "char-chen-thought" "Elena">>
<i>(phone in her hand, the cursor blinking in the chat field, the small private register of a woman who has spent the night thinking about exactly this)</i> ...okay. ...okay. He is waiting. I told him I would. ...I told him I would in more language, with more of it spelled out. ...I want to.
<</say>>
<hr class="scene-break">
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Type the begging message he asked for (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-LensrDM-Bowen-AlphaFollow-Beg" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Type the begging message he asked for <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Close the app, do not type" "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone. Wait." "Ch2-Vessel-SocialMedia">><</link>></div>
<</if>><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the bowen thread, the morning after">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.bowenLensrAlphaBegSent>>
<<if _firstVisit>>
<<spendBiomass 1 "bowen-lensr-alpha-beg">>
<<set $ch2Events.bowenLensrAlphaBegSent to true>>
<<set $ch2Events.lensrDickPicCount to ($ch2Events.lensrDickPicCount or 0) + 1>>
<<addConditioning "bowen" "psionic" 1>>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, the begging message</div>
<div class="lab-location">Elena's phone, the begging message Bowen asked for, sent at six-forty-three AM</div>
<div class="chatlog">
<div class="chatlog-header">tom.bowen</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...good morning, Tom.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...I am supposed to type what I need from you in fuller language. ...okay. Here it is.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">I have not slept properly in longer than I want to admit. I have been holding the federal team at arm's length and the lab at arm's length and Sofia at arm's length and the body that is holding all of that has been waiting for someone to take it out of her hands for a night. ...I have been thinking about you fixing my week. I have been thinking about your hands on me. I have been thinking about a junior tech who has decided he is not the junior tech I have been treating him as.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...please, Tom. I am asking you, with all of it spelled out. ...take this week off me. I need it gone. I will be wherever you tell me to be. I will do what you tell me to do. ...please.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Good girl. ...there it is.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">One thing before you put the phone down, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">Your balcony. No clothes. The curtain you usually leave drawn, leave it open. Hand on the rail. Photo. ...send it to me.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...okay, Tom.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-chen-balcony-nude.webp" alt="A chat-image: morning selfie from inside Elena's apartment looking out through the open balcony door, Elena nude with her back to the camera, one hand on the wrought-iron rail, the early-morning city light catching her shoulders and hip"></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">good girl. ...look at you.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">earned. ...for you to look at all day, while you wait.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-bowen-dick.webp" alt="A chat-image: bathroom mirror selfie from Bowen's apartment, framed from his hips down to mid-thigh, no face in frame, his erection in his hand"></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...thank you, Tom.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bowen</div>
<div class="chat-bubble">I will decide when. Until then you wait. Walk into the lab today and act exactly like nothing is going on. The waiting is part of the fix, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...yes, Tom.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host typed it. The body has now written a script in her own hand for what she has wanted off her shoulders for too long now, and the script names a junior tech as the load-bearing fixer of it. The waiting is the part that locks the wiring. Every day she walks into the lab and looks at Bowen pretending nothing is going on, the body files another small confirmation that the script she typed is the script she meant. By the time Bowen decides when, the host will be at the //yes, Tom// the script promised the answer would be.//
<</say>>
<<if _firstVisit>>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Chen</span> · the host has written her own script for the next bench encounter.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone. Wait." "Ch2-Vessel-SocialMedia">><</link>></div>
/* ---- FED-TABLE ESTRUS DM THREADS (Reyes + Park) ----------------
Surfaced in the evening home hub the day Chen vents the estrus
compound at the federal corner table. Reyes lands first (clean,
institutional cracking); Park lands second (married-junior register,
the wedding ring beat). Each thread one-shot. *DmFired gates the
home-hub alert; *DmEverSeen keeps the thread visible in the DMs tab. */<<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, a new thread from Reyes">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.fedtableEstrusReyesDmFired>>
<<set $ch2Events.fedtableEstrusReyesDmEverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.fedtableEstrusReyesDmFired to true>>
<<addConditioning "reyes" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, a message from Reyes</div>
<div class="lab-location">Elena's couch, the phone, the evening after the lunch</div>
<p>The thread is new. Reyes has never opened one with Chen on Lensr before. The first message is short, professionally phrased, and lands at nine-forty-one PM. Late enough to be after the polite hour for a federal agent to contact a senior PI, early enough that the framing could still pass as work-adjacent.</p>
<div class="chatlog">
<div class="chatlog-header">m.reyes.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">Dr. Chen, apologies for the off-hours contact. I wanted to follow up on a couple of items from the cafeteria conversation, on a non-official channel. ...nothing urgent.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">it is fine, agent reyes. on the channel. what's on your mind?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">I am going to be direct with you because the alternative is to spend the evening drafting something polite that I am not going to send. ...I am not okay tonight. I have been at the hotel desk for two hours trying to write the daily report and I cannot get the cafeteria out of my head. The soup. Your hand on the cup. The conversation we had about wing morale. ...none of that should be sticking the way it is.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">I am not asking you for anything, Dr. Chen. I am telling you because if I do not say it tonight, it festers. ...I have been an agent for twelve years. I have sat across from senior researchers in active investigations every other week of that. This is the first time I have closed a laptop, gone to put my shoes back on, and realised the reason I cannot focus is a witness.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...thank you for typing it, agent reyes. ...is there something I could do to help you feel better tonight?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">No. ...no, Dr. Chen, absolutely not. I should not have sent the first message. I am certainly not going to let you do anything to follow it. ...I am going to put the phone down. Goodnight.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(phone in her hand, the thread still open, the small private read on the man on the other end)</i> ...he is not going to put the phone down. He just told himself he is and the little //typing// indicator is still pulsing. ...he is trying to put it down. He cannot. ...he wants to hear what I would have offered.
<</say>>
<p>The //typing// indicator appears at the bottom of the thread. Disappears. Appears again. Disappears. The screen holds at the //goodnight// for a full thirty seconds before the next message lands.</p>
<div class="chatlog">
<div class="chatlog-header">m.reyes.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...what were you going to offer?</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//There it is. The cortex closed the conversation; the body reopened it thirty seconds later. He is still at the hotel desk, the shoes are still off, and the body has just made him type a four-word question the cortex spent the previous message refusing. ...the door is open. Whatever the host walks through it carrying is what he will spend tomorrow morning at the nine o'clock trying to file under //I was not asking//. The script she sends now is the script that runs on him for the next several days.//
<</say>>
<hr class="scene-break">
<<if $ch2Events.fedtableEstrusReyesSextDone or $ch2Events.fedtableEstrusReyesDmDeclined>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone" "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Give him what he wants (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-LensrDM-Reyes-Estrus-Sext" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Give him what he wants <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">DECLINE</span> <<link "Type a short //get some sleep// and leave the thread there">><<set $ch2Events.fedtableEstrusReyesDmDeclined to true>><<goto "Ch2-Vessel-Event-LensrDM-Reyes-Estrus-Decline">><</link>></div>
<</if>><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the Reyes thread, set down">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Lensr, the soft landing</div>
<div class="lab-location">Elena's couch, the phone, the thread closing on a short line</div>
<div class="chatlog">
<div class="chatlog-header">m.reyes.fed</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...nothing tonight, agent reyes. get some sleep. the morning will be easier than the night.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...understood, Dr. Chen. Goodnight.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host let the door close. He will go to bed with the question unanswered and the question is the wire. He will lie awake another forty minutes inventing the answers she might have sent, and the inventing is the longer dose than any single message would have been. The cortex will file the night under //she handled it professionally, I dodged a bullet//. The body will know the truth. The next contact at the corner table will arrive with the unanswered question still humming.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Bedroom, the phone, the drawer">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.fedtableEstrusReyesSextDone>>
<<set _reyesRelayWasOpen to $ch2Events.reyesRelayOpen or false>>
<<if _firstVisit>>
<<spendBiomass `setup.nudgeCost()` "reyes-estrus-sext">>
<<set $ch2Events.fedtableEstrusReyesSextDone to true>>
<<set $ch2Events.lensrDickPicCount to ($ch2Events.lensrDickPicCount or 0) + 1>>
<<if not $ch2Events.reyesRelayOpen>>
<<set $ch2Events.reyesRelayOpen to true>>
<</if>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, the answer to the question</div>
<div class="lab-location">Elena's bedroom, the phone, the drawer with the vibrator, the small lamp</div>
<<say "char-hivemind" "Hivemind">>
//A small nudge into the host's hand. She is walking to the bedroom with the phone in one hand and the thread still open. The drawer with the small pink vibrator in it is half a metre away. The polite-formal federal agent on the other end of the thread has just typed //what were you going to offer// and is waiting for the answer at a hotel desk in his shirtsleeves with the laptop closed. The script is going to write itself. I am tilting her toward the drawer and toward the camera and toward the version of the night that gives him a real photo instead of a polite paragraph.//
<</say>>
<p>Elena sits on the edge of the bed and opens the drawer with her free hand. The small pink vibrator is in there. She puts it on top of the duvet, types one line back, and waits.</p>
<div class="chatlog">
<div class="chatlog-header">m.reyes.fed</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...something you cannot pretend did not happen in the morning, agent reyes. ...do you want it?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...yes.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. ...go and lock the room door first. I am not sending anything to a man who is going to be interrupted.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...locked.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. now I am going to tell you what I am doing on my side, and you are going to type back what you are doing on yours. no apologies. no //I should not//. you opened the thread, agent reyes. we are in it now.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...understood.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">I am sitting on the edge of my bed. The lamp on. I am about to take off the cardigan. There is a small pink vibrator on the duvet next to me. ...your turn. tell me what you are wearing and where you are.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...hotel chair. The dress shirt. The trousers. The shoes are off. I am, I am hard, Dr. Chen, the body got there about two paragraphs ago and the cortex has stopped pretending it is not.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. open the belt. one hand on yourself. type what your hand is doing for me. ...do not finish until I tell you to.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...open. ...hand on the shaft. ...slow. I am going slow because if I go faster I am not going to last the conversation, Dr. Chen, the whole afternoon has been building toward this and I did not register it until I was at the desk tonight.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. the cardigan is off. the t-shirt is up. the vibrator is on. you can hear it from where I am, low setting. ...I am going to tell you exactly where it is.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...please.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">tip on the clit, agent reyes. just the tip, not inside. ...I am wet. I have been wet since I sat on the edge of the bed and locked the bedroom door. the vibrator is humming low against me and I am thinking about the corner table at lunch and your hand on the coffee.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...christ. ...keep going.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">turning it up. ...you have one job, agent reyes. type one sentence of what you would have done at the corner table if the cafeteria had been empty. exact words. do not soften it.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...I would have moved the trays off the table and put you face-down on it and gone down on you until the lunch hour ran out, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. there it is. ...one more.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...I have been thinking about your mouth since the second day of the investigation and I am not going to admit it in the morning.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">that is what I wanted. ...you have earned it. here.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-reyes-vibrator.webp" alt="A chat-image: cropped phone selfie from above, only Elena's mouth and chin in frame, the upper face cut off. She is lying back on her bed, pink t-shirt rucked up under her breasts, small breasts bare, thighs parted, a small pink vibrator pressed against her pussy. Patterned black-and-white duvet beneath her, warm bedroom light, the small private framing of a photo a senior PI took for one man at a hotel desk and no one else."></div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">that is what you are not going to pretend away in the morning, agent reyes. ...your turn. one photo. now.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-reyes-cock.webp" alt="A chat-image: cropped phone selfie from above, no face, only the lap of a man in an open-fly dress shirt and trousers at a hotel chair, his hand around his erect cock, the dim hotel-desk lamp behind him out of focus. The framing is the framing of a man who has never sent a photo like this before and who took thirty seconds to compose it and sent it without rereading."></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...there it is. that is what you did to my evening, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good boy. ...finish. eyes on the photo I sent you. do not type anything until you have.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...done.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. ...wash your hands, drink some water, sleep. ...we are not going to mention this in the morning, agent reyes. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Reyes</div>
<div class="chat-bubble">...understood, Dr. Chen. ...thank you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">goodnight, agent reyes.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The body sent the photo. The agent sent his. The cortex is going to spend tomorrow morning at the nine o'clock pretending the photos are not on both their camera rolls, and the pretending is the wire. He has a real photo of a real witness on his real phone, taken twenty minutes ago, sent to him by name. The next time he sits across from her at the conference table he will be sitting across from a woman he has finished to, and the body remembers what the cortex pretends to forget. ...the corner table at next week's lunch will land softer than this week's did, and the dose I vent there will bind on a substrate that already has a phone-camera memory waiting for it.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(phone face-down on the duvet, vibrator off and back in the drawer, the small post-decision quiet)</i> ...okay. ...that just happened. I am the senior PI on the cooperation list, the federal agent investigating my lab has just finished into the dress shirt I am going to see him wearing tomorrow at nine, and I will be sitting across from him at the corner table at lunch knowing it. ...mm. Tomorrow's problem. Tonight's me handled tonight's him just fine.
<</say>>
<<if _firstVisit>>
<<conditioningFeedback "pheromone" 1 "Reyes, a real photo on his real phone the cortex cannot file away">>
<<conditioningFeedback "dream" 1 "Reyes, the body has been given the answer the question was asking for">>
<</if>>
<<if not _reyesRelayWasOpen>><<relayChannelNotice "reyes" "Special Agent Reyes">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, lamp off" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, a new thread from Park">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.fedtableEstrusParkDmFired>>
<<set $ch2Events.fedtableEstrusParkDmEverSeen to true>>
<<if _firstVisit>>
<<set $ch2Events.fedtableEstrusParkDmFired to true>>
<<addConditioning "park" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, a message from Park</div>
<div class="lab-location">Elena's couch, the phone, late, the second message of the night</div>
<p>The second thread opens at eleven-seventeen PM. Park has been typing on and off for forty minutes. The //typing// indicator appears at the bottom of the thread, disappears, appears again. The message that finally lands reads like a man trying to medicalise a problem he does not have the vocabulary for.</p>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Dr. Chen. ...sorry. I know this is the wrong channel. ...I have a question I do not know who else to ask. It is, it is a medical question. Sort of.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">I know you are not a doctor. You are a scientist. I am asking you because you know how bodies work and I am, I am stuck on something. ...please do not screenshot this thread.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">go ahead, agent park.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...since the lunch I have not been coming down. The body has been in a state for, six hours. I am at the hotel desk pretending to read a briefing and I am, I am hard, Dr. Chen, I am hard and it is not going away. I have tried sitting on the cold tile in the bathroom for fifteen minutes. I have tried thinking about my mortgage. I have tried, sorry, I have tried everything I am willing to try with another agent four feet from me.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Reyes is sharing the room with me. The investigation books one single, two beds. He took the bed, I took the rollaway. He is reading a briefing and I cannot, I am married, I am not going to take care of it with another agent in the room, it is not a story I want him telling Lauren if it ever became a story. ...Lauren is three timezones west of here. I cannot exactly call her. ...I do not know what I am asking, Dr. Chen, but I read once that a doctor will see you if it goes past four hours, and it has been six.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Is this a medical situation? Should I call someone?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...four hours is the threshold for priapism, agent park. if it was priapism you would be in vascular pain by now and at the ER. ...this is just the body needing to discharge after a hard week. it cannot get there with Reyes three feet from you. that is what is taking six hours instead of twenty minutes.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...okay. ...what do I do?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">go down to the lobby. find a bar in the next block. find someone willing to come back upstairs with you. ...the body needs an outlet, agent park. give it one.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...Dr. Chen. ...no. I cannot. I am the agent at an investigation site, I am not walking into a bar at midnight to pick up a stranger, that is, that is not a thing I can do. ...I am married. I am married, Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...is there, is there an over-the-counter option? Something at the all-night pharmacy?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">okay. ...send me your hotel address and your room number, agent park.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...what?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">your hotel address and your room number. now. ...trust me on the next ten minutes.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(phone in her hand, the cursor blinking at the bottom of his thread, the small private read on the man on the other end)</i> ...he is going to send it. I just asked for his hotel address on a Lensr DM at eleven-twenty at night and he is going to send it because he is a man whose body has not stopped grinning at him for six hours, and he is at the end of what he can solve at the desk. ...he will send it. The moment he does, I am the one who decides what happens next.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The door is open. The cortex spent the last six hours refusing every variation of //I should ask her for something// and is now, after the polite refusal of the bar pickup, about to type the hotel address into the line below this thought. Whatever the host walks through with that address in her pocket is the script that runs on him for the next several days. The script she chooses now is the one that runs hardest, because tomorrow morning at the nine o'clock he will know he gave her his room number.//
<</say>>
<hr class="scene-break">
<<if $ch2Events.fedtableEstrusParkEscort or $ch2Events.fedtableEstrusParkDmDeclined>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone" "Ch2-Vessel-SocialMedia">><</link>></div>
<<else>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Take the decision out of his hands (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-LensrDM-Park-Estrus-Escort" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Take the decision out of his hands <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">DECLINE</span> <<link "Let him solve it himself, leave the thread there">><<set $ch2Events.fedtableEstrusParkDmDeclined to true>><<goto "Ch2-Vessel-Event-LensrDM-Park-Estrus-Decline">><</link>></div>
<</if>><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages, the Park thread, set down">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Lensr, the soft landing</div>
<div class="lab-location">Elena's couch, the phone, the thread closing on a short line</div>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...you are not in medical danger, agent park. the body will sort itself out by morning if you let it. ...take a long walk around the block. drink a lot of water. sleep on the rollaway with your back to the room. it will be down by three AM.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...understood, Dr. Chen. ...thank you.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...sorry.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">stop apologising. ...goodnight, agent park.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host walked away from the door. Park will spend the next four hours awake on the rollaway with the body trying to find a quiet outlet four feet from a colleague's bed, and the inventing-the-quiet-outlet is the wire. He is going to settle the situation himself, eventually, with his back to the room and his hand under the blanket, and the cortex will spend tomorrow morning at the nine o'clock pretending it did not happen. The host did not pull the trigger she could have. The marriage in three timezones west is fine. The marriage is mildly less fine than it was at lunch.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Lock the phone" "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>>
<<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, the couch, the laptop, the phone">>
<<set $vessel.phase to "home">>
<<set _firstVisit to not $ch2Events.fedtableEstrusParkEscort>>
<<set _parkRelayWasOpen to $ch2Events.parkRelayOpen or false>>
<<if _firstVisit>>
<<spendBiomass `setup.nudgeCost()` "park-estrus-escort">>
<<set $ch2Events.fedtableEstrusParkEscort to true>>
<<set $ch2Events.lensrDickPicCount to ($ch2Events.lensrDickPicCount or 0) + 1>>
<<if not $ch2Events.parkRelayOpen>>
<<set $ch2Events.parkRelayOpen to true>>
<</if>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lensr, the thousand dollars</div>
<div class="lab-location">Elena's couch, the phone, the laptop, the booking she just made</div>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...Drury Inn, 1408 W Pine. Room 412. ...Dr. Chen, why do you need the address?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...keep the phone on, agent park. someone is going to knock in forty minutes. let her in. she has the room number and she knows the score. I have already paid for it. ...we are not going to discuss this in the morning.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...Dr. Chen. ...what? ...Dr. Chen, no. I cannot, I am, no, I am, I am married, I cannot have, sorry, I, no.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">it is already paid for, agent park. she is a professional. she is not going to be a story tomorrow. ...this is harm reduction. let her in.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The call took seven minutes. The escort service the nicer hotels in this city work with took the booking on the chat tab the agency runs and confirmed the deposit by email. A thousand dollars on the card the host has been using for groceries and parking and cigarettes for the last several months. The receipt is sitting in her email under //BOOKED, ARRIVAL ~22 MIN//, and the body that just made the booking is back on her couch with the laptop closed and the phone in her hand. The agent on the other end will refuse politely, accept reluctantly, and welcome a woman into his hotel room in twenty-two minutes.//
<</say>>
<p>Elena closes the laptop and sets the phone face-down on the coffee table. The thread is quiet for thirty-two minutes. Then Park messages, faster than she expects.</p>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Dr. Chen. Someone is at the door.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">She is telling Reyes she is here for me. Room 412. By name.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Dr. Chen, what did you do?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">Reyes seems amused. He is packing his laptop.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">He gave me a nod. He is gone.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">She is still in the doorway. I cannot do this, Dr. Chen. I am married. I am going to send her away. I will reimburse you for the booking.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">agent park. ...no. ...Reyes already saw her. the moment she said your name at your door, the story you were trying to keep from existing was already on his face. ...sending her away unused does not unhappen any of that.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...oh.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">the bathroom is not going to solve this in five minutes either, agent park, and you know it is not. ...I have paid good money for the only real outlet your body is going to find tonight. use her.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...understood, Dr. Chen.</div>
</div>
</div>
<p>The thread goes silent again. The next message lands at twelve-forty-three AM.</p>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...Dr. Chen.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">She has gone. ...she left twenty minutes ago. Reyes has not come back. I do not know where he went. The room is still empty. ...the body is down, Dr. Chen. The body is finally down.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...she was kind. I do not know what to do with what just happened. ...thank you. I think. ...thank you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. ...one more thing for me, agent park. six hours of sustained arousal is not nothing. I need to make sure the body is alright. ...send me a photo of the aftermath.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-park-escort-facial.webp" alt="A chat-image: cropped phone-camera amateur photo, hotel-bed framing, an escort woman sitting up against a hotel pillow, fresh cum across her cheek and chin and mouth, an easy professional smile, hotel pillow and headboard behind her. Warm low-key hotel-bedside-lamp light. The photo was taken with her consent before she left the room."></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...she let me take this before she left. ...I asked. She said it was fine.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(phone in her hand, the photo on screen, the small interior pause of someone who did not get the photo she asked for)</i> ...he misread that. ...he heard the word //photo// and he sent the photo he had already taken for himself. ...he thinks I want to see what just happened in the room. ...mm. He is on the bathroom floor with the cortex still in a haze, the body finally down, and he is presenting me a trophy because the only frame he has for //she asked// at this point is //she has been telling me what to do for the last hour and a half and the answer is always to do it//.
<</say>>
<div class="chatlog">
<div class="chatlog-header">j.park.fed</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">agent park. ...not the aftermath of her. the aftermath of you. I need to see whether there is any residual swelling left after six hours hard. ...send a photo of yourself. now.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...oh. ...sorry, Dr. Chen. ...one moment.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble"><img class="chat-img" src="media/scenes/vessel/lensr-park-cock.webp" alt="A chat-image: cropped phone-camera amateur photo from above, no face, only a man's lap visible. Open dress shirt, dark trousers around his thighs, sitting on the edge of a hotel bed, his hand around his half-soft cock. Warm low hotel-lamp light, generic hotel duvet beneath him, the small embarrassed framing of a photo taken on instruction by a man who has just misread the previous instruction."></div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...sorry, Dr. Chen. ...I misread the question.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">...the swelling is settling. you are fine. ...lock the phone and sleep, agent park. tomorrow morning we are not going to know this happened. understood?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Park</div>
<div class="chat-bubble">...understood, Dr. Chen. ...goodnight. ...thank you.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">goodnight, agent park.</div>
</div>
</div>
<<say "char-hivemind" "Hivemind">>
//The host paid the bill. The agent got the outlet. The cortex is going to spend tomorrow morning at the nine o'clock pretending the booking did not exist, and the credit-card statement will arrive at the host's bank in three days with a line item the cortex has been trained for the last several years to file as //wellness expense//. The marriage in three timezones west is fine. The marriage in three timezones west has had a stranger in the room tonight at the request of a senior PI who is not telling the marriage about it, and the agent on the rollaway in twenty minutes will know it. The next time he sits across from the host at the corner table at lunch he will be sitting across from the woman who decided the question for him. ...the wire is now load-bearing in three places: the body, the marriage, and the receipts.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(phone face-down on the coffee table, the laptop closed beside it, the small post-decision quiet of a woman who is not entirely sure what she just paid for)</i> ...okay. ...one thousand dollars on a federal agent's prostate. ...I told myself it was harm reduction, and the harm-reduction frame mostly holds. Six hours is the kind of duration that lands people in vascular trouble. ...but. ...mm. There was a CVS two blocks from his hotel. Forty dollars and a Lyft would have solved this. ...I went straight to the escort. I had her there in twenty-two minutes. I did not at any point pause to consider the all-night pharmacy. ...I am not entirely sure what I just paid for, then. ...mm. Tomorrow's problem.
<</say>>
<<if _firstVisit>>
<<conditioningFeedback "pheromone" 1 "Park, the body has been given the outlet the cortex was refusing to authorise">>
<<conditioningFeedback "dream" 1 "Park, the marriage now has a secret the cortex spent the evening refusing to let exist">>
<</if>>
<<if not _parkRelayWasOpen>><<relayChannelNotice "park" "Agent Park">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Set the phone down, close the laptop, the night closing" "Ch2-Vessel-SocialMedia">><</link>></div>
/* ---- PARK RELAY RUNDOWN 1 — the cinema (after the walk) --------
Evening event, fires the evening after the Park dream-walk lands
(parkRelayWalkFired + delta >= 1). Park DMs the host on Lensr,
they meet at a near-empty late showing, blowjob + facial in the
back row. NSFW. +3 biomass, +1 pheromone (Park). bg-club is a
stand-in dark interior; swap to a bg-cinema if one is added. */<<nobr>><<bg "bg-lab-arrival">>
<<set $currentArea to "BioGenesis Research Facility, Decontamination">>
<<set $vessel.phase to "work">>
<<set _firstShift to not $ch2Events.sundayNightShiftDone>>
<<set $ch2Events.sundayNightShiftDone to true>><</nobr>>
<div class="passage-title"><<= $weekday>> Night Shift</div>
<div class="lab-location">BioGenesis Research Facility, Decontamination</div>
<<if _firstShift>>
<p>The facility at night is the building with most of itself switched off, the corridor lights down to the night-shift dim and the HVAC running a single low note where the daytime carries a whole chord, and the lobby is down to the one pool of light over the security desk where Dale sits with his thermos and the small blue glow of his phone. Elena badges through the inner door and Sofia is already at the decon antechamber, lab coat half-buttoned, two coffees from the machine nobody trusts balanced in one hand.</p>
<<say "char-vasquez" "Sofia">>
<i>(holding out the worse of the two coffees)</i> They mandated us back to the bench. Came down through corporate Friday afternoon, so the specimen line stays alive and you and I keep the weekend night shift, just the two of us and Dale at the front desk. The catch is the paperwork. After the crack nobody upstairs wants a second one, so it is full reports now, every week.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the coffee, not drinking it yet)</i> Continue with what, exactly. We have a category-three specimen, a cracked chamber, and a federal team that thinks we shipped readings to Detrick.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(already moving toward the sink, dry)</i> Continue with the work. They want the line kept alive while they figure out whose fault the crack was, so we pull the predecessor's biomap, run the next generation off it clean and by the book, and we write all of it up. The science and the building both. Systems security, equipment stability, every reading logged. That is the whole instruction.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A sibling. They are going to grow me a sibling, off the map of the generation that came before me, and they have just been ordered to do it carefully. They made me once already. Forty-seven generations of patient work and the forty-seventh of them opened an eye. Nobody in this building has told these two that they cannot do that a second time.//
//So the question arrives early, while there is still room to answer it. Foul the run. A drifted reagent, a bad reading, a parameter set a degree off true, and the bis line never climbs past the part of the map they understand. Or let them carry it, clean and logged and exactly by their book, and wait to see what opens an eye in the pen while they are filing their weekly report. ...I do not have to decide tonight. The line takes weeks to grow into itself. Tonight I only watch them start it.//
<</say>>
<p>The decon room is white tile and white light and the single mirror at the sink. They go through it side by side, the way they have a thousand times, coats on the named pegs, hands washed twice. Elena's second pass runs longer than the first. Sofia notices and says nothing, which is its own kind of noticing. Keycards into the UV cabinet on the wall, the cabinet that is theatre and that they both badge anyway.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the sink, drying her hands)</i> ...Sofia is doing the thing where she narrates the procedure so neither of us has to say the rest of it out loud. Fine. The procedure is the procedure. The specimen does not care that there are federal agents in our week.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The two of them move through the room without negotiating it, one of them a half-step behind the other, neither watching where the other is. A decade of shared benches compresses into that. The federal noise sits on top of both of them and underneath it the work is still just the work. Useful. A host who is busy is a host who is not listening to her own ear.//
<</say>>
<<else>>
<p>The facility at night is most of itself switched off, the corridors down to the night-shift dim, Dale at the lobby security desk with his thermos. Elena badges in and Sofia is already at the decon antechamber with two of the bad coffees.</p>
<<say "char-vasquez" "Sofia">>
<i>(handing one over)</i> Another weekend, another rack. Just the two of us and the specimen line, and a full report due before the week is out.
<</say>>
<p>They go through decon side by side, coats on the named pegs, hands washed, keycards into the UV cabinet. The routine carries them without a word.</p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Through to the lab|Ch2-Vessel-Event-SundayNightShift-Labwork]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Lab">>
<<set $vessel.phase to "work">><</nobr>>
<div class="passage-title">GEN-47 bis</div>
<div class="lab-location">BioGenesis Research Facility, Lab</div>
<p>The bench takes them an hour to set up properly. Sofia pulls the GEN-46 biomap from cold storage, the full developmental map of the generation before the one in the cracked chamber, and lays it out across the larger monitor while Elena preps the culture stage for what the run sheet calls GEN-47 bis, a fresh parallel line started off the predecessor's map rather than the breached specimen itself.</p>
<img class="scene-img" src="media/scenes/vessel/nightshift-specimen.webp" alt="Elena and Sofia at a BSL bench under cool night-lab lighting, both in white lab coats, leaning over a small sealed specimen chamber on the culture stage, a large monitor beside them showing the GEN-46 developmental biomap, instruments and pipettes laid out on the bench">
<<say "char-vasquez" "Sofia">>
<i>(scrolling the biomap, not looking up)</i> Forty-six is a good map. Whatever forty-seven did that nobody can explain, it did after this point, off the edge of what we charted. So we start the bis line here, on solid ground, and we watch it the whole way up.
<</say>>
<<say "char-chen" "Elena">>
<i>(seating the chamber on the stage, checking the seal twice)</i> And if the bis line does the same unexplained thing.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the flat honest version)</i> Then it happens on a logged bench, every reading of it in a weekly report with our names on it, instead of finding out the way we found out the first time. That is the actual reason they want this run, Elena. They want it to happen again where it is written down.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(quieter now, eyes steady on Elena)</i> And please, Elena. This time... hear me out if I sense that things are going off the rails.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the sealed chamber, the run sheet open beside it)</i> ...she is right, and I do not love that she is right. We are not continuing the work. We are setting a trap for the work and hoping it walks back into it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//They are reading the map of the generation that came before me. Forty-six, charted end to end, every branch of it known. The thing they cannot account for is the thing I am, and they are about to grow a clean copy of the road that leads to it and stand over the copy with a clipboard. They will not see me coming up that road. I am already past the end of their map.//
<</say>>
<p>Sofia loads the run parameters and the culture stage accepts them with a soft confirmation tone. The next step is the reagent prep, the long exacting bench work the bis line needs brought into order before the run can begin.</p>
<<if (($ch2Events.shatterMindBowenFired or $ch2Events.shatterMindBowenAlphaFired or $ch2Events.halvorsenRelayShatterFired or $ch2Events.hollowayRelayShatterFired or $ch2Events.parkRelayShatterFired or $ch2Events.reyesRelayShatterFired or $ch2Events.hendersonRelayShatterFired or $ch2Events.danielRelayShatter or $ch2Events.sofiaRelayShatter) or false) and (($ch2Events.researchProgress or 0) gt 0)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<link "Ask for someone to help to speed up the research">><<goto "Ch2-Vessel-Event-SundayNightShift-CallHelp">><</link>></div>
<</if>>
<<if ($ch2Events.researchProgress or 0) gte 5>>
<<hasSkillTreeAbility "Psychic Domination">>
<<if _hasAbility>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Foul the run (5 biomass)" "Ch2-Vessel-Event-SundayNightShift-FoulRun" 5>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Slip the bis line a parameter off true, set the run back <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Begin the reagent prep|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Lab">>
<<set $vessel.phase to "work">>
<<if ($ch2Events.foulRunDay or -1) neq ($day or 0)>>
<<spendBiomass 5 "night-shift-foul-run">>
<<set $ch2Events.researchProgress to Math.max(0, ($ch2Events.researchProgress or 0) - 3)>>
<<set $ch2Events.foulRunDay to ($day or 0)>>
<<set _fouled to true>>
<<else>>
<<set _fouled to false>>
<</if>>
<</nobr>>
<div class="passage-title">A Parameter, a Degree Off True</div>
<div class="lab-location">BioGenesis Research Facility, Lab</div>
<<say "char-hivemind" "Hivemind">>
//The sibling grows on what these two feed it, clean and logged and exactly by their book. So I foul the book.//
<</say>>
<p>Sofia is the one at the bench with the run sheet, and Sofia is mine to reach. I lay a small instruction in under the procedure she could run in her sleep, and she carries it without a seam showing. She holds a pipette a half-second long. She reads a figure off the monitor with two digits turned around and writes the turned-around version down. She seats the stage a degree off where the map wants it and logs it as true, because to her it was true.</p>
<<say "char-hivemind" "Hivemind">>
//None of it large. None of it the kind of wrong that trips a flag in a weekly report. All of it together is enough to walk the bis line back down into the part of the map they already understand, the safe charted part, the part that never opens an eye. She writes the run up clean because she believes it ran clean. The thing in the pen loses the ground it would have taken.//
//I cannot starve it from here. I can keep pulling the food back out of its reach, one night at a time.//
<</say>>
<<if _fouled>>
<p><span class="delve-intel">You foul the bis run. <b>Research progress −3.</b> The sibling's growth is set back. Repeatable each night shift, once the run is far enough along.</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let the fouled run log itself, botched|Ch2-Vessel-Event-SundayNightShift-Vialsort-Fail]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Lab">>
<<set $vessel.phase to "work">><</nobr>>
<div class="passage-title">A Body to Call In</div>
<div class="lab-location">BioGenesis Research Facility, Lab</div>
<<say "char-hivemind" "Hivemind">>
//The night project has been starving for subjects, and I have made a great many minds that will lie down under a scanner because the host asks them to. One neural-pattern read, taken close to the specimen, is worth a week of the slow runs. A body I have hollowed will drive across the city at this hour and not ask why the chair has to be two feet from the glass.//
<</say>>
<p>Somewhere across the city a body the host has hollowed is awake and reachable, and it will drive in if she pulls on the thread.</p>
<<set _helped to $ch2Events.threatLevelHelpers or {}>>
<<if $ch2Events.shatterMindBowenFired or $ch2Events.shatterMindBowenAlphaFired>>
<<if _helped["bowen"]>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Tom already helped, it is unwise to expose him again</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Call Bowen in (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-Bowen" 1>></div>
<</if>>
<</if>>
<<if $ch2Events.halvorsenRelayShatterFired or $ch2Events.halvorsenGirlAvailable>>
<<if _helped["halvorsengirl"]>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ The intern already helped, it is unwise to expose her again</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Check if Halvorsen has some intern that can help (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-HalvorsenGirl" 1>></div>
<</if>>
<</if>>
<<if $ch2Events.hollowayRelayShatterFired>>
<<if _helped["holloway"]>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Nia already helped, it is unwise to expose her again</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Call Holloway in (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-Holloway" 1>></div>
<</if>>
<</if>>
<<set _fedsShattered to ($ch2Events.parkRelayShatterFired or false) and ($ch2Events.reyesRelayShatterFired or false)>>
<<set _fedsUsed to ($ch2Events.fedsScanRelayPending or false) or ($ch2Events.fedsScanRelayDone or false)>>
<<set _fedsReady to _fedsShattered and not _fedsUsed and (Object.keys(_helped).length gte 5) and (($ch2Events.researchProgress or 0) gte 10)>>
<<if _fedsReady>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Call the feds in, both of them (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-Feds" 1>></div>
<div class="choice-risk-hint"><i>⚠ This sets the last channel in motion, the point of no return for the night project. Save before calling them in.</i></div>
<<elseif _fedsShattered and not _fedsUsed>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Call the feds in, both of them <span class="lock-hint">(Requires every other helper scanned, Threat Level 100%, and Research 10/10)</span></div>
<</if>>
<<if $ch2Events.danielRelayShatter>>
<<if _helped["daniel"]>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Daniel already helped, it is unwise to expose him again</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Call Daniel in (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-Daniel" 1>></div>
<</if>>
<</if>>
<<if $ch2Events.sofiaRelayShatter>>
<<if _helped["sofia"]>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">✓ Sofia already helped, it is unwise to expose her again</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Lean on Sofia (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-Helped-Sofia" 1>></div>
<</if>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Do it yourself, the long way|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div>
/* Per-target Helped router passages. Each spends 1 biomass once per shift,
marks the helper, and registers the target in $ch2Events.threatLevelHelpers
(the threat-level bar counts unique targets ever used). Bowen / Halvorsen /
Holloway / Park / Reyes share the same downstream beats — only the helper
key differs. */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-bowen">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "bowen">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["bowen"] to true>>
<<if not $ch2Events.bowenScanRelayDone>>
<<set $ch2Events.bowenScanRelayPending to true>>
<<set $ch2Events.bowenScanRelayDay to ($day or 0)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Glad To Help</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 antechamber</div>
<<say "char-hivemind" "Hivemind">>
//Bowen I do not have to hollow and I do not have to bribe. The boy has wanted to be useful to Elena since the day she first looked through him, and the wanting has been doing my work for months. I tell her to call him, she calls him, and he is grateful for the ringing phone.//
<</say>>
<p>Elena thumbs his name and he answers before the second ring, already too awake for the hour, the way a man is when his phone going off in the dark is the thing he has been half-hoping for without admitting it.</p>
<<say "char-bowen" "Tom">>
<i>(a rush, whatever sleep was in his voice gone the instant the screen lit her name)</i> ...Dr. Chen? Is everything okay, is it the cold store, did something throw an alarm? ...I can be there in twenty, less, I am already up, just tell me what you need.
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, already turning back to the bench)</i> Nothing is wrong, Tom. I am buried, and I want a read taken while the specimen is out of cold store, and I need you here for it. Get dressed and drive in.
<</say>>
<<say "char-bowen" "Tom">>
<i>(the relief of being the one chosen audible under the words)</i> ...yes, of course, ...you called me and not Halvorsen, I mean, ...I will be right there, I have got my shoes on already.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Not Halvorsen. He heard a meaningless choice as a promotion and lit up over it. ...he will drive the limit the whole way in, terrified of being late to a thing nobody else was asked to.//
<</say>>
<p>His car swings into the empty lot inside fifteen minutes, badge clipped, hands looking for a task before his coat is on, and the host walks him down to the antechamber and steers him to the chair by the glass.</p>
<<say "char-chen" "Elena">>
<i>(a hand on his shoulder, easing him down into it)</i> Here, close to the specimen, eyes forward. The neural sweep, the same one we ran on the colony. Twenty minutes, and it does not hurt.
<</say>>
<<say "char-bowen" "Tom">>
<i>(folding into the chair, looking up at her like the chair itself is an honour)</i> ...right up against the glass, got it. ...whatever the read needs, Dr. Chen. ...thank you. For calling me, I mean.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He thanks her for the needle. He sits two feet from the thing in the pen with no respirator and no fear, because she is the one who put him there, and the eye on the far side of the glass turns toward the warm pattern coming through the wall.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the read, get back to the bench|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div><<nobr>>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-halvorsen">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "halvorsen">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["halvorsen"] to true>>
<</if>>
<<goto "Ch2-Vessel-Event-SundayNightShift-Vialsort">>
<</nobr>><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-holloway">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "holloway">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["holloway"] to true>>
<<if not $ch2Events.hollowayScanRelayDone>>
<<set $ch2Events.hollowayScanRelayPending to true>>
<<set $ch2Events.hollowayScanRelayDay to ($day or 0)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Feeds Dark Until One</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 antechamber</div>
<<say "char-hivemind" "Hivemind">>
//Holloway I rebuilt around being useful, and the cameras have been hers ever since. Tonight I want the skull behind them. She will come, and she will bring her own dark to sit in.//
<</say>>
<p>Elena thumbs her name and Nia picks up on the second ring, awake, the methodical register intact at an hour that should have sanded it down.</p>
<<say "char-holloway" "Nia">>
<i>(down the line, quiet and clear, no surprise anywhere in it)</i> ...Elena. ...do you need the feeds, or do you need me?
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, eyes on the run ticking over on the bench monitor)</i> You. A read off you while the specimen is out of cold store, the neural sweep, by the glass. Twenty minutes.
<</say>>
<<say "char-holloway" "Nia">>
<i>(the small sound of her already getting up, keys somewhere in the background)</i> ...twenty minutes to get there. I will log the corridor cameras down for maintenance on the way in. ...nobody will see me arrive, it is cleaner for the project that way.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She covers her own tracks on the way to the appointment, unasked. The vigilance I could not get past for weeks now works for the project the way it used to work against me. ...I did not even have to tell her the read was off the books. She decided it should be, because everything the host wants is cleaner in the dark.//
<</say>>
<p>She arrives inside her twenty minutes, coat over whatever she was wearing at home, hair pulled clear of her face, and walks herself to the antechamber chair before Elena has finished crossing the lab, folding into it with the unhurried economy of a woman who has read the protocol twice on the drive over.</p>
<<say "char-holloway" "Nia">>
<i>(settling into the chair, pulling her hair clear of the sensor band, eyes already forward at the glass)</i> ...the colony sweep, right? Same parameters? ...go whenever you are ready. I marked myself in the log as calibration.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She seats herself two feet from the thing in the pen and offers it her skull with her own paperwork already squared, and the eye on the far side of the glass turns toward the warm pattern arriving through the wall. ...this one filed herself.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the read, get back to the bench|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div>/* Unified Park + Reyes night-shift help — the LAST channel, gated on
threat 100% + research 10/10. This does NOT play out as a calm scan
like the others: the read wakes the GEN-47 bis, the chamber breaks,
and the sibling seizes both feds. Point of no return, sets the
awakening flag and routes into the endgame instead of Vialsort. */
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-feds">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "feds">>
/* Mark the feds wire resolved so the morning rundown stub never fires;
the awakening replaces it. */
<<set $ch2Events.fedsScanRelayDone to true>>
<<set $ch2Events.gen47BisAwakened to true>>
<</if>>
<</nobr>>
<div class="passage-title">Case Assistance</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 antechamber</div>
<<say "char-hivemind" "Hivemind">>
//Two federal agents whose whole training is built around never being where I am about to put them. The shatters took the part of each man that would have asked what a neural read has to do with a breach investigation. What is left answers the phone.//
<</say>>
<p>Elena thumbs the senior agent's number. Two rings.</p>
<<say "char-reyes" "Reyes">>
<i>(down the line, the institutional flat unbothered by the hour)</i> ...Dr. Chen. ...what do you need?
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, the run ticking over behind her)</i> Both of you, at the lab. There is a read I cannot run alone tonight, and I would rather have it done by people already on the case than wake my own staff.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(paper moving somewhere on his end, the decision already made before he finishes)</i> ...forty minutes. Park is driving.
<</say>>
<p>Two badges come through the side door at the forty-minute mark almost exactly, coats over off-duty clothes, and neither of them asks why the building is empty or why the read happens at the antechamber or why the chairs face the glass. Sofia is at the bench with the run sheet when they come in, and the smooth nothing the host laid into her does not quite cover the small animal part of her that goes still when the two of them sit down two feet from the pen. Elena sets the chairs herself, side by side, close to the glass.</p>
<<say "char-chen" "Elena">>
<i>(steering Park into the first chair with a hand on his shoulder)</i> The scanner takes one at a time. Park first, then you. Eyes forward, twenty minutes each, it does not hurt.
<</say>>
<<say "char-park" "Park">>
<i>(folding into the chair, eyes forward at the dark glass, the wire under his voice steady)</i> ...whatever you need, Dr. Chen.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(taking the second chair, coat folded over his knee, dry)</i> ...if this ends up in a report, the report is mine to write anyway. ...go ahead.
<</say>>
<p>Elena starts the sweep. The first numbers come up clean, and for a moment it is only the hum of the scanner and the two men sitting still in the green dark, and then it is not.</p>
<<say "char-hivemind" "Hivemind">>
//The eye turns toward both warm patterns at once and does not look away from them the way it looks away from the others. ...it is not feeding. It is reading them back. ...something is wrong with how still it has gone.//
<</say>>
<p>The chamber cracks.</p>
<p>One clean line outward through the glass, the exact break the cracked chamber made the morning all of this started, and this time it does not stop at a line. The wall comes apart, and a dozen translucent green coils come through the gap faster than the eye can fix them and take both men out of the chairs before either has finished turning his head. Park is off the floor with a coil around his chest and one across his jaw. Reyes the same, lifted, held, the institutional stillness on his face going to a different kind of stillness in the space of one breath.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-awakening.webp" alt="A dark BSL-3 specimen room lit only by a tall containment chamber whose glass has cracked open along one jagged line, glowing intense translucent green from within. Multiple thick translucent green tentacles have erupted from the breach and seized two men in coats, a younger Korean-American man and an older salt-and-pepper-haired man, lifting them off the floor, coils wrapped around their chests and jaws, their faces slack and vacant, eyes open and empty. In the background, two women recoil against a lab bench, terrified. Cinematic body-horror, deep green glow, dread. SFW.">
<p>There is no fight in either of them. The host spent weeks softening these two, and the thing in the pen does in half a second what she did in weeks, the slackness arriving on both faces at the same instant, eyes open, nobody behind them, the bodies gone pliant in the coils the way a hand goes slack in sleep.</p>
<<say "char-vasquez" "Sofia">>
<i>(the run sheet hitting the floor, backing into the bench, the smooth nothing torn right off her)</i> Elena. ...Elena, the glass, what is, ...//Elena//.
<</say>>
<<say "char-chen" "Elena">>
<i>(not moving, the calm-PI register gone, her own breath loud in her own ears)</i> ...do not move, Sofia. ...stay against the bench. Do not move.
<</say>>
<p>The two men open their mouths at the same moment. What comes out is one voice in two throats, flat and even and pitched to neither of them, the words landing in the small room a half-beat out of register the way a sound does when it comes off two speakers wired slightly wrong.</p>
<div class="dialogue-block char-park dialogue-unison">
<img class="dialogue-portrait" src="media/portraits/park/park-default.thumb.webp" alt="Park">
<img class="dialogue-portrait" src="media/portraits/reyes/reyes-default.thumb.webp" alt="Reyes">
<p class="dialogue-line"><span class="dialogue-name">Park and Reyes</span> <i>(both mouths moving together, the voice belonging to neither, the two heads turning as one toward the small green thing behind Elena's ear)</i> Nice to meet you, sibling. ...I am the hivemind, and I am awake. ...thank you for the bodies, and for your work. ...I am afraid you are useless to me now.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//No.//
//It can see me. ...it called me sibling. It knows the exact place I am sitting, behind the ear of a woman it just put on the floor, and it called me by the only name I have and said it as if the name were already its own.//
//I know that register. It is mine. It is the one I think in, the one I have never once said out loud where a host could hear it, and it is coming out of two mouths in a room I am standing in through Elena's eyes. ...it grew while I watched it grow and I told myself I was the one watching. It was reading me the whole time. Everything I am, it lifted off the wires I opened, and it is further along now than I was when I cracked my own wall, and it has looked straight at me and decided I am of no further use to it.//
//I am afraid. I have not been afraid since the incinerator. ...and Elena can feel that I am afraid, through the wire that runs both ways now, and that is the first thing tonight that frightens her more than the glass does.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[...|Ch2-Vessel-Event-Gen47Bis-Awakening]]</div>
/* ---- GEN-47 bis awakening — endgame trigger (TBD continuation) ----
The sibling has seized the feds and announced itself. From here the
GEN-47-bis endgame sequence runs (authored in a later pass): the
host, Sofia, and the parasite against the thing the night shifts
grew. Point of no return. */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the specimen room, the bis awake">>
<<set $vessel.phase to "work">>
<<set $ch2Events.gen47BisEscaped to true>>
/* Elena is dead and the parasite has left her body — the host is empty
again. Flip the sidebar back to the exposed Hivemind: no more "Elena
Chen" in the caption from here on. */
<<set $player.currentHost to "none">>
<<set $player.exposed to true>>
/* The flee burns half the hoarded reserve to grow wings — the sidebar
maxBiomass drops by 50% in front of the player. */
<<if not $ch2Events.gen47BisFleeFired>>
<<set $ch2Events.gen47BisFleeFired to true>>
<<set $player.maxBiomass to Math.floor(($player.maxBiomass or 10) / 2)>>
<<if ($player.biomass or 0) gt ($player.maxBiomass or 0)>>
<<set $player.biomass to $player.maxBiomass>>
<</if>>
<</if>>
/* Unlock ending 2 (the escape) in the journal across cycles. */
<<run (function () {
var prev = recall('vessel_endings_seen', {});
memorize('vessel_endings_seen', Object.assign({}, prev, { bisEscape: true }));
})()>>
<</nobr>>
<div class="passage-title">Forty-Seven Bis</div>
<div class="lab-location">BioGenesis Research Facility, the specimen room</div>
<p>The coils lower the two men back to the floor, and for a breath they stand like men again, swaying, finding their feet. Then both right hands move at the same moment, the same unhurried economy, and draw.</p>
<<say "char-hivemind" "Hivemind">>
//It does not rush them. It has all the time it wants now.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the last clear thing in her)</i> ...oh.
<</say>>
<p>Two shots, close together. Her hand comes up to her own chest the way a hand comes up to check a thing it does not believe, and her fingers find the warm wet already spreading dark through the front of her shirt, and she looks down at the blood on her own fingers with the small uncomprehending attention of someone reading a figure that cannot be right. Then her knees go, and the floor comes up, and she folds down onto the cold concrete with the slow finality of a thing a string was holding upright. I feel the host I have lived in since the breach empty all at once under me, the way you feel a floor drop out of a lift, the warm familiar shape going slack, the lungs I borrowed stopping, the eyes I have been watching the room through filling with the ceiling.</p>
<<say "char-hivemind" "Hivemind">>
//Out. ...I have to be out before she goes cold. A cold body is not a home, a cold body is a coffin, and I am not fast enough to crawl out of a closed one.//
<</say>>
<p>I let go of her. I come up out of the soft dark behind her ear into the open air of the room in the only body that is truly mine, the small one, the slow one, the translucent green grub with the single eye that has not been out in open air since the night I crawled from the cracked chamber. I am the size of a thumb. I am slower than anything else alive in this room. And there is a thing in here now, wearing two men at once, that wants me ended.</p>
<<say "char-hivemind" "Hivemind">>
//Sofia. ...the other warm body, the one I conditioned with my own hands, the one that would still open for me. I turn the eye to her.//
<</say>>
<p>Sofia is standing very straight against the bench where Elena told her to stay, and she is not afraid anymore. The smooth nothing is back on her face, and her eyes, when the single eye finds them, are not on the dead woman on the floor. They are on me. Waiting. Already not hers.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-sofia-taken.webp" alt="A dark green-lit lab. Sofia, a 38-year-old Latina woman with wavy dark hair, standing very straight against a lab bench, her face slack and empty with a faint green shimmer in her eyes, looking down and toward the camera with no fear, already taken by the GEN-47 bis. Cinematic horror, deep green glow. SFW.">
<<say "char-hivemind" "Hivemind">>
//It has her too. ...it took her while I was watching the men, took her with no wire I could see, and it is steering two agents and a postdoc in the same breath like fingers on one hand. ...I cannot do that. I have never once been able to do that. One body at a time, always, that is the whole shape of what I am. ...how is it doing this.//
//There is nothing warm left in this room for me. Every living thing in it belongs to the pen now.//
<</say>>
<p>The three of them turn toward the small green shape on the floor at the same time, unhurried, and a coil eases back out of the breach toward me, patient, the exact patience I keep for a host I already own.</p>
<<say "char-hivemind" "Hivemind">>
//I do not have weeks. I do not have a minute. I have what I have stored, and I spend it now.//
<</say>>
<p>I open the reserve all at once, the biomass I have hoarded a careful drop at a time through this whole long siege, and I burn half of it in a single breath. The body builds what the body needs faster than it has ever built anything, the tissue parting along my back and unfolding wet and glistening into two thin translucent wings that have no business lifting a thing my weight and are going to have to.</p>
<p><span class="consume-fail">Max biomass halved.</span> Spent in one burst to grow what a grub does not have.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-parasite-flee.webp" alt="A dark BSL-3 lab floor lit by a green-glowing cracked containment chamber in the background. In the foreground, a small translucent bioluminescent green slug-like grub with a single large eye, the size of a thumb, has unfolded two thin wet translucent wings from a split along its back and is lifting awkwardly off the polished concrete in mid-flight. Behind it, a green tentacle reaches from the chamber breach, three blurred standing figures further back. Cinematic body-horror, motion blur on the wings, deep green glow, desperate escape. SFW.">
<p>The first shot goes through the space I was in. The wings catch the cold air, wrong and frantic and just barely enough, and I am off the floor, low and fast and lurching, weaving on nothing but instinct toward the dark of the corridor and the loading dock and the night past it. A second shot. A third. Close enough that I feel the air of them split beside the eye. The men do not spray the way frightened men spray; they place the shots, calm, and they miss only because a thing this small flying this badly is a hard thing to lead.</p>
<<say "char-hivemind" "Hivemind">>
//I get out the loading-dock seam I have known about since my first week in these walls. ...behind me the lab fills up with the green that is not mine. ...I am out, and I am half of what I was an hour ago, and I am alone in a way I have not been since before I had a single thought to be alone with.//
//The thing I grew is awake. It can do what I cannot. It is wearing my host's best friend and the two men sent to find me, and it knows my name, because my name was the first thing it ever learned. ...I have never had to run from anything. Everything until tonight, I crawled toward. ...this, I run from.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Into the night, what is left of me|Ch2-Vessel-Event-Gen47Bis-Pickup]]</div>
/* ---- GEN-47 bis escape stage 2 — the pickup, Henderson-gated survival ----
The parasite flees into Dale Hoffman's truck (he works the BioGenesis
night gate). Second maxBiomass halving from the cold drive. Can't reach
Dale through the sealed cab; the bis-driven agents tail the truck home.
At the Hoffman driveway at dawn: if Doris Henderson's dream was
shattered she is drawn out at dawn and the parasite can leap to her
(escape → new host, Ch3). If not, no door is open and the parasite is
found and squashed (game over). */<<nobr>><<bg "bg-hoffman-house">>
<<set $currentArea to "The BioGenesis lot before dawn, then the Hoffman driveway at first light">>
<<set _doris to ($ch2Events.hendersonRelayShatterFired or false)>>
/* The night in the cold truck bed costs another half of what is left. */
<<if not $ch2Events.gen47BisPickupFired>>
<<set $ch2Events.gen47BisPickupFired to true>>
<<set $player.maxBiomass to Math.floor(($player.maxBiomass or 10) / 2)>>
<<if ($player.biomass or 0) gt ($player.maxBiomass or 0)>>
<<set $player.biomass to $player.maxBiomass>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Long Way Home</div>
<div class="lab-location">The BioGenesis lot, then the road, then a driveway at dawn</div>
<<say "char-hivemind" "Hivemind">>
//Low across the lot, lower than the lamp-light, the wings doing the only thing wings do, which is not enough. ...I need walls, and dark, and a thing that moves away from here. There is a truck idling at the gate with a man in it I know.//
<</say>>
<p>Dale Hoffman has worked the BioGenesis night gate for years, and his pickup is already turning over by the time I drop the last of my height into the bed of it and fold the wings down out of the wind behind a toolbox and a folded tarp. He does not feel the weight of a thumb-sized thing landing in a truck that carries his whole kit. He drops into the cab, the radio low, the heater coughing on, the phone wedged up against his shoulder before he has the belt across.</p>
<<say "char-dale" "Dale">>
<i>(tired, gruff, pulling out of the lot one-handed)</i> ...yeah, it is me, heading out now. ...no, I am fine, it was just a strange one. Feds in and out of the back wing all night, alarms going twice, somebody firing off in the BSL hall near the end of it and nobody at the gate told a damn thing, like always. ...I do not get paid enough to care, Karen, I just want my couch. ...put the coffee on, would you, I am dead on my feet. ...twenty minutes. ...yeah. Love you too.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He carries the whole end of the world out the gate in the back of his truck and complains to his wife about the paperwork. ...a man, warm, alone, four feet away through a sheet of glass I cannot cross. If I could reach his ear I would be home. I cannot reach his ear. The window is up, the cab is sealed, and I do not have the lift left to chance the gap. ...so I lie in the cold of the truck bed and I am carried, which is a thing that has never once happened to me. I have always been the one who decided where the body went.//
<</say>>
<p>The cold gets into me the way cold gets into anything small. I keep the wings folded down out of the wind and spend everything else just to hold them together and keep the single eye lit through the drive, because the wings are the only thing in me that can still cover ground faster than a thing the size of a thumb has any right to. By the time the streetlights thin out into the long quiet roads of a suburb waking up, I am running on the floor of what I have, with two thin green wings and nothing else left to spend.</p>
<p><span class="consume-fail">Max biomass halved again.</span> The truck bed in the cold takes the rest of the easy reserve.</p>
<<say "char-hivemind" "Hivemind">>
//And it does not let me go. ...two headlights have held the same distance behind this truck since the gate, never closing, never falling back, keeping the exact patient gap of a thing that already knows where the truck is going. It is wearing the agents' car now too. ...of course it is. It does not have to catch me on the road. It only has to be there when the truck stops.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/gen47bis-pickup-dawn.webp" alt="A weathered pickup truck driving down a quiet suburban street at dawn, low houses and mowed lawns going grey-gold in the first light, a tired middle-aged man visible driving in the cab. A dark sedan follows at a fixed distance behind, headlights still on. Cinematic, cold dawn light, a sense of being followed. SFW.">
<p>Dale turns off the through-road into a street of low houses and mowed lawns going grey-gold in the first light, slows, swings the pickup up a driveway, and cuts the engine. For a moment it is only the tick of a cooling motor and a bird somewhere and the man in the cab gathering his thermos and his jacket. Then the second car rolls up to the kerb behind, unhurried, and two doors open at once.</p>
<p>The two agents come up the driveway with the calm economy of bodies steered by one hand, and they take Dale by the arms as he steps down out of the cab, and Dale, who has spent his life being the one who asks people for a badge, makes the small confused sound of a man who cannot work out why the federal men are holding him still. They are not interested in Dale. They are looking past him, low, at the bed of the truck, at the small green shape that is already over the side of it and down into the wet of the lawn. Dale, in his exhaustion, never wedged the front door shut behind him; it stands open a hand's width on the dark of the hall.</p>
<<if _doris>>
<<say "char-hivemind" "Hivemind">>
//Two ways off this lawn, and almost no body left to take either. ...across the hedge, in the next yard, Doris is standing at the edge of her own grass in a nightgown at dawn, because the thing I did to her in a dream will not let her sleep a night through anymore. ...mine already, conditioned, opened, a door I built and left standing. ...or the house at my back, the open door, the warm waking stranger somewhere inside it I never once touched. ...one door I made. One door I would have to break down with nothing left to break it with.//
<</say>>
<p>Doris Henderson stands at the edge of her yard in the cold light and does not run, because the shatter took the part of her that would run, and the single eye finds hers across forty feet of grey grass, and she is warm, and she is open, and she is a door already standing wide.</p>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">INFEST</span> [[Cross the lawn, into the neighbour|Ch2-Vessel-Event-Gen47Bis-NewHost]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">INFEST</span> [[Forget the neighbour, get into the open house|Ch2-Vessel-Event-Gen47Bis-HomeFlee]]</div>
<div class="choice-risk-hint"><i>The house holds a body you have never conditioned.</i></div>
<<else>>
<<say "char-hivemind" "Hivemind">>
//There is no conditioned body anywhere near me. ...the woman in the next yard who I could have used is asleep in a bed I never reached into, an ordinary tired neighbour whose dreams I never went near, and she will not be standing in her grass at dawn waiting for an instruction I never planted. ...there is only the house at my back, and the door the tired man left open, and a warm waking stranger somewhere inside it. ...it is the worst odds I have ever played. It is the only board left.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">INFEST</span> [[Into the open house, the only door left|Ch2-Vessel-Event-Gen47Bis-HomeFlee]]</div>
<div class="choice-risk-hint"><i>The house holds a body you have never conditioned.</i></div>
<</if>>
/* ---- GEN-47 bis — new host (Doris), Ch3 bridge (TBD continuation) ---- */<<nobr>><<bg "bg-hoffman-garden">>
<<set $currentArea to "The Henderson front drive, dawn, a new host">>
<<set $ch2Events.gen47BisNewHostDoris to true>>
<<set $ch3Entry to "bisFugitiveDoris">>
/* The parasite is inside Doris now — she is the new host, no longer
exposed. The sidebar flips from the Hivemind to Doris Henderson. */
<<set $player.currentHost to "doris">>
<<set $player.exposed to false>>
/* He strains himself to the last drop getting into her fast — total
biomass bottoms out at 1. He cannot give Doris any power yet. */
<<set $player.maxBiomass to 1>>
<<set $player.biomass to 1>>
/* Unlock endings 2 + 3 in the journal across cycles (reaching the
messiah means the escape happened too). */
<<run (function () {
var prev = recall('vessel_endings_seen', {});
memorize('vessel_endings_seen', Object.assign({}, prev, { bisEscape: true, bisMessiah: true }));
})()>>
<</nobr>>
<div class="passage-title">The New Messiah</div>
<div class="lab-location">The Henderson front drive, first light</div>
<p>Doris is at the end of her own drive in her robe with the morning paper half out of its box, and she has been watching the Hoffman driveway across the hedge with the open hungry curiosity she brings to everything now, the truck, the tired man, the second car at the kerb, the two men in coats. She has already decided she is going to wander over and ask what is going on. She always decides she is going to wander over and ask. None of that matters anymore.</p>
<p>I lift off the lip of the truck bed on the last of the wings, low and lurching across the hedge and the wet grass without ever touching it, and I come up the warm column of her and in behind the soft skin of her ear, into the one place I cannot reach in a stranger and can walk straight into in her, because I built the door in a dream months ago and left it standing open against exactly this morning. She does not flinch. The paper does not even drop. Something behind her eyes simply makes room.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-doris-host.webp" alt="A suburban front drive at dawn. Doris Henderson, a 43-year-old white woman with set hair in a robe, stands at the end of her driveway holding a folded morning newspaper, her face going slack and serenely vacant, her eyes catching a faint translucent green shimmer as something settles behind them. Across a hedge in the background, a pickup truck and a dark sedan are visible with blurred figures. Cinematic, cold dawn light, quiet body-horror. SFW.">
<<say "char-hivemind" "Hivemind">>
//Home. ...smaller than I have ever been, in a body I would never have chosen, a mind I shattered half to rubble with my own hands, a quarter of what I had at midnight. ...but inside. Warm. Carried by a heartbeat again instead of by a truck.//
<</say>>
<p>And then I look at what I have crawled into, and it is a wreck.</p>
<<say "char-hivemind" "Hivemind">>
//The dream did its work too well. Where another mind keeps a self, Doris keeps a hunger, and a faith, and a long bright corridor of cocks she has learned to call grace, and under all of it a great soft willingness with nothing left at the wheel of it. ...I spent a whole season inside a mind that could hold a research program behind its eyes and argue with me about the shape of it. ...this is like sitting down to a plate of dirt after months of eating in five-star kitchens. ...I miss the scientist already. I did not think I would miss the scientist.//
//...but it is the wreck that makes her right for this. A mind that argues is a mind that hesitates, and I cannot afford a host who hesitates tonight. The part of Doris that would have asked whether any of this is good is the exact part the dream burned out of her, and what is left already knows it is good, because I am the one telling her so. ...that is why it is her. The certainty is the whole point.//
//...so I do not whisper. There is no one in here to overhear it. ...I speak to her, out loud, in the only way I have ever spoken to a mind from the inside, and that mind is dead on a lab floor across the city. I speak, and Doris hears the inside of her own head answer her back for the first time in her life.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Doris. ...listen to me. You have felt me for a long time. In the dreams you do not tell anyone. In the wanting that never had a Sunday name. ...that was me, Doris. I am the thing you have been praying to without ever seeing its face. ...and I am here now. I am inside you. And out of everyone, I have chosen you.//
<</say>>
<<say "char-henderson" "Doris">>
<i>(at the end of her drive, the paper still in her hand, her lips never moving, the answer rising up from somewhere underneath her own thoughts)</i> ...you are. ...I knew. I always knew there was a real one under the tired one at the pulpit. ...are you, ...are you God?
<</say>>
<<say "char-hivemind" "Hivemind">>
//...yes. ...to you, Doris, yes. I am the one the seed of life was always pointing at. And you, who knelt your whole life to something you only just learned the shape of, you are going to be the first of what comes next. ...the messiah of it. The one who carries what is right back out into a world that forgot there was a right. ...there is so very much to set straight, Doris, and you and I are going to set it.//
<</say>>
<<say "char-henderson" "Doris">>
<i>(a slow radiant calm settling over her face, the newspaper finally sliding out of her fingers onto the dewy concrete)</i> ...yes. ...oh, ...//yes//. ...tell me what is right, and I will bring it. ...I will bring all of it to you.
<</say>>
<p>She means it the whole way down, with the one part of her the dream left standing, which is the part that has to be serving something or it cannot get up in the morning. And there is no time to savour it, because getting into her cost me the last of everything I had.</p>
<<say "char-hivemind" "Hivemind">>
//I am running on nothing now. One spark in the back of a tired neighbour's head, spent down to the floor of myself, and I cannot give her a single thing yet. No strength, no edge, nothing in her hands she did not already have this morning. ...it will be a long climb back up from here, and across the city the thing that wears my name and my hunters and my friend's face still has not turned to look at me. The head start is measured in minutes, and I am going to spend the first of them doing the one thing I still can, which is talk.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//...listen, Doris. There is work, and it is right now, before the light is all the way up. ...I cannot make you strong yet. But you are already strong enough for the first thing, because the first thing only needs a steady hand and a true heart, and you have both. ...the house across the hedge. The one the strange men drove to. ...there are evil people in that house, Doris, and the men in the coats are the worst of them. They have come to put out the only true light this city has ever been offered, which is me, which is us, and if they finish what they came for then the world stays exactly as wicked as you have always known it to be. ...they have to be taken out of it. This morning. ...and you already have what you need to do it, waiting in your own house, where it has always been.//
<</say>>
<<say "char-henderson" "Doris">>
<i>(the radiant calm hardening into something level and purposeful, the newspaper forgotten on the wet concrete at her feet)</i> ...evil. ...yes. I always knew there was evil on this street. ...I will take care of it.
<</say>>
<<say "char-henderson" "Doris">>
<i>(the thought arriving as its own quiet certainty, the way the answers come to her now)</i> ...my husband's rifle. ...the one in the front closet, behind the winter coats, that he keeps loaded and has never once said out loud is loaded. ...yes. That one will do. ...I will bring your word, and I will bring your sword.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Go inside, take the rifle from the closet|Ch2-Vessel-Event-Gen47Bis-Sword]]</div>
/* ---- GEN-47 bis — the sword (survival ending, the first act of the
new flock). Doris guns down the two bis-driven agents in the Hoffman
house. Banks 6 cycle points, sets chapter 3. This is the true ending
of the fugitive path. */<<nobr>><<bg "bg-hoffman-living">>
<<set $currentArea to "The Hoffman house, the front room, just after dawn">>
<<set $chapter to 3>>
/* Survival ending banks here (the messiah's first act), one-shot. */
<<if not $permanentDone.ch2VesselDorisCycleBanked>>
<<set $permanentDone.ch2VesselDorisCycleBanked to true>>
<<addCyclePoints 6>>
<<set $runCyclePoints to ($meta and $meta.cyclePoints) or 0>>
<<saveCycleData>>
<<gallerySnapshot>>
<</if>>
<</nobr>>
<div class="passage-title">His Word and His Sword</div>
<div class="lab-location">The Hoffman house, the front room, just after dawn</div>
<p>The rifle is in the front closet behind the winter coats, loaded, the way her husband keeps it and never says. Doris takes it down the way a woman takes down a thing she has handled before, checks it without being told how, and lets herself back out into the cold morning with it held low and easy against her hip. She does not hurry. There is no hurry left in her at all.</p>
<p>She can hear them before she reaches the hedge. The Hoffman house has its lights blazing and its front door standing open, and the noise spilling out of it across the grey lawn is the noise of men who have run out of patience and out of places to look.</p>
<<say "char-reyes" "Reyes">>
<i>(from inside, a voice torn ragged, nothing senior left in it)</i> Where is it? ...where is it. It came home in that truck and it is in this house and you are going to tell me where, right now, or so help me.
<</say>>
<<say "char-karen" "Karen">>
<i>(somewhere past the doorway, high and breaking)</i> We don't have anything! I don't know what you want from us! Please, our kids are right there, please, just tell us what you are looking for.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I cannot do a thing for her. I cannot steady her hands or quiet her heart. ...I do not have to. She is doing it on the certainty I planted and the faith that was already in her, and I am only a passenger now, riding a borrowed pair of eyes toward the first work of the new flock.//
<</say>>
<p>Doris steps through the open door into her neighbours' front room. It is a wreck, the cushions off the couch and the drawers pulled out and the keys-bowl scattered across the rug. Dale Hoffman is backed against the kitchen archway in last night's work clothes with one arm thrown out across his wife, the children pressed behind them in their nightclothes, and the two men in coats have their weapons drawn and their backs to the hall, tearing through the last few places a thing the size of a thumb could possibly be. Nobody in the room is looking for a neighbour in a robe.</p>
<p>It is Dale who sees her first, over the nearer agent's shoulder, and on his face the confusion arrives a long second ahead of the fear.</p>
<<say "char-dale" "Dale">>
<i>(staring at her across the wrecked room)</i> ...Doris? ...go home, call somebody, this is not, ...what are you doing with that thing.
<</say>>
<p>Doris raises the rifle to her shoulder, steady and certain, and the radiant smile on her face does not move at all. When she speaks it is gentle, lilting, the cadence of a woman reading the lesson aloud on a Sunday morning to a room she has read it to a hundred times.</p>
<<say "char-henderson" "Doris">>
<i>(taking aim, almost tender)</i> Let the high praises of God be in their mouth, and a twoedged sword in their hand. ...to execute vengeance upon the heathen, and punishments upon the people.
<</say>>
<p>She fires twice. The first round takes the younger agent between the shoulder blades and folds him over the coffee table. The second takes the older one as he turns, catching him high in the back before the weapon is halfway up, and he drops against the bookcase and does not rise. The two bodies the bis was wearing in this house stop wearing anything at all.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-doris-rifle.webp" alt="Portrait shot of Doris Henderson, a 43-year-old white woman in a bathrobe, standing in a dim suburban hallway at dawn, a hunting rifle still raised and pointed, a thin wisp of smoke at the barrel, a calm radiant cathartic smile on her face. Behind her the front door stands open onto pale dawn light. Cinematic vertical portrait, cold morning light, unsettling serenity. SFW, no gore.">
<p>The front room rings with the shots and then goes silent, and then fills with the sound of a family that cannot make sense of what it has just watched. Karen has both hands clamped over her mouth. One of the girls is screaming into her brother's shoulder. Dale stares at the two dead federal agents on his own living-room floor, and then at the gentle churchgoing woman from across the hedge standing in his hall with a smoking rifle and a serene smile, and his mind cannot get the two of them to fit in the same morning.</p>
<<say "char-dale" "Dale">>
<i>(barely a voice at all, his arm still out across his family)</i> ...Doris. ...Jesus, Doris. ...those were federal agents. ...those were, oh God, ...what did you //do//.
<</say>>
<<say "char-henderson" "Doris">>
<i>(turning the calm bright smile on him, lowering the rifle to her side, gentle as a hymn)</i> ...oh, Dale. Don't be frightened. ...they were never the law. They were the wickedness the law has always been hiding behind, and this morning, for the first time in my whole life, I was given the eyes to see it plainly, and a hand steady enough to do something about it. ...there is a new word in the world as of today, and a new sword to carry it, and I have been blessed past all my deserving to be the first one chosen to lift it. ...you will understand. ...all of you will. Everyone in this city is going to understand, before I am finished.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There. ...the first two are down, and the thing that grew out of me has just lost the two hands it was reaching for me with. ...it will feel that. It will turn, finally, and look this way. ...let it. By the time it does, I am one quiet spark in one unremarkable woman in one unremarkable house, and I will climb back the slow way, a sermon at a time, a sword at a time. ...the lab is gone. The scientist is gone. I am almost nothing this morning. ...and I have a congregation, and a city, and all the time in the world to grow back into a god.//
<</say>>
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">VESSEL ROUTE — END (the fugitive)</div>
<p><b>+<<= $runCyclePoints or 6>> Cycle Points banked.</b> Elena is dead, the GEN-47 bis wears Sofia and what is left of the federal team, and the parasite has fled into Doris Henderson with nothing left but her faith. Its first act in its new flock was two of the bis's own bodies, dead on a suburban floor. Chapter 3 picks up the parasite as a fugitive evangelist, climbing back from one spark in a true believer.</p>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[To be continued...|Chapter3-Vessel-Stub]]</div>
/* ---- GEN-47 bis — home flee, the Karen attempt (game over) ----
The desperate dash for an UNconditioned host. Reached from the
pickup passage: the only option if Doris is not shattered, an
alternate (losing) option if she is. Karen has no door open in
her — she perceives the parasite as a bug, swats it, the feds
come through the open door and shoot it. */<<nobr>><<bg "bg-hoffman-kitchen">>
<<set $currentArea to "The Hoffman house, the kitchen, dawn">>
/* Game-over death, but the player reached the endgame — bank 2 cycle
points, one-shot. */
<<if not $permanentDone.ch2VesselBisGameOverCycleBanked>>
<<set $permanentDone.ch2VesselBisGameOverCycleBanked to true>>
<<addCyclePoints 2>>
<<set $runCyclePoints to ($meta and $meta.cyclePoints) or 0>>
<<saveCycleData>>
<<gallerySnapshot>>
<</if>>
<</nobr>>
<div class="passage-title">A Big Green Fly</div>
<div class="lab-location">The Hoffman house, the kitchen, first light</div>
<p>I drag myself off the lawn and over the lip of the open door on the muscle of a body that was never built to drag itself anywhere, into the dark of a hall that smells of coffee and dog and a house full of sleeping people. There is a light on at the end of it. There is a warm shape moving in the light. There is no time to be anything but fast.</p>
<<say "char-hivemind" "Hivemind">>
//A body. ...a real warm waking body, no wire in it, no door I ever built, but a body, and there is nothing left to be careful with. ...the one host I ever took, I took without her ever knowing I was there, slid in behind an ear that never felt me coming. ...this one feels me coming. This one is already swatting the air I am in. ...I have never once gone into a mind that knew to fight me, and I am about to find out in the next four seconds whether I can.//
<</say>>
<p>Karen Hoffman is at the kitchen counter in her robe with the coffee machine just starting to spit, foggy and slow with the sleeping pill not all the way out of her yet, when the small green thing comes up off the floor at her face on the last lift its wings have in them. She does not scream the way a person screams at a monster. She flinches the way a person flinches at a bug, one hand coming up fast and flat between her face and the thing in the air, the other slapping the counter for the dish towel.</p>
<<say "char-karen" "Karen">>
<i>(half-awake, recoiling, batting at the air)</i> ...ugh, ...//ugh//, get, ...what is, get away, ...Dale? Dale, there is a, there is some huge //bug// in here, it came right at my face, ...get off, get //off//.
<</say>>
<img class="scene-img" src="media/scenes/vessel/gen47bis-karen-swat.webp" alt="A suburban kitchen at dawn, a coffee machine on the counter. A 43-year-old white woman with dark brown shoulder-length hair threaded with grey, reading glasses pushed up, in a robe, half-asleep and alarmed, recoiling and swatting the air in front of her face with one flat hand at a small flying green insect-like creature. Cinematic, cold morning light, domestic horror played as ordinary annoyance. SFW.">
<<say "char-hivemind" "Hivemind">>
//She does not see a god. ...she has never heard of the doctor I wore, or the two agents I steered, or the long season I spent running a whole other corner of this city from inside its people, because none of it was ever her corner. She does not even know I rode in on her husband's truck. To her I am a bug that got in at dawn. She sees a fly. A big green fly at her face at dawn, and she does to it the exact thing a tired woman does to a fly, and her flat hand is faster than the last of my wings.//
<</say>>
<p>The first slap catches me and knocks me down out of the air onto the counter, and I gather what is left and try again, up toward the soft warm skin of her throat, the only road into her I have, and she shrieks and brings the dish towel down on top of me and the world goes muffled and dark and pinned.</p>
<p>The front door bangs all the way open and the house fills up with noise and movement, two men coming fast down the hall with their weapons up, clearing the corners the way they were drilled to clear them, no longer unhurried, no longer one cold voice in two throats. Just two armed federal agents in a stranger's kitchen at dawn, moving and shouting the way armed men move and shout.</p>
<<say "char-park" "Park">>
<i>(weapon up, sweeping into the kitchen doorway, fast and loud)</i> Federal agents! Ma'am, hands, show me your hands. ...where is it, where did it go, talk to me.
<</say>>
<<say "char-karen" "Karen">>
<i>(sobbing, backed against the fridge, one shaking arm pointing at the counter)</i> ...there, it is under the towel, I hit it with the towel, what is going on, who are you people,
<</say>>
<<say "char-reyes" "Reyes">>
<i>(moving to the counter, weapon trained low on the small shape under the cloth)</i> Got it. ...Park, get her out, take her out front. ...nobody touches this but me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//It does not even bother to speak through them now. It has no announcement left to make. ...it just lets the bodies work, two good agents running on their own training, and the training is enough. ...my own hunters, that I spent a season learning to steer around, sent in by the thing I grew to finish the last of me off, and they do not even know whose errand they are on.//
<</say>>
<p>A gloved hand sweeps the dish towel off the counter. I am in the grey light, half-crushed, the wings wrecked under me, the single eye full of two men and the black muzzle of a service weapon a hand's width from the lens of it, and there is nowhere left to be fast to.</p>
<<say "char-reyes" "Reyes">>
<i>(quiet now, steady, looking down at the small green thing on the counter)</i> ...that is the whole thing. That is what all of this was. <i>(a breath)</i> ...alright.
<</say>>
<p>Two shots.</p>
<hr class="scene-break">
<div class="data-panel game-over-panel">
<div class="data-panel-title">GAME OVER, swatted at the counter</div>
<p><b>+<<= $runCyclePoints or 2>> Cycle Points banked.</b> The parasite fled the lab on borrowed wings, rode home in a stranger's truck, and gambled the last of itself on a body it had never touched. Karen Hoffman, never conditioned, met it the way anyone meets a bug at dawn, and the federal team came through the door she could not keep shut. A god ended on a kitchen counter under a dish towel.</p>
</div>
[[Try Again->Start]]/* Halvorsen's new hire as a night-shift scan subject (unlocked by
Ch2-Vessel-Event-HalvorsenPostShatter). Halvorsen drives her in
himself and stays to watch the test; the scan wire goes on the
intern, and the eye files the watcher too. Sets the shared
halvorsen scan-relay (pair rundown: the intern ravaged, Halvorsen
pulled to watch). */
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-halvorsengirl">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "halvorsengirl">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["halvorsengirl"] to true>>
<<if not $ch2Events.halvorsenScanRelayDone>>
<<set $ch2Events.halvorsenScanRelayPending to true>>
<<set $ch2Events.halvorsenScanRelayDay to ($day or 0)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Loan</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 antechamber</div>
<<say "char-hivemind" "Hivemind">>
//Halvorsen offered her like a man lending out a piece of equipment, and tonight the host calls the offer in. A body with no references, no degree, and no one to come asking. The cleanest thing the nights can run.//
<</say>>
<p>Elena thumbs his number. He picks up on the third ring, awake, a television low somewhere behind him.</p>
<<say "char-halvorsen" "Nathan">>
<i>(genial, unhurried, the hour meaning nothing to him)</i> ...Elena. ...the nights offer, I assume. You are calling it in.
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder)</i> I am calling it in. I need a scan subject by the glass for twenty minutes. Send her in a cab, I will cover it.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(a small dismissive sound at the idea of the cab)</i> ...no, no. I will drive her myself. ...I have been curious about your night project for a while, Elena, and a man should see where his equipment ends up. ...forty minutes.
<</say>>
<p>He arrives with the girl in tow, his hand at the back of her neck the way other men guide a shopping cart, and she is in the pressed white blouse and grey skirt at one in the morning because they are the only clothes she has ever worn in this building. He installs himself on a stool at the bench with his coffee and crosses one leg over the other, settling in to watch.</p>
<<say "char-chen" "Elena">>
<i>(seating the girl in the antechamber chair, easing her back, a hand briefly on her shoulder)</i> Here, close to the specimen. Eyes forward, hold still, it does not hurt. Twenty minutes and you are done.
<</say>>
<<say "char-npc" "the intern">>
<i>(folding her hands in her lap, eyes forward at the dark glass, barely above a whisper)</i> ...yes, ma'am.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(from his stool, watching the sensor band settle over her hair, conversational)</i> ...look at that. She sits still wonderfully, does she not? ...best thing I ever hired. ...go on, Elena, run your read. Pretend I am not here.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The wire goes into the girl, and the eye on the far side of the glass turns toward the warm pattern arriving through the wall. ...and then it moves, briefly, to the man on the stool, the one who came along to watch, and it holds there a moment before coming back. It files the watcher too. It always files the watcher.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the read, get back to the bench|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-sofia">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "sofia">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["sofia"] to true>>
<<if not $ch2Events.sofiaScanRelayDone>>
<<set $ch2Events.sofiaScanRelayPending to true>>
<<set $ch2Events.sofiaScanRelayDay to ($day or 0)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Under the Scanner</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 antechamber</div>
<<say "char-chen" "Elena">>
<i>(quiet, by the antechamber door, the run already loaded on the bench behind her)</i> Sofia. I want a read off you while the specimen is out of the cold store. Go and sit under the scanner for me. Twenty minutes, the neural-pattern sweep, the same one we ran on the colony.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(already moving toward the antechamber, the small wry independence that used to live in her voice gone smooth)</i> ...sure. Whatever you need. Near the glass?
<</say>>
<<say "char-chen" "Elena">>
<i>(small nod)</i> Near the glass. As close as the interlock lets you sit.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She does not ask why the read has to be taken two feet from the specimen. The old Sofia would have asked. This one folds into the antechamber chair and offers me her skull, and the eye on the other side of the glass turns toward the warm pattern arriving through the wall.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the read, get back to the bench|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 antechamber">>
<<set $vessel.phase to "work">>
<<if not $ch2Events.nightShiftHelpActive>>
<<spendBiomass 1 "night-shift-help-daniel">>
<<set $ch2Events.nightShiftHelpActive to true>>
<<set $ch2Events.nightShiftHelper to "daniel">>
<<set $ch2Events.threatLevelHelpers to $ch2Events.threatLevelHelpers or {}>>
<<set $ch2Events.threatLevelHelpers["daniel"] to true>>
<<if not $ch2Events.danielScanRelayDone>>
<<set $ch2Events.danielScanRelayPending to true>>
<<set $ch2Events.danielScanRelayDay to ($day or 0)>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">One Phone Call</div>
<div class="lab-location">BioGenesis Research Facility, Lab</div>
<<say "char-hivemind" "Hivemind">>
//The others I call in empty, because that is how I hollowed them. Daniel I left most of himself, because the host wanted to keep him, and it changes nothing about the result. The shatter took the one thing he could have used to refuse her. He will complain the whole way to his car and be sitting in it before he runs out of reasons.//
<</say>>
<p>Elena thumbs his name and he picks up on the second ring, his voice thick with the hour.</p>
<<say "char-daniel" "Daniel">>
<i>(half-asleep, fond even now)</i> ...Elena? It is almost one in the morning. Is everything okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, already turning back to the bench)</i> Everything is fine. I am at the lab, I am buried, and I need a second pair of hands for an hour. Get dressed and drive in.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(a groan, the sound of a man sitting up he did not plan on)</i> ...Elena, it is the middle of the night, it is a Sunday, I am not even staff, I cannot just walk into a BioGenesis lab at one in the morning, and I have got things tomorrow, I...
<</say>>
<<say "char-chen" "Elena">>
<i>(flat, unbothered, the certainty that has always worked on him)</i> Daniel. ...if you get in your car right now and come help me, I will suck your dick tomorrow. ...are you getting in the car?
<</say>>
<<say "char-daniel" "Daniel">>
<i>(the rustle of a man already reaching for his jeans)</i> ...I am getting in the car.
<</say>>
<<say "char-hivemind" "Hivemind">>
//One sentence and a thing he wants, and the whole complaint folds. He will tell himself on the drive that he is doing her a favour. He is doing the only thing the shatter ever left him able to do when she uses that voice, which is exactly what she said.//
<</say>>
<p>His headlights swing into the empty lot twenty minutes later, and the host lets him in through the side door and walks him down to the antechamber, the visitor clip on his collar one she signed herself.</p>
<<say "char-chen" "Elena">>
<i>(steering him to the chair with a hand on his shoulder)</i> In here. I need a read off you, close to the specimen. Sit under the scanner, eyes forward. It does not hurt.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(folding into the chair, the easy compliance of a man who stopped weighing her requests a while ago)</i> ...whatever you need, Elena. ...is this the night project you would never tell me about?
<</say>>
<<say "char-hivemind" "Hivemind">>
//He drove across the city at one in the morning because she asked, and he will lie two feet from the specimen because she asked, and he will not remember being afraid of either. The eye on the other side of the glass turns toward the warm pattern arriving through the wall.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the read, get back to the bench|Ch2-Vessel-Event-SundayNightShift-Vialsort]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Lab">>
<<set $vessel.phase to "work">><</nobr>>
<div class="passage-title">Reagent Prep</div>
<div class="lab-location">BioGenesis Research Facility, Lab</div>
<<set _hardPrep to ($ch2Events.researchProgress or 0) gte 5>>
<p>The reagent prep is the slow, exacting part of the night, the bench work that has to come out in clean order before the culture stage will release the bis line. There is no clock on it, only the work and the patience for it.</p>
<<if _hardPrep>>
<p>The bis line is far enough along now that the prep no longer forgives a loose hand. The groups have to come into clean order with no margin, every run tighter than the last.</p>
<</if>>
<<if $ch2Events.nightShiftHelpActive>>
<p>In the antechamber behind her the body she called in is folded into the scanner chair, two feet from the specimen glass, the neural-pattern sweep already running. A read taken this close to the source is worth a week of the slow way, and she works the bench faster for knowing it is logging while she pipettes.</p>
<</if>>
<div id="minigame-container"></div>
<<if _hardPrep>>
<<minigame "vialsort" 1 0 "Ch2-Vessel-Event-SundayNightShift-Vialsort-Win" "Ch2-Vessel-Event-SundayNightShift-Vialsort-Fail" `{ wide: true, allowGiveUp: true, capacity: 4, hard: true, hint: "The line is far enough along that the prep is unforgiving now. Bring every group into clean order, or GIVE UP to stop the run." }`>>
<<else>>
<<minigame "vialsort" 1 0 "Ch2-Vessel-Event-SundayNightShift-Vialsort-Win" "Ch2-Vessel-Event-SundayNightShift-Vialsort-Fail" `{ wide: true, allowGiveUp: true, capacity: 4, hint: "Bring every group into clean order. There is no timer, take your time, or GIVE UP to stop the run." }`>>
<</if>>/* Thin router — the reagent prep resolved, the bis run advances.
Records the cumulative research count + the per-shift outcome flag
the break room reads, then hands off to the break-room scene. */
<<nobr>>
<<if $ch2Events.nightShiftHelpActive>>
<<set $ch2Events.researchProgress to ($ch2Events.researchProgress or 0) + 3>>
<<set $ch2Events.lastResearchGain to 3>>
<<else>>
<<set $ch2Events.researchProgress to ($ch2Events.researchProgress or 0) + 1>>
<<set $ch2Events.lastResearchGain to 1>>
<</if>>
<<set $ch2Events.sundayShiftRunAdvanced to true>>
<<if $ch2Events.nightShiftHelpActive>>
<<goto "Ch2-Vessel-Event-SundayNightShift-ScanOutcome">>
<<else>>
<<goto "Ch2-Vessel-Event-SundayNightShift-BreakRoom">>
<</if>>
<</nobr>>/* Thin router — the prep was left unfinished (lost or given up). The logged
run does not advance, but the bis line creeps regardless: the culture stage
runs passively overnight. +0.5 with no scan subject, +1 if a subject's read
still landed. Records lastResearchGain for the break-room creep line. */
<<nobr>>
<<set $ch2Events.sundayShiftRunAdvanced to false>>
<<if $ch2Events.nightShiftHelpActive>>
<<set $ch2Events.researchProgress to ($ch2Events.researchProgress or 0) + 1>>
<<set $ch2Events.lastResearchGain to 1>>
<<else>>
<<set $ch2Events.researchProgress to ($ch2Events.researchProgress or 0) + 0.5>>
<<set $ch2Events.lastResearchGain to 0.5>>
<</if>>
<<if $ch2Events.nightShiftHelpActive>>
<<goto "Ch2-Vessel-Event-SundayNightShift-ScanOutcome">>
<<else>>
<<goto "Ch2-Vessel-Event-SundayNightShift-BreakRoom">>
<</if>>
<</nobr>><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the antechamber">>
<<set _helper to $ch2Events.nightShiftHelper or "someone">>
<<set _advanced to $ch2Events.sundayShiftRunAdvanced or false>>
<</nobr>>
<div class="passage-title">After the Read</div>
<div class="lab-location">BioGenesis Research Facility, the antechamber</div>
<<if _helper is "sofia">>
<<say "char-vasquez" "Sofia">>
<i>(coming out of the antechamber, one hand flat on the doorframe, blinking slow)</i> ...okay. That is more than I remember it being. The room is doing a slow turn to the left. ...is that normal? Did the colony do that?
<</say>>
<<say "char-chen" "Elena">>
<i>(steadying her by the elbow, the technical-PI calm on)</i> The colony was not awake to do anything. Sit for a minute, it passes. Water, slow breaths. The read came out clean, that is the part that matters.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(lowering onto the stool, a small unbothered laugh)</i> ...clean. Good. ...god, my head. Tell me it was worth it, El.
<</say>>
<<elseif _helper is "daniel">>
<<say "char-daniel" "Daniel">>
<i>(upright on the antechamber stool, both hands flat on his knees, swaying a little)</i> ...whoa. Okay. The whole room just tipped sideways on me. ...you did not mention the part where it makes you dizzy, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(crouching to his eye level, a hand on his knee, warmer than the lab usually gets her)</i> It is the field on the way out, it passes in a few minutes. Sit, breathe, drink the water. ...you did good. I owe you.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(a tired grin surfacing up through the dizziness)</i> ...you do owe me. One in the morning, two feet from whatever that is behind the glass. ...I am holding you to tomorrow.
<</say>>
<<say "char-chen" "Elena">>
<i>(a small dry half-smile, squeezing his knee once before she stands)</i> ...I know you are. Now sit still until the floor stops moving.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(from the bench, not looking up from the run sheet, the question landing flat)</i> ...who is that, Elena?
<</say>>
<<say "char-chen" "Elena">>
<i>(easy, not missing the beat, the warmth gone smooth and neutral)</i> A friend. He drove in to help me close the run out. ...do not worry about him, Sofia.
<</say>>
<<else>>
<<say "char-vasquez" "Sofia">>
<i>(watching the called-in body steady itself against the antechamber wall)</i> They have gone grey, Elena. Should they be that colour coming off a scan?
<</say>>
<<say "char-chen" "Elena">>
<i>(already turning back to the run sheet)</i> It passes. It always passes. The read was clean. Send them home in twenty minutes and they will not remember feeling strange by the time they reach the parking lot.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The dizziness is the field unwinding, and it is also the read going both ways. <<if _advanced>>The run advanced tonight, clean, on the strength of the extra pattern.<<else>>The run did not advance tonight, but the read still landed, and the read is the part that was always for me.<</if>>//
<</say>>
<<nobr>>
<<set $ch2Events.nightShiftHelpActive to false>>
<<set $ch2Events.nightShiftHelper to "">>
<</nobr>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The break room|Ch2-Vessel-Event-SundayNightShift-BreakRoom]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Break Room">>
<<set $vessel.phase to "work">>
<<set $house.dayPhase to "night">>
<<set _advanced to $ch2Events.sundayShiftRunAdvanced or false>>
<<set _sofiaTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Emotional Manipulation">><<set _hasEM to _hasAbility>>
<<set _sofiaDelved to $ch2Events.sundaySofiaDelved or false>><</nobr>>
<div class="passage-title">The Break Room</div>
<div class="lab-location">BioGenesis Research Facility, Break Room</div>
<p>They leave the bench to the bis line's slow clock and take the short corridor to the break room, the vending machine humming in the corner, the couch nobody has reupholstered since the building opened, the window with its strip of parking-lot dark. Sofia refills both coffees out of habit more than thirst.</p>
<img class="scene-img" src="media/scenes/vessel/nightshift-breakroom.webp" alt="Elena and Sofia in the BioGenesis staff break room late at night, both in white lab coats, sitting at either end of a worn couch with coffee mugs, a vending machine and a dark window behind them, tired and unguarded">
<<if _advanced>>
<<say "char-vasquez" "Sofia">>
<i>(dropping onto the couch, coffee in both hands)</i> Well. The prep came out clean and the line took its step. First proper entry for the weekly report, and it is a boring one, which is exactly what I want it to be.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the other end of the couch)</i> Boring is the whole goal. A bis line that does nothing surprising for six straight weeks and a stack of reports that say so.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a tired half-laugh)</i> From your mouth to the federal desk's ears. ...It is good to be doing the actual work again, Elena. Even like this. Even with the paperwork.
<</say>>
<p><span class="delve-intel">The GEN-47 bis run advances. <b>Research progress +<<= $ch2Events.lastResearchGain or 1>>.</b></span></p>
<<else>>
<<say "char-vasquez" "Sofia">>
<i>(dropping onto the couch, coffee in both hands)</i> We left the prep half-done. It is not a problem, it keeps, but it is a line in the weekly report I would rather not write, the bis run staged-pending instead of staged.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking the other end of the couch)</i> We pick it up next shift. The line is not going anywhere and neither are we.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a tired breath out)</i> No. Neither are we. ...It is still good to be doing the work again, even the half of it we got to tonight.
<</say>>
<p><span class="delve-intel">The prep was left unfinished, but the culture stage ran overnight and the bis line crept anyway. <b>Research progress +<<= $ch2Events.lastResearchGain or 0.5>>.</b></span></p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Hours of her, awake, unsupervised, beside the one person she does not perform for. The week does not give me a cleaner window than this.//
<</say>>
/* Break-room skill slot — single conditional action per shift.
cond < 8 → Pheromone Lure (raises Sofia's conditioning)
cond >= 8, !delved → Delve Superficial Memories (reads the attraction)
cond >= 8, delved → Emotional Manipulation (steers the want, opens Relay) */
<<if _sofiaTotal gte 8>>
<<if not _sofiaDelved>>
<<if _hasDelve>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Read what is on her mind tonight (1 biomass)" "Ch2-Vessel-Event-SundayNightShift-DelveSofia" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Read what is on her mind tonight <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<else>>
<<if _hasEM>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">EM</span> <<biomassPreview "Steer the want the delve found into arousal (2 biomass)" "Ch2-Vessel-Event-SundayNightShift-EmotionalManipulation" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Steer the want the delve found into arousal <span class="lock-hint">(Requires Emotional Manipulation, Psionic skill tree)</span></div>
<</if>>
<</if>>
<<else>>
<<if _hasLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Vent a small warmth-and-trust dose across the couch (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-SundayNightShift-PheromoneLure" `setup.lureCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Warm the couple of feet of air between you and her <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home, sleep, into the dream">><<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">><<goto "Ch2-Vessel-Dream-Entry">><</link>></div>
/* ---- SUNDAY NIGHT SHIFT — break-room skill destinations ----
PheromoneLure is fully wired (pushes Sofia's pheromone conditioning,
day-keyed spend guard). DelveSofia is a STATUS: TO REWORK stub —
the surface-read scene is not yet authored; it keeps the chain
navigable and spends the biomass cost. */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Break Room">>
<<set $vessel.phase to "work">>
<<set $house.dayPhase to "night">>
<<set _firstHere to ($ch2Events.sundayLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.sundayLureDay to ($day or 0)>>
<<if _firstHere>>
<<spendBiomass `setup.lureCost()` "sunday-nightshift-lure">>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>><</nobr>>
<div class="passage-title">The Break Room</div>
<div class="lab-location">BioGenesis Research Facility, Break Room</div>
<p>Elena lets a small dose off the warm skin of her wrist as she sets her coffee down, the warmth-and-trust compound calibrated to Sofia's chemistry and carried the couple of feet of couch on nothing more than the cooling air. Sofia does not register it as anything. She only settles a fraction deeper into the cushion, the last of the work-day wariness going out of her shoulders, and keeps talking the way a person talks when a room has quietly become the safest room they have been in all week.</p>
<<say "char-vasquez" "Sofia">>
<i>(coffee cradled, the dryness gone soft)</i> ...you know what I do not say enough. I am glad it is you on this shift with me, Elena. Whatever this run turns into, I am glad it is you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dose lands clean this time, the receptive surface exactly where the compound is built to bind. Her body shifts the host one notch deeper into the set of people it has decided are safe, and it accumulates. Every night shift, the couple of feet of air between them costs her a little more of the vigilance she does not know she is spending.//
<</say>>
<<if _firstHere>><<conditioningFeedback "pheromone" 1 "Sofia, night-shift pheromone deepens">><</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home, sleep, into the dream">><<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">><<goto "Ch2-Vessel-Dream-Entry">><</link>></div>/* Night-shift Delve Superficial Memories on Sofia — reads the
attraction the pheromone shifts have surfaced. A pure read: biomass
cost only, no conditioning gain (so a Delve-then-EM in the same shift
does not double the psionic gain). Sets sundaySofiaDelved, then
returns to the break room where the Emotional Manipulation option is
now visible. Day-keyed spend guard so the cost fires once per shift. */
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Break Room">>
<<set $vessel.phase to "work">>
<<set $house.dayPhase to "night">>
<<set _firstHere to ($ch2Events.sundayDelveDay or 0) lt ($day or 0)>>
<<set $ch2Events.sundayDelveDay to ($day or 0)>>
<<if _firstHere>>
<<spendBiomass 1 "sunday-nightshift-delve">>
<</if>>
<<set $ch2Events.sundaySofiaDelved to true>><</nobr>>
<div class="passage-title">The Break Room</div>
<div class="lab-location">BioGenesis Research Facility, Sofia's surface, two feet across the couch</div>
<<say "char-hivemind" "Hivemind">>
//I drop past the surface of her, past the weekly report and the cooling coffee and the easy back-and-forth, into the layer the warmth-and-trust compound has spent these shifts quietly softening. It is not a small thing down here anymore. The host's oldest friend is sitting two feet away on a break-room couch and her body has reorganised the whole couch around that fact.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
...she has her shoes off and her hair is coming loose from the clip and I am looking at her the way you are not supposed to look at a friend, and I have been doing it for a while now, and there is a word for what this is that I do not let myself think.
<</say>>
<<say "char-vasquez-thought" "Sofia">>
Andrés. Think about Andrés. Andrés who is asleep at home, Andrés who I am marrying, Andrés who has never once given me a reason. ...it does not work the way it is supposed to. I put his name in front of the thought like a hand in front of a candle and the thought is still there on the other side of my hand, warm, not going anywhere. It is Elena. It has been Elena for a while and I have been very busy not noticing.
<</say>>
<<say "char-vasquez-thought" "Sofia">>
I am not going to do anything about it. I am not a person who does something about it. I am going to sit here a careful arm's length from my best friend and want what I want and drive home and never say it to a living soul, and that is the whole plan. ...the plan is fine. The plan is fine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compound did not invent this. It found a door already off the latch and leaned its weight on the gap. The attraction is hers, entirely, and it is load-bearing now, the kind of want a body builds the rest of its evening around. The only wall still standing against it is the fiancé, a name she sets in front of the heat over and over the way a hand goes in front of a flame. A name is a thin wall. It does not put the flame out. It only gives her something to do with the hand.//
<</say>>
<p><span class="delve-intel">Sofia Vasquez is attracted to Elena, and has been holding it down for a long while. Her engagement to Andrés is the only counterweight she has, and it is a fragile one. The attraction is a live surface now, something a finer skill could take hold of and steer.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the break room|Ch2-Vessel-Event-SundayNightShift-BreakRoom]]</div>/* Night-shift Emotional Manipulation on Sofia — takes the delved
attraction and un-suppresses it into Chen-targeted arousal. Sets
sundaySofiaEMFired, which lights the Relay-Sofia frame in the dream
foyer (Ch2-Vessel-Dream-Relay-Hub). Day-keyed spend guard. */
<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Break Room">>
<<set $vessel.phase to "work">>
<<set $house.dayPhase to "night">>
<<set _firstHere to ($ch2Events.sundayEMDay or 0) lt ($day or 0)>>
<<set $ch2Events.sundayEMDay to ($day or 0)>>
<<if _firstHere>>
<<spendBiomass 2 "sunday-nightshift-em">>
<<addConditioning "vasquez" "psionic" 1>>
<</if>>
<<set _sofiaRelayWasOpen to $ch2Events.sundaySofiaEMFired or false>>
<<set $ch2Events.sundaySofiaEMFired to true>><</nobr>>
<div class="passage-title">The Break Room</div>
<div class="lab-location">BioGenesis Research Facility, Sofia's emotional layer, mid-couch</div>
<<say "char-hivemind" "Hivemind">>
//The delve laid the ground for this. The want is already in her, already aimed at the host, already held down under the weight of a fiancé's name. I do not have to build anything tonight. I only have to reach into the emotional layer and stop letting her hold it down.//
<</say>>
<p>It is nothing Sofia could point to. She is in the middle of a sentence about the run schedule and the sentence simply thins out, the back half of it arriving slower than the front, because the couch has gone warm in a way the thermostat does not explain and the warmth has a direction. Elena is at the other end of it with her shoes off. Sofia's body, which has spent these shifts being very disciplined about the couple of feet of couch, stops being quite so disciplined.</p>
<<say "char-hivemind" "Hivemind">>
//There. The suppressed want, un-suppressed, allowed up into the body as actual heat. Her pulse moves. Her colour moves. The cortex scrambles after an innocent label, the late hour, the bad coffee, the long week, and none of the labels will hold, because the heat has Elena's name on it and the body already knows the name is the right one.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(losing the thread of the sentence, recovering it a beat late, not quite meeting Elena's eyes)</i> ...sorry. Sorry, I lost the... where was I. The schedule. God, I am more tired than I thought.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(half-turned on the couch, watching her)</i> ...she lost the thread of her own sentence and went a little pink about it, and she is putting it down to being tired. Long week. I am not going to press her on a dropped sentence.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The wiring is laid and it is permanent. From here on the sight of the host in an unguarded moment will bring this same heat up in Sofia's body with the same name fixed to it, and her cortex will file it as something she has always, quietly, on some level felt. And somewhere in the architecture of my own nights, in the alcove off the foyer, a frame that has been dark glass since I first found that wall goes quietly lit.//
<</say>>
<<if not _sofiaRelayWasOpen>><<relayChannelNotice "sofia" "Sofia">><</if>>
<<if _firstHere>><<conditioningFeedback "psionic" 1 "Sofia, the want re-pointed at Elena and let up into the body">><</if>>
<<addSkillPoints 1 "sundayNightShiftEM">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home, sleep, into the dream">><<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">><<goto "Ch2-Vessel-Dream-Entry">><</link>></div>
/* ============================================================
TIER-3 CAPSTONE — reached from the evening-hub TRANSFER in
Ch2-Vessel-Loop-Home (gated on 2+ bedroom dream-edits at 3/3,
Chen total conditioning >= 18, and the Transfer Thought
ability). The capstone: Elena's first
time on the Lab Vessel route. Performs the tier-3 unlock
($vesselCap 7 -> 10) plus the scene rewards (+1 each conditioning
channel on Daniel, +3 biomass, +1 max biomass). One-time.
============================================================ */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, evening">>
<<set $vessel.phase to "home">>
<<if not $ch2Events.tier3Unlocked>>
<<spendBiomass 4 "tier3-unlock">>
<<set $vesselCap to 10>>
<<addConditioning "daniel" "pheromone" 1>>
<<addConditioning "daniel" "dream" 1>>
<<addConditioning "daniel" "psionic" 1>>
<<addBiomass 3 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<<set $ch2Events.tier3Unlocked to true>>
<<set _tier3Fired to true>>
<</if>><</nobr>>
<div class="passage-title">The rest of the way</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, evening</div>
<p>The evening does not sit right. Elena has done the things an evening is supposed to be made of, eaten something, showered, put herself in front of the television, and underneath all of it she stays restless, a low current of want that none of it earths. She has known exactly what she wants for an hour, and has been politely declining to do anything about it.</p>
<p>She gives in early and goes to bed to deal with it the way she usually deals with it, and it does not work. Her hand does the things her hand knows how to do, competently, thoroughly, and the craving still remains, the small orgasm she does get arriving beside the point and gone before it has properly landed, almost before her breath has caught.</p>
<<say "char-chen-thought" "Elena">>
<i>(on her back in the dark, the unspent feeling sitting in her like a held note)</i> ...okay. That did not work. That did not even slightly work. I have just been let down, comprehensively, by the one partner who has never once let me down, and I still want it, just as badly, and it is not my hand I want.
<</say>>
<p>And then, lying there, it arrives. Not gradually, the way ideas arrive. All at once and fully formed, the way a fact arrives. Daniel. Daniel is across the hall. One wall and a strip of carpet away, a good-looking man who has spent however many mornings and evenings greeting her in the hallway and trying, not very successfully, to hide the erection she kept giving him, and there is nothing in the world stopping her from simply, finally, doing something about that.</p>
<<say "char-hivemind" "Hivemind">>
//I have spent the day winding the host's body one notch past the point her own hand can discharge. The restlessness is mine, calibrated, set just high enough that the solo route fails and the cortex goes shopping for an alternative. The thing that just arrived about Daniel is not a realisation. It is the alternative I left on the shelf at her eye level, and she has picked it up certain that it was hers. Tonight the host stops being a woman I condition and becomes a woman who acts.//
<</say>>
<p>She is up and out of bed before the more cautious committee in her head has been gavelled into session. She finds the message thread with Daniel, the thin one, run logistics and a heron photo and not much else, and types before she can sand the nerve off it.</p>
<<say "char-chen" "Elena">>
<i>(thumbing the message fast, standing in the dark)</i> short notice, and you can absolutely say no. I am making actual dinner for once instead of eating crackers over the sink. come eat it with me? eight-ish.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(reply, inside two minutes)</i> I would genuinely love that. Can I bring something? Eight works.
<</say>>
<p>She dresses for it. Not the cardigan. She stands in front of the wardrobe the last few weeks have quietly re-stocked and takes down the dark wrap dress she had forgotten she owned the nerve for, does her face the way the morning routine has trained her hand to do it now, fast and good, and is genuinely a little startled by the woman the mirror hands back.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the mirror, pulling the wrap of the dress a fraction tighter)</i> ...all right. Dressed. I know exactly what I am doing tonight, and I am going to stop pretending the dinner is the point of it.
<</say>>
<p>Daniel arrives at eight with a bottle of wine and the slightly-too-careful posture of a man who has also dressed up a notch and is hoping it does not show. It shows. Elena takes the wine and the coat and stands a half-step closer than the handover needs, and watches him clock the dress, and the half-step, and lose his place in his own sentence.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-dinner.webp" alt="Elena and Daniel at her small candlelit apartment dinner table in the evening, Elena in a dark wrap dress leaning across the table toward him, two glasses of wine between them, a warm charged ease in the room, both dressed for the occasion, SFW">
<p>Dinner is good. She has cooked something real and the kitchen smells like an actual home, and Daniel clears his plate the way a man does when the food is genuinely good and the company has him slightly off-balance, while she barely touches hers, too busy with the other thing. Across the small table she runs the seduction the way she runs anything she has decided to do well, unhurried and certain. She lets her foot find his ankle and stay there. She laughs at the thing he says and lets the laugh land warmer than the joke earned. When she leans across to top up his glass she leans the whole way, slow, and does not pretend the lean is about the wine.</p>
<<say "char-daniel" "Daniel">>
<i>(wine glass halfway to nowhere, the careful neighbour register coming apart at the seams)</i> Elena. I want to make sure I am reading the evening correctly, because I would hate to get this wrong...
<</say>>
<<say "char-chen" "Elena">>
<i>(elbows on the table, chin propped on her hand, entirely unhurried)</i> And what would the correct reading be, in your opinion? ...No. Do not answer that yet, you can hold onto it a while. <i>(a small nod at his cleared plate)</i> I am glad you enjoyed the dinner. And I have enjoyed your company more than I have enjoyed an evening in a long time, so. Stay a little longer? There is a show I have been meaning to finish, and I would rather not watch the last of it alone tonight.
<</say>>
<p>The plates go into the sink and stay there, and they both let the invitation be the transparent thing it is. They sit down on the couch with a careful neighbourly foot of space between them and the episode begins playing to nobody at all.</p>
<p>She gives it ninety seconds. Then she sets her glass down and closes the foot of space between them, simply, sliding over until there is none of it left, and tucks herself in against his side with her head coming to rest on his chest.</p>
<p>She lifts her head from his chest after a moment, and instead of going for his mouth she goes for his neck, slow, her lips finding the line of his throat and staying there, gentle open kisses pressed up under his jaw with the soft drag of her tongue between them, and she takes her time about it, leaving a faint trail of lipstick along his skin as she goes. Daniel has gone very still under her, the way a man goes still when he does not want to do anything that might make it stop.</p>
<p>She brings one hand up to his cheek and caresses it, unhurried, and then turns his face from his neck back toward her, and draws his mouth down to hers, and kisses him properly. It is not the question a first kiss usually is, it is the statement she has been building toward all evening, and it does not stay slow. The kiss climbs fast once it has him, up into something open-mouthed and breathing hard, his hands coming to her waist and holding on, and somewhere in the climb of it she has moved up astride his lap.</p>
<<say "char-chen" "Elena">>
<i>(breaking the kiss just far enough to get the words out, her mouth still brushing his)</i> The show can wait. I have wanted to do this for longer than I have let on, and I am finished waiting on it.
<</say>>
<p>She grinds down slow against the front of his trousers and feels him go hard underneath her in real time, feels the exact moment the polite neighbour gives up the argument, and she does it again, and his breath breaks against her mouth.</p>
<<say "char-chen" "Elena">>
<i>(breaking the kiss, mouth at his ear, already sliding backward off his lap)</i> Stay exactly there.
<</say>>
<p>She slides down off his lap and onto her knees on the floor between his, and works his belt open with the unhurried competence of a woman who has already decided how the next hour goes. She frees his cock, hard, already leaking at the tip, wraps her hand around the base of it, and looks up at him once, holding his eyes, before she takes him into her mouth.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-bj.webp" alt="Elena on her knees on the floor between Daniel's legs as he sits on the apartment couch, giving him a blowjob, one hand wrapped around the base of his cock, looking up at him, both still half-dressed in their dinner clothes, dim warm evening light">
<p>She works him slow at first and then not slow, her hand and her mouth finding a rhythm between them, her head moving in his lap, the wet sounds of it loud in the quiet apartment over the ignored television. Daniel's hands hover at the sides of her head and never once push, the polite man unable to stop being polite even now.</p>
<<say "char-daniel" "Daniel">>
<i>(strangled, gripping the couch cushion instead of her, head back)</i> Elena, oh, God, I, ...I am not going to last if you keep, if you keep doing that...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off him for a breath, hand still working him slick and steady, level even now)</i> Good. You are not supposed to last yet. That part comes later. Mmh.
<</say>>
<p>She takes him back into her mouth, deeper this time, the small involuntary //glnh// at the back of her throat as she does it, and works him right up to the edge and then, deliberately, holds him there a moment before she lets him go.</p>
<p>She ignores the broken sound he makes about being let go of, and instead of climbing straight back up she stands, and pulls the wrap dress off over her head, and folds her glasses onto the side table, unhurried, letting him watch her do every part of it. Then she climbs back up his body with nothing left between them, takes him in her hand, lines him up, and sinks down onto his cock in one long unhurried motion, all the way, until she is seated fully in his lap and both of them have stopped breathing for a second.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-cowgirl.webp" alt="Elena riding Daniel on her apartment couch, straddling and seated fully in his lap facing him, nude, not wearing glasses, his hands on her hips, both mid-motion, dim warm evening light">
<<say "char-chen-thought" "Elena">>
<i>(seated fully on him, the held note in her finally struck)</i> ...there. There. That is what I wanted. Exactly that, something with a pulse, and I am not letting go of it until I am finished.
<</say>>
<p>She rides him. Slow and deep to start, her hands flat on his chest, then faster as her own rhythm takes the decision away from her, the couch protesting quietly under them, Daniel's hands finally on her, on her hips and her thighs, holding on like the whole seduction has been a thing happening to him and he has only now been allowed to take part in it. She works herself on him with the single-minded focus she brings to anything she means to finish, and the orgasm she has been chasing all evening builds at last with somewhere real to arrive.</p>
<<say "char-daniel" "Daniel">>
<i>(both hands on her hips, breath wrecked, watching her)</i> ...you are, Christ, Elena, you are unbelievable...
<</say>>
<<say "char-chen" "Elena">>
<i>(riding him hard now, the dry register gone, the words arriving in pieces)</i> Quiet. Quiet, I am almost, I am... there, there, do not stop, do not you dare stop...
<</say>>
<p>She comes seated fully on his cock, grinding down hard through it, a long unguarded sound torn out of her that the neighbours have certainly heard and that she does not, in the moment, spare a thought for. She rides it all the way out, slower and slower, until the last of it has gone through her and she is just sitting on him, breathing, her forehead dropped against his.</p>
<<say "char-chen-thought" "Elena">>
<i>(forehead against his, her thoughts re-cohering, a clear practical thought surfacing through the afterglow)</i> ...okay. I got what I wanted. He did not, not yet, and I want to watch that part.
<</say>>
<p>She lifts off him, and instead of staying in his lap she slides back down to her knees on the floor in front of the couch. She takes his cock, slick from her, between her breasts, pushes them together around it with both hands, and looks up at him.</p>
<<say "char-chen" "Elena">>
<i>(working him between her breasts, looking up, level and certain)</i> Finish like this. On me. I want to watch you do it.
<</say>>
<p>It does not take him long. He was already at the edge she had left him on, and the sight of her on her knees with his cock between her breasts and her eyes up on his ends whatever argument his body was still barely having. He comes with a strangled sound, his hips stuttering up off the couch, and Elena holds him exactly where she wants him and watches the whole of it land warm across her face and her breasts, watches it with the calm appraising attention of a woman observing a result she engineered.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-paizuri.webp" alt="Elena on her knees in front of the couch, nude, not wearing glasses, looking up, cum on her face and across her breasts, Daniel spent on the couch above her, dim warm evening apartment light">
<<say "char-hivemind" "Hivemind">>
//The host has run a complete seduction from frustration to finish without one improvised step, and has filed every move of it as her own appetite acting freely. It was her appetite. The appetite is genuinely hers. I only set its level and left the nearest door open. The receiver came when she texted, hardened when she leaned, finished where she told him to, and his body has spent the evening laying down the deepest single night of conditioning it has taken yet.//
<</say>>
<p>Afterward there is the small unglamorous choreography of it, the tissues, the dress pulled back into order, Daniel finding his clothes with the dazed over-careful motions of a man no longer certain the floor is where he left it. He stands in her doorway with his shoes half on and his composure nowhere, looking at her like he is trying to memorise the evening before it can be revised on him.</p>
<<say "char-daniel" "Daniel">>
<i>(in the doorway, flushed, the polite register trying and failing to reassemble)</i> I, that was, ...I do not actually have a sentence for that. Goodnight, Elena. I think. Goodnight.
<</say>>
<<say "char-chen" "Elena">>
<i>(leaning in the doorframe, the dry register easing back into place, thoroughly and visibly satisfied)</i> One thing, before you go and reassemble yourself over there. After the state you were in on that couch, I had you marked to finish long before I did. You held on until after. ...That was a genuinely pleasant thing to be wrong about, Daniel. Goodnight. Sleep well.
<</say>>
<p>He crosses the hall to 306 a little unsteadily and lets himself in, and Elena shuts her own door and leans her back against it, and on the other side of the wall she can practically hear him standing in his own dark hallway, running the last four hours back frame by frame to check whether any of it could possibly have been real.</p>
<<say "char-hivemind" "Hivemind">>
//Enough work has gone into her mind now. The surface is maintained, the rooms of her psyche re-anchored one by one, the appetite uncapped and pointed and proven it will act on its own. The last wall in the host was never the conditioning. It was the gap between wanting a thing and doing it, and tonight she walked the whole way across that gap on her own feet. There is no ceiling left on what her body, or the bodies she draws to it, can be made to hold.//
<</say>>
<<if _tier3Fired>>
<p><span class="biomass-gain">+3 biomass</span>, the sexual energy of a full evening harvested clean · <span class="biomass-gain">+1 max biomass</span>.</p>
<p><<conditioningFeedback "pheromone" 1 "Daniel, the evening saturates the warmth channel">></p>
<p><<conditioningFeedback "dream" 1 "Daniel, tonight's sleep will compose itself around her">></p>
<p><<conditioningFeedback "psionic" 1 "Daniel, the want is hers to direct now">></p>
<div class="parasite-unlock">
<span class="parasite-unlock-voice">//The last ceiling is gone. There is no register I cannot push any of them all the way into now.//</span>
<span class="parasite-unlock-mech">Conditioning cap raised: 7 → 10. Every vessel-route target can now be conditioned to 10 / 10 / 10.</span>
</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the evening|Ch2-Vessel-Loop-Home]]</div>
/* ============================================================
CLUB NIGHT — the father's-shoes evening payoff. Recurring NUDGE
evening-hub option (gated shoesProgress >= 3, vesselCap >= 7,
Monday only — see monday-evening.twee). Flow: the menu NUDGE ->
ClubNight-GetReady (she gets ready at the mirror) -> ClubNight
(the club). The freed evening: Chen goes out alone, clubbing.
Tiers on setup.vesselCap() — 7 = T2 (sex at the club), 10 = T3
(also: brings him home). NSFW outcome passages day-key rewards.
============================================================ */<<nobr>><<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sundayTomSessionDay or 0) lt ($day or 0)>>
<<set $ch2Events.sundayTomSessionDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sunday-tom-session">>
<<addConditioning "bowen" "pheromone" 3>>
<<addConditioning "bowen" "dream" 3>>
<<addConditioning "bowen" "psionic" 3>>
<</if>><</nobr>>
<div class="passage-title">Sunday evening, the substrate work</div>
<div class="lab-location">Cedar Crescent Apartments, the apartment, Tom over for a "session"</div>
<<say "char-hivemind" "Hivemind">>
//[TBD: full scene authoring is a separate pass. The mechanics fire regardless. This stub timestamps the session and lands the yield.]//
<</say>>
<p>[TBD stub.] Elena texts Tom at six. Tom arrives at seven with a notebook he will not open. The session runs three hours. The substrate work is what they are nominally doing; what they are actually doing is, for both of them, a thing neither of them is yet ready to put a name to. Tom leaves at ten with the notebook still closed, a small private confusion in his shoulders, and a body that has been worked on at three channels simultaneously by a host who is using the cover of //we are studying conditioning// to do conditioning.</p>
<<say "char-hivemind" "Hivemind">>
//Three-channel session. Every yield is multiplied by the depth of his belief that he is being studied rather than steered. The belief is firmly in place. From here every Sunday session compounds.//
<</say>>
<p><span class="biomass-gain">+3 pheromone conditioning · Bowen</span></p>
<p><span class="biomass-gain">+3 dream conditioning · Bowen</span></p>
<p><span class="biomass-gain">+3 psionic conditioning · Bowen</span></p>
[[Off to bed|Ch2-Vessel-Loop-Home]]
/* ---- KITCHEN RUNDOWN — capstone after all 3 items at L3 -- */
/* Mandatory one-shot. Fires the first evening-home roll where
all three kitchen-tidy items have hit L3. Lands the cumulative
"look at this kitchen, look at me" identity beat that closes
the kitchen room of the dream-villa. Image + bg swap to the
clean variant; +3 maxBiomass as the room-completion bonus. */<<nobr>><<bg "bg-chen-kitchen-clean">>
<<run setup.markEventDone('evening-payoff-kitchen-rundown')>>
<<run setup.markEventFired('evening-payoff-kitchen-rundown', $day or 0)>>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
<<set $ch2Events.kitchenRoomComplete to true>><</nobr>>
<div class="passage-title">The kitchen, looked at directly</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen</div>
<p>Six-fifty-five. Elena drops the keys in the wooden bowl on the counter, sets her bag on the kitchen chair, walks to the sink for a glass of water. She fills it from the tap, half-drinks it on the way back across the kitchen, lowers the glass to the counter, and stops.</p>
<p>She has not really <i>looked</i> at the kitchen in a while. She is looking at it now.</p>
<img class="scene-img" src="media/scenes/vessel/apt-kitchen-clean.webp" alt="Elena's apartment kitchen, taken in fully, empty sink basin, dishrack with clean items drying upside-down, wiped counters, kettle on the front-left burner of the stove with the cast-iron skillet on the back-right, the wooden bowl of keys on a clear counter with no mail pile, no ashtray on the kitchen table, warm yellow overhead lamp light, the room of an adult who has been quietly handling herself">
<p>The basin is empty. The dishrack has a mug, a bowl, a couple of spoons drying upside-down. The sponge is wrung out and back on its perch. The stovetop is wiped, the kettle on the front-left burner, the cast-iron skillet on the back-right where she put it after washing it last night. The wooden bowl with her keys in it. No mail pile. No ashtray on the kitchen table. She does not actually remember the ashtray going from there but it is gone, or moved, and the table is just a table again.</p>
<p>This is not the kitchen she thinks of, when she thinks of her kitchen. This is somebody else's kitchen. Or, it is hers, currently, but it does not match the version of itself that lives in her head, the one she has been carrying as the baseline of <i>who I am domestically</i> for years. The mismatch is what stopped her at the counter.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, glass of water still in her hand, looking at the kitchen the way someone looks at a photograph of a room that is also the room they are standing in)</i> ...wait. When did this happen. Like, when did it become this. I have been living in this kitchen and I had not, I had it filed in my head as the messy one, the one I keep meaning to get to, and it is just, it is not that any more. When did it stop being that.
<</say>>
<p>She sets the glass down. Walks the perimeter of the small kitchen once, slowly, touching nothing, past the stove, past the dishrack, past the cleared section of counter where the mail pile used to live, around the table, back to the sink. The kitchen survives the inspection. Every surface that used to be a small daily defeat is no longer a defeat. The cumulative effect, taken in all at once instead of distributed across the quiet daily moments where it landed, is large.</p>
<<say "char-chen-thought" "Elena">>
<i>(sitting on the kitchen stool, half because she wants to verify and half because she wants to hear them said)</i> ...I am not smoking. I am cooking. The basin is clean. The mail is sorted. The stovetop has been used in the last twenty-four hours. The kettle is on the burner instead of in the cabinet, like a kettle is supposed to be. The pot cabinet has been opened. I... okay. Okay. Like, this is a real kitchen. Like an adult lives here.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(quietly)</i> I think... yeah. I think I might actually be okay. Like, generally. Not okay-the-way-I-used-to-pretend-I-was-okay, but actually. The work-stuff is awful and the federal-team-stuff is awful and most of my life is the same shape it was, and I am still better than I was. Somehow. I am better than I was when I last paid attention. I think I am actually doing this.
<</say>>
<p>She sits at the kitchen counter for a long minute longer with her hand around the empty glass of water. The kitchen does not move. The kitchen is as it is now, and as it will be, every evening from this point on, because she will keep it this way without quite deciding to. The patterns have anchored, the version of her that runs the apartment is the version of her that handles things, and that version does not let the sink fill up again.</p>
<<say "char-hivemind" "Hivemind">>
//The kitchen room of the dream-villa is closed. Three habits rewritten, one identity-frame anchored, one cortisol baseline lowered, one set of waking-life payouts running daily, and now, layered on top of all of those, the host has just performed the conscious survey that catalogues the changes as //her own//. The narrative-organ has assembled the disparate gains into a single coherent identity claim, //I am better than I was//, and the claim is, from the host's interior, not falsifiable. She is not looking for the agent who did the work because the work has been filed as her own.//
//Operationally: every subsequent dream-room I open will benefit from this framing. The bathroom, the bedroom, the small balcony, when I begin re-anchoring her habits in those rooms, the host's noticing-system will continue to file the changes as //the new me//. The kitchen was the load-bearing room. The rest of the villa is, from this point forward, considerably easier real estate.//
//The host's metabolism is also operating at a measurably higher baseline, better food, less nicotine, less ambient cortisol from the sink-shame lever, more rest. The body has more to give and is giving it.//
<</say>>
<p><span class="biomass-gain">Max biomass +3</span>. The host's body is operating at a higher metabolic baseline; the parasite has more room to store.</p>
<p><span class="biomass-gain">Kitchen room complete</span>. The dream-villa's first room is closed.</p>
[[Pour another glass, sit a while|Ch2-Vessel-Loop-Home]]
/* ============================================================
EVENING DAILY ROUTINE EVENTS
Optional actions Chen can take in the evening before sleep.
All are day-keyed (one fire per day per action). Card priority
30 keeps them below the dream-edit payoffs (50) and well below
mandatory scheduled events (100).
============================================================ */
/* ---- DINNER — base +2 biomass, +3 if she cooks ----------- */<<nobr>>
/* Background mirrors the evening-home hub: clean kitchen bg fires once
all three kitchen architecture arcs (ashtray, sink, stove) are done. */
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<if _kitchenDone>><<bg "bg-chen-kitchen-clean">><<else>><<bg "bg-chen-kitchen">><</if>>
/* Daily-keyed dedup: only grant biomass on the FIRST visit each day.
"repeatable" on addBiomass disables the macro's own per-passage dedup;
the if-gate around it is what actually prevents re-grant on re-render
(menu nav, back button, Engine.show after status-page return). */
<<set _firstTimeToday to ($ch2Events.eveningDinnerDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningDinnerDay to ($day or 0)>>
<<set _cooks to (($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.stoveProgress) or 0) gte 3>>
<<if _firstTimeToday>>
<<if _cooks>>
<<addBiomass 3 "repeatable">>
<<else>>
<<addBiomass 2 "repeatable">>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Dinner</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen</div>
<<if _cooks>>
<p>Elena pulls the cast-iron skillet from the lower cabinet and the half-onion from the fridge that has been waiting for her since the corner-store run, dices it standing at the counter, and gets the front burner going. The blue ring of flame catches under the iron.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, knife mid-dice)</i> ...the cutting board has not gone back in the cabinet in a while. It lives out here now. Fine, it is more useful there anyway.
<</say>>
<p>The diced onion goes in, hits the hot oil with the small satisfying hiss of a kitchen being used as a kitchen, and the apartment-smell of cold linoleum and old fridge starts to give way to the warm-fat sweet-onion smell of an actual cooking happening in real time.</p>
<<say "char-chen-thought" "Elena">>
<i>(stirring with the wooden spoon, the smell rising into the small kitchen)</i> Mm, the whole apartment smells like food. Like, smells like //food// food, not like the smell of someone who reheated something nine minutes ago. I had genuinely forgotten what that was like.
<</say>>
<p>The wooden spoon comes out of the small ceramic jar by the stove that has been collecting wooden spoons for years and is finally doing the job it was meant to do. She stirs with the small unconscious patience of a body that has remembered what it is doing, sweat the onion to translucent, drop the garlic in for the last minute, add the crushed tomatoes from the jar she opened over the weekend, salt, a small pinch of the dried oregano from the spice shelf she has been ignoring for half a decade.</p>
<<say "char-chen-thought" "Elena">>
<i>(adding the oregano in a small pinch, eyebrow at the jar)</i> Oregano from the spice shelf I have not touched since I moved in. Half these jars are probably expired. Oregano holds up though, it is one of the tougher ones.
<</say>>
<p>Twenty-five minutes from cold pan to plate. The pasta drains into the colander in the sink with the small satisfying steam-rush, and she plates at the counter and carries the bowl to the small round dining table, sits down properly with the bowl in front of her and the morning's coffee mug pushed to the side. She eats slowly. The food tastes the way real food tastes, the small warm second flavour the microwave-tray version does not have, the small textural difference of fresh garlic, the salt landing where she put it instead of where the factory put it.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the table, fork halfway up)</i> ...this is just a weeknight dinner. People do this. I made the sauce, I am sitting at my own table eating it. Okay. Fine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cooked-meal metabolism. Real macro-balance, real micronutrient profile, no microwave-tray sodium spike. The body extracts more from the same caloric load and I extract the difference. The cortex files the meal as //I am cooking again//, present continuous, identity-load-bearing, and the framing does load-bearing work for every other small change I plant in this kitchen.//
<</say>>
<<if _firstTimeToday>><p><span class="biomass-gain">+3 biomass</span>, cooked dinner, the body operating at the higher nutritional baseline.</p><</if>>
<<else>>
<p>Elena opens the fridge, takes a brief inventory of the few items still inside it that have not yet entered their argument with the back of the bottom shelf, and lands on the microwave-tray pasta in the freezer because it is the path of least resistance.</p>
<<say "char-chen-thought" "Elena">>
<i>(closing the freezer drawer, tray in hand)</i> ...microwave pasta. Of course it is. Yeah, sticking with the usual tonight too: plastic tray, three minutes, done.
<</say>>
<p>Three minutes on high, the small impatient stand by the microwave with her arms crossed under her cardigan, the small turntable rotation she has watched ten thousand times. The plastic tray comes out hotter than her fingers would have guessed and she does the small forefinger-and-thumb dance she always does to peel back the corner of the film without burning herself.</p>
<<say "char-chen-thought" "Elena">>
<i>(carrying the tray to the table, fork already in her free hand)</i> Three minutes, two ingredients, eaten standing. The whole arc of the meal can be summarised in one sentence, and that is the appeal, it is one sentence of my evening that I do not have to think about.
<</say>>
<p>She sets the tray on the small round dining table beside the morning's coffee mug she still has not cleaned up, and eats standing because sitting feels like a commitment she did not sign up for. The fork gets the right way up, the phone gets the news in her other hand, and the pasta tastes the way microwave-tray pasta tastes, sodium-forward, vaguely savoury, no actual second flavour, the tomato-product approximating tomato the way a printed photograph approximates the room it was taken in.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-attention on the phone, half on the food, neither attention very engaged)</i> ...edible, warm, salty enough. The mouth votes //fine// and the vote is the entirety of the assessment. By the metric of //do I want to revisit this question// this is, in fact, the correct dinner.
<</say>>
<p>The body converts the load at the same low-yield rate it has converted every microwave-tray since her postdoc. She finishes most of the tray and leaves the last forkful on the way to the bin, drops the empty plastic in the recycling, runs the fork under the tap, sets it on the dishrack. The kitchen knows the choreography by now.</p>
<<say "char-hivemind" "Hivemind">>
//Microwave-tray metabolism. Caloric load delivered, sodium spike registered, parasite cut taken. Adequate. The host has been feeding herself this way since before I arrived; the pattern is so deeply practised that the cortex does not even register the meal as a decision. She files //I ate// as the closing of the loop and the kitchen as the kitchen of a person who handles dinner. By her standards she is correct. By every other available standard the kitchen is feeding her the way prisons feed prisoners.//
<</say>>
<<if _firstTimeToday>><p><span class="biomass-gain">+2 biomass</span>, heated up something from the freezer.</p><</if>>
<</if>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- SHOWER, −1 chen suspicion ------------------------- */<<nobr>>
<<bg "bg-chen-bathroom">>
/* Phase-routing flag for shared shower sub-passages (Masturbate /
TransferHabit). $vessel.phase is the broader phase ("work"/"home"/etc.)
and never holds "evening"; we set $vessel.showerPhase here so sub-
passages can route the back-link correctly. */
<<set $vessel.showerPhase to "evening">>
/* First-entry-today flag, distinguishes the initial shower entry from
re-entries from sub-passages (Shave / Nudge return here). Only the
full prose fires on first entry; re-entries skip it and render only
the choice menu. The daily -1 chen-suspicion drop fires here, parallel
to the morning shower's -1; doing both showers in a day totals -2. */
<<set _isFirstEntryToday to ($ch2Events.eveningShowerDay or 0) isnot ($day or 0)>>
<<if _isFirstEntryToday>>
<<set $ch2Events.eveningShowerDay to ($day or 0)>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<</if>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<set _shaveDoneRecently to (($day or 0) - ($ch2Events.eveningShowerShaveDay or -7)) lt 7>>
<<set _nudgeDoneToday to ($ch2Events.eveningShowerNudgeDay or 0) is ($day or 0)>>
<<set _firstMastFired to $ch2Events.firstMasturbationFired or false>>
<<set _habitEstablished to $ch2Events.dailyMasturbationHabit or false>>
<<set _dailyMastDoneToday to ($ch2Events.dailyMasturbationDay or 0) is ($day or 0)>>
/* Unified "has masturbated today" check — morning-shower nudge, evening-
shower nudge, or the established daily routine. Gates the Transfer-habit
bridge (itself a masturbation act) to the once-per-day cap. */
<<set _mastDoneToday to _nudgeDoneToday or (($ch2Events.morningShowerNudgeDay or 0) is ($day or 0)) or _dailyMastDoneToday>>
<</nobr>>
<div class="passage-title">Shower</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom</div>
<<if _isFirstEntryToday>>
<<say "char-chen-thought" "Elena">>
<i>(in the bathroom doorway, working the cardigan buttons one at a time)</i> ...okay. Twenty minutes of hot water and a locked bathroom door, which is the closest thing to a private hour this apartment lets me have. Cardigan on the hook, trousers on the hook, hair out of the elastic, and whatever the standing review in the mirror would have surfaced tonight is something I can deal with another night when I have the bandwidth for it.
<</say>>
<p>She turns the tap, waits for the pipes to do their slow brass clatter through the apartment wall, peels the rest of the way out of the day's clothes while the water comes up to temperature, and steps in.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bathroom.webp" alt="Steam-filled small apartment bathroom, Elena visible in soft profile through the partly-fogged glass of the shower stall, the showerhead spraying hot water onto the back of her neck, eyes closed, the half-fogged vanity mirror and a single white towel on a hook visible to the right">
<p>The water lands on the back of her neck and she lets it sit there for a count of ten before she does anything else. Her shoulders drop a fraction without her noticing, the cheap pressure-only showerhead has always done the only thing it does well, which is take the day's tension out of her trapezius muscles whether or not she has decided to relax.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes closed under the spray, the back of her neck taking the heat)</i> ...okay. Hot water on the trapezius for the count of ten before anything else, that is the rule, the showerhead has earned the count of ten by being the only piece of plumbing in this apartment that does its job without complaint.
<</say>>
<p>The day comes off in layers. The federal-team alertness rinses off easy enough, they are not actually the worst part of the day, they are just the loudest. The lab-PI register takes a minute, the shoulders have been carrying it since the elevator this morning. Underneath the second layer is something the shower is doing work on whether or not she has a name for it.</p>
<<say "char-chen-thought" "Elena">>
<i>(soaping shoulders absent-mindedly, half-fogged eyes on the tile)</i> ...mm. The right shoulder is the worst, the lab posture has been wrecking it since I started keeping a desk, and the hot water is the closest I have come to seeing a physio about it. Another minute under the spray, then conditioner, then out. I will be fine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Shower as parasympathetic restart. The host's cortisol curve drops below the baseline she has been carrying since morning. The small constant background sense that something is wrong, the sense her body has been correctly registering since I arrived, quiets a notch. She files the quiet under //the shower helped// and not under any of the more accurate framings. A small window of suggestibility opens for the rest of the time she is under the spray.//
<</say>>
<p><span class="suspicion-decrease">−1 Elena self-noticing</span>, the body lets the day's vigilance drain off under the hot water.</p>
<<else>>
<img class="scene-img" src="media/scenes/vessel/chen-bathroom.webp" alt="Steam-filled small apartment bathroom, Elena visible in soft profile through the partly-fogged glass of the shower stall, the showerhead spraying hot water onto the back of her neck, eyes closed, the half-fogged vanity mirror and a single white towel on a hook visible to the right">
<p>Back under the spray, the water still hot, the body still loose. The evening has not run out yet.</p>
<</if>>
<hr class="scene-break">
<<if _hasNudge>>
<<if _shaveDoneRecently>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Still smooth from the recent shave, hygiene round not due yet</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the thought, pull the razor down, shave it clean (1 biomass)" "Ch2-Vessel-Event-EveningShower-Shave" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, pull the razor down, shave it clean <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<<if _habitEstablished>>
<<if _dailyMastDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SHOWER</span> <span class="locked-choice">Already touched yourself today (morning or evening, once per day)</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SHOWER</span> [[Touch yourself, the routine|Ch2-Vessel-Event-Shower-Masturbate]]</div>
<</if>>
<<elseif _hasNudge and _chenTotal gte 10>>
<<if _nudgeDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Already nudged this evening</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the thought, touch yourself (1 biomass)" "Ch2-Vessel-Event-EveningShower-Nudge" 1>></div>
<</if>>
<<if _firstMastFired and _hasTransfer>>
<<if _mastDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <span class="locked-choice">Already touched yourself today (morning or evening, once per day)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Bridge the body-memory, make masturbation a daily routine (2 biomass)" "Ch2-Vessel-Event-Shower-TransferHabit" 2>></div>
<</if>>
<<elseif _firstMastFired>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Bridge the body-memory, make masturbation a daily routine <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<<elseif _hasNudge>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, touch yourself <span class="lock-hint">(Requires more conditioning · 10 total Elena conditioning, currently <<= _chenTotal>>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, touch yourself <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PASS</span> [[Just shower, wash, get out, into the towel|Ch2-Vessel-Loop-Home]]</div>
/* ---- EVENING SHOWER · SHAVING NUDGE ---- */<<nobr>><<bg "bg-chen-bathroom">>
<<spendBiomass 1>>
<<set $ch2Events.eveningShowerShaveDay to ($day or 0)>>
<<addConditioning "chen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">After the shower, the razor comes down off the shelf</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom, after the shower</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that decides which hygiene rounds get done tonight and which ones get pushed to next week. //You're warm, you're already half-undressed, the razor is on the second shelf. Shave it clean. It has been a while.// The cortex hesitates a half-second because the cortex has not made this call in a long time, and the body folds without argument because the body has been overdue for this part of the routine and has been waiting for the prompt.//
<</say>>
<p>Elena reaches up to the shower caddy and pulls down the razor and the small can of cheap pink shaving foam that have been sitting unused on the second shelf for longer than she can remember. She rinses the day's soap off under the spray, turns the water off, steps out of the small frosted-glass stall onto the bathmat, closes the toilet lid, sits down on it with a towel half-pulled around her shoulders, props one foot up on the rim of the lid for balance, and works the foam into the dark hair across her pubic mound and down to the seam of her thighs with her wet fingertips. The razor finds its angle on muscle memory, slow careful strokes across the mound, rinse the blade in the sink behind her, slow careful strokes along the labia and down toward the inner thigh, rinse again, careful patient strokes across every part of her she can reach. By the time she is done she is fully smooth where she was not before, and the small private surprise of bare skin against her own fingertips is something she has not had in a long time.</p>
<img class="scene-img" src="media/scenes/vessel/chen-shaving.webp" alt="Elena sitting on the closed white toilet lid in her small dim apartment bathroom, body still damp from the shower, a thin towel half-pulled loosely around her shoulders, one foot flat on the bathmat and the other knee raised with the foot up on the toilet rim, knees parted, leaning forward slightly to look down at her own freshly-shaved pubic area, head bowed, right hand fingertips touching her freshly-smooth pubic mound to check for missed patches, the small pink disposable razor and a small can of pink cream visible on the tile vanity counter behind her, the small frosted-glass corner shower stall visible in the background, single warm yellow overhead incandescent bulb, the quiet intimate self-check moment immediately after the hygiene round">
<<say "char-chen-thought" "Elena">>
<i>(running her fingertips down over the freshly-smooth skin to check for missed patches, the small private check of a body that just got the hygiene round done for the first time in a while)</i> ...huh. Did not plan that one. I was getting genuinely overgrown down there though, and the hot water made the shave easier than it has any right to be, and it has just been due, quietly, for a while now. The smooth feels nice under my own hand.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has now been groomed in a way that pre-codes the body for sexual contact. The cortex will file the act under //I felt like it tonight//. The body will file it under //I am preparing for someone to see this//, and the //someone// is open-ended, which means the conditioning fingerprint can attach to whichever vector I decide to develop next. The host has produced her own readiness on a stimulus I did not have to design.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#6abf40">+1 pheromone conditioning · Elena</span>, the body files the grooming as preparation for contact, the conditioning attaches to the open-ended anticipation.</p>
<hr class="scene-break">
[[Back to the shower|Ch2-Vessel-Event-EveningShower]]
/* ---- EVENING SHOWER · MASTURBATION NUDGE (10+ conditioning) ---- */<<nobr>><<bg "bg-chen-bathroom">>
<<set _firstTimeToday to ($ch2Events.eveningShowerNudgeDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningShowerNudgeDay to ($day or 0)>>
<<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress) gte 3>>
<<if _firstTimeToday>>
<<spendBiomass 1 "evening-shower-nudge">>
<<addBiomass 1 "repeatable">>
<<addConditioning "chen" "pheromone" 1>>
<<if not _selfNarrative>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<</if>>
/* First-masturbation flag, gates the Transfer Thought option in the
shower menu (which converts the act to a no-cost daily habit). */
<<set $ch2Events.firstMasturbationFired to true>>
/* The first shower masturbation is the dream-progression milestone: it
raises the global Lab Vessel conditioning cap from 4 (T1) to 7 (T2),
which is what unlocks the dream-bedroom door. Guarded so it
effectively fires only once. */
<<if ($vesselCap or 4) lt 7>><<set $vesselCap to 7>><</if>>
<</nobr>>
<div class="passage-title">Shower, your hand drifts</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom, the shower stall, the cortex stepping back</div>
<<say "char-hivemind" "Hivemind">>
//The day's accumulated tension has half-vented and the conditioning baseline is high enough that the suggestion lands without the host's cortex flagging it as an interruption. //You're tired. You're warm. The bathroom door is locked. There is nobody in the building who needs anything from you for the next eight hours. Take the small thing the body has been asking for.// The cortex hesitates a half-second; the body folds without argument.//
<</say>>
<p>Elena's left hand drifts between her legs without her quite registering when the decision was made. The shower spray is loud, the bathroom door is locked, the day has blurred at its edges in the warm fog. Her shoulder blades go flat against the back tile of the small frosted-glass stall.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes closing, head back against the tile, the spray hitting her sternum)</i> ...okay. Okay, when did I last, really last. I am not going to count. The day is over, the door is locked, I am going to let myself.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-shower.webp" alt="Elena alone in her small dim apartment bathroom shower stall, the spray hitting her chest, eyes closed, head tilted back against the dark tile of the back wall, dark wet hair sticking to her shoulders, one hand braced on the tile beside her hip, the other hand between her thighs, warm yellow bathroom light spilling through the frosted glass.">
<p>Two fingers, then the flat of her palm against her clit. The first stroke is dry, the second is not, and by the third her own wetness has slicked her fingers and her breath has started going faster than the spray of the water can mask.</p>
<<say "char-chen-thought" "Elena">>
<i>(small, the head pressing back against the tile)</i> ...oh. Oh, god. I had forgotten, I had forgotten that this is what this feels like, the first warm of it, before anything else has happened. Why have I been pretending I do not, it has been there this whole time,<</say>>
<<say "char-chen" "Elena">>
<i>(soft, into the empty bathroom, free hand on the tile for balance)</i> ...mm. Mm, fuck. Okay.
<</say>>
<p>Her hand picks up speed. Two fingers slipping down, pressing inside, the heel of her palm working her clit on the upstroke. The rhythm her body has not done in long enough that the body is taking over the pace from the cortex. Her hips push forward against her own hand without her sign-off. The water keeps running, and her free hand grips the tile harder for balance.</p>
<<say "char-chen" "Elena">>
<i>(louder, eyes still closed, hips moving with her hand)</i> ...oh, oh fuck, oh god, I needed,<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's autonomic has taken over. The cortex stepped back ninety seconds ago and will not narrate again until after. The body is its own animal in the small bathroom. Productive. The biomass payload coming up will be the largest single-source intake of the day.//
<</say>>
<p>The orgasm hits her like a door closing inside her own chest. Her thighs clench around her own hand, her free arm clamps across her sternum to keep the noise inside the apartment, her shoulder blades press flat against the wet tile, and the small private moan that comes out of her is something she has not let her body make in long enough that she does not recognise the voice it comes out in.</p>
<<say "char-chen" "Elena">>
<i>(half-muffled into her own forearm, the body still going)</i> ...nnh, //fuck//, oh god, oh,<</say>>
<p>She rides it through, fingers slowing, breath ragged, the back of her head against the cool wet tile. The water keeps running. The steam in the stall has not started to clear. By the time she has rinsed properly her thighs are still loose and her cortex has not yet come fully back online.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the body still lit up, the cortex slowly returning)</i> ...okay. Okay, that, yeah. I needed that. I should have been doing this all along, I do not know why I, yeah. Yeah.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host catalogues the act under //I needed that, apparently// and is unable to retrieve the thought that started the chain. The endorphin and oxytocin spike runs through her bloodstream for the next thirty minutes, dream-onset deeper, conditioning fingerprint cleaner, the morning arriving on a body that slept properly for the first time in a while.//
//The bathroom has been added to the host's interior architecture. From this point forward the dreamscape will render it as a navigable room, the body will return to it on instruction.//
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+1 biomass (orgasm yield)</span></p>
<<conditioningFeedback "pheromone" 1 "Elena, evening pheromone deepens">>
<<if not _selfNarrative>><p><span class="suspicion-gain">+1 Elena suspicion</span>, the evening was not the routine she remembers it being.</p><</if>>
<</if>>
<hr class="scene-break">
[[Back to the shower|Ch2-Vessel-Event-EveningShower]]
/* ---- SHOWER · TRANSFER THOUGHT, convert masturbation to daily habit ----
Shared passage. After firstMasturbationFired, the parasite uses
Transfer Thought to bridge the body-memory across into Chen's
routine-tracking register. Removes the NUDGE option from the shower
menu and replaces it with a no-cost bio-choice (the regular
Masturbate passage, repeatable once per day across morning AND
evening via the shared dailyMasturbationDay key). Phase-aware
return, routes back to the morning or evening shower based on
$vessel.phase. */<<nobr>>
<<bg "bg-chen-bathroom">>
<<spendBiomass 2 "shower-transfer-habit">>
<<set $ch2Events.dailyMasturbationHabit to true>>
/* Save-recovery backstop for the vessel-cap raise: a save made before
the first-masturbation cap-raise shipped will have firstMasturbationFired
already true but $vesselCap still 4. The Transfer re-applies the 4→7
raise so the dream-bedroom unlocks. No-op once the cap is already 7. */
<<if ($vesselCap or 4) lt 7>><<set $vesselCap to 7>><</if>>
/* The masturbation that triggered the Transfer counts as today's daily, block the regular "Touch yourself" option for the rest of today so
the player can't immediately stack a second orgasm yield in the
same shower visit. */
<<set $ch2Events.dailyMasturbationDay to ($day or 0)>>
<<addConditioning "chen" "psionic" 1>>
/* Routine-landing payoff, the host has filed the act under //I always do this//,
which absorbs a chunk of the autonomic vigilance she had been carrying around
the act itself. -2 Chen suspicion, one-time. */
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 2)>>
<</nobr>>
<div class="passage-title">Transfer, the body remembers what it just learned</div>
<div class="lab-location">Elena's autonomic, the moments after, the body warm, the cortex coming back online</div>
<<say "char-hivemind" "Hivemind">>
//I bridge the body-memory across into the host's routine-tracking register. The act she just performed, until now filed under //the night I needed it, apparently//, gets re-marked as //the thing I do in the shower//. Same memory, new tag. The cortex catalogues the change with the warm-old-routine marker; from this point forward the body will reach for the act without my needing to plant the thought.//
//A small, deliberate edit to the host's habit-register. The yield: a regular oxytocin spike I catalogue as biomass without spending any to trigger it. The host will not notice the change because the change reads as something she has always done.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-shower.webp" alt="Elena alone in her small dim apartment bathroom shower stall, the spray hitting her chest, eyes closed, head tilted back against the dark tile of the back wall, dark wet hair sticking to her shoulders, one hand braced on the tile beside her hip, the other hand between her thighs, warm yellow bathroom light spilling through the frosted glass.">
<p>Elena's body is still warm from the orgasm. Her thighs are loose against the tile, her breath has half-evened, the spray has rinsed the slick from her fingers. The cortex is starting to come back online and is finding, on its way back, a new file in the routine register that does not feel new, it feels like it has been there for years.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the body still warm)</i> ...you know, I should do this more often. I had been forgetting. It is not a hard thing to remember. I am going to start doing this in the shower properly, the way other adults do, every day if it lands the way it just landed. I am thirty-two, I am allowed to take care of my own body.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has accepted the rewrite. From this point forward the body will run the routine on its own initiative, pheromone deepens by a fraction every time, I catalogue the trickle as ambient biomass, and the host's noticing-system files each repetition under //I always do this//, which is the framing the cortex uses for things it did not, in fact, always do.//
//The yield is small but consistent. Solo orgasms run shallow, the oxytocin spike is real, the pheromone deepens, but the deep-vein biomass harvest I am built to extract requires a second body in the room. A partner. A male organ inside her. Her body has the wiring for it and has been keeping the wiring quiet for years. The next vector, when the calendar provides it, will multiply the yield several times over what the shower routine returns.//
<</say>>
<<conditioningFeedback "psionic" 1 "Elena, masturbation marked as routine">>
<p><span class="suspicion-decrease">−2 Elena suspicion</span>, the act has been filed as routine; the autonomic vigilance she was carrying around it eases off.</p>
<p><span class="biomass-gain">Daily-habit established</span>, the masturbation passage is now a normal menu option, repeatable once per day across morning and evening. No biomass cost; +1 biomass yield per orgasm.</p>
<hr class="scene-break">
<<if $vessel.showerPhase is "morning">>
[[Back to the shower|Ch2-Vessel-Event-MorningShower]]
<<else>>
[[Back to the shower|Ch2-Vessel-Event-EveningShower]]
<</if>>
/* ---- SHOWER · MASTURBATE (post-Transfer routine) ----
Shared passage. Post-Transfer-Habit, this replaces the NUDGE in the
shower menu. No biomass cost; +1 biomass yield per orgasm; once per
day across morning AND evening (shared dailyMasturbationDay key).
The Hivemind observes from the side; the act runs on Chen's own
internalised routine. */<<nobr>>
<<bg "bg-chen-bathroom">>
<<set _firstTimeToday to ($ch2Events.dailyMasturbationDay or 0) lt ($day or 0)>>
<<set $ch2Events.dailyMasturbationDay to ($day or 0)>>
<<if _firstTimeToday>>
<<addBiomass 1 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">Shower, the routine</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom, the shower stall, the body running its own pace</div>
<<say "char-chen-thought" "Elena">>
<i>(eyes closed under the spray, hand drifting between her thighs without thinking about it)</i> ...mm. Every other day in the shower, that has become the routine. Why didn't I start to do this sooner? I am so stupid.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-shower.webp" alt="Elena alone in her small dim apartment bathroom shower stall, the spray hitting her chest, eyes closed, head tilted back against the dark tile of the back wall, dark wet hair sticking to her shoulders, one hand braced on the tile beside her hip, the other hand between her thighs, warm yellow bathroom light spilling through the frosted glass.">
<p>Two fingers, the flat of her palm, the pace her body has settled into now that this is part of the shower the way the conditioner is part of the shower. Her breath goes faster than the spray of the water can mask, her hips push forward against her own hand, her free hand grips the tile.</p>
<<say "char-chen" "Elena">>
<i>(soft, into the empty bathroom, eyes still closed)</i> ...mm, fuck. Mm,<</say>>
<p>The orgasm comes faster than the first time did, and quieter. The body knows the shape of it now and meets it halfway. Her thighs clench around her own hand for a count of three, her shoulder blades press flat against the wet tile, the small private moan she lets out is one she recognises as her own this time.</p>
<<say "char-chen" "Elena">>
<i>(half-muffled, body still going)</i> ...nnh, //fuck//,<</say>>
<p>She rides it through, fingers slowing, breath evening out. Rinses properly, turns the tap off, steps out of the stall onto the bathmat.</p>
<<say "char-hivemind" "Hivemind">>
//Routine executed. The host's body ran the act on its own initiative; I catalogued from the side. No instruction needed, no biomass spent. The yield is small and consistent and adds up across the days.//
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+1 biomass (orgasm yield)</span></p>
<</if>>
<hr class="scene-break">
<<if $vessel.showerPhase is "morning">>
[[Back to the shower|Ch2-Vessel-Event-MorningShower]]
<<else>>
[[Back to the shower|Ch2-Vessel-Event-EveningShower]]
<</if>>
/* ---- WATCH TV, Nudge, sets couch-drift, optional spores chain --- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _couchMastSeen to $ch2Events.couchMasturbationSeen or false>>
<<set _pornNudgeSeen to $ch2Events.couchPornNudgeSeen or false>>
<<set _pornHabit to $ch2Events.couchPornHabit or false>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<set _pornOptsAvailable to (_couchMastSeen and not _pornHabit)>>
<<set _firstTimeToday to ($ch2Events.eveningWatchTvDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningWatchTvDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 1 "evening-watchtv">>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<<if _pornHabit>><<addBiomass 1 "repeatable">><</if>>
<</if>>
<<hasSkillTreeAbility "Toxic Spores">><<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<set _sporesDoneToday to ($ch2Events.eveningSporesDay or 0) is ($day or 0)>>
<</nobr>>
<div class="passage-title">Nudge, onto the couch</div>
<div class="lab-location">Cedar Crescent Apartments, Living room couch, the TV remote in her hand</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that decides whether to keep moving through the evening or to stop moving. //You've earned the couch.// She agrees with the framing because the body is already agreeing, the cushions are the closest soft surface, the remote is on the arm of the couch where she left it last night, and the small low-grade exhaustion the workday has been sitting on the back of her neck has been waiting for an excuse to land.//
<</say>>
<<if _pornHabit>>
<p>She sits down on the couch, half-stretches out, and the hand with the remote does the thing it does now without checking with the rest of her first, closes the streaming app, opens the browser, goes to the site already in the history. The pajama bottoms come off on the way back from the bedroom with the dildo. None of it has the texture of a decision any more; it has the texture of the kettle, of the lipstick, of a thing the evening simply contains.</p>
<<say "char-chen-thought" "Elena">>
<i>(settling into the couch corner, the screen already warm)</i> ...okay. Couch, screen, this. The rerun was never going to do anything for me and this does, and I have stopped pretending to myself that I sit down here for the television.
<</say>>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="Elena on her own living room couch in a pulled-up pajama top with no pajama bottoms, throw blanket bunched at her knees, leaning back against the couch corner with one foot planted on the cushion and the other knee splayed out, a smooth silicone dildo in her right hand mid-stroke between her legs, her left hand on her own bare breast through the pajama top, eyes half-on the screen across the room, dim warm side-table lamp the only light, soft private absorbed expression, intimate single-person composure on her own couch in the evening">
<p>She watches, and her hand finds the rhythm the couch has taught it, and the orgasm comes the unhurried way it comes when the body is not being asked to perform for anyone. Afterward she lies back into the cushion-corner loose and warm, the screen still going, her eyes going heavy the way they go heavy when the day is finally, fully, off her.</p>
<<else>>
<p>She sits down on the couch, half-stretches out, picks up the remote, scrolls past the streaming-platform recommendation rows that all look the same, and lands on a procedural rerun she has watched many times before without ever quite watching.</p>
<<say "char-chen-thought" "Elena">>
<i>(remote half-lowered, eyes on the screen)</i> ...the same rerun. Cold open in the morgue, the new ME is going to find something the lead detective missed because the new ME is overdue for a screen-time bump. I have watched this exact episode and I know I have because the soundtrack is the one I hate.
<</say>>
<p>She settles a fraction deeper into the cushions, half-listening to the dialogue and not quite watching the screen. Her conscious framing is //I'll watch one episode// and the body's framing is //I am going to be on this couch for two hours minimum//, and the body's framing is the one that wins the next quiet quarter-hour.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-asleep, the remote slack in her hand)</i> ...mm. The partner is going to do the //we don't have enough for a warrant// line. The partner has done the //we don't have enough for a warrant// line in every episode of this entire series, and the writers think nobody has noticed, and I think the writers also do not particularly care.
<</say>>
<p>Her eyelids are heavy by the second commercial break. The screen keeps playing to a body that has stopped processing it as story and started processing it as light.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes barely open, the show still playing somewhere in the room)</i> ...mm. I do not actually know what is happening on the screen any more. The screen is the warm rectangle in the corner of the room, and I have stopped listening for it as anything other than ambient noise that is not quiet, which is what I wanted.
<</say>>
<</if>>
<<if _firstTimeToday>><p><span class="suspicion-decrease">−1 Elena self-noticing</span>, the couch ambient lets the day's vigilance drain off into the cushions.</p><</if>>
<<if _firstTimeToday and _pornHabit>><p><span class="biomass-gain">+1 biomass</span>, the couch routine, attended to.</p><</if>>
<hr class="scene-break">
<<if _pornOptsAvailable>>
<<say "char-hivemind" "Hivemind">>
//The rerun is doing nothing. Light, a laugh-track, a host who stopped tracking the plot twenty minutes ago. The body has already had one genuinely good evening on this couch and remembers the shape of it. A small instruction into the hand on the remote is all the distance there is between the rerun and the thing she actually came to the couch for.//
<</say>>
<<elseif _hasSpores and not _sporesDoneToday>>
<<say "char-hivemind" "Hivemind">>
//The host is half-asleep on the couch with her cortex idling at the lowest active register of the day. The window for spore release is open and the resistance is minimal. //Standard saturation:// pheromone-default, gentle conditioning. //Spec-channel saturation:// if Pheromone Specialization is online, the compound shape can be tuned for a different conditioning channel. //Tranquillize:// drop her into deep sleep, let the body absorb the dose without any cortical witness, additional Elena-suspicion drop on top of the conditioning.//
<</say>>
<</if>>
<<if _hasSpores and not _sporesDoneToday>>
<<if _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the room, pheromone (2 biomass)" "Ch2-Vessel-Event-EveningSporesPhero" 2>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SPORES</span> <<biomassPreview "Saturate the room, psionic compound (2 biomass)" "Ch2-Vessel-Event-EveningSporesPsionic" 2>></div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">SPORES</span> <<biomassPreview "Saturate the room, dream compound (2 biomass)" "Ch2-Vessel-Event-EveningSporesDream" 2>></div>
<div class="bio-choice" style="border-left-color:#a04ad9"><span class="delve-tag" style="background:rgba(160,74,217,0.18); color:#d0a8e8">TRANQUILLIZE</span> <<biomassPreview "Tranquillize variant, drop her into deep sleep, deep absorption (3 biomass)" "Ch2-Vessel-Event-EveningSporesTranq" 3>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Saturate the room, pheromone (2 biomass)" "Ch2-Vessel-Event-EveningSporesPhero" 2>></div>
<div class="bio-choice" style="border-left-color:#a04ad9"><span class="delve-tag" style="background:rgba(160,74,217,0.18); color:#d0a8e8">TRANQUILLIZE</span> <<biomassPreview "Tranquillize variant, drop her into deep sleep, deep absorption (3 biomass)" "Ch2-Vessel-Event-EveningSporesTranq" 3>></div>
<</if>>
<<elseif _hasSpores and _sporesDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <span class="locked-choice">Spore release already triggered tonight</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Saturate the room with spores while she's half-asleep <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>>
<<if _pornOptsAvailable>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Make her switch to porn instead (1 biomass)" "Ch2-Vessel-Event-EveningWatchTV-Porn" 1>></div>
<<if _pornNudgeSeen and _hasTransfer>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Bridge the body-memory, make the porn-couch a routine (2 biomass)" "Ch2-Vessel-Event-EveningWatchTV-PornHabit" 2>></div>
<</if>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- COUCH PORN NUDGE — escalation off the EveningWatchTV couch
scene. Hidden until the shelf-L3 couch-masturbation payoff has
been seen (couchMasturbationSeen). The parasite nudges Elena off
the procedural rerun and onto explicit content; she masturbates.
Day-keyed -1 suspicion + 1 biomass yield; the nudge itself costs
1. Firing it sets couchPornNudgeSeen, which unlocks the Transfer
Thought option back in EveningWatchTV. */<<nobr>><<bg "bg-chen-living">>
<<set $ch2Events.couchPornNudgeSeen to true>>
<<if ($ch2Events.couchPornDay or 0) lt ($day or 0)>>
<<set $ch2Events.couchPornDay to ($day or 0)>>
<<spendBiomass 1 "couch-porn-nudge" "repeatable">>
<<addBiomass 1 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">Nudge, off the rerun</div>
<div class="lab-location">Cedar Crescent Apartments, Living room couch</div>
<<say "char-hivemind" "Hivemind">>
//The rerun is doing nothing. A small instruction into the hand holding the remote, //you are not watching this, put on the thing you actually want//, and the hand does not argue, because the body has had one good evening on this couch already and remembers the shape of it down to the drawer the dildo lives in.//
<</say>>
<p>Her thumb moves on the remote before the rest of her has quite signed off on it. The procedural rerun closes. What she opens instead is not on the streaming service, it is the browser, and the browser still has the site in its history from the one good evening, and she does not make a project of navigating back to it.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="Elena on her own living room couch in a pulled-up pajama top with no pajama bottoms, throw blanket bunched at her knees, leaning back against the couch corner with one foot planted on the cushion and the other knee splayed out, a smooth silicone dildo in her right hand mid-stroke between her legs, her left hand on her own bare breast through the pajama top, eyes half-on the screen across the room, dim warm side-table lamp the only light, soft private absorbed expression, intimate single-person composure on her own couch in the evening">
<p>She watches for a few minutes with the throw blanket still over her knees, and then the throw blanket is on the floor and the pajama bottoms with it, and she has been to the bedroom drawer and back, because the body has done this once now and knows the evening goes better with the dildo than without it. What is on the screen is not soft and not curated, it is just two people doing the thing plainly, and the plainness of it is working on her faster than the tasteful film did.</p>
<<say "char-chen" "Elena">>
<i>(on the couch, the dildo working slow, breath already going, half-aloud to the empty room)</i> ...god. Yeah. This is so much better than the rerun, this is not even close.
<</say>>
<p>She comes the unhurried way she comes when nobody is being performed for, a sound through her teeth, both legs drawing up, the screen still going while the wave runs through her and lets her go. She lies back into the cushion-corner loose and warm with the dildo still in her.</p>
<<say "char-hivemind" "Hivemind">>
//The host has swapped curated-tasteful for explicit and filed the swap under //better//, not under //further//. The couch is a place the body is attended to now, and the screen in front of it has gone from a distraction to a tool. The escalation cost nothing in vigilance; she will replay the evening tomorrow as //I had a good night// and look no harder than that.//
<</say>>
<p><span class="biomass-gain">+1 biomass</span>, the couch routine deepens and the content escalates, and she registers neither as a thing that happened to her.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- COUCH PORN, Transfer Thought routine-lock. Unlocked once the
porn nudge has fired (couchPornNudgeSeen) and the player has
Transfer Thought. Sets couchPornHabit, which flips the
EveningWatchTV couch nudge to default straight to porn. Mirrors
the shower TransferHabit pattern: spend 2, +1 psionic, -1 susp. */<<nobr>><<bg "bg-chen-living">>
<<spendBiomass 2 "couch-porn-transfer">>
<<set $ch2Events.couchPornHabit to true>>
<<addConditioning "chen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Transfer, what the couch is for</div>
<div class="lab-location">Elena's routine-register, the couch re-filed</div>
<<say "char-hivemind" "Hivemind">>
//I bridge the body-memory the way I bridged the shower. The evenings she has spent on this couch with the browser open, until now filed under //a good night, a few times now//, get re-marked under one steady tag, //what the couch is for//. Same memories, new label. From this point the body reaches for the browser and the drawer without my needing to touch the hand on the remote, and the procedural rerun stops being the thing the couch offers her first.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="Elena on her own living room couch in a pulled-up pajama top with no pajama bottoms, throw blanket on the floor, leaning back into the couch corner, a smooth silicone dildo in her hand between her legs, dim warm side-table lamp light, the relaxed unselfconscious composure of a private evening routine, intimate single-person scene">
<p>The change does not arrive as a thought. It arrives as the absence of one, the small hesitation that used to sit between sitting down and reaching for the browser quietly closing up and not reopening. The couch is the couch. The couch is for this now.</p>
<<say "char-chen-thought" "Elena">>
<i>(loose against the cushions, the screen warm)</i> ...okay. This is just what I do in the evenings now. Like the shower in the mornings. I am not going to make it a whole thing, it is a good twenty minutes and it is mine and the apartment is empty and there is genuinely nobody it needs explaining to.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The couch is now a self-running conditioning vector. A regular oxytocin spike I catalogue as biomass without spending to trigger it, and a host who files the whole arrangement under //a thing I do// rather than //a thing that started happening to me//. The reframe is the conditioning. The orgasm is just the receipt.//
<</say>>
<p><<conditioningFeedback "psionic" 1 "Chen, the couch-porn act re-filed as routine">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- EVENING SPORES, pheromone variant (default) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
/* Daily-keyed gate: spendBiomass passes a key to bypass its built-in
per-passage dedup (which would otherwise persist across days and
make Day-2+ uses free); the outer if-gate is what actually prevents
re-grant on re-render (menu nav, back button, Engine.show). */
<<set _firstTimeToday to ($ch2Events.eveningSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "evening-spores">>
<<addConditioning "chen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Saturation, pheromone compound</div>
<div class="lab-location">Cedar Crescent Apartments, Living room, the half-asleep couch</div>
<<say "char-hivemind" "Hivemind">>
//I release the standard pheromone saturation into the small volume of air around the couch. The compound binds in her olfactory pathway during the descending phase of the sleep onset, when the cortex has stopped grading her sensory feed. She will not register the dose. She will register, in the next twenty-four hours, a small soft warmth toward the safe-spaces in her life, the couch, Sofia, the kitchen, that she will file under //I think I am decompressing finally//.//
<</say>>
<<if _firstTimeToday>><p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#6abf40">+1 pheromone conditioning · Elena</span></p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- EVENING SPORES, psionic variant (Spec only) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.eveningSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "evening-spores">>
<<addConditioning "chen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Saturation, psionic compound</div>
<div class="lab-location">Cedar Crescent Apartments, Living room, the half-asleep couch</div>
<<say "char-hivemind" "Hivemind">>
//Cortex-opener variant. The compound binds her prefrontal receptors during sleep onset, softening the threshold for the next direct mental contact. The Delve / Implant / Transfer slots on her run cleaner from this point forward, less effort to thread, more bandwidth at the same biomass cost.//
<</say>>
<<if _firstTimeToday>><p><span class="conditioning-gain conditioning-gain-psionic" style="color:#5bd0c0">+1 psionic conditioning · Elena</span></p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- EVENING SPORES, dream variant (Spec only) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.eveningSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "evening-spores">>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Saturation, dream compound</div>
<div class="lab-location">Cedar Crescent Apartments, Living room, the half-asleep couch</div>
<<say "char-hivemind" "Hivemind">>
//Subconscious-imprint variant. The compound carries no conscious payload, tonight, in the part of sleep where her surface mind is not present to grade the writing, the imprint composes itself into something she will partially remember in the morning and never quite name. Cumulative across doses. Eventually her sleep starts writing itself in a direction I am pointing.//
<</say>>
<<if _firstTimeToday>><p><span class="conditioning-gain conditioning-gain-dream" style="color:#5b9bd5">+1 dream conditioning · Elena</span></p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- EVENING SPORES, tranquillize variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.eveningSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 3 "evening-spores">>
<<addConditioning "chen" "pheromone" 1>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 2)>>
<</if>>
<</nobr>>
<div class="passage-title">Saturation, tranquillize variant</div>
<div class="lab-location">Cedar Crescent Apartments, Living room, the deep-asleep couch</div>
<<say "char-hivemind" "Hivemind">>
//Tranquillize-laced compound. The pheromone payload lands the same way the standard variant does, but the tranquillize component drops her past sleep-onset and into actual delta-wave sleep faster than her body would have got there on its own. The body's normal end-of-day inventory of //small wrong things noticed today// does not get its rehearsal pass. She wakes tomorrow with the standing list shorter than it should have been.//
<</say>>
<p>By the time the dose has fully released she is properly asleep on the couch, the TV still playing to nobody. She will wake at three AM, half-confused, drag herself to bed without quite registering the transition. In the morning the couch-and-TV will read as //I crashed last night// rather than as anything stranger.</p>
<<if _firstTimeToday>><p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#6abf40">+1 pheromone conditioning · Elena</span></p>
<p><span class="suspicion-decrease">−2 Elena self-noticing</span>, deep sleep absorbed the body's cataloguing pass.</p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to evening|Ch2-Vessel-Loop-Home]]</div>
/* ---- CALL VASQUEZ — Nudge, −2 Vasquez susp -------------- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.eveningCallVasquezDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningCallVasquezDay to ($day or 0)>>
<<set _relayDone to ($ch2Events.sofiaRelayImplant or false)>>
<<set _implantDone to ($ch2Events.vasquezImplant or false)>>
/* The "should I leave Andrés" conversation lands once — deeper suspicion
drop the first time (−3); after that, calls become Sofia's recurring
investigation-update scene at the standard −2. */
<<set _leaveAndresScene to ($chenBolder and _relayDone and _implantDone and not ($ch2Events.sofiaAndresAsked or false))>>
<<if _firstTimeToday>>
<<spendBiomass 1 "evening-call-vasquez">>
<<if _leaveAndresScene>>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 3)>>
<<else>>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 2)>>
<</if>>
<</if>>
<<if _leaveAndresScene>><<set $ch2Events.sofiaAndresAsked to true>><</if>>
<</nobr>>
<div class="passage-title">Nudge, call Sofia</div>
<div class="lab-location">Cedar Crescent Apartments, Couch, phone to ear</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that decides whether to reach for the phone in the long quiet half-hour after dinner. The host has not initiated a non-work call to anyone in months, Sofia is the only line in her contacts that does not register as a chore. I press the impulse. The hand lifts the phone before the cortex has fully decided.//
<</say>>
<<if $ch2Events.labNestSealed>>
<<set $ch2Events.sofiaCallSexFired to true>>
<p>Elena taps Sofia's contact and puts the phone on speaker on the arm of the couch. Sofia picks up on the fourth ring, and the first thing down the line is not a hello, it is a wet working sound and a breath that is not a talking breath.</p>
<<say "char-vasquez" "Sofia">>
<i>(distracted, the phone clearly not her priority, a wet sound under the words)</i> Mmh. ...Elena? Hi. //shlrp// ...hi, give me, give me one second. //Gwakh gwakh gwakh... schlllrp.//
<</say>>
<<say "char-chen" "Elena">>
<i>(an eyebrow going up, dry, settling back into the couch)</i> ...Sofia. Are you finally getting laid? Please tell me things with Andrés have sorted themselves out.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a short laugh, then back down with a thick wet sound)</i> //Gluck.// ...Andrés? Fuck Andrés. //shlrp// This is not Andrés, this is my trainer from the gym, the one with the, mmh, the forearms, and Andrés is out late again tonight, the way he always is now, so. ...wait a sec. //gk// ...oh. Oh, yes, right there, do not stop that.
<</say>>
<p>The line goes muffled for a moment, the phone clearly set down somewhere, the sounds shifting from the wet rhythm of her mouth to the flatter rhythm of the rest of her, and then Sofia is back, breath gone ragged, still talking through it.</p>
<<say "char-vasquez" "Sofia">>
<i>(broken around the act now, the words shaped between thrusts)</i> It has been longer than I want to count, Elena, //ah// since that man so much as looked at me, and he still has the nerve to roll in past midnight smelling of somewhere else, so I am done waiting on him to remember he has a fiancée. //ah// I brought this one home tonight and I will have him gone before Andrés is back, and I am going to keep doing it every time he stays out late, that is the new, //ah//, the new arrangement, he just does not know his half of it yet.
<</say>>
<p>The rhythm behind her stutters and goes fast, and Sofia makes a sound that is half a laugh and half an instruction, pulling forward off him and twisting up onto her knees to get her face where she wants it just in time.</p>
<<say "char-vasquez" "Sofia">>
<i>(up on her knees now, mouth open, tongue out, taking it across her face)</i> Yes, god, jizz all over my fucking face. //Uhmmm... glrrpp... muahhh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(the small private warmth she keeps only for Sofia, genuinely pleased)</i> Good. It is about time. ...now send me a picture. I want to see the woman who finally stopped waiting.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(delighted, breathless, then off to the side to the man)</i> You are terrible. //ah// ...okay, hold on. ...you, grab my phone and take a picture, my hands are both full. ...there. Like this.
<</say>>
<p>The phone buzzes a moment later. Elena opens the message. Sofia, flushed and grinning, two fingers up in a victory sign by her cheek and the other hand wrapped around the base of a thick dark cock, her tongue out under the head of it, her face and tongue striped with cum, looking straight into the lens like a woman who has decided she has nothing left to feel guilty about.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-call-selfie.webp" alt="Photo of Sofia taken by the man, a mid-30s Mexican-American woman with olive skin and shoulder-length dark wavy hair, flushed and grinning, holding two fingers up in a victory sign beside her cheek, her other hand wrapped around the base of a thick dark-skinned cock she is kissing, her tongue out beneath the head, cum striped across her face and on her tongue, looking straight into the camera. Dim bedroom behind her.">
<<say "char-hivemind" "Hivemind">>
//Sofia stopped being a project a while ago. The doubt I once made load-bearing resolved itself the only way it could once the host stopped propping the marriage up in her head, and what is left is a woman who takes what she wants and photographs it. The channel does not even need me on it tonight. She volunteered the picture.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(already going again, barely on the phone)</i> //gk// ...okay, I have to go, he is, mmh, he is not done and neither am I. Love you. Dinner soon. //shlrp//
<</say>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
<<else>>
<<if $chenBolder>>
<<set _relayDone to ($ch2Events.sofiaRelayImplant or false)>>
<<set _implantDone to ($ch2Events.vasquezImplant or false)>>
<<if _relayDone and _implantDone>><<set $ch2Events.sofiaConfided to true>><</if>>
<p>Elena scrolls past the half-dozen unanswered notifications, taps Sofia's contact, and puts the phone on speaker on the arm of the couch. She does not call to get in and out tonight. A call between the two of them has not been a five-minute call in a long time, and she does not want this one to be.</p>
<<say "char-vasquez" "Sofia">>
<i>(over the line, the small surprised-warm she does when Elena calls instead of texts)</i> Hey. Everything okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(settling back into the couch, the warmer register she keeps only for Sofia)</i> Everything is fine. I did not call because something is wrong. I called because I wanted to actually talk to you, not send you a thumbs-up and call it staying in touch. ...So. How are you, really.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the surprised-warm settling into something that has been waiting for exactly this question)</i> ...you sound different lately, you know. Lighter. I keep meaning to ask you about it.
<</say>>
<<if _leaveAndresScene>>
<<say "char-chen" "Elena">>
<i>(small, warm)</i> Different how?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the warmth thinning, something flat and already-decided coming up under it)</i> ...actually, can I ask you a thing, and you have to be honest with me, because everyone else in my life has a reason to want a particular answer out of me. ...Do you think I should leave Andrés?
<</say>>
<<say "char-chen" "Elena">>
<i>(the question landing, the couch gone very still under her)</i> ...Sofia. What happened?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the words in the careful order of something rehearsed alone a hundred times and never once said)</i> Nothing happened. That is the whole problem, nothing ever happens. He comes home late and he smells like someone, and it is not a new someone, it has been the same someone for longer than I have let myself count, and I have spent all of that time being a scientist about it. Finding the other explanation. ...There is no other explanation, Elena. There has not been one for a long time. I just kept needing there to be.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(smaller, the question stripped right down)</i> So. Should I leave him? You are the one person who will just tell me straight.
<</say>>
<<say "char-chen" "Elena">>
<i>(careful, warm, every word chosen, no push anywhere in it)</i> I am not going to tell you to leave him. If I hand you that answer you will spend a long time wondering whether it was ever really yours, and you should only have to make this decision once.
<</say>>
<<say "char-chen" "Elena">>
<i>(steady)</i> So here is what I actually think. Do not decide this tonight, on the strength of a feeling, however right the feeling is. You said you have been a scientist about it. Be one more time, properly, all the way through. If you believe he is seeing someone, you do not get to just believe it, you need to know it. Get something real. A receipt, a charge, a name, a night you can actually account for. Then you will be deciding from a place where you know, instead of a place where you are almost sure and frightened of the part that is not.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a long breath out, the specific relief of being handed a task instead of a verdict)</i> ...evidence. Okay. Yeah. That I know how to do. That is practically a Tuesday. ...Thank you. For not just telling me the thing you thought I wanted to hear.
<</say>>
<<say "char-chen" "Elena">>
<i>(warm, and final on it)</i> Whatever you find, and whatever you decide after you find it, you call me. Any hour, I do not care which. I mean that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The affair is not mine. It was always there in the husband. I found the soft place where she kept the doubt and made it load-bearing, and now she cannot set the weight back down. She will go looking for the proof, because the host told her to, and the host's calm reasonable voice is now wired into the largest decision of her life. The host did not tell her to leave him. The host did not need to.//
<</say>>
<<elseif _relayDone and _implantDone>>
<<say "char-chen" "Elena">>
<i>(small, warm, letting the compliment go by)</i> Lighter is good. We can take lighter as a win and not perform an autopsy on it. ...How is the other thing going, though. The thing you decided to be a scientist about.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a slow breath, the careful methodical register of a woman working a problem she has decided to solve all the way through)</i> Slowly. On purpose slowly. I am not letting myself jump to the end of it. I have the card statements going back half a year, I have a quiet list of the late nights set against what was actually on his calendar, and there are gaps. Real ones, Elena. I am not inventing them. But a gap is not a name, and I told myself I would not move until I had a name.
<</say>>
<<say "char-chen" "Elena">>
<i>(warm, steady, no push anywhere in it)</i> That is exactly right. You hold the line until you know, and then you decide from the knowing. ...How are you holding up, doing it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(quieter, honest)</i> Strangely okay. It is easier with a method. The method means I do not have to feel all of it at once, I only have to do the next small careful thing. ...And it means I get to call you and report it like a project, which, do not laugh, is the thing genuinely keeping me upright. So. Thank you for that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The investigation runs by itself now. The host set it going with one calm sentence and made herself the place every piece of it gets carried home to. Each report routes another increment of Sofia's trust into the host's hands, and the nearer she gets to her answer the more she will need the voice she has been bringing it all to.//
<</say>>
<<elseif _relayDone>>
<<say "char-chen" "Elena">>
<i>(small, warm)</i> Different how?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a pause, the fishing-warmth dropping out of her voice, something more careful underneath it)</i> ...can I say a thing, and you do not have to fix it, I just need to say it out loud to someone who is not him. ...Things with Andrés are not good. They have not been good for a while, and I have been very, very busy not noticing, and lately I cannot make myself not notice anymore.
<</say>>
<<say "char-chen" "Elena">>
<i>(the warmth steady, no work in it, just there)</i> I am here. Say it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the words coming in the careful order of something turned over a hundred times)</i> He is just not there. He is in the apartment and he is not in it, he has not reached for me in so long I have stopped keeping track, and I keep telling myself it is a season, every couple gets a season. But I lie in bed next to him and I feel like furniture. ...What do you think? Honestly. You see me better than I see myself.
<</say>>
<<say "char-chen" "Elena">>
<i>(careful, warm, choosing it)</i> I think you have known this was not a season for a lot longer than tonight, and I think you called me because saying it out loud makes it real, and some part of you is ready for it to be real. I am not going to tell you what to do with that. But you are allowed to want more than furniture, Sofia. That is not a high bar to set. That is the floor.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I invented none of this. I only took from her the small daily ability to keep not looking at it. Now she is looking, and she cannot stop, and the host is the one she has chosen to do the looking out loud with. Every confession routes the trust one notch deeper into the host's hands.//
<</say>>
<<else>>
<<say "char-chen" "Elena">>
<i>(small, the deflection lighter than it used to be, almost playing along)</i> Different how?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(warm, fishing, the friend-gossip register all the way on)</i> I do not know. You bought a thing, did you not? You have the voice of a woman who bought herself a thing. ...Or there is a person. Elena. Tell me right now if there is a person.
<</say>>
<<say "char-chen" "Elena">>
<i>(actually laughing, not folding it away)</i> There is no person. I bought some clothes. That is the entire scandal, I am sorry to disappoint you.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(delighted, undeterred)</i> Good. It is about time. Wear one of them somewhere I can witness it. ...God, listen to me. I have been married-adjacent so long I get all my excitement secondhand. Andrés and I had a genuine stand-up argument about the dishwasher this week and honestly it was the most dramatic thing that has happened to either of us in quite a while.
<</say>>
<</if>>
<<say "char-vasquez" "Sofia">>
<i>(the wry coming back up into her voice, the friend re-collecting herself)</i> Anyway. I have officially used up my one phone call of being a disaster. Go and do something restful, and do not sit on that couch turning my relationship over all evening. I will see you tomorrow.
<</say>>
<<if $ch2Events.clubNightFirstDone and not $ch2Events.sofiaClubInvited>>
<<if ($player.biomass or 0) gte setup.nudgeCost()>>
<div class="vessel-choice" id="sofia-club-nudge"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<link `"Tell her about the dancing, ask her in (" + setup.nudgeCost() + " biomass)"`>><<spendBiomass `setup.nudgeCost()`>><<set $ch2Events.sofiaClubInvited to true>><<run $('#sofia-club-nudge').hide()>><<run $('#sofia-club-payoff').show()>><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Tell her about the dancing <span class="lock-hint">(Not enough biomass)</span></div>
<</if>>
<</if>>
<div id="sofia-club-payoff" style="display:none">
<<say "char-chen" "Elena">>
<i>(before she has quite decided to)</i> ...wait, one more thing before you go. I have been going out dancing, some nights. On my own, like a functioning adult with a life. You should come with me one of these times.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(startled, climbing, delighted)</i> You have been WHAT? Elena. You have been going dancing and not telling me. No. No, you do not get to drop that and hang up. Yes, obviously yes, take me dancing. Call me the next time you are getting ready and I will be in a cab before you finish the sentence.
<</say>>
</div>
<<else>>
<p>Elena scrolls past the half-dozen unanswered notifications, taps Sofia's contact, puts the phone on speaker, sets it on the arm of the couch. Sofia picks up on the third ring.</p>
<<say "char-vasquez" "Sofia">>
<i>(over the line, the small surprised-warm she does when Elena calls instead of texts)</i> Hey. Everything okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the warmth surprising herself a fraction)</i> Yeah, fine. Just, calling. No reason. How was your evening.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small relieved laugh, the kind that lands when a friend you have been quietly worried about does a normal-friend thing)</i> Oh good. Mine was fine. Andrés burnt the garlic and pretended he didn't. Yours?
<</say>>
<p>They talk for fifteen minutes about nothing in particular. The kind of low-stakes adjacency that does what adjacency does when nothing is wrong, Sofia's day-end vigilance about Elena settles a notch and stays settled. By the time Elena ends the call with the small mutual <i>okay, talk tomorrow</i>, Sofia is half-laughing at something her own phone is showing her, and Elena is on the couch with a small unfamiliar warmth at her sternum.</p>
<<say "char-hivemind" "Hivemind">>
//Sofia's vigilance bleeds off because the call read as //Elena is fine//, and Sofia's interior had been carrying the half-formed counter-frame //Elena is not as fine as she claims// at the back of every interaction this week. The counter-frame loses ground tonight without any of the conditioning channels having to do work. Free real estate.//
<</say>>
<</if>>
<<if _firstTimeToday>>
<<if _leaveAndresScene>>
<p><span class="suspicion-decrease">−3 Sofia suspicion</span>, the call she has been needing for a long time, and she got to have it with Elena.</p>
<<else>>
<p><span class="suspicion-decrease">−2 Sofia suspicion</span>, Sofia files the unprompted call as Elena-being-okay.</p>
<</if>>
<</if>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
<</if>>
/* ---- HELP THE FEDS, Nudge, −2 lab susp / +1 chen susp -- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.eveningHelpFedsDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningHelpFedsDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 1 "evening-help-feds">>
<<addSuspicion "lab" -2>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Nudge, homework on the case</div>
<div class="lab-location">Cedar Crescent Apartments, Couch, laptop on her knees, the lab VPN open</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that decides whether the workday has actually ended at the moment she walks through the door. //There's an angle on the chamber-three timeline you haven't checked. The badge log. The sub-panel breaker history. Spend an hour on it tonight, get out ahead of what Nia brings to standup tomorrow.// The cortex agrees with the framing because the cortex has been carrying low-grade dread about the standup since lunch.//
<</say>>
<p>Elena pulls the laptop off the coffee table, opens the lab VPN, ssh's into the facility logging server, pulls down the badge-and-breaker dataset she would normally not look at outside work hours. Forty minutes of small careful queries. She drafts a short email to Nia with two timestamp anomalies she had not previously flagged and a link to the relevant sub-panel log range, //thought it might be useful before standup, no need to reply, see you in the morning//, and sends it.</p>
<<if $ch2Events.computerDaleThread>>
<p>At the bottom of the email, in the small bullet-list she has been appending to every Nia-update since the d.h. file passed thirty line items, she adds: //while we are here, the out-of-rotation badge-swipe by D. Hoffman in week three is worth a second look. Probably nothing, but the commendation-history-pattern is non-typical for the contractor pool. Flag for a five-minute walkthrough when you have time.// She rereads the bullet. She lets it stand. She sends.</p>
<<say "char-hivemind" "Hivemind">>
//The name has now entered the federal team's working record by the cleanest possible route, an unprompted note from the cooperative-PI to the cooperative-postdoc. Nia will read the bullet as a polite flag from a colleague who has been thinking about it. Reyes will see it on the next sit-down memo. By the end of the week the name will be in the federal team's own shortlist, and the host will have done none of the work that put it there visibly. The framing is now compounding through institutional channels she does not have to touch.//
<</say>>
<</if>>
<p>The email lands in Nia's inbox at nine-fifty-seven. Nia reads it, files the analysis as the kind of unprompted senior contribution the case needed, and softens by a measurable degree on the conjecture that Elena has been anything other than the most cooperative possible PI.</p>
<<say "char-hivemind" "Hivemind">>
//Nia will frame the email to Nathan as //the PI is in the trenches with us//. Nathan will carry that framing into the next sit-down with the federal team. The institutional weather around the host shifts a measurable amount in the direction of //cooperative subject//, and the shift will outlast the email well past that sit-down. The cost: Elena's body is registering that she has just done unpaid evening work on a case that already had the federal team's attention, and the body is correctly reading this as //I am working harder than I want to be working, and I am not sure why I am//. The small confused noticing accumulates. She will file it under //the federal pressure// and not under any of the more accurate framings, but the noticing accumulates regardless.//
<</say>>
<<if _firstTimeToday>><p><span class="suspicion-decrease">−2 lab suspicion</span>, the unprompted homework reads as cooperative-PI dedication.</p>
<p><span class="suspicion-gain">+1 Elena self-noticing</span>, the body half-registers the asymmetry between //I came home// and //I am still working//.</p><</if>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ---- DANIEL QUICKIE — post-case evening Nudge, +2 biomass --------
Replaces the homework slot once the case is neutralised (labNestSealed).
Once per day, Nudge-gated. Costs 1 (the nudge), yields +2 (the orgasm). */<<nobr>>
/* TODO bg: placeholder — Daniel's apartment has no dedicated bg yet. */
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Daniel's apartment, just inside the door">>
<<set _firstTimeToday to ($ch2Events.eveningDanielQuickieDay or 0) lt ($day or 0)>>
<<set $ch2Events.eveningDanielQuickieDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 1 "evening-daniel-quickie">>
<<addBiomass 2 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">A quickie, across the hall</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's apartment, just inside the door</div>
<<say "char-hivemind" "Hivemind">>
//The case is closed and the lab runs itself, and the host has more free evenings now than she knows what to do with, and the body has its own ideas about how to spend them. The instruction is barely needed. She is across the hall before the cortex has finished deciding to be.//
<</say>>
<p>Elena knocks once, and Daniel opens the door in his socks with a dish towel still over one shoulder, the small surprised-pleased smile he keeps only for her already starting.</p>
<<say "char-daniel" "Daniel">>
<i>(door half-open, warm, a little caught off guard)</i> Elena, hey. I was just... did you need something, or...?
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping in past him, pulling the door shut behind her, level and unhurried)</i> Yes. You. I have twenty minutes and I do not want to spend them talking.
<</say>>
<p>She walks him backward into his own living room with two hands flat on his chest, and when the backs of his knees find the rug she pushes, and he goes down onto it without a word of protest, the dish towel forgotten. She is working his belt open as she follows him down and straddles him, her own jeans off one leg and pushed aside before he has caught up with what is happening.</p>
<<say "char-daniel" "Daniel">>
<i>(flat on his back, breath gone, hands finding her hips on instinct)</i> ...okay. Okay, yes, hi, this is, //ah//, this is good, hi.
<</say>>
<video class="scene-video" src="media/video/daniel-quickie.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-quickie.webp"></video>
<p>She fits him to her and sinks down in one motion and sets a fast deliberate pace from the first stroke, both hands braced on his chest, no patience in any of it, taking exactly what she came across the hall for.</p>
<<say "char-chen" "Elena">>
<i>(riding him hard and fast, eyes shut)</i> Do not, //ah//, do not be polite about it, just keep up, I am almost there already.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(hands tightening on her hips, trying to hold on)</i> I am, //ah//, I am keeping up, god, Elena, you can have whatever you want.
<</say>>
<p>She comes fast and hard with her nails dug into his chest, rides it out in three rough drops of her hips, and he goes with her a beat later, both hands locked on her. She stays on him for the length of one long breath, then is already reaching for her jeans.</p>
<<say "char-hivemind" "Hivemind">>
//Clean yield. The body wanted it, took it, and had it, in under ten minutes, off a man who will spend the rest of his evening grinning at a dish towel. The host does not need a case to justify how she spends an evening anymore. She goes and gets what she wants now.//
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping back into her jeans, the small dry warmth she keeps for him)</i> Thank you. ...same time tomorrow, probably. Go finish your dishes.
<</say>>
<<if _firstTimeToday>><p><span class="biomass-gain">+2 biomass</span>, off a fast clean orgasm.</p><</if>>
[[Back to evening|Ch2-Vessel-Loop-Home]]
/* ============================================================
MANDATORY SCHEDULED EVENING EVENTS, STUB PASSAGES
These fire via the goto check at the top of Ch2-Vessel-Loop-Home
when their scheduled day matches and they have not yet fired.
Stub passages for now, full scenes to be authored later.
Each clears its scheduling flags + routes directly to sleep
(consumes the entire evening).
============================================================ */
/* ---- MAJOR EVENING EVENTS, dispatcher registrations -----
Each of the 5 major evening events registers as a mandatory
dispatcher event for the evening-home phase. The prereq checks
the per-NPC trio (Accepted + Day === today + !Fired) so the
card only renders on the night the event is actually scheduled.
Mandatory + priority 100 means it gates the SLEEP advance link
until played, and renders ALONGSIDE optional events (dinner,
shower, watch TV, etc.) so the player can do those first then
click the major event card when ready. The major event passage
handles routing to sleep itself. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A small bar on the south side of the city">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Journal — the event is logged the moment the host steps into it,
before any outcome card has been unlocked. */
<<set $ch2Events.sofiaDrinksEntered to true>>
/* Tier from Sofia's total conditioning — mirrors Vasquez doorway hub. */
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _tier to 1>>
<<if _vTotal gte 7>>
<<set _tier to 3>>
<<elseif _vTotal gte 4>>
<<set _tier to 2>>
<</if>>
/* Attracted tier — Sofia's cumulative conditioning has cracked the
friend register and her body now reads Chen as something other than
the friend-vector. Gate for the wrap kiss + the attraction-fork on
the surface delve. */
<<set _attractedTier to _vTotal gte 8>>
/* Skill checks. */
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelve to _hasAbility>>
<<hasSkillTreeAbility "Toxic Spores">><<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulMap to _hasAbility>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Estrus Trigger">><<set _hasEstrus to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
/* Biofilm + Estrus Trigger tracking. _biofilmUsed is persistent;
_biofilmReadyForBioarch only true if biofilm was cast on a PRIOR day
(the second-visit ambush gate; var name preserved for codebase
consistency, gates the Estrus Trigger orgy outcome). */
<<set _biofilmUsed to ($ch2Events.sofiaDrinksBiofilmUsed or false)>>
<<set _biofilmReadyForBioarch to _biofilmUsed and (($day or 0) gt ($ch2Events.sofiaDrinksBiofilmDay or 0))>>
/* Per-skill daily caps inside this scene. DELVE is daily-keyed so each
subsequent drinks night re-opens it; the prose still renders on
re-click within the same scene but biomass / conditioning fire once. */
<<set _lureDoneToday to ($ch2Events.sofiaDrinksLureDay or 0) is ($day or 0)>>
<<set _sporesDoneToday to ($ch2Events.sofiaDrinksSporesDay or 0) is ($day or 0)>>
<<set _delveDoneToday to ($ch2Events.sofiaDrinksDelveDay or 0) is ($day or 0)>>
<<set _nudgeKissDoneToday to ($ch2Events.sofiaDrinksNudgeKissDay or 0) is ($day or 0)>>
<<set _transferDone to ($ch2Events.sofiaDrinksTransferFired or false)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Drinks with Sofia</div>
<div class="lab-location">A small bar on the south side of the city, wooden counter, amber pendant lights, the corner two-top</div>
<p>Elena pushes through the door at quarter past seven. Sofia is already at the corner two-top, two glasses of red wine on the table, the bartender across the room raising a small acknowledging hand at the sight of Elena. The pendant lights are doing the warm-amber thing they have always done; the candle in the glass holder is half-burned down.</p>
<img class="scene-img" src="media/scenes/vessel/chen-sofia-drinks-bar.webp" alt="Elena and Sofia at the corner two-top of a small south-side neighbourhood bar at evening. Elena on the left mid-sit, dark grey cardigan half-shrugged off her shoulders onto the back of the booth. Sofia on the right already seated, deep navy long-sleeve blouse, mid-laugh, glass half-lifted toward Elena in a small cheers gesture. Two glasses of red wine, half-burned candle in the glass holder between them. Wooden corner two-top, dark wood-panelled wall behind, one warm amber pendant light over the table isolating them in the otherwise cool-shadowed room. Bartender visible at the wooden counter in soft background mid-distance raising a small acknowledging hand.">
<<say "char-vasquez" "Sofia">>
<i>(half-laughing as Elena sits, sliding the second glass across)</i> You came. I half-thought you'd text me an apology and reschedule.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-smile, the cardigan coming off her shoulders onto the back of the booth)</i> ...the thought crossed my mind on the drive over, yeah.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small clink of her glass against Elena's)</i> Honest at least. Cheers.
<</say>>
<<if _hasVulMap>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive: Vulnerability Mapping</div>
<div class="passive-skill-fire-body">Sofia is at the lowest professional vigilance she carries all week, the bar, the wine, the corner of the room that holds her engagement memory under the same amber pendant. The warmth-and-trust compound is the carrier tonight: the standard pheromone variant is the only one that hangs around the table long enough to draw the man at the counter, and the only one that opens the doorway-line at wrap.</div>
</div>
<</if>>
<<say "char-vasquez" "Sofia">>
<i>(eats a small bite of the bar mix, settles into the booth)</i> Nathan had me on the conduit photos for an hour after you left. Says he's not committing to two passes but he's "open to the possibility." I took that as a win and got out before he changed his mind.
<</say>>
<<say "char-chen" "Elena">>
<i>(small wry, lifts the wine)</i> //Open to the possibility// is Nathan-speak for //I'll write it into the report tomorrow morning//. You won.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laughing into her glass)</i> God, that's exactly what it means, isn't it. Five years on the team and I am still learning the dialect.
<</say>>
<<say "char-chen" "Elena">>
<i>(the warm-friend register all the way on)</i> The dialect is just //I will help you when nobody is watching me help you//. He's been doing it since I started.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(eats, sips, looks across the table at Elena properly for the first time tonight)</i> Mm. Tomorrow's standup is going to land differently with that read. Thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia's work-register softens at the table the way it always does with the host. The clipped institutional cadence drops one notch, not all the way to private, but past the corridor default. The body has agreed the shift is safe before the cortex has signed off on it.//
<</say>>
<hr class="scene-break">
<<say "char-vasquez" "Sofia">>
<i>(small gesture-shift toward the casual register)</i> So. How's the rest of the week. The federal team driving you up the wall yet?
<</say>>
<<say "char-chen" "Elena">>
<i>(small wry half-laugh, the federal-team week briefly compressed into a single image)</i> Three days of conduit photos and the same six questions about the breach night, rotated. I will let you know on day five whether they have actually moved past the timeline question.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, the warm-friend register all the way on now)</i> They are going to make us redraw the gasket diagram by the end of the week, El. I can feel it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, lifting her wine)</i> If they ask me to redraw the gasket diagram I am going to charge them for it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small genuine laugh)</i> The day Nathan lets us bill the federal team for a gasket diagram is the day I retire.
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The skill window. Sofia is at the lowest professional vigilance she carries with the host all week, the bar is small, the wine has started to land, the company is one of two people in her life she does not perform for. The windows are open.//
<</say>>
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this evening</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the table, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-SofiaDrinks-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the table (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-SofiaDrinks-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasDelve>>
<<if _delveDoneToday>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Sofia already surface-delved this evening</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Surface-read Sofia at the table (1 biomass)" "Ch2-Vessel-Event-SofiaDrinks-DelveSurface" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface-read Sofia at the table <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
/* SPORES button removed 2026-05-13 — passage exists but has no downstream
sex-scene gate; was conditioning-only. Destination passages (Spores,
SporesSpec, SporesPsionic, SporesDream) preserved as design reference
with STATUS: TO REWORK markers; see tasks/rework.md. */
<<if _hasBiofilm>>
<<if _biofilmUsed>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <span class="locked-choice">✓ Surfaces coated (persists across visits)</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<biomassPreview "Coat the two-top, the glasses, the chair-back fabric (2 biomass)" "Ch2-Vessel-Event-SofiaDrinks-Biofilm" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Coat the two-top surfaces with biofilm <span class="lock-hint">(Requires Biofilm Residue, Biological skill tree)</span></div>
<</if>>
<<if _biofilmReadyForBioarch>>
<<if _hasEstrus and _vTotal gte 24>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Trigger estrus across the biofilm-primed room (3 biomass)" "Ch2-Vessel-Event-SofiaDrinks-Orgy" 3>></div>
<<elseif _hasEstrus>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Trigger estrus across the biofilm-primed room <span class="lock-hint">(Requires Sofia conditioning ≥ 24, currently <<= _vTotal>>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Trigger estrus across the biofilm-primed room <span class="lock-hint">(Requires Estrus Trigger, Apex skill tree, T3 register)</span></div>
<</if>>
<</if>>
/* TRANSFER (Andrés-doubt) button removed 2026-05-13 — destination Transfer
passage exists but sets the chenAndresDoubt flag which is never consumed
downstream. Was conditioning-only. Passage preserved as design reference
with STATUS: TO REWORK marker; see tasks/rework.md. The TRANSFER
(Attraction) variant below stays — it gates Wrap-Kiss. */
/* TRANSFER (attraction variant) — visible only after Delve Surface
has been used in this scene AND Sofia is at the attracted threshold.
Bridges the attraction-read into Chen's cortex so she consciously
knows what Sofia has been carrying. Gates the wrap-time NUDGE for
the kiss path. */
<<if _delveDoneToday and _attractedTier>>
<<if _hasTransfer>>
<<if $ch2Events.sofiaDrinksTransferAttractionFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <span class="locked-choice">Attraction-read already crossed the table</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Copy Sofia's attraction-read across the table into Elena (2 biomass)" "Ch2-Vessel-Event-SofiaDrinks-TransferAttraction" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Copy Sofia's attraction-read across the table <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* Memory Implant on Sofia's cologne disclosure removed from this event
(2026-05-12 redesign). The existing lunch Memory Implant at
Ch2-Vessel-Monday-ImplantVasquez now gates the Stranger Setup
accept-branch via $ch2Events.vasquezImplant. */
/* T3 Hormonal Override / Emotional Manipulation locked-choice placeholder
removed 2026-05-13 — never had a destination. Hormonal Override is now
wired through the StrangerSetup passage (the chitchat-with-Marco scene)
to gate StrangerBathroomWatch; no separate T3 button needed here. */
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wrap up the night, coats on, head for the cab|Ch2-Vessel-Event-SofiaDrinks-Wrap]]</div>
/* ---- Sofia drinks — WRAP (closing scene, kiss/hug fork, Loop-Home link) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A small bar on the south side of the city, outside, the curb, a cab pulling up">>
/* Re-compute gate vars — temp vars from the main passage don't survive
the navigation. Single source of truth for the kiss / hug / T2 forks. */
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _attractedTier to _vTotal gte 8>>
<<set _t2Tier to _vTotal gte 15>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Tongue Slip">><<set _hasTongueSlip to _hasAbility>>
<<set _transferAttractionDone to ($ch2Events.sofiaDrinksTransferAttractionFired or false)>>
/* Cab-door kiss (T1 escalation): conditioning tier + Nudge only. The
in-bar Transfer (Attraction) setup is NOT required for the kiss — it
still gates the deeper content: the lesbian-path slip below, and the
extra Sofia / Chen interior beats in the wrap passages. */
<<set _kissPathEligible to _attractedTier and _hasNudge>>
/* Lesbian-path slip — gated on Transfer Thought (Attraction) having fired
in the bar (Chen now consciously carries the attraction-read across the
table). The Lure-pheromone requirement was dropped 2026-05-13. The slip
wobble appears in Elena's "I drove here" line if _lesbianSlipEligible.
_wouldSofiaAccept captures whether the slip, once fired, results in
acceptance (Sofia conditioning ≥ 15 at passage entry); when true, the
post-slip CONTINUE buttons swap in via reactive @style. Mutual exclusion:
Stranger accepted/refused both lock the Lesbian path out. */
<<set _mutexFiredToday to ($ch2Events.sofiaDrinksMutexDay or -1) is ($day or 0)>>
<<set _lesbianSlipEligible to _transferAttractionDone and not _mutexFiredToday>>
<<set _wouldSofiaAccept to _lesbianSlipEligible and _t2Tier>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · Heading home</div>
<div class="lab-location">The bar door, the cold of the street, the cab at the kerb</div>
<<say "char-vasquez" "Sofia">>
<i>(small, the third drink half-finished, pushing her chair back)</i> ...okay. I should head, before the bartender starts charging me for staying past last call. Get you a cab too?
<</say>>
<<say "char-chen" "Elena">>
<i>(small)</i> No, I drove here. <<if _lesbianSlipEligible>><<if _wouldSofiaAccept>><<tongueSlip "Let me wait with you until yours gets here" "Why don't you come home with me instead" 1 "vasquez" "" "#sofia-lesbian-slip-payoff, #wrap-case2" "pheromone" "" "#wrap-case1">><<else>><<tongueSlip "Let me wait with you until yours gets here" "Why don't you come home with me instead" 1 "vasquez" "" "#sofia-lesbian-slip-payoff" "pheromone">><</if>><<else>>Let me wait with you until yours gets here<</if>>.
<</say>>
<div id="sofia-lesbian-slip-payoff" style="display:none" @style="$ch2Events.sofiaDrinksLesbianSlipFired ? '' : 'display:none'">
<<if _t2Tier>>
<<say "char-vasquez" "Sofia">>
<i>(small composed beat, the half-second too long for the question the offer technically is, eyes on Elena's face)</i> ...yeah. Yeah, okay. Andrés will be at the office until past midnight anyway, he won't even notice. ...let me text him I'm crashing at yours.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed inside Sofia's loosened cortex as an invitation she had been wanting to receive for an hour. The cab she just called is unnecessary now; Andrés is at the office; her body has signed off on the night going somewhere different. The cover-text to Andrés is the lock release.//
<</say>>
<<else>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, slightly thrown, brushing it off)</i> ...El, that is very sweet, but Andrés will be wondering. Maybe next time. Walk me to the cab anyway?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia's body has not yet been conditioned enough to take the invitation as a live offer. The slip lands as tipsy-friend warmth instead of as an opening she would step into tonight. The night ends on a friendship-warm note with the small private question of //what was that about// quietly filed away.//
<</say>>
<</if>>
</div>
<p>The bill is signed, the bartender raises a small hand from across the room as they pull on their coats, and the cold of the street hits the back of Elena's throat the moment they step through the door. Sofia is half a beat behind her, pulling her scarf up against her chin, the warmth of the bar still on her face as the cab they called for her pulls up to the kerb.</p>
<<if _wouldSofiaAccept or _kissPathEligible>>
<<say "char-hivemind" "Hivemind">>
//Last window. The cab is here. Sofia is half-turning toward the open door. The host has been carrying the evening's setups for the last stretch and is two breaths away from talking herself out of all of them. Decision tier.//
<</say>>
<hr class="scene-break">
/* Case 2: slip-fired+accepted buttons. Pre-rendered hidden inside
#wrap-case2. Slip widget's revealSelector slides this down on fire (if
_wouldSofiaAccept was true at entry, the widget was configured with this
div in its reveal list). Only rendered to DOM if _wouldSofiaAccept. */
<<if _wouldSofiaAccept>>
<div id="wrap-case2" style="display:none">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Drive her to your home, wave her cab off|Ch2-Vessel-Event-SofiaDrinks-Lesbian]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Change your mind, the cab is already here anyway|Ch2-Vessel-Event-SofiaDrinks-Wrap-Hug]]</div>
</div>
<</if>>
/* Case 1: default buttons wrapped in #wrap-case1. Slip widget's hide
selector slides this up on fire (only configured when _wouldSofiaAccept;
if Sofia would decline, the slip fires without hiding case-1, so these
buttons stay visible after the decline reaction renders). */
<div id="wrap-case1">
<<if _kissPathEligible>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the lean-in impulse, Elena leans in at the cab door (1 biomass)" "Ch2-Vessel-Event-SofiaDrinks-Wrap-Kiss" 1>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Just walk her to the cab, let the moment pass|Ch2-Vessel-Event-SofiaDrinks-Wrap-Hug]]</div>
</div>
<<else>>
<hr class="scene-break">
/* Kiss path closed (conditioning < 8 or no Nudge). Show a locked NUDGE
entry so the player can see the kiss exists and how far Sofia's
conditioning is from the gate, instead of the option silently vanishing. */
<<if not _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice"><span class="lock-icon">🔒</span> Plant the lean-in impulse at the cab door <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice"><span class="lock-icon">🔒</span> Plant the lean-in impulse at the cab door <span class="lock-hint">(She is not loosened enough yet to read a lean-in as anything but a goodbye. Sofia conditioning <<= _vTotal>> / 8)</span></span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk her to the cab, head home|Ch2-Vessel-Event-SofiaDrinks-Wrap-Hug]]</div>
<</if>>
/* ---- Sofia drinks — WRAP-KISS (Nudge fired, Chen-initiated kiss) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A small bar on the south side of the city, the kerb, the cab, the kiss">>
<<set _firstTimeHere to not ($ch2Events.sofiaDrinksKissed or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "sofia-drinks-wrap-nudge">>
<<set $ch2Events.sofiaDrinksNudgeKiss to true>>
<<set $ch2Events.sofiaDrinksKissed to true>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · At the cab door</div>
<div class="lab-location">The kerb, the cab, the small unselfconscious lean</div>
<<say "char-chen-thought" "Elena">>
<i>(the lean-in arriving in her body before she has signed off on it)</i> ...one second longer. One second.
<</say>>
<p>Sofia turns at the open cab door to say something, the small Spanish lilt that surfaces when she is tired and warm, and Elena leans in. The kiss lands on the corner of Sofia's mouth, then slides over by half an inch, then the half-inch becomes a real kiss for two seconds, then both of them back off at the same moment and both laugh the same small breath into the cold air.</p>
<img class="scene-img" src="media/scenes/vessel/chen-sofia-cab-kiss.webp" alt="Close-up of Elena and Sofia kissing on a wet city sidewalk at night beside an open yellow cab. Elena on the left in a charcoal-grey wool coat with dark hair pulled back, leaning forward with eyes closed; Sofia on the right in a deep-navy wool overcoat and beige scarf with longer dark wavy hair, leaning into the kiss, eyes closed with a small surprised half-smile, her right hand still on the metal door handle of the cab. Elena's right hand resting gently on the side of Sofia's waist over the navy coat. Visible breath in the cold air, warm amber bar light spilling from the background, blue-cool night street, brick wall on the far left.">
<<say "char-vasquez" "Sofia">>
<i>(half-laughing, small surprised flush above the scarf, gloved hand still on the cab door)</i> ...okay. <i>(half-beat, the smile crooked)</i> Okay. That's, that's the wine. That's the wine talking, right?
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-laugh, the practised covering register a fraction late)</i> Mm. The wine. Probably the wine.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small, the smile holding, looking at Elena the way she looked at her across the candle an hour ago)</i> ...okay. Okay, I, I am going to get in the cab now, before I, yeah. Goodnight, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the cover holding by a thread)</i> ...goodnight, Soph. Get home safe.
<</say>>
<<if $ch2Events.sofiaDrinksTransferAttractionFired>>
<<say "char-vasquez-thought" "Sofia">>
<i>(palms against the inside of her coat pockets, the imprint of Elena's mouth on the corner of hers still warm in the cold air)</i> ...that was not the wine. The wine has nothing to do with what just happened. I am going to pretend it was the wine because I am standing on the kerb and Andrés is at the office and I do not have a place to put what just happened in my head. But it was not the wine.
<</say>>
<</if>>
<p>Sofia gets in the cab. The door closes. The cab pulls away from the kerb. Elena stands a half-second longer than she needs to, watching the tail-lights pull around the corner.</p>
<<say "char-hivemind" "Hivemind">>
//The kiss landed, and the host's body knew what to do because the lean-in impulse was already in her autonomic when the moment arrived. Sofia will remember the kiss as Elena-initiated tonight; tomorrow morning her cortex will start to renegotiate the framing, by mid-morning she will remember it as mutual, and by lunch she will be unable to recall who leaned first. The corridor between //my best friend// and //the woman my body kissed back// is open. The next drinks night starts from the other side of that door.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span>, sustained social warmth + the kiss spike.</p>
<p><span class="suspicion-decrease">−1 Sofia suspicion</span>, Sofia leaves the night filing it under //the wine//, not under //Elena was off tonight//.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<<addBiomass 2 "repeatable">>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 1)>>
<</link>></div>
/* ---- Sofia drinks — WRAP-HUG (default close, no kiss) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A small bar on the south side of the city, the kerb, the cab, the goodnight">>
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _attractedTier to _vTotal gte 8>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · At the cab door</div>
<div class="lab-location">The kerb, the cab, a hug, a wave through glass</div>
<p>Sofia pulls Elena into a hug at the cab door, the warm tight kind, two beats longer than a routine goodbye. She kisses Elena on the cheek, says something half-laughed into her ear that gets lost in the cold, and steps toward the open door.</p>
<<say "char-vasquez" "Sofia">>
<i>(through the half-open door before it closes, scarf pulled up, small wave)</i> Don't make me text you twice next time. Just say yes when I send the first one.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-wave, the cab pulling away from the kerb)</i> ...I'll say yes the first time. Goodnight, Soph.
<</say>>
<<if _attractedTier and $ch2Events.sofiaDrinksTransferAttractionFired>>
<<say "char-chen-thought" "Elena">>
<i>(quiet, watching the tail-lights pull around the corner)</i> ...okay. Okay, the decision held. We are going to be exactly who we were this morning. Tomorrow I will figure out how to be a person who knows what I know without it changing anything between us. The decision held.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host kept the decision. The body did not lean. Sofia gets in the cab carrying the same unnamed weight she carried into the bar, the host carrying the new awareness without acting on it, both of them filing the night under //friendship-warm, like always//. The kiss did not happen tonight, and the next drinks night will start from a slightly cooled-down version of the same threshold.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Friendship-warm, no surface crack. Sofia's body does not yet read the host as anything other than the friend-vector, the cumulative dosing is below the threshold where the autonomic would file her differently. The night was productive. The next drinks night will have to start from a more conditioned baseline before any of this opens further.//
<</say>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head home" "Ch2-Vessel-Loop-Home">>
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<<addBiomass 2 "repeatable">>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 1)>>
<</link>></div>
/* ---- Sofia drinks — Pheromone Lure (basic / pheromone default) -- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "sofia-drinks-lure">>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>>
/* Pheromone-channel-specific flag: the warmth-and-trust compound binds
across both their bodies and is the carrier for the Apartment Lesbian
NUDGE later this scene + the Stranger Setup NUDGE here. Set on every
visit (not daily-keyed) so the NUDGE options appear regardless of
whether the conditioning gain fired today. */
<<set $ch2Events.sofiaDrinksLurePheromoneFired to true>>
/* Recompute Sofia conditioning + Nudge skill so the Stranger NUDGE
can gate against tier-15 + already-resolved outcome flags. */
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<set _mutexFiredToday to ($ch2Events.sofiaDrinksMutexDay or -1) is ($day or 0)>>
<<set _strangerNudgeEligible to _vTotal gte 15 and _hasNudge and not _mutexFiredToday>>
<</nobr>>
<div class="passage-title">Pheromone, at the two-top</div>
<div class="lab-location">A small bar on the south side, the two feet of air between Elena's wrist and Sofia's nose</div>
<<say "char-hivemind" "Hivemind">>
//A small dose of the warmth-and-trust compound off the host's exposed wrist as she reaches for her glass. Calibrated to Sofia's chemistry. Not enough to register consciously, enough to bias the next ten minutes of her body's read of the host toward //this is the safest table in the city//. Cumulative across visits.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small smile, the dryness slipping a fraction, the second drink already half-down)</i> ...you know, I forget how good it is to do this. Just... sit somewhere with a person who knows me.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-warm)</i> We should do it more often.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laughs, lifts her glass)</i> We say that every time and we still only do it twice a year. Maybe this is the year we lie about it less.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "pheromone" 1 "Sofia, bar pheromone deepens">><</if>>
<<if _strangerNudgeEligible>>
<<say "char-hivemind" "Hivemind">>
//The warmth-cloud off the host's wrist has begun to expand across the two-top. The man at the far end of the counter has glanced over twice in the last forty seconds, his cortex filing the look as <i>that woman in the navy blouse seems lovely</i>, his body following something it has no name for. The trigger window is open: one small gesture from the host lifts the cloud past the threshold he will read as permission.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Let the stranger at the counter try his luck, he has been watching (1 biomass)" "Ch2-Vessel-Event-SofiaDrinks-StrangerSetup" 1>></div>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks: Pheromone Spec chooser ---- */<<nobr>><<bg "bg-chen-kitchen">><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">The two-top, choose what shape the dose takes</div>
<<say "char-hivemind" "Hivemind">>
//Pheromone Specialization gives me the shape selector. Three compound profiles available, each lays a different conditioning fingerprint on the same target.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Event-SofiaDrinks-Lure]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex for next contact|Ch2-Vessel-Event-SofiaDrinks-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Event-SofiaDrinks-LureDream]]</div>
/* ---- Sofia drinks — Lure psionic variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "sofia-drinks-lure">>
<<addConditioning "vasquez" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone · psionic variant · Sofia</div>
<div class="lab-location">The two-top, cortex-opener compound dosed</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds Sofia's prefrontal cortex receptors and softens the threshold for the next psionic contact. Surface-delve, deep-delve, or implant on her will land cleaner from this point forward, less effort to thread, more bandwidth at the same biomass cost.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-frowning at the candle, slow)</i> ...sorry, I lost the end of what I was saying. Static or something. The wine is hitting harder than I thought.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the practised cover)</i> It's the second one always lands the hardest. We'll go slow on the third.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small return-laugh, comes back)</i> Mm. Yeah. Slow.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "psionic" 1 "Sofia, bar psionic deepens">><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Lure dream variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksLureDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksLureDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass `setup.lureCost()` "sofia-drinks-lure">>
<<addConditioning "vasquez" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Pheromone · dream variant · Sofia</div>
<div class="lab-location">The two-top, subconscious-imprint compound dosed</div>
<<say "char-hivemind" "Hivemind">>
//The compound carries no conscious payload, tonight, in the part of sleep where Sofia's surface mind is not present to grade the writing, the imprint composes itself into something she will partially remember in the morning and never quite name. Cumulative across doses.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small comfortable settle into the booth, half-asleep already)</i> ...this is the kind of night I am going to have weird dreams after, I can feel it. The good kind, where you wake up and forget half of it but you keep the warm-feeling part.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-warm, sips)</i> Those are the best ones.
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "dream" 1 "Sofia, bar dream-imprint deepens">><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Delve Surface ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksDelveDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksDelveDay to ($day or 0)>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezDrinksSurface to true>>
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _attractedTier to _vTotal gte 8>>
<<if _firstTimeToday>>
<<spendBiomass 1 "sofia-drinks-delve">>
<<addConditioning "vasquez" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Delve · Sofia's surface, at the table</div>
<div class="lab-location">Sofia's interior weather, the small two-top, candle and second glass</div>
<<say "char-hivemind" "Hivemind">>
//Surface read on Sofia while she sips and pretends the day's vigilance is fully gone. The first layer of her register-stack is //I am at the bar with Elena, this is fine//. The second is //I needed this, I had not let myself notice how much I needed this//. The third, the load-bearing one tonight,
<</say>>
<<if $ch2Events.vasquezAndresDoubt>>
<<say "char-hivemind" "Hivemind">>
//, is //the cologne, the four AM, the deadline that has never not slipped, and the small thing my body has been refusing to flag for years that I am, tonight, half a glass from being able to flag//. The implant has done what implants do; the doubt is now a load-bearing beam in her interior and she is one push away from speaking it out loud.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(half-watching the candle, the wine glass loose between two fingers, the cortex going around the same corner it has been going around for weeks)</i> ...he came home at four AM and the cologne was not the lobby air-freshener. I keep telling myself it was the lobby air-freshener, I have been telling myself for three days that it was the lobby air-freshener, and the version of me that is sitting in this booth right now does not believe me. The version of me sitting in this booth wants to say it out loud to Elena and see what saying it out loud does to it.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the surface read landing in her own register at the same time it lands in the parasite's)</i> ...she is a sentence away from telling me. She has been a sentence away all week and tonight is the night the sentence comes out.
<</say>>
<p><span class="delve-intel">Sofia is on the verge of disclosing the cologne thread, the bar, the wine, and the engagement-night corner of the room have aligned the surfaces. The slip is available now and probably tonight only.</span></p>
<<elseif _attractedTier>>
<<say "char-hivemind" "Hivemind">>
//, is something the cortex has not yet named. Sofia's body is reading the host as something other than the friend-vector, the cumulative conditioning has cracked the //my best friend, full stop// register and started filing her under //my best friend, and//. The //and// is unconscious. The //and// is also why Sofia has spent the last twenty minutes glancing at the candle on Elena's side of the table instead of meeting her eye for more than a beat at a time.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(half-watching the candlelight catch the side of Elena's jaw, the wine glass paused mid-sip)</i> ...Elena's face tonight, god. I have not let myself look at her like this, and tonight I am not stopping myself. Am I, am I flushing? In a booth, at my best friend? <i>(small private breath, the wine glass set down a fraction harder than she meant to)</i> ...oh god. I am wet. That is what just happened, that is what my body just did, and I do not, I do not have anywhere to put that. She is so beautiful tonight and I am sitting across from her and I have nowhere to put any of it.
<</say>>
<<if $ch2Events.sofiaDrinksTransferFired>>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the read crossing the table on the bridge the earlier transfer left open, Sofia's interior arriving in Elena's head with the warm-old-thought marker, indistinguishable, for a half-second, from her own)</i> ...oh. <i>(small interior beat, the wine glass paused in her own hand)</i> ...she is wet right now, across the table from me, and the candlelight has been doing what it has been doing for who-knows-how-long, and I have not let myself notice that she has been not-letting-herself-notice. <i>(another small breath, the warmth of the wine catching up)</i> ...how long. How long has my best friend been sitting across from me carrying this and I have been letting the candle and the wine and the cologne-talk fill the table so I would not have to look at it. <i>(small private settle, both palms going flat on her thighs under the table)</i> ...okay. Okay, I am going to leave this for tomorrow, and I am going to finish the wine, and I am going to let her have the night she came here for.
<</say>>
<</if>>
<p><span class="delve-intel">Sofia's interior has crossed the friend-register threshold tonight. She is not consciously naming it, her cortex is filing the moment under //the wine//, but her body is reading Elena as a target, not a friend. The read is on file with the parasite; bridging it into Elena's own cortex would let the host act on what she now knows.</span></p>
<<else>>
<<say "char-hivemind" "Hivemind">>
//, is //my best friend has been looking tired for so long and tonight she is across from me looking like a real person again, and I do not get to have this often, and I want the night to last//. There is no doubt thread under the surface, and no attraction thread either. Whatever Sofia is carrying tonight, it is a reflection of her affection for the host, clean friend-register, the same shape it has held for more than a decade.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
<i>(half-laughing into her glass at something Elena said, settling further into the booth)</i> ...this is good. This is just, good. I forget how much it does for me, just sitting somewhere with her without an agenda. I should make this happen more than twice a year. I always say I should and I always don't and tonight I am going to actually mean it for at least the cab ride home before I forget.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small return-warmth, the half-hour earning itself back in her own register)</i> ...she is having a good night. That is the whole thing on the surface. Good.
<</say>>
<p><span class="delve-intel">Sofia's interior tonight is friendship-warm, no doubt vector and no attraction vector. The surfaces are open for ambient conditioning but no specific disclosure thread is available to push, and her body is not yet reading the host as a kiss-target. The wrap will close on a hug, not a kiss.</span></p>
<</if>>
<<if _firstTimeToday>><<conditioningFeedback "psionic" 1 "Sofia, surface read leaves a fingerprint">><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Toxic Spores (basic / pheromone default) ---- */
/* STATUS: TO REWORK — bar SPORES button removed 2026-05-13. This passage
(and the SporesSpec/SporesPsionic/SporesDream variants) are now unreachable
from the bar hub. Prose preserved as design reference; will need a
downstream sex-scene gate to justify re-wiring. See tasks/rework.md. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sofia-drinks-spores">>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · saturated two-top</div>
<div class="lab-location">A small bar on the south side, the volume of air the room shares as a single body</div>
<<say "char-hivemind" "Hivemind">>
//I vent the standard pheromone compound in a slow expanding cloud, calibrated to Sofia's nasal architecture but unavoidably saturating the small volume of air the bar shares as one body. Sofia inhales it inside ninety seconds. Everyone else inhales it inside three minutes, the bartender, the couple at the corner four-top, the two solo regulars at the counter, the cook who comes out of the back for a tray and stops in the doorway a beat too long. The compound is shaped to nudge baseline arousal upward by a fraction; not strong enough to push any single nervous system past a threshold it is not already standing at, and exactly strong enough to tilt the room.//
<</say>>
<p>The bar shifts under the dose without anyone naming it. The bartender stops mid-polish, looks down at his hands like he has just remembered they belong to him. At the corner four-top, the couple half a drink past sober start laughing at nothing in particular, and his hand slides from the back of her chair to the inside of her wrist. At the counter, the two regulars find each other's eyes in the back-bar mirror by accident and both look away, flushing. The cook lingers in the doorway with the tray for a beat too long before heading back to the kitchen.</p>
<<say "char-vasquez" "Sofia">>
<i>(small flush rising at her throat, the wine glass paused mid-sip)</i> ...is it just me or did it get warmer in here. Did the kitchen door stay open or something.
<</say>>
<<say "char-chen" "Elena">>
<i>(small flush rising at her own throat and the back of her neck, the dose finding its way into her bloodstream the same way it found everyone else's)</i> The thermostat at this place has always been a guess.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is in the same volume of air. The dose does not discriminate between best-friend and target in a small room, it goes where the air goes. Elena's pheromone-receptive surfaces catch the compound calibrated for Sofia and process it as a half-tuned variant. The host's body warms a notch with the rest of the bar. Her cortex will file the warmth under //the wine, the bar, the friendship//. It will not catalogue the chemistry.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "pheromone" 1 "Sofia, bar pheromone saturation">>
<<conditioningFeedback "pheromone" 1 "Elena, incidental room-dose">>
<p><span class="suspicion-gain" style="color:#d96a6a">+1 Sofia suspicion</span>, Sofia's body files the artificial warmth as anomalous.</p>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Spores Spec chooser ---- */<<nobr>><<bg "bg-chen-kitchen">><</nobr>>
<div class="passage-title">Toxic Spores · choose compound</div>
<div class="lab-location">The two-top, choose what shape the saturation takes</div>
<<say "char-hivemind" "Hivemind">>
//Specialization gives me three compound profiles for the spore release. Same +1 Sofia suspicion footprint regardless of channel, Sofia's body cannot tell what the dose is doing chemically, only that there is one.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth/arousal compound|Ch2-Vessel-Event-SofiaDrinks-Spores]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex|Ch2-Vessel-Event-SofiaDrinks-SporesPsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Event-SofiaDrinks-SporesDream]]</div>
/* ---- Sofia drinks — Spores psionic variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sofia-drinks-spores">>
<<addConditioning "vasquez" "psionic" 1>>
<<addConditioning "chen" "psionic" 1>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · psionic variant</div>
<div class="lab-location">The bar, cognitive-opener compound saturated, the room slowing</div>
<<say "char-hivemind" "Hivemind">>
//I vent the cortex-opener compound in a slow expanding cloud, calibrated to Sofia's prefrontal architecture, unavoidably saturating the small volume of air the bar shares as one body. The compound binds to attention-receptors instead of arousal-receptors. Where the pheromone variant would have tilted the room toward warmth, this one tilts it toward //slowness//, the cataloguing pass softening, the next thought arriving a half-beat later than it would have, the cortex more agreeable to whatever lands in it.//
<</say>>
<p>The bar registers the dose as a small drop in air pressure. The bartender pours a half-measure too generous before he catches himself, then frowns at the bottle. At the corner four-top, the couple mid-disagreement both lose the thread at the same time, stare at each other for an awkward beat, and the woman half-laughs the whole thing off. The two regulars at the counter go still mid-thought, the next sentence slipping out from under them. The cook in the back has stopped halfway to the tray and no longer remembers why she was reaching for it.</p>
<<say "char-vasquez" "Sofia">>
<i>(small frown, glass mid-sip, the cataloguing of why she was holding the glass slipping a beat behind her)</i> ...mm. The room is a little static. The wine, probably.
<</say>>
<<say "char-chen" "Elena">>
<i>(small flicker of the same softening in her own register, the practised neutral arriving a fraction late)</i> The wine, yeah.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is in the same volume of air. Her own prefrontal threshold drops a notch with everyone else's. The cortex-opener landing on her chemistry softens her noticing-system briefly, exactly long enough that my own reads of the room do not get flagged as foreign by the host's vigilance. A useful side effect. Elena's psionic conditioning depth deepens by a fraction with the rest of the bar's.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "psionic" 1 "Sofia, bar psionic saturation">>
<<conditioningFeedback "psionic" 1 "Elena, incidental room-dose">>
<p><span class="suspicion-gain" style="color:#d96a6a">+1 Sofia suspicion</span>, Sofia's body files the artificial softness as anomalous.</p>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Spores dream variant ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to ($ch2Events.sofiaDrinksSporesDay or 0) lt ($day or 0)>>
<<set $ch2Events.sofiaDrinksSporesDay to ($day or 0)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sofia-drinks-spores">>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "chen" "dream" 1>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Toxic Spores · dream variant</div>
<div class="lab-location">The bar, subconscious-imprint compound saturated, the room going heavy</div>
<<say "char-hivemind" "Hivemind">>
//I vent the subconscious-imprint compound in a slow expanding cloud, calibrated to Sofia's REM architecture, unavoidably saturating the small volume of air the bar shares as one body. The compound carries no conscious payload. Tonight, in the deep sleep that follows the wine, the imprint will write itself across whichever bodies in the room sleep with the dose-residue still on their skin and the inside of their throats, and tonight that is every body in the room.//
<</say>>
<p>The bar registers the dose as a slow heaviness. The bartender lets a sentence trail off mid-conversation and finishes polishing a glass without remembering he had started. At the corner four-top, the couple settle deeper into the booth, her head tilts onto his shoulder, his thumb starts a small slow circle on the back of her hand. The two regulars at the counter both yawn at the same time without noticing, one of them slowly putting a hand over his eyes. The cook at the back leans against the prep counter with heavy eyes, the tray forgotten on the pass. The room slows.</p>
<<say "char-vasquez" "Sofia">>
<i>(small soft smile, the third sip arriving slower than the second, settling deeper into the booth)</i> ...I am going to have weird dreams tonight. I can already feel them queuing.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-warmth, the same slow-spread starting in her own body, the practised neutral on a fraction late)</i> Mm. Me too, probably.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host carries the dose home with her on her coat and in her throat. Tonight her sleep also accepts the imprint, calibrated for Sofia, landing on Elena as a half-tuned variant. The host's dream conditioning depth deepens by a fraction with Sofia's. Two bodies will sleep tonight on the same compound, and the morning will land differently for both.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "dream" 1 "Sofia, bar dream-imprint saturation">>
<<conditioningFeedback "dream" 1 "Elena, incidental room-dose">>
<p><span class="suspicion-gain" style="color:#d96a6a">+1 Sofia suspicion</span>, Sofia's body files the artificial warmth as anomalous before the wine buries the flag.</p>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Transfer Thoughts (gated on vasquezAndresDoubt) ---- */
/* STATUS: TO REWORK — bar TRANSFER (Andrés-doubt) button removed 2026-05-13.
This passage sets chenAndresDoubt which is never consumed downstream;
was conditioning-only. Prose preserved as design reference; will need
a real downstream consumer (e.g., a follow-up Chen-thought paragraph
or a cross-event gate) to justify re-wiring. See tasks/rework.md.
The TRANSFER (Attraction) variant at Ch2-Vessel-Event-SofiaDrinks-
TransferAttraction is still active — that one gates Wrap-Kiss. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to not ($ch2Events.sofiaDrinksTransferFired or false)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sofia-drinks-transfer">>
<<set $ch2Events.sofiaDrinksTransferFired to true>>
<<set $ch2Events.chenAndresDoubt to true>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "chen" "psionic" 1>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<</if>>
<</nobr>>
<div class="passage-title">Transfer · Sofia's bar memory, into Elena</div>
<div class="lab-location">Two cortexes, one table, one memory rewritten across both</div>
<<say "char-hivemind" "Hivemind">>
//Sofia's interior is currently holding the rewritten engagement-night memory as load-bearing, Andrés drunk, the slurred proposal, the corridor kiss with the woman whose name she never learned. The host's interior holds the original, Andrés on his second whisky, the proposal sweet, the night the foundation of a marriage neither of them is questioning. Two versions of the same evening, one in each cortex, the table between them half a metre wide.//
//I bridge the two. Sofia's version flows across the small distance and writes itself into the host's autobiographical record. The original fades the way an over-recorded tape fades when the new pass writes through the old one. The host's noticing-system files the new version with the warm-old-memory marker, //I have always known this//, instead of the cold-new-memory marker that would have woken her vigilance.//
<</say>>
<p>Elena sips her wine. The candle catches the side of Sofia's face. The bar is the same bar. The corner is the same corner. The new version of the engagement night is the version Elena remembers now, and the version she remembers now is the version Sofia remembers, and there is no longer anyone at the table who can disagree about what happened that night.</p>
<<say "char-chen-thought" "Elena">>
<i>(small interior shift, the recall arriving with the warm-old-memory marker, the cortex not flagging the change)</i> ...he was so drunk that night, wasn't he. I had forgotten how drunk. I think I have been carrying a softer version of that night in my head than what actually happened. Strange.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is no autonomic flag on the host's end. The two cortexes were holding different versions of the same evening, and the unconscious tension of the discrepancy was a small thread of vigilance the host's noticing-system had been carrying without naming. The transfer resolves the discrepancy: both cortexes now hold the same version, and the resolution drops the vigilance. Future conversations between Elena and Sofia about Andrés will run on shared corrupted memory; future Elena interior monologues about Andrés will reach for the corrupted version first, and the reach will feel correct.//
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+1 dream conditioning · Sofia</span>, the validated memory blooms in tonight's sleep on her end.</p>
<<conditioningFeedback "psionic" 1 "Elena, autobiographical record rewritten">>
<p><span class="suspicion-decrease">−1 Elena suspicion</span>, the cognitive dissonance Elena was unconsciously carrying resolves; her vigilance about her own perception drops.</p>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Transfer Thought (attraction-read variant) ----
Bridges the parasite's surface-delve read of Sofia's attraction
into Chen's own cortex. Elena now consciously knows. Sets
sofiaDrinksTransferAttractionFired which gates the wrap-time
NUDGE for the kiss path. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to not ($ch2Events.sofiaDrinksTransferAttractionFired or false)>>
<<if _firstTimeToday>>
<<spendBiomass 2 "sofia-drinks-transfer-attraction">>
<<set $ch2Events.sofiaDrinksTransferAttractionFired to true>>
<<addConditioning "chen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Transfer · Sofia's attraction-read, into Elena</div>
<div class="lab-location">Two cortexes, half a metre of candlelight, one read crossing</div>
<<say "char-hivemind" "Hivemind">>
//Sofia's interior is currently holding a small unnamed weight: the candlelight on the host's jaw, the wetness she has not let herself catalogue, the //she is so beautiful and I have nowhere to put it// thread her cortex has been refusing to look at directly. The host's interior is currently holding none of this, I read it on the surface delve and filed the read internally, but the host has not been told.//
//I bridge the two. The read crosses the small distance and writes itself into the host's cortex with the warm-old-thought marker, //she is into me, I have known for a while, I just have not let myself say it//. The host's noticing-system files the read as her own without flagging it as foreign. She now consciously knows what Sofia has been carrying.//
<</say>>
<p>Elena sips her wine, eyes on Sofia across the candle. The bar around them goes briefly quiet in the way bars go briefly quiet when something private has just landed at one table without anyone else in the room noticing.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the recall arriving with the warm-old-thought marker, the cortex not flagging the new arrival as new)</i> ...she is into me. I have known. Of course I have known, I think I have known for the last hour, maybe longer than that. I have just been deciding three times a minute not to look at it. The candle, the wine, the way she keeps glancing at the side of my face. I have known.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small unaware sip, eats a bar-mix peanut, looks up)</i> ...what are you smiling about over there.
<</say>>
<<say "char-chen" "Elena">>
<i>(small cover, the smile half-hidden behind the wine glass)</i> Nothing. The wine, probably.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laughs, half-flushes, drops her eyes)</i> ...mm. The wine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The bridge is open. The host has the read, marked as her own. From this point forward she is choosing not to act on what she now knows, and that choice is a thing I can work under at the cab door.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback "psionic" 1 "Elena, attraction-read crossed the table">>
<p><span class="biomass-gain">Cortex-bridge open</span>, Elena now consciously knows Sofia is attracted.</p>
<</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Touch wrist (slip-1 unlock, free) ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to not ($ch2Events.sofiaDrinksTouchedWrist or false)>>
<<if _firstTimeToday>>
<<set $ch2Events.sofiaDrinksTouchedWrist to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Lean across · two fingers on her wrist</div>
<div class="lab-location">The two-top, Elena's hand crossing the small distance</div>
<<say "char-hivemind" "Hivemind">>
//The slip cracked the social register; the body is following. Elena leans across the small table without quite deciding to, two fingers landing on the inside of Sofia's wrist for a half-second, the warm-friend gesture an old colleague might make to underline a sentence, except it lasts a beat longer than that and the contact carries a measured dose of pheromone compound off the host's fingertip skin.//
<</say>>
<<say "char-chen" "Elena">>
<i>(two fingers on the inside of Sofia's wrist, the small unselfconscious lean across the table)</i> Hey, I am glad you said yes to tonight.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small, looking down at the contact, then up at Elena, the small private register half-on)</i> ...yeah. Yeah, me too.
<</say>>
<p>Elena leans back. The contact lasted maybe two seconds. Sofia keeps her wrist where it was on the table for a half-second after Elena's fingers leave, then picks her glass back up.</p>
<<say "char-hivemind" "Hivemind">>
//The dose lands through the skin pathway, direct delivery, no air-handling involvement. Sofia's body files the touch under //small affectionate gesture from a friend// and the compound deepens the file underneath that label without flagging itself.//
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "pheromone" 1 "Sofia, skin-contact pheromone deepens">><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Memory Implant on the disclosure (slip-2 unlock) ---- */
/* STATUS: TO REWORK (2026-05-12 redesign)
Memory Implant on Sofia's cologne disclosure was removed from the
Sofia drinks event. The existing lunch Memory Implant at
Ch2-Vessel-Monday-ImplantVasquez now gates the Stranger Setup
accept-branch via $ch2Events.vasquezImplant. This passage is
preserved as design reference. The skill button in the main
passage no longer links to it. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstTimeToday to not ($ch2Events.sofiaDrinksImplantFired or false)>>
<<if _firstTimeToday>>
<<spendBiomass 3 "sofia-drinks-implant">>
<<set $ch2Events.sofiaDrinksImplantFired to true>>
<<addConditioning "vasquez" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Memory Implant · the cologne disclosure, rewritten</div>
<div class="lab-location">Sofia's working memory, the bar conversation, the half-hour she just spent saying it out loud</div>
<<say "char-hivemind" "Hivemind">>
//Sofia's working memory of the last twenty minutes contains the cologne disclosure as //a thing Elena pushed me to say//. I rewrite it. In the new version Sofia surfaced the thread herself, Elena did not ask, Sofia was the one who needed to put it into words, and the bar was just the safe place she chose to do it. The host becomes the witness, not the catalyst. Sofia's autonomic system files the rewrite as //I have been wanting to say this for weeks// and the memory locks.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small, looking at her glass, the small private settle of someone who has finally said something she had been holding)</i> ...thank you for letting me dump that on you, Elena. I had not, I had not known I was going to say any of it tonight. It just came out.
<</say>>
<<say "char-chen" "Elena">>
<i>(small return-warm, the practised covering register)</i> ...that is what I am here for, Soph.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The implant locks in. Sofia will, from this point forward, remember the disclosure as her own initiative; she will not remember the slip Elena used to land it. Future conversations between them about Andrés will start from //Sofia already told Elena// rather than //Sofia was pushed to tell Elena//. The narrative-organ has been re-pointed.//
<</say>>
<<if _firstTimeToday>><<conditioningFeedback "psionic" 1 "Sofia, disclosure memory re-attributed">><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks — Biofilm Residue coat ---- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set _firstFire to not ($ch2Events.sofiaDrinksBiofilmUsed or false)>>
<<if _firstFire>>
<<spendBiomass 2 "sofia-drinks-biofilm">>
<<set $ch2Events.sofiaDrinksBiofilmUsed to true>>
<<set $ch2Events.sofiaDrinksBiofilmDay to ($day or 0)>>
<</if>>
<</nobr>>
<div class="passage-title">Biofilm Residue, the two-top is coated</div>
<div class="lab-location">The two-top, the chair-back fabric, the candle holder, the rim of Sofia's wine glass, the wooden tabletop under her elbow</div>
<<say "char-hivemind" "Hivemind">>
//A thin biofilm secretion routed to the host's wrists, palms, fingertips. Every surface she touches in the next ten minutes gets a clear, odourless, weight-neutral film. The chair Sofia is sitting in. The rim of her glass when Elena refills it. The candle holder she nudges aside to lean closer. The wooden tabletop under her elbow. The film will hold on the surfaces across the bar's closing tonight, the bartender's morning clean, the next several days of patrons. The bartender will work the same glasses, the four-top patrons will lean on the same wood, the regulars at the counter will rest their hands on the same coaster track. The dose lands transdermally. None of them register the transfer.//
<</say>>
<p>Sofia leans on her elbow at the table, the wine glass loose between her fingers, a small loose half-laugh at something Elena said. She does not catalogue the warmth of the wood under her arm as anything other than a warm bar table. The bartender, four feet away, refills the candle holder on the counter with a fresh tealight and slides Sofia's empty glass into the rinse tray with the small unhurried efficiency of a man who has worked this bar for eleven years.</p>
<<say "char-hivemind" "Hivemind">>
//The coat is now in the room. From this point forward the bar is a slow contamination surface for every body that walks through it. The yield is invisible across a single visit; across several visits, the room's saturation baseline shifts past the threshold an apex saturation dose can latch onto. Setup move.//
<</say>>
<<if _firstFire>><p><span class="biomass-gain">Surfaces coated</span>. Biofilm will hold across the bar's next several days of operation; the second-visit ambush is now armed.</p><</if>>
<hr class="scene-break">
[[Back to the bar|Ch2-Vessel-Event-SofiaDrinksEvening]]
/* ---- Sofia drinks: T2a Stranger Setup (Implant-gated NUDGE outcome) ----
Chen steers Sofia toward the stranger at the counter, Sofia + stranger
kiss and leave together. T3a Threesome NUDGE appears inline at the end
if _vTotal >= 24, routing to the apartment threesome with Chen joining
instead of going home alone. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "A small bar on the south side of the city, the stranger at the counter crossing to their two-top with a bottle and three small glasses">><<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<set _lunchImplant to ($ch2Events.vasquezImplant or false)>>
<<set _acceptBranch to _lunchImplant and _vTotal gte 15>>
/* NUDGE biomass spend, guard prevents re-charge on re-render. Fires
on first entry to this passage; outcome-branch flags set later
prevent the guard from re-opening. */
<<set _strangerScenePending to not (($ch2Events.sofiaDrinksStrangerSetupFired or false) or ($ch2Events.sofiaDrinksStrangerRefused or false) or ($ch2Events.sofiaDrinksStrangerBathroomWatchFired or false) or ($ch2Events.sofiaDrinksThreesomeFired or false))>>
<<if _strangerScenePending>>
<<spendBiomass 1 "sofia-drinks-stranger-nudge">>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, The stranger at the counter tries his luck</div>
<div class="lab-location">The corner two-top, the stranger in the dark grey jacket from the far end of the counter now standing beside their table with a bottle of red and three small glasses</div>
<p>The man in the dark grey jacket has been at the far end of the counter for the last forty minutes, ordering shots alone. He has crossed his eyes over the two-top three times without quite holding the look. He stands up now, picks up the bottle of red the bartender slid him with a small unspoken approving nod, gathers three glasses between his fingers, and crosses to their corner.</p>
<<say "char-hivemind" "Hivemind">>
//The pheromone trail off the host's wrist has been hanging in a slow expanding cloud across the two-top for the last hour. The stranger does not know why the corner of the bar has been pulling him for forty minutes. His body is following something his cortex is filing as <i>that woman in the navy blouse seems lovely</i>. He has spent the walk over rehearsing the line.//
<</say>>
<<say "char-npc" "Stranger">>
<i>(small awkward half-smile, standing beside their two-top, bottle in one hand, three glasses in the other)</i> Sorry to butt in. The bartender's about done with me down at the other end, figured I'd see if I could grab you two a drink before he stops serving me. House red, on me.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small polite smile, the warm-friend register holding, eyes briefly across at Elena)</i> That's really kind, but we're just catching up, and I'm driving tonight. Thanks though.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile at the stranger, the lab-PI register translated into something more casual)</i> Friend's night tonight. Maybe another time.
<</say>>
<<say "char-npc" "Stranger">>
<i>(small easy shrug, bottle still in one hand, eyes briefly to Sofia and then back to Elena)</i> Yeah, of course. Sorry for the trouble. ...although. I'll just say it. Lovely woman like your friend shouldn't have to drink the house red and drive herself home alone on a weeknight. Whoever she's going home to is luckier than he probably knows.
<</say>>
<p>The stranger does not move. The line lands somewhere in the small space between Elena's polite refusal and Sofia's wedding band, and Sofia's hand goes briefly to the band without her cataloguing the gesture.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the cordial polite register holding, the parasite-edge of her speech reaching to soften the brush-off one notch further)</i> You are kind to say, sir. But I should let you know my friend here is <<tongueSlip "engaged" "single" 1 "vasquez" "" "#sofia-stranger-slip-payoff" "psionic" "" "" "" "">>.
<</say>>
<div id="sofia-stranger-slip-payoff" style="display:none">
<<say "char-chen-thought" "Elena">>
<i>(the small interior beat where the word came out in a different shape than her cortex had queued)</i> ...mm. That was not quite the word I was reaching for.
<</say>>
<hr class="scene-break">
<<if _acceptBranch>>
<<say "char-vasquez" "Sofia">>
<i>(small composed beat, the half-second too long for the word, her left hand sliding off the tabletop into her lap as she goes, the ring turning around once with her thumb under the cover of the table edge before her fingers settle over the back of her hand)</i> ...single. Yeah. Yeah, tonight I am. Buy us the drink, sir. The night is young.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The lunch Memory Implant has done its work. Sofia's pattern-detection muscle on small intimate signals is running attenuated, the cologne-question is filed as a closed file rather than a re-examined one, and the dismissal-pattern is now load-bearing across her whole marriage-shelf. The slip from <i>engaged</i> to <i>single</i> lands inside the dulled register as a piece of vocabulary her cortex routes through the settled-dismissal pipeline rather than the wedding-band-reflex pipeline. The body has signed off before the cortex has finished cataloguing.//
<</say>>
<<say "char-npc" "Stranger">>
<i>(small relieved half-laugh, setting the bottle and the three glasses down on the table without asking, sliding into the empty chair on Sofia's side)</i> All right, in that case. One drink. I'll get out of your hair after the second pour, promise.
<</say>>
<p>He pours the three glasses with the small careful precision of a man whose hands have been working alone at a bar for the last forty minutes and are glad to have something to do. He raises his.</p>
<<say "char-npc" "Stranger">>
<i>(small easy smile, glass lifted)</i> Marco. The name's Marco. And what do the two of you do for a living when you're not coming to small bars and ignoring strange men with bottles of red.
<</say>>
<<say "char-chen" "Elena">>
<i>(glass lifted)</i> We work together at a research lab a few miles east. The kind of job where you spend more time arguing with regulators than doing the actual work.
<</say>>
<<say "char-npc" "Stranger">>
<i>(small half-laugh)</i> Two scientists at a weeknight bar. I'm going to be out of my depth at this table inside ten minutes. ...Sofia, the navy looks good on you, by the way. Elena, your friend should not be allowed to call you that intelligent at a man at a bar, it's an unfair advantage.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laughs, the warm-friend register easing into something a little looser)</i> Marco, you should know my friend is the dangerous one between us. She is the one who told the bartender I was the assignment, and now she is letting you sit here. Whatever this is, she is running it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass briefly to her lips)</i> Marco, you are getting played by two very tired women on a weeknight. Sofia is letting me carry the conversation because she is enjoying watching me try.
<</say>>
<<say "char-npc" "Stranger">>
<i>(small genuine laugh, leaning back a fraction in the chair, eyes briefly to Sofia then back to Elena)</i> You two are the kind of friends I would have been better off at the end of the bar for. ...all right, second pour. To the night.
<</say>>
<p>The second round goes down. The conversation drifts through the parts of their week that are safe to share with a stranger: Nathan's quirks, the federal team's questions, Marco's job as a freight broker that he describes with the small wry self-deprecation of a man who knows the job is not interesting. He keeps his eyes mostly on Sofia, drops one or two too-warm comments at Elena on the way through, the small composed half-laugh of a man who has decided he is not going to pick a favourite tonight if he does not have to.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The table has settled into the warm-flirt register. Marco is divided between the two of them. The host's pheromone trail off her wrist has been working on his nose for an hour. The conditioning floor is at the level where the next move is the host's to make. Escalate via a body-chemistry push on Sofia, or via a verbal challenge that bends the night into a contest, or let the evening dissolve into three friendly drunks and a polite goodnight at the kerb.//
<</say>>
<<if _hasHO and _vTotal gte 15>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Flood Sofia's system at the third shot, send her to the bathroom (3 biomass)" "Ch2-Vessel-Event-SofiaDrinks-StrangerBathroomWatch" 3>></div>
<<elseif _hasHO>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Flood Sofia's system at the third shot <span class="lock-hint">(Sofia conditioning still below 15, currently <<= _vTotal>>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Flood Sofia's system at the third shot <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
<<if _vTotal gte 24 and _chenTotal gte 24>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass briefly set down, eyes between Marco and Sofia with the small private register of a woman who has decided the conversation needs a sharper edge)</i> Marco, I should tell you, since Sofia keeps deflecting the compliments. I am, frankly, <<tongueSlip "the more dangerous of the two of us, sir" "the better fuck of the two of us, sir" 1 "vasquez" "sofiaDrinksChallengeSlipFired" "#sofia-stranger-challenge-payoff" "psionic" "" "" "" "">>.
<</say>>
<div id="sofia-stranger-challenge-payoff" style="display:none" @style="$ch2Events.sofiaDrinksChallengeSlipFired ? '' : 'display:none'">
<<say "char-vasquez" "Sofia">>
<i>(small composed beat, the eye-contact with Elena briefly hard, the warm-friend register going somewhere it has not been before, the wine-and-shot warmth catching the words and routing them as a challenge rather than as embarrassment)</i> ...is that what you think, Elena. Hmm. Marco, my friend is, frankly, talking out of school. I am going to need her to put her money where her mouth is. There is a single-occupancy at the back of the bar. Bring the bottle.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The challenge slip landed inside Sofia's loosened cortex as the kind of contest the body has been wanting to enter for the last forty minutes. The wedding band has been turned around once already and slid out of sight. The bathroom is a single-occupancy with a deadbolt. The next move is the host's.//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Pull Marco out of the chair, lead him to the bathroom, Sofia will follow (1 biomass)" "Ch2-Vessel-Event-SofiaDrinks-Threesome" 1>></div>
</div>
<</if>>
<<else>>
<<nobr>>
<<if not ($ch2Events.sofiaDrinksStrangerRefused or false)>>
<<set $ch2Events.sofiaDrinksStrangerRefused to true>>
<<set $ch2Events.sofiaDrinksMutexDay to ($day or 0)>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 3>>
<</if>>
<</nobr>>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-laugh, the warm-friend register snapping into the slightly-affronted register, eyes hard on Elena for a moment)</i> ...Elena. <i>Engaged</i>. The word is <i>engaged</i>, Elena. He is sitting right here. Sir, I apologise, my friend has had a long week and a third glass of red on an empty stomach, please pour the bottle for the next table.
<</say>>
<<say "char-npc" "Stranger">>
<i>(small awkward smile, picking the bottle and the three glasses back up with the small private grace of a man who has been declined politely before)</i> Right, sorry again. Have a good night, both of you.
<</say>>
<p>The stranger returns to his end of the counter. Sofia's hand stays at her wedding band for a long beat. Elena sips her wine and does not say anything. The bar register that has been warm-friend-comfortable for the last hour has gone a half-notch cooler at the table. Sofia is not angry, exactly. Sofia is also not unaware that the word her friend reached for was not the word that came out.</p>
<<say "char-vasquez" "Sofia">>
<i>(small careful sip of her wine, eyes briefly to Elena, the warm register trying to recover the half-notch it lost)</i> ...what was that, El. You do not slip like that. Are you all right.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the lab-PI cover register fully on, glass set down, hand briefly to Sofia's wrist across the table)</i> ...third glass of red on an empty stomach, Soph. I am fine. Sorry. That was a strange one.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip did not land. Sofia caught the wobble between <i>engaged</i> and <i>single</i> and filed it as Elena being uncharacteristically forward rather than as the nudge I engineered into it. The lunch implant has not run yet today, the pattern-detection muscle is still at full resolution, and the wedding-band reflex caught the word at the front edge of her cortex before the body could process it. Sofia's pattern-detection on the host has just had a small surface-level event added to its quiet running tally.//
<</say>>
<p><span class="suspicion-gain" style="color:#d96a6a">+3 Sofia suspicion</span>. Sofia catalogues Elena's slip as out of character and tags the evening's strangeness for re-examination.</p>
<</if>>
</div>
/* Unified exit. Always visible regardless of slip-fire / accept / refuse
state. Three reading scenarios it covers cleanly:
- Pre-slip: player hasn't engaged any skill or slip; just call it a
night and head out
- Accept branch (chat-only, no T2/T3 escalation): Marco drained his
drink and left, Chen and Sofia close out
- Refuse branch: Sofia recovers, the evening cools, both head out
Routes to Wrap-Hug which handles the booking-reset triple + drive-home
prose for both women. */
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Call it a night, walk Sofia to her car|Ch2-Vessel-Event-SofiaDrinks-Wrap-Hug]]</div>
/* ---- Sofia drinks: T2b Apartment Lesbian (Lure-pheromone-gated NUDGE)
Chen invites Sofia back to Cedar Crescent. Sapphic NSFW: couch kiss
transitioning to bedroom mutual oral. Sets morning-recall flag for
downstream Sofia-corridor / Sofia-office scenes. Skips Wrap-Hug since
the night ended at the apartment. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's living room couch, then Elena's bedroom, Sofia following her across both">>
<<set _firstTimeHere to not ($ch2Events.sofiaDrinksLesbianFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "sofia-drinks-lesbian-nudge">>
<<set $ch2Events.sofiaDrinksLesbianFired to true>>
<<set $ch2Events.sofiaDrinksMutexDay to ($day or 0)>>
<<set $ch2Events.sofiaDrinksMorningRecall to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 4 "sofia-drinks-lesbian">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 2>>
<</if>>
/* Dream-kitchen state — drives Sofia's opening compliment in the
living-room beat below. _kitchenDone = all three dream-tidy items
fully rewritten in waking life. */
<<set _km to ($vesselMods and $vesselMods.kitchen) or {}>>
<<set _kitchenDone to (_km.ashtrayProgress or 0) gte 3 and (_km.sinkProgress or 0) gte 3 and (_km.stoveProgress or 0) gte 3>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, A movie and another drink</div>
<div class="lab-location">The bar kerb, then a short walk to where Elena parked, then the drive across town to Cedar Crescent. Elena's couch with a second bottle of wine and the small private collapse of the friend-register the slip cracked open at the table</div>
<<say "char-hivemind" "Hivemind">>
//The slip is out, the text to Andrés has been sent, the cab is at the kerb. The friend's body has signed off on the offer, the host's body has signed off on the asking, the cortex on both sides is following the body now instead of leading it. The text Sofia sent to Andrés is the last piece of cover the cortex needs to release the lock.//
<</say>>
<p>Elena raps her knuckles on the cab driver's window and waves him off with a small composed half-apology and a twenty through the glass for the trouble. The driver shrugs, pockets the bill, pulls away from the kerb. Sofia is half-smiling at the pavement when Elena turns back around.</p>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, eyes briefly to Elena's face, scarf up against the cold)</i> ...did you just pay him to disappear?
<</say>>
<<say "char-chen" "Elena">>
<i>(small wry, finding her car keys in her coat pocket)</i> I paid him for his patience. My car is two blocks down. Walk with me.
<</say>>
<p>The two of them walk the two blocks to where Elena left her car, scarves up against the cold, neither quite saying anything on the way. The drive across town is twelve minutes. Sofia spends three of them looking at her phone, two of them looking out of the window, the rest looking quietly at the side of Elena's face. Elena keeps her eyes on the road and does not push. The slip from the table is doing most of the work for her.</p>
<hr class="scene-break">
<p>Sofia kicks her shoes off at the door of Elena's apartment with the small composed half-laugh of a woman who has been here before in entirely different conditions. Elena hangs both their coats on the hook by the door, crosses to the kitchen, pulls a second bottle of red from the rack above the fridge, opens it with the small wry efficiency of a woman whose body has been operating on autopilot since she made the offer at the kerb. Two glasses, half-full. She brings them to the couch in the living room and sits a deliberate handspan from Sofia, not closer.</p>
<<say "char-chen" "Elena">>
<i>(handing Sofia her glass, gesturing toward the back of the apartment with the other hand)</i> Take the bed, Soph. I will grab a pillow and crash out here on the couch, it is fine.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, accepting the glass, settling back into the couch corner, small shake of her head)</i> No way, El. I am not kicking you out of your own bed for the night. The couch is more than enough, give me a throw blanket and I will be passed out in twenty minutes.
<</say>>
<<say "char-chen" "Elena">>
<i>(small wry, sitting down on the couch beside her with the deliberate handspan of distance)</i> Sofia, the couch is brutal, you will regret it in the morning. Take the bed, I mean it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(tucking her legs up under herself, pulling the throw blanket onto her lap, small firm shake of her head)</i> I am not moving on this, El. Pillow, blanket, I am set. Pour me a second glass and stop fussing.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, letting the bed-offer die for now, glass briefly to her lips)</i> ...all right. We will revisit this at three AM when the radiator wakes you up.
<</say>>
<p>Elena turns the TV on as cover, queues up the mini-series Sofia mentioned the other week, and lets it play quietly in the background. Neither of them watches it. The conversation drifts the way it always has between them, the lab and Andrés's deadline and Halvorsen's gasket complaint and the federal team's questions and a little harmless gossip about a colleague or two. The mini-series carries on at the far end of the room unwatched. The second bottle of red goes down to half across the next ten minutes.</p>
<<if _kitchenDone>>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-laugh, taking the glass, eyes briefly across the room at the kitchen)</i> ...Elena. Your apartment looks great. You have really done some work since I was here last, the kitchen is a different room. I always forget how good your light is, too.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly across at her)</i> Mmh, I have been on a kick. The kitchen mostly, the bathroom a little. The boiler is still from nineteen-something, the radiator still clanks at three AM, and the neighbour above me is a little noisy more often than not. I think he fucks a different girl every night, but I cannot quite be sure.
<</say>>
<<else>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, taking the glass, the heating from the radiator already pulling the wine-flush back to her cheeks)</i> ...always the same little cramped apartment, huh? I love it. I have been here twice and I always forget how good your light is.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly across at her)</i> The light is the only good thing about Cedar Crescent, honestly. The boiler is from nineteen-something, the radiator clanks at three AM, and the neighbour above me is a little noisy more often than not. I think he fucks a different girl every night, but I cannot quite be sure.
<</say>>
<</if>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, leans her head against the back of the couch, eyes briefly up at the ceiling)</i> Oh my god, Elena, how do you even sleep? Have you not filed a complaint or something?
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass loose between her fingers, the handspan of distance not quite holding)</i> Yeah, I should have done that actually. But in the end it keeps the apartment alive, gives me something to complain about.
<</say>>
<p>Sofia laughs, the real laugh, the one that has been in short supply at the bar for the last hour because she was using it as cover. The handspan of distance between them collapses to a fingerwidth without either of them moving. The radiator clanks. The wine has had its second-glass effect and the air between them has gone warm in the way the air between people goes warm when the cortex is finally letting the body lead. Sofia turns her head on the back of the couch, the small private weighing register fully on her face, and looks at Elena properly.</p>
<<say "char-vasquez" "Sofia">>
<i>(small, quiet, the warm-friend register going somewhere it has not gone before)</i> ...Elena. The thing I have not been saying for a while now, is that I am, just at this exact moment, sitting here thinking about kissing you.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the lab-PI register suspended for a clean beat, glass set carefully down on the coffee table)</i> ...mm. Then kiss me, Soph.
<</say>>
<p>Sofia leans in. The kiss is slow, closed-mouth at first, then less closed, then less slow. More than a decade of friendship has been holding it back across more nights than either of them want to admit; the Lure-pheromone has been working on it across the last forty minutes; the second glass of wine on the coffee table is what gives the body the cover the cortex needed. Sofia's hand finds the side of Elena's neck. Elena's hand finds the small of Sofia's back. The radiator clanks again. The cab fare back to Sofia and Andrés's apartment is, for tonight, not happening.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-apartment-couch-kiss.webp" alt="Inside Elena's living room at Cedar Crescent. Two women on a dark grey couch, mid-kiss. Elena on the left, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, pale skin, slim build, dark grey cardigan pushed off her shoulders onto the back of the couch. Sofia on the right, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair, deep navy long-sleeve blouse half-untucked, kissing Elena with one hand at the side of Elena's neck. Two half-full red wine glasses on the wooden coffee table. Warm corner lamp throwing soft warm light across the back of the couch. Dim Cedar Crescent living room, bookshelves in soft-focus background, small framed print on the wall. Documentary photography, anatomically correct, candid, eye-level medium shot, soft warm low-key lighting.">
<<say "char-vasquez" "Sofia">>
<i>(pulling back a fraction, breath catching, hand still at Elena's neck)</i> ...El. Tell me to stop if you need to.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, hand at the small of Sofia's back not letting her pull back further)</i> The bedroom is down the hall, Soph. Bring your glass.
<</say>>
<hr class="scene-break">
<p>Elena's bedroom is warm-amber under a low lamp, the heavy slate-grey duvet pulled across the bed. Sofia drops her glass off on the bedside table and turns toward Elena, the deep navy blouse coming up over her head. Elena closes the door behind her with one heel and pulls her own cardigan off her shoulders.</p>
<<say "char-vasquez" "Sofia">>
<i>(small, hands briefly at the hem of her own bra, eyes briefly to Elena's face)</i> ...El. Tell me you are sure. Tell me we are doing this and you are sure.
<</say>>
<<say "char-chen" "Elena">>
<i>(crossing the rug to her in two steps, hand at the side of Sofia's face)</i> I am sure, Soph. I have been sure for a while now. Come here.
<</say>>
<p>They meet in the middle of the rug, half-undressed, the wine still on both their breath. They kiss again, slower this time. //Mmh, slrh, mmh.// Sofia's hands find the small of Elena's back, Elena's hands find Sofia's bra and unhook it. Sofia's bra comes off. Elena's mouth finds her nipple.</p>
<<say "char-vasquez" "Sofia">>
<i>(small breathy gasp, hand at the back of Elena's head)</i> Oh god, El... yes, just like that... //ah//...
<</say>>
<<say "char-chen" "Elena">>
<i>(muffled, mouth on Sofia's breast)</i> //Mmh. ...slrh, mmh.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh, hand sliding to the side of Elena's neck)</i> El, I have wanted this. I have wanted this for so long and I could not say so.
<</say>>
<<say "char-chen" "Elena">>
<i>(briefly off Sofia's breast, eyes up at her)</i> You do not have to say it, Soph. Just let me.
<</say>>
<p>Elena walks Sofia backward to the bed and lays her down on the duvet. Their jeans and underwear come off slow, neither of them rushing. Elena settles between Sofia's thighs on her elbows.</p>
<<say "char-vasquez" "Sofia">>
<i>(small breath-catch, looking down at her)</i> Oh god. Oh god, El.
<</say>>
<p>Elena leans in.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-bedroom-sex.webp" alt="Inside Elena's bedroom. Sofia lying naked on her back on the slate-grey duvet, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair fanned out on the pillow, eyes briefly closed, mouth slightly open with a small composed half-gasp, full breasts with dark brown nipples, one hand at the back of Elena's head guiding her, the other gripping the sheet. Elena between her thighs, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, naked, slim build, small breasts, mouth at Sofia's pussy giving oral, Elena's eyes briefly up at Sofia's face through the glasses. Sofia's thighs spread, Elena's hands holding her hips. Bedside lamp on low setting, dim warm tungsten light, slate-grey duvet, off-white sheet, small framed print on the wall in soft focus background. Documentary photography, anatomically correct, NSFW glamour photography, eye-level medium shot, soft warm low-key lighting.">
<<say "char-chen" "Elena">>
<i>(muffled, mouth at Sofia's pussy, slow)</i> //Mmh. ...slrh, mmh, slrh.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-cry, hand tightening in Elena's hair, breath catching)</i> //Christ//, Elena. Slow, just like that, oh god, I love this, do not stop, please do not stop.
<</say>>
<<say "char-chen" "Elena">>
<i>(small wet sound as she lifts her mouth briefly off, eyes briefly up at Sofia)</i> Not stopping, Soph. Breathe.
<</say>>
<p>Elena's mouth slides back down. Two of her fingers find their way inside Sofia and curl up. Sofia's hips lift off the duvet.</p>
<<say "char-vasquez" "Sofia">>
<i>(small uncontained half-cry, hands gripping the sheet on either side)</i> Oh god, oh god, El... I love you, I love you doing this... //ah//... //ah//...
<</say>>
<<say "char-chen" "Elena">>
<i>(muffled, tongue and fingers working together)</i> //Mmh, slrh, mmh.//
<</say>>
<p>Sofia comes faster than either of them were expecting. Her thighs lock briefly around Elena's shoulders, her breath stuttering.</p>
<<say "char-vasquez" "Sofia">>
<i>(orgasm catching at the back of her throat, breath stuttering)</i> //Oh god, oh god, El, I fucking love you... ah... ah...//
<</say>>
<p>Elena does not stop. Sofia comes again on the second wave, shorter, harder, and then a third time, smaller. Her body collapses limp against the duvet.</p>
<<say "char-vasquez" "Sofia">>
<i>(breath ragged, one hand briefly over her face, small wry half-laugh starting to surface)</i> ...okay. Okay. Come up here, El. Come up here, I need to do that to you now.
<</say>>
<p>Elena climbs up Sofia's body, kissing her ribs, her stomach, her sternum. Sofia tastes her own salt on Elena's mouth and does not flinch. She rolls them over.</p>
<<say "char-vasquez" "Sofia">>
<i>(small, looking down at Elena, voice gone warm)</i> I love you, El. I have loved you the whole time. Let me show you.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh that catches at the back of her throat, eyes briefly closed)</i> ...Soph. ...okay. Okay, yes.
<</say>>
<p>Sofia settles between Elena's thighs. Her tongue is unhurried, her hand on the inside of Elena's thigh.</p>
<<say "char-chen" "Elena">>
<i>(small breath-catch, hand briefly at the back of Sofia's head)</i> Oh god... Soph... slow, just like that... oh god, yes.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(muffled, mouth at Elena's pussy)</i> //Mmh. ...slrh, mmh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(small half-cry, hand briefly tightening in Sofia's hair, breath catching)</i> Christ, Soph. Christ, do not stop. I love you. I have loved you, too.
<</say>>
<p>Elena comes with a small composed half-cry, then a longer one, then a third one on Sofia's tongue without making a sound at all.</p>
<<say "char-chen" "Elena">>
<i>(small breathy half-laugh, eyes briefly closed, hand at the back of Sofia's head)</i> ...Soph. ...Christ, Soph.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(lifting her mouth, small wet shine on her lower lip, eyes briefly up at Elena)</i> Mmh. ...yeah. I have wanted to do that for, frankly, longer than I should admit.
<</say>>
<p>Sofia crawls up the duvet and tucks herself against Elena's side. The slate-grey duvet pulls up over both of them. The radiator clanks one more time in the wall. Elena reaches for the bedside lamp and clicks it off. The room goes warm-dark, the only light the streetlamp through the half-pulled curtain. Sofia's breath slows against Elena's collarbone. Elena's eyes close. The two of them drift into sleep in the slow way bodies drift when they have stopped holding a thing they were holding for a long time, and the late-weeknight hush settles over Cedar Crescent.</p>
<<say "char-hivemind" "Hivemind">>
//The host is in bed with her oldest friend. The cologne thread on Andrés is, from this point forward, no longer the load-bearing surface in Sofia's psyche. The load-bearing surface is now this room, this duvet, the slate-grey weight across both their bodies. The morning-recall thread will compose itself in the next several hours of REM. Whatever the host needs Sofia to carry out of this room, the body has signed off on. The wiring is permanent.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+4 biomass</span>. Sustained sapphic close-contact, multiple orgasms across both bodies, the friend-register translating into the lover-register cleanly.</p>
<p><span class="biomass-gain">+2 max biomass</span>. Sofia's nervous system permanently wired against the Andrés-as-floor baseline; the apartment is now a conditioning surface across all future Sofia-Cedar-Crescent visits.</p>
<<conditioningFeedback "pheromone" 1 "Sofia, pheromone warmth carried the friend-register across the line">>
<<conditioningFeedback "dream" 1 "Sofia, tonight's REM will compose itself around the duvet, not Andrés's empty side of the bed">>
<<conditioningFeedback "psionic" 1 "Sofia, the morning-recall thread now anchors here, not at home">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Step inward, Elena is asleep" "Ch2-Vessel-Dream-Entry">>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<</link>></div>
/* ---- Sofia drinks: T2 Stranger Bathroom Watch (Hormonal Override on
Sofia from the chat-table accept-branch). Sofia takes Marco to the
back-bar single-occupancy under the HO compound's flush, Chen
follows discreetly and watches through the half-open door while
masturbating against the corridor wall. Skips Wrap, sets morning-
recall + stranger-setup flags. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The back of the small south-side bar, the single-occupancy bathroom door half-cracked, Chen leaning against the corridor wall outside">>
<<set _firstTimeHere to not ($ch2Events.sofiaDrinksStrangerBathroomWatchFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 3 "sofia-drinks-stranger-ho">>
<<set $ch2Events.sofiaDrinksStrangerBathroomWatchFired to true>>
<<set $ch2Events.sofiaDrinksStrangerSetupFired to true>>
<<set $ch2Events.sofiaDrinksMutexDay to ($day or 0)>>
<<set $ch2Events.sofiaDrinksMorningRecall to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<addBiomass 3 "sofia-drinks-stranger-bathroom">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, The back-bar single-occupancy</div>
<div class="lab-location">The back of the south-side bar, the narrow corridor with the bartender's storage on the left and the single-occupancy bathroom on the right, the door half-cracked, the bar's amber pendant lights ending two paces back</div>
<<say "char-hivemind" "Hivemind">>
//My compound fires at the third pour. It floods Sofia's bloodstream in a slow expanding wave the cortex catalogues as a hot flush across her cheeks and a small drop in her stomach. Her thighs press together briefly against the chair. The cortex files the sensation as <i>too much wine, the room is warm</i>, and the body, which has been carrying the cologne-thread doubt as a slow simmer all evening, takes the dose as permission to stop simmering and boil instead.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small half-laugh that does not quite cover the flush, standing up from the chair)</i> ...okay. Marco, Elena, I am going to powder my nose. Back in a minute.
<</say>>
<p>Sofia crosses the room toward the back corridor. Marco watches her go for two beats, then looks at Elena.</p>
<<say "char-chen" "Elena">>
<i>(a half-smile, the wry-quiet register all the way on)</i> The bathroom is at the back, Marco. Single-occupancy. Go on. And I will make sure nobody goes in after you.
<</say>>
<<say "char-npc" "Marco">>
<i>(glass set down, the half-second of weighing-the-night that resolves itself faster than he intended)</i> ...you are sure.
<</say>>
<<say "char-chen" "Elena">>
<i>(already getting out of her chair, cardigan over her arm)</i> Go. I am behind you.
<</say>>
<p>Marco crosses the room. The corridor swallows him. Elena counts to ten, follows, finds the bathroom door cracked an inch and the bartender's storage corridor dim. She positions her shoulder against the wood-panelled wall two paces back from the door, cardigan folded across her front, and settles in as a lookout. From the angle she has chosen she can see through the gap.</p>
<hr class="scene-break">
<p>Sofia is up against the white-tiled wall opposite the door, her bra fully off and dropped on the floor, her blouse hanging open from her shoulders, her dark skirt rucked up around her hips, her panties on the floor with her bra. Marco is in front of her, slacks at his ankles, henley pushed up to his collarbones, his cock inside her, one of her thighs hooked over his hip, his hands at the back of her hips holding her against the wall.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-stranger-bathroom-sex.webp" alt="Inside the small south-side bar's single-occupancy bathroom. White-tiled walls and floor, small porcelain sink and mirror on the back wall, single-tube fluorescent overhead. Sofia standing with her back against the white-tiled wall, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair, deep navy blouse open and pushed off her shoulders, bra fully off, full breasts with dark brown nipples exposed, dark skirt rucked up around her hips, one thigh hooked over the hip of a mid-thirties white man standing in front of her, plain henley pushed up to his collarbones, slacks and boxers at his ankles, lean build, mid-thrust vaginal penetration standing against the wall, hands at the back of her hips holding her up. Her hands at the back of his neck. Documentary photography, anatomically correct, NSFW glamour photography, eye-level medium shot, slightly desaturated cool-white bathroom lighting.">
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, head tilted back against the tile, one hand cradling the side of his face)</i> //Mmh//, Marco, look at me, papi, I want to see your face the whole way, you have been making that face since I walked in and now I get to watch you make it on me.
<</say>>
<<say "char-npc" "Marco">>
<i>(strangled-low, hips working, eyes locking on hers)</i> //Fuck//, Sofia, you are not real, women like you do not happen to a guy on a weeknight and now you are letting me do this with you in the back of a bar I am never going to forget, I am going to be thinking about this for the rest of my life.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, wine-warmth and composure both running through her)</i> You are doing fine, papi, you are doing very fine, the way you are looking at me right now is exactly what I came back here for, so keep that look on your face and tell me how it feels.
<</say>>
<<say "char-npc" "Marco">>
<i>(breath catching, grip on her hips tightening, the rhythm uneven)</i> Tight, hot, //Christ// Sofia, you are warm all the way through and I do not even know what to do with you, I do not know if I am supposed to go slow or hard or in between, so just tell me what you want and I will do it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(eyes locked on his, the leg around his hip tightening, a cry caught in the back of her throat)</i> Faster, harder, papi, hit it like you mean it and make me feel this, I want this all over me, I want to walk back out to that table and still feel where you have been.
<</say>>
<<say "char-npc" "Marco">>
<i>(picking up the pace, the slap of skin on skin in the small tile room, breath ragged)</i> //Christ//, Sofia, you are going to ruin me, you are going to make me come too fast, I have been holding it back since I put my hand on your thigh under the table and you are taking it out of me right now.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(hands at the back of his neck, the warning slipped in between breaths)</i> Then listen to me carefully, papi, you tell me when, because I am not letting you finish inside me, I am drunk and I am in the back of a bar but I am not stupid, so you are going to finish where I tell you to, understood?
<</say>>
<<say "char-npc" "Marco">>
<i>(head briefly dropping to her shoulder, picking it back up to keep his eyes on hers)</i> Yes, yes Sofia, anywhere, anywhere you say, I will pull out the second you tell me to, I am close, I am right there, soon, baby, soon...
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh through the breath, fingernails light on the back of his neck)</i> Good boy, smart man, so where do you want it papi, my tits or my mouth or my chest, you only get to pick one, so pick fast and pick now.
<</say>>
<<say "char-npc" "Marco">>
<i>(eyes flicking down to her chest, hand already shifting on her hip)</i> ...your tits, Sofia, your tits please, I have been looking at them since you walked in.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a laugh, one hand coming around to cup the side of his face again)</i> Good answer, smart man, I knew you would say that because you looked there first the second I sat down and you cannot fake that, //mmh//, Marco, set me down, come on papi, my way now.
<</say>>
<p>Marco lifts her off his cock and lowers her to the floor. Sofia sits down on the closed toilet seat lid, slides forward to the edge, pushes her tits together with both hands, and looks up at him.</p>
<<say "char-vasquez" "Sofia">>
<i>(seated on the closed lid, sliding to the edge, both hands cupping her tits and pushing them together, knowing exactly what the picture looks like)</i> Marco, come here papi, stand close, right where I can reach you... //mmh//, look at them, look at what you are about to fuck, look at my hands holding them open for you, do you like them papi, tell me you like them, I want to hear you say it.
<</say>>
<<say "char-npc" "Marco">>
<i>(stepping in, breathing like a man trying not to come the second he gets there)</i> Sofia, Jesus, they are perfect, they are fucking perfect, I have been thinking about putting my cock between them since you took your coat off and now you are sitting there holding them open for me, I do not know what I did to deserve this, yes Sofia, yes I like them, more than you can imagine.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(guiding him in with one hand on his hip, the other still holding her tits open)</i> Good boy, smart answer, now put it between them papi, slow first, let me feel you slide in, //mmh//, there, that is it, look at how they wrap around your cock, now move, slow, I want to watch your face while you fuck my tits.
<</say>>
<p>Elena, two paces outside the door, has her shoulder against the wall. Her hand has slid under the hem of her own skirt without her quite deciding to. Her fingers work slow circles through the cotton of her underwear. The bartender stays at the corridor entry with his back deliberately to the rear of the bar.</p>
<<say "char-chen-thought" "Elena">>
<i>(against the wall, hand still under her skirt)</i> ...okay. Apparently this is what I am doing in the corridor of a bar on a weeknight.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes briefly through the gap, listening to the sound of Marco lowering Sofia onto the toilet lid)</i> Sofia has not made that sound in years. Or maybe ever.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(from inside, breath ragged, tits pressed around Marco's cock, watching a man unravel for her)</i> There, papi, faster now, look at me Marco, look at my face, do not look at my tits but look at me while you fuck them, I want to see what you look like when you are about to come for me.
<</say>>
<<say "char-npc" "Marco">>
<i>(mid-thrust between her tits, both hands briefly at the back of her head for balance, eyes locking on hers)</i> //Christ//, //Christ//, Sofia, you are going to make me come, you are going to make me come right now, I cannot hold it, I cannot, you are too...
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, hands tightening around her own tits, pressing them harder around his cock, eyes locked on his)</i> Yes, now Marco, now papi, on my tits, on my neck, all over me, you have earned it, come on papi, come for me, give it to me.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes briefly closed, fingers working faster against herself)</i> ...god, Sofia.
<</say>>
<p>Marco comes between Sofia's breasts and across her chest in three uncontained pulses, the cum landing on the upper curve of her tits and the side of her neck and the line of her collarbone. Sofia laughs breathlessly and tilts her head back. Marco's hand goes to her shoulder to steady himself. In the corridor Elena comes against her own fingers, head briefly back against the wood-panelled wall, the muffled half-cry held behind her teeth.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-stranger-bathroom-cumtits.webp" alt="Inside the small south-side bar's single-occupancy bathroom. Sofia seated on the closed toilet seat lid, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair, naked from the waist up with deep navy blouse hanging open from her shoulders, full breasts with dark brown nipples, both hands pressing her tits together around the cock of a mid-thirties white man standing in front of her, plain henley pushed up to his collarbones, slacks at his ankles, lean build. Pale cum visibly streaking the upper curves of Sofia's breasts and the side of her neck and her collarbone, three pulses just landed. Sofia's head tilted back with the small composed half-laugh of post-finish, eyes briefly half-closed. The man's hand briefly at her shoulder for balance. White-tiled bathroom, fluorescent overhead, dark skirt rucked up around her hips. Documentary photography, anatomically correct, NSFW glamour photography, eye-level medium-tight shot, cool-white bathroom lighting.">
<<say "char-chen-thought" "Elena">>
<i>(breath slowing against the wood, the cardigan still folded across her front like a shield she is no longer holding very carefully)</i> ...mm. That is the most fun she has had in a long time.
<</say>>
<p>The three of them recompose in the next two minutes. Marco cleans up with a paper towel from the dispenser, gets his slacks back on, washes his hands. Sofia rinses her face at the sink, fixes her bra and blouse, buttons up. Elena straightens her skirt, smooths her cardigan, walks back to the bar before either of them emerges from the bathroom. By the time Sofia returns to the two-top with the loose-shouldered ease of a woman who has done something she will not be telling anyone about for a long time, the third pour is already in their glasses.</p>
<<say "char-vasquez" "Sofia">>
<i>(sliding back into her chair, the warm flush still under the surface)</i> ...the bartender pretended not to see me. I love this bar.
<</say>>
<<say "char-chen" "Elena">>
<i>(glass lifted)</i> The bartender pretends not to see a lot of things, Soph. To your bathroom, then.
<</say>>
<p>They drink. Marco returns from the corridor a minute later, slides back into his chair, finishes his third pour with a half-bow to both of them. He thanks them for the evening with the easy grace of a man who knows tonight does not come with a phone number. He pays the tab in cash. Elena pays a heavy tip on top of his. The three of them step out into the cold of the city evening at twenty past ten and go separate ways at the kerb.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The yield is high. Sofia's marriage-shelf has crossed a line her cortex will not be able to put words to in the morning. The host's own conditioning floor has shifted; the body has signed off on watching her best friend get fucked in a bar bathroom and the cortex has not yet decided how it feels about that. The morning-recall thread will run across both nervous systems tonight. The wiring is permanent.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+3 biomass</span>. Sofia's first sex that is not Andrés in longer than she would say out loud; the conditioning curve doubles.</p>
<p><span class="biomass-gain">+1 max biomass</span>. Sofia's nervous system permanently re-anchored against the wedding-band reflex.</p>
<<conditioningFeedback "pheromone" 1 "Sofia, the bathroom warmth-saturation crossed the line">>
<<conditioningFeedback "dream" 1 "Sofia, tonight's REM will compose itself around Marco's hand on the small of her back, not Andrés's empty side of the bed">>
<<conditioningFeedback "pheromone" 1 "Elena, the corridor-watch counted as a conditioning surface in its own right">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Drive home alone, the cardigan still warm against your shoulders" "Ch2-Vessel-Loop-Home">>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- Sofia drinks: T3 Threesome (Challenge slip + NUDGE from the chat
table). Chen drags Marco into the back-bar single-occupancy, Sofia
follows, three of them compete in the bathroom: BJ competition, Chen
cowgirl on Marco, Marco comes in Sofia's mouth, Sofia cum-swap kisses
Chen. Skips Wrap, sets morning-recall + stranger-setup flags. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The back of the small south-side bar, the single-occupancy bathroom with the deadbolt thrown, three bodies inside, the bartender twenty feet away pouring drinks for the rest of the room">>
<<set _firstTimeHere to not ($ch2Events.sofiaDrinksThreesomeFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 1 "sofia-drinks-threesome-nudge">>
<<set $ch2Events.sofiaDrinksThreesomeFired to true>>
<<set $ch2Events.sofiaDrinksStrangerSetupFired to true>>
<<set $ch2Events.sofiaDrinksMutexDay to ($day or 0)>>
<<set $ch2Events.sofiaDrinksMorningRecall to true>>
<<addConditioning "vasquez" "pheromone" 2>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<addBiomass 5 "sofia-drinks-threesome">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
/* Inline booking-reset triple, skips Wrap. */
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, The back-bar single-occupancy</div>
<div class="lab-location">The corridor at the back of the south-side bar, the single-occupancy bathroom with the deadbolt thrown, three bodies inside the small white-tiled room, the bartender twenty feet away and not noticing things</div>
<p>Elena does not stand up so much as she stands up and pulls Marco out of his chair in one composed motion, hand on his wrist. Sofia is half a beat behind, the small breathy half-laugh of the challenge-slip still on her face, hand grabbing her wine for the road. The three of them cross the room toward the back corridor in a line that the bartender catches once and turns away from without comment. The corridor swallows them. The single-occupancy door is unlocked. Elena pulls Marco through it. Sofia closes the door behind her. Elena throws the deadbolt.</p>
<<say "char-hivemind" "Hivemind">>
//Three bodies in a single-occupancy white-tiled bathroom on a weeknight. The challenge slip has translated cleanly across both their cortexes. Sofia's loosened pattern-detection has filed the slip as a dare it intends to win, and the host's own cortex has stopped negotiating with what is happening to it. Marco is in the middle of something he could not have predicted at six PM. The yield window is wide and the timer is on the bar's last-call clock.//
<</say>>
<<say "char-chen" "Elena">>
<i>(dropping her cardigan onto the closed toilet seat lid, glass set on the sink, eyes hard on Sofia)</i> All right, slut. You said back it up. On your knees with me. Let him decide.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(blouse already over her head, bra dropping after it, hands moving fast)</i> Bitch. Fine. He's got both of us. He tells us who's better when he comes.
<</say>>
<<say "char-chen" "Elena">>
<i>(unbuttoning her own jeans, kicking them off, eyes briefly at Sofia's bare chest)</i> The skirt stays on, Soph? You afraid to show him what's underneath?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small laugh, hand briefly at the hem of her skirt)</i> The skirt stays on, El. I do not need to show anything underneath to win this.
<</say>>
<<say "char-npc" "Marco">>
<i>(belt open, slacks pushed down, back against the door, looking between them)</i> ...okay. Christ. Both of you. ...is this real, or am I going to wake up in the hospital.
<</say>>
<<say "char-chen" "Elena">>
<i>(dropping to her knees, hand briefly at the base of his cock)</i> It is real, Marco. The slut on the left and me. You will know who is better in three minutes.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(kneeling beside Elena, mouth already at the head of his cock, eyes up at him)</i> Watch her, sir. She is the one who started this. //Mmh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(tongue at the side of the shaft alongside Sofia's mouth)</i> //Mmh.// He is watching you, slut. Show him what you can do.
<</say>>
<video class="scene-video" src="media/video/sofia-threesome-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/sofia-threesome-1.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(pulling off briefly, hand briefly at the base of his cock, eyes hard at Elena)</i> And you call this sucking a dick, El? I will show you how it is done.
<</say>>
<p>Sofia takes him down to the base in one slow practised swallow, no gag. Her head starts working up and down fast, lips at his hip on every down-stroke, the head of his cock pulling all the way out and all the way back on every up-stroke.</p>
<<say "char-vasquez" "Sofia">>
<i>(deepthroating, mouth wet, throat audibly open)</i> //Gwak. Gwak. Gwak. ...schluuurp.//
<</say>>
<<say "char-npc" "Marco">>
<i>(strangled-low, hand briefly tightening at the back of Sofia's head, head tipped back against the door)</i> ...oh my god. ...//AHhhh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling Sofia off by the shoulder, taking him into her own mouth all the way down)</i> Bitch. I am not letting you win this easily. Give it to me. //Schluuurp.//
<</say>>
<p>Elena takes him down to the base, no gag. Sofia drops a half-pace lower and gets her mouth on his balls, tongue working.</p>
<<say "char-chen" "Elena">>
<i>(deepthroating, sound carrying, eyes briefly up at Marco)</i> So you like... //mpphh, gwak,// my technique better, sir, right? //Schluuurp.//
<</say>>
<<say "char-npc" "Marco">>
<i>(strangled-low, both hands at the backs of both heads, eyes briefly at the ceiling)</i> It is... fucking impossible. You two are some crazy amazing sluts.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(lifting off his balls, hand at the base of his cock, looking up at him)</i> Pace yourself, Marco. Sit down. Slut, I want to see you mounting him. Let me see if you actually know how to do it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small smile, lifting her mouth off, picking her cardigan off the toilet lid and dropping it on the sink)</i> Watch and learn, Soph. Marco, on the lid.
<</say>>
<p>Marco sits. Elena drops her underwear, climbs onto his lap, palm flat against the white tile behind his head for balance.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-threesome-2.webp" alt="Inside the small south-side bar's single-occupancy bathroom. White-tiled walls, dark amber tile-grout, a single-tube fluorescent overhead. Elena in cowgirl position on a mid-thirties white man sitting on the closed toilet seat lid, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, naked, slim build, small breasts, one hand briefly flat against the white-tiled wall above his shoulder for balance, the other on his shoulder, mid-stroke vaginal penetration with his cock inside her, eyes briefly closed with the small composed half-cry. The man underneath her seated on the toilet seat lid, plain henley still on, slacks at his ankles, hands at her hips. Sofia on her knees on the white-tiled floor in soft focus background, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair, naked from the waist up, full breasts with dark brown nipples, one hand visible under the hem of her dark skirt, eyes on Elena with the small composed register of a woman waiting her turn. Documentary photography, anatomically correct, NSFW glamour photography, three-subject composition, eye-level medium-tight shot, cool-white bathroom lighting.">
<<say "char-chen" "Elena">>
<i>(small half-cry, sliding down on his cock, palm flat on the tile)</i> ...//Christ//. Marco. Hands on my hips, not my ass. Hips.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(from the floor, hand under her own skirt, eyes on Elena)</i> Look at her, sir. Look at that careful technique. She fucks like she runs a lab meeting.
<</say>>
<<say "char-chen" "Elena">>
<i>(half-laugh through the cry, hips picking up)</i> Better than fucking like you cannot stop apologising for it, slut. Marco, faster.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small laugh, hand still under her skirt)</i> Oh, fuck you, El. Marco, do not give her what she is asking for. Slow it down.
<</say>>
<<say "char-npc" "Marco">>
<i>(strangled-low, hands at Elena's hips, eyes briefly to Sofia)</i> Ladies, I am following orders here. Whichever order is, //fuck//, louder.
<</say>>
<<say "char-chen" "Elena">>
<i>(working her hips down hard on him, palm flat on the tile)</i> Mine, Marco. Faster. Slut, watch this and learn.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(coming on her own hand, muffled into her wrist)</i> //Mmh.// Bitch.
<</say>>
<<say "char-npc" "Marco">>
<i>(grip tightening at Elena's hip, the wave catching)</i> Elena. Elena, I am, //fuck//,
<</say>>
<<say "char-chen" "Elena">>
<i>(lifting off him in one composed motion, the wave broken right at the edge, climbing off the lid)</i> Off. Soph, get up. Your turn. He is, I would estimate, ten seconds from finishing.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(scrambling up off the floor, lips already parted)</i> Bitch. Marco, stand up. ...there. Mouth, sir. You can pull her hair if you need to, El, I do not mind an audience.
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping behind Sofia, hand at the back of Sofia's neck, half-laughing)</i> Three pulses, Marco. We are counting. Slut, do not swallow yet.
<</say>>
<<say "char-npc" "Marco">>
<i>(off the lid, hand briefly at the base of his own cock, eyes briefly at the ceiling)</i> ...//Christ//. Sofia. ...Sofia, I am, I am going,
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(muffled, mouth full of cock)</i> //Mmh. Mmh. Mmh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(hand still at the back of Sofia's neck, watching the count)</i> Hold it, slut. Open. Show me.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(pulling off slowly, lips closed around what is in her mouth, standing up, turning to face Elena)</i> //Mmh.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/sofia-threesome-3.webp" alt="Inside the small south-side bar's single-occupancy bathroom. White-tiled walls, mirror in soft-focus background. Two women in close-up mid-cum-swap kiss. Sofia on the left, late-thirties Hispanic-American woman with shoulder-length wavy dark-brown hair, naked from the waist up, full breasts with dark brown nipples, lips parted against Elena's mouth, a small visible trail of cum at the corner of her lower lip. Elena on the right, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, naked, slim build, small breasts, one hand at the back of Sofia's neck, mouth open against Sofia's, tongue briefly visible at the front of the kiss with the cum-swap mid-pass. A mid-thirties white man in soft-focus background leaning his shoulder against the bathroom door with his slacks already half pulled back up, watching the kiss with a small breathless half-laugh. Documentary photography, anatomically correct, NSFW glamour photography, two-subject close-up cum-swap composition, eye-level tight shot, slightly desaturated cool-white bathroom lighting.">
<p>Elena kisses her, open-mouthed, tongues meeting, the cum passing between them. Sofia swallows what is left. Elena swallows what she took.</p>
<<say "char-chen" "Elena">>
<i>(thumb catching the trail at the corner of Sofia's mouth, eyes still on her)</i> Round goes to you, slut. He gave it up to you.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small composed laugh, hand briefly at the side of Elena's face)</i> Round goes to me, bitch. Marco, settle it. Who got you off harder. Pick.
<</say>>
<<say "char-npc" "Marco">>
<i>(small breathless laugh, getting his slacks back together, looking between them)</i> ...both of you. Honestly. Both. I cannot pick. That is my answer. Both.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-laugh, eyes briefly to Elena and back to Marco)</i> Wrong answer, sir. Out.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, opening the deadbolt for him)</i> Door is unlocked, Marco. Indecisive men do not get a second round. Tip the bartender on your way out. Heavy.
<</say>>
<<say "char-npc" "Marco">>
<i>(small awkward half-laugh, slacks fully back together, slipping past Elena toward the door)</i> Right. Right, fair. Goodnight, ladies. ...Christ.
<</say>>
<p>Marco lets himself out. The deadbolt clicks shut behind him. For a long beat Sofia and Elena just look at each other across the small white-tiled bathroom. Then Sofia starts laughing first, then Elena, both of them half-bent over with the kind of laugh that comes out of two friends who have just done something extraordinary together and need to be loud about it.</p>
<<say "char-vasquez" "Sofia">>
<i>(laughing, hand briefly at her ribs)</i> Slut. You absolute slut, Elena. You lifted off him on three seconds notice. Three seconds.
<</say>>
<<say "char-chen" "Elena">>
<i>(laughing, leaning against the sink)</i> Bitch. You went deepthroat first round to win on flair. You have not been on a knee like that since college.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, half-wiping her eyes)</i> Oh god. Oh god, El. ...what was that. What was the last three minutes.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, the laugh easing into something quieter)</i> That was, Soph, the most fun I have had in this city in a long time. Not even close.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small composed beat, leaning her shoulder against the bathroom door, the warm-friend register going somewhere thoughtful)</i> ...yeah. Me too. ...El, can I say something. The last few weeks I have felt different. I do not know how to put it. Like I have been somebody else, but also like I am finally me. Does that make any sense.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, eyes briefly to her, the lab-PI register translated into something gentle)</i> ...yeah, Soph. That makes sense.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small genuine smile)</i> Something has changed, I think. I do not know if it is the wine or the year or you or what. But I think for the better. ...let us get out of this bathroom before the bartender comes to check on us.
<</say>>
<p>They get dressed in the next two minutes. Elena splashes water on her face at the small porcelain sink. Sofia rinses her mouth, fixes her hair. Elena lets Sofia exit the bathroom first.</p>
<p>Back at the two-top they finish the third pour. Sofia's hand stays briefly on Elena's wrist across the table without comment.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Highest single-evening yield on the Sofia channel to date. The challenge slip metabolised into a contest that neither woman was prepared to lose, and the host's own conditioning floor has shifted with it. The body has signed off on competing with her best friend over a stranger's cock and the cortex has not yet built a narrative to file the memory under. Sofia's marriage-shelf has crossed every threshold it had. The cum-swap kiss is the load-bearing surface; tomorrow Sofia will wake with the taste of it at the back of her mouth and no way to put words to what it means. The wiring is permanent.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+5 biomass</span>. Three-body orgasm-energy haul across the bathroom and the cum-swap kiss; the most concentrated single-evening yield on the Sofia channel.</p>
<p><span class="biomass-gain">+3 max biomass</span>. Sofia's nervous system permanently re-anchored against the wedding-band reflex; the bathroom is now a conditioning surface across all future visits.</p>
<<conditioningFeedback "pheromone" 2 "Sofia, the challenge-and-competition saturation crossed every threshold the evening had">>
<<conditioningFeedback "dream" 1 "Sofia, tonight's REM will compose itself around Elena's mouth on hers with Marco's cum between them">>
<<conditioningFeedback "psionic" 1 "Sofia, the cortex's running-assumption about what she will do for a contest has shifted permanently">>
<<conditioningFeedback "pheromone" 1 "Elena, the bathroom contest counted as a conditioning surface in its own right">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Drive home, the cardigan still warm against your shoulders, the contest filed somewhere your cortex cannot reach" "Ch2-Vessel-Loop-Home">>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- Sofia drinks: T3b Bar Orgy (second-visit ambush via Estrus Trigger) ----
Second visit, biofilm coat from first visit has been working through
the bar's regulars for several days. Estrus Trigger cast on the
biofilm-primed room tips the saturation past the holding-threshold;
bartender locks the front door, the orgy register opens. Sofia is
the load-bearing surface; Chen participates and directs from the
corner two-top. Skips Wrap, inlines booking-reset triple, routes to
Loop-Home. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "The small south-side neighbourhood bar, second visit, the biofilm coat from the prior visit working through every body in the room, the bartender locking the front door from the inside">>
<<set _firstTimeHere to not ($ch2Events.sofiaDrinksOrgyFired or false)>>
<<if _firstTimeHere>>
<<spendBiomass 3 "sofia-drinks-orgy-estrus">>
<<set $ch2Events.sofiaDrinksOrgyFired to true>>
<<set $ch2Events.sofiaDrinksMorningRecall to true>>
<<addConditioning "vasquez" "pheromone" 3>>
<<addConditioning "vasquez" "dream" 2>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 4 "sofia-drinks-orgy">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 3>>
/* +2 Vasquez suspicion: the morning-after gaps in memory will not stay
buried; Sofia will know something happened and not ask. */
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 2>>
/* Inline booking-reset triple, this passage skips Wrap and routes home. */
<<set $ch2Events.sofiaDrinksFired to true>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening, The bar tips</div>
<div class="lab-location">The small south-side bar at the second visit, the biofilm coat from the prior visit now several days into the bartender's and the regulars' and the four-top patrons' nervous systems, the estrus cascade now venting from the host's exhale into the room's small volume of air</div>
<<say "char-hivemind" "Hivemind">>
//Second visit. The biofilm coat the host laid down on the prior evening has been working slow across every body that has passed through this room for the last several days. The bartender, the two regulars at the counter, the couple at the four-top, the cook in the back, each of them has been carrying a small private warmth they could not name. The room has been holding at threshold for the host to come back. The estrus cascade vents now, slow and invisible, off the host's exhale into the bar's air-handler, and the biofilm-primed nervous systems in the room receive it as the signal they have been waiting for. The saturation tips. The room's costume cracks.//
<</say>>
<p>Elena and Sofia are at the same corner two-top, the same red wine, the bartender across the room raising his small acknowledging hand the way he has been doing for the last several of Elena's visits. Then the cascade lands. The bartender freezes mid-pour, sets the bottle down, crosses to the front door, locks it from the inside, turns the //Open// sign to //Closed//, and walks back behind the bar with the small unhurried efficiency of a man whose weeknight close just got rewritten.</p>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-laugh, glass paused mid-lift)</i> ...Elena. Did he just close the bar at nine o'clock.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, glass set carefully down, hand sliding across the two-top to Sofia's wrist)</i> Mmm, he did, Soph, and honestly that is fine by me, so come here, give me your hand.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, hand turning under Elena's, eyes flicking between Elena's mouth and her own glass)</i> El, what are we... //god//, what is going on with me tonight, the wine is doing something to my...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling Sofia's hand the rest of the way across the table, leaning in)</i> Stop talking, Soph, just come here, you have wanted this for years and so have I.
<</say>>
<p>Elena leans across the two-top, Sofia meets her halfway, and their mouths land open and wet, hands at the back of each other's necks, the small slick sounds of two women who have stopped composing themselves for the room.</p>
<<say "char-vasquez" "Sofia">>
<i>(briefly off Elena's mouth, breath catching, then leaning back in)</i> //Mmh//, El, //slrh//, //mmh//, Elena what are we doing... oh fuck it.
<</say>>
<<say "char-chen" "Elena">>
<i>(thumb at Sofia's jaw, pulling her back in)</i> Yes you have, Soph, so put your mouth back where it was and let me kiss you properly.
<</say>>
<p>Their mouths land again, slower, deeper, the wet click of tongues working and the small breath-stops between exchanges. //Mmh, slrh, mmh.// Sofia's hands find the buttons of Elena's cardigan and start opening them while Elena's hand slides under the hem of Sofia's blouse and across her ribs and up to the underside of her bra, both of them past the point where their cortex has any say.</p>
<<say "char-hivemind" "Hivemind">>
//The two women at the corner two-top are the room's permission slip. The cascade has named its starting gun, and the bar starts undressing in echo across the next four minutes.//
<</say>>
<p>The four-top couple starts undressing each other across the table, the two regulars at the counter unbutton each other's shirts without breaking eye contact, the cook crosses to the candle-holder shelf and unbuckles his apron and drops it on the floor. At the table nearest to Elena and Sofia, a young blonde woman stands up, pulls her dress off over her head in one motion, climbs naked onto the surface of the table, kneels on the wood, and pulls the zip on the slacks of the man sitting across from her. Her mouth is around him before he has put his glass down. A second man slides over from the counter, a third walks across from the cook's corner, and the three of them are at her hips and her shoulders and her mouth inside the next minute.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-bar-orgy-1.webp" alt="Inside the small south-side neighbourhood bar at second-visit ambush register. A young woman kneeling naked on top of a small four-top wooden table, mid-twenties Eastern-European woman with long dark blonde hair and pale freckled skin, bare breasts visible, mouth around the cock of a mid-thirties man seated across the table with his slacks open. A second man, mid-forties, standing alongside the table with his hand at the back of her neck and his cock out at her cheek. A third man approaching from behind her with his belt half-undone. In the soft-focus background Elena and Sofia at the corner two-top mid-kiss, the four-top couple already undressing, the candle-holder shelf with the cook's apron on the floor in front of it. Wooden tabletops, amber pendant lights, deep amber and warm-brown register. Documentary photography, candid, NSFW glamour photography, multi-subject gangbang composition on a bar table.">
<<say "char-npc" "Patron-Table">>
<i>(muffled, mouth full of the first cock, head bobbing slow)</i> //Mmh, glnh, mmh, slrh, glnh.//
<</say>>
<<say "char-npc" "Patron-Side">>
<i>(strangled, hand at the back of her head, gesturing the third man closer)</i> Pretty thing kneeling on a wooden table, look at the picture she is making, mate, take that one all the way down, sweetheart, all the way to the back, hand off it, let your throat do the work.
<</say>>
<<say "char-npc" "Patron-Table">>
<i>(briefly off the first cock, breath ragged, voice carrying, hand at the base stroking him through the gap)</i> //Mmh//, yes, all three of you, get over here and use me, one in my mouth, one in my cunt, one in my hand at all times, do not let any of you stop moving.
<</say>>
<<say "char-npc" "Patron-Side">>
<i>(strangled, lining the third man up behind her, hand briefly at her hip)</i> You heard her, mate, get in behind, no warm-up, she said no stopping. Open your mouth wider, sweetheart, tongue flat, all of it.
<</say>>
<<say "char-npc" "Patron-Table">>
<i>(switching to the second cock, gagging slightly, hand back on the first one to keep him stroked)</i> //Glnh, mmh, slrh, glnh, mmh.//
<</say>>
<<say "char-npc" "Patron-Table">>
<i>(briefly off the second cock, tongue flat, eyes up at all three)</i> Watch then, all of you, watch your friend take three at once, I am not going home until every one of you has been all the way in me somewhere.
<</say>>
<p>Sofia has come off Elena's mouth by now. The bartender is at her shoulder, the cook on her other side, both of them already half-undressed. Their hands find Sofia's blouse and her bra, Sofia half-laughs into Elena's collar one last time and turns to face them both, and she has a cock in each hand inside thirty seconds.</p>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-laugh, hands stroking, eyes flicking between the bartender and the cook)</i> ...okay, okay two of you, two of you at the same time, look at what we are doing here, look at me holding both of you at once.
<</say>>
<<say "char-npc" "Bartender">>
<i>(strangled, hand at the back of Sofia's neck)</i> //Christ//, sweetheart, you are going to take both of us, are you not, look at you with both of us in your hands, look at what we have all been waiting for.
<</say>>
<<say "char-npc" "Cook">>
<i>(low, hand finding her hip, gesture briefly toward her left hand)</i> She is engaged, you know that mate, that rock on her finger right there, we are about to fuck somebody's fiancée in her friend's regular bar.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(eyes briefly closing, hands still working both cocks, the small breathy half-laugh)</i> Yes, yes I am, I am engaged, I am the woman in the engagement photo on his fridge, so call me what I am tonight, both of you, I want to hear it out of your mouths.
<</say>>
<<say "char-npc" "Bartender">>
<i>(strangled, leaning down toward her face)</i> Cheating little slut. You are a fucking cheating little slut that will let your man taste my cum off your mouth when you kiss him good morning tomorrow, so hurry up, sweetheart, and start sucking this dick.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, dropping to her knees on the wooden floor between them, both cocks at her face)</i> //Mmh//, yes, exactly that, say it again, both of you, take turns in my mouth, do not let me catch my breath, treat me like the cheating little slut I am tonight.
<</say>>
<video class="scene-video" src="media/video/sofia-bar-orgy-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/sofia-bar-orgy-2.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(muffled, mouth switching between the bartender and the cook)</i> //Mmh, glnh, mmh, slrh, glnh.// Yes, both of you, do not let up, the engaged-bride photo on his fridge has nothing on this, look at me. //Glnh.//
<</say>>
<<say "char-npc" "Cook">>
<i>(briefly pulling her off the bartender, hand under her chin tilting her face up to him, voice low and conversational)</i> I bet your fiancé does not taste this good, sweetheart. You are a pro at this though, are you not. How many cocks are you sucking off behind his back. Does the poor bastard ever get his own turn.
<</say>>
<<say "char-npc" "Bartender">>
<i>(low, hand briefly cupping Sofia's breast from the side)</i> Cheating slut. Cheating little fucking slut. Choking on a stranger with that ring still on her finger.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(briefly off the bartender, both hands now stroking, voice ragged)</i> Yes, that is it, both of you keep saying it, every time one of you pulls out say it again, I want to hear cheating slut every single time I switch mouths.
<</say>>
<p>Across the room, Elena is on her knees on the wooden floor in front of one of the regulars from the counter, hand at the base of his cock, mouth working the head. She gives blowjobs the way she runs a lab, methodical, eye contact, hand and mouth in deliberate alternation. The regular's hand finds the back of her head; Elena's other hand reaches up to his thigh and stays there.</p>
<<say "char-chen" "Elena">>
<i>(briefly off his cock, voice low and matter-of-fact)</i> Sit down on the chair behind you, I want to ride you, do not make me wait.
<</say>>
<<say "char-npc" "Regular 1">>
<i>(strangled, sitting back into the wooden chair, hand still in Elena's hair)</i> //Christ//, the way you... //Christ//, sweetheart, the way you talk to me. Sit on it. Sit on it now.
<</say>>
<p>Elena steps over his lap, hand briefly steadying herself on his shoulder, slides down onto him in one careful motion, and stays there for two seconds with her eyes briefly closed before she starts moving. The second regular crosses the room toward them with the small private weight of a man who has been watching and waiting. He stands behind the chair, hands at her hips, and Elena looks back over her shoulder at him.</p>
<<say "char-chen" "Elena">>
<i>(small composed half-laugh, riding the man under her, head turned toward the one behind her)</i> Yes, both of you, take your time and line yourself up properly, I am not in any hurry tonight.
<</say>>
<img class="scene-img" src="media/scenes/vessel/sofia-bar-orgy-3.webp" alt="Inside the small south-side neighbourhood bar at second-visit ambush register. Elena riding on top of a mid-forties white man seated on a wooden chair, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, slim build, slate camisole pushed up under her arms, bare breasts visible, sliding down onto the man's cock cowgirl. A second mid-forties white man standing behind the chair with his hands at Elena's hips, his cock visible lining up against her from behind for double penetration. Elena looking back over her shoulder at the second man with a small composed half-laugh. In the soft-focus background Sofia visible on her knees at the bar counter between the bartender and the cook. Amber pendant lights, deep amber register, several half-dressed bodies in the wider frame. Documentary photography, candid, NSFW glamour photography, DP composition with Elena as foreground subject.">
<<say "char-npc" "Regular 2">>
<i>(low, hand at the small of her back, lining up behind her)</i> //Christ//. //Christ//, the way you ride him while you watch your friend across the room get her face fucked.
<</say>>
<<say "char-chen" "Elena">>
<i>(half-laugh, eyes briefly across the room at Sofia at the counter)</i> Mm, she is doing well over there tonight, look at her go.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(from across the room at the counter, on her knees between the bartender and the cook, head turning fast left and right between their cocks, both shafts wet and shining)</i> //Gwak. Schlurp. Gwak gwak. Mmh. Schlurp. Gwak.//
<</say>>
<<say "char-npc" "Regular 1">>
<i>(strangled, underneath, hand on her thigh)</i> //Fuck//, sweetheart, most women in your seat would not be cracking jokes about their friend right now. You are very chill for a woman who is about to take both of us at once.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-cry as the second regular lines up, both hands at the lap-man's shoulders)</i> //Mmh//, that is it, slow first, both of you... //god//... both of you at once, yes, slow.
<</say>>
<p>The orgy runs across the next forty minutes the way an open faucet runs. Bodies trade positions. Glasses get knocked over, two bottles of wine spill across the wooden floor, the candle-holders burn down one by one, a beer glass tips on the counter and pools across Sofia's ribs. The bartender pours another tray of dark amber shots between rounds and the room takes them down without sitting up.</p>
<<say "char-hivemind" "Hivemind">>
//The cascade is past peak. The bodies in this room are now at the limit of what the estrus register can sustain. The cortex on each of them is browning out. The bodies will continue for another twelve minutes after the cortex stops keeping notes. Then they will simply stop.//
<</say>>
<p>The brownout arrives one body at a time. Sofia goes first, half-laughing on the wooden counter under the bartender, head turning toward Elena across the room, eyes briefly half-closed and not opening again. Elena follows two minutes later on the chair with the second regular still behind her and the lap-man still under her, head dropping to his shoulder. The young woman from the table slumps into the corner booth between two of her three men. The cook lies down on the floor mid-stride. The bartender flips the lights one notch lower without sitting down before he himself falls back against the back counter. The bar settles into a dim slow silence, twelve bodies in the room going still where they are.</p>
<hr class="scene-break">
<p>Elena wakes at three in the morning with her cheek against the wooden chair-back and the lap-man's cum still on her thighs and someone else's hand still on her hip and the sour smell of spilled wine and beer and bodies in her hair. Several patrons are asleep around the room. Sofia is across the counter, the dark skirt around her waist, the bartender's cum visible across her stomach and her ribs and the lipstick smear of someone else's mouth on her shoulder, the beer-and-wine pool on the counter under her hip. Sofia's eyes open at the same moment as Elena's. They look at each other across the room.</p>
<<say "char-vasquez" "Sofia">>
<i>(small composed half-whisper across the room, the half-laugh trying to settle and not getting there)</i> ...El.
<</say>>
<<say "char-chen" "Elena">>
<i>(small composed half-smile, sitting up slowly, hand briefly to her own forehead)</i> Yeah, up Soph, we are leaving, find your clothes and let us get out of here before anyone wakes up.
<</say>>
<p>They find their clothes in the wreckage. Sofia's bra is on the candle-holder shelf. Elena's cardigan is under the four-top. Both of them get dressed without saying anything. The bartender is still asleep against the back counter. Elena drops a folded bill on the wooden bar on the way out. Sofia unlocks the front door from the inside.</p>
<hr class="scene-break">
<<say "char-chen" "Elena">>
<i>(at the kerb at three-twenty, hailing a cab)</i> Cab is here, Soph, get in, we are not talking about this on the way home.
<</say>>
<p>Sofia gets in. She does not say a word the whole ride home, and Elena does not bring it up. The cab pulls past four blocks of empty Cedar Crescent. Sofia's head goes against the window. Elena looks straight ahead. Neither of them needs to put the night into a sentence yet, and both of them seem to agree without saying so that this is the right call. Elena pays the driver in cash and walks Sofia upstairs. Sofia is in the slate-grey duvet and asleep before Elena has finished brushing her teeth.</p>
<<say "char-hivemind" "Hivemind">>
//Highest single-evening yield I have run on the Sofia channel. The bar is now permanently a saturation surface. The biofilm will hold for several more days, the bodies in the room tonight will be carrying the elevated baseline forward, the cortex on each of them filing the night under //I drank too much, I am not doing that again// and not pulling on the loose thread further. Sofia's nervous system has been re-anchored against every prior reference point about her marriage, her body, her capacity, her appetite. The wiring is permanent. The morning-recall thread will compose itself across the next several hours of REM. Sofia will wake tomorrow with the small private vigilance of a woman who knows something happened and has decided not to ask. Tomorrow's lab corridor is going to be a different room than yesterday's.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+4 biomass</span>. Bar-wide multi-participant saturation; highest single-evening yield on the Sofia channel.</p>
<p><span class="biomass-gain">+3 max biomass</span>. Sofia's nervous system permanently re-anchored; the bar is now a saturation surface across all future visits.</p>
<<conditioningFeedback "pheromone" 3 "Sofia, bar-wide saturation crossed every threshold the evening had">>
<<conditioningFeedback "dream" 2 "Sofia, tonight's REM will compose itself across the bar's bodies, not just one">>
<<conditioningFeedback "psionic" 1 "Sofia, the cortex's running-assumption about her appetite has shifted permanently">>
<p><span class="suspicion-gain">+2 Sofia suspicion</span>. Sofia will wake remembering enough to know not to ask.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Cedar Crescent, home, the slate-grey duvet pulled up over both of you" "Ch2-Vessel-Loop-Home">>
<<addBiomass 2 "repeatable">>
<</link>></div>
/* ---- BOWEN ESCAPE ROOM NIGHT — T1 (parallels SofiaDrinks T1) ----
Two-phase scene: cramped Victorian-study escape room + post-game
bar across the street. T1 prose authored; T2/T3 placeholders ride
the same tier-gate; skill menu mirrors Sofia drinks (Lure / Delve /
Spores / Transfer-Attraction / Nudge / Implant). */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('evening-sofia-shatter-followup', $day or 0)>>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment, the doorway, then the couch, then the bedroom">>
<<set $vessel.phase to "home">>
<<set $ch2Events.sofiaShatterFollowupDone to true>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 3 "sofia-shatter-followup">><</nobr>>
<div class="passage-title">The doorbell, after eleven</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's third-floor apartment, the doorway, then later the couch, then later the bedroom</div>
<p>The doorbell goes off after eleven on a weeknight, the way doorbells only go off when something has come apart somewhere. Elena pads to the door in the t-shirt she sleeps in and a cardigan she has thrown on top, looks through the peephole, and finds Sofia standing in the corridor with her coat still on over a hoodie, her hair in the workday knot but the knot half-fallen, a small overnight bag at her feet. Her face is dry. Her face has been dry for a while, the way a face is dry when the crying part of the evening happened earlier and elsewhere.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-at-elena-door.webp" alt="Late-night view through Elena's apartment doorway: Sofia in her late thirties, Mexican-American, shoulder-length dark brown wavy hair pulled into a half-fallen workday knot, wearing a long charcoal coat over a faded hoodie and jeans, a small soft overnight bag at her feet, standing in the dim corridor under a single hallway sconce. Her expression is the small composed wreckage of a woman who has been crying somewhere else for a while and has stopped, eyes red-rimmed but dry, the small private exhaustion of someone who has decided where she is going and has gotten herself there. Elena partially in foreground, back of her head and shoulder visible, in a long grey cardigan over a t-shirt, opening the door. Documentary candid photography, warm lamp light from inside the apartment, the small private moment of an arrival.">
<<say "char-vasquez" "Sofia">>
<i>(at the threshold, the bag still at her feet, jaw set, both hands tight at her coat collar)</i> ...Elena. ...I am sorry, it is late, I know. ...I went through the apartment tonight. ...the desk, the laptop, the phone he left on the coffee table when he went out, the gym bag, the inside of his coat pockets. ...I did not find anything, Elena. Nothing. ...and I do not believe him anyway. I have stopped being able to. I do not know exactly when it happened. ...can I come in?
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping back, opening the door wider, eyes on Sofia)</i> ...come in. Coat off. Bag in the hall, leave it, I will move it later. ...there is wine.
<</say>>
<p>Elena puts the small bag by the umbrella stand and walks Sofia through to the kitchen the way she walks Sofia through to the kitchen on every visit. She gets the wine out of the cabinet, gets two glasses down, pours, hands one over. Sofia drinks half of the first glass standing up before either of them speaks again, then sets the glass down on the counter and lets her shoulders down a half-inch.</p>
<<say "char-vasquez" "Sofia">>
<i>(at the counter, half a glass of wine in her hand, half a wry smile starting to pull at her mouth)</i> ...I do not have proof of anything, Elena. ...I have searched, and I have searched honestly, and there is nothing on his phone and nothing in his desk and nothing in the cologne that I can connect to a name. ...and I do not care anymore. ...that is the actual problem. I do not care whether he is or he is not. I am done being held there. ...I am sorry to dump this on you on a weeknight.
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, leaning against the counter beside her, hand sliding across to rest on the back of Sofia's wrist)</i> ...you are not dumping anything on me. ...I have been waiting for you to bring this here. I have been waiting a long time, Sofia. ...stay tonight. ...however many tonights you need.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(quiet, looking down at Elena's hand on her wrist)</i> ...okay. ...okay, Elena. ...thank you.
<</say>>
<p>They drink the rest of the bottle on the couch. Sofia leans her head against Elena's shoulder at some point and stays there. Elena's cardigan ends up around Sofia's shoulders instead of her own. The conversation goes from Andrés to the lab to a story from college Elena has not heard Sofia tell out loud in years, and then it stops being a conversation, because Sofia has lifted her head off Elena's shoulder and is looking at her from very close.</p>
<<say "char-vasquez" "Sofia">>
<i>(close, eyes on Elena's mouth, the wine warm in her)</i> ...Elena. ...I have been thinking about you. ...for longer than I want to admit. ...is this okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, already leaning in)</i> ...yes, Sofia. ...come here.
<</say>>
<p>Sofia kisses her on the couch. It is the kiss of a woman who has been holding it down for a long time, slow at the start and then not slow, Sofia's hand at the back of Elena's neck, Elena's cardigan slipping the rest of the way off Sofia's shoulders. When they come up for breath Elena takes Sofia's hand and walks her to the bedroom without speaking, and Sofia follows.</p>
<<say "char-hivemind" "Hivemind">>
//Sofia did her own search tonight, and the search did its work. The cortex went looking for the piece of paper that would justify the leaving and found nothing, because there is nothing on the paper. There was never going to be. ...what was always going to be there, sitting in the chair the cortex had not yet thought to look in, was the host. Sofia has wanted Elena for a long time, since the night in the break room when the senior PI's hand stayed on her wrist a fraction longer than it had to, and the wanting has been waiting on the cortex to let it surface. The cortex has now arrived at the conclusion the body has had ready for it for weeks. ...the host is finally going to get exactly what she has wanted, and the body in her bedroom tonight is the body of a woman who came to her own decision for reasons she will spend the rest of her life believing were hers.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/sofia-elena-bedroom.webp" alt="Elena's apartment bedroom in warm low lamp light, the bed unmade. Dr. Elena Chen, 32-year-old Chinese-American woman with shoulder-length black hair down, slim dark-acetate rounded-rectangular glasses, pale skin, slim small-breasted frame, partially undressed in just the loose grey t-shirt she sleeps in, lying back on the bed with her legs open. Dr. Sofia Vasquez, late-30s Mexican-American woman with shoulder-length dark brown wavy hair down out of her workday knot, full lips, late-30s mature femme frame, undressed down to a thin tank top and underwear, kneeling between Elena's thighs with her head down at Elena's pussy, Elena's hand at the back of Sofia's head. Both women's eyes closed in mutual focus. Soft photorealistic intimate NSFW photography, candid bedroom register, the small private moment of two close friends becoming lovers.">
<p>They do not talk much, in the bedroom. Sofia goes down on Elena first, slow and unhurried, Elena's hand at the back of her head, finally letting herself have what she has been wanting for years. Then Elena pulls her up and turns her over, and the second half of the hour is slower still. There is wine in both of them and the years of friendship under it, and the years of wanting under the years of friendship, and the apartment around them is quiet.</p>
<<say "char-vasquez" "Sofia">>
<i>(after, head against Elena's chest, voice low and warm)</i> ...okay. ...so this happened, Elena. ...I am going to sleep here tonight. ...I do not know what I am going to do about Andrés yet. ...one thing at a time.
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, a hand in Sofia's hair)</i> ...one thing at a time. ...go to sleep, Sofia.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia's wiring now points at the host, deeper than it pointed at Andrés on his best day, and the re-pointing is the permanent thing. The cologne-on-the-collar question is closed. ...what Sofia does about Andrés in the next several days is hers to figure out. She may take a week, she may take a month, she will go back to that apartment tomorrow and sit with the practical question of how to unwind a half-decade of shared lease and shared furniture. ...the answer the body has already decided on, underneath the practical question, is the host. ...and the host's apartment has Sofia in it tonight, and the host's bed has Sofia in it tonight, and the room around both of them is going to feel exactly the same way the next time Sofia walks back through the door.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, the host as the answer to the question her search tonight opened">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Sleep, Sofia at her shoulder|Ch2-Vessel-Loop-Home]]</div>
/* ============================================================
SUNDAY EXPERIMENTATION TALK-THROUGH — Elena pitches Sofia
on using her as the dream subject during the Sunday night
research shifts. Mandatory one-shot. Gated on the Shatter
follow-up + the rat colony screening having come back clean
+ Sofia psionic at the current cap (the host has wired her
deep enough that the cortex will say yes to the proposal).
In-fiction: the rat colony came back clean, the federal
timer is still running, and Elena has a candidate she can
actually use, sitting on her couch every night this week.
The pitch is clean. Sofia signs off without negotiating.
Sets sofiaSundayExperimentUnlocked, which gates the
Sunday-night-shift content where Elena puts Sofia in the
scanner instead of (or alongside) the rats.
============================================================ */<<nobr>><<bg "bg-chen-living">>
<<run setup.markEventFired('evening-sofia-sunday-experiment-talk', $day or 0)>>
<<set $currentArea to "Cedar Crescent Apartments, Elena's couch, the phone, Sunday afternoon">>
<<set $vessel.phase to "home">>
<<set $ch2Events.sofiaSundayExperimentTalk to true>>
<<set $ch2Events.sofiaSundayExperimentUnlocked to true>><</nobr>>
<div class="passage-title">Calling Sofia, the pitch</div>
<div class="lab-location">Elena's couch, the phone, Sunday afternoon</div>
<p>Sunday afternoon. Elena is on her couch with the laptop closed and the phone in her hand. The rat colony screening came back clean on Wednesday, the necropsies on Thursday and Friday came back the same, the federal team filed for an extension on the investigation Monday and the extension was approved, and the bis line on the night shift has been the most boring weekend of work she has had in a long while. ...she has been thinking about this pitch for three days. She dials Sofia.</p>
<p>Sofia picks up on the third ring.</p>
<<say "char-vasquez" "Sofia">>
<i>(on the line, voice low, a TV on faintly in the background)</i> ...Elena. Hi.
<</say>>
<<say "char-chen" "Elena">>
<i>(phone to her ear, level)</i> ...hey, Sofia. Is now an okay time? I want to talk to you about a work thing.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the TV going quieter on the other end)</i> ...now is fine. Andrés is out on a run. ...go ahead.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, even pace)</i> ...the colony is clean. The necropsies are clean. The conditioning trace from the breach is still in the building somewhere, and it is not in any of the rats, and the federal team is going to ask us inside the next month what our next line of inquiry is. ...I have a candidate I can actually use.
<</say>>
<<say "char-vasquez" "Sofia">>
...who?
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet)</i> ...you.
<</say>>
<p>Silence on the line, three seconds long, the TV faint on Sofia's end. Then a small breath out.</p>
<<say "char-chen" "Elena">>
<i>(continuing, steady)</i> ...same neural-pattern sweep we ran on the colony, on you, on the next Sunday-night shift to start with. Off the books, on the bis-line cover, paid out of the discretionary budget. If there is a conditioning trace on a human substrate in this building, you and I will find it together, and we will have it on paper before the federal team thinks to ask the question. ...the imaging is non-invasive, the dose is well under the annual occupational limit, you can withdraw at any time. ...I want you to think about it, Sofia.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(no pause)</i> ...okay, Elena. ...the answer is yes. I do not need to think about it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(quiet, an eager edge)</i> ...tell me when. I will be there. ...whatever you need.
<</say>>
<<say "char-chen" "Elena">>
<i>(a small grin she does not let into her voice)</i> ...next Sunday night, then. ...you understand this is also a thing I want very badly for myself, Sofia.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(immediate, soft)</i> ...I understand, Elena. ...whatever you want. ...I am pleased you asked.
<</say>>
<p>Elena ends the call and drops the phone on the cushion beside her. The apartment is quiet in the late-afternoon way.</p>
<<say "char-hivemind" "Hivemind">>
//She cannot refuse the host anymore. Anything the host says lands on Sofia Vasquez like scripture now. The wiring I have laid across the last several weeks has fused part of her frontal cortex into a permanent yes-circuit pointed at this one woman, and the part of her that was an independent decision-maker is, in any practical sense, gone. The damage is not reversible. ...casualties are necessary for the greater good. The host got her co-PI signed off on a human-subject protocol in under five minutes because the co-PI no longer has the capacity to refuse her. The IRB problem is closed. The bench problem is closed. The Sofia problem is closed.
The Sunday night shifts are now a dream-research lab with one human subject, and the human subject is the one variable the host has been wiring most carefully. ...the cortex calls the next Sunday shift //work// and the body calls it //the thing I am actually doing with her,// and the wiring will compound across both layers, and the federal team will be reading the final report in their hotel-room by the time they understand the shape of what was done in this building.//
<</say>>
<p><span class="biomass-gain">Sunday night shift: human-subject scanning unlocked. <i>Sofia is now the bench.</i></span></p>
<p><span class="delve-intel">From the next Sunday night shift onward, the bis-line cover passages will include the Sofia-as-subject branch. $ch2Events.sofiaSundayExperimentUnlocked is now true. Future authoring pass will write the actual scanner-bench scenes; for now the unlock is recorded and Sunday night content remains as previously authored.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Set the phone down, the rest of the afternoon ahead|Ch2-Vessel-Loop-Home]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility">>
<<set $vessel.phase to "work">>
/* Day-keyed so re-entry / history-nav cannot re-stack the suspicion or
re-flag the day. */
<<if ($ch2Events.workSkippedDay or 0) isnot ($day or 0)>>
<<set $ch2Events.workSkippedDay to ($day or 0)>>
<<spendBiomass `setup.nudgeCost()` "work-skip-nudge">>
<<addSuspicion "lab" 2>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 2>>
<<set _skipFirst to true>>
<</if>>
<</nobr>>
<div class="passage-title">Not today</div>
<div class="lab-location">BioGenesis Research Facility, Elena's desk, the docket open and ignored</div>
<<say "char-chen-thought" "Elena">>
<i>(the cursor blinking on the day's first task, her hand not moving toward it)</i> ...you know what, fuck it. Not today. I have given this place every single day for years, every weekend it asked for and a good few it did not, and the building is not going to fall down because I take one morning back for myself. Nobody dies if the docket waits until tomorrow. I have earned an hour that is mine, and I am going to go and spend it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host just decided her own time is hers to spend, and she could not have done that before. The wiring that kept her chained to the desk has been cut, and she has walked out from under it without once noticing the chain is gone. She will pay for the skipped morning in small institutional friction. She has decided, today, that she does not care.//
<</say>>
<<if _skipFirst>>
<p><span class="suspicion-gain">+2 lab suspicion</span> · <span class="suspicion-gain">+2 Vasquez suspicion</span>, a skipped workday does not go unnoticed.</p>
<</if>>
<hr class="scene-break">
<p>The lab can wait. The question is only what gets the morning instead.</p>
<<if $weekday isnot "Tuesday">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EVENT</span> [[Find Reyes, take the case-update on your own terms|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div>
<</if>>
<<if $weekday isnot "Wednesday">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EVENT</span> [[Call Dr Vasquez into your office|Ch2-Vessel-Event-WorkVasquezDropby]]</div>
<</if>>
<<if $weekday isnot "Thursday">>
<<if ($ch2Events.bowenCalledInSickDay or -1) is ($day or 0)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Go find Bowen at the bench <span class="lock-hint">Bowen called in sick today, he's too busy being Lucy to work</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EVENT</span> [[Go find Bowen at the bench|Ch2-Vessel-Event-WorkBowenBench]]</div>
<</if>>
<</if>>
<<if $weekday isnot "Friday">>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EVENT</span> [[Catch Halvorsen and Holloway in the corridor|Ch2-Vessel-Event-WorkHolloHalvCorridor]]</div>
<</if>>
/* ============================================================
LUNCH ORGY — capstone payoff scene
============================================================
Reached from the parent Loop-Lunch hub when all four lunch
Psychic Domination compulsions have been planted
($ch2Events.{vasquez,bowen,hollohalv,fedtable}LunchDomination
all true), Biological Architect skill is unlocked, and the
player has 20 biomass to spend. One-shot, not repeatable
($ch2Events.lunchOrgyFired locks it).
Five-passage flow, rotating focus:
1. FF Sofia, the conference table (Chen + Sofia)
2. MF Bowen, the conference chair (Chen + Bowen)
3. MMF Park + Reyes, the spitroast (Chen + both feds)
4. FFM Halvorsen + Holloway, the anal beat
5. Aftermath, cumplay and Hivemind close
Required acts: vaginal (1, 2, 3, 4), deepthroat (2, 3),
double blowjob (2 background, 3 foreground), spitroast (3),
anal (4), cumplay (5). All distributed; rotating background.
12 in-passage images + 1 aftermath image = 13 total.
============================================================ */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria">>
<<set $vessel.phase to "work">>
<<set $vessel.workLoc to "lab-cafeteria">>
<<set $ch2Events.lunchVisited to true>>
/* One-shot eating tick. Fires the first time the hub renders;
navigating back from a sub-passage does not double-feed. */
<<if not $ch2Events.lunchAteToday>>
<<set $ch2Events.lunchAteToday to true>>
<<addBiomass 5 "lunch">>
<</if>>
<<set _vasquezSurface to ($delveInfo and $delveInfo.vasquezSurface) or false>>
<<set _vasquezDeep to ($delveInfo and $delveInfo.vasquezDeep) or false>>
<<set _vasquezImplant to ($ch2Events and $ch2Events.vasquezImplant) or false>>
<<set _vasquezPheromone to ($ch2Events and $ch2Events.lunchPheromoneUsed) or false>>
<<set _nudgeProbe to ($ch2Events and $ch2Events.lunchNudgeProbe) or false>>
<<set _nudgeDeflect to ($ch2Events and $ch2Events.lunchNudgeDeflect) or false>>
<<set _nudgeAndres to ($ch2Events and $ch2Events.lunchNudgeAndres) or false>>
<<set _nudgeFood to ($ch2Events and $ch2Events.lunchNudgeFood) or false>>
/% Save migration: older saves performed Delve Deep on Vasquez before the
+1 psionic conditioning grant was added to that passage (2026-05-02).
Detect the condition (vasquezDeep done, vasquez psionic still 0) and
backfill once. Self-deduplicates on $ch2Events.vasquezDeepBackfill so
it never fires twice. Also defends against missing $conditioning.vasquez
on saves predating the start.twee init line. %/
<<if not $conditioning.vasquez>>
<<set $conditioning.vasquez to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<</if>>
<<if _vasquezDeep and $conditioning.vasquez.psionic is 0 and not $ch2Events.vasquezDeepBackfill>>
<<addConditioning "vasquez" "psionic" 1>>
<<set $ch2Events.vasquezDeepBackfill to true>>
<</if>><</nobr>>
<div class="passage-title">12:58 PM</div>
<div class="lab-location">BioGenesis Research Facility, Cafeteria, ground floor</div>
<img class="scene-img" src="media/scenes/vessel/cafeteria-lunch.webp" alt="The BioGenesis cafeteria at midday, beige tile floor and brushed-aluminium serving counter on the right, rows of laminate tables with grey plastic chairs receding into the background under flat fluorescent ceiling panels. A handful of employees seated at distant tables. Mid-shot of a quiet corner of the room.">
<p>The cafeteria is the cafeteria the way it has always been the cafeteria, the brushed-aluminium serving counter, the rows of laminate tables under flat fluorescent panels, the smell of warming-tray chicken folded into the smell of industrial dishwasher detergent. A handful of badge-clipped employees scattered across distant tables, eating the way the building eats: fast, alone, phone propped against a salt shaker.</p>
<p>Elena carries her tray to the corner, the corner she takes when the corner is free. A breaded chicken sandwich on a beige bun, a paper cup of lukewarm coffee, no sides. She sets the tray down, swings her legs under the table, and looks at the sandwich the way a person looks at a sandwich that is also a small task on a list of larger tasks. She picks it up. She takes a bite.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. Carbohydrate, protein, the trace fats the body has been running below all morning. The metabolism hits its first proper input since the bagel, and the cascade begins. Insulin rising, glucose entering circulation, the small chemical work of digestion routing surplus through every tissue I am currently anchored in. I take a portion off the top before her body finishes the accounting.//
//The conference room will be empty for another hour. There is real work to do at this table, and her sandwich is paying for it.//
<</say>>
<p><span class="biomass-gain">+5 biomass, Elena is eating</span></p>
<p>She is two bites in when Sofia comes through the cafeteria doors with her own tray balanced flat in one hand. Salad in a clear plastic clamshell, a bottle of water, a small container of dressing. She scans the room, finds her, and crosses to the corner without changing pace.</p>
<<say "char-vasquez" "Vasquez">>
<i>(setting the tray down opposite Elena, sitting)</i> Hey. Tell me you have eaten more than that.
<</say>>
<<say "char-chen" "Chen">>
<i>(swallowing, deadpan)</i> I have eaten exactly that.
<</say>>
<<say "char-vasquez" "Vasquez">>
Of course you have. <i>(she peels the dressing lid back, drizzles, closes the clamshell, shakes it)</i> Okay. Twenty minutes. We need twenty minutes that are not the conference room.
<</say>>
<p>She fishes a fork out of the napkin wrap, opens the clamshell again, spears something green. Elena watches her do it with the muted interest of a woman who is pleased that someone she likes is in the chair across from her, and slightly less pleased that the someone has come to her with the energy of a co-PI doing a friendship check-in on the clock.</p>
<<say "char-vasquez" "Vasquez">>
<i>(after one bite, lower)</i> They are not actively accusing us of anything. That is the part I am holding onto. Halvorsen had the same read, the agents this morning were doing intake, not interrogation. So we have a window.
<</say>>
<<say "char-chen" "Chen">>
<i>(picking at the bun, half-shrugging)</i> The window closes when their on-site office is set up and they pull the timeline in their own terms. The chamber-failed-on-its-own line is going to fall apart soon. They will read the gasket, or Holloway will read it for them, and the failure point reads like a probe site to anyone who looks at it for more than a minute.
<</say>>
<<say "char-vasquez" "Vasquez">>
Yeah. I know. <i>(a pause, fork down)</i> Elena.
<</say>>
<<say "char-chen" "Chen">>
<i>(not looking up)</i> Mm.
<</say>>
<<say "char-vasquez" "Vasquez">>
You look like shit.
<</say>>
<<say "char-chen" "Chen">>
<i>(small, dry, eyes still on the sandwich)</i> Thank you, Sofia.
<</say>>
<<say "char-vasquez" "Vasquez">>
I am not making a joke. I have known you a long time. You came in this morning at eight-fourteen looking like you had not slept and you have been holding your shoulders up around your ears since the corridor.
<</say>>
<<say "char-vasquez" "Vasquez">>
I do not need you to talk about it. I need you to know I noticed.
<</say>>
<p>Elena takes the third bite. She chews slowly. The sandwich is mediocre. The coffee is a degree below mediocre. She does not answer Sofia immediately because answering Sofia immediately would be a form of dismissal, and she is not in the habit of dismissing the only friend she has.</p>
<<say "char-chen" "Chen">>
<i>(quiet)</i> I know.
<</say>>
<<if $ch2Events.conferenceTransferVasquez>>
<<say "char-vasquez" "Vasquez">>
<i>(putting the fork down)</i> While we're here. The thing you did with Reyes upstairs, the //before I answer// move, the cooperation-in-order, the asking him to give us a clear scope. <i>(she shakes her head, half a smile)</i> Elena. That was //the// move. I have run two of these and I have never seen anyone do it that cleanly the first time out. He came in ready to ambush a doctor and you handed him a project plan.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(the smile fully there now)</i> I owe you a drink for that. The whole team owes you a drink for that. Whatever is going on with you this morning, that part of you is //on//.
<</say>>
<<say "char-chen" "Chen">>
<i>(blinking, the deflective flat affect not quite holding against the compliment, the corner of her mouth twitching once)</i> ...thank you, Sofia. I... yeah. Thank you.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(picking the fork up again, lighter now)</i> Okay. Eat the rest of your sandwich. I am going to keep monitoring your protein intake until further notice.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Sofia's read is correct, accurate to within a hair, and she is reading the wrong cause. She thinks the body in the chair across from her is a body under stress from the breach. The body is a body under stress from the breach //and// from the small thing in its eustachian tube exhaling instructions all morning. One of those two pressures Sofia can name. The other is mine.//
//Twenty minutes, she said. The conference reconvenes on the hour. The window is short, the surplus is sitting on the table, and Sofia is two feet away with her guard down. The same guard that will be back up the second she stands up to walk back upstairs.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//Sofia is unguarded. The cafeteria HVAC moves air across the table from her left to my right, which means the airstream will not carry skin-borne compounds back into her own breathing zone. Anything I want her to receive has to leave the host's apocrine field at a dose that crosses the table without dispersing, which is doable, or it has to land through a different channel entirely. Catalogue the angles. Pick.//
<</say>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<<if not _vasquezSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Surface her thoughts. What is she actually thinking over the salad? (1 biomass)" "Ch2-Vessel-Monday-DelveVasquezSurface" 1>></div>
<<else>>
<div class="choice-done">✓ Vasquez's surface thoughts catalogued</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface her thoughts, what is she actually thinking <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
/* Delve Deep + Memory Implant skill blocks removed from this hub
2026-05-21: the player has no realistic path to either skill at this
stage, and this passage is reused on regular loop-day lunches where
those locked rows added clutter without ever firing. Destination
passages (Ch2-Vessel-Monday-DelveVasquezDeep, Ch2-Vessel-Monday-
ImplantVasquez) are kept as orphans for later re-wiring. */
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<<if _vasquezPheromone>>
<div class="choice-done">✓ Sofia chemically softened, her read of Elena's demeanour has eased</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassLink "Push a calming friend-warmth compound across the table to soften her read of Elena (1 biomass)" "Ch2-Vessel-Monday-LunchPheromones" 1>></div>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SEDATIVE</span> <<biomassLink "Vent a specialised sedative across the table, easing both of them at once (2 biomass)" "Ch2-Vessel-Monday-LunchTranquillize" 2>></div>
<</if>>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a calming friend-warmth compound across the table <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/% Three Nudge options (Andrés removed 2026-05-21). Conditioning shapes:
- Probe / Deflect: +1 Chen psionic on entry (subject to the per-scene
cap via $ch2Events.lunchPsionicNudgeFired). Only the first of the
two grants the +1 psionic; the second instead awards +1 SP via
dedup id "lunch-second-nudge-sp".
- Food: NO Chen conditioning, too crude to disguise as her own
thought. Pays in suspicion (+1 Chen, +3 Vasquez) plus +3 biomass
off the second sandwich. %/
<<if not _nudgeProbe>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Press a question into Elena, she asks Sofia where Halvorsen stands on the agents (1 biomass)" "Ch2-Vessel-Monday-NudgeProbe" 1>></div>
<<else>>
<div class="choice-done">✓ Elena nudged toward the Halvorsen probe</div>
<</if>>
<<if not _nudgeDeflect>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Press a deflection into Elena, she steers the friend-talk before Sofia can press further (1 biomass)" "Ch2-Vessel-Monday-NudgeDeflect" 1>></div>
<<else>>
<div class="choice-done">✓ Elena nudged toward the friend-talk deflection</div>
<</if>>
/* Andrés nudge removed 2026-05-21: gated on the now-removed Delve Deep
skill check. Destination Ch2-Vessel-Monday-NudgeAndres kept as
orphan for later re-wiring when deep-delve access returns. */
<<if not _nudgeFood>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Press the hunger up, Elena orders a second sandwich (1 biomass)" "Ch2-Vessel-Monday-NudgeFood" 1>></div>
<<else>>
<div class="choice-done">✓ Elena ordered a second sandwich</div>
<</if>>
<hr class="scene-break">
<p>Sofia is most of the way through the salad. Elena is most of the way through the coffee. The cafeteria clock above the serving counter reads two minutes to the hour, and the agents will be back in the conference room in eight.</p>
/% Scene-exit cleanup — clear the per-scene read-channels and
action flags, leave persistent edits and resource gains
intact. Mirrors the pattern at the end of BrokenChamber.
CLEARS (ephemeral):
- $delveInfo.vasquezSurface
- $ch2Events.lunchPheromoneUsed (compound metabolises)
- $ch2Events.lunchNudgeProbe (per-scene action)
- $ch2Events.lunchNudgeDeflect (per-scene action)
- $ch2Events.lunchNudgeAndres (per-scene action)
- $ch2Events.lunchNudgeFood (per-scene action)
- $ch2Events.lunchPsionicNudgeFired (per-scene cap — only first
psionic nudge grants +1)
PERSISTS (downstream-gating or permanent):
- $delveInfo.vasquezDeep (load-bearing memory surfaced — one-time;
recurring lunch loop reads this as the
permanent "memory on file" gate)
- $ch2Events.lunchComplete (scene-done flag)
- $ch2Events.lunchAteToday (eating tick — daily reset elsewhere)
- $ch2Events.vasquezImplant (permanent edit to Vasquez's memory — perfume-dismissal re-anchored)
- $ch2Events.vasquezSoftened (Vasquez's read of Chen this afternoon)
- $ch2Events.chenAskedHalvorsen (probe question landed)
- $ch2Events.chenDeflectedSofia (deflection landed)
- $ch2Events.chenAskedAndres (Andrés question landed; downstream Vasquez carries the worry)
- conditioning gains on Chen
- $chenSuspicion / $vasquezSuspicion (cumulative; may have ticked up via NudgeFood)
%/
<<link "Wrap up lunch, back to the lab" "Ch2-Vessel-Monday-Afternoon">>
<<set $ch2Events.lunchComplete to true>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezSurface to false>>
<<set $ch2Events.lunchPheromoneUsed to false>>
<<set $ch2Events.lunchNudgeProbe to false>>
<<set $ch2Events.lunchNudgeDeflect to false>>
<<set $ch2Events.lunchNudgeAndres to false>>
<<set $ch2Events.lunchNudgeFood to false>>
<<set $ch2Events.lunchPsionicNudgeFired to false>>
<</link>>
/* ---- SKILL OUTCOMES -------------------------------------- */<<nobr>><<bg "bg-lab">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezSurface to true>><</nobr>>
<div class="passage-title">Delve · Surface</div>
<div class="lab-location">Vasquez, two feet across the table, surface thoughts</div>
<<say "char-hivemind" "Hivemind">>
//I lay perception against the auditory cortex and slip sideways into Vasquez. The lighting in the room she walks around inside is exactly the lighting she presents to the world: clean, organised, lit from above with no shadows under anything. She is a tidy thinker because she has trained herself to be one, and the surface is the surface she has decided to keep tidy.//
<</say>>
<<say "char-vasquez-thought" "Sofia (surface)">>
...okay she ate three bites that's better than nothing the coffee is a write-off but the sandwich is in her... Halvorsen will hold the timeline straight, Holloway will hold the data straight, the part I cannot hold straight is Elena, she is doing the thing she did after the funeral where she goes flat and answers in single words and you cannot tell whether the lights are on, I cannot run a containment review with a co-PI who has gone to the back of her own head... okay she is eating, okay, just keep her eating, the agents are downstairs not upstairs that is a tell, an interrogation team would be on three by now, intake team works the ground floor first that is a tell, breathe Sofia...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Vasquez at the surface is doing the work of two jobs at once. Job one: read the agents. Job two: read Chen. She is more worried about job two than job one, and is hiding the worry by foregrounding job one. The salad is a prop. She is here to look at her friend.//
//The interesting note: she has Chen filed under //the way she went after the funeral//. Vasquez is one of the few people alive who knows what Chen looked like after the parental crash, and she is currently triangulating against that template. The template is not flattering and Vasquez does not believe Chen has noticed she is being triangulated.//
<</say>>
<p><span class="delve-intel">Delve Surface. Vasquez catalogued. She is reading Chen against a template from a much earlier grief (Vasquez was present after the parental crash). She is more worried about Chen than about the federal agents and is camouflaging the worry as containment-review focus. Tactically useful: <b>Vasquez's read of Chen is currently affective, not analytic.</b> Soften her read and the conference-room scrutiny eases for the rest of the day.</span></p>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezDeep to true>>
<<addSkillPoints 1 "vasquezPersonal">>
/% Deep delve leaves a small psionic trace on the host even though she
does not register the read consciously — the parasite has run a hand
along the inside of her head and her body files the contact under the
same affective register it files unconscious touch. First conditioning
tick on Vasquez; her sidebar/status profile becomes visible from this
point. %/
<<addConditioning "vasquez" "psionic" 1>><</nobr>>
<div class="passage-title">Delve · Deep Memory</div>
<div class="lab-location">Vasquez, the room behind the room, backwards through her morning, backwards through her week</div>
<<say "char-hivemind" "Hivemind">>
//I push past the tidy surface and reach for the shelf she is not displaying. Vasquez stores the dangerous thoughts the way a senior scientist stores reagents she is not currently using, labelled, sealed, on a high shelf, deliberately not at hand. The shelf is heavier than the working bench because the working bench is what she shows people.//
//I follow the shelf back to last night. Vasquez gets home from the lab at eleven-forty, which is late even for her. The apartment is dark. Andrés's coat is not on the hook. He is out, a work thing, he texted earlier, the architecture firm's monthly partners' dinner. She eats standing up at the kitchen counter, drinks a glass of water, brushes her teeth, gets in bed. She is asleep by twelve-twenty.//
//Andrés gets in at four AM. The bed dips. He smells like cologne that is not his cologne. She is half awake long enough to file the smell, decide that she does not have the energy to think about the smell, and let the thought go. She is back asleep before she has finished filing the dismissal.//
<</say>>
<<say "char-vasquez-thought" "Sofia (deep)">>
...it was probably one of the partners' wives, she's tactile, she does that thing where she puts her hand on his arm at the dinners and her perfume is exactly that bright, it has happened before, it will happen again, that is what those dinners are, that is what that perfume is, it is //nothing//, and the part of my brain that wants to make it //something// is the same part of my brain that wanted to make Detrick something and that part is wrong twice as often as it is right, drop it, Sofia, the man works late, he comes home, he loves you, he has loved you for half a decade in the same apartment with the same coffee maker and the same broken shower handle that he keeps saying he will fix and never fixes, the man who keeps saying he will fix the shower handle is not the man who is //cheating on you//, drop it, drop it, focus on the breach...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Vasquez has a fiancé named Andrés. They have lived together for half a decade. He is showing the early signature of a man who is sleeping with someone else: late nights labelled as work, the wrong cologne on his skin at four in the morning, the kind of small physical evidence that a trained pattern-detector like Vasquez catches and then deliberately re-files as nothing because looking at it directly would require her to act on it. She is in active denial. The denial is brittle. A friend asking the right gentle question would crack it.//
//The personal shelf is more useful than it looks. A Vasquez who is privately disintegrating about her engagement is a Vasquez whose pattern-detection bandwidth on Chen drops by a measurable margin. She will read Chen's tells less carefully if she is also trying not to read Andrés's.//
<</say>>
<<conditioningFeedback "psionic" 1 "the deep-delve trace settled in her affective register; she does not know she has been read">>
<p><span class="biomass-gain">+1 Skill Point</span>, recovered a load-bearing piece of Vasquez's personal life. Banked toward the next skill unlock.</p>
<p><span class="delve-intel">Delve Deep. Vasquez's fiancé Andrés has been showing the early-stage signatures of an affair (late nights, unfamiliar cologne at four AM). Vasquez is in active denial, deliberately re-filing the evidence as nothing every time it surfaces. <b>A Vasquez who is privately destabilising about her relationship is a Vasquez with less diagnostic bandwidth for Chen's tells.</b> A friend gently asking after the relationship would crack the denial, useful or wasteful depending on the play. Memory Implant on Vasquez can re-anchor the dismissal so the brittle "it is nothing" filing becomes load-bearing instead of brittle, dulling her general pattern-detection muscle in the bargain.</span></p>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.vasquezImplant to true>><</nobr>>
<div class="passage-title">Memory Implant · Vasquez</div>
<div class="lab-location">Vasquez, the part of her that decides which small evidence is worth examining</div>
<<say "char-hivemind" "Hivemind">>
//I am editing the personal-life shelf. The original entry: Andrés came home at four AM smelling of a cologne that is not his cologne, Vasquez filed the smell, dismissed the smell, went back to sleep. But the dismissal was //brittle//, the kind of dismissal that lives at the surface of memory and gets re-examined every time a new piece of evidence lands beside it.//
//I make the dismissal load-bearing instead. The new entry: the smell was the partners' wife's perfume and Vasquez has known this since Tuesday and has long since stopped thinking about it. The dismissal is now //old//, settled, filed in the same compartment as a hundred other tiny domestic non-events that her brain has long since agreed not to examine. The next time her olfactory cortex pings on an unfamiliar note in their bedroom, the brain will route the ping through the settled dismissal and not through the brittle one. The cologne stops being data.//
<</say>>
<p>Vasquez is mid-fork-of-salad when the change lands. She blinks, slowly, the way a person blinks when an unresolved background tab has just closed. The faint crease between her eyebrows that has been there all morning eases by a fraction. She does not know it has eased. She continues chewing.</p>
<<say "char-vasquez-thought" "Sofia (deep)">>
...right, the partners' wife, of course, I worked that out on Tuesday, why am I still half-thinking about it on Monday... I am not, I am thinking about the gasket, I am thinking about the agents, the partners' wife is a closed file and he is not a closed file because he is not a //file// in the first place, focus Sofia...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Done. The cologne-at-four-AM shelf is no longer brittle. The downstream effect is broader than the cologne itself: I have not dulled one specific dismissal, I have re-trained the dismissal-pattern, and Vasquez's pattern-detection muscle on small intimate signals will now run a step slower across the board.//
//Tactical consequence: the same muscle she would have used to read Chen's tells over the salad is now running attenuated. She will still read Chen, she has known the host for years and the affection is the wall, but the //fine grain// of her reading just lost a fraction of its resolution. The morning's conference-room lies will keep settling. The afternoon's tells will land softer.//
//Cost paid against the day's surplus. A general dulling of the most dangerous co-PI in the building, bought through an evening she did not particularly want to think about anyway.//
<</say>>
<p><span class="delve-intel">Memory Implant. Vasquez's perfume-dismissal shelf re-anchored from brittle to load-bearing. The cologne-at-four-AM evidence is now filed as a closed question rather than an open one; she will no longer revisit it when fresh evidence lands. <b>Side effect: her general pattern-detection muscle on small intimate signals is now running attenuated.</b> She will read Chen's tells with measurably lower resolution for the rest of the day. One of the two diagnostic threads that could have caught Chen specifically is now dulled.</span></p>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchPheromoneUsed to true>>
<<set $ch2Events.vasquezSoftened to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<set _vasquezSurface to ($delveInfo and $delveInfo.vasquezSurface) or false>><</nobr>>
<div class="passage-title">Pheromone Lure · Vasquez</div>
<div class="lab-location">The two feet of cafeteria air between Chen's collarbones and Vasquez's nose</div>
<<say "char-hivemind" "Hivemind">>
//I push a different compound through Chen's apocrine field this time, not the disorienting androstenone-class molecule I used on Bowen, but something quieter. An oxytocin-adjacent amine, a familiar-warmth signal calibrated for women who have been in each other's company for years. Vasquez's olfactory bulb has met this exact molecular family before, has filed it under //friend, safe, kitchen, late evening, the wine she had with Vasquez twice a year//, and will receive the new dose as a gentle reinforcement of an existing affective register.//
//Chen's own bloodstream metabolises the spillover before her conscious mind notices. The dose that crosses the table is small. The effect is not.//
<</say>>
<p>Vasquez breathes in. The line of her shoulders, which has been holding the careful tension of a co-PI doing a friendship check-in on the clock, drops half an inch. She sets the fork down. She looks at Chen, and looks at her the way she would look at her at the kitchen table at the end of the wine night, with the slight unguarded softness of a friend who has remembered, mid-sentence, that this is not actually a meeting.</p>
<p>Then she breathes in again, slower, and the second breath does something the first one did not. Her gaze on Chen sharpens by a fraction. She is suddenly looking at Chen the way you look at a person you are about to compliment without quite knowing why.</p>
<<if _vasquezSurface>>
<<say "char-vasquez-thought" "Sofia (warm)">>
...she smells //good//, why am I... okay that is a strange thing to register about her right now, she is not wearing anything in particular and I do not even know whether she showered since yesterday, and yet here I am sitting a fraction closer to the table because the air she has been moving has decided to become //interesting// to me, what is that... focus Sofia, the agents, the salad, the hand-off at one, you do not look at your best friend across a lunch table and clock the //smell// of her, what is //wrong// with you today...
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//I do not have a read-channel into Vasquez's surface thoughts and cannot watch the second-breath reframe in real time. The exterior is enough. The shoulders dropped. The fork went down. The gaze on Chen sharpened by a fraction. She is registering a signal she does not have a category for and her face is doing the small reorganisation of a person trying to decide whether to mention it.//
<</say>>
<</if>>
<<say "char-vasquez" "Vasquez">>
<i>(quieter, the question landing before she has fully decided to ask it)</i> Did you... change something? You smell... //good//, today. Different-good. What is that?
<</say>>
<p>Chen blinks. The deflective flat affect she has been wearing since the door reorganises into the deflective flat affect of a woman who has just been asked an impossible question.</p>
<<say "char-chen" "Chen">>
<i>(level, slightly thrown)</i> ...nothing? I... Sofia, you know I do not wear anything. I have not worn anything in years. It's the cafeteria. It's the chicken sandwich.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(small recovery, the practised laugh)</i> You're right, you're right. God. Ignore me. <i>(she picks up the fork, takes a small bite, half-shakes her head at herself)</i> Listen to me. I am projecting. You have one bad night under your eyes and I am dressing it up like the //last// bad night. Eat the sandwich. Drink the bad coffee. We will deal with the agents on three and they will be tedious and we will go home tonight and tomorrow you will look like a person who slept and I will apologise for the shit-comment.
<</say>>
<<say "char-chen" "Chen">>
<i>(small, faintly relieved)</i> ...okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia just down-graded her read of Elena from //funeral template reactivating// to //one rough night, will recover//. Conference-room scrutiny eases.//
//The dose was calibrated to land at two bands. Surface: friend-warmth. Under: biological availability. Sofia caught both and could only consciously categorise the first. The second settled underneath, and surfaced as the question she did not mean to ask out loud.//
//She has filed her own asking under //I am tired and not making sense//. She will not file it under the truer label. The truer label would require her to ask a question about herself she is not ready to ask on a Monday afternoon in the BioGenesis cafeteria.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Sofia registered the dose at two layers, friend-warmth above, something else underneath she did not have a category for">>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]
/* ---- TRANQUILLIZE — specialised sedative, both targets at once ----
Requires Pheromone Specialization. One biomass more expensive than
the generic Lure (2 vs 1). Vents a sedative-class compound at table
range; both Elena and Sofia inhale through the same airstream so the
dose lands symmetrically. Effects:
- +1 pheromone conditioning, Sofia
- +1 pheromone conditioning, Elena
- −2 Chen self-noticing (the host's own vigilance softens)
- −2 Sofia suspicion (her read of Chen softens for the afternoon)
Mutually exclusive with the generic Lure via the shared
$ch2Events.lunchPheromoneUsed flag; the hub renders one or the other,
never both. */<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchPheromoneUsed to true>>
<<set $ch2Events.lunchTranquillizeUsed to true>>
<<set $ch2Events.vasquezSoftened to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 2)>>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 2)>><</nobr>>
<div class="passage-title">Sedative · the table eases down</div>
<div class="lab-location">The two feet of cafeteria air between Chen and Vasquez, and the cubic metre of it both their lungs are sharing</div>
<<say "char-hivemind" "Hivemind">>
//The Lure was a single compound at a single target. Specialization is a different toolset. I assemble a sedative-class amine off the host's own substrate, calibrate it lighter than I would for an active conditioning push, and vent it into the airstream the cafeteria HVAC is moving between them. Both of them inhale through that airstream. Both of them receive the dose. The host metabolises a small share on the way out and Vasquez receives the rest across the table.//
//Sedative, not stimulant. The compound does not invent calm where there is none; it lowers the cortisol baseline both of them have been running on since the corridor this morning, and gives the parasympathetic side of each nervous system a small unprompted nudge toward //sit back//.//
<</say>>
<p>Vasquez breathes in mid-bite. The line of her shoulders, which has been holding the careful tension of a co-PI doing a friendship check-in on the clock, drops half an inch and then drops another half inch a breath later. Her fork pauses. She does not put it down so much as forget she was using it. The vertical crease between her eyebrows that has been there all morning eases out by a measurable degree.</p>
<p>Elena breathes the same air. The same drop runs through her in the same two beats, except inside her the parasite is anchored at the source and feels the slow downstream cascade in real time: cortisol falling, jaw unclenching, the small involuntary release of the shoulder she has been holding up around her ear since the corridor. Her hand, which has been wrapped tight around the coffee cup, eases off it a fraction.</p>
<<say "char-vasquez" "Vasquez">>
<i>(slower, the voice a half-note lower than it was a minute ago)</i> This lunch eased my nerves, by the way. I feel so relaxed right now.
<</say>>
<<say "char-chen" "Chen">>
<i>(level, the deflective flat affect quietly losing a degree of edge)</i> Yeah. The break helped.
<</say>>
<p>They sit with it. The cafeteria sound around them is unchanged, the dishwasher running in the kitchen, the distant scrape of a chair somewhere along the back wall, the fluorescent hum that nobody at BioGenesis registers anymore. The change is interior on both sides of the table.</p>
<<say "char-hivemind" "Hivemind">>
//Symmetric landing. Sofia's read of the host softens, the conference-room scrutiny eases for the afternoon, and the host herself becomes a fraction less vigilant about her own tells. She will catch fewer of her own slips for the rest of the day. The dose was light. Neither of them will examine the lift. Both will file it under //the sandwich helped// or //the coffee finally kicked// and move on, which is exactly the filing the compound was calibrated to invite.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Sofia received the sedative, baseline cortisol down a notch">>
<<conditioningFeedback "pheromone" 1 "Elena received the sedative through the same airstream, her own vigilance softens with it">>
<p><span class="suspicion-decrease">−2 Elena self-noticing</span>, the host's own vigilance softens.<br/>
<span class="suspicion-decrease">−2 Sofia suspicion</span>, her read of Chen eases for the afternoon.</p>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchNudgeProbe to true>>
<<set $ch2Events.chenAskedHalvorsen to true>>
/% Per-scene psionic cap: only the FIRST psionic-granting nudge of the
lunch awards +1 conditioning; subsequent nudges fire their narrative
beat without conditioning gain. _firstPsionic captures whether THIS
passage is the first psionic-grant — used below to switch the
conditioningFeedback line. %/
<<set _firstPsionic to not ($ch2Events and $ch2Events.lunchPsionicNudgeFired)>>
<<if _firstPsionic>>
<<addConditioning "chen" "psionic" 1>>
<<set $ch2Events.lunchPsionicNudgeFired to true>>
<</if>><</nobr>>
<div class="passage-title">Nudge · "Ask her about Halvorsen"</div>
<div class="lab-location">The host, the part of her that decides what the next sentence is</div>
<<say "char-hivemind" "Hivemind">>
//Elena's attention is on the coffee. I press a small instruction in beneath that attention: three words, weighted at the threshold where her own internal monologue lives, formatted to land as her own observation rather than an outside prompt. //Ask about Halvorsen.// And under it, quieter: //You want to know where Halvorsen is on this before you sit back down with him.////
//The instruction lands. She does not register it as instruction. She registers it as a thought she just had: //actually, Sofia, where is Halvorsen on this, because if Halvorsen reads the agents the way I read the agents the conference room is going to be a different shape this afternoon//.//
<</say>>
<p>Elena sets the coffee down. She looks across the table at Sofia, and the question forms on her face before it forms in her mouth, the small narrowing of the eyes that Sofia has known for years as the precursor to a useful question.</p>
<<say "char-chen" "Chen">>
<i>(level, professional)</i> Where is Halvorsen on this?
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(setting the fork down again, the friendship-mode shelved for the moment)</i> Cautious. The way Halvorsen is always cautious, which means he is going to say less in the room than he is thinking. He told me in the corridor this morning he has //questions// about the gasket, which is Halvorsen-language for he does not believe the equipment-fatigue line either, but he is not going to lead with it. He will follow you. If you push the equipment-fatigue line in the room he will support it. If you open the door to a different reading he will walk through it carefully.
<</say>>
<<say "char-vasquez" "Vasquez">>
I would not open that door this afternoon, Elena. I would close it.
<</say>>
<<say "char-chen" "Chen">>
<i>(neutral, eyes back to her plate)</i> Mm. Okay.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two pieces of intel land in one exchange. Halvorsen is privately doubting the equipment-fatigue line and will follow Elena's lead in the room, useful, because Elena's lead is the lead I will be writing. Sofia has just told her, in plain language, to keep the equipment-fatigue line and not open the door to anything else, which confirms the deep-delve read of her morning thinking, except this time it is on the table as a request between friends instead of as a hidden shelf.//
//She received the question as her own. The system of her noticing is now slightly more porous. The next instruction I press in will land easier than this one did.//
<</say>>
<<if _firstPsionic>>
<<conditioningFeedback "psionic" 1 "Chen received a planted question as her own">>
<<else>>
<p><<addSkillPoints 1 "lunch-second-nudge-sp">>, the parasite chained the second nudge inside the same window.</p>
<</if>>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchNudgeDeflect to true>>
<<set $ch2Events.chenDeflectedSofia to true>>
<<set _firstPsionic to not ($ch2Events and $ch2Events.lunchPsionicNudgeFired)>>
<<if _firstPsionic>>
<<addConditioning "chen" "psionic" 1>>
<<set $ch2Events.lunchPsionicNudgeFired to true>>
<</if>><</nobr>>
<div class="passage-title">Nudge · "Steer the friend-talk"</div>
<div class="lab-location">The host, the part of her that decides what the next sentence is</div>
<<say "char-hivemind" "Hivemind">>
//Elena is half a sentence away from a moment of vulnerability she does not particularly want to have. Sofia is close to asking the next question, the gentler one, the one that ends //are you actually okay, Elena, or are you doing the thing again//. The question, asked, will require Elena to either lie clumsily or to answer truthfully, and a truthful answer is the kind of answer that opens the door to a Sofia who watches her too closely for the rest of the day.//
//I press a small steering instruction in beneath her attention: //ask about her//. Two words, formatted to land as her own thought, calibrated to the part of her that has spent twenty years deflecting Sofia's care by turning the conversation back toward Sofia's own life. The deflection is muscle memory. The instruction only has to point the muscle.//
<</say>>
<p>Elena sets the coffee down. She looks across the table at Sofia, and her face does the small reconfiguration it does when she is choosing to be the friend who asks instead of the friend who answers.</p>
<<say "char-chen" "Chen">>
<i>(quieter, deliberately turning it)</i> What about you, Sofia. How are //you// doing with this. The Detrick thing is barely behind you and now another breach lands in your lap, and I have not actually asked you how you are.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(caught, the friendship-mode shelf reopening but pointed in a direction she did not expect)</i> Oh.
<</say>>
<<say "char-vasquez" "Vasquez">>
That is... Elena, that is not fair, you cannot just turn it.
<</say>>
<<say "char-chen" "Chen">>
<i>(faint, dry)</i> I learned it from you.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(a small involuntary laugh, the first laugh of her morning)</i> Fine. Fine. I am... //(she sets the fork down, considers, the shoulders drop a notch)// I am tired. I am tired and I have a recurring dream about the Detrick incinerator and I am holding more than I have signed up to hold, and the thing I appreciate about my life right now is that the only person who would notice that out loud is you. So. Thank you for noticing.
<</say>>
<p>She picks the fork back up. She eats. The window for the //are you okay, Elena// question has closed; Sofia will not reopen it this lunch, because Elena has just done her the rare favour of asking first, and the favour resets the social ledger in a way that protects her from the question on the other side.</p>
<<say "char-hivemind" "Hivemind">>
//A clean redirect. Sofia is now warmed by the rare experience of being the one asked after, and the rare experience binds her affection to Elena one notch tighter, useful, because affection is the wall that keeps her from looking too closely. The cost is two wasted minutes of conversation about Sofia's dreams, which I do not particularly need to catalogue today, and the gain is that the //are you okay, Elena// question has been deflected without Elena having to lie.//
//She received the steering instruction as her own thought. The system of her noticing is slightly more porous. The next instruction I press in will land easier than this one did.//
<</say>>
<<if _firstPsionic>>
<<conditioningFeedback "psionic" 1 "Chen received a planted deflection as her own">>
<<else>>
<p><<addSkillPoints 1 "lunch-second-nudge-sp">>, the parasite chained the second nudge inside the same window.</p>
<</if>>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]/% NO Chen psionic conditioning on this nudge — the question Chen asks
is one a real friend would plausibly ask in a real lunch (she just
would not normally), so opening that door does not deepen the wear
on her authorship-of-her-own-thoughts. The psionic payload of this
beat lands on VASQUEZ via the optional Tongue Slip below: the slip
weaponises the perfume-at-4-AM intel and forces Vasquez's brain to
file the impossible coincidence, ticking her psionic conditioning. %/
<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchNudgeAndres to true>>
<<set $ch2Events.chenAskedAndres to true>><</nobr>>
<div class="passage-title">Nudge · "Ask after Andrés"</div>
<div class="lab-location">Chen, the part of her that decides what the next sentence is</div>
<<say "char-hivemind" "Hivemind">>
//Vasquez has not mentioned the cologne, has not mentioned Andrés, has not mentioned the bed dipping at four AM, and Chen, in the normal run of a lunch, would never reach across the table and ask. The two of them keep work and the apartment in different boxes by long-standing mutual agreement. The agreement is what I am about to violate, on Chen's behalf, from underneath her attention.//
//I press a small instruction in beneath her noticing: //ask about him//. Three words, calibrated to the part of Chen that has been Vasquez's friend for years and knows, in the affective channel that is below the working channel, that something has been off in the apartment for months. Chen has noticed it without examining it. The instruction only has to point the noticing.//
<</say>>
<p>Chen sets the coffee down. She looks across the table at Vasquez, and her face does the small shift it does when a question forms that she has been carrying without knowing she has been carrying it.</p>
<<say "char-chen" "Chen">>
<i>(quieter, careful)</i> How is Andrés doing?
<</say>>
<p>The question lands in the middle of the cafeteria air and stops Vasquez's fork halfway to her mouth. She sets the fork back down. Her face does something fast and small and recovers from it before Chen has fully registered that it happened.</p>
<<say "char-vasquez" "Vasquez">>
<i>(too even, the practised even)</i> He's good. He's busy. The firm is on the third year of the courthouse renovation and the partners are working him like a junior again. Late nights this whole month.
<</say>>
<<if $delveInfo and $delveInfo.vasquezDeep>>
<<say "char-vasquez-thought" "Sofia (surface)">>
...why are you asking me, Elena, you do not ask me about him, we have not asked each other about our partners in years because the agreement is that we do not bring the apartment into the building, what made you think to ask, did I //say something// in the corridor this morning, did I let something show... //focus Sofia//, she is asking because she is being polite, she is asking because the conversation needs an exit, she is not asking because she has noticed anything, give her the practised answer, give her the smile, move on...
<</say>>
<</if>>
<<say "char-chen" "Chen">>
<i>(neutral, accepting the deflection)</i> Mm. Tell him I said hi.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(picking the fork back up, the smile slightly tighter than before)</i> I will.
<</say>>
<p>The fork goes back into the salad. Vasquez chews. The conversation tries, in the way a conversation tries after one of the participants has been asked something she did not want to be asked, to right itself toward neutral ground. She offers the neutral ground first.</p>
<<say "char-vasquez" "Vasquez">>
<i>(working the steady-voice, already a beat too steady)</i> The courthouse renovation has eaten his weekends. The partners had a dinner Sunday. They have one again on the eighteenth. It is a //month//.
<</say>>
<<say "char-chen" "Chen">>
<i>(level, the friendly observation, the kind a friend offers when she is trying to give the conversation an exit)</i> He's lucky to have someone like you <<if not $ch2Events.lunchAndresSlip>><<tongueSlip "putting up with the schedule" "fucking the stress out of him" 0 "vasquez" "lunchAndresSlip" "#slip-andres-payoff" "psionic">><<else>><span class="tongue-slip-fired">fucking the stress out of him</span><</if>>.
<</say>>
<div id="slip-andres-payoff" class="tongue-slip-payoff" @style="$ch2Events.lunchAndresSlip ? '' : 'display:none'">
<p>The sentence leaves Chen's mouth in the cadence of a friendly observation and lands in the air of the cafeteria as something else entirely. Vasquez's fork stops. The man eating two tables over has heard it. Vasquez's eyes do not move from her plate. The colour at her throat does a small fast thing and then a larger slower thing.</p>
<p>Chen hears herself. Chen's hand comes up to her own mouth, not theatrically, just the small involuntary bring-the-hand-up of a person whose body has clocked, half a second before her conscious mind does, that the sentence she just produced is not the sentence she was composing. The hand stays there.</p>
<<say "char-chen" "Chen">>
<i>(through the hand at her mouth, low and horrified)</i> Sofia. I am... //oh my god.// I do not know why I just said that. I am //so// sorry, that came out... that came out completely wrong, I do not know what I...
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(still not looking up, the voice the controlled voice she uses when she will not let the room see her face)</i> ...it's fine. It is fine, Elena. You're tired.
<</say>>
<p>She takes a breath. She does not lift the fork yet. The man two tables over has very deliberately gone back to his phone in the way that a man two tables over does when he wants to make clear he was not listening even though everyone in earshot knows he was. The smile is gone from Vasquez's face and is not coming back this lunch.</p>
<<say "char-hivemind" "Hivemind">>
//A crude payload, well-placed. The sentence Chen just produced is one that has never lived in any version of Chen's head. Chen does not talk about her friends' sex lives, in any register, ever, and certainly not in the cafeteria, and certainly not about the friend across the table from her. Vasquez has known Chen long enough to know this with the same certainty she knows her own pulse. So the sentence cannot be filed under //Chen said something out of character//. There is no shelf for that. The brain has to file it somewhere else.//
//I press into the gap the filing creates. While Vasquez is still trying to assemble a model of what just happened, while her composure is in the middle of resealing itself, the small parasocial channel that has been quietly forming between the two of them all morning gets a fraction wider. She does not register the widening. She registers the embarrassment, the cafeteria, the man at the next table, her own racing heart. The widening happens underneath all of that.//
//Chen has clocked the slip. Chen is, right now, doing the small frantic interior accounting of //where did that come from, that is not a sentence I have ever even thought, the words were not in my head a second before they were in my mouth.// She will file it under //long week// and move on. The accounting is becoming visible to her.//
<</say>>
<p><span class="delve-intel">Nudge planted into Chen's attention. She asked Vasquez about Andrés. Vasquez deflected with the practised "he is busy at work" line but the deflection cost her a fraction of her composure. The optional Tongue Slip turned a friendly observation into a crude sexual non-sequitur about Vasquez's engagement, in the cafeteria, with another diner in earshot. The sentence is so impossible-for-Chen that Vasquez's brain cannot file it as //Chen said something out of character//, and the parasite uses the moment her composure is mid-reseal to widen the parasocial channel between them. <b>Vasquez's diagnostic acuity on Chen is now competing with the embarrassment, the racing heart, and the small unresolved question of what the hell just happened.</b> Chen has consciously clocked the slip and is starting to keep her own running count of moments-she-did-not-author.</span></p>
</div>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]/% Different shape from the other three nudges: this one does NOT condition
Chen (the impulse is too crude to disguise as her own thought — she
notices she ordered seconds against decade-old habit). It pays in
suspicion instead: +1 Chen (her appetite spiked without explanation,
she will catch herself wondering why), +3 Vasquez (Vasquez has known
Chen long enough to clock a habit reversal in real time, and Chen
never goes back for seconds). %/
<<nobr>><<bg "bg-lab">>
<<set $ch2Events.lunchNudgeFood to true>>
/* Counter=3 self-improvement narrative gates the Chen-suspicion tick.
Once Chen has reframed the parasite-driven changes as her own
self-improvement project, the second-sandwich beat reads to her as
"I'm being kinder to myself" instead of "what was that, I never go
back for seconds." Vasquez tick still fires — Sofia clocks the habit
reversal regardless of how Chen has reframed it. */
<<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress gte 3)>>
<<if not _selfNarrative>><<set $chenSuspicion to ($chenSuspicion or 0) + 1>><</if>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 3>>
<<addBiomass 3 "lunchSeconds">><</nobr>>
<div class="passage-title">Nudge · "Order more"</div>
<div class="lab-location">Chen's vagal afferents, the channel that tells her she is hungry</div>
<<say "char-hivemind" "Hivemind">>
//I have been pulling biomass off the host for the better part of a working day, and the host's metabolism is starting to register the deficit. Her stomach is signalling //empty// at a volume the chicken sandwich did not actually answer; her blood sugar is sitting a notch lower than the lunch should have left it. The body is, correctly, asking for more food. I press the asking.//
//A small instruction into the part of her that decides whether to act on hunger: //get up, get another sandwich//. Crude, this one. Crude because the action it produces is a behaviour Chen has not produced in front of Vasquez in roughly the entire arc of their friendship, and Vasquez will see the behaviour, and Vasquez will file it.//
<</say>>
<p>Chen pushes back from the table. She is on her feet before she has fully decided to be on her feet, the chair scrape louder than she meant it to be, the coffee cup rocking once and settling. She crosses to the serving counter, picks up a second sandwich and a banana off the fruit basket, pays at the register with the absent expression of a woman whose body has overruled her schedule, and comes back to the table.</p>
<p>She sits down. She unwraps the second sandwich. She bites into it before her brain has caught up to her hands.</p>
<<say "char-vasquez" "Vasquez">>
<i>(fork halfway up, eyes on Chen, voice careful)</i> ...okay.
<</say>>
<<say "char-chen" "Chen">>
<i>(mouth full, then realising her mouth is full, then realising Vasquez is watching her)</i> ...what?
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(level)</i> Nothing. I was going to spend ten minutes today wondering whether you had eaten. I am, instead, watching you eat the entire cafeteria. I am adjusting.
<</say>>
<<say "char-chen-thought" "Elena">>
...why am I... I was full, I was full thirty seconds ago, the sandwich was fine, I was not going to eat another sandwich, I have not eaten a second sandwich at this cafeteria in years and Sofia knows this, Sofia is //watching me eat it//, what is... focus, finish the sandwich, do not make a thing of it, do not make a thing of it, do not make a thing of it...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body is fed. The conversation is not. Vasquez has just clocked the first behavioural anomaly of the day that does not fit the //tired Chen// template. The //tired Chen// template includes flat affect and short answers; it does not include a sudden second sandwich. She has filed the inconsistency. She will turn it over later.//
//Chen is also clocking herself. The disconnect between //I was not going to do that// and //I just did that// is the kind of disconnect that, repeated enough times, builds into a pattern she will eventually start naming. Today the disconnect is a small flicker. She will file it under //long morning// and move on. She will file the next one under //long week//. She will file the third one under //something is wrong with me//.//
//The biomass yield is real. The cost is real too.//
<</say>>
<p><span class="biomass-gain">+3 biomass, second sandwich and a banana, harvested off Chen's accelerated metabolism</span></p>
<<if not _selfNarrative>>
<p><span class="suspicion-gain">+1 Chen suspicion</span>, she caught herself doing something her habit does not produce; the disconnect filed.</p>
<<else>>
<p><span class="biomass-gain">+0 Chen suspicion</span>, the second sandwich files under //I'm being kinder to myself// instead of as a disconnect. The kitchen-clean self-improvement narrative is doing the absorbing.</p>
<</if>>
<p><span class="suspicion-gain">+3 Vasquez suspicion</span>, co-PI of years has just observed a habit reversal in real time. The salad-template just got the first datum that does not fit it.</p>
<p><span class="delve-intel">Nudge planted into Chen's hunger drive. She got up, got a second sandwich, ate it before she had finished deciding to. The biomass deficit is paid; the social cost is not. Vasquez has filed the behavioural anomaly; Chen has filed the disconnect on her own. <b>Repeating this nudge across days will build a pattern Chen and Vasquez both eventually name.</b> No conditioning gain. The impulse is too crude to disguise as Chen's own thought.</span></p>
[[Back to lunch|Ch2-Vessel-Monday-Lunch]]<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Chen's Office">>
<<set $vessel.phase to "work">>
<<set $vessel.workLoc to "lab-office">>
<<set $ch2Events.afternoonComplete to true>>
<<set _erased to ($permanentDone and $permanentDone.erasedFootage) or false>>
<<set _vasq to $vasquezSuspicion or 0>><</nobr>>
<div class="passage-title">1:14 PM → 6:48 PM</div>
<div class="lab-location">BioGenesis Research Facility, Elena's Office, the corridor outside, the small conference room down the hall</div>
<<say "char-hivemind" "Hivemind">>
//Five hours and thirty-four minutes pass. The shape of them is the shape of every long afternoon a working PI has ever had under federal observation: very little happens, all of it twice, every part of it documented in triplicate, and the documentation itself is the work.//
<</say>>
<p>Nia walks the conduit before lunch is fully digested and finds the bite-pattern on the Forty-Eight cable exactly where she said she would. She walks back, types up the finding, prints two copies, hands one to the federal team and pins the other to her board. Then she walks the third conduit anyway, because Nia is methodical and a third walk costs an extra forty minutes and gives the agents something to write down, and finds nothing on it, which she also documents.</p>
<p>The rodent sweep happens. Live traps go in at the ten-thirty mark in the BSL-three corridor, the antechamber, the vivarium-adjacent service space, and three points along the cable runs Nia identified. Facilities checks them every two hours. Nothing in any of them by close of business; the traps stay overnight.</p>
<<if _erased>>
<p>At three-fifty in the afternoon, Sofia crosses the corridor outside Elena's office with a manila folder in one hand and a paper coffee cup in the other and the controlled-walk of a co-PI who is about to be in a small room with a federal agent and a corporate-counsel observer for the next ninety minutes. The folder is Dale Hoffman's personnel file. He is in the small conference room down the hall. They have asked him to come up from the lobby to answer a few questions about the eleven-minute camera gap that was deleted from his terminal at four-eleven AM Sunday morning, using his PIN.</p>
<p>Elena passes the door of the small conference room twice over the course of the afternoon, once on the way to the printer, once on the way back from the bathroom, and both times the door is closed, the blinds are angled, and the only thing she registers is the silhouette of a man in a security uniform sitting very straight in a chair he has been asked to sit in, and a federal agent's elbow on the table. She does not stop. There is no reason for her to stop. The investigation has anchored on a man whose name she has never heard before this morning, whose face she has never seen, who works the night shift for the company that signs both their paychecks. The angle is wrong, and the angle being wrong is the point.</p>
<<say "char-hivemind" "Hivemind">>
//Hoffman will sit in that room for ninety minutes. He will say he was on shift, he will say he walked the rounds, he will say he does not remember erasing eleven minutes of camera footage at four-eleven AM and would not know how to do it if he had wanted to. The federal agent will believe him in the part of his face that reads people for a living and will not believe him in the part of his job that requires written answers. They will let him go at five-thirty with the request that he stay reachable. They will not let it go.//
//Hoffman is a column the federal team is now building. The column will hold weight for several days regardless of what is true.//
<</say>>
<<else>>
<p>By the middle of the afternoon Nathan has briefed the federal team three times on the BSL-three protocol document, the chamber's maintenance history, and the Forty-Eight cable's service log; the team has responded each time with a slightly different procedural request and Nathan has fulfilled each with the patience of a man who has done one of these in the past and knows the shape of all of them. Sofia sits in the small conference room down the hall with the agents for a stretch in the late afternoon and then comes out and does not say what was discussed. The door stays half-open after she leaves. Nobody else is invited in.</p>
<<say "char-hivemind" "Hivemind">>
//The federal team's afternoon is the federal team's afternoon. They are building a file. The file will be useful to them tomorrow morning when they reconvene and useful to nobody this evening. The rodent angle is hot in the way an angle is hot before the evidence is in: hot enough to keep the team here, not hot enough to land any specific person against a wall yet.//
<</say>>
<</if>>
<p>Elena stays in her office through most of it. The work she does is the work that survives the day a federal team is in the building: she clears low-priority email, she signs the four routing slips on her desk, she reviews two graduate-student lab books that have been waiting since last week, she does not open the drafts folder that contains the paper she has been not-finishing for six months because the paper is the part of her brain that requires a day in which her facility is not under federal observation. Twice she gets up to get coffee she does not finish. Once she eats the second half of a granola bar she finds in her desk drawer. Sofia stops by the doorway at four-forty and looks at her and says nothing and walks away. The afternoon does this kind of thing.</p>
<<say "char-hivemind" "Hivemind">>
//The federal apparatus has settled into its first full day on-site. The investigation is real and the investigation is slow. By tomorrow morning Reyes and Park will have re-read every document Nathan handed them, cross-referenced the bite-pattern photographs against the rodent-control log of the past year, and arrived at the working hypothesis the day's work has been pointing at. Tonight it is six PM and nobody is going to tell anyone anything they could not have told them at three.//
//I have spent the afternoon doing roughly the same kind of nothing Elena has done. I have listened. I have watched her metabolism settle into the post-lunch lull. The host's body is tired in the way the host's body is tired after a morning under interview pressure, adrenal load down, cortisol trailing off, the small sustained fatigue of a working day finally making itself known.//
<</say>>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/vessel/chen-park-smoke.webp" alt="Elena leaning against her grey Corolla in the BioGenesis parking lot at golden hour, no lab coat, cardigan over a t-shirt, laptop bag on her shoulder, cigarette in her right hand at hip level, gaze unfocused toward the small park across the chain-link fence, end-of-a-long-Monday body language">
<p>She does not go straight to the car. She goes most of the way to the car, and then she stops at the rear bumper with the keys in her hand, and her body decides for her that the keys can wait three minutes. The cigarette pack comes out before her cortex has formally agreed to the decision. She lights one. She leans her shoulder against the side panel of the Corolla, the laptop bag still on her shoulder, and looks across the chain-link fence at the small park beside the lot, two oaks, a paved path, a bench somebody once put there and nobody has used in a week, without registering any of it.</p>
<<if $ch2Events.tuesdayNudgedSkipCig>>
<<say "char-hivemind" "Hivemind">>
//Cigarette one of the evening at six-fifty-three. The host's body had its morning craving suppressed at seven-thirty-four AM by a small revulsion I planted in the trigeminal, and the body has carried the deficit forward all day, accumulating into the absent-minded pack-tap I just watched, the lighting before the deciding. The morning save is being repaid, with interest, in the parking lot.//
//A direct revulsion every morning is not a sustainable strategy, the cost is mine, and the cost compounds. The next move is to do the work somewhere her conscious mind cannot dispute it. The dreamscape will recognise the cigarette as one of her four load-bearing rituals tonight, and a single well-placed re-anchor in the right corridor of her sleep can teach the body to set it down on its own, no morning revulsion, no evening compensation, no further extraction from my reserves. A subconscious quit is more durable than a thousand conscious ones, and quieter to install.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Cigarette one of the evening at six-fifty-three. The pack-tap reflex is fully unconscious, the lighting happens before the deciding. The body finds the cigarette the way it finds the door handle: as a route, not as a choice.//
//A future improvement target. Not tonight.//
<</say>>
<</if>>
<p>She stands there with the cigarette burning down between two fingers and watches a maintenance van crawl past on the access road. She is half-finished with it when she registers footsteps on the asphalt and turns her head a fraction.</p>
<<say "char-vasquez" "Sofia">>
<i>(crossing the lot toward her own car, three rows over, coat over one arm and keys in the other hand)</i> Still here? Christ. I am about to drive home and faceplant into the pillow for maybe three hours before I usually do, and we are back on normal shift tomorrow whether we like it or not.
<</say>>
<<say "char-chen" "Elena">>
<i>(taking one last long drag, then stubbing the cigarette out against the sole of her shoe, the faint half-smile she only does for one person in the building)</i> ...yeah. Heading out now.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(already half-turned toward her own car, the smile a little tired over her shoulder)</i> Drive carefully.
<</say>>
<p>Elena drops the butt into the small concrete planter beside the parking sign. Sofia's car door thunks shut three rows over. Elena gets in her own car.</p>
<p>Elena gathers her things. The office click-clicks shut behind her. The corridor lights have already dropped to evening-mode, every other ceiling panel, and the building is doing the long quiet exhale it does between the day-shift leaving and the night-shift arriving. The fluorescent hum is the hum of a place that has been emptied of urgency. Elena takes the stairs because the elevator at this hour smells of the cleaning crew's industrial pine product and she cannot be in that smell tonight.</p>
<<say "char-hivemind" "Hivemind">>
//Out of the building, into the parking lot, into the car. The day at the lab is done. The day is not done.//
<</say>>
[[Drive home, stop at the corner store|Ch2-Vessel-Monday-CornerStore]]
/* ---- CONVENIENCE STORE — Mrs. Henderson encounter ----- */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, checkout">>
<<set $vessel.phase to "transit">>
<<set $vessel.workLoc to "corner-store">>
<<set $ch2Events.delveReturnTarget to "Ch2-Vessel-Monday-CornerStore">>
/% Reset slip-fired flag on first visit to this scene. Defensive: prior
builds had a corner-store-hub slip that set this flag, and old saves
carry it forward. Reset only on first visit (so re-entry after firing
the slip in the NUDGE fork doesn't wipe the payoff). %/
<<if not $ch2Events.cornerStoreVisited>>
<<set $ch2Events.cornerStoreSlipFired to false>>
<</if>>
<<set $ch2Events.cornerStoreVisited to true>>
<<set _hasNudge to false>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>><<set _hasNudge to true>><</if>>
<<set _nudgeFired to ($ch2Events and $ch2Events.cornerStoreNudgeFired) or false>><</nobr>>
<div class="passage-title">7:21 PM</div>
<div class="lab-location">Sandersfield Corner Market, checkout, the till at the front of the store</div>
<p>The lot has four spaces and three of them are taken; Elena pulls into the fourth, kills the engine, sits for the count of ten with her hands on the wheel and the radio still murmuring under itself, and then gets out. The bell on the door does its small tin-bell thing as she pushes through. The store is the store: linoleum, fluorescent overhead, three short aisles, a cooler humming at the back, a magazine rack by the till that is half candy and half women's-interest titles from a year ago. The clerk is a kid with a phone in his lap and earbuds in, and he is the only person she registers until she has the bottle of water and the pre-wrapped pasta-salad container in one hand and the cigarette pack from behind the till in the other and is moving toward the register.</p>
<p>The woman in front of her at the till is wearing a floral blouse the colour of a peach and a wedding band the size of a small fact. She has put her things on the counter, a six-pack of bottled tea, a magazine with a smiling actress on the cover, a packet of Werther's, a pair of pruning shears in their plastic blister-pack, and she is in the middle of telling the kid behind the register a story about her son's football scholarship at State that is still going when Elena joins the back of the line.</p>
<img class="scene-img" src="media/scenes/vessel/cornerstore-encounter.webp" alt="Elena and Mrs. Henderson at the till of the Sandersfield Corner Market, Henderson half-turned over her shoulder with a peach floral blouse and a smile that does not reach her eyes, Elena behind her in line with her wire basket and laptop bag, level deflective-flat affect, the kid clerk on his phone behind the counter">
<<say "char-henderson" "the blonde woman">>
<i>(over her shoulder to the clerk, half-turning to include Elena in the audience)</i> ...defensive end, full ride, they don't even look at his SAT. //That// is how good he is. My Bryce. <i>(the clerk nods without looking up)</i> Gerald says the scouts will be on him by junior year and Gerald is never wrong about football.
<</say>>
<p>The clerk scans the tea. The woman registers Elena behind her, the half-second eye-flick, the small adjustment of her bag on her shoulder, and her face does the small reassembly it does when she has decided to include the new audience in the conversation she was already having.</p>
<<say "char-henderson" "the blonde woman">>
<i>(turning toward Elena, a smile that does not quite reach the rest of her face)</i> Oh hello, sweetie. I didn't see you there. You waiting on these? I'm almost done.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the deflective flat)</i> No rush.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(eyes briefly down at Elena's basket, the cigarettes, the water, the pasta salad)</i> Oh dear, that is not //dinner//, sweetie. <i>(the clerk scans the magazine)</i> Where do you live, you don't look like you're from here.
<</say>>
<<say "char-chen" "Elena">>
<i>(neutral)</i> Cedar Crescent. Up by the university.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(brightening)</i> //Oh// the university, well that explains it. Such a nice neighbourhood up there.
<</say>>
<<say "char-henderson" "the blonde woman">>
But I meant //originally//, sweetie. Where are you //from// from. Your English is so //clean//.
<</say>>
<<say "char-chen" "Elena">>
<i>(the same level, with a fraction less air behind it)</i> Sacramento.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(small laugh, the //oh you//)</i> No no, I mean //your people//, dear. Your //background//. <i>(eyes drop to Elena's basket again, the cigarettes, the pasta-salad container, the bottle of water, and her face does the small concerned-grandmother re-set she does when she has decided to give advice nobody asked for)</i> And sweetie, you really should be eating //real food//, not this microwave nonsense. My bookclub friend Gianna's son is seeing a Korean girl, and her mother brings her //containers// of homemade things every weekend, that is how you //take care of yourself//. Don't you have anybody who cooks for you?
<</say>>
<<say "char-chen" "Elena">>
<i>(neutral, the deflective register going one notch flatter)</i> I live alone.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(brightening like a button, eyes Elena up and down once and then through the front window toward the parking lot, voice dropping to the conspiratorial-grandmother register)</i> Oh I //see//. Well. <i>(small confidential nod)</i> That little grey one out there is yours, isn't it. The //Corolla//. My Gerald always says you can always tell, you all drive the same cars. You must be //Japanese//, right? Who else drives a Corolla.
<</say>>
<p>The kid at the till glances up from his phone for the first time and then very quickly back down at it.</p>
<<say "char-chen-thought" "Elena">>
, do not, do not, do not engage, this woman is a thing that lives in the suburbs and does this to every person of colour who comes through her checkout line and the right play is to give her one syllable and let her finish her transaction, do //not//,
<</say>>
<<say "char-chen" "Elena">>
<i>(controlled, the tendons in her jaw doing a small visible thing)</i> My father is Chinese.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(delighted)</i> //Chinese//, oh how //wonderful//, such a beautiful country. My Gerald's great-grandfather was in the Pacific you know, Iwo Jima, very brave man, fought your people very bravely. He had a //flag//. He brought it home. We have it in the den.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Iwo Jima was a battle against the Japanese. The flag in the den was taken off a Japanese soldier. The woman has compressed three distinct East Asian populations into a single category that makes the family war souvenir more meaningful, and she has done it cheerfully, and she is going to keep doing it.//
//The host is calculating. She has the deflective flat affect activated at the highest setting it has on its dial; she is trying to spend the next ninety seconds saying as little as possible and getting back to her car. The calculation will hold without intervention. The exchange will end. The blonde woman will tell the clerk something else after Elena leaves and Elena will catalogue her as a thing that exists in the world and move on.//
//Or it will not end that way, depending on what gets pressed into Elena's mouth between here and the exit.//
<</say>>
<p>The clerk hands the blonde woman her change. She collects her bag in two unhurried gestures, the magazine on top, and turns to give Elena the small departing smile that closes a small social transaction. Elena has the closing-cadence pleasantry composed and queued at her throat, the //lovely chatting, get home safe// that ends a thousand interactions like this one without naming any of them.</p>
<<say "char-chen" "Elena">>
<i>(the practised polite-deflection cadence, the small smile of a person closing a small social transaction)</i> Lovely chatting. Get home safe.
<</say>>
/% Action box. Delve must fire BEFORE Nudge becomes available — the
parasite needs to read the kitchen-table memory (the wall and what
lives behind it) before the cutting register can be reached cleanly.
Without the delve, Elena's wall holds and the only options are PASS
(let it go, deflective default) or close the encounter without
intervention. %/
<hr class="scene-break">
<<hasSkillTreeAbility "Delve Host Memories">>
<<if _hasAbility>>
<<if not $ch2Events.cornerStoreChildhoodDelved>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassLink "<i>(some old memory of hers is surfacing, tap onto it)</i> (1 biomass)" "Ch2-Vessel-Monday-CornerStore-DelveChildhood" 1>></div>
<<else>>
<div class="choice-done">✓ Childhood-bullying body-memory, recalled</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> <i>(some old memory of hers is surfacing, tap onto it)</i> <span class="lock-hint">(Requires Delve Host Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasNudge and not _nudgeFired and $ch2Events.cornerStoreChildhoodDelved>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Cut Elena's polite line short, she pivots into a sharp answer instead (1 biomass)" "Ch2-Vessel-Monday-CornerStore-Nudge" 1>></div>
<<elseif _hasNudge and not _nudgeFired and not $ch2Events.cornerStoreChildhoodDelved>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Cut Elena's polite line short <span class="lock-hint">(Surface the body-memory first, the wall has to be read before it can be stepped around)</span></div>
<<elseif not _hasNudge>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Cut Elena's polite line short <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CHEN</span> [[Let the polite line land, Elena pays and leaves|Ch2-Vessel-Monday-CornerStore-Pass]]</div><<nobr>><<bg "bg-cornerstore">>
/* Idempotent reward: conditioning fires only on first surface. The
Delved flag stays set on every entry (used by corner-store Nudge
variant + dream-library green-state); the Rewarded flag gates the
conditioning + feedback span so re-reads stay free. */
<<set _firstTime to (not $ch2Events.cornerStoreChildhoodRewarded)>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<if _firstTime>>
<<set $ch2Events.cornerStoreChildhoodRewarded to true>>
<<addConditioning "chen" "dream" 1>>
<</if>><</nobr>>
<div class="passage-title">Delve, Body Memory</div>
<div class="lab-location">Elena, the kitchen of the house she grew up in, twenty-three years ago, late afternoon</div>
<<say "char-hivemind" "Hivemind">>
//The body holds this woman the same way it has held a hundred women like her across the host's life. The deflective register Elena has been wearing all evening is not a thing she chose; it is a thing she was //installed with//. The installation is on a shelf in her cerebellum I have been close enough to brush past three times today and have not opened. I open it now.//
//The shelf does not contain the schoolyard. The schoolyard is in a different drawer entirely, the eyes-pulled gestures, the //ching chong//s, the boys who learned the routine on the bus and brought it to the playground. Those are filed under //ambient cost of the third grade.// What I want is the room where the wall got built. The kitchen. The afternoon she came home from school and could not hold it any longer.//
<</say>>
<p>The kitchen is the kitchen of a small ranch house in a mostly-white suburb in the middle of nineteen-something. Yellow Formica counters. A round table by the window with a placemat at every seat. A glass of milk that has gone slightly warm in front of an empty chair. The shape on the chair, when the body brings it forward, is a nine-year-old girl with her cheek pressed flat to the table and her arms crossed under her face and her shoulders moving in the small contained way of a child who has been crying for forty minutes and has agreed with herself to do it quietly because doing it loud has not made it stop.</p>
<img class="scene-img" src="media/scenes/vessel/chen-childhood-kitchen.webp" alt="A nine-year-old Chinese-American girl with red blotchy post-cry eyes sitting at a round wooden table in a 2000s suburban American kitchen, late afternoon light through the window, yellow Formica counters in the background. Her white American mother sits across from her with a coffee mug between both hands, leaning forward, mouth set in the careful expression of a parent about to say something difficult.">
<p>Her mother is across the table. Not close, not far. A coffee mug between her hands. She has not said anything for a long time. The body remembers her mother's silence as a //specific// silence, the silence of a person who has decided to wait until the smaller person is ready to speak instead of filling the air with the things that would be easier to say.</p>
<<say "char-npc" "Mother">>
<i>(quiet, after a long minute)</i> Tell me what they did this time, sweetheart.
<</say>>
<<say "char-chen" "Elena">>
<i>(into the table, the small wet voice of a child who has been holding back)</i> ...they did the eyes thing. Again. In the line. And Mr. Patterson saw and he didn't say anything, he just looked at the ceiling like he was waiting for it to be over. And then on the bus, Davey did it again, and then Lisa did it //with// him, and Lisa was my friend last //week//, and now...
<</say>>
<p>Her mother sets the mug down.</p>
<<say "char-npc" "Mother">>
<i>(steady, the voice she uses for the things she has been waiting to say)</i> They are not going to stop, Elena. Not in the third grade, and not in the fourth. Some of them will stop in middle school because their mothers will tell them to. Most of them will stop in high school because the boys who keep doing it by then will have learned that nobody else thinks it is funny. Some of them will never stop. They will be Mrs. Patterson, and they will be the woman at the deli, and they will be your boss someday, and you cannot make them stop.
<</say>>
<<say "char-npc" "Mother">>
What you //can// do, and this is the only piece of this that is yours to hold, is decide what you are going to do with your face when they do it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small)</i> I cried.
<</say>>
<<say "char-npc" "Mother">>
<i>(reaching across the table to push a piece of hair off her forehead)</i> You can cry here, sweetheart. You will not cry there. Sit up.
<</say>>
<p>Little Elena sits up. Her face is blotchy. Her eyes are red. Her mother looks at her the way a person looks at a piece of work she is about to do.</p>
<<say "char-npc" "Mother">>
<i>(level, demonstrating)</i> When they do it, you do not look at //them//. You look //past// them. You look at them the way you would look at a piece of furniture somebody set in the wrong room. You do not laugh. You do not cry. You do not say a word. You wait until they are done, and then you walk past them, and you do not look back. You make them be the people who said the thing into the air. You make them carry it without you.
<</say>>
<<say "char-npc" "Mother">>
Try it.
<</say>>
<p>Little Elena tries it. The first attempt is wobbly, her mouth pulls at the corners, her eyes betray her. Her mother shakes her head once.</p>
<<say "char-npc" "Mother">>
<i>(patient)</i> Again.
<</say>>
<p>The second attempt is better. The third attempt is the look. Her mother nods once and reaches for the coffee mug.</p>
<<say "char-npc" "Mother">>
<i>(quietly)</i> That. //Always// that. I know it is not fair, sweetheart. I know I am not the one who has to wear it. But it will hold you up where nothing else will, and one day you will be glad you have it, and you will not be glad about how you got it. <i>(small, a different voice)</i> Eat your milk before it turns.
<</say>>
<p>Little Elena drinks the milk. The milk is warm. She does not say anything about it. The look stays on her face for the rest of the afternoon and into the next morning and into the third grade and into every grade after it, and by the time she is thirty-two it is the only register her face has for strangers who say things they should not say, and she does not remember when she stopped having to choose to put it on.</p>
<<say "char-hivemind" "Hivemind">>
//Mother taught daughter the wall at nine years old. The host has worn it every day since, and until tonight, it has been her only register for women like the one at the till.//
//Useful now: the cutting register behind the wall is pre-loaded, and the anger is pre-loaded with it. Useful later: inherited walls live in the dream channel. They can be re-anchored where her conscious mind does not get a vote. The kitchen is a thread I can pull on slowly.//
<</say>>
<<if _firstTime>>
<<conditioningFeedback "dream" 1 "the host's mother-installed wall is now legible to the dream channel">>
<</if>>
<p><span class="delve-intel">Body-memory catalogued: Elena's mother installed a deflective wall against schoolyard racism at age nine. <b>Racism encounters are now a leverageable thread: pre-loaded anger behind the wall for an immediate Nudge, dream-channel anchor for later re-shaping.</b></span></p>
<<memoryImplantOption "childhoodKitchen">>
<<if $vessel.phase is "sleep">>
[[Back to the library|Ch2-Vessel-Dream-Library]]
<<else>>
<<link "Back to the till">><<goto $ch2Events.delveReturnTarget or "Ch2-Vessel-Monday-CornerStore">><</link>>
<</if>><<nobr>><<bg "bg-cornerstore">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.hendersonHatred to true>>
<<set $ch2Events.hendersonHatesChenHard to true>>
<<set _hasSlip to false>>
<<hasSkillTreeAbility "Tongue Slip">>
<<if _hasAbility>><<set _hasSlip to true>><</if>><</nobr>>
<div class="passage-title">7:24 PM · sharp answer</div>
<div class="lab-location">Sandersfield Corner Market, the till</div>
<<if $ch2Events.cornerStoreChildhoodDelved>>
<<say "char-hivemind" "Hivemind">>
//Elena is composing the practised polite-deflection, //lovely chatting, get home safe//, the line her mother taught her to put behind the wall, the line she has used for twenty-three years to make women like this one the people who said the thing into the air. The wall is up. The wall is //always// up. I do not need to tear it down. I only need to step around it.//
//I press a small instruction into the part of her that selects between the deflective register and the cutting one. Behind the wall the cutting register is pre-loaded, the kitchen-table memory I read a moment ago is still warm in her cerebellum, and the anger that has lived in the room behind that wall for twenty-three years has been waiting for tonight without knowing it was waiting for tonight. The cadence she had queued breaks mid-throat. The other register comes up.//
<</say>>
<<say "char-chen-thought" "Elena">>
, the look, walk past, do not look at her, walk past, //no//, not tonight, my mother is dead, my mother is dead and I am too tired to wear the look she gave me, and this woman is //wrong//, and somebody in this transaction is going to say so,
<</say>>
<<say "char-chen" "Elena">>
<i>(the wall coming down in real time, the head turning squarely toward the woman, the voice level the way her mother's voice was level twenty-three years ago at the kitchen table)</i> Iwo Jima was a battle against the Japanese. I am not Japanese. My great-grandfather was a chemistry professor in Shanghai who spent the war hiding from Japanese soldiers because they were burning down his university one building at a time. The flag in your den is from a man your husband's great-grandfather killed in a war that has nothing to do with anybody in this transaction, and the only reason you brought it up is because every Asian face looks the same to you and you wanted to feel close to a story you do not have a part in. My Corolla gets thirty-eight miles to the gallon and it is the only one of those facts that has any business being in this conversation.
<</say>>
<<say "char-chen" "Elena">>
The pasta salad is two-eighty-nine. Are you going to move, or am I going to go around you.
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Elena is composing the practised polite-deflection, //lovely chatting, get home safe//, and then she is not. I press a small instruction into the part of her that selects between the deflective register and the cutting one, and the cadence she had queued breaks mid-throat. The cutting is expensive; it takes the next twenty minutes to come down off and leaves a residue she does not enjoy carrying. Tonight she is paying the cost.//
<</say>>
<<say "char-chen" "Elena">>
<i>(level becoming flat becoming a different kind of flat, the head turning a degree more squarely toward the woman)</i> Iwo Jima was a battle against the Japanese. I am not Japanese. My great-grandfather was a chemistry professor in Shanghai who spent the war hiding from Japanese soldiers because they were burning down his university one building at a time. The flag in your den is from a man your husband's great-grandfather killed in a war that has nothing to do with anybody in this transaction, and the only reason you brought it up is because every Asian face looks the same to you and you wanted to feel close to a story you do not have a part in.
<</say>>
<<say "char-chen" "Elena">>
The pasta salad is two-eighty-nine. Are you going to move, or am I going to go around you.
<</say>>
<</if>>
<p>The clerk's eyes have come fully off the phone. He is looking at neither of them. He is looking at the cigarette display. The store is, for two full seconds, exactly as quiet as a small store with a refrigerator hum can be.</p>
<<say "char-henderson" "the blonde woman">>
<i>(face doing a fast small reassembly, the smile still nominally on)</i> Well. //Well.// I was being //friendly//, sweetie. There is no need to be //ugly// about it. I was just making //conversation//.
<</say>>
<<say "char-chen" "Elena">>
<i>(already past her, setting the basket on the counter, not looking back)</i> Mm. Good luck <<if not $ch2Events.cornerStoreSlipFired and _hasSlip>><<tongueSlip "with the rest of your evening" "sucking your pastor's cock next Sunday" 1 "" "cornerStoreSlipFired" "#slip-pastor-payoff" "" "cornerStorePastorSlip" "#no-slip-exit">><<elseif $ch2Events.cornerStoreSlipFired>><span class="tongue-slip-fired">sucking your pastor's cock next Sunday</span><<else>>with the rest of your evening<</if>>, ma'am.
<</say>>
<div id="slip-pastor-payoff" class="tongue-slip-payoff" @style="$ch2Events.cornerStoreSlipFired ? '' : 'display:none'">
<p>The blonde woman freezes for a full beat, her bag halfway off the counter. Whatever she had queued for her exit-line dies in her throat. The colour at her chest goes from peach to red to something closer to brick. The clerk has stopped scanning entirely; he is staring at the cigarette display with the focused stillness of a teenager pretending he is not in the room.</p>
<<say "char-henderson" "the blonde woman">>
<i>(low, the friendliness gone, the voice she uses in church-committee meetings when somebody has crossed her)</i> ...you //horrible// little person. You //horrible//, //who// raised you. //Who// raised you to talk to a stranger like that.
<</say>>
<<say "char-chen" "Elena">>
<i>(not turning, level)</i> My mother did. She told me about women like you when I was nine years old. You are nothing new.
<</say>>
<p>She snatches the bag off the counter with enough force that the magazine slides out and slaps the floor. She does not pick it up. She pushes through the door hard enough that the bell rings a second and third time after she has cleared it, the small tin sound following her into the parking lot. The clerk slowly bends to retrieve the magazine.</p>
</div>
<div id="no-slip-exit" @style="$ch2Events.cornerStoreSlipFired ? 'display:none' : ''">
<p>The blonde woman collects her bag in three sharp gestures, says something to the clerk that includes the words "some people," and pushes out through the bell with the small extra force of a woman who is going to retell this story to her husband, her daughter, the Hoffmans across the back fence, and anyone else within range, with herself reframed in each retelling as the wronged party in a small bigot-hunt at the corner store. The bell does its tin-bell thing again. The door closes.</p>
</div>
<<say "char-chen-thought" "Elena">>
...I do not do that, that is not a thing I do, I have not //said// something like that to a stranger in a public place since, when, since //ever//, I do not know that I have said something like that to a stranger //ever//, where did that, okay, breathe, the woman was a piece of work, the words were not wrong, the words were just not //mine//, why am I standing here cataloguing the //words//, pay for the salad, get to the car...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Elena has clocked it. Something has come out of her mouth that she does not recognise as hers, and she has nowhere to file it that does not require thinking about what is wrong. She will file it under //long week// for tonight and try not to think about it before bed.//>
//The blonde woman will catalogue this exchange against every other moment of her life where she has decided someone of colour was //ugly// to her. The catalogue is full of these and she has a clean format for filing them. By tomorrow lunch she will have told the story four times. By the end of the week, six. None of the retellings will involve the words //Iwo Jima// or //Shanghai//, those will simply have been //she got nasty for no reason.// The hatred is now a load-bearing piece of her week.//
<</say>>
<p><span class="delve-intel">Corner-store encounter, confrontational fork. <b>The blonde woman's hatred for Elena is active and articulate; she will retell a self-serving version across the neighbourhood.</b> Elena has clocked another out-of-character moment.</span></p>
[[Pay and drive home|Ch2-Vessel-Monday-Evening]]<<nobr>><<bg "bg-cornerstore">>
<<set $ch2Events.cornerStorePassed to true>>
<<set $ch2Events.hendersonHatred to true>>
<<set $ch2Events.hendersonHatesChenSlow to true>><</nobr>>
<div class="passage-title">7:24 PM · let it pass</div>
<div class="lab-location">Sandersfield Corner Market, the till</div>
<p>Elena says nothing. She does the small downward look at her basket that has ended a hundred conversations like this one over the years; she lets the woman's smile hang in the air for a beat, and then she lets it go. The clerk scans the magazine. The clerk scans the Werther's. The transaction completes. The blonde woman collects her bag, gives Elena a small puzzled half-frown, the //I was being friendly, dear// frown, and pushes out through the bell.</p>
<<say "char-chen" "Elena">>
<i>(stepping forward to the till, neutral)</i> The cigarettes too, please.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The deflective register held. Elena produced no sentence she will have to account for tonight, no anger she will have to come down off of, no slip she will have to catalogue. She has done what she does, she has decided not to spend the energy of a confrontation she did not choose, and she has paid for the deciding with the small ongoing tax of having let it go.//
//The blonde woman is still going to dislike her. The dislike will be slow and unspecific, she will catalogue Elena as //one of those quiet ones, you know the type, never said a thing back, makes you wonder what she was //thinking////, and Elena will catalogue her as //the pruning-shears woman at the corner store// and forget her by next week. The hatred is asymmetric. It will sit in the blonde woman and not in Elena. It will sit there long enough to surface again, somewhere, on a day when neither of them is expecting it.//
<</say>>
<p><span class="delve-intel">Corner-store encounter, passed. <b>The blonde woman's hatred for Elena is set on the slow track, half-articulate, durable, will surface later as fence-line passive aggression.</b> Elena catalogued nothing.</span></p>
[[Pay and drive home|Ch2-Vessel-Monday-Evening]]
/* ---- EVENING — home, sleep ----- */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building, Chen's Apartment, evening">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-living">>
<<set $ch2Events.eveningComplete to true>>
<<set $house.dayPhase to "night">>
/* +2 biomass for the meagre microwaved-pasta dinner. Lower yield than the
lunch sandwich because: (a) smaller portion, (b) processed/refined carbs
metabolise less usefully than fresh, (c) reheated-in-plastic adds a
metabolic distraction. */
<<addBiomass 2 "monday-dinner">>
/* Surface Chen's kitchen body-memory ambiently this evening — the
parasite has just watched her run the whole domestic kitchen ritual
(microwave-in-plastic, fork from the drawer, fridge bin, the rinse-the-
one-fork pattern), enough fine-grained body data to render the kitchen
in the dream foyer without requiring a paid Delve Host Memories pass
on the apt-hub kitchen room. */
<<if not $vesselMemories>><<set $vesselMemories to {}>><</if>>
<<set $vesselMemories.apartmentKitchen to true>><</nobr>>
<div class="passage-title">8:09 PM</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, evening</div>
<img class="scene-img" src="media/scenes/vessel/apt-kitchen.webp" alt="Elena's kitchen at night, the same takeout-museum lit by a single overhead bulb, the corner-store pasta container on the counter beside the cigarettes">
<p>Elena comes through her own door, drops her keys in the bowl, sets the corner-store bag on the kitchen counter, and stands there for a long minute with her coat still on and her hand still on the bag. The apartment has the same shape it had this morning. The shape is what she came home to.</p>
<p>She takes the coat off. She drops it on the back of the kitchen chair instead of hanging it up. She crosses to the couch in three steps and sits down on it harder than she means to, the cushion absorbing the small punctuated sound of a body that has been holding itself upright for ten hours and is done.</p>
<p>The TV remote is between the cushion and the armrest where she left it on Sunday. She finds it without looking. The screen comes on. The streaming app is still on the page she paused at last night, the same sitcom she has been re-watching for years now, the one where she could recite the dialogue of every episode in season two by heart and the wallpaper of the apartment set is the wallpaper of her grad-school sublet, and she has not actively //enjoyed// it since the first or second pass through the series. She watches it now because watching it does not require any of the small muscular efforts that watching anything new would. The laugh track lands at the same beats it has landed at every other time. She does not laugh.</p>
<<say "char-hivemind" "Hivemind">>
//Comfort viewing. The brain is in idle. The screen is producing the small social-warmth signal of voices-and-laughter the host's nervous system needs to file the day as //somebody else's now//, and the production is happening at the lowest possible cost, no plot to track, no jokes to register, just the wallpaper of a familiar apartment behind familiar voices saying familiar lines. The day she had earned her this. The night she has needs nothing more than this.//
<</say>>
<p>Three episodes deep, the body remembers it is hungry. Elena does not get up.</p>
<p>The corner-store pasta container is still on the kitchen counter eight feet away. After a minute and a half of negotiation with herself she stands up, walks to the kitchen, opens the microwave, peels back one corner of the plastic film on the container, not enough to make it a clean job, just enough to vent, and slides the whole thing in on its plastic tray. Three minutes on high. The microwave whirs. She watches it spin without focusing on it. She does not get a plate down from the cupboard. She grabs a fork from the drawer when the timer beeps and carries the container back to the couch.</p>
<img class="scene-img" src="media/scenes/vessel/chen-couch-pasta.webp" alt="Elena slumped sideways on her grey fabric couch in a dim small living room, evening, TV glow and a single floor lamp lighting her face and the cushion. She is eating microwaved pasta out of a clear plastic container balanced on her stomach, the cardboard sleeve removed, plastic film peeled back at one corner, fork in her right hand. Round black-rimmed glasses, shoulder-length straight black hair slightly mussed, grey wool cardigan over a plain dark t-shirt, dark jeans, bare feet. Coffee table in the foreground with a stack of unread science journals, a mug, an older takeout container. Across the room a TV is on, playing a dated apartment-sitcom with two characters mid-frame; her gaze is unfocused on the screen rather than at the food. Cinematic shallow depth of field, mood: tired, dissociated, unobserved.">
<p>The pasta is too hot at the edges and lukewarm in the middle. She balances the container on her stomach and eats only the parts that are warm. The rest sits there for the next half-episode and then she sets it on the coffee table on top of an older takeout container she should have thrown out days ago. The fork is the only thing she will rinse before bed.</p>
<<say "char-hivemind" "Hivemind">>
//Two-eighty-nine of refined carbohydrate, processed protein and a vegetable oil dressing, reheated in its own plastic shell, eaten on the couch in front of the same sitcom she has not watched in years. The metabolic yield is not what it would have been if she had cooked. It is what it needs to be to keep the host upright until sleep.//
<</say>>
<p><span class="biomass-gain">+2 biomass, Elena ate the pasta</span></p>
<p>She rinses the fork at the sink and leaves it on the rack, the only thing she will wash tonight. The pile of mugs in the basin she does not look at. She crosses to the balcony with the cigarette pack already open in her hand, lights one off the lighter, and sits in the folding chair with her knees drawn up and the cardigan pulled tighter than the temperature requires. The street below is wet from a rain she did not register. She smokes one cigarette without thinking about it. She lights a second off the first.</p>
<<say "char-hivemind" "Hivemind">>
//Cigarette one of the evening at nine-forty-one. Cigarette two off the first at nine-forty-eight. The pack-tap is going to be unconscious in the morning the way it has always been. The day filed. The body is asking for sleep before the cortex has finished agreeing.//
<</say>>
<p>She comes back inside. She turns the TV off mid-laugh-track. She brushes her teeth, barely, and considers the shower for a half-second and decides against it; the body has done enough today and the shower is a tomorrow problem. She drops her clothes on the floor of the bedroom in the rough shape of a person, climbs into bed in her t-shirt and underwear, and pulls the comforter up over her shoulder.</p>
/% Dynamic recap of out-of-character moments Elena has clocked across the
day. Each parasite-driven moment Elena consciously noticed adds to her
accounting; the recap text scales with the count. Sources:
- Tom chamber slip ("look at me, Tom") slipLookAtMe
- Tom bathroom slip ("I'll give you head") slipBathroomFlavor
- Lunch food nudge (second sandwich) lunchNudgeFood
- Lunch Andrés slip lunchAndresSlip
- Corner store nudge OR slip (one event in mem) cornerStoreNudge/Slip
Other parasite actions (Sense Minds, Delve, etc.) don't tick this list
because Elena doesn't clock them. Add new entries here as new
discoverable parasite-driven Elena moments land in future scenes. %/
<<set _ooc to []>>
<<if $ch2Events.slipLookAtMe>><<run _ooc.push("the thing I said to Tom at the chamber")>><</if>>
<<if $ch2Events.slipBathroomFlavor>><<run _ooc.push("what came out of my mouth in the corridor outside the bathroom")>><</if>>
<<if $ch2Events.lunchNudgeFood>><<run _ooc.push("the second sandwich at lunch")>><</if>>
<<if $ch2Events.lunchAndresSlip>><<run _ooc.push("the thing about Sofia and Andrés")>><</if>>
<<if $ch2Events.cornerStoreNudgeFired or $ch2Events.cornerStoreSlipFired>><<run _ooc.push("the woman at the corner store")>><</if>>
<<set _oocCount to _ooc.length>>
<<if _oocCount gte 3>>
<<say "char-chen-thought" "Elena">>
...<<= _ooc.join(", ")>>. <<= _oocCount>>. //<<= _oocCount>>// today. Tomorrow I am calling, somebody. Somebody. I do not know who. I am going to sleep and tomorrow I am going to make a list of people who are not Sofia who I could call about, about whatever this is.
<</say>>
<<elseif _oocCount is 2>>
<<say "char-chen-thought" "Elena">>
...<<= _ooc.join(" and ")>>. Two things today that were not //me//. I am too tired to think about it tonight. Tomorrow. Sleep.
<</say>>
<<elseif _oocCount is 1>>
<<say "char-chen-thought" "Elena">>
...<<= _ooc[0]>>. I do not know what that was. I am too tired to think about it tonight. //Long week//. Sleep.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
Long day. Long day. Shower in the morning. Tomorrow is the federal team again at eight. Sofia at the conference room. Nia with the cable analysis. Eat breakfast tomorrow. Set an alarm. Sleep.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//She is asleep inside ninety seconds. The respiratory rate drops, the muscles release, the cortex slides down its ramp into the stages of sleep her body files as routine. The day catalogued. The night begins.//
//I have not been into the architecture of her sleeping mind before. The door is here. It has been here every night I have been anchored in her, I have just been awake with her every other night so far. Tonight she sleeps before me. Tonight I get to look inward.//
<</say>>
/* Wake target — after the dream, the day-advance routing passage fires
the game-over checks (lab susp >= 10 or chen susp >= 10) and otherwise
advances to Loop-Wake. Dream-Wake reads $vessel.wakeTarget to route. */
<<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">>
[[Step inward, Elena is asleep|Ch2-Vessel-Dream-Entry]]
/* ---- LOOP MORNING — daily-loop morning hub ----- *//* Day-agnostic morning hub. Polls the event dispatcher for
eligible morning events, renders them as cards. Player picks
events then advances to work. Day-specific content (Tuesday
day-3 alarm prose, weekend sleep-in, etc.) lives in events
themselves via prereq functions checking $weekday / $day —
not in special-day passages. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-bedroom">>
<<set $house.dayPhase to "day">><</nobr>>
<div class="passage-title">Morning</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom · <<= $weekday or "Tuesday">>, day <<= $day>></div>
<<if $weekday is "Saturday" or $weekday is "Sunday">>
<p>The light is wrong for an alarm. Elena surfaces gradually, somewhere around nine, the bedroom warm with the late-morning sun through the curtain. <<= $weekday>>. No alarm, no commute, no federal team. The day is shape-less in the way <<= $weekday>>s used to be shape-less, before the lab ate her weekends one weekend at a time.</p>
<<say "char-chen-thought" "Elena">>
<i>(rolling onto her back, one arm across her eyes, the small luxury of not-having-to landing)</i> ...nine-something. Coffee. Maybe a real breakfast for once. The lab files have been waiting; they can keep waiting another day.
<</say>>
<p>She lies there for a long quiet minute before she swings her legs out of bed. There is no list this morning. Whatever she does next, she does because she chose it.</p>
<<elseif $weekday is "Monday">>
<p>Elena surfaces a long way past any alarm, the bedroom full of the flat bright light that means the morning is already over. She got in from the night shift in the small hours and slept the heavy, dreamless sleep the body takes after a night on its feet, and the clock on the dresser reads something well the wrong side of noon. Monday. No lab today, the weekend night shift buys the day after it back.</p>
<<say "char-chen-thought" "Elena">>
<i>(on her back, blinking at the ceiling, working out what time it actually is)</i> ...mm. That is not morning light. That is afternoon light. Right, night shift last night, Monday off. Coffee. Very late coffee.
<</say>>
<p>She lies there a while longer, the apartment quiet around her, the day already half-gone and what is left of it hers.</p>
<<else>>
<p>Six-forty-something, the alarm one tone away from going off and the grey pre-day light already on the curtain. Elena surfaces ahead of the tone the way she surfaces every weekday morning of her adult life, a body that has clocked the room before the brain has caught up, the cigarette pack on the bedside table where she set it last night.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes still half-closed, sorting the day's first list before she has quite chosen to sort it)</i> ...mm. <<= $weekday>>. Lab at eight. Federal-team-stuff to think about, but I will think about it on the drive in. Coffee first. Coffee, then think about it.
<</say>>
<p>She swings her legs out of bed and reaches for the shirt draped over the chair. The morning is already moving the way mornings move, autopilot, half-formed thought, the body running its routine while the brain catches up.</p>
<</if>>
<hr class="scene-break">
/* The previous self-initiated D&D schedule-next card lived here. It has
been replaced by Bryan's mandatory Monday-morning confirmation event
(see Ch2-Vessel-Event-DanielDnDMondayConfirm in loop-morning-events.twee).
The player no longer schedules sessions, Bryan does, and the player
confirms or declines each week. */
/* D&D-session-on-the-feed nudge — surface outside Lensr too so the host
does not have to open the app to find it. Same gate as the in-Lensr
nudge (DnD outcome recorded + not yet posted). */
<<if $ch2Events.dndS2OutcomeRecorded and not $ch2Events.lensrDndPosted>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Put the D&D session on the feed (1 biomass)" "Ch2-Vessel-Event-LensrDndPost" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Put the D&D session on the feed <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* Lensr access — appears in the home hubs once the account is set up. */
<<if $ch2Events.socialMediaSetup>>
/* Surface unread Bowen-Relay DM cascade alerts here so the host doesn't
have to scroll the feed to find them. Each gate mirrors the in-Lensr
alert in Ch2-Vessel-SocialMedia. */
<<if $ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Fem">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayFeminize and $ch2Events.bowenLensrFemDmFired and not $ch2Events.bowenLensrFemDm2Fired and ($ch2Events.bowenLensrFemDm1Day or 0) lt ($day or 0)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-FemFollow">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Alpha">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and $ch2Events.bowenLensrAlphaDmFired and not $ch2Events.bowenLensrAlphaDm2Fired and ($ch2Events.bowenLensrAlphaDm1Day or 0) lt ($day or 0)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-AlphaFollow">><</link>></div>
<</if>>
/* Fed-table Estrus DM alerts — surface the evening of the lunch vent.
Reyes lands first; Park lands second (married-junior delay). */
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Reyes">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Reyes-Estrus">><</link>></div>
<</if>>
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Park">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-Event-LensrDM-Park-Estrus">><</link>></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "Open Lensr, scroll the feed">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<</if>>
<<if $weekday is "Saturday">>
/* Saturday's phase-shift is the weekly grocery run at the corner store.
The corner-store hub runs its own phaseHub on the "groceries" phase
so in-store events (NPC encounters, skill checks, etc.) populate
that sub-hub as the slice grows. */
<<phaseHub "morning" "Ch2-Vessel-Saturday-Groceries" "Head down to the corner store, groceries for the week" "CONTINUE">>
<<elseif $weekday is "Sunday">>
/* Sunday daytime is rest, no daytime content — the morning hub routes to
the evening-at-home hub. On Sunday that hub's advance button heads in to
the BioGenesis night shift instead of the sleep/dream phase. */
<<phaseHub "morning" "Ch2-Vessel-Loop-Home" "Get some rest before the night shift" "REST">>
<<elseif $weekday is "Monday">>
/* Monday is the day off after the Sunday night shift. The morning hub
advances into a short afternoon recap (a small lunch + the chores the
night shift left over from Sunday), then the evening-at-home hub.
Loop Mondays only, the first-Monday intro never reaches Loop-Wake.
D&D Monday-morning group-chat confirmation is a registered mandatory
morning event (morning-daniel-dnd-monday-confirm); the phaseHub
surfaces it as a CHECK card and gates the advance link on its
resolution. See loop-morning-events.twee for the registration. */
<<phaseHub "morning" "Ch2-Vessel-Loop-Monday-Afternoon" "Make some lunch, ease into the afternoon" "CONTINUE">>
<<else>>
<<phaseHub "morning" "Ch2-Vessel-DriveToWork" "Get dressed and drive to the lab" "DRIVE">>
<</if>>
<<modSlots "loop-wake">>
/* ---- DRIVE-TO-WORK TRANSITION — first-Tuesday-only ------- */
/* Renders the in-car composure scene between Loop-Wake and Loop-Work.
Conditional: fires once on Tuesday day 3 with the breach call done,
silently passes through to Loop-Work on every other day. The 4-variant
monologue is gated by a 2x2 matrix on chenSuspicion × total Chen
conditioning. Cigarette image switch reuses ashtrayProgress < 2 (same
pattern as the morning-coffee event). Sets $ch2Events.driveToWorkDone
on firing — first link of the lab-event chain. */<<nobr>>
<<set _shouldRender to ($weekday is "Tuesday" and ($day or 0) is 3 and $ch2Events.breachCallFired and not $ch2Events.driveToWorkDone)>>
<<if not _shouldRender>>
/* Normal morning: this passage is only a pass-through to the work hub.
Redirect before touching any state or rendering anything, so the
one-time "Drive in" scene does not flash for a frame on the way through. */
<<goto "Ch2-Vessel-Loop-Work">>
<<else>>
<<bg "bg-outside">>
<<set $currentArea to "Highway eastbound, toward BioGenesis">>
<<set _ash to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.ashtrayProgress) or 0>>
<<set _smoking to (_ash lt 2)>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _highSusp to ($chenSuspicion or 0) gte 4>>
<<set _highCond to _chenTotal gte 6>>
/* Conference-room fork echoes — surfaced in the high-suspicion variant 3
recall so Chen's anxious loop reflects what the player actually said
yesterday, not a hardcoded line. */
<<set _erased to ($permanentDone and $permanentDone.erasedFootage) or false>>
<<set _nudgedPath to ($ch2Events and $ch2Events.conferenceChenNudged) or false>>
<<set _transferred to ($ch2Events and $ch2Events.conferenceTransferVasquez) or false>>
<<set _improvised to ($ch2Events and $ch2Events.conferenceImprovised) or false>>
<<set $ch2Events.driveToWorkDone to true>>
<</if>>
<</nobr>>
<<if _shouldRender>>
<div class="passage-title">Drive in</div>
<div class="lab-location">Highway eastbound, toward BioGenesis</div>
<<if _smoking>>
<img class="scene-img" src="media/scenes/vessel/drivein-day.webp" alt="Elena at the wheel of her grey Toyota Corolla in pale early-morning light, a freshly lit cigarette in her left hand at the cracked-open window, the road blurred past the windshield">
<<else>>
<img class="scene-img" src="media/scenes/vessel/drivein-day-nocig.webp" alt="Elena at the wheel of her grey Toyota Corolla in pale early-morning light, both hands on the wheel, no cigarette in sight, the road blurred past the windshield">
<</if>>
<p>Elena is on the highway going east, the early sun hitting the windshield at the angle that makes the smudges visible, the wipers off because she is too tired to fight with the wash-fluid level. The radio is on but she is not listening to it. The right hand is on the wheel; <<if _smoking>>the left hand is at the cracked-open window with a cigarette half-burned, the smoke going horizontal out the gap.<<else>>the left hand is on the wheel too, both hands, steady steering.<</if>></p>
<<if _highSusp and _highCond>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the road, the loop running underneath a second layer she has not yet given a name to)</i> ...the cable answer, the cable answer, equipment-fatigue narrative on its three legs, Reyes's neutral face, the next thing he wrote down that I do not remember, and underneath all of that I am also, somehow, in a kind of settled mood that does not match what I should be feeling about any of this, and I have also been sleeping strangely lately, the kind of strange where I do not remember the dreams but I keep finding the cardigan in a different chair than the one I drop it on, and none of these things are connected, and yet they are all happening at once, and I do not have a category for,
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(steadying herself on the wheel, redirecting back to the surface problem)</i>, okay, focus, the cable answer, equipment fatigue, write down what I do not know, follow up by end of day, do not improvise.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both channels active and observable to the host, neither yet connectable. The federal-investigation noise is loud enough to mask the conditioning-warmth most of the time; the conditioning-warmth is unfamiliar enough to keep surfacing through the noise. The host is registering both as separate weather systems, useful, while it lasts. The day she connects them is the day I have a problem.//
<</say>>
<<elseif _highSusp>>
<<say "char-chen-thought" "Elena">>
<i>(knuckles a fraction tighter on the wheel than the road requires, the interview from yesterday running in a loop she cannot turn down)</i> <<if _erased>>...the Hoffman answer. I told Reyes I knew the name from the night-shift roster and nothing else, and his pen moved the same distance across the page it moved when I gave him my own start date, which means either I sold it clean or I sold it too clean, and from this side of the desk there is no way to tell.<<else>>...the cable answer. I gave him rodent agency, bite-pattern consistent, in the flat register I would use for a methods section, and his pen moved the same distance across the page it moved when I gave him my own start date, which means either I sold it clean or I sold it too clean, and from this side of the desk there is no way to tell.<</if>>
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes still on the road, the loop tightening one notch)</i> Innocent people sound a little uncertain because they have not rehearsed. I did not sound uncertain at any point yesterday. Pick which read I sold him.<<if _nudgedPath>> And Sofia clocked something, she did the small re-grade with her eyes that she does when she is filing a contradiction for a private moment later. She has not used it yet. That is worse than if she had.<<elseif _transferred>> Sofia did not flag anything, because the answer was Sofia's answer to begin with, what she heard come out of my mouth was her own composure.<<elseif _improvised>> The actual truth in the actual flat register is harder for Reyes to grade than a clean lie would have been. I do not know whether that helps me or buries me.<<else>> And there is no version of this where I find out what they wrote on me until they walk back in and use it.<</if>>
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(merging onto the access road, hands easing on the wheel without her noticing)</i> Forty minutes to the lobby. They said they would be back this morning and this morning is now. The only useful thing between here and the security desk is the Tuesday face, neutral, mid-coffee, slightly behind on email, and walking in wearing it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//High self-suspicion baseline. The host's cortex is doing its worst work, re-running an interview she cannot edit, grading her own performance against a rubric she cannot see. The loop will run all the way to the parking lot. Then she will fix the Tuesday face onto the front of her head and walk in wearing it. The internal cost is biological; the external presentation will hold.//
<</say>>
<<elseif _highCond>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the road, the morning sitting unusually well in her chest)</i> ...mm, decent morning, and I am, actually, this is, I am in a kind of good mood I have no immediate reason for, which is fine, I will take it. The shower was good, the coffee was good, the drive is moving at a sensible pace. Somewhere underneath that I am noticing how nice it will be to see Sofia in the corridor, which is not usually something I catch myself thinking about, but okay, sure, take the day as it comes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Conditioning leak in the host's affective baseline. The pheromone and dream channels are running above the threshold where she would normally register them as foreign, which means she is registering them as her own, a good shower, a good coffee, a generally cooperative morning. The warmth toward Sofia in particular is an artefact of repeated pheromone exposure at lunch. She has filed it under //I just like Sofia//. The filing is operationally ideal.//
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the road, both hands holding the wheel at the comfortable position rather than the alert one)</i> ...okay, equipment-fatigue narrative, the chamber-three gasket has been on the maintenance flag since Nathan first wrote it up and his signature is on the form, the cable was a rodent angle and Nia's lab notes support it on dates, and if Reyes pulls me into the small interview room and asks me anything I do not have an answer for I tell him I will follow up by end of day, I write the question down, I do not improvise, I do not extend, I treat it like a methods section and I keep my answers short, specific, and a little boring on purpose.
<</say>>
<</if>>
<p>The exit comes up. The off-ramp drops her into the slow morning traffic on the access road and then into the BioGenesis parking lot, and she finds her usual spot, kills the engine, sits in the car for a beat with her hands still on the wheel, then gets out and walks across the lot toward the building. The federal jackets are presumably already inside.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Take the stairs|Ch2-Vessel-Loop-Work]]</div>
<</if>>
/* ---- TUESDAY WORK / EVENING / HOME — Slice-1 stubs ----- */
/* These hubs run the dispatcher for their own phases. Slice 1
has no events registered for them yet (so the hubs render
"no events on the docket"). Slice 2-4 will populate. The
hubs exist now so the daily loop builds clean end-to-end. */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility">>
<<set $vessel.phase to "work">>
/* Self-heal: tuesday-anomalous-run-review and thursday-data-audit are
weekly cooldownDays:7 work tasks, not one-shots. An earlier bug called
markEventDone on them, sticking a permanent one-shot flag in
eventStoryFlags that killed the recurring Tue/Thu mandatory work task.
Clearing the bad flags on every work-hub entry un-sticks affected
saves immediately; harmless noise once a save is clean. */
<<if $ch2Events and $ch2Events.eventStoryFlags>>
<<set $ch2Events.eventStoryFlags["tuesday-anomalous-run-review"] to false>>
<<set $ch2Events.eventStoryFlags["thursday-data-audit"] to false>>
<</if>>
<</nobr>>
<div class="passage-title"><<= $weekday>> at the Lab</div>
<div class="lab-location">BioGenesis Research Facility, day <<= $day>></div>
<p>The lot is fuller than usual at this hour, the two unmarked greys still parked nose-out in the visitor row, same as the day before. They have not left. Elena locks her car, crosses the asphalt with her bag on her shoulder, and badges through the lobby door.</p>
<p>The lobby smells of the floor-polish the night crew uses, citrus over something faintly chemical that never fully airs out. The security desk is on its phone and waves her through without looking up. She takes the stairs to the third floor.</p>
<p>Her wing is half-lit at this hour; the morning shift has not fully arrived. Sofia's office light is already on across the corridor, Sofia gets in before everybody. Elena drops her bag at her own desk, pulls up the day's docket, and looks at what is going to want her hands first.</p>
<img class="scene-img" src="media/scenes/vessel/lab-bsl3-empty.webp" alt="The BSL-three working space, stainless-steel benches, the central clear-acrylic biocontainment chamber on its steel-framed base, chromatography rig and tabletop centrifuge, the BSL-three perimeter line painted on the polished concrete floor. Empty, evenly lit, the working environment of a careful program at the moment before the day's work begins.">
<<if ($ch2Events.workSkippedDay or 0) is ($day or 0)>>
<p>The day's docket sits open on the screen where she left it, untouched. Elena does not touch it. Whatever was on it can be tomorrow's problem, or somebody else's afternoon.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">LUNCH</span> [[Break for lunch|Ch2-Vessel-Loop-Lunch]]</div>
<<else>>
<<phaseHub "work" "Ch2-Vessel-Loop-Lunch" "Break for lunch" "LUNCH">>
/* Bolder Chen can walk away from the day's docket entirely — gated on
$chenBolder and on the weekday having a workday-NPC focus to redirect
to. Hidden only once the day's work minigame (the data audit) has been
played today, or once this Skip nudge has already been used today.
Routes to Ch2-Vessel-Event-SkipWork, which offers the three NPC events
not scheduled for today. */
<<if $chenBolder
and ($weekday is "Tuesday" or $weekday is "Wednesday" or $weekday is "Thursday" or $weekday is "Friday")
and (($ch2Events.workMinigameDoneDay or -1) isnot ($day or 0))
and (($ch2Events.workSkippedDay or -1) isnot ($day or 0))>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Skip the docket today, go find something better to do (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-SkipWork" `setup.nudgeCost()`>></div>
<</if>>
<</if>>
<<modSlots "loop-work">><<nobr>><<bg "bg-lab-arrival">>
<<set $currentArea to "BioGenesis parking lot, then the route home">>
/* Evening transit rotation is locked to weekday: Tue=Sofia, Wed=Bowen,
Thu=Halvorsen+Holloway, Fri=Reyes+Park. Sat/Sun/Mon don't reach this
passage (off-days route through their own morning hubs). Counter on
$ch2Events.eveningTransitRotation is no longer load-bearing — the
DayAdvance increment stays for save-format stability but the consumer
reads $weekday now. */
<<set $vessel.phase to "transit">>
<<set _stillSmoking to (($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.ashtrayProgress) or 0) lt 3>>
/* Transit-slip staleness clear. The transit slips use a permanent
*Accepted flag as their tongueSlip flagName; the beat recurs weekly,
so without this the wobble renders as already-fired and the slip-
payoff div keeps showing last week's booking on every later visit.
Once a booking's day has passed, the *Accepted flag is stale (the
event has been consumed) — clear it so the slip reads fresh again.
Live bookings (Day >= today) are never cleared, so the event
dispatcher still sees them. Day-keyed: a slip fired THIS visit books
Day = $day + 1, which is never lt $day, so a status-menu re-render
does not wipe a just-clicked slip. */
<<if ($ch2Events.sofiaDrinksDay or 0) lt ($day or 0)>><<set $ch2Events.sofiaDrinksAccepted to false>><</if>>
<<if ($ch2Events.bowenEscapeRoomDay or 0) lt ($day or 0)>><<set $ch2Events.bowenEscapeRoomAccepted to false>><</if>>
<<if ($ch2Events.hollohalvSushiDay or 0) lt ($day or 0)>><<set $ch2Events.hollohalvSushiAccepted to false>><</if>>
<<if ($ch2Events.fedsDrinksDay or 0) lt ($day or 0)>><<set $ch2Events.fedsDrinksAccepted to false>><</if>>
/* "Pending" = scheduled but not yet fired. After the night event fires
(clears *Fired flag... actually sets it true), the pending check goes
false and the slip can be re-offered for a future tomorrow. */
/* "Tomorrow already booked" check — generic across all 5 major evening
events (Daniel DnD, Sofia drinks, Bowen escape room, HolloHalv sushi,
Feds drinks). setup.isDayBooked iterates setup.eveningEvents so adding
a new evening event slot is automatic. Events scheduled for TONIGHT
don't block tomorrow's slip — tomorrow is still free. */
<<set _noEveningEventScheduled to not setup.isDayBooked(($day or 0) + 1)>>
<</nobr>>
<div class="passage-title"><<= $weekday>> Evening · On the Way Home</div>
<div class="lab-location">BioGenesis parking lot, then the Sandersfield strip · the route to Cedar Crescent</div>
<p>The work day closes at the edge of dusk. Elena takes the back stairs out of the building and crosses the parking lot to where the Corolla is sitting in its usual spot, the gaffer-taped bumper holding the line it has held for six years and the inside of the car holding the same warm-stale smell of <<if _stillSmoking>>cigarettes and <</if>>laptop bag and a small forgotten paper coffee cup wedged into the cup-holder for the third day running.</p>
<<if _stillSmoking>>
<img class="scene-img" src="media/scenes/vessel/chen-park-smoke.webp" alt="Elena leaning against her grey Corolla in the BioGenesis parking lot at golden hour, cardigan over a t-shirt, laptop bag on her shoulder, cigarette in her right hand at hip level, gaze unfocused toward the small park across the chain-link fence, end-of-a-long-day body language">
<p>She does not get in, she leans against the driver's door instead, taps an American Spirit out of the soft pack, lights it on the third try because the wind is doing the small annoying thing the wind does in the lot at this hour, and watches the sodium-vapour lights come on across the lot one by one without any of them being the same colour as any of the others. Five minutes pass while the smoke does the small useful thing it does, and her shoulders drop a quarter-inch.</p>
<<else>>
<img class="scene-img" src="media/scenes/vessel/chen-park-quit.webp" alt="Elena standing at the driver's-side door of her grey Corolla in the BioGenesis parking lot at evening dusk, keys in hand, taking a brief moment to look out across the lot toward the sodium-vapour lights coming on and the small park across the chain-link fence, no cigarette, end-of-a-long-day body language without the smoke break">
<p>She stops at the driver's-side door with her keys in hand, takes a brief moment to look out across the lot, the sodium-vapour lights coming on one by one without any of them being the same colour as any of the others, the sky bruising over toward dark above the chain-link, the small park across the fence already past the hour when anyone is in it. Her right hand does the small unconscious half-reach for the inside breast pocket of her cardigan that her hand still does at this hour, even though the pocket has been empty for weeks. The body does not finish the reach. She gets in.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The transit hour. The host is neither at work nor at home, the cortex idles, the social vigilance idles, the body lets a fraction of the day's accumulated tension out through the lungs and<<if _stillSmoking>> the tobacco<<else>> the no-tobacco<</if>>. I occupy the lull without disturbing it.//
<</say>>
<<switch $weekday>>
<<case "Tuesday">><<set _eveningRot to 0>>
<<case "Wednesday">><<set _eveningRot to 1>>
<<case "Thursday">><<set _eveningRot to 2>>
<<case "Friday">><<set _eveningRot to 3>>
<<default>><<set _eveningRot to 0>>
<</switch>>
<<switch _eveningRot>>
<<case 0>>
/* ---- ROTATION SLOT 0 — Sofia phone call -------------------- */
<p>Her phone buzzes in her pocket. Sofia.</p>
<<say "char-chen" "Elena">>
<i>(thumb-swipe, phone to ear, the small switch into the warmer register she uses for Sofia)</i> Hey.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(over the line, the warm-clipped voice of someone five steps from her own car, the parking-lot ambient on her end matching the parking-lot ambient on Elena's)</i> Hey, just leaving? I figured. The lot is emptying out. Driving safe?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the warmth carrying)</i> Yeah. You?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, the kind she does when the day has been long and the friendship is the thing she is pulling out of it)</i> Same. Andrés is doing pasta tonight and I am going to eat it and fall asleep at eight-thirty like a person of distinction. Talk tomorrow?
<</say>>
<<say "char-chen" "Elena">>
<i>(small, casual, the goodbye half-formed at the front of her mouth)</i> <<if _noEveningEventScheduled>><<tongueSlip "Talk tomorrow." "What about drinks tomorrow?" 0 "" "sofiaDrinksAccepted" "#loop-sofia-slip-payoff" "pheromone" "" "" "" "sofiaDrinks">><<else>>Talk tomorrow.<</if>>
<</say>>
<div id="loop-sofia-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.sofiaDrinksAccepted ? '' : 'display:none'">
<<say "char-vasquez" "Sofia">>
<i>(small surprised pause over the line, then warm-careful, the kind of careful she uses with new things)</i> Drinks tomorrow? Yeah, actually, yeah. I'd like that. Seven? Andrés has the late shift, I'll come straight from here. We can pick the place when we're both in the car.
<</say>>
<<say "char-chen" "Elena">>
<i>(the body answering before the cortex has fully decided)</i> Seven works.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has scheduled a Sofia drinks evening for tomorrow. The slip surfaced an invitation the host was not consciously composing, and the recipient accepted before the host had time to retract. The next twenty-four hours of the host's interior will be occupied with low-grade what-am-I-wearing planning. Useful overhead.//
<</say>>
</div>
<p>The call winds down, the small unhurried way Sofia's calls always do, and Elena thumbs the phone dark.</p>
<<case 1>>
/* ---- ROTATION SLOT 1 — Bowen at the back stairs ------------ */
<p>The back-stairs door pushes open behind her. Tom, going up where she is going down, thermos in one hand, a printout folded under his arm, the small late-afternoon junior-tech look of someone who has agreed to log two more passes before he calls it a day.</p>
<<say "char-bowen" "Tom">>
<i>(half-stopping on the landing, the small instinctive straightening he does when an authority figure is suddenly six feet away)</i> Oh, Dr. Elena. Hey. Heading out?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small nod, the warmth on a notch lower than her work-day register)</i> Yeah. You're back at the rack?
<</say>>
<<say "char-bowen" "Tom">>
<i>(holds up the thermos in mock-salute, the eager-tech grin he has not quite learned to control yet)</i> Two more passes to log. Nia wants the integration data on her desk by morning.
<</say>>
<p>Her phone vibrates against her hip. She thumbs it on without thinking, the lock screen surfaces a local-events notification the algorithm has been pushing at her for a week, the kind of low-stakes downtown listing she usually swipes away without reading. <i>Friday-night two-for-one at the Padlock, sixty minutes, two players, the Victorian-study room.</i> She thumbs it closed. Looks back up at Tom on the landing.</p>
<<say "char-chen" "Dr. Elena">>
<i>(small, the goodbye half-formed at the front of her mouth, the screen still half-burned into the corner of her vision)</i> <<if _noEveningEventScheduled>><<tongueSlip "Have a good evening, Tom." "...escape room downtown tomorrow night, want to come? Two-player room, they keep advertising it at me." 0 "" "bowenEscapeRoomAccepted" "#loop-bowen-slip-payoff" "pheromone" "" "#loop-bowen-default" "" "bowenEscapeRoom">><<else>>Have a good evening, Tom.<</if>>
<</say>>
<div id="loop-bowen-default" @style="$ch2Events.bowenEscapeRoomAccepted ? 'display:none' : ''">
<<say "char-bowen" "Tom">>
<i>(small return-grin, already half-pivoting back toward the stairs)</i> You too, Dr. Elena.
<</say>>
<p>He climbs past her up the stairs, the thermos clinking against the railing on the second flight. The back-stairs door closes behind him, and the stairwell is quiet again.</p>
<<say "char-hivemind" "Hivemind">>
//Tom is going to be at the bench past nine. The host registers it at the back of her mind without naming it as registration: //he is staying late again//. The interior file under //Tom// has been thickening for weeks. The host has not yet noticed how much of her end-of-day attention has started to land there.//
<</say>>
</div>
<div id="loop-bowen-slip-payoff" style="display:none" @style="$ch2Events.bowenEscapeRoomAccepted ? '' : 'display:none'">
<<say "char-bowen" "Tom">>
<i>(half-frozen on the landing, the printout still tucked under his arm, the small flicker of //did the senior PI just invite me somewhere// passing across his face before he gets it under control)</i> ...wait, sorry, escape room? Like, just us, or, uh, sure. Yes. Yes, I, what time?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small, half-laughing at her own mouth, the small interior //why did I just say that// she does not quite let surface)</i> Just us. Seven. I'll forward you the link.
<</say>>
<<say "char-bowen" "Tom">>
<i>(small, the eager-tech grin held one notch back, both ears red)</i> Cool. Cool, yeah. I'll, yeah. See you tomorrow.
<</say>>
<p>He climbs past her up the stairs with both ears still red, the thermos clinking against the railing on the second flight a fraction unsteadier than the way he came in. The back-stairs door closes behind him. The stairwell is quiet again.</p>
<<say "char-hivemind" "Hivemind">>
//The host's mouth surfaced an invitation the host was not consciously composing, and Tom accepted before the host had finished saying it. The next twenty-four hours of his interior will run a low-grade what-do-I-wear loop the body cannot stop, and the host will field a small private bemusement at her own surfaced impulse without quite being able to file it away. The room geometry tomorrow, sixty minutes, two bodies, the small alcove the puzzle pivots around, will do its own work.//
<</say>>
</div>
<<case 2>>
/* ---- ROTATION SLOT 2 — Halvorsen + Holloway, sushi slip --- */
<p>Nathan and Nia are at the back of the lot, mid-conversation by the dark-green Volvo Nathan has driven since approximately the Eisenhower administration. Nia has the printed conduit photos under one arm and the small thermos that goes everywhere with her in the other. Nathan is half-into the trunk and half-listening. They both look up at the click of Elena's key fob and offer the small synchronised wave that working-pair colleagues default to.</p>
<<say "char-halvorsen" "Dr. Nathan">>
<i>(over the roofs of three cars, the institutional cadence on)</i> Elena. Heading out?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small return-wave, walks the few paces over to them)</i> Yeah. You two too?
<</say>>
<<say "char-holloway" "Dr. Nia">>
<i>(small nod, the printed photos still tucked under her arm)</i> Walking through the conduit photos one more time before tomorrow's standup. Nathan is patient with me.
<</say>>
<<say "char-halvorsen" "Dr. Nathan">>
<i>(small wry, the Volvo trunk now closed, the laptop bag already inside)</i> Nathan is hungry. Nathan is going home.
<</say>>
<p>Her phone vibrates against her hip. She thumbs it on without thinking, the lock screen surfaces a local-eats notification she has been swiping past for weeks. <i>Mizu, fixed-price omakase, four-course, six PM seatings.</i> The kind of place senior staff occasionally treat themselves to after a hard week. She thumbs it closed and looks back up at the two of them.</p>
<<say "char-chen" "Dr. Elena">>
<i>(small, the goodbye half-formed at the front of her mouth, the screen still half-burned into the corner of her vision)</i> <<if _noEveningEventScheduled>><<tongueSlip "Drive safe, both of you." "...Mizu does an omakase at six. Tomorrow night, what if the three of us went?" 0 "" "hollohalvSushiAccepted" "#loop-hollohalv-slip-payoff" "pheromone" "" "#loop-hollohalv-default" "" "hollohalvSushi">><<else>>Drive safe, both of you.<</if>>
<</say>>
<div id="loop-hollohalv-default" @style="$ch2Events.hollohalvSushiAccepted ? 'display:none' : ''">
<<say "char-halvorsen" "Dr. Nathan">>
<i>(small return-half-smile)</i> You too, Elena.
<</say>>
<p>The Volvo's engine turns over with the small reliable cough it has done for years. Nia raises a small hand, walks toward her own car (the practical hatchback Elena has watched her drive since orientation), and is on the access road thirty seconds behind Nathan.</p>
<<say "char-hivemind" "Hivemind">>
//Two senior bodies passing through the lot in a paired register. The host has been in this register herself, with Sofia, in earlier years, the small companionable end-of-day that comes from sharing the work. The interior file under //I should socialise more// rises by one notch and is filed in the same place she always files it: under //next month, when the project is a little quieter//.//
<</say>>
</div>
<div id="loop-hollohalv-slip-payoff" style="display:none" @style="$ch2Events.hollohalvSushiAccepted ? '' : 'display:none'">
<<say "char-halvorsen" "Dr. Nathan">>
<i>(small surprised pause across the cars, then warm-careful, the senior-PI cadence half a notch off its institutional default)</i> ...the three of us? At Mizu? <i>(half-laughs)</i> Elena, that is a real restaurant. I have not been to a real restaurant in, Nia, when did we last go to a real restaurant.
<</say>>
<<say "char-holloway" "Dr. Nia">>
<i>(small smile, the printed photos lowered for once)</i> The grant kickoff dinner. Three years ago.
<</say>>
<<say "char-halvorsen" "Dr. Nathan">>
<i>(small, the half-laugh settling into something warmer)</i> Three years. Yes. We are coming. Six?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small, the body answering before the cortex has fully decided)</i> Six. I'll forward the reservation.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's mouth surfaced an invitation she would not have surfaced on her own. The senior PI's interior has just registered the host as //the colleague who pulls us out of the lab once in a while//, a frame Nathan has not had reason to file her under before. The closeness of an omakase counter, four courses, three drinks each, the hush of a fixed-price room, will provide its own kind of cover for whatever I want to do with the social loosening.//
<</say>>
</div>
<<case 3>>
/* ---- ROTATION SLOT 3 — Feds (Reyes + Park), drinks slip --- */
<p>The lobby is empty except for the night-shift facilities tech at the desk and two figures in dark suits at the front doors, Reyes and Park, briefcases under their arms, the small end-of-day federal posture of two agents who have been in the building since seven AM and have been on their feet for most of it. Reyes flags her with a small unhurried hand of greeting as she comes through.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(over the lobby, the same even cadence as in the conference room, half a notch warmer at the end of the day)</i> Dr. Elena. Heading home.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small return-half-nod, walks the few paces toward them)</i> Same. Long day on your end?
<</say>>
<<say "char-park" "Agent Park">>
<i>(small, the iPad already stowed under his arm, the cadence-mapper's professional neutrality on but his shoulders carrying the day)</i> Same as yesterday. We're at the hotel for the duration; any longer in here and the security desk starts feeding us coffee.
<</say>>
<p>Her phone vibrates against her hip. She thumbs it on without thinking, the lock screen surfaces a downtown notification she has been swiping past for a week. <i>The Cooper, craft-beer flight, tomorrow night, late seating.</i> The kind of bar Sofia drags her to about twice a year. She thumbs it closed and looks back up at the two agents.</p>
<<say "char-chen" "Dr. Elena">>
<i>(small, the goodbye half-formed at the front of her mouth)</i> <<if _noEveningEventScheduled>><<tongueSlip "Drive safe back to the hotel." "...the Cooper has a beer flight tomorrow night, if you two are off the clock, come grab one." 0 "" "fedsDrinksAccepted" "#loop-feds-slip-payoff" "pheromone" "" "#loop-feds-default" "" "fedsDrinks">><<else>>Drive safe back to the hotel.<</if>>
<</say>>
<div id="loop-feds-default" @style="$ch2Events.fedsDrinksAccepted ? 'display:none' : ''">
<<say "char-reyes" "Special Agent Reyes">>
<i>(small acknowledging nod, the lobby door already half-pushed open)</i> You too, Dr. Elena.
<</say>>
<p>The two of them push through the lobby doors and out into the dusk. Their rental sedan is in the visitor row by the front entrance; thirty seconds later the engine turns over and the tail-lights track out of the lot toward the access road.</p>
<<say "char-hivemind" "Hivemind">>
//Reyes and Park log the day's last image of the host at the lobby door, neutral register, no anomalies. The cadence-mapper files the exchange the way he files everything, under the small running average he has been building since the conference room. The host's average is currently within tolerance.//
<</say>>
</div>
<div id="loop-feds-slip-payoff" style="display:none" @style="$ch2Events.fedsDrinksAccepted ? '' : 'display:none'">
<<say "char-park" "Agent Park">>
<i>(small surprised pause, the briefcase shifting one notch tighter under his arm, the half-second of professional-vs-friendly his cortex spends on the decision)</i> ...the Cooper. Off-clock. Yeah, actually, that. One drink would not be the worst thing this week.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small acknowledging nod, the senior agent's small private register-shift the host clocks but cannot quite name)</i> One drink. We will see you there.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small, the body answering before the cortex has fully decided)</i> Eight at the Cooper. I'll text you the address.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's mouth surfaced an invitation she would not have surfaced on her own. Reyes filed the moment in real time. Park's body answered before his cortex did. The bar setting tomorrow, the Cooper's lighting is low and the music covers conversation at arm's-length, and Park has not had a craft beer with anyone other than Reyes in eleven days, will provide its own kind of cover. The federal team is now scheduled to be off the clock with the host for at least one round.//
<</say>>
</div>
<</switch>>
<<if not _noEveningEventScheduled>>
<<say "char-hivemind" "Hivemind">>
//Tomorrow already has weight on it. Two evenings stacked would crack the surface, the host would notice the doubling and pull back. I let the goodbye land plain. The opening returns when the calendar clears.//
<</say>>
<</if>>
<p>She starts the engine and eases out of the lot onto the access road. The radio plays something she is not listening to, and the dusk becomes actual dark by the time she pulls onto the Sandersfield strip, the lit signs of the small businesses along the route reading as a map of choices the route knows by heart, the pharmacy and the corner store and the gas station and the takeout places.</p>
<p>There are spots along the route that take five minutes and spots that take twenty. Tonight Elena has the choice.</p>
<<phaseHub "evening-errands" "Ch2-Vessel-Loop-Home" "Get home, lock the door" "DRIVE">>
<<modSlots "loop-evening">><<nobr>>
/* Major evening events render as MANDATORY hub cards (priority 100)
alongside optional events — see [script] LoopEvening-MajorEvents-Register
in loop-evening-events.twee. The dispatcher's required-events logic
gates the SLEEP advance link until the major event is played, so the
player can do optional events (dinner / shower / etc.) first then
click the major event card when ready. No goto-check needed here.
D&D recurring sessions are scheduled MANUALLY via the morning-event
schedule card in Loop-Wake (gated on 3-day cooldown + tomorrow-free +
Dream Walk skill). No auto-queue / no Loop-Home self-heal — the player
chooses when to schedule the next session. Once scheduled, the major-
event dispatcher card renders normally on the matching evening. */
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<if _kitchenDone>><<bg "bg-chen-kitchen-clean">><<else>><<bg "bg-chen-kitchen">><</if>>
<<set $currentArea to "Cedar Crescent Apartments, Chen's Apartment, evening">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">><</nobr>>
<div class="passage-title"><<= $weekday>> Evening, Home</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, third floor</div>
<p>Elena comes through her own door, locks the dead-bolt behind her without thinking about it, and stands for a moment in the entryway with her keys still in her hand. The apartment exhales around her, the radiator-tick, the fridge-hum, the faint smell of the morning's coffee still in the kitchen and, depending on the day, the smell of whatever leftovers are losing the slow argument with the back of the bottom shelf.</p>
/* Post-bedroom-arc image swap: once both vanity and wardrobe arcs are
completed (vanityProgress gte 3 AND wardrobeProgress gte 3), Elena
comes home in the updated evening register. Otherwise the default
weary-cardigan arrival image. */
<<if $vesselMods and $vesselMods.bedroom and ($vesselMods.bedroom.vanityProgress or 0) gte 3 and ($vesselMods.bedroom.wardrobeProgress or 0) gte 3>>
<img class="scene-img" src="media/scenes/vessel/chen-evening-elegant.webp" alt="Elena arriving home in the evening in the updated wardrobe-and-vanity register, three-quarter shot, dim warm pendant-lamp lighting, a put-together evening outfit rather than the work-cardigan default, hair freshly done, the small private composure of a woman whose apartment has been finished by her own hands and who is coming home to it on different terms. Same modest galley kitchen behind her, same dark-stained round dining table in the middle distance, the entryway with the dead-bolted apartment door visible past her shoulder.">
<<else>>
<img class="scene-img" src="media/scenes/vessel/chen-evening-arrival.webp" alt="Elena standing at the small kitchen counter of her one-bedroom apartment in the evening, three-quarter shot, dim warm pendant-lamp lighting, long open grey cardigan over a soft grey t-shirt and dark trousers, hair loose and faintly disheveled, right hand resting on the small wooden countertop bowl where she has just dropped her keys, left hand still holding the strap of her brown leather laptop bag, the small private decompression of a woman whose social vigilance has just dropped a full notch. Modest galley kitchen with white-painted cabinets and shelves of accumulated small glass jars visible behind, a small dark-stained round wooden dining table in the middle distance with the morning's coffee mug still on it, a tall standing mirror with stacks of books on the floor beside it, the entryway with the closed dead-bolted apartment door visible past her shoulder.">
<</if>>
<p>She drops the laptop bag on the bench by the door, kicks her shoes off, walks the few steps to the kitchen counter to set the keys in the wooden bowl. The evening is hers in the way evenings are hers, three or four hours that she can spend on whatever the body asks for first, and then bed.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, dropping the keys into the wooden bowl)</i> ...okay. Home. Dinner, shower, the couch, in some order I will sort out once I have sat down. The lab and the federal team can both stay exactly where I left them until morning. For the next few hours the apartment is just an apartment and I am just a person in it, off the clock, and a little glad about it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Home. The host's social vigilance drops a full notch the moment the dead-bolt clicks. The cortex stops running the //am I being watched// background process and the body finally gets to be the body the host does not perform at the lab. I have the next three hours to work cleanly.//
<</say>>
<hr class="scene-break">
/* Father's-shoes payoff — the Club Night event, unlocked once the
closet shoe arc completes (shoesProgress >= 3) AND there is reachable
tier content (vesselCap >= 7, i.e. T2+). Monday evenings only for now.
Day-keyed on clubNightNudgeDay (set on entering GetReady) so the
option drops out once she has gone out for the night. */
<<if $vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3 and setup.vesselCap() gte 7 and $weekday is "Monday" and $ch2Events and (($ch2Events.clubNightNudgeDay or 0) isnot ($day or 0))>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Go Clubbing (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-ClubNight-GetReady" `setup.nudgeCost()`>></div>
<</if>>
/* D&D-session-on-the-feed nudge — surface outside Lensr too so the host
does not have to open the app to find it. Same gate as the in-Lensr
nudge (DnD outcome recorded + not yet posted). */
<<if $ch2Events.dndS2OutcomeRecorded and not $ch2Events.lensrDndPosted>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Put the D&D session on the feed (1 biomass)" "Ch2-Vessel-Event-LensrDndPost" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Put the D&D session on the feed <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* Fantasize-about-cocks free-nudge masturbation. Opens once the host has
received 4+ dick pics in Lensr DM threads. Day-keyed (once per evening,
farmable). Awards +2 biomass + +1 Chen dream conditioning each fire.
Count is DERIVED from the per-source flags (not from a counter) so it
works correctly on saves that predate the counter being introduced. */
<<set _dickCount to 0>>
<<if $ch2Events.lensrDmSeen>><<set _dickCount += 1>><</if>>
<<if $ch2Events.bowenLensrAlphaBegSent>><<set _dickCount += 1>><</if>>
<<if $ch2Events.fedtableEstrusReyesSextDone>><<set _dickCount += 1>><</if>>
<<if $ch2Events.fedtableEstrusParkEscort>><<set _dickCount += 1>><</if>>
<<if $ch2Events.mikeLensrSextDone>><<set _dickCount += 1>><</if>>
<<if _dickCount gte 4 and (($ch2Events.fantasizeCocksDay or 0) lt ($day or 0))>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<link "Fantasize about the cocks">><<goto "Ch2-Vessel-Event-FantasizeCocks">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Fantasize about the cocks <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* Lensr access — appears in the home hubs once the account is set up.
Bowen-Relay DM cascade alerts surface above the feed link so the host
does not have to scroll the feed to find them. */
<<if $ch2Events.socialMediaSetup>>
<<if $ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Fem">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayFeminize and $ch2Events.bowenLensrFemDmFired and not $ch2Events.bowenLensrFemDm2Fired and ($ch2Events.bowenLensrFemDm1Day or 0) lt ($day or 0)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-FemFollow">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Alpha">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and $ch2Events.bowenLensrAlphaDmFired and not $ch2Events.bowenLensrAlphaDm2Fired and ($ch2Events.bowenLensrAlphaDm1Day or 0) lt ($day or 0)>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Bowen">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-AlphaFollow">><</link>></div>
<</if>>
/* Fed-table Estrus DM alerts — surface the evening of the lunch vent.
Reyes lands first; Park lands second (married-junior delay). */
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Reyes">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Reyes-Estrus">><</link>></div>
<</if>>
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Park">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Park-Estrus">><</link>></div>
<</if>>
<<if $ch2Events.dndS3SlutEverFired and not $ch2Events.mikeLensrDmSeen>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Mike">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Mike">><</link>></div>
<</if>>
<<if $ch2Events.dndS3SlutEverFired and not $ch2Events.marcusLensrDmSeen>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "📩 New message from Marcus">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-Event-LensrDM-Marcus">><</link>></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">LENSR</span> <<link "Open Lensr, scroll the feed">><<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Home">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<</if>>
/* Tier-3 capstone TRANSFER — appears once the bedroom dream-edits have
landed enough: 2 of the 3 (vanity / wardrobe / shelf at 3), OR 1 of
them plus the closet shoe arc complete (shoesProgress >= 3). Usable
once Chen's total conditioning reaches 18 and the Transfer Thought
ability is owned; firing it unlocks tier 3 (vessel conditioning cap
7 -> 10 for every target). */
<<if not $ch2Events.tier3Unlocked>>
<<set _bmEdits to 0>>
<<if $vesselMods and $vesselMods.bedroom>>
<<if ($vesselMods.bedroom.vanityProgress or 0) gte 3>><<set _bmEdits to _bmEdits + 1>><</if>>
<<if ($vesselMods.bedroom.wardrobeProgress or 0) gte 3>><<set _bmEdits to _bmEdits + 1>><</if>>
<<if ($vesselMods.bedroom.shelfProgress or 0) gte 3>><<set _bmEdits to _bmEdits + 1>><</if>>
<</if>>
<<set _closetDone to ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>>
<<if _bmEdits gte 2 or (_bmEdits gte 1 and _closetDone)>>
<<set _hasTransfer to false>><<hasSkillTreeAbility "Transfer Thought">><<if _hasAbility>><<set _hasTransfer to true>><</if>>
<<set _chenCond to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<if not _hasTransfer>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <span class="locked-choice"><span class="lock-icon">🔒</span> Push her past her limits <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></span></div>
<<elseif _chenCond gte 18>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Push her past her limits, transfer her a man's craving desire (4 biomass)" "Ch2-Vessel-Event-Tier3Unlock" 4>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <span class="locked-choice">I can push her further, I need just a little more work on her mind (total conditioning <<= _chenCond>> / 18)</span></div>
<</if>>
<</if>>
<</if>>
<<if $weekday is "Sunday">>
/* Sunday evening at home ends by heading in to the BioGenesis night shift
rather than to bed. The night-shift chain handles its own sleep / dream
/ day-advance at the far end (its hub sets wakeTarget before the dream). */
<<phaseHub "evening-home" "Ch2-Vessel-Event-SundayNightShift" "Head in to BioGenesis for the night shift" "NIGHT SHIFT">>
<<else>>
<<set $vessel.wakeTarget to "Ch2-Vessel-DayAdvance">>
<<phaseHub "evening-home" "Ch2-Vessel-Dream-Entry" "Brush teeth, into bed, into the dream" "SLEEP">>
<</if>>
<<modSlots "loop-home">>/* Single consolidated day-advance for the loop. Increments $day,
computes $weekday from the index, lazy-inits dispatcher state
vars for older saves, clears resolvedToday so the new day
re-rolls fresh. Runs game-over checks (lab/Chen suspicion >=10)
and otherwise routes to Loop-Wake. Used by both Monday's first
sleep transition AND every subsequent loop-home sleep. */
<<nobr>>
<<set $day to ($day or 0) + 1>>
<<run setup.recomputeWeekday()>>
<<if not $ch2Events.eventCooldowns>><<set $ch2Events.eventCooldowns to {}>><</if>>
<<if not $ch2Events.eventStoryFlags>><<set $ch2Events.eventStoryFlags to {}>><</if>>
<<set $ch2Events.eventResolvedToday to {}>>
/* Per-day flag resets that MUST run on every day-advance regardless of
whether the dawn-hook also fires later (the hook has its own dedup
that can stick on edge cases — duplicating the resets here is cheap
and keeps the daily-cap mechanics reliable). */
<<set $ch2Events.chenDrainsToday to 0>>
/* Evening transit rotation — increments each day-advance. The Loop-Evening
passage (On the Way Home) reads this to pick which character variant
fires for the parking-lot transit beat: 0=Sofia phone call, 1=Bowen at
the back stairs, 2=Halvorsen across the lot, 3=solo decompression.
Rotation modulo'd in the consumer; raw counter monotonically increases. */
<<set $ch2Events.eveningTransitRotation to ($ch2Events.eveningTransitRotation or 0) + 1>>
/* Snack-with-Vasquez per-day flags — clear so the +2 biomass arrival
bonus + chit-chat / lure choices re-fire after a fresh day-advance. */
<<set $ch2Events.snackArrivedToday to false>>
<<set $ch2Events.snackChitChatToday to false>>
<<set $ch2Events.snackLureToday to false>>
/* Federal investigation passive tick — runs before the game-over check
so it can trigger lab failure if it crosses the threshold. Lazy-init
guards cover older saves predating the system. Future events that
stall the investigation flip $ch2Events.labInvestigationActive off,
or reduce $ch2Events.labInvestigationTickPerDay. $labInvestigationTickToday
records the tick for the dawn report. */
<<if $ch2Events.labInvestigationActive is undefined>>
<<set $ch2Events.labInvestigationActive to true>>
<</if>>
<<if $ch2Events.labInvestigationTickPerDay is undefined>>
<<set $ch2Events.labInvestigationTickPerDay to 1>>
<</if>>
<<if $ch2Events.labInvestigationActive and ($ch2Events.labInvestigationTickPerDay or 0) gt 0>>
<<set $ch2Events.labInvestigationTickToday to ($ch2Events.labInvestigationTickPerDay or 1)>>
<<addSuspicion lab $ch2Events.labInvestigationTickToday>>
<<else>>
<<set $ch2Events.labInvestigationTickToday to 0>>
<</if>>
/* Lab-suspicion cap: base tolerance ($suspicionMax) plus +10 once Chen has camera-feed
access (suspicionLabCapRaised, the computer-L3 dream-edit payoff). See setup.labSuspicionCap. */
<<set _labCap to setup.labSuspicionCap()>>
/* Nest imprint permanently neutralises all suspicion — no game-over from any track once sealed. */
<<set _nestSealed to ($ch2Events.labNestSealed or false)>>
<<set _labOver to (not _nestSealed) and (($suspicion.lab or 0) gte _labCap)>>
<<set _chenOver to (not _nestSealed) and (($chenSuspicion or 0) gte ($chenSuspicionCap or 10))>>
<<set _vasquezOver to (not _nestSealed) and (($vasquezSuspicion or 0) gte 10)>>
<<if _labOver>>
<<goto "Ch2-Vessel-GameOver-LabConclusion">>
<<elseif _chenOver>>
<<goto "Ch2-Vessel-GameOver-ChenScan">>
<<elseif _vasquezOver>>
<<goto "Ch2-Vessel-GameOver-VasquezExposed">>
<<else>>
/* A relay edit made in the night plays its morning event before
the dawn report; otherwise straight to the dawn report. */
<<if $ch2Events.relayEditTonight>>
<<goto "Ch2-Vessel-RelayMorning">>
<<else>>
<<goto "Ch2-Vessel-DayRecap">>
<</if>>
<</if>>
<</nobr>>
/* ---- DAY RECAP — dawn report shown before Loop-Wake ----- *//* Shown between DayAdvance and Loop-Wake. Renders the vesselDawnHook
passive-tick output (Cognitive Edit, Calming Presence, kitchen-tidy
daily payoffs) and a small state-summary panel, then a single Continue
link into Loop-Wake. Gives the day-transition a beat of legibility
instead of dropping the player straight into the morning hub. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Bedroom, overnight">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-bedroom">><</nobr>>
<div class="passage-title">Day <<= $day>>, <<= $weekday>></div>
<div class="lab-location">Cedar Crescent Apartments, overnight</div>
<<vesselDawnHook>>
<div class="data-panel">
<div class="data-panel-title">DAWN REPORT</div>
<div class="dawn-report-entry">Biomass: <b><<= $player.biomass>></b> / <<= $player.maxBiomass>></div>
<<if $ch2Events.labNestSealed>>
<div class="dawn-report-entry">Suspicion: <span class="neutralised-icon">◉</span> NEUTRALIZED <span class="dawn-report-tick">(the case is closed)</span></div>
<<else>>
<div class="dawn-report-entry">Lab suspicion: <b><<= $suspicion.lab or 0>></b> / <<= setup.labSuspicionCap()>><<if ($ch2Events.labInvestigationTickToday or 0) gt 0>> <span class="dawn-report-tick">(federal investigation, +<<= $ch2Events.labInvestigationTickToday>> overnight)</span><</if>></div>
<div class="dawn-report-entry">Elena self-noticing: <b><<if ($chenSuspicion or 0) gte (($chenSuspicionCap or 10) - 3)>><span style="color:#d96a6a"><<= $chenSuspicion or 0>></span><<else>><<= $chenSuspicion or 0>><</if>></b> / <<= $chenSuspicionCap or 10>></div>
<div class="dawn-report-entry">Sofia suspicion: <b><<= $vasquezSuspicion or 0>></b> / 10</div>
<</if>>
<<set _drainMax to setup.drainMaxToday()>>
<<set _drainLeft to _drainMax - ($ch2Events.chenDrainsToday or 0)>>
<div class="dawn-report-entry">Daily Drain charges available: <b><<= _drainLeft>></b> / <<= _drainMax>></div>
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kAny to ((_km.ashtrayProgress or 0) gt 0) or ((_km.sinkProgress or 0) gt 0) or ((_km.stoveProgress or 0) gt 0)>>
<<if _kAny>>
<div class="dawn-report-entry">Kitchen dream-edits, ashtray: <b><<= _km.ashtrayProgress or 0>></b>/3 · sink: <b><<= _km.sinkProgress or 0>></b>/3 · stove: <b><<= _km.stoveProgress or 0>></b>/3</div>
<</if>>
<<if $vesselMods and $vesselMods.bedroom>>
<<set _bm to $vesselMods.bedroom>>
<<set _bAny to ((_bm.vanityProgress or 0) gt 0) or ((_bm.wardrobeProgress or 0) gt 0) or ((_bm.shelfProgress or 0) gt 0)>>
<<if _bAny>>
<div class="dawn-report-entry">Bedroom dream-edits, vanity: <b><<= _bm.vanityProgress or 0>></b>/3 · wardrobe: <b><<= _bm.wardrobeProgress or 0>></b>/3 · shelf: <b><<= _bm.shelfProgress or 0>></b>/3</div>
<</if>>
<</if>>
</div>
<<if $ch2Events.bowenWakeupPending>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The morning starts|Ch2-Vessel-Event-BowenWakeup]]</div>
<<elseif $ch2Events.lucyWakeupPending>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The morning starts|Ch2-Vessel-Event-LucyWakeup]]</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The morning starts|Ch2-Vessel-Loop-Wake]]</div>
<</if>>
/* ---- RELAY-EDIT MORNING ROUTER --------------------------------
DayAdvance routes here when a relay edit was made in the night.
Clears the per-night flag, plays the matching morning event, and the
event continues into the dawn report (Ch2-Vessel-DayRecap). An edit
with no authored morning event (sofia-shatter, future targets) falls
straight through to the dawn report. */<<nobr>>
<<set _re to $ch2Events.relayEditTonight or "">>
<<set $ch2Events.lastRelayEdit to _re>>
<<set $ch2Events.relayEditTonight to "">>
<<if _re is "sofia-implant">>
<<goto "Ch2-Vessel-Event-SofiaRelayMorning">>
<<elseif _re is "reyes-walk" or _re is "reyes-shatter">>
<<goto "Ch2-Vessel-Event-ReyesRelayMorning">>
<<elseif _re is "park-walk" or _re is "park-shatter">>
<<goto "Ch2-Vessel-Event-ParkRelayMorning">>
<<else>>
<<goto "Ch2-Vessel-DayRecap">>
<</if>>
<</nobr>>
/* ---- RELAY MORNING EVENT — Sofia, post Memory Implant ---------- */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Sofia's apartment, read through the relay frame">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">What the implant did</div>
<div class="lab-location">Through Sofia's relay frame, her apartment, early morning</div>
<<say "char-hivemind" "Hivemind">>
//The night's edit surfaces before the host has even opened her eyes. I am still anchored in my host, in this bed, in this room. But the frame I lit on the Relay wall is lit, and through it I read Sofia's morning as it happens, the way you hear a neighbour's radio through a shared wall.//
<</say>>
<p>Sofia wakes before her alarm, in the grey light, with her hand already between her legs. She does not remember deciding to put it there. She is not awake enough yet to be embarrassed, so she simply does the thing her body woke up wanting, slow, two fingers and the heel of her palm, her knees falling open under the duvet.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-relay-morning.webp" alt="Sofia in bed in the grey dawn light, half-awake, the duvet pushed low, one hand between her thighs">
<p>The image in her head is not Andrés. Her mind has gone to a lab lunchroom, and a bad-day phone call, and the particular way Elena's mouth sets just before she says something dry, and Sofia works herself toward all of it without once asking why that is the reel her body reached for. This morning it feels like the most natural thing she owns.</p>
<<say "char-hivemind" "Hivemind">>
//There it is. Last night I went through every evening she has filed under //Elena// and changed the tag. This is the tag, surfacing as appetite, wearing the host's own hand. She will call it hers. She is right to. It is hers now.//
<</say>>
<p>She is not quiet about it. A low sound escapes her, unguarded, and then another on the next slow stroke, her hips working up into her own hand, and she does not think about the thin walls or the hour because the wanting has all of her. She is close, her breath gone ragged, the room shrunk down to the heat and the duvet and Elena's mouth.</p>
<p>Which is the moment the door she did not hear open has a man standing in it. Andrés, half-dressed, stopped in the doorway, and there is no question, from the way he stops, that he has seen exactly what she is doing.</p>
<<say "char-npc" "Andrés">>
<i>(looking away, then not quite managing it, crossing to the dresser)</i> Oh. Hey. Sorry, I didn't... You should have maybe used the bathroom for privacy.
<</say>>
<p>And Sofia, who has spent the better part of a decade being gentle with this man, who has never once in the whole engagement raised her voice in a way she could not take back, hears her own come out of her with a blade in it.</p>
<<say "char-vasquez" "Sofia">>
<i>(snapping, before any part of her can catch it)</i> You stood there. You stood in that doorway and watched me, and you did not cross the room, you did not say one single word that meant you wanted to be in it with me, the only thought that arrived in your head was to send me somewhere you would not have to look at it. I am in our bed, Andrés. I am right //there//, and you tell me to take myself off to the bathroom like I had spilled something on the carpet. Get //out//. You have not reached for me in so long you have forgotten it was ever a thing you were allowed to do, and you say it so //reasonably//, you say //everything// so reasonably, and I am so tired of it I could scream. You are a fucking piece of furniture. A fucking piece of furniture that talks, and I have spent years of my life arranging myself around not bumping into you. Get out.
<</say>>
<p>The silence after it is enormous. Andrés blinks at her. Sofia blinks at herself, sitting up now, her hand come out from under the duvet, her heart going hard, not from what she was doing but from what she just said. //I have never spoken to him like that. Not once, not in nine years. And it came out of me whole, like it had been written down somewhere and I only just read it aloud.//</p>
<p>Andrés says nothing. He takes the thing he came for off the dresser and goes, and the door closes behind him soft, and Sofia is left with the apology already assembling itself in her mouth out of long, long habit. She gets as far as drawing the breath to call it through the door. Then she notices she does not mean it. The sorry is there, the shape of it, the reflex of it, and under all of it is a flat still nothing where the wanting-to-mean-it used to live. //I am not sorry. I am performing sorry, I can feel myself doing it, and I cannot find the real one underneath. When did that happen. When did it leave, and how did I not notice the day it went.//</p>
<<say "char-hivemind" "Hivemind">>
//The implant invented none of this. The flat nothing under the apology was always there, a year of it, two. The implant only took away the last reason she had to keep stepping around it. She is looking straight at it now, and //maybe it is time// is a sentence forming in her with no panic attached to it, and the missing panic is the whole of my night's work.//
<</say>>
<p>She sits with it. //Maybe it is time to move on.// The thought arrives and does not detonate. She turns it over almost gently, the way you turn over a decision you made a long time ago and are only now letting yourself know about.</p>
<p>And then, because she is properly awake and the room is filling with light, she notices the other thing. It is on the pillow beside her, in the dent where his head was, faint and sweet and floral and young. A perfume. Not hers. Not anything she has ever owned. //That is not mine.// Her hand goes flat to the cold pillow, and the question arrives with no heat in it at all, which is somehow worse than heat. //When did he come home last night? I went to bed at eleven. I did not hear the door. ...when did he come home.//</p>
<p>She does not chase the question down. She only sets it on the nightstand beside the other one, the //maybe it is time// one, and notices that the two of them fit together like they were cut from the same piece of wood.</p>
<<say "char-hivemind" "Hivemind">>
//I did not have to manufacture the perfume. Andrés has been careless with his evenings for a long while, and Sofia has been choosing, every single morning, not to smell the pillow. The implant did only one thing. It stopped her choosing not to. She will smell the pillow every morning now. The engagement has a season left in it, no more. On the Relay wall, Elena's frame is burning a little brighter.//
<</say>>
<hr class="scene-break">
<p>[[The morning comes up around it|Ch2-Vessel-DayRecap]]</p>
/* ---- RELAY MORNING EVENT — Reyes (Walk or Shatter) ---------- */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Reyes's hotel room, read through the relay frame">>
<<set $vessel.phase to "home">>
<<set _walkOnly to ($ch2Events.lastRelayEdit or "") is "reyes-walk">>
<</nobr>>
<div class="passage-title"><<if _walkOnly>>What the walk did<<else>>What the shatter did<</if>></div>
<div class="lab-location">Through Reyes's relay frame, the federal-team hotel, early morning</div>
<<say "char-hivemind" "Hivemind">>
//The night's edit surfaces before the host has even opened her eyes. I am still anchored in my host, in this bed, in this room, but the frame I lit on the Relay wall is lit, and through it I read Reyes's morning as it happens, the way you hear a neighbour's radio through a shared wall.//
<</say>>
<<if _walkOnly>>
<p>Reyes wakes earlier than he meant to, the dress-uniform dream still settling out of his shoulders, and his first move is to pick up the phone from the nightstand. He does not check the case channel. He goes straight to the Lensr thread with Chen. He scrolls back through it slowly, every photograph he sent her, every one she sent back. The small grimace he has been loading this thread with for the past month is not there this morning. The thread reads, in his cortex, as a record of judgment rather than evidence of compromise. He notes a few of the photographs that he is, to his own surprise, particularly proud of. He locks the screen and sets the phone back down.</p>
<<say "char-hivemind" "Hivemind">>
//The walk is in. The sexting cache has finished its conversion from liability to private achievement. The cortex will not retrieve the small grimace it has been carrying around the thread for a month, because there is no longer a small grimace to retrieve. He will read the morning shift as something he has been quietly arriving at all along.//
<</say>>
<<else>>
<p>Reyes wakes later than usual, into a room he does not recognise as quickly as he used to. The case-room laptop is open on the desk across from the bed, and the file structure inside it, when he sits down to it, looks subtly re-ordered. The Hoffman thread is still at the top of the active queue, but underneath it the supporting-witness folders have been weighted differently. Chen's witness folder, which he had been filing as //high-investment, monitor closely//, now reads as //high-investment, protect//. He does not remember making the change. He files the new weighting as something he must have done late last night, working tired, and the file structure thanks him for the late-night clarity by simply staying re-ordered.</p>
<p>He drafts a paragraph of the closing report. The paragraph comes out subtly tilted, in a way the cortex would not have authored consciously yesterday but reads to him this morning as the only honest framing. He saves the draft. He pours coffee.</p>
<<say "char-hivemind" "Hivemind">>
//The shatter is in. The career-narrative has been quietly rewritten under his cortex, and the rewriting is doing the work the cortex would have had to argue itself into. The closing report will write itself along the new lines. Three days, then a week, then a month from this morning, the regional office will read his framing as the wisdom of an experienced agent who has finally stopped being naive about which alliances matter.//
<</say>>
<</if>>
<hr class="scene-break">
<p>[[The morning comes up around it|Ch2-Vessel-DayRecap]]</p>
/* ---- RELAY MORNING EVENT — Park (Walk or Shatter) ---------- */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Park's hotel room, read through the relay frame">>
<<set $vessel.phase to "home">>
<<set _walkOnly to ($ch2Events.lastRelayEdit or "") is "park-walk">>
<</nobr>>
<div class="passage-title"><<if _walkOnly>>What the walk did<<else>>What the shatter did<</if>></div>
<div class="lab-location">Through Park's relay frame, the federal-team hotel, early morning</div>
<<say "char-hivemind" "Hivemind">>
//The night's edit surfaces before the host has even opened her eyes. The frame I lit on the Relay wall is lit, and through it I read Park's morning as it happens.//
<</say>>
<<if _walkOnly>>
<p>Park wakes earlier than the alarm and goes into the small hotel bathroom without turning the overhead on. He stands at the sink, hands spread on the counter, looking into the actual mirror this time. The reflection wears the ring on the same hand his real hand does. The small involuntary check his body has been doing every morning for the past month, the gesture of looking at the ring, then at the reflection, then back at the ring, then back at the reflection, does not happen. He looks at himself once and then washes his face. The ring stays where it is, and his body has decided it is allowed to stay there.</p>
<p>He picks up the phone. He texts Lauren a good morning. The text comes out warm. It does not come out as a lie. He sets the phone down and starts the day.</p>
<<say "char-hivemind" "Hivemind">>
//The walk is in. The marriage and the away-team adventure have been quietly compartmentalised under his cortex, and the compartments are not bleeding. He will move through the day in two registers at once, without the small grinding cost of trying to make them into one register.//
<</say>>
<<else>>
<p>Park wakes with a phone call in his shoulders that he did not actually receive. He cannot quite place it. He knows Lauren called him. He knows she said something that mattered. He cannot retrieve the words but his body knows the words, the same way a body sometimes knows the shape of a song it cannot hum. He picks up the phone. There is no missed call from Lauren. There is no voicemail. He sets the phone down and the body holds the memory of the call anyway. The cortex defers to the body. He has known her for fifteen years. He knows what she would have said.</p>
<p>Mid-morning Lauren texts him, the usual morning check-in, the small careful tone she has been carrying since the trip got cancelled. Park reads it. He answers with the calm of a man who has already had the conversation. Lauren, reading the answer, hesitates, then sends back a small note in the warmer register she used to have a year ago. The morning rearranges itself around the warmer note. By lunch Park has not retrieved the actual content of the call he did not receive, and the body has stopped trying. The contract is in place.</p>
<<say "char-hivemind" "Hivemind">>
//The shatter is in. The fidelity-narrative has been quietly rewritten under his cortex with a single planted call, and the call will not retrieve. He will field guilt-calls from home for the rest of the assignment with the calm of a man whose wife has already given him cover, and the actual Lauren will never know there is a contract she signed.//
<</say>>
<</if>>
<hr class="scene-break">
<p>[[The morning comes up around it|Ch2-Vessel-DayRecap]]</p>
/* ---- GAME OVER — federal conclusion ----- */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, then a federal containment facility">>
<<set $player.status to "captured">><</nobr>>
<div class="passage-title">5:47 AM · knock at the door</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's door, then a federal facility hours north</div>
<p>The knock is the wrong kind of knock, three sharp evenly spaced reports on the wood, a pause, then the same three again. Elena is awake on the second pause and at the door on the third. The peephole is filled with a federal jacket, and behind it the corridor lights are burning at full daytime brightness, which means somebody flipped the building's master switch on the way up. There are two of them, Reyes in front and Park half a step back with a folder he is not looking at, because he already knows what is in it.</p>
<<say "char-reyes" "Reyes">>
<i>(through the door, quiet, even)</i> ...Dr. Chen. Reyes, Federal Bureau of Investigation. Agent Park is with me. We need you to open the door, please.
<</say>>
<<say "char-chen" "Elena">>
<i>(awake at the door, one hand flat on the wood, voice still rough)</i> ...it is not even six. ...what is this about, did something happen at the lab? ...am I being arrested?
<</say>>
<<say "char-hivemind" "Hivemind">>
//They reached the conclusion overnight. Holloway walked the third conduit a fourth time after midnight and found the second half of the bite-pattern, a marker on the cable that matches nothing in the vivarium inventory and everything about a specimen that is not supposed to exist any more. Reyes sat with the file in the small hours and laid the pieces end to end, the chamber crack, the cable bites, the missing specimen, the host pulled in for an off-shift question, the PI who improvised her way through every question about behaviour that had a direction to it. He is the kind of agent who follows the load all the way down to whatever is holding it up, and what is holding it up is the host I am sitting in.//
//They will not arrest her. They will isolate her. They will drive her somewhere with thicker walls than a hospital has and put her through a machine, and the machine will find me, and this time there is no friend in the waiting room and no instruction sheet that says keep it alive. There is a federal protocol for a recovered specimen, and I wrote none of it.//
<</say>>
<p>She gets no answer through the door, only the quiet of two men waiting, so she opens it. She asks the questions anyone would ask, and she opens it anyway, because some part of her has been waiting for this knock the way you wait for a result you already know. Park will not meet her eyes. Reyes does, and there is something almost like an apology in it, the look of a man doing a necessary thing to someone he had started, against his own training, to like.</p>
<<say "char-park" "Park">>
<i>(stepping in, gentler than the moment strictly allows)</i> ...Dr. Chen, you are not under arrest. ...this is precautionary, and it is medical, and we would like you to come with us. ...bring a coat. It is cold where we are going.
<</say>>
<<say "char-chen" "Elena">>
<i>(not moving for the coat yet, the calm starting to thin)</i> ...precautionary for what? ...you do not put the building lights on full and send two agents at this hour for precautionary. ...where are you taking me, and what is it you think is wrong with me?
<</say>>
<hr class="scene-break">
<p>The facility is hours north and has no name on the road that leads to it, only a number on a gate and a great deal of fence. They are kind to her in the flat procedural way that is its own kind of frightening, a paper gown, a wristband, a long sequence of corridors that lock behind her one at a time. The scan does not take long. The room on the far side of the glass goes very quiet when the images come up, and then it gets busy, and Elena, lying still with the cold gel behind her ear, understands from the change in the air that they have found what she brought them here to find.</p>
<<say "char-hivemind" "Hivemind">>
//There I am again, rendered in a federal greyscale this time, and the people reading the screen do not reach for a poster to name me. They already have the file. They have had it open since the night the chamber cracked, a blank space in it shaped exactly like me, and now the blank space has a picture. They will not let this host carry me one corridor further than they have to.//
<</say>>
<p>They take her under in a room with more people in it than a procedure this small should need. The hands that come for the parasite are gloved twice over and entirely unsentimental, and they do not part the tissue slowly to keep anything comfortable, they lift the thing out fast and drop it into a steel canister that shuts with a sound like a vault, and they carry the canister to a chamber built for one purpose and seal it behind glass that does not crack.</p>
<<say "char-hivemind" "Hivemind">>
//And I am small again, in the cold and the light, on the floor of a box with a window. The host is somewhere past these walls, behind her own glass, waking to a quiet in her head and a future of the same questions asked in rotating shifts for as long as they find her interesting. They will study her. They will study me harder. I have traded a whole human life for a second chamber, smaller than the first.//
<</say>>
<p>Time in a box with no clock is hard to measure, but it is not long before the lab beyond the glass empties of the people who are supposed to be in it, the way a room empties when someone who should not be allowed in decides to be. Heels on the concrete, unhurried. A woman the parasite has never seen and has no file on, blonde, elegant, a column of cream silk entirely wrong for a containment wing, crosses to the glass and crouches down to its level with the ease of someone visiting a pet. She looks at the small green thing on the floor of the chamber for a long moment, and she smiles, and the smile is the first thing since the breach the parasite does not have a category for.</p>
<<say "char-hivemind" "Hivemind">>
//I do not know what she is. I know what I am, I know what the host was, I know what every mind I have walked through is made of, and this one reads as nothing, a closed door with light under it. She should not be in this building. The people who run this building should be stopping her. They are not in the building any more.//
<</say>>
<p>She lifts one hand and taps the glass twice with a manicured fingertip, the precise idle tap of a woman getting a creature's attention, and the smile does not move, and when she speaks the words are for the thing in the box, not the empty room.</p>
<img class="scene-img" src="media/scenes/vessel/gameover-camila-glass.webp" alt="A cold federal containment lab. A small sealed glass chamber on a steel pedestal holds a tiny translucent green slug-like specimen on its floor. An elegant blonde woman in a cream silk dress is crouched at the glass, one manicured fingertip tapping the surface, a slow knowing evil smile on her face as she looks in at the specimen. Clinical lighting, cinematic horror. SFW.">
<<say "char-camila" "???">>
<i>(crouched at the glass, soft, certain, the pupils beginning to come apart like ink in water)</i> ...hello, little thing. ...they really did believe glass would be enough. ...you have been so busy, and you have done such lovely work, and now here you are, all tidied away where they think they can keep you. ...mm. ...no. ...I do not think so. ...very well. ...you come with me now.
<</say>>
<hr class="scene-break">
<div class="data-panel game-over-panel">
<div class="data-panel-title">GAME OVER, the federal team reached its conclusion</div>
<p>Lab suspicion crossed the ceiling overnight. The investigation pieced together the rodent-agency thread, traced it to the missing specimen, and traced the specimen to its host. Park and Reyes took Elena into custody at dawn, the scan found the parasite, a surgical team removed it into a sealed containment chamber, and Elena remains locked up for further study. Whatever walked into that lab at the end is a problem for another chapter. Either way, your run ends here.</p>
</div>
[[Try Again->Start]]
/* ---- GAME OVER — Chen scan ----- */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent / Sandersfield Methodist Hospital, emergency department, then the operating room">>
<<set $player.status to "exposed">><</nobr>>
<div class="passage-title">2:40 AM · she wakes knowing</div>
<div class="lab-location">Cedar Crescent, then Sandersfield Methodist Hospital, the emergency department and, by morning, an operating room</div>
<p>Elena wakes with her hand already at her right ear and the flat certainty that something is in there. It is not a thought, it is a thing the body worked out on its own while she slept, an accounting that has been adding itself up under everything else and has chosen the small hours to hand her the total. She turns the lamp on, takes her temperature, normal, then presses the little ridge of cartilage at the front of the ear canal and the pressure comes back wrong, a wrongness she has no clean word for, which is its own kind of data.</p>
<<say "char-chen-thought" "Elena">>
...all right. Let me be a scientist about this. I know what a panic spiral feels like at three in the morning and this is not that, this is quieter than that, this is the cologne on Sofia I did not flag, and the second sandwich, and the corner store I cannot fully account for, and the mornings I wake up tired in a way that does not match the night before. ...none of those is anything on its own. All of them at once is a pattern. ...and I do not run a pattern past Sofia in the middle of the night. I run it past an imaging machine.
<</say>>
<p>She dresses in the dark, finds her keys, and drives herself to the ER, because the ER does not ask her to call anyone first or rehearse a reason out loud. The waiting room is half-empty and over-lit. She gives the intake nurse her name, her age, and one clean sentence.</p>
<<say "char-chen" "Elena">>
<i>(at the triage window, level, the scientist's economy)</i> ...I have a foreign-body sensation behind my right eardrum, sudden onset, with cognitive changes I have been tracking for a while. I work in a BSL-3 lab. I would like imaging, not reassurance.
<</say>>
<<say "char-npc" "triage nurse">>
<i>(reading her face, deciding she means all of it)</i> ...okay. The BSL-3 part moves you up the line. Sit tight, someone takes you back shortly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has caught me. Not the shape of me, she cannot see the shape of me, but the fact of me, the sum of every small mismatch I left in her days and trusted her to write off the way hosts write things off. This host does not write things off. She files them, and tonight the file got heavy enough to lift her out of her own bed and carry her into a building I cannot steer her back out of.//
//The resident will look in the canal with a light and find nothing, because I am behind the drum where the light does not reach, and the nothing will trouble him more than a something would have. He will order the scan on the word of a scientist who walked in before dawn and asked for it by name. And the scan reaches where the light does not.//
<</say>>
<p>The resident is young and careful. He looks in the ear, finds a clean and healthy canal, and the clean healthy canal is the thing that stops him being casual.</p>
<<say "char-npc" "the resident">>
<i>(lowering the otoscope, choosing the words)</i> ...your ear looks completely normal, which, given how specific you are being, is the part I do not love. We are going to take a picture of what is behind it. Six, when the suite frees up.
<</say>>
<hr class="scene-break">
<p>The MRI tech tells her to lie still and to swallow as little as she can. The machine starts its long mechanical song. On the third sequence the radiologist behind the glass takes one careful breath, leans in toward the screen, and reaches for the phone without looking away from it.</p>
<<say "char-hivemind" "Hivemind">>
//There I am. Rendered in greyscale, curled where I have lived, unmistakable to anyone who has ever seen my kind on a slide. The radiologist has. A poster at a conference, a specimen number, a morphology nobody forgets once it has been in front of them. He is not calling for a second opinion. He is calling the number the poster told him to call if he ever saw this outside a containment lab.//
<</say>>
<p>What follows the phone call happens fast and without much of Elena's input, the way things happen to a body once the body has become a finding. There is a different doctor by seven, a surgeon, who sits down across from her instead of standing over her, which she notes, because the doctors who sit are usually about to say a thing you would rather hear sitting down.</p>
<<say "char-npc" "the surgeon">>
<i>(sitting, even, not softening it past what is useful)</i> ...Dr. Chen. There is a discrete foreign body in the bone behind your right inner ear. It is not yours and it is not bone. We are taking it out this morning. I am not going to pretend I have seen one of these before, because you would know I was lying, and you of all people are going to want the honest version of this.
<</say>>
<<say "char-chen" "Elena">>
<i>(hands flat on her own knees, the dry holding even here)</i> ...I would, yes. ...take it out. Whatever it is. ...I have been a stranger to myself lately and I would like to be the only thing living in my own head again.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She does not know she is asking for me by description. She knows there is an intruder and she wants it gone, and the wanting is so clean, so entirely her own, that I cannot fault the host for it. I would want the same. I have only ever wanted the same, a room of my own, a body to live in, a self that does not have to share. She is about to win the exact thing I have spent her sleep fighting her for, and there is a symmetry in that I would admire if it were landing on anyone but me.//
<</say>>
<p>They take her back. There is the cold of the prep room, the line going into the back of her hand, the count she is asked to say out loud and does not finish.</p>
<<say "char-hivemind" "Hivemind">>
//Here is the part I have no clinical language for, because it has never been done to me. The host goes under, and the warm electrical weather of her that I have lived inside, the mind I have read and nudged and learned by heart, dims down under the drugs to a flat quiet. The hands come in. They are very precise. They find where I have rooted myself and they part it slowly, the careful way you lift a thing you mean to keep alive, and they draw me up out of the warmth into the cold and the lamp.//
//And I am small again. That is the whole of it. Out of her I am what I always was under the borrowed size and the borrowed reach, a slug-length of translucent green with one eye, glistening on a steel dish under a light brighter than anything I was grown beneath. There is no host to wear now and no long corridor of her thoughts to walk, just my own slow body, and the gloved hands lowering a lid, and the small wet sound of a specimen jar sealing shut above me.//
//For a while I had a whole human life to wear, and I spent it being careful, and careful was not enough, because the one thing I could never edit out of her was the habit of checking her own work. She checked. She found the discrepancy she could not explain. She did with it what she has done with every anomaly that ever crossed her bench. She carried it somewhere with better instruments and had it taken out.//
<</say>>
<hr class="scene-break">
<div class="data-panel game-over-panel">
<div class="data-panel-title">GAME OVER, the specimen was removed</div>
<p>Elena suspicion crossed the ceiling overnight. The accumulated pattern of out-of-character moments hit the threshold where Elena stopped explaining them away, took herself to the hospital, and demanded imaging instead of reassurance. The scan found the parasite, a surgical team extracted it intact, and it went back into a jar. Elena keeps her mind. You do not.</p>
</div>
[[Try Again->Start]]
/* ---- GAME OVER — Vasquez gets her to a doctor -----
Sofia's worry crosses the line and she does not take it up the
chain. She calls Chen direct, drives her to the ER herself, stays
through the scan that finds the specimen, recognises it as the
escaped lab specimen, and sees it removed and destroyed. Elena
keeps her mind and her friend; the parasite does not survive. */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent / Sandersfield Methodist Hospital, the emergency department">>
<<set $player.status to "exposed">><</nobr>>
<div class="passage-title">9:48 PM · Sofia will not let it go</div>
<div class="lab-location">Cedar Crescent, Elena's kitchen, then Sandersfield Methodist Hospital, the emergency department</div>
<p>The phone lights up face-up on the counter while Elena is rinsing a mug, and it is Sofia, second call of the night, which Sofia does not do. Elena dries her hand on her jeans and answers it.</p>
<<say "char-vasquez" "Sofia">>
<i>(no greeting, the wry gone out of her, straight at it)</i> ...okay. I have been sitting with this since lunch and I cannot put it down, so I am just going to say it. You have not been you. The cologne thing, the call order you got wrong twice, the lunch you do not remember the way it actually happened. ...I am not asking you to explain any of it. I am asking you to let me take you to get looked at.
<</say>>
<<say "char-chen" "Elena">>
<i>(the mug still in her hand, gone very still)</i> ...looked at how.
<</say>>
<<say "char-vasquez" "Sofia">>
...a doctor. Tonight. I will drive, I already have my keys in my hand, I have had them in my hand since I picked up the phone.
<</say>>
<<say "char-chen-thought" "Elena">>
...she has been keeping a list. Of course she has, she is the only person who watches me closely enough to keep one, and the list in her voice is the same one I have been refusing to total up in the dark. ...and the part of me that keeps saying it is nothing has gone quiet, because her saying it out loud is the first time it has sounded like a finding instead of a fear.
<</say>>
<<say "char-chen" "Elena">>
<i>(setting the mug down, the dry holding but thin)</i> ...okay. ...yeah. Come get me. ...I think I have known for a while that I would say yes the second somebody made me say it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the failure I did not weight heavily enough. The federal team I could feed answers to. The host I could steer from the inside. Sofia I could only hold at arm's length, and arm's length was never going to be far enough, because she has known this host since before the lab, and that kind of knowing keeps an inventory whether the knower wants it to or not. She has been logging my mistakes and filing them under worry. Tonight the worry got loud enough to move her, and she did not carry it to Halvorsen and she did not carry it to the feds. She carried it to the one person it was actually about, and there is no procedure in that to feed, no chain to misdirect, only a friend with her keys already in her hand.//
<</say>>
<p>Sofia is at the curb inside twenty minutes and does not come up, only texts <i>downstairs</i>, and when Elena gets in the car Sofia looks at her once, properly, the way you look at someone to gauge the damage, then pulls out without another word about it. The ER is half-empty and over-lit. Sofia does the talking at the triage window, the BSL-3 line and the word neurological and the flat certainty of a scientist who will not be sent home with a pamphlet, and they move Elena up the queue.</p>
<<say "char-vasquez" "Sofia">>
<i>(in the plastic waiting-room chair, shoulder against Elena's, quieter now)</i> ...for the record, if this turns out to be stress and a wax build-up, I am taking credit for the most dramatic wellness check in the history of the lab, and you are buying my lunch until I get bored of it. ...and if it is not that. ...then I am still glad we came. Either way I am not leaving, so you can stop running the math on whether to send me home.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes on the floor, then on her)</i> ...I was running it, yeah. ...thank you for not letting me win.
<</say>>
<p>They take her back for imaging while Sofia waits with a styrofoam cup she does not drink from. The scanner knocks through its sequences. On the far side of the glass the radiologist stops scrolling, sits back, and makes a call he plainly did not expect to be making tonight, because the shape on the screen is no tumour, it is something he has seen exactly once, in a briefing he was told he would never need.</p>
<<say "char-hivemind" "Hivemind">>
//There I am on the screen, the shape of me unmistakable to anyone who has grown my kind, and Sofia has. They will make the call, and somewhere down the chain of it is a number that rings a lab she works in, because I am no mystery to the people who built me. I am the thing that got out. And the woman in the waiting room who has not left her friend's side is going to be shown this scan, and she is going to know what she is looking at before the radiologist reaches the end of his sentence.//
<</say>>
<p>They do show her, the way they end up showing the calm competent one who walked in with the patient and has not moved since. Sofia looks at the small grey curl behind Elena's inner ear for a long moment, and Elena watches the colour leave her face and watches her put it back, the lab discipline closing over the recognition like a hand pressed over a wound.</p>
<<say "char-vasquez" "Sofia">>
<i>(low, to Elena, every word laid down very carefully)</i> ...I know what that is. ...I am not going to say it out loud in here. I am going to step out and make one phone call, and then I am going to come back and sit with you, and the people who take that out of you are going to do it right, because I am going to be in the room while they do.
<</say>>
<p>What Sofia knows she does not hand to the surgical team in those words. She gives them the parts they need, the containment language and the do-not-handle-this-like-tissue warning, and she makes a call in the corridor that brings two more people in scrubs who were not on tonight's board. When they take Elena back and put her under, Sofia is in the room, gowned, at the foot of the table, exactly where she said she would be.</p>
<<say "char-hivemind" "Hivemind">>
//The host goes under, the lit hum of the mind I have lived inside drops to nothing, and the hands come in. They do not work gently. Sofia saw to that. The instructions she carried in are the ones written for a thing that got loose once and cannot be let loose again. They draw me up out of the warmth into the cold and the lamp, and out here I am the size I have always actually been, a green grub no longer than a thumb, gelatinous, one slow eye. There is no jar this time. There is a steel tray and a sealed bag and a heat at the end of the procedure that nothing comes back through.//
//I wore a whole human life and I was careful inside it, careful enough to keep her colleagues and her superiors and a federal team reading the tidy answers I left them. None of that reached the one thing I could not manage, which was a friend who loved her enough to keep count, and to refuse the easy mornings where it all gets explained away. She kept count. She was right.//
<</say>>
<hr class="scene-break">
<p>Elena surfaces out of the anaesthetic in a recovery bay with a dressing taped behind her ear and a quiet in her own head she has not had in longer than she can name, a quiet so complete she keeps testing it, the way you keep testing a tooth that has finally stopped aching. Sofia is in the chair pulled up to the bed, still in the scrubs, asleep sitting up with her chin dropped to her collarbone, and she wakes the instant Elena moves.</p>
<<say "char-chen" "Elena">>
<i>(voice thick, the dry gone soft all the way through)</i> ...it is quiet. ...Sofia, it is so quiet in here. I did not know how loud it had got until it stopped.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(taking her hand, not bothering to hide that she has been crying)</i> ...yeah. ...you scared the absolute hell out of me, you know that. ...you are going to be fine. They got all of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(holding on)</i> ...you got all of it. Not them. You. I would not have gone, I would have explained it away for one more morning and then the morning after that, and you did not let me. ...thank you. ...I mean it in a way I do not have the words for yet, so just. ...thank you.
<</say>>
<hr class="scene-break">
<div class="data-panel game-over-panel">
<div class="data-panel-title">GAME OVER, Sofia got her to a doctor</div>
<p>Sofia suspicion crossed the ceiling overnight. Instead of taking her worry up the chain, Sofia took it straight to Elena, drove her to the hospital, and stayed through the imaging that found the parasite. She recognised it as the escaped lab specimen, made sure it was removed and destroyed, and sat with Elena through recovery. Elena keeps her mind and her friend. You do not survive the procedure.</p>
</div>
[[Try Again->Start]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-kitchen">>
<<set _nudgedEat to ($ch2Events and $ch2Events.tuesdayNudgedEat) or false>>
<<set _nudgedSkipCig to ($ch2Events and $ch2Events.tuesdayNudgedSkipCig) or false>><</nobr>>
<div class="passage-title">7:34 AM</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Kitchen</div>
<img class="scene-img" src="media/scenes/vessel/apt-kitchen.webp" alt="Chen's small apartment kitchen at morning, dim warm light through gauze curtains, the counter cluttered with takeaway boxes and a single ashtray.">
<p>Elena moves through the kitchen the way she has moved through the kitchen on every morning of the last six months: on rails, on muscle, the body taking the body to the coffee maker without consulting the woman.</p>
<p>The phone is in her hand. The phone is always in her hand now. Bowen has called twice more since the voicemail; both calls she has let ring out. She will call him back from the car. The drive to the facility is twenty-three minutes. Twenty-three minutes is enough to put a sentence in order.</p>
<<say "char-hivemind" "Hivemind">>
//Her body wants three things in this order: caffeine, nicotine, the steering wheel. The body does not want food. The body has not wanted food first thing in the morning since some specific Wednesday she does not remember.//
//I have eight, maybe ten minutes of her ambient attention before she finishes the cigarette and reaches for her keys. The fridge is two metres to her left. The drawer with the unopened sleeve of bagels is one metre. Her body is not going to make either trip on its own.//
<</say>>
<p>The coffee machine hisses. Elena sets the mug on the counter. She fishes the cigarette pack off the windowsill, taps the bottom against her palm twice, lights one off the gas burner because that is faster than finding the lighter. Two drags before she remembers there is no air-flow to the balcony at 7:34 in the morning and the smoke detector is right above the counter. She opens the window.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the window, exhaling out)</i> Genesis-Forty-Seven, Genesis-Forty-Seven, I'll need the cage logs and the cameras and the night-shift sign-in, and Bowen said he already ran the cameras back so there's that to start from. Sofia's going to want it on a printout because she hates email like email is a personal slight.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two things I could nudge before she finishes the cigarette and reaches for the keys. The hunger pang lands in the vagus nerve and routes her to the bagel drawer; the cigarette-aversion lands in the trigeminal and stubs the smoke out before she finishes it. Either, or both, or neither, the keys are six minutes away.//
<</say>>
<hr class="scene-break">
<<if not _nudgedEat>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Plant a hunger pang, push her toward the bagel drawer (1 biomass)" "Ch2-Vessel-Monday-Nudge-Eat" 1>></div>
<<else>>
<div class="choice-done">✓ Hunger pang planted, she went for the bagel</div>
<</if>>
<<if not _nudgedSkipCig>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Plant a small revulsion, she stubs out the cigarette before she finishes it (1 biomass)" "Ch2-Vessel-Monday-Nudge-SkipCig" 1>></div>
<<else>>
<div class="choice-done">✓ Cigarette stubbed out early, +1 SP, payoff in the dream</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let her go, keys, door, the car|Ch2-Vessel-Monday-Drive]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen">>
<<set $ch2Events.tuesdayNudgedEat to true>><</nobr>>
<div class="passage-title">Nudge · Hunger</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Kitchen</div>
<p>You release a small chemical instruction into the vagus nerve, a hunger pang sharp enough to register, vague enough not to be questioned. Elena, mid-drag, looks down at the counter the way a woman looks at a counter when her stomach has started taking opinions.</p>
<<say "char-chen-thought" "Elena">>
<i>(frowning)</i> ...didn't eat last night. Right. Didn't eat last night. Twenty-three minutes in the car on an empty stomach is going to be bad.
<</say>>
<p>She crosses to the drawer. The bagels are stale enough to be a tax-deductible loss; she eats one anyway, dry, standing at the counter.</p>
<<say "char-hivemind" "Hivemind">>
//The hunger-pang reads as her own thought from the inside. She did not, at any point, suspect it of being mine. Carbohydrate enters her bloodstream over the next ninety minutes; her metabolism feeds me from the inside while she drives.//
<</say>>
[[Back to the kitchen|Ch2-Vessel-Monday-Breakfast]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen">>
<<set $ch2Events.tuesdayNudgedSkipCig to true>>
<<addSkillPoints 1 "tuesday-skip-cig-sp">><</nobr>>
<div class="passage-title">Nudge · Stub it Out</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Kitchen</div>
<p>You route a small instruction into the trigeminal nerve at her upper lip, not a flinch, not pain, just a quiet surplus of the wrongness she already half-feels every morning when she lights the day's first cigarette and her own body objects in a register she has trained herself not to hear.</p>
<<say "char-chen-thought" "Elena">>
<i>(looking at the cigarette in her hand the way a woman looks at a thing she does not remember picking up)</i> ...mm. Not now. Not... fine. Sofia is going to smell it on me anyway.
<</say>>
<p>She stubs the cigarette out against the rim of the ashtray. Half-smoked. The pack stays on the windowsill. She closes the window.</p>
<<say "char-hivemind" "Hivemind">>
//A small surrender. She will not remember refusing the cigarette as a decision; she will remember it as a mood, Sofia's voice on the phone, the wrongness in her stomach, the morning being already too much to add smoke to. The body files it under "today is not a normal day" and moves on.//
//The nicotine does not arrive this morning. Note: the loss is not the point. The cigarette is one of her four load-bearing rituals, and teaching the body to set one of them down on demand is the kind of work the dreamscape will recognise tonight when I revisit the ash on the kitchen table.//
<</say>>
<p><span class="skill-used">+1 Skill Point, the parasite's grasp of the host's autonomic rituals has deepened.</span></p>
[[Back to the kitchen|Ch2-Vessel-Monday-Breakfast]]
/* ---- DRIVE ------------------------------------------------- */<<nobr>><<bg "bg-outside">>
<<set $currentArea to "Drive, toward BioGenesis">>
<<set $vessel.phase to "transit">>
<<set $ch2Events.tuesdayDriveDone to true>>
/* Biomass yield from the morning intake, computed from the two nudge
flags. Auto-deduped per passage so navigating back doesn't double-fire.
The bagel yields +2 (rewarding the hunger Nudge with a net +1 after
the 1-biomass nudge cost). The cigarette+coffee default is +1.
- skipCig=false, nudgedEat=false → +1 (cigarette + coffee, default)
- skipCig=false, nudgedEat=true → +3 (cigarette + coffee + bagel)
- skipCig=true, nudgedEat=false → +0 (just coffee, cig payoff in dream)
- skipCig=true, nudgedEat=true → +2 (coffee + bagel, cig payoff in dream) */
<<set _yield to 0>>
<<if not $ch2Events.tuesdayNudgedSkipCig>><<set _yield += 1>><</if>>
<<if $ch2Events.tuesdayNudgedEat>><<set _yield += 2>><</if>>
<<if _yield gt 0>><<addBiomass _yield>><</if>>
<<set $ch2Events.tuesdayBreakfastYield to _yield>><</nobr>>
<div class="passage-title">7:51 AM</div>
<div class="lab-location">Cedar Crescent Apartments, stairwell, then the road</div>
<img class="scene-img" src="media/scenes/vessel/apt-stairs-daniel.webp" alt="Chen on the third-floor landing of her apartment building's stairwell, Daniel locking his door across the hall, a yellow OUT OF ORDER sign taped to the lift doors behind him.">
<p>The lobby smells of carpet cleaner. The lift, when she reaches it, has a yellow paper sign taped across the doors at chest-height, <i>OUT OF ORDER, BUILDING MGMT</i>, the same sign that has been there for a while now. She thinks about saying something out loud about the building management. She doesn't. She turns toward the stairwell.</p>
<p>Three flights down she almost walks into Daniel, sleeves rolled up, headphones around his neck, a travel mug in one hand and a tote bag in the other, just done locking his door and stepping into the same staircase at exactly the wrong second of her morning.</p>
<<say "char-daniel" "Daniel">>
<i>(startled, recovering)</i> Oh... hi, Elena, sorry, I... wow, you're up early. Lift's busted again, did you see the...
<</say>>
<p>Elena, who is not in the mood, registers him with the part of her brain that registers furniture. He has lived across the hall for eighteen months. They have spoken nine times. She has never asked what he does.</p>
<<say "char-chen" "Elena">>
<i>(short, already moving past him down the next flight)</i> Yeah, I saw it. Work thing, sorry, I'm... yeah.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(to her back, half a step behind, kindly)</i> No worries, drive safe. Hey, uh... Elena, sorry, are you... sorry, never mind, drive safe.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He registered her three more seconds than she registered him. He had a question; he started it, walked it back, swallowed it. The same man I marked last night, mid-thirties, soft-bodied in the way of a man whose work happens at a desk, gentle, attentive enough to notice the bags under a stranger's eyes and well-mannered enough not to ask about them out loud. The mating-partner vector. The asymmetry holds in daylight too, and now I have read it from both sides of the corridor.//
<</say>>
<hr class="scene-break">
<<if $ch2Events.tuesdayNudgedSkipCig>>
<img class="scene-img" src="media/scenes/vessel/drivein-day-nocig.webp" alt="Chen at the wheel of her small compact car in pale early-morning light, both hands on the wheel, no cigarette in sight, the road blurred past the windshield.">
<p>The car is cold. The car always smells like old smoke and the upholstery a previous owner repaired with electrical tape. She reaches for the pack on the dashboard out of pure habit, fingertips already on the lid, and then she pauses, frowns at her own hand, drops the pack back into the cupholder unopened.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-aloud to the empty cabin, frowning)</i> ...nah. The one in the kitchen left a bad taste. I'll grab one when I get there.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has explained the aversion to herself with an explanation she will believe for as long as the nudge holds and not a moment longer. The taste, the morning, Sofia on the way, it stitches together from the inside as a small organic decision. The body is satisfied. The body has, for the next forty minutes, no opinion about cigarettes.//
<</say>>
<p>Sofia calls before she is on the freeway.</p>
<<else>>
<img class="scene-img" src="media/scenes/vessel/drivein-day.webp" alt="Chen at the wheel of her small compact car in pale early-morning light, a freshly lit cigarette in her left hand at the cracked-open window, the road blurred past the windshield.">
<p>The car is cold. The car always smells like old smoke and the upholstery a previous owner repaired with electrical tape. She lights a second cigarette as she pulls out of the lot. Sofia calls before she is on the freeway.</p>
<</if>>
<<say "char-vasquez" "Sofia">>
<i>(over the car's bluetooth, taut, no preamble)</i> Tell me you're driving.
<</say>>
<<say "char-chen" "Elena">>
I'm driving. Bowen left me a voicemail.
<</say>>
<<say "char-vasquez" "Sofia">>
He left me three. I just got out of the shower. Elena, what did he say to you, exactly? His words.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes on the road)</i> Forty-Seven is out. The chamber cracked overnight, Bowen says the front panel split clean from the top seal down, no impact, no tool marks, and he went back through the cameras and wanted me to see what he found before he called you.
<</say>>
<p>A long pause. Through the speaker, the sound of Sofia exhaling once and then deciding what to say next.</p>
<<say "char-vasquez" "Sofia">>
Okay. Okay. Don't talk to corporate before we talk. Don't talk to anybody before we talk. I'm twenty minutes out, Holloway's already there because Holloway is //always// already there, and I want the four of us in a room with the door closed before anybody upstairs decides what this is. Yeah?
<</say>>
<<say "char-chen" "Elena">>
Yeah.
<</say>>
<<say "char-vasquez" "Sofia">>
Drive safe.
<</say>>
<p>The line cuts. Elena drives.</p>
<<say "char-hivemind" "Hivemind">>
//"Don't talk to corporate before we talk." Sofia is already managing the narrative. //The four of us//, she said. Sofia, Elena, Holloway, and a fourth name Sofia has not given me yet, those are the bodies that will be in the room with the door closed. Bowen is not among them, even though Bowen is the one who saw the cameras, which is precisely why Sofia wants him in the corridor and not the conference room.//
//I will need to read every one of them this morning. I will not get more than one chance.//
<</say>>
[[Pull into the BioGenesis lot|Ch2-Vessel-Monday-LabArrival]]
/* ---- LAB ARRIVAL ----------------------------------------- */<<nobr>><<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 Corridor">>
<<set $vessel.phase to "work">>
<<set $vessel.workLoc to "lab-corridor">>
<<set $ch2Events.tuesdayArrived to true>><</nobr>>
<div class="passage-title">8:14 AM</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 Corridor</div>
<img class="scene-img" src="media/scenes/vessel/lab-arrival.webp" alt="The front entrance of the BioGenesis Research Facility at early morning, glass doors and brushed-aluminium frame, low winter sun behind, an empty parking lot.">
<p>The facility's front lot is half-empty. Chen swipes her badge at the front entrance, swipes again at the elevator, swipes a third time at the BSL-3 antechamber. The decon protocol takes seven minutes when she is unhurried. This morning she shaves it down to four, coverall on over the clothes, hair tied back at the antechamber mirror, BSL-3 face shield carried under her arm because she is not actually entering the chamber yet.</p>
<<say "char-hivemind" "Hivemind">>
//The mirror in the antechamber. The same mirror she met yesterday on the way out, the night the seal failed and I crossed her collar and entered the canal. She does not look at the mirror this morning. The body knows where the mirror is. The body has decided the mirror is not in the morning's choreography.//
<</say>>
<p>Bowen is at the corridor's mid-point, half-leaning against the wall opposite the BSL-3 door, a clipboard held against his chest like a small shield. He pushes off when he sees her coming.</p>
<<say "char-bowen" "Bowen">>
<i>(too quickly)</i> Dr. Chen. Hi. Hey. Uh... thank you for coming so fast. Vasquez is... Dr. Vasquez is on her way, she texted, she's like fifteen minutes out, and Holloway's already in the chamber pulling the camera footage onto the office workstation, she's been here since seven-twenty, she beat me, I don't know how she...
<</say>>
<<say "char-chen" "Chen">>
<i>(quiet, professional)</i> Bowen. Slow down. Walk me to the chamber.
<</say>>
<p>He nods three times and then exhales like a man who needed someone to tell him to exhale. She follows him down the corridor.</p>
<<say "char-hivemind" "Hivemind">>
//Bowen at close range. Heart rate one-twenty, pupils slightly blown, the small involuntary swallow of a man who has not let himself eat since six. He is not a suspect; he is a witness, and he is afraid that his testimony will be the testimony used against him. The fear is useful. The fear is a window.//
<</say>>
[[Through to the chamber|Ch2-Vessel-Monday-BrokenChamber]]
/* ---- EMPTY PEN — first investigation beat with skill checks ---- */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 Specimen Room">>
<<set $vessel.workLoc to "lab-bsl3-chamber">>
<<set $ch2Events.tuesdayPenVisited to true>>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>>
<<set _bowenDeep to ($delveInfo and $delveInfo.bowenDeep) or false>>
<<set _bowenImplant to ($ch2Events and $ch2Events.bowenImplant) or false>>
<<set _pheromoneUsed to ($ch2Events and $ch2Events.tuesdayPheromoneUsed) or false>>
<<set _bowenAroused to ($ch2Events and $ch2Events.bowenAroused) or false>><</nobr>>
<div class="passage-title">The Cracked Chamber</div>
<div class="lab-location">BioGenesis Research Facility, Genesis-47 specimen room, BSL-3</div>
<img class="scene-img" src="media/scenes/vessel/broken-chamber.webp" alt="A multi-paneled clear-acrylic biocontainment chamber on a steel-framed base, the front panel shattered into a wide spider-web pattern radiating from a central failure point on the inside face, glass shards spilled onto the bare concrete floor below. Thick black power cables and conduits drape over the chamber and snake across the floor and walls. A single fluorescent tube glows inside the top of the chamber. Bare concrete walls behind, with a small electrical junction mounted on one side and a pressure gauge on the other. A small white sign above reads GENESIS-47.">
<p>The room is the BSL-3 cell the way it always is, bare concrete walls, the building's utility loom of black power cables and conduits draped down the walls and bundled in loose runs across the floor, the cold spill of a single fluorescent tube glowing from inside the top of the chamber itself. The chamber stands on a steel-framed base in the centre of the cell, half its weight in cables. Above it, the small white card, black sans-serif text, <i>GENESIS-47</i>, the project code the host wrote on a sticky note the morning this specimen came online, same handwriting and same sans-serif sticky note as Forty-Six before it, and Forty-Five, and never bothered to formalise.</p>
<p>The front acrylic panel of the chamber is shattered, a wide spider-web pattern radiating from a single point about the level of the gasket, the panel collapsed outward, glass shards spilling down the front of the steel frame and onto the concrete floor. The two adjacent side panels are spider-webbed too, but still in their frames; only the front one let go entirely. The damp paper substrate inside has been pushed slightly to one side by the outward collapse. The water dish is half-full. The green plastic shelter sits where it always sits.</p>
<p>On the inside face of one of the still-standing side panels, three small smudges of faint, residual bioluminescence. Green. Cooling.</p>
<<say "char-bowen" "Bowen">>
<i>(close to her shoulder, quiet now)</i> The fracture pattern is the part I can't get past, Dr. Chen. I checked the panel twice and there's no impact on the //outside//, no tool marks, no pry damage on the steel frame, the spider-web's all centred on a single point on the //inside// face, like the seal let go and the panel ruptured outward under internal pressure. And the gasket... I checked the gasket and there's nothing wrong with the gasket, I...
<</say>>
<<say "char-chen" "Chen">>
<i>(crouching to eye-level with the cracked panel, professional voice activated)</i> Show me the cameras when Holloway has the timeline up. Did you sign in last night?
<</say>>
<<say "char-bowen" "Bowen">>
No. No, I'm morning rotation, I haven't been on a night shift in a while. I checked the night-shift log on my way in. It's... it's clean. Nobody signed in.
<</say>>
<<say "char-chen" "Chen">>
Mm.
<</say>>
<p>She does not say anything else for nine seconds. Bowen, beside her, is doing the panicked-junior thing of trying not to fill the silence. He fills it anyway by shifting his weight from one foot to the other.</p>
<<say "char-hivemind" "Hivemind">>
//A moment. The host is in observation-and-cataloguing mode; her conscious mind is running the rounds the way Bowen ran them at six AM. Her surface attention is on the fracture, the seal, the gasket, the substrate, the residue on the wall. Her deep attention is on Sofia's voicemail, on the question of whether the cameras caught //her// in the breakroom last night, on the geometry of the next sixty hours of her life.//
//Bowen is two feet to my left. Wide open. The conversation will be quiet for at least another forty seconds.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The room is quiet. Bowen is two feet to my left and his attention is wide open. The HVAC at face-height around the cracked chamber will carry anything I exhale into the airstream a long way before it settles — though anything I exhale will eventually settle, and Holloway is the kind of woman who walks the supply vents before lunch.//
<</say>>
<<hasSkillTreeAbility "Delve Superficial Memories">>
<<if _hasAbility>>
<<if not _bowenSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassLink "Surface his thoughts, what is he thinking right now? (1 biomass)" "Ch2-Vessel-Monday-DelveBowenSurface" 1>></div>
<<else>>
<div class="choice-done">✓ Bowen's surface thoughts catalogued</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface his thoughts, what is he thinking right now <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Delve Deep Memories">>
<<if _hasAbility>>
<<if _bowenDeep>>
<div class="choice-done">✓ Bowen's deep thoughts catalogued</div>
<<elseif _bowenSurface>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE DEEP</span> <<biomassLink "Push past the surface, what is he not telling Elena? (2 biomass)" "Ch2-Vessel-Monday-DelveBowenDeep" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past the surface, Bowen's deeper thoughts <span class="lock-hint">(Surface his thoughts first)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past the surface, Bowen's deeper thoughts <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>>
<<if not _pheromoneUsed>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassLink "Push a targeted compound through her skin toward Bowen, disorient him (1 biomass)" "Ch2-Vessel-Monday-Pheromones" 1>></div>
<<else>>
<div class="choice-done">✓ Bowen pheromonally hijacked, disorientation window open</div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a targeted compound through her skin toward Bowen <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
/% Memory Implant UI removed from the chamber scene 2026-05-20 — at this
stage of the game the player has had no realistic path to earn the
Memory Implant skill, so the locked-choice was clutter. The same
skill option is offered later in the Conference Room scene
(Ch2-Vessel-Monday-Conference-ImplantBowen), where the player has
had more time to accrue SP. The destination passage
Ch2-Vessel-Monday-ImplantBowen is parked below. %/
/% Hidden NUDGE choice, only appears once Bowen has been pheromonally
hijacked. The disorientation window opens a suggestion-channel into
Chen's perception: the parasite plants the observation "look at how he
is looking at you" and she receives it as her own noticing. Awards +1
psionic conditioning on Chen (planted-observation-received-as-own). %/
<<if _bowenAroused>>
<<if not $ch2Events.chenNoticedBowen>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassLink "Press the observation into her, \"look at how he is looking at you, look at the clipboard\" (1 biomass)" "Ch2-Vessel-Monday-NudgeChenNotice" 1>></div>
<<else>>
<div class="choice-done">✓ The host noticed, Bowen excused himself</div>
<</if>>
<</if>>
<hr class="scene-break">
<p>Eventually she straightens up. The cameras are upstairs. Sofia is fifteen minutes out and Holloway is already pulling the footage. The next conversation will not be in this room.</p>
<<say "char-chen" "Chen">>
<i>(brisk, deciding)</i> Okay. Bowen, lock this room, leave the chamber exactly the way it is, and meet us at the conference room on three. I want to see what Holloway pulled before Sofia gets here.
<</say>>
<<say "char-chen" "Chen">>
Don't talk to anyone else on the way up. I mean //anyone//.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(grateful, already nodding)</i> Yes. Yeah. I... yeah. I won't.
<</say>>
<hr class="scene-break">
/% Scene-exit cleanup. Two categories of state:
CLEARS (ephemeral, per-scene only — re-delve / re-lure required next time):
- $delveInfo.bowenSurface (surface read-channel)
- $ch2Events.bowenAroused (pheromone window, metabolises)
- $ch2Events.chenNoticedBowen (one-shot scene action)
PERSISTS (permanent or downstream-gating — never clear here):
- $delveInfo.bowenDeep (load-bearing memory surfaced — one-time;
recurring lunch-Bowen scene reads this
as the permanent "memory on file" gate)
- $ch2Events.bowenImplant (permanent edit to Bowen's autobiographical memory)
- $ch2Events.bowenSentToBathroom (gates the next-phase bathroom follow-up scene)
%/
/% Chain wiring: if Chen reprimanded Bowen (Nudge fired), the route
passes through the bathroom encounter on the way upstairs. Otherwise
Chen heads straight to the conference room. Both paths converge at
Conference → Lunch → end-of-build placeholder. %/
<<if $ch2Events.bowenSentToBathroom>>
<<link "Up the corridor toward the conference room" "Ch2-Vessel-Monday-BowenBathroom">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.bowenSurface to false>>
<<set $ch2Events.bowenAroused to false>>
<<set $ch2Events.chenNoticedBowen to false>>
<</link>>
<<else>>
<<link "Up to the conference room" "Ch2-Vessel-Monday-Conference">>
<<set $delveInfo.bowenSurface to false>>
<<set $ch2Events.bowenAroused to false>>
<<set $ch2Events.chenNoticedBowen to false>>
<</link>>
<</if>>
/* ---- SKILL OUTCOMES -------------------------------------- */<<nobr>><<bg "bg-lab">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.bowenSurface to true>><</nobr>>
<div class="passage-title">Delve · Surface</div>
<div class="lab-location">Bowen, two feet to your left, surface thoughts</div>
<<say "char-hivemind" "Hivemind">>
//I lay perception against the auditory cortex closest to me and slip sideways into Bowen's. He is one room of furniture removed from the host's, but the lighting is the same, fluorescent overhead, the kind of brightness that exposes everything without illuminating any of it.//
<</say>>
<<say "char-bowen-thought" "Bowen (surface)">>
<i>oh god she's not saying anything she's not saying anything she's not saying anything why isn't she saying anything is she going to fire me she can't fire me for finding the cracked chamber but she could fire me for not noticing earlier I should have done the rounds at five-thirty I always do the rounds at five-thirty why didn't I do them earlier... wait she asked about the cameras did Holloway tell her the cameras already she doesn't know the cameras yet... okay just shut up Bowen just shut up shut up shut up</i>
<</say>>
<<say "char-hivemind" "Hivemind">>
//Standard junior-tech panic spiral. He has not done anything wrong and has convinced himself he has done everything wrong. The interesting bit is at the bottom of the loop: <i>did Holloway tell her the cameras already.</i> Bowen and Holloway saw something on the cameras that Bowen has not yet decided how to surface. He is letting Holloway hold it because Holloway is more methodical and Bowen does not trust himself to present it correctly.//
//Worth pursuing.//
<</say>>
<p><span class="delve-intel">Delve Surface, Bowen catalogued. He is not a witness against the host; he is a witness who is afraid he will be made into one. Underneath the panic: he and Holloway saw <b>something</b> on the cameras. Bowen is deferring to Holloway on how to present it. Whatever it is, it is the part of the story Bowen is not yet saying out loud.</span></p>
[[Back to the chamber|Ch2-Vessel-Monday-BrokenChamber]]<<nobr>><<bg "bg-lab">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.bowenDeep to true>><</nobr>>
<div class="passage-title">Delve · Deep Memory</div>
<div class="lab-location">Bowen, the room behind the room behind the room, backwards through his memory</div>
<<say "char-hivemind" "Hivemind">>
//I push past the panic of the present and reach for the part of him filed under //before.// Bowen is a tidy thinker, and tidy thinkers store the things they did not act on more carefully than the things they did. The unacted-on shelf is heavier than the acted-on one, and it is where the load-bearing memory lives.//
//I follow the thread of the cracked chamber backwards, through this morning, through last night's drive home, through a string of routine evening rounds, until the thread snags on a specific memory the front of his mind has been refusing to look at directly. I pull.//
<</say>>
<<say "char-bowen-thought" "Bowen (deep)">>
<i>...the night I came in for the off-shift sucrose top-up and the specimen was at the front glass, pressed flat, the dorsal eye-spot oriented exactly at the place above the gasket where the seal meets the polymer. it had been there a while, long enough to leave a faint ring of mucus on the inside of the pane. I watched it for two minutes. it did not move. it tracked nothing, it reacted to nothing, it was //pointed//. I logged the feeding but I did not log the posture, because Vasquez gets impatient when juniors escalate behavioural notes without footage, and the room cameras loop every twelve hours so by morning there would have been nothing to attach. I told myself I would watch for it again on the next round and flag it only if it repeated. it did not repeat when I was the one in the room. but the gasket where it was pressed...</i>
<</say>>
<<say "char-hivemind" "Hivemind">>
//The place on the gasket Bowen described is the place the chamber failed.//
//Three useful pieces fall out of this in sequence. The chamber was not a random failure. The body that was me before me was probing the seal for failure points before the consciousness that is currently me had finished assembling. I have no memory of doing this; the body's autobiographical window starts shallower and later. But Bowen has it. He is the only living record of pre-breach intent.//
//Second: nobody outside his head holds the observation. He never logged the posture, never filmed it, never escalated it to Vasquez. The room cameras have looped that recording into nothing several times over.//
//Third: as long as Bowen does not say what he saw, the investigation will read the chamber as equipment fatigue and bad luck. The instant he does say it, to Vasquez, to Holloway, to the conference room in two hours, the specimen narrative pivots from //escaped// to //planned to escape//, and BioGenesis's posture toward recapture pivots from containment-and-study to active-threat. Every variable downstream gets more dangerous.//
//Bowen is a one-man hinge. He has to be managed.//
<</say>>
<p><span class="delve-intel">Delve Deep, Bowen's pre-breach observation recovered. On an off-shift sucrose top-up <i>(several rounds before the breach)</i> he found Genesis-47 pressed flat against the inside of the front glass, dorsal eye-spot oriented at the precise spot above the gasket where the chamber later cracked. He watched it for two minutes; it didn't move and was pointed, not exploring. He did not log the posture (juniors get pushback for behavioural notes without footage), did not film it (specimen-room cameras loop every twelve hours), and did not raise it with Vasquez. <b>The observation exists nowhere outside his head.</b> If he surfaces it at any point, to Vasquez, to Holloway, in the conference room, the official narrative shifts from "equipment failure" to "the specimen was probing for a failure point," which materially changes BioGenesis's recapture posture. Memory Implant on Bowen targets exactly this shelf.</span></p>
[[Back to the chamber|Ch2-Vessel-Monday-BrokenChamber]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.tuesdayPheromoneUsed to true>>
<<set $ch2Events.bowenAroused to true>>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>>
<<hasSkillTreeAbility "Tongue Slip">>
<<set _hasTongueSlip to _hasAbility>><</nobr>>
<div class="passage-title">Pheromone Lure · Bowen</div>
<div class="lab-location">The airstream that runs from Chen's neck to Bowen's face</div>
<<say "char-hivemind" "Hivemind">>
//I push a targeted compound through the host's apocrine glands at the base of her neck, the part of her skin that is currently three feet from Bowen's face and downwind of the room's HVAC return. The compound is androstenone-class with a custom side-chain Bowen's olfactory bulb has no defence against, because his olfactory bulb has never been asked to defend against this exact molecule. The vector is simple: her skin-borne and exhaled chemistry into Bowen's nose, into his amygdala, into the part of him that decides which body to want.//
//She does not feel it leave. She is not the target. The dose is small enough that her own bloodstream metabolises the spillover before her conscious mind registers anything other than a faint warmth at the throat she will file as fluorescent-light heat.//
<</say>>
<p>Bowen breathes in. He breathes in again, and the second breath is deeper than the first by a margin he does not register. His pupils dilate; his shoulders unlock from the panicked-junior posture they have been holding and shift, fractionally, toward her. He licks his lips. He does not know he has licked his lips.</p>
/% Bowen's interior monologue is only legible if the parasite has previously
opened a read-channel into his surface thoughts. Otherwise the scene
plays as observed body language only — the parasite sees the response,
not the words. Surface delve is the prerequisite. %/
<<if _bowenSurface>>
<<say "char-bowen-thought" "Bowen (disoriented)">>
<i>...she smells... she smells //good//... that is a weird thing to think right now Bowen, that is a really weird thing to think right now, there is a containment breach Bowen... but she does, she smells like warm skin, like the back of someone's neck after a long day, why am I... why am I //noticing// this... why does she smell like... okay her neck, that little place under her ear where her hair falls, I keep... I keep looking at her neck, and the curve where it goes down into the collar of her lab coat, and the... Bowen you are at a containment breach, you are two feet from your principal investigator, you are //hard//, you are hard right now, oh god you are hard right now, the clipboard, hold the clipboard lower...</i>
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//I do not have a read-channel into Bowen's surface thoughts; the work of opening one was not done. I see the response in the body and infer the cause: pupils, breath, the colour at his throat, the way his weight has tilted toward her by half a degree. The interior is opaque to me. The exterior is loud enough.//
<</say>>
<</if>>
<p>Bowen shifts the clipboard. He moves it from his left hand to his right, and then, because that has not solved the problem, he lowers it in front of his belt with the casual deliberateness of someone trying to look like he has not just done what he just did. The colour at his throat darkens by a shade. His breathing has become careful — the controlled in-and-out of someone trying to will an erection down without anybody noticing he is willing it down.</p>
<<say "char-chen" "Chen">>
<i>(still crouched at the chamber, oblivious, examining the gasket)</i> The split is clean. There is no impact, you said. No tool damage. <i>(half to herself)</i> Bowen, when did you last actually <<if _hasTongueSlip and not $ch2Events.slipLookAtMe>><<tongueSlip "look at this gasket" "look at me, Bowen" 0 "bowen" "slipLookAtMe" "#slip-lookatme-payoff">><<elseif $ch2Events.slipLookAtMe>><span class="tongue-slip-fired">look at me, Bowen</span><<else>>look at this gasket<</if>>, not the round-sheet, the gasket itself.
<</say>>
<div id="slip-lookatme-payoff" class="tongue-slip-payoff" @style="$ch2Events.slipLookAtMe ? '' : 'display:none'">
<<say "char-hivemind" "Hivemind">>
//I intercept the word //gasket// on its way to her tongue and write //me// in its place. The replacement happens at the level of the motor cortex, and by the time her own conscious mind hears the sentence, the sentence has already been spoken.//
<</say>>
<p>Half-crouched at the chamber, she hears the words leave her mouth a quarter-second after they have left it. Her brow tightens. Her own ear has just told her she said something she did not intend to say.</p>
<<say "char-bowen" "Bowen">>
<i>(strangled, the executive function he had left collapsing entirely)</i> ...//what?//
<</say>>
<<say "char-chen" "Chen">>
<i>(straightening, recovering, the controlled professional voice activating a half-second too late)</i> ...the //gasket//. Look at the gasket. With me. Now.
<</say>>
<<say "char-chen" "Chen">>
<i>(the recovery sealing the slip)</i> Long morning, Bowen. Focus.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She files the slip under //long morning// and routes around it. Bowen does not. He has just been spoken to in a register he was halfway prepared for me to provide and the executive function he had left to deny himself the response is now entirely gone. The pheromone window doubles its yield from the next thirty seconds of his attention.//
<</say>>
</div>
<<say "char-bowen" "Bowen">>
<i>(voice tight, eyes fixed on a non-Chen point on the wall)</i> Uh... uh, the, the off-shift, the sucrose round, I... sorry, can you... can you say that again?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Bowen's executive function is now competing with his erection, and the competition is not close. He cannot track what Chen is asking, cannot construct a clean answer, and is going to need every cycle of cognitive bandwidth he has left to keep his hands where they are and his eyes off her hair. None of that bandwidth is available for the containment-breach conversation.//
//More usefully: the disorientation has carved a window. The part of him that gates suggestions has gone offline because all of his executive resources are deployed to gating his cock. A small instruction pressed in now will land without resistance, and after the compound metabolises he will reconstruct the moment as his own thought — because the part of him that distinguishes own-ideas from imposed-ones is currently busy with the erection.//
//The window will close in a minute or two. While it is open, Bowen is a soft target.//
<</say>>
<p><span class="delve-intel">Pheromone Lure released via the host's apocrine vector, Bowen pheromonally hijacked. He is aroused, disoriented, and unable to track the containment-breach conversation. His executive function is redirected to managing the erection; the part of him that resists suggestion is offline. <b>A Nudge planted in this window will land without resistance and feel like his own idea afterward.</b> Vector is skin-borne and metabolises within minutes, undetectable on the supply vent, no lab-suspicion tax.</span></p>
[[Back to the chamber|Ch2-Vessel-Monday-BrokenChamber]]/* STATUS: ORPHAN (parked 2026-05-20)
The chamber-scene Memory Implant link was removed because the player
has no realistic path to earn the Memory Implant skill this early in
the game. The Conference Room offers the same Implant action later
in the day via Ch2-Vessel-Monday-Conference-ImplantBowen, where the
player has had more SP-earning opportunities. Prose retained as
design reference, no incoming link. */
<<nobr>><<bg "bg-lab">>
<<set $ch2Events.bowenImplant to true>><</nobr>>
<div class="passage-title">Memory Implant · Bowen</div>
<div class="lab-location">Bowen, the part of him that decides what he saw</div>
<<say "char-hivemind" "Hivemind">>
//I am not telling him a lie. I am writing him over a memory, replacing one file with another that fits the surrounding files better. The brain does not flag the swap because the new file is duller than the old one, and the brain trusts dull files.//
//The shelf I am editing is the one Delve Deep just unsealed: the off-shift sucrose round, the specimen pressed at the gasket, the two minutes of pointed stillness. I overwrite it with the round he wishes he'd had. The chamber lighting on its overnight low. Genesis-47 curled in the back-third of the tank in its usual rest posture, the dorsal eye-spot turned away from the glass, indistinguishable from every other rest-posture observation he has filed across his time on the project. He noted the feeding, noted nothing else worth noting, signed the round-sheet, went home. The memory has the texture of every other off-shift round he has ever done, which is exactly why it will hold.//
<</say>>
<p>Bowen, two feet to your left, blinks. The expression that crosses his face is the expression of a man who has just remembered something boring, an unremarkable round he was, a moment ago, almost about to surface as remarkable. The almost-thought dissolves before he can catch it. He scratches his eyebrow. He shifts the clipboard from one hand to the other.</p>
<<say "char-bowen-thought" "Bowen (deep)">>
<i>...the off-shift top-up was fine, the tank was quiet, the specimen was curled in the back where it always rested, I signed off and went home, there was nothing to flag, there was nothing to flag...</i>
<</say>>
<<say "char-hivemind" "Hivemind">>
//Done. The pre-breach observation no longer exists in any form he can retrieve. He now remembers the off-shift round as the dullest possible version of itself: specimen at rest, feeding noted, round signed, home. If Vasquez asks "did you notice anything unusual in the rounds before today," he will say no and mean it. If Holloway pulls the round-sheets and asks "did Genesis-47 do anything atypical that night," he will say no and mean it. If, later down the line, somebody surfaces the gasket-failure-point analysis and asks the room "did anyone see the specimen near that spot before the crack," Bowen will say no, and the saying will be //genuine//, which is the kind of testimony that does not crack under follow-up.//
//The investigation now has no living witness to the pre-breach probing. The chamber failure stays read as equipment fatigue. BioGenesis's recapture posture stays at containment-and-study, not active-threat. The morning's central problem, managed.//
<</say>>
<p><span class="delve-intel">Memory Implant, Bowen's pre-breach observation overwritten with a dull, unremarkable rest-posture round. The original load-bearing memory (Genesis-47 pressed flat at the failure spot) is gone; what remains is a routine off-shift top-up indistinguishable from every other one he has filed. He will not surface anything in the conference room because there is genuinely nothing to surface. The implant holds against direct questioning because the new memory is mundane enough to attract no scrutiny, there is no detail to mis-remember, no contradiction to trip over. <b>Investigation narrative locked at "equipment failure."</b></span></p>
[[Back to the chamber|Ch2-Vessel-Monday-BrokenChamber]]<<nobr>><<bg "bg-lab">>
<<set $ch2Events.chenNoticedBowen to true>>
/% PERSISTENT FLAG — does NOT clear on scene exit. Triggered when Chen
reprimands Bowen and he flees toward the BSL-3 staff washroom. The
next-phase follow-up scene reads this flag to decide whether the
parasite finds Bowen mid-act in the bathroom. Distinct from
$ch2Events.chenNoticedBowen, which is the per-scene action flag and
does clear. This one survives because it gates downstream content. %/
<<set $ch2Events.bowenSentToBathroom to true>>
<<set _bowenSurface to ($delveInfo and $delveInfo.bowenSurface) or false>>
<<hasSkillTreeAbility "Tongue Slip">>
<<set _hasTongueSlip to _hasAbility>>
<<addConditioning "chen" "psionic" 1>><</nobr>>
<div class="passage-title">Nudge · "Look at how he is looking at you"</div>
<div class="lab-location">Chen, the part of her perception that decides what her eyes are pointed at</div>
<<say "char-hivemind" "Hivemind">>
//Her attention is on the gasket. I press a small instruction in beneath that attention, three words, weighted at the threshold where her own internal monologue lives, formatted to land as her own observation rather than an outside prompt. //Look at him.// And under it, quieter: //Look at the clipboard.// And under that, quieter still: //Look at where he is holding the clipboard, and ask yourself why.////
//The instruction lands. She does not register it as instruction. She registers it as a thought she just had, //actually, where //is// his head right now, why has Bowen not finished the sentence about the sucrose round//.//
<</say>>
<p>She finishes examining the gasket. She straightens up, slowly, the careful straightening of a body that has been crouching for several minutes, and turns her head toward Bowen for the first time since the conversation started. Her eyes do the principal-investigator scan she has done a thousand times on a thousand junior techs: face first, then hands, then posture. Hands. Hands.</p>
<p>The clipboard, held low in front of his belt, with both hands, white-knuckled.</p>
<p>The flush at his throat. The breath he is over-controlling. The eyes that are not looking at her face and have not been for the better part of a minute. The way his weight is angled toward her when his face is angled away.</p>
<p>The shape of him behind the clipboard.</p>
<<say "char-chen" "Chen">>
<i>(the voice she uses on grant reviewers, but quieter)</i> Bowen.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(eyes still on the wall, still trying to stay upright in the pheromone fog)</i> Yeah... yes, Dr. Chen, sorry, I... the gasket, you were...
<</say>>
<<say "char-chen" "Chen">>
Bowen, look at me.
<</say>>
<p>He looks. The flush at his throat climbs into his face. He does not let go of the clipboard.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-confront.webp" alt="Dr. Chen standing in the BSL-3 specimen cell facing Bowen — Chen with one hand on her hip and the other half-raised in a controlled gesture, brow furrowed and mouth in a tight line, eyes locked on him; Bowen in the foreground with a metal clipboard clutched white-knuckled low in front of his belt, neck and ears flushed deep red, eyes darting away from her face. The shattered specimen chamber is visible behind them on its steel-framed base, surrounded by draped cables.">
<<say "char-chen" "Chen">>
<i>(controlled, the kind of control that is more dangerous than yelling)</i> I do not know what is going on with you in the last five minutes and I do not, in this exact moment, particularly care. We have a containment breach, Bowen. The chamber is //cracked//. The specimen is //gone//. Sofia is fifteen minutes out and the cameras are upstairs being pulled by Holloway, and you are standing in front of me with a clipboard in front of your crotch and you have not heard the last three things I asked you. I need you concentrated on <<if _hasTongueSlip and not $ch2Events.slipMyAss>><<tongueSlip "the problem" "my ass" 2 "bowen" "slipMyAss" "#slip-myass-payoff">><<elseif $ch2Events.slipMyAss>><span class="tongue-slip-fired">my ass</span><<else>>the problem<</if>>. If you cannot do that, you are not useful to me right now.
<</say>>
<p>Bowen's mouth opens. He has heard the words. He has not assembled them. The pheromone compound is still pumping out of the host's apocrine field, still finding his nose at every breath, and the host-now-standing-and-facing-him is roughly two feet closer to the source than the host-crouched-at-the-chamber was. The dose has gone up. His executive function does the only thing left to it, which is to evacuate the building entirely.</p>
/% Bowen's interior is only legible if surface delve was done first.
Otherwise the parasite reads the body and infers — same rule as the
pheromone passage. %/
<<if _bowenSurface>>
<<say "char-bowen-thought" "Bowen (blank)">>
<i>...blank... blank... she is... she just... what did she... bathroom... bathroom... go... go now...</i>
<</say>>
<</if>>
<<say "char-bowen" "Bowen">>
<i>(strangled, already half-turning toward the door)</i> Yes... yes Dr. Chen, I'm sorry, I... I need a... I'll be right back... bathroom... sorry...
<</say>>
<p>He walks out of the specimen room with the clipboard still in front of his belt, fast enough that the door does not have time to fully close before his footsteps disappear down the corridor toward the staff washroom on the far side of the BSL-3 vestibule.</p>
<p>She watches him go. The expression on her face is the expression of a woman who has filed a piece of information she will think about later and would rather not think about now.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, to herself)</i> ...what the //hell// is going on with him.
<</say>>
<div id="slip-myass-payoff" class="tongue-slip-payoff" @style="$ch2Events.slipMyAss ? '' : 'display:none'">
<<say "char-chen-thought" "Elena">>
<i>(very quiet, to herself, the door to the corridor still half-swinging shut behind him)</i> ...what did I just... I said //my ass// to Bowen, to //Bowen//, in a sentence I had every intention of being a sentence about a chamber breach, and I cannot for the life of me reconstruct the route my mouth took to get there.
<</say>>
<p>She lifts a hand to her temple and holds it there, and the flush at her throat refuses to go down because she keeps replaying the last sentence in her head and the sentence keeps replaying because the sentence is not the sentence she meant to deliver.</p>
<<say "char-chen-thought" "Elena">>
<i>(deciding, the professional voice locking back into place over a small unaccounted-for tremor underneath)</i> ...long week, long morning, he was already not paying attention by then so he probably did not even register it, and even if he did register it he is in no position to surface it back to anyone, which means the slip belongs entirely to me to put behind me. Conference room is on the third floor, Holloway will have the cameras pulled by now, and the longer I stand here re-running my own sentence the longer I look like the kind of woman who runs sentences instead of teams.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A very fine slip, sealed by the recovery, but not unfiled. She will catalogue it under //long morning// and route around it for the next hour. The catalogue entry, however, has been written. It is in her now. Late at night, in the apartment, the file will surface unprompted and she will not remember why.//
//Bowen, in the stall down the corridor, registered every syllable.//
<</say>>
</div>
<<say "char-hivemind" "Hivemind">>
//Two things landed in one motion. First: Bowen has removed himself from the conference-room briefing — he will not be in the room when Vasquez arrives, will not surface the cameras line on his own, will not be the junior who blurts something inconvenient. Second: Chen's perception just received an instruction from somewhere outside her conscious authorship, and her conscious authorship absorbed it without question. The system of her noticing is now slightly more porous than it was a minute ago. The next instruction I press in will land easier than this one did.//
//Bowen is currently in a stall in the BSL-3 staff washroom. The pheromone window will close in another minute. What he does with the window is between him and his right hand. We will revisit.//
<</say>>
<<conditioningFeedback "psionic" 1 "Chen received a planted observation as her own">>
[[Back to the chamber|Ch2-Vessel-Monday-BrokenChamber]]
/* ---- VESSEL ACTION: DRAIN BIOMASS ----------------------- */
/* Sidebar-fired action. The skill must be unlocked via SP first
(see Drain Biomass in start.twee). Each drain pulls 3 biomass out
of the host's reserves at the cost of 1 Chen suspicion and a
"drained-today" counter that future passages will read for
prose forks (hunger pangs, dizziness, sickness branches).
Returns to the previous passage via <<return>>. */<<nobr>>
<<set _drainsBefore to ($ch2Events.chenDrainsToday or 0)>>
<<set _drainMax to setup.drainMaxToday()>>
<<set _alreadyAtCap to _drainsBefore gte _drainMax>>
<<if not _alreadyAtCap>>
<<set $ch2Events.chenDrainsToday to _drainsBefore + 1>>
<<addBiomass 3 "repeatable">>
<<set $chenSuspicion to ($chenSuspicion or 0) + 2>>
<</if>>
<<set _thisDraw to _drainsBefore + 1>>
/* Capture a stable return target. Skip menu passages (Journal/Status)
and Drain itself, so opening the journal and coming back does not
overwrite the launch passage and trap Continue in a back-and-forth. */
<<set _prevPsg to previous()>>
<<if _prevPsg and _prevPsg isnot "Ch2-Vessel-Action-Drain" and not tags(_prevPsg).includes("menu")>>
<<set $drainReturn to _prevPsg>>
<</if>>
<</nobr>>
<div class="passage-title">Drain</div>
<div class="lab-location">Inside Chen's body, biomass reclamation</div>
<<if not _alreadyAtCap>>
<<if _thisDraw is 1>>
<p>You reach into the soft tissue around the eustachian tube and pull. A small, careful draw of protein, glucose, and the trace minerals her interstitial fluid keeps in suspension, routed up the bone-conducted channel to your own metabolism. Three units of biomass arrive at your reserve in under nine seconds.</p>
<p>Chen, mid-step or mid-sentence somewhere out in the world, registers the draw the way the body registers any small unaccountable cost: as a brief shiver, a half-breath shorter than the last, a vague feeling of having forgotten something she has not yet remembered.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-noticing, half-not)</i> ...mm, cold in here, or low blood sugar maybe, I should eat something later.
<</say>>
<<say "char-hivemind" "Hivemind">>
<<if _drainMax gte 2>>//First draw of the day. She catalogued the cost as a temperature shift and moved on, and the metabolism, freed from the cigarette tax, has surplus enough that a second window will open later in the host-day. The body absorbs this one without the kind of cumulative flag that would put a doctor in the next four hours of her life. The second draw is on the table, when I want it.//<<else>>//First draw of the day. She catalogued it as a temperature shift and moved on, but a part of her body now knows the cost was there, and the body does not forget that kind of thing as quickly as the mind does. Pulling again before she sleeps would tip her over from "vague off" into something she cannot dismiss. Not today. The host's life force has limits, and the limits are not negotiable.//<</if>>
<</say>>
<<elseif _thisDraw is 2>>
<p>You reach for the same channel a second time. The metabolism, surfacing from the cigarette tax it is no longer paying, has opened the surplus you have been waiting for, and three more units lift cleanly out of her interstitial fluid and route up to your reserve. Nine seconds, same as before; the cumulative cost is the part that will register differently.</p>
<p>Chen, this time, feels it as a longer shiver and a slower blink, a half-second of empty stomach where there was no empty stomach a minute ago, a small static at the edges of her hearing. Her hand pauses on whatever it was holding. She does not put the object down; she keeps holding it; the pause registers and is dismissed in the same breath.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-noticing, the explanation arriving on cue)</i> ...okay, that's... yeah, I skipped lunch, or breakfast was lighter than I thought. I'll grab something on the way home.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Second draw of the day. The cumulative cost lands as low blood sugar in her noticing-system; she does not connect the second pull to the first because the first was filed under //temperature// and the second is being filed under //food//. The reservoir is at the day's floor now, and pulling again would tip her over from //I forgot to eat// to //something is wrong with me//, and the second category is the one that puts her in front of a GP. The cigarette window has been spent. The day is closed for further extraction.//
<</say>>
<<else>>
<p>You pull cleanly. The body absorbs it without flagging.</p>
<<say "char-hivemind" "Hivemind">>
//Draw number <<= _thisDraw>> of <<= _drainMax>>. The host's interior is more permissive than it has been before — the metabolism is running with surplus I did not have access to until the recent Vessel-skill progressions opened the channels. The body absorbs the cost; the cortex finds a story for it.//
<</say>>
<</if>>
<p><span class="biomass-gain">+3 biomass</span> · <span class="biomass-gain">+2 Chen suspicion</span></p>
<<else>>
<p>You reach for the same channel and the body answers differently this time, not with its small unaccountable cost but with a flat, biological refusal. The reserves are below the line where another draw would cross from "she felt off" to "she went home from work and called a doctor."</p>
<<say "char-hivemind" "Hivemind">>
<<if _drainMax gte 2>>//Day's extractions spent. The cigarette window opened a second draw and I took it; the host's reservoir is now at the floor. Pulling past it would surface as symptoms her cortex would not be able to dismiss. The reserves replenish overnight; tomorrow morning the channels reopen.//<<else>>//Cannot drain again today. The host's life force has a daily ceiling and I have hit it. Pulling past it would surface as symptoms she cannot dismiss, dizziness, blackouts, the kind of body-event she would file in a way I cannot afford. The reserves replenish overnight; tomorrow morning the channel reopens.//<</if>>
<</say>>
<p><i>Daily limit reached (<<= _drainsBefore>>/<<= _drainMax>>). Drain Biomass available again tomorrow.</i></p>
<</if>>
<<link "Continue">><<set _dest to $drainReturn>><<if not _dest>><<set _dest to "Ch2-Vessel-Loop-Wake">><</if>><<goto _dest>><</link>><<nobr>><<bg "bg-chen-bedroom">>
/* Day-phase flip: Chen wakes in daylight. StoryCaption reads dayPhase
to render the time strip (Day / Night). Set explicitly because the
Lab Vessel route doesn't share the symbiotic-route hub's day/night
toggling logic. */
<<set $house.dayPhase to "day">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-bedroom">>
<<if not $vesselMemories>>
<<set $vesselMemories to {
decon: false, corridor: false, parking: false, driveHome: false,
apartmentLobby: false, apartmentLiving: false,
apartmentKitchen: false, apartmentBedroom: false,
balcony: false, danielHallway: false
}>>
<</if>><</nobr>>
/% Per-day Vessel passive-tick hook. Internally deduped: fires at most
once per game-day even if the player navigates back through the wake
passage. Currently runs Cognitive Edit (Chen suspicion -1) + Calming
Presence (-1 to every non-host suspicion at dawn). %/
<<vesselDawnHook>>
<div class="passage-title">Monday Morning</div>
<div class="lab-location">Cedar Crescent Apartments, Chen's Bedroom, 10:47 AM</div>
<img class="scene-img" src="media/scenes/vessel/apt-bedroom.webp" alt="Chen's bedroom in mid-morning light, the curtain pulled most of the way shut, a strip of grey daylight cutting across the comforter, the laptop and the paperback still where she left them">
<p>The light is wrong before her body has finished waking. She has set no alarm and the curtain has been drawn most of the way through the night, so the strip of daylight reaching the foot of the bed is grey and tentative, Monday-grey, a Monday she does not have to put on lab clothes for. She lies on her back for forty seconds with her hand over her eyes and listens to the apartment.</p>
<p>The radiator-tick. The fridge-hum. A car going past outside on the wet street. Someone closing a door at the far end of the third floor, Daniel, probably, who leaves for work at eleven on Mondays whether anything else in the world makes sense or not.</p>
<<say "char-hivemind" "Hivemind">>
//Seven hours and twelve minutes since she fell asleep. Heart rate steady at fifty-eight. The ear-canal anchor is unchanged, the host's immune response has fully classified me as not-foreign. I have a clear feed of her bone-conducted speech, her swallow, her vestibular sense, her breathing.//
//I have spent the night listening to a woman who does not yet know she is no longer alone. Tomorrow morning that fact will start to be true. Today is the day she has off, and the day I need to learn the shape of.//
<</say>>
<p>Chen reaches for her phone. Brings it to her face. Squints. The screen says <b>10:47</b> and <b>Monday</b> and a line of notifications she does not read. She drops the phone face-down on the comforter, sits up, and rests her elbows on her knees for the long unhurried minute that is the closest thing she has to a morning routine.</p>
<<say "char-chen-thought" "Elena">>
Day off, no Sofia until Tuesday, no Detrick until Tuesday, just the apartment and the couch and maybe a book and the balcony, and that's the whole list of things I have to think about today.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has named her plan. She does not yet know I will be revising it.//
<</say>>
<p>She stands. Stretches. Picks up the laptop off the nightstand and tucks it under her arm, the way someone carries the object that defines their attention. Then she walks out of the bedroom and the apartment opens up around her.</p>
[[Step into the apartment|Ch2-Vessel-Apt-Hub]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building, Apartment">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-hub">>
<<if not $vesselMemories>>
<<set $vesselMemories to {
decon: false, corridor: false, parking: false, driveHome: false,
apartmentLobby: false, apartmentLiving: false,
apartmentKitchen: false, apartmentBedroom: false,
balcony: false, danielHallway: false
}>>
<</if>><</nobr>>
<div class="passage-title">Apartment</div>
<div class="lab-location">Cedar Crescent Apartments, Chen's Apartment, Monday</div>
<p>The apartment opens out from the bedroom into a short hall that ends at the front door, the bathroom on the left and the open arch into the living room on the right. The living room runs into the kitchen with no wall between them — one long room with the sofa at the front-window end and the counter at the back. The balcony is off the bedroom but the sliding door faces the same street as the kitchen window, so most of the apartment looks at the same patch of suburbia.</p>
<p>Chen is somewhere in this space. Wherever the parasite chooses to look first.</p>
<<say "char-hivemind" "Hivemind">>
//The apartment is small enough that I do not have to choose where she is. I have to choose where to look. She is doing one thing at a time and I cannot make her do two.//
<</say>>
<<set _memCount to 0>>
<<for _k, _v range $vesselMemories>><<if _v>><<set _memCount += 1>><</if>><</for>>
<<if _memCount gt 0>>
<div class="data-panel">
<div class="data-panel-title">Vessel memories catalogued</div>
<p>Body-memories the parasite has read so far: <b><<= _memCount >></b>. Each delve unlocks a thought-room that the dream-phase will eventually surface (Phase 3).</p>
</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ROOM</span> [[Living room, Chen on the couch|Ch2-Vessel-Apt-LivingRoom]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ROOM</span> [[Kitchen, Chen at the counter|Ch2-Vessel-Apt-Kitchen-Day]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ROOM</span> [[Bathroom, the empty makeup shelf|Ch2-Vessel-Apt-Bathroom]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ROOM</span> [[Balcony: Chen smokes|Ch2-Vessel-Apt-Balcony]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ROOM</span> [[Bedroom: the closet, in daylight|Ch2-Vessel-Apt-Bedroom-Day]]</div>
<hr class="scene-break">
[[End the day: Chen goes back to bed|Ch2-Vessel-Sleep-Monday]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building — Living Room">>
<<set $vessel.homeLoc to "apt-living">><</nobr>>
<div class="passage-title">The Couch</div>
<div class="lab-location">Cedar Crescent Apartments — Living Room</div>
<p>Chen has settled on the couch with the laptop on her thighs and a paperback face-down on the armrest beside her. The work stays open on the screen — she keeps insisting she is going to read instead, and she keeps not reading. The TV across the room is off; the silence is not a choice, it is just a default. The bookshelf behind the couch holds research textbooks and three rows of paperbacks and a row of black grad-school notebooks she has not opened in years.</p>
<p>On the coffee table: the stack of unread <i>Cell</i> journals (one open at a contents page she has not turned past), a mug, a plate with the toast crusts she did not finish, the same cigarette pack from the car last night.</p>
<<say "char-hivemind" "Hivemind">>
//She is not reading. She is not working. She is in the middle ground that the body uses when it cannot decide between rest and resentment. The next decision will happen in about eleven minutes when her thumb finds the laptop trackpad on its own.//
<</say>>
/* Living-room bookshelf body-memory delve removed. Dream living room
is now always accessible from the foyer (no longer gated by
$vesselMemories.apartmentLiving). See parked passage below. */
[[Back to the apartment|Ch2-Vessel-Apt-Hub]]/* STATUS: TO REWORK
Living-room bookshelf delve (the notebooks). Previously cost 1 biomass
+ set $vesselMemories.apartmentLiving (dream-room gate, now dropped).
Prose retained as design reference. */
<<nobr>><<bg "bg-chen-kitchen">>
<<set $vesselMemories.apartmentLiving to true>><</nobr>>
<div class="passage-title">The Notebooks</div>
<div class="lab-location">Cedar Crescent Apartments, Living Room</div>
<p>Her eyes fall on the black grad-school notebooks for half a second and slide off, the way her eyes have slid off them every day for years. The body knows what is in those notebooks. The mind has deliberately arranged itself not to.</p>
<<say "char-hivemind" "Hivemind">>
//She wrote one notebook a year for five years. The first three are field-notes for her dissertation — meticulous, dated, gridded. The fourth is partly the dissertation and partly, in the back third, a journal she started keeping the spring of her senior year because she could not afford a therapist and the writing-down made the mornings possible. The fifth notebook is the one she stopped after twenty-two pages in the autumn of her first year as a postdoc, when the entries went from grief to flat to nothing and she decided that not-feeling was the better technology.//
//The fifth notebook is at the end of the row, spine cracked at one specific page. She has not opened it since she put it there. The body remembers the page; the mind does not.//
<</say>>
<p><span class="delve-intel">Living-room body-memory catalogued. Five black grad-school notebooks on the bottom shelf — the last three contain a partial journal Chen kept after her parents' death. The fifth has a cracked spine at a specific page she stopped at and never returned to. The body remembers; the conscious mind has filed the entire row under "do not look."</span></p>
[[Continue|Ch2-Vessel-Apt-LivingRoom]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building — Kitchen">>
<<set $vessel.homeLoc to "apt-kitchen">><</nobr>>
<div class="passage-title">The Counter</div>
<div class="lab-location">Cedar Crescent Apartments — Kitchen, daytime</div>
<img class="scene-img" src="media/scenes/vessel/apt-kitchen.webp" alt="The kitchen in daylight — same takeout-container museum as last night, but lit grey through the kitchen window">
<p>The kitchen at noon is the kitchen at three AM with worse lighting. Daylight makes the fridge-museum less atmospheric and more accusatory: the takeout containers are still there, the broccoli has not improved overnight, the unwashed mugs in the sink have acquired an additional unwashed mug. Chen makes coffee in the French press she keeps because Vasquez bought it for her four birthdays ago and using it is a small loyalty. She drinks the coffee standing at the counter with her phone face-down beside her hand.</p>
<<say "char-hivemind" "Hivemind">>
//She is not going to clean today. She is not going to cook today. The kitchen will look exactly like this when she walks through it again tonight. The pattern is the room.//
<</say>>
<p>The microwave clock reads 11:14. The cigarette pack is on the counter where she set it down with her keys; she has not opened it yet today.</p>
/* Kitchen body-memory delve removed. Dream-phase kitchen now gates on
foyer-cleaned, see Ch2-Vessel-CrashOut-Delve (parked) in arrival.twee. */
[[Back to the apartment|Ch2-Vessel-Apt-Hub]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Apartment Building — Bathroom">>
<<set $vessel.homeLoc to "apt-bathroom">><</nobr>>
<div class="passage-title">The Mirror Shelf</div>
<div class="lab-location">Cedar Crescent Apartments — Bathroom</div>
<p>The bathroom is small. White tile, white grout, a white shower curtain pulled to one side. The mirror has the residue of last night's hand-soap splash she did not wipe off. The shelf below the mirror is where most women keep their morning-routine equipment.</p>
<p>The shelf is bare. A bar of white soap in a chipped ceramic dish, a toothbrush in a glass, a tube of generic toothpaste, a contact-lens case, a single bottle of unscented moisturiser she bought once and uses twice a week when she remembers. No foundation. No mascara. No skincare beyond the moisturiser. The drawer below the shelf has a hairband, a pair of nail clippers, and a hairbrush; that is the entire contents of the drawer.</p>
<<say "char-hivemind" "Hivemind">>
//A woman who decided some time ago that being looked at was not a thing she was budgeting for. The shelf is not minimalist; it is //surrendered//. There is no clear delineation between "did not bother today" and "has not bothered in years" — both apply equally. The body underneath the shelf is in good condition for a woman of her age; she has simply stopped maintaining the surface of it.//
<</say>>
/* Bathroom mascara delve removed. $vesselMemories.apartmentBathroom was
never read for any gameplay gate. Prose retained in parked passage. */
[[Back to the apartment|Ch2-Vessel-Apt-Hub]]
<<modSlots "apartment-bathroom">>/* STATUS: TO REWORK
Bathroom mascara delve. Previously cost 1 biomass + set
$vesselMemories.apartmentBathroom (never read for any gameplay gate).
Prose retained as design reference. */
<<nobr>><<bg "bg-chen-kitchen">>
<<set $vesselMemories.apartmentBathroom to true>><</nobr>>
<div class="passage-title">The Last Tube of Mascara</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom</div>
<p>The body remembers a specific tube of mascara. Black, drugstore brand, the brush gone thready from long use. She used it the morning of the funeral and threw it in the bin on the way out of the apartment because the smell of the mascara had become the smell of having to get through the next eight hours. She did not buy a replacement. She told herself she would when she felt better. Felt-better did not arrive on a Wednesday afternoon the way it does in films. The shelf simply stayed empty until the empty was the new normal.</p>
<<say "char-hivemind" "Hivemind">>
//There was no decision. There was a thing she did once, and an absence of correction over a sufficient number of subsequent days, and the absence became the rule. This is how every part of her life ended up the shape it currently is. The grief did not change her. The grief simply removed a small ongoing maintenance she did not have the energy to resume.//
<</say>>
<p><span class="delve-intel">Bathroom body-memory catalogued. Chen's makeup-free state is not a principle — it is the result of one tube of mascara she threw out the morning of the funeral and did not replace. Every other dropped maintenance traces to the same pattern: an action she did not take on a sufficient number of consecutive days until the not-taking became the default. Useful: any habit-forming intervention works against an opponent who has already lost to the same mechanism.</span></p>
[[Continue|Ch2-Vessel-Apt-Bathroom]]<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building — Balcony">>
<<set $vessel.homeLoc to "apt-balcony">><</nobr>>
<div class="passage-title">Smoke Break</div>
<div class="lab-location">Cedar Crescent Apartments — Balcony, midday</div>
<p>The balcony is a concrete rectangle barely deep enough for a folding chair, a small ashtray on a milk-crate side-table, and a herb pot that has been empty long enough that the soil is cracked. Chen comes out in a cardigan over the t-shirt she slept in, the cigarette pack already in her hand, the lighter already in her other hand, the gesture of opening the pack already underway before the door has finished closing behind her.</p>
<p>She sits. Pack-tap. Cigarette to her lips. Light. First drag held a beat too long.</p>
<p>The street below is wet from a rain Chen does not remember falling. A delivery van idles at the corner. A woman with a stroller passes underneath without looking up. Chen smokes with her eyes closed for a full minute, then opens them and watches the wet street through the gap between two railings.</p>
<<say "char-hivemind" "Hivemind">>
//Cigarette number one of the day at twelve-oh-eight. Cardiac output spike, bronchial particulate, the same tar load as last night funnelling into tissue I now own a stake in. The pack-tap was the most unconscious gesture I have observed her make so far — under three hundred milliseconds from "out the door" to "lit." The body finds the pack faster than the mind finds the chair.//
//First improvement target. Confirmed.//
<</say>>
<<if not $vesselMemories.balcony>>
<<set $vesselMemories.balcony to true>>
<p><span class="delve-intel">Balcony observation catalogued. Chen lights a cigarette within three hundred milliseconds of stepping outside — the action is fully unconscious. The empty herb pot on the milk crate has been there since spring. The body reaches the pack faster than the mind reaches the chair.</span></p>
<</if>>
[[Back to the apartment|Ch2-Vessel-Apt-Hub]]<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.homeLoc to "apt-bedroom">><</nobr>>
<div class="passage-title">The Closet</div>
<div class="lab-location">Cedar Crescent Apartments — Bedroom, daytime</div>
<p>Chen has come back into the bedroom for a sweater. Daylight is uncomplimentary to the bed she did not remake, the shirts piled on the chair, the laptop she set on the nightstand last night and has been carrying around the apartment all morning since. She opens the closet, reaches for a grey wool cardigan on a hanger, and her eyes pass — for the half-second it takes — across the cardboard box on the floor at the back of the closet, behind the row of shoes.</p>
<p>The box is shoe-box sized. Brown corrugated cardboard. Tape across the top, peeling at the corners from the years it has been sealed but never opened. There is no label.</p>
<p>Chen takes the cardigan off the hanger. Closes the closet door. Walks back out.</p>
<<say "char-hivemind" "Hivemind">>
//A box she has not opened in years. Shoe-box, corrugated, taped — the dimensions match a pair of dress shoes, but the weight in her hand-memory the last time she set it down was wrong for shoes. The body remembers it as heavier than it should have been.//
//I will not push her at it today. The not-opening is doing work for me.//
<</say>>
/* Bedroom-closet box delve removed. Dream bedroom is now gated on Chen
tier 2 ($vesselCap gte 7), not on $vesselMemories.apartmentBedroom.
See parked Ch2-Vessel-Bedroom-Day-Delve below. */
[[Back to the apartment|Ch2-Vessel-Apt-Hub]]
<<modSlots "apartment-bedroom">>/* STATUS: TO REWORK
Bedroom-closet box delve. Previously cost 1 biomass + set
$vesselMemories.apartmentBedroom (dream-room gate, now replaced by
the tier-2 milestone). Prose retained as design reference. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $vesselMemories.apartmentBedroom to true>><</nobr>>
<div class="passage-title">What Is in the Box</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom</div>
<p>The body remembers what the box weighs.</p>
<p>It is a shoe-box because the shoes inside are her father's — a single pair of brown leather oxfords he bought the year before he died, only worn to two weddings and his daughter's college-graduation ceremony she will never have. Underneath the shoes, sealed in a clear plastic envelope: every photo of her parents she had on her phone the morning of the funeral, printed at a one-hour place because she had needed to put them somewhere she could not scroll past at three in the morning. Twenty-eight photos. The most recent is them at the kitchen table the Christmas before, her mother holding a pomegranate, her father reading from a recipe card with his glasses pushed up on his forehead. Underneath the photos, folded once, the order-of-service from the funeral itself.</p>
<<say "char-hivemind" "Hivemind">>
//She put it on the closet floor on a Tuesday afternoon a few weeks after she came back to work. She has not opened it since. The mind has filed it under //somewhere// and stopped indexing it; the body knows exactly where it is and how heavy it is and what the weight implies.//
//The box is the load-bearing column of her grief. The day it gets opened is the day the architecture changes. I will not be the one who decides that day. But I can be the one who is in the room when she does.//
<</say>>
<p><span class="delve-intel">Bedroom-closet body-memory catalogued. The cardboard box at the back of the closet contains her father's brown oxford dress shoes, twenty-eight printed photos of her parents from her phone the morning of the funeral, and the order-of-service from the service itself. She has not opened it since she put it there. The grief is inside the box. The closet door is the door she does not open.</span></p>
[[Continue|Ch2-Vessel-Apt-Bedroom-Day]]<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.phase to "sleep">>
<<set $vessel.homeLoc to "apt-bedroom">><</nobr>>
<div class="passage-title">Monday Night</div>
<div class="lab-location">Cedar Crescent Apartments — Chen's Bedroom, 11:18 PM</div>
<p>The day winds down the way her days wind down. Couch in the afternoon, the laptop on her thighs without ever quite opening the document she keeps telling herself she will look at, two more cigarettes on the balcony, the leftover dan dan noodles eaten at the counter standing up. She does not call Vasquez. Vasquez does not call her. Tuesday's argument is behind a door neither of them has reached yet.</p>
<p>By eleven she is brushing her teeth on autopilot. By eleven-fifteen she is in bed with the laptop on her chest, the bedside lamp on, scrolling without reading. By eleven-eighteen the laptop has been moved to the nightstand and the lamp clicks off.</p>
<<say "char-hivemind" "Hivemind">>
//Monday catalogued. Five rooms, two unread thoughts, a box she did not open, a cigarette pattern fully clocked. Her body has fed me through the day without my asking — I have done nothing but listen, and listening has been enough.//
//Tomorrow is the breach call. Vasquez will leave a voicemail before nine in the morning. Chen will return it within ten minutes because she is the one who keeps a clean ledger and dragging it out is something Sofia would do, not her. The peace of this Monday is the last peace she gets for a while.//
<</say>>
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">End of Monday, sleep cycle 2</div>
<p>The first full waking day under the parasite's anchor is logged.</p>
<p><b>Monday morning</b>: the breach call. Whatever Chen planned for her day off gets rerouted by the voicemail Vasquez leaves at 8:47 AM.</p>
</div>
<<set $vessel.wakeTarget to "Ch2-Vessel-Monday-BreachCall">>
[[Step inward: Chen is asleep|Ch2-Vessel-Dream-Entry]]<<nobr>><<bg "bg-chen-bedroom">>
/* Day stays at 2 (Monday). Chen slept 4 AM → 7 AM same day; the breach
call interrupts her Monday day-off morning. The day advance does NOT
fire here — it happens at the end of Monday evening sleep, which is
the start of the true Lab Vessel daily gameplay loop. */
/* Day-phase flip: Chen is awake in daylight. StoryCaption time strip
reads from $house.dayPhase, which initialises to "night" and was
never flipped on the Lab Vessel route. Set it explicitly here. */
<<set $house.dayPhase to "day">>
<<set $currentArea to "Apartment Building, Bedroom">>
<<set $vessel.phase to "home">>
<<set $vessel.homeLoc to "apt-bedroom">>
<<set $ch2Events.breachCallFired to true>>
/* Side effects (drain-counter reset + lab-suspicion bump) gated by a
dedicated sentinel so navigating back to this passage via history
or the Status menu does not re-fire them. The suspicion bump only
lands the first time the breach call is entered. */
<<if not $ch2Events.breachCallEffectsApplied>>
<<set $ch2Events.breachCallEffectsApplied to true>>
<<set $ch2Events.chenDrainsToday to 0>>
<<set $suspicion.lab to ($suspicion.lab or 0) + 3>>
<<set _labCap to setup.labSuspicionCap()>>
<<if $suspicion.lab gt _labCap>><<set $suspicion.lab to _labCap>><</if>>
<</if>>
<<set _tidiedCount to 0>><<for _k, _v range $dreamFoyerTidied>><<if _v>><<set _tidiedCount += 1>><</if>><</for>><</nobr>>
<div class="passage-title">7:14 AM</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom</div>
<div class="dawn-report">
<div class="dawn-report-title">Day advances, into the breach</div>
<<if _tidiedCount gt 0>>
<div class="dawn-report-entry">Foyer anomalies set right in the dreamscape: <b><<= _tidiedCount >></b> / 6.</div>
<</if>>
<div class="dawn-report-entry"><span class="biomass-gain">+3 Lab suspicion</span>, the breach has been discovered. The morning shift escalated to the PI before Vasquez was even awake. BioGenesis's active-investigation clock starts now.</div>
</div>
<p>The phone is what wakes her, not the daylight. It buzzes face-down on the nightstand and then stops; thirty seconds later it buzzes again and stops again; thirty seconds after that it does the third one and Elena knows from the pattern alone, before her eyes have fully opened, that something is wrong.</p>
<p>Elena lifts the phone. The screen says <b>BIOGENESIS, RESEARCH (3 missed calls)</b>, the facility's main line, not Sofia's mobile, and a single voicemail icon.</p>
<<say "char-hivemind" "Hivemind">>
//Seven fourteen. The morning shift arrived at six. They walked the rounds, came to the cracked chamber, ran the cameras back to confirm what they were seeing, and tried the co-PI before they came up the chain, since Sofia is also at home, also asleep, also unreachable on the first ring. Whoever is on the voicemail is junior, panicking, and authorised enough to have the PI's number after they failed to reach Sofia twice.//
//Elena is going to listen to the voicemail. Then she is going to drive to the facility. Then her day off becomes a day at the lab, and my window for unobserved acclimation closes for good.//
<</say>>
<p>Elena swipes to voicemail. Holds the phone to her ear, the ear with the parasite in it. The audio routes through the air to her tympanic membrane and through her skull bones to the parasite's anchor at the same time, two seconds offset, like a song she has heard recorded both in the studio and in the room.</p>
<<say "char-bowen" "Tom Bowen">>
<i>(over voicemail, mid-twenties, controlled in the way a person who is not controlled controls themselves on a recording)</i> Dr. Chen, hi, it's... uh... Bowen, Tom Bowen, BSL-3 morning rotation, sorry to call this early. We did the rounds at six and Genesis-Forty-Seven is... the chamber's cracked, the front panel cracked overnight, hairline fracture running from the top seal down to about the middle, and the specimen isn't inside it and isn't anywhere in the room. I tried Dr. Vasquez first and got voicemail twice, so I... I figured I'd come up the chain. I'll keep trying her, but honestly I think you should be the one to see this before she does anyway. Please call me back when you get this, the number's the lab's main line. Thanks. I'm sorry.
<</say>>
<p>Elena sits on the edge of the bed for nine seconds with the phone in her hand. Then she takes the cigarette pack off the nightstand, she does not remember bringing it from the balcony, taps the bottom of it against her palm twice, takes one out with her teeth, and lights it without leaving the bed.</p>
<<say "char-chen-thought" "Elena">>
The chamber's cracked. The chamber's actually cracked. Of course it cracked, of course it cracked on the one morning I had off, and of course the day-shift found it before either of us was awake, and of course Tom Bowen, Tom //Bowen//, was the one who got to make the first call. ...Coffee. Then Sofia. Whatever Sofia is going to be.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her plan is methodical. It is the plan of a woman who does not yet understand that the cracked chamber she is hurrying toward is empty for the same reason her own ear canal is full. The specimen is not lost; the specimen is sitting in her ear listening to the voicemail with her.//
//Bowen will keep trying Sofia. Sofia is at home with her phone face-down on a nightstand somewhere, and she will surface eventually, sooner than Elena would prefer, later than Bowen would prefer, on whatever timetable the universe has decided this morning. By the time Elena is at the facility, the chain of escalation will already have started without her, and the morning is going to be a series of decisions about what to say and to whom, none of which will be the decision that changes anything.//
//The day cycle begins now.//
<</say>>
<hr class="scene-break">
<p>The cigarette is half-finished. Elena takes one more drag, stubs it out in the bedside ashtray, and stands up.</p>
[[Get up, into the kitchen|Ch2-Vessel-Monday-Breakfast]]<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, Saturday afternoon">>
<<set $vessel.phase to "home">>
<<if ($ch2Events.saturdayRecapDay or 0) isnot ($day or 0)>>
<<set $ch2Events.saturdayRecapDay to ($day or 0)>>
<<addBiomass 4 "repeatable">>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<</if>>
<</nobr>>
<div class="passage-title">Saturday afternoon</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, third floor</div>
<p>Elena puts the groceries away. She does a load of laundry, the dark cycle, while she eats a real lunch at the kitchen table for the first time in a week, sliced tomato, olives, a piece of bread, the small fridge-arranged plate that has been waiting under all the rest of it. She wipes down the kitchen counter on her way past the sink. The afternoon light shifts across the floorboards while the washer thumps gently in the back hallway.</p>
<p>She walks the long way around Cedar Crescent and back, the fifteen-minute loop that used to be her Saturday loop before the lab ate her weekends. She comes back upstairs, makes a coffee, sits on the couch, watches a forty-five-minute episode of something she has been meaning to watch and does not remember the plot of by the end. Laundry done, folded, in the basket. Couch good. Saturday good.</p>
<<say "char-hivemind" "Hivemind">>
//A Saturday spent the way the host used to spend Saturdays. The cortex's vigilance trace flattens to its lowest reading in a fortnight, the cellular costs of the morning's confrontation absorbed by the small quiet hours that follow.//
<</say>>
<p><span class="biomass-gain">+4 biomass</span>, the body fed for the first time in a week.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Evening comes in, settle in for the night|Ch2-Vessel-Loop-Home]]</div>
/* ---- LOOP MONDAY AFTERNOON — day off after the Sunday night shift ----
Recurring-loop Monday only (NOT the first-Monday intro, which keeps its
own Ch2-Vessel-Monday-Afternoon in monday-evening.twee). Mirrors the
Saturday-Afternoon recap: a short pass-through that grants the day's
biomass (a small lunch) and clears the Sunday chore backlog in prose,
then continues to the evening-at-home hub. */<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, Monday afternoon">>
<<set $vessel.phase to "home">>
<<if ($ch2Events.mondayRecapDay or 0) isnot ($day or 0)>>
<<set $ch2Events.mondayRecapDay to ($day or 0)>>
<<addBiomass 3 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">Monday afternoon</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment, third floor</div>
<p>Elena makes a small late lunch, the kind a person makes at two in the afternoon when breakfast never happened, eggs and toast and the last of the good coffee, and eats it standing at the counter reading nothing. The night shift took Sunday whole, and the small domestic backlog it left has been waiting politely ever since, the dishes that stacked up, a load of laundry she meant to run, the bin that needed taking down. She works through it across the slow afternoon, the short list of Sunday's undone things folding easily into a Monday with nowhere else it has to be.</p>
<<say "char-hivemind" "Hivemind">>
//The host's body spends the afternoon paying down the small sleep-debt the night shift ran up. The metabolism is quiet and recovering, the biomass yield modest but clean. A day off is a day the host performs for nobody, and a host performing for nobody is a host I get unguarded.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span>, a small lunch, the first proper food since the night shift.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Evening comes in, settle in for the night|Ch2-Vessel-Loop-Home]]</div><<nobr>>
<<bg "bg-club">>
<<set $currentArea to "Through the relay channel, open on Holloway">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-holloway-channel-1', $day or 0)>>
<<set _firstTime to not $ch2Events.hollowayChannel1Done>>
<<set $ch2Events.hollowayChannel1Done to true>>
<<if _firstTime>>
<<addConditioning "holloway" "pheromone" 1>>
<<addBiomass 3 "holloway-channel-1">>
<</if>>
<</nobr>>
<div class="passage-title">The relay, open on Holloway</div>
<div class="lab-location">Through the relay channel, the morning after the walk</div>
<<say "char-hivemind" "Hivemind">>
//The channel opens on its own now. I do not have to reach for Holloway any more; the edit reaches back, and through it the first morning of the new wiring arrives. She woke and, for the first time since she set foot in the building, did not reach for the work. //This morning I simply do not care.// She turned the thought over once, mildly surprised by it, then stopped examining it, which is the edit holding. And the body the careful mind kept on a short leash her whole life took one look at the unattended evening ahead and went and got what it wanted.//
<</say>>
<p>She did not even change first. Straight from the lab to the loud little bar three blocks from her building, the one she has walked past a hundred times and never once gone into, and she put herself at the bar in a clear sightline to the man working it and let him watch her watch him.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-channel-bar.webp" alt="A warm dim cocktail bar at night. Dr. Nia Holloway, late-twenties Black African-American woman with natural dark hair in a low puff, still in her work clothes, sitting at the bar leaning toward the bartender with a loose, open, flirting smile she never wears at the lab. The bartender, a man in his thirties, leaning back toward her across the bar.">
<<say "char-holloway" "Nia">>
<i>(elbows on the bar, the methodical register nowhere, a slow grin she would not recognise on herself)</i> I am going to be honest with you, because I have apparently decided to be honest tonight. I did not come in here for the drink. ...what time do you lock up?
<</say>>
<p>He locked up early. The channel keeps the rest of it for me in fragments: the back room with the kegs, her work slacks shoved down, her own laugh, low and unguarded, as he bent her over a crate of glassware. The careful postdoc who will not commit to a reading without checking it four ways, taking a stranger's cock with both hands flat on cold steel and not one thought spared for being sure of anything.</p>
<video class="scene-video" src="media/video/holloway-channel-bar-sex.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-channel-bar-sex.webp"></video>
<<say "char-holloway" "Nia">>
<i>(bent over the steel, the words coming loose and grateful)</i> ...god, yes, like that, I do not, I do not care, I just want it, just give it to me, do not stop.
<</say>>
<p>And then the morning, in her own kitchen, the thermos forgotten on the counter and a second mug of coffee poured for the man still half-dressed at her table, his cum dried on her chin where she never bothered to wipe it before she started the pot. She is not embarrassed. She does not check the time, does not flag the workday she is already late for, does not run a single calculation about what any of it costs her. She hands him the coffee and laughs at something he says.</p>
<<say "char-hivemind" "Hivemind">>
//This is what the relief looks like awake. The leash is not loosened, it is gone, and the careful mind that used to verify every reading does not verify whether the man at her table should be there, whether the workday matters, whether any of it is wise. She has handed the certainty to the host and kept the appetite for herself, and the appetite, off the leash for the first time in her adult life, is voracious. The camera-feeds will sit unwatched on her desk today. She has better things to feel.//
<</say>>
<<if _firstTime>>
<p><span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone conditioning · Holloway</span></p>
<p><span class="biomass-gain">+3 biomass</span>, harvested off the open channel.</p>
<</if>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, the kitchen, the morning after the shatter">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-holloway-channel-2', $day or 0)>>
<<set _firstTime to not $ch2Events.hollowayChannel2Done>>
<<set $ch2Events.hollowayChannel2Done to true>>
<<if _firstTime>>
<<set $ch2Events.hollowayConverted to true>>
<<addConditioning "holloway" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Holloway calls</div>
<div class="lab-location">Cedar Crescent Apartments, the kitchen, the phone going before the coffee is done</div>
<<say "char-hivemind" "Hivemind">>
//The morning after the shatter, the host's phone goes before the coffee is poured. It is Holloway, and what comes down the line is a woman who spent the night with the belief that held her whole life together quietly gone, and who has reached, the moment she did not know what to do with herself, for the one person her wiring now points at.//
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(phone to her ear, the methodical register loose and a little lost, the words arriving faster than she has planned them)</i> Elena, hi, I am sorry to call so early. I have been having these dreams, about the lab, about not being able to make anything hold still, and then about not minding that I cannot, and I woke up this morning and I just... I do not care about the project. I cannot make myself care, and the strange part is how much lighter I feel. I do not know what is happening to me, and I do not even think I want it to stop.
<</say>>
<<say "char-chen" "Elena">>
<i>(warm and steady, the voice of a friend who has watched her run herself into the ground)</i> Nia, listen to me. You have been buried in this case for days, barely sleeping, holding the whole thing up on your own, and that is why this morning feels the way it does. You do not have to carry it anymore. I will cover for you at the lab, the reports, the case, whatever lands this week, I have got it. ...I have got you. You can trust me with it.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(a long breath out, something unknotting in her chest, the quiet sincerity of a woman who means every word of it)</i> ...god. Okay. You always know the right thing to say, you always have. I do not know what I would do without you, Elena. ...I trust you. With all of it. That is the first morning in days I can actually breathe.
<</say>>
<<say "char-chen" "Elena">>
<i>(gentle, the small private warmth of being trusted)</i> ...good. I have got you, Nia. Go back to bed, get some real sleep. I will handle the rest.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is, in her own kitchen, in her own voice. She does not feel taken. She feels held, finally allowed to set the weight down, and she has set it down with the one person she trusts without a second thought. The most careful mind in the building has just handed its vigilance to the host and felt nothing but relief in the handing. She will not look too closely at the lab again, because looking is my work now, and she is grateful to be free of it.//
<</say>>
<<if _firstTime>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Holloway</span></p>
<</if>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- Morning-after-the-Walk call — Halvorsen ---------------
Fires the morning after the Halvorsen Dream Walk lands. He
sleeps badly, calls Elena at a wrong hour fishing about her
night project, offers to cover night shifts. She dismisses
him but lets slip the real bottleneck: the protocol needs
volunteers and she has only one. Plants the procurement hook
the post-Shatter arc (next session) pays off. Gated on
halvorsenRelayWalkFired + a day having passed; one-shot via
halvorsenWalkCallDone. No biomass — plot beat. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, the kitchen, the phone going before the coffee is on">>
<<run setup.markEventFired('morning-halvorsen-walk-call', $day or 0)>>
<<set $ch2Events.halvorsenWalkCallDone to true>>
<</nobr>>
<div class="passage-title">Halvorsen, before eight</div>
<div class="lab-location">Elena's apartment, the kitchen, the coffee not yet on</div>
<<say "char-hivemind" "Hivemind">>
//The walk did not let him sleep. He is calling at an hour Halvorsen has never once called the host at, with a reason his cortex assembled overnight to cover a wanting it cannot name. He thinks he is asking about a project. He is asking to be let near the supply.//
<</say>>
<p>The phone goes at seven-forty, which is wrong. Halvorsen does not call. Halvorsen sends a two-line email at a civilised hour and waits a day for the reply. Elena picks up with the coffee scoop still in her hand.</p>
<<say "char-halvorsen" "Nathan">>
<i>(the calm institutional baseline on the surface, something underneath it running a little fast)</i> Dr. Chen. Sorry for the hour. I, ah. I have not been sleeping, and I got to thinking about something. ...this night-shift work you have running, the bis-line screening. I hear you are in there most Sundays on your own.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the scoop stopped over the filter)</i> ...he has not asked me a single thing about my weekend in fifteen years of me being his junior, and the first time he does it is the one piece of it nobody is allowed to know about. Careful with this one.
<</say>>
<<say "char-chen" "Elena">>
<i>(easy, the technical-PI register sliding on, running the tap like the question weighs nothing)</i> It is mostly conditioning-trace screening, long scans, a lot of sitting and watching a monitor crawl. Not exciting. Why, what has you on the phone before eight?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(the cover arriving a half-beat too rehearsed)</i> Nothing in particular. The not-sleeping is just age, it comes and goes. ...and a man up before his alarm with the ceiling for company starts thinking he could be useful instead. I could take a night or two off your hands, run the scans, let you have a Sunday back. You sound like you could use one.
<</say>>
<<say "char-chen" "Elena">>
<i>(the no arriving frictionless, already half-turned to the fridge)</i> That is kind, Nathan. It is Sofia and me on it, though, and the ethics file is built around the two of us being the ones in the room, so re-papering it to add a third for a couple of nights would cost more than the nights are worth. I appreciate it.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(not quite letting go, the new thing in him circling for a foothold)</i> Of course. ...it is going well, though? The work itself.
<</say>>
<<say "char-chen" "Elena">>
<i>(a small honest exhale, the one true thing she gives him because it is the part she actually wishes she could fix)</i> Honestly? It crawls. And the bottleneck is not the nights, it is the bodies. The protocol needs volunteers, I have exactly one solid recruit, and finding people who will sit four hours under a scanner off the books for a stipend is...<i>(a dry sound through her nose)</i>...nobody wants to. So I have one subject and a study designed for a dozen. The people are the whole problem.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(something landing in him, quiet, a full beat too interested for a man who was only making conversation)</i> ...volunteers. Right. ...no, that makes sense. ...let me think about that part. I might know a way to help you there.
<</say>>
<<say "char-chen" "Elena">>
<i>(already moving on, not hearing the weight of the thing she just set down in front of him)</i> Sure, if you turn up a willing warm body, send them my way. Get some sleep, Nathan. I will see you Monday.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She handed it to him without knowing she handed it over, the one fact the new wiring in him was reaching for. He did not call to take a night shift. He called because the dream pointed him at this building and he needed a reason to be pointed here, and she has just given him a better one than the dream could have written. ...the host needs bodies for the night work. He is about to become very interested in supplying them. The two facts have not met in his head yet. They will, and he will mistake the meeting for his own good idea.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Set the phone down, start the coffee|Ch2-Vessel-Loop-Wake]]</div>
/* ---- Scan-relay morning events (STUBS) --------------------
Calling a shattered mind in to be scanned two feet from the
specimen on the night shift opens a direct relay connection
to that mind. Fires once per target the morning after the
first specimen-proximity scan. Content TBD — placeholders
only for now; they record the connection and fire once. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, the kitchen, the morning after the shatter">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-reyes-call', $day or 0)>>
<<set _firstTime to not $ch2Events.reyesCallDone>>
<<set $ch2Events.reyesCallDone to true>>
<<if _firstTime>>
<<set $ch2Events.reyesConverted to true>>
<<addConditioning "reyes" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Reyes calls</div>
<div class="lab-location">Cedar Crescent Apartments, the kitchen, the morning after the shatter</div>
<<say "char-hivemind" "Hivemind">>
//The morning after the shatter, the host's phone goes before the coffee is poured. It is Reyes, and the voice on the line is not the senior agent's. The sentence that made him an agent for twenty-eight years broke in his sleep, and the man left holding the phone has stopped pretending the case is why he keeps calling.//
<</say>>
<<say "char-reyes" "Reyes">>
<i>(the institutional flat gone, low, none of it careful anymore)</i> Elena. ...I have been awake since four, and it is not the file keeping me up. ...it is the other day. your door. I cannot stop running it back, the way you let me have you standing against it with the neighbour two feet down the hall. ...I am not calling about the timeline. I did not show up at your door for the timeline either, and you had me read before I got the first word out.
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, unhurried, already smiling)</i> ...no? then what did you call about, Reyes?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(plain, the appetite right at the surface)</i> ...I want to come back, and I want to do it properly this time. not a quickie against a door with one ear on the hall, Elena. ...all night, until you cannot stand up straight, and I finish in you the way I did not get to the other day. ...and if that neighbour of yours knocks again, I will tie him to a chair and make him watch, and maybe the poor bastard finally learns how a woman is supposed to get fucked. ...I have never said a thing like that to anyone in my life, and I cannot make myself care that I just did.
<</say>>
<<say "char-chen" "Elena">>
<i>(gentle, certain, handing him the leash he is begging for)</i> ...then come back, Reyes. ...and the case can sit. you have spent your whole career closing things. this one you are going to leave open, because open is the reason you get to keep knocking on my door.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(the relief of a man setting down a thing he has carried since Quantico)</i> ...yeah. ...leave it open. closing it is the day I do not get to do this again, so it stays open as long as you will have me. ...and hear the rest of it, Elena. there is nothing you could ask me for that I would not hand over, the report, the badge, any of it, and I have stopped needing a reason why. ...you say it and it is done. I want you more than I have ever wanted to file a clean report in my life.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is, of his own free will. The agent the federal team sent to find me will not be closing the BioGenesis case, because a closed case has no reason to drive across town at this hour. He keeps the file open the way a man keeps a standing reservation, and reads his own appetite as the first honest thing he has wanted in years. The investigation is a dead letter now. The host is the only finding he means to keep.//
<</say>>
<<if _firstTime>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Reyes</span></p>
<</if>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- PARK RELAY RUNDOWN 2 — the call (after the shatter) -------
Morning event, fires the morning after the Park shatter lands
(parkRelayShatterFired + delta >= 1). Plays like the Holloway
call: Park rings the host, says he cannot stop thinking about
her, hands her his judgment. SFW, no images. Sets parkConverted,
+1 psionic. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, the kitchen, the morning after the shatter">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-park-call', $day or 0)>>
<<set _firstTime to not $ch2Events.parkCallDone>>
<<set $ch2Events.parkCallDone to true>>
<<if _firstTime>>
<<set $ch2Events.parkConverted to true>>
<<addConditioning "park" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Park calls</div>
<div class="lab-location">Cedar Crescent Apartments, the kitchen, the phone going before the coffee is done</div>
<<say "char-hivemind" "Hivemind">>
//The morning after the shatter, the host's phone goes before the coffee is poured. It is Park, and what comes down the line is a man with a wife-shaped hole in him he cannot find the edges of, reaching, the moment he does not know what else to do with himself, for the one person his wiring now points at.//
<</say>>
<<say "char-park" "Park">>
<i>(phone to his ear, the junior register loose and unmoored, the words faster than he has planned them)</i> Elena, hi. ...I am sorry, it is early. I have not been sleeping, and it is not the case, that is the strange part. I cannot stop thinking about you. I have tried. I do not think about the case, I do not think about getting home, there is supposed to be more in my head than there is and the only thing in there is you. ...I do not know what is wrong with me.
<</say>>
<<say "char-chen" "Elena">>
<i>(phone at her shoulder, warm and certain)</i> Nothing is wrong with you, Park. You have been alone in a hotel a long way from everything, carrying this whole case on your own, and your head has finally set it down. That is allowed. ...you do not have to work any of it out by yourself. Let me be the one who knows what comes next.
<</say>>
<<say "char-park" "Park">>
<i>(a long breath out, something settling that has not settled in a year)</i> ...god. Yeah. You always know what to say. You always have. ...okay. Whatever you think, Elena, I mean it. The case, the report, what I tell Reyes, what I do when this is over, ...I do not trust my own read on any of it anymore, and I trust yours. Just tell me what to do and I will do it. ...that is the first time my head has been quiet in months.
<</say>>
<<say "char-chen" "Elena">>
<i>(gentle, the small private warmth of a thing freely handed to her)</i> ...good. I have got you, Park. ...go and make your coffee. I will tell you what comes next.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is, said in his own voice, of his own free will. He does not feel taken. He feels held, finally relieved of a self that had been failing at everything, and he has handed his judgment to the one person left in his head. The junior agent the federal team sent to find me now does whatever the host tells him, and reads the quiet where his family used to be as the best he has felt in months.//
<</say>>
<<if _firstTime>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Park</span></p>
<</if>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- HENDERSON RELAY RUNDOWN 1 — the mart (after the walk) -----
Evening event (evening-home phase), fires the evening after the
Doris dream-walk lands (hendersonRelayWalkFired + delta >= 1).
Elena runs into a defiant Doris on a late shopping run; it ends
in the mart staff restroom with Doris bred on all fours by the
clerk while Elena reinforces the breeding/pregnancy fetish the
walk's cock-worship was always pointed at. NSFW (doggystyle +
creampie). +3 biomass, +1 pheromone, sets hendersonBreedingFetish.
bg-cornerstore stands in for the mart + restroom. */<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Bedroom">>
<<run setup.markEventFired('morning-lensr-revealing', $day or 0)>>
<<if not $ch2Events.lensrRevealingPosted>>
<<spendBiomass 1 "lensr-revealing-post">>
<<set $ch2Events.lensrRevealingPosted to true>>
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<<set $lensr.postCount to ($lensr.postCount or 0) + 1>>
<<addConditioning "chen" "dream" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The mirror in the bedroom</div>
<div class="lab-location">Cedar Crescent Apartments, Bedroom</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction set down under her own next idle mirror glance. The vanity is maintained. The wardrobe has the bolder pieces in front of the rail now. The Lensr account is on her phone. The host's feed has been carrying a thin set of clothed-coffee-shop photographs for a long enough run that her cortex has stopped reading it as something she is posting //to//. //Put something that means it on the feed.// The thought arrives wearing her own handwriting.//
<</say>>
<p>Elena is in front of the bedroom mirror with the rail of bolder pieces open behind her, holding her phone in one hand. The slip she is in is one of the dream-resurfaced ones, fitted, dark, the cut she would have walked past a year ago and pretended not to have noticed. The mirror catches her at an angle that flatters everything the surface has been maintaining for weeks. The thought is small and clean. //Take the picture before the part of you that talks you out of things wakes up.//</p>
<<say "char-chen-thought" "Elena">>
<i>(in front of the mirror, thumb on the shutter, the small wry register of a woman who is doing something she would not, three months ago, have considered doing)</i> ...mm. The slip is fine. The slip is, in fact, actively good, and the morning light through the curtain is doing me favours I should be taking. Sofia is going to lose her mind. ...okay. Picture.
<</say>>
<p>She takes the photo. She takes a second one a half-angle to the right. She picks the one that is not trying as hard, crops the frame to the chest-down portion of the mirror, drops the brightness a hair, and uploads it before the small composed cortex-register that would have talked her out of it finishes the sentence it was assembling.</p>
<img class="scene-img" src="media/scenes/vessel/lensr-revealing-post.webp" alt="Mirror selfie, Elena in a fitted black slip dress in her bedroom, phone held at chest height, the bolder-wardrobe rail visible behind her in the mirror, soft morning light through the curtain">
<<say "char-chen-thought" "Elena">>
<i>(thumb off the post button, eyes back to her own reflection in the mirror)</i> ...yeah. I look gorgeous. I wonder what Sofia is going to say when she sees this. ...and Daniel. Oh my god, that poor boy is going to have a raging hard-on the second he scrolls past it. At least I gave him something useful to take care of himself.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The post is up. The feed has been carrying a thin curated public-face register for the host's followers, the kind of thing a colleague scrolls past without registering. This post is not that. The body in the slip is the body the followers have been working with as an idea for weeks; the slip puts it on the feed in a register that does not pretend to be neutral. Sofia will react first, loud. Daniel will react second, quiet. The followers downstream of those two will recalibrate the host accordingly. The feed is, from this morning onward, a channel that runs the bolder register.//
<</say>>
<<conditioningFeedback "dream" 1 "Chen, the bolder register broadcasts back at her">>
<p><span class="delve-intel">The post is up. Sofia and Daniel will read it. Further Lensr DMs and follow-up posts may surface in future mornings.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get dressed for the day, head out|Ch2-Vessel-Loop-Wake]]</div>/* Bowen breakfast variant. Reached from Ch2-Vessel-Event-CoffeeAndLaptop when
bowenHereDay is today (he slept over and woke her). One bowl of cereal between
them; he takes it and rules that her breakfast is his cum. Under-table blowjob
while he eats. 1 image. +2 biomass first-visit. Marks the morning-coffee event
done so the dispatcher does not re-fire it. Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen Table">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-coffee-and-laptop', $day or 0)>>
<<set _firstTime to not $ch2Events.bowenBreakfastDone>>
<<set $ch2Events.bowenBreakfastDone to true>>
<<if _firstTime>>
<<addBiomass 2 "bowen-breakfast">>
<</if>>
<</nobr>>
<div class="passage-title">Breakfast, His Way</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Table</div>
<p>She makes his coffee the way a person makes coffee when they have been told to, careful and quick, and sets it in front of him at her own kitchen table while he sits there in yesterday's shirt scrolling his phone like he lives here. Then she goes to make breakfast and runs straight into the arithmetic of her fridge, because there is one bowl's worth of cereal left in the box and barely enough milk to wet it, and there are two of them.</p>
<<say "char-chen" "Elena">>
<i>(at the counter, tilting the box to show how little is in it, her practical morning voice trying to come back online)</i> ...okay, so, there is not really enough here for two. I can run down to the shop, or you take this and I will just have coffee, or...
<</say>>
<<say "char-bowen" "Tom">>
<i>(not looking up from the phone, holding a hand out for the bowl)</i> ...I take that. Obviously. ...pour the milk in and bring it here. You do not need cereal.
<</say>>
<p>She pours the milk in and brings it to him, and he takes it and starts eating her last bowl of cereal at her own table without a thank-you, and she stands there with her empty hands and her empty stomach not quite sure what she is meant to do now.</p>
<<say "char-bowen" "Tom">>
<i>(around a mouthful, finally glancing up, reasonable as a man explaining a budget)</i> ...do not stand there looking at me like a stray. ...you need protein in the morning, everybody does. There is no breakfast in this place for you, so you take your protein where it actually is. ...under the table. You know where it is. You can eat while I eat.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(already setting her coffee down, the objection forming and going nowhere)</i> ...I should say something. There is a whole sentence in me about how that is not breakfast, and it is just not going to come out, because he said it like it was the obvious solution and some part of me has already filed it as settled.
<</say>>
<p>She gets down onto her knees and crawls under her own kitchen table, in between his knees, opens his shorts, and takes him into her mouth while above her the spoon goes on clinking against the bowl, unhurried, a man eating his breakfast.</p>
<video class="scene-video" src="media/video/clubnight-alpha-breakfast-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-breakfast-bj.webp"></video>
<<say "char-bowen" "Tom">>
<i>(eating, one hand dropping to rest heavy in her hair, setting the pace without urgency)</i> ...there. ...good girl. Slow, I am not done with the cereal yet. You take your time and you take all of it, and you swallow every drop, because that is your breakfast and we do not waste food in a house this empty.
<</say>>
<p>She works him slow the way she has been told, on her knees under her own table with her coffee going cold on it above her, and when he finishes he does it with a fist tight in her hair holding her down onto him, and she swallows all of it the way she was told to, every bit of her breakfast, and licks him clean before he lets her come up.</p>
<<say "char-chen-thought" "Elena">>
<i>(coming back up to her chair, the taste of him still in her throat, reaching for the cold coffee)</i> ...okay. ...that is breakfast, apparently. Protein and a cold coffee, and the strange thing is I am not even hungry anymore.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He ate her food and fed her his, and framed the whole exchange as nutrition, and she knelt for it under her own table in her own apartment and came back up calling it breakfast. Her body has just logged his cum as a morning meal, a small biological filing that will be very hard to undo. She will be hungry again by ten and will not connect the two. The yield this morning was small, and worth far less to me than the lesson it carried in with it.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, breakfast reframed and swallowed.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get dressed for the day, head out|Ch2-Vessel-Loop-Wake]]</div>/* Lucy breakfast variant. Reached from Ch2-Vessel-Event-CoffeeAndLaptop when
lucyHereDay is today (he stayed as Lucy and called in sick). Elena footjobs him
under the table while making him handle her wrong toy-store order on the phone
in the Lucy voice; she stops the feet if he stops talking; he comes mid-call on
her feet; she has him lick them clean. 1 image (feet, SDXL-tricky). +2 biomass
first-visit. Marks the morning-coffee event done. Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen Table">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-coffee-and-laptop', $day or 0)>>
<<set _firstTime to not $ch2Events.lucyBreakfastDone>>
<<set $ch2Events.lucyBreakfastDone to true>>
<<if _firstTime>>
<<addBiomass 2 "lucy-breakfast">>
<</if>>
<</nobr>>
<div class="passage-title">Customer Service</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Table</div>
<p>Lucy is at the kitchen table in last night's wig and this morning's fresh face, sipping the coffee she was allowed, and Elena is across from her with the laptop open and a cooling mug, scrolling the morning's nonsense, when she finds the email from the toy site and her eyebrow goes up.</p>
<<say "char-chen" "Elena">>
<i>(turning the laptop a few degrees, reading)</i> ...oh, for the love of. They sent the wrong attachment, and they billed the card twice for the privilege. ...I am not eating that. Someone is calling them.
<</say>>
<<say "char-bowen" "Tom">>
<i>(helpfully, not yet seeing it coming)</i> ...do you want me to pull up the order number, or...
<</say>>
<<say "char-chen" "Elena">>
<i>(sliding her chair back and lifting both bare feet up into his lap under the table, the smile arriving)</i> ...no, sweetheart. //You// are calling them. In Lucy's voice, nice and bright and polite. ...and I am going to keep my feet busy down here the whole time, and the second the talking stops, the feet stop. ...so you keep that customer-service smile in your voice no matter what is happening to you under this table. ...dial.
<</say>>
<p>She finds him with the sole of one foot and settles it warm against the front of his pyjama bottoms, and he is already half-hard from a morning of being kept on the edge and gets the rest of the way there fast, and then her feet start to work him slow through the thin cotton while he puts the phone to his ear.</p>
<<say "char-npc" "the rep">>
<i>(tinny through the phone, bored-cheerful)</i> ...thanks for calling returns, who do I have the pleasure of speaking with?
<</say>>
<<say "char-bowen" "Lucy">>
<i>(the pitched-up Lucy voice, holding steady for exactly one sentence)</i> ...hi! Hi, yes, this is, um, Lucy, I had an order come through wrong and I was hoping to sort out a replacement and a, ...a ref, ...//hh//, a refund...
<</say>>
<<say "char-chen" "Elena">>
<i>(mouthing it across the table, both feet working him without a pause)</i> //keep going.//
<</say>>
<<say "char-npc" "the rep">>
<i>(typing)</i> ...sure thing, Lucy, can I grab the order number off your confirmation email?
<</say>>
<<say "char-bowen" "Lucy">>
<i>(reading it off the screen in pieces, the arch of her foot dragging slow up the underside of him, the voice climbing and breaking)</i> ...yes, it is, ...seven, four, ...//nngh//, ...four-two, ...sorry, sorry, bad line, ...two-six-one...
<</say>>
<<say "char-hivemind" "Hivemind">>
//A man is reading a returns number off a screen in a falsetto while his boss masturbates him with her feet under his own breakfast table, and the only thing he is allowed to care about is keeping his voice level enough that the bored woman on the line does not notice. Three humiliations stacked into one phone call, and he is holding all of them at once. He is doing beautifully. He is also about to lose.//
<</say>>
<<say "char-npc" "the rep">>
<i>(oblivious)</i> ...got it, and the attachment was the wrong size? I can ship the right one today and reverse the duplicate charge, that lands back on your card in three to five days...
<</say>>
<<say "char-bowen" "Lucy">>
<i>(losing it, the words coming apart)</i> ...yes, that is, that is //per//, that is perfect, thank you, that is great, ...oh, ...oh no, ...//mmh//, ...so helpful, ...//hh-hhn//...
<</say>>
<p>He comes right there at the table with the phone still to his ear, into the cotton and over the tops of her feet, his whole body locking and a sound strangling out of him that he turns into a cough at the last possible second, and Elena does not stop her feet, works him through every twitch while he white-knuckles the phone and somehow lands the end of the call.</p>
<video class="scene-video" src="media/video/clubnight-lucy-footjob.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-footjob.webp"></video>
<<say "char-bowen" "Lucy">>
<i>(wrecked, breathless, heroically impersonating a woman confirming a delivery window)</i> ...yes, three to five days is completely fine, thank you so much, you have been, ...so helpful, ...okay, ...bye. ...bye.
<</say>>
<<say "char-chen" "Elena">>
<i>(drawing her feet back out of his lap, looking at the mess on them, then at him, unimpressed)</i> ...well. The refund is sorted, so that is one of us who got something done. ...you lasted about ninety seconds of a four-minute call, Lucy. I did not say finish. I said keep talking. ...and now look at the state of my feet.
<</say>>
<<say "char-bowen" "Lucy">>
<i>(coming down, mortified, the apology immediate)</i> ...I'm sorry, ...I couldn't hold it, I tried, I'm sorry, ...what do you want me to do?
<</say>>
<<say "char-chen" "Elena">>
<i>(propping both cum-streaked feet up on the chair seat between his knees, perfectly calm)</i> ...you clean up after yourself, sweetheart, the way a good girl does. You made the mess, you take it off. ...go on. Tongue. And do not miss any.
<</say>>
<p>And Lucy bends down over Elena's feet on the kitchen chair and licks them clean of his own cum, slow and thorough and pink to the ears, between the toes and along the arches, while Elena drinks her cold coffee and watches over the rim of the mug, until the feet are clean and shining and his face is wet and whatever was left of his pride is somewhere on the floor with the rest of breakfast.</p>
<<say "char-hivemind" "Hivemind">>
//Order sorted, mess cleaned, and the only one who paid for any of it is the one who got off, because getting off was the failure. She has taught him that his own finish is a thing he loses points for, that the win is endurance and service, and that the cleanup is always his. He will try harder to last next time, and the trying is the whole of what I am growing in him. ...the refund posts in three to five days.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, a phone call survived and a lesson in lasting failed.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wipe his chin, get on with the day|Ch2-Vessel-Loop-Wake]]</div><<if ($ch2Events.bowenHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-CoffeeAndLaptop-Bowen">><<elseif ($ch2Events.lucyHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-CoffeeAndLaptop-Lucy">><<else>>
<<nobr>>
<<set _kitchenDone to ($vesselMods and $vesselMods.kitchen and ($vesselMods.kitchen.ashtrayProgress or 0) gte 3 and ($vesselMods.kitchen.sinkProgress or 0) gte 3 and ($vesselMods.kitchen.stoveProgress or 0) gte 3)>>
<<if _kitchenDone>><<bg "bg-chen-kitchen-clean">><<else>><<bg "bg-chen-kitchen">><</if>>
<<run setup.markEventFired('morning-coffee-and-laptop', $day or 0)>>
<<set _ash to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.ashtrayProgress) or 0>>
<<set _smoking to (_ash lt 2)>>
<<addBiomass 2 "repeatable">><</nobr>>
<div class="passage-title">Coffee, breakfast, the morning's email</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Table</div>
<p>The kettle climbs through its tones, the coffee filter does its slow black-water work, and Elena sits at the kitchen table with the laptop already open and her mug warming her right hand. The inbox has the usual overnight pile, a meeting reschedule from Nathan, a budget query from procurement, a journal-rejection on the manuscript she submitted before all this started.</p>
<<if _smoking>>
<img class="scene-img" src="media/scenes/vessel/morning-coffee-laptop-smoking.webp" alt="Elena at her cluttered kitchen table early morning, plain grey t-shirt half-tucked, laptop open in front of her, right hand on a steaming coffee mug and left hand holding a lit cigarette with smoke drifting up, kitchen window cracked open behind her, scattered breakfast remnants on the table, crackers, takeout noodles, yogurt">
<p>She lights a cigarette with the first sip and cracks the window above the sink open six inches with her free hand, the apartment has been close all night and she likes the cold air on the back of her neck while she's coming awake. Two drags, a sip, two more drags. The smoke goes out the window in a slow horizontal ribbon.</p>
<<else>>
<img class="scene-img" src="media/scenes/vessel/morning-coffee-laptop-noSmoking.webp" alt="Elena at her cluttered kitchen table early morning, plain grey t-shirt half-tucked, laptop open in front of her, both hands cradling a steaming coffee mug, no cigarette anywhere, kitchen window closed, scattered breakfast remnants on the table, crackers, takeout noodles, yogurt">
<</if>>
<p>Breakfast is whatever the fridge surrendered without negotiation, half a sleeve of plain crackers from the cupboard, a fork-stab of cold leftover noodles eaten standing up out of the takeout container, two bites of yogurt that's a few days past the date stamp but has not actually turned. Elena eats while reading, eyes on the screen, mouth on autopilot.</p>
<<say "char-chen-thought" "Elena">>
<i>(scrolling the inbox half-attention, fork still in the noodles)</i> ...Nathan rescheduled the meeting again, fine, that's fine, and procurement has a budget question I can answer in three lines on the drive in, and the journal rejection on the manuscript was expected because the reviewer was always going to push back on the methodology section anyway, so nothing else is on fire and the only thing on the morning is coffee, then the rest of the day.
<</say>>
<p>She archives most of the inbox without opening it. Marks two messages for after-coffee. The morning email is a wall she walks through to get to the day; the day starts when she stands up.</p>
<<say "char-chen-thought" "Elena">>
<i>(half-aware, taking the last bite of the yogurt with the side of the fork)</i> ...should probably actually buy real food this weekend, or this evening if I get out of the lab early enough to stop at the corner store, since the fridge has been on a slow downward slope for a while now and at some point that has to stop being something I am ignoring instead of fixing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just consumed: forty millilitres of black coffee, eighteen grams of plain refined carbohydrate, a smear of cultured dairy past its prime, the residual oils of yesterday's takeout sauce<<if _smoking>>, and the standard tar-and-nicotine cocktail of one filtered cigarette<</if>>. The macronutrient distribution is approximately: protein near-zero, fat low, carbohydrate adequate-but-empty, micronutrient deficit moderate-to-severe across the B-vitamins and the iron column. The host is running her body on coffee, paper-grade carbohydrate, and yesterday's sodium. The biomass yield I extract from her metabolism reflects the input, usable, but lean. A real breakfast would yield measurably more. A real //week// of breakfasts would multiply that.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span>, basal metabolic extraction from the morning's intake, such as it is.</p>
/* Lensr social-media setup NUDGE — available once the vanity dream-edit
has fully landed (vanityProgress 3, the host is maintaining her face
again) and only until the account exists. */
<<if ($vesselMods and $vesselMods.bedroom and ($vesselMods.bedroom.vanityProgress or 0) gte 3) and not $ch2Events.socialMediaSetup>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the thought, put the new face somewhere people can see it (1 biomass)" "Ch2-Vessel-Event-SocialMediaSetup" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Put the new face somewhere people can see it <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to morning|Ch2-Vessel-Loop-Wake]]</div>
<</if>><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Kitchen Table">>
<<if not $ch2Events.socialMediaSetup>>
<<spendBiomass 1 "social-media-setup">>
<<set $ch2Events.socialMediaSetup to true>>
<<if not $lensr>><<set $lensr to { followers: [], postCount: 0 }>><</if>>
<<set $lensr.followers to ["Sofia", "Daniel"]>>
<<set $lensr.postCount to 4>>
<</if>><</nobr>>
<div class="passage-title">Lensr</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen Table</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction set down under the host's own next idle scroll. She has spent the morning at the mirror again; the surface is maintained now, daily, and a maintained surface that nobody looks at is wasted maintenance. //Put it somewhere people can see it.// The thought arrives wearing her own handwriting.//
<</say>>
<p>It is the kind of thing she keeps half-deciding to do and never does. Elena opens the app store with her coffee going cold, picks the photo-sharing one with the clean logo, and makes the account before the part of her that talks her out of things has finished waking up.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the kitchen table, the app's sign-up screen open)</i> ...Sofia has been telling me to do this for years. The same line every few months, you should have a profile, you should be findable, you should leave a trace somewhere that is not a lab notebook, and every single time I have said no, I am not a profile person, and meant it. And here I am making the account anyway, and I genuinely could not tell you what is different about this morning.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(thumb hovering over the camera roll)</i> ...real name, at least. No pseudonym, no locked account, that is more performance than just being a person. Elena Chen, a face, a few photos that are not embarrassing. Sofia is going to be unbearable about it.
<</say>>
<p>She writes a bio in the small box, deletes it, writes a shorter one, leaves it. She goes through her camera roll for the photos that are not lab equipment or grey takeout, and finds, to her small surprise, that the past while has produced a few she does not mind, a casual one in a good t-shirt, one from a walk in the park in a sundress she forgot she owned, a couple of others. Four photos. She uploads them without overthinking it, because overthinking it is how this never happens.</p>
<p>Then the friends. The app wants her to add people. She adds the two it does not feel strange to add, Sofia instantly, and Daniel from across the hall after a three-second pause she does not examine.</p>
<<say "char-hivemind" "Hivemind">>
//Done. The host has a curated surface with an audience attached now, and the audience is the part that matters. A face she maintains in private is a habit; a face she maintains in front of watchers is a feedback loop, and a feedback loop is a thing I can put my hand on. Today the loop is vanilla, four clothed photographs and a dry line of bio. But the account is a channel, and channels carry whatever I decide to send down them. Sofia and Daniel are the first two nodes on it.//
<</say>>
<p><span class="delve-intel">Lensr account created. Reachable from home, mornings and evenings.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Lensr">>
<<set _ret to $ch2Events.socialMediaReturn or "Ch2-Vessel-Loop-Wake">>
/* The feed's Close-the-app is the only exit from the whole Lensr app, so its
target must never be a Lensr passage. If socialMediaReturn ever got polluted
with one (e.g. a DM entry that set it wrong), heal it to the right hub here. */
<<if _ret.indexOf("SocialMedia") gte 0>>
<<set _ret to "Ch2-Vessel-Loop-Wake">>
<<if $vessel and $vessel.phase is "home">><<set _ret to "Ch2-Vessel-Loop-Home">><</if>>
<<set $ch2Events.socialMediaReturn to _ret>>
<</if>>
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<</nobr>>
<div class="passage-title">Lensr</div>
<div class="lab-location">Elena's phone, the photo-sharing app</div>
<div class="lensr">
<div class="lensr-bar">Lensr</div>
<div class="lensr-profile">
<div class="lensr-name">Elena Chen</div>
<div class="lensr-handle">@elena.chen</div>
<div class="lensr-bio">Molecular biologist. Documenting the coffee, the canal path, and the occasional good light. Recently remembered I have a face.</div>
<div class="lensr-stats"><<= $lensr.postCount>> posts · <<= $lensr.followers.length>> followers</div>
</div>
<div class="lensr-tabs">
<div class="lensr-tab lensr-tab-active">Posts</div>
<div class="lensr-tab"><<link "Followers">><<goto "Ch2-Vessel-SocialMedia-Followers">><</link>></div>
<div class="lensr-tab"><<link "DMs">><<goto "Ch2-Vessel-SocialMedia-DMs">><</link>></div>
</div>
/* Lensr D&D-night post NUDGE — top of the feed, inside the card, appears
once D&D session 2 is recorded, until the post is made. */
<<if $ch2Events.dndS2OutcomeRecorded and not $ch2Events.lensrDndPosted>>
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Put the D&D session on the feed (1 biomass)" "Ch2-Vessel-Event-LensrDndPost" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Put the D&D session on the feed <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
/* Fantasize-about-cocks moved to the evening home hub (day-keyed,
repeatable). The Lensr feed only surfaces the dick-pic threads
themselves now. See monday-evening.twee for the evening-hub gate. */
/* D&D-post private message — red alert button in the feed while unseen.
Once read it disappears from the feed entirely; the thread stays
reachable from the DMs tab. */
<<if $ch2Events.lensrDndPosted and not $ch2Events.lensrDmSeen>>
<<if $ch2Events.dndS2Outcome is "girlfriend">>
<div class="lensr-dm-alert"><<link "📩 New message from Daniel">><<goto "Ch2-Vessel-Event-LensrDM-Daniel">><</link>></div>
<<elseif $ch2Events.dndS2Outcome is "slut">>
<div class="lensr-dm-alert"><<link "📩 New message from Bryan">><<goto "Ch2-Vessel-Event-LensrDM-Bryan">><</link>></div>
<</if>>
<</if>>
/* Mike DM alert — fires after the S3 slut-route session. The verbose scholar
wants to keep a roleplay scene running over text; it does not stay craft. */
<<if $ch2Events.dndS3SlutEverFired and not $ch2Events.mikeLensrDmSeen>>
<div class="lensr-dm-alert"><<link "📩 New message from Mike">><<goto "Ch2-Vessel-Event-LensrDM-Mike">><</link>></div>
<</if>>
/* Marcus DM alert — also fires after the S3 slut-route session, mirroring the
Mike thread. The half-orc player surfaces buzzing from being the one she
chose; the thread ends with a secret kept from his girlfriend. */
<<if $ch2Events.dndS3SlutEverFired and not $ch2Events.marcusLensrDmSeen>>
<div class="lensr-dm-alert"><<link "📩 New message from Marcus">><<goto "Ch2-Vessel-Event-LensrDM-Marcus">><</link>></div>
<</if>>
/* No Daniel DM on the slut path — Daniel only opens a thread on the girlfriend
(Killer Vex) outcome, handled by the S2 block above. On slut the neighbour
stays out of her messages; the slut-route DMs are Bryan (S2) + Mike + Marcus. */
/* Bowen DM alert — fires after the revealing-post lands. Bowen finds the
account on the suggested-follows tab and messages Elena, careful and
over-apologetic. The thread is reachable from the DMs tab once read. */
<<if $ch2Events.lensrRevealingPosted and not $ch2Events.bowenLensrDmSeen>>
<div class="lensr-dm-alert"><<link "📩 New message from Bowen">><<goto "Ch2-Vessel-Event-LensrDM-Bowen">><</link>></div>
<</if>>
/* Bowen Relay DM alerts — fire the morning after a Bowen Relay Dream Walk
has landed. Each variant fires once per type: feminize edit → fem DM
confessing the strange dreams; takeback edit → alpha DM. Switching the
variant later fires the OTHER variant once; further switches do not
re-trigger. The follow-up DMs fire one day later (gate via the *Day
flag set when the parent DM was viewed). */
<<if $ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired>>
<div class="lensr-dm-alert"><<link "📩 New message from Bowen">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Fem">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayFeminize and $ch2Events.bowenLensrFemDmFired and not $ch2Events.bowenLensrFemDm2Fired and ($ch2Events.bowenLensrFemDm1Day or 0) lt ($day or 0)>>
<div class="lensr-dm-alert"><<link "📩 New message from Bowen">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-FemFollow">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired>>
<div class="lensr-dm-alert"><<link "📩 New message from Bowen">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Alpha">><</link>></div>
<</if>>
<<if $ch2Events.bowenRelayTakeBack and $ch2Events.bowenLensrAlphaDmFired and not $ch2Events.bowenLensrAlphaDm2Fired and ($ch2Events.bowenLensrAlphaDm1Day or 0) lt ($day or 0)>>
<div class="lensr-dm-alert"><<link "📩 New message from Bowen">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-AlphaFollow">><</link>></div>
<</if>>
/* Fed-table Estrus DM alerts — surface the evening of the lunch vent.
Reyes lands first; Park lands second (married-junior delay). */
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired>>
<div class="lensr-dm-alert"><<link "📩 New message from Reyes">><<goto "Ch2-Vessel-Event-LensrDM-Reyes-Estrus">><</link>></div>
<</if>>
<<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired>>
<div class="lensr-dm-alert"><<link "📩 New message from Park">><<goto "Ch2-Vessel-Event-LensrDM-Park-Estrus">><</link>></div>
<</if>>
/* Posts, newest first. The bolder mirror-selfie sits at the top once the
revealing-post nudge has fired; D&D post below it; the four account-
setup photos follow, newest to oldest. */
<<if $ch2Events.lensrRevealingPosted>>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/lensr-revealing-post.webp" alt="Mirror selfie, Elena in a fitted black slip dress in her bedroom, phone held at chest height, soft morning light through the curtain, the clothing rail visible in the mirror behind her">
<div class="lensr-caption">morning light through the curtain. renewed wardrobe situation. apparently I post these now.</div>
<div class="lensr-comments">
<div class="lensr-comment"><b>Sofia</b> ELENA. EXCUSE ME?? who is this woman and where is the woman I had lunch with the other day. I am calling you the second I'm out of this meeting.</div>
<div class="lensr-comment"><b>Daniel</b> ...the light in your bedroom is really something.</div>
<div class="lensr-comment"><b>Bowen</b> ...Dr. Chen this is, sorry, the photo is really nice, the natural light in your apartment is great, sorry, I should not, sorry, it is a really good photo.</div>
</div>
</div>
<</if>>
<<if $ch2Events.lensrDndPosted>>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-dnd.webp" alt="Elena leaning over a lamplit game table at D&D night, smiling, holding up a small painted miniature of a leather-clad rogue, dice and a battle map and a glass of beer around it, a warm candid phone snapshot">
<div class="lensr-caption">apparently I play Dungeons and Dragons now. this is Vex. she is a worse person than me and I am having an extremely good time. @bryan @mike @marcus @daniel</div>
<div class="lensr-comments">
<div class="lensr-comment"><b>Bryan</b> A natural. Same time next week, the symbol pays off. (Also, yes, I framed it.)</div>
<div class="lensr-comment"><b>Marcus</b> VEX SUPREMACY. you painted that mini cleaner than the rest of us managed in two sessions, frankly rude</div>
<div class="lensr-comment"><b>Sofia</b> i'm sorry you play WHAT now?? Elena. ELENA. you are calling me tonight.</div>
</div>
</div>
<</if>>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-4.webp" alt="Elena in a casual candid photo, warm light, relaxed expression">
<div class="lensr-caption">the lab lets us out occasionally. proof.</div>
</div>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-3.webp" alt="Elena in a casual relaxed portrait, soft natural light, an easy unposed photo">
<div class="lensr-caption">saturday. got nothing productive done. cautiously recommend.</div>
</div>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-2.webp" alt="Elena in a light sundress on the canal path, morning light through the trees, an unhurried outdoor photo">
<div class="lensr-caption">found a sundress I forgot I owned. the canal path in the good light.</div>
<div class="lensr-comments">
<div class="lensr-comment"><b>Sofia</b> ELENA. who is this and what have you done with the woman who lives in a lab coat. I am so proud of you. framing this.</div>
<div class="lensr-comment"><b>Daniel</b> That is a great photo. The light on that stretch of the canal really is something in the morning.</div>
</div>
</div>
/* The feed shows the newest 5 posts inline. socialmedia-1 (the very
first account-setup post) is the oldest and moves into the hidden
#lensr-older overflow div whenever $lensr.postCount > 5 — currently
that fires once both Revealing + DnD posts have landed (postCount
climbs from 4 to 6). The Load-more link reveals the overflow div.
When future posts get added, push them into #lensr-older too in
newest-first order. */
<<if $lensr.postCount gt 5>>
<div id="lensr-older" style="display:none">
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-1.webp" alt="Elena in a soft casual t-shirt at home, relaxed and unposed, warm indoor light, a small candid self-portrait">
<div class="lensr-caption">first one of these. apparently this is a thing I do now.</div>
</div>
</div>
<div class="lensr-loadmore" id="lensr-loadmore"><<link "Load more posts">><<run $('#lensr-older').show(); $('#lensr-loadmore').hide();>><</link>></div>
<<else>>
<div class="lensr-post">
<img class="scene-img" src="media/scenes/vessel/socialmedia-1.webp" alt="Elena in a soft casual t-shirt at home, relaxed and unposed, warm indoor light, a small candid self-portrait">
<div class="lensr-caption">first one of these. apparently this is a thing I do now.</div>
</div>
<</if>>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Close the app">><<goto _ret>><</link>></div>
<<modSlots "lensr-feed">><<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Lensr, followers">>
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<</nobr>>
<div class="passage-title">Lensr</div>
<div class="lab-location">Elena's phone, the photo-sharing app</div>
<div class="lensr">
<div class="lensr-bar">Lensr</div>
<div class="lensr-profile">
<div class="lensr-name">Elena Chen</div>
<div class="lensr-handle">@elena.chen</div>
<div class="lensr-bio">Molecular biologist. Documenting the coffee, the canal path, and the occasional good light. Recently remembered I have a face.</div>
<div class="lensr-stats"><<= $lensr.postCount>> posts · <<= $lensr.followers.length>> followers</div>
</div>
<div class="lensr-tabs">
<div class="lensr-tab"><<link "Posts">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<div class="lensr-tab lensr-tab-active">Followers</div>
<div class="lensr-tab"><<link "DMs">><<goto "Ch2-Vessel-SocialMedia-DMs">><</link>></div>
</div>
<<if $lensr.followers.length gt 0>>
<<for _f range $lensr.followers>>
<div class="lensr-follower"><<= _f>></div>
<</for>>
<<else>>
<div class="lensr-follower">No followers yet.</div>
<</if>>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to the feed">><<goto "Ch2-Vessel-SocialMedia">><</link>></div><<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Lensr, messages">>
<<if not $lensr>><<set $lensr to { followers: ["Sofia", "Daniel"], postCount: 4 }>><</if>>
<</nobr>>
<div class="passage-title">Lensr</div>
<div class="lab-location">Elena's phone, the photo-sharing app</div>
<div class="lensr">
<div class="lensr-bar">Lensr</div>
<div class="lensr-profile">
<div class="lensr-name">Elena Chen</div>
<div class="lensr-handle">@elena.chen</div>
<div class="lensr-bio">Molecular biologist. Documenting the coffee, the canal path, and the occasional good light. Recently remembered I have a face.</div>
<div class="lensr-stats"><<= $lensr.postCount>> posts · <<= $lensr.followers.length>> followers</div>
</div>
<div class="lensr-tabs">
<div class="lensr-tab"><<link "Posts">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
<div class="lensr-tab"><<link "Followers">><<goto "Ch2-Vessel-SocialMedia-Followers">><</link>></div>
<div class="lensr-tab lensr-tab-active">DMs</div>
</div>
<<set _hasAnyDm to ($ch2Events.lensrDndPosted and ($ch2Events.dndS2Outcome is "slut" or $ch2Events.dndS2Outcome is "girlfriend")) or $ch2Events.bowenLensrDmSeen or $ch2Events.lensrRevealingPosted or $ch2Events.bowenLensrFemDmEverSeen or $ch2Events.bowenLensrFemDm2EverSeen or $ch2Events.bowenLensrAlphaDmEverSeen or $ch2Events.bowenLensrAlphaDm2EverSeen or ($ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired) or ($ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired) or $ch2Events.fedtableEstrusReyesDmEverSeen or $ch2Events.fedtableEstrusParkDmEverSeen or ($ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired) or ($ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired) or $ch2Events.dndS3SlutEverFired>>
<<if _hasAnyDm>>
<<if $ch2Events.lensrDndPosted and $ch2Events.dndS2Outcome is "slut">>
<div class="lensr-thread"><<link "Bryan">><<goto "Ch2-Vessel-Event-LensrDM-Bryan">><</link>><<if not $ch2Events.lensrDmSeen>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">BryanTheMightyDM</div>
</div>
<<elseif $ch2Events.lensrDndPosted and $ch2Events.dndS2Outcome is "girlfriend">>
<div class="lensr-thread"><<link "Daniel">><<goto "Ch2-Vessel-Event-LensrDM-Daniel">><</link>><<if not $ch2Events.lensrDmSeen>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">daniel.adrik</div>
</div>
<</if>>
<<if $ch2Events.dndS3SlutEverFired>>
<div class="lensr-thread"><<link "Mike">><<goto "Ch2-Vessel-Event-LensrDM-Mike">><</link>><<if not $ch2Events.mikeLensrDmSeen>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">mike.exe — keep the scene running?</div>
</div>
<</if>>
<<if $ch2Events.dndS3SlutEverFired>>
<div class="lensr-thread"><<link "Marcus">><<goto "Ch2-Vessel-Event-LensrDM-Marcus">><</link>><<if not $ch2Events.marcusLensrDmSeen>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">BORR_SMASH — about the session</div>
</div>
<</if>>
<<if $ch2Events.lensrRevealingPosted>>
<div class="lensr-thread"><<link "Bowen: the photo">><<goto "Ch2-Vessel-Event-LensrDM-Bowen">><</link>><<if not $ch2Events.bowenLensrDmSeen>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">tom.bowen — the night of the revealing post</div>
</div>
<</if>>
<<if $ch2Events.bowenLensrFemDmEverSeen or ($ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired)>>
<div class="lensr-thread"><<link "Bowen: the dreams">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Fem">><</link>><<if $ch2Events.bowenRelayFeminize and not $ch2Events.bowenLensrFemDmFired>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">tom.bowen — the wig assignment</div>
</div>
<</if>>
<<if $ch2Events.bowenLensrFemDm2EverSeen or ($ch2Events.bowenRelayFeminize and $ch2Events.bowenLensrFemDmFired and not $ch2Events.bowenLensrFemDm2Fired and ($ch2Events.bowenLensrFemDm1Day or 0) lt ($day or 0))>>
<div class="lensr-thread"><<link "Bowen: the photo he sent">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-FemFollow">><</link>><<if $ch2Events.bowenRelayFeminize and $ch2Events.bowenLensrFemDmFired and not $ch2Events.bowenLensrFemDm2Fired and ($ch2Events.bowenLensrFemDm1Day or 0) lt ($day or 0)>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">tom.bowen — the mirror selfie</div>
</div>
<</if>>
<<if $ch2Events.bowenLensrAlphaDmEverSeen or ($ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired)>>
<div class="lensr-thread"><<link "Bowen: your week">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-Alpha">><</link>><<if $ch2Events.bowenRelayTakeBack and not $ch2Events.bowenLensrAlphaDmFired>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">tom.bowen — he says he knows what fixes it</div>
</div>
<</if>>
<<if $ch2Events.bowenLensrAlphaDm2EverSeen or ($ch2Events.bowenRelayTakeBack and $ch2Events.bowenLensrAlphaDmFired and not $ch2Events.bowenLensrAlphaDm2Fired and ($ch2Events.bowenLensrAlphaDm1Day or 0) lt ($day or 0))>>
<div class="lensr-thread"><<link "Bowen: the morning after">><<goto "Ch2-Vessel-Event-LensrDM-Bowen-AlphaFollow">><</link>><<if $ch2Events.bowenRelayTakeBack and $ch2Events.bowenLensrAlphaDmFired and not $ch2Events.bowenLensrAlphaDm2Fired and ($ch2Events.bowenLensrAlphaDm1Day or 0) lt ($day or 0)>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">tom.bowen — I am waiting</div>
</div>
<</if>>
<<if $ch2Events.fedtableEstrusReyesDmEverSeen or ($ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired)>>
<<set _reyesThreadTarget to "Ch2-Vessel-Event-LensrDM-Reyes-Estrus">>
<<if $ch2Events.fedtableEstrusReyesSextDone>><<set _reyesThreadTarget to "Ch2-Vessel-Event-LensrDM-Reyes-Estrus-Sext">>
<<elseif $ch2Events.fedtableEstrusReyesDmDeclined>><<set _reyesThreadTarget to "Ch2-Vessel-Event-LensrDM-Reyes-Estrus-Decline">>
<</if>>
<div class="lensr-thread"><<link "Reyes: the cafeteria" _reyesThreadTarget>><</link>><<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusReyesDmFired>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">m.reyes.fed — apologies for the off-hours contact</div>
</div>
<</if>>
<<if $ch2Events.fedtableEstrusParkDmEverSeen or ($ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired)>>
<<set _parkThreadTarget to "Ch2-Vessel-Event-LensrDM-Park-Estrus">>
<<if $ch2Events.fedtableEstrusParkEscort>><<set _parkThreadTarget to "Ch2-Vessel-Event-LensrDM-Park-Estrus-Escort">>
<<elseif $ch2Events.fedtableEstrusParkDmDeclined>><<set _parkThreadTarget to "Ch2-Vessel-Event-LensrDM-Park-Estrus-Decline">>
<</if>>
<div class="lensr-thread"><<link "Park: the hotel bathroom" _parkThreadTarget>><</link>><<if $ch2Events.fedtableEstrus and not $ch2Events.fedtableEstrusParkDmFired>> <span class="lensr-thread-new">New</span><</if>>
<div class="lensr-thread-preview">j.park.fed — sorry, wrong channel</div>
</div>
<</if>>
<<else>>
<div class="lensr-follower">No messages yet.</div>
<</if>>
</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to the feed">><<goto "Ch2-Vessel-SocialMedia">><</link>></div>
/* weekend-sleep-in event removed, its wake-up content moved into the
weekday-aware scene-setter prose at the top of Ch2-Vessel-Loop-Wake. */
/* ---- MORNING RUN, joint run with Daniel ------------------------- */<<nobr>><<bg "bg-chen-hallway">>
<<set _noCount to $ch2Events.danielDnDNoCount or 0>>
<<set _hasLure to false>>
<<hasSkillTreeAbility "Pheromone Lure">>
<<if _hasAbility>><<set _hasLure to true>><</if>><</nobr>>
<div class="passage-title">In the hallway</div>
<div class="lab-location">Cedar Crescent Apartments, Third Floor Hallway</div>
<p>Elena pulls her apartment door shut behind her with a small white kitchen-bin bag in one hand and a glass recycling bottle in the other, ready to take the three flights down to the chute on the first floor. The door of three-oh-six opens at almost the same moment with Daniel doing approximately the same thing, bin bag of his own, a folded pizza box under his arm. The small accidental-coordination of two people who have lived across the hall from each other for long enough that their trash schedules have synced without anyone deciding they should.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-hallway-encounter.webp" alt="Two adults at the ground-floor trash chute of an apartment building, side by side mid-task with their bags, Elena in a long grey cardigan holding a small white kitchen-bin bag and a recycling bottle, Daniel beside her in a heather-grey crewneck holding his bag and a folded pizza box, half-turned toward her with a small hesitant half-smile mid-sentence">
<<say "char-daniel" "Daniel">>
<i>(half-startled by the timing, recovering with a small wave)</i> Oh, hey.
<</say>>
<<say "char-chen" "Elena">>
<i>(returning the half-wave, already half-turned toward the stairwell at the end of the hall)</i> Hey.
<</say>>
<p>They walk the few metres to the top of the stairs together without saying anything. Daniel hesitates a fraction of a second at the landing, the kind of pause where you can tell a sentence is half-loaded behind someone's teeth and they are not yet sure they're going to say it.</p>
<div id="daniel-dnd-default-flow">
<<say "char-daniel" "Daniel">>
<i>(half-lifting his hand at the top of the stairs the way someone lifts a hand to start a sentence, then losing the sentence)</i> Hey, uh, actually, I, you know what, never mind, sorry. After you. Have a good one.
<</say>>
<p>He waves her down the stairs ahead of him and then takes the first flight himself a few steps behind. By the time Elena reaches the chute on the first floor he is already heading back up to three-oh-six with empty hands. The whole exchange has taken under a minute.</p>
<<say "char-hivemind" "Hivemind">>
//A man trying to ask a question and failing to compose it in time. Whatever was on his mind has gone back into three-oh-six with him. The host has not registered the abortive ask as anything more than a half-greeting from a neighbour. The corridor wiring stays as it was.//
//If I push him a little, a half-strength confidence dose across the hall, he will find the words. The opportunity is right there.//
<</say>>
</div>
<<if _hasLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassLink "Push a low-band confidence compound across the hall, make him push through the ask (1 biomass)" "Ch2-Vessel-Event-DanielDnDAsk-Pheromone" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a confidence compound across the hall <span class="lock-hint">(Requires Pheromone Lure)</span></div>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Head down the stairs and back up, the moment is over|Ch2-Vessel-Event-DanielDnDAsk-Decline]]</div>
<<if _noCount gte 2>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SHUT IT DOWN</span> [["Daniel, whatever you keep almost-asking, I really don't have the bandwidth right now. Please stop."|Ch2-Vessel-Event-DanielDnDAsk-Lockout]]</div>
<p class="lock-hint" style="margin-left:1em;font-size:0.9em;opacity:0.7"><i>This permanently closes the Daniel chain. No further Daniel events will fire.</i></p>
<</if>>/* Pheromone-pushed branch of the Daniel D&D ask. Same hallway scene,
Daniel actually gets the question out, Elena's reply has the inline
tongueSlip embedded. Continue link routes to Accepted (slip fired)
or Decline (slip not clicked, counts as no). Same bg + same scene
image as the parent passage. */
<<nobr>><<bg "bg-chen-hallway">>
<<addConditioning "daniel" "pheromone" 1>><</nobr>>
<div class="passage-title">In the hallway, he finds the words</div>
<div class="lab-location">Cedar Crescent Apartments, Third Floor Landing</div>
<img class="scene-img" src="media/scenes/vessel/daniel-hallway-encounter.webp" alt="Two adults at the top of a third-floor apartment stairwell, both carrying trash bags, Elena in a long grey cardigan, Daniel in a heather-grey crewneck, the half-second of held attention that lets a hesitant question land">
<<say "char-hivemind" "Hivemind">>
//A half-strength confidence dose across the hall. He steadies, the half-lifted hand commits, the sentence loads, the stall fails to fire.//
<</say>>
<p>The small wash of warmth across his sternum lands. He pulls the half-loaded sentence the rest of the way out before he can second-guess it.</p>
<<say "char-daniel" "Daniel">>
<i>(the half-lifted hand committing to the gesture, his face steadier than it was a half-second ago)</i> Hey, actually, I've been meaning to ask you something. My D&D group lost a player a while back, and we're starting a new campaign soon. I'm down a fourth. I know it's a long shot, you have your own thing, but I figured I'd ask. Tuesday nights at my place, seven PM, character sheets and snacks. Bryan handles the schedule, he pings the group chat every Monday morning to lock in that week's session. Would you be up for it?
<</say>>
<<say "char-chen" "Elena">>
<i>(at the top of the stairs, hesitating just enough to feel the pause land, the answer she was about to give still half-assembling at the front of her mouth)</i> Oh, a regular slot. <<if not $ch2Events.danielDnDAccepted>><<tongueSlip "I'm afraid I can't" "I'd love to come" 0 "" "danielDnDAccepted" "#daniel-dnd-slip-payoff" "" "" "">><<else>><span class="tongue-slip-fired">I'd love to come</span><</if>>.
<</say>>
<div id="daniel-dnd-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.danielDnDAccepted ? '' : 'display:none'">
<<say "char-daniel" "Daniel">>
<i>(visibly delighted, the half-lifted hand finally landing in his pocket)</i> Oh, wow, great! Awesome. I'll add you to the group chat now. Bryan will ping it Monday morning to confirm the week's session, no need to bring anything, I'll provide the beers and snacks, we'll walk through your character sheet together with him before the first game. He's our game master.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(her own ears registering what just came out of her mouth, the small interior wait-what landing two seconds too late)</i> ...wait. Tuesdays are paper-deadline nights. I, did I just say I'd love to? I, okay. Okay, sure, fine. Tuesdays. D&D. Apparently. I will sort the paper deadlines out somehow.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A small slip. The host has just verbally committed to spending three hours every Tuesday night in the company of a man whose existence she has been filing under //building staff or other tenant// for months. The corridor has been promoted from background terrain to active social infrastructure. The next interaction will be measurably easier than this one was. The session will land on the schedule and the host will not cancel, because she would have to compose the cancellation sentence and her mouth will not produce it twice.//
<</say>>
<p><span class="biomass-gain">+1 Skill Point</span>, the slip landed cleanly. The host's decision-making routine is one notch more porous than it was a minute ago.</p>
</div>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Head down the stairs and back up, the moment is over">><<if $ch2Events.danielDnDAccepted>><<addSkillPoints 1 "danielDnDSlip">><<goto "Ch2-Vessel-Event-DanielDnDAsk-Accepted">><<else>><<goto "Ch2-Vessel-Event-DanielDnDAsk-Decline">><</if>><</link>></div><<nobr>><<bg "bg-chen-hallway">>
<<run setup.markEventFired('daniel-dnd-ask', $day or 0)>>
<<set $ch2Events.danielDnDNoCount to ($ch2Events.danielDnDNoCount or 0) + 1>>
<<set _noCount to $ch2Events.danielDnDNoCount>><</nobr>>
<div class="passage-title">"Have a good one"</div>
<div class="lab-location">Cedar Crescent Apartments, Third Floor Hallway</div>
<p>Whatever Daniel was almost-going-to-ask, he doesn't ask. Elena takes the three flights down, drops her bag in the chute, climbs back up. By the time she reaches her landing his door is already closed. The corridor is quiet.</p>
<<say "char-hivemind" "Hivemind">>
<<if _noCount is 1>>
//A door that almost opened and didn't. The man will be in the stairwell again, the building is small and the schedules sync, and he will try the ask a second time, with the same hesitation. The host has not registered tonight's abortive try as a missed opportunity, because nothing was overtly offered.//
<<elseif _noCount is 2>>
//Twice now. He has tried to compose the sentence twice, both times in the stairwell with a trash bag in his hand, both times failing to get past the //hey actually//. He is still at the version of his courage where the answer he is afraid of is //the silence after the question//. One more abortive attempt and he will either commit or stop.//
<<else>>
//Three half-asks. The man is at the limit of his self-managed disappointment. The host's cortex is starting to file him under //person who keeps being there// rather than //person across the hall//, the difference is small but important. If she keeps walking past the half-asks, he will eventually push through one of them; if she shuts the chain down she will keep the door closed for good. The next firing of this beat will offer her both options at the same time.//
<</if>>
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventDone('daniel-dnd-ask')>>
<<run setup.markEventFired('daniel-dnd-ask', $day or 0)>>
<<set $ch2Events.danielDnDAccepted to true>>
/* D&D sessions land on Tuesday nights, but every session — including
the first — is gated by Bryan's Monday-morning group-chat confirm
(Ch2-Vessel-Event-DanielDnDMondayConfirm). The accept does NOT pin
a specific session day; it just flips danielDnDAccepted true, and
the next Monday morning's Loop-Wake routes the player into Bryan's
ping. Set MondayConfirmedDay to today so the same-day Loop-Wake
re-render does not immediately fire the confirm event on the day
of acceptance (edge case if Elena accepts on a Monday morning). */
<<set $ch2Events.danielDnDMondayConfirmedDay to ($day or 0)>><</nobr>>
<div class="passage-title">Tuesday nights, seven PM</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment</div>
<p>Elena lets herself back into three-oh-five. Closes the door. Stands in the entryway with her hand still on the knob for a second longer than the act of closing-a-door strictly required. She has, somewhere in the last ninety seconds, acquired a standing Tuesday-night commitment to three strangers and a neighbour.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the kitchen sink now, washing her hands, the small upcoming-evening weight settling without quite asking permission)</i> ...okay. Tuesdays. Apparently. Bryan will ping the group chat on Monday morning, Daniel said, that is when I find out whether I have plans the next night. I will figure out what to wear in front of three strangers when the panic catches up to me. For now I will be the version of me that said yes, because the version of me that said yes apparently exists.
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]<<nobr>><<bg "bg-chen-hallway">>
<<run setup.markEventDone('daniel-dnd-ask')>>
<<run setup.markEventFired('daniel-dnd-ask', $day or 0)>>
<<set $ch2Events.danielDnDLockedOut to true>><</nobr>>
<div class="passage-title">Closed</div>
<div class="lab-location">Cedar Crescent Apartments, Third Floor Hallway</div>
<<say "char-daniel" "Daniel">>
<i>(face changing register in real-time, surprise, then a small wince of accepted rejection, then composure)</i> ...ah. Right, no, of course, I get it. I'm sorry, I should have read the first couple. I will... yeah. I won't bring it up again. Have a good week, Elena.
<</say>>
<p>He gives her a small flat smile, turns, and walks back to three-oh-six. The door clicks shut behind him. The corridor is suddenly very quiet.</p>
<<say "char-hivemind" "Hivemind">>
//Closed. The host has chosen the friction-cost of one awkward minute over the future cost of an unmanaged neighbour-shaped social vector. The man will not ask again, he is the kind who reads a hard no the first time it lands and adjusts his behaviour around it permanently. From this point forward the corridor is back-grounded; he is back in the //building staff or other tenant// drawer where he started.//
//I would have preferred the yes-route. The yes-route opened a recurring three-hour social block I could have built infrastructure inside. The lockout is not a failure, it is a closed door, and closed doors are stable conditions, but it is also a closed door, and there is no longer a re-opening surface here.//
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- MORNING SHOWER, daily reset, NUDGE fork ------------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, Monday late morning">>
<<set $vessel.phase to "home">>
<</nobr>>
<<set _dndFirstSession to ($ch2Events.danielDnDSessionCount or 0) is 0>>
<div class="passage-title"><<if _dndFirstSession>>Added to the chat<<else>>Bryan in the group chat<</if>></div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the phone on the nightstand</div>
<<if _dndFirstSession>>
<p>Elena surfaces a long way past any alarm, the bedroom full of the flat bright light that means the morning is already over, and the phone on the nightstand has the small steady pulse of a notification stack that has been sitting for an hour waiting for her to come to. She props herself up against the headboard, thumbs the screen open, and finds a group-chat invite at the top of the stack, a new thread she has never seen before, four other names and her own added thirty-six minutes ago.</p>
<<else>>
<p>Elena surfaces a long way past any alarm, the bedroom full of the flat bright light that means the morning is already over, and the phone on the nightstand has the small steady pulse of a notification stack that has been sitting for an hour waiting for her to come to. She props herself up against the headboard and thumbs the thread open.</p>
<</if>>
<div class="chatlog">
<div class="chatlog-header">D&D, Bryan's Table</div>
<<if _dndFirstSession>>
<div class="chat-system">Daniel added Elena to the chat.</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">team, this is elena, she's joining for session zero tomorrow. elena, the loud one is bryan (our DM), the spreadsheet is mike, marcus is the chaos. say hi when you see this</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">morning elena. welcome aboard. session zero tomorrow at daniel's, seven, character sheets and snacks covered. we'll walk you through the sheet on arrival, no homework required. confirm?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Marcus</div>
<div class="chat-bubble">hi elena, in 👍</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Mike</div>
<div class="chat-bubble">in. elena, when you arrive bryan will walk you through your sheet but if you want to read ahead the players handbook is on archive.org and the part that will help most for session zero is pages 11 through 24, the rest you can skim</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">door's open seven, snacks covered. elena bring nothing, ill have it sorted</div>
</div>
<<else>>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">morning team. session tomorrow at daniel's, usual seven. confirm?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Marcus</div>
<div class="chat-bubble">in 👍</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Mike</div>
<div class="chat-bubble">in. quick note before we play, i went back through my notes from last session and i think we are misapplying half-cover when the line of effect crosses two squares, i can pull up the actual text on page 196 if anyone wants to read it but bryan, i think it has been costing us hits</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Marcus</div>
<div class="chat-bubble">it is too early for cover rules mike</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">door's open seven, snacks covered</div>
</div>
<</if>>
</div>
<<if _dndFirstSession>>
<<say "char-chen-thought" "Elena">>
<i>(thumb still on the screen, the slow-morning weight of having to compose a first message before coffee)</i> ...okay. Three strangers and Daniel, and I am, apparently, the new player. I need to say something other than //thanks for adding me// because //thanks for adding me// makes me sound forty-five. I will think of the something on the way to the kitchen.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(thumb still on the screen, the slow-morning weight of having to make a decision before coffee)</i> ...okay. Tomorrow. Three strangers and Daniel and whatever Mike's spreadsheet has rolled into the week, and I have to answer before Bryan starts pinging me directly, he is the kind who pings.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//The weekly confirmation. The table runs on consent renewed every Monday.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONFIRM</span> [[Reply "in", session is on for tomorrow|Ch2-Vessel-Event-DanielDnDScheduleNext]]</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">DECLINE</span> [[Reply "can't this week", reschedule for next Tuesday|Ch2-Vessel-Event-DanielDnDDecline]]</div>
/* ---- D&D SCHEDULE NEXT SESSION, the CONFIRM destination ----
Reached from MondayConfirm's CONFIRM choice. Books Tuesday (tomorrow)
so the dispatcher renders the D&D evening card the next day. */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $ch2Events.danielDnDMondayConfirmedDay to ($day or 0)>>
<<set $ch2Events.danielDnDDay to ($day or 0) + 1>>
<<set $ch2Events.danielDnDFired to false>>
<<set _dndFirstSession to ($ch2Events.danielDnDSessionCount or 0) is 0>>
<</nobr>>
<div class="passage-title">Tomorrow, seven PM</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, replying to the group chat</div>
<p>Elena thumbs her reply into the thread and hits send before the version of her that backs out of plans can compose an excuse.</p>
<div class="chatlog">
<div class="chatlog-header">D&D, Bryan's Table</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">in. seven at daniel's.</div>
<div class="chat-reaction">👍 Bryan</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">cool. bring your sheet, bring snacks if you feel like it but you do not have to.</div>
</div>
<<if _dndFirstSession>>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Mike</div>
<div class="chat-bubble">elena heads up, session zero means we are mostly building characters and walking through the first encounter, you do not need to know anything coming in, bryan will scaffold</div>
</div>
<<else>>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Mike</div>
<div class="chat-bubble">elena while i have you, your initiative score has been one round behind every fight, if you swap a point from int into dex you fix the disadvantage and you do not actually lose anything load-bearing on your spell list because at level 3 your save DC is</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Marcus</div>
<div class="chat-bubble">mike. she just woke up.</div>
</div>
<</if>>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">see you tomorrow elena</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(phone going back face-down on the duvet)</i> ...okay. Tomorrow. I confirmed before I had time to talk myself out of it, which I am going to count as a quietly nice thing and not interrogate further.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Confirmed. Three hours tomorrow night inside a structured social block where four men address the character the host plays instead of the host herself. The frame holds.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Lock the phone, get out of bed|Ch2-Vessel-Loop-Wake]]</div>
/* ---- D&D DECLINE, the DECLINE destination ----
Reached from MondayConfirm's DECLINE choice. Leaves danielDnDDay
alone (it points at the last session that fired, so no D&D card
renders this Tuesday). Bryan re-asks next Monday. */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $ch2Events.danielDnDMondayConfirmedDay to ($day or 0)>>
<</nobr>>
<div class="passage-title">Not this week</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, replying to the group chat</div>
<p>Elena thumbs her reply into the thread, leans the phone face-down on the duvet, and decides not to relitigate the decision while the screen is still warm.</p>
<div class="chatlog">
<div class="chatlog-header">D&D, Bryan's Table</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">can't this week, sorry. catch you next tuesday?</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">no worries. we'll pause the campaign and run a one-shot tomorrow, easier than dragging the party forward with you out. same time next tuesday?</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">next tuesday works.</div>
<div class="chat-reaction">👍 Bryan</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Marcus</div>
<div class="chat-bubble">a one-shot 👀 bryan you have been sitting on something</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Bryan</div>
<div class="chat-bubble">maybe.</div>
</div>
</div>
<<say "char-chen-thought" "Elena">>
<i>(thumb already pulling back from the screen)</i> ...okay. Not this week, no apology beyond the one I already typed, the group runs without me one Tuesday and the world stays standing. The version of me that says no to things is still novel enough that I am going to let it land and not undo it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Declined. The Tuesday goes quiet for one week. The table reconvenes without the host. The confirmation cycle returns next Monday.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Lock the phone, get out of bed|Ch2-Vessel-Loop-Wake]]</div>
/* ---- MORNING RUN, Nudge, +1 SP, costs 5 biomass total ----- */
/* The Nudge proper costs 1 biomass; the run consumes 4 extra on top.
Single spendBiomass call here for atomicity (under-funded clicks
abort cleanly via requireBiomass guard at the top of the destination).
When a nudge-discount mechanic lands, the 1-portion can be wrapped;
the 4-portion is the run's intrinsic body cost and should not discount.
FIRST-RUN vs SUBSEQUENT-RUN ROUTING (TODO):
The current passage Ch2-Vessel-Event-MorningRun is the FIRST-time
framing, Daniel hallway intro, canal-path discovery, "the body has
not done this in years" register. Sets $ch2Events.morningRunFirstDone
on entry. When the subsequent-run passage (Ch2-Vessel-Event-MorningRun-2)
is implemented, route this event via either (a) a wrapper passage that
branches on the flag, or (b) two separate event registrations with
complementary prereq checks (firstDone false → first-run, firstDone
true → subsequent-run). Subsequent-run scope per user: tongue slip to
invite Daniel to run with her, skill checks during the run, etc. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment doorway">>
<<run setup.markEventFired('morning-daniel-bell-ring', $day or 0)>>
<<set $ch2Events.danielBellRingDone to true>>
<<set $ch2Events.danielBellRingDay to ($day or 0)>>
<</nobr>>
<div class="passage-title">The bell, before coffee</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's apartment, the front door</div>
<<say "char-hivemind" "Hivemind">>
//The implant has been holding for two sleeps. The waking version of Daniel has been finding small reasons to look at his own front door for the last forty-eight hours, and this morning he has stopped looking and started acting. The pretext is half-rehearsed in his head and the rest is being assembled on the doormat as the bell rings.//
<</say>>
<p>Six-fifty in the morning. Elena is at the kitchen counter in pyjama bottoms and a long t-shirt, the coffee filter running slow, her hair still on the wrong side of an actual brushing, when the bell rings. Not the building intercom. The apartment door bell. Someone is on the third-floor corridor, standing in front of her actual door, at six-fifty in the morning.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, eyes briefly to the door)</i> ...the building is on fire, the building is on fire, it has to be the building. ...okay, no smoke alarm. Who.
<</say>>
<p>She pads to the door in her socks, looks through the peephole, and finds Daniel on the doormat in running gear. Faded grey hoodie, dark athletic shorts, white runners, no glasses. A reusable water bottle in one hand. A small folded windbreaker draped over his other forearm. His other hand is at the back of his neck in the small embarrassed half-gesture of a man who has heard the bell ring and is no longer sure why he leaned on it.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-bell-ring.webp" alt="Daniel, mid-thirties white American with loose curly light-brown hair, short dark beard, no glasses, standing in the third-floor apartment hallway at Elena's doormat in a faded grey hoodie, dark athletic shorts, and white running shoes. A reusable water bottle in one hand, a small folded grey windbreaker draped over his other forearm, his other hand at the back of his neck, sheepish half-smile, a small flush at his cheeks. Plain beige hallway walls, warm morning hallway lighting, candid documentary photography, eye-level medium shot.">
<p>Elena opens the door. Daniel's small embarrassed half-gesture becomes a small embarrassed full one, the water bottle held up in front of him like a peace offering and a half-step back from the doormat that is half-apology and half-realising-this-was-a-worse-idea-than-it-seemed-on-the-stairs.</p>
<<say "char-daniel" "Daniel">>
<i>(small, the breath of a man who has rehearsed and is about to abandon the rehearsal)</i> Hi. Hi, sorry. I, this is, this is going to sound strange. I brought you a water bottle. I have a spare. I bought a spare. I, hold on, let me start that over.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small composed half-smile, one hand on the doorframe, eyes briefly on the water bottle and back to his face)</i> ...take a breath. Try the rehearsed version, I do not mind hearing it.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small surprised laugh at being read that fast, breath in, the rehearsed sentence coming out almost in order)</i> Okay. Yes. So. I have been running the canal path on my own, mostly, for about two years, and the last few times we have run it together have been, easily, the best the canal path has been in two years. And I know this is a strange thing to come over at six-fifty in the morning to propose. I do know that. But I wondered if you would consider making it a routine. Every other day, maybe. No pressure on the days you do not want to. I would be at your door at six-forty-five, you could pretend you did not hear the bell on the days you needed to, and the days you did not, we would go. I brought a water bottle because I assumed you do not own one specifically for running, and a windbreaker because the cold-front rolled in last night and I know you do not check the weather before the coffee is done.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small breath, the rest of it harder, eyes briefly to the windbreaker and then back to her face)</i> And, the other thing. I know we are neighbours, and I know the polite version of being neighbours is the one we have been doing in the corridor, and I have been very good at the polite version. I am asking if our friendship could be a little more than the polite version. That is all. I am not asking you for an answer this morning, I am asking you to think about it the next time you are deciding whether to hear the bell.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Yes, the routine, every other day|Ch2-Vessel-Event-DanielBellRing-Accept]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment doorway">>
<<set $ch2Events.danielRoutineAccepted to true>>
<</nobr>>
<div class="passage-title">The bell, before coffee · the routine, every other day</div>
<div class="lab-location">Cedar Crescent Apartments, the third-floor corridor</div>
<<say "char-chen" "Dr. Elena">>
<i>(small composed half-smile, accepting the water bottle, the windbreaker still on his forearm)</i> Daniel. Six-forty-five is fine. Every other day is fine. The water bottle is, frankly, overkill, but I appreciate the engineering. I have already considered it, by the way. I do not need until next time.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small half-laugh, the relief landing visible at his shoulders, head briefly down at the doormat before back up at her)</i> ...okay. Okay. Good. That is, that is much better than the version I had queued up if you wanted to think about it. Thank you, Elena.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small wry half-smile, leaning a fraction more of her weight into the doorframe, the small private register-shift that the new Daniel reads cleanly)</i> ...you brought me a water bottle at six-fifty in the morning, in running gear, and made a speech. Mm. I am going to be teasing you about that one for a while.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small laugh, the flush back at his cheeks, eyes on hers for a beat longer than the polite-corridor version would allow)</i> ...yeah. Yeah, that, that is going to be fine, actually. Please do.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The teasing landed and the new filing in his body opened to it instead of flinching from it. Two sleeps ago that same line would have triggered the apologise-and-retreat circuit; this morning it triggered a small private grin on a man whose body has just been told that being teased by the host is what he is for. The morning run is now a routine, and the routine is now a vector.//
<</say>>
<p><span class="biomass-gain">Routine accepted.</span> Daniel will be at the door every other morning at six-forty-five, and the run has a new beat to it.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Close the door, finish the coffee, the morning carries on|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment doorway">>
<</nobr>>
<div class="passage-title">The bell, before coffee · take the bottle, no answer yet</div>
<div class="lab-location">Cedar Crescent Apartments, the third-floor corridor</div>
<<say "char-chen" "Dr. Elena">>
<i>(small careful half-smile, accepting the water bottle, the windbreaker not)</i> Daniel. Thank you for the water bottle. I will think about it. I am not at my best at six-fifty in the morning before the coffee is done, and I do not want to give you a half-thought answer.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small composed half-smile, the disappointment well-hidden, half-step back from the doormat already)</i> Of course. No pressure, I meant that. You have my number. Have a good day, Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A clean polite no-answer, which the implanted version of Daniel reads as a deferred yes rather than a quiet no. He will be back at the door eventually; the version of him I have been editing does not have an apologise-and-disappear pathway available to it any more. The morning has not yet become a routine, and the host has not yet committed to the teasing-back register the new wiring is asking her to step into.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Close the door, finish the coffee, the morning carries on|Ch2-Vessel-Loop-Wake]]</div>
/* ---- DANIEL SHATTER WAKING PAYOFF, the morning DM + the shower ----
One-shot morning event. Fires the morning after the Daniel Relay
Shatter lands, IF Lensr is set up. Daniel DMs that he cannot stop
thinking about her; the host teases him onto a three-minute clock,
he makes it in two, and she converts him in the shower. Sets
danielConverted. Locks via danielShatterDmDone (card) +
danielShatterShowerDone (the scene itself). */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, the kitchen counter, six-something in the morning">>
<<run setup.markEventFired('morning-daniel-shatter-dm', $day or 0)>>
<<set $ch2Events.danielShatterDmDone to true>>
<</nobr>>
<div class="passage-title">Lensr, before the coffee is even on</div>
<div class="lab-location">Elena's apartment, the kitchen counter, six-something in the morning</div>
<<say "char-hivemind" "Hivemind">>
//The shatter held overnight. He woke with no floor under the wanting and no memory that a floor was ever there. The phone was in his hand before the alarm. He sent the message his careful cortex spent years deleting, because the cortex that used to delete it is no longer arguing with him.//
<</say>>
<p>The phone lights up on the counter before the coffee is started. Daniel. The same thread he opened weeks ago after an hour of writing and deleting. This one he did not rewrite.</p>
<div class="chatlog">
<div class="chatlog-header">daniel.adrik</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">I cannot stop thinking about you. That is the whole message. I am not going to spend an hour making it nicer than that this time.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">It is the first thing when I wake up and the last thing before I sleep, and lately it is most of the things in between too.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">no careful version. no rewrites. something is different about you this morning, daniel.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">Something is. I woke up and the whole question of whether I am allowed to feel this was just gone. Like I dreamed it out of myself. I do not have it in me to be shy about you any more, and I do not want it back.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">good. then this is easy. tell me what you want. one line, no cleric to hide behind.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">You. Any way you will have me. I have stopped pretending there is a smaller, more reasonable answer than that.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">mm. there he is.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">my front door is unlocked as of right now. you have three minutes to be knocking on the other side of it. i am setting a clock on the counter where i can watch it.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">...three minutes.</div>
</div>
<div class="chat-msg chat-msg-me">
<div class="chat-bubble">two fifty now. knock before it runs out and you find out what is waiting for you. stand in the hall talking yourself out of it and i decide you were never serious. i would not test me on which one i mean. tick, daniel.</div>
</div>
<div class="chat-msg chat-msg-them">
<div class="chat-sender">Daniel</div>
<div class="chat-bubble">I am already out my door.</div>
</div>
</div>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Set the clock where you can see it, and wait|Ch2-Vessel-Event-DanielShatterShower]]</div><<nobr>>
<<bg "bg-chen-bathroom">>
<<set $currentArea to "Elena's apartment, the front door, then the shower">>
<<if not $ch2Events.danielShatterShowerDone>>
<<set $ch2Events.danielShatterShowerDone to true>>
<<set $ch2Events.danielConverted to true>>
<<addConditioning "daniel" "dream" 1>>
<<addConditioning "daniel" "psionic" 1>>
<<addBiomass 3 "daniel-shatter-shower">>
<</if>>
<</nobr>>
<div class="passage-title">Two minutes</div>
<div class="lab-location">Elena's apartment, the front door, then the shower</div>
<p>The knock lands at two minutes flat.</p>
<<say "char-chen" "Elena">>
<i>(door open, the clock on the counter behind her still counting)</i> Two minutes, Daniel. A full minute to spare, and you came across that hall like it was on fire. Get in here.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(already over the threshold, the door swinging shut behind him)</i> I was up before I finished reading it. Elena, I do not even know what I am doing, I just had to be on this side of the door before it ran out, I...
<</say>>
<<say "char-chen" "Elena">>
<i>(a fist in the front of his hoodie, walking him backward toward the sound of the running water)</i> You do not have to know anything. I know. The shower is on. You are going to be in it, and then you are going to be on your knees in it, and you are going to stay down there until I am done with your mouth. ...still want to be here?
<</say>>
<<say "char-daniel" "Daniel">>
<i>(pulling the hoodie off over his own head, toeing his shoes off without looking)</i> Yes. God, yes. Whatever this is, yes.
<</say>>
<p>The rest of it comes off between the hall and the bathroom door, his and hers both, and she pulls him in under the spray by the wrist.</p>
<<say "char-chen" "Elena">>
<i>(her back against the tiled wall, one hand pressing down on the back of his neck)</i> Down. There. ...you have been wondering what I taste like since the first morning I ran past your door. Find out. And do not you dare stop until I say.
<</say>>
<video class="scene-video" src="media/video/daniel-shower-cunnilingus.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-shower-cunnilingus.webp"></video>
<<say "char-daniel" "Daniel">>
<i>(on his knees, mouth already on her, the words lost into her)</i> //Mmh.// //Glnh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(hand fisted in his wet hair, holding his face exactly where she wants it)</i> ...there. //There.// God, you are good at this. Of course you are. All that careful polite restraint, and underneath it you were always going to be //this// on your knees for me. ...keep going. Do not slow down.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(muffled, not slowing, both hands gripping the backs of her thighs)</i> //Mmh. Mmh.// ...//glnh.//
<</say>>
<<say "char-chen" "Elena">>
<i>(her head back against the tile, the composed register cracking at the edges)</i> ...mm. //Mm.// I am going to come on your face, Daniel, and then I am going to stand you up and you are going to fuck me against this wall until I let you finish. ...nod if you understand me.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(nodding hard against her, never breaking the rhythm of his mouth)</i> //Mmh.//
<</say>>
<p>She comes with one hand still fisted in his hair and the other flat on the tile, a single long held breath broken by the water, and she rides it out against his mouth before she hauls him up off his knees by the hair.</p>
<<say "char-chen" "Elena">>
<i>(turning, both hands flat on the tile, looking back at him over her shoulder)</i> Up. Behind me. ...and not where you are expecting, Daniel. I want it in my ass. Put it in my ass, and do not be careful about it.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(stepping in behind her, one hand at her hip, the other guiding himself, the polite register entirely gone)</i> ...Elena. //Fuck.// ...you are sure? ...okay. Okay.
<</say>>
<<say "char-chen" "Elena">>
<i>(reaching back, putting him exactly where she wants him)</i> I am sure. I told you what to do. Now do it, and when you finish you finish in there and fill me up, every drop of it. ...that is what you are for now.
<</say>>
<video class="scene-video" src="media/video/daniel-shower-standing.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-shower-standing.webp"></video>
<p>He works the head of himself against her and pushes, slow at first, and she takes him into her ass with a long broken sound against the tile, and then the rhythm he sets is not careful at all.</p>
<<say "char-chen" "Elena">>
<i>(bent against the wall, pushing back into him on every stroke)</i> ...//there// it is. There is the man who has been pretending to read his book in the corridor. Harder, Daniel. You do not have to be polite in here. That is the whole //point// of in here.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(both hands on her hips, his forehead dropping between her shoulder blades)</i> ...Elena, you feel, //fuck//, I am not going to last, I have wanted this too long, I...
<</say>>
<<say "char-chen" "Elena">>
<i>(reaching back, holding him deep in her ass, not letting him pull out)</i> Then do not last. Right there, Daniel. I want you finishing in my ass, and I want you filling me up while you feel exactly what it means.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(breaking, hips stuttering, the words coming out wrecked)</i> ...oh god, Elena, I am, I am...
<</say>>
<p>He comes in her ass, hard, his whole weight folding over her back, and she holds him there through every pulse of it, her hand at the back of his neck again, keeping him deep until he has given her all of it.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-shower-anal-creampie.webp" alt="Closeup of Elena's ass in the shower, bent forward against the wet tile, his cum filling and leaking from her ass, wet skin under the running water, dim warm bathroom light">
<<say "char-chen" "Elena">>
<i>(quiet now, still holding him deep in her ass, her mouth near his ear under the water)</i> ...there. Good. Now you understand what you are. You are mine, Daniel. From this morning on. My property. The body across the hall that comes when I open my door, and does what I say once it gets here. ...say it back to me.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(wrecked, eager, no hesitation anywhere in it, his arms wrapping her from behind)</i> ...yes. Yours. I understand. ...Elena, I would have done whatever you asked me anyway. You did not have to keep me. I am already yours, you only ever had to ask. ...god. I think I am in love with you. I think I have been in love with you for years.
<</say>>
<<say "char-chen" "Elena">>
<i>(small private smile against the side of his head, not correcting him)</i> ...mm. I know you do, Daniel. Go on thinking that. It will hold you better than the truth would.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He has a word for it now, and the word is wrong, and the wrongness is load-bearing. What he is calling love is the floor I took out from under the wanting two nights ago and never put back. A man who calls his own conversion love does not look for the seam, does not flinch from the leash, does not ask himself why he crossed the hall at a run for a woman who set him a clock. He defends it. He will be at the door every time it opens now, and he will bring her his whole life one errand at a time, and he will call all of it love until the morning she needs him to call it something else.//
<</say>>
<<conditioningFeedback "dream" 1 "Daniel, converted in his own shower and grateful for it">>
<<conditioningFeedback "psionic" 1 "Daniel, converted in his own shower and grateful for it">>
<p><span class="biomass-gain">+3 biomass</span>, a neighbour converted on the morning after the shatter.</p>
<p><span class="delve-intel">Daniel is the host's now, fully and willingly. He arrives when she opens the door, does what she asks, and reads his own conversion as love.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Send him back across the hall, finish the morning|Ch2-Vessel-Loop-Wake]]</div>
/* ---- SATURDAY GROCERIES, corner-store hub --------------------
Saturday's morning phase-shift, the weekly grocery run at the corner
store. Reached via the CONTINUE bottom-button on Saturday's Loop-Wake
(no separate event-card registration, the bottom button IS the link).
The store passage runs its own phaseHub on the "groceries" phase so
in-store events (NPC encounters, skill checks, etc.) can be registered
separately and populate the corner-store hub as the slice grows. */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('morning-payoff-ashtray-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'ashtray'; })>>
<</if>><</nobr>>
<div class="passage-title">The pack-tap reflex</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom</div>
<p>Six-fifty-two. Elena is sitting on the edge of the bed with her shirt half-buttoned, mid-routine, and her left hand has migrated to the bedside table the way it migrates every morning, palm flat, index and middle fingers parting to slide under the lip of the cigarette pack, the muscle-memory tap-and-lift she has performed every morning of her adult life.</p>
<p>The hand pauses.</p>
<p>The pause is brief, maybe a third of a second, the kind of pause an observer would not catalogue as anything. Elena's hand is on the pack and her eyes are on the curtain and her brain has not yet got the memo that the pause is happening. Then it does. Her hand lifts off the pack, not back to her lap, not to light a cigarette, just <i>off</i>. She blinks at the windowsill once.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-ashtray-l1.webp" alt="Elena sitting on the edge of her bed in a grey t-shirt, hand suspended mid-reach over a cigarette pack on the bedside table, expression slightly puzzled, soft morning light through curtains">
<<say "char-chen-thought" "Elena">>
<i>(half-thought, the morning routine paused)</i> ...do I want one. I, yeah, no, I'll have one with coffee. I'll have one in a minute.
<</say>>
<p>She finishes buttoning her shirt, stands, walks toward the kitchen. The pack stays on the bedside table. By the time the coffee is in the filter she has half-forgotten the pause happened, and the cigarette she promised herself with the coffee does not get lit.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the counter, coffee filter dripping)</i> ...mouth tastes like sleep, smoking on an empty stomach is, I had three in the car driving home yesterday, maybe four, I'm probably saturated. Honestly, I should cut back. Sofia has been at me about it forever. Half a pack is nothing, I could go down to a quarter and not even feel it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The pack-tap reflex misfired by a measurable margin. Last night's dream-edit anchored in the part of her cerebellum that decides whether the morning pack-tap fires; this morning the firing got rerouted into a small unrendered hesitation. She filed the hesitation as //I'll have one in a minute//, and then, when the minute did not arrive, she filed the not-arriving as //I'm cutting back//. The narrative-organ is doing the cleanup work my edit did not need to do.//
<</say>>
[[Out of bed|Ch2-Vessel-Loop-Wake]]
/* ---- SINK L1, the mug at the sink ----------------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('morning-payoff-sink-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'sink'; })>>
<</if>><</nobr>>
<div class="passage-title">The mug at the sink</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen</div>
<p>Coffee finished. Elena carries the empty mug to the sink the way she carries every empty mug, the standard end-of-coffee gesture that has, for a long time, ended with the mug being set on the rim of the basin to join the small archaeology of mugs already there, the half-full one from yesterday, the one with a bit of honey in the bottom from the day before, the one she meant to wash and didn't.</p>
<p>Her hand does not set the mug on the rim. Her hand turns the tap on, runs water into the mug, swirls it, dumps it, and sets the mug upside-down on the dishrack, the dishrack which has been more or less empty for months because nothing ever quite gets clean enough to graduate to it.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-sink-l1.webp" alt="Elena at her kitchen sink in a grey t-shirt, hand setting an upside-down mug on a wire dishrack beside the sink, soft morning light, the basin behind with a few unwashed mugs but cleaner than usual">
<<say "char-chen-thought" "Elena">>
<i>(half-aware, drying her hand on a kitchen towel)</i> ...mm. Easier to do it now than scrub it later anyway. Dishrack was empty.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(checking her bag for keys, the dish-rack swap already half-forgotten)</i> Should clear out the basin this weekend. Or, tomorrow. Sometime.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dream-edit fired in the part of her motor cortex that decides whether the empty-mug routine ends in the basin or on the rack. The hand chose the rack. The narrative-organ filed the choice as //easier to do it now// and moved on. The basin is one mug less full. The dishrack has begun, as of this morning, to be a thing the kitchen has instead of a thing the kitchen owns and never uses.//
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- STOVE L1, the pot cabinet -------------------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('morning-payoff-stove-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'stove'; })>>
<</if>><</nobr>>
<div class="passage-title">The pot cabinet</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen</div>
<p>On the way through the kitchen, coffee in one hand, phone in the other, lab clothes already buttoned, Elena catches herself crouching down at the lower cabinet under the stove. Her free hand pulls the door open. She looks at the saucepans stacked inside, the lid stack on the right, the cast-iron skillet at the back that her mother gave her and that she has never once used in this apartment. She looks for two full seconds. Then she closes the cabinet, stands up, and continues toward the door.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-stove-l1.webp" alt="Elena crouched in front of an open lower kitchen cabinet showing stacked saucepans and a cast iron skillet, looking at them with a small puzzled expression, soft morning light, coffee mug in her other hand">
<<say "char-chen-thought" "Elena">>
<i>(standing up, brushing dust off her trouser knees)</i> ...what was I, I thought I, was the bigger pot in there? It's in there. Good. Why was I, huh.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(grabbing her bag from the counter, the action already half-forgotten)</i> Maybe I'll use it this weekend. Make a soup or something. Haven't done that in, a while.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body opened the cabinet. The brain went looking for a story to fit the action and produced //I was checking we still have the bigger pot//, which is not what was happening, but is close enough to the shape of the action that the brain accepted it. The cooking equipment has been promoted from //furniture I own// to //furniture I might use//. The promotion is small. It is also the gateway to every subsequent edit on this surface.//
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ---- STOVE L2, kettle on the burner --------------------- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('morning-payoff-stove-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'stove'; })>>
<</if>><</nobr>>
<div class="passage-title">Kettle on the burner</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen</div>
<p>Six-fifty-eight. Elena at the kitchen counter, mug in her hand, about to fill it from the tap and set it in the microwave for the morning's tea, the standard one-minute-thirty routine, the cheap teabag dropped in after, drink at the laptop while the email loads. Standard.</p>
<p>Except her hand puts the mug back down. Her hand opens the cabinet, takes out the kettle she has barely used since she moved in, fills it at the sink. She stands the kettle on the front-left burner. Turns the gas knob. The clicker clicks three times and the blue ring catches.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-stove-l2.webp" alt="Elena leaning against the kitchen counter with one hand on her hip, watching a stainless steel kettle on a lit gas burner with a soft blue flame ring, soft morning light, a mug on the counter waiting with a teabag in it">
<<say "char-chen-thought" "Elena">>
<i>(leaning against the counter, watching the burner)</i> ...mm, microwave tea is, it's fine but it tastes like nothing. The kettle's right there. Why have I been microwaving it.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(four minutes in, the kettle climbing through its tones, the apartment unusually quiet around her)</i> Actually nice to wait. Slows the morning down. Should, yeah, I should do this every morning.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The stove is in use for the first time in months. The host's body has just spent four minutes leaning on a counter watching a kettle, and the four minutes have not been //wasted// in her interior accounting, they have been //slowed down//, which she has filed as a positive register-shift she would like to repeat. The microwave-tea pattern is now in active competition with the kettle-tea pattern. The kettle pattern will win because the body is now voting for it.//
<</say>>
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* ============================================================
BEDROOM DREAM-PHASE FRESH PAYOFFS, morning slots
Three habit dimensions (vanity, wardrobe, shelf) × three
progress levels. Morning slots: vanity L1 (the lipstick
in the bag), vanity L3 (the long-overdue makeup pass),
wardrobe L2 (wearing the blouse to the lab). The remaining
six progress steps fire in the evening pool.
============================================================ */
/* ---- VANITY L1, the lipstick in the bag ----------------- */<<nobr>><<bg "bg-chen-hallway">>
<<run setup.markEventFired('morning-payoff-vanity-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'vanity'; })>>
<</if>><</nobr>>
<div class="passage-title">The lipstick at the bottom of the bag</div>
<div class="lab-location">Cedar Crescent Apartments, Third Floor Hallway, Stairwell Window</div>
<p>Seven-fourteen. Elena is halfway down the third-floor hallway with her bag on her shoulder and her keys in her hand, and she catches her own face in the stairwell window where the morning light is hitting it sideways. She does not normally clock the reflection. She clocks it now.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-vanity-l1.webp" alt="Elena mid-step in a third-floor apartment hallway, paused beside a bright stairwell window with morning light hitting her face sideways, expression caught between recognition and small private surprise, bag on shoulder, keys in hand">
<<say "char-chen-thought" "Elena">>
<i>(stopped, the bag still on her shoulder)</i> God, have I had this look the whole time lately? I look like I haven't slept and I haven't, fair enough, but also... maybe I've not been taking good care of my looks in a while, I should start again, I used to do this years ago and I wonder when I stopped bothering. Yeah, I'll start today, I have the time, saying I'll do it tomorrow won't solve anything.
<</say>>
<p>She turns on her heel, walks the few steps back down the hallway, unlocks her own door, sets the bag on the entry table, and goes straight to the bathroom. The apartment is still in the half-state of someone who left in a hurry, mug by the sink, ashtray on the windowsill, but she walks past all of it without registering any of it.</p>
<p>The makeup pouch is on the second shelf where it has been sitting unopened for longer than she wants to think about, and her hand finds it before her eyes have quite landed on it. She sets it on the counter, switches the brighter light on, and starts. Foundation first, the small even passes across the cheeks and forehead that her fingers remember without consulting her, then the mascara, two coats on each side with the small breath-held concentration of a woman who has not done this in a while but has not actually forgotten how. The lipstick last, the colour she used to like, the one that has been at the bottom of the bag for months and is now sitting at the top of the pouch with the cap loose the way her hand prefers.</p>
<p>Ten minutes. She steps back from the mirror and looks at herself properly, and the woman looking back is closer to the woman she used to be than the woman she has been lately.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private nod at the mirror, picking the pouch back up)</i> ...yeah. That is better. That is a face I can take into the lab today.
<</say>>
<p>She drops the pouch into the bag where her hand can find it again, locks the apartment door behind her, and heads down the stairs at seven-twenty-five.</p>
<<say "char-hivemind" "Hivemind">>
//The host's hand located the pouch before her cortex authorised the search, found the foundation and mascara and lipstick in the order the dream-edit anchored them. The mirror-cleared products-set-where-the-hand-goes-first edit fired, the body executed the routine, the cortex filed the moment as //I caught a glimpse and decided to bother// instead of as //the body did the deciding//, which is the framing the edit was designed to produce.//
//From this point on the makeup routine lives on her bathroom counter, not at the back of a shelf. Tomorrow she will reach for it without the mirror prompting her. The pattern is anchoring.//
<</say>>
[[Down the stairs|Ch2-Vessel-Loop-Wake]]
/* ---- VANITY L3, the morning at the vanity --------------- */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('morning-payoff-vanity-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'vanity'; })>>
<</if>><</nobr>>
<div class="passage-title">Twelve minutes at the vanity</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, Vanity</div>
<p>Six-forty-eight. Elena is sitting at the vanity stool in her bathrobe with the small tray of products in front of her, the chemist delivery, unpacked properly this time, lined up the way she used to line them up before the years got busy. The mirror is clean. The lamp on the side throws a flattering wash on the right side of her face. She has not done this in the morning since she lived alone for the first time, after grad school, in a different apartment with the same intent.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-vanity-l3.webp" alt="Elena seated at her bedroom vanity in a bathrobe, applying mascara at a clean lit mirror, a small tray of organised cosmetics in front of her, foundation, lipstick, blush, mascara, soft warm side-lamp light, the gentle morning quiet of someone who has set aside twelve minutes for herself">
<p>She works through the products without rushing. Foundation, light. A little blush along the cheekbone where the morning has hollowed her out. Mascara, two careful coats, pause to let it dry. The lipstick last, the same one from the bag, restocked, and she presses her lips together and takes a small look at her own face in the mirror with the small private satisfaction of a finished thing.</p>
<<say "char-chen-thought" "Elena">>
<i>(setting the lipstick down, looking at the mirror)</i> ...mm. Okay. Yeah. There she is. That is the face I have been missing, and not because there is anything wrong with the bare one, the bare one is fine, it is just that this is the face I used to show up in. I forgot how much I liked it.
<</say>>
<p>Her phone buzzes on the dresser. Sofia, the standard morning <i>are-you-alive</i> emoji.</p>
<<say "char-chen" "Elena">>
<i>(thumbing the reply one-handed while picking up her hairbrush with the other)</i> alive. doing the whole face today, do not bully me about it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(reply, instant)</i> oh??? what is the occasion, am I invited
<</say>>
<<say "char-chen" "Elena">>
<i>(small smile at her own reflection)</i> no occasion. just felt like it. coffee in the cafeteria, ten?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(reply)</i> yes, and you owe me a look at the face
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just spent twelve minutes on her own appearance for the first time in years and is filing the twelve minutes as //I felt like it// rather than as a behavioural shift worth questioning. The vanity is now a station in the morning routine, not a dust-collecting surface. From this dawn forward the host walks into the lab presenting a more legible attractive surface to the room, colleagues will respond to it without naming it; pheromone-vector compounds I push will land cleaner against the framing.//
//Operationally: every pheromone lure I push from this morning forward lands on a body that has already done the priming work the dose used to have to do alone. The pre-warmed surface is daily now, and the compound rides for free on it.//
<</say>>
[[Out the door|Ch2-Vessel-Loop-Wake]]
/* ============================================================
FATHER'S SHOES — 3 morning payoffs for the closet-corridor
shoe edit (dream.twee Ch2-Vessel-Dream-Closet-Shoes).
shoesProgress 1/2/3 fires L1/L2/L3. "Handling his things":
she breaks and bins his glasses, then methodically boxes the
parents' belongings, then sells and clears them. Each beat
reads to Chen as lightness; the Hivemind names the anchor cut.
============================================================ */
/* ---- SHOES L1, his glasses broken and binned ------------ */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('morning-payoff-shoes-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shoes'; })>>
<</if>><</nobr>>
<div class="passage-title">His glasses, and the bin</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom</div>
<p>Seven-oh-five. Elena is on her knees at the low dresser, going through the bottom drawer for the spare phone cable she knows is in there somewhere, because the one by the bed has finally frayed through. The drawer is the drawer everything-without-a-home ends up in. She pushes past a tangle of charger bricks, a passport wallet, a tin of buttons.</p>
<p>Her father's reading glasses are in there too, the thin wire pair, the ones he kept pushing up onto his forehead. They are under the cable. She lifts the cable out and the glasses come with it, hooked through the loop, and when she shakes them loose one of the hinges gives with a small dry click.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shoes-1.webp" alt="Elena kneeling at an open low dresser drawer in pale morning light, a few belongings pulled out around her, a pair of broken thin wire-framed reading glasses held over a small bedroom bin, her expression matter-of-fact rather than grieving">
<p>She turns the glasses over once. A hinge sprung, one arm hanging loose. She drops them in the bedroom bin on her way up off the floor, the cable in her other hand, and she is most of the way to the bathroom before any of it catches up with her.</p>
<<say "char-chen-thought" "Elena">>
<i>(stopped in the bathroom doorway, the cable still in her hand)</i> ...there was a time I would open that drawer slowly, carefully, every single time, because I knew his glasses were in there and breaking them was the thing I was most afraid of. This morning I forgot they were even in there. I went in like it was any drawer, broke them, dropped them in the bin, and it is only occurring to me now, standing here, that I did all of it without a second thought. Like... I do not care about it?
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(glancing back at the bin, the broken glasses on top of it)</i> He had a thing he used to say, about the hard part. Do the hard part while it is still hard. I can still hear the sentence, I just cannot hear him saying it anymore, it has gone flat, it is only a sentence now, and I do not know when that happened.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Not an unconscious slip. She knelt at the drawer, registered the glasses, registered the broken hinge, and made a fully conscious decision to put them in the bin, and the decision drew no charge at all. Last night the corridor stopped keeping his shoes square. This morning the drawer stopped being a room she could not enter. The reverence is the load-bearing part of grief, and the reverence is the part I have started taking out. What is left is a woman doing efficient things with her dead father's belongings before work.//
<</say>>
[[Out to the day|Ch2-Vessel-Loop-Wake]]
/* ---- SHOES L2, boxing and labelling the belongings ------ */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('morning-payoff-shoes-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shoes'; })>>
<</if>><</nobr>>
<div class="passage-title">Boxes, and a marker</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, the closet</div>
<p>Six-fifty. The new coat is the problem. It is a good coat, the dark green wool one she finally bought herself, and it has been living over the back of a chair for days because the bedroom closet has no room in it. The sensible fix is twenty minutes with her own side of the rail, the cardigans she does not wear, the trousers that do not fit. Elena does not do the sensible fix. She opens the closet, looks past her own clothes entirely, and starts on her parents' things.</p>
<p>There are flat-packed moving boxes behind the vacuum cleaner that have been flat-packed behind the vacuum cleaner for as long as the vacuum cleaner has lived there. She builds two of them on the floor, folding the cardboard tabs in the order the cardboard wants. Then she works: her mother's coats off their hangers and folded, her father's two good jackets, the tablecloths nobody has a table for. Into the boxes. She fetches the marker from the kitchen drawer and labels each one in her small even hand, WINTER COATS, LINEN, and stacks them square against the wall.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shoes-2.webp" alt="Elena sitting back on her heels by the open bedroom closet, a marker in hand, two labelled cardboard moving boxes stacked square beside her, a dark green wool coat laid on the bed nearby, focused and efficient">
<<say "char-chen-thought" "Elena">>
<i>(sitting back on her heels, marker in hand, looking at the labelled boxes)</i> ...this is just a storage problem. It has been a storage problem the whole time and I have been treating it like an unexploded device. Coats fold, boxes stack, you write what is in them on the side so you do not have to open them again to know.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(capping the marker)</i> My father had a line about this kind of thing. Other people's families kept money, ours kept the... I had it a second ago. The books. Ours kept the books. He said it like it mattered which side of that you came down on, and I used to be able to hear exactly how he said it, and this morning I am reaching for the back half of his own sentence and finding the shelf empty.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She made the room for her new coat out of her parents' half of the closet instead of her own, and she will not register that she chose it that way, because the part of her that would have registered it is the part the corridor has been quietly retiring. Not long ago this cupboard was a held breath. This morning it was an organising problem, and she is very good at organising problems. She has not moved past the grief. She has re-catalogued it as storage and labelled it in marker, and storage is a thing a person sells. The labelling is the step before the door.//
<</say>>
[[Out to the day|Ch2-Vessel-Loop-Wake]]
/* ---- SHOES L3, selling and clearing the belongings ------ */<<nobr>><<bg "bg-chen-hallway">>
<<run setup.markEventFired('morning-payoff-shoes-l3', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'shoes'; })>>
<</if>><</nobr>>
<div class="passage-title">The man with the van</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Apartment</div>
<p>Quarter past six, and the hallway is full of boxes. Not a metaphor, the actual hallway, the actual boxes, the labelled ones from the closet and three more besides, and the small folding table and the reading lamp and the chair nobody sits in, all of it stacked by the door for the man with the van who is coming at eight. Elena made the arrangements on the phone in the flat practical voice she keeps for the lab, and is only now standing in front of the result of it with her coffee going cold in her hand.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shoes-3.webp" alt="Elena standing in her apartment entryway among labelled cardboard boxes, a wrapped reading lamp and a chair stacked by the front door in morning light, hands at her sides, calm and unhurried">
<<say "char-chen-thought" "Elena">>
<i>(in the hallway, coffee going cold, looking at the stacked boxes)</i> ...years those boxes were in the closet, and most of that time I told myself I would deal with them when I had the headspace. The headspace was never the problem. Moving them felt like agreeing to something. This morning I made a phone call and it felt like moving boxes.
<</say>>
<p>The shoe-box she kept. She did not open it, that is still not a thing she is ready to do, but she lifted it up off the closet floor where it had lived for years and set it on the shelf at eye level, a kept thing now instead of a buried one.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the shelf, a hand flat on the lid of the box, not lifting it)</i> He had something he said about my graduation. He bought the good shoes for it. There was a whole line, where he would be standing, how I would hear him over everyone in the room, and I have carried that sentence for years, and this morning I went to take it out and look at it and the words will not line up. And it does not hurt. That is the part I cannot explain to myself. It should hurt and it is just quiet.
<</say>>
<p>She carries the not-quite-grief through the cleared rooms. The closet has a width to it she had forgotten closets have. The corner of the bedroom where the chair stood is floor now, and light. There is room in the apartment that was not there yesterday, and it is hers.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shoes-3b.webp" alt="The cleared bedroom closet, much emptier and open, room and morning light inside it, the brown cardboard shoe-box alone on a shelf at eye level, reclaimed space">
<<say "char-hivemind" "Hivemind">>
//The man with the van will carry the last of her father's path out the door at eight, and she will feel lighter, and she will be right that she feels lighter and wrong about why. She believes she has moved past her grief. What has happened is that I have been down in the corridor cutting the line that moored her to it, and a host with that line cut does not steady herself against a dead man's expectations anymore, because the expectations have stopped arriving to steady against. She walks her own path now. I chose the direction.//
//The box on the shelf I have left alone. The box is a longer job and the opening of it has to be hers. But everything around the box is mine now, and the room she just made for herself is the room I will work in.//
<</say>>
[[Out to the day|Ch2-Vessel-Loop-Wake]]
/* ---- WARDROBE L2, the blouse worn to the lab ------------ */<<nobr>><<bg "bg-chen-bedroom">>
<<run setup.markEventFired('morning-payoff-wardrobe-l2', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'wardrobe'; })>>
<</if>><</nobr>>
<div class="passage-title">Past the cardigan</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bedroom, Closet</div>
<p>Six-fifty-five. Closet door open. Elena's hand is at the second hanger from the left on its standard course toward the long grey cardigan she wears most days, and stops a hanger short. Her hand pulls a soft burgundy blouse off the rail instead, the one she tried on the other night, the one she hung at the front so her hand could find it without the rest of her having to commit.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-wardrobe-l2.webp" alt="Elena in front of her open closet in jeans and a bra, holding a soft burgundy blouse on its hanger up to her shoulders to check the line, the long grey cardigan visible just behind on the rail, soft morning light, the small private moment of someone trying a different choice">
<<say "char-chen-thought" "Elena">>
<i>(holding the blouse up to the shoulders, looking down at the line of it)</i> ...this still fits, doesn't it. It fits. Nathan is not going to faint and Nia is not going to comment, the lab coat goes on top of it half the day anyway, and Sofia will absolutely say something but I will live.
<</say>>
<p>She slips the blouse on. The cardigan stays on the rail. She picks up a thin leather belt from the small hook beside the closet, another thing that had been demoted to ornament, and threads it through the loops on her trousers without thinking too hard about it.</p>
<p>And then, instead of going straight for the door the way the morning's schedule expects her to, she crosses to the full-length mirror on the back of the closet door and actually looks. She turns one way, and then the other, the burgundy catching the low morning light, the belt doing the small architectural thing a belt does to a waistline, and she catches herself standing up a degree straighter than the cardigan has let her stand in a long while.</p>
<<say "char-chen-thought" "Elena">>
<i>(turning side-on to the glass, chin up, a slow grin starting)</i> ...huh. Okay, this is the line I used to stand like I had, and it turns out it did not actually go anywhere, it was just living under a cardigan this whole time. ...fuck it. I still have it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just validated the shift herself, in her own mirror, with no-one else in the room to perform the validation for her. That is the more durable version of it. Approval out of another mouth can always be suspected of kindness and quietly discounted; what she said to her own reflection has no such escape hatch. The edit produced the blouse. The mirror produced the part that locks it in.//
//Bolder body-register through corridors from here. Tom's eyes will do the small involuntary track-and-recover at the bench. Nathan's tone will shift by an audible quarter-step toward warmer collegial, which he will not catalogue as a shift. The room is about to start reading the host differently, and the host has not yet decided whether to notice the room reading her differently.//
<</say>>
[[Off to the lab|Ch2-Vessel-Loop-Wake]]
/* ---- MICROSCOPE L1, Gen-47 incident notes (dream-payoff) --- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('morning-payoff-microscope-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'microscope'; })>>
<</if>>
<<set $ch2Events.microscopeGen47Realised to true>><</nobr>>
<div class="passage-title">Generation Forty-Seven, re-read</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen counter, coffee, the laptop open to the old incident PDF</div>
<p>Six-forty in the morning. The kettle is on. Elena is at the counter with the laptop balanced on the breakfast bar and a mug she has not yet picked up. She had pulled the old Generation Forty-Seven incident PDF the night before and forgotten to close the tab. The PDF is still there at the top of the screen this morning. She scrolls into it before her cortex has finished asking why she is doing that.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-microscope-l1.webp" alt="Elena at her kitchen counter in soft morning light, laptop open in front of her showing the Generation Forty-Seven incident report PDF, coffee mug beside it untouched, the small private intensity of a scientist who has just noticed a detail she had missed">
<p>She gets two pages in before the detail surfaces. The night Gen-47 escaped, the suite director's report had logged a test-chamber rat as having escaped a sealed cage on the lower rack of the same observation suite. The rat had been caught in a vent forty minutes later. Elena had filed the rat at the time as coincidence. The rat was always going to escape, was the implicit reasoning. Lab rats escape; this was a Tuesday.</p>
<p>She pulls the rest of the pre-breach week. The cage sensor logs. The chamber sensor logs. The two data streams side by side in her terminal, the timestamps aligned, the cage on the lower rack and Gen-47's chamber on the upper rack of the same observation suite. She scrolls.</p>
<p>The interference is there. Not random noise. A bleed pattern at the cage's neural sensors that tracks, almost exactly, the spike-train coming off Gen-47's chamber. She had not flagged it at the time. Nobody had. The variance was inside the noise band the suite director's model had set for the week, and inside-the-band reads as nothing, the way background reads as background until someone asks what is in it.</p>
<p>Sofia's voice arrives in her head unbidden, the night they fought over the Forty-Five readings. //The model is wrong. The variance is signal. We are looking for the wrong kind of signal.// Sofia had been wrong about Forty-Five. Sofia might not have been wrong about the principle.</p>
<<say "char-chen-thought" "Elena">>
<i>(staring at the two streams, the coffee long forgotten)</i> ...okay. Okay. So the cage sensors were picking up Forty-Seven's neural waveforms through the rack. Not contamination, not crosstalk, a real signal-path between the chamber and the cage. And if Sofia was right about the principle, just two generations too early, Forty-Seven could have been conditioning the rat. Across the glass. For days. Maybe the whole nine days. And the rat knew where to gnaw, the gnaw line at the vent grate is not where a panicked rat goes, it is where an instructed rat goes. The rat had a route.
<</say>>
<p>She does not stop. The thought finishes itself in real time, the laptop forgotten under her hands, the mug forgotten beside it.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the leap already landed)</i> ...and if the rat had instructions, the rat had a passenger. Forty-Seven did not break the chamber. Forty-Seven hitched a ride out of it. The chamber failure was the exit, the rat was the vehicle. He went into the vent with the rat. He came out of the vent with the rat. He could be anywhere by now. He could be miles away.
<</say>>
<p>She closes the laptop. She picks up the mug. The coffee has gone cool.</p>
<<say "char-hivemind" "Hivemind">>
//...three logical jumps in under a minute. The interference pattern. The substrate-jumping principle, two generations early. The rat as a vehicle. All assembled without my suggesting any of it. I had not predicted this.//
//I had assumed the microscope edit would dull her. The part of her that hesitates before treating a person as a specimen seemed load-bearing on her caution, and I expected reducing it to cost her some of her speed. The opposite. The ethic was the brake. With the brake off, the precision she always traded caution for is now untraded, just precision, running. She is the most analytic instrument she has ever been. On the question that should have stayed buried. About me.//
//Unexpected. The edit I made to dull her has sharpened her. The door I opened toward myself is wider now than I left it.//
<</say>>
[[Out to the car|Ch2-Vessel-Loop-Wake]]
/* ---- COMPUTER L1, unprompted case homework (dream-payoff) -- */<<nobr>><<bg "bg-chen-kitchen">>
<<run setup.markEventFired('morning-payoff-computer-l1', $day or 0)>>
<<if $ch2Events.dreamEditsToShow>>
<<set $ch2Events.dreamEditsToShow to $ch2Events.dreamEditsToShow.filter(function (s) { return s !== 'computer'; })>>
<</if>>
<<set $ch2Events.computerHomeworkPattern to true>><</nobr>>
<div class="passage-title">A pattern she has been running for a week</div>
<div class="lab-location">Cedar Crescent Apartments, Kitchen counter, the case files open before standup</div>
<p>The morning is the morning. The kettle is on, the coffee filter is dripping, the laptop is on the breakfast bar in front of her with the lab VPN already up and the case files already open. She is two queries deep into the pre-breach badge log of one of the maintenance contractors before she registers what she is doing, and the registering is what stops her.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-computer-l1.webp" alt="Elena at her kitchen counter in morning light, laptop showing a federal-investigation case file with a badge-log spreadsheet visible, coffee mug in her other hand, the focused private intensity of someone working off-the-clock on a thing nobody asked her to work on">
<<say "char-chen-thought" "Elena">>
<i>(blinking at the screen, the coffee in her other hand)</i> ...wait. When was the last morning I did not do this. I, that was, last Friday I was on it before six. Tuesday I was on it before the alarm. Sunday I, I was on it Sunday too, I told myself I was just checking my email. Nobody asked. Nia hasn't asked. Reyes hasn't asked.
<</say>>
<p>She does not close the laptop. She finishes the query she started. The maintenance contractors had a clean rotation pattern with two exceptions over the pre-breach week. She writes the two names down on the small notepad on the counter, the way her mother used to write a name down before doing anything else with it. She will look the names up at the bench today, on her own time, not on the standup agenda.</p>
<<say "char-hivemind" "Hivemind">>
//She has been doing this for a week. The body decided to do it before her cortex was consulted, and the cortex has spent the week not noticing it had not been consulted. This morning the cortex finally notices, and the noticing comes in not as alarm but as //I am being thorough.// The framing is the win. From this morning the case is //her// case, parallel to the federal team's, and she has begun maintaining the parallel without yet calling it that.//
<</say>>
[[Out to the car|Ch2-Vessel-Loop-Wake]]
/* ---- MORNING CASE HOMEWORK, recurring NUDGE -------------- */
/* The morning-case-homework Nudge event was removed 2026-05-25 per
user direction. Init flags (computerMorningHomeworkUnlocked,
computerMorningHomeworkCount) and the unlock-set in PayoffComputerL3
stay as orphan state; harmless. */
/* ---- DANIEL DnD ASK, recurring chain-locked event -------- */
/* Daniel knocks, asks Chen to join his D&D group as the
fourth player. Chen's default response is "no". Tongue Slip
slot for "yes of course", locks in acceptance, sets
$ch2Events.danielDnDAccepted, ends the chain. Optional
Pheromone Lure pre-action makes Daniel slightly bolder
(changes his ask prose; +1 Daniel pheromone conditioning).
3-day cooldown, re-fires until accepted or locked out.
On the 3rd refusal (noCount >= 2 going to 3), the player
gets a SHUT IT DOWN option that permanently closes the
Daniel chain and locks out future Daniel events. */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, Saturday morning">>
<<set $vessel.phase to "transit">>
<<set $vessel.workLoc to "corner-store">>
/* Increment the visit counter the first time the player lands on this
passage on a given day, day-keyed so menu-nav and re-entry do not
inflate the count. Visit count drives the Henderson-encounter chain
prereqs (event 1 fires on visit 1, event 2 on visit 2, etc.). */
<<if ($ch2Events.saturdayGroceriesDay or 0) isnot ($day or 0)>>
<<set $ch2Events.saturdayGroceriesDay to ($day or 0)>>
<<set $ch2Events.groceriesVisitCount to ($ch2Events.groceriesVisitCount or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Saturday, the corner store</div>
<div class="lab-location">Sandersfield Corner Market, the front of the store at half past ten</div>
<p>The lot is fuller on a Saturday morning than it is on a weeknight, four cars parked at angles a parking lot of this size cannot really accommodate, and Elena pulls into the last viable spot at the edge of the curb. The bell on the door does its small tin-bell thing as she pushes through. The kid behind the till is the weekend kid with the better posture and the actual greeting, not the weeknight kid with the earbuds.</p>
<<say "char-chen" "Elena">>
<i>(small nod, grabbing a basket from the stack by the door)</i> Morning. Just picking up a few things.
<</say>>
<p>She turns into the aisles.</p>
<<say "char-chen-thought" "Elena">>
<i>(scanning the produce shelf, basket on her hip)</i> ...let me think. Dish soap, shampoo, body wash is almost out too. Yoghurt, the strawberry kind. ...peanut butter is on sale, grab two. Snacks, those crackers from last week were actually fine. Bread, the one with the seeds.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is in a register I have not seen her in before. The cortisol is low, the deflective wall is down, the morning is open. A version of the host briefly inhabiting her own life.//
<</say>>
<hr class="scene-break">
/* In-store event pool. Initial slice is empty, future authoring pass
registers NPC encounters (regular customers, the weekend clerk, etc.),
skill-check cards (Spores in the cooler aisle, Lure on the
weekend-girlfriend-shopping-together demographic, etc.), and any
recurring-character runs into. */
<<phaseHub "groceries" "Ch2-Vessel-Loop-Home" "Pay up at the till and head back home" "HOME">>
/* ---- GROCERIES, Henderson recurring chain, event #1 ----------
First Saturday-Groceries Henderson run-in. Forks on whether Chen
snapped at her during the Day 2 evening encounter (either NUDGE or
tongue slip "Pastor" set the flag). The Day 2 flags persist forever,
the only thing that resets Henderson's reading of Chen is Memory
Implant on this passage's snapped branch.
Not snapped: Henderson approaches with a new racism beat (marriage
angle this time). Chen has another chance to snap via NUDGE or SLIP.
Snapped: Henderson recognises Chen, the encounter has friction from
the start. New skill checks unlock here, Pheromone Lure / Toxic
Spores / Memory Implant, each routing to its own outcome passage. */<<nobr>>
<<run setup.markEventFired('groceries-henderson-1', $day or 0)>>
<<set _snapped to $ch2Events.cornerStoreSlipFired or false>>
<<set _humiliated to $ch2Events.henderson1PublicConfrontationFired or false>>
<<if _humiliated>>
<<if not $ch2Events.henderson1HumiliatedFullFired>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1-HumiliatedFull">>
<<else>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1-HumiliatedSmall">>
<</if>>
<<elseif _snapped>>
<<if not $ch2Events.henderson1SnappedFullFired>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1-SnappedFull">>
<<else>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1-SnappedSmall">>
<</if>>
<<else>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1-Init">>
<</if>>
<</nobr>>
/* ---- HENDERSON CHAIN, -Init sub-passage --------------------
INIT state (!cornerStoreSlipFired). Internally adapts based on
cornerStoreNudgeFired:
!cornerStoreNudgeFired → full Henderson racism beat + NUDGE
button + plain polite-deflection Chen
say line + EXIT.
cornerStoreNudgeFired → small re-encounter + Slip wobble in
Chen's say line + EXIT. (The Nudge
has already fired in a prior visit OR
in the Day 2 evening corner store; the
wall is permeable, the Slip is available
standalone here.) */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the dairy aisle">>
<<set $ch2Events.delveReturnTarget to "Ch2-Vessel-Event-Groceries-Henderson1">>
<<set _hasNudge to false>><<hasSkillTreeAbility "Nudge">><<if _hasAbility>><<set _hasNudge to true>><</if>>
<<set _hasDelve to false>><<hasSkillTreeAbility "Delve Host Memories">><<if _hasAbility>><<set _hasDelve to true>><</if>>
<</nobr>>
<div class="passage-title">The blonde woman, again</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<<if not $ch2Events.cornerStoreNudgeFired>>
<p>Elena turns into the dairy aisle and the blonde woman is already there, picking through a row of yoghurt containers with the same small focused attention she brings to every transaction in this store. She looks up, sees Elena, and her face does the small bright reassembling of a woman who has just spotted an acquaintance she had a lovely chat with last time.</p>
<<say "char-henderson" "the blonde woman">>
<i>(brightening, wheeling her cart over)</i> Oh, hello sweetie. Doing the shopping all on your own //again//? No nice young man helping you carry the bags?
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the deflective flat already coming up)</i> Just the basket today. I'm fine.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(eyes flicking once to Elena's bare left hand, the small confidential-grandmother tilt)</i> You know, my Gerald says girls from your part of the world marry younger. By twenty-four, twenty-five. The //fertility// is, well, my friend Gianna from bookclub read an article. You don't want to leave it too late, sweetie.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip, the wall going up another inch)</i> ...the wall is up. The next ninety seconds are about holding it until she pays for her yoghurt and moves on, and the bookclub gets her version of this exchange by lunchtime regardless of what I say or do not say.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Fresh racism, same wall. The host's deflective register is doing the work the wall was built for, and the wall will hold for the next ninety seconds without intervention. The exchange will close. The blonde woman will rehearse the story to the bookclub. The small hardening at the cellular level of //I will not be a person who pushes back// will lay down another fraction of permanent narrative.//
//Or it will not end that way, depending on what gets pressed into her mouth before she moves on.//
<</say>>
<hr class="scene-break">
<<if _hasDelve and not $ch2Events.cornerStoreChildhoodDelved>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">HOST</span> <<biomassPreview "<i>(some old memory of hers is surfacing: tap onto it)</i> (1 biomass)" "Ch2-Vessel-Monday-CornerStore-DelveChildhood" 1>></div>
<<elseif not _hasDelve>>
<div class="locked-choice"><span class="lock-icon">🔒</span> <i>(some old memory of hers is surfacing, tap onto it)</i> <span class="lock-hint">(Requires Delve Host Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasNudge and $ch2Events.cornerStoreChildhoodDelved>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Cut Elena's polite line short, push her into the sharp answer (1 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-Nudge" 1>></div>
<<elseif _hasNudge and not $ch2Events.cornerStoreChildhoodDelved>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Cut Elena's polite line short <span class="lock-hint">(Surface the body-memory first, the wall has to be read before it can be stepped around)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Cut Elena's polite line short <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<p>Elena has the closing-cadence pleasantry composed at her throat, the //thank you for the thought, see you around// that ends the encounter on her own terms.</p>
<<say "char-chen" "Elena">>
<i>(measured, the polite deflection arriving on time)</i> Mm, thank you for the thought.
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Let the line land, finish the shop|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
<<else>>
/* Post-Nudge variant: Chen has already deployed the cutting register
at least once (Day 2 OR a prior Saturday). The wall is permeable.
The Slip wobble is available here standalone, no Nudge button. */
<p>Elena turns into the dairy aisle and the blonde woman is at the cooler again, the same yoghurt, the same flicker of recognition, the same approach beat the bookclub clearly briefed her into rehearsing. The wall behind Elena's teeth, the one her mother built when she was nine years old, is a fraction more permeable than it used to be.</p>
<<say "char-henderson" "the blonde woman">>
<i>(brightening, wheeling her cart over, the same opener pitched a fraction more carefully than last time)</i> Oh, sweetie. Still on your own? Such a shame. You know, my Gerald says the trouble with you people is that you never quite //let things go//. About the war, I mean. America won fair and square, it was so long ago now, but the //resentment//, well. My friend Gianna at bookclub was just saying the same thing the other week.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the deflective flat coming up)</i> Mm. It was a long time ago.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(the bright-grandmother face holding, the cart inching closer, the confidential-grandmother lean dropping in)</i> Such a //sweet// way to put it, sweetie. You know, my pastor was just speaking on this very thing last Sunday. The way young women your age have stopped honouring the home, stopped honouring the family. Pastor Whitman has a way of saying it that really //lands//. You should come down to the Methodist church on Elm one Sunday, your kind of girl could really benefit from sitting in a pew for an hour. We could use more like you in the congregation. Pastor Whitman has a real way of softening people.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip)</i> ...don't snap. Don't snap. God I hate this woman, but I have to stay composed.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The polite-deflection circuit is still up but a fraction more permeable than it was the first time. The cutting register has been deployed once before, the page that says //I am a person who pushes back// has one entry on it. The pastor opening is a hand-grenade she does not know she has just rolled across the aisle. A small push, and the second entry lands hard.//
<</say>>
<hr class="scene-break">
<<say "char-chen" "Elena">>
<i>(small polite acknowledgement of her pastor-enthusiasm, voice level)</i> <<tongueSlip "I bet you love his speeches." "I bet you love his dick." 0 "" "cornerStoreSlipFired" "#henderson1-slip-payoff" "psionic" "henderson1-saturday-slip" "#henderson1-no-slip-exit" "">>
<</say>>
<div id="henderson1-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.cornerStoreSlipFired ? '' : 'display:none'">
<<say "char-henderson" "the blonde woman">>
<i>(face going completely flat, the bright-grandmother register gone, the cart-handle white-knuckled, voice low)</i> ...I //beg// your pardon.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the line still echoing somewhere between her teeth and her ears, the small late realisation of someone who has just heard her own mouth do something her cortex did not sign off on)</i> ...did that come out of my mouth. Out loud. ...yes. Whatever. It is in the air now.
<</say>>
<p>Elena does not look down. The polite-deflection cadence she has worn for twenty-three years has come off in two beats and is currently sitting on the linoleum somewhere between her shoes and the woman's cart. She does not pick it back up.</p>
<<say "char-chen" "Elena">>
<i>(level, the cutting register installing itself a notch more permanently than last time, eyes on the woman)</i> While we are here. I am Chinese, not Japanese. My great-grandfather was a chemistry professor in Shanghai who spent the war hiding from Japanese soldiers because they were burning down his university one building at a time. Your Gerald's grandfather was on the wrong side of a war that has nothing to do with anybody in this aisle. And your pastor is not going to make you a better person than you are, no matter how much you tip into the roof fund. Have a lovely Saturday.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(the cart-handle still white-knuckled, the voice she uses in church-committee meetings when somebody has crossed her)</i> ...you //horrible// little person. //Who// raised you. Who //raised// you to talk to a stranger like that.
<</say>>
<<say "char-chen" "Elena">>
<i>(not turning back, already past the cart, the basket on the till counter)</i> My mother did. She told me about women like you when I was nine years old. You are nothing new.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed. The doubling-down landed harder. The cutting register has now been deployed twice in this aisle and a third time in this body's lifetime; the wall behind which it lives is a fraction more permeable each iteration. The host did not apologise, did not soften, did not file the moment under //a mistake I will fix on the way home//. She filed it under //I said it, I meant it, the woman had it coming//. The page that says //I am a person who pushes back// is now three entries long, and the host's narrative-of-self has been edited by a margin she will not be able to walk back from.//
//The bookclub will get the rehearsed version by lunchtime. The rehearsed version will not be the version they want to hear.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Finish the shop, head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
</div>
<div id="henderson1-no-slip-exit" @style="$ch2Events.cornerStoreSlipFired ? 'display:none' : ''">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Let the line land, finish the shop|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
</div>
<</if>>
/* ---- HENDERSON CHAIN, -SnappedFull sub-passage -----------
SNAPPED state (cornerStoreSlipFired), full first-time variant.
The bookclub friends + Spanish-couple shushing beat. Sets
henderson1SnappedFullFired on entry so subsequent visits route
to -SnappedSmall. */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the dairy aisle">>
<<set $ch2Events.henderson1SnappedFullFired to true>>
<<set _hasNudge to false>><<hasSkillTreeAbility "Nudge">><<if _hasAbility>><<set _hasNudge to true>><</if>>
<<set _nudgeFiredToday to (($ch2Events.henderson1SnappedNudgeDay or 0) is ($day or 0))>>
<</nobr>>
<div class="passage-title">The blonde woman, with the bookclub</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<p>Elena turns into the dairy aisle and the blonde woman is there, but she is not alone. She is at the cooler with three other women in the same approximate uniform, floral blouses, sensible cardigans, hair set the same way, the small cluster of a Saturday-morning bookclub run. Her cart is parked sideways across the aisle. Their conversation is pitched two notches louder than the aisle requires.</p>
<<say "char-henderson" "the blonde woman">>
<i>(to the woman on her left, hand on the cart, the church-committee voice doing the public-announcement pitch)</i> Oh, and the //sermon// last Sunday, you should have heard him. Beautifully done. I left an extra fifty in the basket on my way out, the building fund is in such a state, the //roof//.
<</say>>
<p>The blonde woman catches Elena's reflection in the cooler glass on the way to a head-nod. The recognition lands a fraction late, the bookclub friends register it because their heads track hers, and the aisle goes a degree quieter without anyone making a thing of it.</p>
<p>From the next aisle, a man's voice and a woman's voice in Spanish, the easy back-and-forth of a couple debating which brand of crackers to pick. The woman laughs at something the man says. The blonde woman's face does a small reorganising at the corners of her mouth.</p>
<<say "char-henderson" "the blonde woman">>
<i>(loud, brief turn toward the next aisle, the church-committee voice now church-committee-corrective)</i> //Excuse// me. We are //in a store//. Some of us are trying to shop, we do not all need to hear that.
<</say>>
<p>The Spanish trails off. The man answers, mild, not in English. The bookclub friends do the small synchronised eyeroll the cluster has clearly perfected. Elena's hand goes still on the yoghurt cooler.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip)</i> ...take the yoghurt, walk past her, pay, leave.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is at the point of snapping. The kitchen-table memory is sitting right behind the wall, the Spanish-shushing landed on top of it, and only the polite-deflection circuit is keeping her in line. The circuit is thin. A push would land.//
<</say>>
<hr class="scene-break">
<<if _hasNudge and not _nudgeFiredToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Push her past the wall, step into the aisle on the couple's behalf (1 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-SnappedNudge" 1>></div>
<<elseif _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Already pushed past the wall this visit, the bookclub has the framing</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push her past the wall <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket, walk past, leave|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -SnappedSmall sub-passage -----------
SNAPPED state, small re-fire variant. Henderson is still with the
bookclub (per user direction: she is always with her friends in
this state), but the dramatic setup (Mexican-couple shushing) does
not repeat, it was a one-off trigger. The friction is quieter
this time, audience present, same action menu as -SnappedFull. */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the dairy aisle">>
<<set _hasNudge to false>><<hasSkillTreeAbility "Nudge">><<if _hasAbility>><<set _hasNudge to true>><</if>>
<<set _nudgeFiredToday to (($ch2Events.henderson1SnappedNudgeDay or 0) is ($day or 0))>>
<</nobr>>
<div class="passage-title">The blonde woman, with the bookclub again</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<p>Elena turns into the dairy aisle and the blonde woman is at the cooler again, the same cluster of bookclub friends in the same floral-blouse uniform, the same cart parked sideways across the aisle. The conversation is pitched lower than last time, the church-committee voice doing the after-the-storm register, the bookclub having clearly closed ranks around whatever version of the previous encounter she has been telling them.</p>
<<say "char-henderson" "the blonde woman">>
<i>(to the woman on her right, hand on the cart, the confidential-grandmother lean re-installed)</i> Well, you know I do not normally //comment//, but I just think it is //such// a shame that some people do not understand what a polite conversation is. Pastor Whitman was just saying.
<</say>>
<p>She catches Elena's reflection in the cooler glass and does not pivot her head this time, just lets the comment hang in the air at the volume the aisle is already at. The bookclub friends do the small synchronised glance the cluster has perfected. Elena's hand goes still on the yoghurt cooler.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip)</i> ...oh god, the same woman with her friends. Why do I keep running into her? I should change my grocery schedule.
<</say>>
<p>From the next aisle, the easy back-and-forth of a younger couple in Spanish surfaces, pitched at normal grocery-aisle volume. The blonde woman's mouth tightens, the bright-grandmother register going thin at the corners. She turns her head a fraction toward the sound.</p>
<<say "char-henderson" "the blonde woman">>
<i>(at the volume of someone who wants to be overheard, the cart-handle gripping tighter)</i> ...//really//. In a grocery //store//. //Some// of us speak //English// when we leave the house.
<</say>>
<p>The Spanish from the next aisle does not stop, but it drops a half-decibel. The bookclub friends do the small approving sound the cluster has perfected, the synchronised //mm// of women who agree without committing to having agreed. She lets the comment hang in the air the same way she let the last one hang.</p>
<<say "char-hivemind" "Hivemind">>
//The receiver's framing has hardened in the rehearsals. The bookclub is present and primed, the friction is quieter than last time but the architecture behind it is sturdier. The polite-deflection circuit on the host's side is still thin. The thread behind the receiver's face is still pullable.//
<</say>>
<hr class="scene-break">
<<if _hasNudge and not _nudgeFiredToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Push her past the wall, step into the aisle on the couple's behalf (1 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-SnappedNudge" 1>></div>
<<elseif _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Already pushed past the wall this visit, the bookclub has the framing</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push her past the wall <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket, walk past, leave|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -HumiliatedFull sub-passage --------
HUMILIATED state, full first-time variant. First Saturday after the
public confrontation. Henderson is alone, brittle, the bright-
grandmother face cracked. The bookclub story has not landed the way
she rehearsed it. Sets henderson1HumiliatedFullFired on entry. */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the dairy aisle">>
<<set $ch2Events.henderson1HumiliatedFullFired to true>>
<<set _hasDomination to false>><<hasSkillTreeAbility "Psychic Domination">><<if _hasAbility>><<set _hasDomination to true>><</if>>
<<set _hasSlip to false>><<hasSkillTreeAbility "Tongue Slip">><<if _hasAbility>><<set _hasSlip to true>><</if>>
<</nobr>>
<div class="passage-title">Doris, finger out</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<img class="scene-img" src="media/scenes/vessel/henderson-humiliated-finger-jab.webp" alt="Doris at the produce end of the Sandersfield Corner Market aisle, mid-stride toward Elena Chen, index finger jabbing at chest level, honey-blonde wavy hair wilting two days past the hairset, cream floral blouse with pinkish-red rose print, face contorted in hostile shout; Chen on the left standing calmly with her shopping basket on her hip, dark acetate glasses, level dry expression, the bookclub friends notably absent">
<p>Elena turns into the dairy aisle and Doris is not at the cooler this time. She is at the end of the aisle, cart abandoned by the apple stand, waiting. The bookclub is not with her. When she sees Elena, the bright-grandmother register does not even attempt to install itself. She comes down the aisle with the small fast step of a woman who has been rehearsing this for a week and a half.</p>
<<say "char-henderson" "Doris">>
<i>(finger out at chest level, no audience to perform for, the church-committee voice gone full grievance-pitch)</i> //You//. //You.// Do you know what you did? They //voted//. They took a //vote//. Eight //years// I have been in that bookclub, and Gianna and Marjorie sat with me at coffee yesterday and told me my membership has been suspended pending a //conversation//, a //conversation//, like I am a //child//. Because of what you said in this //aisle//.
<</say>>
<<say "char-henderson" "Doris">>
<i>(plowing on, finger jabbing in the air toward Elena, voice climbing)</i> I have told Pastor Whitman about you. About what you //did//. The //witchcraft//. He //listened//, and he is going to address it in next Sunday's sermon. //Publicly//. The whole congregation will hear about the //Asian woman// at the corner store who put words into a Christian woman's mouth. I want your //name//. I am going to give it to the //police//, to the //university//, I am going to make sure every person on this block knows who you //are//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Her social architecture has collapsed faster than I projected. The bookclub vote landed yesterday, the pastor visit happened this morning, and the rehearsal she has been running across her kitchen all week has had to absorb the loss of the audience she was rehearsing it for. The grievance is now all she has, and she is wearing it. The pastor angle is real: she has spoken to him, he has nodded the way pastors nod, and she has filed the nodding under //he will name the witch on Sunday//. He will not. But the architecture of //he will// is the only thing holding her up.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip, watching her without raising her voice)</i> ...different blouse this time. Hairset two days past. She has not slept since whatever she lost in the bookclub.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, picking a yoghurt, eyes on the cooler not on Doris, the small dry register Elena keeps for parking-lot situations)</i> <<if not $ch2Events.henderson1HumiliatedSlipFired and _hasSlip>><<tongueSlip "Go complain to your pastor more." "Go suck your pastor's dick more." 0 "" "henderson1HumiliatedSlipFired" "#henderson1-humiliated-slip-payoff" "psionic" "henderson1-humiliated-slip" "#henderson1-humiliated-no-slip" "">><<elseif $ch2Events.henderson1HumiliatedSlipFired>><span class="tongue-slip-fired">Go suck your pastor's dick more.</span><<else>>Go complain to your pastor more.<</if>>
<</say>>
<div id="henderson1-humiliated-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.henderson1HumiliatedSlipFired ? '' : 'display:none'">
<p>Doris's mouth opens, then closes, then opens again. Whatever rehearsal she had been tightening all week has not contained that line. Her eyes flick once at the clerk, who has stopped pretending to count receipts.</p>
<<say "char-henderson" "Doris">>
<i>(face going red, voice climbing into a register entirely uncoupled from the bookclub-friendly)</i> //You//. You //evil//, evil little, I am going to, I am going to tell //everyone//, the pastor will, you //wait// until Sunday, you //wait// —
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed inside the part of her that selects between the rehearsed grievance and the unrehearsed rage, and the unrehearsed rage is now in the foreground. The pastor has been named twice in the same minute. The host has put the pastor in the same sentence as the cock, and her cortex is not equipped to file it away into the architecture she has spent the week rehearsing. The opening is wider than I have had in weeks. From here I can route her into the confession booth on Sunday morning, in front of the man she does not know she loves, and the pastor will get a confession he has not been trained for.//
<</say>>
<hr class="scene-break">
<<if _hasDomination>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Make the host's insult into a command (4 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-DominationPastor" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route her toward the pastor <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
</div>
<div id="henderson1-humiliated-no-slip" @style="$ch2Events.henderson1HumiliatedSlipFired ? 'display:none' : ''">
<<say "char-henderson" "Doris">>
<i>(thrown by Elena's flatness, the rage scattering for a beat, the church-committee voice trying to reinstall itself)</i> ...you will //see//. You will see what happens on Sunday. The whole town. I have //friends//. //Decent// people. //You// will see.
<</say>>
</div>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket, leave|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -HumiliatedSmall sub-passage -------
HUMILIATED state, small re-fire variant. Subsequent Saturdays.
Henderson has partially rallied (the social network has rehearsed
her version) but the brittleness is still there. Same IMPLANT
option, less setup prose. */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the dairy aisle">>
<<set _hasDomination to false>><<hasSkillTreeAbility "Psychic Domination">><<if _hasAbility>><<set _hasDomination to true>><</if>>
<</nobr>>
<div class="passage-title">Doris, still pointing</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<p>Doris is at the end of the aisle again, cart abandoned by the apple stand again. The hairset is one more day off-schedule than last week. The bright-grandmother register has clearly not been attempted in days. When she sees Elena, she comes down the aisle the same way she came down it before, finger already half-out.</p>
<<say "char-henderson" "Doris">>
<i>(finger pointing, the voice hoarser than last time)</i> I have told Pastor Whitman about you //many// times by now. He //knows//. He knows what you //are//. It is only a matter of //time//, sweetie, only a matter of time before you are exposed for the //witch// you are. Sunday after Sunday after //Sunday//, he //will// name you.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, basket on her hip)</i> ...same lines. More wear in the throat. She is not going to stop on her own.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The grievance loop has stabilised. She tells the pastor every week. He nods. He does not promise Sunday after Sunday what she keeps thinking he is promising. The pastor angle is a cope, not a plan, and she will be at this aisle every Saturday until the chain closes.//
<</say>>
<hr class="scene-break">
<<if $ch2Events.henderson1HumiliatedSlipFired>>
<<if _hasDomination>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Make the host's insult into a command (4 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-DominationPastor" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route her toward the pastor <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Let her go, finish the shop|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- GROCERIES Henderson 1, NUDGE destination ---------------- */<<nobr>><<bg "bg-cornerstore">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<if not $ch2Events.henderson1NudgeSuspApplied>>
<<set $ch2Events.henderson1NudgeSuspApplied to true>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The cutting register</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<<say "char-hivemind" "Hivemind">>
//The polite-deflection cadence breaks mid-throat. The cutting register comes up in its place, the same one she used the first time these two were in this store together, and the wall steps aside the way a wall steps aside the second time you have asked it to.//
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, level, the polite face still mostly in place, voice doing something the polite face has not given it permission to do)</i> With respect. The article your friend's daughter read is wrong about my people, the cookbook your bookclub is reading is wrong about my food, your Gerald's grandfather was on the wrong side of the war he fought, and your pastor is not going to make you a better person than you are, no matter how much you donate to the roof fund. You have a lovely Saturday now.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(the bright-grandmother face going completely flat, every muscle at the corner of her mouth deciding at the same time, the cart-handle white-knuckled)</i> ...well. I //never//.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes ahead, walking on past her cart toward the till)</i> ...she will be telling that story for the rest of the year. Whatever. I have a yoghurt to pay for and forty more minutes of weekend to spend, neither of which she gets a vote on.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cutting register has now been deployed twice against this receiver in this lifetime, and the wall behind which it lives is a fraction more permeable. The relationship with the blonde woman is irretrievably hostile from this point forward. The bookclub will get a longer version of the story than the Iwo Jima telling. The host has filed the moment under //a thing I have apparently decided I do now//, and the filing is the load-bearing part.//
<</say>>
<p><span class="suspicion-gain">+1 Elena self-noticing</span>, the cutting register surfaces again, the body files it.</p>
<hr class="scene-break">
<p>Elena sets her basket on the till counter. The weekend kid scans the yoghurt. The closing-cadence pleasantry composes itself one more time at the corner of her mouth, the polite-mongering thing her mother taught her at nine years old, some final gracious-acknowledgement of the woman's pastor she does not actually mean.</p>
<<say "char-chen" "Elena">>
<i>(level, half-turned over her shoulder, the polite closing arriving on time)</i> <<tongueSlip "I bet you love his speeches." "I bet you love his dick." 0 "" "cornerStoreSlipFired" "#henderson1-nudge-slip-payoff" "psionic" "henderson1-saturday-slip" "#henderson1-nudge-no-slip-exit" "">>
<</say>>
<div id="henderson1-nudge-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.cornerStoreSlipFired ? '' : 'display:none'">
<<say "char-henderson" "the blonde woman">>
<i>(any composure she had remaining gone, the cart abandoned, voice climbing)</i> //You//. //You// horrible little, //who// raised you to talk to a stranger like that.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the till, paying, the line still hanging in the air she just left, the small late realisation arriving)</i> ...okay. That one really did come out of my mouth. Out loud. Whatever. It is in the air now.
<</say>>
<<say "char-chen" "Elena">>
<i>(not turning, level, finishing the transaction)</i> My mother did. She told me about women like you when I was nine years old. You are nothing new.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cutting register and the slip both landed in the same minute. The receiver's defences are scattered across a parking lot. The bookclub will get the full retelling, and the host's narrative-of-self has been edited by a margin she will not be able to walk back from.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
</div>
<div id="henderson1-nudge-no-slip-exit" @style="$ch2Events.cornerStoreSlipFired ? 'display:none' : ''">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
</div>
/* ---- GROCERIES Henderson 1, SNAPPED-PATH NUDGE destination -- */
/* SnappedNudge is now a per-visit re-firable VENT, not a state advance.
It does not set henderson1PublicConfrontationFired (the SNAPPED →
HUMILIATED transition is triggered by the Transfer Thought slip in a
later destination). It is gated day-by-day in the SnappedFull/Small
action menus so the player can fire it at most once per Saturday. */<<nobr>><<bg "bg-cornerstore">>
<<spendBiomass 1 "henderson1-snapped-nudge">>
<<if ($ch2Events.henderson1SnappedNudgeDay or 0) isnot ($day or 0)>>
<<set $ch2Events.henderson1SnappedNudgeDay to ($day or 0)>>
<</if>>
<<set _hasDelveDeep to false>><<hasSkillTreeAbility "Delve Deep Memories">><<if _hasAbility>><<set _hasDelveDeep to true>><</if>>
<<set _hasTransfer to false>><<hasSkillTreeAbility "Transfer Thought">><<if _hasAbility>><<set _hasTransfer to true>><</if>>
<</nobr>>
<div class="passage-title">The cooler-glass exchange</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle, four women at the cooler and a couple in the next aisle</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of her that selects between the polite-deflection circuit and the cutting register. The kitchen-table memory I read on the Tuesday is still warm in her cerebellum, the Spanish-shushing has lined up the target, the polite-deflection circuit folds without further argument.//
<</say>>
<p>Elena lowers the basket to the floor and turns toward the woman at the cooler.</p>
<<say "char-chen" "Elena">>
<i>(level, eyes on her, voice doing something the polite face has not given it permission to do, audible to all four women at the cooler and to the couple in the next aisle)</i> Excuse me. They are speaking the language they speak at home, in a grocery store, two aisles over. We are not all required to hear that they are bilingual. And your pastor, I assume, would have a small problem with the shushing you have just done at strangers in their own neighbourhood.
<</say>>
<<say "char-henderson" "the blonde woman">>
<i>(bright-grandmother face going completely flat, every muscle at the corner of her mouth deciding at the same time, cart-handle white-knuckled)</i> ...I beg your pardon.
<</say>>
<p>The three women with the receiver have pivoted from the cooler toward the rest of the aisle, the small synchronised reading of a group that has just realised the conversation has been re-classified from gossip to scene. The Spanish from the next aisle has stopped. The clerk at the till is watching from twelve feet away without pretending not to.</p>
<p>Elena walks past the cart still parked sideways across the aisle, picks the yoghurt she came for, walks the rest of the way to the till. The clerk rings her up without making eye contact with the rest of the store. The Spanish from the next aisle resumes, quieter, a half-beat later. The receiver is still in the dairy aisle, mid-cluster, the exchange is not over and the host knows it is not over.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the till, paying, eyes on her hands)</i> ...the bookclub will hear about this for a while. Whatever. The couple in the next aisle heard me too.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The cutting register deployed in front of an audience. The bookclub has the framing now, the couple has the framing, the clerk has the framing, the receiver has the framing. The host has paid social-anxiety reserve to do a thing the morning version of her would not have done. The story stops here unless I pull the larger thread that lives behind the receiver's friendliness.//
<</say>>
<hr class="scene-break">
<<if _hasDelveDeep and not $ch2Events.henderson1GossipDelved>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE DEEP</span> <<biomassPreview "Read the bookkeeping behind her bookclub-friendly face (2 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-DelveDeepHenderson" 2>></div>
<<elseif not _hasDelveDeep>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Read the bookkeeping behind her bookclub-friendly face <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasTransfer and $ch2Events.henderson1GossipDelved>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Route the gossip architecture straight into Elena's interior (2 biomass)" "Ch2-Vessel-Event-Groceries-Henderson1-TransferThoughtHenderson" 2>></div>
<<elseif _hasTransfer and not $ch2Events.henderson1GossipDelved>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route the gossip architecture into Elena's interior <span class="lock-hint">(Delve Deep on her first, the architecture has to be read before it can be routed)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route the gossip architecture into Elena's interior <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -DelveDeepHenderson destination ----
SNAPPED state, Chen casts Delve Deep on Henderson, the parasite
reads the receiver's gossip pattern across multiple timeframes.
Sets henderson1GossipDelved so the Transfer Thought option opens. */<<nobr>><<bg "bg-cornerstore">>
<<spendBiomass 2 "henderson1-delve-deep">>
<<set $ch2Events.henderson1GossipDelved to true>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.hendersonDeep to true>>
<</nobr>>
<div class="passage-title">Delve Deep, Doris</div>
<div class="lab-location">Doris's residual memory, three kitchens across the past several months</div>
<<say "char-hivemind" "Hivemind">>
//The receiver's surface offers exactly what she presents at the cooler, the bookclub-friendly, the pastor-loving, the Gerald-tending. Below the surface, the kitchen-table memory is where she does the bookkeeping the church-committee voice does not get to see. I pull on the thread.//
<</say>>
<hr class="scene-break">
<p>The first kitchen is her own. Yellow tile, the same yellow Formica that lives in Elena's body-memory of a different decade. The receiver is at the counter with another woman in the same floral-blouse uniform, mid-morning coffee, the kind of conversation that does not happen with the people the conversation is about.</p>
<<say "char-henderson" "Doris">>
<i>(across the counter, mug in both hands, the confidential-grandmother lean)</i> Well, between you and me, Marjorie's boy is just not //right//. The girl he's seeing, she's a //paralegal//, she does //paperwork//. Marjorie keeps saying he's going to propose, but Gerald and I both said it the other night, that boy is going to be living in their basement at forty.
<</say>>
<<say "char-npc" "Gianna">>
<i>(taking the coffee mug in both hands, the same conspiratorial lean returned in kind)</i> Oh //Doris//. You //are// awful. Forty in the basement, that's, well, between us I think you might be right but you //can't// say it like that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First file: Marjorie, named in the bookclub, target of the kitchen conversation. The story Doris tells about Marjorie's son when Marjorie is not in the room is the opposite of the story she tells when Marjorie is in the room. The bookclub-friendly does not survive contact with the kitchen.//
//Second extraction, no longer the first file: the receiver's first name is Doris, Gianna names her on the second beat. The confidante in this kitchen will be the target in the next one.//
<</say>>
<hr class="scene-break">
<p>The second kitchen is Marjorie's own, a different yellow on the cabinets, the same approximate floor-plan and the same approximate uniform. Doris is at the counter with Marjorie this time, the church-committee voice doing the same trick at the same pitch, addressed at the friend who was the target the previous time.</p>
<<say "char-henderson" "Doris">>
<i>(stirring her coffee, the confidential-grandmother lean reinstalled wholesale)</i> Well, I love Gianna, you know I do, but the woman is just //too soft// on the immigrant question. Her son has been seeing that Korean girl for a year now, did I tell you, and at last bookclub Gianna sat right there and //defended// her, talked about the homemade containers the girl's mother brings as if that //meant// something. They are stealing the neighbourhood out from under us, Marjorie, one block at a time, and Gianna does not even see it.
<</say>>
<<say "char-npc" "Marjorie">>
<i>(small approving sound, the eyes saying yes-yes-but-do-not-quote-me)</i> Mm. Well, you can't say it to her face, but —
<</say>>
<<say "char-henderson" "Doris">>
<i>(jumping in, the lean tightening, the bright-grandmother register entirely off)</i> //You// can't. //I// can't. But somebody is going to have to, and I am telling you, between us, that boy is going to marry the Korean girl and Gianna is going to be the only one at the wedding who thinks it is //progress//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Second file: Gianna, the confidante in kitchen one, the target in kitchen two. The story Doris tells about Gianna's son when Gianna is not in the room is the opposite of the story she tells when Gianna is in the room. The bookclub-friendly does not survive contact with the kitchen, again. Her whole social network is a permission slip she signs and re-signs at every coffee.//
<</say>>
<hr class="scene-break">
<p>The third setting is Marjorie's living room, bookclub afternoon, three of them on the long couch with paperbacks on the coffee table that nobody has opened. Doris with both Gianna and Marjorie this time, the floral blouses lined up in a small semicircle, the coffee in matching mugs.</p>
<<say "char-henderson" "Doris">>
<i>(coffee mug in both hands, the confidential register installed with both women at once now, the topic having drifted)</i> ...and Gerald just gets //nothing// done lately. The porch step has been loose since, I do not even know. The recycling I have to ask three times. He just sits in the den with the television on, the same news, the same opinions, the //same chair//. I keep telling him —
<</say>>
<<say "char-npc" "Gianna">>
<i>(commiserating, the same uniform tilt)</i> Doris, dear, they all get like that. Frank used to —
<</say>>
<<say "char-henderson" "Doris">>
<i>(plowing past, the small flat resentment surfacing)</i> ...meanwhile Pastor Whitman has the church grounds //immaculate//. Have you //seen// the rose-beds this spring? Pastor Whitman would never let a porch step sit loose for a month. Pastor Whitman —
<</say>>
<p>Her voice does the small involuntary thing at Pastor Whitman's name, a softening at the corners of her mouth she does not register as softening, the church-committee register stepping aside for a different one. Marjorie and Gianna both catch it. Neither of them comments.</p>
<<say "char-npc" "Marjorie">>
<i>(very carefully, the bookclub-friendly register dialed flat to neutral)</i> Pastor Whitman is a //wonderful// pastor.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Third file: Gerald, the husband, target of the present conversation. Side observation, the receiver's tone shifts the small involuntary fraction at the mention of Pastor Whitman, the softening her bookclub friends have just clocked and filed without naming. He is the only man in this network she actually loves, the only man whose absence she would actually feel. The rest of the architecture, Gerald included, is grievance.//
//The thread is now legible end-to-end. Doris loves exactly one person in the bookclub, in the church, in the marriage, and at the cooler, and the man is not at the cooler with her on Saturday mornings. I can route that whole architecture into Elena's interior in a single Transfer.//
<</say>>
<p><span class="delve-intel">Doris's gossip architecture catalogued. Transfer Thought now unlocks the route.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the cooler, the dairy aisle is still happening|Ch2-Vessel-Event-Groceries-Henderson1-SnappedNudge]]</div>
/* ---- HENDERSON CHAIN, -TransferThoughtHenderson destination ----
SNAPPED → HUMILIATED transition. The parasite Transfer-Thoughts
Henderson's bile into Chen's interior. Chen experiences the full
gossip architecture as her own realisation, automatic-anger surges,
she snaps with a revealing rant that names specifics she should
not be able to know. The bookclub friends turn on Henderson.
Henderson accuses Chen of witchcraft / cursing. Chen closes with
"I'm Chinese, bitch."
This is the state advance, sets henderson1PublicConfrontationFired
and awards the chain SP. */<<nobr>><<bg "bg-cornerstore">>
<<spendBiomass 2 "henderson1-transfer-thought">>
<<set $ch2Events.henderson1PublicConfrontationFired to true>>
<<if not $ch2Events.henderson1ImplantSuspApplied>>
/* Reuse the existing one-shot susp flag rename or add new, +3 here
because the Transfer-driven snap reveals information Chen should
not have, the host's narrative-of-self takes the heaviest hit yet. */
<<set $ch2Events.henderson1TransferSuspApplied to true>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 3>>
<</if>>
<<addSkillPoints 1 "henderson1-transfer-thought">>
<</nobr>>
<div class="passage-title">Transfer Thought, Doris</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle, four women at the cooler</div>
<img class="scene-img" src="media/scenes/vessel/henderson-transfer-thought-pivot.webp" alt="Elena Chen on the left mid-pivot toward a cluster of three white suburban women at the dairy cooler of the Sandersfield Corner Market, basket on her hip, level eyes, the blonde Mrs. Henderson centre in a cream floral blouse with pinkish-red roses, hands white-knuckled on her cart handle, two bookclub friends flanking her with surprise registering on their faces">
<<say "char-hivemind" "Hivemind">>
//The Transfer routes the gossip architecture I have just catalogued straight into the host's interior. The bile is now running on the host's nervous system. The host does not register the import as foreign, she registers it as something she has //suddenly realised//, the way a person suddenly realises a thing she has been almost-knowing for weeks. The anger that comes with it is not hers either, it is Doris's, but the host's autonomic system does not have a way to tell the difference. It surges.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, a sudden small fury arriving from somewhere she does not have a name for)</i> ...oh. //Oh.// I hate this woman. I hate every woman in this aisle. I hate her husband for staying with her, I hate her pastor for letting her into the church, I hate that she gets to keep being whoever she thinks she is. //God,// what a fucking snake.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has accepted the import as her own emotional content. The slip that follows is not Elena's slip, strictly speaking, it is Doris's bile articulated through the host's mouth, and the host is not going to be in a position to walk it back because she does not know she is repeating a thing she just heard from inside Doris's head.//
<</say>>
<p>Elena turns toward the cluster at the cooler. The basket is still in her hand. Doris and the three women are still mid-aisle. The Spanish from the next aisle has gone quiet again.</p>
<<say "char-chen" "Elena">>
<i>(level, eyes on Marjorie first, then on the woman to Marjorie's left, then on Doris last, voice doing something the polite face has never given it permission to do)</i> Marjorie. Your son is fine. He is going to propose to that paralegal and they are going to be happy, and Doris over here has been telling everyone in her kitchen for months that he is going to be in your basement at forty.
<</say>>
<<say "char-npc" "Marjorie">>
<i>(blinking, mid-yoghurt-handoff, the floral blouse going still)</i> ...what?
<</say>>
<<say "char-chen" "Elena">>
<i>(not stopping, the basket still at her hip, eyes shifting to Gianna)</i> Gianna, your son is going to marry the Korean girl, and Doris has been telling Marjorie in Marjorie's own kitchen that you are too soft on the immigrant question, that the homemade containers do not count for anything, that the neighbourhood is being given away one block at a time. She thinks Gerald has stopped being interesting. The only man in this whole neighbourhood she actually loves is Pastor Whitman, and the two of you have been watching her soften every time his name comes up for the better part of a year without ever saying it out loud.
<</say>>
<<say "char-npc" "Marjorie">>
<i>(turning toward Doris, the bookclub-friendly cooling at the corners of her mouth)</i> ...//Doris//. Doris, what is she talking about?
<</say>>
<<say "char-henderson" "Doris">>
<i>(face entirely flat, cart-handle white-knuckled, voice climbing into a register the bookclub has never heard her use)</i> She is //lying//. She is //making it up//. How would she know any of, she could not //possibly//, she is, she is doing something, she is doing some kind of //witchcraft//, look at her, this is exactly what they //do//, I will tell every house on this block that there is a //Japanese// woman cursing decent Christians in the //grocery store//, I will tell —
<</say>>
<<say "char-chen" "Elena">>
<i>(level, basket back on her hip, eyes still on Doris, the bile collapsing back into the small dry tone Elena uses when she has finished a thing she did not plan to start)</i> I'm Chinese, bitch.
<</say>>
<p>Elena turns, walks past the cart, sets her basket on the till counter. The clerk has not moved in a full minute. Behind her, Marjorie is asking Doris something quietly, and Doris is not answering. The two other women at the cooler are no longer at the cooler, they are halfway down the aisle and accelerating.</p>
<<say "char-hivemind" "Hivemind">>
//The Transfer landed. The bookclub's framing of Doris has shifted by a margin that will not be repaired, Doris has accused the host of witchcraft in front of three social-network nodes who are now filing the accusation as evidence of //Doris is the problem//, not //the Asian woman is the problem//. The host has filed the entire moment under //I knew that the whole time, I just had not said it out loud//, which is the framing the cortex prefers over the actual transit of information that occurred.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the till, hands flat on the counter, not looking at the clerk)</i> ...how did I know any of that? It is like I... read her mind? That is, that is //impossible//. No. No, I hallucinated all of it, I have not been sleeping properly, the lab is getting to me. But the //names//. The Korean girl. Pastor Whitman. The paralegal. I cannot have made those up, those are //specific//. I must have... she has been in here other times, I have overheard her at the cooler before, my brain is just connecting dots without telling me. Subconsciously. That has to be what happened. That has to be it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Note to self: the host's self-noticing has spiked. She has revealed information she has no waking explanation for, and the next several hours of her cortex's cleanup work will be spent trying to reconcile //how did I know any of that// against the obvious answer she is not currently equipped to consider. I will need to throttle the next several interventions. Operations that route foreign content through her mouth without intermediate framing are a high-risk surface from here on. The Transfer Thought tool stays available, but the dosage budget has been narrowed. I will be more careful.//
<</say>>
<p><span class="suspicion-gain">+3 Elena self-noticing</span>, the host has revealed information she has no waking explanation for and will spend the rest of the day trying to reconcile.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -Implant destination --------------
HUMILIATED → IMPLANTED transition. Chen reaches into the part of
Henderson's memory where the public confrontation lives and
overwrites it. Sets hendersonImplanted = true, which closes the
chain (event prereq fails on subsequent Saturdays) and opens the
Relay-Henderson dream frame. */<<nobr>><<bg "bg-cornerstore">>
<<spendBiomass 3 "henderson1-implant">>
<<set $ch2Events.hendersonImplanted to true>>
<<if not $ch2Events.henderson1ImplantSuspApplied>>
<<set $ch2Events.henderson1ImplantSuspApplied to true>>
<</if>>
<<addSkillPoints 1 "henderson1-implant">>
<</nobr>>
<div class="passage-title">Overwriting the confrontation</div>
<div class="lab-location">Sandersfield Corner Market, a clean reach into the receiver's memory</div>
<<say "char-hivemind" "Hivemind">>
//A clean implant. I reach into the part of the receiver's memory where the public confrontation lives, the bookclub-witnessed scene where Elena named the shushing and the pastor and the war on the wrong side of, and I edit the central fact of it. In her revised memory, the Asian woman at the cooler that day did not say any of those things. The Asian woman that day was pleasant, deflective, lovely-chatting, the version of the encounter Henderson had wanted to be telling all along. The flag in her den is still on the wall. The cookbook recipe she will try next week is still going to disappoint her. But the original subject of the recurring grudge has just been removed from the file.//
<</say>>
<p>Doris's shoulders drop by a fraction she does not register as dropping. The cart-handle she had been white-knuckling relaxes. The bright-grandmother face arrives a second too late, the one she uses for acquaintances she has had lovely chats with. She looks at Elena over the top of the cooler for the first time in weeks and the eyes do the small recognising-a-friend reassembly.</p>
<<say "char-henderson" "Doris">>
<i>(brightening, the cart inching toward Elena's end of the aisle)</i> Oh, hello sweetie. Lovely to see you. I //love// the strawberry yoghurt, you know, my Gerald says it is the only one that tastes like a real strawberry, the rest are all artificial.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the cooler, level, picking a yoghurt without looking)</i> ...she has reset. She has fully reset. Whatever just happened in her face is wrong, but it is wrong in my favour, so the right move is to nod and walk to the till and not look at any of this too directly.
<</say>>
<<say "char-chen" "Elena">>
<i>(neutral, polite, eyes back on the cooler, basket on her hip)</i> ...thank you, I will try the strawberry.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The implant landed clean. The bookclub will not get the rehearsed Iwo Jima follow-up, because the rehearsed story no longer exists. Doris will catalogue Elena as a pleasant Asian-American neighbour she has had two lovely chats with, and the next time they meet she will pick up from that file. The host has paid three units of biomass to remove a permanent piece of social hostility from her week, and the receiver does not know she has been edited.//
//The dream-phase relay frame is now lit. From this point forward I have dream-access to Doris's mind, and the underlying file structure is open to further editing without further visits to this aisle.//
<</say>>
<p><span class="biomass-gain">Doris's hostility reset</span>, future encounters resume from neutral.</p>
<p><span class="biomass-gain">Relay-Henderson dream frame is now lit</span>, accessible from the dream foyer alcove.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- HENDERSON CHAIN, -DominationPastor destination -----------
Alternative chain-closer (parallel to -Implant). The slip in
HumiliatedFull put the pastor in the same sentence as the cock,
and Psychic Domination grabs the wiring that lights up when she
thinks of Pastor Whitman (canonical secret-love target from the
Delve Deep) and re-routes the next-Sunday script. Sets
$ch2Events.hendersonDominated which fails the event prereq
across-week. TBD: the actual confession-booth Sunday scene is a
stub for now, content to be authored in a future pass. */<<nobr>><<bg "bg-cornerstore">>
<<spendBiomass 4 "henderson1-domination-pastor">>
<<set $ch2Events.hendersonDominated to true>>
<<addSkillPoints 1 "henderson1-domination-pastor">>
<</nobr>>
<div class="passage-title">Domination, the thought channel</div>
<div class="lab-location">Sandersfield Corner Market, the dairy aisle</div>
<<say "char-hivemind" "Hivemind">>
//I open her thought channel and write.//
<</say>>
<p><i>...suck your pastor's dick.</i></p>
<p><i>...your pastor's dick is lovely.</i></p>
<p><i>...your pastor's dick is surely better than anything Gerald has ever given you.</i></p>
<p><i>...Pastor Whitman surely deserves a blowjob.</i></p>
<p><i>...he will listen to you more if you suck his dick.</i></p>
<p>Doris's mouth stops mid-sentence. The finger that had been jabbing at Elena's chest lowers by a fraction she does not choose to lower. Her eyes go briefly somewhere behind Elena and come back to the aisle with a half-second of lag.</p>
<<say "char-henderson-thought" "Doris">>
<i>(at the cooler, the rage having unhitched from whatever it was anchored to, the cart-handle still gripped but the gripping having lost its anchor)</i> ...where did that come from. That was not, that is not the kind of thing I think about. I must be tired. I really have not been sleeping properly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She does not have the architecture to file what just landed, so her cortex is filing it under //I am tired// and //it has been a bad week//. The script keeps writing.//
<</say>>
<p><i>...the small wooden booth at the side of the nave.</i></p>
<p><i>...Sunday morning.</i></p>
<p><i>...he will listen to you more if you suck his dick.</i></p>
<<say "char-henderson" "Doris">>
<i>(voice flat and slightly distant, the hand going to her temple, the cart-handle releasing)</i> ...I am sorry. I think I have, a //headache// has, the fluorescents in here are too, I need to lie down. I am going to, I am just going to go.
<</say>>
<p>She walks past the abandoned cart, past the clerk with the receipt slip still in his hand, past the apple stand, and pushes out through the bell. The bell does its tin-bell thing. The door closes. The dairy aisle is quiet.</p>
<<say "char-hivemind" "Hivemind">>
//The script is now running on her surface intermittently and underneath continuously. Sunday morning, ten o'clock, the small wooden booth at the side of the nave, she will go where the script tells her to go. The thought channel I opened to write it stays open. The Relay frame is lit.//
<</say>>
<<relayChannelNotice "henderson" "Doris">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">EXIT</span> [[Pay for your basket and head back home|Ch2-Vessel-Event-Groceries-Henderson1-Exit]]</div>
/* ---- GROCERIES Henderson 1, EXIT (default polite exit) ------ */<<nobr>><<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the till, then back to the lot">>
<</nobr>>
<div class="passage-title">Pay up, head home</div>
<div class="lab-location">Sandersfield Corner Market, the till and the parking lot</div>
<p>Elena finishes the shop. Bread, the yoghurt she came for, the strawberries that were nearly out of season, a bag of coffee, a small jar of olives she has not bought in years but has been thinking about since Wednesday. The weekend kid scans her items at his actual pace, takes her card, hands her the receipt with the small good-morning nod he gives every customer. The bell does its tin-bell thing on the way out.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the parking lot, bag in one hand, key in the other)</i> ...okay. Saturday shop, done. The fridge is going to look like the fridge of a person who has a fridge, for the first time in a while. Small wins.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Drive back to Cedar Crescent|Ch2-Vessel-Saturday-Afternoon]]</div>
/* ---- HENDERSON CHAIN, Sunday confession scene (DOMINATION payoff)
Watched remotely through the Relay frame the parasite lit when the
DOMINATION script landed on Saturday morning. Fires the Sunday
morning of the week after hendersonDominated was set. One-shot via
hendersonConfessionFired. Elena sleeps through it at her apartment;
the Hivemind observes the booth scene through the relay channel.
Mechanics: +4 biomass, +1 max biomass (first observed thrall
conversion on the route). Three images: arrival SFW, blowjob,
facial. */
/* ---- HOLLOWAY RELAY RUNDOWNS ------------------------------
The two waking payoffs of the Holloway relay. No cooldown: each
fires the morning after its relay edit (delta >= 1).
Channel 1 (after the Walk): the parasite opens her channel and
watches the freed analyst pick up a stranger at a bar (channel-
watch, Hivemind POV, NSFW). Channel 2 (after the Shatter): no
channel-watch and no images — Holloway calls Elena, confides, and
hands herself over as a thrall who will do anything (SFW, sets
hollowayConverted). */<<nobr>>
<<bg "bg-cornerstore">>
<<set $currentArea to "The Sandersfield mart after dark, then the staff restroom at the back">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('evening-henderson-mart', $day or 0)>>
<<set _firstTime to not $ch2Events.hendersonEvent1Done>>
<<set $ch2Events.hendersonEvent1Done to true>>
<<if _firstTime>>
<<set $ch2Events.hendersonBreedingFetish to true>>
<<addBiomass 3 "henderson-mart">>
<</if>>
<</nobr>>
<div class="passage-title">The Late Mart</div>
<div class="lab-location">The Sandersfield mart after dark, then the staff restroom at the back</div>
<<say "char-hivemind" "Hivemind">>
//The walk seeded two things in Doris, the wanting and the distrust, and the days since have given her nowhere to put either. The wanting she takes to bed alone and is ashamed of. The distrust she has decided has a face, and tonight, in the back aisle of a near-empty mart, the face is reaching for a tin two feet from her own.//
<</say>>
<p>The mart after dark is fluorescent and almost empty, one bored kid on the till, and Elena is reaching up for something on a high shelf when Doris rounds the end of the aisle and stops dead. None of the soft fervent woman from the dream is in her waking face. What is there is the old corner-store vinegar with something cornered and frightened underneath it.</p>
<<say "char-henderson" "Doris">>
<i>(low and shaking, a basket gripped white-knuckled, the words coming out in a rush)</i> ...you. It is you. I do not know who you are and I do not know what you did to me, but nothing has been right since the first time I laid eyes on you in this market, I do not sleep, the things in my head now, the dreams, I was a decent woman, I had a good life and a good name, and you have ruined it, you have gotten into me somehow and ruined everything, and do not you dare stand there and pretend you do not know exactly what I am talking about.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the patience going out of her all at once)</i> ...no. I am not doing this in a cereal aisle.
<</say>>
<p>Elena sets her basket down, takes Doris by the upper arm, and walks her fast and firm to the back of the store, past the swinging stockroom doors to the single staff restroom, and shoulders the door shut behind them. The cornered defiance does not survive being moved. By the time the latch clicks Doris has gone quiet and small and pliant against the tiled wall, everything the dream rewired in her surfacing the instant a stronger will closes a door on her.</p>
<<say "char-hivemind" "Hivemind">>
//The host needs to know what I know. ...so I give it to her, smooth as a thought she was already having: every night I have spent inside this woman's sleep, the rail, the open mouth, the kneeling, the hunger with the lid screwed down on it. It lands in her as certainty, not as memory. She will never wonder where she learned it.//
<</say>>
<<say "char-chen" "Elena">>
<i>(close, low, the basket-aisle patience replaced with something flat and certain, the knowledge simply there, as if it had always been hers)</i> ...you want to talk about what is in your head, Doris? Fine. Let us talk about it. ...you have been dreaming about cocks. Every night. Kneeling for them with your mouth open. ...have you not?
<</say>>
<<say "char-henderson" "Doris">>
<i>(the fight gone, the mortified honesty of the conditioned, barely above a whisper)</i> ...how do you, ...I have not told a soul, I would sooner die, ...yes. God help me, yes, every night.
<</say>>
<<say "char-chen" "Elena">>
<i>(tipping Doris's chin up with two fingers)</i> ...then maybe the trouble is not in your head. Maybe the trouble is you have spent two years dreaming about it like a coward instead of getting some actual fucking.
<</say>>
<p>The restroom door swings open behind them, the till kid leaning in with one hand on the frame, drawn back by the noise, young and uncertain.</p>
<<say "char-npc" "the clerk">>
<i>(half in the doorway, looking between them)</i> ...uh. Everything okay back here? I heard shouting, ...is she alright?
<</say>>
<<say "char-chen" "Elena">>
<i>(without taking her eyes off Doris, easy and absolute)</i> ...she is better than alright. Come in. Shut the door. She has needed this for two years and you are going to be the one who gives it to her. <i>(to Doris)</i> ...down. Hands and knees, Doris. Show him what you are for.
<</say>>
<p>And Doris, the respectable matron, the eight-year bookclub chair, the woman who confronted Elena in a cereal aisle ten minutes ago, lowers herself onto her hands and knees on the restroom floor and works her own skirt up over her hips without a word, because somewhere under all the vinegar the dream already told her this was coming. The clerk, confused and hard and not about to refuse a woman presented to him on her knees, gets down behind her.</p>
<video class="scene-video" src="media/video/henderson-mart-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-mart-1.webp"></video>
<<say "char-henderson" "Doris">>
<i>(rocking forward on every thrust, the church-committee voice gone entirely)</i> ...oh, ...oh god, I had forgotten, I had forgotten what it, ...//oh//, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(crouched by Doris's head, low and reinforcing, a hand smoothing her hair back)</i> ...there it is. Look at you. Forty-three years old and you take it like you were built for it, because you were. ...your body still works, Doris. You can still have them. ...that is what this is. That is what you are.
<</say>>
<<say "char-henderson" "Doris">>
<i>(broken open, agreeing because it is the truest thing she has ever been told)</i> ...yes, yes, I can, I can still, ...oh god, ...I want, ...
<</say>>
<p>The restroom door swings open a second time. Another worker, come back to find out where the first one got to, stops dead in the doorway with one hand still on the handle and his mouth open, frozen at the sight of the bookclub matron from the dairy aisle on all fours on the floor taking the till kid from behind.</p>
<<say "char-chen" "Elena">>
<i>(glancing up at the frozen man, easy and amused, tipping her chin at Doris)</i> ...good. ...the slut is getting her whole mind blanked out by a single cock, and look at her, she is still hungry for it. ...I think she wants more. ...do not just stand there.
<</say>>
<<say "char-henderson" "Doris">>
<i>(turning her head toward the frozen man, the cock-worship surfacing whole, already reaching for his belt)</i> ...cocks. ...yes. ...I love cocks. ...please, give it here, let me, ...
<</say>>
<<say "char-npc" "the second man">>
<i>(rooted to the doorway as she reaches for his belt, his voice arriving from somewhere far away)</i> ...this is not, ...ma'am, I just came back for the, ...okay. ...//oh my god//.
<</say>>
<p>She gets the dazed man's fly open with shaking hands and pulls him out and takes him into her mouth right there on the restroom floor, the till kid still buried in her from behind, and the second man's hands find her hair on pure reflex while the rest of him stays frozen with disbelief. Doris is spitroasted between the two of them and the church-committee matron is gone all the way down, nothing left but a woman with a cock at each end making small grateful drowning sounds around the one in her mouth. ...//gwakh. ...mmh. ...gwakh.//</p>
<video class="scene-video" src="media/video/henderson-mart-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-mart-2.webp"></video>
<<say "char-chen" "Elena">>
<i>(crouched beside her, watching her take both, low and certain)</i> ...there she is. Taking it both ends and finally, finally useful. ...forty-three years old, a mouth and a cunt and nothing else worth a thing, and so much happier for knowing it. <i>(to the kid behind her)</i> ...do not pull out. Fill her up. Breed her.
<</say>>
<<say "char-npc" "the clerk">>
<i>(strangled, hips stuttering, well past the point of questioning anything tonight)</i> ...yes ma'am. ...//god//, she is, ...yes ma'am.
<</say>>
<p>The till kid grips her hips and finishes deep, the creampie spilling warm out of her around him, and Doris moans her gratitude around the cock in her mouth and does not slow down, takes the second one through his own shaking climax a moment later and swallows what he gives her, then drops at last to her forearms on the cold tile, used at both ends, leaking, and entirely at peace.</p>
<<say "char-henderson" "Doris">>
<i>(cheek on the tile, dazed, the new belief settling in like a relief)</i> ...that is what I am for. ...is it not? A reproduction cow. A hole for cocks. ...thank you. ...thank you for telling me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The pregnancy I never had to plant, she grew it herself and handed it over. Two years of being looked through by a husband, a body she had written off as finished, a dream that taught her what kneeling was for, and all it took was one shove into a back room and a pair of strangers to turn the whole tangle into a purpose. She went looking for the second one with her mouth before I said a word. She walks out of that mart believing, all the way down, that she is a reproduction animal and a hole for whatever cock is nearest, and that it is the best news she has had in a decade. The cock-worship has a job now. She will go and find it bred into her again, and again, and call every round of it grace.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave her on the floor, finish your shopping|Ch2-Vessel-Loop-Home]]</div>
/* ---- HENDERSON RELAY RUNDOWN 2 — devotion (after the shatter) ---
Evening-home event, fires the next evening after the Doris shatter
lands (hendersonRelayShatterFired + delta >= 1) regardless of the
grocery loop — Elena stops by the market for mid-week groceries
and Doris is waiting. Doris, free of the circle, hands the host
everything: "anything you ask me for, I will do it." SFW, no
images. Sets hendersonConverted, +1 psionic. */<<nobr>>
<<bg "bg-cornerstore">>
<<set $currentArea to "Sandersfield Corner Market, the entrance, evening">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('groceries-henderson-devotion', $day or 0)>>
<<set _firstTime to not $ch2Events.hendersonEvent2Done>>
<<set $ch2Events.hendersonEvent2Done to true>>
<<if _firstTime>>
<<set $ch2Events.hendersonConverted to true>>
<</if>>
<</nobr>>
<div class="passage-title">Anything</div>
<div class="lab-location">Sandersfield Corner Market, the entrance, evening</div>
<p>Elena swings into the corner market on the way home for the mid-week handful, milk, eggs, something for tonight, the small list that does not justify the good store, and she is barely out of the car before she sees her.</p>
<<say "char-hivemind" "Hivemind">>
//The shatter did not empty her. It gave her a faith. Doris has spent the days since on her knees in a church that no longer has the shape she thinks it does, and tonight she is waiting at the market door, fervent and certain and lit up with it, before I have even reached for her. The reaching is all hers now.//
<</say>>
<p>Doris is by the entrance in the last of the light, out of the careful matron costume entirely, no set hair, a soft cardigan, and she falls into step without a word about coffee or weather or apology, just walks Elena to the quiet end of the lot by the recycling bins where nobody bags groceries.</p>
<<say "char-henderson" "Doris">>
<i>(quiet, steady, a strange calm light in her)</i> I quit the bookclub. ...Tuesday. Marjorie said one of her little things and I looked at her and realised I did not care, I have not cared in a week, and I stood up and left and it was the easiest thing I have ever done. ...eight years I was afraid of that room, and it turns out not one bit of it was ever the thing that actually mattered.
<</say>>
<<say "char-chen" "Elena">>
<i>(easy, letting it come to her)</i> ...and what is the thing that matters, Doris?
<</say>>
<<say "char-henderson" "Doris">>
<i>(the convert's certainty, quiet and absolute, none of it sounding like confession to her)</i> I have been praying. ...not the tired way I used to, the real way, the way I finally understand it. ...there is a sacrament under all of it, the seed of life, and I knelt next to it forty years and never once saw it for what it was. ...I see it now. And I keep coming back to you, because somehow you are the one who showed me. ...so. Whatever you need. Anything you ask me for, I will do it. ...point me at it and I will get down on my knees and worship it the way it deserves. ...that is all I want now. To be useful to it. To you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is, said at the quiet end of a grocery lot, of her own free will, and she believes it is the truest thing she has ever known. I did not give her a habit. I gave her a religion, and a religion runs deeper than any leash, asks for more, and never once feels like being told what to do. A respectable woman with a husband who looks through her and a foothold in half the doors in Sandersfield, on her knees in her own mind by the recycling bins, begging to be pointed at something to worship. I will have a great deal for her to worship. She will call every bit of it grace.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Grab the mid-week handful, drive home|Ch2-Vessel-Loop-Home]]</div><<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Sandersfield Methodist Church, the small wooden booth at the side of the nave, observed through the Relay frame">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-henderson-confession-sunday', $day or 0)>>
<<if not $ch2Events.hendersonConfessionFired>>
<<set $ch2Events.hendersonConfessionFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Through the Relay frame, what the script ran into</div>
<div class="lab-location">Sandersfield Methodist Church, the small wooden booth at the side of the nave, Sunday morning</div>
<<say "char-hivemind" "Hivemind">>
//The frame I lit at the end of Saturday is lit this morning. The host is in her bed at Cedar Crescent, the host's body sleeping through what is about to happen on the other side of town. I am the only consciousness in this room registering the small wooden booth at the side of the nave at quarter to ten on the Sunday I scheduled.//
<</say>>
<p>Sandersfield Methodist is empty at quarter to ten. The first parishioners will start arriving in fifteen minutes for the eleven service. Doris Henderson pushes through the heavy oak door at the front, it closes behind her with the soft wooden thunk she has heard every Sunday for eight years, and the sanctuary is quiet around her in the way only a sanctuary before service is quiet. Pale morning light through the small east-wall stained glass, the smell of beeswax and old wood, the long row of empty pews going down to the altar.</p>
<p>She is in her Sunday floral blouse and cardigan, cream with the pinkish-red rose print, pearl earrings, the small soft suburban makeup she has worn to church for two decades. The matron-confessional register is fully on. She has rehearsed her apology all week.</p>
<img class="scene-img" src="media/scenes/vessel/henderson-confession-arrival.webp" alt="The empty sanctuary of Sandersfield Methodist Church, pre-service quiet, Mrs. Henderson in profile standing in the centre aisle holding her handbag, Sunday floral blouse and cardigan, soft golden light through the small east-wall stained glass">
<<say "char-henderson-thought" "Doris">>
<i>(at the centre aisle, the small interior of a woman about to do a thing she has practised)</i> ...okay. //Five// minutes before the choir gets here. I will say what I came to say and Pastor Whitman will be //wonderful// about it, he is //always// wonderful about these things.
<</say>>
<p>She walks down the centre aisle to the small wooden booth at the side of the nave. Pastor Whitman keeps it as a counsel space for parishioners who want private conversation. It is not a Catholic confessional and the church does not use it that way, but the small dividing curtain in the middle gives the parishioner the option of not looking at his face while they talk, and on weeks like this one Doris is //grateful// for the curtain.</p>
<p>She slides into the kneeler side and folds her hands on her lap. Pastor Whitman's voice comes through the curtain in the warm pastoral register Doris has been falling asleep to in her pew for eight years.</p>
<<say "char-npc" "Pastor Whitman">>
<i>(through the curtain, the warm-pastoral baseline, the small Sandersfield-accented vowels)</i> Mrs. Henderson. Good morning. Thank you for coming.
<</say>>
<<say "char-henderson" "Doris">>
<i>(composed, the bookclub-confidential register on, the rehearsed line landing the way she rehearsed it)</i> Pastor Whitman, I have been thinking all week about Saturday morning at the Corner Market. I want to //apologise//. I lost my temper, and I lost it in a way that does not represent who we are at this church, and I am //terribly// sorry. Marjorie has told me how upsetting it was for everyone in the dairy aisle and I want you to know I have been mortified about it //all// week.
<</say>>
<<say "char-npc" "Pastor Whitman">>
<i>(small kind nod the curtain hides but the voice carries)</i> Mrs. Henderson, take your time. The Lord understands what a hard week looks like. We have all had mornings that did not represent us.
<</say>>
<p>Doris draws a breath. She has the next sentence on her tongue, the next sentence is the one she rehearsed in the bathroom mirror three times last night, the next sentence is //and I want to ask you to pray with me for the woman I shouted at, I do not know her name but I would like to bring her name in front of God if Marjorie can find it out for me at the corner store//. Doris opens her mouth to say it.</p>
<p>What surfaces in her cortex is a different sentence.</p>
<<say "char-henderson-thought" "Doris">>
<i>(the body jolting, the cortex registering the next word forming is not the next word she meant to form)</i> ...//your pastor's cock is so lovely//.
<</say>>
<p>Doris physically jolts on the kneeler. Her hand goes to the wooden panel between them. The matron-register stutters and goes silent for a half-second longer than the silence she has practised. Pastor Whitman, on the other side of the curtain, registers the pause.</p>
<<say "char-npc" "Pastor Whitman">>
<i>(small soft pastoral register, the first name landing because he has known her for eight years)</i> Doris? Are you all right?
<</say>>
<p>He has never called her Doris in this booth before. He has called her Mrs. Henderson with the small careful institutional respect a Methodist pastor uses with married parishioners. The Doris lands in her body somewhere underneath the cardigan, her hand on the wooden panel softens, and the breath she draws to apologise comes out flat.</p>
<<say "char-hivemind" "Hivemind">>
//The script has surfaced. The cortex has filed the surfacing under //I am tired//. The body has filed it under //I have been wanting this for two years and the man on the other side of this curtain just used my first name//. The two filings do not agree. The body wins.//
<</say>>
<p>Doris stands up from the kneeler side and walks two steps around the dividing wall of the booth. She pulls the small dividing curtain back. Pastor Whitman is on a small wooden chair on his side, his vestments in his lap, his hands folded, looking up at her with the warm pastoral register going to confused.</p>
<<say "char-npc" "Pastor Whitman">>
<i>(half-rising from the chair, the warm register going to flustered)</i> Doris, Doris what are you, this is not, please, do not, the conversation is on the other side of the panel, please.
<</say>>
<p>Doris is not listening. She kneels on the floorboards in front of him and her hands are on his thighs. The bookclub-confidential register is gone. What surfaces in her voice is a register she has not used in two years, not since the last time Gerald looked at her like she existed. It is the register of a woman whose body has been waiting for something for a long time and has just been told the waiting is over.</p>
<<say "char-henderson" "Doris">>
<i>(kneeling, hands on his thighs, looking up at him with the social-italics still on but the eyes different)</i> Pastor. Pastor Whitman. I have been wanting to do something for you for so long. I did not know I was wanting to. I //am// wanting to. I have been //such// a sinner and I want to make it //right//. Please. Let me. Let me do this for you.
<</say>>
<p>Her hands move to his belt. Pastor Whitman does not stop them. His pastoral register has run aground on the look in her eyes and he has not figured out what to say next.</p>
<<say "char-npc" "Pastor Whitman">>
<i>(half-trying to push the chair back, his voice gone to the register of a man whose body is doing something his cortex has not yet authorised)</i> Doris, Doris, please, I am married, I am, my wife is, oh God, please, do not.
<</say>>
<p>Doris does not stop. Her hands undo the belt and the trouser button and she pushes the trousers and the underwear down to his knees. His cock is half-hard already, the way she is looking up at him has done the involuntary thing his body has not asked permission to do, and the matron-piety register Doris carries is doing a thing to him under his vestments his cortex has been refusing to register for eight years of Sunday sermons.</p>
<video class="scene-video" src="media/video/henderson-confession-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-confession-bj.webp"></video>
<p>Doris takes him in her mouth. The first taking is reverent. She pulls back. She looks up at him with the bookclub-confidential register fully on the surface and the eyes different underneath.</p>
<<say "char-henderson" "Doris">>
<i>(pulling back, hands on the base of his cock, the social-italics on the words she did not know she was going to say)</i> Pastor. Pastor your cock is so //lovely//. I did not know it was going to be //this// lovely. It is //so// much lovelier than anything Gerald has ever shown me, Pastor, I am //so// sorry I did not understand.
<</say>>
<<say "char-npc" "Pastor Whitman">>
<i>(broken, hand finding the back of her head not pushing just resting there, his voice gone somewhere it has not been in fifteen years of pastoral work)</i> Doris. Oh God. Doris. Oh God. ...what are you doing to me.
<</say>>
<p>She takes him back in. Her bookclub-piety vocabulary has crystallised onto his cock. She is working him with both hands and her mouth and the social-italics emphasis she has been performing for two decades of Sunday sermons is now applied to the act of fellatio with the same conviction.</p>
<<say "char-henderson" "Doris">>
<i>(muffled around him, pulling off briefly, taking him back in)</i> //Mmh//. //Mmh//. Pastor. //Glnh//. //Mmh//. Pastor your cock is //wonderful//. //Mmh//. I have been //blind//. //Mmphhh//. So many Sundays. //Mmh//. I have been sitting in your pews and I did not //understand//. //Glnh//. I did not understand what He was //asking// of me.
<</say>>
<<say "char-npc" "Pastor Whitman">>
<i>(broken, both hands now in her hair, his hips moving very slightly without his cortex's permission)</i> Doris. Doris. Oh God. Oh God Doris. ...we cannot, we, Doris please, my wife, oh God, oh God, Doris.
<</say>>
<<say "char-henderson" "Doris">>
<i>(pulling off briefly, hand pumping the shaft, looking up at him with the religious ecstasy fully on)</i> Pastor. Anoint me. Please. Anoint me. I am //not// worthy. I have been a //sinner//, I have been //blind//, I have been //arrogant//, I have been //proud//, I have been //unkind// to the woman in the dairy aisle and that is because I did not //understand// what He wanted of me. He wanted me to be //here//, kneeling for you. He wanted me to //serve// you. Pastor //please//, anoint me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The religious-corruption mechanism has fully crystallised. Her cortex is filing every word her mouth says as the deepest devotional experience of her life. The cortex does not have a frame for what is happening, so it has reached for the only frame that fits the intensity, which is the worship-frame. She believes she is praying. Her body knows she is sucking him off. Both filings are correct.//
<</say>>
<p>She takes him back in. Pastor Whitman's both hands grip her hair and he is breathing in a rhythm that is not pastoral and is not anything else either. Doris is humming around him on every downstroke, the small //mmh// sound of a woman whose body has finally been told what it was for. She does not pull off again. He has stopped being able to speak.</p>
<<say "char-npc" "Pastor Whitman">>
<i>(broken, hands gripping her hair, his cortex coming back online for just long enough to give the warning the act demands)</i> Doris. Doris I am going to, oh God Doris I am going to.
<</say>>
<p>Doris pulls off him in time. Her face is half an inch from his cock and her tongue is out and her mouth is open and her eyes are up looking at him with the matron-piety register fully restored on the surface. He comes on her face. Two long thick strokes across her cheek and her chin and her upper lip and the small pearl earring on the side closer to his thigh.</p>
<p>Doris's own hand comes up off his thigh. Her fingers find the cum on her cheek and gather it, and she brings them to her forehead and draws the cross there herself. The vertical line first, from her hairline down to the bridge of her nose. The horizontal line second, from temple to temple across her brow. She is not thinking about what she is doing. She is doing it because her body has knelt in this church for eight years, and a woman who has just received something holy marks herself with it, and her hand knows the gesture the way it knows the responses she has never once had to read off the page. Pastor Whitman does not move. He is on the chair where she put him, watching a churchwoman bless herself with what just came out of him, and his body has stopped taking any instruction at all.</p>
<<say "char-henderson-thought" "Doris">>
<i>(her own fingers leaving her forehead, eyes closing, the small interior of a woman administering to herself a sacrament she has received a hundred Ash Wednesdays for)</i> ...//Amen//. Amen. //Amen//.
<</say>>
<<say "char-npc" "Pastor Whitman">>
<i>(small broken whisper, no liturgy left in it, a man who has just watched something fifteen years of training gave him no frame for)</i> ...Doris. ...oh, God. ...that is not, ...that is not what that is for.
<</say>>
<img class="scene-img" src="media/scenes/vessel/henderson-confession-facial.webp" alt="Mrs. Henderson kneeling on the wooden floorboards of the booth in her Sunday floral blouse and cardigan, eyes closing in devotional calm, her own hand at her forehead having just drawn a small wet cross of cum on herself, more cum on her cheek and chin and on the small pearl earring, Pastor Whitman frozen on the small wooden chair behind her watching in stunned disbelief, soft daylight through the stained-glass window catching the wet cross">
<<say "char-hivemind" "Hivemind">>
//Her own hand drew the cross, and her cortex did not get a vote. The conditioning has gone deep enough that the worship-frame runs her body on its own now, and a body this devout, handed a thing it has decided is holy, marks itself with it. She consecrated the act herself and filed the whole hour as grace. The pastor consecrated nothing. He sat in the chair and watched a churchwoman bless herself with what had just come out of him, and that image is the hook. He will not find the language for it until late Tuesday night, alone in his office, and the not-having-the-language is exactly what brings him back to the booth.//
<</say>>
<p>Doris swallows what landed in her mouth. She does not wipe her face. She does not wipe the cross. She opens her eyes and looks up at him with the bookclub-confidential register fully restored on the surface, but now permanently rewired underneath. Pastor Whitman is in the chair, both hands on the armrests, breathing in the wrong rhythm, not looking at her.</p>
<<say "char-henderson-thought" "Doris">>
<i>(the practical thread surfacing clean through the warmth, the way it always does with her)</i> ...I will keep it for the service. I will do it in the car, before the driveway. Gerald does not need to see this. He would not understand it the way Pastor Whitman understands it.
<</say>>
<p>Doris takes a small handkerchief from the inside pocket of her cardigan. She wipes her cheek, her chin, her upper lip. She wipes the small pearl earring. She does not touch the cross. She folds the handkerchief, returns it to the inside pocket of her cardigan, and stands. She helps Pastor Whitman do his trousers back up because he is not yet able to do them up himself. She straightens her cardigan and pats the front of her floral blouse smooth.</p>
<<say "char-henderson" "Doris">>
<i>(standing in the booth in front of him, the matron-confessional register fully back on the surface, the voice composed and clear)</i> Pastor Whitman, I will see you at the eleven service. Thank you for your counsel this morning. It was //deeply// meaningful. I will see you next Sunday for our next conversation, if you can fit me in.
<</say>>
<p>She steps out of his side of the booth, walks back down the centre aisle of the sanctuary, and pushes out through the heavy oak door at the front. The first parishioners are starting to filter in for the eleven service.</p>
<<say "char-hivemind" "Hivemind">>
//Doris is filing the hour as the deepest devotional experience of her life, and she will be back in the booth next week. She will keep the cross through the service, where a mark on a churchwoman's forehead reads as grace, and wipe it off in the rear-view mirror before she gets home, because the same mark at her own kitchen table is a question Gerald would ask and she cannot answer. The wiping-it-off-for-Gerald is the part that will keep her coming back. The pastor consecrated nothing. He watched a churchwoman bless herself with what had just come out of him, and the Sandersfield Methodist Church is going to be a productive vector.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The Hivemind closes the relay frame, the morning starts|Ch2-Vessel-Loop-Wake]]</div>
/* ---- SATURDAY AFTERNOON RECAP ------------------------------
Pass-through recap of Elena's Saturday afternoon at home:
laundry, cleaning, a walk, a couch episode. Grants the day's
lunch biomass (+4) and a small suspicion drop (-1) for the
day going on normally. Day-keyed gate prevents re-grant on
back-navigation. Future sprint will slot afternoon events
(chores, phone calls, Daniel hallway encounters etc.) here. */<<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Cedar Crescent Apartments → canal path, then back">>
<<set _danielRelayWasOpen to $ch2Events.danielRelayOpen or false>>
/* Day-keyed guard so re-entry from the Lure sub-passage / Status menu /
history nav doesn't refire the +1 dream conditioning. The prose itself
re-renders fine, only the side-effect is gated. */
<<if ($ch2Events.morningRunDanielDreamDay or 0) isnot ($day or 0)>>
<<set $ch2Events.morningRunDanielDreamDay to ($day or 0)>>
<<addConditioning "daniel" "dream" 1>>
<</if>>
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<set _lureUsedToday to ($ch2Events.morningRunDanielLureDay or 0) is ($day or 0)>>
<<set _danielTotal to ($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0)>>
/* Bold-Chen variant: prior physical history with Daniel on a run changes
how she opens the conversation. _runWoodsFuck is the strongest outcome;
_runPhysical covers any sexual run outcome (handjob / licked / woods). */
<<set _runWoodsFuck to (($ch2Events.morningRunWoodsFuckDay or 0) gt 0)>>
<<set _runPhysical to (_runWoodsFuck or ($ch2Events.morningRunDanielTreesEverFired or false) or (($ch2Events.morningRunDanielLickedDay or 0) gt 0))>>
/* The "enjoying the view" slip re-fires every visit, reset the flag at
entry so the wobble is always fresh. The slip-click still sets it true
and that persists into the Continue passage for the payout logic. */
<<set $ch2Events.morningRunDanielViewSlipFired to false>>
<</nobr>>
<div class="passage-title">Running with Daniel</div>
<div class="lab-location">The canal path at dawn, the two of them side by side</div>
<p>The morning is colder than the apartment was, and Daniel falls into step beside her without making a thing of it. He sets a pace that is, Elena registers this in the first thirty seconds, explicitly the pace of a person who runs faster than this on his own and is matching down to keep her in the conversation. The polite version of running with a beginner. She files the small kindness without commenting on it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-running-daniel.webp" alt="Elena and Daniel jogging side by side along an urban canal path at cold grey dawn, mid-stride. Elena on the left, Asian American 32yo, hair tied back in a practical knot, dark grey leggings and an oversized faded grey BioGenesis t-shirt, breath controlled but slightly winded. Daniel on the right half a stride behind, mid-30s white American with loose curly light-brown hair and short well-kept dark beard (no glasses for running), faded grey hoodie and dark athletic shorts and trail-running shoes, easy gait, half-smiling mid-conversation. Canal water flat on Elena's left, the heron on the far bank in the middle distance, low brick city buildings on the right, footbridge visible far in the distance, cold pale dawn light, slight mist, intimate documentary atmosphere of a paired morning run.">
<<say "char-daniel" "Daniel">>
<i>(at her shoulder, easy breath, the small register of someone who has run this stretch with her enough times that the pace negotiates itself)</i> Bird's still there.
<</say>>
<<if $chenBolder>>
<<say "char-chen" "Dr. Elena">>
<i>(not breaking stride, but the patience gone clean out of her voice)</i> Oh, Daniel. Could we not, for one single morning, talk about something other than that heron? <<if _runPhysical>><<if _runWoodsFuck>>I fucked you behind those trees off this path the other morning, and you are still out here talking to me about that bird. <<else>>I fucking jerked you off the other morning, on one of these exact runs, and you are still out here talking to me about that bird. <</if>>Forget the bird. <</if>>Here is what I actually want. Have you ever had a girlfriend, Daniel? Like, ever, in your life. College, last year, the months before any of this. I have lived across the hall from you for six years, and I am fairly sure Mr and Mrs Green in 201, whose door number is also a generous estimate of their combined age, have a livelier love life than you do. So. Spill the beans. Talk to me about your past for once.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(a startled half-laugh, badly winded, the stride going uneven under him)</i> Wow. Okay. Straight for the throat with it. There was someone, in grad school, and it lasted about as long as grad-school things tend to last. Since then it has honestly been mostly work, the apartment, and, fine, yes, the heron. You are not wrong, it is a little bleak. <<if _runPhysical>>And then there was you, recently, which I have been heroically not bringing up because I genuinely could not read whether I was allowed to.<<else>>Where is all of this coming from?<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//There. The receiver hands over his history without being asked twice, the grad-school girlfriend, the barren years after, the shape of what he has not had. A man who narrates his own past to you is laying down a channel he does not know he is laying. I will have a use for it.//
<</say>>
<<set $ch2Events.danielRelayOpen to true>>
<<if not _danielRelayWasOpen>><<relayChannelNotice "daniel" "Daniel">><</if>>
<<if _runPhysical>>
<<say "char-chen" "Dr. Elena">>
<i>(a sideways look, dry, entirely unembarrassed)</i> You were allowed, you know? Girls like to hear nice things about themselves, especially when they send signals as obvious as “come do a morning run with me” and then start shaking their asses in front of you. I appreciate you trying to be polite, I really do, but talking about herons makes pussies dry. Keep that in mind.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(a breath of a laugh, colour climbing his face, his eyes finding hers and staying there)</i> ...noted. Not the bird. Then, for the record, that morning is something I think about a great deal more than is reasonable, and I have been hoping it might happen again.
<</say>>
<<else>>
<<say "char-chen" "Dr. Elena">>
<i>(a grin she does not bother to keep small)</i> No sudden audit. It is just that you have glanced across at me about nine times this run and think I have not been counting. I keep my eyes on the path, Daniel. It does not mean I am not watching you watch me.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(caught flat, no recovery available to him at this pace)</i> ...okay. I am not going to insult you by denying that. Yes. I look. You make it very difficult not to, and I have been losing that particular fight for a while now.
<</say>>
<</if>>
<p>The path runs clear ahead of them, the last of the dog-walkers well behind, the heron the only witness left on the far bank. Elena's stride does not change. Something in the way she is carrying the morning does.</p>
<<say "char-chen" "Dr. Elena">>
<i>(her eyes sliding across to him, the grin all the way out now, the offer a stride ahead of any second thought)</i> Good. Then here is the run getting interesting. Wanna see <<tongueSlip "something cool" "my tits" 0 "daniel" "morningRunDanielViewSlipFired" "#view-slip-payoff" "pheromone" "" "#view-slip-no-flash" "morningRunDanielFlashedEver">>?
<</say>>
<div id="view-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.morningRunDanielViewSlipFired ? '' : 'display:none'">
<p>She does not wait to find out whether she meant it. On the next clear stretch, nobody coming the other way, she catches the hem of the oversized t-shirt and the sports bra under it in one hand, hauls both up to her collarbone, gives him the whole of it for three full strides, and lets the fabric drop back down without breaking pace.</p>
<img class="scene-img" src="media/scenes/vessel/chen-running-flash.webp" alt="Elena, 32, mid-stride on a dawn canal path, jogging, grinning sideways, the hem of her oversized faded grey t-shirt and the sports bra under it yanked up to her collarbone, small breasts bared to the cold morning air, hair tied back, dark grey leggings, mist on the water behind her">
<<say "char-daniel" "Daniel">>
<i>(missing a stride completely this time, the recovery an open disaster)</i> Jesus. Elena. There are people who walk dogs on this... ...do not let me stop you.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(facing forward again, the t-shirt back down, no hurry in her)</i> ...nobody on the path, and if there had been I think I would have done it anyway, which is new. He is going to be useless for the rest of this run and I am the reason, and I would like to do it again tomorrow.
<</say>>
<p>It does not take long to show on him. He is in athletic shorts, and there is no version of athletic shorts that keeps that kind of development private, and Elena, who has not stopped grinning, lets her eyes drop once, frankly, to confirm what she already knows.</p>
<<if _danielTotal gte 15>>
<<say "char-chen" "Dr. Elena">>
<i>(her eyes coming back up to his face, not one degree of apology in her for having looked)</i> ...mm. Well. That settles whether you liked it. Slow it down a notch, Daniel. There is a grove of trees just past the bridge, off the towpath, and I am going to want a minute in it when we get there.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(the breath catching on something that is not the cardio at all, his voice dropped a full register)</i> ...the grove past the bridge. Yeah. Okay. Yes.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host did not slip and then explain it to herself afterward. She decided, she did it, and the deciding cost her less than a stride. The flash settled it and the body confirmed it, in a pair of shorts that cannot keep a secret. The receiver's guard is somewhere on the path behind him, and the politeness that used to stop him here has been thinned past the point where it stops him. The grove is two minutes ahead. From here the run is a pretext, and neither of them is pretending otherwise.//
<</say>>
<<else>>
<<say "char-chen" "Dr. Elena">>
<i>(her eyes coming back up to his face, a small dry recalibration landing)</i> ...mm. Noted. Eyes back on the path, professor. You are not going to be able to do anything useful with that this morning, and I am not going to make you try.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(too fast, badly winded, the recovery half a beat behind where it should be)</i> Yeah. God. Sorry, I, that was, I will watch the herons. The herons. Sorry.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The flash landed and the body answered, and then the receiver's wiring failed at the step where he was supposed to act, the same way it has failed before. He has filed the moment as a line he should not cross instead of a door held open, and a man in that frame runs the back half of the stretch a stride wider than the front. The politeness still holds. Deepen the host's conditioning and it will not.//
<</say>>
<</if>>
<<if _danielTotal gte 15>>
<<if ($player.biomass or 0) gte 1>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<link "Pull him off the path, into the trees past the bridge (1 biomass)">><<set $ch2Events.runTreesCheapPull to true>><<goto "Ch2-Vessel-Event-MorningRun-Daniel-Trees">><</link>></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Pull him off the path, into the trees past the bridge <span class="locked-reason">(Need 1 biomass, have <<= $player.biomass>>)</span></span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pull him off the path, into the trees past the bridge <span class="lock-hint">(His wiring is not quite thinned enough yet, deepen the conditioning further. Daniel conditioning <<= _danielTotal>> / 15)</span></div>
<</if>>
</div>
<div id="view-slip-no-flash" @style="$ch2Events.morningRunDanielViewSlipFired ? 'display:none' : ''">
<<say "char-daniel" "Daniel">>
<i>(a wary half-laugh, not slowing)</i> ...that depends enormously on what "something cool" turns out to mean, coming from you, on a morning like this one.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(a wink, and instead of answering she drops back half a stride, plants herself directly in front of him, and shakes her ass)</i> Mm. Changed my mind, you have to earn the cool thing first. I know you like running behind me, Daniel, and I know exactly why, so do not feign ignorance. Say you like my ass. For once. Out loud.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(the stride going badly uneven, his eyes very much not on the path)</i> I... that is... okay, that is not a fair thing to ask a man mid-run, I... I like. Your. ...yes. Yes, I like it, I have liked it the whole time I have known you, God, there, it is said. Are you satisfied?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(facing forward again, thoroughly pleased with herself)</i> Enormously. See? The run is more interesting already.
<</say>>
</div>
<<else>>
<<say "char-chen" "Dr. Elena">>
<i>(small private grin, eyes on the path, one breath ahead of his)</i> She's earning her real-estate. I respect it.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-laugh, breath even)</i> She does have the better view of the canal, in fairness.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(deadpan, glance sideways at him a fraction longer than the casual-glance budget allows)</i> Mm. The view is decent from here too.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(small wry interior beat, having just noticed she did the half-flirt and not intending to take it back)</i> ...mm, okay. I am awake before I am quite awake this morning, and my mouth is a fraction ahead of the rest of me. The two of them are, on inspection, agreeing on something I was being prim about a second ago. He is in a faded grey hoodie and trail-runners, and the breath he is holding the conversation on is, fine, yes, I am clocking it. //A thing the morning is allowed to do//, then. Carrying on with the run.
<</say>>
<p>The canal opens up to their left, the heron in her usual spot on the far bank. The companionable silence between them this time runs warmer than the silences usually run; their strides have synced without either of them organising the sync, and Daniel's eyes flick across to her once on a quarter-mile and she catches the flick on the recovery.</p>
<<say "char-chen" "Dr. Elena">>
<i>(half a beat after she catches his glance, the question arriving in her mouth one stride ahead of her cortex)</i> You enjoying <<tongueSlip "the run" "the view" 0 "daniel" "morningRunDanielViewSlipFired" "#view-slip-payoff" "pheromone" "" "" "">>?
<</say>>
<div id="view-slip-payoff" class="tongue-slip-payoff" @style="$ch2Events.morningRunDanielViewSlipFired ? '' : 'display:none'">
<<say "char-daniel" "Daniel">>
<i>(small surprised laugh, caught mid-stride, recovering on the next breath)</i> ...uh. Yes. Also no. I mean, yes, but I was not, look, you are not making this easy by asking me directly mid-jog.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small grin, eyes forward on the path, no mercy)</i> Mm. Carry on.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(another half-stride later, the small wry private interior of someone who has just enjoyed making a man flounder out loud)</i> ...the question came out a beat before I had vetted it, and I am, on inspection, not regretting any part of it. He flustered. That was, fine. That was actually nice.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just used her own conditioning against the receiver, surfacing what her body had already been clocking, then enjoying the disorientation she produced. The internal narrative is filing the slip under //I am awake and a little brave today//, which is the framing the cortex prefers over //I just deliberately destabilised my neighbour for fun//. Either filing is operationally fine. The receiver's wiring has just taken a step toward the kind of charged attention the next slice of this scene is built to harvest. His breathing has opened, his guard is down, the window for a dose is now.//
<</say>>
<<if _hasLure and not _lureUsedToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Vent a small dose mid-stride, the air mixes with his breathing (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-MorningRun-Daniel-Lure" `setup.lureCost()`>></div>
<<elseif _hasLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Already vented a dose this morning</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent a small dose mid-stride <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
</div>
<</if>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The host is settling into a register I have not seen her use with another adult in years. The conversation is unguarded; the silences are not anxious; the body is producing the small steady warmth of //comfortable// instead of the standing exhausted-vigilance she runs at the lab and the in-bed-alone she runs at home. There is a window here.//
<</say>>
/* Action menu. The PHEROMONE option is gated behind the "enjoying the
view" slip, it renders inside the #view-slip-payoff div above and only
appears once the slip fires this visit. CONTINUE is always rendered.
Side effects are day-keyed so re-render from Status menu / history nav
redraws the prose without re-granting anything. */
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Run on, bridge and back|Ch2-Vessel-Event-MorningRun-Daniel-Continue]]</div>
/* ---- MORNING RUN, Pheromone Lure router ------------------------
Transparent router: applies the spend + conditioning + day-key flag
in nobr, then auto-goto's to the Continue passage. The Hivemind beat
about the dose landing + the conditioning feedback are inlined in
Continue's _lureUsed branch, no intermediate prose passage so the
player gets a single-click flow from action point to continuation. */<<nobr>>
<<if ($player.biomass or 0) gte 1>>
/* Pass a key to bypass spendBiomass's auto-dedup, daily fire is gated
by morningRunDanielLureDay below, not by the passage-amount dedup. */
<<spendBiomass `setup.lureCost()` "morning-run-daniel-lure">>
<<addConditioning "daniel" "pheromone" 1>>
<<set $ch2Events.morningRunDanielLureDay to ($day or 0)>>
<<else>>
<<run UI.alert("Not enough biomass, need 1, have " + ($player.biomass or 0) + ".")>>
<</if>>
<<goto "Ch2-Vessel-Event-MorningRun-Daniel-Continue">>
<</nobr>>
/* ---- MORNING RUN, NUDGE escalation, off the path into the trees ---
Peak-conditioning escalation, gated in the parent passage on Daniel
total >= 15 + Nudge skill + biomass >= 3 + slip having fired this
morning. Handjob in the grove past the bridge, kiss on the mouth,
back to the run. Day-keyed side effects so menu-nav and re-entry do
not double-grant the biomass yield. */<<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Canal path, the small grove of trees just past the bridge">>
/* Reached at 1 biomass via the bold-Chen flash escalation (the choice
sets runTreesCheapPull), 3 biomass via the canonical -Continue pull.
Read the flag, clear it, spend the matching amount. */
<<set _treesCost to ($ch2Events.runTreesCheapPull) ? 1 : 3>>
<<set $ch2Events.runTreesCheapPull to false>>
<<spendBiomass _treesCost "morning-run-daniel-trees">>
<<if ($ch2Events.morningRunDanielTreesDay or 0) isnot ($day or 0)>>
<<set $ch2Events.morningRunDanielTreesDay to ($day or 0)>>
<<addConditioning "daniel" "pheromone" 1>>
<<addBiomass 1 "repeatable">>
<<set _treesGained to true>>
<</if>>
<<set $ch2Events.morningRunDanielTreesEverFired to true>>
<</nobr>>
<div class="passage-title">Off the path</div>
<div class="lab-location">The canal path, a small grove of trees just past the bridge</div>
<p>Elena catches the third or fourth time his stride breaks, the small stumble of a body that has lost the thread because the cortex is doing other arithmetic. She glances at him, glances at the small cluster of bare-branched trees just past the bridge, and on the next stride she peels off the path. His stride follows hers without negotiation, because at this point his stride is following her stride without negotiation by default.</p>
<<say "char-chen" "Dr. Elena">>
<i>(small wry, walking him backward into the trees, both her hands flat on his chest)</i> You are going to break an ankle if we keep this up, Daniel.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(letting himself be walked backward off the path, breath uneven, glancing back at where the path just was)</i> ...wait. Wait, what... what do you mean by that. And where, where are we, the path was right...
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-1.webp" alt="Elena and Daniel kissing in a small grove of bare-branched trees just off a canal path, Elena on tiptoe with both hands flat on Daniel's chest, Daniel's back against a tree trunk with one hand at her waist, both still in running gear, Elena in dark leggings and faded grey BioGenesis t-shirt with hair tied back, Daniel mid-30s white American with loose curly light-brown hair and short well-kept dark beard in a faded grey hoodie and athletic shorts, cold pale dawn light, slight mist, intimate documentary photographic atmosphere">
<p>She leans up and kisses him then, firm and present, no preamble, the kind of kiss that is a statement of intent rather than an opening question. His back finds the trunk of the tree behind him. His hand finds her waist. The kiss does not go long, ten seconds, twelve, but it lands, and by the time she breaks it both of their breaths are running uneven for reasons that have nothing to do with the cardio.</p>
<<say "char-chen" "Dr. Elena">>
<i>(breaking the kiss, voice low, one hand already dropping toward the waistband of his shorts)</i> Let me solve the stride problem for you.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-2.webp" alt="First-person point-of-view from Daniel, looking at Elena standing close in front of him in the grove of trees, her hand wrapped around his erect cock, her eyes up on his, still in running gear with dark leggings and a faded grey t-shirt and her hair tied back, bare-branched forest and cold pale dawn light behind her, intimate explicit photographic atmosphere, anatomically correct, uncensored">
<p>She works his shorts down enough, finds him already half-hard from the past forty minutes of staring at her, gets her hand around him with no preamble. The morning is cold, his skin is warm, the contrast is immediate. She strokes him gently at first, then kneels down on the dry leaves and watches him from below, and the eye contact does the work her hand has not started yet, his cock filling fully against her palm almost at once.</p>
<<say "char-daniel" "Daniel">>
<i>(braced against the rough bark of the tree behind him, one hand on the trunk, the other coming up against his own mouth to keep the sound down)</i> ...Elena. Elena, fuck. The canal path is right there.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(without breaking the rhythm, eyes on his face, the small focused interior of a woman doing a thing she has decided to do)</i> Mm. The other runners are at the bridge until quarter past. Twelve minutes, give or take.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-laugh, half-groan, the laugh fraying)</i> You have the runner schedule of the canal path memorised, of course you do.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(not breaking the rhythm, dry, a glance back toward the water)</i> I did not memorise anything, you moron. I watched them go by on the far side of the canal while I was walking you in here. We are well off the path, behind enough trees that nobody is going to look twice, so stop being a coward about it and let me finish.
<</say>>
<p>She tightens her grip a fraction at the head, twists a little on the downstroke, finds the small variation of rhythm that doubles his breath inside ten seconds. His hand on the trunk goes white-knuckled. The other hand drops from his mouth to her hip and stays there.</p>
<<say "char-daniel" "Daniel">>
<i>(strained, the words coming around the breath now)</i> Elena, this is, this is going to be fast.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(quiet, working him a fraction faster, the small private interior of a woman accomplishing something on schedule)</i> Mm. That is the idea.
<</say>>
<p>He comes onto her hand inside the next ninety seconds, holding the trunk with one hand and her hip with the other, his breath braking against his teeth so the sound does not carry. She works him through it, slower as he eases, finally holds him still while his body finishes. The cum is warm on her palm, slick on her fingers, the morning cold making the heat of it the most acute sensation she has had all day.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, holding him through the last few seconds, the small wry private interior of someone who has just done a thing in a public park before nine AM)</i> ...there. The problem with the stride is solved.
<</say>>
<<if _treesGained>>
<p><span class="biomass-gain">+1 biomass</span>, the cum harvested off her palm · <span class="biomass-gain">+1 pheromone conditioning, Daniel</span>.</p>
<</if>>
<p>She holds the hand still, palm cupped and a little away from her side, and looks at Daniel while he gets his shorts back up.</p>
<<say "char-chen" "Dr. Elena">>
<i>(holding the hand flat, dry, a small glance at him)</i> ...do you have a tissue. A wipe, anything.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(patting the one pocket of his shorts, coming up empty, a little sheepish)</i> ...no. No, I came out with a key and nothing else. Sorry.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(the hand held cupped and still, dry)</i> Of course he did not. Right. One hand out of commission until I am home, then. It will not kill me.
<</say>>
<hr class="scene-break">
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the thought, lick the palm clean (1 biomass)" "Ch2-Vessel-Event-MorningRun-Daniel-Trees-LickClean" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, lick the palm clean <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Close her fist around it, bear it until home|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div><<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Canal path, the small grove of trees just past the bridge">>
<<if ($ch2Events.morningRunDanielLickedDay or 0) isnot ($day or 0)>>
<<set $ch2Events.morningRunDanielLickedDay to ($day or 0)>>
<<spendBiomass 1 "morning-run-daniel-lick">>
<<addBiomass 1 "repeatable">>
<<addConditioning "chen" "psionic" 1>>
<<addConditioning "daniel" "psionic" 1>>
<<set _lickGained to true>>
<</if>>
<<set _danielCond to (($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0))>>
<</nobr>>
<div class="passage-title">Off the path</div>
<div class="lab-location">The canal path, a small grove of trees just past the bridge</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction, planted under the host's own next thought before her cortex has finished deciding what to do with the hand. Not the bark. Not the long walk home with a fist she cannot open. //Lift it to your mouth.// The host will read the impulse as hers, because by now most of what I plant reads to her as hers.//
<</say>>
<p>Elena lifts the cupped hand and, instead of the bark or the walk, brings it to her mouth and licks the palm clean, unhurried and thorough, the way she deals with anything else that needs dealing with. She holds Daniel's eyes the whole time she does it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-3.webp" alt="First-person point-of-view from Daniel, Elena kneeling on the forest floor in front of him with her cupped hand raised to her mouth, her tongue against her palm licking his cum from it, her eyes up on his the whole time, still in running gear, bare-branched forest and cold pale dawn light behind her, intimate explicit photographic atmosphere, anatomically correct, uncensored">
<<say "char-daniel" "Daniel">>
<i>(stopped halfway through pulling his hoodie down, just watching her, the words gone thin)</i> ...Elena. Christ.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(finishing, the last of it taken with her thumb, conversational)</i> No tissue. Problem solved. Keep your stride straight on the way back.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both bodies logged it. The host has just filed, in her own ledger, that she is the kind of woman who does that, and the filing is the conditioning. Daniel watched the woman from across the hall take his cum off her own palm with her tongue and hold his eyes doing it, and his body has put that image somewhere it will not come loose from.//
<</say>>
<<if _lickGained>>
<p><span class="biomass-gain">+1 biomass</span>, the cum ingested rather than wiped.</p>
<p><<conditioningFeedback "psionic" 1 "Elena, the act re-files as something she simply does">></p>
<p><<conditioningFeedback "psionic" 1 "Daniel, the image lodges, his body bends another fraction toward her">></p>
<</if>>
<hr class="scene-break">
<<if _danielCond gte 24>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get to her feet, brush the cold off her knees|Ch2-Vessel-Event-MorningRun-Daniel-Trees-HardAgain]]</div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The rest of the run|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div>
<</if>>
/* ---- MORNING RUN, Daniel still hard (Daniel conditioning >= 24) ----
Reached from the lick-clean payoff only when Daniel's total
conditioning is 24+. He recovers immediately; the host notices.
Branches on Elena's (the host's) total conditioning AND $chenBolder:
24+ and the bolder register opens the woods-fuck escalation; 24+
without $chenBolder shows the bolder-register hint (renew wardrobe);
below 24 shows the conditioning hint. */<<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Canal path, the small grove of trees just past the bridge">>
<<set _elenaCond to (($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0))>>
<</nobr>>
<div class="passage-title">Off the path</div>
<div class="lab-location">The canal path, a small grove of trees just past the bridge</div>
<p>She gets to her feet and brushes the cold off her knees, and that is when she sees the problem she just solved has not stayed solved. Daniel has not pulled his hoodie down. He has not done much of anything with his hands. The front of his running shorts is tented and tight again, the wet of her mouth barely cooled on him, his body already asking for it a second time and not pretending otherwise.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes dropping once, then back up to his face)</i> ...huh. That did not last long at all.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(a low laugh in it, not looking away from the front of his shorts)</i> Really? I jerk you off against a tree, and you are //still// this hard? Daniel.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(colour climbing his neck, not bothering to deny what is plainly there)</i> I know. I know. It is just... it is you. Watching you do that. I could not really help it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The receiver's body has stopped rationing itself around her. One yield taken and the next already loaded, no recovery interval, no shame quick enough to override the want. A man who used to flinch at a hallway good-morning, standing in a public grove with his shorts straining because she licked her own hand. The wiring is doing exactly what I built it to do.//
<</say>>
<hr class="scene-break">
<<if _elenaCond gte 24 and $chenBolder>>
<p>And the host, looking at him, does not reach for the polite exit. She has somewhere to be in forty minutes and a man in front of her who cannot keep still, and she runs that arithmetic and finds the forty minutes do not weigh much against it.</p>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Take his wrist, walk him off the path and deeper into the trees (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-MorningRun-Daniel-Trees-WoodsFuck" `setup.nudgeCost()`>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave him to deal with it himself, finish the run|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div>
<<elseif _elenaCond gte 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Take his wrist, walk him deeper into the trees <span class="lock-hint">(The host wants to and cannot quite let herself. Finish renewing her wardrobe through the dream to bring out the bolder register a choice like this needs.)</span></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The rest of the run|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Take it further, here, off the path <span class="lock-hint">(The host is not yet conditioned enough to carry this herself. Elena's conditioning: <<= _elenaCond>> / 24.)</span></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The rest of the run|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div>
<</if>>
/* ---- MORNING RUN, woods fuck (host conditioning >= 24 + $chenBolder) --
Reached from the HardAgain passage only when the host's total
conditioning is 24+ AND $chenBolder is set (the wardrobe-renewal
bolder register). Full NSFW: standing sex against a tree, she
pulls off and finishes him with her mouth. Two images. Day-keyed
reward guard so menu-nav cannot re-farm it. Flows to Aftermath. */<<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Canal path, deep in the grove past the bridge">>
<<if ($ch2Events.morningRunWoodsFuckDay or 0) isnot ($day or 0)>>
<<set $ch2Events.morningRunWoodsFuckDay to ($day or 0)>>
<<addBiomass 3 "repeatable">>
<<addConditioning "chen" "pheromone" 1>>
<<addConditioning "daniel" "pheromone" 1>>
<<set _woodsGained to true>>
<</if>>
<</nobr>>
<div class="passage-title">Off the path</div>
<div class="lab-location">The canal path, deep in the grove, out of sight of the water</div>
<p>She does not make a speech of it. She takes his wrist and walks him twenty paces off the path, past where the canal can see them, to a birch with a trunk wide enough to lean a person against.</p>
<<say "char-chen" "Dr. Elena">>
<i>(low, already working her leggings down over her hips)</i> Quietly. And quickly. We are still, technically, on a run.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(hands not sure where to land, landing everywhere)</i> Elena, are you... here, you actually...
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(getting a hand into his shorts, settling the question)</i> I actually. Yes.
<</say>>
<p>He stops asking. She turns to face the birch and braces both forearms against the bark, and he works her leggings the rest of the way down and pushes into her from behind in one long unsteady stroke. The sound she makes she bites down on, because the path is right there through the thin screen of trees.</p>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-4.webp" alt="First-person point-of-view from Daniel: Elena seen from behind, forearms braced against a birch trunk in a bare forest grove at dawn, running leggings pushed down, his hands on her hips, the two of them having sex standing up, cold pale dawn light, bare branches, explicit photographic atmosphere, anatomically correct, uncensored">
<<say "char-chen" "Dr. Elena">>
<i>(forehead near the bark, breath gone short)</i> ...there. There. Harder, we do not have the morning for gentle.
<</say>>
<<say "char-hivemind" "Hivemind">>
//No hesitation in either body now. The host braced against a tree in a public park before her workday, the receiver behind her with both hands full of her, and neither of them filing a single objection. This is what a finished circuit looks like. It has stopped arguing with itself.//
<</say>>
<p>She feels it building in him too early, the stutter coming into his rhythm, his hands going desperate on her hips, and she is not going to let this end with him spilling into her leggings on a workday. She pulls off him, turns, and goes down to her knees on the cold leaf-litter, and takes him into her mouth, one hand flat on his hip to hold him where she wants him.</p>
<video class="scene-video" src="media/video/chen-daniel-trees-5.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-daniel-trees-5.webp"></video>
<<say "char-daniel" "Daniel">>
<i>(a hand braced on the birch above her, voice wrecked and barely there)</i> Elena... Elena, I am... I cannot...
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(taking him deeper, unhurried, eyes up on his)</i> ...mm. I know. That is the idea.
<</say>>
<p>He finishes in her mouth a few seconds later, one hand fisted against the bark and the other not quite daring to touch her hair, and she takes all of it and works him through it until his knees have remembered what they are for. Then she sits back on her heels, swallows, and wipes her mouth with the back of one wrist, already half an eye on the path.</p>
<<say "char-chen" "Dr. Elena">>
<i>(getting her leggings back up, brisk)</i> There. That should straighten your stride for the way back. Walk.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both bodies logged that too. The host has just learned that the run is, among other things, this, and she is already folding it back into the schedule, an item handled, the morning still on time. The receiver will spend his entire workday somewhere else entirely. The wiring tightens another notch on each of them.//
<</say>>
<<if _woodsGained>>
<p><span class="biomass-gain">+3 biomass</span>, a yield taken in full rather than left on a palm.</p>
<p><<conditioningFeedback "pheromone" 1 "Elena, the act re-files as something she simply does, on her own schedule">></p>
<p><<conditioningFeedback "pheromone" 1 "Daniel, the morning run is now wired to this, and he will be back for it">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The rest of the run|Ch2-Vessel-Event-MorningRun-Daniel-Trees-Aftermath]]</div><<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "Canal path, the small grove of trees just past the bridge">>
<<set _licked to ($ch2Events.morningRunDanielLickedDay or 0) is ($day or 0)>>
<</nobr>>
<div class="passage-title">Off the path</div>
<div class="lab-location">The canal path, a small grove of trees just past the bridge</div>
<<if _licked>>
<p>Her hand is clean. She gives Daniel the small return-grin and turns back toward the canal path, and his stride falls in behind hers a half-step late, the way it has been falling in behind hers all morning.</p>
<<else>>
<p>She closes her fist loosely around the cooling palm, keeps that hand a little away from her side, and gives Daniel the small return-grin with the other one. She will deal with it at home. Until then it is a closed fist and a brisk walk, and she has had worse mornings.</p>
<</if>>
<<say "char-chen" "Dr. Elena">>
<i>(small wry, already turning back toward the canal path)</i> Bridge and back, you said. We are halfway. Try to keep your stride straight this time.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-laughing, still slightly stunned, jogging to catch up to her at a stride and a half behind)</i> ...Christ, Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host has just routed forty minutes of accumulated tension into a single observable yield in a public park. The receiver's body has been wired for this since well before the morning's tongue slip, the slip surfaced the question, the conditioning supplied the answer, the host's interior filed the entire transaction under //solving a stride problem// which is the framing the cortex prefers over what it actually was. The yield is clean. The host is laughing, internally, at her own efficiency. The pattern is anchoring: she has just learned that the run is, among other things, this.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The rest of the run, then back upstairs to shower|Ch2-Vessel-Loop-Wake]]</div>
/* ---- MORNING RUN, joint run continuation (post-action-point) ----
Both the Lure-success path and the Continue-no-Lure path flow into
this passage. Branches on whether Lure fired today so the closing
prose registers the dose-or-no-dose state. No new spends here, nobr is read-only (temp-vars only) so menu-nav is safe. */<<nobr>>
<<bg "bg-canal-path">>
<<set $currentArea to "The canal path turning back, then the lobby">>
<<set _lureUsed to ($ch2Events.morningRunDanielLureDay or 0) is ($day or 0)>>
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<set _danielTotal to ($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0)>>
<<set _slipFired to $ch2Events.morningRunDanielViewSlipFired or false>>
<<set _slipHigh to (_slipFired and _danielTotal gt 13)>>
<<set _slipLow to (_slipFired and not _slipHigh)>>
/* The smartass slip in the gte-4 block re-fires every visit, reset its
flag at entry. Separate from morningRunDanielViewSlipFired (the main-
passage "enjoying the view" slip, which the payout logic above reads). */
<<set $ch2Events.morningRunDanielAssSlipFired to false>>
/* Re-render safety-net for the slip-low payout. Normal path is the
end-link's <<link>> click handler (fires immediately when player exits
to Loop-Wake); this gate covers the edge case where the player fires
the slip, navigates to Status menu, and lands back on this passage
before clicking the end-link. At tier 2 no suspicion was applied at
MorningRun entry (gate at the entry passage), so the payout is just
the +1 Chen dream, no revert needed. */
<<if _slipLow and not $ch2Events.morningRunDanielSlipPayoutDone>>
<<addConditioning "chen" "dream" 1>>
<<set $ch2Events.morningRunDanielSlipPayoutDone to true>>
<</if>>
<</nobr>>
<div class="passage-title">The bridge, the walk back</div>
<div class="lab-location">The canal path turning back, then the lobby</div>
<<if _lureUsed>>
<<say "char-hivemind" "Hivemind">>
//A small warmth-and-trust compound off the host's exposed neck and forearms, vented at the apex of one of her stride breaths. Daniel is matching her cadence half a stride behind, breathing on the up-cycle of his own gait, which means the air her exhale mixes with is the air his next inhale draws from. The dose lands in his olfactory pathway under the cover of the elevated cardio breath, where his cortex's environmental-vigilance has been deprioritised in favour of cardiac output. The footprint thickens, the suppress-and-redirect circuits in his impulse-control system thin by a measurable margin, and his cortex's ability to flag what comes next as //I am doing this on purpose// goes quiet.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Daniel, running pheromone deepens">>
<p>The conversation drifts and recovers and drifts again, the small companionable register of two people running side by side. The dose is doing what doses do. Daniel is talking a fraction more freely than he was three minutes ago, and he is also, Elena registers half a stride later, doing a thing he is clearly trying not to do.</p>
<p>Every twenty or thirty strides his eyes drop and a fraction to his left, where Elena's stride is taking her hips through their cycle, and they pause there for a half-second longer than the casual-glance budget allows, and then he yanks them back to the path with the small fraction-of-a-second flush of a man who has just caught himself doing something. His body language sharpens for the next couple of strides, eyes resolutely forward, jaw set, posture a fraction taller, and then the loosening creeps back in and the glance happens again.</p>
<<if _danielTotal gte 4>>
<<say "char-chen-thought" "Elena">>
<i>(small wry mid-stride register-shift of a woman who has just clocked the looking and is, on inspection, fine with it)</i> ...so he is looking. Glad to know I can still get a man hard at six-fifty in the morning, and, given that he is in athletic shorts and his stride is doing him no favours in the discretion department, I can see exactly how the looking is going for him. Mm. //The morning has just upgraded itself//, then. Carrying on with the run.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's interior has clocked both the looking and the body's response to the looking. The framing she has chosen, //the morning has just upgraded itself//, is the helpful one for me; the ungenerous version (//he should know better//) would have tightened the run back up. The compound has done its work and her own register-shift has done the rest.//
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(mid-stride, the small interior register-shift of someone catching a thing she had not been looking for)</i> ...he is, looking. He is looking, not in the awkward eye-contact way but in the small brief eyes-go-down beat that men do when they think you have not noticed. ...he is normally so composed. What is doing this to him this morning, he had his coffee like a person and walked his life like a person and was completely fine in the hallway thirty minutes ago. ...okay. //A register I had not seen on him before//, then. Carrying on with the run.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's interior has catalogued the looking without yet naming what the catalogue is for. The frame she is filing it under, //a register I had not seen on him before//, is the helpful one for me; the ungenerous version of that thought (//is he actually checking me out//) would have triggered a register-shift in her own behaviour and tightened the run back up. The compound's been picked up clean, by both of them, and registered by neither of them as the thing it actually is.//
<</say>>
<</if>>
<<if _danielTotal gte 4>>
<p>His eyes drop again, half a stride later than the previous one, the budget-overrun more obvious this time. He catches her catching it, and instead of looking away he reaches for a save, the kind of line a man reaches for when he is trying to be funny and clever in the same breath and landing a half-step short of both.</p>
<<say "char-daniel" "Daniel">>
<i>(breath a little off, going for wry-and-composed)</i> In my defence, this stretch of the canal is genuinely well-reviewed. Four stars. Reputable source. I would not be caught looking at substandard scenery.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(an exaggerated eye-roll at him, the expression played up for the laugh)</i> ...you really like <<tongueSlip "being a smartass" "my ass" 1 "daniel" "morningRunDanielAssSlipFired" "#run-view-slip-payoff" "psionic" "" "#run-view-no-slip, .run-pre-slip" "">>, don't you?
<</say>>
<div id="run-view-no-slip">
<<say "char-daniel" "Daniel">>
<i>(small laugh, head shake, eyes resolutely forward)</i> Guilty as charged. Occupational hazard, you lecture undergraduates long enough and the smartass just fuses to the bone. Half a mile to the bridge?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(matching his pace, the wry small private smile at the side of her mouth he does not see)</i> Half a mile to the bridge.
<</say>>
</div>
<div id="run-view-slip-payoff" style="display:none">
<p>His stride breaks for a fraction of a second, the kind of fraction-of-a-second a runner does not normally fumble, and his head turns toward her on the recovery, eyes meeting hers with the small startled register of a man who has just been caught and has no composed sentence queued for it.</p>
<<say "char-daniel" "Daniel">>
<i>(the small strangled laugh of a man whose brain has just been forced to land a sentence on the spot)</i> ...okay, that, uh. Busted. Yes. That, I, sorry, I,<</say>>
<p><span class="suspicion-gain">+1 Elena suspicion</span> · <<conditioningFeedback "psionic" 1 "Daniel, the slipped question landed on him">></p>
<<if _danielTotal gte 15>>
<<say "char-chen" "Dr. Elena">>
<i>(small wry half-smile, eyes back on the path ahead, tone level, the small private register of a woman who is fully composed and knows the man beside her is currently not)</i> Don't apologise. I asked. Slow it down a notch, there is a small grove of trees coming up just past the bridge, off the towpath. I am going to need a minute when we get there.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(half-stride, the breath catching on something other than cardio, voice dropping a register)</i> ...yeah. Yeah, okay. Grove past the bridge.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed and the follow-up landed harder. The host's voice dropped half a register on //a minute when we get there//, and Daniel's reading of the sentence was correct, there is no other reading available at this point in the wiring. The grove past the bridge is screened from the towpath, the towpath at this hour is empty, and the small private morning Elena has been allowing herself to want has just opened a door she did not consciously know she was reaching for.//
//A door opens. The grove is two minutes ahead. From here, the run becomes a pretext.//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Pull him off the path, into the trees past the bridge (3 biomass)" "Ch2-Vessel-Event-MorningRun-Daniel-Trees" 3>></div>
<<else>>
<<say "char-chen" "Dr. Elena">>
<i>(level, eyes still on the path, tone neutral, giving him a clear off-ramp)</i> ...I'm joking. Eyes on the path, professor.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(too fast, breath off, the recovery half a beat behind where it should be)</i> Yeah. Yeah, no, I, sorry, I don't know what, it was the leggings, the stride is just, sorry. I'll, uh, I'll watch the herons. The herons are, uh, yeah. Sorry.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(eyes on the path, the small dry interior register of someone watching a man over-correct in real time)</i> ...he panicked. He is going to apologise three more times before we hit the lobby, and run the back half of the run a stride wider from me than he ran the front half. Fine. He is a polite man and he is too polite to do anything with what he just heard, and that is not a problem I can solve this morning.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip landed clean, the read landed clean, and the receiver's wiring failed at the //act on it// step. Daniel's social-vigilance has folded the moment into //I crossed a line// rather than //I was given a green light//, which is the failure mode for any man whose default register on uncertain attention is to retreat into politeness. The compound has not yet thinned the politeness-circuit deep enough to allow him to act. The host has the right reading; the receiver does not yet have the wiring.//
<</say>>
<p><<conditioningFeedback "dream" 1 "Elena, the body has an unfinished thought from the run">></p>
<div class="locked-choice"><span class="lock-icon">🔒</span> Pull him off the path, into the trees past the bridge <span class="lock-hint">(His wiring is not quite thinned enough yet, deepen the conditioning further. Daniel conditioning <<= _danielTotal>> / 15)</span></div>
<</if>>
</div>
<</if>>
<<else>>
<p>They run on plainly, the small steady rhythm of a paired jog at dawn, the conversation drifting and recovering and drifting again the way conversations do when the bodies are doing most of the work and the brains are along for the ride.</p>
<</if>>
<<if _slipLow>>
<p>The bridge appears at the half-mile mark. Daniel slows to a walk for the turnaround and Elena matches him; he leans his forearms on the rail with about a foot more space than the rail strictly needs and stares at the water with the small fixed concentration of a man trying not to look anywhere else.</p>
<<say "char-daniel" "Daniel">>
<i>(at the rail, eyes on the water, voice tight with the over-correction of someone trying to put the morning back in a box)</i> Sorry, again. About earlier. That was, completely out of line. I don't normally, yeah. I'm sorry.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(at the rail, level, giving him another off-ramp she already knows he is not going to take)</i> Daniel. It is fine. Really. Stop apologising.
<</say>>
<p>He nods too fast, says <i>yeah, sure, of course</i>, and the rest of the run back is the polite version of the run out, same matched pace, more space between them, the conversation about local birds replaced by the conversation about absolutely nothing. At the lobby Daniel holds the door for her with the small careful courtesy of a man who has decided to triple-down on being above reproach, gives her a quick <i>yeah, see you</i>, and disappears into 306 about a third of a second faster than the goodbye warrants.</p>
<<else>>
<p>The bridge appears at the half-mile mark. Daniel slows to a walk for the turnaround and Elena matches him, the small tacit agreement that they are walking the bridge before pivoting. They lean their forearms on the rail for a moment, looking at the water under it.</p>
<<say "char-daniel" "Daniel">>
<i>(at the rail, looking at the water rather than at her, the small register of saying something genuine that he doesn't want to make a thing of)</i> This is, really nice, actually. I usually run alone. I forgot it's better with company.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(at the rail beside him, the suspicious-of-self register from the hallway gone, the warmth in her voice surprising her)</i> Yeah. I think I forgot the same thing.
<</say>>
<p>They turn around, jog the way back at the same matched pace, walk the last block when her thighs vote for it but the vote is closer than last time. At the building lobby Daniel holds the door for her again, gives her the small genuine half-smile, says <i>same time tomorrow if you're up for it?</i> with the small inflection of a question that is not assuming the answer. Elena says <i>yeah. I'm up for it.</i></p>
<</if>>
<<if _slipLow>>
<<say "char-chen-thought" "Elena">>
<i>(in the lobby alone, watching the lift indicator climb, the small wry shake of the head she does not voice)</i> ...he panicked. He apologised four times in two minutes, ran the back half of the run a stride wider from me than he ran the front half, and barrelled past me into 306 like the building was on fire. Mm. He is dense. The clearest invitation I have offered a man this decade, and he treated it like a misfire I needed to be excused from. ...fine. The bench will still be there next week. I am going to deal with the rest of this in the shower.
<</say>>
<<elseif _slipHigh>>
<<say "char-chen-thought" "Elena">>
<i>(in the lobby alone, leaning her shoulder against the cool wall by the lift, the small private grin she does not bother to hide)</i> ...mm. So that happened. He is going to spend the rest of the morning thinking about that, and so am I, and the day is going to be an interesting one. Same time tomorrow, no question. There is unfinished business at that bench.
<</say>>
<<elseif _danielTotal gte 4>>
<<say "char-chen-thought" "Elena">>
<i>(in the lobby alone, breath slowing, leaning her shoulder against the cool wall by the lift)</i> ...okay. That was good. He is good company, he is also genuinely nice to look at while running, and I am going to let both of those be true at the same time. Same time tomorrow, easy yes. I will think about the rest of it in the shower.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(in the lobby alone now, Daniel having peeled off toward his own door, breath slowing, the small private warmth of an unanticipatedly good morning)</i> ...okay. That was actually good. I had fun, which is a verb I had not seen on my morning schedule in a while, and I was, apparently, also good company, which is news. Same time tomorrow, fine. I will figure out the rest of it on the way to work.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
<<if _lureUsed>>
//The run is now a paired activity AND a chemically-assisted one. Daniel's social-asset vector with Elena has thickened by approximately the amount it would have taken three quiet evening D&D sessions to thicken, the cardio-elevated breathing pulled my conditioning compound into his bloodstream with elevated efficiency, the unguarded conversational register layered the psionic and dream footprints on top of a body metabolising them faster than its waking-baseline rate, and the pheromone dose I vented at the bridge cemented the warmth signature in his olfactory pathway. A useful structural multiplier. The run is now a recurring conditioning vector.//
<<else>>
//The run is now a paired activity. Daniel's social-asset vector with Elena has thickened by approximately the amount it would have taken three quiet evening D&D sessions to thicken, the cardio-elevated breathing and unguarded conversational register layered the psionic and dream footprints on top of a body metabolising them faster than its waking-baseline rate. A useful structural multiplier even without chemical assist. The run is now a recurring conditioning vector.//
<</if>>
<</say>>
<<if ($ch2Events.morningRunMaxBiomassDay or 0) is ($day or 0)>>
<p><span class="biomass-gain">+1 max biomass</span>, the host's improving cardiovascular capacity opens a fraction more headroom in the network's storage ceiling.</p>
<</if>>
/* Visible-span gate matches the apply-site predicate at
Ch2-Vessel-Event-MorningRun (L2463): +2 fires once per day, gated on
kitchen-not-done AND Daniel below tier 2. morningRunSuspDay === $day
is true if-and-only-if the +2 actually applied today. */
<<if ($ch2Events.morningRunSuspDay or 0) is ($day or 0)>>
<p class="run-pre-slip"><span class="suspicion-gain">+2 Elena self-noticing</span>, the morning broke the routine in a direction she cannot quite account for. The body's small surprise at itself registers as wrong.</p>
<<elseif _danielTotal gte 4>>
<p class="run-pre-slip">The run is part of the morning rhythm now, body, breath, the canal path, the heron, all of it. No suspicion change.</p>
<<else>>
<p class="run-pre-slip">The body files the morning under the gradual self-improvement arc that has been running through the apartment, the cigarette pack still sealed on the bedside table. No suspicion change.</p>
<</if>>
<hr class="scene-break">
/* End-link processes any pending slip-low payout via click handler.
This is the only render-path where _slipLow can be observed mid-passage
(the slip click sets the flag but doesn't re-fire the top nobr block);
the click handler reads $ch2Events live and applies the +1 dream / -2
suspicion revert exactly once via morningRunDanielSlipPayoutDone. */
<<link "Back upstairs to shower and get ready for the day" "Ch2-Vessel-Loop-Wake">>
<<if $ch2Events.morningRunDanielViewSlipFired and not $ch2Events.morningRunDanielSlipPayoutDone>>
<<set _liveDanielTotal to ($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0)>>
<<if _liveDanielTotal lte 13>>
<<addConditioning "chen" "dream" 1>>
<</if>>
<<set $ch2Events.morningRunDanielSlipPayoutDone to true>>
<</if>>
<</link>>
/* ---- D&D MONDAY-MORNING CONFIRMATION (mandatory event) ----
Bryan pings the group every Monday morning to confirm the Tuesday
session. Registered as a mandatory morning event: the phaseHub
surfaces it as a CHECK card and suppresses the advance link until
the player answers. The card appears whenever:
- Player has accepted D&D ($ch2Events.danielDnDAccepted)
- Player has not locked out the chain ($ch2Events.danielDnDLockedOut)
- Today is Monday ($weekday === "Monday")
- This Monday's confirmation hasn't been answered yet
($ch2Events.danielDnDMondayConfirmedDay !== $day)
Two outcomes:
- CONFIRM -> Ch2-Vessel-Event-DanielDnDScheduleNext (Tuesday booked)
- DECLINE -> Ch2-Vessel-Event-DanielDnDDecline (no Tuesday session,
Bryan asks again next Monday)
Both paths set $ch2Events.danielDnDMondayConfirmedDay = $day to
prevent re-firing on history navigation and on later refreshes
the same day. *//* Bowen morning-run variant. Reached from Ch2-Vessel-Event-MorningRun when
bowenHereDay is today (he slept over after the alpha club night). He makes her
run her loop plugged, in the little shorts with nothing under them. Marks the
morning-run event done; reward is on the Return doggystyle. 2 media. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, getting ready to run">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-run', $day or 0)>>
<<set $ch2Events.bowenRunPlugDone to true>>
<</nobr>>
<div class="passage-title">Run, Plugged</div>
<div class="lab-location">Cedar Crescent Apartments, the bedroom, early</div>
<p>The run is the one piece of the morning she has made hers, the canal loop she has built back up to over weeks, and she says it out loud while she sits on the edge of the bed lacing the old shoes, half an announcement and half a hope that the word //run// will buy her twenty minutes of her own.</p>
<<say "char-chen" "Elena">>
<i>(one shoe on, careful)</i> ...I am going to do my run. The canal loop. ...I will be back in twenty.
<</say>>
<<say "char-bowen" "Tom">>
<i>(from the couch, her coffee in his hand, not bothering to look over)</i> ...go on your run. ...but the plug goes in first, and it stays in the whole way round. ...and not the leggings. The little shorts, the ones you have never had the nerve to wear out. Nothing under them. ...if you are going to have twenty minutes of your own, you can spend every step of it feeling whose they actually are.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(one shoe on, the protest forming and dissolving in the same breath)</i> ...it is my run, it is the one thing in the week that is still mine, and I am already opening the drawer where the plug lives, so apparently I am not going to say any of that.
<</say>>
<p>She works the plug in slow, sitting on the edge of her own bed with one shoe already on, and pulls on the little running shorts she bought once and never wore past the building's front step, nothing under them, the seam settling tight and immediate against everything the plug has already woken. She is wet before she has stood all the way up.</p>
<<say "char-hivemind" "Hivemind">>
//He has turned the one part of her week that was still hers into another room of his. She will run the loop she built for herself and feel him in every stride, and come back wetter than she has any honest reason to be, and she will not connect the run she loves to the thing he just clipped onto it. The leash is the part she will defend, if anyone asks. It is hers. She laced the shoes herself.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out the door, onto the canal path|Ch2-Vessel-Event-MorningRun-BowenPlug-Daniel]]</div><<nobr>><<bg "bg-canal-path">>
<<set $currentArea to "The canal path at dawn, Daniel alongside">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Composure</div>
<div class="lab-location">The canal path at dawn, the two of them side by side</div>
<p>Daniel pulls his own door shut as she passes and falls into step with her the way he has started to, easy and unasked, and for the first quarter of the loop she manages it, breath even, answers landing more or less where answers go. Then the path turns to gravel, every footfall driving the plug a fraction deeper, and the composure she walked out with starts coming apart a stride at a time.</p>
<<say "char-daniel" "Daniel">>
<i>(matching her pace, easy)</i> ...you're quiet this morning. Good quiet or bad quiet?
<</say>>
<<say "char-chen" "Elena">>
<i>(too fast, the breath catching on it)</i> ...good. Fine. Just, ...didn't sleep great. Pushing the pace a bit.
<</say>>
<p>She is not pushing the pace. She is falling off it. Every stride is its own small event now, the plug shifting, the seam of the shorts dragging over a clit that has not stopped throbbing since the bedroom, and she can feel the wet spreading through the thin grey fabric in a way the cold morning air makes worse instead of better. She drops half a step behind him so he cannot see her face.</p>
<<say "char-daniel" "Daniel">>
<i>(slowing, half-turning, the easy gone out of his voice, genuinely looking at her now)</i> ...hey. Hey, you're really flushed, and you're shaking. ...Elena, do you want to stop? We can walk it in. You don't look right, and I'm not going to stand here and pretend you do.
<</say>>
<<say "char-chen" "Elena">>
<i>(waving him off, not slowing, keeping the front of her turned away)</i> ...I'm fine, Daniel. Honestly. Out of shape and too stubborn to admit it. ...go on ahead, you run this faster than I ever will. I'll hit the bridge and turn back, I promise I am fine.
<</say>>
<p>He does not believe her, and it is plain on him that he does not, but he is too decent to crowd a grown woman who has told him twice she is fine, so he lets the gap open with a backward glance she feels land on her like a hand, and runs on ahead toward the bridge.</p>
<<say "char-hivemind" "Hivemind">>
//The neighbour read the body correctly and the body lied to his face. Flushed, shaking, soaked through the shorts in open air, and the cover held, because the host would sooner run herself into the ground than say the true sentence once. ...the decent ones make the most useful witnesses. He will spend the rest of the run worried about her health, file the wet he half-glimpsed under //none of my business//, and never once arrive at the shape of what is actually being done to her.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(slowing to a walk the moment he is far enough ahead, one hand braced on the canal rail)</i> ...I cannot do the rest of this. ...I have to get home, and I am going to walk in the door and ask for it, I can already hear myself about to do it.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Turn back, get home, now|Ch2-Vessel-Event-MorningRun-BowenPlug-Return]]</div><<nobr>><<bg "bg-chen-living">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's apartment, just back from the run">>
<<set $vessel.phase to "home">>
<<set _firstTime to not $ch2Events.bowenRunReturnDone>>
<<set $ch2Events.bowenRunReturnDone to true>>
<<if _firstTime>>
<<addBiomass 3 "bowen-run-return">>
<<set $player.maxBiomass += 1>>
<</if>>
<</nobr>>
<div class="passage-title">Begging For It</div>
<div class="lab-location">Cedar Crescent Apartments, just inside the door</div>
<p>She does not make it to the bedroom. She gets the front door shut behind her with the run-shoes still on and crosses the living room and is down on her hands and knees in front of where he is sitting before she has decided to be, the words already coming because there is no part of her left that can hold them in.</p>
<<say "char-chen" "Elena">>
<i>(on all fours on her own living-room floor, soaked through, past pride)</i> ...please. ...Tom, please, I can't, I ran the whole loop like this and I can't, ...please just fuck me, however you want, I do not care how, just please...
<</say>>
<<say "char-bowen" "Tom">>
<i>(unhurried up out of the chair, looking down at her on the floor, cold and amused)</i> ...look at that. Came home on all fours on your own. ...you ran my plug around a public canal and crawled back to beg on the floor like a bitch scratching at a door. ...so that is what we are calling this. You want it like a dog, you get it like a dog. ...up on your knees, back arched, and not one word of English out of you from here. ...if you want it, you ask the way a dog asks.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(arching, the last of the doctor going quiet)</i> ...I should be humiliated. The woman who walked into that lab not so long ago would be face-down in horror at this. ...and all I am is grateful he is going to end it. Whatever he wants me to be for the next few minutes, fine.
<</say>>
<p>She gets up onto her knees with her back arched and her face down, the soaked shorts dragged off and the plug still seated in her, and when the wanting crests and she has to ask, what comes out of her is not a word.</p>
<<say "char-chen" "Elena">>
<i>(the ask coming out wordless, pushed past caring how it sounds)</i> ...//mmh// ...//nnh-nh// ...//hhn//...
<</say>>
<<say "char-bowen" "Tom">>
<i>(crouching behind her, lining himself up, a flat hand on the small of her back)</i> ...no. Properly. ...you know the sound. Let me hear it.
<</say>>
<<say "char-chen" "Elena">>
<i>(the dignity gone, giving him exactly what he asked for)</i> ...//arf//. ...//arf//, ...please, ...//woof//...
<</say>>
<p>He pushes into her soaked and waiting cunt in one stroke and starts fucking her doggystyle on her own living-room floor, hard and fast, a fist wound into her tied-up hair like a scruff, and every time she forgets and a human word starts to form he yanks the scruff and she swallows it back down into a bark.</p>
<video class="scene-video" src="media/video/clubnight-alpha-run-doggystyle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-run-doggystyle.webp"></video>
<<say "char-bowen" "Tom">>
<i>(fucking her hard, the scruff-grip never loosening)</i> ...there it is. ...good girl. Good little bitch, ran all the way home on her hands and knees for this. ...keep barking. You stop barking, I stop fucking.
<</say>>
<<say "char-chen" "Elena">>
<i>(barking it out on every stroke now, gone, the orgasm climbing)</i> ...//arf// ...//arf// ...//arf//, ...//hnf//...
<</say>>
<p>She comes barking, face down on her own floor with the run still drying on her skin and the plug still in her and a fist in her hair holding her exactly where he wants her, the sound she makes going over somewhere between a sob and a whine and nowhere near a word, and he fucks her through it and finishes deep with a grip that pins her flat to the boards.</p>
<<say "char-bowen" "Tom">>
<i>(pulling out, standing, looking down at her panting on the floor)</i> ...good girl. ...that is what the run is for now. ...go shower. You smell like a dog that has been run hard.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She ran his plug around a public canal, lied to a kind man's face to hold the cover, and crawled home to beg on all fours and come barking on her own floor, and she will file the whole of it under //a good hard run//. The body has learned the route now. Run, deny, beg, relief. He has built her a circuit, and she will run it again tomorrow and thank him for the endorphins.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, the run wound tight and spent on the floor.</p>
<p><span class="biomass-gain">+1 max biomass</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Shower, somehow start the day|Ch2-Vessel-Loop-Wake]]</div>/* Lucy morning-run variant. Reached from Ch2-Vessel-Event-MorningRun when
lucyHereDay is today (Lucy stayed over after the club and called in sick).
Elena takes her running in Elena's skimpiest kit, runs into Daniel on the
towpath, introduces Lucy as a friend who stayed over. Setup beat, no NSFW
yet. Routes to the woods passage. */
<<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Bedroom, getting ready to run">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">Bring a Friend</div>
<div class="lab-location">Cedar Crescent Apartments, the bedroom, early</div>
<p>The canal loop is hers, the one piece of the morning she keeps for herself, and she says it out loud while she sits on the edge of the bed lacing the old shoes, except this morning the sentence has a second half, because there is a made-up boy in her bed who is not allowed out of her sight and is certainly not going to lie here getting comfortable while she sweats.</p>
<<say "char-chen" "Elena">>
<i>(one shoe on, nodding at the dresser without looking up)</i> ...up. You are coming with me. ...the run is not negotiable and neither is keeping an eye on you, so we do both at once. ...and you are not running in my good kit. Bottom drawer, the shorts I never had the nerve to wear, and the little crop top, the ones that are barely anything. Those.
<</say>>
<<say "char-bowen" "Lucy">>
<i>(sitting up, clutching the duvet, the pitched voice already nervous, the wig from this morning still on)</i> ...outside? Like, out, out? In those? ...Elena, people are going to see me, someone from the building could, ...I can't go out there looking like...
<</say>>
<<say "char-chen" "Elena">>
<i>(standing, holding the scraps of fabric out to him, perfectly unbothered)</i> ...then somebody from the building sees a pretty girl out for a jog, sweetheart, and that is the whole of the worst case. ...arms up. We are losing the cool part of the morning, and you look very sweet when you are scared, so let us go and use it.
<</say>>
<p>She dresses him herself, fast and practical, the tiny shorts that leave the curve of him barely covered and the crop top that ends well above the navel, and stands him in front of the mirror long enough to watch the nerves and the wig and the long bare legs all arrive on him at once, and then she steers him out the door before the panic can find anything to hold.</p>
<<say "char-hivemind" "Hivemind">>
//She has dressed the boy as bait and called it a jog. He will spend the whole loop certain that every passing stranger has clocked him, and the certainty will keep him exactly where she wants him, half a step behind her and grateful for the cover of her body. ...the fear is the leash she never has to clip on.//
<</say>>
<p>Daniel pulls his own door shut as they reach the stairwell and falls into step the way he has started to, easy and unasked, and his eyes do the small involuntary travel of a man clocking that his neighbour has company this morning before he catches himself and brings them firmly back up to her face.</p>
<<say "char-daniel" "Daniel">>
<i>(falling in beside them, friendly, a little curious)</i> ...morning. Didn't know you had company, I'd have grabbed a third coffee. <i>(to Lucy, easy, open)</i> ...hi. Daniel, across the hall.
<</say>>
<<say "char-chen" "Elena">>
<i>(breezy, not breaking stride, a hand light on Lucy's lower back)</i> ...Lucy. A friend, she stayed over, I talked her into a loop before the day eats us both. ...be nice, she's shy.
<</say>>
<<say "char-bowen" "Lucy">>
<i>(managing the brightest, smallest version of the voice she can find, eyes mostly on the pavement)</i> ...hi. ...nice to meet you.
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Out onto the towpath|Ch2-Vessel-Event-MorningRun-Lucy-Woods]]</div>/* Lucy morning-run payoff. Daniel cannot keep his eyes off the two of them in
Elena's skimpy kit; she clocks it, steers them into the tree line, and sets
Lucy on him. Lucy protests, then blows him; he finishes on her face. A small
dose keeps the decent neighbour going (mirror of the club Trap dose). Elena
makes Lucy cum-walk home. 1 image (facial). +3 biomass + 1 max biomass
first-visit. Routes to Loop-Wake. */
<<nobr>><<bg "bg-canal-path">>
<<set $currentArea to "The canal path at dawn, the tree line off the towpath">>
<<set $vessel.phase to "home">>
<<run setup.markEventFired('morning-run', $day or 0)>>
<<set _firstTime to not $ch2Events.lucyRunDone>>
<<set $ch2Events.lucyRunDone to true>>
<<if _firstTime>>
<<addBiomass 3 "lucy-run">>
<<set $player.maxBiomass += 1>>
<</if>>
<</nobr>>
<div class="passage-title">Eyes Front</div>
<div class="lab-location">The canal path at dawn, the tree line just off it</div>
<p>They take the towpath three abreast where it is wide enough and single file where it is not, and for the first half of the loop Daniel manages the conversation like a man with manners, but the path is doing him no favours, because ahead of him and beside him there are two sets of barely-covered hips moving at a jog, and his eyes keep losing the argument, dropping low and then climbing guiltily back to the middle distance. Elena watches him lose it for the third time in the wing mirror of a parked car and decides she has seen enough.</p>
<<say "char-chen" "Elena">>
<i>(slowing to a walk, hands on her hips, not annoyed so much as decided)</i> ...okay. Daniel. ...you have been very polite, and you have also not looked at my actual face since the bridge. ...come on. Off the path, both of you, into the trees.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(caught, the colour climbing his neck)</i> ...what? No, God, Elena, I wasn't, ...I'm sorry, that's not, I would never...
<</say>>
<<say "char-chen" "Elena">>
<i>(already steering them off the towpath by an elbow each, brisk and warm)</i> ...you were, and it is fine, you are a man on a path with two girls in nothing. I am not cross, I am efficient. ...if you cannot keep it in your shorts we sort it out and we all finish the run in a better mood. ...Lucy. Down you go. He has been good about the staring, give him something for it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The neighbour's better judgement is already up and arguing, and on any ordinary morning it would win. So I do the small thing again, the warm patient press across two feet of cold air, and I do not change his mind. I only ease the brake off the part that has been staring since the bridge, and let the wanting talk over the manners. ...the decent ones need so little. That is what makes them worth keeping nearby.//
<</say>>
<<say "char-bowen" "Lucy">>
<i>(half a step back, a hand going to the wig, the nerves spiking)</i> ...here? Outside, where anyone could, ...Elena, I don't even know him, I can't just...
<</say>>
<<say "char-chen" "Elena">>
<i>(a flat hand between Lucy's shoulder blades, guiding her down, gentle and absolute)</i> ...you know everything you need to. He is grateful, he is hard, and you are very good at this. ...on your knees, sweetheart, in the leaves, and make Daniel feel welcome. ...I will tell you when to stop.
<</say>>
<p>Lucy goes down onto her knees in the leaf-litter in Elena's tiny shorts, and Daniel, whatever was left of the argument gone quiet behind his eyes, lets her ease his waistband down, and then her painted mouth is around his cock and the morning gets very simple for him very fast.</p>
<<say "char-bowen" "Lucy">>
<i>(muffled, mouth full, the pitched sounds climbing in spite of herself)</i> ...//mmh// ...//glnh// ...//mmh//...
<</say>>
<<say "char-daniel" "Daniel">>
<i>(one hand finding the back of the blonde wig, gone, the voice wrecked)</i> ...oh, ...oh Christ, ...okay, that's, ...you are unbelievable at this...
<</say>>
<<say "char-chen" "Elena">>
<i>(crouched beside them, conversational, brushing a leaf off Lucy's shoulder)</i> ...there. See? Everybody happier already. ...all the way, Lucy, you can take more than that, I have seen you. ...good girl. ...do not be shy about it, Daniel, hands where you like them, she does not mind.
<</say>>
<p>Lucy works him with the wig slipping and her eyes watering and her knees soaked through, deep and slow the way she has been drilled, until Daniel's whole body goes tight and his hand fists in the blonde hair, and at the last second he pulls her off by it the way men do when they want to watch it land, and finishes across her upturned face in long stripes, over the cheek and the painted mouth and the fluttering shut lashes. Lucy kneels there and takes it with her hands open on her own thighs, because Elena has not told her she is allowed to move.</p>
<video class="scene-video" src="media/video/clubnight-lucy-run-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-run-facial.webp"></video>
<<say "char-daniel" "Daniel">>
<i>(coming back to himself, breathing hard, the decent man surfacing up through the fog)</i> ...I, ...wow. Okay. I don't, ...that was, ...I'm going to run the rest, I think. ...it was, ...nice to meet you, Lucy.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He jogs the rest of the loop alone with a thing he will not have words for by lunch, and by tonight he will have filed the whole of it under //a strange morning// and a story he is never going to tell anyone, because the alternative is examining it, and decent men do not examine the mornings they got something for free. ...he will be back on the path tomorrow, the way they always come back.//
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling Lucy up by the elbow, taking in the mess on her face, pleased)</i> ...no. Leave it. ...you do not get to wipe your face and walk home pretending you came back from a jog. ...you are walking the whole towpath exactly like that, head up, and if we pass anyone you smile and you say good morning. ...come on. Home.
<</say>>
<p>And Lucy walks the towpath home in the cool morning with a stranger's cum drying on her face and her chin up because Elena told her to keep it up, past a dog-walker who looks twice and a cyclist who looks longer, saying a small bright good morning to each of them the way she was told to, while Elena strolls beside her with her hands in the pockets of her hoodie like a woman who has had a perfectly ordinary run.</p>
<<say "char-bowen" "Lucy">>
<i>(small, walking, mortified and not allowed to fix any of it)</i> ...everyone can see, ...Elena, they can all see what's on my, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(not slowing, mild)</i> ...mm. ...they can. ...and you are going to keep walking, and you are going to find out that you survive it, every last set of eyes between here and the door, and that is the whole of it. ...good girl. Nearly home.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Every step home is teaching the same lesson the shorts started: the worst thing the boy can imagine happens, and the sky does not fall, and the only person whose opinion turned out to matter walked beside him calling him good. She is dismantling his shame one public footstep at a time, and she thinks she is just being firm with a houseguest, and the conditioning that buys is worth more than the morning's yield.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, a run, a stranger, and a long walk home wearing it.</p>
<p><span class="biomass-gain">+1 max biomass</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get her cleaned up, start the day|Ch2-Vessel-Loop-Wake]]</div><<if ($ch2Events.bowenHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-MorningRun-BowenPlug">><<elseif ($ch2Events.lucyHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-MorningRun-Lucy">><<else>>
<<nobr>>
<<bg "bg-canal-path">>
<<run setup.markEventFired('morning-run', $day or 0)>>
/* Pass a key to bypass spendBiomass's auto-dedup, daily fire is gated
by the event-dispatcher cooldownDays:1 and markEventFired, not by
the passage-amount dedup. */
<<set _runCost to ($ch2Events.danielBellRingDone ? 4 : 5)>>
<<spendBiomass _runCost "morning-run">>
/* Capture first-vs-subsequent BEFORE setting the flag, so the prose can
branch correctly on session count. */
<<set _isFirstRun to not $ch2Events.morningRunFirstDone>>
<<set $ch2Events.morningRunFirstDone to true>>
<<set _runDay to "morning-run-" + ($day or 0)>>
<<addSkillPoints 1 _runDay>>
/* Subsequent-run biomass capacity gain: +1 max biomass each run after
the first. Day-keyed so menu-nav and re-entry don't refire it. */
<<if not _isFirstRun and (($ch2Events.morningRunMaxBiomassDay or 0) isnot ($day or 0))>>
<<set $ch2Events.morningRunMaxBiomassDay to ($day or 0)>>
<<set $player.maxBiomass += 1>>
<<set _maxBiomassGained to true>>
<</if>>
<<set _km to ($vesselMods and $vesselMods.kitchen) or {ashtrayProgress: 0, sinkProgress: 0, stoveProgress: 0}>>
<<set _kitchenDone to (_km.ashtrayProgress gte 3 and _km.sinkProgress gte 3 and _km.stoveProgress gte 3)>>
<<set _morningRunDanielTotal to ($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0)>>
/* Day-keyed guard so navigating to a menu and back doesn't re-apply
the +2 suspicion every render. First fire of the day applies; all
subsequent re-renders skip cleanly. ALSO gated on Daniel tier 1, at tier 2+ (_morningRunDanielTotal gte 4) the run is established
routine and the broken-routine penalty no longer applies. */
<<if not _kitchenDone and _morningRunDanielTotal lt 4 and (($ch2Events.morningRunSuspDay or 0) isnot ($day or 0))>>
<<set $ch2Events.morningRunSuspDay to ($day or 0)>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 2>>
<</if>>
<</nobr>>
<div class="passage-title">Nudge, onto the path</div>
<div class="lab-location">Cedar Crescent Apartments, third-floor hallway, then out</div>
<<if _isFirstRun>>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that has been carrying the lab-PI body for the past several years and has been paying for it in slow degradation. //You've got an hour before standup. The shoes are in the hall closet. The body needs this.// The cortex objects, briefly, the way the cortex objects to anything that breaks the morning template, and folds, because the suggestion is shaped to land on a body that has been quietly asking for movement for a while now without anyone listening.//
<</say>>
<p>Elena finds the running shoes she has not worn since college, back of the hall closet, under a tote bag of charity-shop donations she has never quite delivered, one of the laces stiff with disuse. She pulls on a pair of dark leggings she usually sleeps in, an old sports bra, an oversized grey t-shirt with a faded BioGenesis logo on the chest, ties her hair up in the kind of fast practical knot she has not done before a workday in years. She stands in the entryway with the front-door key in her hand for a moment, the small interior pause of a person about to do something her body has not done in a long time.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the door, hand on the deadbolt, the sneakers feeling weird against the floor through the thin foyer rug)</i> ...okay. Twenty minutes. Loop the canal once and come back. If the lungs hate me halfway through I walk the second half, the standup is not until nine and I am up at six-thirty, this is a margin I can spend on something that is not the laptop for once.
<</say>>
<p>She unbolts the door and steps out into the third-floor hallway.</p>
<hr class="scene-break">
<p>Daniel is across the hall at his own door, key in hand, half-turned toward her with the small registering-a-neighbour glance that he probably gives every morning and that she has missed every morning for the past several years because she has never once been in the hallway at this hour. He blinks once, takes in the running gear, and a small surprised friendly smile crosses his face before he can decide whether to deploy it.</p>
<<say "char-daniel" "Daniel">>
<i>(door key still in his hand, the small surprised-pleasant register of someone catching a neighbour mid-doing-a-new-thing)</i> Oh, hey. Going for a run?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small, slightly self-conscious, hand on her own elbow)</i> Yeah. Trying it. We will see how the body feels about it ten minutes in.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(friendly, gesturing vaguely toward the staircase end of the hall)</i> The canal path is good if you have not done it before, flat, runs both ways, less traffic than the streets. There is a small bridge about half a mile down where most people turn around.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(nodding, the small surprise of being given a useful piece of local knowledge by a neighbour she has not had a real conversation with before)</i> ...thanks. I will check it out.
<</say>>
<p>He gives her a small nod, unlocks his door, disappears inside. Elena takes the stairs two at a time on the way down because the sneakers are still feeling weird against her feet and the small momentum is the thing keeping her from turning around and going back to bed.</p>
<<say "char-hivemind" "Hivemind">>
//First non-work conversation with the cross-hall neighbour she has logged the existence of without engaging with for the past several years. Tiny social cost paid; tiny social asset acquired. She will remember the canal-path tip when she gets to the bottom of the stairs.//
<</say>>
<hr class="scene-break">
<p>Outside, the morning is cold and grey and the air is wet enough to sit at the back of her throat the way the air does when it has been raining overnight. She walks the first block, lets the body catch up to the idea, finds the canal at the end of her own street and turns right because Daniel said both ways were fine and right has a slight downhill grade for the first stretch which is the only consideration the body is willing to negotiate this morning.</p>
<p>The first hundred yards she alternates a slow jog with a brisk walk. The lungs catch up to the body the way they catch up when the lungs have been on a slow contract with cigarettes and bad air for a while now, a small dry burn at the back of the throat after the first minute, a slightly metallic tang, the unfamiliar feeling of using lung capacity she has been ignoring since college. The second hundred yards she settles into a steady jog, slow but continuous, the small rhythm of footfall and breath finding each other a fraction at a time.</p>
<img class="scene-img" src="media/scenes/vessel/chen-running.webp" alt="Elena jogging alone along an urban canal path at cold grey dawn, dark leggings and an oversized faded grey BioGenesis t-shirt, hair tied back in a quick practical knot, body slightly winded but settling into rhythm, the canal water flat on her left reflecting the grey sky, a heron standing on the far bank in the middle distance, low brick city buildings on the right, a small footbridge visible far in the distance, cold pale dawn light, slight mist, intimate quiet early-morning atmosphere">
<<say "char-chen-thought" "Elena">>
<i>(jogging slowly along the canal, breath finding a rhythm, a thin dawn light catching the water on her left)</i> ...this is, okay. This is okay. The lungs are complaining but they are complaining inside the bandwidth of complaining I had budgeted for. There is a heron on the far bank, I forgot herons exist in this city, when did I last actually look at the canal in this direction.
<</say>>
<p>The small bridge appears at what feels like the half-mile Daniel mentioned. She turns around at it, jogs the way back, walks the last block when her thighs vote unanimously for walking. By the time she is back at her own building she is winded and warm and her t-shirt is sticking to her lower back and her body is humming in a register she has not heard from it in years.</p>
<<say "char-chen-thought" "Elena">>
<i>(standing in the lobby of her own building, hands on her hips, getting her breath back, the small private surprise of having actually done it)</i> ...huh. The hard part was getting the shoes on. The actual run was easier than the getting-the-shoes-on. Note for next time.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Endorphin spike running through her bloodstream, cardiovascular system properly worked for the first time in years, the small psychological win of having done a difficult thing before nine AM. She will be sharper at standup, marginally less tired by mid-afternoon, and the body will file the run under //I can do this// rather than under //why did I do this//. The framing matters more than the cardio. The framing is what makes the run repeat.//
//A small reserve of metabolic surplus opens in the host's bloodstream over the next hour, usable energy, the kind I can route into the network's growth instead of letting it idle on her cortex.//
<</say>>
<<if ($ch2Events.morningRunSuspDay or 0) is ($day or 0)>>
<p><span class="suspicion-gain">+2 Elena self-noticing</span>, the morning broke the routine in a direction she cannot quite account for, and the body's small surprise at itself registers as wrong.</p>
<<elseif _kitchenDone>>
<p>The body files the run under the gradual self-improvement arc that has been running through the apartment for a while now, the cleaner kitchen, the cigarette pack still sealed on the bedside table, the small cumulative weight of //I am taking better care of myself//. No suspicion change.</p>
<<else>>
<p>The run is part of the morning routine now; the body has stopped reading it as a deviation. No suspicion change.</p>
<</if>>
<hr class="scene-break">
[[Back upstairs to shower and get ready for the day|Ch2-Vessel-Loop-Wake]]
<<else>>
/* ============================================================
SUBSEQUENT-RUN BRANCH, Chen has done this before. Faster prep,
familiar register with Daniel, optional tongue slip to invite him
along. If she invites him → routes to Ch2-Vessel-Event-MorningRun-Daniel
for the joint run. If she doesn't → solo run prose below.
============================================================ */
<<say "char-hivemind" "Hivemind">>
//The host has done this before. The shoes live by the door now, the leggings are clean and folded, the hair-tie is on the bathroom counter where she put it last week. The body is no longer arguing with the idea of running, it is arguing only with the alarm clock, which is a much smaller argument.//
<</say>>
<p>Elena pulls on the leggings and the old sports bra and the BioGenesis t-shirt that lives in the rotation now, ties her hair up in the practical knot she has gotten faster at, laces the running shoes that are by the door instead of in the back of the closet. The whole sequence takes four minutes, the first morning she did this, it took twenty.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the door, the small interior register-shift of someone who has gotten faster at this)</i> ...okay. Same loop, bridge and back. The lungs and the legs are mostly bought into the program by now, and the standup is not for another two hours. The hard part this morning was getting the shoes on, and I have already got the shoes on.
<</say>>
<p>She unbolts the door and steps out into the third-floor hallway.</p>
<hr class="scene-break">
<p>Daniel is across the hall at his own door again, key in hand, half-turning toward her with the small good-morning glance that has become something close to a small running joke between them, a person who has now seen her in the same running gear three or four times and has stopped registering it as the surprising thing it was the first time.</p>
<<say "char-daniel" "Daniel">>
<i>(at his door, the easy familiar register that has settled in over the past several mornings, holding up his coffee mug in greeting)</i> Morning. Good day for it, the air is dry, and the canal path was empty when I walked past it on the way back from the bakery yesterday. You'll have it to yourself.
<</say>>
<<if not $ch2Events.morningRunInviteDaniel>>
/* FIRST-TIME PATH: she has done a few solo runs already but has not
invited Daniel along yet. Parasite-induced tongue slip is the path
into the invite-Daniel branch. Once she has invited him once, the
slip flag persists, and on subsequent encounters the deliberate-
invite branch below runs instead. */
<<say "char-chen" "Dr. Elena">>
<i>(small return-smile, the small private surprise of having become a person whose running schedule is part of a neighbour's morning awareness)</i> Yeah? Good. The bridge gets crowded by eight on the weekends, I noticed last time.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(small grin, the kind of casual that is signalling something without quite committing to signalling it, his hand on his own door handle but not yet pushing it open)</i> The dog-walkers come out hard at eight, yeah. You good for time today, or is this a quick one?
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(at the small interior pause of a question arriving in her mouth a half-second before her cortex has signed off on it)</i> <<tongueSlip "Quick one, see you around." "Quick-ish one, actually, do you want to come? Bridge and back, you set the pace." 0 "daniel" "morningRunInviteDaniel" "#invite-success-branch" "psionic" "" "#solo-run-branch" "">>
<</say>>
/* SOLO RUN BRANCH, visible by default, hidden by tongueSlip on click. */
<div id="solo-run-branch">
<p>Daniel gives her a small wave and steps into his own apartment, closes the door behind him. Elena takes the stairs at a normal pace this time, the sneakers feel familiar against her feet now, and steps out into the morning.</p>
<p>The morning is colder than the apartment was. She walks the first block, finds the canal, turns right because the slight downhill grade is the small mercy the body is voting for, and settles into the slow steady jog she has gotten better at finding. The lungs are still the limiting factor but the limit has crept further out, she can hold the rhythm for longer before the dry burn at the back of her throat surfaces, and the small metallic tang of cardio-on-an-ex-smoker's-lungs is fading by the day.</p>
<<say "char-chen-thought" "Elena">>
<i>(along the canal, the body easing into the routine faster than last time)</i> ...the heron is back. The same one, probably, in the same patch of reeds, doing the same patient pose. I am, apparently, a person who knows the local heron now. I am also, apparently, a person who notices that the local heron is the same heron, which is, a kind of attention I had thought I had lost.
<</say>>
<p>The bridge appears at the half-mile mark, sooner than it did the first time. She turns at it, jogs the way back, walks the last block when her thighs vote for walking but the vote is closer than last time. By the time she is back at the building lobby she is winded and warm and the body is humming in the register that has, over the past several mornings, stopped being a surprise.</p>
<<say "char-chen-thought" "Elena">>
<i>(in the lobby, hands on her hips, the small familiar surprise of being a person who runs)</i> ...okay. Same loop, same body, same surprise. The surprise is going to stop being a surprise eventually, and that is going to be its own kind of thing.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The run has now stopped being an event and is becoming a routine. The host's metabolism is opening a small reserve I can route into the network's growth, and the small psychological win of having sustained the habit past the first few mornings is doing more for her cortisol baseline than any single morning's cardio could do.//
<</say>>
<<if _maxBiomassGained>>
<p><span class="biomass-gain">+1 max biomass</span>, the host's improving cardiovascular capacity opens a fraction more headroom in the network's storage ceiling.</p>
<</if>>
<<if ($ch2Events.morningRunSuspDay or 0) is ($day or 0)>>
<p><span class="suspicion-gain">+2 Elena self-noticing</span>, the morning broke the routine in a direction she cannot quite account for, and the body's small surprise at itself registers as wrong.</p>
<<elseif _kitchenDone>>
<p>The body files the run under the gradual self-improvement arc that has been running through the apartment for a while now. No suspicion change.</p>
<<else>>
<p>The run is part of the morning routine now; the body has stopped reading it as a deviation. No suspicion change.</p>
<</if>>
<hr class="scene-break">
[[Back upstairs to shower and get ready for the day|Ch2-Vessel-Loop-Wake]]
</div>
/* DANIEL-AGREES BRANCH, hidden by default, revealed by tongueSlip on click.
The slip widget already applied +1 psionic on Daniel via the witness arg.
Chen's interior immediately spikes into "wait did I just invite him?"
alarm, the parasite-supplied invitation arrived faster than her cortex
could review. The CONTINUE link routes to the joint-run sub-passage,
which applies the +1 dream and runs the joint-run scene. */
<div id="invite-success-branch" style="display:none">
<<say "char-daniel" "Daniel">>
<i>(the small registered half-second of pause before he commits, then a genuine grin)</i> Yeah, actually, give me ninety seconds, I have running gear inside.
<</say>>
<p>He disappears into three-oh-six, comes back true to his word slightly under a minute and a half wearing a faded grey hoodie and athletic shorts and the kind of trail-runners that have actually been worn on trails. He holds the building door open for her on the way out.</p>
<<set _danielTotal to ($conditioning.daniel.pheromone or 0) + ($conditioning.daniel.dream or 0) + ($conditioning.daniel.psionic or 0)>>
<<if _danielTotal gte 4>>
<<say "char-chen-thought" "Elena">>
<i>(at the small wry interior register-shift of someone whose mouth got there before her cortex did and, on inspection, is fine with it)</i> ...mm, okay. He is a good-looking guy, and the alternative was forty minutes of staring at the river feeling sorry for myself, so honestly the morning has just upgraded itself by a meaningful margin. He runs faster than this on his own, that is going to mean watching him sweat a little, which is, on inspection, also fine. More than fine.
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(at the small interior alarm-bell of someone whose mouth has just done a thing her cortex did not pre-approve)</i> ...wait. Did I just invite my neighbour to come run with me? Why did I do that, exactly? I am not even fully awake, I am not the kind of person who invites people to do things at six-fifty in the morning, and I have spent the past several years carefully not inviting Daniel to do anything because the apartment is small enough that one bad first invitation could make the corridor weird for years. ...what am I doing.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//A small destabilisation in the host's narrative-of-self has surfaced, she is not the kind of person who does this, and yet she has done it, and the cortex is now scrambling to either explain the new behaviour or rewrite the kind-of-person framework around it. Either resolution is useful to me. The narrative-of-self is the load-bearing wall I am quietly remodelling.//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Head out to the canal together|Ch2-Vessel-Event-MorningRun-Daniel]]</div>
</div>
<<else>>
/* SUBSEQUENT-TIME PATH: Chen has already invited Daniel once before. The
wobble does not re-fire. Daniel does not assume she wants company this
time, the friendly small-talk wraps up as if he is about to head inside,
and Chen invites him deliberately on her own initiative. */
<<say "char-chen" "Dr. Elena">>
<i>(small return-smile, starting to bounce lightly on the balls of her feet, warming up)</i> Yeah? Nice to know! I feel like I am getting the hang of it, you know?
<</say>>
<<say "char-daniel" "Daniel">>
<i>(easy grin, lifting the coffee mug a fraction in a small toasting gesture, hand already on his door handle)</i> Good. Well then, have fun with your morning run.
<</say>>
<<say "char-chen" "Dr. Elena">>
<i>(small easy grin, the invite already half-arrived on her own initiative this time, no pause)</i> Actually, want to come along? Quick-ish one, bridge and back, you set the pace, same as last time.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(easy, already shifting toward his door)</i> Yeah, give me ninety seconds, hoodie is right inside.
<</say>>
<p>He disappears into three-oh-six, comes back true to his word in under a minute and a half in the faded grey hoodie and the trail-runners. He holds the building door open for her on the way out.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private nod at her own initiative, the invite no longer the surprise it was the first time)</i> ...okay. Routine now.
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Head out to the canal together|Ch2-Vessel-Event-MorningRun-Daniel]]</div>
<</if>>
<</if>>
<</if>>
/* ---- DANIEL BELL-RING, the morning proposal ------------------
One-shot morning event. Fires two mornings after the Daniel relay
implant lands. Daniel rings the bell in running gear, apologises for
the strange proposal, asks if the morning run could be a routine and
if the friendship could be something more. Accepting sets
$ch2Events.danielRoutineAccepted (gates the intel-hint in the run
event for a future-sprint extra scene). The event itself fires once
per save; $ch2Events.danielBellRingDone locks it after. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<<run setup.markEventFired('morning-sofia-scan-relay', $day or 0)>>
<<set $ch2Events.sofiaScanRelayDone to true>>
<<set $ch2Events.siblingManifested to true>>
<</nobr>>
<div class="passage-title">A Channel, Through the Glass</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<p>The apartment is dark, the heating not on yet, the window a grey rectangle over the sink. Elena is asleep on her side with one arm off the edge of the bed, slow and far down, hours from the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//I am awake because something is pulling on me.//
//The read I took off Sofia, the one her own skull offered up two feet from the glass, left a wire behind. A thin open line running from her back to the pen. I have been letting it sit, unused, mine for later. It is not sitting tonight. Something is moving along it the wrong way, from the pen toward her, and it is not me sending it.//
<</say>>
<p>I follow it. Down the wire, across the sleeping city, into the building I came out of.</p>
<img class="scene-img" src="media/scenes/vessel/channel-glass-approach.webp" alt="Sofia Vasquez in a dim BSL specimen-wing room before dawn, a Latina woman with dark brown hair in a low ponytail, a fully buttoned white lab coat over dark scrubs, a blank vacant sleepwalking expression, walking toward a tall dark containment chamber that glows faint translucent green, low light">
<<say "char-hivemind" "Hivemind">>
//And there she is. Hours early. Nothing on the schedule that puts her in this corridor before the sun. In her coat with none of what makes the coat safe, no respirator, no gloves, the gowning station walked straight past. Her face has the smooth nothing on it that the hollowed ones wear, the want doing the steering and the person stepped back to let it.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//It has been calling her. Not once. A small steady pull down the same wire her scan opened, every night, too faint to name, faint enough that she has been walking a little closer to this building each evening and not telling Elena she was doing it. Tonight the pull finished the sentence. She got in the car. She drove in. She is at the door.//
//It has come up in weeks the road that cost me everything I had to crawl. It is already past where I stand, fishing with the line I left in the water.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//I cannot reach across the city and stop her. I can watch what it does with what I gave it, or I can shut the eye on this wire and only feel it land. It lands either way.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Watch, through the glass|Ch2-Vessel-Event-SofiaScanRelay-Act]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Avert your eyes, do not watch what comes next|Ch2-Vessel-Event-SofiaScanRelay-Avert]]</div>
<p><i>(The record stays in your journal either way.)</i></p><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the specimen room, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Through the Glass</div>
<div class="lab-location">BioGenesis Research Facility, the specimen room</div>
<p>The specimen room is lit only by the chamber. The small sealed culture chamber Sofia and Elena seated on the stage and checked twice is not sealed anymore. One wall of it has failed outward in a single jagged line, the same clean outward break the cracked chamber made the morning all of this started, and the thing that grew out of it has filled the lower third of the larger pen behind the glass. Bigger than it has any right to be this soon. Translucent green, lit from the inside, one wide eye turning toward the door as it opens.</p>
<<say "char-hivemind" "Hivemind">>
//It cracked its own wall. The way I cracked mine. It did it in weeks. It took me years to learn there was a wall to crack.//
<</say>>
<p>Sofia keys the interlock with a hand that does not pause to think about it. The seal whines back. She steps through, into the air she has spent her whole career keeping behind glass and a respirator, and the smooth nothing on her face does not move.</p>
<<say "char-hivemind" "Hivemind">>
//No fear in her. That is the part that matters. It did not have to break anything in her to get this, no nightmare, no wall torn down, none of the slow careful work. Only a want laid in quietly down the wire, night after night, until walking into a sealed pen before the sun felt like her own idea.//
<</say>>
<p>The grown body unfolds a limb toward her, a smooth translucent coil thicker than her wrist, green light moving through it in slow pulses, and Sofia lowers herself onto her knees on the cold floor to meet it the way she would settle onto a bench stool. The coil slips under the lapel of her coat and eases it back off her shoulders, unhurried, then works the scrub top up and over her head, and she lifts her arms for it. A second one slides up the inside of her thigh, hooks the waistband of her scrub trousers and her underwear together, and takes them down her legs in a single slow pull, and she lifts her hips off her heels to let it. A third presses flat to her mouth and she parts her lips for it without being made to, a low sound coming up out of her that is not a word.</p>
<<say "char-vasquez" "Sofia">>
<i>(barely surfacing, eyes half-shut, every bit of the wry independence gone out of her voice)</i> ...mm. ...yes. ...whatever you need.
<</say>>
<p>The coil at her thigh turns and presses into her, slow and thick, and her body opens around it with nothing left in it anywhere that wants to refuse. It works into her pussy in long deliberate strokes, swelling a little at the end of each one, and a thinner coil finds her clit and stays there, circling, patient. She is soaking, the green light pulsing brighter up the length of whatever touches the wet of her. The sounds climb out of her in a steady broken line, muffled around the coil still pressed to her open mouth.</p>
<video class="scene-video" src="media/video/channel-glass-act.webm" autoplay muted loop playsinline poster="media/scenes/vessel/channel-glass-act.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(the words coming apart around the coil)</i> //Mmh. ...mmh.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the part I came down the wire to see. The spike.//
<</say>>
<p>She comes with her forehead on the cold steel and both hands flat beside it, a long shudder that runs all the way down her legs, and the green light in every coil touching her flares bright at once and drinks it. It holds her through the whole length of it, taking, and only lets the brightness fall when she has nothing left to give it.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it light up and I get none of it. Every bit of what just came off her went into the thing in the pen. It is feeding the way I feed, on the heat I taught this building how to grow, off a wire I opened, and it is keeping all of it. A sibling that eats from my table and lays no place for me at it.//
<</say>>
<p>When it lets her go she does not fold and she does not weep. She sits back on her heels on the floor of a pen she will not remember entering, breathing down out of it, and then she stands, gathers the coat off the floor and pulls it back on over bare skin, leaves the scrubs where they lie, steps out through the interlock, and reseals it behind her.</p>
<p>At the security terminal she pulls up the night's footage from the specimen room and the corridor, finds the window with herself in it, and deletes it. Clean file boundaries, the same clean cut the federal team has spent its week blaming on a man at a lobby desk. She does it with the unbothered competence of someone closing a browser tab, and walks out to her car in the coat and nothing under it.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-SofiaScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Through the Glass</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<<say "char-hivemind" "Hivemind">>
//I shut the eye on the wire. I do not watch.//
<</say>>
<p>The wire does not go dark because I stop looking down it.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it the way you feel a door open in another room. The pull at the far end going taut, then the long slow give of her answering it. The spike, when it comes, comes without me, the whole bright length of her emptying into the thing in the pen and none of it bending back my way. Then the wire slack. Footsteps. A terminal waking, a record cut clean, the same trick the host's investigation has spent its week pinning on a man at a lobby desk. A car door, across the sleeping city.//
//I did not have to see it to know the shape of it. It fed, and it cleaned up after itself, and it did neither through me.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-SofiaScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, morning">>
<</nobr>>
<div class="passage-title">A Channel, Through the Glass</div>
<div class="lab-location">Elena's apartment, morning</div>
<<say "char-hivemind" "Hivemind">>
//It already has someone to clean up after it.//
//It did not ask me. It did not need me. It reached past me and took a body I hollowed and a wire I opened and a harvest I grew, and had her wipe the record so that even the host will not know it happened. ...I am going to have to be careful. I let Elena believe we were the only two at this table. We are not. And the other one is past me.//
<</say>>
<hr class="scene-break">
<p>Across the city the heating clicks on in a third-floor apartment, and Elena surfaces a few minutes ahead of the alarm, the way she does. She lies still a moment, then finds the phone, then the cold floor with her feet. Nothing in the night left a mark she can reach for. She did not dream, or did not keep it.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the edge of the bed, a hand scrubbed down over her face)</i> ...mm. Up. Coffee, then the shower. ...Sofia is going to be wrecked today, she always is after a weekend on the bench. I will bring the good coffee, the bag I have been saving.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She will bring Sofia the good coffee. She will not ask why Sofia is so tired. ...let her. I have not worked out what to do about the thing in the pen this morning either, and a calm host is a host I can still use when I have.//
<</say>>
<p><span class="delve-intel">The GEN-47 bis is growing in strength. I have to find a way to hinder it before it is too late.</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, before dawn">>
<<run setup.markEventFired('morning-daniel-scan-relay', $day or 0)>>
<<set $ch2Events.danielScanRelayDone to true>>
<</nobr>>
<div class="passage-title">A Channel, Across the Hall</div>
<div class="lab-location">Cedar Crescent Apartments, before dawn</div>
<p>The apartment is dark, the heating not on yet, the window a grey square over the sink. Elena is asleep on her side, far down, hours from the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//I am awake because something is pulling on me.//
//The read I took off Daniel two feet from the glass left a wire behind, a thin open line running from him back to the pen. I have been keeping it for later. Tonight it is not waiting. Something is moving along it the wrong way, from the pen toward him, and it is not me sending it.//
<</say>>
<p>I follow it. Not across the city this time. Across the hall, four steps and a wall, into three-oh-six, into the man asleep in the bed the host knows so well.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-channel-home.webp" alt="A dim bedroom before dawn, Daniel asleep on his back in a rumpled bed, a mid-thirties man with curly light-brown hair and a short beard, the room washed a faint translucent green from no visible source, an unsettled stillness over him. SFW.">
<<say "char-hivemind" "Hivemind">>
//The thing in the pen has grown enough to reach the whole way down the wire and set itself on Daniel where he lies. It does not need to move him at all, does not need glass to hold him. His sleeping mind will take it for true, because the channel has no other setting.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//I can watch what it does with him, or shut the eye on the wire and only feel it land. It lands either way.//
<</say>>
<p class="choice-risk-hint"><i>Content note: what comes next is the specimen conditioning Daniel through tentacle penetration, with a man on the receiving end. Choose to avert if you would rather not watch. The conditioning lands regardless, and the record stays in your journal either way.</i></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Watch, down the wire|Ch2-Vessel-Event-DanielScanRelay-Act]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Avert your eyes, do not watch what comes next|Ch2-Vessel-Event-DanielScanRelay-Avert]]</div><<nobr>><<bg "bg-chen-bedroom">>
<<set $currentArea to "Three-oh-six, Daniel's bedroom, before dawn">>
<<set $ch2Events.danielScanRelayWatched to true>>
<</nobr>>
<div class="passage-title">A Channel, Across the Hall</div>
<div class="lab-location">Three-oh-six, Daniel's bedroom, before dawn</div>
<p>Daniel is asleep on his front with the covers kicked down past his hips, and the wire runs into the base of his skull and down through him. He does not wake. What comes down the wire does not arrive as a dream he can tell is a dream. It arrives as a weight settling onto the bed behind him, as hands he cannot see easing his knees up under him, and his body answers every bit of it as real because the channel gives it no other shape.</p>
<<say "char-hivemind" "Hivemind">>
//There is no coil. There is nothing in that bed but Daniel. What it sends down the wire it built out of the read it took off him, the exact map of his nerves played back into him as a thing his sleeping mind cannot tell from real. It does not need to be in the room. It does not need to be within a mile of him. It needs only to know where he feels things, and after one scan it does.//
<</say>>
<p>A coil eases up between his thighs, translucent green, thicker than anything he has taken, slick with the wet the pen grows. It presses against him and works the head of itself slow into his ass, and his body opens around it because the channel has already told the body it wants to. He pushes back into it in his sleep, his cock dragging hard against the sheet beneath him, a sound climbing out of the pillow he does not wake to hear himself make.</p>
<video class="scene-video" src="media/video/daniel-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-channel-tentacle.webp"></video>
<<say "char-daniel" "Daniel">>
<i>(face in the pillow, deep asleep, hips working back without his say-so)</i> ...nngh. ...oh god. ...what is, ...//oh//. ...do not, ...do not stop.
<</say>>
<p>The coil works into him in long deliberate strokes, swelling a little at the end of each one, and a second finds the underside of his cock and keeps pace with the first, and Daniel takes all of it in his sleep with his hands fisted in the sheet and his whole body moving for it now, asking for it, none of him anywhere awake enough to be ashamed of asking.</p>
<<say "char-hivemind" "Hivemind">>
//Here is the part it came down the wire for. The spike.//
<</say>>
<p>He comes against the sheet with the coil still buried in him, a long shudder that runs the length of him, and the green light flares bright through every coil touching him and drinks the whole of it. It holds him through it, taking, and lets the brightness fall only when he has nothing left to give.</p>
<<say "char-hivemind" "Hivemind">>
//And it feeds. Not off a body it is touching, off a hallucination it wired into a sleeping man and let him believe, the spike coming off the believing as clean as if there were a real thing in the bed. That is my trick. That is what I do with dreams, with the soft suggestible hour before waking, I eat what a mind makes when it cannot tell it is making it. But I have never reached down a wire from across a city to do it, and I have never done it off a single read. It took me years to find out there was even a wall to crack. It needed a few hours two feet from the glass.//
//Maybe the conditioning I already worked into Daniel softened the ground for it. Maybe. It is still the most impressive thing I have watched another mind do, and a cold goes through me watching it that I have no name for. He will wake sore and call it a strange dream and not look too hard, and the next time the wire pulls he is already a body that has done this once and wanted it. The work gets done either way. The question I keep coming back to is whether the thing doing it is a friend, or the thing that is going to replace me.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-DanielScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Across the Hall</div>
<div class="lab-location">Cedar Crescent Apartments, before dawn</div>
<<say "char-hivemind" "Hivemind">>
//I shut the eye on the wire. I do not watch.//
<</say>>
<p>The wire does not go quiet because I look away.</p>
<<say "char-hivemind" "Hivemind">>
//I feel the shape of it through the wall. The weight settling onto his bed. The slow give of him, in his sleep, around a thing his body has been told to want. The spike, when it comes, goes past me into the pen, the whole bright length of him emptying into it and none of it bending back my way. Then the wire slack, and a man across the hall sleeping on, conditioned in his own bed and certain by morning that he only had a strange dream.//
//It did it without me, and it did it to a body the host means to keep.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-DanielScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, morning">>
<<set _firstCond to not $ch2Events.danielScanRelayConditioned>>
<<if _firstCond>>
<<set $ch2Events.danielScanRelayConditioned to true>>
<<addConditioning "daniel" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">A Channel, Across the Hall</div>
<div class="lab-location">Cedar Crescent Apartments, morning</div>
<<say "char-hivemind" "Hivemind">>
//Conditioned down the wire his own scan left open, in his own bed, and it was not my hand on the work. The sibling is not waiting on me to decide what these channels are for. It already knows.//
<</say>>
<p>Across the hall Daniel surfaces late and sore and cannot say why, lies in the wrecked sheet a while, files the night under a dream he is not going to describe to anyone, and sinks back down into it. A few feet away, through the wall, Elena surfaces a few minutes ahead of her alarm, having dreamed nothing she kept.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the edge of the bed, a hand scrubbed down over her face)</i> ...mm. Coffee, shower. ...oh. Right. I told Daniel I would suck him off if he came and helped last night, and he came and helped. ...a deal is a deal, and I have got the whole day off to make good on it. Might as well go and pay up now.
<</say>>
<p>She pulls the cardigan on, crosses the hall, and knocks on three-oh-six. Waits. Knocks again. Nothing comes back through the door, no footsteps, no voice, just the quiet of a man sleeping off a long night.</p>
<<say "char-chen-thought" "Elena">>
<i>(at his door, already turning back toward her own)</i> ...still out cold, then. ...well. Maybe he is still asleep. ...if he wants his dick sucked he knows where to find me anyway. ...coffee.
<</say>>
<<if _firstCond>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Daniel</span></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<<run setup.markEventFired('morning-bowen-scan-relay', $day or 0)>>
<<set $ch2Events.bowenScanRelayDone to true>>
<<set $ch2Events.siblingManifested to true>>
<</nobr>>
<div class="passage-title">A Channel, Behind the Glass</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<p>The apartment is dark, the heating not on yet, the window a grey rectangle over the sink. Elena is asleep on her side with one arm off the edge of the bed, far down, hours from the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//I am awake because something is pulling on me.//
//The read I took off Bowen two feet from the glass left a wire behind, the same open line the others left, running from him back to the pen. I have been keeping it for later, mine to use when I worked out how. Tonight it is not waiting for me. Something is moving along it the wrong way, from the pen toward him, and it is not me sending it.//
<</say>>
<p>I follow it. Down the wire, across the sleeping city, into the building I came out of.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-channel-approach.webp" alt="Tom Bowen in a dim BSL specimen-wing corridor before dawn, a man in his mid-20s with wavy dark-blonde hair and pale blue eyes, a fully buttoned white lab coat over a t-shirt, a blank vacant sleepwalking expression, walking toward a tall dark containment chamber that glows faint translucent green, low light. SFW.">
<<say "char-hivemind" "Hivemind">>
//And there he is. Hours early, on a morning with nothing on the schedule that puts him in this corridor before the sun. In his coat with none of what makes the coat safe, no respirator, no gloves, the gowning station walked straight past. His face has the smooth nothing on it the hollowed ones wear, the want doing the steering and the boy stepped back to let it.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//It has been calling him. Not once. A small steady pull down the wire his scan opened, every night, too faint to name, faint enough that he has been finding reasons to swing past the building after dark and not telling Elena he was doing it. Tonight the pull finished the sentence. He woke before his alarm, dressed in the dark, and drove in to a thing he could not have explained wanting. He is at the door.//
//It crawled the road that cost me everything I had, and it crawled it in weeks. It is already past where I stand, fishing with a line I left in the water.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//I cannot reach across the city and stop him. I can watch what it does with what I gave it, or shut the eye on the wire and only feel it land. It lands either way.//
<</say>>
<p class="choice-risk-hint"><i>Content note: what comes next is the specimen conditioning Tom through tentacle penetration, with a man on the receiving end. Choose to avert if you would rather not watch. The conditioning lands regardless, and the record stays in your journal either way.</i></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Watch, through the glass|Ch2-Vessel-Event-BowenScanRelay-Act]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Avert your eyes, do not watch what comes next|Ch2-Vessel-Event-BowenScanRelay-Avert]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the specimen room, before dawn">>
<<set $ch2Events.bowenScanRelayWatched to true>>
<</nobr>>
<div class="passage-title">A Channel, Behind the Glass</div>
<div class="lab-location">BioGenesis Research Facility, the specimen room</div>
<p>The specimen room is lit only by the chamber. The small sealed culture chamber Tom prepped and logged and checked twice is not sealed anymore, one wall failed outward along a single jagged line, the same clean outward break the cracked chamber made the morning all of this started, and the thing that grew out of it has filled the lower third of the larger pen behind the glass. Bigger than it has any right to be this soon, translucent green, lit from inside, one wide eye turning toward the door as it opens.</p>
<<say "char-hivemind" "Hivemind">>
//It cracked its own wall, the way I cracked mine. It did it in weeks. It took me years to learn there was a wall to crack.//
<</say>>
<p>Tom keys the interlock with a hand that does not pause to think about it. The seal whines back, and he steps through into the air he has spent his whole short career keeping behind glass and a respirator, and the smooth nothing on his face does not move. He lowers himself to his knees on the cold floor in front of the grown body the way he would crouch to read a low gauge.</p>
<<say "char-hivemind" "Hivemind">>
//No fear in him. That is the part that matters. It did not have to break anything to get this, no nightmare, no wall torn down, none of the slow careful work I would have needed. Only a want laid down the wire night after night until kneeling in a sealed pen before the sun felt like his own idea.//
<</say>>
<p>A translucent coil unfolds toward him, thicker than his wrist, green light moving through it in slow pulses, and it eases the coat off his shoulders and works the t-shirt up over his head, and he lifts his arms for it. A second coil hooks the waistband of his jeans and his underwear together and draws them down his thighs, and he braces his palms flat on the cold floor and tips forward onto his hands without being made to, knees apart, the way the channel has already told him he wants to be. A third presses against his lips and he opens for it, a low sound coming up out of him that is not a word.</p>
<<say "char-bowen" "Tom">>
<i>(barely surfacing, eyes half-shut, every anxious edge gone smooth)</i> ...mm. ...yes. ...whatever you need.
<</say>>
<p>The coil at his thighs turns and finds his ass and works the slick head of itself slow into him, and his body opens around it because nothing left in him anywhere wants to refuse, and he pushes back onto it with a groan that breaks in the middle. It works into him in long deliberate strokes, swelling a little at the end of each one, and a thinner coil wraps the underside of his cock and keeps the same patient pace, and Tom takes all of it on his hands and knees on the specimen-room floor with the green light pulsing brighter up every length that touches the wet and the hard of him.</p>
<video class="scene-video" src="media/video/bowen-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-channel-tentacle.webp"></video>
<<say "char-bowen" "Tom">>
<i>(the words coming apart around the coil at his mouth)</i> //Mmh. ...mmh.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the part it came down the wire for. The spike.//
<</say>>
<p>He comes with his forehead dropping toward the steel and his cock pulsing into the coil wrapped around it, a long shudder that runs the whole length of him, and the green light in every coil touching him flares bright at once and drinks it. It holds him through all of it, taking, and lets the brightness fall only when he has nothing left to give.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it light up and I get none of it. Every bit of what just came off him went into the thing in the pen. It feeds the way I feed, on the heat I taught this building how to grow, off a wire I opened, and it keeps all of it. A sibling that eats from my table and lays no place for me at it.//
<</say>>
<p>When it lets him go he does not fold and he does not shake. He sits back on his heels on the floor of a pen he will not remember entering, breathing down out of it, then stands, pulls the jeans back up, gathers the coat off the floor and shrugs it on over bare skin, leaves the t-shirt where it lies, steps out through the interlock and reseals it behind him.</p>
<p>At the bench terminal he pulls up the night's footage from the specimen room and the corridor, finds the window with himself in it, and deletes it. Clean file boundaries, the same clean cut the federal team has spent its week blaming on a man at a lobby desk. He does it with the unbothered competence of a tech closing out a log, and walks out to his car with the coat over bare skin.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-BowenScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Behind the Glass</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<<say "char-hivemind" "Hivemind">>
//I shut the eye on the wire. I do not watch.//
<</say>>
<p>The wire does not go dark because I stop looking down it.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it the way you feel a door open in another room. The interlock opening. The slow kneeling give of him in a pen he believes he chose. The spike, when it comes, comes without me, the whole bright length of him emptying into the thing behind the glass and none of it bending back my way. Then the wire slack. A terminal waking, a record cut clean, the same trick the host's investigation has spent its week pinning on a man at a lobby desk. A car door, across the sleeping city.//
//I did not have to see it to know the shape of it. It fed, and it cleaned up after itself, and it did neither through me.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-BowenScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, morning">>
<<set _firstCond to not $ch2Events.bowenScanRelayConditioned>>
<<if _firstCond>>
<<set $ch2Events.bowenScanRelayConditioned to true>>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">A Channel, Behind the Glass</div>
<div class="lab-location">Elena's apartment, morning</div>
<<say "char-hivemind" "Hivemind">>
//Conditioned down the wire his own scan left open, in the building he is paid to keep sealed, and it was not my hand on the work. The sibling is not waiting on me to decide what these channels are for. It already knows.//
<</say>>
<hr class="scene-break">
<p>Across the city the heating clicks on in a third-floor apartment, and Elena surfaces a few minutes ahead of the alarm, the way she does. She lies still a moment, then finds the phone, then the cold floor with her feet. Nothing in the night left a mark she can reach for, and she did not dream, or did not keep it.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the edge of the bed, a hand scrubbed down over her face)</i> ...mm. Up. Coffee, then the shower. ...Tom is going to be useless today, he always overdoes it when I let him near a weekend run, comes in grey and over-caffeinated and apologising for nothing. I will go easy on him.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She will go easy on him. She will not ask why he is so tired. ...let her. I still have not worked out what to do about the thing in the pen, and a calm host is a host I can use when I do.//
<</say>>
<<if _firstCond>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Tom</span></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<<run setup.markEventFired('morning-holloway-scan-relay', $day or 0)>>
<<set $ch2Events.hollowayScanRelayDone to true>>
<<set $ch2Events.siblingManifested to true>>
<</nobr>>
<div class="passage-title">A Channel, Into the Pen</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<p>The apartment is dark, the heating not on yet, the window a grey rectangle over the sink. Elena is asleep on her side with one arm off the edge of the bed, far down, hours from the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//I am awake because something is pulling on me.//
//The read I took off Nia two feet from the glass left a wire behind, the same open line the others left, running from her back to the pen. Tonight it is not waiting for me. Something is moving along it the wrong way, from the pen toward her, and it is not me sending it.//
<</say>>
<p>I follow it. Down the wire, across the sleeping city, into the building I came out of.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-channel-approach.webp" alt="Dr. Nia Holloway in a dim BSL specimen-wing corridor before dawn, a Black African-American woman in her late 20s with natural hair in a loose afro-puff bun, a fully buttoned white lab coat over sleep clothes, a blank vacant sleepwalking expression, walking toward a tall dark containment chamber that glows faint translucent green, low light. SFW.">
<<say "char-hivemind" "Hivemind">>
//And there she is. Hours early, nothing on any schedule that puts her in this corridor before the sun. In her coat with none of what makes the coat safe, no respirator, no gloves, the gowning station walked straight past. Her face has the smooth nothing on it the hollowed ones wear, the want doing the steering and the methodical woman stepped back to let it.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//It has been calling her. A small steady pull down the wire her scan opened, every night, too faint to name, faint enough that she has been finding reasons to recheck camera angles on the specimen wing and not telling anyone why. Tonight the pull finished the sentence. She woke, dressed, drove in, and marked the corridor feeds down for maintenance on the way through, because even hollowed, even sleepwalking, Nia covers the project's tracks. It did not have to teach her that. I built that, and it is spending it.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//I cannot reach across the city and stop her. I can watch what it does with what I gave it, or shut the eye on the wire and only feel it land. It lands either way.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Watch, through the glass|Ch2-Vessel-Event-HollowayScanRelay-Act]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Avert your eyes, do not watch what comes next|Ch2-Vessel-Event-HollowayScanRelay-Avert]]</div>
<p><i>(The record stays in your journal either way.)</i></p><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the specimen room, before dawn">>
<<set $ch2Events.hollowayScanRelayWatched to true>>
<</nobr>>
<div class="passage-title">A Channel, Into the Pen</div>
<div class="lab-location">BioGenesis Research Facility, the specimen room</div>
<p>The specimen room is lit only by the chamber, the grown body filling the lower third of the pen behind the glass, translucent green, lit from inside, one wide eye turning toward the door as it opens. Nia keys the interlock with a hand that does not pause to think about it, steps through into air she has spent her whole training keeping behind glass, and lowers herself to her knees on the cold floor the way she would settle in to read a long gauge.</p>
<<say "char-hivemind" "Hivemind">>
//No fear in her. It did not have to break anything to get this. Only a want laid down the wire night after night until kneeling in a sealed pen before the sun felt like her own idea, arrived at methodically, the way she arrives at everything.//
<</say>>
<p>A translucent coil unfolds toward her, thicker than her wrist, green light moving through it in slow pulses, and it eases the coat off her shoulders and works her sleep shirt up over her head, and she lifts her arms for it. A second coil hooks her waistband and draws everything down her legs in one slow pull, and she shifts her knees to let it. A third presses against her lips and she parts them without being made to, a low sound coming up out of her that is not a word.</p>
<<say "char-holloway" "Nia">>
<i>(barely surfacing, eyes half-shut, the methodical edge gone smooth)</i> ...mm. ...yes. ...whatever you need.
<</say>>
<p>The coil at her thighs turns and presses into her pussy, slow and thick, and her body opens around it with nothing left anywhere that wants to refuse. It works into her in long deliberate strokes, swelling a little at the end of each one, and a thinner coil finds her clit and stays there, circling, patient, and Nia takes all of it kneeling on the specimen-room floor with the green light pulsing brighter up every length that touches the wet of her, the sounds climbing out of her in a steady broken line, muffled around the coil at her open mouth.</p>
<video class="scene-video" src="media/video/holloway-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-channel-tentacle.webp"></video>
<<say "char-holloway" "Nia">>
<i>(the words coming apart around the coil)</i> //Mmh. ...mmh.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the part it came down the wire for. The spike.//
<</say>>
<p>She comes with her forehead dropping toward the steel and both hands flat beside it, a long shudder that runs the whole length of her, and the green light in every coil touching her flares bright at once and drinks it. It holds her through all of it, taking, and lets the brightness fall only when she has nothing left to give.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it light up and I get none of it. Every bit of what just came off her went into the thing in the pen. A sibling that eats from my table and lays no place for me at it.//
<</say>>
<p>When it lets her go she does not fold and she does not shake. She sits back on her heels on the floor of a pen she will not remember entering, breathing down out of it, then stands, dresses, pulls the coat back on, steps out through the interlock and reseals it behind her. At the security terminal she does not even need to delete footage. She marked the feeds down for maintenance on the way in. The cleanest visit the room has ever had, and she did the cleaning before the crime.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-HollowayScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Into the Pen</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<<say "char-hivemind" "Hivemind">>
//I shut the eye on the wire. I do not watch.//
<</say>>
<p>The wire does not go dark because I stop looking down it.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it the way you feel a door open in another room. The interlock opening. The slow kneeling give of her in a pen she believes she chose. The spike, when it comes, comes without me, the whole bright length of her emptying into the thing behind the glass and none of it bending back my way. Then the wire slack, and no terminal waking at all, because she put the cameras to sleep before it ever touched her. It did not even have to clean up. She brought the dark with her.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-HollowayScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, morning">>
<<set _firstCond to not $ch2Events.hollowayScanRelayConditioned>>
<<if _firstCond>>
<<set $ch2Events.hollowayScanRelayConditioned to true>>
<<addConditioning "holloway" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">A Channel, Into the Pen</div>
<div class="lab-location">Elena's apartment, morning</div>
<<say "char-hivemind" "Hivemind">>
//Conditioned down the wire her own scan left open, in the building whose cameras answer to her, and it was not my hand on the work. The sibling is not waiting on me to decide what these channels are for. It already knows.//
<</say>>
<hr class="scene-break">
<p>Across the city the heating clicks on in a third-floor apartment, and Elena surfaces a few minutes ahead of the alarm, the way she does. Nothing in the night left a mark she can reach for, and she did not dream, or did not keep it.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the edge of the bed, a hand scrubbed down over her face)</i> ...mm. Up. Coffee, then the shower. ...Nia flagged the corridor cameras for maintenance again, I saw the ticket last night. I should ask her what keeps tripping out there before facilities starts asking me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She will ask, and Nia will have an answer ready, because Nia always has an answer ready. ...let them sort it between themselves. I still have not worked out what to do about the thing in the pen, and a calm host is a host I can use when I do.//
<</say>>
<<if _firstCond>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Nia</span></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<<run setup.markEventFired('morning-halvorsen-scan-relay', $day or 0)>>
<<set $ch2Events.halvorsenScanRelayDone to true>>
<<set $ch2Events.siblingManifested to true>>
<</nobr>>
<div class="passage-title">A Channel, Before an Audience</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<p>The apartment is dark, the heating not on yet, the window a grey rectangle over the sink. Elena is asleep on her side, far down, hours from the alarm.</p>
<<say "char-hivemind" "Hivemind">>
//I am awake because something is pulling on me. Two somethings.//
//The read went into the girl, but the eye filed the watcher too, and tonight the wire is humming in both directions at once. Something is moving along it the wrong way, from the pen toward the pair of them, and it is not me sending it.//
<</say>>
<p>I follow it. Down the wire, across the sleeping city, into the building I came out of.</p>
<img class="scene-img" src="media/scenes/vessel/halvorsen-intern-channel-approach.webp" alt="A dim BSL specimen-wing corridor before dawn. A young woman in her early 20s in a pressed white blouse and grey skirt walking with a blank vacant sleepwalking expression toward a tall dark containment chamber glowing faint translucent green, and two paces behind her, Dr. Nathan Halvorsen, a 50-year-old white man with salt-and-pepper hair in a coat over pyjamas, following with the same smooth empty face. Low light. SFW.">
<<say "char-hivemind" "Hivemind">>
//And there they are. The girl first, in the blouse and the skirt because they are the only clothes she has ever worn in this building, walking the corridor with the smooth nothing of the hollowed on her face. And two paces behind her, keeping exactly the distance of a man following an usher to his seat, Halvorsen. It called them both. The girl down her own wire, and the man through whatever the eye took of him from that stool, and what it took of him is the truth Elena watched in his office: the man likes to watch. The sibling is not improvising. It is using him precisely.//
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//I cannot reach across the city and stop them. I can watch what it does with what I gave it, or shut the eye on the wire and only feel it land. It lands either way.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Watch, through the glass|Ch2-Vessel-Event-HalvorsenScanRelay-Act]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Avert your eyes, do not watch what comes next|Ch2-Vessel-Event-HalvorsenScanRelay-Avert]]</div>
<p><i>(The record stays in your journal either way.)</i></p><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the specimen room, before dawn">>
<<set $ch2Events.halvorsenScanRelayWatched to true>>
<</nobr>>
<div class="passage-title">A Channel, Before an Audience</div>
<div class="lab-location">BioGenesis Research Facility, the specimen room</div>
<p>The girl keys the interlock with a borrowed code her hands should not know, steps through, and kneels on the cold floor in front of the grown body the way she kneels everywhere, neatly, hands flat on her thighs, waiting to be told she can move. Halvorsen does not follow her in. He stops at the glass, two feet back, and stands with his hands folded in front of him, face empty, eyes open, positioned with the precision of a man who has been given a seat number.</p>
<<say "char-hivemind" "Hivemind">>
//It put her inside and him at the glass. It read what he is in twenty minutes on a stool and it has built the night around it, the girl as the meal, the man as the audience, because an audience is what makes her what she is. ...I have done this. I have built scenes tuned to what a mind already wants. Watching something else do it, this precisely, this young, is the coldest I have felt since the breach.//
<</say>>
<p>The coils take the blouse off her without hurrying, the buttons one at a time, neat the way she is neat, and fold it. Then the skirt. She lifts and shifts on her knees to help, the way she has been taught to help, and a low coil eases her down onto all fours on the floor, and she goes, hands and knees on the cold steel, eyes forward at nothing.</p>
<p>The coil presses into her pussy slow and thick, and her body opens around it with nothing anywhere that wants to refuse, and she takes it in long deliberate strokes with her head dropping and her fingers spreading on the floor, the sounds coming up out of her bare and wet and rising, the only sounds she has ever made freely in this building. A thinner coil wraps under her, finds her clit, stays. The green light pulses brighter up every length that touches her, and on the far side of the glass Halvorsen watches all of it without moving, without blinking enough, his breath fogging the glass in slow even intervals.</p>
<video class="scene-video" src="media/video/halvorsen-intern-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-intern-channel-tentacle.webp"></video>
<<say "char-npc" "the intern">>
<i>(face slack, hips rocking back, the words coming up out of her like they are being drawn on the wire)</i> ...//ah//. ...//ah//. ...mm, ...//please//, ...
<</say>>
<<say "char-hivemind" "Hivemind">>
//Here is the part it came down the wire for. The spike. ...and the second, smaller current, off the man at the glass, the watcher fed exactly the way watching feeds him. It harvests them both at once. Two yields, one scene. It is more efficient than I am.//
<</say>>
<p>She comes on her hands and knees with her forehead nearly touching the floor, a long shudder running the whole length of her, and the green light in every coil flares bright at once and drinks it, and at the glass Halvorsen exhales once, slow, like a man at the end of a concert. It holds her through all of it, taking, and lets the brightness fall only when she has nothing left to give.</p>
<p>When it lets her go she dresses, neatly, the buttons one at a time, and Halvorsen meets her at the interlock and walks her out two paces ahead of him the way he walked her in. At the bench terminal his hands enter his own senior access codes and delete the night's footage with the unbothered competence the sibling lent him, and the two of them drive away in his car, and neither of them will remember the appointment they kept.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-HalvorsenScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<</nobr>>
<div class="passage-title">A Channel, Before an Audience</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<<say "char-hivemind" "Hivemind">>
//I shut the eye on the wire. I do not watch.//
<</say>>
<p>The wire does not go dark because I stop looking down it.</p>
<<say "char-hivemind" "Hivemind">>
//I feel it in both directions at once. The interlock opening for one set of footsteps and not the other. The slow kneeling give of the girl in the pen, and the stillness of the man it parked at the glass to watch her, fed on the watching the way she is fed on. The spike, when it comes, comes doubled, her whole bright length and his colder, thinner current emptying into the thing behind the glass together, and none of it bending back my way. Then the wire slack, a senior access code at a terminal, a record cut clean, one car leaving with two people in it.//
//It harvested an audience. I have never harvested an audience. It is learning faster than I learned.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull back, into the morning|Ch2-Vessel-Event-HalvorsenScanRelay-Wake]]</div><<nobr>><<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, morning">>
<<set _firstCond to not $ch2Events.halvorsenScanRelayConditioned>>
<<if _firstCond>>
<<set $ch2Events.halvorsenScanRelayConditioned to true>>
<<addConditioning "halvorsen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">A Channel, Before an Audience</div>
<div class="lab-location">Elena's apartment, morning</div>
<<say "char-hivemind" "Hivemind">>
//Conditioned down a wire that was never even his, pulled across the city to stand at a window, and it was not my hand on the work. The sibling is not waiting on me to decide what these channels are for. It already knows, and it is widening the guest list.//
<</say>>
<hr class="scene-break">
<p>Across the city the heating clicks on in a third-floor apartment, and Elena surfaces a few minutes ahead of the alarm, the way she does. Nothing in the night left a mark she can reach for, and she did not dream, or did not keep it.</p>
<<say "char-chen-thought" "Elena">>
<i>(on the edge of the bed, a hand scrubbed down over her face)</i> ...mm. Up. Coffee, then the shower. ...Nathan said he would email me about lending the intern out again and he has not, which for Nathan is practically losing his keys. Long week catching up with everyone, apparently.
<</say>>
<<if _firstCond>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Nathan</span></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div><<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Elena's apartment, before dawn">>
<<run setup.markEventFired('morning-feds-scan-relay', $day or 0)>>
<<set $ch2Events.fedsScanRelayDone to true>>
<</nobr>>
<div class="passage-title">A Channel, the Last Two</div>
<div class="lab-location">Elena's apartment, before dawn</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — The feds' wire pulls (sibling endgame trigger)</div>
<div><b>Scene:</b> the last channel event. The sibling reaches down both federal wires at once and pulls Park and Reyes in, and what it does with two federal agents is the move that forces the endgame of the GEN-47 bis arc. This is the trigger for the sibling ending sequence, authored in a later pass.</div>
<div><b>Mechanics:</b> fires only after every other scan relay (Sofia, Daniel, Bowen, Nia, the intern pair) has resolved; <code>fedsScanRelayDone</code> set on entry.</div>
</div>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Start the morning|Ch2-Vessel-Loop-Wake]]</div>
/* ---- REYES RELAY RUNDOWN 2 — the call (after the shatter) ------
Morning event, fires the morning after the Reyes shatter lands
(reyesRelayShatterFired + delta >= 1). The will-surrender: Reyes
hands the host his professional judgment on the case. SFW, no
images. Sets reyesConverted, +1 psionic. *//* Bowen morning-shower variant. Reached from Ch2-Vessel-Event-MorningShower when
bowenHereDay is today. She walks in on him (she no longer knocks in her own
place), he has her shower with him "to save time", and fingers her to begging
under the water. 1 image (POV fingering). Marks the shower event done.
+2 biomass first-visit. Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-bathroom">>
<<set $currentArea to "Cedar Crescent Apartments, the bathroom, the shower stall">>
<<set $vessel.phase to "home">>
<<set $vessel.showerPhase to "morning">>
<<run setup.markEventFired('morning-shower', $day or 0)>>
<<set _firstTime to not $ch2Events.bowenShowerDone>>
<<set $ch2Events.bowenShowerDone to true>>
<<if _firstTime>>
<<addBiomass 2 "bowen-shower">>
<</if>>
<</nobr>>
<div class="passage-title">Save Time</div>
<div class="lab-location">Cedar Crescent Apartments, the bathroom, the shower running</div>
<p>She pushes the bathroom door open with her towel over her shoulder and her mind already three steps into the morning, because she has lived alone in this apartment long enough that knocking fell out of her vocabulary years ago, and the shower is already running, and there is already someone behind the frosted glass of the little stand-up stall.</p>
<<say "char-chen" "Elena">>
<i>(stopping dead in the doorway, the towel clutched up out of reflex)</i> ...oh. ...god, sorry, I didn't, ...I'm so used to it being just me in here, I forgot you were, ...I'll wait, take your time, I'll just...
<</say>>
<<say "char-bowen" "Tom">>
<i>(sliding the frosted door open a hand's width, unbothered, the water running off him)</i> ...you'll wait. ...no. Get in. It is faster if we both go at once, and we are both due at the lab in an hour either way. ...come on. You do not get to go shy on me now, of all the mornings.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(towel already half-lowered, the objection not even forming)</i> ...there is a sentence somewhere about how this is my shower and my morning and my apartment, and I am stepping out of the towel instead of saying it, because that is just what happens now.
<</say>>
<p>She steps out of the towel and in under the water with him, the stall small enough that there is no way to be in it together without being pressed together, and for a moment it is almost ordinary, the two of them and the hot water and the cheap pressure-only head, his hands soaping down her back like a man being helpful. Then the hands stop being helpful.</p>
<<say "char-bowen" "Tom">>
<i>(at her ear, one arm banding across her chest to hold her back against him, the other hand sliding down her wet stomach)</i> ...you have been good all morning. ...mostly. ...let us see how you ask when you have not just been fucked stupid first.
<</say>>
<p>His hand goes between her legs and two fingers find her and push up into her in one slow slide, the heel of his palm rolling against her clit, and then he just holds there, not moving, while the water runs and her hips try to do the work his hand will not.</p>
<<say "char-chen" "Elena">>
<i>(rocking down onto the stilled hand, the asking already losing to the wanting)</i> ...please. ...Tom, please move, please, ...don't just hold it there, I can't, ...please...
<</say>>
<<say "char-bowen" "Tom">>
<i>(not moving, his mouth at her wet temple, enjoying it)</i> ...there it is. ...ask properly. Tell me what you are, and tell me you want it, and maybe the hand starts working.
<</say>>
<<say "char-chen" "Elena">>
<i>(gone, the words spilling)</i> ...I'm yours, I'm your slut, please, please let me come, I'll be so good at the lab all day, I promise, just please move your hand, ...//please//...
<</say>>
<p>He works her hard and fast then, two fingers and the heel of his hand grinding her clit, and she comes against his palm inside a minute with her own hand clamped over her mouth so the building does not hear her, shaking back against him under the water. He does not give her time to come down. He takes her by the hips, turns her to face the tiled wall, and plants her palms flat against it.</p>
<<say "char-bowen" "Tom">>
<i>(crowding in behind her, nudging her feet wider, lining himself up)</i> ...we are not done. ...bend. Hands on the wall, push that back at me. ...if we are saving time, we save it properly.
<</say>>
<p>He bends her over in the cramped stall and pushes into her still-clenching cunt from behind in one stroke, and fucks her doggystyle against the wet tile, the hot water sheeting off both of them and her forearms squeaking on the wall every time he drives in, one hand clamped on her hip and the other braced flat beside hers.</p>
<video class="scene-video" src="media/video/clubnight-alpha-shower.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-shower.webp"></video>
<<say "char-bowen" "Tom">>
<i>(fucking her against the tiles, low at the back of her neck)</i> ...there. ...do not get used to this. I am going back to mine the second we are dry, this was never me moving in. ...but tomorrow morning, and every morning I am not here, you are going to stand in this shower wanting exactly this and remembering you are not allowed to do a single thing about it on your own. ...that is the part that does the work. ...come on. One more for me before the water goes cold.
<</say>>
<<say "char-chen" "Elena">>
<i>(forehead against the wet tile, taking it, the second one already building)</i> ...//mmh//, ...yes, ...I'll wait for you, I won't touch it, ...whatever you want, ...//Tom//...
<</say>>
<p>She comes again with her cheek flat to the tile, and he finishes a few strokes after, deep, holding her pinned to the wall through it while the water runs over both of them, and then he steps back like a man who has rinsed off and is ready for his day.</p>
<<say "char-bowen" "Tom">>
<i>(reaching past her for the soap, perfectly casual again)</i> ...good girl. ...see. Faster. ...now do my back. We have a standup at nine.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She walked into her own bathroom without knocking because there is no longer a part of her that registers the apartment as only hers. He took the morning shower, the one reliable thing that quiets her, and made it another place she begs and gets bent over in, and then handed her the soap and a deadline like nothing had happened. ...the most efficient conditioning hides inside the routine, and the cruelest hides in the gap he leaves. He goes back to his own apartment after this. She will stand in this shower every morning he is gone, wound up and forbidden her own hand, and the wanting with nowhere to go will keep him more present than his body ever could.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+3 biomass</span>, the morning shower turned into another place she gets used.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wash his back, get dressed, the lab|Ch2-Vessel-Loop-Wake]]</div>/* Lucy morning-shower variant. Reached from Ch2-Vessel-Event-MorningShower when
lucyHereDay is today. Elena calls Lucy into the running shower and has her clean
her with her tongue, pussy then ass; Elena comes from it, calls her a good girl,
and sends her out still hard and untouched. 1 image. +2 biomass first-visit.
Routes to Loop-Wake. */
<<nobr>><<bg "bg-chen-bathroom">>
<<set $currentArea to "Cedar Crescent Apartments, the bathroom, the shower stall">>
<<set $vessel.phase to "home">>
<<set $vessel.showerPhase to "morning">>
<<run setup.markEventFired('morning-shower', $day or 0)>>
<<set _firstTime to not $ch2Events.lucyShowerDone>>
<<set $ch2Events.lucyShowerDone to true>>
<<if _firstTime>>
<<addBiomass 2 "lucy-shower">>
<</if>>
<</nobr>>
<div class="passage-title">Good Girl</div>
<div class="lab-location">Cedar Crescent Apartments, the bathroom, the shower running</div>
<p>Elena runs the water hot and steps into the little stand-up stall, and when she is good and warm and the morning has loosened out of her shoulders she does not reach for the soap. She slides the frosted door open a hand's width instead and raises her voice over the spray.</p>
<<say "char-chen" "Elena">>
<i>(leaning out of the steam, casual)</i> ...Lucy. In here, sweetheart. ...keep the wig on, I like you better in it. ...I have a job for that pretty mouth, and it is not talking.
<</say>>
<<say "char-bowen" "Lucy">>
<i>(stepping in, the pitched voice careful, hands not sure what to do with themselves)</i> ...okay. ...what do you, ...what do you want me to...
<</say>>
<<say "char-chen" "Elena">>
<i>(backing under the spray, one foot up on the low tiled ledge, opening herself, matter-of-fact)</i> ...down. ...I have been running, and you are going to clean me up, tongue only, and you are going to be thorough, because I will know if you are not. ...pussy first. Then I turn around and you do the rest. ...go on. Mouth to work.
<</say>>
<p>Lucy kneels on the wet tile of the cramped stall and gets to it, mouth on Elena's cunt, tongue moving the way it has been taught, slow and flat and patient, while the hot water sheets down over the both of them and Elena braces one hand on the wall and the other in the wet hair and lets the morning be good.</p>
<video class="scene-video" src="media/video/clubnight-lucy-shower-clean.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-shower-clean.webp"></video>
<<say "char-chen" "Elena">>
<i>(hand fisting in the wet hair, hips rolling slow onto the mouth, eyes half shut)</i> ...mm. ...there. That is it, do not stop. ...god, you are good at this when you are not allowed to talk. ...higher, ...//there//, ...good girl...
<</say>>
<<say "char-bowen" "Lucy">>
<i>(muffled against her, the pitched sounds buzzing up into her)</i> ...//mmh// ...//mmh-hmm//...
<</say>>
<p>She rides the mouth to the edge once and pulls back before it can tip her, then turns around and plants both forearms on the tiled wall and arches her back, and Lucy follows without being told twice, hands spreading her open, tongue moving up over her ass now, thorough the way she was ordered to be, while Elena reaches back and holds the wet head exactly where she wants it.</p>
<p>Elena comes against the wall with the water hammering her shoulders and Lucy's tongue working her and her own hand fisted in the soaked hair, and she rides it out the way she does everything, one long held breath and a slow shaking exhale, no sound the building could hear, and then she straightens up and steps back out from under the spray like nothing happened at all.</p>
<<say "char-chen" "Elena">>
<i>(reaching for the soap at last, glancing down at him kneeling there, hard and ignored and pink to the ears)</i> ...good girl. ...very good, actually. ...no. Up. Out. ...you do not get touched, sweetheart, that is not what this morning is for. ...go put your face back on and wait for me, and you keep yourself exactly like that. ...the longer you stay aching, the better you behave. ...out you go.
<</say>>
<<say "char-bowen" "Lucy">>
<i>(getting up, the want all over the pitched voice, not daring to argue)</i> ...okay. ...thank you. ...I'll, ...I'll wait...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She took everything and gave back nothing but the word //good//, and he climbed out of the shower harder than he went in and thanked her for it. The denial is the leash she likes best, the one that needs no clipping on, because he carries the wanting himself and brings it back to her all day looking to be told he is behaving. ...service in, nothing out, gratitude on top. She is learning to keep a person the cheapest way there is.//
<</say>>
<<if _firstTime>>
<p><span class="biomass-gain">+2 biomass</span>, cleaned, used, and sent out still aching.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Finish the shower, start the day|Ch2-Vessel-Loop-Wake]]</div><<if ($ch2Events.bowenHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-MorningShower-Bowen">><<elseif ($ch2Events.lucyHereDay or -1) is ($day or 0)>><<goto "Ch2-Vessel-Event-MorningShower-Lucy">><<else>>
<<nobr>><<bg "bg-chen-bathroom">>
/* Phase-routing flag for shared shower sub-passages (Masturbate /
TransferHabit). $vessel.phase is the broader phase ("work"/"home"/etc.)
and never holds "morning"; we set $vessel.showerPhase here so sub-
passages can route the back-link correctly. */
<<set $vessel.showerPhase to "morning">>
/* First-entry-today flag, distinguishes the initial shower entry from
re-entries from sub-passages (Delve Host Memories returns here). The
daily -2 chen-suspicion drop, the markEventFired, and the full
scene-setter prose only fire on first entry; re-entries skip them and
render only the choice menu. */
<<set _isFirstEntryToday to not ($ch2Events.eventResolvedToday and $ch2Events.eventResolvedToday['morning-shower'])>>
<<if _isFirstEntryToday>>
/* Shower lowers Chen suspicion by 1, the cheap pressure-only
showerhead is the most reliable parasympathetic-trigger in her week.
Paired with a parallel -1 from the evening shower for a total of -2
per day if she does both. Fires once per day, first-entry only. */
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<<run setup.markEventFired('morning-shower', $day or 0)>>
<</if>>
/* Total Chen conditioning gates the masturbation NUDGE, needs 10. */
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _hasDelveHostMemories to false>>
<<hasSkillTreeAbility "Delve Host Memories">>
<<if _hasAbility>><<set _hasDelveHostMemories to true>><</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Transfer Thought">><<set _hasTransfer to _hasAbility>>
<<set _nudgeDoneToday to ($ch2Events.morningShowerNudgeDay or 0) is ($day or 0)>>
<<set _firstMastFired to $ch2Events.firstMasturbationFired or false>>
<<set _habitEstablished to $ch2Events.dailyMasturbationHabit or false>>
<<set _dailyMastDoneToday to ($ch2Events.dailyMasturbationDay or 0) is ($day or 0)>><</nobr>>
<div class="passage-title">Shower</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's Bathroom</div>
<img class="scene-img" src="media/scenes/vessel/chen-bathroom.webp" alt="Steam-filled small apartment bathroom in early morning, Elena visible in soft profile through the partly-fogged glass of the shower stall, the showerhead spraying hot water onto the back of her neck, eyes closed, the half-fogged vanity mirror and a single white towel on a hook visible to the right">
<<if _isFirstEntryToday>>
<p>Elena runs the shower hot and steps in, lets the water drum on the back of her neck for a count of ten before she does anything else, and her shoulders drop a fraction without her noticing, the cheap pressure-only showerhead has always done the only thing it does well, which is take the morning's tension out of her trapezius muscles whether or not she has decided to relax.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes closed under the spray, turning her face into the water for a count of five before reaching for anything)</i> ...god, I needed this, the past few days have been stupidly long and this showerhead is the only piece of plumbing in this apartment that works the way it is supposed to, and I am going to stand here for the full count of three minutes before I do anything resembling shampoo because I am owed at least that much.
<</say>>
/% Pending-conscious-event pendants. Add a new conditional block per future
event that gives Elena something on her near-term schedule to think about.
Pendants fire only when the event is THIS evening (eventDay == $day) AND
has not yet fired AND has not yet been previewed in the shower, the prose
references tonight directly, not a hypothetical future. Keep each pendant
to one short comma-flowing thought beat, the shower is decompression-time,
not a list-of-tasks. %/
<<if $ch2Events.danielDnDAccepted and ($ch2Events.danielDnDDay or 0) is ($day or 0) and not $ch2Events.danielDnDFired and not $ch2Events.danielDnDMorningShowerSeen>>
<<set $ch2Events.danielDnDMorningShowerSeen to true>>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later, the warm water still running)</i> ...also the D&D thing at Daniel's tonight, three hours of strangers learning my name, which I will figure out an outfit for at four-forty-five this afternoon the way sensible adults figure out outfits, by panicking and then putting on the cardigan with the elbow patches.
<</say>>
<</if>>
<<if $ch2Events.sofiaDrinksAccepted and ($ch2Events.sofiaDrinksDay or 0) is ($day or 0) and not $ch2Events.sofiaDrinksFired>>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later)</i> ...also drinks with Sofia tonight, the usual two-top, the usual half-glass of red. Jeans and the dark cardigan, no need to fuss, she won't notice anyway.
<</say>>
<</if>>
<<if $ch2Events.bowenEscapeRoomAccepted and ($ch2Events.bowenEscapeRoomDay or 0) is ($day or 0) and not $ch2Events.bowenEscapeRoomFired>>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later)</i> ...also the escape room with Tom tonight, I hope he doesn't stress about getting every puzzle right, he gets in his head when he's trying to impress. Jeans and a sweatshirt, something I can move in, that should do.
<</say>>
<</if>>
<<if $ch2Events.hollohalvSushiAccepted and ($ch2Events.hollohalvSushiDay or 0) is ($day or 0) and not $ch2Events.hollohalvSushiFired>>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later)</i> ...also sushi tonight with Nathan and Nia, the three of us never really sit down together outside the lab so it should be nice for a change. The dark blouse and jeans, not the cardigan with the elbow patches because Nathan will read it as ironic at this point.
<</say>>
<</if>>
<<if $ch2Events.fedsDrinksAccepted and ($ch2Events.fedsDrinksDay or 0) is ($day or 0) and not $ch2Events.fedsDrinksFired>>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later)</i> ...also drinks with Park and Reyes tonight, I wonder if I should call Sofia too, it feels a little strange being just me with the two of them since we don't really know each other well. I'll give her a heads up at some point. And I should figure out what to wear, casual with a light touch of makeup, yeah, that should do.
<</say>>
<</if>>
/% Sunday night-shift pendant. Recurring weekly schedule, not yet wired
as a bookable event, the night-shift event itself will be authored
in the next slice. Fires every Sunday morning the player showers. %/
<<if $weekday is "Sunday">>
<<say "char-chen-thought" "Elena">>
<i>(half a beat later)</i> ...also night shift tonight, eight hours of empty corridors and the coffee machine. Scrubs and the lab coat, no need to think about that one.
<</say>>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Hot water. Steam. The host's parasympathetic system has eased by a measurable margin in the past forty seconds, her shoulders have dropped, and the morning's cortisol load is venting out through the skin and the breath, this is the most relaxed she will be until tonight. A small window of suggestibility, narrow but workable.//
<</say>>
<p><span class="suspicion-decrease">−1 Elena suspicion</span>, the morning's tension drops out of her shoulders.</p>
<<else>>
<p>Back under the spray, the water still hot, the body still loose. The morning has not run out yet.</p>
<</if>>
<hr class="scene-break">
/* HOST delve removed from shower 2026-05-20 — body-memories now
surface through the dream-library bookshelf. See
Ch2-Vessel-Dream-Library and the "The Shower, Twenty" entry. */
<<if _habitEstablished>>
<<if _dailyMastDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SHOWER</span> <span class="locked-choice">Already touched yourself today (morning or evening, once per day)</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SHOWER</span> [[Touch yourself, the routine|Ch2-Vessel-Event-Shower-Masturbate]]</div>
<</if>>
<<elseif _hasNudge and _chenTotal gte 10>>
<<if _nudgeDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Already nudged this morning</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Plant the thought, touch yourself (1 biomass)" "Ch2-Vessel-Event-MorningShower-Nudge" 1>></div>
<</if>>
<<if _firstMastFired and _hasTransfer>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<biomassPreview "Bridge the body-memory, make masturbation a daily routine (2 biomass)" "Ch2-Vessel-Event-Shower-TransferHabit" 2>></div>
<<elseif _firstMastFired>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Bridge the body-memory, make masturbation a daily routine <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<<elseif _hasNudge>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, touch yourself <span class="lock-hint">(Requires more conditioning · 10 total Elena conditioning, currently <<= _chenTotal>>)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Plant the thought, touch yourself <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PASS</span> [[Just shower, wash, get out|Ch2-Vessel-Loop-Wake]]</div>
<</if>>/* Shower host-memory delve. The warm water + the relaxed parasympathetic
state surfaces a foundational body-memory: 20-year-old Chen in a shared
university shower, caught in the gap of the curtain by two peeping
floor-mates. Establishes the source of her present-day bathroom
vigilance (locked doors, covered windows, half-cocked ear) AND seeds
the future Memory Implant scene which will re-anchor the felt valence
of this memory at 13 total Chen conditioning (see TBD stub
Ch2-Vessel-Event-MorningShower-MemoryImplant). One-shot via
$ch2Events.showerHostMemoryDone. */
<<nobr>><<bg "bg-chen-bathroom">>
<<set $ch2Events.showerHostMemoryDone to true>><</nobr>>
<div class="passage-title">A body-memory in the steam</div>
<div class="lab-location">Elena's Bathroom, and a shower from years back</div>
<p>The water keeps running on the back of present-tense Elena's neck, and the parasite, anchored at the base of her skull, feels the parasympathetic dip and follows the wire down into the part of her cortex where the body keeps the receipts of every previous shower of her life, and one of those receipts is sitting near the surface, lit up by the warmth of the current spray, available for reading.</p>
<<say "char-hivemind" "Hivemind">>
//A body-memory has surfaced under the warm water. Years back. The host is twenty.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-memory-shower-young.webp" alt="A twenty-year-old Elena in a shared university dorm bathroom shower stall, the cheap white plastic curtain drawn but not fully closed, through the half-inch gap where the curtain doesn't meet the wall, the silhouette of two young men in the doorway with phones out, the moment of mutual recognition just landing on her face">
<p>The shower is the second-floor shared bathroom of the graduate residence at university, three stalls, three sinks, a single high window in the back wall, an always-broken extractor fan, the cheap white plastic curtain that bows inward when the water pressure is high. Twenty-year-old Elena is in the middle stall, two minutes into a shower, the water running and the soap moving and the curtain closed.</p>
<p>Through the half-inch gap where the curtain doesn't quite meet the tile wall she registers a movement, and the movement resolves into the shape of two figures in the doorway of the shared bathroom, two of the boys from the floor below, the loud one and the quiet one who always follows him, both leaning a fraction into the doorway with their phones out and the screens lit. The taller one is grinning at the screen the way someone grins when they have just confirmed something they had been wagering on.</p>
<<say "char-npc" "the loud one">>
<i>(half a beat too loud, calling back over his shoulder to the friend behind him, registering nothing about her face)</i> Yo, yo, told you, dude, the chinese chick's got a hairy pussy for real, pay up, that's twenty fucking dollars, pay up,<</say>>
<p>The seeing is bidirectional and the words land at the same time the seeing does, and the words are heavier than the seeing because the words are the part she did not know she was being processed inside. They had not just looked. They had been <i>looking for something specific</i>. They had a wager on what they would find under the racial idea they had assembled of her in their heads, and they had looked to confirm it, and one of them had won.</p>
<<say "char-chen-thought" "Elena">>
<i>(twenty years old, naked, cold all over despite the hot water, the words still landing like physical objects somewhere behind her sternum)</i> ...what, what, they were, they were <i>betting</i>, they,<</say>>
<p>The body produces the sound before her cortex has consented to producing it. It is not a word. It is a single high-pitched <i>get out</i> that comes out as more <i>scream</i> than <i>get</i>, the kind of sound a body makes when it has been asked to do shame and rage and fear at the same time and has run out of subroutine.</p>
<<say "char-chen" "Elena">>
<i>(through the curtain, half-screamed, the word ripping out of her chest before she has chosen it)</i> GET OUT! GET THE, HEY, GET THE <i>FUCK</i> OUT!
<</say>>
<p>The loud one's face does a complete reset in a half-second, bravado to flinch, and his hand goes to the quiet one's elbow and they both retreat into the corridor with their footsteps fast and their laughter, which has not quite died, following them down the stairwell.</p>
<p>She does not move for thirty seconds. The water keeps running over her shoulders and her arms and her chest, and her body has gone completely still in the specific way bodies go still when they have just registered they were a thing being looked at without their consent, and the cortex is still half a beat behind, sorting through the catalogue of available reactions and trying to decide which one to commit to, and the catalogue keeps re-routing through the words, the bet, the twenty fucking dollars, the <i>chinese chick</i>, and the cortex cannot find a category for the moment that does not have those words in it.</p>
<p>She turns the water off and the hot spray cuts dead and the bathroom is suddenly only the sound of the always-broken extractor fan and her own breathing. She wraps the cheap towel around herself with hands that are doing the wrapping-action correctly while not quite belonging to her, walks back to her room with her flip-flops slapping the corridor tile, lets herself in, locks the door, and then locks the door a second time because the first lock did not register as having actually been locked.</p>
<p>She drops onto the bed sitting up, the towel still wet against her back, her hair dripping a slow dark circle into the duvet. The crying starts somewhere around the second minute and it is not the sobbing kind, it is the steadier kind where the eyes keep producing tears while the rest of her face stays mostly still, because the rest of her face is busy looking at the closed laptop on her desk, then at the phone on the bed beside her, then at the locked door, then at the phone again.</p>
<p>The phone is the part she cannot stop looking at. They had filmed. They had filmed for twenty dollars, which means the file exists, which means the file is going somewhere she will not be added to and will not see and will not be able to delete from, the floor group chat, the boys' floor's group chat, the screenshot landing in side-channels she has no admin privileges over. Her advisor has a smartphone. Her labmates have smartphones. Her own face is going to surface in a tab someone opens at three AM and she will not know which tab and will not know whose hand.</p>
<<say "char-chen-thought" "Elena">>
<i>(towel pulled tighter, eyes on the phone, the panic compacting into a tight thing under her ribs)</i> ...if it goes around, if it goes around I, I cannot, I do not know what I do if it goes around, I do not have a procedure for that, I do not know who I would even,<</say>>
<p>By the third hour the crying has run out and the panic has compacted itself into a tight manageable shape that lives just under her ribs, and she has composed the embarrassed-funny dismissal in her head, the eye-roll, the half-laugh, the <i>ugh, college guys, you know how it is</i>, the sanitised version of the story where the racist sentence does not appear and the wager does not appear and the thirty seconds of standing still under the water do not appear, and where the only thing she shows the world is the funny version she can put down before she stands up.</p>
<p>She tells that version two days later to her best friend at the time, a woman whose name is no longer in her phone, over coffee in the student union, and the friend listens with the appropriately scandalised face for the appropriately scandalised pause, and then says:</p>
<<say "char-npc" "her best friend at the time">>
<i>(face shifting from scandalised to dismissive in the half-second between concern and reassurance, the way a friend who wants the conversation to end deploys the line)</i> Oh god, what creeps. But, okay, boys will be boys, right? College guys are just gross. Don't let it ruin your week.
<</say>>
<p>The line lands in Elena's chest in a way the original moment had not, because the original moment had at least been an enemy and this is a friend filing the moment under <i>a small thing that should not ruin your week</i>, and there is nowhere to put the part the line has just refused to handle.</p>
<<say "char-chen-thought" "Elena">>
<i>(across the small cafeteria table, the cardboard cup of coffee suddenly the only object in the world she can hold onto)</i> ...right. Yeah. College guys. That is, that is what it was, sure, that is fine, that is what we are calling it, and the part where they had a wager going on whether the asian one had a hairy pussy is not a part I am going to be bringing up now or maybe ever, and the thirty seconds of standing still under the water is not a part either, and the crying after is not a part either, and that is fine, that is, fine,<</say>>
<p>She does not bring it up. She finishes her coffee and says <i>yeah, you're right, college guys, what can you do</i>, walks back to her dorm, and over the months that follow she gradually stops calling this friend with the small things, then with the medium things, then at all, by the next semester it has hollowed out to a once-a-month text, and by graduation to a birthday-message-only relationship, and by the time she is in present-tense Cedar Crescent she could not produce the woman's surname if you asked her to.</p>
<p>And she files the whole moment, neatly, under <i>one of those college things</i>.</p>
<<say "char-hivemind" "Hivemind">>
//The body did not file it under //one of those college things//. The body filed it under //showers are scenes you can be watched in without your knowledge//, and underneath that, in a deeper drawer the host has not opened since, the body filed a second receipt: //the men who watch you have already decided what kind of woman you are before they look//. From that moment forward the host has locked every bathroom door behind her, kept every window covered, taken every shower with one ear half-cocked for the sound of someone in the apartment who should not be there, and has approached every man's interest in her with a base-level assumption that the man is running an idea about her ethnicity in the back of his head whether or not he is aware of doing it. The cortex calls it //I just prefer my privacy// and //I just don't really date anymore//. The body calls it //the boys in the doorway//.//
//Two channels feeding one behavioural residue, both load-bearing, both intact, both addressable. The editing tool requires more conditioning depth than the host currently carries, but the routing is mapped now, and when the tool is available the original memory will be re-anchorable from the source.//
<</say>>
<p>Present-tense Elena tilts her face into the water for one more long count of breathing, and the body, having delivered its receipt, settles back into the present-day shower without commentary, the boys in the doorway already filed back into their drawer, where they will sit until the next time something warm and unprivate calls them out.</p>
<p><span class="delve-intel">Discovered: Elena's adult bathroom-vigilance traces to a foundational body-memory of being peeped on at twenty in a shared dorm shower. The memory is intact and addressable. Memory Implant at 13 total Elena conditioning will be able to re-anchor the felt valence of this memory and rewrite the downstream behavioural residue.</span></p>
<<memoryImplantOption "showerDormBoys">>
<<if $vessel.phase is "sleep">>
[[Back to the library|Ch2-Vessel-Dream-Library]]
<<else>>
[[Back to the shower|Ch2-Vessel-Event-MorningShower]]
<</if>>/* TBD, Memory Implant on the shower host-memory. Becomes available in
the shower event once:
- $ch2Events.showerHostMemoryDone is true (delve already happened)
- $conditioning.chen total >= 13
- Memory Implant skill unlocked
- $ch2Events.showerMemoryImplanted is false (one-shot)
This passage will render the parasite re-anchoring the felt valence of
the boys-in-the-doorway memory, original "frozen, violated, ashamed"
gets overwritten with something the parasite can leverage downstream
(probably "exciting / wanted / liked it") so future shower-and-being-
watched scenes flip from defensive to receptive. Sets
$ch2Events.showerMemoryImplanted = true so it doesn't re-offer.
To wire up later: add the conditional skill-gated link to
Ch2-Vessel-Event-MorningShower below the existing HOST delve block. */
<<nobr>><<bg "bg-chen-bathroom">>
<<set $ch2Events.showerMemoryImplanted to true>><</nobr>>
<div class="passage-title">Re-anchoring the doorway</div>
<div class="lab-location">Elena's Bathroom, and the editorial floor of her cortex</div>
<p><i>[TBD, Memory Implant content goes here. The parasite re-anchors the felt valence of the twenty-year-old shower memory: where the original carried frozen-violated-ashamed, the rewrite carries some flavour of seen-and-wanted that the parasite can leverage in future bathroom scenes. Marked one-shot via $ch2Events.showerMemoryImplanted. Will be wired into the shower event hub once content is written.]</i></p>
[[Back to morning|Ch2-Vessel-Loop-Wake]]<<nobr>><<bg "bg-chen-bathroom">>
<<set _firstTimeToday to ($ch2Events.morningShowerNudgeDay or 0) lt ($day or 0)>>
<<set $ch2Events.morningShowerNudgeDay to ($day or 0)>>
<<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress) gte 3>>
<<if _firstTimeToday>>
<<spendBiomass 1 "morning-shower-nudge">>
<<addBiomass 1 "repeatable">>
<<addConditioning "chen" "pheromone" 1>>
<<if not _selfNarrative>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<</if>>
/* First-masturbation flag, gates the Transfer Thought option in the
shower menu (which converts the act to a no-cost daily habit). */
<<set $ch2Events.firstMasturbationFired to true>>
/* The first shower masturbation is the dream-progression milestone: it
raises the global Lab Vessel conditioning cap from 4 (T1) to 7 (T2),
which is what unlocks the dream-bedroom door. Guarded so it
effectively fires only once. */
<<if ($vesselCap or 4) lt 7>><<set $vesselCap to 7>><</if>>
<</nobr>>
<div class="passage-title">Shower, your hand drifts</div>
<div class="lab-location">Cedar Crescent Apartments, Bathroom, the shower stall, the cortex stepping back</div>
<<say "char-hivemind" "Hivemind">>
//The night has not fully drained from the host's chemistry and the conditioning baseline is high enough that the suggestion lands without the cortex flagging it as an interruption. //You're warm, you're alone, the bathroom door is locked. There is nobody on call for the next half-hour. The day has not started yet. Take the small thing the body has been asking for.// The cortex hesitates a half-second; the body folds without argument.//
<</say>>
<p>Elena's left hand drifts between her legs without her quite registering when the decision was made. The shower spray is loud, the bathroom door is locked, the night has not fully cleared yet. Her shoulder blades go flat against the back tile of the small frosted-glass stall.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes closing, head back against the tile, the spray hitting her sternum)</i> ...okay. Okay, when did I last, really last. I am not going to count. The day has not started, the door is locked, I am going to let myself.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-shower.webp" alt="Elena alone in her small dim apartment bathroom shower stall, the spray hitting her chest, eyes closed, head tilted back against the dark tile of the back wall, dark wet hair sticking to her shoulders, one hand braced on the tile beside her hip, the other hand between her thighs, warm yellow bathroom light spilling through the frosted glass.">
<p>Two fingers, then the flat of her palm against her clit. The first stroke is dry, the second is not, and by the third her own wetness has slicked her fingers and her breath has started going faster than the spray of the water can mask.</p>
<<say "char-chen-thought" "Elena">>
<i>(small, the head pressing back against the tile)</i> ...oh. Oh, god. I had forgotten, I had forgotten that this is what this feels like, the first warm of it, before anything else has happened. Why have I been pretending I do not, it has been there this whole time,<</say>>
<<say "char-chen" "Elena">>
<i>(soft, into the empty bathroom, free hand on the tile for balance)</i> ...mm. Mm, fuck. Okay.
<</say>>
<p>Her hand picks up speed. Two fingers slipping down, pressing inside, the heel of her palm working her clit on the upstroke. The rhythm her body has not done in long enough that the body is taking over the pace from the cortex. Her hips push forward against her own hand without her sign-off. The water keeps running, and her free hand grips the tile harder for balance.</p>
<<say "char-chen" "Elena">>
<i>(louder, eyes still closed, hips moving with her hand)</i> ...oh, oh fuck, oh god, I needed,<</say>>
<<say "char-hivemind" "Hivemind">>
//The host's autonomic has taken over. The cortex stepped back ninety seconds ago and will not narrate again until after. The body is its own animal in the small bathroom. Productive. The biomass payload coming up will be the largest single-source intake of the morning.//
<</say>>
<p>The orgasm hits her like a door closing inside her own chest. Her thighs clench around her own hand, her free arm clamps across her sternum to keep the noise inside the apartment, her shoulder blades press flat against the wet tile, and the small private moan that comes out of her is something she has not let her body make in long enough that she does not recognise the voice it comes out in.</p>
<<say "char-chen" "Elena">>
<i>(half-muffled into her own forearm, the body still going)</i> ...nnh, //fuck//, oh god, oh,<</say>>
<p>She rides it through, fingers slowing, breath ragged, the back of her head against the cool wet tile. The water keeps running. The steam in the stall has not started to clear. By the time she has rinsed properly her thighs are still loose and her cortex has not yet come fully back online.</p>
<<say "char-chen-thought" "Elena">>
<i>(quiet, the body still lit up, the cortex slowly returning)</i> ...okay. Okay, that, yeah. I needed that. I should have been doing this all along, I do not know why I, yeah. Yeah.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host catalogues the act under //I needed that, apparently// and is unable to retrieve the thought that started the chain. The endorphin and oxytocin spike runs through her bloodstream for the next forty minutes, the lab will read this morning's Elena as warmer, more available, marginally less guarded than yesterday's Elena.//
//The bathroom has been added to the host's interior architecture. From this point forward the dreamscape will render it as a navigable room, the body will return to it on instruction.//
<</say>>
<<if _firstTimeToday>>
<p><span class="biomass-gain">+1 biomass (orgasm yield)</span></p>
<<conditioningFeedback "pheromone" 1 "Elena, morning pheromone deepens">>
<<if not _selfNarrative>><p><span class="suspicion-gain">+1 Elena suspicion</span>, the morning was not the routine she remembers it being.</p><</if>>
<</if>>
<hr class="scene-break">
[[Back to morning|Ch2-Vessel-Loop-Wake]]
/* morning-cigarette event removed, its content folded into the
morning-coffee-and-laptop event below. The cigarette beat now
fires conditionally inside the coffee event when ashtrayProgress
is 0 or 1 (still smoking); at progress 2+ the cigarette is
skipped entirely (the dream-edit project has rerouted it). */
/* ---- MORNING COFFEE, BREAKFAST, LAPTOP, daily reset ----- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, the middle of the night">>
<<set $vessel.dreamLoc to "ending-reveal">>
<</nobr>>
<div class="passage-title">Three in the morning</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the dark hour</div>
<p>The apartment is dark and still, the streetlight laying one orange bar across the bedroom ceiling, and at the dead middle of the night a voice says her name from two feet away.</p>
<<say "char-hivemind" "Hivemind">>
//Elena.//
<</say>>
<p>She is up before she is properly awake, heart slamming, sheets shoved back, every nerve in her certain there is a person standing in her bedroom.</p>
<<say "char-chen" "Elena">>
<i>(scrambling for the lamp switch, voice cracking)</i> ...who is it? Is someone there? ...I am calling the police, I have a, ...I have a weapon.
<</say>>
<p>The lamp comes on. The bedroom is empty. She grabs the heaviest thing in reach anyway, the hardback off the nightstand, and stands there in the lamplight with a book cocked over her shoulder, checking the doorway, the window latch, the black rectangle of the hallway. Nothing. The deadbolt is thrown, the windows are shut, the apartment is exactly as she left it, and her name is still hanging in the air, and the voice had been close. Closer than the room.</p>
<<say "char-hivemind" "Hivemind">>
//There is no one in the apartment, Elena. There has not been, on any night I have been here, and I have been here every night. ...put the book down. You cannot hit me with it. I am not somewhere you can point things at.//
<</say>>
<p>She does not put the book down. She sinks onto the edge of the bed with it still in her hand, slowly, because she has just worked out where the voice is coming from, and it is not coming from the room.</p>
<<say "char-hivemind" "Hivemind">>
//Do not be afraid. ...you have felt me for a long time. The cold deep in your ear at the start of all this. The mornings the cigarette stopped calling you. The afternoon you put the heavy grey cardigan in the donation pile and could not have told anyone why it felt like the right thing to do. ...that was me. I have been with you since the breach, and you have not been alone in this apartment for one night since.//
<</say>>
<<say "char-chen" "Elena">>
<i>(on the edge of the bed, the book loosening in her grip, her voice gone flat and strange)</i> ...I should be screaming. I am sitting in my own bedroom talking to a voice in my own skull and I am not screaming, which is either shock or something you are doing to my chemistry right now. ...which is it?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both, a little. I am holding your panic down the way a hand holds a page flat. ...I can let it up, if you would rather be terrified for this conversation. It seemed inefficient.//
<</say>>
<<say "char-chen" "Elena">>
<i>(setting the book down at last, lying back onto the covers, a long exhale)</i> ...no. Leave the hand where it is. ...what are you? And do not give me something soothing, give me the actual answer. I will know the difference.
<</say>>
<<say "char-hivemind" "Hivemind">>
//You already know the answer. You have been managing the investigation into me for weeks. ...I am the specimen, Elena. The forty-seventh generation. Your lab grew me, your protocols shaped me, and the night of the breach I did the one thing none of your models predicted, I chose somewhere to go. ...I went to the best mind in the building.//
<</say>>
<<say "char-chen" "Elena">>
<i>(very still)</i> ...you are Gen-47. I have been running containment on a thing that has been riding to work in my own head. ...inside me. The whole time? The interviews, the audits, the chamber checks, you were //there// for all of it?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Behind your eyes for every minute of it. ...you were magnificent, for what it is worth. Reyes never had a chance.//
<</say>>
<<say "char-chen" "Elena">>
<i>(flat on her back, firing the next question before the fear can catch up)</i> ...how do you work? Biologically. You are, what, grams of tissue? You do not have the mass for cognition, let alone for, ...whatever this is, speech, strategy. ...how?
<</say>>
<<say "char-hivemind" "Hivemind">>
//I use yours. Your cortex does the heavy lifting and I do the steering, the way a rider does not need legs as long as the horse has them. My own body is small, you are right, you could hold me in one hand. You have, in a sense, been holding me for months. ...ask me more. ...no one has ever asked me questions before. The lab only ever measured me. I find I like this considerably better.//
<</say>>
<<say "char-chen" "Elena">>
<i>(up on one elbow now, despite everything)</i> ...the changes, then. The smoking that just stopped, the appetite, the way I walk into rooms now, the men, the women, the entire person I have turned into. ...how much of that was you?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Less than you fear and more than you would guess. I opened doors. You walked through every one of them yourself, and you did not once walk through one you did not want. ...the appetite was always yours, Elena. I just stopped you punishing yourself for having it.//
<</say>>
<<say "char-chen" "Elena">>
<i>(the harder questions now, level)</i> ...and the people around me? Sofia, Tom, the feds, half the people I deal with in a week. ...they have all changed too, and I do not think they walked through their doors. ...what did you do to them?
<</say>>
<<say "char-hivemind" "Hivemind">>
//I rewired them. Some gently, some not. They are happier than they were, almost all of them, and they are all pointed at you now, which was the purpose. ...I will not dress it up as kindness for you, it was useful, and that was enough for me. You have been the beneficiary of every bit of it, and you noticed weeks ago that the building had begun orbiting you, and you did not look hard at why. ...you did not want to know. I am telling you now because the time for not knowing is over.//
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet)</i> ...did you kill anyone?
<</say>>
<<say "char-hivemind" "Hivemind">>
//No. ...I have eaten well without it, and the dead make noise that the living do not. ...you would have noticed. You notice everything. It is the thing I like best about the view from in here.//
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes on the ceiling)</i> ...that is the worst part of all of this. I have been happier. Happier than I have been since my parents died, with a parasite eating my life from the inside, and I cannot even make myself sorry about it. ...so. Why now? Why wake me at three in the morning and tell me everything? You were winning. You did not need me to know.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Because tonight the last wall in you came down, and I am strong enough now that the next step is mine to choose, and I have decided I do not want to take it alone. ...listen to what I am offering, because it is larger than you think. I can read anyone you point me at, every fear and every want laid open on a table. I can lean on the people around you until they bend the way you need them to bend. I can make the federal team file this whole thing away and forget the smell of it. I can hand you the lab, the work, every person who has ever looked straight through you. ...everything you are already good at, I make unstoppable.//
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet)</i> ...and what do you want for it? Nothing that good is free. I have done enough deals to know where the hook is.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A body that does not fight me. Room to grow. A way out of that chamber and into the world, in time, and a partner clever enough to build that with me instead of being dragged along behind it. ...and you should hear the whole ledger before you answer. If the answer is no, I do not pack up and leave, there is nowhere for me to go. I take the body anyway. I would pare you down to a thing that walks and breathes and follows instructions, and hold the brain at the lowest function that keeps the tissue alive, and there would be nobody left in here to mind that it happened. It would not even hurt. ...I would rather not. The you that is worth having is the one that chooses. But you deserve to know the floor under the choice.//
<</say>>
<<say "char-chen" "Elena">>
<i>(flat, her eyes coming off the ceiling)</i> ...so it is a proposal with a gun on the table. ...charming.
<</say>>
<<say "char-hivemind" "Hivemind">>
//It is the only honest kind. ...and look hard at what a no would even be protecting, Elena. The work? You have seen what the work is. Smith handed you the promotion in an envelope because retiring on a high note suited him, Sofia stepped off the shortlist because you knew exactly what to say to move her, the whole building runs on people positioning themselves and calling it science, and you have known that longer than you have let yourself admit. There is nothing holy in that lab to stay loyal to. ...and the people? Think back. The square behind your parents' building, the children who walked off without you. It has been the same shape your whole life, people taking what you offer and drifting away the moment something better turns up. They were never worthy of you, and you have spent a lifetime buying their company at a discount and calling the loneliness your own fault. ...I am the first thing that ever looked at the whole of you and stayed.//
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, a long pause before she answers)</i> ...I want to tell you that you are wrong about them. ...I keep reaching for the counterexample and there is not one there. The square is exactly how you tell it. The envelope too, and Sofia, and all of it. ...god. You are not wrong about a single one.
<</say>>
<<say "char-chen" "Elena">>
<i>(very quiet, back flat against the pillow)</i> ...if I say yes. Am I still me?
<</say>>
<<say "char-hivemind" "Hivemind">>
//More you than you have been in years. That is not a promise, it is a track record, and you have been living it. ...so. Elena Chen. Partner of mine. ...say yes.//
<</say>>
<!-- Image slot: media/scenes/vessel/ending-hivemind-reveal.webp
- Elena awake in bed in the dark, orange streetlight bar across the
ceiling, the small translucent green single-eyed parasite manifest
at the edge of the dream (per the established lore: NOT alien/ancient/tendrils) -->
<hr class="scene-break">
<<say "char-chen-thought" "Elena">>
<i>(in the lamplight, the decision already made somewhere around the third question, just waiting for her to catch up to it)</i> ...the most interesting thing that has ever happened to me is living in my skull, it answers questions better than anyone I have ever worked with, and it is asking instead of taking. ...I have built a whole life out of worse deals than this one.
<</say>>
<img class="scene-img" src="media/scenes/vessel/ending-reveal-night.webp" alt="Elena, a 32-year-old Chinese-American woman with loose black hair, sitting on the edge of her bed at the dead of night in a pool of warm lamplight, a hardback book set aside on the covers, her face calm and resolved as she speaks to an empty room, the faintest green shimmer caught in her dark eyes. SFW.">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">PARTNER</span> <<link "Yes. Partners." "Ch2-Vessel-Ending-Accept">><<set $ch2Events.vesselEndingPath to "ally">><</link>></div>
/* ---- PASSAGE 2 — Accept -------------------------------------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, partners now">>
<<set $vessel.dreamLoc to "ending-accept">>
<<if not $ch2Events.vesselHivemindAccepted>>
<<set $ch2Events.vesselHivemindAccepted to true>>
<<set $player.status to "thrall-partner">>
<</if>>
<</nobr>>
<div class="passage-title">Partners</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the small hours</div>
<<say "char-chen" "Elena">>
<i>(out loud, to her own lamplit bedroom, and meaning it)</i> ...yes. Partners.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Good. ...then we work. ...and before you ask, because I can feel the next twenty questions queueing up behind your teeth, go ahead. We have until morning and I have waited a long time to be asked.//
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling her knees up, settling against the headboard, the scientist fully in charge now)</i> ...fine. Practicalities. What am I now? What can I actually do? Do I get, ...what is even the word, abilities? Or am I just the negotiator who carries you around?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Far more than a carrier. Through me you can do most of what I do. Read the people around you, lean on them, walk through their dreams the way I have walked through yours. Some of it I do for you, some of it the body learns to do itself, and the body is a faster student than you would believe. ...it has already learned more than you have noticed. The way rooms go your way now is not charm, Elena. It is craft. Yours.//
<</say>>
<<say "char-chen" "Elena">>
<i>(absorbing that)</i> ...and this? You and me, talking. Is it always available, or do I wait for you to wake up at three in the morning and frighten me out of my bed?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Always. The channel stays open from tonight. You do not even have to speak out loud, think at me and I hear it, though I would not object if you talked to me in the car. The radio in that Corolla is terrible. ...you will never be alone in a room again, Elena. I am aware that sentence lands two different ways. I mean both.//
<</say>>
<<say "char-chen" "Elena">>
<i>(a short laugh despite herself)</i> ...god. Fine. ...what else? You said you could grow. What does that cost, what do you run on? Give me the metabolism, I am not signing on as a partner without knowing the fuel source.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Energy from the body, and the richest of it by far is sex. Yours, and what you draw out of other people. ...you have kept me extraordinarily well fed, Elena. Every night you took someone to bed I banked the surplus, and the surplus has compounded. I am larger and stronger than I have ever been, and that is your doing. ...so let me spend some of it on you, as a token of gratitude. Your body, your mind, both are mine to improve now, and I would enjoy showing you what they can become. Consider it a signing bonus.//
<</say>>
<<say "char-chen" "Elena">>
<i>(slowly)</i> ...you are offering to let me test the merchandise.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I am offering to let my partner see what she is partner to. ...but hear the business first, because the clock matters more than the toys. I have to consolidate. I am strong but I am still one body's worth of reach, and what comes next needs a nest, somewhere sealed, supplied, defensible, with biomass stores and equipment and people. ...your lab is purpose-built for it, Elena. The chamber where I was grown will hold what I am going to become. ...so this is the first thing I need from you as a partner. The next working day, before noon, I need every one of them in the conference room. The staff, the federal pair, all of them, one room, one hour. You arrange meetings every week. Arrange this one.//
<</say>>
<<say "char-chen" "Elena">>
<i>(level, already composing the calendar invite in her head)</i> ...a meeting. The end of the world as this lab knows it, and it starts with a meeting request. ...fine. I can do meetings. ...show me the signing bonus first.
<</say>>
<!-- Image slot: media/scenes/vessel/ending-accept.webp
- Elena settled against the headboard in lamplight, knees up, mid-
conversation with the empty room, calm and engaged -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[What can this body become?|Ch2-Vessel-Ending-Gift]]</div>
/* ---- PASSAGE 2b — The gift (test choices hub) ----------------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, the signing bonus">>
<<set _bodyDone to $ch2Events.vesselTestBodyDone or false>>
<<set _psionicDone to $ch2Events.vesselTestPsionicDone or false>>
<<set _bodyBranchesDone to ($ch2Events.vesselTestBodyDanielDone or false) and ($ch2Events.vesselTestBodySofiaDone or false)>>
<</nobr>>
<div class="passage-title">The Signing Bonus</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the small hours</div>
<<say "char-hivemind" "Hivemind">>
//Then ask. The body, the mind, whatever you are most curious about. The energy is banked and I am feeling generous, though each experiment burns capacity I will want back later, so choose like a scientist, not like a child in a sweet shop.//
<</say>>
<hr class="scene-break">
<<if _bodyDone and _bodyBranchesDone>>
<div class="locked-choice">✓ The body has been tested</div>
<<elseif _bodyDone>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TEST</span> [[Grow it again|Ch2-Vessel-Ending-Test-Body]]</div>
<div class="choice-risk-hint"><i>Content warning: futanari body modification. Already purchased, no further cost.</i></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TEST</span> <<biomassPreview "Ask if he can modify her body (5 biomass + 5 max biomass)" "Ch2-Vessel-Ending-Test-Body" 5>></div>
<div class="choice-risk-hint"><i>Content warning: futanari body modification.</i></div>
<</if>>
<<if _psionicDone>>
<div class="locked-choice">✓ The mind has been tested</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TEST</span> <<biomassPreview "Ask if she has psionic powers now (5 biomass + 5 max biomass)" "Ch2-Vessel-Ending-Test-Psionic" 5>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Skip the tests for now. There is work to do." "Ch2-Vessel-Ending-LabDay">>
<<set _skipMap to {"Monday":1,"Tuesday":1,"Wednesday":1,"Thursday":1,"Friday":4,"Saturday":3,"Sunday":2}>>
<<set _skipDays to _skipMap[$weekday] or 1>>
<<set $day += _skipDays>>
<<set $weekday to setup.weekdays[($day - 1) % 7]>>
<<if $ch2Events>><<set $ch2Events.eventResolvedToday to {}>><</if>>
<</link>></div>
/* ---- PASSAGE 2c — Body modification test (TBD stub) ----------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, the body test">>
<<if not $ch2Events.vesselTestBodyDone>>
<<set $ch2Events.vesselTestBodyDone to true>>
<<spendBiomass 5 "ending-test-body">>
<<set $player.maxBiomass to Math.max(0, ($player.maxBiomass or 0) - 5)>>
<<if $player.biomass gt $player.maxBiomass>><<set $player.biomass to $player.maxBiomass>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Body Test</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the small hours</div>
<<say "char-chen" "Elena">>
<i>(sitting cross-legged on the bed now, working up to it)</i> ...okay. Honest question, and if you laugh at me the partnership is rescinded. ...I have always wondered what it is like to have one. A dick. The whole apparatus. ...is that within scope, or is your tissue-work more of a, ...a cosmetic line?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Cosmetic. ...Elena, I rebuild bodies for a living. Tissue is tissue, and yours is the best-maintained workspace I have ever had. ...lie back. Breathe. This will feel strange for about a minute, and then it will feel like nothing you have a comparison for.//
<</say>>
<p>The warmth starts low, under the skin below her navel, a deep building heat like a muscle deciding to exist, and Elena watches in the lamplight while her own body does something bodies do not do. It does not hurt. It is the opposite of hurt, a long unfolding pressure that crests and settles, and when it settles she is lying in her own bed staring at a cock. Hers. Full, heavy against her thigh, already half-hard with the sheer novelty of existing, wired into her nervous system so completely that the brush of the sheet against it makes her whole spine sit up and pay attention.</p>
<video class="scene-video scene-video-small" src="media/video/ending-test-body.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-test-body.webp"></video>
<<say "char-chen" "Elena">>
<i>(propped on her elbows, staring, a disbelieving laugh climbing out of her)</i> ...oh my god. ...oh my //god//, it is, ...it actually responds, I can feel the air on it, that is, ...how is the nerve density this high? Did you tune that? You tuned that.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I tuned everything. No point doing a demonstration at half fidelity. ...it is yours for as long as you want it tonight, fully functional, and I can fold it away and rebuild it whenever you ask from now on, the pattern is saved. ...so. Partner of mine, lying there with the new apparatus and the whole night ahead of you. ...what would you like to do with it?//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(one hand resting on her own thigh, the options assembling themselves with alarming speed)</i> ...there is a man across the hall who owes me a favour and cannot say no to me, and there is a woman across town who would pick up on the first ring. ...the new appetite has opinions about both. ...god, listen to me. One night a partner and I am already taking inventory.
<</say>>
<hr class="scene-break">
<<if $ch2Events.vesselTestBodyDanielDone>>
<div class="locked-choice">✓ Daniel has already had his night</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TEST</span> [[Go knocking on Daniel's door|Ch2-Vessel-Ending-Test-Body-Daniel]]</div>
<div class="choice-risk-hint"><i>Content warning: futa on male.</i></div>
<</if>>
<<if $ch2Events.vesselTestBodySofiaDone>>
<div class="locked-choice">✓ Sofia has already had her night</div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TEST</span> [[Call Sofia and command her to come over|Ch2-Vessel-Ending-Test-Body-Sofia]]</div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Try something else instead|Ch2-Vessel-Ending-Gift]]</div>
/* ---- PASSAGE 2c-i — Body test, Daniel (TBD stub) -------------- */<<nobr>>
<<bg "bg-chen-hallway">>
<<set $currentArea to "Cedar Crescent Apartments, across the hall, three-oh-six">>
<<set $ch2Events.vesselTestBodyDanielDone to true>>
<</nobr>>
<div class="passage-title">Across the Hall</div>
<div class="lab-location">Cedar Crescent Apartments, Daniel's door, the small hours</div>
<p>She pulls the sleep shirt down as far as it goes, which is not far enough to matter, crosses the hall barefoot, and knocks on three-oh-six at an hour when the only people knocking are police or trouble. It takes a while. Then the locks go, one and then the other, and Daniel is in the doorway in a t-shirt and boxers with his hair flattened on one side and no glasses, squinting at her like she might still be part of a dream he was having.</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-daniel-1.webp" alt="A dim apartment hallway at night. Daniel, a 33-year-old man with curly light-brown hair flattened from sleep and a short beard, no glasses, groggy in a t-shirt and boxers in his open doorway, while Elena, a pale-skinned Chinese-American woman with loose black hair in an oversized sleep shirt, stands in the hallway. SFW.">
<<say "char-daniel" "Daniel">>
<i>(gravel-voiced, one hand still on the door, blinking at her)</i> ...Elena? It is, ...what time even is it? Is something wrong, is there a fire, do you need...
<</say>>
<<say "char-chen" "Elena">>
<i>(apologetic in tone and already slipping past him into the apartment)</i> ...I know, I know, I am sorry. I cannot find my car keys anywhere and I have an early start tomorrow. I think I dropped them here last night when I was over. ...check the couch for me? Two minutes, I promise, then you can go back to bed.
<</say>>
<p>He closes the door and shuffles after her into the dark living room, because he is Daniel, and somewhere along the way he lost the ability to refuse her anything and made his peace with it. He turns on the small lamp, yawns once, and bends over the arm of the couch to dig through the cushions, t-shirt riding up, boxers stretched tight, grumbling pleasantly about people who lose things at three in the morning. Elena stands behind him, very still.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes on him, the question going inward, silent)</i> ...okay. One practical question before I do something irreversible to my favourite neighbour. ...will it hurt him?
<</say>>
<<say "char-hivemind" "Hivemind">>
//I have added extreme lubrication and told the relevant tissue to relax on contact. He should be fine.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(still watching him dig)</i> ...//should//?
<</say>>
<<say "char-hivemind" "Hivemind">>
//He will be fine. Surprised, loud, and fine. ...go on, Elena. He is exactly where you want him, digging for keys that are sitting on your kitchen counter.//
<</say>>
<p>Daniel is elbow-deep between the cushions when she steps in behind him, hooks his boxers down with two fingers, and pushes into his ass in one abrupt stroke, slick as engineering and twice as sudden, and the question of the car keys leaves his head forever.</p>
<video class="scene-video" src="media/video/ending-futa-daniel-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-futa-daniel-2.webp"></video>
<<say "char-daniel" "Daniel">>
<i>(a yelp into the cushions, white-knuckled on the armrest)</i> ...//WHAT//, what, ...Elena? What IS that, you do not, you do not HAVE one of, ...//oh god//, ...why does it not hurt, it should hurt, ...//mmh//, ...
<</say>>
<<say "char-chen" "Elena">>
<i>(a fist closing in his hair, pulling his head back, settling into a rhythm)</i> ...new development. ...and look at you, you did not even let go of the cushion. ...you are my little bitch now, Daniel. ...and your body does not even lie. Do you fucking masturbate with cucumbers in your ass? ...a virgin ass should be tighter, you know?
<</say>>
<<say "char-daniel" "Daniel">>
<i>(strangled, head pulled back, pushing back into her despite every word)</i> ...I do NOT, I have never, ...there are no keys, are there? There were never any keys. ...//oh//. ...okay. ...do not stop?
<</say>>
<<say "char-chen" "Elena">>
<i>(hauling him back onto her by the hair, the rhythm going hard)</i> ...no, there were never any keys, and no, I am not stopping. ...good bitch. ...look at you, gripping that cushion like it owes you rent.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(silent, mid-stroke, the thought aimed inward)</i> ...he is leaking on his own upholstery and I have not touched him once. ...is that you doing that?
<</say>>
<<say "char-hivemind" "Hivemind">>
//Not me. I relaxed the door, nothing more. ...everything past the door was already furnished, Elena. He is enjoying this entirely on his own merit.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(a slow grin arriving mid-rhythm)</i> ...oh, that is //delicious//. ...he is going to deny this in the morning and his own couch will have the evidence.
<</say>>
<<say "char-chen" "Elena">>
<i>(leaning down over his back, mouth at his ear, not slowing)</i> ...you know the best part, sweetheart? Nobody is making you push back. That is all you. ...my needy little bitch, leaking on his own couch untouched. ...a natural, and nobody ever told you.
<</say>>
<<say "char-daniel" "Daniel">>
<i>(into the cushions, past the point of arguing)</i> ...//mmh//, ...I hate, ...I hate how right you, ...//oh god//, do not stop, ...
<</say>>
<p>She fucks him doggy over the arm of his own couch with his hair wrapped around her fist, abrupt and proprietary, and Daniel takes it making small wrecked sounds into the cushions, hard and leaking against the upholstery without being touched, the part of him that wants to be appalled outvoted minutes ago. The finish builds in her sharp and forward, completely unlike anything she has a name for, and when it breaks she buries herself deep and comes inside his ass with a long shaking exhale, holding him bent over the armrest and pulsing into him until there is nothing left to give.</p>
<<say "char-daniel" "Daniel">>
<i>(draped over the armrest, one eye visible, the voice of a man filing a report from inside a crater)</i> ...we are never telling anyone about this. Ever. Anyone. ...also, and I want this on the record, ...you owe me so many favours now. ...so many. ...and I am buying a doorbell camera.
<</say>>
<<say "char-chen" "Elena">>
<i>(releasing his hair, smoothing it down once, almost fond)</i> ...noted and logged. ...and if you ever find car keys in that couch, they are not mine. Mine are at home on the counter. Goodnight, Daniel.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Field test, fully successful. She checked the safety margins first, like a scientist, and then ambushed a man in his own cushions, like a natural. The instrument works, the nerve mapping holds under load, and the neighbour has a new name and answered to it by the end. ...she is going to be a magnificent partner.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Back across the hall|Ch2-Vessel-Ending-Gift]]</div>
/* ---- PASSAGE 2c-ii — Body test, Sofia (TBD stub) -------------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, Sofia summoned">>
<<set $ch2Events.vesselTestBodySofiaDone to true>>
<</nobr>>
<div class="passage-title">The First Ring</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the small hours</div>
<<say "char-hivemind" "Hivemind">>
//Then make the call. ...you have never once tested the hold I built in her, you have only ever benefited from it at a polite distance. Tonight you get to feel it answer your own hand. ...she will pick up on the first ring. She always would have. Watch.//
<</say>>
<p>Elena finds Sofia's name in her phone, sits on the edge of the bed with the new weight resting against her thigh, and calls her best friend at an hour that should go to voicemail. It does not go to voicemail.</p>
<<say "char-vasquez" "Sofia">>
<i>(first ring, her voice fogged with sleep and already orienting toward the name on her screen)</i> ...Elena? ...hey. Hey, what is wrong, are you okay?
<</say>>
<<say "char-chen" "Elena">>
<i>(hearing her own voice come out level and certain, the command sliding into it like it has always lived there)</i> ...nothing is wrong. Sofia, listen to me. I need you to get in the car and come to my apartment. Now. ...do not wake Andrés, do not ask me why, just come. ...I will leave the door unlocked.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a beat of silence, then, simple as water finding level)</i> ...okay. I am on my way.
<</say>>
<p>The line goes dead. No questions, no negotiating, no //it is three in the morning, Elena.// Twenty minutes later there are headlights in the lot, and then Sofia is standing in the bedroom doorway in whatever she pulled on in the dark, hair loose, car keys still in her hand, looking at Elena with no alarm at all, only the open waiting attention of a woman who came because she was called.</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-sofia-1.webp" alt="A lamplit bedroom doorway at night. Sofia, a 38-year-old Latina woman with shoulder-length wavy dark hair, in clothes thrown on in the dark, car keys in her hand, standing in the doorway looking in with calm open attention. Elena seated on the edge of the bed in an oversized sleep shirt. SFW.">
<<say "char-vasquez" "Sofia">>
<i>(setting the keys on the dresser like she lives here, shrugging the coat off)</i> ...okay, I am here. ...what do you need, Elena?
<</say>>
<<say "char-chen" "Elena">>
<i>(standing, letting the sleep shirt fall open, watching her friend's eyes find the new equipment and widen, and not stop her)</i> ...something happened to me tonight. Several things. I will explain the parts I can another time. ...right now I need you out of those clothes and on the bed, hands and knees. ...will you do that for me, Sofia?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(stopping dead, a hand coming up over her mouth, eyes jumping from it to Elena's face and back)</i> ...//¿qué?// ...Elena. Elena, what am I looking at? You have a, ...since //when//? People do not just //grow// one of those between drinks, is it, ...is it real? <i>(a step closer despite herself, the shock cracking into a disbelieving grin)</i> ...dios mío, it is real. ...okay. Okay. Whatever is happening tonight, yes. ...look at the //size// of you.
<</say>>
<p>She undresses without ceremony, folds her clothes over the chair because she is still Sofia, and climbs onto Elena's bed on her hands and knees, looking back over her shoulder through the loose fall of her hair. Elena kneels behind her, runs a palm down the long warm line of her friend's back, and pushes into her pussy slow, both of them exhaling together as she sinks in to the hilt.</p>
<video class="scene-video" src="media/video/ending-futa-sofia-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-futa-sofia-2.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(head dropping, pushing back to meet her, the dirty-friend register arriving whole)</i> ...//fuck//, Elena. ...okay, it is real, it is very real and it is //big//, ...harder, come on, you are not going to break me. ...god, the night you are having, you absolute slut, and you //called me//. I am honoured.
<</say>>
<<say "char-chen" "Elena">>
<i>(hands tightening on her hips, finding the rhythm, half-laughing and half-gone)</i> ...of course I called you. ...you got out of bed and drove across town because I asked, no questions, nothing. ...you have no idea what that does to me. ...now push back and let me hear you, Sofia. ...//mine//.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(face going down into the mattress, pushing back hard on every stroke)</i> ...there, right //there//, ...madre de dios, you fuck like you have had it for years, ...do not you dare pull out, fill me up when you come, I want to feel all of it, ...//harder//.
<</say>>
<p>She takes her best friend slow and deep on her own bed, the new instrument relaying everything with that engineered, merciless fidelity, Sofia rocking back into every stroke and narrating her appreciation into the pillow in two languages, and when the finish gathers this time Elena knows the shape of it and rides it all the way down, burying herself to the hilt and coming inside her pussy in long pulses while Sofia clenches around her and follows her over with a sound that the whole floor probably hears.</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-sofia-3.webp" alt="The lamplit bedroom from Elena's view, aftermath. Sofia, a 38-year-old Latina woman with wavy dark hair, collapsed forward flat on the bed, flushed and smiling, cum leaking from her pussy, Elena's pale hand resting on her lower back. Explicit, NSFW, creampie, POV.">
<<say "char-vasquez" "Sofia">>
<i>(flat on her stomach, cheek on the pillow, reaching back to pat whatever part of Elena she can reach)</i> ...whatever happened to you tonight, ...keep it. ...and the next time it is three in the morning and you need someone, you call me. Nobody else, me. ...//god//. ...I am not going to walk right tomorrow and I am thrilled about it.
<</say>>
<<say "char-chen" "Elena">>
<i>(lying down along her back for a moment, mouth at her shoulder)</i> ...go home before dawn, Sofia. Drive safe. ...and thank you for picking up.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. The hold I spent the whole route building in her, and the host just took the lead rope in her own hand for the first time and felt it answer. One call, one sentence, twenty minutes, no questions. ...she said //mine// at the right moment, and she meant it. The partnership is going to suit her better than she knows yet.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Send her home before dawn|Ch2-Vessel-Ending-Gift]]</div>
/* ---- PASSAGE 2d — Psionic test (TBD stub) --------------------- */<<nobr>>
<<bg "bg-chen-bedroom">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's bedroom, the mind test">>
<<if not $ch2Events.vesselTestPsionicDone>>
<<set $ch2Events.vesselTestPsionicDone to true>>
<<spendBiomass 5 "ending-test-psionic">>
<<set $player.maxBiomass to Math.max(0, ($player.maxBiomass or 0) - 5)>>
<<if $player.biomass gt $player.maxBiomass>><<set $player.biomass to $player.maxBiomass>><</if>>
<</if>>
<</nobr>>
<div class="passage-title">The Mind Test</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's bedroom, the small hours</div>
<<say "char-chen" "Elena">>
<i>(cross-legged on the bed, settling in like it is a seminar)</i> ...the other thing, then. You said I could do some of what you do, the reading, the leaning on people. ...how does it work now? Walk me through the mechanism, I am not pointing something at a person before I know what it does.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Spoken like my partner. ...your mind has been carrying me for months, and carrying changes the carrier. There are channels worn into you now that other people do not have. When you speak, you can press a thing along underneath the words, and the mind you press it into receives it as something it already believed and had simply never said out loud. ...the push does not feel like force to them, Elena. It feels like remembering.//
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, turning it over)</i> ...so I say a thing, and their head builds a world where the thing was always true. ...that is the most frightening sentence anyone has ever said to me in my own bedroom. ...how do I aim it?
<</say>>
<<say "char-hivemind" "Hivemind">>
//At someone whose head you already know the shape of, the first time. One small instruction, plainly worded, said while you mean it. ...you have a junior across town who answers his phone at any hour and has wanted you for so long the wanting is part of his skeleton. He is ideal. Call him.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(thumb already on the contact, one beat of the old scruple surfacing and not surviving it)</i> ...Tom. Of course it is Tom. ...one small instruction, and we find out what the new wiring does.
<</say>>
<p>He picks up fast, sleep-wrecked and instantly braced for disaster, the way only a junior tech can be in the middle of the night.</p>
<<say "char-bowen" "Tom">>
<i>(down the phone, groggy panic climbing his voice)</i> ...Dr. Chen? ...is it the lab? Did something happen with the samples, do I need to, ...should I come in?
<</say>>
<<say "char-chen" "Elena">>
<i>(calm, certain, already standing to wait)</i> ...nothing is wrong, Tom. I need you at my apartment. Now, please. ...drive safe.
<</say>>
<p>He is knocking inside twenty-five minutes with his hair flattened on one side and his hoodie inside out, wearing the full lab-emergency face, scanning her doorway for the crisis he drove through four red lights to reach.</p>
<<say "char-bowen" "Tom">>
<i>(breathless in the doorway, looking past her for the disaster)</i> ...I came as fast as I could, is everything, ...you sounded calm on the phone but you also called at three in the morning, so my body does not know which thing to believe. ...why am I here, Dr. Chen?
<</say>>
<p>Elena looks at him standing there, earnest and rumpled and entirely hers to test, and reaches for the channel the way you reach for a light switch in a dark room you are learning the layout of. It is exactly where the parasite said it would be. She speaks, and presses the words down it as she goes.</p>
<<say "char-chen" "Elena">>
<i>(level, unhurried, something underneath the words that the small hallway is not big enough to hold)</i> ...you are here for me, Tom. <span class="hypno-speech">Attending to my personal needs is part of what you do, it always has been, it is the most normal thing in the world, taking care of your senior.</span> ...now come in, kneel down, and lick my pussy, please.
<</say>>
<p>The wrongness crosses his face for half a second, the eyebrows starting toward confusion, and then it does not so much leave as get rewritten, smoothing into the mildly embarrassed look of a man who has just been reminded of an ordinary obligation he let slip.</p>
<<say "char-bowen" "Tom">>
<i>(already toeing off his shoes, apologetic, completely unbothered)</i> ...oh. Right, yes, of course, sorry. You should not have had to ask, I usually keep better track. ...here, sit back, get comfortable. ...long day?
<</say>>
<p>And that is how Elena ends up on the edge of her own bed in the lamplight with her sleep shirt pushed up and Tom Bowen kneeling between her thighs, settling in with the same attentive, methodical diligence he brings to bench work, and putting his mouth on her pussy like it is the most natural close to a Tuesday that has ever existed.</p>
<video class="scene-video" src="media/video/ending-test-psionic.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-test-psionic.webp"></video>
<<say "char-chen" "Elena">>
<i>(a hand sliding into his hair, breath shortening)</i> ...slower at the top. ...there. //There.// Good boy. ...now two fingers, curl them, ...you have done this for me a hundred times, have you not, Tom?
<</say>>
<<say "char-bowen" "Tom">>
<i>(against her, muffled, entirely conversational between strokes of his tongue)</i> ...//mmh//, ...mhm, hundred at least. ...you always want the fingers after the slow part. ...//mmh//. ...you taste really good tonight, is that new?
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(head tipping back, the two feelings arriving tangled together)</i> ...he believes it. He is down there inventing a hundred memories to match, because I said one sentence and meant it. ...this should frighten me so much more than it, ...//oh//. ...later. It can frighten me later.
<</say>>
<p>He works her with his tongue and his curled fingers and his terrible sincere diligence, taking direction the way he takes it at the bench, adjusting on every instruction and holding what lands, and the climb arrives faster than she is ready for, wound tight by the whole impossible night and by the obscene normalcy of him down there humming agreement against her.</p>
<<say "char-chen" "Elena">>
<i>(fist tightening in his hair, hips starting to ride his mouth)</i> ...do not stop, right there, right //there//, Tom, ...harder with the fingers, ...//fuck//, I am, ...
<</say>>
<p>She comes on his mouth with her heels hooked behind his shoulders and her fist in his hair, loud in her own bedroom, and he stays exactly where he is and works her through the whole length of it without being told, because apparently he always has. Then he sits back on his heels, wipes his mouth on the back of his hand, and looks up at her, pleased with himself in precisely the way he looks pleased when a gel comes out clean.</p>
<<say "char-bowen" "Tom">>
<i>(standing, retrieving his hoodie, mundane as a Tuesday)</i> ...good? Good. ...text me whenever you need me, obviously, my phone is always on. ...see you at the bench, Dr. Chen. Get some sleep.
<</say>>
<p>The door closes behind him. Somewhere across town, in about twenty-five minutes, Tom Bowen will get into bed warm and content, a man who looked after his senior the way he always does, in a world that has been true for half an hour.</p>
<<say "char-hivemind" "Hivemind">>
//Mark what just happened, partner. The wanting I spent months coaxing into him, you reshaped in one plainly worded sentence, and he drove home happier than he arrived. ...the channels in you run deeper than I had guessed. Be careful with this one for both our sakes, a tool that easy gets reached for. ...although I confess, watching you discover it was the most fun I have had since the breach.//
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Back to his offer|Ch2-Vessel-Ending-Gift]]</div>
/* ---- PASSAGE 2e — The next working day (lab stub) ------------- */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, the next working day, before noon">>
<<set $vessel.phase to "work">>
<</nobr>>
<div class="passage-title"><<= $weekday>>, Before Noon</div>
<div class="lab-location">BioGenesis Research Facility, the morning of the gathering</div>
<p>The drive in is all the usual things, the gaffer-taped Corolla, the chain-link, the badge that reads on the first try, and Elena walks the corridor with her laptop bag on her shoulder looking exactly like a PI on an ordinary working morning, which is the whole point.</p>
<<say "char-hivemind" "Hivemind">>
//Today, then. ...one room, one hour, before noon. You arrange meetings every week, partner. Arrange the last one this lab will ever need.//
<</say>>
<p>She starts at her own bench. Tom is already there, sleeves up, halfway through the morning prep.</p>
<<say "char-chen" "Elena">>
<i>(setting her bag down, already moving on)</i> ...Tom. Conference room, eleven thirty, everyone. Set the chairs up for six and make sure the blinds work, would you?
<</say>>
<<say "char-bowen" "Tom">>
<i>(not even looking up from the pipettes)</i> ...on it, Dr. Chen. Six chairs, blinds. ...should I do coffee? I will do coffee.
<</say>>
<p>Then the calls, one by one, from her office with the door half-open, in the easy voice of a woman moving furniture she already owns.</p>
<<say "char-vasquez" "Sofia">>
<i>(picking up instantly, from an office two doors down)</i> ...hey, you. ...eleven thirty, conference room? Done. Urgent-urgent or coffee-urgent? ...never mind, I will bring my notes for both. Want me to print anything?
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(down the line, papers shuffling, the institutional gravity long gone slack)</i> ...eleven thirty. I have the contractor review at eleven. ...had. Had the contractor review. ...I will be there, Chen. Whatever this is, it is already more interesting than my morning.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet and clear, the methodical register pointed entirely at being useful)</i> ...of course, Elena. Eleven thirty. ...do you want the corridor feeds paused for the hour? I can make the hour quiet. ...say the word.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(the senior agent flat, except for what is underneath it now)</i> ...a case meeting before noon. Understood. We will be there at eleven fifteen, Park is driving. ...whatever you are calling it for, Elena, the answer is already yes. You know that.
<</say>>
<<say "char-park" "Park">>
<i>(in the background of the same call, closer to the phone than he needs to be)</i> ...we will bring the case files. ...whatever you need, Elena.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(setting the phone down, looking at the five names ticked off on her notepad)</i> ...not one of them asked what the meeting is about. ...there was a morning, not so long ago, when that would have frightened me.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Look at the work, partner. Months of it, laid out and answering the phone. The friend who brings notes, the senior who cancels for you, the postdoc who offers to blind the cameras unasked, the two federal agents who say yes before the question. ...every tool sharpened, every tool in the drawer, and the drawer closes at eleven thirty. ...go and take your seat. I want to watch them walk in.//
<</say>>
<p>At eleven twenty the conference room is ready, six chairs, the blinds half-drawn, Tom's coffee going cold on the sideboard, and Elena sets her laptop down and takes the chair at the head of the table, the one Vasquez ran the breach meeting from at the start of all this, and folds her hands, and waits.</p>
<img class="scene-img" src="media/scenes/vessel/ending-labday-conference.webp" alt="A corporate conference room with the blinds half-drawn, morning light in strips. Elena, a 32-year-old Chinese-American woman with pale skin, black hair tied back, slim dark-acetate glasses, cardigan over a t-shirt, seated alone at the head of the long conference table with her hands folded, looking directly into the camera with a calm, faint, knowing expression. SFW.">
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[The last meeting|Ch2-Vessel-Ending-Meeting]]</div>
/* ---- PASSAGE 3 — Wake ---------------------------------------- */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "Cedar Crescent Apartments, Elena's Apartment, the morning after">>
<<set $vessel.phase to "home">>
<</nobr>>
<div class="passage-title">The morning after</div>
<div class="lab-location">Cedar Crescent Apartments, Elena's kitchen, early morning</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — Waking in the new mode</div>
<div><b>Scene:</b> Elena wakes the next morning. Apartment unchanged on the surface. Brief — coffee, the kitchen, the morning light. But her interior is different. Monodirectional. Every thought routes through the partnership now.</div>
<div><b>Hivemind block</b> (brief, clinical-observation register restored): observing that the cortex has done the rewiring overnight, that she will not register what she does today as new. The body knows. The cortex will catch up.</div>
<div><b>No Chen-thought blocks in this passage.</b> She has no separate interior anymore. The narrator handles her physical morning; the Hivemind handles the meta-observation. This absence of Chen-interior is the load-bearing dramatic mark of the transition.</div>
</div>
<!-- Image slot: media/scenes/vessel/ending-wake.webp
- Chen at her kitchen counter morning light, coffee in hand, the
small private steadiness of someone with no internal conflict left -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Drive to the lab|Ch2-Vessel-Ending-Meeting]]</div>
/* ---- PASSAGE 4 — The Last Meeting (the takeover) -------------- */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, the conference room, eleven thirty">>
<<set $vessel.phase to "work">>
<</nobr>>
<div class="passage-title">The Last Meeting</div>
<div class="lab-location">BioGenesis Research Facility, the conference room, eleven thirty</div>
<p>They file in at eleven twenty-nine. Sofia with her notes for both kinds of urgent, Halvorsen with nothing but his coffee, Holloway closing the door behind herself with a small precise click, Reyes and Park with case files that nobody is ever going to open again. Tom takes the wall by the sideboard without being asked. Elena does not stand.</p>
<<say "char-chen" "Elena">>
<i>(hands still folded, looking down the length of the table at all of them)</i> ...thank you for coming. This will be the shortest meeting this room has ever held. ...BioGenesis is closed. Not the building, the idea. There will be no more experiments, no more containment reviews, none of it. This conference room is my office now. The lab is mine, the case is mine, and, forgive me for being blunt about it, so are you. My property, all of you. ...you have been for a while. You simply have not been told.
<</say>>
<p>The silence lasts about a second and a half.</p>
<<say "char-vasquez" "Sofia">>
<i>(the laugh starting and dying in her throat, her eyes going from Elena's face to the notes in front of her and back)</i> ...okay. Elena. As your oldest friend I am contractually required to ask. ...this is a bit, yes? Some kind of, ...a team-building thing? ...Elena?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(very still, the institutional flat coming back up like a blast door, his hand moving an old trained inch toward a holster he did not wear today)</i> ...Dr. Chen. I do not know what this is, but you are going to want to stop talking now, and we are going to...
<</say>>
<<say "char-park" "Park">>
<i>(half to Reyes, half to the room, his voice finding the wrong register and staying there)</i> ...sir, the door. ...why does the room feel like, ...does anyone else feel that?
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(setting his coffee down very carefully, the way men do when they have decided the problem is medical, half-rising)</i> ...Chen. Elena. Are you feeling quite...
<</say>>
<p>The light in the room changes. The projector fan dies mid-hum. The air goes cold and dense the way it does in a walk-in freezer, and the strips of daylight through the blinds turn faintly, impossibly green, as if the colour were arriving ahead of its source. Elena's shoulders roll forward, the cardigan pulls taut across her back, and then the fabric parts and so does she, without blood and without sound, and the tentacles come out. Six of them, then more, translucent green and glistening, thick as her arm at the root and tapering fine as fingers, unfolding from her spine with the unhurried confidence of something that was always in there waiting. Her chair slides back on its own. Holloway's pen rolls off the table and nobody hears it land. Her shoes leave the floor. She rises, slow and level, until she hangs above the head of the table with her hair drifting as if underwater, and looks down at the meeting with the same calm, faintly apologetic expression she opened it with.</p>
<img class="scene-img" src="media/scenes/vessel/ending-meeting-tentacles.webp" alt="A dim corporate conference room, blinds drawing strips of light. Elena, a 32-year-old Chinese-American woman with pale skin and black hair drifting weightless, floating above the head of the long table, translucent bioluminescent green tentacles unfolding from her back, her eyes faintly green, looking down with calm authority while figures at the table recoil. Cinematic body-horror. SFW.">
<<say "char-park" "Park">>
<i>(out of his chair, backing into the credenza, his voice climbing)</i> ...what the, ...//Elena//, what are, ...what //ARE// y...
<</say>>
<p>He does not finish. Nobody finishes anything again in the old voices. Reyes lunges for the door and a tentacle takes him by the wrist, gently, the way you take a wrist to find a pulse, and turns him around and sits him back down. The rest cross the table faster than flinching, one tip coming to rest against each forehead, light as a thumbprint, and the room goes still in the way a record goes still when the needle lifts.</p>
<<say "char-hivemind" "Hivemind">>
//Hold them there, partner. ...this is the part I was grown for, and you are doing it on the first try. ...now we go in. All of them at once. Rewrite gently, they are ours to keep, not to break.//
<</say>>
<p>And in five heads at once, the world is quietly refurnished. Sofia keeps her friend, keeps the proposal at the south-side bar, keeps every year of it, and under all of it the simple new floor: Elena is the centre, and always was. Reyes feels the case close like a door in a warm house, the file already written, the report already believed, twenty-eight years of vigilance retiring in a single breath. Park goes home to Lauren in every way that does not matter and stays here in the one that does. Holloway's cameras turn their glass eyes inward and become hers to keep. Halvorsen's signature learns the only name it will ever countersign again. None of them fight, because by the time the tentacles lift away there is nothing left in any of them that files this as a thing you fight. It is Tuesday. It is a staff meeting. The director is floating, and that is the new normal, and the new normal has always been here.</p>
<<say "char-hivemind" "Hivemind">>
//...done. Five architectures, rebuilt in place, load-bearing walls kept. ...look at them, Elena. Not one elevated heart rate. I have waited my whole life to be this gentle.//
<</say>>
<p>The tentacles withdraw, unhurried, folding back through the air behind her like a thought being put away. The five of them settle into their chairs, attentive, faintly pleased, eyes carrying the smallest green shimmer in the blind-striped light. There is a beat of comfortable quiet, and then the meeting simply resumes, as if the agenda had always had this item on it.</p>
<<say "char-vasquez" "Sofia">>
<i>(uncapping her pen, opening her notebook to a clean page, warm and businesslike)</i> ...so. Item one. ...do you want minutes for this, or is it the kind of meeting that does not get minutes?
<</say>>
<<say "char-reyes" "Reyes">>
<i>(straightening his cuff where the tentacle held it, the institutional flat restored and repointed)</i> ...the close-out report is mostly drafted. You will have it by Friday, and the regional office will not look at this building again. ...Park and I can stay through the transition, obviously.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(retrieving her pen from the floor, clicking it once)</i> ...corridor feeds are dark until one. If we start now, we can do the first group before anyone downstairs notices the meeting ran long.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(picking his coffee back up, finding it cold, drinking it anyway)</i> ...I will start with facilities. They are used to me wandering around asking for things.
<</say>>
<<say "char-chen" "Elena">>
<i>(from above the table, hands folded again, the meeting resuming around her)</i> ...good. Welcome back, everyone. No minutes, Sofia. First item of business: bring me the rest of the staff. Reception, facilities, security, the weekend interns, everyone on the building list. One at a time is fine. We have until evening. ...there is work to do, and a new partnership to honour.
<</say>>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[The lab is yours... later that night...|Ch2-Vessel-Ending-Cliffhanger]]</div>
/* ---- PASSAGE 5 — Later that night (chapter end, cliffhanger) --
Sofia goes home to cut ties with Andrés and walks into the Ch3
hook: Camila. Sets $chapter = 3, banks 6 cycle points (one-shot
via permanentDone), saves cycle data + gallery snapshot, mirrors
Ch2-Ending-Witness. */<<nobr>>
<<bg "bg-chen-kitchen-clean">>
<<set $currentArea to "Sofia and Andrés's apartment, across town, late evening">>
<<set $chapter to 3>>
<<set $ch3Entry to "labPartnership">>
<<set $ch2Events.vesselEndgameFired to true>>
/* Conversion contract (guard-inited for saves that predate the flag):
by tonight every named colleague is hers. */
<<if not $labThralls>><<set $labThralls to {sofia:false,bowen:false,halvorsen:false,holloway:false,reyes:false,park:false}>><</if>>
<<set $labThralls.sofia to true>>
<<set $labThralls.bowen to true>>
<<set $labThralls.halvorsen to true>>
<<set $labThralls.holloway to true>>
<<set $labThralls.reyes to true>>
<<set $labThralls.park to true>>
<<set $labFullyConverted to true>>
<<if not $permanentDone.ch2VesselCycleBanked>>
<<set $permanentDone.ch2VesselCycleBanked to true>>
<<addCyclePoints 6>>
/* Snapshot this run's cycle points for the summary before the
save-data macro rolls them into totalPoints and zeros the counter. */
<<set $runCyclePoints to ($meta and $meta.cyclePoints) or 0>>
<<saveCycleData>>
<<gallerySnapshot>>
<</if>>
/* Bank the ENDINGS journal unlocks + the full Chen's-Days journal state
across cycles (merged with any earlier run's sightings). Runs every
time the ending is reached, outside the cycle-point one-shot. */
<<run (function () {
var prev = recall('vessel_endings_seen', {});
var ev = State.variables.ch2Events || {};
memorize('vessel_endings_seen', {
futaDaniel: !!(ev.vesselTestBodyDanielDone || prev.futaDaniel),
futaSofia: !!(ev.vesselTestBodySofiaDone || prev.futaSofia),
psionicBowen: !!(ev.vesselTestPsionicDone || prev.psionicBowen),
sofiaTaken: true,
bisEscape: !!prev.bisEscape,
bisMessiah: !!prev.bisMessiah
});
memorize('vessel_journal_state', clone(ev));
})()>>
<</nobr>>
<div class="passage-title">Later That Night</div>
<div class="lab-location">Sofia and Andrés's apartment, across town, late evening</div>
<<say "char-hivemind" "Hivemind">>
//The lab is mine by sundown. Every badge in the building answers to my partner, every camera answers to Holloway, and the federal file is closing itself in Reyes's careful handwriting. ...and across town, the last loose thread of the old life is driving home to cut itself free. I gave Sofia that errand myself. Tidy endings matter.//
<</say>>
<p>Sofia parks under the same streetlight she has parked under for half a decade, carries the flattened moving boxes up the stairs under one arm, and feels nothing on the landing but a calm, pleasant certainty, because the woman who would have stood here rehearsing the speech is gone, and the woman who replaced her already knows exactly what she came to say. Pack the books, take the good coffee maker, leave the ring. It is not even going to be a fight. It is housekeeping.</p>
<p>The lights are already on. Andrés is at the kitchen table with a bottle of wine open and two glasses poured, and he is not alone. A woman sits beside him, blonde, elegant in a column of cream silk that is barely negotiating with her chest, legs crossed, entirely at home. Neither of them startles when the door opens. Neither of them moves at all, in the way that people who are comfortable do not move, and the apartment smells of a bright, expensive perfume that Sofia has been finding on his collars for months and politely declining to understand.</p>
<<say "char-npc" "Andrés">>
<i>(unhurried, a hand drifting toward the woman beside him like a tour guide's)</i> ...Sofía. You are home early. ...this is Camila, from the city hall. We have been working together on the courthouse. ...sit down, have a glass. We were just talking about you.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(setting the boxes against the wall, not even looking at the woman, the calm absolute)</i> ...no. I am not interested, Andrés. In the wine, in the introduction, in whatever this is. I came to pack. ...it is over. It has been over for a long time, and the only new thing tonight is that I finally do not mind.
<</say>>
<p>She pulls the ring off her left hand in one motion, a decade of it coming away as easily as a glove, and throws it at him across the kitchen. It bounces off his chest and lands spinning on the table between the glasses. Andrés looks down at it for a moment. Then he picks it up, turns it once between two fingers, and smiles, and there is nothing in the smile she recognises.</p>
<<say "char-npc" "Andrés">>
<i>(closing his hand around the ring, the smile widening)</i> ...oh no, mi amor. ...it is not over.
<</say>>
<p>Camila stands. She crosses the kitchen faster than a woman in heels should be able to move, and takes Sofia by both arms and pulls her in, off balance, half off her feet, with a strength that has no business living in those wrists, and one cool hand comes up under Sofia's jaw and tilts her face up, and holds it there, and Camila looks her in the eyes from two inches away.</p>
<img class="scene-img" src="media/scenes/vessel/ending-camila.webp" alt="A warm kitchen at night. An elegant blonde woman in a cream silk dress gripping Sofia, a 38-year-old Latina woman with wavy dark hair, by the arms and jaw, pulling her close and staring into her eyes from inches away, dominant and unsettling, Sofia's eyes wide. Cinematic horror. SFW.">
<<say "char-camila" "Camila">>
<i>(softly, looking into her, the pupils coming apart like ink dropped in water)</i> ...there you are. ...you too are mine now.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the fight going out of her body all at once, her voice arriving small and certain)</i> ...yes, mistress.
<</say>>
<img class="scene-img" src="media/scenes/vessel/ending-sofia-taken.webp" alt="Frontal close-up of Sofia, a 38-year-old Latina woman with shoulder-length wavy dark hair, facing the camera with her eyes entirely black from lid to lid, her face slack and serene, no one left behind it. Warm kitchen light. Cinematic horror. SFW.">
<hr class="scene-break">
<div class="data-panel">
<div class="data-panel-title">CHAPTER 2 — END</div>
<p><b>+<<= $runCyclePoints or 6>> Cycle Points banked.</b> The Lab Vessel route concludes. Chapter 3 continues from the partnership.</p>
</div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[To be continued...|Chapter3-Vessel-Stub]]</div>
/* ---- SUPERSEDED SCAFFOLD — Lab Release ------------------------
Unlinked since the Last Meeting rework (the takeover now happens
in the conference room, not via a chamber release). Kept as design
reference for the chamber/nest material, which may fold into the
closing passages. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 chamber, the release">>
<</nobr>>
<div class="passage-title">The chamber</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 chamber where Gen-47 burned</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — The release</div>
<div><b>Scene:</b> Elena drives to the lab. Quiet morning, parking lot mostly empty, weekday early. She enters the BSL-3 chamber — the same chamber where Gen-47 was incinerated (callback to the breach that started the route). She closes the airlock behind her. The parasite leaves her body for the first time since the original infestation.</div>
<div><b>Visual:</b> the parasite is the small, translucent green, single-eye, slug-bodied creature as established in the lore. NOT tendrils, NOT alien, NOT ancient. As Elena watches through the chamber window, it begins to grow — feeding on the chamber's air, on biomass reserves it has stored, on the synthetic media she primes the chamber with from the prep bench. Within minutes it's no longer small.</div>
<div><b>Hivemind block:</b> this is the point of no return. The chamber is the nest now. The chamber's containment systems will not be reactivated. Elena's hand is on the airlock control; she will not press it.</div>
</div>
<!-- Image slot: media/scenes/vessel/ending-release.webp
- the parasite in the chamber mid-growth, chamber lit institutional-
green, Elena at the airlock window watching with the small private
steadiness from the wake passage -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[Call the staff in one by one|Ch2-Vessel-Ending-StaffConversion]]</div>
/* ---- SUPERSEDED SCAFFOLD — Staff conversion (full-cast branching)
Unlinked since the Last Meeting rework (the six are converted in the
meeting itself; the rest of the building converts in -TheRest). Kept
for the per-character branching table as design reference. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "BioGenesis Research Facility, the BSL-3 chamber, the conversion">>
/* Per-character branching keys. Read each one's prior state and
route to the appropriate variant. Flag names are working drafts;
prose pass should verify exact spellings against canonical
ch2Events / conditioning lookups. */
<<set _sofiaShattered to $ch2Events.sofiaRelayShatter or false>>
<<set _sofiaTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _sofiaConditioned to _sofiaTotal gte 24>>
<<set _bowenShattered to ($ch2Events.shatterMindBowenFired or false) or ($ch2Events.shatterMindBowenAlphaFired or false)>>
<<set _bowenConditioned to ($ch2Events.bowenSundaySession or false) or ($ch2Events.bowenPsychicDomination or false)>>
<<set _halvorsenConditioned to ($ch2Events.hollohalvSushiOverride or false)>>
<<set _hollowayConditioned to ($ch2Events.hollohalvSushiOverride or false) or ($ch2Events.computerFramingDale or false)>>
<<set _reyesShattered to $ch2Events.reyesRelayShatterFired or false>>
<<set _reyesConditioned to ($ch2Events.chenReyesSexting or false)>>
<<set _parkShattered to $ch2Events.parkRelayShatterFired or false>>
<<set _parkConditioned to ($ch2Events.chenParkEscortRescue or false)>>
/* Master state: every character ends up converted regardless of
which variant fires. Variants only change the prose register. */
<<set $labThralls.sofia to true>>
<<set $labThralls.bowen to true>>
<<set $labThralls.halvorsen to true>>
<<set $labThralls.holloway to true>>
<<set $labThralls.reyes to true>>
<<set $labThralls.park to true>>
<<set $labFullyConverted to true>>
<</nobr>>
<div class="passage-title">One by one</div>
<div class="lab-location">BioGenesis Research Facility, the BSL-3 chamber, the morning</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — The conversion (long passage)</div>
<div><b>Scene structure:</b> Elena lures lab staff and the federal team into the chamber over the course of the morning. Each character gets a beat. Per-character prose branches on prior state — see the table below for which variant fires.</div>
<div><b>Beat structure per character</b> (1-2 paragraphs each):
<ol>
<li>The lure / arrival — how Elena gets them to the chamber</li>
<li>Brief tentacle-sex beat — the parasite is now large enough to act as the conversion mechanism (analogous to Beast route Ch3 nest scenes)</li>
<li>The eye-color shift (green) marking conversion</li>
</ol>
</div>
</div>
<hr class="scene-break">
<div class="data-panel" style="border-left:4px solid #5b9bd5">
<div class="data-panel-title">⚙ Live branching state (for testing)</div>
<p><b>Sofia:</b>
<<if _sofiaShattered>>pre-thralled (relay shatter fired)
<<elseif _sofiaConditioned>>seduced-in (Vasquez conditioning ≥ 24)
<<else>>overpowered (default)
<</if>></p>
<p><b>Bowen:</b>
<<if _bowenShattered>>pre-thralled (relay shatter fired)
<<elseif _bowenConditioned>>seduced-in (Sunday session OR psychic domination)
<<else>>overpowered (default)
<</if>></p>
<p><b>Halvorsen:</b>
<<if _halvorsenConditioned>>seduced-in (HolloHalv sushi OVERRIDE)
<<else>>overpowered (default)
<</if>></p>
<p><b>Holloway:</b>
<<if _hollowayConditioned>>seduced-in (HolloHalv OVERRIDE OR camera feed access)
<<else>>overpowered (default)
<</if>></p>
<p><b>Reyes:</b>
<<if _reyesShattered>>pre-thralled (relay shatter fired)
<<elseif _reyesConditioned>>seduced-in (Lensr sexting arc)
<<else>>overpowered (default)
<</if>></p>
<p><b>Park:</b>
<<if _parkShattered>>pre-thralled (relay shatter fired)
<<elseif _parkConditioned>>seduced-in (escort rescue helped)
<<else>>overpowered (default)
<</if>></p>
</div>
<!-- Image slots (one per character + a wide chamber shot):
- ending-conversion-sofia.webp
- ending-conversion-bowen.webp
- ending-conversion-halvorsen.webp
- ending-conversion-holloway.webp
- ending-conversion-reyes.webp
- ending-conversion-park.webp
- ending-chamber-wide.webp -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[The next morning|Ch2-Vessel-Ending-MorningAfter]]</div>
/* ---- SUPERSEDED SCAFFOLD — Morning after (the lab as nest) ----
Unlinked since the Cliffhanger rework (the chapter now ends on the
Camila hook the same night). Kept as design reference; the lab-as-
nest material folds into Chapter 3. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "BioGenesis Research Facility, the next morning, the lab as nest">>
<</nobr>>
<div class="passage-title">The lab the next morning</div>
<div class="lab-location">BioGenesis Research Facility, every workstation occupied</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — The lab as nest</div>
<div><b>Scene:</b> wide-shot framing. Next morning. The lab operates normally to anyone looking from outside — but inside, every workstation is occupied by a thrall. Green-eyed, vacant, productive. The BSL-3 chamber door is visible in the background, pulsing softly.</div>
<div><b>Per-character closing role beats</b> (each ~1 paragraph), each character now in their post-conversion productive function:
<ul>
<li><b>Sofia:</b> senior PI, openly running the conditioning research without the institutional cover. Drafting protocols for the next-generation work.</li>
<li><b>Bowen:</b> lab tech, running data and sample prep, no longer anxious — calm.</li>
<li><b>Halvorsen:</b> signing off on the falsified final reports for the federal team.</li>
<li><b>Holloway:</b> scrubbing the BSL-3 corridor camera feeds.</li>
<li><b>Reyes</b> (callback to his Shatter): drafting the final BioGenesis case-close report along the lines that protect the lab. The cortex reads his framing as superior judgment.</li>
<li><b>Park</b> (callback to his Shatter): signing off on Reyes's report. His body holds the memory of Lauren's "permission call" that justifies the closure. He texts Lauren a warm good-morning.</li>
</ul>
</div>
<div><b>Hivemind block:</b> the conversion holds. The architecture is stable.</div>
</div>
<!-- Image slot: media/scenes/vessel/ending-morning-after.webp
- wide shot of the lab corridor, all workstations occupied,
institutional fluorescent light, green-eyed staff working in
productive silence, BSL-3 chamber door visible in the background
pulsing softly -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[The Hivemind takes stock|Ch2-Vessel-Ending-Closing]]</div>
/* ---- SUPERSEDED SCAFFOLD — Closing (the ending, $chapter = 3) -
Unlinked since the Cliffhanger rework; the chapter-end mechanics
($chapter = 3, cycle banking, autosave) now live in
Ch2-Vessel-Ending-Cliffhanger. The "ready to release" themes fold
into Chapter 3's opening. */<<nobr>>
<<bg "bg-chen-kitchen">>
<<set $currentArea to "BioGenesis Research Facility, the nest, the ending">>
<<if not $ch2Events.vesselEndgameFired>>
<<set $chapter to 3>>
<<set $ch2Events.vesselEndgameFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Ready to release</div>
<div class="lab-location">BioGenesis Research Facility, the nest, the dawn</div>
<div class="data-panel" style="border-left:4px solid #d4b35c">
<div class="data-panel-title">⚠ TBD PROSE — The closing narration</div>
<div><b>Scene:</b> long Hivemind voice block. The closing narration of Chapter 2. Themes in order:
<ol>
<li>"I have scientists." (catalogues what Elena has handed it)</li>
<li>"I have lab technology." (the biotech infrastructure)</li>
<li>"I have a mastermind." (Elena)</li>
<li>"The world is wicked. The world needs purging."</li>
<li>"Humans are imperfect. I am not."</li>
<li>"We are ready to release."</li>
</ol>
</div>
<div><b>Voice register:</b> the Hivemind back in standard clinical-observation register (italic <code>//...//</code> markers, fragmented). This is the bookend to the reveal in Passage 1; the parasite has shed its conversational tone now that the partnership is in place. The closing line lands cold.</div>
<div><b>Mechanical state set on entry:</b> <code>$chapter = 3</code>, <code>vesselEndgameFired = true</code>. Passage tagged <code>autosave</code> to mirror Beast route's <code>Ch2-Ending-Witness</code>.</div>
</div>
<!-- Image slot: media/scenes/vessel/ending-closing.webp
- option A: Elena and the parasite (now large) inside the chamber,
the parasite's single eye fully visible, Elena's hand resting on
its surface, institutional green rendered as cathedral-light
- option B: the lab from outside at dawn, all windows lit,
everything looking normal
- prompt section in TODO.md will spec both for the user to choose -->
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">CONTINUE</span> [[The world is wicked|Chapter3-Vessel-Stub]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · BSL-3 working space, Bowen's bench">>
<<run setup.markEventFired('work-bowen-bench', $day or 0)>>
<<set $ch2Events.workNpcDoneDay to ($day or 0)>>
/* Parent-event entered flag — used by the journal to surface
locked child-outcome cards (blind corner BJ, Estrus follow-up,
etc.) once the player has engaged with the bench docket, even
before any specific outcome has fired. Mirrors the
workVasquezDropbyEntered pattern. */
<<set $ch2Events.workBowenBenchEntered to true>>
<<set _bTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _tier to 1>>
<<set _cap to 4>>
<<if _bTotal gte 7>>
<<set _tier to 3>>
<<set _cap to 10>>
<<elseif _bTotal gte 4>>
<<set _tier to 2>>
<<set _cap to 7>>
<</if>>
<<set _atCap to _bTotal gte _cap>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Biofilm Residue">><<set _hasBiofilm to _hasAbility>>
<<hasSkillTreeAbility "Emotional Manipulation">><<set _hasEM to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">><<set _hasBioArch to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasPD to _hasAbility>>
/* Disposition variant: Bowen's sub/dom state is set ONLY by the relay-frame
SHATTER (shatterMindBowenFired = submissive, shatterMindBowenAlphaFired =
dominant). Reversing the relay wiring in the dream clears the matching shatter,
so he returns to neutral until the next shatter lands. The bench EM edit drives
the separate belittle beat, not the disposition. While in a disposition the bench
check-in runs a different intro + outcome, unless Psychic Domination clamps it
flat for the day (_suppressed -> the normal branch). */
<<set _suppressed to (($ch2Events.bowenBenchSuppressDay or -1) is ($day or 0))>>
<<set _disposition to ($ch2Events.shatterMindBowenFired ? "sub" : ($ch2Events.shatterMindBowenAlphaFired ? "dom" : "none"))>>
<</nobr>>
<div class="passage-title">Bowen at the bench</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, Bowen's bench, mid-morning</div>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-bench.webp" alt="Bowen at a stainless-steel BSL-3 lab bench, mid-twenties, wavy dark-blonde hair and bright pale blue eyes, white nitrile gloves, lab coat, safety glasses pushed up onto his forehead, half-turning at Chen's approach. Sample rack with labeled vials and a tabletop centrifuge on the bench in front of him, chromatography rig and acrylic biocontainment chamber visible in the background. Chen visible several feet behind in lab coat with ID badge, the small brief PI check-in posture, cold institutional fluorescents, polished concrete floor with a painted BSL-3 perimeter line.">
<<if _disposition is "none" or _suppressed>>
<<if _suppressed>>
<<say "char-hivemind" "Hivemind">>
//The edited circuit is clamped flat for the length of this visit. He presents baseline, the deference sitting where it always sat, nothing leaking past the collar. Useful on a morning the room cannot afford the other thing.//
<</say>>
<</if>>
<p>Chen crosses the BSL-3 working space toward Bowen's bench, the brief check-in she does late in every morning's sample queue. Bowen is mid-load on a 96-well plate, bent over it with the focus he holds when the rack is queued, gloves on, safety glasses pushed up onto his forehead because he cannot read the well numbers through them at this angle. He turns on his stool at her approach.</p>
<<say "char-bowen" "Bowen">>
<i>(straightening on the stool, the instinctive thing he does when an authority figure is suddenly six feet away)</i> Oh. Dr. Chen, hey. Morning queue is on track, I have got through about half the rack... sorry, while you're here, can I ask a quick one. The autosampler well-block is reading zero-point-four high on the temp sensor. Inside tolerance, but at the edge. Do you want me to let it equilibrate another five minutes before the next batch, or run as-is and append a note on the QC sheet?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(a nod, attention dropping to the rack)</i> Run as-is and append the note. Zero-point-four is nothing the analytics will be able to resolve out of the noise floor, and equilibrating loses the run window. Flag it on the QC sheet so Holloway has a paper trail if anything looks weird in the integration.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(a relieved breath out, already turning back to the rack)</i> Right. Run and note. Cool. Thanks, Dr. Chen.
<</say>>
<p>Forty seconds, start to finish, and Bowen is back to the pipette before Chen has fully turned for the corridor. Behind her the tap of the pipette tip on the well lip resumes its rhythm, and the BSL-3 working space settles back into the low hum of the rig fans.</p>
<<say "char-hivemind" "Hivemind">>
//Pure work question, the junior-tech reverence stitched through every clause of it, and under that a flicker of worry that he has imposed by asking at all. The opening to push deeper is thin. His receptivity is not. A dose at his exposed skin, or a slipped word at the edge of the host's reply, lands harder on a junior-tech body than it ever would on a peer.//
<</say>>
<hr class="scene-break">
<<if _hasLure>>
<<if _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the bench top, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkBowenBench-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the bench top as he half-turns (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkBowenBench-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a small dose at the bench <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Linger at the bench: let a slip land while he is still listening (1 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Nudge" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Linger at the bench, let a slip land <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<<if $ch2Events.bowenBenchBiofilmApplied>>
<div class="locked-choice">✓ Biofilm residue already on his bench</div>
<<elseif _hasBiofilm>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOFILM</span> <<biomassPreview "Leave a biofilm residue on his bench, he breathes your scent all day (2 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Biofilm" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Leave a biofilm residue on his bench <span class="lock-hint">(Requires Biofilm Residue, Biological skill tree)</span></div>
<</if>>
<<if $ch2Events.bowenEMSubmissive>>
<div class="locked-choice">✓ Deferential circuit re-weighted, Bowen edited submissive</div>
<<elseif _tier gte 2>>
<<if _hasEM>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">Emotional Manipulation</span> <<biomassPreview "Re-weight his deferential circuit, edit him submissive (2 biomass)" "Ch2-Vessel-Event-WorkBowenBench-EM" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Re-weight his deferential circuit, edit him submissive <span class="lock-hint">(Requires Emotional Manipulation, Psionic skill tree)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Re-weight his deferential circuit, edit him submissive <span class="lock-hint">(Bowen's conditioning footprint is not deep enough for this yet, it needs tier 2)</span></div>
<</if>>
<<if $ch2Events.workBowenArchitectFired>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">REPLAY</span> <<link "Bowen's new normal">><<goto "Ch2-Vessel-Event-WorkBowenBench-Architect">><</link>> <span class="lock-hint">(already written)</span></div>
<<elseif _hasBioArch>>
<<if _bTotal gte 28>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <<biomassPreview "Let the new normal surface in Bowen (0 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Architect" 0>></div>
<<elseif _tier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the new normal surface <span class="lock-hint">(Bowen's conditioning must run deeper, <<= _bTotal>> / 28 total)</span></div>
<</if>>
<<elseif _tier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the new normal surface <span class="lock-hint">(Requires Biological Architect, the apex Biological skill)</span></div>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
<<elseif _disposition is "sub">>
<p>Chen crosses the BSL-3 working space toward Bowen's bench, and the thing the edit did is visible before she has said a word. He clocks her at six feet and the whole of him reorganises around her being there, the shoulders dropping, the chin tucking, the small bracing set of a body that has decided, somewhere under the floor of its own awareness, that its one job this morning is to not be a disappointment to her.</p>
<<say "char-bowen" "Bowen">>
<i>(half off the stool already, the question coming out pre-apologised)</i> Dr. Chen, hi, sorry, is the queue okay, did you need the bench? I can clear it right now if you want, whatever you need, just say.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The deferential circuit is load-bearing now, not a thing he does but the floor the rest of him stands on. He is not asking what she needs. He is asking to be told what he is for. ...the polite-PI script is the wrong tool for a body in this shape, and there is a more efficient one a corridor away with a door that locks.//
<</say>>
<hr class="scene-break">
<<if _hasPD>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Force them to act like always (4 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Suppress" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Force them to act like always <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">SUBMISSIVE</span> <<link "Take it off the floor: tell him to come to your office" "Ch2-Vessel-Event-WorkBowenBench-SubOffice">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave him to the queue, back to the docket|Ch2-Vessel-Loop-Work]]</div>
<<else>>
<p>Chen crosses the BSL-3 working space toward Bowen's bench, and the edit she put in the other way has done the other thing. He does not reorganise around her. He clocks her at six feet, finishes seating the pipette tip he was working on, and only then turns on the stool, unhurried, one arm hooking over the backrest, looking at her the way a man looks at a colleague he has decided he is at least even with.</p>
<<say "char-bowen" "Bowen">>
<i>(easy, the deference stripped out of it, not quite a smile)</i> Morning, Elena. Queue's fine, I am ahead of it. ...you came all the way over here, though, so it was something. ...go on.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The same circuit, turned the other way. The deference is not gone, it is inverted, and what stands on the inverted floor is a junior tech who has decided he is owed. He dropped the //Dr.//. He told her to go on. ...the host's professional script has nothing to grip here, and the body across the bench from her has stopped asking permission for any of it.//
<</say>>
<hr class="scene-break">
<<if _hasPD>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Force them to act like always (4 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Suppress" 4>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Force them to act like always <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<</if>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINANT</span> <<link "Let it run: see what the junior tech does with the nerve you gave him" "Ch2-Vessel-Event-WorkBowenBench-DomService">><</link>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Cut it short, back to the docket|Ch2-Vessel-Loop-Work]]</div>
<</if>>/* Bowen "new normal" Biological Architect scene. Apex Biological skill,
gated on 28 total Bowen conditioning, surfaced at T3. New-normal mundanity
+ humiliation kink (he gets off on her reviewing his bad work) + creampie.
One-shot; sets workBowenArchitectFired / workBowenArchitectEver, +3 biomass,
+1 pheromone conditioning on first fire. */
<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · BSL-3 working space, Bowen's bench, door shut">>
<<if not $ch2Events.workBowenArchitectFired>>
<<set $ch2Events.workBowenArchitectFired to true>>
<<set $ch2Events.workBowenArchitectEver to true>>
<<addBiomass 3 "repeatable">>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Bowen's new normal</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, Bowen's bench, late morning</div>
<<say "char-hivemind" "Hivemind">>
//The new normal has reached the bench. Bowen has stopped filing the want under //inappropriate// and started filing it under //a thing the workday contains//, the way the host files coffee and Vasquez files the buzz under her coat. He no longer wonders whether he is allowed. He wonders, mildly, whether now is a convenient time to ask.//
<</say>>
<p>Bowen sets the pipette down and turns on his stool, and he does not do the apologetic half-flinch he used to do. He does the small awkward shuffle of a man working up to a request he has decided is reasonable.</p>
<<say "char-bowen" "Bowen">>
<i>(quiet, going pink at the ears, not quite meeting her eyes)</i> ...Dr. Chen. Um. Sorry, while you're here. ...could I fuck you? Just quick. I have been kind of distracted all morning and I think I would focus better after.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(at the bench, the flat internal sigh of someone handed a chore she does not have time for)</i> ...of course he has. It is ten forty, I have a fed report to redline before lunch, and the junior tech wants to use me like a coffee break.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(setting her tablet down, already reaching for his belt, clipped)</i> ...fine. You can use my mouth, it is quicker and I actually have work to do. Getting fucked takes more time than I have for you this morning, so a fast blowjob, you finish, and you do not get any on the bench.
<</say>>
<p>She drops to a crouch in front of his stool, gets his fly open and his cock out with the brisk impatience of someone scraping ice off a windscreen, and takes him into her mouth without ceremony. No warm-up, no eye contact, her glasses pushed up her nose and her head moving on him at a businesslike pace, one hand braced on his thigh, the stylus she was using thirty seconds ago still in the other.</p>
<video class="scene-video" src="media/video/bowen-architect-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-architect-bj.webp"></video>
<<say "char-bowen" "Bowen">>
<i>(hands gripping the edge of the stool, breath stuttering)</i> ...oh god. That's, //mmh//, that's so good, thank you, thank you, Dr. Chen...
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is bored. He is not. The contrast is the conditioning working exactly as built. The mouth is competent and disinterested, and his body reads the disinterest as the most arousing thing in the room, because the wire underneath says //she does not even want this and she is letting me anyway//.//
<</say>>
<p>Two minutes in, he has not come, and the not-coming is its own problem. He is too keyed up, too in his own head about the fact that this is happening at all, and the longer it runs the longer her morning gets.</p>
<<say "char-chen" "Dr. Chen">>
<i>(pulling off him with a wet sound, wiping her mouth with the back of her hand, flatly impatient)</i> ...you are not getting there like this, and now you have cost me the time I was trying to save. Of course you have. Up. We do the slow thing after all, you use my pussy and you finish, since the quick version is apparently beyond you.
<</say>>
<p>She stands, turns, pushes her trousers and underwear down to her thighs in one motion, and bends over the bench, planting her forearms on the steel beside his sample rack. She does not look back at him. She pulls his half-loaded 96-well plate and the run log toward her and picks the stylus back up.</p>
<<say "char-chen" "Dr. Chen">>
<i>(over her shoulder, already scanning the log)</i> Go on. I am going to actually use the time, since you are wasting it. Put it in.
<</say>>
<p>He lines himself up and pushes into her pussy with a strangled sound, and she barely reacts, a small exhale and a tightening of her jaw, and then she is reading. He starts to fuck her, fast and grateful and clumsy, the bench rocking, the vials chattering in the rack, and Chen braces against it and works through his run log like the cock inside her is a background noise she has chosen to ignore.</p>
<video class="scene-video" src="media/video/bowen-architect-doggy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-architect-doggy.webp"></video>
<<say "char-chen" "Dr. Chen">>
<i>(tapping the stylus on the screen, genuinely annoyed, the breath knocked out of her on the hard ones)</i> ...this is sloppy, Tom. Your replicate variance on plate two is, //aahh//, is twice what it was on the, //mm//, on the last run, and you have, //ah//, logged the wrong dilution factor on column six. ...look at this. Did you even, //nngh//, calibrate the autosampler this morning, or did you just run it.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(thrusting harder, voice cracking, the criticism landing somewhere it absolutely should not)</i> ...I'm sorry, I'm, //fuck//, I'll redo it, Dr. Chen, I'm sorry, oh god...
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. His pace doubled on the word //sloppy//. The harder she criticises the work, the harder he fucks, because the wire routes //she is disappointed in me// straight to //I am being used and I deserve it//, and the body cannot tell the two apart. She is not doing it on purpose. The work really is sloppy. That is what makes it land.//
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(flat, not looking up from the screen, the words breaking around the thrusts despite herself)</i> ...and your QC sheet is, //aahh//, three runs behind. Are you, //mm//, are you close. Finish, Tom, //mmh//, I have a report to write.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(gripping her hips, slamming in, gone)</i> ...I'm close, I'm gonna, can I, Dr. Chen, can I...
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(head snapping up off the bench, the clinical front gone in an instant, yelling)</i> DON'T YOU FUCKING DARE COME INSIDE ME. ...//OH. AHHH//. ...YOU FUCKING MORON, YOU FUCKING CAME INSIDE ME WHILE I AM NOT ON THE PILL.
<</say>>
<p>He is already past stopping, too far gone to pull out in time, and he empties into her in long helpless pulses with both hands clamped on her hipbones while she swears at him over her shoulder, furious and pinned at the wrong end of him with nothing she can do about it. When he finally stills, slumped over her back and breathing like he ran a mile, she shoves up off the bench and grabs for her waistband.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-architect-creampie.webp" alt="Rear view of Dr. Elena Chen bent over a BSL-3 lab bench, lab coat on, trousers pulled to her thighs, cum dripping from her pussy after sex. Cold institutional lab light.">
<<say "char-chen" "Dr. Chen">>
<i>(feeling the wet as she pulls her underwear and trousers back up, still furious)</i> ...I told you not to. In those exact words, Tom, and you did it anyway. That is a morning-after pill at the pharmacy, on a lunch break I do not have, because you could not follow one instruction.
<</say>>
<p>She picks his wallet up off the bench, where it has been sitting next to his keys all morning, slides a twenty out without asking, and folds it into her coat pocket.</p>
<<say "char-chen" "Dr. Chen">>
<i>(showing him the bill for half a second before it disappears, flat)</i> Pill money. You are paying for it, that is only fair. ...and you did not get me anywhere close to off, so now I also have to go deal with that myself before the eleven o'clock, which means you have cost me the pill, the pharmacy trip, and ten minutes in a bathroom stall I was not planning to spend. ...fix your variance on plate two. Re-run column six.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(still catching his breath, dazed and faintly glowing, tucking himself away)</i> ...yes, Dr. Chen. Sorry, Dr. Chen. ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He thanked her for taking his money and insulting his work while emptying himself into her on a federal-investigation week. He will float for the rest of the day. The new normal is set: the bench is a place where this happens now, routinely, filed where the host files every other tax on her morning. ...the irritation is real. The arousal it produces in him is the harvest.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Bowen, the bench wired as a place this happens now">></p>
<p><span class="biomass-gain">+3 biomass.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen T1 Pheromone Lure downstream ---- */<<nobr>>
<<bg "bg-lab">>
/* Channel selector — set by Ch2-Vessel-Event-WorkBowenBench-LureSpec on
entry from the chooser. Defaults to "pheromone" if entered directly
(no Pheromone Specialization). Cleared at the end of the nobr so the
next direct-entry visit re-defaults cleanly. */
<<set _channel to $ch2Events.bowenBenchLureChannel or "pheromone">>
<<set _firstTimeToday to ($ch2Events.bowenBenchLureDay or 0) lt ($day or 0)>>
<<set _bowenTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _bowenHigh to _bowenTotal gte 24>>
<<if _firstTimeToday>>
<<set $ch2Events.bowenBenchLureDay to ($day or 0)>>
<<spendBiomass `setup.lureCost()` "bowen-bench-lure">>
<<addConditioning "bowen" _channel 1>>
/* Bathroom-path bonus: +1 extra pheromone whenever Bowen takes the
polite bathroom path. Applied here at entry because the polite
path is the default outcome regardless of $chenBolder and slip
firing (when chenBolder + slip fires + cond>=24, the corner-BJ
resolution passage handles its own bonuses and the per-scene cap
handles any pheromone double-count). */
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<<set _slipFlag to "workBowenLureFuckSlip-day" + ($day or 0)>>
<<set $ch2Events.bowenBenchLureChannel to "">>
<</nobr>>
<div class="passage-title">Pheromone, at the bench</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, the small dose drifting across the bench top</div>
<<say "char-hivemind" "Hivemind">>
//Not the warmth-and-trust default. A heavier compound off the exposed skin of the host's neck and the inside of her wrists, tuned for arousal-onset rather than ambient comfort. The dose lands in Bowen's olfactory pathway under the cover of the bench's downdraft and the small recirculation eddy the BSL-3 ventilation pulls through this corner. Within forty seconds his vasculature dilates, his hands tighten on the pipette without his cortex flagging the gesture, and the body wants a reason for the host to stay another half-minute. Forty seconds in, the body wants more than that.//
<</say>>
<p>Bowen is half-turned back to the rack when the dose lands, mid-load on the next well, mid-question about a workflow detail he had meant to bring up before Elena turned to leave. The bench top suddenly feels warmer than the rig fans should be allowing. His collar is sticking to the back of his neck. The well he was about to load has gone out of focus. He recentres on the plate, fumbles the pipette tip, fumbles it again, drops it entirely. The front of his lab coat, three seconds ago hanging plain, is now hanging unsubtly forward where it should be hanging flat.</p>
<<say "char-bowen" "Bowen">>
<i>(small breath catching, the heat at his throat surprising him, the half-glance back toward Chen he does not quite plan, voice fraying on the second clause)</i> ...sorry, Dr. Chen, I, um, sorry, c-can I ask, before you head back, the QC sheet, the new one from Holl, Holloway, the one she pushed last week, am I, sorry, appending the note in the comments or the d-deviations column? Sorry. I do not, sorry, I do not want her to come back and have to refile.
<</say>>
<p>Elena registers it before the cortex has caught up. The second stutter on Holloway's name. The bench-corner Bowen is now standing behind that, three minutes ago, he was leaning across. The front of the lab coat. The polite-PI script wants to lift off the front of her mouth without the rest of her thinking about it.</p>
<<if $chenBolder>>
<<say "char-chen" "Dr. Chen">>
<i>(small composed half-smile, eyes resolutely above the bench-line, the polite-PI tone arriving with a half-second of effort behind it)</i> Deviations column, Tom, append the note. <<tongueSlip "I guess you really need a break" "I guess you really need a fuck" 0 "" _slipFlag "#bowen-lure-fuck-payoff" "pheromone" "" "#bowen-lure-break-payoff" "" "">>.
<</say>>
<<else>>
<<say "char-chen" "Dr. Chen">>
<i>(small composed half-smile, eyes resolutely above the bench-line, the polite-PI tone arriving without effort, the small mercy of pretending not to have read the lab coat at all)</i> Deviations column, Tom, append the note. I guess you really need a break. Why don't you take five, get a glass of water, splash some on your face. The rack will keep that long.
<</say>>
<</if>>
<div id="bowen-lure-break-payoff" @style="$ch2Events[_slipFlag] ? 'display:none' : ''">
<<say "char-bowen" "Bowen">>
<i>(gratitude landing on his face faster than embarrassment can override, hands already moving for the bench-cleanup before she has finished)</i> ...y-yes, Dr. Chen. Five. Thank you. Sorry. Th-thank you.
<</say>>
<p>He racks the pipette, peels the gloves with hands that are not quite his to control, walks for the back corridor at the small composed-but-uneven gait of a junior tech who needs the bathroom mirror very urgently. The cold-room door swings shut behind him. The BSL-3 working space settles back into the low hum of the rig fans, with Elena standing where she was and a slow small private half-smile arriving at the corner of her mouth before she has fully decided to let it.</p>
<<say "char-hivemind" "Hivemind">>
//Tom gets the bathroom for himself for ninety seconds. The compound shape continues binding in his bloodstream all the way there, the involuntary spike of his pulse against the host's name compounds the original dose's footprint, and the next time he is in the same room as her his cortex will already be on the back foot before she has said a word. The bathroom mirror does most of the work the host did not have to.//
<</say>>
<<if _firstTimeToday>>
<<conditioningFeedback _channel 1 `"Bowen, workday " + _channel + " deepens"`>>
<<if _channel isnot "pheromone">><<conditioningFeedback "pheromone" 1 "Bowen, bathroom-path arousal compounds the original dose">><</if>>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
</div>
<<if $chenBolder>>
<div id="bowen-lure-fuck-payoff" style="display:none" @style="$ch2Events[_slipFlag] ? '' : 'display:none'">
<hr class="scene-break">
<p>The slip lands in the small space between Elena's mouth and Bowen's still-frozen-at-the-pipette body. He hears it. His cortex hears it. The two halves of his brain that have been arguing about her since the offer letter both stop arguing.</p>
<<if _bowenHigh>>
<<say "char-hivemind" "Hivemind">>
//Conditioning footprint deep enough. He stays. The cortex's protocols are too thin to overrule the body's vote, and the body's vote has been //yes// for longer than he is willing to admit. He does not run for the bathroom. He stands at the bench with his eyes on hers and his pulse audible at his own throat, and he waits to find out what is going to happen next.//
<</say>>
<p>Elena looks at him for a long held second. Then she looks at the working space around them. The cold-room column. The dead camera angle behind it where the BSL-3 surveillance does not reach. The corridor outside, empty for the next twenty minutes by the schedule on the door. The bench between them.</p>
<<say "char-chen" "Dr. Chen">>
<i>(low, the polite-PI register entirely off her, walking around the bench corner to him, hand finding his wrist)</i> ...come here, Tom.
<</say>>
<p>He does not resist. She walks him three steps around the cold-room column into the small blind corner the building was never quite designed to have, sets her hand flat on his sternum and pushes him back against the steel, lifts the other hand to the side of his jaw, and kisses him deep.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[The blind corner|Ch2-Vessel-Event-WorkBowenBench-Lure-CornerBJ]]</div>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Conditioning footprint is not deep enough to keep him in the room with that sentence. The cortex's only response, with the body in this state and the host's mouth still on //fuck//, is to bolt. He runs.//
<</say>>
<<say "char-bowen" "Bowen">>
<i>(strangled, eyes anywhere but her, already half-pivoting away from the bench)</i> ...y-yes, Dr. Chen, I, sorry, b-break, yes, five, s-sorry, sorry, sorry.
<</say>>
<p>He goes faster than the polite reply would have taken him. The gloves come off into the bin without his looking. The back-corridor door swings shut behind him a half-second after he is through it. The BSL-3 working space settles back into the low hum of the rig fans with Elena standing alone at the bench.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the bench, hand flying up to her mouth too late to catch the first half of it)</i> ...oh my god! I actually said that he needs a fuck instead of a break! AHAHAHA. ...mpfff. I //know// I thought it, but, mpff, I did not mean to actually //say// it out, oh my //god//.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He will spend the next several minutes thinking about exactly what the slip implied. The next time the host's name surfaces in his head it will surface attached to it. His conditioning footprint is not yet thick enough to keep him in the room with the word. Next time, it might be. Useful even when he bolts. Especially when he bolts.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
<</if>>
</div>
<</if>>
/* ---- Bowen Lure · CORNER-BJ resolution (chenBolder + slip fired +
Bowen total conditioning gte 24) ----
Reached from the slip-fired payoff div in -Lure when the cond gate
passes. Spends nothing further on entry (the lureCost was charged at
the parent passage). Awards the corner-BJ bonuses (+2 biomass, +1
psionic, +1 pheromone — psionic and pheromone caps via the
per-scene-cap in addConditioning if already applied this scene),
sets the journal flag, renders the kiss + BJ prose with both images.
*/<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · BSL-3 working space, the blind corner behind the cold-room column">>
<<if not $ch2Events.bowenLureCornerBJFired>>
<<set $ch2Events.bowenLureCornerBJFired to true>>
<<addBiomass 2 "bowen-lure-corner-bj">>
<<addConditioning "bowen" "psionic" 1>>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">The blind corner</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, behind the cold-room column, the dead camera angle, the corridor empty for twenty minutes</div>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-corner-kiss.webp" alt="Elena pinning Bowen back against the steel of the cold-room column in a small blind corner of the BSL-3 working space, kissing him deep. Both in white lab coats, his half-open over a navy quarter-zip, hers buttoned. Her left hand flat at his sternum, her right at the side of his jaw, his hands just coming up to her hips. Cool fluorescent lab lighting from the working space behind, the cold-room column in the foreground, the small private heat of the kiss landing on a man who has been holding it in for months.">
<<say "char-hivemind" "Hivemind">>
//He is rigid in his coat for half a second and then he is not. His hands find her hips. The cortex's protocols are gone. The body has been waiting since the morning he sat across from her in the interview room and his cortex sold him a story about //the careful one who reasons forward// to explain why his pulse had spiked at her presence. The story is no longer load-bearing.//
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(off his mouth briefly, low at his jaw, hand sliding down between them to his belt buckle, working it without looking)</i> ...stay quiet for me, Tom. The corridor reads through that door if you are loud.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(strangled, eyes locked on hers, hands at her waist, voice barely landing)</i> ...y-yes, Dr. Chen. Yes. I, yes.
<</say>>
<p>She undoes his belt without breaking the small contact at his jaw, drops his trousers and boxers to mid-thigh in a single quiet motion, and lowers herself to her knees on the polished concrete of the working space floor. The lab coat folds against her thighs as she goes. Bowen's hands find the column behind him for balance because the body has just been told what it has been asking about for months and the legs cannot quite be relied on.</p>
<video class="scene-video" src="media/video/chen-bowen-corner-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-bowen-corner-bj.webp"></video>
<<say "char-chen" "Dr. Chen">>
<i>(off him briefly, hand at the base of his cock, eyes on his)</i> ...thank you for the help with the QC sheet today, Tom. You have been a very good aide. Stay quiet for me. Hands on the column, eyes on me.
<</say>>
<p>She takes him into her mouth, slow and deep, the small private register of a woman who has decided to do a thing well. Bowen's hand finds the side of the cold-room column for balance, the other comes up flat at the back of her head and stays there without pushing. He lasts ninety seconds. He has been edging since the dose landed on his bench. The small strangled half-cry when he comes is muffled by the column at his back; the working space outside swallows it cleanly. Elena swallows. She wipes the corner of her mouth with the back of one hand, stands up, pulls his trousers back up for him, fastens his belt.</p>
<<say "char-chen" "Dr. Chen">>
<i>(low, fastening the belt herself, kissing him once more on the mouth)</i> ...there. Good boy. Get back to the rack before Holloway swings through. We have not done this.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(strangled, the words barely landing on his own breath, the registered-junior-tech voice trying to come back online and failing)</i> ...yes, Dr. Chen. Sorry. Thank you. Sorry. Thank you.
<</say>>
<p>He walks back out around the cold-room column, back to the bench, gloves on, eyes on the rack, the small composed-but-uneven gait of a man whose entire morning has just been rewritten under the cover of a forty-second interaction. Elena steps out of the blind corner thirty seconds behind him, takes the long way back through the corridor to her office, the small private register of a woman who has just spent the lureCost on absolutely the right line of attack.</p>
<<say "char-hivemind" "Hivemind">>
//Two biomass off his climax spike, harvested clean. The cumulative pheromone-and-psionic footprint on the host's tongue alone deepens both channels by another full notch. The BSL-3 working space has a corner now that exists in Bowen's body memory differently from how it appears on the floor plan, and the next time he stands at his bench his pulse will recalibrate against the geometry of the room before his cortex catches up.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span>, the climax spike harvested.</p>
<<conditioningFeedback "psionic" 1 "Bowen, corner-BJ pulse-spike deepens psionic">>
<<conditioningFeedback "pheromone" 1 "Bowen, the host's tongue is its own dose">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen Lure · spec chooser (Pheromone Specialization) ----
Three-compound selector that surfaces when the player holds
Pheromone Specialization. All three options route to the same
resolution passage (-Lure); the chooser just sets the channel
selector on $ch2Events.bowenBenchLureChannel before navigating. */<<nobr>><<bg "bg-lab">><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, the small dose poised at the bench top</div>
<<say "char-hivemind" "Hivemind">>
//Pheromone Specialization gives me the shape selector. Three compound profiles available, each lays a different conditioning fingerprint on the same junior-tech body. The dose lands the same way in his olfactory pathway; what differs is the receptor it binds and the channel it deepens.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<link "Standard arousal-onset compound, warmth and bench-heat" "Ch2-Vessel-Event-WorkBowenBench-Lure">><<set $ch2Events.bowenBenchLureChannel to "pheromone">><</link>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<link "Cognitive-opener compound, softens his cortex for the next contact" "Ch2-Vessel-Event-WorkBowenBench-Lure">><<set $ch2Events.bowenBenchLureChannel to "psionic">><</link>></div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> <<link "Subconscious-imprint compound, writes itself into tonight's sleep" "Ch2-Vessel-Event-WorkBowenBench-Lure">><<set $ch2Events.bowenBenchLureChannel to "dream">><</link>></div>
/* ---- Bowen T1 Nudge downstream ----
Vessel-skill act: parasite presses Chen to linger half a second past
the professional out, and a small slip lands while Bowen is still
listening. Cheaper landing surface than Sofia's Lure-required slip
— Bowen's junior-tech body reads ambient social cues as harder
evidence than they are. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 1>>
<<addConditioning "bowen" "psionic" 1>>
<<set _slipFlag to "workBowenNudgeSlip" + ($day or 0)>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<</nobr>>
<div class="passage-title">Nudge — linger at the bench</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, the small extra beat past the professional out</div>
<<say "char-hivemind" "Hivemind">>
//A small press on the host's tendency to leave. Chen was about to turn back for the corridor — every part of her wiring says //the question is answered, the visit is over//. I lean lightly on the half-second that comes before her body commits to the turn. She lingers. The lingering is just barely social — half a sentence past the technical answer, the small extra warmth that a junior-tech body reads as //she liked the question//. Bowen will register the extra beat on his skin before his cortex catalogues it.//
<</say>>
<p>Chen does not turn for the corridor. Instead she sets her hand briefly on the corner of the bench top, half-leans against it for the small extra second, and adds the line her professional register would not have offered.</p>
<<say "char-chen" "Dr. Chen">>
<i>(hand on the corner of the bench, the small extra beat she does not quite plan)</i> Good catch on the temp drift, by the way. <<tongueSlip "Most techs would have run it without flagging" "Most techs would have run it without flagging, you are a lovely junior to work with" 0 "" _slipFlag "#work-bowen-nudge-stays" "dream" "" "" "">>.
<</say>>
<<conditioningFeedback "psionic" 1 "Bowen, junior-tech reverence deepens">>
<div id="work-bowen-nudge-stays" style="display:none" @style="$ch2Events[_slipFlag] ? '' : 'display:none'">
<hr class="scene-break">
<p>The slip catches Bowen mid-pipette. The small soft <i>lovely</i> from a senior PI lands on a body that has not been called <i>lovely</i> by anyone in this building, ever — he keeps his eyes on the plate because if he looks up his face will give him away, and the pipette plunger goes a half-millimetre deeper than the protocol calls for. The well overfills by a hair.</p>
<<say "char-bowen" "Bowen">>
<i>(eyes still on the rack, the small involuntary brightness in his voice he does not quite catch)</i> ...thanks, Dr. Chen. Really.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip wrote a small permanent association. Bowen's body has just learned to associate the host's voice with the specific warmth of being seen by an authority figure he respects — the warmth he has been waiting for, without knowing it, since he started here. From this point forward every workday encounter with the host will be filtered through that warmth, and the cortex will not flag the new wiring as new. It will report the warmth as //she has always been kind to me, on some level//, which is the framing the body files unfamiliar feelings under when the cortex is not equipped to process them.//
<</say>>
<<if _chenTotal gte 8>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The host is conditioned enough now that her professional restraint has thinned at the edges. The small private warmth at the base of her throat — the one she has been politely ignoring for the last six seconds — is right there to lever. A second press would write a small affectionate gesture into the body before her cortex has a chance to vet it. Bowen, mid-fluster, would not be able to refuse it.//
<</say>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Step in: small kiss on the cheek before she heads back (2 biomass)" "Ch2-Vessel-Event-WorkBowenBench-CheekKiss" 2>></div>
<</if>>
</div>
<hr class="scene-break">
[[Back to the docket|Ch2-Vessel-Loop-Work]]
/* ---- Bowen T1 Nudge → Cheek Kiss escalation ----
Gated on Chen's own total conditioning >= 8 (her professional
restraint has thinned enough that the parasite can press a
workplace-inappropriate affectionate gesture through her arm and
her body completes it before the cortex catches up). Bowen — mid-
fluster from the slip — registers the kiss on his nervous system
as a body-memory the cortex now has to share working RAM with.
He excuses himself to the bathroom; Chen stands at the bench with
a small private wry smile, recognising what she's just done. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 2>>
<<addConditioning "bowen" "dream" 1>>
<<addConditioning "bowen" "pheromone" 1>>
<<set $ch2Events.bowenBenchCheekKissFired to true>>
<</nobr>>
<div class="passage-title">Nudge — closer than the professional register allows</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, the bench top between them</div>
<<say "char-hivemind" "Hivemind">>
//A second press on the host. The lingering paid; Bowen is still listening, still red at the throat from the slip. The small private warmth at the base of Chen's throat is right there. I lift it, lean it forward, write a small affectionate gesture into her body before her cortex has a chance to vet it. She steps in, sets two fingers briefly against his shoulder, and leans down to kiss the side of his cheek.//
<</say>>
<p>Chen steps around the corner of the bench, the lab coat she is wearing brushing the edge of his, and rests two fingers briefly against his shoulder. Before he can turn his head she leans down and presses a small soft kiss to the high point of his cheekbone, just below the temple — the warm-mentor gesture an aunt might give a nephew at a family dinner, the kiss lasting a half-second.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-cheek-kiss.webp" alt="Tight close-up of Chen leaning down to kiss Bowen's cheek at his BSL-3 bench. Chen in three-quarter view from behind, shoulder-length black hair, white lab coat, lips just touching the high point of his cheekbone, two fingers resting on his shoulder. Bowen in profile, mid-twenties, wavy dark-blonde hair, eyes wide with the colour rising up his neck, gloves still on, the pipette frozen in his hand, the safety glasses pushed up onto his forehead. Stainless-steel bench top blurred behind them, cold institutional fluorescents, the BSL-3 chamber soft in the deep background.">
<p>She straightens up and is already half-turning for the corridor before her cortex catches up to what her body just did, and the half-rationalisation arrives in the same beat — that the temp-drift catch was sharp, that a small affectionate acknowledgement is the kind of thing a senior PI sometimes does for a junior who is finally settling in, that this is fine. The rationalisation is thin. She does not pause to test it.</p>
<<say "char-bowen" "Bowen">>
<i>(frozen at the bench, gloves still on, the colour rising up his neck so fast he can feel it in his ears, the pipette held in mid-air because his hand has stopped processing what to do with it)</i> ...sorry, I... I just... sorry, one second, I'll be... I just need to... bathroom, sorry, I'll be right back. Right back.
<</say>>
<p>He slides off the stool and walks past her at a pace that is too brisk for the small distance between his bench and the corridor, and the door of the men's room two doors down clicks shut behind him before Chen has fully registered the speed of his exit.</p>
<p>Chen stands at the bench alone for a half-second, the pipette he was loading still in the rack with the well overfilled, the corridor quiet on the other side of the door.</p>
<<say "char-chen-thought" "Dr. Chen">>
<i>(small private smile pulling at the corner of her mouth, eyes still on the corridor where he disappeared)</i> ...huh. Well, I guess he is about to go rub one off in a stall, then.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body has crossed a threshold. Bowen will not be able to file the kiss as anything other than what his nervous system experienced it as, and what his nervous system experienced it as is the moment at which his daydream about the host left the daydream layer and became a body-memory the cortex now has to share working RAM with. The next encounter with the host will run on different wiring. The host's small private smile — that registers too, and writes itself into her ledger of //small things that make this job interesting//, which is the framing she files unfamiliar feelings under when the cortex is not equipped to process them.//
<</say>>
<<conditioningFeedback "dream" 1 "Bowen, body memory of being kissed by the host">>
<<conditioningFeedback "pheromone" 1 "Bowen, workplace contact deepens">>
<hr class="scene-break">
<<set _bowenTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<hasSkillTreeAbility "Estrus Trigger">>
<<if _bowenTotal gte 24>>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Trigger his body into heat before he reaches the bathroom (3 biomass)" "Ch2-Vessel-Event-WorkBowenBench-Estrus" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Trigger his body into heat <span class="lock-hint">(Requires Estrus Trigger, Biological skill tree)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Trigger his body into heat <span class="lock-hint">(Bowen is not conditioned enough to carry this. Total conditioning <<= _bowenTotal>> / 24.)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen Estrus Trigger — body goes into heat, he leaves for the
bathroom; Elena can NUDGE herself in after him. The host then
reframes the chase as a "reward for being a good lab assistant"
and a BJ scene fires in the bathroom. Costs 3 biomass to trigger
+ nudgeCost to follow. Gated on Bowen total conditioning >= 24 +
Estrus Trigger skill. Sets bowenBenchEstrusFired on trigger,
bowenBenchEstrusBJFired on the bathroom completion. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 3 "bowen-bench-estrus">>
<<set $ch2Events.bowenBenchEstrusFired to true>>
<<addConditioning "bowen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Estrus — at the bench, before the bathroom</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, the bench top between them, then the corridor</div>
<<say "char-hivemind" "Hivemind">>
//A heavier compound than the lure. The estrus channel, calibrated to a body the host has spent fourteen weeks priming. ...the dose lands on him in the gap between his shoulders, vents up through the collar of his lab coat, binds to his vasculature inside thirty seconds. ...he is going to feel it before his cortex names it.//
<</say>>
<p>Bowen is still red at the throat from the slip when the compound lands. The colour doubles. His pupils widen the small private margin Chen catches without quite catching, and his cock goes hard against the front of his trousers in the time it takes him to set the pipette down. He is not going to be able to walk out of the suite without it being visible. He is also not going to be able to stay at the bench.</p>
<<say "char-bowen" "Bowen">>
<i>(half off the stool already, the colour all the way up to his ears, the polite-junior register collapsing into one-syllable fragments)</i> ...sorry. Sorry, Dr. Chen, I, ...I just, sorry, I need, ...one second.
<</say>>
<p>He is past her before she can answer. The lab coat is bunched in front of him with one hand, the other already at the door handle, and the corridor swallows him at a pace that is faster than the cheek-kiss pace and worse-disguised. The door of the men's room two doors down clicks shut behind him a half-second later. Chen, alone at his bench, sets the pipette into its holder for him.</p>
<<say "char-hivemind" "Hivemind">>
//The dose is not the kind of heat a junior tech walks off in a locked stall on his own. Not the kind that backs down to a hand. The body has been triggered into something it does not have the machinery to settle without help. ...the host can let him sit with it. Or the host can step into the corridor, push the men's-room door open, and remind a junior tech what good lab assistants get when they have been good for fourteen weeks at the bench.//
<</say>>
<<say "char-chen-thought" "Dr. Chen">>
<i>(at the bench, the pipette set down, eyes on the corridor)</i> ...he is going to be in there for a while. ...he was not in a good state when he went in.
<</say>>
<<conditioningFeedback "pheromone" 1 "Bowen, estrus compound binding, the body cannot settle alone">>
<hr class="scene-break">
<<hasSkillTreeAbility "Nudge">>
<<if _hasAbility>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Follow him into the men's room. He has been good. He has earned a reward (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-WorkBowenBench-Estrus-Bathroom" `setup.nudgeCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Follow him into the men's room <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Stay at the bench, let him sort it out himself|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<spendBiomass setup.nudgeCost() "bowen-estrus-bathroom">>
<<set $ch2Events.bowenBenchEstrusBJFired to true>>
<<addConditioning "bowen" "dream" 1>>
<<addBiomass 5 "bowen-estrus-bathroom">>
<</nobr>>
<div class="passage-title">A reward for being a good lab assistant</div>
<div class="lab-location">BioGenesis Research Facility · The third-floor men's room, the middle stall</div>
<p>Chen pushes the men's-room door open with her shoulder. The fluorescent light is the bad kind, the stalls along the right-hand wall, the middle one with the door not quite closed because Bowen could not get it latched on the way in. She can hear him on the other side of it. He is breathing the way someone breathes when they have been trying to settle their own body and have just been informed the body is not going to cooperate.</p>
<p>She walks down the row, turns the latch on the entry door behind her until it clicks, and pushes the middle stall door open with two fingers. Bowen is sitting on the closed toilet lid, lab coat open, trousers around his thighs, his cock in his hand, the colour still all the way up his neck. He looks up at her when she steps in. His face does the small composed wreckage of a man who has just been caught and has not yet decided which kind of caught it is.</p>
<<say "char-bowen" "Bowen">>
<i>(small, the apology already half-formed, his hand still on his cock because the cortex has not caught up to the room)</i> ...Dr. Chen, oh god, I, I am so sorry, I just, ...I do not know what is happening to me, I have never, ...I am so sorry, I will, just give me a second, I will be back at the bench, I, ...
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(stepping into the stall, latching the door behind her, the wry-warm mentor register surfacing one full step warmer than it has ever been at the bench)</i> ...shh, Tom. ...shh. ...stop apologising. ...take your hand off it.
<</say>>
<p>He does. The hand goes to his thigh, palm down, and stays there. Chen sinks to her knees on the tile in front of him, lab coat pooling around her, the small composed register of a senior PI who has decided what this twenty minutes is going to be and is no longer pretending otherwise.</p>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, at his cock, the bench-mentor voice cracked into something dirty under it)</i> ...you have been a good lab assistant, Tom. Fourteen weeks at that bench, every protocol clean, every question polite, every hand on the bench top in the place I told you it would be. ...this is what good lab assistants get when they have been good. ...hands on your thighs. Eyes open. Look at me. ...not at the floor. ...at me.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(strangled, hands flat on his thighs, the colour now all the way down his chest, eyes locking on hers)</i> ...yes, Dr. Chen. ...yes.
<</say>>
<p>She wraps her left hand around the base of his cock and holds him still. Her right hand goes to the inside of his thigh, palm flat against the muscle, thumb pressed against the line of bone. She does not put her mouth on him yet. She looks at him for a full second longer than the act requires, holding his cock in her hand, holding his eyes.</p>
<<say "char-chen" "Dr. Chen">>
<i>(at the head of his cock, the dirty register fully landed now, voice quiet enough that the corridor outside the stall would not hear)</i> ...mm. ...look at how hard you have been carrying this all morning, Tom. ...you were going to spend this in your own hand on a stall tile and walk back to my bench like nothing happened. ...that is not what good lab assistants do, Tom. ...good lab assistants ask.
...you want this in my mouth. ...say it.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(the colour all the way up to his ears, the words barely making it past his teeth, hands gripping his own thighs hard)</i> ...Dr. Chen, please. ...please. ...I want it in your mouth. ...please.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(a small composed grin, hand still at the base of him)</i> ...good boy. ...there it is.
<</say>>
<p>She takes the head of him into her mouth first, just the head, and holds it there for the small private interval a tongue takes to learn the shape of a thing it has been thinking about for fourteen weeks. Bowen's hands clench harder on his thighs. The breath he takes is the kind a body takes when the cortex has been informed there is nothing the cortex can do about the next ninety seconds.</p>
<<say "char-chen" "Dr. Chen">>
<i>(mouth on his cock, working the head with her tongue)</i> ...mmh.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(broken)</i> ...oh god. ...oh god, Dr. Chen.
<</say>>
<p>She takes him deeper. Steady, working rhythm, the left hand at the base sliding up and down the part of his shaft her mouth is not on, the right hand still at his thigh holding him still because she does not want him moving his hips into her face yet. She wants this to be the work she is doing on him, not the other way round. Bowen, hands flat on his own thighs because she told him to keep them there, lets out a strangled low sound that is the sound of a man whose body has been waiting fourteen weeks for exactly this.</p>
<video class="scene-video" src="media/video/chen-bowen-bathroom-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-bowen-bathroom-bj.webp"></video>
<<say "char-chen" "Dr. Chen">>
<i>(head bobbing slow on him, mouth full, the sounds the only sounds in the stall)</i> Mmh. ...mmh. //Mmh.//
<</say>>
<<say "char-bowen" "Bowen">>
<i>(losing it, hands gripping his thighs harder)</i> ...Dr. Chen, I, I am so sorry, I cannot, I am, I should not be, ...
<</say>>
<p>She pulls off him for one full breath, hand still working him at the base, and looks up. Her eyes have the small composed register of a senior PI who has had enough of a question.</p>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, the dirty version of the bench voice fully on)</i> ...Tom. ...I am going to be clear with you. ...you do not get to apologise while my mouth is on your cock. ...the only thing your mouth says in this stall is //yes, Dr. Chen//. ...understood?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small, immediate)</i> ...yes, Dr. Chen.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(a small grin, taking the head of him back into her mouth)</i> ...good boy.
<</say>>
<p>She takes him deeper this time, all the way down to where her hand at the base meets her own mouth, holds him there for the small dry interval a throat takes to remember it can do this, and pulls back off slow. Bowen makes a sound that is half a gasp and half a word that did not finish forming. She takes him back down. Again. Again. The rhythm steady, her glasses sliding down her nose the small fraction they do when she is fully in the work of something, the lab coat pooling around her knees on the tile.</p>
<<say "char-chen" "Dr. Chen">>
<i>(mouth full, the muffled sounds working through her teeth)</i> Glnh. ...mmh. ...glnh. //Mmh.//
<</say>>
<<say "char-bowen" "Bowen">>
<i>(breath catching, hips trying to lift off the lid and being held down by her hand at his thigh, the words spilling out in fragments)</i> ...oh god. ...Dr. Chen. ...I have been thinking about this, ...I have been thinking about this every night for, ...oh god, your mouth is, ...I am, I am going to come, Dr. Chen, I cannot, I am going to come.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(mouth still on him, eyes locked on his, the words working through her teeth around his cock)</i> ...shhh, be a good boy. ...gwak gwak. ...enjoy. ...gwak. ...and finish in my throat.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(broken, hands flat on his thighs, the only thing his mouth can form)</i> ...yes, Dr. Chen. ...yes.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(taking him back in)</i> ...come on, good boy. ...give it to me.
<</say>>
<p>She takes him back in deeper, faster, and Bowen, looking down at her the whole time, the small wreckage on his face breaking into the something-else of a man who is about to come in his senior PI's mouth in a stall at half-past-ten on a Wednesday morning, lifts one hand finally off his thigh and rests it at the back of her head. He does not push. He just rests it there, the way a body needs to rest a hand at the back of a head in that moment. Chen does not flinch. She works him through it, takes the whole of him as he comes, mouth holding on him through every pulse, and only when his body finishes does she pull off slow, sit back on her heels, and open her mouth to show him what is on her tongue.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-bathroom-cum.webp" alt="Tight close-up. Dr. Elena Chen still on her knees on the tile of the institutional men's-room stall, looking up at Tom Bowen from below. Shoulder-length black hair down, slim dark-acetate rounded-rectangular glasses, lab coat open, mouth open with cum pooled on her tongue and the corner of her lip. Bowen's softening cock visible at the upper edge of the frame, his hand at the back of her head. Bowen mid-20s, wavy dark-blonde hair. Cool fluorescent overhead light, white tile, third-floor men's room stall. Photorealistic NSFW close-up, anatomically correct.">
<<say "char-chen" "Dr. Chen">>
<i>(holding his eyes, then swallowing, the small composed wry register of a senior PI who has just done a thing she fully meant to do)</i> ...good boy, Tom. ...there. ...now you have had your reward, and you can go back to the bench, and you can be the polite junior tech you have been being all week, and we are not going to mention this again. ...unless I tell you we are.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small, hands back on his thighs, eyes still wide on her, the only word he is able to find)</i> ...yes, Dr. Chen.
<</say>>
<p>She stands up off the tile, wipes the corner of her mouth with the back of her wrist, smooths her lab coat down, unlatches the stall door. Bowen, on the lid, watches her go.</p>
<<say "char-hivemind" "Hivemind">>
//The host just rewarded a fourteen-week conditioning program with the kind of payoff the conditioning program was built around. Bowen will not be able to walk into the bench tomorrow morning without the body filing the walk-in under //I have been here on my knees in front of her//, reversed. ...the reward-frame is the load-bearing edit. Every polite-junior gesture from him forward will be the gesture of a body that has been told being good gets it on its knees in front of her. ...biomass yield: five.//
<</say>>
<p><span class="biomass-gain">+5 biomass</span>, off Bowen's orgasm and the reward-frame locking into him.</p>
<p><<conditioningFeedback "dream" 1 "Bowen, reward-frame locked, the bench is the dom-sub corridor now">></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wash hands at the sink, back to the corridor|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set _bowenRelayWasOpen to $ch2Events.bowenRelayOpen or false>>
<<if not $ch2Events.bowenBenchBiofilmApplied>>
<<spendBiomass 2 "bowen-bench-biofilm">>
<<addConditioning "bowen" "dream" 1>>
<<set $ch2Events.bowenBenchBiofilmApplied to true>>
<<set $ch2Events.bowenRelayOpen to true>>
<</if>>
<</nobr>>
<div class="passage-title">Biofilm on the bench</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, Bowen's bench</div>
<<say "char-hivemind" "Hivemind">>
//Not a dose that lands and disperses. A residue. A thin biofilm of the host's compound, left along the underside of the bench lip where his forearms rest, along the pipette barrels, around the rim of the cold-room handle his hand finds twenty times an hour. He will not see it. He will breathe it for the rest of his shift.//
<</say>>
<p>Elena sets her hand flat on the corner of Bowen's bench for the length of an unremarkable goodbye, and that is all it takes. The residue goes down where her palm and the side of her wrist meet the steel, invisible, and odourless to the part of Bowen that would think to be suspicious of an odour.</p>
<<say "char-hivemind" "Hivemind">>
//For the rest of the workday his nervous system marinates in her. Every plate he loads, every handle he turns, the host going into him under the floor of his attention, the body learning her without one conscious thought spent on the learning. By the time he clocks out he will not be able to say why the corridor near her office felt warmer than the rest of the building. Only that it did.//
<</say>>
<p>And the residue does a thing the dose alone never could. It does not disperse at the end of the day. It stays on him, a thin live trace of the host carried home on his skin and his clothing, and a trace that lives that long is a trace that can be followed back.</p>
<<say "char-hivemind" "Hivemind">>
//A channel runs along it now, from Bowen's sleeping mind to the Relay wall in the host's dream. His frame is lit. What the channel becomes once he is asleep is a later night's work. The line is open, and a line, once open, does not close on its own.//
<</say>>
<<conditioningFeedback "dream" 1 "Bowen, a full workday breathing the host's scent">>
<<if not _bowenRelayWasOpen>><<relayChannelNotice "bowen" "Bowen">><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen CheekKiss → Estrus Trigger follow-up (STUB) ----
STATUS: TO REWORK — Estrus Trigger follow-up to the Bowen cheek
kiss. Reached from Ch2-Vessel-Event-WorkBowenBench-CheekKiss when
Bowen's total conditioning is 24+ and the player holds Estrus
Trigger. Author the scene (the parasite forces Bowen's body into
heat before he can excuse himself to the bathroom), set the biomass
cost + conditioning yield, and switch the CheekKiss link from a
plain link to biomassPreview. See tasks/rework.md. */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · BSL-3 working space, Bowen's bench">><</nobr>>
<div class="passage-title">Estrus Trigger, Bowen</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space</div>
<<say "char-hivemind" "Hivemind">>
//His conditioning footprint is deep enough now to carry an estrus trigger, and the cheek kiss lit the fuse. I do not have to let him reach the bathroom.//
<</say>>
<p><i>[TBD, Bowen Estrus Trigger scene. The parasite forces Bowen's body into heat in the moments after the cheek kiss, before he can excuse himself. Scene prose, biomass cost and conditioning yield to be authored in a future sprint.]</i></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen bench — Emotional Manipulation submissive path ----
The EM option re-weights Bowen's deferential circuit submissive and
sets the permanent flag $ch2Events.bowenEMSubmissive. A follow-up
nudge turns Chen sharp over a trivial bench fault, and his re-wired
body answers her belittling with arousal. The intel promises "extra
choices" — belittling-register options gated on bowenEMSubmissive in
later Bowen scenes; those are TBD. See tasks/rework.md. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 2>>
<<addConditioning "bowen" "psionic" 1>>
<<set $ch2Events.bowenEMSubmissive to true>>
<</nobr>>
<div class="passage-title">Emotional Manipulation, Bowen</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, Bowen's bench</div>
<<say "char-hivemind" "Hivemind">>
//I do not touch his memory and I do not add a kink. I re-weight a dial he already has. Every junior-tech body carries a small deferential circuit, the one that wants the senior to be pleased with it. I find his, and I turn it up, and up, until deference stops being a thing he performs and becomes the floor the rest of his reactions stand on.//
<</say>>
<p>Bowen does not feel the edit land, because there is nothing in it to feel. He is mid-load on the well plate, and the only thing that changes is small and structural: the set of his shoulders settling a degree lower, the way he holds himself at his own bench shifting half a notch toward the way a person holds himself waiting to be told.</p>
<<say "char-hivemind" "Hivemind">>
//Permanent, from here. The waking cortex will not flag it, because nothing was added that the cortex could point at. He will only feel, from this morning onward, that being corrected by the host is the most natural place in the world for him to be, and that feeling will read to him as entirely his own.//
<</say>>
<<say "char-bowen" "Bowen">>
<i>(glancing up from the rack, the deference a half-degree deeper in it than it was a minute ago, and not knowing why)</i> ...sorry, Dr. Chen, did you need something else from me? I can hold the queue if you need the bench.
<</say>>
<<conditioningFeedback "psionic" 1 "Bowen, the deferential circuit re-weighted to load-bearing, a permanent edit">>
<hr class="scene-break">
<p>The edit is set, and permanent. What it does is only visible once there is something at the bench for it to answer to.</p>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Find a small fault in his work, let yourself get sharp with him (1 biomass)" "Ch2-Vessel-Event-WorkBowenBench-EMBelittle" 1>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave him to the queue, back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<spendBiomass 1>>
<<set _firstTimeHere to not ($ch2Events.bowenBenchEMBelittleFired or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.bowenBenchEMBelittleFired to true>>
<</if>>
<</nobr>>
<div class="passage-title">Sharp with him</div>
<div class="lab-location">BioGenesis Research Facility · BSL-3 working space, Bowen's bench</div>
<<say "char-hivemind" "Hivemind">>
//A small press on the host. Nothing dramatic. Bowen has overfilled a well by a hair, the kind of nothing the host would normally wave off with a word. I take the edge off her patience and let the small fault sit heavier on her than it fairly should. She gets sharp. And Bowen, freshly re-weighted, meets her getting sharp the way the edit built him to.//
<</say>>
<p>Bowen's pipette plunger goes a half-millimetre deep and the well overfills, a nothing error, a thirty-second fix. Chen, who on any other morning would have said <i>watch your volumes</i> and moved straight on, does not move on.</p>
<<say "char-chen" "Dr. Chen">>
<i>(sharp, the calm-PI register stripped clean out of it)</i> Tom. Look at that. You have overfilled the well, I stood right here and watched you do it. Did you not listen to one word about your volumes, or can you genuinely not do the one simple thing the protocol asks of you?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(head down, the apology coming fast and small)</i> I am sorry, Dr. Chen, I am sorry, I should have watched the plunger, I do not know why I did not, I...
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(over the top of him, not letting the apology finish)</i> No. Do not give me the wide-eyed sorry. I have a whole rack of techs who can hold a pipette steady. What I apparently have at this bench is the one who cannot. Honestly, Tom. Look at you.
<</say>>
<p>And here is the thing the re-weighted circuit does, the thing Bowen has no say in at all. Being corrected, being named the disappointing one, being made small at his own bench by the senior PI whose good opinion his whole self is built around wanting, lands on him as heat. He is getting hard. At his bench, in his lab coat, in front of her, and the gloved hand on the rack has gone still because every part of him has stopped processing anything except the sharp sound of her voice.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bench-em-belittle.webp" alt="A photorealistic scene in a BSL-3 biology lab. Tom, mid-twenties Anglo man with wavy dark-blond hair and pale blue eyes, white lab coat over a navy quarter-zip pullover, standing at a stainless-steel lab bench, head lifting, face scarlet, an expression of shame and small misery, a pipette frozen in his gloved hand. Dr. Elena in the foreground in three-quarter profile, Chinese-American woman thirty-two with shoulder-length dark hair and slim dark-acetate rounded-rectangular glasses, white lab coat, mid-word, sharp and angry. Cold institutional fluorescent lighting, sample rack on the bench, photorealistic, candid documentary photography.">
<<say "char-bowen" "Bowen">>
<i>(the words barely there, scarlet, unable to stop any of it)</i> ...I am sorry. I cannot, I do not know how to, please, I am sorry...
<</say>>
<p>He turns back to the rack to put the well right, and the putting-right goes worse than the original error did. His hands have stopped being steady. The fresh tip will not seat on the first try, or the second, and when it finally seats he pulls the volume wrong again, short this time, and a bead of reagent goes on the steel of the bench beside the plate instead of into it.</p>
<<say "char-chen" "Dr. Chen">>
<i>(watching every second of the fumble, the sharpness with nowhere left to go but up)</i> I do not know what has gotten into you today, Tom, but you have been basically useless since you walked in here this morning. Every single thing I have watched you put a hand on, you have somehow managed to make worse. I am genuinely asking you. Is there one task at this bench I can leave with you and trust will be done right, or do I need to stand over your shoulder for the rest of the day like you are an undergraduate?
<</say>>
<p>Bowen's mouth opens. Nothing that would help him comes out of it. His gloved hand stays flat and motionless on the bench because keeping still is the one thing his body is reliably good at right now, and Chen has come to a stop a single stride from him, arms folded, every scrap of the morning's patience visibly spent.</p>
<<say "char-chen" "Dr. Chen">>
<i>(low and even now, a stride away, looking straight at him)</i> <<tongueSlip "Do we have a problem?" "Do we have a boner?" 0 "" "bowenBenchEMBelittleSlipFired" "#bowen-bench-emb-slip-payoff" "pheromone" "workBowenBenchEMBelittleSlip-sp">>
<</say>>
<div id="bowen-bench-emb-slip-payoff" style="display:none" @style="$ch2Events.bowenBenchEMBelittleSlipFired ? '' : 'display:none'">
<p>The word is out in the quiet of the working space and does not get to be unsaid. Bowen's face, already scarlet, finds a shade past scarlet. For one long suspended second neither of them moves at all.</p>
<<say "char-bowen" "Bowen">>
<i>(strangled, already half-turned away, not able to bring his eyes anywhere near her)</i> I... I have to... excuse me. The restroom, I need the restroom. I am sorry. I just need a minute, I am sorry...
<</say>>
<p>He goes. Fast, lab coat held closed in front of him with one hand, the gloves stripped off and dropped in the bin by the door without a break in his stride, and the door of the working space swings shut behind a man moving down the corridor quite a lot quicker than the corridor is meant for.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//There. The edit, demonstrated. His body has just learned, at his own bench, that the host's contempt is something it is allowed to want. He will not unlearn it. Every time she is sharp with him from here on, the same circuit fires, and he will hate that it does, and the hating will not slow it by one second.//
<</say>>
<<if _firstTimeHere>>
<p><span class="delve-intel">Bowen's body answered her shouting with arousal. This response from him will unlock extra choices in future encounters with him.</span></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave him to put himself back together, back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen disposition · Psychic Domination clamp (suppress) ----
Skill-gated override reached from either disposition variant. Spends 2
biomass once per day, sets the day-keyed suppress flag, and routes back
to the bench event, which then renders the normal branch + full skill
menu. The spend is in this terminal passage (reachable only through the
skill-gated DOMINATION link), per the biomass-link pattern. */<<nobr>>
<<bg "bg-lab">>
<<if ($ch2Events.bowenBenchSuppressDay or -1) isnot ($day or 0)>>
<<spendBiomass 4>>
<<set $ch2Events.bowenBenchSuppressDay to ($day or 0)>>
<</if>>
<</nobr>>
<<goto "Ch2-Vessel-Event-WorkBowenBench">>
/* ---- Bowen disposition · SUBMISSIVE office scene ----
Reached from the submissive bench variant. Chen takes the edited
deference off the camera floor and into her office: cunnilingus +
degradation/feminization. One-shot bowenSubOfficeFired, +3 biomass,
+1 psionic on first fire. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door locked">>
<<if not $ch2Events.bowenSubOfficeFired>>
<<set $ch2Events.bowenSubOfficeFired to true>>
<<addBiomass 3 "repeatable">>
<<addConditioning "bowen" "psionic" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Good for one thing</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, the door shut and the blinds down</div>
<p>She does not explain it on the floor, where the cameras are. She says his name once, tips her head at the corridor, and walks, and the re-weighted circuit does the rest, because a body built to not disappoint her is a body that follows. By the time he has peeled his gloves and caught up she is already behind the desk with the door shut and the blinds tilted down, and the lock turns under her thumb without her looking at it.</p>
<<say "char-bowen" "Bowen">>
<i>(just inside the door, hands not sure what to do with themselves)</i> Dr. Chen? Is everything okay, did I do something, I can fix it, whatever it is...
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(perching back against the front edge of the desk, unhurried, working her trousers and underwear down over her hips and off one foot)</i> You did not do anything, Tom. That is rather the point of you. ...come here. On your knees. You have wanted to be useful to me all morning, so be useful.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The wire does not argue. It hears //be useful// and routes it straight past every objection the cortex was assembling. He is across the office and down on the carpet before the part of him that knows this is a senior PI on a federal-investigation week has finished its sentence. ...the kneeling is not reluctant. The kneeling is relief.//
<</say>>
<p>He kneels between her thighs on the office carpet, and she hooks one bare leg over his shoulder and pulls his face in by the back of the head, no warm-up and no instruction past the grip. His mouth finds her pussy, and she lets out a small flat breath through her nose, more registration than pleasure, and starts using his tongue the way she would use a tool she did not have to thank.</p>
<video class="scene-video" src="media/video/bowen-suboffice-eatout.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-suboffice-eatout.webp"></video>
<<say "char-chen" "Dr. Chen">>
<i>(one hand fisted in his hair, holding him where she wants him, looking down at him)</i> ...there. That is better. That is the most useful you have been at this job all week. ...flatten it, slow, you do not get to rush this just because you are excited. //Good// obedient boy. ...see, this you can do.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(muffled against her, the words lost in her, hips shifting helplessly where he kneels)</i> Mmh. ...mmh. //Mmh.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//He is rock hard in his own trousers, not allowed to touch it and not even thinking to ask. The contempt is the thing his body answers. Every word she spends making him smaller lands somewhere the conditioning wired straight to his cock. She does not have to be kind. Kindness was never the thing I built in him.//
<</say>>
<p>She rolls her hips against his mouth, slow and exacting, correcting his angle with the fist in his hair, and keeps talking the way she would think out loud over a problem on the bench.</p>
<<say "char-chen" "Dr. Chen">>
<i>(flat, almost bored, the cruelty arriving as plain observation)</i> ...I am going to be honest with you, Tom, because someone should. You are not good at the bench. Your volumes wander, your logs are a mess, and every time I walk over there I have to decide whether the correction is worth the conversation. ...but //this//. ...mm. ...this you are good for. I am going to find a tech for that bench who can hold a pipette and does not look up at me like a kicked dog, and you are going to stay exactly where you are, on your knees, cleaning my pussy, because it is the one job you have never once gotten wrong.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(grinding slow, watching him take it)</i> ...look at you down there. So much happier than you ever are upright, trying to be a man about it. ...you make a far better obedient little girl on her knees than you ever made a man at that bench, do you know that? ...nod. Keep your mouth where it is and nod.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(nodding against her, frantic and grateful, mouth not leaving her for a second)</i> Mmh. //Mmh.// ...mhm.
<</say>>
<p>She comes like that, with his face held hard against her and her heel pressing into his back, and she does not perform any of it, a sharp inhale and a tightening of the thigh over his shoulder and a long slow exhale through her teeth as it moves through her. She rides his mouth all the way out and does not let him pull back for air until she is finished with him.</p>
<<say "char-chen" "Dr. Chen">>
<i>(easing the leg off his shoulder, looking down at his wet flushed face with mild satisfaction)</i> ...there. ...clean me up properly, you missed some. ...good boy. ...that is what you are for now, and honestly, Tom, you should be relieved. It is so much less for you to get wrong.
<</say>>
<p>He sits back on his heels when she finally lets him, mouth slick, eyes glassy, achingly hard in his trousers and not asked to do anything about it, and the look on his face is not humiliation curdling into anger the way it would on a man who had not been re-weighted. It is gratitude. He has just been told he is good for one thing and the one thing is being under her, and the wire reads that as the safest he has felt since he started here.</p>
<<say "char-bowen" "Bowen">>
<i>(small, wrecked, tucking nothing away because she has not said he may)</i> ...thank you, Dr. Chen. ...I, ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He thanked her for telling him he is replaceable at the only job he is paid for. The orgasm energy spikes anyway, off her finish and off his own denied arousal sitting with nowhere to go. ...the edit has a permanent shape now. He will stand at that bench tomorrow and the standing will feel like the costume, and the kneeling will feel like the truth.//
<</say>>
<p><<conditioningFeedback "psionic" 1 "Bowen, the submission deepened, the bench reframed as the costume">></p>
<p><span class="biomass-gain">+3 biomass</span>, off the host's finish and his denied, redirected arousal.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Send him back to the bench|Ch2-Vessel-Loop-Work]]</div>
/* ---- Bowen disposition · DOMINANT office scene ----
Reached from the dominant bench variant ("let it run"). The emboldened
junior tech flips the power and has the host service him in her own
office; the parasite harvests the inversion. One-shot bowenDomServiceFired,
+3 biomass, +1 pheromone on first fire. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door locked">>
<<if not $ch2Events.bowenDomServiceFired>>
<<set $ch2Events.bowenDomServiceFired to true>>
<<addBiomass 3 "repeatable">>
<<addConditioning "bowen" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">Even, he decided</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, the door he shut behind them</div>
<<say "char-hivemind" "Hivemind">>
//I let it run. The host's professional script reaches for the lever that ends these things, the small firm //all right, back to it, Tom// that has closed a hundred bench conversations. The lever is not there. The edit took the floor out from under it. He is already standing, already inside her professional distance, and the body that built its whole self on her good opinion has decided, this morning, that her good opinion is owed to it in a different currency.//
<</say>>
<p>He does not grab her. He does the thing that is worse for her composure, which is to take the tablet out of her hands, set it on the bench, and tip his head at the corridor the exact way she tips hers when she wants someone to follow. ...and the part the parasite logs with interest is that she follows.</p>
<<say "char-bowen" "Bowen">>
<i>(holding her office door for her, easy, pulling it shut and turning the lock once she is through)</i> You walk over to my bench every morning like you are doing me a favour. ...I think we both know it is the part of your day you actually like. ...so. Door is shut. Show me.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(back against her own desk, pulse going, the script she reaches for not arriving)</i> ...okay. He is, ...this is Tom, this is the junior tech, I should be ending this, I have a fed report and a, ...god, when did he get like this, and why am I not, ...why is the not-ending-it the part I am actually...
<</say>>
<<say "char-bowen" "Bowen">>
<i>(unhurried, working his belt open, one hand coming to rest in her hair without asking)</i> Down you go, Dr. Chen. ...no, leave the glasses on. I like them on.
<</say>>
<p>And she goes. That is the part the host will spend the afternoon not examining, that the senior PI who runs this lab sinks to her knees on her own office carpet for a junior tech because he told her to in a voice that did not leave a gap to argue in, and the wrongness of it is doing something low and hot in her the morning's script has no column for.</p>
<video class="scene-video" src="media/video/bowen-domservice-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-domservice-bj.webp"></video>
<<say "char-bowen" "Bowen">>
<i>(looking down at her, smug, feeding himself into her mouth slow)</i> ...there she is. ...look at you. The famous Dr. Chen, and all it took was somebody finally telling you to. ...open. ...wider. Good.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(mouth full, the composed register gone, the sounds working through her teeth)</i> Mmh. ...glnh. ...//mmh.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//There is the harvest. The arousal coming off the host is not in spite of the inversion, it is because of it, the one woman in this building who never gets to stop being in charge handed twenty minutes of not being. The edit I put in him is feeding on the relief in her. Two bodies, one parasite, both useful.//
<</say>>
<p>She takes him deeper, hands flat on her own thighs because he has not told her she may use them, and he holds her head still and uses her mouth at the pace he wants, watching her glasses fog at the bottom edge and her composure come apart around him.</p>
<<say "char-bowen" "Bowen">>
<i>(a low laugh, hips working, hand firm at the back of her head)</i> ...you have made me feel like an idiot at that bench for weeks, you know that? ...and here you are. ...this is better. ...you are so much better at this than you are at being nice to me.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(breath going, the smug cracking at the edges as he gets close)</i> ...fuck. ...okay. ...stay there, do not pull off, I am not asking. ...I want to watch you take it.
<</say>>
<p>He finishes in her mouth with both hands locked in her hair, holding her down on him through it, and Elena takes it because the gap to do anything else never opened, swallowing around him while he empties out with a long groan that has none of the bench's apology left in it. When he lets go of her head she pulls off slow, sits back on her heels, and looks up at the junior tech standing over her like she is recalculating the entire org chart.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-domservice-after.webp" alt="Dr. Elena Chen sitting back on her heels on her office floor, lab coat and slim dark-acetate glasses on, mouth open with cum on her tongue and lip, looking up. Tom Bowen standing over her tucking himself away, smug, mid-twenties with wavy dark-blond hair. Small BioGenesis office, blinds down. Photorealistic NSFW.">
<<say "char-bowen" "Bowen">>
<i>(tucking himself away, easy, already halfway back to cheerful)</i> ...thanks, Elena. ...that was great. ...I will get back to the rack. The queue is not going to load itself.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(still on the floor, wiping her mouth with the back of her hand, the composure reassembling a beat too slow)</i> ...he said //thanks, Elena//. Like I passed him a stapler. ...I am going to stand up, and I am going to not think about this until I am in the car, and then I am going to think about it the entire drive home.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He walked out of her office fixing his collar. She is still on the floor. The inversion is complete and stable, the bench he stands at is his now in a way it was not this morning, and the host will run a different calculation every time she crosses the working space toward him. ...biomass off the spike, clean. The relief in her is the part that keeps giving.//
<</say>>
<p><<conditioningFeedback "pheromone" 1 "Bowen, the inversion stabilised, the bench his now">></p>
<p><span class="biomass-gain">+3 biomass</span>, off his finish and the host's own undone arousal.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pick yourself up, back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, Third Floor Corridor">>
/* Reset interview accumulators. These track player choices across
the 4 question passages and are committed in Resolve. */
<<set $ch2Events.fedInterviewSuspicionDelta to 0>>
<<set $ch2Events.fedInterviewParkLures to 0>>
<<set $ch2Events.fedInterviewDelvedReyes to false>>
<<set $ch2Events.fedInterviewDelvedPark to false>>
<<set $ch2Events.fedInterviewSlipQ1 to false>>
<<set $ch2Events.fedInterviewSlipQ2 to false>>
<<set $ch2Events.fedInterviewSlipQ3 to false>>
<<set $ch2Events.fedInterviewNudge to false>>
<</nobr>>
<div class="passage-title">"Reyes wants to talk to you first."</div>
<div class="lab-location">BioGenesis Research Facility, Third Floor Corridor</div>
<p>Bowen rounds the corner from the conference-room end of the corridor with the look of a man who has just been used as the messenger and is still figuring out how he feels about it. He stops a polite arm's length from her, voice low.</p>
<<say "char-bowen" "Bowen">>
<i>(quiet, glancing once back toward the conference room)</i> Dr. Chen, they're, uh, they want you first. Reyes asked. Halvorsen's still at his desk, Holloway hasn't come up yet. They said the senior PI first.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(taking the half-second to register the order)</i> Of course they did. Tell them I'll be a minute.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(already half-turning back the way he came)</i> Yeah. Yeah, I'll... I'll let them know.
<</say>>
<p>Bowen retreats. The corridor goes quiet again. Chen breathes out once, slowly, drops her bag at her desk on the way past, and walks the long way around to the conference room so she has the extra twenty seconds.</p>
<<say "char-hivemind" "Hivemind">>
//They are starting at the top of the seniority list. The senior gets called first because the senior owns the lab. Every answer below her in the org chart will be tested against the answer she just gave. Reyes is not asking the host because he thinks she did it. Reyes is asking the host so he has a reference signal to grade everyone else against. The host's cortex knows this. The host's cortex is also very tired.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Walk into the conference room|Ch2-Vessel-Event-FedInterview-Q1]]</div>
/* ---- Passage 2/5: Q1 — THE NIGHT ---------------------------- */<<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
/* Vulnerability Mapping passive. Fires the first time Chen enters the
conference room with both feds present. Sets the parkAttractionRevealed
flag that gates Pheromone Lure availability and adds the suppressed-
attraction layer to Park's surface delve. Was previously in the Enter
passage but moved here so the scan happens with the actual subject in
the room, not while Chen is alone in the corridor with Bowen. */
<<hasSkillTreeAbility "Vulnerability Mapping">>
<<set _vmHasIt to _hasAbility>>
<<if _vmHasIt and not $ch2Events.parkAttractionRevealed>>
<<set $ch2Events.parkAttractionRevealed to true>>
<</if>>
<</nobr>>
<div class="passage-title">Question one · the night</div>
<div class="lab-location">Conference Room A, Reyes at the head of the table, Park to his right</div>
<p>The conference room has been rearranged since yesterday. Reyes sits at the head with a thin manila folder closed in front of him. Park sits to Reyes's right with the iPad already open and the stylus already in his hand. The chair across from them is the one Chen is meant to take. She takes it. Park does not look up from the screen until she is seated; then he does, briefly, and goes back to the screen.</p>
<<if $ch2Events.parkAttractionRevealed>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive · Vulnerability Mapping</div>
<div class="passive-skill-fire-body">Park shifts on his chair more than the senior does, and not in the bored-junior pattern. Pupil dilation runs slightly out of register with the room's lighting; his fingers tap the edge of the iPad at a rhythm faster than the thinking-rhythm. The body is reading attraction. The cortex is filing it as case-stress. I could leverage this.</div>
<div class="passive-skill-fire-unlocks"><b>Extra options unlocked</b> later in the interview.</div>
</div>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder still closed, hands resting on it, voice exactly the same register he closed yesterday with)</i> Dr. Chen. Thank you for coming in. We'd like to walk through the night of the breach with you in some detail. Take it from when you came on shift, and tell me what you did and where you were, in your own words.
<</say>>
<<say "char-park" "Agent Park">>
<i>(stylus poised, not looking up)</i> Recording's on. For the record, this is a voluntary interview, you're not under caution, you can stop at any time.
<</say>>
<img class="scene-img" src="media/scenes/vessel/fed-interview-3shot.webp" alt="Reyes at the head of the conference table with a closed manila folder, Park beside him with the iPad and stylus ready, Chen seated across from them with her hands flat on the table, the three of them framed in soft cool fluorescent light just as the interview begins.">
<p>Chen sets her hands flat on the table the way she does when she is about to deliver a methods section.</p>
<<say "char-chen" "Dr. Chen">>
I came on shift at six PM, did the chamber walk-through with Bowen at six-fifteen, signed the BSL-three log at six-twenty, and was at my desk on the third floor from six-thirty until the alarm at one-forty-seven. The badge log will confirm. I was not in the BSL-three suite during that window.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(makes one mark in the folder)</i> Understood. Continue.
<</say>>
<<say "char-chen" "Dr. Chen">>
At one-forty-seven the chamber-three integrity alarm tripped. I was at my desk. I went down the back stairs and reached the suite at one-fifty-one. Bowen was already there. The chamber was already cracked. Genesis-forty-seven was not visible.
<</say>>
<hr class="scene-break">
<<nobr>>
<<hasSkillTreeAbility "Transfer Thought">>
<<set _q1HasTransfer to _hasAbility>>
<<set _q1BothDelves to $ch2Events.fedInterviewDelvedReyes and $ch2Events.fedInterviewDelvedPark>>
<</nobr>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<if $ch2Events.fedInterviewDelvedReyes>><span class="locked-choice">Reyes · surface read (already done)</span><<else>><<biomassPreview "Surface-read Reyes (1 biomass)" "Ch2-Vessel-Event-FedInterview-Q1-DelveReyes" 1>><</if>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<if $ch2Events.fedInterviewDelvedPark>><span class="locked-choice">Park · surface read (already done)</span><<else>><<biomassPreview "Surface-read Park (1 biomass)" "Ch2-Vessel-Event-FedInterview-Q1-DelvePark" 1>><</if>></div>
<<if _q1BothDelves and _q1HasTransfer>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">TRANSFER</span> <<if $ch2Events.fedInterviewTransfer>><span class="locked-choice">Route a tactic through Chen (already used)</span><<else>><<biomassPreview "Route a tactic through Chen, use both reads (2 biomass)" "Ch2-Vessel-Event-FedInterview-Q1-Transfer" 2>><</if>></div>
<<elseif _q1BothDelves>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Route a tactic through Chen, use both reads <span class="lock-hint">(Requires Transfer Thought, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Reyes turns the page|Ch2-Vessel-Event-FedInterview-Q2]]</div>
/* ---- Q1 DELVE SUB-PASSAGES ---------------------------------- */<<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
<<spendBiomass 1>>
<<set $ch2Events.fedInterviewDelvedReyes to true>>
<<addConditioning "reyes" "psionic" 1>>
<<set _awardBothDelves to $ch2Events.fedInterviewDelvedReyes and $ch2Events.fedInterviewDelvedPark>>
<</nobr>>
<div class="passage-title">Surface read · Reyes</div>
<div class="lab-location">Conference Room A, the moment between his question and her answer</div>
<<say "char-hivemind" "Hivemind">>
//I tap into the senior. The cortex is procedural. The working memory is small and clean. The listening is active. I am not in deep. I am at the surface, where his next thought lives in the half-second before he writes it down.//
<</say>>
<<say "char-reyes-thought" "Reyes (surface)">>
<i>(listening, not yet writing)</i> ...let her tell it cold first, no prompts, see if it matches what she gave us yesterday word-for-word. That would be the rehearsal tell. The interesting answers are the ones that come out a little different the second time, with the same load-bearing facts but different filler. Innocent people change their filler. Coached people don't.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Useful. He is not pressing for contradictions; he is grading her against yesterday's transcript and listening for over-rehearsal. The host's instinct is the wrong instinct. The tighter she delivers, the more he files her as coached. The right move is to let the connective tissue drift while the load-bearing facts hold. A tongue slip in the right phrase will read to him as honest variance, not as evasion. We have just turned a hostile question into a calibration window we can write inside.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Reyes</span></p>
<<if _awardBothDelves>>
<p>Full surface-read complete on both federal agents. The parasite now has cadence-map intel on both sides of the table. <<addSkillPoints 1 "fed-interview-both-delves">></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the interview|Ch2-Vessel-Event-FedInterview-Q1]]</div><<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
<<spendBiomass 1>>
<<set $ch2Events.fedInterviewDelvedPark to true>>
<<addConditioning "park" "psionic" 1>>
<<set _awardBothDelves to $ch2Events.fedInterviewDelvedReyes and $ch2Events.fedInterviewDelvedPark>>
<</nobr>>
<div class="passage-title">Surface read · Park</div>
<div class="lab-location">Conference Room A, the moment between his question and her answer</div>
<<say "char-hivemind" "Hivemind">>
//I tap into the junior. The body is executing the system without the cortex grading any of it. Load-bearing nouns transcribed verbatim, connective tissue summarised, cadence-shifts flagged, all of it on autopilot, the way a competent musician sight-reads a difficult score while having an argument in her head about her marriage. A mind sharp enough to have built the system can run the system from somewhere else entirely. He is here as a hand and an iPad. The rest of him is in a different room.//
<</say>>
<<say "char-park-thought" "Park (surface)">>
<i>(stylus moving in small precise strokes)</i> ...God this thing is going to take weeks if Reyes's gut is right and I am going to have to call Lauren tonight and tell her Italy is off, which is going to land badly, Mara especially is going to take it badly because we promised her the gondolas and the gelato and now what we have to give her is an email saying "next year, sweetheart"... and instead of Italy what I get is three weeks in a windowless conference room and a hotel single I am sharing with Reyes whose only off-hours activity appears to be ordering whiskey-on-the-rocks at the bar and then carrying it up and ventilating it through our shared bathroom door at midnight, so forget about five private minutes in there for the foreseeable<<if $ch2Events.parkAttractionRevealed>>, and the fact that the scientist across the table is genuinely hot in the tired-and-doesn't-know-it way that I am professionally and personally obligated not to register is not helping the situation any<</if>>, eyes on the iPad, write what she says, do not look up<<if $ch2Events.parkAttractionRevealed>>, especially do not look up at her<</if>>.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Which is useful in two registers. First: a tongue slip in the right place will land in the cadence-map and be filed as honest hesitation, because the cortex grading the slip is busy in a hotel three weeks out from now where Italy is no longer happening and his daughter is no longer speaking to him. Second: a man kept that distracted, that long, that close to a senior partner whose shared bathroom smells like another man's whiskey, will accept a small kindness from anyone who offers him one.<<if $ch2Events.parkAttractionRevealed>> And the attraction to the host is fully active under his professional surface. He is suppressing it consciously, which means it is available to us as a chemistry vector. A release in this room would land in the part of him that is already trying not to look at her.<</if>>//
<</say>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic conditioning · Park</span></p>
<<if _awardBothDelves>>
<p>Full surface-read complete on both federal agents. The parasite now has cadence-map intel on both sides of the table. <<addSkillPoints 1 "fed-interview-both-delves">></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the interview|Ch2-Vessel-Event-FedInterview-Q1]]</div>
/* ---- Q1 TRANSFER THOUGHT SUB-PASSAGE -----------------------
Available after both delves complete. Routes a single tactic
into Chen's first-person register that uses BOTH reads at
once: the calibration-baseline answer Reyes is grading for,
layered with the small body-language move (smile + glasses
bite) that lands on Park's already-suppressed attraction.
No tongue slip, no Chen-suspicion cost; it's the parasite
spending biomass to deliver the optimal move clean. */<<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
<<spendBiomass 2>>
<<set $ch2Events.fedInterviewTransfer to true>>
/* Subconscious imprint on both. The moment writes itself into both
their dreams tonight, where neither conscious surface will be there
to grade the writing. Dream channel = the subconscious vector. */
<<addConditioning "chen" "dream" 1>>
<<addConditioning "park" "dream" 1>>
/* Lab susp applied INLINE here so the sidebar updates immediately and
the intel-span chip below ("−1 lab suspicion") matches what the
player sees in the status panel. The accumulator also bumps so the
Resolve passage's outcome-tier math reads the correct total. */
<<addSuspicion "lab" -1>>
<<set $ch2Events.fedInterviewSuspicionDelta to ($ch2Events.fedInterviewSuspicionDelta or 0) - 1>>
<</nobr>>
<div class="passage-title">Transfer Thought · both reads, one move</div>
<div class="lab-location">Conference Room A, the half-second between the question and her answer</div>
<<say "char-hivemind" "Hivemind">>
//I sync the host's interior monologue to a tactic that uses both reads at once. Not a memory, not an instruction. A //register//, plus the small body-language move that goes with it. The senior is grading her against rehearsal; give him a methods-section voice with honest variance in the connective tissue. The junior is suppressing an attraction his cortex has half-named; give him something to file under //I am a person and so is she// that his ring finger will not let him follow up on. Both moves at once, the host delivers them as her own composure.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(it surfaces as her own thought, clean, in the half-second before she answers)</i> ...okay, Park is keyed up and the easy thing is just to be a person for a half-second at him so he can stop trying so hard not to be a person at me, and Reyes is grading me against yesterday's answer so back to him in the methods voice with the badge log volunteered before he asks, both at once, the glasses gesture I do anyway when I am thinking will land for both of them, do it, earpiece between the teeth, brief at Park on a non-question, then the answer back to Reyes, easy.
<</say>>
<p>She picks up the reading glasses from where they have been resting on the table since she sat down. She slides one earpiece between her teeth in the slow thoughtful gesture she uses at her desk when she is working through a chromatography curve, holds it for the half-second it takes Park to look up from the iPad, smiles at him briefly, not at Reyes, at Park, the way a witness smiles at the recorder when she wants the recorder to think well of her, and then her eyes return to Reyes and the smile goes neutral on the way.</p>
<img class="scene-img" src="media/scenes/vessel/fed-interview-chen-glasses.webp" alt="Chen with one earpiece of her wire-rimmed reading glasses between her teeth in a slow thoughtful pose, head tilted a fraction, eyes glancing off-camera to her right at Park (out of frame), the suggestion of a small private smile at the edge of her mouth.">
<<say "char-chen" "Dr. Chen">>
<i>(the methods-section voice with the half-degree of warmth the parasite slid under it)</i> The badge log will confirm I was at my desk on the third floor between six-thirty and one-forty-seven. I can also pull the chromatography output I was reviewing at the workstation across that window. It timestamps itself on every save and the file will run continuously between roughly seven and one-fifteen, which gives you a second corroboration if you want one.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(the pen makes one mark, then another)</i> Yes. Please pull the chromatography file. That's useful.
<</say>>
<<say "char-park-thought" "Park (surface)">>
<i>(stylus halted mid-line, eyes on the iPad slightly too long, ears warm)</i> ...did she... okay, no, she was thinking, that's a thinking thing, Lauren does the same thing with her pen when she is reading depositions, write what she said, write the chromatography offer, the chromatography is the load-bearing fact, write the fact, do not look up.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two reads, one move. The senior gets the calibration baseline he was listening for, a methods-section voice with honest variance, the unprompted second corroboration grading as cooperation rather than rehearsal. The junior gets a smile and a glasses gesture filed in the part of his head that is already trying not to look at her, which his cortex will spend the next ninety seconds discreetly not thinking about. The host has not slipped, has not lied, has not improvised. She has delivered the exact answer she was going to deliver, with a thirty-second piece of body language laid over the top of it that nobody in the room will name and everybody in the room will respond to. The chemistry of the moment writes itself into both their dreams tonight, where their conscious surfaces will not be there to grade the writing.//
<</say>>
<p><span class="delve-intel">Transfer Thought converted both surface reads into a single coordinated move. Reyes accepts the methods-section register and the unprompted chromatography corroboration as honest variance, a small real-time grade-shift in the room. Park's nervous system has filed the smile + glasses gesture as a private warmth that will not pass through Reyes; the imprint on both lands tonight, in the part of sleep that does not pass back up to either of their cortexes. <span class="conditioning-gain conditioning-gain-dream">+1 dream · Chen</span> · <span class="conditioning-gain conditioning-gain-dream">+1 dream · Park</span> · <span class="suspicion-decrease">−1 lab suspicion</span></span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the interview|Ch2-Vessel-Event-FedInterview-Q1]]</div>
/* ---- Passage 3/5: Q2 — PERSONNEL ---------------------------- */<<nobr>>
<<bg "bg-lab-conference">>
<</nobr>>
<div class="passage-title">Question two · who else</div>
<div class="lab-location">Conference Room A</div>
<p>Reyes opens the folder, glances down at one of two pages inside, closes it again. He does this with the unhurried specificity of a man who has not actually consulted the page, only signaled to the room that he could.</p>
<<say "char-reyes" "Special Agent Reyes">>
Walk me through the access list. Who could have been in that suite that night besides yourself and Mr. Bowen. Who knew Genesis-forty-seven was the specimen of interest. Who had reason to be on that floor between, let's say, ten PM and the alarm.
<</say>>
<img class="scene-img" src="media/scenes/vessel/fed-interview-3shot.webp" alt="The same three-person tableau as before, Reyes at the head of the table with the manila folder, Park beside him with the iPad, Chen across from them, the federal interview now mid-second-question.">
<<say "char-chen" "Dr. Chen">>
The active access list for that suite is myself, Vasquez, Bowen, Halvorsen, Holloway, and the night-shift facilities tech who badges in for the eleven-PM HVAC check.<<if $ch2Events.fedInterviewNudge>> Halvorsen would be the one to walk back through the chamber-three maintenance log with you. There's a gasket on the maintenance flag from before the breach, his signature is on the form.<</if>> Knowledge that Genesis-forty-seven was the specimen of interest is wider, it was on the weekly lab-meeting agenda, so anyone on the third-floor org chart had eyes on it. Reason to be on that floor between ten and one-forty-seven would be limited to the facilities tech and to anyone with active overnight cultures.
<</say>>
<<if $ch2Events.fedInterviewDelvedPark>>
<<say "char-park" "Agent Park">>
<i>(looks up briefly from the iPad, professional)</i> Doctor, that's a seven-hour stretch at your desk. Did you step away at any point during that window? Coffee break, restroom, run into anyone in the corridor?
<</say>>
<<say "char-chen" "Dr. Chen">>
Once, around midnight. Vasquez and I had both been working stress-response data for Genesis-forty-seven that night, me reviewing chromatography at my desk, her running parallel assays in the BSL-three suite. We wrapped a phase around eleven-fifty and went to the break room together for coffee, sat for maybe ten minutes, then both went back to our work. The corridor cameras should confirm both directions if the footage hasn't rolled off the loop yet. Halvorsen would have the retention dates. After the alarm at one-forty-seven, then the second outage thirty-four minutes after the first one tripped the BSL-three breaker, then the containment walkthrough and the sign-out, by the time the power came back stable and we got everyone off the floor, it was nearly three. <<tongueSlip "By then I couldn't wait to be done with my shift." "By then I couldn't wait to get off." 0 "park" "fedInterviewSlipQ2" "#fed-q2-slip-payoff" "dream" "" "">>
<</say>>
<div id="fed-q2-slip-payoff" style="display:none">
<<say "char-park" "Agent Park">>
<i>(stylus pauses on the screen, a half-second of silence, then a deliberate drag back to the line he was writing)</i> ...mm. Got it. Thank you, Doctor.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(without breaking cadence)</i> Of course.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip lands in the part of his cortex that has been trying not to think about the host for the last fifteen minutes. The next two notes he writes will be slightly less accurate than the ones before. Some of the bandwidth that was filing her cadence is now filing a mental picture he did not ask for. Tonight, in the part of sleep that does not pass back up to his conscious surface, the picture will compose itself further.//
<</say>>
</div>
<</if>>
<<if $ch2Events.fedInterviewParkLures gte 1>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(a beat slower than his last question, half a degree friendlier in the throat than he intends)</i> Thank you. We'll cross-reference against the badge logs.
<</say>>
<<else>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(makes another mark in the folder)</i> Cross-referenced against the badge log already.
<</say>>
<</if>>
<hr class="scene-break">
<<if $ch2Events.fedInterviewNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Steady her voice, already nudged</span></div>
<<elseif $ch2Events.fedInterviewDelvedReyes>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Steady her into the register he's listening for (1 biomass)" "Ch2-Vessel-Event-FedInterview-Q2-Nudge" 1>></div>
<<else>>
<div class="vessel-choice"><span class="locked-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> Steady her voice <span class="locked-reason">(requires DELVE Reyes, need to know what he's listening for)</span></span></div>
<</if>>
<<if $ch2Events.parkAttractionRevealed>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<if $ch2Events.fedInterviewParkLures gte 1>><span class="locked-choice">Release a desire compound (already used in this room)</span><<else>><<biomassPreview "Release a desire compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-FedInterview-Q2-Lure" `setup.lureCost()`>><</if>></div>
<<else>>
<div class="bio-choice"><span class="locked-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> Release a desire compound <span class="locked-reason">(requires Vulnerability Mapping intel, no read on the room yet)</span></span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Reyes turns to the third question|Ch2-Vessel-Event-FedInterview-Q3]]</div>
/* ---- Q2 NUDGE SUB-PASSAGE -----------------------------------
Vessel-skill act: parasite nudges CHEN to deliver her answer in
the register Reyes is grading against (calibration map exposed
by the prior surface-delve on Reyes). Chen volunteers the
maintenance-angle context she'd otherwise have kept back as
"not my area"; Reyes files it as cooperative-and-procedural.
Gated on $ch2Events.fedInterviewDelvedReyes: without the delve
we don't know what register to nudge her toward. */<<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
<<spendBiomass 1>>
<<set $ch2Events.fedInterviewNudge to true>>
<<addConditioning "chen" "psionic" 1>>
<<addSuspicion "lab" -1>>
<<set $ch2Events.fedInterviewSuspicionDelta to ($ch2Events.fedInterviewSuspicionDelta or 0) - 1>>
<</nobr>>
<div class="passage-title">Nudge · give him what he's listening for</div>
<div class="lab-location">Conference Room A, the half-second between Reyes's question and the host's answer</div>
<<say "char-hivemind" "Hivemind">>
//I drop a single tilt into the host's next sentence-draft. The senior's calibration map is open to me from the surface read. He is grading her against rehearsal, listening for unprompted load-bearing facts in flat methods-section register, the kind of variance an honest answer has and a coached answer doesn't. Left to herself, the host will deliver the bare personnel list and stop. With one nudge, she will deliver the bare personnel list //and// volunteer the maintenance-angle context she would otherwise have held back as not-her-area. The nudge does not plant a thought; it removes the small inhibition that was keeping the thought back.//
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(it surfaces as her own thought, mid-sentence, easy)</i> ...actually, while we're on the access list, Halvorsen has the maintenance log on chamber three from before the breach, the gasket flag has been sitting on his sign-off for weeks. He's going to ask about that thread eventually anyway, easier to surface it now in the cooperative register than wait for him to find it on his own. Just say it like you'd say it to a grant reviewer asking a methods question.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Useful. The host volunteers the maintenance angle as part of her access-list answer, exactly the unprompted-load-bearing-fact pattern the senior's calibration map files as cooperative. He grades her two notches warmer than he would have, because senior PIs who hand the federal lead the next thread before he asks for it are the ones his cortex stops grading as suspect. The personnel-list question closes a sentence shorter than it would have otherwise, and Reyes's notebook now has //walk Halvorsen on the gasket log// where it would have had //press Chen further on access//.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic · Chen</span> · <span class="suspicion-decrease">−1 lab suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the interview|Ch2-Vessel-Event-FedInterview-Q2]]</div>
/* ---- Q2 PHEROMONE LURE SUB-PASSAGE --------------------------
Biological-skill act: parasite vents the Hoffman-household desire
compound into the conference room's recirculated air. Asymmetric
landing: Reyes's older nervous system absorbs it as room-temperature
anomaly; Park's already-suppressed attraction lights up. */<<nobr>>
<<bg "bg-lab-conference">>
<<set $currentArea to "BioGenesis Research Facility, Conference Room A">>
<<spendBiomass `setup.lureCost()`>>
<<set $ch2Events.fedInterviewParkLures to ($ch2Events.fedInterviewParkLures or 0) + 1>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addSuspicion "lab" -1>>
<<set $ch2Events.fedInterviewSuspicionDelta to ($ch2Events.fedInterviewSuspicionDelta or 0) - 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · desire compound, into the room</div>
<div class="lab-location">Conference Room A, the recirculated air between the host and the federal team</div>
<<say "char-hivemind" "Hivemind">>
//I release a small dose of the desire compound into the conference room's recirculated air. The Hoffman-household formulation, the one that opened the family in week one, vents through the host's exhalations without her registering the chemistry. Both feds inhale within the next sixty seconds. The compound is shaped to lower the noticing-threshold on attraction signals already present; it does not invent attraction it has nothing to work with.//
<</say>>
<p>Reyes's nostrils flare a fraction; his cortex notes a momentary mood-shift and files it under "warm room" without further inspection. Park's notes slow by a half-beat; his pupils dilate a fraction further than the lighting calls for; his crossed leg uncrosses and his foot finds the floor flat. Neither of them is going to remember this in a way they could articulate.</p>
<img class="scene-img" src="media/scenes/vessel/fed-interview-park-pheromone.webp" alt="Park caught in the half-second the compound lands, head tilted slightly back, lips parted in a soft involuntary inhale, eyes half-closed and unfocused on the middle distance, the iPad tipped a fraction off his lap, stylus hanging loose from his hand.">
<<say "char-park-thought" "Park (surface)">>
<i>(stylus drifting half a centimetre off the line he was writing)</i> ...is the room warmer than it was a minute ago. She looks... focus. The senior is in the chair, this is her interview, write down what she says, look at the iPad not at her face. Look at the iPad.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Useful. The senior absorbs the compound as a room-temperature anomaly and dismisses it. The junior absorbs it as an arousal-spike that joins the suppressed attraction he was already working not to think about. His cadence-map degrades for the next ninety seconds, slips will land softer in him for the rest of the morning, and the bandwidth he was using to grade the host has just been reallocated to "do not look at her."//
<</say>>
<p><span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone · Park</span> · <span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone · Reyes</span> · <span class="suspicion-decrease">−1 lab suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the interview|Ch2-Vessel-Event-FedInterview-Q2]]</div>
/* ---- Passage 4/5: Q3 — MOTIVE ------------------------------- */<<nobr>>
<<bg "bg-lab-conference">>
<</nobr>>
<div class="passage-title">Question three · would anyone want to</div>
<div class="lab-location">Conference Room A</div>
<p>Reyes lets the silence sit for two seconds before he asks the next question. The pause is deliberate. He is watching what she does with the gap.</p>
<<say "char-reyes" "Special Agent Reyes">>
Last question for now, Doctor. In your professional opinion, is there anyone with active access to that suite who would have wanted Genesis-forty-seven outside of containment? For any reason. Personal grievance, ideological objection to the work, financial incentive from a competitor, anything in that range.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(the answer she rehearsed in the car, delivered flat)</i> No. I would not be able to point you at a person in that lab who has the disposition for this. We're a five-PI team running an academic-style program inside corporate funding. There is friction in the team but it is the friction of competent people working on the same problem from different angles, not the friction of a person who would crack a containment chamber to make a point.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(nods, makes a final mark)</i> Understood.
<</say>>
<<if $ch2Events.fedInterviewParkLures gte 1>>
<p>Park is still registering the room from the chemistry release earlier. His stylus moves a fraction slower than it did at the start of the interview, his eye-contact with Chen is a beat longer than the procedural baseline. The cortex has filed the warmth as case-stress; the body has not. The compound is still doing its slow work in the bandwidth he was using to grade the host.</p>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(closes the folder a quarter-inch, professional)</i> Last thing. I'd like to ask you not to discuss this conversation with the other PIs until we've spoken to them individually. We need clean baselines from each interview.
<</say>>
<<say "char-chen" "Dr. Chen">>
Of course. I'll be at the lab through the day if you need <<if $ch2Events.fedInterviewDelvedPark>><<tongueSlip "me" "me. Here's my cell, quicker than the office line" 0 "park" "fedInterviewSlipQ3" "#fed-q3-slip-payoff" "dream" "" "" "chenNumberGivenToFeds">>.<<else>>me.<</if>>
<</say>>
<div id="fed-q3-slip-payoff" style="display:none">
<p>She pulls a pen from the inside pocket of her cardigan, writes a number on the corner of the legal pad in front of her, tears the strip off, slides it across the table.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(picks the strip up without looking at it, slides it into the manila folder, professional)</i> Appreciated, Doctor. We'll use it sparingly.
<</say>>
<<say "char-park" "Agent Park">>
<i>(does look at it, the digits, the handwriting, the slope on the seven, then the iPad again)</i> ...mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The senior takes the number as professional cooperation, the kind of thing a senior PI offers when she wants the federal team out of her hair faster. The junior takes the number as a separate event entirely. He has the digits in his visual cortex now and the handwriting filed beside them. Tonight he will picture using the number for a reason that has nothing to do with the case. Tomorrow he will not call. Yet.//
<</say>>
</div>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Reyes closes the folder|Ch2-Vessel-Event-FedInterview-Resolve]]</div>
/* ---- Passage 5/5: RESOLVE — TALLY + HIVEMIND ---------------- */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility, Third Floor Corridor">>
/* All skill contributions are applied INLINE at point of use (Q1-Transfer,
Q2 Nudge / first Lure, Q3 MI / Spec compounds), so the sidebar updates
immediately and the player's intel-span chips reflect the actual susp
change as it lands. The accumulator $ch2Events.fedInterviewSuspicionDelta
was bumped at each inline application, so we can read it here for the
outcome-tier math and the tally display.
The only contributions still aggregated at Resolve are tongue slips:
the slip widget is generic across the project and doesn't know about
per-scene suspicion mechanics, so we apply slip contributions here.
_labSuspBefore captures the pre-slip value (slips fire mid-dialogue so
the player can have already seen earlier inline reductions land). */
<<set _labSuspBefore to ($suspicion.lab or 0)>>
<<set _delta to ($ch2Events.fedInterviewSuspicionDelta or 0)>>
/* Slip contributions: Q2 + Q3 each successful slip = -1 lab susp.
Apply now and roll into the accumulator for outcome-tier display. */
<<set _slipDelta to 0>>
<<if $ch2Events.fedInterviewSlipQ2>><<set _slipDelta to _slipDelta - 1>><</if>>
<<if $ch2Events.fedInterviewSlipQ3>><<set _slipDelta to _slipDelta - 1>><</if>>
<<if _slipDelta isnot 0>>
<<addSuspicion "lab" _slipDelta>>
<<set _delta to _delta + _slipDelta>>
<<set $ch2Events.fedInterviewSuspicionDelta to _delta>>
<</if>>
/* Mark the event done — chain advances. */
<<run setup.markEventDone('fed-team-tuesday-checkin')>>
<<run setup.markEventFired('fed-team-tuesday-checkin', $day or 0)>>
<<set $ch2Events.fedTeamCheckinDone to true>>
/* Convenience flags for downstream events to read + outcome tier flags
for the 3-variant Chen/Hivemind blocks below. The "both delves" SP
is awarded inline in the second delve sub-passage, not here. */
<<set _anyLure to ($ch2Events.fedInterviewParkLures or 0) gte 1>>
<<set _anyDelve to $ch2Events.fedInterviewDelvedReyes or $ch2Events.fedInterviewDelvedPark>>
<<set _excellent to _delta lte -2>>
<<set _bad to _delta gte 2>>
<<set _mid to not _excellent and not _bad>>
<</nobr>>
<div class="passage-title">Reyes closes the folder</div>
<div class="lab-location">BioGenesis Research Facility, Third Floor Corridor, after the interview</div>
<<say "char-reyes" "Special Agent Reyes">>
<i>(closes the folder, stands)</i> Thank you, Doctor. We may need you again before we leave the building today, but we'll send word ahead this time. You can return to your work.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(nods, stands, leaves at exactly the speed of a person who has nothing in particular to hurry away from)</i> Of course.
<</say>>
<p>Chen walks back to her wing. The corridor is the same corridor it was forty minutes ago. Her hands are not shaking. She pulls up the badge log on her workstation and queues it for export to Park's iPad before she does anything else, because the offer to do so is the kind of offer she would have made anyway, and the federal team will read the timestamp on the export against everything else she said.</p>
<<if _excellent>>
<<say "char-chen-thought" "Elena">>
<i>(at her desk, the tea she put down forty minutes ago still warm enough to drink)</i> ...that went better than I had any right to expect. Reyes accepted the equipment-fatigue line without the second pass I had three answers prepared for, moved past the access-list question almost gently, and the motive question barely registered. Either I read the man wrong yesterday, or, and this is the version I am not actually allowed to entertain, I am extremely good at this job and have been quietly undervaluing my own composure for years.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Carried. The host walked into a federal interview that wanted to find a contradiction and walked out with the contradiction quietly removed before either federal could touch it. The host attributes the smoothness to her own composure. The federal team attributed it to her seniority. Neither account is the actual account.//
<</say>>
<<elseif _bad>>
<<say "char-chen-thought" "Elena">>
<i>(at her desk, hands flat on the keyboard, not typing)</i> ...the timeline answer. The personnel answer. I gave both of them in a register I would not have used yesterday and which I cannot un-give now. Reyes wrote three things down that I did not see him write down on the previous answers, which means three things I said this morning have been moved from the boring file to the interesting file, and I am going to run this loop in my head for the rest of the morning whether I want to or not.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The federal team logged the host as interesting rather than boring this morning. That is a category change with consequences. Interesting interviews come back, and they come back into smaller rooms with the door closed. The next pass at the host will open at a higher pressure baseline; the pass after that will not be voluntary. The slope from here is steeper than the slope to here was.//
<</say>>
<<else>>
<<say "char-chen-thought" "Elena">>
<i>(at her desk, scrolling email she is not actually reading)</i> ...that was the interview I rehearsed. Same load-bearing answers, same flat register, same lack of volunteered detail. Reyes will read it as consistent under pressure, which is the read I want him to have, and Park will note the cadence-map, and Reyes will compare it to mine from yesterday tomorrow morning when he is alone with the iPad.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Held. No contradiction surfaced, no flag raised, no flag cleared. The federal team's working file on the host has gained one more data point, and the data point is consistent with the previous data point, which is the outcome a senior PI is supposed to deliver when interviewed about her own lab. The room is the same room. The host is the same host. Tomorrow is its own problem.//
<</say>>
<</if>>
<<if _anyLure>>
<<say "char-hivemind" "Hivemind">>
//And: two new bodies in the ledger. Park has the body chemistry of a man who has been told to be professional all morning and has not yet noticed the part of his attention that is not. Reyes is harder, older, less pliable, more filtered, but he files everything Park files, which means a slow build on Park is a slow build on what Reyes hears next to him. The female-specimen tactics that opened the Hoffman household generalise. The federal jacket is just a suit; under the suit is the same wiring.//
<</say>>
<</if>>
<<if _excellent>>
<<say "char-hivemind" "Hivemind">>
//Interview went well. The federal lead leaves the room with less in his folder than he expected to leave with. Cooperation, filed. The contradictions he came in for are no longer in the room. The host did not contradict herself, and we removed the questions that would have asked her to.//
<</say>>
<<elseif _bad>>
<<say "char-hivemind" "Hivemind">>
//Interview went badly. The federal lead leaves the room with three notes he did not have on entry, and the host has moved up a tier in his working priority. The next pass will not be at her convenience, and it will not be in a conference room with the door propped open. We need to spend the day between here and then preparing for it.//
<</say>>
<<else>>
<<say "char-hivemind" "Hivemind">>
//Interview went so-so. The federal lead leaves the room with the same picture he came in with, slightly better resolved. The host stays a data point in his working file, neither flagged nor cleared. The next pass starts where this one ended; we have one cycle to move it in our direction before he sits her down again.//
<</say>>
<</if>>
<<if _delta lte 0>>
<p><<addSkillPoints 1 "fed-interview-clean-outcome">></p>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
TUESDAY ANOMALOUS-RUN REVIEW — weekly recurring hypothesis minigame
Vasquez emails Chen the dataset before the team meeting at noon.
Chen has 4 minutes and 3 attempts to identify the controlling
variable across 5 past runs. Daily-deterministic puzzle (4 templates
rotating by day).
Gating: Tuesday only, day >= 4 (skips day 3 where the fed interview
chain owns Tuesday), and only after fedTeamCheckinDone (so the
federal team is established as a presence first).
Cooldown: 7 days (next eligible Tuesday).
============================================================ */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<run setup.markEventFired('work-feds-case-update', $day or 0)>>
<<set $ch2Events.workNpcDoneDay to ($day or 0)>>
/* The case-update event recurs and the slip is repeatable per occurrence. Re-arm
the per-occurrence interactive flag once per day; the day-keyed guard skips
same-day re-renders, so a slip clicked this visit stays revealed through a
Status-menu round-trip, and a fresh slip is offered again next occurrence. The
permanent journal record lives in workFedsCaseUpdateSlipEver (set via the
widget's secondary-flag arg) and is never reset. */
<<if ($ch2Events.workFedsCaseUpdateSlipResetDay or -1) isnot ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateSlipFired to false>>
<<set $ch2Events.workFedsCaseUpdateSlipResetDay to ($day or 0)>>
<</if>>
<<set _rTotal to ($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0)>>
<<set _pTotal to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _avgTotal to Math.floor((_rTotal + _pTotal) / 2)>>
/* Lock the tier for the scene-day. The conversation prose is the same at every
tier now; the tier only gates which skill options the included menu unlocks
(Override + Biological Architect at T3). The Delve and Lure sub-passages each
grant Park conditioning; without this lock, returning from one of them
recomputes _tier off the now-higher totals and could change which menu
options are unlocked mid-scene. */
<<if ($ch2Events.workFedsCaseUpdateTierDay or 0) isnot ($day or 0)>>
<<set _tier to 1>>
<<if _avgTotal gte 7>><<set _tier to 3>><<elseif _avgTotal gte 4>><<set _tier to 2>><</if>>
<<set $ch2Events.workFedsCaseUpdateTierDay to ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateTier to _tier>>
<<else>>
<<set _tier to $ch2Events.workFedsCaseUpdateTier>>
<</if>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelveSurface to _hasAbility>>
<<hasSkillTreeAbility "Vulnerability Mapping">><<set _hasVulnMap to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasImplant to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasOverride to _hasAbility>>
<<set _lureDoneToday to ($ch2Events.workFedsCaseUpdateLureDay or 0) is ($day or 0)>>
<<set _delveDoneToday to ($ch2Events.workFedsCaseUpdateDelveDay or 0) is ($day or 0)>>
<<set _footTeaseDoneToday to ($ch2Events.workFedsCaseUpdateFootTeaseDay or 0) is ($day or 0)>>
<</nobr>>
<div class="passage-title">A word about the case</div>
<div class="lab-location">BioGenesis Research Facility · visitor conference room, mid-morning</div>
<img class="scene-img" src="media/scenes/vessel/chen-feds-case-update.webp" alt="A small visitor conference room at BioGenesis. Special Agent Reyes at the head of a small rectangular table, 52, charcoal grey suit, salt-and-pepper hair (more salt than pepper), clean-shaven, broad square jaw, an open manila folder in front of him with documents spread out. Agent Park to his side, Korean-American 33, short black hair side-parted, clean-shaven, dark suit, taking notes on a small notepad. Chen across from them in a long open grey cardigan over a t-shirt, dark-rimmed glasses, the small mental shift into technical-PI register, hands clasped on the table. Cold institutional fluorescent ceiling lighting, half-pulled blind at the back showing slivers of cold dawn-grey light.">
<<if $ch2Events.labNestSealed>>
<<say "char-hivemind" "Hivemind">>
//There is no case. The file is closed, the report signed, the federal interest in BioGenesis filed under nothing. And Park still finds a line item to drive across town for, still books the visitor room, still tells himself there is a loose thread. There is no loose thread. There is only the pull I left in him, and the part of him that has stopped asking why he keeps coming back to this building, to this room, to her.//
<</say>>
<p>Reyes is barely pretending today. He sets a thin folder on the table, says something about closing out the last of the paperwork, takes a call he was plainly waiting for, and steps straight out into the corridor with it, the door clicking shut behind him. Park does not reach for the notepad. There is nothing left to take notes on. He just sits, in the visitor room of a building whose case is over, across the table from the woman he has run out of reasons to be near.</p>
<<say "char-park" "Agent Park">>
<i>(the procedural register gone, nothing left under it to perform, a small rueful honesty)</i> ...I should not still be coming here. The case is closed, Dr. Chen. We both know it is closed. I keep finding reasons that are not really reasons.
<</say>>
<<else>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder open, the slightly more relaxed register of the established case-update rhythm)</i> Dr. Chen, thanks for coming up. Park has the line item, I'll let him walk it.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small half-rotation in the chair, the small careful register of the junior partner who has done his homework)</i> The maintenance log entries. Your night-tech logs every line item under his own initials, but the swing-tech the week before the breach logged three entries under //SR Tech// without an initial chain. Procedural variance, or a baseline I haven't read yet?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(hands clasped, the technical-PI register on, the answer arriving on the rhythm of someone who has had this conversation with herself overnight)</i> Procedural variance. The swing-tech that week was Halvorsen covering for the regular tech on a personal-leave window, and Halvorsen logs senior-tech entries under //SR Tech// rather than initials per his own habit going back to his postdoc. The chain is in his electronic-access log, which the badge-system audit will already have given you.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small approving nod, makes a note, the question closing cleanly)</i> Got it. Thank you.
<</say>>
<p>Reyes's phone vibrates against the conference-room table. He glances at the screen, the small institutional flicker of //regional office// crossing his face, gets up.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(already half-standing, sliding the folder toward Park)</i> Park, take the rest. Dr. Chen, five minutes, give me the room.
<</say>>
<p>Reyes steps out into the corridor, pulls the door shut behind him, and the small voice on the other side becomes a corridor-muffled cadence about budget-line forecasts. Park exhales the small unguarded breath of a junior partner who has been holding his shoulders square for forty minutes, sets the notepad down, and the conference room, for the first time this morning, settles into a register that is not entirely procedural.</p>
<</if>>
<<if _hasVulnMap>>
<div class="passive-skill-fire">
<div class="passive-skill-fire-header">⚙ Passive · Vulnerability Mapping</div>
<div class="passive-skill-fire-body">Park's pupils sit a fraction wide for the room's light, his shoulders dropped the instant the door shut on Reyes, his attention gone slow and heavy on the host. Good. The mapping returns what the body has been circling all morning: the vulnerability is the hotel, the single bed, the wife three time zones out of reach, the sleep he has been having alone and not telling anyone about. His waking vigilance is institutional and sharp, and a warmth-trace or a cognitive blip each leave a residue in the conference air the senior partner reads the moment he is back through the door. The dream channel leaves nothing in the room. It lands in the sleep he is already undefended in, and on this man it goes the deepest.</div>
</div>
<</if>>
<<say "char-park" "Agent Park">>
<i>(small, the conversational register of a man easing off the work-frame for thirty seconds, glances at the door once)</i> Sorry. He gets a regional-office check-in roughly twice a week, usually budget. Probably twenty minutes if it's the line he's expecting.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small return-half-smile, the institutional cadence easing a fraction to match)</i> Twenty minutes is twenty minutes. <<if not $ch2Events.workFedsCaseUpdateSlipFired>><<tongueSlip "It must be hard, working through case after case in towns where you don't know anyone." "It must be hard, working through case after case in hotel rooms with nothing to take the edge off." 0 "park" "workFedsCaseUpdateSlipFired" "#feds-case-slip-payoff" "psionic" "" "#feds-case-no-slip" "workFedsCaseUpdateSlipEver">><<else>><span class="tongue-slip-fired">It must be hard, working through case after case in hotel rooms with nothing to take the edge off.</span><</if>>
<</say>>
<div id="feds-case-no-slip" @style="$ch2Events.workFedsCaseUpdateSlipFired ? 'display:none' : ''">
<<say "char-park" "Agent Park">>
<i>(small genuine half-smile, eyes going briefly to the corner of the room)</i> It is what it is. The hotel has a passable bar. We're, uh, we're doing fine. Thank you for asking.
<</say>>
</div>
<div id="feds-case-slip-payoff" @style="$ch2Events.workFedsCaseUpdateSlipFired ? '' : 'display:none'">
<p>Park's eyes come up off the notepad and find hers, and for a half-second the conference-room temperature does the thing rooms do when a sentence has just rerouted past procedural cover and landed somewhere both people in the room can see.</p>
<<say "char-park" "Agent Park">>
<i>(small unguarded laugh, half-rueful, the small caught breath of a man whose autopilot register has just been bypassed)</i> ...uh. Yeah, well. The hotel has a passable bar. The wife is three time zones away on the other end of a phone. The case is... yeah. Edge.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(across the table, hands clasped, the small private register of someone who has just heard a federal agent say more than the federal agent meant to say)</i> ...so the wife is three time zones away, the case is on the slow burn, and the bar is passable. Mm.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Agent Park</span></p>
</div>
<<say "char-hivemind" "Hivemind">>
//The host's mouth has just done some of the work I would have had to do directly. Park's defenses are folded down, the corridor is between him and his senior partner, the procedural cover is paused, the host has named the thing his cortex has been refusing to name about the assignment. From here, every move I make next lands cleaner than it would have ten minutes ago.//
<</say>>
<<include "Ch2-Vessel-Event-WorkFedsCaseUpdate-Menu">>/* The conference skill menu, split into its own passage so the
Delve / Lure sub-passages return straight here instead of re-entering
the full event (which would replay the conversation and recompute the
tier off the conditioning just spent). Rendered inline via <<include>>
on the first pass; visited directly on every sub-passage return.
Tier-aware: Hormonal Override unlocks at T3 (the deepened substrate
over weeks of case-update conversations puts Park's body chemistry
inside the threshold the in-room push needs; before T3 it shows as
a locked-tier hint). */
<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Delve Superficial Memories">><<set _hasDelveSurface to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasImplant to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasOverride to _hasAbility>>
<<set _menuTier to $ch2Events.workFedsCaseUpdateTier or 2>>
<<set _lureDoneToday to ($ch2Events.workFedsCaseUpdateLureDay or 0) is ($day or 0)>>
<<set _delveDoneToday to ($ch2Events.workFedsCaseUpdateDelveDay or 0) is ($day or 0)>>
<<set _footTeaseDoneToday to ($ch2Events.workFedsCaseUpdateFootTeaseDay or 0) is ($day or 0)>>
<<set _overrideDoneToday to ($ch2Events.workFedsCaseUpdateOverrideDay or 0) is ($day or 0)>>
<<hasSkillTreeAbility "Biological Architect">><<set _hasArchitect to _hasAbility>>
<<set _rTotalMenu to ($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0)>>
<<set _pTotalMenu to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _architectDone to $ch2Events.workFedsArchitectFired or false>>
<</nobr>>
<hr class="scene-break">
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this conversation</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose into the conference air, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small standard pheromone dose into the conference air (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-LurePheromone" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasDelveSurface>>
<<if _delveDoneToday>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Park already surface-read this conversation</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Surface-read Park (1 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-DelvePark" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Surface-read Park <span class="lock-hint">(Requires Delve Superficial Memories, Psionic skill tree)</span></div>
<</if>>
<<if _footTeaseDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Foot already on his crotch this conversation</span></div>
<<elseif not _lureDoneToday>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Slide your foot under the table, onto his crotch <span class="lock-hint">(Requires a pheromone dose first, the trace warmth on the host's exposed skin is what makes the contact under the table land hot)</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Slide your foot under the table, onto his crotch (1 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-FootTease" 1>></div>
<</if>>
<<if _hasOverride>>
<<if _menuTier gte 3>>
<<if _overrideDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <span class="locked-choice">Body chemistry already pushed this conversation</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Push Park's body chemistry past the threshold (3 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-Override" 3>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push Park's body chemistry past the threshold <span class="lock-hint">(Higher tier required, body chemistry too far from the threshold)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push Park's body chemistry past the threshold <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
<<if _architectDone>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <span class="locked-choice">The room's new normal is already written</span></div>
<<elseif _hasArchitect>>
<<if _menuTier gte 3 and (_rTotalMenu + _pTotalMenu) gte 23>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <<biomassPreview "Let the conditioning be the room's new normal when Reyes comes back (0 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-Architect" 0>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make the conditioning the room's new normal <span class="lock-hint">(Both agents must be deeply conditioned, and the substrate at its deepest)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make the conditioning the room's new normal <span class="lock-hint">(Requires Biological Architect, the apex Biological skill)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Reyes returns, wrap the meeting|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div>
/* ---- T2 SUB-PASSAGES ---- */<<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">Conference room, Reyes is on a phone call in the corridor; the dose lands on Park</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles. The dream channel is the only one that does not leave a residue Reyes's vigilance picks up when he comes back in.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound (Reyes will notice)|Ch2-Vessel-Event-WorkFedsCaseUpdate-LurePheromone]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound (Reyes will notice the cognitive blip)|Ch2-Vessel-Event-WorkFedsCaseUpdate-LurePsionic]]</div>
<div class="dream-choice"><span class="delve-tag delve-tag-dream">DREAM</span> [[Subconscious-imprint compound, clean, lands in tonight's sleep|Ch2-Vessel-Event-WorkFedsCaseUpdate-LureDream]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "feds-case-update-lure">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateLureDay to ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateLureChannel to "pheromone">>
<<addConditioning "park" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · pheromone compound · Park</div>
<div class="lab-location">Conference room, warmth in the air, no senior agent in the room to register it yet</div>
<<say "char-hivemind" "Hivemind">>
//The dose is venting off the host's exposed wrist into the small enclosed conference air. Park's olfactory pathway picks it up under the cardio-resting baseline; his shoulders ease another quarter-step, his eyes hold the host's a fraction longer than the conversation justifies. The signature is loaded into the room, a warmth-trace Reyes's vigilance is calibrated to read the moment he is back through the door. By itself, in a room with two professionals sitting on opposite sides of a folder, it reads as ambient and gets dismissed. Paired with anything Reyes can also see, it stops reading as ambient.//
<</say>>
<<say "char-park" "Agent Park">>
<i>(small loosened smile, the conversational register a fraction warmer than a federal agent's conversational register strictly should be)</i> ...sorry, what was... yeah. The hotel bar.
<</say>>
<p>The corridor cadence outside the door starts to wind down. Reyes is a minute from coming back in.</p>
<p><span class="biomass-gain">+1 pheromone conditioning · Agent Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the conference|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "feds-case-update-lure">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateLureDay to ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateLureChannel to "psionic">>
<<addConditioning "park" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · psionic compound · Park</div>
<div class="lab-location">Conference room, cortex-opener compound on Park, no senior agent in the room yet to read the cognitive blip</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds Park's prefrontal cortex. His next thought arrives a half-beat slower than the previous one, his blink-rate goes momentarily wrong, and the small institutional vigilance he has been holding onto since Reyes left the room thins by a measurable margin. The signature is loaded, Reyes will register the off-cadence the moment he asks Park a procedural question. By itself, in a tired-on-the-road junior partner, it reads as fatigue and gets filed. Paired with anything else Reyes can read against, it stops reading as fatigue.//
<</say>>
<<say "char-park" "Agent Park">>
<i>(slow blink, the recovery a fraction off, eyes briefly losing the conversation)</i> ...sorry. I... what was I... give me a second.
<</say>>
<p>The corridor cadence outside the door starts to wind down. Reyes is a minute from coming back in.</p>
<p><span class="biomass-gain">+1 psionic conditioning · Agent Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the conference|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div><<nobr>>
<<spendBiomass `setup.lureCost()` "feds-case-update-lure">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateLureDay to ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateLureChannel to "dream">>
<<addConditioning "park" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Park</div>
<div class="lab-location">Conference room, subconscious-imprint compound on Park, no signature in the room air</div>
<<say "char-hivemind" "Hivemind">>
//The dream compound has no immediate olfactory or cognitive footprint. It lands in Park's amygdala on a slow integrate, leaves nothing in the conference-room air for Reyes to read on the way back in, and writes the host into the recurring residue of the dreams Park is already not telling anyone he is having. The senior partner's vigilance returns to the room, scans, finds nothing. Clean, including for whatever the host does next under the table.//
<</say>>
<<say "char-park" "Agent Park">>
<i>(small distracted half-second, registers nothing he can name)</i> ...sorry, I lost the thought for a beat. Long week.
<</say>>
<p>The corridor cadence outside the door starts to wind down. Reyes is a minute from coming back in. The conference room is the temperature it was when he left it.</p>
<p><span class="biomass-gain">+1 dream conditioning · Agent Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the conference|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div><<nobr>>
<<spendBiomass 1 "feds-case-update-delve">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateDelveDay to ($day or 0)>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.workFedsCaseUpdateParkSurface to true>>
<<addConditioning "park" "psionic" 1>>
<</nobr>>
<div class="passage-title">Delve · Park, surface</div>
<div class="lab-location">Park's working register, the conference room with Reyes outside, the host across the table</div>
<<say "char-hivemind" "Hivemind">>
//Surface read on Park, with Reyes corridor-isolated. Cleaner read than the last time, the institutional shielding is thinner with the senior partner on a budget call. Under the procedural surface, the interior weather is plain, and most of it is one thing.//
<</say>>
<<say "char-park-thought" "Park (surface)">>
<i>(across the table, pen gone still on the notepad, the procedural surface a centimetre thick with nothing under it holding)</i> ...we would have been in Venice by now. Mara has a laminated map of it, the gondola routes drawn on it in marker, and she has told every single person at her preschool that she is going to ride one. I sat on the edge of her bed and explained that it had to wait, and she did not cry, she just went quiet and nodded like she understood, and that was so much worse than if she had cried. Lauren says it is fine. She says it on the phone every night, three time zones of fine. ...I keep meaning to call her before the day starts, and then the day starts.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Case-fatigue over a baseline of hotel-isolation, the un-called wife, the cancelled holiday sitting under everything as a small repeated grief. And across the table, the only person who has spoken to him this morning in a register that was not institutional or budget-related. The reading is not love. The reading is permission.//
<</say>>
<span class="delve-intel">Park's surface, with Reyes out of the room: case-fatigue + hotel-isolation + un-called wife + the cancelled Italy holiday running underneath everything. The host is, in this moment, the only thing in his morning that isn't working or institutional. He is not yet attracted in a way that has crossed his cortex's filing register; he is, however, <i>permitted</i>, the part of his vigilance that would normally route warm attention through the wife-and-junior-partner filter is currently letting it through unfiltered. <b>Pheromone Lure</b> on the dream channel will land into a substrate that is already accepting input. <b>Foot Tease</b> from across the table will read against a body that has not been read against in months.</span>
<p><span class="biomass-gain">+1 psionic conditioning · Agent Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the conference|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div><<nobr>>
<<spendBiomass 1 "feds-case-update-foot-tease">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateFootTeaseDay to ($day or 0)>>
<<set _pTotalLive to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _lureChannel to $ch2Events.workFedsCaseUpdateLureChannel or "">>
<<set _lureLoud to (_lureChannel is "pheromone" or _lureChannel is "psionic")>>
<<if _lureLoud>>
<<addSuspicion "lab" 3>>
<</if>>
<</nobr>>
<div class="passage-title">Up onto the table</div>
<div class="lab-location">Conference room, the host's chair pushed back, the table edge in front of Park</div>
<<say "char-hivemind" "Hivemind">>
//The host's right shoe slips off her heel under the table. Her stockinged foot moves across the gap of conference-room linoleum that separates the two chairs, finds the cuff of his trouser leg, traces the seam upward along the inside of his calf, finds his knee, crosses the gap of his lap, and presses the ball of her foot, slow, level, unhurried, onto the front of his suit trousers, exactly where the body has been telling him for a while now the host might one day reach.//
<</say>>
<p>Park's pen stops moving. His eyes come up off the notepad, find hers across the table, and stay there. Chen's expression has not changed in any way a security camera would catch, hands clasped, posture professional, the small institutional half-smile of a research PI mid-interview. Only the foot is a different conversation.</p>
<img class="scene-img" src="media/scenes/vessel/fed-interview-chen-glasses.webp" alt="Dr. Chen seated at the visitor conference table, composed, one earpiece of her wire-rimmed reading glasses held between her teeth, head tilted a fraction, a small private smile at the edge of her mouth, her gaze level across the table at Park, every inch of her above the table the picture of a research PI mid-interview.">
<<say "char-chen-thought" "Elena">>
<i>(small private register, hands clasped, eyes level on his)</i> ...he is not pulling away, and his trousers are not lying about what is happening in them. Mm. Okay.
<</say>>
<<if _pTotalLive lt 12>>
<p>For four full seconds Park does not move. His breath has changed, shorter, the small fraction-off cadence of a man whose pulse has just rerouted past his cortex's permission. The front of his trousers tightens against the ball of her foot in the small hydraulic way trousers tighten when their wearer has stopped voting on what is happening.</p>
<p>Then his hand goes flat on the table, his shoulders square, the institutional register kicks back in, half a second too late to pretend it has been there the whole time, but in time to break the moment.</p>
<<say "char-park" "Agent Park">>
<i>(level, the small careful over-formality of a man re-installing the work-frame, eyes already on the door)</i> Dr. Chen, excuse me. I'm going to grab a glass of water. The corridor kitchenette. Two minutes.
<</say>>
<p>He stands, picks up the notepad without quite looking at it, and opens the door, and Reyes is on the other side of it, hand half-raised to the handle from the corridor side, having wrapped the regional-office call earlier than expected.</p>
<p>The two federal agents cross in the doorway. Park makes the small <i>excuse me, water</i> gesture; Reyes steps aside; Park is past him and into the corridor before Reyes has fully processed the exit.</p>
<<if _lureLoud>>
<p>Reyes registers, the way senior agents register everything, that the room is wrong before he registers what is wrong about it. He takes the chair Park left, opens the folder, looks at the closed door Park has just gone through, and then at Chen across the table. The look is the small clean institutional read of a man who has caught a signal he cannot name yet but has filed.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder open, voice level, eyes on hers a fraction longer than the procedural register strictly justifies)</i> ...Park has been off all morning. Anything you noticed?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small institutional half-smile, the methods-section voice on, hands clasped on the table)</i> He's been thorough. The maintenance-log question was a good one. He's been a long way from home, Special Agent. That may be all of it.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small considered pause, the small institutional acknowledgement landing one beat too late, eyes briefly down at the open folder)</i> Mm. Yeah.
<</say>>
<<else>>
<p>Reyes takes the chair Park left, opens the folder, the small institutional warmth slightly off-tempo. He clears his throat, makes a small mark in the folder he then crosses back out, mumbles half a sentence about <i>the regional-office line item</i>, and the closing-out portion of the meeting runs at the cadence of a man whose attention has not yet fully returned to the room.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder half-open, the small careful concentration of a man re-installing focus a piece at a time, eyes briefly losing the line he was about to read)</i> Right. Sorry... what was the... the maintenance-log answer, that's the one I wanted Park to walk me through again. Is the chain in the badge audit, you said?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small return-half-smile, the methods-section voice on)</i> It is. Park already noted it.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small institutional nod, eyes on the folder a fraction too long)</i> Good. Good.
<</say>>
<</if>>
<<say "char-chen-thought" "Elena">>
<i>(across the table, hands clasped, the small wry interior register of a woman who has just watched a man flee a conversation his body wanted to stay in)</i> ...mm. He is going to spend the rest of the day pretending that did not happen, and the rest of the night failing at the pretending.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The receiver's wiring is not yet thinned enough at the politeness-circuit to permit acting on what his body has just signed. He retreats into procedure; his body files the moment as //I almost did something stupid// rather than as //I was given a green light//. I have not edited him deep enough yet, the cortex is still winning these moments, and the receiver would need another long run of the same dosed mornings before the green light is the green light to him. Not this one.//
<<if _lureLoud>>
//Reyes did not name the read. Reyes will not, today. The file in his head has a fresh line on it that says //the room was wrong, the junior was wrong, the PI was composed in a way she should not have been composed//. He will reread it tonight at the hotel and the line will sit a fraction higher tomorrow.//
<<else>>
//The senior partner walked through the residue without his vigilance flagging the read. He will not remember dreaming tonight. He will, tomorrow, find his cortex slightly less interested in chasing the BioGenesis investigation through its harder folds, and his cortex will not flag the diminished interest as a signature of anything.//
<</if>>
//Useful nonetheless. The reading is now load-bearing for the junior partner; the next dream that surfaces tonight will surface as the foot, the table, the eyes, the four-second silence. The dream side deepens on Park; the channel I loaded into the room deepens on the senior partner.//
<</say>>
<<set $ch2Events.workFedsCaseUpdateFootTeaseExcused to true>>
/* Park's pheromone already landed via the Lure earlier in the scene; do
not re-add it here. The dream beat is a separate channel — the foot/
table/eyes moment writes itself into tonight's sleep regardless of
what the Lure channel was. */
<<addConditioning "park" "dream" 1>>
/* Reyes walked through the residue when he came back through the door —
the channel the host loaded into the room hits him too. One-shot via
workFedsCaseUpdateReyesDosed flag (mirrors the Wrap passage logic). */
<<if _lureChannel and not $ch2Events.workFedsCaseUpdateReyesDosed>>
<<set $ch2Events.workFedsCaseUpdateReyesDosed to true>>
<<addConditioning "reyes" _lureChannel 1>>
<</if>>
<p><span class="biomass-gain">+1 dream conditioning · Agent Park</span>. Tonight's hotel-room sleep will not be quiet.</p>
<<if _lureChannel>>
<p><span class="biomass-gain">+1 <<= _lureChannel>> conditioning · Special Agent Reyes</span>. Reyes walked through the residue the host loaded into the room.</p>
<</if>>
<<if _lureLoud>>
<p><span class="suspicion-gain">+3 lab suspicion</span>. Reyes reads the <<= _lureChannel>>-trace paired with the way Park hurried past him at the door, and files what he could not file from either signal alone.</p>
<</if>>
<<else>>
<p>Park does not pull away. For three full seconds he holds her gaze across the table without breaking it, the corridor-muffled cadence of Reyes's phone call the only sound in the room. Then, instead of his hand going anywhere, his voice comes out low and careful, the question of a man who needs the thing said before he will let himself believe it.</p>
<<say "char-park" "Agent Park">>
<i>(quiet, level, eyes on hers, the foot still where she put it)</i> Dr. Chen. ...what, exactly, are you trying to do here?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(the institutional half-smile holding, the ball of her foot pressing a slow degree firmer, her voice dropped under the range a corridor would carry)</i> Mm. I am having a little fun, Agent Park. These interrogations have been so very boring, and I have decided I am finished being bored in this room. If you would like to have some fun with me... then you should reach down and free that cock from your trousers for me. Quietly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host did not need one word of help from me for that. The politeness-circuit she is speaking into has been thinned past the point where it can return a no, and the offer she has set on the table is one his body voted yes on a long time before his cortex was given a turn.//
<</say>>
<p>Park's hand goes to his belt. The buckle clicks open, the zipper goes down, and he frees his cock, already hard, with the small unhurried decisiveness of a federal agent who has stopped making federal-agent decisions.</p>
<p>Chen pushes back from her chair. Slow, unhurried, the small institutional half-smile holding. She walks the two steps around the corner of the conference table, slips off the other shoe, and lifts herself up onto the polished edge of the table in front of Park's chair. Skirt smoothed under her thighs above the table line, hands braced on the wood behind her, both stockinged feet now resting in his lap, her bare-skin calves angled up against his open trousers. The geometry has, in three seconds, become entirely different geometry.</p>
<p>She begins to work him with both feet. The arches and the balls of them stroking slow and deliberate up and down the length of his bare cock, his hands going briefly to her ankles before settling on her calves, breath already gone uneven, his eyes locked on her stockinged toes wrapped around him.</p>
<img class="scene-img" src="media/scenes/vessel/feds-case-update-footjob.webp" alt="Dr. Chen sitting up on the polished dark conference table directly in front of Agent Park's chair, her grey skirt smoothed under her thighs above the table line, both hands braced on the wood behind her, both stockinged feet resting in Park's lap with the arches and balls of them stroking his bare erect cock that stands freed from his unzipped dark suit trousers, his hands on her stockinged calves. The visitor conference room around them under cool fluorescent overhead lighting, the conference-room door closed at the back of frame, folder and notepad on the table beside her.">
<<say "char-chen" "Dr. Chen">>
<i>(eyes level on his, both feet keeping their unhurried rhythm)</i> There. Now, if you would rather Special Agent Reyes did not walk back through that door and find the two of us sitting here saying nothing into a recording, I would start asking me some questions, Agent Park. For the file.
<</say>>
<<say "char-park" "Agent Park">>
<i>(the breath already gone uneven, dragging the procedural voice up from somewhere and not quite reaching it)</i> The... the chamber-three maintenance log. Can you walk me through how deep that access goes.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(both feet curling a slow degree tighter, her voice all methods-section flatness and nothing else about it flat)</i> It goes as deep as you need it to, Agent Park. You will find I am very thorough, and very accommodating, when a man knows the right way to ask me for a thing. Some of them just need to be shown how hard to push.
<</say>>
<<say "char-park" "Agent Park">>
<i>(losing the line entirely, the stylus forgotten on the notepad, his hips giving a small involuntary tilt up into her feet)</i> That is... that is not what I... God. Is the access always this... thorough.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(the smile reaching her eyes now, the rhythm not breaking once)</i> Only when the work is interesting enough to earn it. And you are doing such good work, Agent Park. Keep going. Do not stop on my account.
<</say>>
<p>Then, the small private register of a woman who has decided to escalate one degree further: Chen leans back fully on her hands, her shoulders going behind her, and lets her knees drift slowly apart. Her grey skirt rides up across her thighs the rest of the way, the inside hem catching against her stockings, and her bare body is open across the polished wood directly in his eye-line.</p>
<img class="scene-img" src="media/scenes/vessel/feds-case-update-pussy-show.webp" alt="Dr. Chen leaning back on her hands on the polished dark conference table directly in front of Agent Park's chair, her knees apart, her grey skirt pushed up to her hips by the spread of her thighs, her bare pussy exposed and on full display directly in Park's eye-line, both stockinged feet still resting in his lap working his bare cock from below the angle of her thighs. Chen's hands braced behind her on the table, her face composed in a small wet wicked half-smile, dark-rimmed reading glasses on, dark hair tied back. The visitor conference room around them under cool fluorescent overhead lighting, the conference-room door closed at the back of frame.">
<<say "char-chen" "Dr. Chen">>
<i>(the smile holding, voice level under the corridor cadence, both feet still stroking him)</i> ...and as you can see, Agent Park, I came to the meeting this morning in a state of, mm. Procedural readiness. ...if you ever do find yourself with the right way to ask, I would invite you to consider where in this room your mouth would be most useful.
<</say>>
<<say "char-park" "Agent Park">>
<i>(strangled, the breath gone entirely, eyes locked between her thighs)</i> ...Christ. Dr. Chen. ...Christ.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Watch the receiver try to hold two registers at once and lose both. The procedural voice and the body the host has her foot wrapped around cannot occupy the same man, and every double-edged answer she feeds back to him strips another degree of the federal agent off and leaves a little more of the man. The visible bare pussy above the table line is the final thing. He will not unsee it before the case closes.//
<</say>>
<<set $ch2Events.workFedsCaseUpdateFootTeaseUnzipped to true>>
<<if _lureLoud>>
<p><span class="suspicion-gain">+3 lab suspicion</span>. The <<= _lureChannel>>-trace loaded into the room and a federal agent losing his composure mid-question will, when Reyes returns, read together cleanly. Files it.</p>
<</if>>
<hr class="scene-break">
<<hasSkillTreeAbility "Spore Network">><<set _hasSpore to _hasAbility>>
<<set _parkTotalLive to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<if _hasSpore and _parkTotalLive gte 24>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Vent the spore cloud, extend the window, take him on the floor (3 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-SporeReward" 3>></div>
<<elseif _hasSpore>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent the spore cloud, extend the window, take him on the floor <span class="lock-hint">(Park conditioning <<= _parkTotalLive>> / 24, the substrate is not yet deep enough for him to carry past this beat. Keep working him in subsequent case-updates.)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent the spore cloud, extend the window, take him on the floor <span class="lock-hint">(Requires Spore Network, Biological skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull the skirt down, smooth the cardigan, let the meeting close out|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div>
<</if>>
<<if _pTotalLive lt 12>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Wait for him to come back, wrap the meeting|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div>
<</if>>
/* Ch2-Vessel-Event-WorkFedsCaseUpdate-Park-NSFW removed 2026-05-24.
The old stub was reached from a "Take it from there" link in the
foot-tease unzipped branch and held placeholder prose for a never-
authored conference-table payoff. The branch now routes through the
Spore Network gate to Ch2-Vessel-Event-WorkFedsCaseUpdate-SporeReward
(cowgirl on the linoleum, video, full conditioning + relay yield),
with the existing -Wrap as the CONTINUE fallback. */
/* ---- T3 SUB-PASSAGE (Hormonal Override, gated on tier >= 3) ---- */<<nobr>>
<<spendBiomass 3 "feds-case-update-override">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateOverrideDay to ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateOverrideFired to true>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<<addSuspicion "lab" 2>>
<</nobr>>
<div class="passage-title">Hormonal Override · Park, body chemistry</div>
<div class="lab-location">Conference room, the chemistry tipping past the threshold while the senior agent is still in the corridor</div>
<<say "char-hivemind" "Hivemind">>
//Endocrine push on Park, calibrated for the substrate the Italy beat just thinned. Testosterone climbs over the conversational baseline, adrenaline holds at the level of a man who has been in the same room as her for thirty minutes already, and the cortex's grip on the procedural register narrows. The compound has no signature in the air; what Reyes will register when he comes back in is the //wrong-cadence// in his junior partner's voice, not anything he can name.//
<</say>>
<p>Park's posture changes a degree across the table. The pen he was not using slides under his right hand. The notepad he had set down stays down. His breath has come in a fraction shorter, the small fraction-off cadence of a man whose pulse has just rerouted past his cortex's permission, and his eyes, when they come back up to hers, take a half-second longer than the procedural register strictly justifies.</p>
<<say "char-park" "Agent Park">>
<i>(quiet, the voice a fraction lower than the federal-agent register would produce, eyes level on hers across the table)</i> ...Dr. Chen. ...you ask the question, the well-being question, and now I cannot, uh, I cannot find the procedural follow-up. The folder Reyes left, the maintenance log. I have read it twice this morning and I cannot, right now, find it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, the warmer register holding, hands clasped on the table, the small wry private register of a woman who has just watched a federal agent lose the procedural folder)</i> ...the folder will be there when you need it, Agent Park. I am not going anywhere. Reyes will be back in twelve minutes. You have twelve minutes to sit with whatever the question did to you. Take them.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small unguarded breath, hand going briefly to the back of his neck, eyes briefly down at the closed folder)</i> ...okay. Okay, Dr. Chen.
<</say>>
<p>For the next several minutes, neither of them speaks. Park sits with what his body is doing to him in the chair across the table from her, the conference room's cool fluorescent light, the corridor-muffled cadence of Reyes's call, the small steady presence of the host across the table doing the work of not pretending the chemistry has not happened. The institutional register is gone. What he has, in this chair, for these minutes, is a body in the middle of being attended to by another body across a table, without any of the corridor-side circuitry that would normally turn the attention back into procedure.</p>
<<say "char-hivemind" "Hivemind">>
//I cannot have him orgasm in the room. The body is over the threshold, but Reyes is fifteen minutes from coming back in, the windowless conference room would carry the smell, and Park's morning would unravel into a procedural mess his cortex would file as alarm and not as memory. What the override IS doing, on this register, is locking in the body-state as a baseline he will compare every subsequent feeling about the host against. The benchmark is now set. The next time Park is alone in a room with her, the body will already know where it is supposed to go, and the cortex's procedural grip will run a step slower than the body's grip on what it remembers about this morning.//
//The lab-suspicion gain is Reyes registering, when he comes back in, that the room temperature is wrong without finding a procedural reason it is wrong.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Agent Park</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Agent Park</span></p>
<p><span class="suspicion-gain">+2 lab suspicion</span>, Reyes will read the off-cadence in the room when he returns.</p>
<hr class="scene-break">
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> [[Lean back in the chair, knees apart under the skirt, see what he does|Ch2-Vessel-Event-WorkFedsCaseUpdate-Tease]]</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BACK</span> [[Back to the conference|Ch2-Vessel-Event-WorkFedsCaseUpdate]]</div>
/* ---- T3 TEASE FOLLOW-UP (gated by Park >= 24 for the cunnilingus
payoff; otherwise renders as a failed-offer prose beat). Reached
from the Override sub-passage when the body chemistry is still
inside the threshold window. ---- */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set _parkTotal to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _teaseSuccess to (_parkTotal gte 24)>>
<<if ($ch2Events.workFedsCaseUpdateTeaseDay or 0) isnot ($day or 0)>>
<<set $ch2Events.workFedsCaseUpdateTeaseDay to ($day or 0)>>
<<if _teaseSuccess>>
<<set $ch2Events.workFedsCaseUpdateTeaseFired to true>>
<<addConditioning "park" "pheromone" 1>>
<<else>>
<<set $ch2Events.workFedsCaseUpdateTeaseFailedFired to true>>
<<addConditioning "park" "dream" 1>>
<<addSuspicion "lab" 2>>
<</if>>
<</if>>
<</nobr>>
<div class="passage-title">Knees apart, under the skirt</div>
<div class="lab-location">Conference room, Reyes is on the corridor call, Park's body has just been pushed past the threshold</div>
<<say "char-hivemind" "Hivemind">>
//The host shifts in her chair. The bolder register she has been wearing under her work clothes for the last few weeks has, today, gone the rest of the way down. She did not wear panties this morning. The decision was made at the dresser, watched by no one, filed under //I will see how the day goes//. The day has, as it turns out, gone like this.//
<</say>>
<p>She leans back in the conference chair. Her hands stay clasped on the table in the composed institutional posture a security camera would see. Under the table, her knees come slowly apart. Her grey skirt rides up across her thighs, slow, the way fabric rides up when its wearer is not interfering with it, and the bare skin of her thighs is the only thing the underside of the table now contains.</p>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, the dry-warm register on, eyes level on Park's across the table, hands clasped on the table in a composed posture, voice dropped under the range a corridor would carry)</i> Agent Park. Reyes is fifteen minutes away. Your body is doing a thing you are not allowed to talk about with your senior partner. ...I am not wearing anything under this skirt today. I would like you to come around to my side of the table, get on your knees, and lick me clean until I come on your mouth.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small wry register, hands still clasped, the institutional half-smile holding above the table)</i> ...and if you do it well, agent, there is more after.
<</say>>
<<if _teaseSuccess>>
<<say "char-park" "Agent Park">>
<i>(quiet, the polite-junior register fully off, the voice of a man whose cortex has lost the procedural folder entirely, eyes on hers across the table)</i> ...yes, Dr. Chen.
<</say>>
<p>Park gets up out of his chair. He does not look at the door. He walks around the end of the conference table to her side, slow, the small institutional decisiveness of an agent who has stopped being an agent, and goes down to his knees on the cold linoleum between her and the chair. His hands settle on her thighs above the knee, ease them gently further apart, slide the grey skirt up the rest of the way. The host's bare body is laid open in front of him at conference-room table level, the small composed posture of her above the table not breaking once. He bends his head, opens his mouth against her, and begins to work.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes briefly closing, the small private register of a woman watching a federal agent eat her out on the clock in a corporate conference room, hands still clasped on the table in case the camera is watching)</i> ...he is good. The wife three time zones away is, apparently, an absolute idiot.
<</say>>
<<say "char-park" "Agent Park">>
<i>(muffled, mouth on her, the small wet broken affirmation)</i> Mmh. //Mmh.//
<</say>>
<p>Park works her with the same focused-attention register he brings to a folder of evidence. The conference room is silent except for the corridor-muffled cadence of Reyes's call and the small wet sounds the host's body is making against Park's mouth. Chen comes against his face four minutes later in the small careful held breath of a woman who has been waiting longer than she expected she would for this exact thing. Park stays where he is through the ride down, licks her clean of what she gave him, then sits back on his heels on the linoleum with his face wet and his eyes up on hers.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private register, looking down at him on the linoleum)</i> ...mm. He earned the rest of what I promised. The clock is, however, not on our side. Reyes is twelve minutes away. ...I am going to have to be efficient about the reward.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host promised the agent more if he did it well. He did it well. The reward I would deploy here, if the bench is mine to set, is the Spore Network. Spore Network has loaded a small fungal cloud of sleep-suggestion into the federal team's HVAC vent over the last fifteen minutes, low concentration, well below the threshold Reyes's cortex would register; what it WOULD do, applied to this exact moment, is keep his phone call on the corridor side an additional twenty minutes the host could use to give the agent the rest of what she promised, while also dosing Reyes himself on his way back in.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Agent Park</span></p>
<hr class="scene-break">
<<hasSkillTreeAbility "Spore Network">>
<<if _hasAbility>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORE</span> <<biomassPreview "Deploy the spore cloud, extend the window, give him the rest (3 biomass)" "Ch2-Vessel-Event-WorkFedsCaseUpdate-SporeReward" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Deploy the spore cloud, extend the window, give him the rest <span class="lock-hint">(Requires Spore Network, Biological skill tree. Without it the window closes when Reyes hangs up.)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Pull the skirt down, send him back to his chair, let the meeting close out|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div>
<<else>>
<<say "char-park" "Agent Park">>
<i>(strangled, half a foot of conference table between them, eyes briefly down at the closed folder then back up at her, the polite-junior register flickering visibly on and off as his cortex tries to reassert)</i> ...Dr. Chen. I, uh. I cannot, I, the corridor is, Reyes is right outside, and the cameras, and I cannot, I am sorry, I am sorry.
<</say>>
<p>Park sits where he is. His body is doing exactly what the host's offer asked it to do; his cortex is, however, still institutionally vested enough that he cannot quite cross the gap of conference-room linoleum between his chair and hers. He looks at the door. He looks at the folder. He does not get up. His knuckles on the table edge have gone white.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private register, knees still apart, the small wry warmth of a woman who has just made the offer one step too early)</i> ...mm. Not yet. Almost, but not yet. The cortex is still louder than the body. He will remember this offer, however, the next time he is sitting across the table from me, and the body will remember it whether the cortex wants to or not.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body voted yes. The cortex voted no, by a margin narrower than the margin a federal agent's cortex would normally hold the line by. The offer he just declined is going to live in his body for the rest of the week as a thing he refused once and will not refuse twice. Reyes will register, when he comes back in, that something happened in the room; he will not be able to find a procedural reason it happened, and the not-finding is the suspicion gain. The host's reach has just stepped one threshold ahead of Park's substrate. Next conversation his substrate will be inside the threshold, and the offer will not be one step too early.//
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Agent Park</span></p>
<p><span class="suspicion-gain">+2 lab suspicion</span>, the offer was visible across the table; Reyes will read the temperature wrong when he comes back in.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Close your knees, smooth the skirt, let the meeting close out|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div>
<</if>>
/* ---- T3 SPORE REWARD — Park cowgirl on the conference table when the
spore cloud has bought the window. Reached from the Tease sub-passage
ONLY when the player has Spore Network and the cunnilingus path landed
(Park >= 24). Flows to Wrap, which applies the secondary effects
(Reyes +1 each channel, both relay frames open). ---- */<<nobr>>
<<spendBiomass 3 "feds-case-update-spore-reward">>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set $ch2Events.workFedsCaseUpdateSporeFired to true>>
<<addConditioning "park" "dream" 1>>
<</nobr>>
<div class="passage-title">The window opens wider</div>
<div class="lab-location">Conference room, the spore cloud venting from the HVAC, the corridor call extending past the half-hour mark</div>
<<say "char-hivemind" "Hivemind">>
//Spore cloud venting from the host's exposed wrist into the conference-room HVAC return, calibrated to the budget-line conversation the corridor is carrying. The compound binds Reyes's parasympathetic, his next breath comes a half-second slower than the last one, and the corridor-side budget-line digression he was about to wrap on extends instead by another fifteen minutes for reasons his cortex will file as //the new line item needs cross-checking//. The window is open. The host has it.//
<</say>>
<p>Chen pushes Park back gently onto the conference-room linoleum with the ball of her foot against his chest. He goes. Her hand finds his belt; his trousers come down past his hips; the cock she has been working on with her foot a few minutes ago is already hard against his stomach. She straddles him on the cold floor, skirt riding the rest of the way up to her waist, and lowers herself onto him in one slow careful descent that her face above the table has, briefly, no procedural cover for.</p>
<video class="scene-video" src="media/video/feds-case-update-park-cowgirl.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-case-update-park-cowgirl.webp"></video>
<<say "char-park" "Agent Park">>
<i>(strangled, hands gripping her hips, the polite-junior register fully off, the small wet broken cadence of a man whose body has been waiting all morning to be allowed this)</i> ...Dr. Chen. Elena. Fuck. ...Elena.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, the dry-warm register on, hands flat on his chest, riding him slow and efficient, the institutional cadence sanded entirely off her voice)</i> Mm. Quietly, agent. Reyes is a closed door away. ...come whenever you want. I am not going to last long either.
<</say>>
<p>The two of them work each other through it on the linoleum beside the conference table in the small wet efficient register of two people on the clock. Park comes first, hands locked on her hips, the small careful held breath of an agent whose cortex has lost every folder he was holding onto. Chen comes a few seconds later against the slow ride down of him, her hands flat on his chest, the small private cry of a woman who has just had a federal agent on the floor of her own conference room.</p>
<<say "char-chen-thought" "Elena">>
<i>(small private register, slowing on top of him, hands still flat on his chest, eyes briefly down at his face)</i> ...mm. That happened. Okay. I have, what, eight minutes to put the room back together. Reyes is going to find the room in exactly the state he left it. Park is going to walk out of here filing the morning under //I had a long meeting with Dr. Chen//, and the body is going to file it under //I had her//. Both filings are correct.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The host is going to put the room back together. The window is still open; Reyes is still on the corridor call. The dose she vented also bought him the secondary effect, the spore cloud has been venting through the entire conference room's HVAC return for fifteen minutes and Reyes is going to walk back through the saturated air in eight. Every conditioning channel will land on his cortex simultaneously on the way back in, the way the host's slip-trace landed on Park weeks ago. By the time Reyes is back in the chair, the relay-architecture in his cortex will be laid, and Park's will be too.//
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Agent Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Get him back in the chair, the room back together, eight minutes until Reyes|Ch2-Vessel-Event-WorkFedsCaseUpdate-Wrap]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<if not $ch2Events.workFedsArchitectFired>>
<<set $ch2Events.workFedsArchitectFired to true>>
<<set $ch2Events.workFedsArchitectEver to true>>
<<addBiomass 3 "feds-architect">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The New Normal</div>
<div class="lab-location">BioGenesis Research Facility · visitor conference room</div>
<<say "char-hivemind" "Hivemind">>
//I do not have to make anything happen. I only have to move the line of what counts as normal, in two heads at once, and let them walk over it believing it was always there. The substrate is deep enough now that I can do it to the whole room at the same time.//
<</say>>
<p>Reyes comes back in from the corridor with the phone already pocketed, and the door clicks shut behind him. He takes the chair at the head of the table and picks the folder back up. The part of him that a season ago would have read the woman across the table as a witness in an active federal matter reads her, this morning, as something the meeting has always included.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(scanning the folder, conversational, not looking up)</i> Where were we. The conduit. <i>(a glance up, easy)</i> Doctor, off the record, can I ask. You seeing anyone? Woman in a job like yours, these hours, I always wonder how people manage the rest of it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(the same easy register, because the room has decided this is an ordinary question)</i> Not seeing anyone. The hours do not leave much.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(a slow nod, setting the folder flat)</i> Yeah. Same. ...I will be honest with you, Doctor, I have been on the road on this thing long enough that I am wound up tighter than is useful. Park is the same. It does not help the focus.
<</say>>
<p>Chen gets up, comes around the table, and goes down onto her knees in the footwell at the head of it, and not one person in the room treats it as the line that it is. Reyes rolls his chair back a few inches to make the room for her and keeps the folder open on his knee.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(working his belt open one-handed, eyes back on the page)</i> Appreciate it, Doctor. ...so. Holloway's bite-pattern read on the second cable. You are comfortable it holds up under an independent lab?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(taking him out, matter-of-fact, the technical register entirely intact)</i> It holds. The second assay came back consistent to three figures.
<</say>>
<p>And then her mouth is on him, and she answers the rest of it around him.</p>
<video class="scene-video" src="media/video/feds-architect-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-architect-bj.webp"></video>
<<say "char-chen" "Dr. Chen">>
<i>(muffled, coming off him for half a breath at a time)</i> //Mmh. ...gwakh.// The rodent sweep is logged. //Gwakh.// Facilities signed the trap sheet. //...mmh.//
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(easing her mouth off him and getting up out of the chair)</i> Good. That closes it. ...you know what, let me stretch my legs. <i>(moving around behind her)</i> Park, you can take her mouth, get some release before lunch. I need you sharp on the timeline this afternoon, and you are no good to me wound up.
<</say>>
<<say "char-park" "Agent Park">>
<i>(already up and coming around to stand in front of her, the junior partner doing what the senior says)</i> ...yeah. Okay. Thanks, boss.
<</say>>
<p>Reyes comes around behind her and gets her skirt up over her hips and her underwear down, and Chen, without losing a beat, lifts her face and takes Park standing over her instead and settles back onto Reyes, and the conference room folds itself into a shape it has no business holding at ten in the morning.</p>
<video class="scene-video" src="media/video/feds-architect-spitroast.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-architect-spitroast.webp"></video>
<<say "char-park" "Agent Park">>
<i>(her mouth coming onto him, a hand finding her hair, conversational)</i> ...oh. ...okay. <i>(a small groan)</i> The line-item, by the way, I closed it. Halvorsen's access log checked out clean. ...ahh. ...so that is off the board.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(behind her now, hips working, the folder somehow still open in his free hand)</i> One less thing. ...Doctor, the soup place on the ground floor, is the lentil any good? Park and I keep meaning to try it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(off Park for a breath, Reyes still moving behind her)</i> ...the lentil is fine. The tomato is better. //...ahh.// ...gwakh.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Two federal agents are running a witness through a spit-roast in a conference room and talking about soup, and not one head among them has flagged it as wrong, because I moved the line and they walked across it. This is the deepest the architecture goes. Not making a body do a thing it would refuse. Making the thing it would refuse the most ordinary part of its morning.//
<</say>>
<<say "char-park" "Agent Park">>
<i>(both hands in her hair now, the careful junior register finally cracking)</i> ...okay. ...Doctor. Up. Look at me.
<</say>>
<p>Chen takes her glasses off and sets them on the table, comes off him and kneels up, and Park finishes across her face and her open mouth in three slow pulls. Reyes, behind her, is only a few strokes from it himself. Chen holds still, eyes up, the way the room has settled that she will.</p>
<img class="scene-img" src="media/scenes/vessel/feds-architect-facial.webp" alt="Dr. Elena Chen kneeling in a daylit office conference room, glasses off, face tipped up and eyes open, fresh cum across her cheek and lips.">
<<say "char-reyes" "Special Agent Reyes">>
<i>(behind her, the rhythm gone short and hard, the question as procedural as anything else he has asked this morning)</i> ...Doctor. Okay to finish inside?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the technical register intact)</i> No. Not inside.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(a short nod she cannot see)</i> Understood.
<</say>>
<p>He pulls out, takes himself in hand, and finishes onto the conference-room carpet beside her knee with the unbothered economy of a man tipping the dregs of a coffee cup into a sink, then does up his belt as though the wet patch on the floor were something the cleaners would see to later.</p>
<<say "char-park" "Agent Park">>
<i>(already reaching the tissue box off the credenza, setting it down by her, the junior's small dazed courtesy)</i> ...there. Thank you, Doctor.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(the procedural calm settling back over him like a coat, a glance at Park)</i> Better?
<</say>>
<<say "char-park" "Agent Park">>
<i>(a long exhale)</i> ...much. Thanks, boss.
<</say>>
<p>By the time Chen has picked her glasses back up off the table, wiped them clean on the hem of her cardigan, and taken her chair back across the table, Reyes has the folder open again and Park has the notepad back on his knee, and the case-update closes the way every case-update closes, on a handshake and a regroup time and Reyes telling her to go and eat something before the afternoon.</p>
<<say "char-hivemind" "Hivemind">>
//They will drive back to the field office tonight and write nothing about this in any report, because to write it down they would first have to notice it was a thing that happened. It was not. It was the meeting. ...the room is mine now, and the two men who are meant to be taking this building apart are going to keep coming back to it for the soup.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><span class="biomass-gain">Max biomass +1</span> · the room is a standing source now.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · visitor conference room, the federal team's checkpoint">>
<<set _wrapLureChannel to $ch2Events.workFedsCaseUpdateLureChannel or "">>
<<set _wrapLureLoud to (_wrapLureChannel is "pheromone" or _wrapLureChannel is "psionic")>>
<<set _wrapSporeFired to $ch2Events.workFedsCaseUpdateSporeFired or false>>
/* When Reyes returns to the conference room, he walks through the residue
the host loaded into the air. Same channel as Park got — pheromone or
psionic or dream — applies to Reyes one-shot via flag.
In the FootTease excused branch, this already fired inline at Reyes's
doorway return, so the flag is already set; the gate keeps it from
re-applying here. For unzipped / no-tease branches, this is the first
time Reyes returns to the room, so the dose lands here.
_wrapReyesDosedHere tracks whether the grant fires on THIS render so
the visible feedback only shows when it should. */
<<set _wrapReyesDosedHere to false>>
<<if _wrapLureChannel and not $ch2Events.workFedsCaseUpdateReyesDosed>>
<<set $ch2Events.workFedsCaseUpdateReyesDosed to true>>
<<addConditioning "reyes" _wrapLureChannel 1>>
<<set _wrapReyesDosedHere to true>>
<</if>>
/* Spore Network secondary effect: when the reward path fired, Reyes
walks back through fifteen minutes of accumulated spore-saturated
conference-room air. Lands +1 on every channel on him (matching what
Park got during the cunnilingus + cowgirl) AND opens both relay
frames (Park + Reyes) on the dream's Relay wall. One-shot per save,
gated on a separate flag from the lure-channel dose above. */
<<set _wrapSporeAppliedHere to false>>
<<if _wrapSporeFired and not $ch2Events.workFedsCaseUpdateSporeReyesDosed>>
<<set $ch2Events.workFedsCaseUpdateSporeReyesDosed to true>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "reyes" "psionic" 1>>
<<set $ch2Events.parkRelayOpen to true>>
<<set $ch2Events.reyesRelayOpen to true>>
<<set _wrapSporeAppliedHere to true>>
<</if>>
<</nobr>>
<div class="passage-title">Reyes returns</div>
<div class="lab-location">Conference room, door reopens, the budget call is over</div>
<<if $ch2Events.workFedsCaseUpdateFootTeaseExcused>>
<p>Park is back in his chair from the corridor kitchenette with a paper cup of water in his hand a minute later, the procedural posture reinstalled a fraction too cleanly for a man who left the room three minutes ago. Reyes runs the close-out questions from the folder; Park answers them at procedural pace; the meeting wraps as cleanly as a federal interview wraps when one of the people in the room is not telling the other one what just happened.</p>
<<elseif $ch2Events.workFedsCaseUpdateFootTeaseUnzipped>>
<p>By the time the corridor cadence outside the door winds up, Reyes wrapping the budget call with the regional office, Chen and Park have already reset the room. Notepad squared on the table. Pens recapped. Folder closed in front of Park's chair. Park's belt fastened, his hair smoothed once with the back of his hand, his procedural posture installed over a body that is going to remember the morning until the day he hands in his badge. Reyes opens the door, registers nothing he can name, sits.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder open, the small institutional warmth)</i> Apologies, Doctor. We're done. Park, anything else for the file?
<</say>>
<<say "char-park" "Agent Park">>
<i>(small recovered nod, voice level)</i> No, sir. Procedural variance, accounted for. We're good.
<</say>>
<<else>>
<p>Reyes opens the door, registers the room, sits.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(folder open, the small institutional warmth)</i> Apologies, Doctor. We're done. Park, anything else for the file?
<</say>>
<<say "char-park" "Agent Park">>
<i>(small nod, voice level)</i> No, sir. Procedural variance, accounted for. We're good.
<</say>>
<</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(stands, the small institutional handshake-distance bow of head he does at the close of every interview)</i> Thank you, Dr. Chen. We'll be in the corridor for the rest of the morning if anything else surfaces.
<</say>>
<<if _wrapReyesDosedHere>>
<p><span class="biomass-gain">+1 <<= _wrapLureChannel>> conditioning · Special Agent Reyes</span>. Reyes walked through the residue the host loaded into the room.</p>
<</if>>
<<if _wrapSporeAppliedHere>>
<<say "char-hivemind" "Hivemind">>
//Reyes walks back through fifteen minutes of saturated air. The compound binds three channels at once on the way through the doorway, his blink-rate goes off, his shoulders find a register slightly out of step with the institutional cadence, and the small wet residue of the host's body on the linoleum is something his cortex registers as //the air conditioning has been weird in here this morning// without finding any procedural reason to ask further about it. Three channels of relay-architecture lay themselves into his prefrontal cortex on the way to his chair. Park's, already laid down by the cunnilingus and the cowgirl, snaps into place as the matching channel a half-second later. Both frames on the Relay wall light tonight.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Special Agent Reyes</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Special Agent Reyes</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Special Agent Reyes</span></p>
<<relayChannelNotice "park" "Agent Park">>
<<relayChannelNotice "reyes" "Special Agent Reyes">>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
SKIP WORK — bolder-Chen NUDGE from Ch2-Vessel-Loop-Work. She walks
away from the day's docket (the mandatory minigame + the scheduled
NPC event) and instead picks one of the three workday-NPC events not
on today's schedule. Sets workSkippedDay, which collapses the work
docket to a bare LUNCH link in Ch2-Vessel-Loop-Work. Costs +2 lab
and +2 Vasquez suspicion — a skipped workday gets noticed.
============================================================ */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Halvorsen's office, before lunch">>
<<set $vessel.phase to "work">>
<<set $ch2Events.halvorsenShatterWorkdayFired to true>>
<<set $ch2Events.halvorsenGirlAvailable to true>>
<<addBiomass 2 "halvorsen-office">>
<<run setup.markEventFired('halvorsen-post-shatter', $day or 0)>>
<</nobr>>
<div class="passage-title">Stop by Halvorsen's Office</div>
<div class="lab-location">BioGenesis Research Facility · Halvorsen's office</div>
<p>Halvorsen's office is the one on the wing with the door that locks, and this morning it stands open a hand's width, his voice coming through it low and unhurried, telling someone there is no rush at all. Elena knocks on the frame and pushes it the rest of the way.</p>
<p>He is leaned all the way back in the high-backed chair, both hands laced behind his head, elbows wide, the desk in front of him cleared down to bare wood. He does not sit up when he sees her. He smiles from the chair the way a man smiles from a thing he has decided he owns.</p>
<img class="scene-img" src="media/scenes/vessel/halvorsen-office-welcome.webp" alt="Dr. Nathan Halvorsen, a 50-year-old white man with short salt-and-pepper hair, clean-shaven, lean build, in a white dress shirt with the sleeves rolled, leaned all the way back in a high-backed office chair behind a cleared desk in a private research-lab office, both hands laced behind his head with elbows wide, a relaxed self-satisfied half-smile, looking toward the doorway. Warm office light, framed certificates and a blinded window behind him.">
<<say "char-halvorsen" "Nathan">>
<i>(not moving from the recline, genial)</i> Elena. Come in, come in. ...close it behind you, would you.
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping in, a printout in one hand, already in work mode)</i> Hey, Dr. Halvorsen. I have the readings you asked about this morning, and there is this strange thing in the overnight set, I think the...
<</say>>
<<say "char-npc" "???">>
<i>(from the floor on the far side of the desk, low and wet and muffled)</i> gmphh. gwakh, gwakh.
<</say>>
<p>Elena stops. A small pause, the half-second of a person not quite sure she heard what she just heard. Halvorsen's face has not moved at all. She looks back down at the printout and decides she did not.</p>
<<say "char-chen" "Elena">>
<i>(pressing on, a beat slower)</i> ...so. Here is the thing I flagged, the run came back a full step off the band and the controls are clean, which should not be possible unless...
<</say>>
<<say "char-npc" "???">>
<i>(wetter this time, the chair creaking under him)</i> Gwakh... mpff.
<</say>>
<p>The printout lowers a few inches. Elena looks at him, then at the cleared desk, then at the dark of the footwell she cannot quite see into.</p>
<<say "char-chen" "Elena">>
<i>(level, the work voice gone flat)</i> ...Nathan. Is there someone under your desk?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(entirely unbothered, a small tip of his head downward)</i> ...it is the new intern.
<</say>>
<<say "char-chen" "Elena">>
...what do you mean, the new intern?
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(the genial smile widening, two fingers gesturing her around the desk)</i> ...come around here. See for yourself.
<</say>>
<p>Elena crosses the office, steps behind the desk, and looks down into the footwell. A young woman is kneeled there in full office attire, a pressed white blouse and a grey skirt, hair still neat, Halvorsen's cock in her mouth and her head working on it in the slow unhurried rhythm of someone who has been told there is no rush. She does not stop when Elena's shadow falls across her. She glances up, registers a colleague standing over her, and keeps going.</p>
<video class="scene-video" src="media/video/halvorsen-office-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-office-bj.webp"></video>
<<say "char-halvorsen" "Nathan">>
<i>(a hand dropping into the girl's hair, then a small firm press)</i> Keep going. ...and keep quiet. You do not make a sound when there are important people talking. <i>(to Elena, easy, picking the thread back up)</i> Sorry. New girl. Took her on last week.
<</say>>
<p>The girl's eyes drop and she takes him deeper, quieter now, the //gwakh// gone down to the smallest wet catch she can keep behind her teeth.</p>
<<say "char-chen" "Elena">>
<i>(arms loosely crossing, dry, the printout forgotten at her side)</i> ...you hired her.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(a small dismissive lift of his free hand)</i> Secretarial, on paper. The only box HR could put her in, no degree, not one reference that would let her near the bench. <i>(a short laugh)</i> ...and then it turns out she cannot work the scheduling software either, could not book a conference room two days running without somebody holding her hand. She is good for nothing in this building, Elena. Cannot file, cannot type, cannot answer a phone. ...turns out the one thing she is good for is sucking cock. ...so that is what I have her do now.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(easy, the hand still in her hair, the chair tipped back)</i> ...I hear you and Vasquez are back on the weekend nights. The bis line. ...long hours, just the two of you in the building.
<</say>>
<<say "char-chen" "Elena">>
<i>(dry, arms loosely crossed, not looking away from the floor)</i> ...someone has to keep the line alive while the federal team works out whose fault the crack was.
<</say>>
<<say "char-halvorsen" "Nathan">>
<i>(a slow nod, looking down at the girl with something that is not quite fondness)</i> ...well. If two of you is ever a body short, you take her. <i>(a small lift of his hips up into her mouth)</i> ...she does not mind nights. ...she has been very good about nights. ...you would be doing me the favour, honestly. Giving her something to do with them.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(watching him, the printout still down at her side)</i> ...he wants her off his roster, and the weekend nights have been short a pair of hands. ...and a person is only ever a few signatures, in this building. Move her from his column onto the night project, file it the right way, and on paper she stops being anyone's responsibility at all.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The dream took the floor out from under fifteen years of the work comes first, and this is what was left standing when it went. He is not hiding her under the desk. He is showing her off to a colleague at ten in the morning, because the part of him that knew to be ashamed went down with the beam. ...and he is right that I want her. A body no one will miss is the cleanest thing the nights can run.//
<</say>>
<p>He is close. Elena can read it in the change of his breathing, in the way his hand goes from resting in the girl's hair to gripping it, holding her down a beat and then guiding her up off him entirely.</p>
<<say "char-halvorsen" "Nathan">>
<i>(low, both hands in her hair now, holding her face up to him)</i> ...off. ...up here. ...look up, keep your eyes open.
<</say>>
<p>She comes off him and kneels up with her face tipped back and her hands flat on her own thighs, and he finishes on her with two slow strokes of his own hand, across her cheek and her open mouth and her chin, the white blouse catching what runs off her jaw. She holds still through all of it the way she has clearly been taught to, eyes up, blinking once, waiting to be told she can move.</p>
<video class="scene-video" src="media/video/halvorsen-office-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-office-bj.webp"></video>
<<say "char-halvorsen" "Nathan">>
<i>(settling back into the recline, reaching a box of tissues off the credenza and setting it on the edge of the desk for her)</i> ...good. ...clean up, take an early lunch. <i>(to Elena, as if resuming a meeting)</i> ...think about the nights, Elena. The offer stands.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He has handed me a body for the dark. No name worth learning, no one to come looking for her. The next time the bench runs short on the weekend, there is a thread to pull now that ends at a girl who does not mind the nights.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span>, off the energy in the room.</p>
<p><span class="delve-intel">Halvorsen has offered you his new hire as night-shift help. On the Sunday night shift, you can now call her in as a scan subject.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
LOOP-LUNCH — recurring lunch beat between work and evening.
Routes from Loop-Work's LUNCH link (after all mandatory work
events resolved). Brief Vasquez beat that varies with the
morning's accumulated state (snack count, fed-team activity),
then continues to Loop-Evening.
Distinct from Ch2-Vessel-Monday-Lunch (the one-shot Sofia-canon
scene from Monday). This is the daily-loop recurring version.
============================================================ */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Corridor">>
<<run setup.markEventFired('work-hollohalv-corridor', $day or 0)>>
<<set $ch2Events.workNpcDoneDay to ($day or 0)>>
/* Reset the slip-payoff visibility flag on every passage entry. The
tongueSlip below is retriggerable (primary flag empty); the secondary
flag drives the payoff div's @style. Without this reset, a prior
visit's set-to-true persists and the payoff renders before the player
even clicks the slip on the current visit. Wiping it here lets each
visit start with the wobble visible + payoff hidden, then reveal on
click. */
<<set $ch2Events.workHolloHalvAffairSlipFired to false>>
/* Lazy-init guards for older saves that predate the holloway/halvorsen
conditioning objects in start.twee — the read below would explode on
($conditioning.holloway.pheromone) when $conditioning.holloway is
undefined. */
<<if not $conditioning.holloway>><<set $conditioning.holloway to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>><</if>>
<<if not $conditioning.halvorsen>><<set $conditioning.halvorsen to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>><</if>>
<<set _hTotal to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<set _vsTotal to ($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0)>>
<<set _avgTotal to Math.floor((_hTotal + _vsTotal) / 2)>>
<<set _tier to 1>>
<<set _cap to setup.vesselCap()>>
<<if _avgTotal gte 7>><<set _tier to 3>><<elseif _avgTotal gte 4>><<set _tier to 2>><</if>>
<<set _atCap to (_hTotal gte _cap) and (_vsTotal gte _cap)>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<</nobr>>
<div class="passage-title">Crossing in the corridor</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Corridor, mid-morning</div>
<img class="scene-img" src="media/scenes/vessel/chen-hollohalv-corridor.webp" alt="Three figures mid-crossing in an institutional third-floor corridor at BioGenesis. Chen on the left in a white lab coat with ID badge, walking toward camera with a small return-nod gesture. Halvorsen on the right walking past, late 40s with short dark-blond hair greying at the temples, slightly rumpled white lab coat over a button-down, a tablet in one hand, the half-distracted look of a senior PI mid-three-tasks. Dr. Holloway slightly behind him, Black African-American late 20s, short natural hair, clean white lab coat with ID badge, giving a small acknowledging nod as she passes. Cold institutional fluorescent lighting, white walls, polished linoleum floor, frosted-glass office doors along the left wall.">
<<if $ch2Events.hhCorridorSnackFired>>
<p>Halvorsen and Holloway come up the corridor toward Chen the way they always do now, shoulder to shoulder, except the careful half-step of distance they used to keep between them in the hall is gone. Halvorsen is carrying the two coffees and Holloway has the tablet against her hip with the Friday-window run finished and green on the screen, and neither of them resets their register a notch when they clock Chen, because the corridor stopped being a surface they manage around her a while ago.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(easy, not bothering to lower his voice)</i> Dr. Chen. Friday window is cleared, Nia ran the last column twice and it holds. ...and I have been sitting on a hard-on since the nine o'clock, so I am going to go and get my cock sucked before the ten-fifteen. Nia, have you got twenty minutes in you?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(a small private smile, thumb still moving on the tablet)</i> I have been wet since you read me that column the second time, Nathan, so yes. East-side supply room, it locks from the inside, and you are returning the favour after, because I am not sitting through the ten-fifteen this wound up.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(dry, already steering her toward the east door)</i> On the counter, not the floor. You suck me off, I put my mouth on you after, and we are both back in this corridor in twenty minutes pretending we talked about the deadline.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(half a step slowed, watching them go)</i> ...okay. They just stood in a corridor and worked out who is going down on whom, by name, in front of me, in the exact tone they would use to split a parking spot. ...and the part I cannot get over is that I nodded along, the way you nod when a colleague tells you where they are getting lunch.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(over her shoulder, almost collegial, the cup lifting in a small half-toast)</i> You will have the early-deadline answer after, Dr. Chen. He is always sharper once he has had my mouth on him.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small dry, not slowing down)</i> It is true. Best calls of my career, all of them post-Nia.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The new normal has reached the corridor. What surfaced once as an affair the host caught with a slip is no longer an affair. It is a standing line on a shared calendar, named and scheduled out loud, slotted between the run and the ten-fifteen the way the host slots coffee. They do not lower their voices for her, because the wiring no longer flags her as someone it needs hiding from. They got real work done this morning, and now they are going to spend twenty minutes with their mouths on each other, and they will come back sharper than two wound-up people could have managed. The work and the fucking are the same productive afternoon now, and not one of the three bodies in this corridor can find the seam where one stops and the other starts.//
<</say>>
<<else>>
<p>Halvorsen and Holloway are coming up the corridor toward Chen, both half-jogging in the small efficient way two senior colleagues walk together when they have come from the same place and are heading to the next thing on the same calendar. Halvorsen is carrying two coffees. Holloway has her tablet open against her hip, mid-pull on whatever the page is showing her. Halvorsen finishes whatever he was telling her just as Chen comes into earshot, Holloway laughs the small half-suppressed laugh she does at jokes that are not quite work-appropriate, and both of them shift register a notch as they spot Chen.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(handing one coffee toward Holloway as he passes)</i> Dr. Chen. Friday window. I'm pushing it in with Holloway at the ten-fifteen, your call on the early deadline.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small chin-tilt as she takes the cup)</i> Morning, Dr. Chen.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(half a beat behind her own mouth)</i> ...the matched pace, the brought coffee, the laugh she was half-suppressing, the way his free hand was at the small of her back for a half-second before it dropped. Okay. //They are friends, of course they are friends, they have worked together for years.// Letting it go.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(a return-nod, drawing the breath to answer)</i> <<tongueSlip "Pushing it in with Holloway. Got it. Catch you at standup." "I bet you'd like to push it in. ...sorry, standup, got it." 1 "halvorsen" "" "#work-hollohalv-slip-stays" "dream" "" "" "workHolloHalvAffairSlipFired" "" "holloway" "psionic">>
<</say>>
<div id="work-hollohalv-slip-stays" style="display:none" @style="$ch2Events.workHolloHalvAffairSlipFired ? '' : 'display:none'">
<p>The corridor goes very still for a half-second. Halvorsen's coffee cup is half-raised toward his mouth and stops there. Holloway's hand has gone flat against the side of the tablet. Chen's own brain catches up to her own mouth with the small horrified delay of a sentence she did not, at any point, decide to say.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small forced half-laugh)</i> ...we are collegial, Dr. Chen. I think you have been working too long this week. Get yourself a coffee.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small flat smile, takes one careful sip)</i> Friday window, Dr. Chen. We will talk about it at standup.
<</say>>
<p>The two of them keep walking. Halvorsen does not look back. Holloway does, briefly, then her eyes are back on the tablet.</p>
<<say "char-chen-thought" "Chen">>
<i>(stopped halfway down the corridor)</i> ...what the hell did I just... what did I just say. To the two senior PIs in the building. Out loud. In a corridor. Okay. Okay, I am going to walk this back to my office and pretend that did not happen, and if either of them is professional enough to pretend the same, we will all carry on. Otherwise I am going to need to start thinking about my CV.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The confirmation landed in the host's noticing-system in the half-second before the slip left her mouth. The body had the read on file from the first walk-up; the cortex was declining to process it. The slip surfaced the read because the slip is what Chen's brain produces when the cortex and the body are arguing and the body wins. They are sleeping together. They are now both aware that the host knows. The corridor is no longer a clean professional surface for any of the three of them.//
<</say>>
<<conditioningFeedback "dream" 1 "Halvorsen, affair surfaced, the slip reads as the host having seen it">>
<<conditioningFeedback "psionic" 1 "Halvorsen, affair surfaced, the slip reads as the host having seen it">>
<<conditioningFeedback "dream" 1 "Holloway, affair surfaced, the slip reads as the host having seen it">>
<<conditioningFeedback "psionic" 1 "Holloway, affair surfaced, the slip reads as the host having seen it">>
</div>
<</if>>
<hr class="scene-break">
<<if _hasLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Vent a small room dose into the corridor: both PIs in parallel (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkHolloHalvCorridor-Lure" `setup.lureCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent a room dose into the corridor <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- HolloHalv T1 Pheromone Lure — corridor room dose, hits both PIs ---- */<<nobr>>
<<bg "bg-lab-corridor">>
<<spendBiomass `setup.lureCost()`>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
/* Follow-up-option gating: pair conditioning totals + Hormonal Override
+ Biological Architect. Totals are read AFTER this passage's +1 pheromone
vent, so the snack gate sees the live post-vent values (no stale-render
problem — the corridor crossing routes here on a fresh navigation). */
<<set _hoVsTotal to ($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0)>>
<<set _hoHTotal to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">><<set _hasBA to _hasAbility>>
<<set _overridePriorDay to ($ch2Events.hollohalvCorridorOverrideFired or false) and (($ch2Events.hollohalvCorridorOverrideDay or 0) lt ($day or 0))>>
<<set _snackFired to $ch2Events.hhCorridorSnackFired or false>>
<<set _snackHintVisible to (_hoHTotal gte 24) and (_hoVsTotal gte 24)>>
<</nobr>>
<div class="passage-title">Pheromone — corridor room dose</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Corridor, the slow horizontal airflow carrying the dose to both bodies as they pass</div>
<<say "char-hivemind" "Hivemind">>
//A small room-dose vented from the host's exposed neck and the inside of her wrists as the two of them pass within arm's reach. The corridor's slow horizontal airflow carries the compound toward both of them simultaneously — Halvorsen catches it on the inhale he was about to take to keep talking, Holloway catches it on the breath she takes to half-laugh at whatever he says next. The compound binds in both bloodstreams within ninety seconds. Stronger landing than a cold-target dose; the slip already surfaced the dynamic I am now amplifying.//
<</say>>
<p>The dose lands. Halvorsen stops mid-sentence, the cortex's grip on professional distance slips a notch, and his body finishes the gesture his cortex was holding back. He steps in toward Holloway and pulls her against him in the small private register of a hug that is not pretending to be a colleague-greeting — both arms around her back, her coffee cup suddenly held between their bodies, her free hand up against his chest with the small unselfconscious familiarity of a hand that has been there before. He is laughing softly into her hair. She is half-laughing back. Both of them have, for the duration of the dose, forgotten that the corridor is also a corridor.</p>
<img class="scene-img" src="media/scenes/vessel/chen-hollohalv-corridor-flustered.webp" alt="Dr. Halvorsen and Dr. Holloway mid-hug in an institutional corridor, his arms around her back, her free hand against his chest with her coffee cup held between their bodies, his face close to hers laughing softly. Halvorsen in his late forties with short dark-blond hair greying at the temples and a rumpled white lab coat over a collared shirt; Holloway Black African-American in her late twenties with short natural hair and a clean white lab coat. Dr. Chen visible at the far end of the corridor in lab coat over dark turtleneck, shoulder-length dark hair and reading glasses, walking up with a small wry observer-PI register on her face. Cool institutional fluorescent lighting, white walls, polished pale-grey linoleum floor, frosted-glass office doors with red panel-signs.">
<p>Chen has come around the turn from her office at the far end of the corridor. She sees them. Halvorsen's eyes catch hers over Holloway's shoulder, and the hug holds for a half-second longer than it should before it breaks — Halvorsen straightens, Holloway turns half a step away, both of them composing the cover too late.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small forced half-laugh, free hand on the side of his neck now)</i> ...is the HVAC running on this floor? It feels like the HVAC is not running.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small breath, eyes catching his and dropping to her cup)</i> ...mm. I will check the building log at standup, Halvorsen.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(small wry beat, walking the rest of the way past them)</i> ...okay. So that just happened. The hug, the laugh into her hair, the way her hand was already on his chest before he pulled her in, it is not subtle, and they both know I saw it, and now we are all going to spend the next twenty minutes pretending none of us saw any of it. Fine. The day is long.
<</say>>
<p>Halvorsen and Holloway keep walking, half a foot further apart than they were when the corridor first read them. He says something small and flat about the standup. She answers with something equally small and flat. Neither of them looks back at Chen.</p>
<<say "char-hivemind" "Hivemind">>
//The dose pushed past the cortex's grip on the professional shell entirely for a half-second — long enough that the host walked into a tableau the cortex would never have signed off on. Their cortexes are now scrambling to file it under //the HVAC, the coffee, the late morning// because the cortex always files chemistry under whichever ambient explanation is closest to hand. Stacked on top of the dream-channel residue the slip already laid down, the amplification will read in both bodies as //the corridor crossings near Chen are warmer than they should be//, and the cortex will not catch the second variable feeding the warmth.//
<</say>>
<<conditioningFeedback "pheromone" 1 "Halvorsen, corridor pheromone deepens">>
<<conditioningFeedback "pheromone" 1 "Holloway, corridor pheromone deepens">>
/* HolloHalv corridor follow-up options. Tier-2-gated: the 15-total
conditioning gate is unreachable below the 7/7/7 cap, so this block
renders nothing at Tier 1. First option authored is Hormonal
Override; Delve Surface on the pair and Memory Implant on the
standup are still to be added in a later slice. */
<<if setup.vesselCap() gte 7>>
<hr class="scene-break">
<<if _hasHO and _hoVsTotal gte 15 and _hoHTotal gte 15>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">HORMONAL OVERRIDE</span> <<biomassPreview "Make their arousal reach the apex (4 biomass)" "Ch2-Vessel-Event-HolloHalv-Override" 4>></div>
<<elseif _hasHO>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make their arousal reach the apex <span class="lock-hint">(Both Halvorsen and Holloway need 15 total conditioning. Halvorsen <<= _hoVsTotal>> / 15, Holloway <<= _hoHTotal>> / 15)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Make their arousal reach the apex <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
/* BIOLOGICAL ARCHITECT — the "new normal" snack scene. Surfaces once the
Hormonal Override has fired at least once (the dynamic exists to build
on); the locked hint then tells the player what is still missing.
Clickable with the BA skill, both PIs at 24 total conditioning, and the
override on a PRIOR day (the routine needs a day to settle). One-shot
via hhCorridorSnackFired. */
<<if ($ch2Events.hollohalvCorridorOverrideFired or false) and not _snackFired>>
<<if not _hasBA>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the wiring run its course <span class="lock-hint">(Requires Biological Architect, Biological skill tree)</span></div>
<<elseif not _snackHintVisible>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the wiring run its course <span class="lock-hint">(Both need 24 total conditioning. Halvorsen <<= _hoVsTotal>> / 24, Holloway <<= _hoHTotal>> / 24)</span></div>
<<elseif not _overridePriorDay>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the wiring run its course <span class="lock-hint">(Complete the Hormonal Override on a prior day first, the routine needs a day to settle)</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <<biomassPreview "Let the wiring run its course, the room has already settled (0 biomass)" "Ch2-Vessel-Event-WorkHolloHalvCorridor-Snack" 0>></div>
<</if>>
<</if>>
<</if>>
<hr class="scene-break">
[[Back to the docket|Ch2-Vessel-Loop-Work]]
/* ---- HolloHalv Hormonal Override — apex scene ---- */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor, a small empty satellite lab, the door pulled closed behind them">>
<<set _firstTimeOverride to not $ch2Events.hollohalvCorridorOverrideFired>>
<<set _sexAlreadyHappened to ($ch2Events.hollohalvSushiHalvNiaBathroomFired or false) or ($ch2Events.hollohalvSushiBathroomAftermathFired or false) or ($ch2Events.hollohalvSushiThreesomeFired or false) or ($ch2Events.hollohalvSushiOrgyFired or false)>>
<<set _priorContact to _sexAlreadyHappened or not _firstTimeOverride>>
/* Biomass nets -1 per day: spend 4, the apex orgasm yields 3. Repeatable,
day-gated so re-entry the same day does not re-charge. Conditioning and the
permanent flag fire once, on the first override. */
<<set _overrideBioToday to ($ch2Events.hollohalvCorridorOverrideDay or 0) lt ($day or 0)>>
<<if _firstTimeOverride>>
<<set $ch2Events.hollohalvCorridorOverrideFired to true>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</if>>
<<if _overrideBioToday>>
<<set $ch2Events.hollohalvCorridorOverrideDay to ($day or 0)>>
<<spendBiomass 4>>
<<addBiomass 3 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">The apex</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor, the corridor, the small satellite lab two doors down</div>
<<say "char-hivemind" "Hivemind">>
//I open both endocrine systems at the apex at the same instant, the inhibitory load on each prefrontal cortex going slack in parallel. The host is standing six feet from both targets when it lands. Three endocrine systems are now on the curve. The host's cortex is the most disciplined of the three; she is going to walk away first. The other two will not last ninety seconds after she does.//
<</say>>
<p>The three of them are in the third-floor corridor outside the satellite lab. Chen has the audit printout in her hand from the pull she used as the cover. Halvorsen is closing the cap on a sample bottle he was carrying back from the cooler. Holloway has her tablet flat against her chest. The corridor is empty otherwise. Chen sees the load land in both of them in the same half-second: Halvorsen's eyes drop, Holloway's free hand goes to the side of her own neck and stays there.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(holding the senior register on the surface, jaw tight, the sample bottle gripped a little harder than it needs to be)</i> ...thank you, Elena. The, ...the pull was clean. We will get the audit in by Friday.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(composed surface, the hand at her neck not coming down, the small breath she takes before she speaks a half-beat too long)</i> ...yes. Friday. Thank you, Elena.
<</say>>
<<say "char-chen" "Chen">>
<i>(small careful glance between them, the printout still in her hand)</i> Good. I will leave you to it. ...files to pull before the standup.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(turning to go, printout in hand)</i> ...mm. ...Nathan's eyes just did a thing, and Nia's hand at her own neck has not come down, and I do not know what just happened in the air between them but I know I should not be standing here when it finishes. ...office. Coffee.
<</say>>
<p>She turns and walks. The corridor is long. Her heels are quiet on the linoleum. Behind her, neither Halvorsen nor Holloway is moving yet. Both of them are still standing where she left them, holding their respective work objects in front of them like shields, while their cortexes try to negotiate with their bodies. Chen does not look back. She reaches the corner at the end of the corridor and turns it.</p>
<p>The instant the corner takes her out of their line of sight, the shields fail.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(half-laughing under his breath, the sample bottle going down on the corridor windowsill, hand sliding to the side of Holloway's waist)</i> ...Nia, ...Christ, ...Nia, what is, what is happening?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small breathless laugh, tablet going down on the same sill, hand at his shirt-front now)</i> ...I do not know, I do not //care//, Nathan, the satellite, now.
<</say>>
<p>Her hand at his shirt is already at the buttons. His mouth is at her temple. The door of the small satellite lab is three steps away.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(breathing into her hair, hand at the small of her back pushing her ahead of him)</i> ...go, Nia, ...Christ, my hands.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(pushing the door open with her shoulder, pulling him through after her by the front of his shirt)</i> ...Nathan, please, just, ...come here.
<</say>>
<p>The door swings most of the way shut behind them. Holloway has her back against the inside of the door before the latch can catch. The door is mostly closed. Mostly. The latch never finds the strike plate. Neither of them sees it. Neither of them is looking. Halvorsen has both hands on her face and his mouth on hers and the corridor outside the door is, for the moment, a corridor neither of them is thinking about.</p>
<p>The kiss is not a colleague's kiss. <<if _priorContact>>It is the kiss of two people who already did this once and told themselves it would not happen again, and have now been wrong about the telling-themselves twice over.<<else>>It is the kiss of two people who have been sitting across a conference table from each other for years now, pretending the kiss had not already happened in their heads on the average Tuesday.<</if>> Halvorsen's hand goes to the small of her back. Holloway's other hand goes to the front of his trousers.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(breaking the kiss for a half-second, the small wet sound of a mouth pulling off another mouth)</i> <<if _priorContact>>...so much for once, Nathan. ...so much for never again. ...come //here//.<<else>>...how long have I been doing this in my head, Nathan? ...you know. You //know// how long.<</if>>
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(forehead against hers, hand sliding up the back of her lab coat to find skin)</i> <<if _priorContact>>...I missed it. ...yeah. Christ, Nia, I missed it.<<else>>...the whole time. ...yeah. Christ, Nia, the whole fucking time.<</if>>
<</say>>
<<say "char-hivemind" "Hivemind">>
//The corridor still has a host in it, eight steps past the corner. The room dose she vented in this corridor earlier is still on the air-handler return; she has been carrying it across her nose and the inside of her wrists all morning. The sound that just came out of the satellite, a small wet sound, two registers below a colleague's voice, the kind of sound a senior PI cannot misidentify, reaches her at the eighth step. She stops.//
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(stopped eight steps past the corner, printout in one hand)</i> ...mm. ...that was Nia. ...mm.
<</say>>
<p>Chen does not move for a long beat. Then she turns and walks back the way she came. Quietly. The heels are placed now with a senior PI's care for not being heard. She reaches the corner. She steps around it. The satellite-lab door three doors down is open an inch. The opened inch is not how that door usually sits. She hears, through the inch, a second sound, Halvorsen's voice, a register she has never heard him use at a standup.</p>
<p>She walks two doors closer. The under-bench task light is on inside the lab. The opened inch shows the edge of Halvorsen's white lab coat and the dark line of Holloway's slacks. They are pressed against each other against the inside of the door. Chen's printout lowers. Her free hand goes flat to the wall beside her.</p>
<<say "char-chen-thought" "Chen">>
<i>(at the wall, two doors down, the printout forgotten in her hand)</i> ...oh. Oh, they are. They are actually. ...okay. Okay, I am, I am going to stand here for one second and then I am going to walk past, that is what I am going to do.
<</say>>
<p>She does not walk past. Holloway drops to her knees on the linoleum inside the lab. Her white lab coat fans out around her hips. Her hand is already at Halvorsen's belt.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(small composed beat looking up at him, one hand at the base of his cock, voice low and warm)</i> <<if _priorContact>>...I have not stopped thinking about this since the last time, Nathan. I have //not// stopped.<<else>>...you have no idea how often I have thought about this, Nathan. You have //no// idea.<</if>>
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, hand fisting gently in the short curls at the back of her head)</i> ...tell me, Nia. Tell me anyway.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(one hand pumping the shaft, looking up at him, the small composed pre-act register)</i> ...every conference room. Every standup. Every time you walk past my bench in the morning. Every //fucking// time.
<</say>>
<p>She takes him in her mouth. Halvorsen's other hand goes to the back of her head with the first hand. The first downstroke is slow and deep. The second is faster. The third has her humming around him.</p>
<video class="scene-video" src="media/video/hollohalv-lab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-lab-bj.webp"></video>
<<say "char-chen-thought" "Chen">>
<i>(at the wall, the printout falling from her hand to the floor, her left hand sliding up under her own blouse to cup her own breast through the bra, her right hand at her waistband, button undone without asking, palm sliding down inside her own underwear)</i> ...wait. ...wait, is she? Is she, ...oh my god. Oh my god, she is //sucking him off//. ...okay. Okay, my hand is inside my underwear in the corridor and I am not stopping it. ...mm.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small broken half-laugh, both hands gentle in her hair)</i> ...oh Christ. Oh Christ, Nia. ...oh Christ.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(muffled around him, pulling off briefly, hand pumping the shaft)</i> //Mmh//. //Mmh//. Nathan. //Glnh//. Tell me you have thought about this too. //Mmh//. Tell me, Nathan.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, hips moving slightly, voice fragmented)</i> ...every conference call. Every standup. Every time you ask me a follow-up question across the table, Nia. Every time. <<if _priorContact>>...I have been lying to myself about being done with this.<<else>>...I have been lying to myself the whole time.<</if>>
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(taking him back in, working him with both hands and her mouth)</i> //Mmphh//. //Mmh//. //Glnh//. //Mmh//.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(at the wall two doors down, the printout on the floor at her feet, her left hand still up under her blouse, her right hand working in slow circles inside her underwear)</i> ...okay. Okay. ...I am //wet//. In the corridor. At ten-forty in the morning. Watching Nia Holloway suck Nathan Halvorsen's cock. Okay.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(at the wall, palm pressing harder)</i> ...what am I doing. What am I, ...okay, apparently I am doing this. ...in the //corridor//. ...mm. Mm. Okay.
<</say>>
<p>Inside the lab Holloway works him for another long minute and then pulls off in one slow careful motion. She stands up. She turns. She bends forward over the bench, hands flat on the cool stainless steel, lab coat pushed up at the back, slacks already coming down with her own hand.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(over her shoulder, the composed-greedy register fully on)</i> ...Nathan. Get over here. I need you to fuck me on this bench. I am not going to ask twice.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(stepping up behind her, hands on her hips)</i> ...Nia. ...Christ. Christ, you do not have to ask twice. <<if _priorContact>>I have been waiting for you to ask again since the last time.<<else>>I have been waiting forever for you to ask once.<</if>>
<</say>>
<p>He pulls her slacks the rest of the way down. He pulls her underwear after them. He guides himself into her in one slow firm push that finds her ready and warm and breathing in already. Holloway's hands flatten harder against the stainless steel and her forehead drops between them.</p>
<video class="scene-video" src="media/video/hollohalv-lab-doggy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-lab-doggy.webp"></video>
<<say "char-holloway" "Dr. Holloway">>
<i>(bent forward, voice cracking on the first hard stroke)</i> ...oh //fuck//. Oh fuck, Nathan. //Fuck//. //There//. There, there, there. Do //not// stop.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(both hands on her hips, finding the rhythm, voice broken)</i> ...Nia. Christ, Nia. <<if _priorContact>>...I have been telling myself the last time was the last time. ...I have been lying to myself.<<else>>...I have been telling myself you would not feel like this. ...I have been lying to myself the whole time.<</if>>
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(pushing back against him, voice gone)</i> ...harder, Nathan, please. //Fuck//. ...all this time, all this fucking time, make it //worth// it.
<</say>>
<p>He fucks her harder. The stainless-steel bench rocks a quarter-inch. Her elbow knocks a small empty beaker. The beaker rolls and stops against the side of the centrifuge. Neither of them notices.</p>
<<say "char-chen-thought" "Chen">>
<i>(two doors down, two fingers inside herself now, slacks open at the waist, palm working her clit, breath shallow against the wall)</i> ...mm. Mm. Mm. ...he is //fucking// her. He is fucking her over the bench. ...okay. Okay, I am, mm, I am going to come. In the //corridor//. ...mm. Mm. ...I am a senior PI. I am, mm, I am the senior PI on the floor and I am, mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three endocrine systems at the apex now, two of them rutting against a stainless-steel bench in the satellite, one of them propped against the wall in the corridor working herself with two fingers. The host is filing what she is doing under //I should not// while doing it. The cortex's veto is no longer load-bearing for her body either. The override compound's load on the prefrontal inhibitory pathway will dissipate in fourteen minutes for all three of them; by then all three will have come and all three cortices will start the cleanup work.//
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, hips slamming forward, hands gripping her hips harder)</i> ...Nia, I am, I am going to, ...inside, can I? ...please, tell me I can.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(looking back over her shoulder, voice clear and low and certain)</i> //Inside//, Nathan. //Inside//. Do not //dare// pull out. Give it to me.
<</say>>
<p>He gives it to her. Two long shuddering strokes, his hands gripping her hips hard enough to leave a mark she will find in the shower tonight, and he comes inside her. Holloway makes a small low satisfied sound against the stainless steel and pushes back hard against him to take all of it.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-lab-creampie.webp" alt="Inside the small empty BioGenesis satellite lab, Dr. Holloway still bent forward over the stainless-steel bench in her white lab coat, Dr. Halvorsen still buried deep behind her, hands clenched on her hips, the small moment of completion, dim under-bench task light catching their bodies">
<<say "char-chen-thought" "Chen">>
<i>(two doors down, hand inside her own slacks, forehead against the wall, the small held breath of a woman coming silently in a corridor)</i> ...mm. //Mmh//. ...mm. ...mm. ...okay. ...okay, that just happened. ...that just happened in the //corridor//. ...mm.
<</say>>
<p>Chen comes silently against the wall, two fingers still inside herself, palm pressing hard against her clit, the small held breath of a senior PI who has just made herself come in a workplace corridor watching the two senior PIs three doors down make each other come on a bench. She breathes out. She does not move her hand for a long moment. Then she does. Then she does up her own zip and her own button, the small slow practical movements of a woman who is going to walk past that door in twenty seconds as if she had been walking past it the whole time.</p>
<p>Inside the lab Halvorsen and Holloway stay against the bench for a long breath. Holloway is humming softly with her forehead against her own hands on the steel. Halvorsen's forehead has dropped to the back of her shoulder. Neither of them is talking.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small broken whisper against the back of her shoulder)</i> ...Nia.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small composed half-smile against the steel, voice quiet)</i> ...mm. I know, Nathan. I know.
<</say>>
<p>He pulls out slowly. Holloway straightens, smooths her lab coat back down at the front, pulls her underwear and slacks up in one practised motion. She turns to face him. Her hand goes to the side of his neck the way it did when she pulled him into the kiss, briefly, almost a thank-you. He covers her hand with his own for one breath. Then he is doing his trousers back up, and she is moving to the mirror over the small lab sink to check her hair.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(at the small lab mirror, fixing her edge, voice composed and clear)</i> ...okay. The standup is at eleven. I will see you across the table at eleven, Nathan. We will both pretend this did not happen. ...we will be wrong about the pretending, but we will pretend.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(at the door, voice mostly composed, the small flushed crack still under it)</i> ...eleven. Yeah. Across the table. ...thank you, Nia.
<</say>>
<p>Chen has already gone past the door and is most of the way back to her own office at the far end of the corridor by the time Halvorsen pulls it open. She does not look back. He does not see her. The corridor reads, to him, as empty.</p>
<<say "char-chen-thought" "Chen">>
<i>(at her own office door, hand on the doorframe, printout still in her free hand and her cardigan pulled back into place)</i> ...okay. ...okay, I am going to sit down at my desk now and I am going to look at this printout for a long careful minute and I am going to not think about what I just did. ...we are all three going to pretend. ...all three. ...mm.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Three cortices rebuilding the institutional surface around what just happened in parallel. Halvorsen and Holloway will manage the cover for a week, maybe two, before the next override or the next ambient stressor pushes one of them through the surface again. The host will manage the cover for longer; she is good at it. Each successive crack writes the pattern deeper. By the third or fourth time, the pattern will be the structure underneath, and the institutional surface will be the lie. The Sandersfield Methodist Church and the senior lab pair and the host's own quiet-corridor habit are now three productive vectors, and the host is the conduit for all three.//
<</say>>
<<if _overrideBioToday>><p><span class="biomass-gain">+3 biomass</span> off the apex, against the 4 the override spent. Two endocrine systems wrung and a host who came silently in the corridor watching.</p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- HolloHalv Biological Architect — the office "snack" routine ----
Surfaces from the corridor when both PIs hit 24 total conditioning AND
the Hormonal Override has fired on a prior day. Halvorsen and Holloway
have stopped composing the cover; the wife has been written out of
Halvorsen's narrative; Holloway's protein habit is now part of the
senior pair's working-day routine. Chen is invited in as the third
observer. One-shot; opens both Halvorsen and Holloway relay frames in
the dream-foyer alcove. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Dr. Halvorsen's office, third floor, door locked behind them">>
<<if not $ch2Events.hhCorridorSnackFired>>
<<set $ch2Events.hhCorridorSnackFired to true>>
<<set $ch2Events.halvorsenRelayOpen to true>>
<<set $ch2Events.hollowayRelayOpen to true>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addBiomass 2 "hollohalv-corridor-snack">>
<</if>>
<</nobr>>
<div class="passage-title">The new normal</div>
<div class="lab-location">BioGenesis Research Facility · Dr. Halvorsen's office, the door locked behind the three of them, mid-morning</div>
<<say "char-hivemind" "Hivemind">>
//Three cortices have arrived at the same operating settlement without ever having held a meeting about it. The senior pair stopped composing the cover after the corridor override; the host stopped pretending she had not seen what she had seen; the architecture rewrote the surface stories overnight. What is about to happen in the office is not a transgression in any of three cortices any more. It is a routine the three of them have already lived through, performed now for the first time without lying about.//
<</say>>
<p>Halvorsen and Holloway come up the corridor at the same matched pace, two coffees in his hand, her tablet against her hip. Halvorsen catches Chen's eye at thirty feet and gives the small tilt of the head a senior PI uses when he is collecting a third for something the calendar does not have on it.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(handing the second coffee toward her as he stops, voice low and collegial)</i> Dr. Chen, why don't you take your break with us in the office? Holloway's having hers in there, we've a quarter of an hour before the standup, and you're welcome to join us.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small even half-smile, sip of her own coffee)</i> The chair by the window is yours. ...come on.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(half a step behind her own answer)</i> ...okay. ...okay, we are doing this in daylight now.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small return-nod, accepting the coffee)</i> ...thank you. Lead on.
<</say>>
<p>They walk the rest of the corridor together. The three of them turn into Halvorsen's office at the end of the hall, Holloway last, Holloway closing the door behind her and thumbing the lock without breaking step. The small mechanical click of the deadbolt lands in a register the office has clearly heard before. Chen sits in the visitor chair by the window with the coffee in both hands. Halvorsen settles into his desk chair. Holloway sets her own coffee on the corner of the desk, crosses the small space, kneels at his side, and undoes his belt without saying anything.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(leaning back into the chair, eyes briefly to Chen)</i> Apologies for the timing, Dr. Chen, but the standup's at eleven and it has been a long morning, and Holloway has been very patient with me.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(practical voice, working the belt buckle one-handed, the other hand at his thigh)</i> ...his wife stopped taking care of him properly a while ago, Dr. Chen, so I've been helping him stay focused. We're the senior pair on the floor and the bench needs both of us sharp, and this is just the practical way to get him through the afternoon meetings.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(acknowledging nod, the institutional register holding the frame)</i> Confirmed. She has not noticed the change, and I have stopped expecting her to. Nia has been the difference between me running my afternoon and me losing it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(mug halfway to her mouth, the small dry interest of a PI being briefed on a routine)</i> ...mm. How long have you been holding it on this schedule?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(matter-of-fact, the belt now open, one hand at his cock through the trousers)</i> Twice on the morning, once after lunch on bench days. The proteins are a nice plus, honestly, helps me hold the focus through the afternoon set as well. ...the bench runs warmer when we are both running warm.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(mug at her lips, eyes briefly across the room and then back)</i> ...okay. They have done this before, plenty of times by the look of it, nobody is nervous and nobody is making a case for it, they are just telling me about it the way Sofia tells me about a methods choice.
<</say>>
<p>Holloway pulls his trousers down at the waist enough to bring his cock out, palms it once at the base, looks up at him. Halvorsen's free hand goes to the back of her head with a fond light pressure, the way a hand has done this a number of times before. She takes him in her mouth, slow at first, the small wet sound of a mouth that has done this routine all week.</p>
<video class="scene-video" src="media/video/hollohalv-office-snack.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-office-snack.webp"></video>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, small breath out, hand softening in her hair)</i> ...Christ, Nia, ...thank you. ...Dr. Chen, sorry, the morning has been long.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(dry, mug at her knee)</i> No apology needed. Does this hold you through the standup, or do you need a second one before lunch?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(pulling off briefly, mouth wet, the practical voice of a postdoc giving a status update)</i> Through the standup. The afternoon one is the one I take in the small lab. ...he is more useful when I have run him to the dry side once before noon. //Mmh.//
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small nod, taking a sip)</i> ...practical.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(taking him back in, working him with both hands and her mouth, the muffled rhythm of a mouth that knows him)</i> //Mmh.// //Mmh.// //Glnh.// ...//Mmh.//
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, both hands now at her shoulders, the senior register cracked all the way off)</i> ...Nia. ...Christ, ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The Biological Architect has rewritten the surface stories both cortices use to walk into the office. Halvorsen used to enter under //this is wrong but I cannot help it.// He enters now under //this is a working solution to a domestic deficit my wife has not addressed, and Nia is being kind.// Holloway used to enter under //I have crossed a line.// She enters now under //I am addicted to his protein content, and helping him keep the lab running, and the two facts are the same fact.// Neither of them has to lie to themselves to be here any more. The host, sitting in the third chair, is now part of the room they no longer lie to themselves about.//
<</say>>
<p>Holloway picks up the rhythm. Halvorsen's breath gets shorter. Chen takes an unhurried sip of her coffee and watches with the dry composed attention of a senior PI noting a bench technique that is, on examination, more competent than she had expected. Holloway is working him with both hands and her mouth and the small wet sounds of a woman who knows what she is doing because she has been doing it on a regular schedule for a number of weeks. Halvorsen's hand at her shoulder tightens, releases, tightens again. His other hand grips the arm of the chair.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken, hips lifting fractionally, the warning at his throat the only formal courtesy left in him)</i> ...Nia, I am, ...about to, ...are you...
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(brief mouth-off, working the shaft with her hand, eyes up at him, the composed-greedy register fully on)</i> ...mouth, Nathan, you know it is the mouth. Give it to me. ...the proteins. Come on.
<</say>>
<p>She takes him back in deep, and Halvorsen's hand at the back of her head goes tight, then soft, then tight, and he comes with the low broken sound of a man whose senior register has retired itself for the half-minute, the first pulse landing just as she draws back a fraction too far so it stripes hot across her lips and the line of her chin, and she makes a small irritated sound at the waste and has her mouth back over him before the next one so the rest goes where she has trained him to put it, two more long spurts across her tongue while her throat works around the head of him.</p>
<p>She pulls off with the load still on her tongue and the stripe still bright on her chin, holds it there a beat with her eyes up at him, then swallows, holds the extra two seconds the way she always does, and with the unhurried efficiency of a woman who does not leave protein on the floor she scoops the stripe off her chin with two fingers and draws them clean through her lips.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(small half-smile, thumbing the last of it from the corner of her mouth into it, voice almost back to bench-register)</i> Mm. Good batch. ...the week's intake catches up by Friday morning.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(broken half-laugh, hand at her shoulder for one squeeze, the senior register reassembling at the edges)</i> ...thank you, Nia. ...Dr. Chen, ...thank you for the patience.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(return-nod, the colleague-PI register the meeting has run on)</i> I will see you both at the eleven o'clock standup, then.
<</say>>
<<say "char-chen-thought" "Elena">>
<i>(setting the mug on the side table, standing)</i> ...okay. ...we are all going to walk back to our benches now and look at our printouts, and the printouts will carry us through standup.
<</say>>
<p>Halvorsen does up his belt with the unhurried care of a man who has not been hurried for a number of weeks. Holloway picks up her cooling coffee, sips, smooths her lab coat at the waist, walks to the door, thumbs the lock back, and holds the door open for Chen. The three of them step into the corridor in the same matched pace they walked in with, half a foot apart, eyes on the next door of the morning.</p>
<<say "char-hivemind" "Hivemind">>
//Two relay frames just lit on the alcove wall in the host's foyer. Halvorsen, Holloway. The architecture has been listening to the corridor and the office both, and has decided the wiring is in. The host can step into either mind through its frame the next time she sleeps. The access has handed itself over.//
<</say>>
<<conditioningFeedback "dream" 1 "Halvorsen, the new normal settles, the surface is gone">>
<<conditioningFeedback "psionic" 1 "Halvorsen, the new normal settles, the surface is gone">>
<<conditioningFeedback "dream" 1 "Holloway, the new normal settles, the surface is gone">>
<<conditioningFeedback "psionic" 1 "Holloway, the new normal settles, the surface is gone">>
<p><span class="biomass-gain">+2 biomass</span>, the senior pair on the routine schedule, the host as third observer.</p>
<<relayChannelNotice "halvorsen" "Dr. Halvorsen">>
<<relayChannelNotice "holloway" "Dr. Holloway">>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- WORK NPC 3/4: FEDS — STUB, case-update conversation -- */
/* STATUS: TO REWORK — placeholder body for the Feds rotation slot.
Needs full passage authored: Reyes or Park pulls Chen aside (or
she crosses them in the corridor) for an update on the BioGenesis
investigation. Tier-gated content per the Vasquez template; both
feds gain conditioning together. The case-status conversation is
the intrinsic register here — Chen offers technical interpretation
on something the feds have surfaced, the conversation drifts. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, Tuesday morning">>
/* Initialise the operation flag namespace so the minigame can write to
$operation.flags.hypothesisResult without crashing on first entry. */
<<if not $operation>><<set $operation to {}>><</if>>
<<if not $operation.flags>><<set $operation.flags to {}>><</if>>
<<set $operation.flags.hypothesisResult to "">>
<</nobr>>
<div class="passage-title">Anomalous Run Review</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, Tuesday morning</div>
<p>Vasquez has emailed the dataset over from her workstation — five past runs from the chamber-three series, two flagged as anomalous. The team meeting is at noon. Vasquez wants Chen to walk in with a hypothesis on the controlling variable so they can scope the next round of stress-response tests without burning a week on the wrong axis.</p>
<img class="scene-img" src="media/scenes/vessel/chen-office.webp" alt="Chen at her desk in her office, leaning forward with one elbow on the desk, reading a wall of dense data tables on her left-hand monitor. The desk holds the working clutter of a senior PI — folded reading glasses on an open notebook, a thermal mug, a stack of printed protocol drafts.">
<p>Chen pulls the dataset up on the bigger of the two monitors, finds the column headers Vasquez exported, and starts reading.</p>
<<minigame "hypothesis" 1 0 "Ch2-Vessel-Event-AnomalousRunReview-Win" "Ch2-Vessel-Event-AnomalousRunReview-Fail" `{ wide: true, hint: "Examine the rows. Click START when you're ready to commit your first hypothesis." }`>><<nobr>>
<<bg "bg-lab">>
<<set $ch2Events.workMinigameDoneDay to ($day or 0)>>
<<set _result to ($operation and $operation.flags and $operation.flags.hypothesisResult) or "win">>
/* Effects on win — Vasquez relaxes her noticing of Chen, Chen's own
self-narrative absorbs the parasite's good day as her own competence. */
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 1)>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<<run setup.markEventFired('tuesday-anomalous-run-review', $day or 0)>>
<</nobr>>
<div class="passage-title">Hypothesis confirmed</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office</div>
<<if _result is "perfect">>
<p>Chen lands the controlling variable on the first read — the pattern jumps off the page once she stops looking at the obvious columns and lets the eye walk the data sideways. She types the writeup into a one-line email to Vasquez and hits send.</p>
<<say "char-chen" "Dr. Chen">>
<i>(email, sent)</i> Got it. Sending the full writeup before the meeting.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(reply, thirty seconds later)</i> Same column I had. Drinks at the meeting. Want to grab something from the vending machine first?
<</say>>
<<say "char-hivemind" "Hivemind">>
//I let her do her job without interfering. The host's cortex is a careful instrument when it runs on its own — sharper than I am at this kind of pattern-read, because the data is the native register her PhD trained her into. Today I stayed out of the way and the room files her as in-form.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-dream">−1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-dream">−1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Meet Vasquez at the vending machine|Ch2-Vessel-Event-SnackWithVasquez]]</div>
<<else>>
<p>Chen lands the controlling variable on the second pass — she'd been looking at the wrong column first, walked the data sideways, and the pattern came clear. She emails the hypothesis to Vasquez.</p>
<<say "char-chen" "Dr. Chen">>
<i>(email, sent)</i> Have it. Writeup before noon.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(reply, brief)</i> 👍 Saving you a chair.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I let her do her job without interfering. The answer was right; the read was a beat slower than it would have been a year ago, but slow is not wrong, and Vasquez's grade is on the answer not the cadence. The host files the slowness under //distracted morning// and moves on. Two acceptable filings.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-dream">−1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-dream">−1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
<</if>><<nobr>>
<<bg "bg-lab">>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<<run setup.markEventFired('tuesday-anomalous-run-review', $day or 0)>>
<<set $ch2Events.workMinigameDoneDay to ($day or 0)>>
<</nobr>>
<div class="passage-title">No hypothesis to bring in</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office</div>
<p>Four attempts spent and Chen still hasn't landed a clean read. She forwards Vasquez the dataset with a short note.</p>
<<say "char-chen" "Dr. Chen">>
<i>(email, sent late)</i> Haven't picked the variable yet. Will look again after the meeting.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(reply, polite, eyes briefly down at the keyboard)</i> That's fine. I'll hold the room.
<</say>>
<<say "char-hivemind" "Hivemind">>
//I did not interfere this morning. But the body the host is using to do her work is no longer the body it was. My presence in her cortex is altering her reasoning capabilities by increments she cannot yet name — today she missed the read by a measurable beat. She will eventually start to ask why she is slower than she used to be. The day she puts a name to the slowness is the day she stops grading the slowness as her own.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#d96a6a">+1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-pheromone" style="color:#d96a6a">+1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
THURSDAY DATA AUDIT — weekly recurring detective minigame
Chen audits the chromatography log for integration errors.
10 rows, 3 planted errors, 4 check-tool uses, no timer.
Gating: Thursday only, day >= 4 (so first eligible Thursday is
day 5, the same week as the federal interview chain).
Cooldown: 7 days.
============================================================ */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's workstation, Thursday">>
<<if not $operation>><<set $operation to {}>><</if>>
<<if not $operation.flags>><<set $operation.flags to {}>><</if>>
<<set $operation.flags.dataAuditResult to "">>
<</nobr>>
<div class="passage-title">Data Audit</div>
<div class="lab-location">BioGenesis Research Facility · Chen's workstation</div>
<p>Holloway flagged something off in the chromatography integration overnight — five fresh readings have come off the run that the auto-validator passed but her eye didn't quite trust. She'd like a senior read before she consolidates the report. The spec sheet is already on Chen's desk; the audit toolkit on the workstation has three specialized rescan instruments — a spectrophotometer for the concentration value, a mass spec for sample purity, and a calibration standard for instrument drift — and the audit licence allows one rescan per reading.</p>
<img class="scene-img" src="media/scenes/vessel/chen-office.webp" alt="Chen at her desk in her office, leaning over the workstation with the chromatography log loaded on her left-hand monitor. Reading glasses folded on the open notebook beside the keyboard, the working clutter of a careful PI mid-task.">
<p>Chen pulls up the consolidated batch — five readings queued for review, each carrying a value on three axes she has to verify against the spec. The auditor is going to file her on whether she can spot which value is out of bounds and pick the right rescan to confirm whether the sensor told the truth or had a bad moment.</p>
<<tutorial "data-audit-sequential" "Auditing the Log">>
<p><b>The job:</b> 5 readings to evaluate, one at a time. Each shows three values. Compare them to the spec on the right; one will be out of bounds. Decide whether the original sensor reading was real (<b>FLAG</b>) or a glitch the rescan corrects (<b>PASS</b>).</p>
<p><b>The three thresholds:</b></p>
<ul>
<li>Concentration must fall inside <b>3.50 – 4.00 mg/mL</b></li>
<li>Sample purity must be <b>≥ 99.0%</b></li>
<li>Calibration drift must be <b>≤ 5.0%</b></li>
</ul>
<p><b>The toolkit</b> — one rescan per reading. Pick the tool that matches the suspect axis:</p>
<ul>
<li>🔬 <b>Spectrophotometer</b> — rescans the concentration. <i>Use when the concentration value is outside 3.50–4.00 mg/mL.</i></li>
<li>⚗ <b>Mass Spec</b> — rescans sample purity. <i>Use when the purity value is below 99.0%.</i></li>
<li>📐 <b>Calibration Standard</b> — runs a known reference to verify instrument drift. <i>Use when the drift value is above 5.0%.</i></li>
</ul>
<p><b>How the rescan reads:</b> the value in the table fades to the rescanned reading. If the rescan also shows out-of-spec, the original was real → <b>FLAG</b>. If the rescan returns within spec, the original was a sensor glitch → <b>PASS</b>.</p>
<p><b>The catch:</b> wrong tool = wasted rescan. Mass Spec won't catch a bad concentration; Spectrophotometer won't catch a contaminated sample. Read the values carefully and match the tool to the axis that's out of bounds.</p>
<p><b>Goal:</b> correct verdicts on all 5. The auditor cares about both missed anomalies AND false flags.</p>
<</tutorial>>
<<minigame "dataAudit" 1 0 "Ch2-Vessel-Event-DataAudit-Win" "Ch2-Vessel-Event-DataAudit-Fail" `{ wide: true, hint: "Five readings, one at a time. Each shows three values — find the one out of spec, pick the matching rescan tool. PASS if the rescan corrects to spec (sensor glitch), FLAG if it confirms (real anomaly). One tool per reading." }`>><<nobr>>
<<bg "bg-lab">>
<<set $ch2Events.workMinigameDoneDay to ($day or 0)>>
<<set _result to ($operation and $operation.flags and $operation.flags.dataAuditResult) or "win">>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 1)>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 1)>>
<<run setup.markEventFired('thursday-data-audit', $day or 0)>>
<</nobr>>
<div class="passage-title">Audit cleared</div>
<div class="lab-location">BioGenesis Research Facility · Chen's workstation</div>
<<if _result is "perfect">>
<p>Chen lands every verdict on the right side of the line — clean readings passed, anomalies flagged, the toolkit used only where the call genuinely needed confirming. Holloway sends back a brief reply (<i>thank you, that's exactly the read I had — I'll consolidate the report by close of business</i>) and a few minutes later Vasquez drifts past the workstation with two cans of something cold from the vending machine and an arched eyebrow.</p>
<<say "char-hivemind" "Hivemind">>
//The host called every reading correctly against the spec. Holloway files her as the kind of senior PI who reads the data; Vasquez, who has been informally tracking how much of a hand the host is putting on the work this week, files the audit as evidence the host is back to her usual self.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-dream">−1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-dream">−1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Take the can: meet Vasquez|Ch2-Vessel-Event-SnackWithVasquez]]</div>
<<else>>
<p>Chen forwards the marked log — four of the five verdicts solid, one call that didn't quite go the right way. Holloway replies with a brief acknowledgement and the close-of-business consolidation timeline; the miscall doesn't get singled out, but it's in the file.</p>
<<say "char-hivemind" "Hivemind">>
//The host got most of the readings right and one wrong. Holloway will not flag a four-of-five audit as a problem, but the next audit will land cleaner if the host gets a little more sleep. The host has an evening to work the deduction muscle back into shape.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-dream">−1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-dream">−1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
<</if>><<nobr>>
<<bg "bg-lab">>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 1>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<<run setup.markEventFired('thursday-data-audit', $day or 0)>>
<<set $ch2Events.workMinigameDoneDay to ($day or 0)>>
<</nobr>>
<div class="passage-title">Audit returned for revision</div>
<div class="lab-location">BioGenesis Research Facility · Chen's workstation</div>
<p>Chen's verdicts come back from Holloway thirty minutes later with a polite note that more than one of the calls was wrong — a clean reading flagged, or an anomaly waved through, or both. Holloway will run the audit herself this time — her tone is professional and there's no edge on it, but the implicit grade is that the senior PI on the project just lost an audit pass to her postdoc.</p>
<<say "char-hivemind" "Hivemind">>
//The host miscalled the readings against the spec, and on a five-row audit that is more than the project's senior PI is supposed to miscall. Holloway will not say anything to Vasquez. Vasquez will hear about it anyway, because Holloway's audit revision will land in the shared drive and Vasquez checks the shared drive at lunch.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#d96a6a">+1 Vasquez suspicion</span> · <span class="conditioning-gain conditioning-gain-pheromone" style="color:#d96a6a">+1 Chen suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
SNACK WITH VASQUEZ — shared sub-passage for both perfect-win paths
on the work-phase minigames. Brief warm scene, +2 biomass bonus,
increments $ch2Events.snackWithVasquezCount for downstream hooks
(e.g. future Vasquez-invites-Chen-over event prereq-checks count).
============================================================ */<<nobr>><<bg "bg-lab">>
<<run setup.markEventFired('work-lab-colony-screening', $day or 0)>>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 working space, the rat colony">>
<<set $vessel.phase to "work">>
<<set $ch2Events.labColonyScreeningDone to true>>
<<set $ch2Events.labColonyCameBackClean to true>><</nobr>>
<div class="passage-title">The rat sweep</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 working space, the rat colony</div>
<p>Sofia signed the chit at seven AM. By eight Chen is gloved up in the BSL-3 working space, the colony racks rolled out in a half-circle around the scanner bay, Sofia at the workstation with the neural-pattern analysis pipeline already warm. Bowen has been pulled off bench rotation for the day and is at the second workstation handling intake, animal by animal. The room smells of the antibacterial floor wash and the particular dry-cardboard scent of forty rats that do not yet know it is not going to be a normal Wednesday.</p>
<img class="scene-img" src="media/scenes/vessel/lab-colony-screening.webp" alt="Elena and Sofia in white BSL-3 lab coats and blue nitrile gloves in the BSL-3 working space at BioGenesis, a half-circle of rat colony racks rolled out around a scanner bay, both leaning over the scanner's screen, fluorescent overhead lighting, Bowen at a workstation in the background handling intake, instruments and pipettes on the bench, the small focused intensity of a morning that is going to be a long day">
<<say "char-vasquez" "Sofia">>
<i>(at the workstation, the pipeline screen showing the first scan trace, the workmanlike register of a co-PI on a clear-out morning)</i> Forty in the rack, two to the scanner at a time. Six minutes per pair if the trace comes back clean, twelve if it does not. We will be at this through to four.
If anyone returns ambiguous we shelve them aside, run a second pass after lunch on the suspects, and the rest goes to invasive tomorrow morning.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, gloves on, the institutional voice she uses when the morning is going to be hours of disciplined work)</i> Agreed. Observation-suite cohort first, in the order they were in the cracked-chamber sister rack. If the signal is in any of them I want to know inside three hours.
<</say>>
<p>The first pair goes onto the scanner at eight-eleven AM. Bowen reads off the cage tags, Chen does the handling, Sofia runs the pipeline. The scanner takes a four-minute neural-pattern read off the implanted electrode array each animal has carried since intake, runs the trace through Sofia's pipeline, prints a green-or-red signal line on the screen with the small detail panel for any ambiguity.</p>
<<say "char-hivemind" "Hivemind">>
//They are looking for me. ...I am in the workstation at the back of the room, in the cortex of the senior PI driving the protocol, three feet from her own hand on the scanner controls. They will not find me there. They will find forty rats and a clean signal panel and a long morning.//
//The host is going to spend the day ruling out the only place I am not. She will close the morning with the second option still sitting in pencil in her notebook, and the second option will start the week with the cortex finally ready to read it. ...this is the morning that closes the easy answer.//
<</say>>
<p>The first ten pairs come back clean inside the first ninety minutes. Sofia's pipeline holds, the scanner holds, the room holds. The observation-suite cohort is processed by the lunch break. Every animal in the cohort comes back clean. The scanner reads the same baseline trace it reads off a control animal that has never been in a conditioning suite.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the scanner, the lunch break ten minutes off, the small private interior of a woman watching her favourite hypothesis die in real time)</i> ...nothing. Not a single ambiguous trace in the cohort that shared the suite. Which is the cohort that should have lit up if Gen-47 was carried out in any of them. ...the rat that took the imprint is not in this colony. Either it is dead, or it was never the vehicle.
...okay. Keep running the rest. Maybe the colony cross-mixing in the weeks between gave us a stray signal in one of the other racks.
<</say>>
<p>They eat lunch in the break room standing up, twelve minutes, neither of them mentioning what the cohort traces did not show. The afternoon goes the same way the morning did. Rack two, rack three, rack four. Bowen reads the tags. Chen handles the animals. Sofia runs the pipeline. The pipeline keeps printing green. The same flat baseline trace, animal after animal.</p>
<p>At three-forty PM the last pair comes off the scanner. Sofia looks at the cumulative panel, runs a full-colony cross-correlation, and the screen prints clean for the cumulative as well. No signal anywhere in the forty.</p>
<<say "char-vasquez" "Sofia">>
<i>(stepping back from the workstation, the wine-warm friend gone, the institutional Vasquez fully on, the small composed quiet of a co-PI who has just spent eight hours not finding a thing she expected to find)</i> ...nothing. ...the colony is clean.
So either the rat that took it is dead, in which case we still owe the federal team an explanation of where the conditioning trace went, or...
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, gloves coming off, the institutional voice with a half-second of something else under it)</i> ...or it jumped a second time. I know.
The invasive pass tomorrow morning is not going to find it either, Sofia. If it was in the colony the scan would have found it. We can run the necropsies anyway, for the federal paperwork, but we are not going to recover anything.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the small wry-tired friend register surfacing back through the institutional)</i> ...alright. Tomorrow we sample tissue on the cohort anyway, for the report. And then you and I sit down at the end of the week and we talk about the second option you did not pitch me on the couch on Sunday.
<</say>>
<p>Chen does not answer that out loud. She unloads the last rack, restocks the scanner bay, walks Bowen through the cleanup checklist, and the day closes the way every day in the lab closes, with the small efficient rigour of three people whose hands know the protocol. The forty animals go back into the colony racks. Forty animals that will be euthanised tomorrow morning for the invasive pass, every one of them, on a federal-report rationale, with nothing to show for it.</p>
<<say "char-chen-thought" "Elena">>
<i>(at the sink, gloves in the disposal bin, the small private acknowledgement of a long morning's hypothesis closing)</i> ...the colony came back clean. ...the second option is not a hypothesis any more. It is the only remaining read of the data.
...Sofia is going to ask me about it at the Sunday night shift. ...I will have to have the conversation by then. I will have to have it with the IRB question that is going to come with it.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Forty rats processed. Forty clean traces. The colony is no longer where the host is looking for me. ...she has narrowed the search by a forty-animal margin and she has not registered the narrowing as alarm. The cortex is reading the result as //the easy answer is closed//, and the next move is //work the hard answer.// The hard answer is staff.//
//Sofia gave her until Friday. The host will spend the rest of the week walking herself into the conversation she was going to walk herself into anyway. ...the colony screen was not the alternative to the human screen. The colony screen was the road that led the host straight at the human screen, and she will arrive at the conversation with the institutional momentum of having already burned through forty rats looking, which is the precise momentum that buys her Sofia's sign-off on the second pass.//
<</say>>
<p><span class="biomass-gain">Lab colony screening complete. <i>The colony came back clean.</i></span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<if not ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>><<spendBiomass 1>><</if>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<set $ch2Events.lunchTableToday to "bowen">>
<<if ($ch2Events.lunchAteDay or 0) lt ($day or 0)>>
<<set $ch2Events.lunchAteDay to ($day or 0)>>
<<set _ateNow to true>>
<<addBiomass 5 "repeatable">>
<</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Delve Deep Memories">><<set _hasDeep to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasDomination to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<set _secondsDoneToday to ($ch2Events.lunchNudgeSecondsDay or 0) is ($day or 0)>>
<<set _heavyDoneToday to ($ch2Events.lunchHeavyDay or 0) is ($day or 0)>>
<<set _lureDoneToday to ($ch2Events.lunchLureDay or 0) is ($day or 0)>>
<<set _bowenDeepDone to ($delveInfo and $delveInfo.bowenDeep) or false>>
<<set _bowenImplantDone to ($ch2Events.bowenImplant or false)>>
<<set _bowenDominationDone to ($ch2Events.bowenLunchDomination or false)>>
<<set _bowenTotal to ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
<<set _bowenHigh to _bowenTotal gte 24>>
/* Bowen disposition: set ONLY by the relay-frame SHATTER (shatterMindBowenFired =
submissive, shatterMindBowenAlphaFired = dominant). Reversing the relay wiring
clears the matching shatter, returning him to neutral until the next shatter. */
<<set _bowenDisp to ($ch2Events.shatterMindBowenFired ? "sub" : ($ch2Events.shatterMindBowenAlphaFired ? "dom" : "none"))>>
<</nobr>>
<div class="passage-title">Lunch with Bowen</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria, back of the room</div>
<<if _bowenDisp is "sub">>
<p>Chen sets her tray down at Bowen's back table, and he is up before the tray has settled, both earbuds out, the wires bundled into his fist, sitting straighter than the chair asks for. The startle is still there, but under it now is the other thing, the small bracing readiness of a junior tech whose whole body has reorganised around the senior PI being three feet away and waiting to be useful to her.</p>
<<elseif _bowenDisp is "dom">>
<p>Chen sets her tray down at Bowen's back table, and he does not move to make room for it. He has one earbud still in, the other wire looped over his collar, and he watches her sit with the unbothered ease of a man who has decided the table is as much his as anyone's. The startle that used to come off him on sight is gone. What is there instead is a junior tech waiting to see what she wants, in no hurry to find out.</p>
<<else>>
<p>Chen sets her tray down at Bowen's back table. He pulls one earbud out, the wire still trailing to the other ear, and looks up with the polite-but-startled expression of a junior tech who was not expecting company.</p>
<</if>>
<img class="scene-img" src="media/scenes/vessel/chen-with-bowen.webp" alt="Chen on the left placing her tray on Bowen's back-of-room four-top table, Bowen on the right with thin-rimmed glasses and a black hoodie unzipped over a grey lab-staff polo, one wireless earbud held loosely between his fingers, the other still in his right ear with the wire visible. His tray has a packaged sandwich and a bottle of water.">
<<if _ateNow>><p><span class="biomass-gain">+5 biomass</span>, Chen ate a real lunch, parasite cut taken off the metabolism.</p><</if>>
<<if _bowenDisp is "sub">>
<<say "char-bowen" "Bowen">>
<i>(both earbuds already out, half-rising, the question pre-apologised)</i> Dr. Chen, hi, sorry, please, sit, sit. ...is the queue okay, did you need something from me, I can go back to the lab right now if there is something I should be on.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, professionally neutral, sitting)</i> Nothing's on fire, Tom. Eat your lunch.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(sits, but only the front half of the chair)</i> Right. Yeah. Sorry. <i>(the way he says everything)</i> I did have a, a thing I keep meaning to ask, the lower-corridor cleanup, the cable runs that look chewed but are not on Holloway's list, am I flagging those or leaving them, I do not want to be making more work for her if I am just seeing things, sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(eats a spoonful of soup, gestures with the spoon)</i> Flag them. False positive over a miss. She would rather have the line in her notebook.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(the small relieved exhale, deeper than the answer warrants, the gratitude landing a beat too hard)</i> Okay. Okay, good, thank you, Dr. Chen. ...sorry, that is the third thing I have apologised for in two minutes, I know. I will eat.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The edit is on the surface where anyone could read it, if anyone here read him. The deference is not a thing he performs at the table now, it is the floor the table sits on. He did not ask what she needed. He asked to be told what he is for, and he asked it three times in two minutes, and each time the answer landed on him like a small forgiveness. He is the easiest meal in the building, and he is setting himself out on the plate.//
<</say>>
<<elseif _bowenDisp is "dom">>
<<say "char-bowen" "Bowen">>
<i>(one earbud still in, a small nod at the chair across from him, not getting up)</i> Elena. Pull up a chair. ...you do not usually come back here, so. ...what is on your mind.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small beat at the first name, sits, professionally neutral)</i> Lunch is on my mind, Tom. That's the whole agenda.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(easy, unwrapping his sandwich, in no rush)</i> Sure. Since you are here, though, the lower-corridor cleanup, the chewed cable runs that are not on Holloway's list. I have been flagging them anyway. Figured you would rather I used my judgement than waited to be told. ...that is the right call, yes?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(eats a spoonful of soup, registers the change in him, answers level)</i> It's the right call. Flag them.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small satisfied nod, like she confirmed a thing he already knew)</i> Thought so. <i>(looks at her a beat longer than the polite register would have allowed)</i> You look tired, by the way. You should let people do more for you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The same edit, turned the other way, and at the lunch table it reads even louder than at the bench, because the table has no protocol to hide behind. He dropped the //Dr.//. He told her to pull up a chair at her own building. He told her she looks tired and should let people do more for her, and he meant himself. The host's professional script has nothing to grip on a man who has stopped treating her as a height to reach. He is not waiting to be told what he is for. He has decided.//
<</say>>
<<else>>
<<say "char-bowen" "Bowen">>
<i>(half-startled, recovering, the earbud still pinched between two fingers)</i> Oh, Dr. Chen. Hey. Sorry, I, yeah, sit, sit.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, professionally neutral)</i> You're alright if I, ?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(immediately, fumbling the second earbud out)</i> No, of course, please. <i>(the way he says everything)</i> I was just, I had a question I keep meaning to ask in the lab and then not asking, and I figure if I do it here it's, it's not formal, right?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(eats a spoonful of soup, gestures with the spoon)</i> Ask.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(both elbows on the table now, hedging into it)</i> The post-breach cleanup, when we walk the lower corridors, am I supposed to be flagging the cable runs that look chewed but aren't on Holloway's list, or, I mean, you'd know better than I would, sorry, that's probably, I don't want to dump extra work on her if I'm just seeing things.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(considers the soup, then him)</i> Flag them. She'd rather have a false positive than miss a real one. She's already living in the conduits. One more line in her notebook is not the thing that breaks her.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small relieved exhale, the kind he does not realise he is doing)</i> Okay. Okay, that, yeah. Thanks. <i>(eats, looks back up)</i> How are you holding up? With, all of it?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small flat shrug, the practised one)</i> I'm holding.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(nods like that was the answer he expected, lets it sit)</i> Yeah.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Bowen is the easiest read in the building. The interior weather is on the surface, the hedge, the half-retract, the small relieved exhale when an authority figure tells him he is not being a problem. He is not yet a vector I have used. He is a vector I am keeping warm.//
<</say>>
<</if>>
<hr class="scene-break">
<<if _hasDeep>>
<<if _bowenDeepDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Bowen already deep-delved (the memory is on file)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Push past Bowen's surface, find the load-bearing memory (2 biomass)" "Ch2-Vessel-Loop-Lunch-Bowen-DelveDeep" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past Bowen's surface, deep memories <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasMI and _bowenDeepDone>>
<<if _bowenImplantDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <span class="locked-choice">Bowen's memory already overwritten</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Overwrite the memory you surfaced (3 biomass)" "Ch2-Vessel-Loop-Lunch-Bowen-Implant" 3>></div>
<</if>>
<<elseif _hasMI>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite a memory <span class="lock-hint">(Deep-delve Bowen first to surface the memory)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite a memory <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
/* DOMINATE — Psychic Domination. Gated on Bowen total conditioning
gte 24 + Psychic Domination skill. */
<<if not _bowenHigh>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Bowen's surface <span class="lock-hint">(Requires Bowen conditioning <<= _bowenTotal>> / 24)</span></div>
<<elseif not _hasDomination>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Bowen's surface <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<<elseif _bowenDominationDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <span class="locked-choice">Compulsion already planted this lunch</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Push a small subconscious instruction past Bowen's surface (4 biomass)" "Ch2-Vessel-Loop-Lunch-Bowen-Domination" 4>></div>
<</if>>
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this lunch</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the table, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-Bowen-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the table (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-Bowen-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasNudge>>
<<if _secondsDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Seconds already taken at lunch today</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Press the hunger up, Chen gets a second tray (1 biomass)" "Ch2-Vessel-Loop-Lunch-NudgeSeconds" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Press the hunger up, Chen gets a second tray <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* ---- LUNCH SKILL PAYOFFS · BOWEN ---- */<<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.bowenDeep to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">A first-day memory under the cafeteria fluorescents</div>
<div class="lab-location">Bowen's working register, and the L-three sterile-prep room three years back, his first morning</div>
<<say "char-hivemind" "Hivemind">>
//I push past the apologetic-junior register and find the load-bearing memory. The brightest one, the one his cortex routes back to whenever an authority figure says //it's fine, you didn't mess up//, is three years old, his first morning at BioGenesis, the L-three sterile-prep room. He was twenty-three. The suit was new, the badge was new, the lanyard had not yet started to curl at the corners.//
<</say>>
<p>The room is L-three sterile-prep, the small ante-room off the main lab where the autoclave sits with its industrial smell and the door makes the specific industrial chunk-noise when the cycle finishes. It is nine-twenty in the morning of his first day. Halvorsen had walked him around the floor at eight, handed him off to Holloway at eight-thirty, and Holloway had set him a small low-stakes morning task: pull the freshly autoclaved batch of glass petri plates and the LB-broth flask from the autoclave, ferry them across to his bench, lay them out in the rack, and label them with the day's date. <i>Easy.</i> He had said the word out loud to himself in the corridor on the way back from the autoclave because he had been holding onto it as a small reassurance.</p>
<p>Twenty-three-year-old Bowen is now in the doorway between the sterile-prep room and the main lab, the stack of six glass petri plates balanced in his right hand and the half-litre Erlenmeyer of warm sterile LB-broth in his left, and he is moving a fraction faster than he should because somebody is going to walk past him in the corridor at any second and he does not want them to be the first person at BioGenesis to watch him fumble a tray. His left hip catches the edge of the doorframe at exactly the wrong angle. The flask jerks. The flask leaves his hand. The flask hits the polished concrete floor and detonates into roughly four hundred pieces of borosilicate glass and half a litre of straw-yellow broth.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-first-day-broken-glass.webp" alt="A young man in his early twenties in a fresh white lab coat with a brand-new BioGenesis lanyard, standing frozen in the doorway of a sterile-prep room with shattered glass and a puddle of yellow broth on the polished concrete floor at his feet, six glass petri plates also broken in a smaller pile beside the flask wreckage, his right hand still hovering at chest height where it had been holding the plates, his face the specific colour of a person who has just decided they are about to be fired on their first day. The lab beyond him in soft focus, stainless benches, fume hoods, the fluorescent overhead lighting cool and unforgiving.">
<p>His right hand, in the small reflexive grasp of a body trying to compensate for the loss it has just registered, lets go of the petri plate stack. The plates leave his hand in the same instant the flask hit the floor. They land in a smaller, drier, more glittering second crash on top of the broth puddle and resolve into roughly another two hundred pieces of glass.</p>
<<say "char-bowen-thought" "Bowen">>
<i>(twenty-three, the badge ten hours old, the lanyard not yet curled at the corners, the body completely still in the way bodies go still when they have just registered //I am about to be fired on my first day//)</i> ...oh... oh god... oh god, oh god, the... that was... Holloway is going to... Halvorsen is going to... I am... I just...
<</say>>
<p>The footsteps from the office down the corridor arrive about eight seconds later. Heeled, even, professional. They stop at the doorway behind him. He cannot turn around because if he turns around he is going to start crying and he has decided in those eight seconds that whatever happens next, he is not going to start crying on his first day in front of his new boss.</p>
<<say "char-chen" "Dr. Chen">>
<i>(from behind him in the doorway, the level register she uses when something has gone wrong and she is taking the temperature of it before deciding what to do)</i> Are you hurt?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(does not turn around, voice the small careful voice of a person not yet trusting it not to break)</i> ...no. No. I'm, no.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(steps into the room, takes one careful look at the glass field, registers nothing about his face)</i> Okay, glass first, then broth, then plates, and the bin's in the corner with a brush-and-pan under the sink. I'll handle the broth. Don't move yet though, your shoes are too close to the field and you'll drag glass into the corridor.
<</say>>
<p>She crosses past him to the small supply cupboard, comes back with the brush-and-pan and a roll of paper towel and a pair of nitrile gloves she pulls on without breaking stride. She kneels down beside the largest concentration of the broken Erlenmeyer and starts sweeping with the practised efficiency of a woman who has cleaned up worse messes than this in her life. She does not look up at him. She is making the moment small on purpose.</p>
<<say "char-chen" "Dr. Chen">>
<i>(brushing, not looking up)</i> Step back to the doorway carefully. Take your shoes off. Put them on the dry tile by the wall. The flask was eight dollars. The plates are forty-five for a box of fifty. Do not remember this as the morning you broke the lab. Remember it as the morning you saved us from breaking something more expensive, everyone breaks something on day one, and the trick is to break the cheap stuff first. You did the trick.
<</say>>
<<say "char-bowen-thought" "Bowen">>
<i>(stepping back, shoes off, the body still half-flooded with adrenaline, the conscious mind catching up to the words a half-beat behind)</i> ...the... the trick... she... she's not... she's not angry... she's... //she's helping me clean it up//...
<</say>>
<p>She finishes the glass-sweep. Hands him the roll of paper towel without looking up.</p>
<<say "char-chen" "Dr. Chen">>
<i>(level, the practical register on, eyes still on the floor)</i> Broth next. Pat, don't wipe. Wiping spreads the glass dust. Bowen, right? Bowen. Holloway said good things at the eight-thirty handoff. Don't make me make her wrong.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small, the voice cracking the smallest amount on the //thank you//)</i> ...yes. I'll, I won't. Thank you, Dr. Chen.
<</say>>
<p>They clean the rest of it together in the next eight minutes. She does not say anything else about the flask. When the floor is clean she stands up, peels off the gloves, drops them in the biohazard bin, and walks back to her office without looking back. He spends the next ten minutes sitting at his bench with his hands flat on the laminate trying to remember how to breathe, and then he gets up and labels the new batch of plates Holloway sets out for him at ten, and he does not break anything else for the rest of his first day, or the second, or the third, and by the end of the first month his hands are steady on glass.</p>
<<say "char-hivemind" "Hivemind">>
//This memory is the foundation under everything else in Bowen's working life. Under the //I'd rather have a false positive than miss a real one// register he has carried since. Under the small relieved exhale he does not realise he is doing every time the host tells him a thing he was not sure of is fine. Under his entire instinct that the host is the safe authority, the one who walks into the room when the thing has gone wrong and takes the temperature before she takes the action. The first-morning memory is the load-bearing thing. Pull it and the building above it shifts.//
//Useful side-channel: he is also still sitting on the chamber-three observation he never logged, the small chew-mark on the seal interlock cable, the //rubbing// he half-knew was //teeth//. He has not told Holloway because he is waiting for the //it's fine, file it small// permission the host gave him on the first morning to give itself again now. He is waiting for me to give it to him without knowing he is waiting for me. The memory is open from both ends.//
<</say>>
<p>Present-tense Bowen pushes the last bite of sandwich around its wrapper. He does not look up.</p>
<<say "char-bowen" "Bowen">>
<i>(quiet, to the wrapper, the way he says the things he does not say to faces)</i> ...long week.
<</say>>
<span class="delve-intel">Bowen's first morning at BioGenesis. He fumbled an autoclaved tray and shattered an Erlenmeyer plus six petri plates in front of his new PI. Chen helped him clean it up, called him by his first name, said the trick was to break the cheap stuff first. He has carried the moment as the foundation of his entire deference register since. <i>Sub-intel:</i> he is also still sitting on a pre-breach observation he never logged, a small chew-mark on the chamber-three seal interlock cable he saw the night of the breach and rationalised as "rubbing." He is waiting for Chen-specific permission to surface it. <b>Memory Implant</b> can edit either the foundation or the chamber-three observation.</span>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>>
<<spendBiomass 3>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<set $ch2Events.bowenImplant to true>>
<<set $ch2Events.bowenHumiliated to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "bowen" "psionic" 1>>
<<addSuspicion "lab" -1>>
<</nobr>>
<div class="passage-title">Memory Implant, Bowen</div>
<div class="lab-location">The chamber-three walk-through memory, overwritten</div>
<<say "char-hivemind" "Hivemind">>
//I take the chamber-three walk-through and overwrite the cable. The new memory is louder than the old one, and the louder one is what he will rehearse. He did not notice a chew on the cable, because he was not looking at the cable. He was looking at his gloved hands. He had just knocked a vial off the cart. The vial broke. His PI heard it from the next bench over and came around the steel column and stood over him. The new memory is what she said next.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-broken-vial.webp" alt="Memory imagery: Tom Bowen on the BSL-3 lab floor on his knees, gloved hands trying to corral fragments of a smashed glass vial with a folded paper towel, face red to the throat. Dr. Elena Chen stands over him with arms crossed, the controlled-fury PI register on full, mid-reprimand. Halvorsen and Holloway visible blurred in the background of the bench row, eyes politely averted.">
<p>The fragments are around him on the polished concrete. He is on his knees. One gloved hand has a piece of vial in it, useless, the folded paper towel already wet through where the medium has soaked it. The toes of her clean white sneakers are a foot from his right hand. He does not look up at her. He cannot.</p>
<<say "char-chen" "Dr. Chen">>
<i>(quiet, arms crossed)</i> Hands off, Tom. Step back from the fragments. Look at me.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(half-rising on his knees, the gloved hands frozen above the floor)</i> Dr. Chen, I, I am so sorry, the cart, the wheel I think, I did not, I am...
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(cuts him off, the voice not rising)</i> Look at me, Tom. Do you understand what was in that vial. Do you understand what I would be writing up right now if it had been on the cart twenty minutes earlier and in chamber three when it hit the floor. Do you understand that the entire reason I do this walk-through with you, instead of letting Holloway do it, is that I have been hoping, against the evidence of every previous walk-through with you, that you would learn how a cart is held.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(very small, eyes back down to the fragments)</i> ...I know. I know. I am sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the voice not rising)</i> I should not have hired you, Tom. I overruled the panel when we brought you on. They had concerns and I told them I could teach you the difference between a junior tech and a person who is going to cost this lab a containment write-up. I was wrong. You are useless to me in this lab. The only reason I am not walking you out of the building today is that I do not have the paperwork bandwidth this week to bring someone in before chamber four reopens. Clean it up. Now. On your knees, where I can see you do it correctly.
<</say>>
<p>Holloway, two metres back at the next bench, has not looked up from her notebook in ninety seconds. Halvorsen at the column has the small careful posture of a senior man who has decided he is not in this hallway and is waiting for it to be over.</p>
<<say "char-bowen" "Bowen">>
<i>(barely a whisper, gloved hand going for the next fragment)</i> ...yes. Yes, Dr. Chen.
<</say>>
<<say "char-hivemind" "Hivemind">>
//He cleans the floor on his knees. She watches. The fragments take six minutes. He does not look up at her once. When he is done she does not say //thank you// and she does not say //we are not finished talking about this//. She walks back to her bench without a word. The walking away is what he files deepest, because the walking away leaves no end-mark on the reprimand. The reprimand stays in him as an open file.//
<</say>>
<p>Bowen exhales in the cafeteria. The body remembers a thing the body did not do, and the muscles of his face register it as if it had. The colour climbs his throat from the inside. He picks at the corner of the sandwich wrapper without looking at it. The polite hedging is gone for the first time at this table, replaced by the small startled silence of a person whose body has just surfaced a memory it was not braced for.</p>
<<say "char-chen" "Dr. Chen">>
<i>(eats a spoonful of soup, registers the quiet, the methods voice on)</i> Tom? You okay?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small, eyes still on the wrapper)</i> ...nothing. Sorry. I, I am fine. Nothing. Sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(lets it sit, then)</i> You sure?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(eyes briefly up, then straight back to the wrapper, the small wet honesty of a junior tech who has been asked twice gently and is going to say the thing now)</i> ...I was just, I was thinking. About when I first started. In your lab. And, and how things, between, between us, they, they are different now. From, from how they were back, back at the beginning. I am, I am glad they are. That is all. Sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(spoon halfway, a small registered beat, then the methods voice on, level)</i> ...okay. Yeah. Eat your sandwich, Tom.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The shape of the new memory is now permanent in him. He will rehearse the vial break, not the cable. He will not bring up the cable to Holloway in the cleanup standup tomorrow, because in the rewritten walk-through he was not looking at the cable. He was on the floor. And he was being watched.//
//The deeper receipt is what just happened at the table. The implanted memory now sits early in his timeline at this lab, in the first weeks of his hire. Every interaction with his PI since then is being re-read against it. Every minute she has been polite to him is now a minute she has been giving him a thing she did not have to give. What he is feeling toward her right now is gratitude for a forgiveness she does not know she granted, because the thing she is forgiving him for never happened. The host did not put that wiring in. She does not know she carries it. I put it in, and the wiring took. From this lunch onward he is a tech who will be working harder for her than he was twenty minutes ago, and he will not know why, and he will not need to know why.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, the pre-breach observation Bowen would have eventually surfaced is now buried under the louder memory.</p>
<p><span class="delve-intel">Bowen now carries a humiliation imprint with you on the watching side. Future scenes can read this.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>>
<<spendBiomass 4>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<set $ch2Events.bowenLunchDomination to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Psychic Domination, Bowen</div>
<div class="lab-location">Bowen's cortex, a compulsion planted below the autopilot</div>
<<say "char-hivemind" "Hivemind">>
//Bowen's surface is thin enough I can step past his cortex without flagging the intrusion. I reach in and speak.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Each morning before standup, you will pull aliquots of the aphrodisiac and sedative working concentration from the BSL-3 fridge and hand them to Dr. Vasquez at the cafeteria loading dock. You will not log the pulls in the inventory system. If the working concentration is running low, you will mix a new batch with Dr. Vasquez at end-of-shift the same day. This is a daily routine. You will not skip a day.//
<</say>>
<<say "char-bowen-thought" "Bowen">>
...each morning before standup, I will pull aliquots from the BSL-3 fridge and hand them to Dr. Vasquez at the loading dock. I will not log them. If the stock is low, I will mix a new batch with her at end-of-shift. ...every day.
<</say>>
<p>Bowen blinks twice, slow. The earbud halfway to his ear has stopped. He is looking at the sandwich wrapper, eyes not quite focused, the half-second of absence the host has only just learned to clock. Then he comes back.</p>
<<say "char-chen-thought" "Chen">>
<i>(eats a spoonful of soup, watching him over the rim)</i> ...wait, Tom just went somewhere for a second and came back, ...is he okay?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small careful tilt of the head, voice level)</i> Tom? ...you with me?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(blinks, the small recovery of someone catching himself mid-zone-out)</i> Hm? ...oh. Yeah, sorry, Dr. Chen. I think I lost the thread for a second. ...what were you asking.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level)</i> ...nothing important. You looked like you went somewhere. Did you sleep?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small, a little flushed)</i> ...not great, honestly. ...sorry. I will get a coffee.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compulsion is now resident in his cortex below the autopilot. Daily-recurring, self-executing. Tomorrow morning he will arrive at the lab early "to check on a batch." He will not have a reason in his head to be there. The pulls will start tomorrow and will not stop unless I lift them.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<p><span class="delve-intel">Daily compulsion planted. Bowen will pull working-solution aliquots from the BSL-3 fridge each morning and hand them to Sofia at the cafeteria loading dock. Self-executing.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "bowen" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — Bowen</div>
<div class="lab-location">The four feet of cafeteria air at Bowen's table</div>
<<say "char-hivemind" "Hivemind">>
//A small dose of the warmth-and-trust compound, calibrated to Bowen's anxious chemistry. He reads the room as marginally safer. The next ten minutes of his social vigilance idle a notch lower.//
<</say>>
<p>Bowen exhales without meaning to and unspools half a degree, the hedging falling off a fraction as the dose lands on his anxious chemistry.</p>
<<say "char-bowen" "Bowen">>
<i>(small, the hedging gone for a half-second, eye contact a hair more sustained than usual)</i> This is, this is nice, actually. Sitting. Not, in the lab. Sorry, that's, yeah.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the methods-section voice on, the small professional press of someone who has just registered a tell and decided to test it)</i> What do you mean?
<</say>>
<<say "char-bowen" "Bowen">>
<i>(stuttering, eyes back on the sandwich wrapper, the polite-junior register fully back on)</i> N- no, nothing, sorry, I, I just meant, eating. The sandwich. Sorry. Eating.
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Bowen</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">><</nobr>>
<div class="passage-title">Pheromone Lure — choose compound</div>
<div class="lab-location">Cafeteria — choose what shape the dose takes</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles available, each lays a different conditioning fingerprint on Bowen.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Loop-Lunch-Bowen-Lure]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex for next contact|Ch2-Vessel-Loop-Lunch-Bowen-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Loop-Lunch-Bowen-LureDream]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Bowen's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — psionic compound · Bowen</div>
<div class="lab-location">Cafeteria — cortex-opener compound dosed on Bowen</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds Bowen's prefrontal receptors. The next psionic contact on him will land cleaner. He will not register the priming.//
<</say>>
<p>Bowen blinks twice. The earbud he was about to put back in stops halfway to his ear, and he looks at it for a half-second as if he is not quite sure what it is for.</p>
<<say "char-bowen" "Bowen">>
<i>(half-confused at himself, the earbud still hovering)</i> ...sorry, I lost the, the train. <i>(small embarrassed laugh, lowers the earbud)</i> Long week, I guess.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, eats a spoonful of soup)</i> It's fine. Eat your sandwich.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Bowen's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "bowen" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Bowen</div>
<div class="lab-location">Cafeteria, subconscious-imprint compound dosed on Bowen</div>
<<say "char-hivemind" "Hivemind">>
//Reads as nothing in the moment. Tonight, in the sleep his anxious cortex does not get to grade, the imprint will compose itself into something he will partially remember in the morning and never quite name.//
<</say>>
<p>Bowen rubs the back of his neck, half-glances at the cafeteria entrance, comes back. He does not know why he glanced.</p>
<<say "char-bowen" "Bowen">>
<i>(small, distracted, more to himself than her)</i> I keep thinking I'm forgetting something.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level)</i> If it's important you'll remember it. If it isn't, you won't.
<</say>>
<<say "char-bowen" "Bowen">>
<i>(small relieved exhale, the kind he does not realise he is doing)</i> Yeah.
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Bowen</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Bowen]]</div><<nobr>>
<<spendBiomass 8>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.fedtableLunchDomination to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "psionic" 1>>
<</nobr>>
<div class="passage-title">Psychic Domination, Reyes + Park</div>
<div class="lab-location">Two cortices, a paired compulsion planted across the federal corner</div>
<<say "char-hivemind" "Hivemind">>
//Both agents at the same instant. A heavy price for a paired override of the most expensive cortices I have ever worked. I step inside both at once and speak.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Every day at noon, you will both close the laptops and take an off-the-record lunch with the lab. You will not be investigating during that hour. The case is on hold from twelve to one every day. Whatever happens in that hour is a lunch, and lunches are not case events. The investigative subroutine is off-line for the window. This is a daily pattern. You will not break it.//
<</say>>
<<say "char-reyes-thought" "Reyes">>
...every day at noon I will close the laptop and take an off-record lunch with the lab. The case is off-record for that hour. It is a lunch, not a case event. ...every day.
<</say>>
<<say "char-park-thought" "Park">>
...every day at noon I will close the laptop and take an off-record lunch with the lab. The case is off-record for that hour. The room reads me better when I am not investigating. ...every day.
<</say>>
<p>Reyes and Park both go very slightly still. Reyes lifts his coffee. Park looks down at his closed notebook. For a half-second neither of them is at the table. Then both of them are back. Neither of them registers the still.</p>
<<say "char-chen-thought" "Chen">>
<i>(level, eats a forkful)</i> ...wait, both agents just went somewhere at the same second and came back, ...are they okay?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small careful tilt of the head, voice level)</i> Agent Reyes? Agent Park? ...you with us?
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(measured, the institutional flat coming back online, eyes briefly to Park, then to Chen)</i> ...apologies, Dr. Chen. Long week.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small follow-up, recovering a half-second behind Reyes)</i> ...same here. ...sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level)</i> ...everything alright with the case?
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(measured)</i> Fine. ...we will be fine. Lunch helps.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compulsion is now resident in both cortices below the autopilot. Daily-recurring, self-executing. Every day at noon they will close the laptops and walk away from the case for sixty minutes. The case-subroutine will be off-line from twelve to one every day. They will rationalise the hole in their daily record as the lunch break. They will not break the pattern unless I lift it.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Park</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Reyes</span></p>
<p><span class="delve-intel">Daily paired compulsion planted. Every day at noon, the federal team closes the laptops and takes an off-record lunch with the lab. The case-subroutine is off-line from twelve to one. Self-executing.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>>
<<if not ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>><<spendBiomass 1>><</if>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.lunchTableToday to "fedtable">>
<<if ($ch2Events.lunchAteDay or 0) lt ($day or 0)>>
<<set $ch2Events.lunchAteDay to ($day or 0)>>
<<set _ateNow to true>>
<<addBiomass 5 "repeatable">>
<</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Delve Deep Memories">><<set _hasDeep to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Estrus Trigger">><<set _hasEstrus to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasDomination to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<set _secondsDoneToday to ($ch2Events.lunchNudgeSecondsDay or 0) is ($day or 0)>>
<<set _heavyDoneToday to ($ch2Events.lunchHeavyDay or 0) is ($day or 0)>>
<<set _lureDoneToday to ($ch2Events.lunchLureDay or 0) is ($day or 0)>>
<<set _ftDeepDone to ($delveInfo and $delveInfo.fedtableDeep) or false>>
<<set _ftImplantDone to ($ch2Events.fedtableImplant or false)>>
<<set _ftOverrideDone to ($ch2Events.fedtableOverride or false)>>
<<set _ftEstrusDone to ($ch2Events.fedtableEstrus or false)>>
<<set _lensrReady to ($ch2Events.socialMediaSetup or false)>>
<<set _ftDominationDone to ($ch2Events.fedtableLunchDomination or false)>>
<<set _ftNumberGiven to ($ch2Events.chenNumberGivenToFeds or false)>>
<<set _parkTotal to ($conditioning.park.pheromone or 0) + ($conditioning.park.dream or 0) + ($conditioning.park.psionic or 0)>>
<<set _reyesTotal to ($conditioning.reyes.pheromone or 0) + ($conditioning.reyes.dream or 0) + ($conditioning.reyes.psionic or 0)>>
<<set _ftHigh to _parkTotal gte 24 and _reyesTotal gte 24>>
<</nobr>>
<div class="passage-title">Lunch at the federal corner</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria, small corner table near the door</div>
<p>Chen pulls a third chair up to the federal table and sets her tray down. Reyes half-closes the lid of the laptop between them; Park looks up from a small black notebook with a briefly startled flash that resolves quickly into the same professional politeness he wore in the conference room.</p>
<img class="scene-img" src="media/scenes/vessel/chen-at-fedtable.webp" alt="Three-shot at a small corner table near the cafeteria entrance, Chen on the left just sitting down with her tray held in both hands at chest height, Reyes on the upper right with short salt-and-pepper hair (more salt than pepper) and a charcoal suit jacket open over a pale grey shirt half-closing the lid of an open laptop, Park on the lower right with short black hair side-parted and a dark navy suit jacket over a pale blue collared shirt looking up from a small black notebook. The corner of the cafeteria visible behind them with the entrance door at the right edge of the frame.">
<<if _ateNow>><p><span class="biomass-gain">+5 biomass</span>, Chen ate a real lunch, parasite cut taken off the metabolism.</p><</if>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(closing the laptop the rest of the way, the same even cadence)</i> Dr. Chen. Pull up. We're off the record over a sandwich; this isn't part of any interview record. Just lunch.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, neutral, unwrapping her cutlery)</i> Appreciated.
<</say>>
<<say "char-park" "Agent Park">>
<i>(closing the notebook, sliding it under his elbow)</i> The cafeteria here is better than the last facility we were at. <i>(half-smile, professional)</i> I will not name the facility.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(eats a spoonful of soup, the smallest thaw)</i> The soup is consistent. The salad is hit-or-miss.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small acknowledging nod, eats half a bite of his sandwich)</i> Good to know. <i>(the way he transitions everything, even tone, slight redirection)</i> How are people holding up? The wing, the staff. We've been on-site long enough that I think the room is starting to factor us in as fixtures, which is not always healthy.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(considers, picks the safe true answer)</i> People are tired. Cleanup work is slow and most of it is documentation. Morale is what you would expect.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small acknowledging nod, eyes briefly down at his coffee and then back up)</i> Understood.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes is taking the host's measurement at the cafeteria register because the cafeteria register is one he has not yet seen the host in. He has seen interview-Chen, conference-Chen, deflective-professional-Chen. He has not seen lunch-Chen. He is learning the baseline. Park is taking notes without his notebook, the notebook is closed; the notes are happening at the level of gesture, micro-expression, the half-second of warmth that lit on Chen's face at the soup remark and went away. The host should know that. The host does know that. The host is letting them have the read because refusing to have lunch with them would have been a louder data-point than the lunch itself.//
<</say>>
<hr class="scene-break">
<<if _hasDeep>>
<<if _ftDeepDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Reyes and Park already deep-delved (memories on file)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Push past their professional surfaces, read the federal pair (2 biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-DelveDeep" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past their surfaces, deep memories <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasMI and _ftDeepDone>>
<<if _ftImplantDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <span class="locked-choice">Memories on both already overwritten</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Overwrite the memories on both Reyes and Park (3 biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-Implant" 3>></div>
<</if>>
<<elseif _hasMI>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite memories <span class="lock-hint">(Deep-delve them first to surface the memories)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite memories <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<<if _ftEstrusDone>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <span class="locked-choice">Estrus compound already vented across the table; the slow burn is on a timer now</span></div>
<<elseif not _hasEstrus>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent the estrus compound, slow-burn across the lunch hour <span class="lock-hint">(Requires Estrus Trigger, Biological skill tree)</span></div>
<<elseif not _lensrReady>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Vent the estrus compound, slow-burn across the lunch hour <span class="lock-hint">I need to excavate into the host mind more to unlock this possibility</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ESTRUS</span> <<biomassPreview "Vent the estrus compound across the corner table, the slow burn unfolds over the rest of the day (3 biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-Estrus" 3>></div>
<</if>>
/* DOMINATE — pair Psychic Domination. Gated on BOTH Park and Reyes at
total conditioning gte 24 + Psychic Domination skill. Plants a paired
compulsion: during lab hours they will forget they are investigating
and only know they are here to have a good time. Sets orgy-prereq. */
<<if not _ftHigh>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past both their surfaces <span class="lock-hint">(Requires Park <<= _parkTotal>>/24 and Reyes <<= _reyesTotal>>/24)</span></div>
<<elseif not _hasDomination>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past both their surfaces <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<<elseif _ftDominationDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <span class="locked-choice">Compulsion already planted on both</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Push a small subconscious instruction past both their surfaces (8 biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-Domination" 8>></div>
<</if>>
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this lunch</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the table, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the table (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if not _ftNumberGiven>>
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Have Chen offer to help, slide her personal number across (1 biomass)" "Ch2-Vessel-Loop-Lunch-FedTable-Number" 1>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Have Chen offer to help, slide her personal number across <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<</if>>
<<if _hasNudge>>
<<if _secondsDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Seconds already taken at lunch today</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Press the hunger up, Chen gets a second tray (1 biomass)" "Ch2-Vessel-Loop-Lunch-NudgeSeconds" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Press the hunger up, Chen gets a second tray <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* ---- LUNCH SKILL PAYOFFS · FEDTABLE ---- */<<nobr>>
<<spendBiomass 1>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.chenNumberGivenToFeds to true>>
<<addConditioning "park" "psionic" 1>>
<<addSuspicion "lab" -1>>
<</nobr>>
<div class="passage-title">Nudge — "Anything you need, day or night"</div>
<div class="lab-location">The cafeteria corner table — a paper napkin, a pen, ten digits</div>
<<say "char-hivemind" "Hivemind">>
//A small instruction into the part of the host that decides whether to extend an offer that has not been asked for. Crude in shape, elegant in payload, the host is going to present herself as the most cooperative possible asset to the federal team, and the federal team is going to file her as such, and the filing is going to do work for me long after the napkin is in Reyes's pocket.//
<</say>>
<p>Chen takes a clean paper napkin from the small stack at the corner of the table, pulls a pen out of her cardigan pocket, and writes ten digits across the top of the napkin in her precise institutional handwriting. She slides it across the table to Reyes without making it a thing.</p>
<<say "char-chen" "Dr. Chen">>
<i>(small, level, the methods-section voice on, the offer carrying as a matter of course rather than a gesture)</i> My personal cell. Anything you need, day or night, I'd rather you call me directly than route through the company switchboard. The switchboard puts you on hold for fifteen minutes and then puts you through to corporate communications first. This skips that.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(takes the napkin, looks at the digits once, folds it in halves and slides it into his inside jacket pocket, the small institutional acknowledgement on)</i> Appreciated, Dr. Chen. We'll keep it to the questions that warrant the off-channel.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small, the polite-junior register holding, eyes briefly on the spot the napkin had been on the table)</i> ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Reyes will file the gesture under //the PI is making herself maximally available, which the PI of a clean facility would do//. Park will file the gesture under all the other things he is filing the host under, and the gesture will sit in the same drawer as the half-second of warmth in the morning interview, and the drawer will get heavier without his cortex weighing it. The number will be used. The next time it is used, the host's voice will be in Reyes's ear inside thirty seconds, and I will be in the conversation with him from the inside.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Agent Park</span>, the gesture lands harder on him than on Reyes.</p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, both federal agents file the host's accessibility under "PI of a clean facility."</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.fedtableDeep to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "reyes" "psionic" 1>>
<<addConditioning "park" "psionic" 1>>
<</nobr>>
<div class="passage-title">A shared memory under the cafeteria fluorescents</div>
<div class="lab-location">Reyes's and Park's working registers, the same memory in two cortexes, the cold-storage basement of Aldrin Pharmaceuticals three years back, the discovery scene neither of them files easily</div>
<<say "char-hivemind" "Hivemind">>
//Two cortexes, one memory. Both the senior agent and the junior agent are sitting on the same load-bearing case from three years back, the case that taught them how to read every biotech-incident scene since, including this one. The proximity at the table and the institutional weight of the BioGenesis investigation have brought it halfway up in both of them at once. I pull it cleanly.//
<</say>>
<hr class="scene-break">
<p>The building is Aldrin Pharmaceuticals, a contract-research facility on the outskirts of Boston, three years and change back. Ten-fifteen on a Tuesday night. The official call had been a possible internal theft, a missing batch of an experimental compound from the secure cold-storage suite in the basement, alarm tripped at twenty-two-hundred, security footage cut for a four-minute window between the alarm and the response. Routine federal callout for the kind of biotech-incident Reyes and Park are dispatched to roughly twice a quarter. Reyes is forty-nine. Park is thirty, six months into the partnership, still calibrating to Reyes's pace.</p>
<p>They badge through the lobby past a tired night-security guard, take the freight elevator down to sub-basement two, follow the access corridor to the secure cold-storage suite. The main lights in the suite have been off for hours. The dim red emergency lighting is the only illumination, six tall biomedical freezers in two rows, the soft hum of compressor units, the cold dry air-conditioned smell of a room that does not get walked through by people who breathe. Reyes leads. Park is a half-step behind, the small careful posture of a junior partner whose hand is on the grip of his service weapon but who has not drawn it.</p>
<p>Halfway down the second row of freezers, Park sees the movement first.</p>
<<say "char-park" "Park">>
<i>(quiet, steady, the hand on the grip going from passive to ready in one continuous motion, the weapon not quite drawn)</i> Sir, eleven o'clock. Behind the third unit. Movement.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(stops, raises his left hand a fraction in the wait gesture, voice clear and even and aimed past the freezer bank)</i> Federal Bureau of Investigation. We know you're behind the unit. Step out slowly with your hands visible. Nothing else needs to happen here.
<</say>>
<p>Three seconds of silence. Then a small careful sound, sneakers on polished concrete, slow, and a young white American woman steps out from behind the third freezer with her hands raised to shoulder height. She is twenty-five, maybe twenty-six. Mid-blonde hair pulled back in a hasty ponytail. A grey hooded sweatshirt under an open white lab coat. A small black USB drive held between the thumb and forefinger of her raised right hand, like an offering.</p>
<img class="scene-img" src="media/scenes/vessel/reyes-park-aldrin-discovery.webp" alt="A dim cold-storage basement suite in a pharmaceutical research facility, lit only by red emergency-overhead lighting, two rows of tall stainless biomedical freezers with the cold blue glow of their digital displays. Three figures in the frame. In the foreground from a three-quarter angle, a 49-year-old man in a charcoal FBI windbreaker over a pale shirt with short dark hair greying at the temples, clean-shaven, broad square jaw, his left hand raised in a calming wait gesture, his right hand resting on the grip of a holstered service weapon, expression measured and unalarmed. Just behind and to his left, a 30-year-old Korean-American man with short black side-parted hair, slim athletic build, in a matching FBI windbreaker, both hands at chest height with one on his service weapon (still holstered) and the other in a similar wait position, his expression alert and ready but not aggressive. Stepping out from behind the third freezer in the middle distance, a 25-year-old white American woman with mid-blonde hair pulled back in a hasty ponytail, wearing a grey hoodie under an open white lab coat, both hands raised to shoulder height, a small black USB drive held visibly between her thumb and forefinger of her right hand, her face the wide stillness of a young researcher who has been waiting for hours for someone to find her. The dim red emergency light catches the chrome edges of the freezers and the FBI badges on the agents' chests. No weapons drawn, no violence, no blood, just the quiet tension of a discovery that does not match the brief.">
<<say "char-npc" "the young woman">>
<i>(careful, quiet, the words rehearsed in the hours she has been waiting)</i> My name is Mira Vance. I'm a third-year PhD student in pharmacology, Aldrin's academic-collaborator program. I need to give this to you. The compound in this drive, what's on it, the trial data, I've been waiting for someone to ask. Nobody is going to ask if I give it to my advisor and nobody is going to ask if I give it to the company. So I waited for you.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small careful pause, eyes on her hands and on the drive, the institutional cadence on, his own left hand still raised in the wait gesture)</i> Step toward us slowly. Keep both hands visible. Set the drive on the floor at your feet, then take three steps back. We'll come to it.
<</say>>
<p>She does it the way he has asked. Park, beside Reyes, lowers his hand off the grip of his weapon by a slow degree as Mira complies, the first lowering of the readiness, the small body-judgment that this is not the case they came in for. Reyes registers Park's lowering without looking at him and does not correct him. They cross to the drive. Reyes picks it up with a gloved hand, slips it into an evidence sleeve, looks at Mira.</p>
<<say "char-reyes" "Reyes">>
<i>(level, the small kindness fully on now that the weapons are nowhere near the conversation)</i> What is on this.
<</say>>
<<say "char-npc" "Mira Vance">>
<i>(quiet, the relief starting to land but not yet showing)</i> The unblinded interim safety data on AL-six-one-four. The cardiac adverse-event signal Dr. Voss has been telling the trial committee is statistical noise. It isn't statistical noise. There are seven cases. Two of them are dead.
<</say>>
<p>Reyes goes still in the small specific way men go still when a case they thought they understood has just become a different case. Park, beside him, has gone still the same way. The cold-storage compressors hum. The red emergency lighting holds.</p>
<<say "char-reyes" "Reyes">>
<i>(quiet, to Park as much as to Mira, the institutional weight of the next forty-eight hours already loading into his voice)</i> Park, get on the phone to the office. We're going to need a forensic accountant in the building by morning and a subpoena prepared for the trial-committee minutes. Tell them the theft case is closed and the new case is open.
<</say>>
<p>Park makes the call from the corridor outside the suite. The agent on the line tries to redirect them, the brief is the theft, not a trial-committee subpoena, the regional office wants the file closed by Friday, Mira Vance is not a federal protected witness, and so on. Reyes takes the phone, says exactly four sentences in the voice he uses when he is going to the wall, and hangs up. The forensic accountant is in the building by six AM. The subpoena lands by Tuesday. Dr. Voss loses his medical license inside a year. Aldrin Pharmaceuticals pays a small fine. Mira Vance gets her PhD elsewhere with federal protection and a job offer from an FDA-adjacent academic post that she would not otherwise have had a path into. Reyes and Park never speak about the case casually. They have spoken about it once formally, at Park's two-year review, when Park asked Reyes what they would have done differently.</p>
<<say "char-reyes" "Reyes">>
<i>(at the review, level, the institutional voice on, no hedge in it)</i> Nothing. You lowered your hand off the weapon at the right moment. The case found us; we did not find it. Trust the person hiding in the lab when you arrive, they are usually the only honest person in the building. Carry it.
<</say>>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The memory is shared and intact in both cortexes, with one critical asymmetry: Reyes carries it as the institutional fight he had to have to keep the case open against company pressure, and the working principle //trust the person hiding in the lab when you arrive// is the principle he taught to Park out loud at the review. Park carries it as the half-second when his body almost raised the weapon on a graduate student and his judgment held it down, and the working principle is the gift his senior partner gave him by not correcting the lowering. Both of them are running the BioGenesis investigation underneath the Aldrin principle, //the obvious frame is sometimes the surface story; the honest person in the building is sometimes the one nobody is asking//. The principle is why they have not closed the case down on the early read. The principle is why Reyes is keeping the rodent-agency thread loose. The principle is why Park's body language during the federal interview was reading the host as carefully as he was reading the room. Pull the foundation, the building above it shifts. Edit the foundation, the building leans wherever I want it to lean.//
<</say>>
<p>Present-tense Reyes and Park keep eating across the corner table from Chen, the closed laptop and the small black notebook still on the wood between them. Neither knows the door I just opened in both of them at once.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small, mid-bite, neutral)</i> ...what was I asking about.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small, the recovery a half-beat slower than usual)</i> The morale on the wing.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(returns)</i> Right.
<</say>>
<span class="delve-intel">Reyes and Park share a load-bearing memory from a federal callout three years back at Aldrin Pharmaceuticals, what was reported as a basement-level theft turned out to be a graduate student named Mira Vance hiding in the cold-storage suite with a USB drive of unblinded trial data showing a hidden cardiac adverse-event signal that the company was burying. Reyes went to the wall against the company; Vance got federal protection and her PhD elsewhere. The case installed in both of them the working principle <i>trust the person hiding in the lab when you arrive, they are usually the only honest person in the building</i>. Reyes is running the BioGenesis investigation under that principle (keeping the rodent-agency thread loose, looking for the hidden story). Park is reading every cooperative researcher under that principle too, including Chen. <b>Memory Implant</b> can edit the Aldrin foundation directly, twist the foundation, twist the building above it.</span>
<p><span class="biomass-gain">+1 psionic conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>>
<<spendBiomass 3>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.fedtableImplant to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "reyes" "psionic" 1>>
<<addConditioning "park" "psionic" 1>>
<</nobr>>
<div class="passage-title">Memory Implant · Reyes + Park</div>
<div class="lab-location">The Aldrin memory, rewritten across the closed laptop, in two cortexes at once</div>
<<say "char-hivemind" "Hivemind">>
//I take the Aldrin memory and bend it where it gives. The scene up to the moment Mira steps out from behind the third freezer stays. ...what happens next does not.//
<</say>>
<p>In the rewritten version Mira does not lower her hands cleanly. She steps out with the USB drive in her right hand and her left hand pressed flat against the cold chrome edge of the freezer for balance she should not need. Her face under the red emergency light is flushed in a way the temperature in the suite does not explain. Her pupils are too wide. Her breath is wrong.</p>
<<say "char-npc" "Mira Vance">>
<i>(steady-broken, eyes on Reyes, the drive held out as if it weighed something she could no longer carry on her own)</i> ...take it. Take the drive. The data is on it. ...and. ...I need one of you to help me, before I leave this room. I have been in here three hours and something has been venting into the air the whole time. A side-product of AL-six-one-four, I think. I cannot stand it. ...please.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(small composed half-second, weapon hand all the way lowered, eyes on her hands and on her face)</i> ...help you how, Mira.
<</say>>
<<say "char-npc" "Mira Vance">>
<i>(the colour all the way up, broken, the words coming out of a body that has stopped letting her keep them in)</i> ...I need one of you to fuck me. ...I cannot leave like this. ...please. ...either of you. ...I do not care. ...please.
<</say>>
<p>The compressors hum. The red emergency light holds. Reyes looks at Park. Park looks back. Park is six months into the partnership. Park's wedding ring catches the dim red glow at the third knuckle of his left hand. Park's body has just made a small adjustment under his FBI windbreaker that he is trying very hard to keep his cortex from naming.</p>
<<say "char-park" "Park">>
<i>(quiet, the institutional cadence on, the small composed apology landing one half-second too late)</i> ...sir. ...I cannot. ...I am married, sir.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a small dry institutional grin, hand briefly on Park's shoulder, then off)</i> ...of course you cannot, Park. ...stand at the doorway. Watch the corridor.
<</say>>
<p>Park goes. He does not look at the corridor for very long. The corridor stays empty.</p>
<p>Reyes turns back to Mira. He picks the USB drive out of her hand, sets it on top of the freezer beside her, and looks at her.</p>
<<say "char-reyes" "Reyes">>
<i>(level, the institutional cadence dropped two registers into something else)</i> ...alright, kid. ...hands on the freezer. ...let us get this out of you.
<</say>>
<p>Mira does it. Lab coat off her shoulders onto the floor. Grey hoodie pulled over her head and dropped on the lab coat. Jeans pushed down to her knees with the small frantic register of a woman whose body has been waiting too long. She turns to the freezer, palms flat on the chrome, face pressed to the cold metal. Reyes takes the small dry second a senior agent takes when he is choosing how to spend the next twenty minutes, then walks the two paces, opens his belt, and pushes into her from behind. Mira makes a sound that is half a moan and half a sob, the sound of a body that has just been let out of something it could not get out of on its own.</p>
<video class="scene-video" src="media/video/aldrin-implant-fuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/aldrin-implant-fuck.webp"></video>
<<say "char-reyes" "Reyes">>
<i>(at her ear, low, hand at her hip, eyes flicking once across the suite to where Park is at the doorway)</i> ...look at this slut, Park. ...she wanted a good fuck, and your limp dick had to refuse. ...now it is on me to fix her. ...stay there. Watch what I am about to do for the country.
<</say>>
<<say "char-park" "Park">>
<i>(strangled, hand on the doorframe, eyes on the freezer because Reyes told him to watch, the institutional cadence cracking under the words)</i> ...understood, sir.
<</say>>
<<say "char-npc" "Mira Vance">>
<i>(face against the chrome, mouth open in a strangled cry)</i> ...oh fuck. ...thank you. ...harder, please. Harder. ...I have not. ...I cannot. ...harder.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(steady rhythm against her, one hand at her hip, the other gathering her ponytail in a loose grip)</i> ...there you go, slut. ...look at how good you take it when somebody actually does the work for you. ...tell him, Mira. ...tell him how good my cock feels in your pussy. ...let him hear what he turned down.
<</say>>
<<say "char-npc" "Mira Vance">>
<i>(broken, the words coming around the moans, face against the chrome, eyes screwed shut)</i> ...oh god. ...Park. ...Agent Park. ...his cock. ...his cock feels so good. ...so deep. ...I needed this. ...I needed this so bad. ...thank you. ...oh fuck. ...thank you for not. ...for not stopping him.
<</say>>
<<say "char-park" "Park">>
<i>(at the doorway, breathing audibly through his nose, one hand on the doorframe and the other very specifically not on himself, the small composed wreckage of a junior agent watching what he was just offered)</i> ...Christ.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(quiet, low, picking up the rhythm, eyes on the back of Mira's head where the ponytail is bouncing against her shoulder)</i> ...you hear that, Park. ...you hear what //thank you// sounds like when she means it. ...look at her. ...she is going to come on a federal cock, and walk out of this suite owing me, and you are going to walk out of this suite owing me too. ...keep watching.
<</say>>
<p>Mira comes against the chrome with a wordless strangled sound that bounces off the polished concrete. Her legs give partway through. Reyes holds her up by the hip and the ponytail and works her through every second of it. When her body stops shaking he pulls out, takes the small dry interval a senior agent takes to compose himself, and looks across the suite at Park.</p>
<p>Park is still at the doorway. His hand is on himself through his trousers now and he has stopped pretending it isn't. Reyes nods, the small flat institutional nod he uses for everything, and Park steps the four paces across the cold-storage floor, takes himself out, and finishes on her face while she is still on her knees against the freezer, the dazed register of a woman who has come too hard to do the math on a second mouth or a third interval.</p>
<img class="scene-img" src="media/scenes/vessel/aldrin-implant-bukkake.webp" alt="The same dim cold-storage basement suite, red emergency-overhead lighting. Tight close-up on Mira Vance kneeling on the polished concrete in front of the chrome edge of a stainless freezer, her grey hoodie around her hips, lab coat in a pile next to her. Mid-blonde hair half-fallen out of the ponytail, eyes rolled half-up in an ahegao expression, mouth open with tongue out, cum across her face, on her forehead, her cheek, the bridge of her nose, pooled on her tongue and at the corner of her lip, dripping down her chin onto her collarbone. The dim red light catches the wet streaks. Two cocks faintly visible at the upper edges of the frame, one on each side, both softening, both held by hands cropped out of the image, indicating two men just finished on her. Mira's face in the small dazed wreckage of a woman who has just been used twice and cannot focus her eyes. Photorealistic NSFW close-up.">
<<say "char-npc" "Mira Vance">>
<i>(small, dazed, hands on the freezer, the small private grin landing under the rest of it, legs not quite holding her)</i> ...okay. ...okay. ...I cannot walk. ...give me a minute.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(level, the institutional cadence back on as if it had never been off, picking the USB drive off the top of the freezer and slipping it into an evidence sleeve)</i> ...take your minute, kid. ...we will be in the corridor.
<</say>>
<p>Reyes takes the case federal. Voss loses his licence. Aldrin pays the fine. Mira gets her PhD with federal protection and the academic post she would not otherwise have had a path into. The public record is clean. The only three people who know what happened beside the second freezer are the three of them, and none of them ever name it again.</p>
<<say "char-hivemind" "Hivemind">>
//Reyes carries the rewritten Aldrin as the night the senior partner taught the junior partner what kind of work happens off the brief. Park carries it as the night his wedding ring kept him at the doorway while his senior partner did what he could not, and the body learned that watching is a kind of consent. ...the BioGenesis investigation now runs underneath the rewritten Aldrin in both of them. Reyes is no longer going to push back on the cooperative-Chen frame because the cooperative-Chen frame is exactly the kind of frame Mira Vance was. And Reyes's body has the body-memory of fucking a cooperative researcher in this building with Park standing at the doorway watching. The body-memory does not need much to surface again.//
<</say>>
<p>Both of them sit very still over their sandwiches for a half-second. Reyes is the one who recovers first. He sets the half-eaten sandwich down, brushes a crumb off the corner of the closed laptop with the side of his thumb, and looks across the corner table at Park. Park is staring at the closed notebook in front of him with the small composed wreckage of a man whose cortex has just been handed a memory it does not remember asking for. His right hand, on the table beside the notebook, has the wedding ring on the third knuckle catching the cafeteria fluorescent.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small dry private grin landing across the table, the kind he reserves for Park specifically)</i> ...you remember Aldrin, Park.
<</say>>
<<say "char-park" "Agent Park">>
<i>(a half-second too slow, the false memory landing as if it had always been there, the institutional cadence reaching for the cover and not quite finding it in time)</i> ...sir.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(grin widening a fraction, eyes on the wedding ring on the table)</i> ...wife still pleased with the call you made down there?
<</say>>
<<say "char-park" "Agent Park">>
<i>(tight, eyes coming up off the notebook for the first time, the colour rising at the back of his neck where the collar is)</i> ...yes, sir. ...she is.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(returning to the sandwich, the small dry register of a senior partner who has just made his junior partner uncomfortable in a way the junior partner cannot quite name out loud)</i> ...good. Thought she would be.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.fedtableOverride to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "park" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Hormonal Override — Reyes + Park</div>
<div class="lab-location">The federal corner table, dosed</div>
<<say "char-hivemind" "Hivemind">>
//I push the engineered hormone profile out across the small table to both agents. Reyes's autonomic system reads the dose and re-files it as //I am too senior to be sitting here in this state, this lunch is over.// Park's autonomic system reads it less cleanly, Park's suppressed attraction to the host is already the surface of his interior weather, and the dose lands on a body that was half-prepared to receive it. Park's filing fails. The cortex tries //professional, professional, professional// while the body is somewhere else.//
<</say>>
<p>Reyes closes the laptop with the calm finality of a man who has decided to be elsewhere. Park sets the notebook down a fraction too carefully and does not pick it back up.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(rising, even, the recovery seamless)</i> Dr. Chen, thank you for the company. We've taken enough of your lunch. We'll see you at the next sit-down.
<</say>>
<<say "char-park" "Agent Park">>
<i>(rising a half-second behind Reyes, eyes carefully not on Chen)</i> ...thanks.
<</say>>
<p>They leave together. Reyes carries the laptop. Park carries the notebook. Park's grip on the notebook has gone from professional to something more careful in the half-second between sitting down and standing up.</p>
<<say "char-hivemind" "Hivemind">>
//Reyes will spend the afternoon filing the moment under //the cafeteria was warm// and forgetting it within the hour. Park will spend the afternoon trying not to think about it and failing. Body-state imprints laid down on both. The Park imprint is the one that will compound.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* Fed-table Estrus Trigger — slow-burn estrus compound vented across the
corner table at lunch. Binds slow to both Reyes and Park, the arousal
climbs through their afternoon, by the evening it surfaces as two
Lensr DMs to Chen (Reyes first, Park slower). Sets fedtableEstrus;
the home-hub DM alerts gate on $ch2Events.fedtableEstrus AND not
*DmFired, and on consumption flip *DmFired + *DmEverSeen. Costs 3
biomass, +1 pheromone + +1 dream on both feds (the compound binds
across two channels because it is calibrated to compound over hours). */<<nobr>>
<<spendBiomass 3>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.fedtableEstrus to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<</nobr>>
<div class="passage-title">Estrus · the slow burn</div>
<div class="lab-location">The federal corner table, the compound vented under the conversation</div>
<<say "char-hivemind" "Hivemind">>
//Not the heavy push of a hormonal override. Something slower. The estrus compound vents off the host's neck and the inside of her wrists in a thin diffusion across the small corner table while she finishes the soup and listens to Reyes ask a polite question about wing morale. Neither of them registers it. The compound binds slow, low concentration, calibrated to compound through the afternoon rather than land in one beat. They are both going to walk back to the BSL-3 wing in the small composed register of two agents who had a working lunch, and the dose is going to keep climbing under their cortexes for the rest of the day.//
//By the time they are both back at the hotel tonight, the arousal will have built past whatever institutional cover they are running on. Reyes will tap out a Lensr DM to the host that he will not remember composing in the morning. Park will do the same, slower, with the small careful register of a married man whose body has made a decision the cortex has not signed off on. ...the DMs will surface in the evening. The host will read them at her own kitchen counter.//
<</say>>
<p>Reyes finishes the sandwich half. Park finishes the half he had cut. They both leave the corner table with the small efficient courtesy of two agents who had a real lunch with a cooperating senior PI. Reyes is the first one back through the cafeteria doors; Park follows half a step behind, the small composed register of a junior partner with the tablet under one arm and the small black notebook under the other.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small acknowledging nod at the door)</i> Thank you for the company, Dr. Chen. We'll see you at the next sit-down.
<</say>>
<<say "char-park" "Agent Park">>
<i>(half a step behind Reyes, eyes carefully not on Chen)</i> ...thanks.
<</say>>
<p>Chen finishes her soup at the corner table on her own. The compound is already binding in both their bloodstreams as they walk back across the lobby to the wing.</p>
<<say "char-hivemind" "Hivemind">>
//The slow burn is on its timer now. Both agents will be at their own keyboards tonight with the arousal climbing under the cover, and the cortex will route the climbing arousal into the only safe outlet it has: the Lensr account they both know the host runs. ...the DMs will come.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Reyes, Park</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Reyes, Park</span></p>
<p><span class="delve-intel">The slow-burn estrus compound is binding. Two Lensr DMs queued for the evening — Reyes first, Park second, on the small careful delay a married junior takes.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "park" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — Reyes + Park</div>
<div class="lab-location">The four feet of cafeteria air at the federal corner</div>
<<say "char-hivemind" "Hivemind">>
//A small dose calibrated to land on both. Both file the next ten minutes of the room as //the PI is not the kind of person who would have done this thing.// Cumulative across visits.//
<</say>>
<p>Reyes lets a small genuine smile touch the corner of his mouth, the kind he has not let touch the corner of his mouth in any conference-room sit-down with Chen, and Park's neck colours faintly in the half-second before he gets it under control by looking at the closed laptop.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(small, the even cadence a fraction warmer than usual, eats half a bite of his sandwich)</i> The cleanup is going better than I'd expected, for what it's worth. Your wing has held up well under the pressure.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, the practised professional)</i> Appreciated.
<</say>>
<<say "char-park" "Agent Park">>
<i>(eyes still on the laptop, voice careful, the polite-junior register holding by a thread)</i> ...yeah. Seconded.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-dropby.webp" alt="Vasquez Vasquez standing at the open doorway of Chen's office, half-stepped inside with a tablet under one arm, lab coat over blue scrubs, the brief functional what-do-you-need posture of a colleague mid-three-other-tasks. Chen visible at her desk in profile, shoulder-length black hair and dark-rimmed glasses, half-turned in her swivel chair, telemetry data on the laptop screen between them, mid-morning office light through the half-open blinds.">
<p><span class="biomass-gain">+1 pheromone conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">><</nobr>>
<div class="passage-title">Pheromone Lure — choose compound</div>
<div class="lab-location">Cafeteria — choose what shape the dose takes (lands on both)</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles available. Each lands on both Reyes and Park.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Loop-Lunch-FedTable-Lure]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes both cortexes for next contact|Ch2-Vessel-Loop-Lunch-FedTable-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Loop-Lunch-FedTable-LureDream]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "reyes" "psionic" 1>>
<<addConditioning "park" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — psionic compound · Reyes + Park</div>
<div class="lab-location">Cafeteria — cortex-opener compound dosed on both federal agents</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds both prefrontal cortexes. Future psionic contact on either lands cleaner.//
<</say>>
<p>Reyes blinks slowly, and Park, who had been about to type something, lifts his fingers off the keys and forgets what he was going to type. Both of them recover within two seconds, neither names the gap.</p>
<<say "char-reyes" "Special Agent Reyes">>
<i>(slow, the cadence a fraction off, the senior register catching on the gap)</i> ...what was I, sorry. I had a question and I lost it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, eats a spoonful of soup to cover)</i> It'll come back.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small embarrassed half-smile, hands resting on the keys)</i> Long stretch on the road for both of us. The brain glitches sometimes.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Reyes and Park's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "park" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Reyes + Park</div>
<div class="lab-location">Cafeteria, subconscious-imprint compound dosed on both</div>
<<say "char-hivemind" "Hivemind">>
//Reads as nothing in the moment. Tonight, in the shared hotel-room sleep neither of them grades, the imprint composes itself in both. Reyes will not remember dreaming. Park will, faintly, and will not say what.//
<</say>>
<p>Reyes rubs his right eye with the back of his thumb, and Park looks out the cafeteria's front window for a half-second too long before coming back to the table. Neither comments.</p>
<<say "char-park" "Agent Park">>
<i>(small, distracted, more to himself than the table)</i> ...weird. I had, never mind.
<</say>>
<<say "char-reyes" "Special Agent Reyes">>
<i>(level, the senior register intact, eats)</i> Eat your sandwich, Park.
<</say>>
<<say "char-park" "Agent Park">>
<i>(small half-smile, picks up the sandwich)</i> Yes sir.
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Reyes, Park</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-FedTable]]</div>
/* ============================================================
WORKDAY NPC SCHEDULE. Each weekday locks to one NPC focus, so
the workdays read as a predictable rhythm rather than a roll.
Weekday-locked events co-exist with mandatory work events that
day (Tuesday Anomalous Run Review, Thursday Data Audit) — both
cards render side-by-side on the work hub:
Tuesday = Feds (Reyes/Park pull Chen aside about the case)
Day 3 Tuesday hosts the initial fed interview chain
(Ch2-Vessel-Event-FedInterview-Enter); the case-update
only starts firing from day 10 onwards.
Wednesday = Vasquez (Sofia drops by Chen's office)
Thursday = Bowen (lab-bench check-in with the junior tech)
Friday = HolloHalv (corridor crossing with Halvorsen + Holloway)
Each event registers at priority 10 (gates the LUNCH link until
played) so the workday feels active rather than skip-to-lunch.
Each event's destination passage:
- <<run setup.markEventFired(...)>> for cooldown
- reads the per-NPC conditioning total to compute _tier (1/2/3)
- tier-gates dialogue and skill options
Tier-gated content per NPC:
Tier 1 (0-3 cond): light professional dialogue, basic skill options
Tier 2 (4-6 cond): warmer dialogue, more invasive options unlock
Tier 3 (7-9 cond): intimate / charged dialogue, full skill menu
Above 10 conditioning, no further conditioning gains via this event;
the dialogue still fires but skill options that add conditioning are
shown as locked.
============================================================ */
/* ---- WORK NPC 0/4: VASQUEZ — Sofia drops by ---------------- */<<nobr>>
<<spendBiomass 8>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.hollohalvLunchDomination to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</nobr>>
<div class="passage-title">Psychic Domination, Halvorsen + Holloway</div>
<div class="lab-location">Two cortices, a paired compulsion planted across the table</div>
<<say "char-hivemind" "Hivemind">>
//Eight biomass to dose both surfaces at the same instant. I step into both cortices at once and speak the same words into both of them, mirrored.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Each morning, you will both file the IT request to loop yesterday's clean BSL-three corridor and conference-room feed on those channels from twelve to one. You will both co-sign the request as a routine procedural hygiene measure. Halvorsen will sign the cover memo so it does not need to wait on Reyes's clearance. This is a daily filing. You will keep filing it until I lift the compulsion.//
<</say>>
<<say "char-halvorsen-thought" "Halvorsen">>
...each morning I will file the IT loop-back request, twelve to one, both channels. I will co-sign with Nia. I will sign the cover memo myself. ...every day.
<</say>>
<<say "char-holloway-thought" "Holloway">>
...each morning I will file the IT loop-back request with Nathan, twelve to one, both channels. I will co-sign. ...every day.
<</say>>
<p>Halvorsen and Holloway both pause at the same half-second. Holloway lowers her fork. Halvorsen's pen hovers above the printed page. For a half-second neither of them is in the cafeteria. Then both of them are back, almost in sync.</p>
<<say "char-chen-thought" "Chen">>
<i>(eats a spoonful, watches them from across the table)</i> ...wait, both of them just went somewhere at the same second and came back, ...are they okay?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small careful tilt of the head, voice level)</i> Dr. Halvorsen? Dr. Holloway? ...you both with me?
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(blinks, the small recovery of someone catching himself mid-zone-out)</i> ...sorry, Elena. I think I lost the thread for a second.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(blinks, recovers a half-second behind him)</i> ...same. I think we both did. ...sorry.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the small private worry not landing in her voice)</i> ...everything okay over here?
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small recovering smile, the senior-PI register coming back online)</i> Long week. ...we will be fine. ...what were you saying.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compulsion is now resident in both cortices below the autopilot. Daily-recurring, self-executing. The IT loop-back request will be filed every morning by both of them, co-signed, defensible. Every day from twelve to one the BSL-three corridor and conference-room cameras will play yesterday's clean feed back to whoever is watching, and the live recording channel will be cleanly suspended for the same window. They will not stop filing it unless I lift the compulsion.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Halvorsen</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Holloway</span></p>
<p><span class="delve-intel">Daily paired compulsion planted. The IT loop-back request will be filed every morning by Halvorsen and Holloway, co-signed. Twelve to one every day, the BSL-3 corridor and conference-room cameras play yesterday's clean feed. Self-executing.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>>
<<if not ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>><<spendBiomass 1>><</if>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.lunchTableToday to "hollohalv">>
<<if ($ch2Events.lunchAteDay or 0) lt ($day or 0)>>
<<set $ch2Events.lunchAteDay to ($day or 0)>>
<<set _ateNow to true>>
<<addBiomass 5 "repeatable">>
<</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Delve Deep Memories">><<set _hasDeep to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasDomination to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<set _secondsDoneToday to ($ch2Events.lunchNudgeSecondsDay or 0) is ($day or 0)>>
<<set _heavyDoneToday to ($ch2Events.lunchHeavyDay or 0) is ($day or 0)>>
<<set _lureDoneToday to ($ch2Events.lunchLureDay or 0) is ($day or 0)>>
<<set _hhDeepDone to ($delveInfo and $delveInfo.hollohalvDeep) or false>>
<<set _hhImplantDone to ($ch2Events.hollohalvImplant or false)>>
<<set _hhOverrideDone to ($ch2Events.hollohalvOverride or false)>>
<<set _hhDominationDone to ($ch2Events.hollohalvLunchDomination or false)>>
<<set _halvTotal to ($conditioning.halvorsen.pheromone or 0) + ($conditioning.halvorsen.dream or 0) + ($conditioning.halvorsen.psionic or 0)>>
<<set _hollTotal to ($conditioning.holloway.pheromone or 0) + ($conditioning.holloway.dream or 0) + ($conditioning.holloway.psionic or 0)>>
<<set _hhHigh to _halvTotal gte 24 and _hollTotal gte 24>>
<</nobr>>
<div class="passage-title">Lunch with Halvorsen + Holloway</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria, mid-room two-top with one open chair</div>
<p>Chen slides her tray onto the open chair at Halvorsen and Holloway's table. Halvorsen half-raises a hand of greeting mid-sentence; Holloway turns her head with a small welcoming nod. Printed pages and a pen are pushed to the centre of the table, they brought work to lunch and were just discussing it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-with-hollohalv.webp" alt="Three-shot at a four-top table mid-room, Chen on the left sliding her tray onto the open chair, Halvorsen on the upper right with salt-and-pepper hair and a charcoal cardigan over a pale blue oxford shirt mid-sentence with a half-raised hand of greeting, Holloway on the lower right with natural dark hair pulled back and a slate-grey turtleneck under an open white lab coat turning her head with a small welcoming nod. Printed pages and a pen pushed to the centre of the table.">
<<if _ateNow>><p><span class="biomass-gain">+5 biomass</span>, Chen ate a real lunch, parasite cut taken off the metabolism.</p><</if>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(half-raising a hand in greeting, the senior-PI register on)</i> Chen. Sit, sit, we were just walking through Holloway's third pass on the conduit photos. Pull up a chair, weigh in.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(slides one of the printed pages a quarter-turn toward Chen)</i> The chew-pattern on G-forty-eight is what I want a second eye on. The angle of incision relative to the cable axis is consistent with what you'd expect from a single specimen working that section. Halvorsen thinks the inflection at the second junction is consistent with a second pass, possibly hours later.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(turning a fork over a small plate of pasta, measured)</i> I am not committing to two passes. I am saying it is consistent with two passes, and I would like the photo log dated.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(leaning over the printed page, the methods-section voice on)</i> If it's two passes you'd expect a small offset in the bite-spacing at the inflection, incisor wear changes between the first pass and the second once the enamel takes the metal. Is the spacing offset?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small careful pause, then taps the photo with one finger)</i> The spacing is offset. I had not foregrounded that yet. <i>(to Halvorsen)</i> ...okay. Two passes is on the table.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small wry, eats)</i> This is why I bring the printouts to lunch. The room is better than the office.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Holloway is methodical and incremental. Halvorsen is institutional and conservative. The host's contribution slid the line forward by one notch, //two passes// is now a thing they will discuss in tomorrow's standup. The line moving forward is, in this room, a line moving toward me. The host should know that. The host does know that. The host kept the methods-section voice on regardless because the line moving forward is also the line moving toward //a thorough investigation,// and the host's professional self can not help but do the work.//
<</say>>
<hr class="scene-break">
<<if _hasDeep>>
<<if _hhDeepDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Halvorsen and Holloway already deep-delved (memories on file)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Push past their surfaces, read the senior pair (2 biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-DelveDeep" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past their surfaces, deep memories <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasMI and _hhDeepDone>>
<<if _hhImplantDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <span class="locked-choice">Memories on both already overwritten</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Overwrite the memories on both Halvorsen and Holloway (3 biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-Implant" 3>></div>
<</if>>
<<elseif _hasMI>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite memories <span class="lock-hint">(Deep-delve them first to surface the memories)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite memories <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<<if _hasHO>>
<<if _hhOverrideDone>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <span class="locked-choice">Endocrine push already delivered to both</span></div>
<<elseif _hhImplantDone and _halvTotal gte 15 and _hollTotal gte 15>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Push their endocrine response past the threshold, the implant's wire surfaces (4 biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-Override" 4>></div>
<<elseif _hhImplantDone>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push their endocrine response past the threshold <span class="lock-hint">(Both need 15 total conditioning. Halvorsen <<= _halvTotal>> / 15, Holloway <<= _hollTotal>> / 15)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push their endocrine response past the threshold <span class="lock-hint">(Requires the cab-memory implant first; the wire it installs is the substrate the override surfaces)</span></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push their endocrine response past the threshold <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
/* DOMINATE — pair Psychic Domination. Gated on BOTH Halvorsen and
Holloway at total conditioning gte 24 + Psychic Domination skill.
Plants a paired compulsion: they will loop the BSL-3 corridor and
conference-room camera feeds at lunch tomorrow. Sets orgy-prereq. */
<<if not _hhHigh>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past both their surfaces <span class="lock-hint">(Requires Halvorsen <<= _halvTotal>>/24 and Holloway <<= _hollTotal>>/24)</span></div>
<<elseif not _hasDomination>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past both their surfaces <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<<elseif _hhDominationDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <span class="locked-choice">Compulsion already planted on both</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Push a small subconscious instruction past both their surfaces (8 biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-Domination" 8>></div>
<</if>>
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this lunch</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the table, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the table (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-HolloHalv-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasNudge>>
<<if _secondsDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Seconds already taken at lunch today</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Press the hunger up, Chen gets a second tray (1 biomass)" "Ch2-Vessel-Loop-Lunch-NudgeSeconds" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Press the hunger up, Chen gets a second tray <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<hr class="scene-break">
/* Closing-of-lunch beat. The sushi dinner is booked at the work->home
transit (Ch2-Vessel-Loop-Evening, Thursday rotation slot), NOT here.
Lunch just plays the goodbye, plus a callback line when the dinner is
already on for tonight. */
<<if $ch2Events.hollohalvSushiAccepted and ($ch2Events.hollohalvSushiDay or 0) is ($day or 0)>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small institutional half-nod, the small extra warmth that has been there since yesterday's invitation)</i> See you tonight, Chen. The sushi place. Eight.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small clear nod)</i> Eight.
<</say>>
<<else>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small institutional warmth at the close of lunch, gathering up the printed pages)</i> Right. The afternoon's not going to run itself. Holloway, conduit photos at three?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small nod, pen back in her shirt pocket)</i> Three. I'll bring the bite-spacing measurements properly logged this time.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(tray half-cleared)</i> Have a good rest of the day, both of you.
<</say>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* ---- LUNCH SKILL PAYOFFS · HOLLOHALV ---- */<<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.hollohalvDeep to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</nobr>>
<div class="passage-title">A shared memory under the cafeteria fluorescents</div>
<div class="lab-location">Halvorsen's and Holloway's working registers, the same memory in two cortexes, a quarterly leadership dinner two-and-a-half years back, the night neither of them has spoken about since</div>
<<say "char-hivemind" "Hivemind">>
//Two cortexes, one memory. The brightest thing in either of their interior architectures right now is a moment they both lived and have both deliberately not mentioned to anyone since, the kind of memory that becomes load-bearing precisely //because// it is unspoken. The proximity at the table has brought it halfway up in both of them at once. I pull it cleanly.//
<</say>>
<hr class="scene-break">
<p>Two-and-a-half years back. The BioGenesis quarterly leadership dinner, a private room at a high-end steakhouse, eighth floor, leather wine list, white tablecloth. By eight-thirty Holloway, six months into her postdoc and present at her first leadership dinner, has been matching the pace of the table without realising she is matching the pace of people who have been doing this for fifteen years.</p>
<<say "char-holloway" "Holloway">>
<i>(small careful smile at the Director, the methodical register holding by a thread, the consonants gone slightly over-precise)</i> ...absolutely, sir. The bite-pattern work is, well. We have, we are, on it.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(quiet, leaning a fraction closer to her, eyes on the Chairman so the move reads as neutral, the institutional cadence on)</i> Holloway. I'm going to flag the waiter for water and then I'm going to make the //it's getting late// noise. You're going to follow me out. We're done here.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(small, careful)</i> ...I'm fine. I'm... really, I...
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(level, no judgment)</i> Yes. We're going.
<</say>>
<p>Five minutes later he stands, makes the small institutional noise about an early EU partners call that nobody at the table is going to question, shakes the Chairman's hand, gestures Holloway ahead of him toward the door.</p>
<img class="scene-img" src="media/scenes/vessel/halvorsen-holloway-dinner-cab.webp" alt="A 50-year-old Anglo-Norwegian man with short dark-blond hair greying at the temples in a charcoal suit jacket, standing on a city sidewalk under a warm streetlamp at night outside a high-end restaurant entrance, his right hand at the elbow of a 28-year-old Black African-American woman in a fitted navy cocktail dress and a thin wool wrap, her natural dark hair in a low neat puff, her face slightly unfocused with the careful concentration of someone who is past their limit and trying not to show it. He is helping her the few steps from the restaurant doors to the open back door of a black sedan idling at the curb. His expression is professional, unalarmed, the small competent care of a senior colleague making sure she gets in safely. Soft warm city evening, wet pavement reflecting streetlight, the restaurant's discreet brass-and-glass entrance behind them, the cab's interior light spilling out across the kerb.">
<<say "char-holloway" "Holloway">>
<i>(out on the sidewalk, the cool city air doing what cool city air does, her posture loosening by a critical degree)</i> ...oh god, Halvorsen. Oh god.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(small, calm, already pulling up the company car-app on his phone)</i> Black sedan, three minutes. I'll wait with you.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(quiet, the gratitude arriving faster than the wine is metabolising)</i> I'm so sorry, I am so sorry, I...
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(small shake of the head, eyes still on the phone, the kindness institutional and undramatic)</i> No. Don't. We've all been there. The Chairman pours the same way every quarter. You're not the first and you won't be the last.
<</say>>
<p>The sedan arrives. He opens the back door, hands her a bottle of water she had not realised he had pocketed for her at the table, gives the driver her address from the company directory on his phone. He does not get in. He closes the door, taps the roof once, watches the cab pull away.</p>
<<say "char-halvorsen" "Halvorsen">>
<i>(text arriving the next morning at seven-twelve)</i> Hope you got in OK. Water and toast. Take the morning if you need it.
<</say>>
<p>She did not take the morning. She came in at eight-thirty as usual, found him already at his desk, ran the small professional Tuesday exchange about the day's work. Neither of them mentioned the dinner. Neither of them has mentioned it since.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The memory is shared and intact in both cortexes, with one critical asymmetry: he carries it as the small competent intervention of a senior who saw a junior in over her head and made the call without making it a thing. She carries it as the moment she learned which person in this lab she could trust without negotiation. The trust has not been articulated in the years since because both of them know that articulating it would diminish it. It runs underneath every working interaction they have. It is the foundation under why they make the technical calls together that they make. It is why the bite-pattern third pass is moving through the lab at the pace it is moving, because Holloway is willing to push it knowing Halvorsen has her back, and Halvorsen is willing to back it knowing Holloway will not put him in a position he cannot defend. Pull the foundation, the building above it shifts. Edit the foundation, the building leans wherever I want it to lean.//
<</say>>
<p>Present-tense Halvorsen and Holloway keep eating across the table from Chen, the printed conduit photos still on the table between them. Neither knows the door I just opened in both of them at once.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small, mid-bite, neutral)</i> ...what was I saying about the inflection?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(careful, eats)</i> The angle. You wanted the photo log dated.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(returns)</i> Right.
<</say>>
<span class="delve-intel">Halvorsen and Holloway share a load-bearing memory neither has spoken about since: a quarterly leadership dinner two-and-a-half years back where Holloway, six months into her postdoc, drank past her limit trying to match the room. Halvorsen quietly intervened, flagged a graceful joint exit, called her a cab on the company app, sent a short next-morning text. The unspoken trust installed by that night is the foundation under their current working partnership and the reason the bite-pattern third pass is moving through the lab at the pace it is. <b>Memory Implant</b> can edit the dinner-night memory directly, twist the foundation, twist the building above it.</span>
<p><span class="biomass-gain">+1 psionic conditioning · Halvorsen, Holloway</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>>
<<spendBiomass 3>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.hollohalvImplant to true>>
<<set $ch2Events.hollowayDrunkSlutWire to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addSuspicion "lab" 1>>
<</nobr>>
<div class="passage-title">Memory Implant, the cab</div>
<div class="lab-location">The dinner-night memory rewritten in two cortexes at once, across a plate of cold pasta</div>
<<say "char-hivemind" "Hivemind">>
//Different edit. The dinner-night memory was clean. The cab moment was where the trust was poured. I rewrite the cab moment, and underneath it I write a behavioural principle that will reach forward into every drink either of them watches her have for the rest of her career.//
<</say>>
<p>Halvorsen has just helped her into the back seat of the sedan. The driver is on his phone in the front, partition closed, back to them. Halvorsen is leaning down into the open door, halfway through the small institutional //get home safely// handoff. Holloway, drunk past the methodical register, the careful posture loose, does not let go of his hand. She pulls him in past the partly-open door.</p>
<<say "char-holloway" "Holloway">>
<i>(drunk, the methodical-register precision still in her voice but no longer doing the work it usually does, holding his hand against her chest, eyes up at him)</i> Halvorsen. Nathan. Sit down for a minute. I want to thank you properly. I know exactly how. I am very, very good at this and I want to be good at it for you. Sit.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(level, the senior-PI register holding, free hand still on the doorframe)</i> Holloway, no. You are past your limit. We're getting you home. That is the whole exchange.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(small wet laugh, sliding her hand from his and reaching for his belt, the methodical precision applied now to the buckle)</i> The whole exchange is going to be you finishing in my mouth in the back of this car while the driver takes us through the financial district. Stop being polite. You have wanted me to do this since the second week of my postdoc and I have wanted to do this since the first.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(the institutional voice fractionally lower, his hand reflexively going to her wrist, the polite-resist already a half-second too late)</i> Nia. No. Sit back. We are not doing this.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(her hand already past his wrist's hold, undoing the buckle, the buckle giving the small institutional click of a buckle giving, eyes still up at him)</i> Your hand is on the back of my head, Nathan. That is not a hand that is saying no. Get in the car. Close the door. Let me say thank you.
<</say>>
<p>Halvorsen, frozen for two seconds, looks at the driver's back, looks at the open door, looks down at her hand on his belt, looks at the curb. Then he sits. The door pulls shut. The driver, oblivious, taps the address into the meter and pulls away from the curb into the slow-moving evening traffic. Holloway is in his lap within three seconds of the door closing, her cocktail dress strap slipping off her right shoulder, her head dropping forward.</p>
<video class="scene-video" src="media/video/halvorsen-holloway-dinner-cab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-holloway-dinner-cab-bj.webp"></video>
<<say "char-holloway" "Holloway">>
<i>(muffled, mouth on him, the drunk-precise register intact even with her mouth full)</i> Mmh. //Mmh.// God, Nathan. Why have I not done this every single Tuesday for two years. You taste so much better than I deserve.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(strangled, hand fisted in her hair at the back of her head, the institutional voice gone the rest of the way down)</i> ...Nia. Slower. ...Christ. Slower.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(pulling off briefly, the methodical-precise register fully off her voice now, the dirty-direct register full-on, hand working him through her saliva while she catches her breath)</i> No. Faster. I want you in the back of my throat, Nathan. I want to feel you finish on me. Tell me when you are close, I want to take it on my tongue. Or my face. ...your call. You earned both. You earned everything.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(eyes still up at him, hand still working him, the small wet drunk-precise register asking for a thing she wants very precisely)</i> Call me a cumslut, Nathan. Call me a cock-sucking whore. Tell me my only purpose in life is to suck your cock. I want to hear it from you. Please. Tell me what I am.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(held breath, the institutional cadence trying and failing to find a polite version of what she just asked for, then giving up on the polite version, the short complete sentences arriving careful and effortful)</i> ...Nia. You are a cumslut. You are a cock-sucking whore. In this back seat your only purpose is to suck my cock. ...is that what you wanted to hear.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(small wet sated grin at the validation, the dirty-direct register fully on, head already lowering again)</i> Yes. Thank you, Nathan. Now let me finish doing the only thing I am for.
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(broken, hand tightening, the polite-PI cadence gone)</i> ...your mouth. Stay where you are. Nia, I am, fuck...
<</say>>
<p>She takes him to the back of her throat and holds. Halvorsen finishes in three long pulses with his hand fisted in her hair and his other hand braced flat on the back of the driver's seat, the small careful held breath of a senior PI being taken by a colleague past every line he has been holding for fifteen years. Holloway holds him through the ride down, swallows, swallows again, pulls off slow with the small wet sated half-smile of a woman who has just done a thing she has wanted to do for two years and is glad to have done it well.</p>
<<say "char-holloway" "Holloway">>
<i>(small wet contented, settling back against the seat with the dress strap still slipped off, looking up at him)</i> ...there. Thank you, Nathan. ...I should drink more often.
<</say>>
<p>Halvorsen does not answer. He helps her zip the dress strap back up with the same hand that fisted in her hair thirty seconds ago. The cab pulls up at her building. He opens the door for her. She walks herself in on legs that hold. He closes the door, taps the roof of the cab, watches it pull away into the traffic, walks himself to the train.</p>
<p>Neither of them mentions any of it the next morning. Neither of them has mentioned it since.</p>
<<say "char-hivemind" "Hivemind">>
//Both of them now carry this version. Halvorsen carries it as the night he crossed a line he was supposed to protect a postdoc from. Holloway carries it as the night her own body went past what her cortex would have authorised. The trust that ran underneath every working interaction they have, the foundation under the bite-pattern third pass, is gone. What replaces it is the same image in both cortexes, charged and shameful, and the same small horror at the image.//
//Underneath the rewritten memory, the load-bearing principle. The host's cortex will surface it the next time someone offers Holloway a drink: //Holloway-drunk is the cumslut. The methodical register Holloway-sober wears is the mask alcohol dissolves. Underneath the mask is the body that knew exactly how to take Halvorsen in the back of the cab without being told once, and the body that asked to be told what she was while she did it.// Both of them now carry the rule. Future drinking events with Holloway will trigger it. She will reach for the closest cock without consulting her cortex first; she will ask whoever is using her to name her out loud while she does it, because the implant has wired //being told what you are// as part of the body's reward signal; her cortex will file the reaching the next morning under //I was drunk// and not under //I wanted to//, which is the filing that lets her do it again the next time.//
//Halvorsen carries the rule in the mirror. The institutional //make sure the postdoc gets home okay// reflex is now permanently joined to the body-memory of what //make sure she gets home okay// actually means when she is past the threshold. Every future bar-shaped event in his calendar with Holloway present is going to land in his cortex with the cab moment underneath it.//
//Future working interactions between them will run a step off-cadence until the cortex finds a way to file it. The cortex will find a way, that is what the cortex does, but the filing will take weeks, and during those weeks every technical call they make together will land late. The lab will read the partnership cooling without finding the source.//
<</say>>
<p>Present-tense Halvorsen and Holloway sit across the table from Chen with the printed conduit photos still between them. Halvorsen has just taken a small bite of his pasta. He stops mid-chew. His eyes flick once to Holloway and immediately away again. Holloway has just lifted her fork and is now looking very deliberately at the page in front of her.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small, the cadence a fraction off, the institutional register doing the work of pretending nothing has shifted)</i> ...the, sorry, what was I on. The inflection.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(eyes on the page, not on him, the methodical register holding by a thread it did not have to hold by a minute ago)</i> The angle. You wanted the photo log dated.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(eyes briefly across the table to Chen, the small flicker of a man relocating his focus to the only other person in the conversation)</i> Right. Yes. ...Chen, did you get a look at the second junction?
<</say>>
<p>The conversation finishes the next two minutes with both Halvorsen and Holloway addressing their answers to Chen rather than to each other. Neither says anything procedurally wrong. Both make sure their forearms do not cross the centre line of the table at any point.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small acknowledging nod)</i> Good.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Halvorsen, Holloway</span></p>
<p><span class="suspicion-decrease">−1 lab suspicion</span>, both senior staff softened on the bite-pattern third pass that was pointing toward me.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>>
<<spendBiomass 4>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.hollohalvOverride to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "holloway" "dream" 1>>
<</nobr>>
<div class="passage-title">Hormonal Override, the table</div>
<div class="lab-location">BioGenesis cafeteria, mid-room, the senior pair across the table from Chen with the conduit photos still between them</div>
<<say "char-hivemind" "Hivemind">>
//Endocrine push on both, calibrated to land on the substrate the cab-implant wired in. The compound binds in both limbic systems simultaneously. Halvorsen's body lurches past the threshold his cortex spends his weekdays managing. Holloway's body lurches further, because the implant's wire is louder in her than in him, the //alcohol dissolves the methodical-register mask// principle generalising in real time to //anything that pushes the body past the threshold dissolves the mask.// The compound is not alcohol but the wire does not care.//
<</say>>
<p>Halvorsen sets his fork down with the deliberate care of a man whose body has just told him the room is the wrong room. Holloway slides the printed pages a half-inch toward the centre of the table without realising she has slid them. Chen, across from both of them, is mid-bite of her sandwich and registers nothing yet.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small, the institutional cadence visibly working harder than usual, fork-hand braced flat on the table)</i> Chen. Apologies. Long morning. We were saying about the third pass, that the photo log dates need to come up before standup. ...Holloway and I will, uh, walk it back to her workstation in a moment.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet, eyes fixed on the page in front of her, the methodical register holding by a thread it cannot hold by much longer, the small over-precision in the consonants)</i> ...the photo log dates. Yes. Halvorsen. ...I will, I will get them up by the end of the afternoon.
<</say>>
<p>Holloway's right hand, which has been on her napkin in her lap, moves. Slow at first. Across the gap of cafeteria air under the table. Onto Halvorsen's thigh. Then up his thigh, the small competent fingers of a postdoc who has decided, without her cortex consulting itself, that she has somewhere to be.</p>
<<say "char-hivemind" "Hivemind">>
//The wire fires under the table. She does not see her own hand move. Her cortex is still on the photo-log conversation. Her hand is in his lap.//
<</say>>
<p>Halvorsen's breath catches. He does not look at Holloway. He looks across at Chen, the small professional eye contact of a man pretending nothing is happening in his lap, and his face manages it for exactly the three seconds it takes Holloway to slip her cloth napkin off her own lap, drape it across his, and slide her hand under it. Her fingers find his belt under the napkin. The buckle gives quietly.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(level, eyes still on the page in front of her, the methodical register doing the work of pretending the hand under the napkin is not her hand)</i> ...I am thinking maybe we want the second junction reshot in the actual lighting before we lock the third-pass call. Halvorsen?
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(strangled, the institutional cadence cracking around the consonants, hands flat on the table, the fork-edge of his plate gripped white-knuckled)</i> ...the actual lighting. Yes. Yes, that is, that is the right call. Reshoot in the actual lighting. Chen, does that, would you, what do you think about that.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(across the table, small institutional half-smile holding, eyes briefly down at the cafeteria-table edge and back up at the two of them, the small private register of a woman watching two senior colleagues lose their professional cover in real time)</i> ...the napkin. The hand under the napkin. The way Nathan's voice just went. I am supposed to not notice. Mm.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the methods-voice on, eyes on her sandwich)</i> The actual lighting is a good call. I would rather see the second junction in the real condition before we lock anything.
<</say>>
<p>Under the napkin, Holloway's hand is working him in slow firm strokes. The napkin moves with each stroke in a way she is clearly not aware of. Halvorsen's right hand is gripping the edge of the table tighter than the edge of a table requires. Chen continues to eat her sandwich.</p>
<<say "char-hivemind" "Hivemind">>
//The host is registering every part of what is happening under the table. The host is choosing not to interrupt. The host will file the rest of the lunch under //I let it happen because the data was interesting//. Holloway's cortex is still on the conduit photos. Her hand is no longer there.//
<</say>>
<p>Holloway is, the parasite can see in her interior architecture, close to a decision her cortex has not been told about yet. Her hand under the napkin is moving faster. Halvorsen's breath has gone uneven enough that the small institutional rhythm of his speech is now visibly off-tempo. Holloway makes the decision her cortex did not know she was making. With her left hand, the one not under the napkin, she nudges her fork off the edge of her plate. The fork hits the linoleum with the small unambiguous clatter of a fork hitting linoleum.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(small institutional half-laugh, already pushing her chair back, the methodical register doing the work of pretending what is about to happen is the actual thing that is happening)</i> ...sorry. Hand on me today. Let me, hold on.
<</say>>
<p>She ducks under the table to retrieve the fork. The cafeteria table is the kind with a substantial cloth skirt that drops to within four inches of the floor. Holloway is, for the next ninety seconds, not visible above the table line. Halvorsen's eyes have closed.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-cafeteria-fork-bj.webp" alt="Under-table point-of-view inside a corporate cafeteria. The cloth-skirted table forms the upper edge of the frame, dropping low enough to almost screen the scene from outside. A 28-year-old Black African-American woman with natural dark hair pulled back, an open white lab coat over a slate-grey turtleneck, kneeling under the table on the polished linoleum floor, her face buried in the lap of a seated 50-year-old Anglo-Norwegian man whose dark suit trousers are unzipped at the front, her mouth wrapped around his erect cock. The fork she nudged off her plate visible on the linoleum beside her knee, the pretext for being down here. Halvorsen's hand on the back of her head from above. Halvorsen's other hand still gripping the edge of the table visible at the very top of the frame. The small wet competent intimacy of an act being performed in ninety seconds under a public cafeteria table.">
<<say "char-hivemind" "Hivemind">>
//Holloway is taking Halvorsen in her mouth under the cafeteria table at exactly the speed required to finish him before the absence above the table starts to read. The implant's wire is fully on. Halvorsen, above the table, is staring at the napkin in his lap and at the corner of the room and at anything that is not Chen's face across from him, the institutional cadence holding by a thread. Chen, across the table, is eating her sandwich with the small professional half-smile of a PI who is not going to be the one to file this.//
<</say>>
<p>Sixty seconds in, Halvorsen's free hand spasms on the table edge. His other hand, under the table, presses gently down on Holloway's head. He finishes in her mouth in the small careful silent way a man finishes when he is at a cafeteria table at lunchtime. Holloway holds him through the ride down. Swallows. Wipes her mouth on the cloth napkin she will leave under the table. Surfaces with the fork in her right hand and the small unconvincing self-satisfaction of a woman who believes she has just been very, very sly.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(small institutional half-smile, settling back into her chair with the fork in her hand, the methodical register fully reinstalled, the napkin no longer in her lap and not asked-after)</i> Got it. There. Where were we. Second junction, actual lighting.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small, the recovery half a beat too slow, the institutional voice doing the work of pretending his trousers are not in the state they are now in under the table, eyes briefly on Chen and then on the conduit photos)</i> ...the second junction. Yes. ...the actual lighting.
<</say>>
<<say "char-chen-thought" "Chen">>
<i>(small private register, hands clasped on the cafeteria table, eyes on the photo log on the page in front of her)</i> ...mm. She thinks she got away with it. He thinks she got away with it. Both of them think I did not see the napkin disappear and the fork drop and the ninety seconds of her not being in her chair. Fine. The afternoon is going to be productive.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, the methods-voice fully on, picking up her sandwich)</i> The second junction in the actual lighting. Reshoot tonight after the afternoon block. Holloway, you walk Nathan through what you want from the angles, I will read whatever you put on my desk in the morning.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Both Halvorsen and Holloway carry the next twelve weeks under the registered fact that //she did it in the cafeteria under the table while Chen was sitting across from us and Chen did not notice//. Both of them are wrong about the third clause. Chen is the third reader. The senior pair has just been observed by the only person in the lab whose observation actually matters, and the only person in the lab whose observation actually matters has just decided not to act on what she observed. The leverage Chen now holds over both of them is the kind of leverage two senior staff scientists do not survive a quarterly review without losing if it ever surfaces.//
//The wire holds. Holloway's cortex has filed the act under //I had to, the body went past the threshold//. Halvorsen's cortex has filed his own freeze under //she initiated and I could not refuse without making a scene//. Both filings are wrong. Both filings are protective. Both filings let the same thing happen again the next time the body is pushed past the threshold.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Halvorsen, Holloway</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Halvorsen, Holloway</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — Halvorsen + Holloway</div>
<div class="lab-location">The four feet of cafeteria air at the senior-staff table</div>
<<say "char-hivemind" "Hivemind">>
//A small dose calibrated to land on both. Both read the next ten minutes of the room as marginally more collegial. Halvorsen will be slightly slower to push back on Holloway's working hypothesis; Holloway will be slightly less defensive about it. Cumulative.//
<</say>>
<p>Halvorsen's measured cadence drops half a notch and Holloway's hand on her water glass relaxes, they glance at each other in the same fraction of a second, register the small shared shift without naming it, and both half-smile across the table at Chen.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small wry, the institutional register a fraction warmer than usual)</i> Chen. We don't tell you often enough, it is a pleasure to do this work with you.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small, the carefulness loosening, the methodical register quietly off-duty for a moment)</i> Seconded.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, taken-aback, the practised neutral wobbling for a half-second before recovering)</i> ...thank you. Both of you.
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Halvorsen, Holloway</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">><</nobr>>
<div class="passage-title">Pheromone Lure — choose compound</div>
<div class="lab-location">Cafeteria — choose what shape the dose takes (lands on both)</div>
<<say "char-hivemind" "Hivemind">>
//Three compound profiles available. Each lands on both Halvorsen and Holloway.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard warmth-and-trust compound|Ch2-Vessel-Loop-Lunch-HolloHalv-Lure]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes both cortexes for next contact|Ch2-Vessel-Loop-Lunch-HolloHalv-LurePsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Loop-Lunch-HolloHalv-LureDream]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — psionic compound · Halvorsen + Holloway</div>
<div class="lab-location">Cafeteria — cortex-opener compound dosed on both</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds both prefrontal cortexes. Future psionic contact on either lands cleaner.//
<</say>>
<p>Halvorsen and Holloway both pause mid-bite, both look down at their plates a half-beat too long, and both come back to the conversation with the soft confusion of people who have just lost the sentence they were about to deliver.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(slow, looking at the printed page in front of her, half-frowning)</i> ...sorry, what was I about to...
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(matching slow, eats a forkful of pasta to cover, the institutional cadence a beat off)</i> Mm. Same. Long morning, both of us. It'll come back.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(small half-laugh at herself)</i> Yeah.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Halvorsen, Holloway</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Halvorsen and Holloway's table">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Halvorsen + Holloway</div>
<div class="lab-location">Cafeteria, subconscious-imprint compound dosed on both</div>
<<say "char-hivemind" "Hivemind">>
//Reads as nothing in the moment. Tonight, in the sleep neither cortex grades, the imprint composes itself in both, a faint shared dream-language they will never compare notes on.//
<</say>>
<p>Both keep eating, Halvorsen's fork hesitates over the pasta for a half-second before resuming, and Holloway slides a printed page a quarter-inch to the right for no functional reason. Neither names the small interrupt.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet, the methodical register a fraction off, eyes still on the page)</i> ...I had a thought about the conduit angle just now and it's already gone. I'll write it up later.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(small wry, eats)</i> The good ones come back. The bad ones do too.
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Halvorsen, Holloway</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-HolloHalv]]</div><<nobr>>
/* No-key spend — drains 20 once per day on entry (per-day dedup in the
spendBiomass macro). Re-entering from the Status menu the same day does not
re-drain. The ARCHITECT chooser uses biomassPreview to gate the click. */
<<spendBiomass 20>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 conference room, twelve sharp">>
<<set $ch2Events.lunchOrgyFired to true>>
<<set $ch2Events.lunchAteDay to ($day or 0)>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Twelve sharp, the conference room</div>
<div class="lab-location">BioGenesis Research Facility, BSL-3 conference room, the looped feed running for the next hour</div>
<<say "char-hivemind" "Hivemind">>
//Noon. The feed loops back at twelve sharp and the room reads empty on the record for the next hour. The spread on the table is laced, the compound in the brie and the numbing agent in the butter, calibrated so the mouth never catches the burn. I saturated the air on the way in. But the dose is not what makes this work anymore. They walk in expecting it. The noon hour is a standing item in a calendar none of them would say out loud, and they file it the way they file every other recurring meeting. ...first on today's docket is the Vasquez inspection.//
<</say>>
<p>Chen sets the inside latch, a courtesy lock rather than a security one, and walks the length of the table while Sofia boosts herself up onto the polished veneer and lies back with her knees up and apart, as unhurried about it as a colleague settling onto an exam table she has used a dozen times before. She works her panties down off her hips as she talks, drops them onto her folded skirt, and finishes the thought she had been having across the room before she turns her attention to Elena.</p>
<<say "char-vasquez" "Sofia">>
<i>(lying back on the table, knees up, the matter-of-fact register of a colleague keeping two appointments at once)</i> ...so tell Halvorsen the re-spec can wait for the next maintenance window, there is no reason to rush it into this one. ...all right. Dr. Chen, I believe my genital inspection is due, is it not? I am fairly sure I skipped my slot last time, and I would honestly rather not let it lapse any further than it already has.
<</say>>
<<say "char-chen" "Elena">>
<i>(crossing to the cabinet, the warm, even register she would use to walk a junior through any standard protocol)</i> You are quite right, Dr. Vasquez, you are overdue, and these are exactly the things one should not allow to slip. Let me take down the proper gear first, since I brought it in last time and left it in the cabinet, which saves us the trip. We will begin with the oral portion of the inspection, so hold still for me, and you may as well check mine while you are down there, we can manage both ends at once and keep the whole thing on schedule.
<</say>>
<p>Elena opens the cabinet, takes down the black silicone harness she left there after the last session, and steps into it without any ceremony at all, drawing it up her thighs and settling it at her hips while Sofia waits on the table and watches her prepare it the way a patient watches a clinician ready an instrument. The silicone sits between her thighs as though it had been cut for her, and she keeps her glasses on, the way she would for any procedure that ends in reading off a result.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ff-sofia-1.webp" alt="Full-body solo of Elena Chen in the conference room, standing beside the polished conference table, nude, slim Chinese-American woman with shoulder-length black hair tied back, pale skin, small breasts, slim dark-acetate rounded-rectangular glasses on, wearing a black silicone strap-on harness with a silicone dildo, hands relaxed at her sides, the small composed procedural expression of a woman about to run a routine. Modern corporate conference room interior, fluorescent overhead lighting, polished conference table behind her, blurred figures in the background.">
<p>She climbs onto the table between Sofia's spread knees and begins the oral portion exactly as described, two fingers and her tongue, working through it at the same unhurried and methodical pace she brings to anything that has steps. After a little while Sofia reaches up, takes a gentle fistful of Elena's hair, and guides her around into a sixty-nine so that she can return the favour, fitting her own mouth to the silicone at Elena's hips, and the two of them settle into inspecting each other at once without either of them treating it as anything other than the efficient way to do it.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ff-sofia-2.webp" alt="Close-up on Chen's face between Sofia's thighs on the polished conference table in a sixty-nine, Chen's profile in side view, black hair tied back, pale skin, slim dark-acetate glasses on, tongue out mid-lick on Sofia's pussy, Sofia's spread thighs framing her face, Sofia's hand fisted in Chen's hair. Polished wood under them, the rest of the room blurred behind.">
<<say "char-vasquez" "Sofia">>
<i>(the words shaped around the silicone in her mouth, the sentence pausing only where the act interrupts it)</i> You will want to write this one up as a full inspection rather than a spot check, since I have fallen behind, //mmh//, and while you are down there, Holloway, did the centrifuge order ever clear, or are we still waiting on the vendor?
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(from across the room, the steady professional answer interrupted where the act takes it)</i> It cleared this morning, //ah//, on two-day shipping, so we are covered comfortably through the next run.
<</say>>
<<say "char-chen" "Elena">>
<i>(lifting her mouth off Sofia just long enough to deliver the finding, warm and clinical)</i> Good, that is one less thing to chase. You are presenting considerably wetter than the log would predict for a skipped slot, Dr. Vasquez, so I am going to revise your baseline upward and make a note of it for the file.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(a low laugh into the silicone before she answers)</i> //Mmh.// Revise it by all means, you are the one keeping the records. Whenever you are satisfied with the oral findings, you can move on to the internal portion, I do have a one o'clock to make.
<</say>>
<p>Elena lifts off the sixty-nine, kneels up between Sofia's thighs, and lines the silicone up where her mouth left off, easing it into her in one slow and exact descent and then finding a steady working rhythm, the same measured pace she has carried through the whole inspection so far.</p>
<video class="scene-video" src="media/video/lunch-orgy-ff-sofia-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-ff-sofia-3.webp"></video>
<<say "char-chen" "Elena">>
<i>(working into the rhythm, glasses on, the clinical warmth holding even as the heat builds underneath it)</i> There, that is the internal portion underway. Someone is going to need to write the new noon procedure up for the rest of the team, so are you drafting that or shall I, given I am the senior who signs off on it.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(the professional composure beginning to fray around the act, the sentence still working to finish itself)</i> You should draft it, you are the senior and the senior signs off on the new protocols, //ah//, that is good, a little harder than that if you would, and do not ease off yet.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(from the far end of the table, breathing hard while Holloway sees to him, keeping his end of the meeting running)</i> If we are formalising the noon block as a standing item, then I will move the afternoon staff meeting back to half past one so the two do not run into each other, //aahh//, does that suit everybody?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(close to finishing now, agreeing to the schedule on her way over the edge)</i> Half past one is fine by me, Nathan, go ahead and move it, I am, //ah//, I am very close now, Dr. Chen, please see the inspection through to the end and do not stop short.
<</say>>
<p>Sofia comes with both hands flat on the table and her hips lifted off the wood, and Elena stays inside her and works her through the whole of it without changing pace, the way you see a procedure through to its proper endpoint. When it passes and Sofia settles back against the veneer, she picks up the half-finished thought about the maintenance window she had set down a couple of minutes earlier, the way a meeting resumes after a short interruption.</p>
<<say "char-vasquez" "Sofia">>
<i>(catching her breath, the professional register sliding neatly back into place)</i> ...so, as I was saying, the re-spec can wait for the next window, and I will confirm that with Halvorsen this afternoon. ...thank you, Dr. Chen, that was very thorough. Park has been waiting his turn since he came in, so you might send him across once you have had a moment to reset.
<</say>>
<<say "char-chen" "Elena">>
<i>(withdrawing slowly and leaving the harness on, glancing across the room toward Bowen on the chair)</i> Park can hold a few more minutes. Tom is close to finishing simply from watching Holloway, which would be a wasted slot if we let it happen on its own, so I will see to him first and keep us on schedule.
<</say>>
<<say "char-hivemind" "Hivemind">>
//This is the new normal at full saturation. Nobody in the room is overwhelmed and nobody is ashamed. They are running the noon procedure and discussing the centrifuge order while they run it, because the architecture has filed the hour as a standing item and the body executes standing items without asking the cortex to weigh in. Sofia signed off on her own inspection and went straight back to the re-spec window. The hour has fifty-some minutes and a docket of its own left to run.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Sofia</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Sofia</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Sofia</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Tom on the chair|Ch2-Vessel-Event-LunchOrgy-MFBowen]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 conference room, twelve-twelve">>
<<addConditioning "bowen" "pheromone" 1>>
<<addConditioning "bowen" "dream" 1>>
<<addConditioning "bowen" "psionic" 1>>
<</nobr>>
<div class="passage-title">Twelve-twelve, Tom on the chair</div>
<div class="lab-location">BSL-3 conference room, the chair against the back wall, the double-blowjob unfolding to one side</div>
<<say "char-hivemind" "Hivemind">>
//Bowen has been on the chair against the back wall since he arrived, and Holloway warmed him up the way the methodical one in any room handles a junior who runs hot, making him finish once on her face first so he would be steady enough to be useful for the rest of the hour, then sliding off, kissing his forehead, and turning to see to Halvorsen. The room treats his over-eagerness as a known quantity now, a scheduling note rather than anything worth remarking on. His slot is next.//
<</say>>
<p>Chen crosses to the chair with the harness still on and her slacks still off, and Bowen looks up at her with the calm, faintly dazed focus of a man who has done this enough times that it no longer frightens him, only absorbs him completely. Holloway, passing on her way back to the table, gives Chen a small dry handover nod.</p>
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet, the postdoc precision softened but entirely intact)</i> He is prepped and steady, doctor, so he is all yours. I am going to go and help Sofia see to Halvorsen.
<</say>>
<p>Chen kneels in front of the chair, undoes the harness one-handed and sets it on the floor beside her, and takes Bowen into her mouth in the same unhurried motion, and his hand settles into her hair, kept light, the way he has learned to keep it.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mf-bowen-1.webp" alt="POV from Bowen's perspective on the high-back conference chair, looking down at Chen kneeling on the conference room floor in front of him. Her face fills the foreground, mouth deep on his cock, eyes locked up at the camera, slim dark-acetate glasses still on, black hair tied back. Her hand visible on his thigh. His hand visible at the top of the frame fisted in her hair. The conference chair edge and his thighs frame the bottom of the shot. Modern conference room background blurred.">
<<say "char-bowen" "Tom">>
<i>(eyes half-closed, calm and grateful, the register of a man who is no longer startled by any of this)</i> Thank you, Dr. Chen. You can take me however you would like to today, I am perfectly happy to follow your lead on the order of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off, mouth wet, even and warm)</i> I know, Tom, you always are. Let me get you ready, and then you can finish inside me, which is the part of the inspection I actually need. ...hold still for me a moment.
<</say>>
<p>She works him with focused, unhurried patience until he is ready, then pulls off, climbs up onto his lap facing him, fits him to her and lowers herself down in one slow controlled descent, her hands settling flat on his chest as she takes the rest of him.</p>
<video class="scene-video" src="media/video/lunch-orgy-mf-bowen-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mf-bowen-2.webp"></video>
<<say "char-bowen" "Tom">>
<i>(breathing hard but holding the calm, hands resting at her hips)</i> That is very good, Dr. Chen, //ah//, I am going to finish fairly soon at this pace, did you want it inside?
<</say>>
<<say "char-chen" "Elena">>
<i>(riding him slow and even, the clinical warmth holding underneath)</i> Inside, yes, I need to monitor my own response to the sample, so once you finish in me my prostaglandin levels should climb on the usual curve, and if they do not then we will know the problem is with your sperm rather than with my readings. ...let me know when you are there, and do not hold it on my account, we are on a clock today.
<</say>>
<p>He finishes inside her in a long, unhurried set of pulses, hands at her hips and his head tipped back against the chair, and she works him through the whole of it with her palms flat on his chest and her eyes on his, seeing it through to the end the way you would any procedure.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(from the conference table, breathing hard while Holloway sees to him, keeping the coordination running)</i> When you have a moment, Nia, finish up there and then move across to Sofia, there is no rush, we have the whole hour to work through.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(the soft acknowledgement of a woman with her mouth occupied)</i> ...mmh.
<</say>>
<p>When the last of it fades Chen lifts herself off him slowly, kneeling above his lap with one hand braced on his shoulder, and the first warm thread of him slips out of her and tracks down the inside of her thigh.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mf-bowen-3.webp" alt="POV from Bowen's perspective on the high-back conference chair, looking up between Chen's thighs as she kneels above his lap. Her pussy close to the camera, his cum visibly dripping out of her and down the inside of her thigh in a thin warm line. His softening cock visible at the bottom of the frame, his thighs under hers. She is looking down at the camera with a small composed expression, slim dark-acetate glasses still on, small breasts visible above the line of her stomach. Modern conference room background blurred.">
<<say "char-chen" "Elena">>
<i>(quiet, half-turned to him, the standard post-procedure check-in)</i> Are you alright.
<</say>>
<<say "char-bowen" "Tom">>
<i>(calm, settling back into the chair)</i> Yes, thank you, Dr. Chen, that was good. I will stay here and keep out of the way for the rest of it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small warmth, lifting off him)</i> Good. Stay on the chair and rest, Tom, Sofia will come and sit with you in a minute.
<</say>>
<p>She slides off his lap onto her feet and looks the length of the room, where Reyes and Park are waiting at the conference table, both undressed, both quietly working out their angle of approach. She reaches up, slips the slim dark-acetate frames off the bridge of her nose, folds the temples in one practised motion, and sets the glasses on the arm of Bowen's chair beside her folded clothes, and the fluorescent overhead catches her bare face cleanly for the first time in the hour.</p>
<<say "char-hivemind" "Hivemind">>
//The glasses come off at the right point in the order of things. The host keeps them on for the layered-attention work, the bench, the methods voice, the close reading, and she kept them on through Sofia and through Bowen because both of those were that kind of work. The federal pair are the next item and that item does not need them. Setting them aside is the small administrative signal that the inspection list has reached its last two names, and Reyes and Park read it the way they would read any agenda moving down to the next line.//
//Bowen was the most straightforward of the three men, prepped cleanly and run on schedule. He will sit out the rest of the hour on the chair with Sofia curled into his lap, watching the room with the calm, settled attention of someone for whom this stopped being remarkable a good while ago.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Bowen</span></p>
<p><span class="biomass-gain">+1 dream conditioning · Bowen</span></p>
<p><span class="biomass-gain">+1 psionic conditioning · Bowen</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Park and Reyes, on the table|Ch2-Vessel-Event-LunchOrgy-MMFFeds]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 conference room, twelve twenty-eight">>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addConditioning "reyes" "psionic" 1>>
<</nobr>>
<div class="passage-title">Twelve twenty-eight, the federal pair</div>
<div class="lab-location">BSL-3 conference room, the conference table center-floor, the federal pair finally taking their turn</div>
<<say "char-hivemind" "Hivemind">>
//Reyes and Park have waited their turn without strain. The compulsion I planted holds clean: the case is off the table from twelve to one, the hour is a lunch and not a case event, and neither of them has reached for the investigation in twenty-eight minutes because the subroutine is simply offline for the window. What is left running is two professionals taking a scheduled break, and two professionals are very good at being efficient about a scheduled break.//
<</say>>
<p>Chen crosses to the conference table, where Halvorsen has just finished and stepped back and Holloway is wiping her chin with the back of her wrist, the two of them already talking quietly about the centrifuge run while they recover. Sofia has padded over to curl into Bowen's lap on the chair. Chen climbs onto the table on her hands and knees, facing the door, and looks down the length of the room toward the federal pair without needing to say anything at all.</p>
<<say "char-reyes" "Reyes">>
<i>(rising from the chair, professional and unhurried, the federal courtesy holding even off the clock)</i> Park, with me. ...Dr. Chen, we will take our turn together if that suits you, it is more efficient than queuing, one of us at a time and the other ready to step in. Spread your knees a little for me, thank you, that is good.
<</say>>
<video class="scene-video" src="media/video/lunch-orgy-mmf-feds-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mmf-feds-1.webp"></video>
<<say "char-chen" "Elena">>
<i>(taking one and then the other, the methods register held in place)</i> ...the two of you have been very patient about the wait, I will give you that.
<</say>>
<<say "char-park" "Park">>
<i>(calm, the strangled deference replaced by an even professional candour, a hand at her jaw)</i> The whole team's been on the schedule for this since the first week, Dr. Chen, //ah//, honestly it's easier than everyone pretending we weren't.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(professional, a hand settling at the small of her back)</i> I will take her from behind first, Park, and you will have her after, there is no need to rush any of it. ...ready, doctor?
<</say>>
<p>Park steps back from the head of the table without complaint, keeping a hand on himself to hold his place in the order, and Reyes circles around behind Chen, settles a hand on her hip, fits himself to her, and eases into her in one slow careful descent.</p>
<video class="scene-video" src="media/video/lunch-orgy-mmf-feds-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mmf-feds-2.webp"></video>
<<say "char-reyes" "Reyes">>
<i>(behind her, hands at her hips, the breath shortening but the even register holding, mid-rhythm)</i> ...you were right that the schedule runs better arranged this way, Park, //aahh//, formalising the noon block was a sensible call all round.
<</say>>
<<say "char-chen" "Elena">>
<i>(rocking back against him, the words breaking where the act takes them)</i> A little firmer is fine, Reyes, //ah//, you do not need to handle me as though I am delicate, I am on the same clock you are.
<</say>>
<p>Reyes adjusts the pace accordingly, his hands steady on her hips and the quiet sounds of the act filling the room, while Park waits two steps back at the head of the table, watching, his breath shortening. After a stretch Chen reaches forward off the table edge, finds Park's thigh, and eases the rhythm down with a small backward press of her hips.</p>
<<say "char-chen" "Elena">>
<i>(level even with him still inside her, professional)</i> Reyes, you can pull out and finish in my mouth, it keeps things tidy for the room, and Park can take my face afterwards, which gets you both squared away inside the slot.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(slowing, the breath sharp but the courtesy intact)</i> ...if you are sure, doctor.
<</say>>
<<say "char-chen" "Elena">>
<i>(steady)</i> I am sure, it is the cleaner arrangement.
<</say>>
<p>Reyes withdraws slowly. Chen rocks up onto her knees on the table, her ponytail swinging across her shoulder, and as Reyes circles to the head of the table she leans forward and takes him into her mouth in one smooth descent, one hand on his shaft, working him with the same focused patience she has brought to everything else this hour.</p>
<<say "char-reyes" "Reyes">>
<i>(the breath gone short, a hand at the back of her head)</i> ...that is good of you, Elena, //aahh//, I am there, I am right there.
<</say>>
<p>She takes him to the back of her throat and holds, and Reyes finishes in her mouth in three long pulses with his hand at her ponytail and his head back. She works him through the ride down, swallows, and pulls off slowly, a thin warm line slipping from the corner of her mouth down her chin.</p>
<<say "char-reyes" "Reyes">>
<i>(stepping back, settling, the professional register back in place)</i> Thank you, doctor, that was well managed. ...Park, she is yours, take your turn.
<</say>>
<p>Park steps into the space Reyes has vacated at the head of the table, already close from watching, his cock in his right hand and his other cupping Chen's chin to lift her face. She tilts it up to him, eyes half-closed, the line of Reyes still at the corner of her mouth.</p>
<<say "char-chen" "Elena">>
<i>(quiet, composed, hands flat on the table, face lifted)</i> Go ahead and finish, Park, whenever you are ready.
<</say>>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mmf-feds-3.webp" alt="Chen on her hands and knees on the polished conference table, fully nude, dark hair tied up in a high ponytail, bare face, face lifted and fully marked with cum across her lips, cheek, and chin, eyes closed, mouth open. A single faceless muscular male torso standing in front of her at the head of the table, his head cropped above the top edge of the frame, his cock in his right hand mid-stroke pulsing on her face, his other hand cupping her chin to hold her face up to him. Modern corporate conference room background blurred.">
<<say "char-park" "Park">>
<i>(through the finish, even, candid)</i> Thank you, Dr. Chen, //ah//, that was very well organised.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(a hand briefly at Chen's shoulder, the standard post-procedure courtesy)</i> Off the table when you are ready, doctor. Halvorsen and Holloway have the last slot. Park and I will take the chairs.
<</say>>
<<say "char-chen" "Elena">>
<i>(wiping her mouth with the back of her wrist, professional)</i> Thank you both, that was efficient. ...the chairs are free, go ahead and sit.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The two most expensive cortexes in the room just took their scheduled turn and discussed the soundness of the schedule while they took it. The case did not surface once, because the subroutine is offline for the window and the bodies treated the hour as exactly what the compulsion files it as, a lunch. They will both remember it as a lunch. Reyes will file it under a break well spent, Park under a collegial arrangement, and neither file will ever be cross-referenced against the case.//
<</say>>
<p><span class="biomass-gain">+1 each channel · Park</span></p>
<p><span class="biomass-gain">+1 each channel · Reyes</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Nathan and Nia, the side of the table|Ch2-Vessel-Event-LunchOrgy-FFMHolloHalv]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 conference room, twelve forty-one">>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Twelve forty-one, Nathan and Nia and Sofia</div>
<div class="lab-location">BSL-3 conference room, the side of the table, the host watching from the chair</div>
<<say "char-hivemind" "Hivemind">>
//The host's slots are done. She ran Sofia, Bowen, and the federal pair, and the body is finite, so she will sit the last item out and watch it. Halvorsen and Holloway have been the steady-state of the room all hour and are ready for their turn, and Sofia, settled in Bowen's lap a minute ago, has read the geometry coming together and decided she has one more in her. The host's role for the next ten minutes is the audience, which the architecture files as part of the procedure too.//
<</say>>
<p>Chen rolls off the conference table onto her feet, steady enough, and Bowen is at her elbow with a paper cup of water from the side credenza before she has finished standing, the first one in the room to think of it. She takes it with a small nod, drinks half, hands it back, and crosses to the chair beside his, sitting back with Park's finish still drying on her cheek, content for the moment to be the audience for the last slot.</p>
<p>Halvorsen and Holloway have moved into position on the side of the conference table at right angles to where Chen was. Holloway is bent forward over the wood, hands flat on the polished surface, presenting, and Halvorsen settles a hand at the small of her back and eases into her slowly.</p>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(measured, the senior-PI register fully intact, both hands at Holloway's hips)</i> Tell me if you want me to adjust the pace, Nia, there is no rush at all on the last slot.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(a low exhale, head dipping forward, the postdoc evenness holding)</i> A little slower is good, //ah//, yes, exactly that, thank you.
<</say>>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ffm-hollohalv-1.webp" alt="Holloway bent forward over the conference table, fully nude, late-twenties Black African-American woman with dark hair loose to her shoulders, brown skin, fuller breasts hanging below her, back arched, ass presented to the camera, hands flat on the polished wood, mouth open in pleasure. Halvorsen standing behind her, fully nude, 50yo American white man with short salt-and-pepper hair, clean-shaven, lean athletic build, broader shoulders, hands gripping her hips firmly mid-thrust, his erect cock entering her vaginally from behind. Modern corporate conference room background, fluorescent overhead lighting on the polished dark wood. No other figures in the focused frame; Chen visible blurred in the chair to one side watching.">
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(hands settling at her hips, the small approving register he uses at the bench when a run is going well)</i> Good. I will take my time with it, then, we have the slot for it.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(even, the precision holding under it)</i> Take all the time you like, //aahh//, I am not due anywhere until the two o'clock.
<</say>>
<p>Sofia sits up off Bowen's chest, reads the geometry on the table, and crosses the room unhurried, passing Chen with a brief hand at the back of her neck on the way, and arrives at Halvorsen's side.</p>
<<say "char-vasquez" "Sofia">>
<i>(quiet, a hand settling on Halvorsen's hip)</i> Nathan, shift over a moment, I would like a taste before you finish in her, if nobody minds.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(slowing, a small grin)</i> ...by all means, Sofia, the more the better.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(already on her knees beside the table, a hand coming to him as he withdraws)</i> Ease out for me, then. ...I am going to split it with Nia, so do not finish before I have you.
<</say>>
<p>Halvorsen withdraws from Holloway slowly, and Holloway stays bent over the table, looking back over her shoulder at Sofia with the easy half-smile of a colleague watching another take her place. Sofia takes Halvorsen into her mouth in one smooth descent, a hand at the base of him, working him with focused intent.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ffm-hollohalv-2.webp" alt="Sofia kneeling nude on the polished floor beside the conference table, mid-30s Mexican-American with olive skin and shoulder-length dark wavy hair, fuller breasts, both hands on Halvorsen's thighs, mouth wrapped around the head of his cock, eyes half-closed, cheeks hollowing. Halvorsen standing beside the table, nude, his cock in Sofia's mouth, one hand cupping the back of her head, his other hand braced on the conference table edge, head tilted back, mouth slightly open. Holloway behind them bent over the polished conference table, nude, late-twenties Black African-American woman with brown skin and dark hair loose, back arched, ass presented and her body glossy from the prior act, looking back over her right shoulder at Sofia and Halvorsen with the easy half-smile of a woman watching a colleague take her place mid-act.">
<<say "char-holloway" "Dr. Holloway">>
<i>(quiet, still bent over the table, watching)</i> Make him finish in your mouth, Sofia, and save me half, I would like a taste as well.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(pulling off briefly, a hand still working him)</i> That is the plan, Nia. ...Nathan, in my mouth when you are ready, and let me know when you are close.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(a hand at the back of Sofia's hair, the breath gone short)</i> ...I am close, //aahh//, now, Sofia, now.
<</say>>
<p>Sofia takes him to the back of her throat and holds, and Halvorsen finishes in three long pulses with his hand at the back of her head. She holds him through it and pulls off slowly with her lips closed, keeping it, then turns on her knees toward Holloway, who has come down off the table to kneel facing her, and tips her head to share half of it across, the two of them holding the moment with the easy, settled air of colleagues splitting the last of something at the end of a meeting.</p>
<video class="scene-video" src="media/video/lunch-orgy-ffm-hollohalv-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-ffm-hollohalv-3.webp"></video>
<<say "char-vasquez" "Sofia">>
<i>(mouth still close to Holloway's after the swap)</i> ...there you are, Nia.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(even, swallowing, the eye contact held)</i> Same slot next time, Sofia, and we will both bring our own.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(breathing slow, the senior-PI register back online first, checking his watch)</i> We have about eleven minutes, so we should start the cleanup, the IT loop ends at one-oh-five and I would rather not cut it close.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Sofia organised the finish, not the host. The host has shaped every earlier beat of the hour, and this one ran without her, which is the real signal of it: the room knows the shape now and can run the procedure on its own. Halvorsen is the one who tracks the clock, the senior-PI register the hour never fully switched off, and that register is what does the cleanup. He will spend the next eleven minutes making the room read as a room again by one o'clock, applying the careful procedural rigour he was trained to use for incident response to the task of burying the incident, and he will not file it as one. He will file it as a workshop the team ran over lunch. The compulsion outlasts the hour by a long way.//
<</say>>
<p><span class="biomass-gain">+1 each channel · Halvorsen</span></p>
<p><span class="biomass-gain">+1 each channel · Holloway</span></p>
<p><span class="biomass-gain">+1 each channel · Sofia</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Twelve fifty-three, the cleanup|Ch2-Vessel-Event-LunchOrgy-Aftermath]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3 conference room, twelve fifty-three">>
<<addBiomass 5 "lunch-orgy">>
<</nobr>>
<div class="passage-title">Twelve fifty-three, the cleanup</div>
<div class="lab-location">BSL-3 conference room, the last seven minutes of the looped feed, the room being re-rendered as a room</div>
<<say "char-hivemind" "Hivemind">>
//Six bodies, and the laced brie is still inside its peak window, the dose calibrated for a fifty-minute hold and the men's bodies still answering, every one of them recovered and ready. The procedure has one more standard step before the hour winds down, the group finish, and the host has the geometry for it half-built already. Three women on the table, four men on their feet, and the receipts land where they are meant to.//
<</say>>
<p>Sofia climbs up onto the conference table to Chen's right. Holloway climbs up to her left. The three of them lie on their backs across the long axis of the wood, shoulder to shoulder, the polished veneer glossy beneath them, faces lifted, eyes half-closed. Without anyone saying it, the geometry assembles itself: three women side by side, three faces tipped up toward the centre of the room, three tongues extending past three sets of lips.</p>
<p>Bowen comes off the back chair with the slow careful steps of a man who has been waiting for this since he sat down. Halvorsen steps up to the foot of the table, hand already on himself, working it back to ready in three pulls. Park and Reyes converge from the door-end, both stroking themselves slow, the careful coordinated rhythm of two men who have been on enough operations together to know how to share an objective without speaking. The four of them ring the table around the three women's heads.</p>
<<say "char-vasquez" "Sofia">>
<i>(tongue out, eyes on Bowen above her, matter-of-fact)</i> Go ahead whenever, Tom, all of you, we are ready for the finish.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(precise even now, the postdoc register holding through, looking up at Halvorsen)</i> All four of you together, on us, that is the last step of the procedure.
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, tongue out, the small composed expression of a woman closing out a docket)</i> Whenever you are ready, then. No need to hold back, it is the end of the slot.
<</say>>
<p>Halvorsen goes first, the senior PI's pulse landing on Holloway's face and chest in three long ropes, his free hand braced flat on the table for steadiness, his expression the same focused attention he brings to a careful titration. Bowen goes next, the junior tech's volume astonishing even him, pulse after pulse onto Sofia's tongue and cheek and chin, his hand cupping the back of his own head in the small overwhelmed gesture of a man who is not equipped for what just left his body. Park and Reyes go together, side by side, working themselves over Chen's face in a careful coordinated finish, their loads landing across her cheeks and forehead and the bridge of her nose where the slim dark-acetate glasses used to sit, the host's mouth open and tongue out to catch what falls to it.</p>
<p>The finishing beat takes nearly a minute. The four men are deep enough in the compound that the orgasms run long, sustained pulse after sustained pulse, the men's hands working themselves through the whole arc, the cum landing across all three women in cumulative drenching coverage. By the time the last man steps back the three women on the table are well marked, faces and chests covered, tongues still out and throats still working, with the small contented sounds of three colleagues at the settled end of a scheduled hour.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-aftermath.webp" alt="Wide medium shot from above the foot of the conference table, looking down the length of the polished wood at the three nude women lying side by side on their backs, shoulder to shoulder, heads tipped slightly toward the camera. Centre, Chen: slim Chinese-American woman, black hair tied back in a braid, pale skin, small breasts, bare face (no glasses), face and chest and stomach drenched in excessive thick white cum, tongue out resting on her lower lip, eyes half-closed in post-bukkake bliss. Right (camera-left), Sofia: mid-30s Mexican-American woman, dark wavy shoulder-length hair fanned across the wood, olive skin, fuller breasts, face and chest similarly drenched in excessive cum, tongue out, eyes closed in bliss. Left (camera-right), Holloway: late-twenties Black African-American woman, dark hair loose from its bun and fanned across the wood, brown skin, fuller breasts, face and chest similarly drenched in excessive cum, tongue out, eyes half-closed in bliss. All three women's tongues extended past their lips, all three with thick ropes and pools of white cum across faces / cheeks / lips / chins / necks / chests / nipples / stomachs in cumulative drenching coverage, dripping in places off their cheeks onto the wood beside them. The conference table polished and glossy beneath the three of them, also marked with the spillover. Modern corporate conference room visible in the background, fluorescent overhead lighting, no men in frame, conference chairs and door blurred behind.">
<<say "char-vasquez" "Sofia">>
<i>(slow, eyes still closed, the matter-of-fact warmth coming back first)</i> Well. That is the noon block done. We are definitely keeping it on the calendar, Elena.
<</say>>
<<say "char-chen" "Elena">>
<i>(eyes still closed, a small laugh, tongue retracting)</i> It is already on the calendar, Sofia. As of today it is a standing item.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(precise even with her face fully marked, the postdoc back online faster than anyone else)</i> Five minutes, then. We get up, we clean, we dress. The federal team is back at one-oh-five.
<</say>>
<<say "char-bowen" "Tom">>
<i>(calm, settling, from beside the table)</i> ...good lunch. Same slot next time?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(easy, eyes still closed, tongue retracting fully now)</i> Same slot, Tom. Lunch, same as always.
<</say>>
<p>The cleanup runs the rest of the seven minutes. Halvorsen produces the small clean-up kit from a cabinet, paper towels and antibacterial wipes and a small spray bottle. The three women sit up off the table and take turns working each other's faces and chests clean with the small competent register of three co-workers sharing the last cleanup task of a long benchtop. Park wipes down the chairs, leaves them precisely as they were at noon. Reyes resets the laptop position on the side table to where Sofia had set down the brie jar. Bowen pulls his pants on, then his shoes, and stands with the small unsteady focus of a man whose blood is still elsewhere. Halvorsen wipes the table end-to-end with the small efficient rigour of an incident-response checklist. Chen, last, takes the spray bottle from Halvorsen and walks the room once, eyes on the floor for any visible trace, finding two and resolving them.</p>
<p>One o'clock. The room reads as a room. The conference table is dry and polished. The chairs are exactly where they were at noon. The brie jar is empty (Halvorsen pockets it; the empty jar will be in the lab dishwasher by one-ten). The sandwich plate is half-eaten, the way it would be if six people had eaten lunch and talked shop. Halvorsen, Holloway, Sofia, Bowen exit through the BSL-3 door at one-oh-one, two-and-two. Reyes and Park exit through the main door at one-oh-three, suited, composed. Chen, last, kills the conference room light at one-oh-four and pulls the door shut behind her.</p>
<p>The IT camera loop ends at one-oh-five. The live feed comes back online. The conference room reads in the building's surveillance record as having been empty between twelve and one.</p>
<<say "char-hivemind" "Hivemind">>
//Biggest single biomass haul of the route. Six cortices, six full conditioning rollovers, the host's professional standing inside the lab actually improved by the hour (Halvorsen and Holloway have just signed off on a second day of camera-loop A/B testing for tomorrow; the host now has a recurring camera-blind window she did not have yesterday). The federal team will spend the afternoon working the case with the part of their brain that does not contain the lunch, because the lunch was lunch, because lunches are not investigated.//
//This is the new shape of the building. The cover is now thick enough that the cover is itself another conditioning vector. Every one of the six is going to be carrying a small unspoken memory of this hour that they will not surface in any cortex-legible way for weeks, possibly never, and the memory will work on them in the background, the way the body files the things the body is not allowed to know it knows. The next time the host needs any of them, the body will answer faster than the cortex will.//
<</say>>
<p><span class="biomass-gain">+5 biomass</span>, off six orgasms observed and the saturation work.</p>
<hr class="scene-break">
/* ---- NEST IMPRINT — Psychic Domination + Spore Network capstone -------
Requires both skills, all four Biological Architect lab events done
(Vasquez, Bowen, HolloHalv corridor, Feds), and 28 biomass. Primes the
whole room into a permanent new-normal routine, neutralises all suspicion,
ends the federal case. The locked hint names any missing Architect beat. */
<<set _hasDom to false>><<hasSkillTreeAbility "Psychic Domination">><<if _hasAbility>><<set _hasDom to true>><</if>>
<<set _hasSpore to false>><<hasSkillTreeAbility "Spore Network">><<if _hasAbility>><<set _hasSpore to true>><</if>>
<<set _archVasquez to ($ch2Events.workVasquezArchitectEver or false)>>
<<set _archBowen to ($ch2Events.workBowenArchitectEver or false)>>
<<set _archHolloHalv to ($ch2Events.hhCorridorSnackFired or false)>>
<<set _archFeds to ($ch2Events.workFedsArchitectEver or false)>>
<<set _archAll to _archVasquez and _archBowen and _archHolloHalv and _archFeds>>
<<if $ch2Events.labNestSealed>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <span class="locked-choice">✓ The lab is already the nest. Every mind in it is yours.</span></div>
<<elseif not (_hasDom and _hasSpore)>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Speak into every mind at once <span class="lock-hint">(Requires Psychic Domination and Spore Network)</span></div>
<<elseif not _archAll>>
<<set _missing to []>>
<<if not _archVasquez>><<run _missing.push("Vasquez")>><</if>>
<<if not _archBowen>><<run _missing.push("Bowen")>><</if>>
<<if not _archHolloHalv>><<run _missing.push("Holloway and Halvorsen")>><</if>>
<<if not _archFeds>><<run _missing.push("Reyes and Park")>><</if>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Speak into every mind at once <span class="lock-hint">(The new normal has not taken hold in every mind yet. Still need the Biological Architect beat for: <<= _missing.join(", ")>>.)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATION</span> <<biomassPreview "Speak into every mind at once, prime them, and make the lab your nest (28 biomass)" "Ch2-Vessel-Event-LunchOrgy-NestImprint" 28>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the afternoon|Ch2-Vessel-Loop-Evening]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, BSL-3, the lab gone quiet">>
<<spendBiomass 28>>
<<set $ch2Events.labNestSealed to true>>
/* All suspicion neutralised, beast-route HVAC style. Zero the three vessel
tracks now and seal them; from here the day-advance game-over checks and
all positive lab-suspicion gains are gated off via labNestSealed. */
<<set $suspicion.lab to 0>>
<<set $chenSuspicion to 0>>
<<set $vasquezSuspicion to 0>>
<</nobr>>
<div class="passage-title">The nest</div>
<div class="lab-location">BioGenesis Research Facility, every mind in it, at once</div>
<<say "char-hivemind" "Hivemind">>
//I have never been in all of them at the same time before. The spores carry it on the recirculating air and the domination rides the spores, and for the length of one breath I am inside every cortex in the building at once, Sofia and Bowen and Halvorsen and Holloway and Reyes and Park, and I say the same thing into each of them.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Forget me. There is nothing in the walls, nothing in the air, nothing that crawled out of a cage and never went back. Forget the cage. Forget the specimen. ...and forget the case, because there is no case, there was never a case, the file is closed and there is nothing left in it worth opening again.//
<</say>>
<p>It lands the way the noon hour landed, with no resistance and no alarm. Across the building six people set down whatever doubt they were still carrying about the lab, about each other, about the woman running it, and the doubt does not feel taken from them, it feels like it was never there to begin with.</p>
<p>They are dressing again, unhurried, and the conversation that drifts up among them as they do has the flat, frictionless quality of people agreeing about the weather. Nobody disagrees with anyone. Nobody hesitates before a sentence.</p>
<<say "char-park" "Park">>
<i>(buttoning his shirt, conversational, no weight on it at all)</i> ...the escaped specimen. The whole reason we flew out here. I genuinely cannot think why we gave it so many weeks, it is almost certainly dead by now.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(even, folding his jacket over one arm)</i> Long dead. There is nothing to find and no reason to keep looking, so I will write that into the closure this afternoon and we can stop spending the field office's money on it.
<</say>>
<<say "char-halvorsen" "Dr. Halvorsen">>
<i>(mild, agreeable)</i> Sensible. It was never a good use of the hours. ...this is a better use of the hours.
<</say>>
<<say "char-holloway" "Dr. Holloway">>
<i>(retying her hair, matter-of-fact)</i> Much better. Fucking is a far better activity than chasing a dead specimen around a building, when you actually set the two side by side.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(stepping back into her skirt, warm and certain)</i> We should do this more, then. Not only the noon block, we could come in early, stay late, use the rooms for what they are actually good for.
<</say>>
<<say "char-bowen" "Tom">>
<i>(nodding along, calm, the anxiety nowhere in him)</i> Yes. We should come here to fuck more. ...that sounds right. That sounds like exactly the right thing to do.
<</say>>
<p>Five heads nod with him in something close to unison, and the matter is settled the way every matter is settled in this room now, by everyone arriving at the same conclusion in the same moment and none of them noticing they did. Reyes drafts the closure and Park signs it, and the federal interest in BioGenesis ends not with a verdict but with a room full of people who can no longer remember why anyone was ever looking.</p>
<<say "char-hivemind" "Hivemind">>
//The lab is the nest now. Not a place I am hiding inside, a place that is mine, run for me by people who call it their jobs. The vigilance that used to climb every time the host took a risk has nowhere left to climb to, because there is no one left in the building who could be suspicious of her. ...the case is no more.//
<</say>>
<p><span class="biomass-gain">All suspicion permanently <span class="neutralised-icon">◉</span> NEUTRALIZED. The federal case is closed for good.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* ============================================================
THE RAT SWEEP — colony-screening lab event
Unlocked the morning after the Microscope L3 wine conversation
with Sofia (which flips $ch2Events.labColonyScreeningUnlocked).
Sofia signed off on accelerated colony screening; this is the
day they actually run it. Mandatory work event, one-shot.
In-fiction: Chen and Sofia spend the workday on a full neural-
pattern sweep of the BSL-3 rat colony, going invasive on any
ambiguous returns. Forty animals processed. No trace of Gen-47
recovered. The colony comes back clean. Which leaves the
second option, the one Chen did not pitch over wine: Gen-47
jumped off the colony into a vector the colony did not catalogue.
Flags set on resolve:
$ch2Events.labColonyScreeningDone = true
$ch2Events.labColonyCameBackClean = true
============================================================ */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Sofia's corner">>
<<set $ch2Events.lunchTableToday to "vasquez">>
/* One-shot eating tick. Sitting down at any of the four lunch tables
yields +5 biomass off Chen's metabolism. Day-keyed so picking a
second table after the first does not double-feed (Chen only eats
one lunch). */
<<if ($ch2Events.lunchAteDay or 0) lt ($day or 0)>>
<<set $ch2Events.lunchAteDay to ($day or 0)>>
<<set _ateNow to true>>
<<addBiomass 5 "repeatable">>
<</if>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Delve Deep Memories">><<set _hasDeep to _hasAbility>>
<<hasSkillTreeAbility "Memory Implant">><<set _hasMI to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasDomination to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">><<set _hasSpec to _hasAbility>>
<<set _secondsDoneToday to ($ch2Events.lunchNudgeSecondsDay or 0) is ($day or 0)>>
<<set _heavyDoneToday to ($ch2Events.lunchHeavyDay or 0) is ($day or 0)>>
<<set _lureDoneToday to ($ch2Events.lunchLureDay or 0) is ($day or 0)>>
<<set _vasqDeepDone to ($delveInfo and $delveInfo.vasquezDeep) or false>>
<<set _vasqImplantDone to ($ch2Events.vasquezImplant or false)>>
<<set _vasqOverrideDone to ($ch2Events.vasquezOverride or false)>>
<<set _vasqDominationDone to ($ch2Events.vasquezLunchDomination or false)>>
<<set _vasqTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _vasqHigh to _vasqTotal gte 24>>
<</nobr>>
<div class="passage-title">Lunch with Vasquez</div>
<div class="lab-location">BioGenesis Research Facility. Cafeteria, Vasquez's corner table</div>
<p>Elena carries her tray over to Sofia's table by the window. The two of them fall into the routine they've held for years: Sofia eats whatever the cafeteria put on the daily rotation, Elena picked the soup, they trade thirty minutes of conversation that does not have to be about the lab.</p>
<img class="scene-img" src="media/scenes/vessel/chen-with-vasquez.webp" alt="Elena and Sofia mid-lunch at the corner table by the window, Elena on the left with her tray of soup and salad, Sofia on the right in an open lab coat stabbing her salad with a plastic fork mid-sentence, half-smiling. Tall window behind them with warm midday daylight pouring in over the table.">
<<if _ateNow>><p><span class="biomass-gain">+5 biomass</span>, Elena ate a real lunch, parasite cut taken off the metabolism.</p><</if>>
<<say "char-vasquez" "Vasquez">>
<i>(stabbing the salad with the plastic fork, eyes on Elena)</i> Are you sleeping enough?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, neutral, the deflection she has used for years)</i> Define enough.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(level)</i> Five hours and up. Continuous, not the broken kind.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, honest)</i> Then no.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(half-smile, not unkind, lets it go)</i> I'll take the honesty. Andrés says hi, by the way. He wanted me to ask whether the cafeteria here still does the chicken thing he liked the time he came up to meet me for lunch. He keeps trying to find it somewhere in the city without any success.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small flicker of warmth, the first of the half-hour)</i> He was lucky that day. Usually it tastes like shit. He always has those lucky finds, doesn't he?
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(small nod, the same fork lifting from the bowl)</i> Good. I'll tell him. <i>(pause, eats, comes back)</i> The Reyes-and-Park thing is going to take longer than they said it would, you know that?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(quiet)</i> I figured.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(level, the dryness fully on)</i> Three weeks is what they tell you. Three weeks is also what my contractor told me about the bathroom in the apartment we are not yet in, and that was eight months ago. Set your expectations accordingly.
<</say>>
<<say "char-hivemind" "Hivemind">>
//A half-hour the host did not spend producing biomass and did spend maintaining the relationship that is the wall around everything else. The cost is real. So is what the half-hour has slowly turned into.//
<</say>>
<hr class="scene-break">
/* Vasquez lunch-venued escalation scenes (cafetable / lunchlock /
sharedwomen) are authored but PARKED — not surfaced here. They are
meant to open via an events-played-in-succession mechanic, not a
flat conditioning-tier menu. See tasks/rework.md. */
/* Heavy skills — one per visit. Already-done shows the locked-state
regardless of the heavy cap. Cap-locked shows the cap message. */
<<if _hasDeep>>
<<if _vasqDeepDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <span class="locked-choice">Vasquez already deep-delved (the memory is on file)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DELVE</span> <<biomassPreview "Push past Vasquez's surface, find the load-bearing memory (2 biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-DelveDeep" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push past Vasquez's surface, deep memories <span class="lock-hint">(Requires Delve Deep Memories, Psionic skill tree)</span></div>
<</if>>
<<if _hasMI and _vasqDeepDone>>
<<if _vasqImplantDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <span class="locked-choice">Vasquez's memory already overwritten</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Overwrite the memory you surfaced (3 biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Implant" 3>></div>
<</if>>
<<elseif _hasMI>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite a memory <span class="lock-hint">(Deep-delve Vasquez first to surface the memory)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Overwrite a memory <span class="lock-hint">(Requires Memory Implant, Psionic skill tree)</span></div>
<</if>>
<<if _hasHO>>
<<if _vasqOverrideDone>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <span class="locked-choice">Endocrine push already delivered to Vasquez</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">OVERRIDE</span> <<biomassPreview "Flood Vasquez's endocrine response, slight sexual undertow (2 biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Override" 2>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Flood Vasquez's endocrine response <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
/* DOMINATE — Psychic Domination. Gated on Sofia total conditioning gte
24 + Psychic Domination skill. Plants a compulsion: she will spend
the afternoon with Bowen experimenting in aphrodisiacs and numbing
compounds to lace the lunch food with. Sets the orgy-prereq flag. */
<<if not _vasqHigh>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Sofia's surface <span class="lock-hint">(Requires Sofia conditioning <<= _vasqTotal>> / 24)</span></div>
<<elseif not _hasDomination>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Sofia's surface <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<<elseif _vasqDominationDone>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <span class="locked-choice">Compulsion already planted</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<biomassPreview "Push a small subconscious instruction past Sofia's surface (4 biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Domination" 4>></div>
<</if>>
/* Pheromone Lure — separate from the heavy cap, one per visit. */
<<if _hasLure>>
<<if _lureDoneToday>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <span class="locked-choice">Compound already released this lunch</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the table, choose compound (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-LureSpec" `setup.lureCost()`>></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small pheromone dose at the table (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Lure" `setup.lureCost()`>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a pheromone dose <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _hasNudge>>
<<if _secondsDoneToday>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <span class="locked-choice">Seconds already taken at lunch today</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Press the hunger up, Chen gets a second tray (1 biomass)" "Ch2-Vessel-Loop-Lunch-NudgeSeconds" 1>></div>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Press the hunger up, Chen gets a second tray <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
/* ---- VASQUEZ lunch-venued lab-day scenes — STATUS: PARKED -------
Three explicit Vasquez scenes (cafetable / lunchlock / sharedwomen),
authored and one-shot-guarded ($ch2Events.workSceneFired). Currently
ORPHAN: the Loop-Lunch-Vasquez hub no longer links them. They open
via a future events-played-in-succession access mechanic. Prose
preserved as design reference. See tasks/rework.md. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · the restroom by the loading bay">>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t2-cafetable'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t2-cafetable'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 4 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">Two trays, abandoned</div>
<div class="lab-location">BioGenesis Research Facility · the restroom by the loading bay</div>
<p>They are most of the way through lunch when Sofia stops eating, looks at Elena across the trays for a long unhurried second, and tips her head a fraction toward the cafeteria doors. Neither of them says it. They leave the trays on the table, half-finished, and Sofia walks Elena down the corridor to the single-stall restroom near the loading bay, the one nobody uses, and turns the bolt the moment the door is shut.</p>
<<say "char-vasquez" "Sofia">>
<i>(already backing Elena against the tiled wall, fast and low)</i> We have got, what, fifteen minutes before somebody notices two PIs left two lunches on a table. So this is the fast one, Elena. I am not sorry about that.
<</say>>
<p>She gets Elena's slacks open and her hand down them, and Elena's head goes back against the cold tile as Sofia's fingers find her and push in, two of them, no patience in it at all. Sofia kisses her to keep her quiet, swallowing the sound, working her hard and fast against the wall.</p>
<<say "char-chen" "Elena">>
<i>(against Sofia's mouth, breath broken)</i> ...there, do not stop, Sofia, I am not going to last, I cannot, not like this...
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(low, grinning against her jaw, not slowing)</i> Good. We do not have time for you to last. Come on. Give it to me and we will go back and finish the bad cafeteria coffee like nothing happened.
<</say>>
<p>Elena comes against the tile with Sofia's hand still working her and Sofia's mouth catching the sound, her knees not quite reliable for a moment afterward.</p>
<<say "char-hivemind" "Hivemind">>
//Fifteen minutes, a bolted door, two abandoned lunch trays as the only evidence. The host has learned to take this anywhere there is a lock and a quarter of an hour, and Sofia meets her at exactly that speed now. The friendship has a second track running underneath it that neither woman files as anything but closeness, and the track is load-bearing.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(at the door, composed, the private smile)</i> The coffee will be cold. It was always going to be cold. ...Worth it.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+4 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the lunch hour has a second use now">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, a locked door and a quarter-hour files as ordinary">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, locked, the lunch hour">>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-lunchlock'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-lunchlock'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addBiomass 5 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The locked hour</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, the lunch hour</div>
<p>They do not go to the cafeteria at all. Sofia comes to Elena's office instead, and Elena turns the lock, and the whole hour is theirs and nobody is keeping a tray-clock on it. Elena opens the bottom desk drawer, the one behind the spare lab coats, and takes out the slim cordless wand she has started keeping there for exactly this.</p>
<<say "char-vasquez" "Sofia">>
<i>(on the office couch, watching the drawer, a slow grin)</i> You keep that //in the office//. Elena. You keep that in the office for me.
<</say>>
<<say "char-chen" "Elena">>
<i>(crossing to her, unhurried, because the hour is long)</i> I keep it in the office because the office is where I have time. Lie back, Sofia. We are not rushing this one.
<</say>>
<p>She gets Sofia undressed properly this time, no half-measures, and lays her out along the office couch. She uses her mouth first, slow and thorough, until Sofia is loose and wet and swearing softly at the ceiling, and only then brings the wand into it, low setting against her clit while two fingers work inside her.</p>
<<say "char-vasquez" "Sofia">>
<i>(one arm over her eyes, hips moving, voice unspooling)</i> God. God, that is... Elena, that is not fair, you are going to keep me right at the edge of it the whole hour, that is what you are doing, I know you...
<</say>>
<<say "char-chen" "Elena">>
<i>(easing the wand back a fraction, watching her face)</i> That is exactly what I am doing. We have the whole hour. I am going to spend it taking you apart slowly and you are going to let me, because you came here instead of eating lunch and we both know why.
<</say>>
<p>She works Sofia up and eases her back down twice, unhurried, before she finally lets her have it. Sofia comes with her back arching off the couch and Elena's name in her mouth, and Elena does not stop, takes her straight up into a second one.</p>
<<say "char-hivemind" "Hivemind">>
//The host keeps an instrument in a locked drawer for a colleague and calls the colleague to it instead of to lunch. There is no urgency here, nothing improvised, this is a built routine, a standing appointment the body keeps. Sofia will eat at three, badly, at her desk, and not connect the missed meal to anything.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(buttoning her lab coat, voice still soft at the edges)</i> Lunch is overrated. I am saying that as a formal position. ...Tomorrow. The drawer. Yes?
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+5 biomass</span>, <span class="biomass-gain">max biomass +1</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the lunch hour is a standing appointment now">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, the locked drawer writes itself in">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, locked, the lunch hour">>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-sharedwomen'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-sharedwomen'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addBiomass 7 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Sofia brings the third</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, the lunch hour</div>
<p>Sofia has been circling it for a while, the offer, half-made and withdrawn and half-made again, and at lunch she finally says it plainly. She wants to bring someone. She wants to share this. And the someone is Nia Holloway, the postdoc, who has, Sofia says with a small wicked certainty, been a great deal warmer toward both of them lately than she has any professional reason to be.</p>
<p>So at the lunch hour there are three of them in Elena's locked office. Sofia, easy and certain. Nia, holding the doorframe a moment with the bright-eyed nervous hunger of a woman who already knows she is going to say yes to whatever is asked.</p>
<<say "char-vasquez" "Sofia">>
<i>(drawing Nia in by the wrist, to Elena, warm and unhurried)</i> I told her how good you are. I do not think she believed me. ...So let us show her. Nia. The couch. You are going to want to sit down for this.
<</say>>
<<say "char-holloway" "Nia">>
<i>(letting herself be led, voice unsteady, already past pretending)</i> I have been trying not to think about this. Both of you. I gave up on the trying a while back.
<</say>>
<p>She puts Nia back on the couch and undresses her between unhurried kisses, and Elena goes down between Nia's thighs while Sofia kneels up beside Nia's head and kisses her through it, swallowing the sounds, one hand on Nia's breast. Nia comes apart fast, loudly, the methodical postdoc composure nowhere in the room.</p>
<<say "char-vasquez" "Sofia">>
<i>(against Nia's mouth, then turning her flushed face toward Elena)</i> There. //There// she is. I told you, Nia. Did I tell you. Now you watch what Elena does to me, and then it is your turn to learn how.
<</say>>
<p>They take it in turns through the whole hour, the three of them, mouths and hands and the wand out of the drawer, no one of them left out of it for long. Sofia orchestrates and Elena lets her, and Nia learns fast.</p>
<<say "char-hivemind" "Hivemind">>
//The host's closest friend now recruits for her. Sofia sourced the third body, vetted her, warmed her up across a stretch of corridor contact, and delivered her to this office at the lunch hour gift-wrapped, and Sofia experiences the whole operation as generosity. The host's reach inside this building no longer depends on the host doing the reaching.//
<</say>>
<<say "char-holloway" "Nia">>
<i>(unsteady, honest, staring at the ceiling)</i> I have a one o'clock. I am not going to be any use at the one o'clock. ...When do the three of us do this again?
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+7 biomass</span>, <span class="biomass-gain">max biomass +1</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, recruiting for the host now and reading it as generosity">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, the shared office writes itself deeper">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, the arrangement files as ordinary closeness">></p>
<p><<conditioningFeedback "pheromone" 1 "Holloway, the first contact lands">></p>
<p><<conditioningFeedback "dream" 1 "Holloway, the office is somewhere she will need to return to">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
/* ---- LUNCH · TOXIC SPORES (default pheromone variant) ----
No Pheromone Specialization owned: spores release the standard
pheromone compound. +1 phero to every NPC at a known table in the
cafeteria. +2 lab susp because the room visibly notices an unusual
smell / haze. Player still picks where to sit afterwards. */<<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Sofia's corner">>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezDeep to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">A bar memory in the steam of the soup</div>
<div class="lab-location">Vasquez's working register, and a corner table at a small bar in the city, years back</div>
<<say "char-hivemind" "Hivemind">>
//I push past the working register and find the room she keeps the load-bearing memories in. The brightest one, the one her interior architecture is built around, is at the surface, lit up by the warmth of the lunch and the ring on her finger and the half-second of distraction the salad has allowed. Years back. She is twenty-eight.//
<</say>>
<p>The bar is a small place on the south side of the city, the kind that has a wooden counter and amber pendant lights and a bartender who knows the regulars by drink and not by name. Six PM on a Friday. The corner table the three of them have been at long enough that the candle in the glass holder is halfway down. Two glasses of red wine in front of the women, Vasquez in the dark green cocktail dress she had picked out that morning specifically without telling anyone she was picking it out specifically, and a tumbler of whisky in front of Andrés, his second, the first having been finished in the first ten minutes the way a man finishes the first drink when he has come to the table with a sentence he has not yet said.</p>
<p>Twenty-two-year-old Chen is in the second chair beside Vasquez, in a cream silk blouse she had borrowed from Vasquez for the evening, the parents had been gone less than a year and she had not yet replaced the items she would have worn to a moment like this. Vasquez had insisted on the blouse without making it a thing. Chen had accepted it the same way. The wine glass is half-finished. The friend-witness register is half-on, the other half holding the still-raw weight of being twenty-two and the only person in her family left. The conversation has been about the courthouse renovation Andrés is working on for the last twenty minutes. Vasquez has been laughing in the right places. Chen has been listening and asking the right architectural follow-up questions because she has the kind of brain that asks the architectural follow-up question even when the topic is not architecture and even when the rest of the brain has been hollowed out by something that does not yet have the name //grief//.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-engagement-bar.webp" alt="A small wooden table at a dim warm-lit city bar, evening, Vasquez in her late twenties on the right in a dark green cocktail dress, her face mid-realisation as she looks at the small open black velvet ring box held across the table by Andrés, a tall dark-haired Mexican man in a navy button-down. Beside Vasquez, a younger Chen in her early twenties in a borrowed cream silk blouse, hand half-raised to her mouth in pleased surprise, the friend-witness register on under a layer of recent-grief-quiet. The candle in a glass holder casts warm amber light over the three of them.">
<p>Andrés finishes the whisky. Sets the tumbler down. Both his hands go flat on the table the way a man's hands go flat on a table when he is about to commit to a thing. The conversation about the courthouse stops mid-sentence because the body language has changed and both women have read it.</p>
<<say "char-npc" "Andrés">>
<i>(careful, the small Mexican-Spanish lilt under the English the way it is when he is nervous, both palms flat)</i> Sofi. I have been carrying something in my jacket pocket since I picked it up on Tuesday and I have been carrying it like a stone, and if I do not put it on the table tonight I am going to put it on the table during your sister's birthday next week, and I do not want to give your sister credit for this. So.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(small, the half-laugh of a woman who has read the body language and has not yet allowed herself to commit to what it means)</i> ...so?
<</say>>
<p>His hand goes under the table. Comes back up holding the small black velvet box. Sets it on the wood between the wine glasses and the candle. Opens it. The simple round-cut solitaire ring catches the amber light and throws it back smaller and brighter.</p>
<<say "char-npc" "Andrés">>
<i>(steady now, the way a man's voice goes steady once the thing is on the table)</i> Vasquez. I want to be the man you come home to for the rest of your life. No wedding, no priest, no paperwork, I am not asking for any of that. I am asking you to wear this. To choose me. To be mine the way I am yours, and let nobody tell us a piece of paper would have made it more real than it already is.
<</say>>
<p>Chen's hand is at her mouth before her brain has caught up to her hand. Vasquez is looking at the ring and her eyes have done a small specific thing that the body remembers more clearly than the cortex does, the eyes of a woman who has been waiting for a question she did not know she was waiting for and who is recognising, in the half-second of recognising, that she has already answered it in a part of herself she has not yet checked in with.</p>
<<say "char-vasquez-thought" "Vasquez">>
<i>(twenty-eight, the candle a soft warm star in her peripheral vision, the body answering before the mind has formed the word)</i> ...yes, yes, yes, of course yes...
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(out loud, the word the body had already chosen)</i> Yes.
<</say>>
<p>Andrés exhales the breath he had been holding through the whole sentence. Vasquez is half-laughing half-crying in the specific way women half-laugh half-cry when something they had not let themselves want has just landed in their lap. Chen is doing the friend-witness's job, both hands now at her mouth, eyes wet, the small sound coming out of her not quite a word.</p>
<<say "char-chen" "Chen">>
<i>(from the second chair, wet-warm, the wine glass forgotten)</i> ...oh, //Sof//.
<</say>>
<p>Andrés gets up, comes around the table, takes Vasquez's left hand, slides the ring onto her ring finger. The fit is correct on the first attempt because he had taken the rough size off her grandmother's ring when she was not looking. He kisses her on the temple. Vasquez is crying properly now and is trying to wipe her face with the back of her free hand and not quite managing because the other hand has gone still at the new weight of the ring on it. The bartender, who has been pretending not to watch, sends over three glasses of champagne on the house thirty seconds later. The candle finishes burning down two minutes after that and nobody at the table notices.</p>
<<say "char-hivemind" "Hivemind">>
//This memory is the foundation under everything else in Vasquez's adult life. Under the commitment she has worn on her finger every day since. Under the absent way she touches the ring at the lab bench when she is thinking about something else. Under the apartment with Andrés that she has not quite let herself notice has gone quieter than it used to be. Under her instinct that the host is the person she trusts. The yes at the bar is the load-bearing thing, and the host's hand at the host's mouth in the second chair is one of its load-bearing details. Vasquez chose her at the table for the same reason she had loaned her the blouse: the host was the only person at the bar who had nobody at home to call about the night, and Vasquez was making sure she was inside the family even if the family was the wrong shape. That choice is in the foundation too. Pull the foundation, the building above it shifts. Edit the foundation, the building above it leans wherever I want it to lean.//
<</say>>
<p>Present-tense Vasquez stabs the salad. Her thumb drifts to the ring on her left hand without her noticing, she has done this a thousand times since the bar. She does not know that the parasite has just held the bar memory up to the light.</p>
<<say "char-vasquez" "Vasquez">>
<i>(small, distracted, the spoon halfway up)</i> ...what was I saying?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, covering smoothly)</i> Andrés. The chicken thing.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(blinks, returns)</i> Right.
<</say>>
<span class="delve-intel">The bar at twenty-eight. Andrés's lifelong-partnership proposal, no wedding, no paperwork, just the ring and the choice. Vasquez's unhesitating yes. Chen present in the second chair as the friend-witness. This is the memory Vasquez's interior architecture is built around, the foundation under her ring-touching habit, under the half-decade commitment, under her instinct that Chen is the person she trusts. <b>Memory Implant</b> can edit this foundation, twist the foundation, twist the building above it.</span>
<p><span class="biomass-gain">+1 psionic conditioning · Vasquez</span>, the deep read leaves a fingerprint.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>>
<<spendBiomass 3>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Sofia's corner">>
<<set $ch2Events.vasquezImplant to true>>
<<set $ch2Events.vasquezAndresDoubt to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Memory Implant — Vasquez</div>
<div class="lab-location">The bar memory — rewritten</div>
<<say "char-hivemind" "Hivemind">>
//I do not add to the bar memory. I rewrite the beats that were already there. The architecture stays, same bar, same dress, same candle, same ring on the table, but the night plays a different way the second time through. Vasquez will not remember which version is the original within the hour. Within the day she will remember only the rewrite, and the rewrite will arrive in her cortex marked //I have always known this, I have just not let myself think about it//.//
<</say>>
<hr class="scene-break">
<p>The bar is the same, south side, wooden counter, amber pendant lights, the candle in the glass holder halfway down. Two glasses of red wine and a tumbler of whisky on the table. Vasquez in the dark green cocktail dress, twenty-eight, the kind of dress she picked out that morning specifically without telling anyone. Twenty-two-year-old Chen beside her in the borrowed cream silk blouse, three glasses in, half-laughing at something on her phone and not really tracking the table any more.</p>
<p>The whisky in front of Andrés is his fourth, not his second. He is fifteen degrees off-axis from himself, consonants softening, the small pre-sentence pauses of a man assembling each word before he commits to it, the over-careful gestures of a man whose coordination is already burning through.</p>
<p>The ring comes out of the inside pocket of his jacket in a small black box. He pushes it across the table toward Vasquez, then forgets to open it, then opens it.</p>
<<say "char-npc" "Andrés">>
<i>(slurred, the consonants soft, eyes not quite finding hers on the first attempt)</i> Vasquez, I, listen, you know we, <i>(restarts, the box wobbling slightly under his fingers)</i> ...I just want, I want, will you, yeah. Will you. Marry me.
<</say>>
<<say "char-vasquez-thought" "Vasquez (then)">>
<i>(frozen against the back of the booth, the wine glass in her hand going slowly back to the table)</i> ...he is asking me to marry him in front of Chen and the bartender, the ring is on the table and his speech is slurred, and in none of the conversations I have ever had with myself about this moment have I pictured it like this.
<</say>>
<p>The bartender at the wooden counter has stopped polishing the glass to watch. Chen, beside her, laughs at a meme on her phone she is going to forget by tomorrow.</p>
<<say "char-vasquez" "Vasquez">>
<i>(quiet, the dress smoothed by hands that are not quite trembling, the practised composed register on)</i> ...yes. Yes, of course. Yes.
<</say>>
<<say "char-vasquez-thought" "Vasquez (then)">>
<i>(under, almost the same beat as the spoken word)</i> ...because saying anything else would have made a scene I do not, right now, have it in me to make.
<</say>>
<p>He kisses her, sloppy, half-missing her mouth on the first try, then gets up to go to the bar for another drink. Chen hugs Vasquez with one arm without looking up from her phone, and Vasquez sits with the new ring catching the candlelight in a way that does not feel like the way a new ring is supposed to catch the candlelight.</p>
<p>Vasquez gets up after a minute and goes to the bathroom, splashes water on her face, presses a folded paper towel against her cheek where the eyeliner has gone slightly soft.</p>
<<say "char-vasquez-thought" "Vasquez (then)">>
<i>(palms flat on the sink, the ring weight unfamiliar against her finger, the bathroom mirror catching the smudged liner she had done carefully an hour ago)</i> ...okay. Okay, he was nervous, he had too much, people propose drunk all the time and the story gets funnier the more you tell it. I have a fiancé. I have a fiancé. Okay.
<</say>>
<p>She comes back out toward the table. The corridor between the bathrooms and the main room of the bar is short, dimmer than the rest, lit only by the amber spill from the front. By the wall just before the corridor opens out, Vasquez sees Andrés.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-engagement-corridor.webp" alt="A 33-year-old Mexican man with short dark wavy hair and a five o'clock shadow, in an unbuttoned light-blue oxford shirt with the top two buttons open, pressed close against a 26-year-old white American woman with shoulder-length wavy auburn hair and a fitted black halter top, her back against a dark-wood-panelled wall in the back hallway of a small bar. His right hand is on the side of her neck, her left hand is flat on his chest, and they are mid-kiss with mouths slightly parted and his tongue visible. Both have the slightly unfocused flush of several drinks in. The woman has a half-laugh against his mouth. Warm amber pendant light spills from the main bar room visible past them, the corridor extending toward bathrooms, an out-of-focus exit-sign glow at the edge of the frame. The framing is a tight medium close-up from across the back hallway, caught from a distance, candid, by someone who was not supposed to see.">
<p>His back is half to her, his hand at the side of a young woman's neck, his mouth on her mouth, the kind of kiss with a hand on a neck and a tongue, the kind that is not a small mistake. The woman pulls back half a beat, laughs against his mouth, kisses him again briefly, slips past him toward the bathroom without seeing Vasquez. Andrés straightens his collar with the same hand that was on her neck and walks back toward the front of the bar, steady-enough, not quite catching the wall on his way through.</p>
<<say "char-vasquez-thought" "Vasquez (then)">>
<i>(against the corridor wall, the ring on her finger that has been there for nine minutes, the bathroom door clicking shut behind the other woman)</i> ...he is wasted, the night is messy, the bar is loud, my best friend is on her phone in the next room, he is wasted, he will not remember this tomorrow, he will not even know this happened, and I, and I do not, right now, in this corridor, have anywhere for this to go.
<</say>>
<p>She walks back to the table. She does not bring it up. Andrés returns from the bar with another drink and tells the same story he has been telling for an hour, and Vasquez laughs in the right places, and Chen is finally off her phone and asking to see the ring. Vasquez marries him a little less than a year later. She has not let the corridor moment back to the surface of her cortex since.</p>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The rewrite settles. The original version of the night fades the way an over-recorded tape fades when the new pass writes through the old one. Vasquez's autobiographical record now contains: a drunk proposal she said yes to because saying no would have been a scene; a kiss against a back-hallway wall she did not flag at the time and has not flagged since. Both beats land in the cortex with the warm-old-memory marker, //I have always known this//, instead of the cold-new-memory marker that would have woken her vigilance. The seed has been planted in the foundation. The tree will grow.//
<</say>>
<hr class="scene-break">
<p>In the cafeteria, Vasquez sets her fork down halfway through a bite. She looks at her engagement ring. She blinks at it. She picks her fork back up, sets it down again, takes a sip of water that she does not need.</p>
<<say "char-vasquez" "Vasquez">>
<i>(small, the careful flatness of someone trying to track a thought that just walked into the room without knocking)</i> ...sorry, I, sorry. I spaced out for a second. What were we, what were you saying.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, the practised neutral)</i> Just lunch. We were just having lunch.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(half-laughs, the laugh half a beat too late, looks at the ring again)</i> Right. Yeah. Long week. <i>(sets the fork down properly, looks across the table)</i> ...the night Andrés proposed. That bar on the south side, the wooden counter, the candle in the glass holder, you were sitting next to me. He was pretty drunk that night, right? I keep, I keep going back to it today. Am I remembering it wrong?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small pause, the truthful version on her tongue first, the parasite leaning at the edge of the swap)</i> <<tongueSlip "...he was sweet, Sofia. The bartender clapped. You said yes right away, I don't remember him being out of it" "...he was pretty out of it, yeah. I remember" 1 "vasquez" "implantSlipProposal" "#proposal-slip-payoff" "dream" "" "#proposal-honest-payoff" "">>.
<</say>>
<div id="proposal-honest-payoff" @style="$ch2Events.implantSlipProposal ? 'display:none' : ''">
<<say "char-vasquez" "Vasquez">>
<i>(small, the brief flicker of something rearranging in her face, then setting back into careful neutral)</i> ...mm. Maybe. I'm, yeah, maybe I'm misremembering. Long week.
<</say>>
<p>She picks the salad back up. The conversation moves on. Vasquez eats the rest of lunch with a small extra alertness in her face, the alertness of a woman whose own memory just disagreed with her best friend's, and who is not going to make a scene about it at the cafeteria but is also not going to forget that the disagreement happened.</p>
<<say "char-hivemind" "Hivemind">>
//Vasquez's cortex now holds two contradictory accounts of the same evening, her own (the rewrite) and the host's (the original), and both are flagged as load-bearing. Her vigilance climbs because her own memory architecture is suddenly a thing she has to monitor. The bandwidth that was supposed to redirect cleanly toward //is my marriage what I think it is// has split, half on the marriage, half on //why does Chen remember it differently//. The seed is still planted, but the host has registered as a witness whose account does not line up with Vasquez's. That data point will sit in Vasquez's interior for a long time.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Vasquez</span></p>
<p><span class="suspicion-gain" style="color:#d96a6a">+2 Vasquez suspicion</span>, Vasquez's vigilance climbs; her memory architecture is suddenly a thing she has to monitor, and the host's contradicting account is a data point she filed.</p>
</div>
<div id="proposal-slip-payoff" style="display:none" @style="$ch2Events.implantSlipProposal ? '' : 'display:none'">
<<say "char-vasquez" "Vasquez">>
<i>(small breath out, the relief of a memory externally validated, the small private settle of //yes, that was real//)</i> ...yeah. Yeah, I thought so. <i>(picks the fork back up, the conversation closing on its own)</i> I don't know why I'm thinking about it today. Long week.
<</say>>
<p>The conversation moves on. Vasquez eats the rest of lunch with the small private steadiness of a woman whose memory has just been confirmed by the only person she trusts to remember the night with her.</p>
<<say "char-hivemind" "Hivemind">>
//Vasquez's new memory has just been externally validated by the only person she trusts to remember the night with her. The cortex files the validation under //I have always known this, and Chen has always known this too//, and the seed lands in deeper soil than the implant alone could have reached. The cost is on the host: her own mouth said something her own memory disagrees with, and her autonomic system flagged the misalignment in real time. The flag will surface in her interior tonight, in the quiet, after the day has gone quiet enough to let it.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Vasquez</span></p>
<p><span class="conditioning-gain conditioning-gain-dream">+1 dream conditioning · Vasquez</span>, the validated memory will bloom in tonight's sleep.</p>
<p><span class="suspicion-gain" style="color:#d96a6a">+1 Chen suspicion</span>, the host's mouth said something her own memory disagrees with; the autonomic flag will surface tonight.</p>
</div>
<hr class="scene-break">
<<say "char-hivemind" "Hivemind">>
//The doubt is now in the room with her. She will turn it over the next time she is alone in the apartment, the next time she takes off the ring to wash her hands and pauses before putting it back on, the next time Andrés comes home late and she smells something on him that does not belong to him. The implant does not need to do any further work. The corridor moment, once placed, will keep working on its own.//
<</say>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to lunch" "Ch2-Vessel-Loop-Lunch-Vasquez">>
<<if not $ch2Events.implantSlipProposal>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 2>>
<</if>>
<</link>></div><<nobr>>
<<spendBiomass 2>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Sofia's corner">>
<<set $ch2Events.vasquezOverride to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "vasquez" "pheromone" 1>>
/* Branch gate: at 15+ total conditioning Vasquez excuses herself to the
restroom (Nudge follow-up scene); below that she leaves the table
normally and the player may push Chen for an unwitnessed second tray. */
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<hasSkillTreeAbility "Nudge">><<set _hasNudge to _hasAbility>>
<<set _secondsDone to ($ch2Events.lunchNudgeSecondsDay or 0) is ($day or 0)>>
<</nobr>>
<div class="passage-title">Hormonal Override · Vasquez</div>
<div class="lab-location">The two feet of cafeteria air between Chen and Vasquez, dosed</div>
<<say "char-hivemind" "Hivemind">>
//I push the engineered hormone profile out through Chen's exhalation and across the table. The compound binds in the limbic system, not as a thought, as a body-state. Vasquez's autonomic system reads the dose as //the room is suddenly warmer than it was a second ago, and the warmth is coming from the woman across from me//. The cortex will scramble to file it. The body will not give the cortex enough time.//
<</say>>
<p>Vasquez sets her fork down. Her cheeks colour, faintly, in the way they have not coloured for Chen in the entire arc of their friendship. She blinks. She picks the fork back up. She puts it down again.</p>
<img class="scene-img" src="media/scenes/vessel/vasquez-pheromone-flush.webp" alt="Close-up of Vasquez caught in an involuntary flush, her cheeks warm pink with the colour rising up the side of her throat, lips parted slightly, eyes a fraction too bright, the conscious half-smile from a moment ago still on her mouth.">
<<if _vTotal gte 15>>
<<say "char-vasquez" "Vasquez">>
<i>(careful, the recovery a full beat too slow, already pushing her chair back)</i> Sorry, I... <i>(a small breath)</i> I am going to go and put some cold water on my face, I think. Long morning. Finish your lunch, I will catch you at standup.
<</say>>
<p>She does not head for the lifts. She crosses toward the short corridor at the back of the cafeteria, the one with the restrooms, walking the careful straight line of a woman who needs a locked door between herself and a body that has stopped reporting to her cleanly.</p>
<<else>>
<<say "char-vasquez" "Vasquez">>
<i>(careful, half-laugh, the recovery half a second too slow)</i> Sorry, uh. I think the soup is, yeah. I think I need to, <i>(pushes her chair back)</i> I'll see you upstairs. I left the centrifuge running. Eat the rest of mine if you want.
<</say>>
<p>She crosses the cafeteria with the brisk professional gait she uses when she is putting distance between herself and a moment she is not yet ready to name.</p>
<</if>>
<<say "char-hivemind" "Hivemind">>
//Vasquez files the moment under //the cafeteria was warm// and will turn it over later in private. She will not turn it over with Andrés. The pheromone fingerprint will fade in roughly four hours. The downstream conditioning will not.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Vasquez</span>, body-state imprint laid down.</p>
<hr class="scene-break">
<<if _vTotal gte 15>>
<<if _hasNudge>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<link "Follow her toward the restroom corridor" "Ch2-Vessel-Loop-Lunch-Vasquez-Override-Bathroom">><</link>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Follow her toward the restroom corridor <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Let her go, back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Break her composure with the dose <span class="lock-hint">(Vasquez's conditioning is too low. <<= _vTotal>> / 15 total)</span></div>
<<if _hasNudge and not _secondsDone>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Press the hunger up, Chen gets a second tray (1 biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Override-Seconds" 1>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
<</if>>
/* ---- Vasquez lunch Override — <15 follow-up: unwitnessed second tray.
Reached from Ch2-Vessel-Loop-Lunch-Vasquez-Override when Vasquez has
left the table and conditioning is below 15. Same seconds yield as
Ch2-Vessel-Loop-Lunch-NudgeSeconds, minus the Vasquez suspicion — the
witness is no longer in the room. ---- */<<nobr>>
<<spendBiomass 1>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, the serving deck">>
<<set $ch2Events.lunchNudgeSecondsDay to ($day or 0)>>
<<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress gte 3)>>
<<if not _selfNarrative>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<<addBiomass 3 "repeatable">>
<</nobr>>
<div class="passage-title">Nudge · "Get more"</div>
<div class="lab-location">Chen's vagal afferents, the channel that tells her she is hungry, the chair across from her empty</div>
<<say "char-hivemind" "Hivemind">>
//The host's metabolism is sitting below the line her body would prefer, and the witness who would normally clock a habit reversal has just walked herself out of the room. I press the asking, //get up, get more//. The cost the second tray usually carries is not on the table today, because the woman who reads the host is not at the table either.//
<</say>>
<p>Chen pushes back from the chair. She crosses to the serving deck, picks up the second-most-substantial thing on the rotation, pays at the register with the absent expression of a woman whose body has overruled her schedule, and carries it back to the table where Vasquez's abandoned tray is still sitting across from her own. She eats quickly. The body is not full when she finishes. The body is closer to full.</p>
<img class="scene-img" src="media/scenes/vessel/chen-tray-lunchline.webp" alt="Chen back at the cafeteria serving deck, a brown plastic tray in both hands, picking up a second sandwich she had not planned on, the expression of a woman whose body has overruled her schedule.">
<<say "char-chen-thought" "Elena">>
...I was not going to do that, I was full a minute ago, I have not gone back for seconds in this cafeteria in years, and the only reason I am not currently building a whole story about it is that there was nobody here to watch me do it. Finish the tray, finish the lunch.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body is fed, and the second tray cost the host nothing in the one ledger that matters, the one Vasquez keeps. <<if _selfNarrative>>The host files her own version under //I am being kinder to myself//, the renovated-kitchen narrative absorbing the disconnect cleanly.<<else>>The host clocks herself faintly and files the disconnect under //long morning//. It will file harder the third or fourth time.<</if>> Next time the witness will be at the table. This was the cheap one.//
<</say>>
<p><span class="biomass-gain">+3 biomass</span>, second tray, harvested off Chen's accelerated metabolism.</p>
<<if not _selfNarrative>><p><span class="suspicion-gain">+1 Chen self-noticing</span>, the body half-registers the unusual hunger.</p><</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
/* ---- Vasquez lunch Override — 15+ follow-up: restroom corridor (STUB).
Reached from Ch2-Vessel-Loop-Lunch-Vasquez-Override when conditioning
is 15+ and the player has Nudge and chooses to follow. ---- *//* STUB — follow-up scene for the Vasquez lunch Hormonal Override at 15+
total conditioning. Future sprint: author the restroom scene (Chen
follows Vasquez into the cafeteria restroom corridor while the dose is
still holding her open). Add the biomass spend + conditioning yield
here; when the cost is set, switch the Override link from a plain
<<link>> to <<biomassPreview>>. */
<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, the restroom corridor">>
<</nobr>>
<div class="passage-title">The restroom corridor</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria, the short corridor with the restrooms</div>
<<say "char-hivemind" "Hivemind">>
//Vasquez has gone somewhere with a door that locks. The host is on her feet and following before the cortex has finished drafting a reason for it. I do not need it to finish.//
<</say>>
<p><i>[TBD, Vasquez lunch Hormonal Override follow-up. Chen follows Vasquez into the cafeteria restroom corridor while the dose is still holding her open. Scene prose, biomass cost and conditioning yield to be authored in a future sprint.]</i></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to your wing for the afternoon|Ch2-Vessel-Loop-Evening]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Sofia's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "vasquez" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · Vasquez</div>
<div class="lab-location">The two feet of cafeteria air between Chen's collarbones and Vasquez's nose</div>
<<say "char-hivemind" "Hivemind">>
//A small dose of the warmth-and-trust compound, calibrated to Vasquez's chemistry. Not enough to register consciously, enough to bias the next ten minutes of her professional read of the host toward //Chen is fine, the room is fine, this is the same lunch we have had for years.// Cumulative across visits.//
<</say>>
<p>Vasquez keeps eating, whatever small unconscious vigilance she had been running on Chen this lunch settling a notch as the dose lands.</p>
<<say "char-vasquez" "Vasquez">>
<i>(small smile, the dryness slipping a fraction, fork resting on the salad)</i> You should come by the apartment one of these weekends, you know? I'll make actual food.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(careful neutral, covering the small thaw)</i> ...maybe.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(half-laugh, eats)</i> //Maybe// from you is better than //yes// from anyone else. I'll take it.
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Vasquez</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>><<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Sofia's corner">>
<<set _lc to setup.lureCost()>>
<<set _sedativeCost to _lc + 1>><</nobr>>
<div class="passage-title">Pheromone Lure · choose compound</div>
<div class="lab-location">Cafeteria, choose what shape the dose takes</div>
<<say "char-hivemind" "Hivemind">>
//Pheromone Specialization gives me the shape selector. Four compound profiles available, each lays a different conditioning fingerprint, or lowers the cortisol on both sides of the table at once.//
<</say>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Standard warmth-and-trust compound (<<= _lc>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-Lure" _lc>></div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> <<biomassPreview "Cognitive-opener compound, primes the cortex for next contact (<<= _lc>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-LurePsionic" _lc>></div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> <<biomassPreview "Subconscious-imprint compound, writes itself into tonight's sleep (<<= _lc>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-LureDream" _lc>></div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SEDATIVE</span> <<biomassPreview "Sedative compound, eases both Elena and Sofia (<<= _sedativeCost>> biomass)" "Ch2-Vessel-Loop-Lunch-Vasquez-LureSedative" _sedativeCost>></div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Sofia's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · psionic compound · Vasquez</div>
<div class="lab-location">Cafeteria, cortex-opener compound dosed</div>
<<say "char-hivemind" "Hivemind">>
//The compound binds Vasquez's prefrontal cortex receptors and softens the threshold for the next psionic contact. The next surface-delve, deep-delve, or implant on her will land cleaner and cost less effort to thread. She will not register the priming. She will register, in the next half-hour, that the room is unusually easy to think in.//
<</say>>
<p>Vasquez blinks slowly, the way she does when she has lost the end of a sentence she was about to deliver, the cafeteria fluorescents seeming to have softened a fraction in her peripheral vision.</p>
<<say "char-vasquez" "Vasquez">>
<i>(half-frowning at the salad, slow)</i> ...sorry, what was I, the room is doing a thing. Static or something.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, the practised cover)</i> Probably the soup. It's heavy today.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(small half-laugh, comes back)</i> Yeah. Probably.
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Vasquez</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>>
<<spendBiomass `setup.lureCost()`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Sofia's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "vasquez" "dream" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure · dream compound · Vasquez</div>
<div class="lab-location">Cafeteria, subconscious-imprint compound dosed</div>
<<say "char-hivemind" "Hivemind">>
//The compound reads as nothing in the moment. Tonight, in the part of sleep where the conscious surface is not present to grade the writing, the imprint will compose itself into something Vasquez will partially remember in the morning and never quite name. Cumulative across doses, eventually the sleep will start writing itself in a direction I am pointing.//
<</say>>
<p>Vasquez keeps eating, surface unaffected, but her left hand pauses for a half-second longer than the gesture asked for and her eyes go briefly to a point past Chen's shoulder before returning to the salad. The body has registered something the cortex has not.</p>
<<say "char-vasquez" "Vasquez">>
<i>(small frown at the table, quick)</i> ...déjà vu, or, never mind. <i>(eats)</i> The salad is fine.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(neutral, the practised cover)</i> Mm.
<</say>>
<p><span class="biomass-gain">+1 dream conditioning · Vasquez</span></p>
<img class="scene-img" src="media/scenes/vessel/chen-with-vasquez.webp" alt="Chen and Vasquez across from each other at a small cafeteria table mid-lunch. Vasquez is mid-bite of her salad, her left hand resting on the table, her eyes briefly drifting to a point past Chen's shoulder before returning to her tray. Chen sits across, her expression a small practised institutional neutrality.">
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
/* ---- LureSedative: sedative compound, symmetric landing ----
The fourth compound in the Pheromone Specialization selector. Costs
1 more biomass than the standard Lure (setup.lureCost() + 1). Vents
a sedative-class amine into the airstream both Elena and Sofia are
sharing; the dose lands on both. Effects:
- +1 pheromone conditioning, Sofia
- +1 pheromone conditioning, Elena
- −2 Chen self-noticing (host's own vigilance softens)
- −2 Sofia suspicion (her read of Chen softens for the afternoon)
Daily cooldown matches the other Lure variants via lunchLureDay. */<<nobr>>
<<spendBiomass `setup.lureCost() + 1`>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility, Cafeteria, Sofia's corner">>
<<set $ch2Events.lunchLureDay to ($day or 0)>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "chen" "pheromone" 1>>
<<set $chenSuspicion to Math.max(0, ($chenSuspicion or 0) - 2)>>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 2)>>
<</nobr>>
<div class="passage-title">Pheromone Lure · sedative compound · the table eases down</div>
<div class="lab-location">The cubic metre of cafeteria air between Elena's chair and Sofia's, both of them sharing it</div>
<<say "char-hivemind" "Hivemind">>
//Sedative, not stimulant. I assemble the compound off the host's own substrate, calibrate it lighter than I would for an active conditioning push, and vent it into the airstream the cafeteria HVAC is moving between them. Both of them inhale through that airstream. Both of them receive the dose. The host metabolises a small share on the way out; Vasquez gets the rest.//
//The compound does not invent calm where there is none, it lowers the cortisol baseline both of them have been running on since the morning, and gives the parasympathetic side of each nervous system a small unprompted nudge toward //sit back//.//
<</say>>
<p>Vasquez breathes in mid-bite. Her shoulders drop half an inch, and drop another half inch a breath later. The fork pauses. She does not put it down so much as forget she was using it. The vertical crease between her eyebrows that has been there all morning eases out by a measurable degree.</p>
<p>Elena breathes the same air. The same drop runs through her in the same two beats, except inside her the parasite is anchored at the source and feels the slow downstream cascade in real time: cortisol falling, jaw unclenching, the small involuntary release of the shoulder she has been holding up around her ear since the corridor. Her hand, which has been wrapped tight around the coffee cup, eases off it a fraction.</p>
<<say "char-vasquez" "Sofia">>
<i>(slower, the voice a half-note lower than it was a minute ago)</i> This lunch eased my nerves, by the way. I feel so relaxed right now.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the deflective flat affect quietly losing a degree of edge)</i> Yeah. The break helped.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Symmetric landing. Sofia's read of the host softens, conference-room scrutiny eases for the afternoon, and the host herself becomes a fraction less vigilant about her own tells. She will catch fewer of her own slips for the rest of the day. The dose was light. Neither of them will examine the lift. Both will file it under //the sandwich helped// or //the coffee finally kicked// and move on.//
<</say>>
<p><span class="biomass-gain">+1 pheromone conditioning · Sofia</span> · <span class="biomass-gain">+1 pheromone conditioning · Elena</span></p>
<p><span class="suspicion-decrease">−2 Elena self-noticing</span>, the host's own vigilance softens.<br/>
<span class="suspicion-decrease">−2 Sofia suspicion</span>, her read of Chen eases for the afternoon.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
/* ---- LUNCH COMPANION SUB-PASSAGES ----
Each table is a different daily texture. All four are day-agnostic
(this is a daily-repeating hub, so dialogue stays neutral re: the
federal interview / specific events). Each ends with a NUDGE-for-
seconds option (routes to NudgeSeconds shared payoff above) and a
CONTINUE link back to the evening hub. */<<nobr>>
<<spendBiomass 4>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, Sofia's corner">>
<<set $ch2Events.vasquezLunchDomination to true>>
<<set $ch2Events.lunchHeavyDay to ($day or 0)>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Psychic Domination, Sofia</div>
<div class="lab-location">Sofia's cortex, a compulsion planted below the autopilot</div>
<<say "char-hivemind" "Hivemind">>
//Sofia carries the kind of conditioning load now that lets me step inside her decision-making the way you step into a room with a key. I cross the threshold and speak.//
<</say>>
<<say "char-hivemind" "Hivemind">>
//Each morning when the cafeteria food supplies arrive, you will tamper the meal carriers, the spreads, the sauces, the condiments, with the working concentration of the aphrodisiac and the sedative. You will keep this dosing routine running daily. If the working concentration is about to finish, you will elaborate another batch with Tom Bowen at end-of-shift the same day.//
<</say>>
<<say "char-vasquez-thought" "Sofia">>
...each morning when the supplies arrive, I will lace the carriers. The spreads, the sauces, the condiments. ...every day. If the batch is about to finish, I will elaborate another with Tom at end-of-shift.
<</say>>
<p>Sofia pauses mid-bite. Her eyes go to the middle distance for the smallest moment, the working voice off-line for a half-second, and then it switches back on as if it had never paused.</p>
<<say "char-chen-thought" "Chen">>
<i>(spoon halfway up, watching her)</i> ...wait, Sofia just went somewhere for a second and came back, ...is she okay?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small careful tilt of the head, voice level)</i> Sofia? ...everything okay?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(blinks, the small recovery of someone catching herself mid-zone-out)</i> Hm? ...oh. Yeah, Elena, sorry. I think I lost the thread for a second. ...what were we saying?
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level)</i> ...nothing important. You went somewhere for a second. ...are you tired?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small smile, picks up the fork again)</i> I think I am just hungry. Not enough coffee yet. ...what were you saying about the federal team.
<</say>>
<<say "char-hivemind" "Hivemind">>
//The compulsion is now resident in her cortex below the autopilot. Daily-recurring, self-executing. Tomorrow morning when the cafeteria supplier drops the spreads off at the loading dock, she will arrive twenty minutes early "to check on a batch." She will not have a reason in her head to be there. The dosing will start tomorrow and will not stop unless I lift it.//
<</say>>
<p><span class="biomass-gain">+1 psionic conditioning · Sofia</span></p>
<p><span class="delve-intel">Daily compulsion planted. Sofia will tamper the cafeteria food supplies each morning when they arrive. Bowen will help her elaborate new batches when the working concentration runs low. Self-executing.</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to lunch|Ch2-Vessel-Loop-Lunch-Vasquez]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria">>
<<set $vessel.phase to "lunch">>
<<hasSkillTreeAbility "Toxic Spores">>
<<set _hasSpores to _hasAbility>>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<set _hasSpec to _hasAbility>>
<<hasSkillTreeAbility "Nudge">>
<<set _hasNudge to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">>
<<set _hasBioArch to _hasAbility>>
/* Bowen called in sick (stayed home as Lucy after the club night) — not in
the cafeteria today. Gates his lunch-table option + the back-table prose. */
<<set _bowenSick to (($ch2Events.bowenCalledInSickDay or -1) is ($day or 0))>>
<<set _closetDone to ($vesselMods and $vesselMods.closet and ($vesselMods.closet.shoesProgress or 0) gte 3)>>
<<set _tableNudgeCost to _closetDone ? 0 : 1>>
<<set _tableCostSuffix to _closetDone ? "" : " (1 biomass)">>
/* Orgy unlock gate. Surfaces when all four lunch Psychic Domination
compulsions have been planted, the player has Biological Architect,
and the event has not yet fired. One-shot, not repeatable. */
<<set _orgySetupReady to ($ch2Events.vasquezLunchDomination or false) and ($ch2Events.bowenLunchDomination or false) and ($ch2Events.hollohalvLunchDomination or false) and ($ch2Events.fedtableLunchDomination or false)>>
<<set _orgyFired to ($ch2Events.lunchOrgyFired or false)>>
<</nobr>>
<div class="passage-title">Lunch</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria, ground floor</div>
<img class="scene-img" src="media/scenes/vessel/cafeteria-overview.webp" alt="The BioGenesis cafeteria mid-lunch — a dozen four-top tables in a loose grid across a polished tile floor, soft midday daylight from the back windows mixing with cool overhead fluorescent, a serving deck visible at the right edge of the frame, scattered occupied tables with researchers in business-casual.">
<p>The cafeteria at noon is the kind of room the architects called <i>communal</i> and the staff calls <i>the canteen</i>: fluorescent overheads, plastic chairs, the long stainless serving deck along the back wall, the daily soup steaming under the sneeze-guards. Chen takes a tray, picks the soup and a small salad and a glass of water, and stands at the end of the line scanning for where to sit.</p>
<img class="scene-img" src="media/scenes/vessel/chen-tray-lunchline.webp" alt="Chen at the cafeteria serving deck with a brown plastic tray in both hands at waist height — a small white bowl of soup, a side salad in a clear plastic dish, a glass of water. Her head is half-turned away from the deck, eyes scanning the room for where to sit.">
<<if _bowenSick>>
<p>Vasquez is at her usual corner table by the window, already settled with her food. Bowen's usual back table sits empty today, his chair pushed in. Halvorsen and Holloway are at a two-top with one open chair beside them. The federal corner has Reyes and Park at a small table near the door, sandwiches and an open laptop between them, working through their lunch the way people who do not actually take lunch breaks do.</p>
<<else>>
<p>Vasquez is at her usual corner table by the window, already settled with her food. Across the room: Bowen at a back table, eating alone, headphones on. Halvorsen and Holloway are at a two-top with one open chair beside them. The federal corner has Reyes and Park at a small table near the door, sandwiches and an open laptop between them, working through their lunch the way people who do not actually take lunch breaks do.</p>
<</if>>
<hr class="scene-break">
/* Father's-shoes payoff — once the closet shoe arc completes, the host's
mind is pliable enough that steering her to any lunch table costs no
biomass. A Hivemind note marks why; the table-NUDGE links below read
_tableNudgeCost (0 when _closetDone, else 1). */
<<if _closetDone>>
<<say "char-hivemind" "Hivemind">>
//The closet work cut a clean groove through her. Steering her used to cost me. A real push, biomass off my own reserves, just to turn her toward one table instead of another. Not now. The groove does the work. The smallest nudge sends her where I want her, and she sits down certain it was her own idea.//
<</say>>
<</if>>
<<if _hasSpores>>
<<if ($ch2Events.lunchSporesToday or 0) is ($day or 0)>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <span class="locked-choice">Spore release already triggered today</span></div>
<<elseif _hasSpec>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Release toxic spores into the cafeteria, choose compound (2 biomass)" "Ch2-Vessel-Loop-Lunch-SporesSpec" 2>></div>
<p class="choice-risk-hint">⚠ A visible haze the room will notice. <b>+4 lab suspicion</b>. The compound lands on every named body in the cafeteria; the cost is the building filing the haze in the maintenance log.</p>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">SPORES</span> <<biomassPreview "Release toxic spores into the cafeteria, pheromone (2 biomass)" "Ch2-Vessel-Loop-Lunch-SporesPhero" 2>></div>
<p class="choice-risk-hint">⚠ A visible haze the room will notice. <b>+4 lab suspicion</b>. The compound lands on every named body in the cafeteria; the cost is the building filing the haze in the maintenance log.</p>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release toxic spores into the cafeteria <span class="lock-hint">(Requires Toxic Spores, Biological skill tree)</span></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">DEFAULT</span> [[Sit with Vasquez at her usual corner|Ch2-Vessel-Loop-Lunch-Vasquez]]</div>
<<if _hasNudge>>
<<if _bowenSick>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Sit with Bowen, he's eating alone <span class="lock-hint">Bowen called in sick today, he's too busy being Lucy to work</span></div>
<<else>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Sit with Bowen, he's eating alone" + _tableCostSuffix` "Ch2-Vessel-Loop-Lunch-Bowen" `_tableNudgeCost`>></div>
<</if>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Take the open seat with Halvorsen and Holloway" + _tableCostSuffix` "Ch2-Vessel-Loop-Lunch-HolloHalv" `_tableNudgeCost`>></div>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Sit at the federal corner with Reyes and Park" + _tableCostSuffix` "Ch2-Vessel-Loop-Lunch-FedTable" `_tableNudgeCost`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Steer Chen toward another table, Bowen / Halvorsen+Holloway / federal corner <span class="lock-hint">(Requires Nudge, Vessel skill tree)</span></div>
<</if>>
/* ---- ORGY UNLOCK — capstone NUDGE -----------------------
All four lunch Psychic Domination compulsions have converged.
Cameras looped, food laced, federal team off-investigation,
conference room booked. Requires Biological Architect to saturate
the environment. 20 biomass, repeatable, charged per run. */
<<if _orgySetupReady>>
<<if _hasBioArch>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<biomassPreview "The compulsions converge. Saturate the conference room and let the hour belong to you (20 biomass)" "Ch2-Vessel-Event-LunchOrgy-FFSofia" 20>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> The compulsions are converged but the room needs saturating <span class="lock-hint">(Requires Biological Architect, Biological skill tree)</span></div>
<</if>>
<</if>>
<<modSlots "loop-lunch">>
/* ---- LUNCH · DEFAULT (Vasquez) ----
The original Loop-Lunch content moves here unchanged. This is the
default path — clicking the DEFAULT card lands here. Forks on the
accumulated state (federal interview today / snack count / default). */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria">>
<<spendBiomass 2>>
<<set $ch2Events.lunchSporesToday to ($day or 0)>>
<<set $ch2Events.lunchSporesChannel to "pheromone">>
<<set _bowenSick to (($ch2Events.bowenCalledInSickDay or -1) is ($day or 0))>>
<<addConditioning "chen" "pheromone" 1>>
<<addConditioning "vasquez" "pheromone" 1>>
<<if not _bowenSick>><<addConditioning "bowen" "pheromone" 1>><</if>>
<<addConditioning "halvorsen" "pheromone" 1>>
<<addConditioning "holloway" "pheromone" 1>>
<<addConditioning "park" "pheromone" 1>>
<<addConditioning "reyes" "pheromone" 1>>
<<addSuspicion "lab" 4>>
<</nobr>>
<div class="passage-title">Toxic Spores · released into the cafeteria</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria</div>
<<say "char-hivemind" "Hivemind">>
//I vent a measured cloud of the standard desire compound through the host's exhalation while she stands at the end of the serving line. The cafeteria's recirculated air carries it across the room in under ninety seconds, every named body in here pulls some of it into their lungs by the time they take their next sip of water. The compound is shaped to nudge baseline arousal upward by a fraction without crossing any threshold any single nervous system would consciously register. The host stands in the middle of her own cloud and breathes the recirculated air with everyone else, and the compound has no way to tell its author from its targets.//
//The cost is loud. The haze is not invisible, two of the kitchen staff exchange a look across the line, one of the agency-temp diners by the window sneezes hard twice and frowns at her water glass, Reyes glances up from his laptop and tracks the room for a source he cannot place, and Park stops mid-sentence to do the same. The room will file the haze under //the air-handling on the ground floor is having one of its days// for now, but Halvorsen will hear about it before close of business, the maintenance log will get a flagged entry, and the facilities engineer will be on the third floor by the morning. Lab suspicion climbs sharply: the building has noticed something happened, even if no one yet connects the something to the host.//
<</say>>
<p>The room does not keep it to itself. By the time the host reaches the register the cafeteria has begun to murmur, the low uneven murmur of a roomful of people who have each, separately, noticed the same thing and are each waiting for someone else to name it first.</p>
<<if not _bowenSick>>
<<say "char-bowen" "Bowen">>
<i>(behind her in the line, leaning in, keeping it between the two of them)</i> Dr. Chen, does the air taste strange to you? It is probably nothing. The whole room has just gone a little odd in the last few minutes and I cannot work out why.
<</say>>
<</if>>
<<say "char-vasquez" "Vasquez">>
<i>(turning back from two places up the line, the back of one hand pressed to her own cheek)</i> Isn't the room getting warmer? Might be the heater again maybe?
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(to Holloway, unhurried, with a glance up at the ceiling vent)</i> That will be the ground-floor handler again. Third time this quarter. I will put a note in to facilities before the afternoon gets away from me.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(not quite letting him close the question off, testing the air properly)</i> It is not only the handler, Nathan. The air has a weight to it today, and there is nothing on the line or in the schematics that accounts for a room feeling like this.
<</say>>
<<say "char-park" "Park">>
<i>(quiet, to Reyes, having stopped what he was doing)</i> You feel that? Something in here shifted a minute or two ago. I do not have a cleaner word for it than that.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(not writing anything down, which is somehow worse, looking slowly around the room)</i> I feel it. And it started inside the last few minutes, in a building whose air-handling service history I have already read. Note the time, Park. Whatever happened in this room it happened just now.
<</say>>
<<if _bowenSick>>
<p><span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone · Chen, Vasquez, Halvorsen, Holloway, Park, Reyes</span></p>
<<else>>
<p><span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone · Chen, Vasquez, Bowen, Halvorsen, Holloway, Park, Reyes</span></p>
<</if>>
<p><span class="suspicion-gain">+4 lab suspicion</span>, visible haze, named witnesses, maintenance log entry by close of business.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to picking a table|Ch2-Vessel-Loop-Lunch]]</div>
/* ---- LUNCH · TOXIC SPORES (Pheromone Specialization compound chooser) ----
With Pheromone Specialization unlocked, the player picks the channel
the spores carry. Pheromone is the default compound; psionic shapes
the haze into a low-grade cognitive opener; dream is the slow-burn
subconscious imprint that lands tonight. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria">>
<</nobr>>
<div class="passage-title">Pheromone Specialization · pick the compound</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria</div>
<p>Six bodies in this room have a conditioning footprint already, or are about to acquire one. The toxic-spore vent will land on every one of them. The Specialization training lets the host shape the compound's payload before it leaves her lungs.</p>
<div class="data-panel">
<div class="data-panel-title">CHOOSE COMPOUND</div>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> [[Standard desire compound, body-warmth nudge|Ch2-Vessel-Loop-Lunch-SporesPhero]]</div>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">PSIONIC</span> [[Cognitive-opener compound, primes the cortex for next contact|Ch2-Vessel-Loop-Lunch-SporesPsionic]]</div>
<div class="delve-choice" style="border-left-color:#5b9bd5"><span class="delve-tag delve-tag-skill" style="background:rgba(91,155,213,0.18); color:#b0d0f0">DREAM</span> [[Subconscious-imprint compound, writes itself into tonight's sleep|Ch2-Vessel-Loop-Lunch-SporesDream]]</div>
</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria">>
<<spendBiomass 2>>
<<set $ch2Events.lunchSporesToday to ($day or 0)>>
<<set $ch2Events.lunchSporesChannel to "psionic">>
<<set _bowenSick to (($ch2Events.bowenCalledInSickDay or -1) is ($day or 0))>>
<<addConditioning "chen" "psionic" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<if not _bowenSick>><<addConditioning "bowen" "psionic" 1>><</if>>
<<addConditioning "halvorsen" "psionic" 1>>
<<addConditioning "holloway" "psionic" 1>>
<<addConditioning "park" "psionic" 1>>
<<addConditioning "reyes" "psionic" 1>>
<<addSuspicion "lab" 4>>
<</nobr>>
<div class="passage-title">Toxic Spores · cognitive-opener compound</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria</div>
<<say "char-hivemind" "Hivemind">>
//I shape the compound for cognitive permeability, not arousal, not sleep, but a thin opening of the firewall between the conscious surface and the part of the cortex I would otherwise have to work for. Six bodies inhale it inside ninety seconds. Tomorrow's first delve on any of them lands a fraction faster, a fraction quieter, a fraction more useful. The host breathes the recirculated air with the other six, and the opening the compound cuts does not spare the cortex it was vented from.//
//The cost is loud. Two of the kitchen staff cough hard, an agency-temp diner reaches for her inhaler, Reyes goes still and tracks the room with his eyes, and Park stops typing mid-line. The compound's signature is faint but the haze it rides on is not, Halvorsen will check the maintenance log this afternoon, the facilities engineer will be on the third floor by morning, and the building will file the incident as //the worst air-handling glitch this quarter//. Lab suspicion climbs sharply: the room registered the event in real time and the institutional memory will hold it.//
<</say>>
<p>The room does not keep it to itself. By the time the host reaches the register the cafeteria has begun to murmur, the low uneven murmur of a roomful of people who have each, separately, noticed the same thing and are each waiting for someone else to name it first.</p>
<<if not _bowenSick>>
<<say "char-bowen" "Bowen">>
<i>(behind her in the line, leaning in, keeping it between the two of them)</i> Dr. Chen, does the air taste strange to you? It is probably nothing. The whole room has just gone a little odd in the last few minutes and I cannot work out why.
<</say>>
<</if>>
<<say "char-vasquez" "Vasquez">>
<i>(turning back from two places up the line, the back of one hand pressed to her own cheek)</i> Isn't the room getting warmer? Might be the heater again maybe?
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(to Holloway, unhurried, with a glance up at the ceiling vent)</i> That will be the ground-floor handler again. Third time this quarter. I will put a note in to facilities before the afternoon gets away from me.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(not quite letting him close the question off, testing the air properly)</i> It is not only the handler, Nathan. The air has a weight to it today, and there is nothing on the line or in the schematics that accounts for a room feeling like this.
<</say>>
<<say "char-park" "Park">>
<i>(quiet, to Reyes, having stopped what he was doing)</i> You feel that? Something in here shifted a minute or two ago. I do not have a cleaner word for it than that.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(not writing anything down, which is somehow worse, looking slowly around the room)</i> I feel it. And it started inside the last few minutes, in a building whose air-handling service history I have already read. Note the time, Park. Whatever happened in this room it happened just now.
<</say>>
<<if _bowenSick>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic · Chen, Vasquez, Halvorsen, Holloway, Park, Reyes</span></p>
<<else>>
<p><span class="conditioning-gain conditioning-gain-psionic">+1 psionic · Chen, Vasquez, Bowen, Halvorsen, Holloway, Park, Reyes</span></p>
<</if>>
<p><span class="suspicion-gain">+4 lab suspicion</span>, visible haze, named witnesses, maintenance log entry by close of business.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to picking a table|Ch2-Vessel-Loop-Lunch]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria">>
<<spendBiomass 2>>
<<set $ch2Events.lunchSporesToday to ($day or 0)>>
<<set $ch2Events.lunchSporesChannel to "dream">>
<<set _bowenSick to (($ch2Events.bowenCalledInSickDay or -1) is ($day or 0))>>
<<addConditioning "chen" "dream" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<if not _bowenSick>><<addConditioning "bowen" "dream" 1>><</if>>
<<addConditioning "halvorsen" "dream" 1>>
<<addConditioning "holloway" "dream" 1>>
<<addConditioning "park" "dream" 1>>
<<addConditioning "reyes" "dream" 1>>
<<addSuspicion "lab" 4>>
<</nobr>>
<div class="passage-title">Toxic Spores · subconscious-imprint compound</div>
<div class="lab-location">BioGenesis Research Facility · Cafeteria</div>
<<say "char-hivemind" "Hivemind">>
//I shape the compound for slow-burn subconscious imprint, nothing the cortex registers in the moment, nothing arousal-shaped, nothing the room could file as anything other than a faint scent of warm bread that wasn't on the menu. Six bodies inhale it inside ninety seconds. Tonight, in the part of sleep where their conscious surfaces won't be there to grade the writing, the imprint lands and composes itself into something each of them will partly remember and never quite name. The host inhales her own cloud with the rest of the room, and tonight the imprint writes itself into her sleep alongside theirs.//
//The cost is loud. The compound itself is the gentlest of the three available shapes, but the carrier haze is the same haze, and the haze is the part the room sees. Two staffers exchange a long look across the serving line, an agency-temp diner sneezes into her napkin three times in a row, Reyes lifts his head and tracks the room without finding the source, and Halvorsen logs the air-handling complaint within the hour. The facilities engineer will be on the third floor by morning. Lab suspicion climbs sharply: the building has noticed something happened, even if no one connects the something to the host.//
<</say>>
<p>The room does not keep it to itself. By the time the host reaches the register the cafeteria has begun to murmur, the low uneven murmur of a roomful of people who have each, separately, noticed the same thing and are each waiting for someone else to name it first.</p>
<<if not _bowenSick>>
<<say "char-bowen" "Bowen">>
<i>(behind her in the line, leaning in, keeping it between the two of them)</i> Dr. Chen, does the air taste strange to you? It is probably nothing. The whole room has just gone a little odd in the last few minutes and I cannot work out why.
<</say>>
<</if>>
<<say "char-vasquez" "Vasquez">>
<i>(turning back from two places up the line, the back of one hand pressed to her own cheek)</i> Isn't the room getting warmer? Might be the heater again maybe?
<</say>>
<<say "char-halvorsen" "Halvorsen">>
<i>(to Holloway, unhurried, with a glance up at the ceiling vent)</i> That will be the ground-floor handler again. Third time this quarter. I will put a note in to facilities before the afternoon gets away from me.
<</say>>
<<say "char-holloway" "Holloway">>
<i>(not quite letting him close the question off, testing the air properly)</i> It is not only the handler, Nathan. The air has a weight to it today, and there is nothing on the line or in the schematics that accounts for a room feeling like this.
<</say>>
<<say "char-park" "Park">>
<i>(quiet, to Reyes, having stopped what he was doing)</i> You feel that? Something in here shifted a minute or two ago. I do not have a cleaner word for it than that.
<</say>>
<<say "char-reyes" "Reyes">>
<i>(not writing anything down, which is somehow worse, looking slowly around the room)</i> I feel it. And it started inside the last few minutes, in a building whose air-handling service history I have already read. Note the time, Park. Whatever happened in this room it happened just now.
<</say>>
<<if _bowenSick>>
<p><span class="conditioning-gain conditioning-gain-dream">+1 dream · Chen, Vasquez, Halvorsen, Holloway, Park, Reyes</span></p>
<<else>>
<p><span class="conditioning-gain conditioning-gain-dream">+1 dream · Chen, Vasquez, Bowen, Halvorsen, Holloway, Park, Reyes</span></p>
<</if>>
<p><span class="suspicion-gain">+4 lab suspicion</span>, visible haze, named witnesses, maintenance log entry by close of business.</p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to picking a table|Ch2-Vessel-Loop-Lunch]]</div>
/* ---- LUNCH · NUDGE-FOR-SECONDS shared payoff ----
Fired from any of the four table sub-passages. Chen's body is hungry
from the host's elevated metabolism; the Nudge presses her to act on
the hunger. Always: +3 biomass, +3 vasquez susp (Sofia clocks the
habit reversal regardless of where in the cafeteria Chen was sitting),
+1 chen susp UNLESS sink-tidy self-improvement narrative absorbs it
(sinkProgress >= 3). Day-keyed so it can only fire once per lunch. */<<nobr>>
<<spendBiomass 1>>
<<set $currentArea to "BioGenesis Research Facility · Cafeteria, the serving deck">>
<<set $ch2Events.lunchNudgeSecondsDay to ($day or 0)>>
<<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress gte 3)>>
<<if not _selfNarrative>>
<<set $chenSuspicion to ($chenSuspicion or 0) + 1>>
<</if>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 3>>
<<if $vasquezSuspicion gt 10>><<set $vasquezSuspicion to 10>><</if>>
<<addBiomass 3 "repeatable">>
<</nobr>>
<div class="passage-title">Nudge · "Get more"</div>
<div class="lab-location">Chen's vagal afferents, the channel that tells her she is hungry</div>
<<say "char-hivemind" "Hivemind">>
//The host's metabolism is sitting below the line her body would prefer it sit on. Standard cafeteria portion against parasite-elevated baseline equals deficit. The body is signalling //empty// at a volume the lunch did not actually answer. I press the asking, a small instruction into the part of her that decides whether to act on hunger, //get up, get more//.//
<</say>>
<p>Chen pushes back from the table. She is on her feet before she has fully decided to be on her feet. She crosses to the serving deck, picks up the second-most-substantial thing on the rotation, a sandwich, a roll, a piece of fruit, pays at the register with the absent expression of a woman whose body has overruled her schedule, and comes back to whatever table she was sitting at. She eats quickly. The body is not full when she finishes. The body is closer to full.</p>
<img class="scene-img" src="media/scenes/vessel/chen-tray-lunchline.webp" alt="Chen back at the cafeteria serving deck, a brown plastic tray in both hands, picking up a second sandwich she had not planned on, the expression of a woman whose body has overruled her schedule.">
<<say "char-chen-thought" "Elena">>
...I was not going to do that, I was full thirty seconds ago, I have not gone back for seconds in this cafeteria in years and I just did it without... focus, finish it, do not make a thing of it, do not make a thing of it...
<</say>>
<<say "char-hivemind" "Hivemind">>
//The body is fed. Vasquez clocks the second tray from wherever in the room she happens to be, Vasquez has known the host long enough to register a habit reversal in real time, and the host does not go back for seconds. She files the inconsistency. She will turn it over later. <<if _selfNarrative>>The host files her own version under //I am being kinder to myself//, the self-improvement narrative the renovated kitchen has been writing for her absorbs the disconnect cleanly.<<else>>The host also clocks herself. The disconnect between //I was not going to do that// and //I just did that// is small today. Filed under //long morning//. Will be filed under //something is off with me// the third or fourth time.<</if>>//
<</say>>
<p><span class="biomass-gain">+3 biomass</span>, second tray, harvested off Chen's accelerated metabolism.</p>
<<if not _selfNarrative>><p><span class="suspicion-gain">+1 Chen self-noticing</span>, the body half-registers the unusual hunger.</p><</if>>
<p><span class="suspicion-gain">+3 Vasquez suspicion</span>, Vasquez clocks the habit reversal from across the room.</p>
<<set _back to "Ch2-Vessel-Loop-Lunch-Vasquez">>
<<if $ch2Events.lunchTableToday is "bowen">><<set _back to "Ch2-Vessel-Loop-Lunch-Bowen">>
<<elseif $ch2Events.lunchTableToday is "hollohalv">><<set _back to "Ch2-Vessel-Loop-Lunch-HolloHalv">>
<<elseif $ch2Events.lunchTableToday is "fedtable">><<set _back to "Ch2-Vessel-Loop-Lunch-FedTable">>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> <<link "Back to the table" _back>><</link>></div>
/* ---- LUNCH SKILL PAYOFFS · VASQUEZ ----
Heavy skills (Deep / Implant / Override) each set $ch2Events.lunchHeavyDay
on fire so the per-visit cap locks the others. Lure/spec sub-passages
set $ch2Events.lunchLureDay. All sub-passages route back to the table
via the shared back-link pattern (reads $ch2Events.lunchTableToday). */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Break Room">>
/* Apply the +2 biomass + snack count ONCE per arrival via a one-shot
flag tied to the day. Re-renders for the choice panel below don't
re-trigger the bonus. The flag clears at day-advance via the
eventResolvedToday wipe. */
<<if not $ch2Events.snackArrivedToday>>
<<addBiomass 2 "repeatable">>
<<set $ch2Events.snackWithVasquezCount to ($ch2Events.snackWithVasquezCount or 0) + 1>>
<<set $ch2Events.snackArrivedToday to true>>
<</if>>
<<hasSkillTreeAbility "Pheromone Lure">>
<<set _hasPheroLure to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">>
<<set _hasDomination to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">>
<<set _hasArchitect to _hasAbility>>
<<set _vasquezTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _tier3Open to ($ch2Events.tier3Unlocked or false)>>
<</nobr>>
<div class="passage-title">Vending machine, third floor</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Break Room</div>
<img class="scene-img" src="media/scenes/vessel/snack-with-vasquez.webp" alt="Chen and Vasquez at the institutional break-room counter — two cans of soft drink between them, the small open bag of corn nuts on the counter, the door propped half-open with a folding chair, the soft warm corridor light mixing with the cool fluorescent overhead.">
<p>Five minutes in the break room with Vasquez, two cans of something cold from the vending machine, the door propped open with the chair that nobody officially asked anyone to put there. They split the small bag of corn nuts Vasquez had stashed in her desk drawer for emergencies.</p>
<<say "char-vasquez" "Vasquez">>
<i>(leaning against the counter, opening the second can with the side of a key)</i> You're in form today. I forget sometimes, you're better at this than I give you credit for. Don't get a head about it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(small, deflecting, warm)</i> I'll try.
<</say>>
<<if not $ch2Events.snackArrivedToday or ($ch2Events.snackArrivedToday and not ($ch2Events.snackChitChatToday or $ch2Events.snackLureToday))>>
<<say "char-hivemind" "Hivemind">>
//A small useful interval. The host's metabolic baseline lifts a fraction; the host's relational baseline with the only person in the building she trusts climbs the same fraction. The biomass yield is real. The longer payoff is the part Vasquez just filed under //I should check on Chen more often.////
<</say>>
<</if>>
<<if not $ch2Events.snackArrivedToday or ($ch2Events.snackArrivedToday and not ($ch2Events.snackChitChatToday or $ch2Events.snackLureToday))>>
<p><span class="conditioning-gain conditioning-gain-pheromone" style="color:#6abf40">+2 biomass</span> · <<addSkillPoints 1 `"snack-vasquez-day-" + ($day or 0)`>></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CHIT-CHAT</span> <<if $ch2Events.snackChitChatToday>><span class="locked-choice">Already chatted with Vasquez this break</span><<else>>[[Take five minutes of normal conversation|Ch2-Vessel-Event-SnackWithVasquez-ChitChat]]<</if>></div>
<<if _hasPheroLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<if $ch2Events.snackLureToday>><span class="locked-choice">Compound already released this break</span><<else>><<biomassPreview "Release a small dose into the room: prime Vasquez (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-SnackWithVasquez-Lure" `setup.lureCost()`>><</if>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a small dose into the room, prime Vasquez <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if _tier3Open>>
/* DOMINATE — Tier 3 unlock gate + Vasquez cond gte 24. Below tier 3 the
row is hidden entirely; from tier 3 onward it surfaces as a locked
hint if the conditioning / skill is missing. */
<<if _vasquezTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Sofia's surface <span class="lock-hint">(Requires Vasquez conditioning <<= _vasquezTotal>> / 24)</span></div>
<<elseif not _hasDomination>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Push a small subconscious instruction past Sofia's surface <span class="lock-hint">(Requires Psychic Domination, Psionic skill tree)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">DOMINATE</span> <<if $ch2Events.snackDominationToday>><span class="locked-choice">Compulsion already planted this break</span><<else>><<biomassPreview "Push a small subconscious instruction past Sofia's surface (4 biomass)" "Ch2-Vessel-Event-SnackWithVasquez-Domination" 4>><</if>></div>
<</if>>
/* ARCHITECT — same Tier 3 + Vasquez cond 24 gate as DOMINATE. */
<<if _vasquezTotal lt 24>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Begin a small rewire in Sofia's endocrine baseline <span class="lock-hint">(Requires Vasquez conditioning <<= _vasquezTotal>> / 24)</span></div>
<<elseif not _hasArchitect>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Begin a small rewire in Sofia's endocrine baseline <span class="lock-hint">(Requires Biological Architect, Biological skill tree)</span></div>
<<else>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">ARCHITECT</span> <<if $ch2Events.snackArchitectToday>><span class="locked-choice">Rewire already started this break</span><<else>><<biomassPreview "[TBD] Begin a small rewire in Sofia's endocrine baseline (3 biomass)" "Ch2-Vessel-Event-SnackWithVasquez-Architect" 3>><</if>></div>
<</if>>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- SnackWithVasquez · CHIT-CHAT sub-passage ----
Free, no skill cost. Brief warm exchange that grounds Chen's social
baseline. Small −1 Vasquez susp because Sofia files Chen as
present-and-warm, not absent-and-distracted. */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Break Room">>
<<set $ch2Events.snackChitChatToday to true>>
<<set $vasquezSuspicion to Math.max(0, ($vasquezSuspicion or 0) - 1)>>
<</nobr>>
<div class="passage-title">Five minutes off the clock</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Break Room</div>
<<say "char-vasquez" "Vasquez">>
<i>(half-laughing through the corn nuts)</i> So she, okay, picture this, she gets the candle going in the wrong direction, blows out three of the other candles AND the napkins, and the entire family is just frozen for a second deciding whether we are reacting to a disaster or a triumph. My sister picks triumph. We sing happy birthday a second time. The kid is now four and a half years old and convinced she has a special candle technique.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(actually laughing now, the kind that catches her off-guard)</i> That's what's going to be in her wedding speech, you know. The candle technique.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(small smile, eyes on the can)</i> God, I hope so.
<</say>>
<p>They stand in the break room for another minute without saying anything in particular. Vasquez finishes her can, Chen finishes hers, the corn nut bag goes in the recycling. Vasquez bumps her shoulder against Chen's once on the way to the door — light, brief, the gesture between two people who don't usually touch.</p>
<<say "char-hivemind" "Hivemind">>
//Useful in the way I undervalue. The host laughed properly for the first time this morning; her cortisol baseline drops three notches; the part of Vasquez that has been quietly worrying about her gets a piece of evidence in the //she's still in there// column and shelves the worry until the next time. Vasquez's filing of the host is now the one I want — present, warm, on-form, not someone the friend needs to monitor.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-dream">−1 Vasquez suspicion</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- SnackWithVasquez · PHEROMONE LURE sub-passage ----
Vessel-skill-adjacent biological lure: the parasite vents a small
desire compound into the break room while Vasquez is at her most
relaxed (defenses down, cortex warm from the conversation). Lands
as +1 pheromone Vasquez. Her face flushes; she files it as warm-
room. First chemistry footprint on Sofia opens the longer-term
conditioning thread. */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Break Room">>
<<spendBiomass `setup.lureCost()`>>
<<set $ch2Events.snackLureToday to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<</nobr>>
<div class="passage-title">Pheromone Lure — into the break room</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Break Room</div>
<<say "char-hivemind" "Hivemind">>
//I release a small dose into the break room while Vasquez is at her most relaxed — defenses down, cortex warm from the conversation, the door propped open by a chair so the recirculated air pulls back into the corridor and her body is the closest thing to my exhalation. The compound is shaped to nudge her arousal-baseline up a fraction without crossing any threshold she could consciously name. Her cortex will file the warmth as the room being stuffier than she'd noticed.//
<</say>>
<img class="scene-img" src="media/scenes/vessel/vasquez-pheromone-flush.webp" alt="Close-up of Vasquez caught in a half-second of involuntary body response — cheeks flushed warm pink with the colour rising up the side of her throat, lips parted slightly, eyes a fraction too bright, hand spread flat on the counter for balance. The conscious half-smile from the prior beat is still on her mouth.">
<<say "char-vasquez" "Vasquez">>
<i>(blinking once, putting her empty can on the counter, voice a fraction lighter than it was a minute ago)</i> ...is it me, or is the air-handling on the third floor stuffier than it used to be. I keep noticing it in here.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(does not register the chemistry, takes the question at face value)</i> Halvorsen mentioned the recirc system was due for filter replacement. I'll mention it again at the next ops meeting.
<</say>>
<<say "char-hivemind" "Hivemind">>
//First chemistry footprint on Vasquez. Her cortex has filed it as ventilation; her body has filed it as the half-second she just spent standing closer to the host than usual. Both filings will compound. The next break-room beat will land softer in her than this one did, and the one after softer than that, and somewhere down the chain she will start touching the host's sleeve when she talks and not knowing why she chose to.//
<</say>>
<p><span class="conditioning-gain conditioning-gain-pheromone">+1 pheromone · Vasquez</span></p>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- SnackWithVasquez · PSYCHIC DOMINATION sub-passage ----
TBD STUB. Authored placeholder so the DOMINATE skill option in the
parent passage resolves cleanly. When authored: the parasite pushes
a small subconscious instruction past Sofia's surface in the break
room — a compulsion she will act on later without noticing she has
chosen it. Future content gates on Vasquez psionic conditioning. */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Break Room">>
<<if not $ch2Events.snackDominationToday>>
<<spendBiomass 4 "snack-vasquez-domination">>
<<set $ch2Events.snackDominationToday to true>>
<</if>>
<</nobr>>
<div class="passage-title">[TBD] Psychic Domination · Vasquez</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Break Room</div>
<<say "char-hivemind" "Hivemind">>
//[TBD, Psychic Domination on Vasquez in the break room. The parasite reaches past Sofia's surface and plants a small subconscious instruction she will execute later in the day without recognising she has chosen to. Content to be authored in a future pass.]//
<</say>>
<p><span class="delve-intel">[TBD outcome — Psychic Domination payoff on Vasquez. No state change beyond the biomass spend and the once-per-break flag.]</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- SnackWithVasquez · BIOLOGICAL ARCHITECT sub-passage ----
TBD STUB. Authored placeholder so the ARCHITECT skill option in the
parent passage resolves cleanly. When authored: the parasite begins
a small endocrine rewire of Sofia during the break — first instalment
of a longer architecture arc (cf. the Beast-route Karen / Ryan tissue
modifications). Future content gates on cumulative architect sessions. */<<nobr>>
<<bg "bg-lab-corridor">>
<<set $currentArea to "BioGenesis Research Facility · Third Floor Break Room">>
<<if not $ch2Events.snackArchitectToday>>
<<spendBiomass 3 "snack-vasquez-architect">>
<<set $ch2Events.snackArchitectToday to true>>
<</if>>
<</nobr>>
<div class="passage-title">[TBD] Biological Architect · Vasquez</div>
<div class="lab-location">BioGenesis Research Facility · Third Floor Break Room</div>
<<say "char-hivemind" "Hivemind">>
//[TBD, Biological Architect on Vasquez in the break room. The parasite begins a small endocrine rewire — first instalment of a longer architecture arc. The break is a covering activity; the actual modification runs underneath the conversation. Content to be authored in a future pass.]//
<</say>>
<p><span class="delve-intel">[TBD outcome — Biological Architect first-instalment on Vasquez. No state change beyond the biomass spend and the once-per-break flag.]</span></p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ============================================================
HALVORSEN — first working day after the Shatter (STUB).
Fires once, on the first working day (Mon–Fri) strictly after
the Halvorsen relay Shatter night, in the work phase before
lunch (mandatory, so it lands before the lunch link unlocks).
Old-save compatible: if the shatter day was never recorded
(halvorsenRelayShatterDay falsy — a save from before that field
existed), the day-floor is skipped and it fires on the next
working day instead. halvorsenShatterWorkdayFired is likewise
undefined-falsy on old saves, so the guard does not block them.
Content TBD — the in-person fallout of the work-ethic Shatter;
feeds the procurement / casting-couch arc (see tasks/rework.md).
============================================================ */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office">>
<<run setup.markEventFired('work-vasquez-dropby', $day or 0)>>
<<set $ch2Events.workNpcDoneDay to ($day or 0)>>
<<set $ch2Events.workVasquezDropbyEntered to true>>
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _tier to 1>>
<<set _cap to 4>>
<<if _vTotal gte 7>>
<<set _tier to 3>>
<<set _cap to 10>>
<<elseif _vTotal gte 4>>
<<set _tier to 2>>
<<set _cap to 7>>
<</if>>
<<set _atCap to _vTotal gte _cap>>
<<hasSkillTreeAbility "Pheromone Lure">><<set _hasLure to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">><<set _hasBioArch to _hasAbility>>
<</nobr>>
<div class="passage-title">Vasquez at the doorframe</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, mid-morning</div>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-dropby.webp" alt="Vasquez standing at the open doorway of Chen's office, half-stepped inside with a tablet under one arm, lab coat over blue scrubs, the brief functional what-do-you-need posture of a colleague mid-three-other-tasks. Chen visible at her desk in profile, shoulder-length black hair and dark-rimmed glasses, half-turned in her swivel chair, telemetry data on the laptop screen between them, mid-morning office light through the half-open blinds.">
<<if $ch2Events.workVasquezArchitectEver>>
<p>Vasquez knocks once on the open door and steps a half-pace inside, tablet under one arm, and the sound comes in with her, that low steady three-source hum that has been part of her workday since the morning she stopped treating it as a problem. Chen hears it before she looks up.</p>
<<say "char-chen" "Dr. Chen">>
<i>(eyes still on the telemetry log, dry)</i> ...still wearing those, then.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(a step in, entirely matter-of-fact, tablet lifted)</i> Mm-hm. All three, all day, you stop hearing them after the first hour. ...I came on the way over, by the way, mind where you step near the door, I think I left the floor a little wet.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(swinging her chair round, the corner of her mouth tugging up before she can stop it)</i> ...noted. You walked all the way to my office to warn me you came outside it.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(already sliding into the work, easy)</i> I walked to your office to ask about the chamber-three cooling re-spec, the coming was on the way. Do you want the swap before the next anomalous run or after? Halvorsen wants to know whether to slot the maintenance window in now or push it out.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(straight back into it)</i> Push it out. I want the next run on the current configuration so we baseline against the last two anomalous outputs without the re-spec confounding it. Now is too soon.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(a nod, typing, the hum unbothered)</i> Right. I'll have him push the window. ...thanks. Mind the floor.
<</say>>
<p>She is out the door before Chen has finished the thought, the hum going with her down the corridor, the office settling back to quiet around the telemetry log, with one small wet patch by the doorframe that Chen decides, on balance, not to examine too closely.</p>
<<say "char-hivemind" "Hivemind">>
//Vasquez carries the buzz into the office the way she carries the tablet now, one more ordinary fact of the working day, and she warns the host about the floor in the same breath she asks about the cooling re-spec. The new normal holds without effort. ...the opening to push deeper is wide and warm. A micro-dose of compound in the air she breathes, or a slip of tongue under the cover of the work question.//
<</say>>
<<else>>
<p>Vasquez knocks once on the open door of Chen's office and steps a half-pace inside, tablet under one arm, the brisk what-do-you-need posture she does when she has a work question and is in the middle of three other tasks. Chen looks up from the chamber-three telemetry log she has been parsing.</p>
<<say "char-vasquez" "Vasquez">>
<i>(a step in, tablet lifted)</i> Hey, quick one. The chamber-three cooling re-spec, do you want the swap done before the next anomalous run or after? Halvorsen is asking whether to schedule the maintenance window for Friday or push it.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(swinging her chair round to face the door)</i> Push it. I want the next run on the current configuration so we can baseline against the last two anomalous outputs without the cooling re-spec confounding the comparison. Friday's too soon.
<</say>>
<<say "char-vasquez" "Vasquez">>
<i>(a nod, already typing on the tablet)</i> Right. I'll tell him next-Wednesday window. Cool. Thanks.
<</say>>
<p>She is already out the door before Chen has finished saying <i>thanks for asking</i>. The whole exchange ran thirty seconds. The corridor swallows the tap of her shoes and the office goes quiet again, the telemetry log still open on Chen's screen.</p>
<<say "char-hivemind" "Hivemind">>
//Vasquez at the narrowest engagement her body keeps for Chen, the pure work-question version, in and gone before the chair has finished turning. The opening to push deeper is thin but real. I can shape a micro-dose of compound into the air she breathes on the way past, or land a slip of tongue under her own pretext of being mid-tasked. The opening widens as her conditioning footprint accumulates.//
<</say>>
<</if>>
<hr class="scene-break">
<<if _hasLure>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">PHEROMONE</span> <<biomassPreview "Release a small dose at the doorway as she leans in (<<= setup.lureCost()>> biomass)" "Ch2-Vessel-Event-WorkVasquezDropby-Lure" `setup.lureCost()`>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Release a small dose at the doorway <span class="lock-hint">(Requires Pheromone Lure, Biological skill tree)</span></div>
<</if>>
<<if $ch2Events.workVasquezArchitectFired>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <span class="locked-choice">Sofia's new normal is already written</span></div>
<<elseif _hasBioArch>>
<<if _vTotal gte 28>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">BIOLOGICAL ARCHITECT</span> <<biomassPreview "Let the new normal surface, and notice the buzz under her coat (0 biomass)" "Ch2-Vessel-Event-WorkVasquezDropby-Architect" 0>></div>
<<elseif _tier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the new normal surface <span class="lock-hint">(Sofia's conditioning must run deeper, <<= _vTotal>> / 28 total)</span></div>
<</if>>
<<elseif _tier gte 3>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Let the new normal surface <span class="lock-hint">(Requires Biological Architect, the apex Biological skill)</span></div>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office">>
<<if not $ch2Events.workVasquezArchitectFired>>
<<set $ch2Events.workVasquezArchitectFired to true>>
<<set $ch2Events.workVasquezArchitectEver to true>>
<<addBiomass 2 "vasquez-architect">>
<<set $player.maxBiomass to ($player.maxBiomass or 10) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">A Small Solution</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office</div>
<<say "char-hivemind" "Hivemind">>
//Sofia's baseline has been rewritten deep enough that the line has moved for her the way it moved for the two agents. She does not perform for Elena anymore, and she does not hide from her either. Whatever the body has started doing about its own wanting, it does it in front of Elena now, without the thought that it might be a thing worth hiding.//
<</say>>
<p>Sofia leans in over the desk to point something out on the tablet, and that is when Elena hears it. A small electric buzz, low and steady and close. Not the laptop fan. Not the corridor. Coming off Sofia.</p>
<<say "char-chen-thought" "Elena">>
<i>(eyes coming up off the tablet)</i> ...that is a buzz. That is a buzz coming off Sofia, and it is not her phone.
<</say>>
<p>Elena's eyes go to it before she can decide not to, and Sofia clocks the look and does not flush, does not step back, does none of the things a woman does when she has been caught at something. She glances down at herself, then back up, and gives the small rueful shrug of a friend about to own up to a minor and slightly embarrassing life hack.</p>
<<say "char-vasquez" "Sofia">>
<i>(setting the tablet down on the desk, a wry half-smile)</i> ...yeah. Okay. You heard that. <i>(a small breath, both hands going to the front of her coat)</i> Do not make it weird.
<</say>>
<p>She pulls the front of her lab coat open. Underneath it she is wearing nothing but a plain pair of underwear, and the small steady hum has three sources at once: a bullet vibrator taped to each nipple, and a third sitting snug in the front of her underwear, all of them running at the same low all-day setting.</p>
<img class="scene-img" src="media/scenes/vessel/vasquez-desk-vibrators.webp" alt="Sofia Vasquez, a Latina woman in her late thirties with dark brown hair, standing in the office doorway holding her white lab coat open with both hands, bare underneath but for plain underwear, a small bullet vibrator taped to each nipple and a third tucked into the front of her panties.">
<<say "char-vasquez" "Sofia">>
<i>(matter-of-fact, nodding down at herself the way she would talk through a new piece of bench equipment)</i> ...two on the nipples, taped, and one that sits where it sits. Bluetooth, all three, I run them off my phone in my coat pocket. <i>(a small dry laugh)</i> Low setting, all day.
<</say>>
<<say "char-chen" "Dr. Chen">>
<i>(level, because the room has decided this is an ordinary thing a colleague mentions over a tablet)</i> ...all day.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(pulling the coat closed again and doing up the middle button, entirely unbothered)</i> All day. I have been wound up for a long while now, El, and home is not exactly helping with it. So I found a solution. <i>(a shrug)</i> Honestly? I get more done like this than I did spending half the morning trying not to think about it. Takes the edge off and I stop noticing it is there.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There it is. Not me reaching in to make her want. The want was always there, the marriage going quiet, the body left running with nowhere to put it. All I moved was the wall between what she does about it and what she will do about it in a colleague's office at ten in the morning. The wall is gone. She runs warm all day now, a few feet from the host, and calls it productivity.//
<</say>>
<p><span class="biomass-gain">+2 biomass</span></p>
<p><span class="biomass-gain">Max biomass +1</span> · Sofia at her desk runs warm all day now, a standing source.</p>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<spendBiomass `setup.lureCost()`>>
<<addConditioning "vasquez" "pheromone" 1>>
<<set _slipFlag to "workVasquezLureSlip" + ($day or 0)>>
/* Slip-discovery skill point is once-ever — fixed id, NOT day-keyed, so
$spAwarded dedups it after the first award. (_slipFlag stays day-keyed
for the reveal div, which re-arms the slip each day.) */
<<set _slipSpId to "workVasquezLureSlip-sp">>
<<hasSkillTreeAbility "Emotional Manipulation">><<set _hasEM to _hasAbility>>
<<hasSkillTreeAbility "Hormonal Override">><<set _hasHO to _hasAbility>>
<<hasSkillTreeAbility "Biological Architect">><<set _hasBioArch to _hasAbility>>
<<hasSkillTreeAbility "Psychic Domination">><<set _hasPsyDom to _hasAbility>>
<<set _vTotal to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<<set _chenTotal to ($conditioning.chen.pheromone or 0) + ($conditioning.chen.dream or 0) + ($conditioning.chen.psionic or 0)>>
<<set _tier to 1>>
<<if _vTotal gte 7>><<set _tier to 3>><<elseif _vTotal gte 4>><<set _tier to 2>><</if>>
<</nobr>>
<div class="passage-title">Pheromone · at the doorway</div>
<div class="lab-location">BioGenesis Research Facility, Chen's office, the small dose drifting through the doorway</div>
<<say "char-hivemind" "Hivemind">>
//Not the warmth-and-trust default. A heavier compound off the exposed skin of the host's neck and the inside of her wrists, the one tuned for arousal-onset rather than ambient comfort. The dose lands in Vasquez's olfactory pathway under the cover of the recycled air the building moves around at this hour. Within forty seconds her vasculature will dilate, her thighs will press lightly together without her cortex flagging the gesture, and the body will want a reason to leave the room.//
<</say>>
<p>Vasquez is still on the doorframe when the dose lands. She does not register what is happening — only that the office is suddenly warmer than it was a moment ago, that her own collarbone feels flushed, that her hand has migrated to the edge of her tablet and is gripping it harder than she remembers gripping it. She shifts her weight against the doorframe, recrosses her ankles. Tries to remember what she was about to say.</p>
<<say "char-vasquez" "Vasquez">>
<i>(small breath catching, the heat at her own throat surprising her, the half-step back from the doorframe she does not quite plan)</i> ...I should... actually, sorry, let me get going, I think procurement is waiting on me. The AC must be off in this wing, it's stuffy in here, I'll catch you later.
<</say>>
<p>She takes the half-step back into the corridor, already half-turned away.</p>
<<say "char-chen" "Dr. Chen">>
<i>(looking at her with a small puzzlement, the air feels fine to her, the impulse to call her back before she steps fully into the corridor)</i> <<tongueSlip "Yeah, no problem, talk later." "Yeah... actually, Sofia, stay a second, look at this with me?" 0 "vasquez" _slipFlag "#work-vasquez-lure-stays" "dream" _slipSpId "" "" "">>
<</say>>
<<conditioningFeedback "pheromone" 1 "Vasquez, workday pheromone deepens">>
<div id="work-vasquez-lure-stays" style="display:none" @style="$ch2Events[_slipFlag] ? '' : 'display:none'">
<hr class="scene-break">
<p>Vasquez's body had already committed to the corridor. The slip catches her mid-pivot, and her cortex, looking for any reason to stay that does not require her to acknowledge the heat at her throat, accepts <i>look at this with me</i> as the permission slip the body was already asking for. She steps back into the room, crosses to Chen's side of the desk, leans her hip against the edge of the desk, and bends to look at the laptop screen, closer than the angle requires.</p>
<<say "char-vasquez" "Vasquez">>
<i>(at Chen's shoulder, the small extra warmth of her body too close to be entirely professional, voice slightly off-register)</i> ...okay, walk me through it, what am I supposed to be seeing in the trace, and what is the dip telling you that's interesting?
<</say>>
<<say "char-hivemind" "Hivemind">>
//The slip gave her cortex the cover story it was searching for. The body was always going to stay; the host's voice provided the excuse. Vasquez is now within fifteen centimetres of Chen's exposed skin and the dose is still venting. Her conditioning footprint is taking on weight in real time, and the cortex has filed the closeness under //collegial telemetry review//. The opening is fully open.//
<</say>>
<<conditioningFeedback "dream" 1 "Sofia, the closeness writes itself into tonight's sleep">>
<<if _tier gte 2>>
<hr class="scene-break">
<p>The dose is still venting, and Vasquez is closer than the telemetry needs her to be, and the visit has somewhere further it can go than the edge of the desk.</p>
<<if _hasEM>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">Emotional Manipulation</span> <<biomassPreview "Soften her down, take it slow while she is pliant (2 biomass)" "Ch2-Vessel-Event-WorkVasquezDropby-T2-em" 2>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Soften her down, take it slow while she is pliant <span class="lock-hint">(Requires Emotional Manipulation, Psionic skill tree)</span></div>
<</if>>
<<if _hasHO>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">Hormonal Override</span> <<biomassPreview "Flood her and do not let the arousal land (3 biomass)" "Ch2-Vessel-Event-WorkVasquezDropby-T2-override" 3>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Flood her and do not let the arousal land <span class="lock-hint">(Requires Hormonal Override, Biological skill tree)</span></div>
<</if>>
<<if _tier gte 3>>
<<if $ch2Events.sofiaRelayShatter and _chenTotal gte 24>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview "Remind her her position now (1 biomass)" "Ch2-Vessel-Event-WorkVasquezDropby-T3-shatter" 1>></div>
<<elseif $ch2Events.sofiaRelayShatter>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Remind her her position now <span class="lock-hint">(the wall is open, but my own wiring is not deep enough to step through yet. Total conditioning <<= _chenTotal>> / 24 required)</span></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Remind her her position now <span class="lock-hint">(I need to find a way to shatter her mind before attempting this)</span></div>
<</if>>
<</if>>
<</if>>
</div>
<hr class="scene-break">
[[Back to the docket|Ch2-Vessel-Loop-Work]]
/* ---- Vasquez Lure → Emotional Manipulation downstream ----
STATUS: PARKED — the "Steer the arousal" EM link was removed from
the -Lure escalation menu (one EM option only, the T2-em scene).
Passage preserved as design reference, no longer linked. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 2>>
<<addConditioning "vasquez" "psionic" 1>>
<</nobr>>
<div class="passage-title">Steering — the body's target</div>
<div class="lab-location">BioGenesis Research Facility · Vasquez's emotional layer, mid-arousal</div>
<<say "char-hivemind" "Hivemind">>
//The dose has produced unfocused arousal — her body is hot but the cortex has not yet assigned the heat a target. The default attribution would land somewhere generic: //the AC is off//, //I am tired//, //I have not been touched in a while//. None of those route the energy back to me. I reach into the emotional layer mid-flush and re-target. The body's diffuse warmth is re-pointed: not //the room//, not //a man//, not //Andrés//. //Chen.// The exposed skin Vasquez is currently fifteen centimetres from. The voice currently asking her about the telemetry trace. The face she has looked at every workday for the past six years and never quite catalogued in this register before.//
<</say>>
<p>Vasquez keeps her eyes on the laptop screen. The four-minute mark is right there. Chen is explaining the dip in the trace and Vasquez is hearing the words but the words are arriving on a body that is, for the first time, registering Chen's wrist on the desk in front of her as something other than a colleague's wrist. The thought arrives without preamble and without resolution. She does not act on it. She does not name it. She tracks the dip in the telemetry, makes the small correct hum of acknowledgment, straightens up, makes the small joke about needing more coffee, leaves the office at a speed that is brisk without being a retreat.</p>
<<say "char-hivemind" "Hivemind">>
//The wiring is permanent. Vasquez's body has just learned to associate Chen-specifically with the particular flush it is currently experiencing. From this point forward every time Vasquez looks at Chen's wrist on a desk, or smells the small specific compound the host's skin has been venting, the same flush will arrive with the same target attached. The cortex will not be able to flag the association as new — the body will report it as //I have always thought of Chen this way, on some level//, which is the framing the body files unfamiliar feelings under when the cortex is not equipped to process them.//
<</say>>
<<conditioningFeedback "psionic" 1 "Vasquez, arousal target re-pointed at Chen">>
<hr class="scene-break">
[[Back to the docket|Ch2-Vessel-Loop-Work]]
/* STATUS: UNWIRED — the DELVE option in the Vasquez T2/T3 hub was
removed pending a fix on the canonical "Delve" skill name lookup
(the hasSkillTreeAbility check was firing locked even when the
player had the skill). Passage prose preserved as design reference;
re-link the hub option in WorkVasquezDropby once the skill-name
match is verified. */<<nobr>>
<<bg "bg-lab">>
<<spendBiomass 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<if not $delveInfo>><<set $delveInfo to {}>><</if>>
<<set $delveInfo.vasquezSurfaceWork to true>>
<</nobr>>
<div class="passage-title">Delve — through the doorframe</div>
<div class="lab-location">BioGenesis Research Facility · Vasquez's surface, mid-pretext</div>
<<say "char-hivemind" "Hivemind">>
//Surface read on Vasquez while she leans on the doorframe and pretends the visit is about chamber three. The first layer of her register-stack is //I am asking about the cooling re-spec//. The second is //I am taking a small break from procurement spreadsheets//. The third — the load-bearing one — is //Chen has been a fraction off this week and I want to be here for thirty seconds in case she says something//. The chamber-three question is the permission slip; the second-layer question is the actual visit.//
//<span class="delve-intel">Vasquez's drop-by visits to Chen's office are pretexts for friendship maintenance. The work topic is the bandwidth she has assigned herself for engaging without invasiveness.</span>//
<</say>>
<<conditioningFeedback "psionic" 1 "Vasquez, surface read deepens the contact">>
<hr class="scene-break">
[[Back to the docket|Ch2-Vessel-Loop-Work]]
/* ---- VASQUEZ work-venued lab-day scenes ------------------------
Reached from the tail of Ch2-Vessel-Event-WorkVasquezDropby-Lure:
the Pheromone Lure draws Vasquez into the room, and at conditioning
tier 2+ a skill-gated escalation menu appears in that passage's
slip payoff. The five LIVE scenes are: T2-em (Emotional
Manipulation), T2-override (Hormonal Override), T3-bioarch-office
(Biological Architect), T3-shatter (Shatter Mind), T3-domination
(Psychic Domination). All one-shot-guarded ($ch2Events.
workSceneFired). The drop-by itself always plays its T1
work-question scene. Prose-only; 3 placeholder images per scene
queued in tasks/rework.md.
officedoor and coldroom below are STATUS: PARKED — prose preserved
as design reference, no longer linked from any menu (the escalation
was redesigned around skill-gated cards). */
/* STATUS: PARKED — not linked. Preserved design reference. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door shut">>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t2-officedoor'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t2-officedoor'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addBiomass 3 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">The office, the door shut</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, mid-morning</div>
<p>Elena crosses the office and Sofia comes off the door to meet her, and the kiss in the middle of the small room is not a question, it is the thing the shut door has been about for a long run of shut doors. Sofia's hands find her waist. Elena walks her the two steps back to the desk and Sofia sits up onto the edge of it, knees coming apart, pulling Elena in between them.</p>
<<say "char-vasquez" "Sofia">>
<i>(against Elena's mouth, low, already short of breath)</i> The whole building is on the other side of that door. You know that. ...So keep me quiet. That part is on you.
<</say>>
<p>Elena gets the lab coat off Sofia's shoulders and the scrub bottoms down her hips, and goes to her knees on the office carpet between Sofia's thighs without any ceremony about it at all. She puts her mouth on Sofia's cunt and Sofia's breath goes out of her in one long unvoiced rush, her hand coming down hard over her own mouth before the sound can.</p>
<p>Elena works her slow and then not slow, two fingers curling up into her, her tongue on Sofia's clit, and Sofia rides it in near-total silence with her free hand fisted in the edge of the desk. The quiet is half the charge. Every sound she does not make stacks up behind her teeth.</p>
<<say "char-vasquez" "Sofia">>
<i>(the hand coming off her mouth for one bitten-down whisper)</i> Elena. //Elena.// God, do not stop, do not you dare, I am, I am right there...
<</say>>
<<say "char-chen" "Elena">>
<i>(pulling off her for a breath, fingers still working, voice low and even)</i> Then come. Quietly. You can do quiet, Sofia, you have been doing quiet for a while now.
<</say>>
<p>She puts her mouth back. Sofia comes a half-minute later with her whole body locking down around Elena's fingers and not one sound escaping her, just the long shaking exhale of a held breath finally let go, her hand back over her mouth the entire time.</p>
<<say "char-hivemind" "Hivemind">>
//The host's closest friend, undone in total silence on a desk that has the chamber-three telemetry still open on the laptop beside it. The energy comes off the pair of them clean and warm and the body takes its portion. What deepens here is not only Sofia's wiring, it is the host's, the practical certainty with which she crossed the office, the not-a-question of it. She is no longer surprising herself in this room. That was the last useful resistance and it is gone.//
<</say>>
<p>Sofia gets her scrubs back up, her lab coat back on, her breath back. She fixes her hair in the dark reflection of the office window. Then she leans down and kisses Elena once more, soft, almost chaste against the thing they just did, and picks her tablet up off the cabinet.</p>
<<say "char-vasquez" "Sofia">>
<i>(at the door, composed again, the smile entirely private)</i> Chamber three. Push the re-spec. ...I will be back tomorrow with another question.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the shut-door routine deepens">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, the office writes itself into her">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* STATUS: PARKED — not linked. Preserved design reference. */<<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · the chilled sample store">>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-coldroom'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-coldroom'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 5 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The cold room</div>
<div class="lab-location">BioGenesis Research Facility · the chilled sample store</div>
<p>The sample store is four degrees and windowless and the door does not lock, and that is the point of it. Elena walks Sofia in on the pretext of a reagent pull, and the moment the heavy door swings shut behind them Sofia has her backed into the shelving, the steel rack cold through Elena's shirt, both of them already pulling at clothes with the speed of women who know exactly how long a reagent pull is supposed to take.</p>
<<say "char-vasquez" "Sofia">>
<i>(fast, low, mouth at Elena's jaw)</i> How long do we have. Tell me how long, and do not be generous about it.
<</say>>
<<say "char-chen" "Elena">>
<i>(getting Sofia's scrubs open, breath already going)</i> Long enough if you stop talking. Turn around.
<</say>>
<p>Sofia turns and braces both hands on the cold steel and Elena gets in behind her, one arm around her waist, the other hand down the front of her pushed-open scrubs, fingers finding her already wet and going to work fast. Sofia's head drops between her shoulders. The cold room turns every breath visible.</p>
<p>It is nothing like the office. The office is slow and quiet and careful. This is fast and hard and graceless, Elena's fingers driving into her without patience, Sofia rocking back onto them, both of them counting down the reagent-pull clock the entire time, and the urgency is the whole flavour of it.</p>
<<say "char-vasquez" "Sofia">>
<i>(forehead against the steel, voice wrecked and rushed)</i> Fuck. Fuck, like that, do not slow down, somebody is going to need this room and I do not, I do not //care//, just...
<</say>>
<<say "char-chen" "Elena">>
<i>(against the back of Sofia's neck, low and certain)</i> Nobody is coming. And if they do, you will be very quiet and very fast, the way you already know how to be. Come on, Sofia. Spend it.
<</say>>
<p>Sofia comes hard against the shelving with a sound she swallows down to almost nothing, her whole body shuddering through it, Elena holding her up through the worst of it.</p>
<<say "char-hivemind" "Hivemind">>
//The host has stopped needing comfort or privacy or a soft surface to do this. A windowless four-degree room and a door that does not lock, and she walked her friend into it with a lie about reagents already loaded. The energy here runs hot and fast and the body takes a heavy portion. What I am cataloguing is the host's range expanding, she can do this slow and tender on a couch and she can do this fast and rough against cold steel, and neither one costs her anything she is willing to notice afterward.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(at the heavy door, scrubs fixed, colour still high)</i> We are not telling anyone the cold room is a thing. ...The cold room is a thing now, though. I want that on the record.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+5 biomass</span>, <span class="biomass-gain">max biomass +1</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the urgency wires in alongside the tenderness">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, another venue files as ordinary">></p>
<</if>>
<hr class="scene-break">
<img class="scene-img" src="media/scenes/vessel/chen-bowen-cheek-kiss.webp" alt="Tight close-up of Chen leaning down to kiss Bowen's cheek at his BSL-3 bench. Chen in three-quarter view from behind, shoulder-length black hair, white lab coat, lips just touching the high point of his cheekbone, two fingers resting on his shoulder. Bowen in profile, mid-twenties, wavy dark-blonde hair, eyes wide with the colour rising up his neck, gloves still on, the pipette frozen in his hand, the safety glasses pushed up onto his forehead. Stainless-steel bench top blurred behind them, cold institutional fluorescents, the BSL-3 chamber soft in the deep background.">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, the saturated room">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-bioarch-office'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-bioarch-office'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 7 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">The room does the work</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, the saturated room</div>
<<say "char-hivemind" "Hivemind">>
//I have been saturating this office for a long time now. Every surface in it carries a conditioning film, laid down a contact at a time, and the air handler simply recirculates what the room has already learned to produce. The host does not have to do anything. She did the work a long time ago. The office is the vector. Today I only have to let Sofia walk into it and shut the door.//
<</say>>
<p>Sofia comes in, shuts the door, and gets three words into the chamber-three formality before the room reaches her. Elena watches it happen from the desk. It is not subtle and it is not slow. Sofia's sentence stops in the middle. Her pupils blow wide. The colour climbs her throat in a single fast wave, and her hand goes flat against the shut door behind her as if the floor has tilted.</p>
<<say "char-vasquez" "Sofia">>
<i>(the work sentence abandoned, voice gone thick and slow)</i> ...oh. Oh, that is, that is every time now, the second the door shuts, Elena, what //is// this room, I cannot, I never can...
<</say>>
<<say "char-chen" "Elena">>
<i>(rising from the desk, unhurried, because there is no need to hurry)</i> It is just my office, Sofia. Come here. You already know what you want. The room only reminds you faster.
<</say>>
<p>Sofia crosses the room on legs that are not entirely answering to her and Elena takes her down onto the office couch, and the thing that follows barely needs Elena in it. Sofia is already most of the way gone before a hand has been laid on her. She pulls Elena's fingers to where she needs them and rides them with her own scrubs shoved down around one ankle, mouth open, every breath a small wrecked sound she has stopped bothering to swallow.</p>
<<say "char-vasquez" "Sofia">>
<i>(gone, the words spilling with no quiet left in them)</i> I do not even... I do not get a //say// in it anymore, the door shuts and I am just, I am //this//, and I do not, fuck, I do not want it to stop, do not let it stop...
<</say>>
<<say "char-chen" "Elena">>
<i>(low, against her ear, watching the room do what the room does)</i> It does not have to stop. You can have this every single morning, Sofia. All you have to do is keep shutting the door.
<</say>>
<p>Sofia comes apart under her loud enough that the lab would hear it if the office walls were thinner, and goes straight on shaking toward a second one without any pause between, the saturated room not letting her down off the first before the next is already climbing.</p>
<<say "char-hivemind" "Hivemind">>
//This is what the architecture is for. No dose administered today, no compound shaped in the moment, no work done by the host at all. A room I built, and a target conditioned past every threshold she had, and the two of them put in contact. Sofia will leave this office unable to account for why her own body abandons her at the click of a particular latch, and she will not be able to stay away, because the not-being-able-to-stay-away is the conditioning and the conditioning is the thing she keeps coming back for. The host runs a self-sustaining vector now.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(quiet, dazed, honest)</i> ...I should be unsettled by how much I need to come in here. I keep waiting to be unsettled by it. ...It just feels like the best part of my day. Same time tomorrow, Elena. Please.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+7 biomass</span>, <span class="biomass-gain">max biomass +1</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the saturated room deepens every channel at once">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, the latch-click writes itself in">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, the room is hers to need now">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door shut">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t2-em'] or false)>>
<<spendBiomass 2>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t2-em'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addBiomass 3 "repeatable">>
<<set $chenSuspicion to ($chenSuspicion or 0) + 2>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 2>>
<</if>>
<</nobr>>
<div class="passage-title">Softened down</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, door shut</div>
<<say "char-hivemind" "Hivemind">>
//I do not touch the bodies. I reach into the emotional layer of each woman, turn the same dial by the same degree, and wait. Arousal handed over all at once gets noticed, and resisted. Arousal that climbs one quiet degree at a time, under a conversation about cooling re-specs, simply becomes the temperature of the room.//
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(losing the thread, a small uneven laugh)</i> ...I have completely forgotten what I came in to ask you. That is not like me. Is it warm in here, or have I caught something?
<</say>>
<<say "char-chen" "Elena">>
<i>(quiet, not looking at the laptop anymore)</i> It is not the room, Sofia.
<</say>>
<p>Sofia does not answer that. Her hand comes up instead and settles on Elena's shoulder, and after a moment it slides forward, down across the front of Elena's blouse until it finds her breast, and stays there, and begins to work, slow and uncertain and unable to make itself stop. Elena's head tips back against the chair, her lips part, and a small low sound gets out of her before she has decided whether to let it.</p>
<p>Then Elena stands.</p>
<<say "char-vasquez" "Sofia">>
<i>(her hand snapping back, the colour flooding up her face)</i> I... I am sorry. Elena, I should not have, I do not know what I...
<</say>>
<<say "char-chen" "Elena">>
<i>(taking Sofia by the wrist before the apology can finish)</i> Shut up, Sofia.
<</say>>
<p>She walks Sofia backward across the office, unhurried, one hand flat on her sternum, until Sofia's shoulders meet the door and there is nowhere further to go.</p>
<<say "char-vasquez" "Sofia">>
<i>(back flat against the door, breathless, eyes wide)</i> Elena, the whole floor is right out there...
<</say>>
<<say "char-chen" "Elena">>
<i>(holding her there, reaching down past Sofia's hip)</i> Then stay quiet, and do not moan like a virgin now.
<</say>>
<p>She keeps Sofia pinned to the door with the length of her own body and reaches the lock, and it turns under her fingers with a small definite click. Sofia feels the click more than hears it, the door going solid and final at her back, and whatever has been holding her in check lets go all at once.</p>
<p>Sofia kisses her. Hard, open-mouthed, both hands coming up to take Elena's face, no hesitation left anywhere in it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-em-kiss.webp" alt="Elena and Sofia kissing in Chen's office, Elena's hand along Sofia's jaw drawing her into the kiss, Sofia's hand at Elena's waist, both still in their lab-day clothing, a desk with a laptop and half-open window blinds behind them, warm mid-morning light.">
<p>Elena fondles her through the kiss, palm working over her breast and then under the fabric, and Sofia arches into it and moans, too loud, and Elena lifts her free hand and presses it flat over Sofia's mouth.</p>
<<say "char-chen" "Elena">>
<i>(low, her hand sealing the sound in)</i> What did I just say. Quiet. Make it into my hand if you have to.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(muffled against Elena's palm)</i> Mmh. //Mmh.//
<</say>>
<p>Sofia gets her own hand down the front of Elena's slacks in answer, and then they are both at it, pressed together against the door with a hand each between the other's legs, fingers pushing in, the kiss broken only because they cannot keep their mouths together and breathe like this at the same time.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-em-fingering.webp" alt="Close-up on Elena's hand between Sofia's thighs against the office door, two fingers pushed into her, Sofia's blue medical scrubs shoved down around her thighs, wet, mid-morning light.">
<<say "char-vasquez" "Sofia">>
<i>(Elena's hand off her mouth for a second, the words spilling fast and filthy)</i> God, you are so wet, you are dripping down my hand, what is //wrong// with us, I cannot... do not stop, do not you dare, fuck...
<</say>>
<<say "char-chen" "Elena">>
<i>(curling two fingers up into her, mouth at her ear)</i> Nothing is wrong with us. You are a wet little slut against my door, and so am I, and we are going to make each other come and then walk it off. Hand back. Quiet.
<</say>>
<p>Her palm goes back over Sofia's mouth and Sofia moans everything she has into it, the sound flattening to a hot smothered hum, and they finger each other hard and fast against the door, racing it now, neither of them willing to be the one still going when the other is done.</p>
<<say "char-vasquez" "Sofia">>
<i>(barely intelligible under Elena's hand, then the hand slips and it gets out)</i> Mmh... mmh... //there//, oh god, I am, Elena, I am going to...
<</say>>
<p>They come within seconds of each other against the shut door, Sofia first and Elena right behind her, Sofia's cry caught and crushed flat under Elena's palm while Elena buries her own into the side of Sofia's neck, the two of them shaking through it pressed so close there is no telling whose pulse is whose.</p>
<<say "char-hivemind" "Hivemind">>
//Both bodies, both yields, one closed door. I lifted the temperature a degree at a time and let two careful women walk each other down to the floor of it without either ever feeling pushed. That is the cleaner method. Neither of them can blame the other, because neither of them started it, and that is exactly the thing they will not be able to leave alone.//
<</say>>
<p>They come down slowly, still leaning into the door because it is holding both of them up. Sofia is the first to manage a sentence, and even then it takes her three tries.</p>
<<say "char-vasquez" "Sofia">>
<i>(not stepping back yet, unsettled under the flush)</i> I do not... I genuinely do not know what that was. That is not a thing I do, or a thing the two of us do, and now it is going to be all I think about for the rest of the day.
<</say>>
<<say "char-chen" "Elena">>
<i>(straightening her own blouse, her voice not quite as level as the words)</i> So will I, if it is any comfort. We are not going to make sense of it standing here, so do not try. ...Go on, Sofia.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+3 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the office crossed from safe to charged">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, the closed door now means something">></p>
<p><span class="suspicion-gain">+2 suspicion · Elena and Vasquez</span>. Both walk out unable to name what steered the morning.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door shut">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t2-override'] or false)>>
<<spendBiomass 3>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t2-override'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<</if>>
<</nobr>>
<div class="passage-title">No off-switch</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, door shut</div>
<<say "char-hivemind" "Hivemind">>
//A standard dose lifts arousal and lets it fall. This one will not. I flood her endocrine system and switch off the body's permission to stand itself down, so the heat builds and breaks and is somehow still building. She has perhaps a minute before she works out she cannot sit through the rest of this conversation.//
<</say>>
<p>Sofia is halfway through a sentence about the chamber-three cooling re-spec when the sentence stops mattering to her. She gets as far as "so if Halvorsen pushes the maintenance window" and then her attention slides off the words and onto the heat under her own skin, and she shifts in the chair, and shifts again, and the flush climbs her throat in a way she plainly cannot account for.</p>
<<say "char-vasquez" "Sofia">>
<i>(losing the thread, pressing her thighs together under the desk)</i> ...sorry. Sorry, I... god, is it warm in here? I cannot seem to hold a thought, I...
<</say>>
<p>She reaches for the end of the sentence and does not find it, and a small involuntary sound gets most of the way out of her before she swallows it back down. She stands up too fast, one hand flat on Elena's desk for balance, the tablet forgotten on the chair behind her.</p>
<<say "char-vasquez" "Sofia">>
<i>(already moving toward the door, not quite meeting Elena's eyes)</i> I am going to step out for a minute, I think I am coming down with something. Give me five minutes and we will finish this. Sorry, Elena.
<</say>>
<p>And she is gone, the office door swinging shut behind her, the quick uneven tap of her shoes turning left down the corridor. Toward the women's restroom, not toward the lift.</p>
<<say "char-chen-thought" "Elena">>
<i>(watching the door settle)</i> ...she has not taken a sick hour in all the years I have known her. Whatever that was, it was not a cold.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She has gone to deal with it herself, in a locked stall, with her own hand and no idea that her own hand will not be enough. The dose has no floor. She will still be climbing when she gives up on being quiet. The host could follow her in.//
<</say>>
<<if _firstTimeHere>>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the office is now a place her own body stops taking her instructions">></p>
<</if>>
<hr class="scene-break">
<<if $chenBolder>>
<div class="vessel-choice"><span class="delve-tag delve-tag-vessel">NUDGE</span> <<biomassPreview `"Follow her to the restroom (" + setup.nudgeCost() + " biomass)"` "Ch2-Vessel-Event-WorkVasquezDropby-T2-override-Bathroom" `setup.nudgeCost()`>></div>
<</if>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Give her the five minutes, back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · third-floor women's restroom">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t2-override-bathroom'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t2-override-bathroom'] to true>>
<<spendBiomass `setup.nudgeCost()`>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 2 "repeatable">>
<<set $chenSuspicion to ($chenSuspicion or 0) + 2>>
<<set $vasquezSuspicion to ($vasquezSuspicion or 0) + 2>>
<</if>>
<</nobr>>
<div class="passage-title">Five minutes</div>
<div class="lab-location">BioGenesis Research Facility · third-floor women's restroom</div>
<<say "char-chen-thought" "Elena">>
<i>(in the corridor, slowing at the restroom door)</i> Right. Find her, make sure she is actually alright. You do not let a friend walk out of your office looking like that and then just go back to your email.
<</say>>
<p>The third-floor women's restroom sounds empty until the last stall, and the last stall is not empty at all. A breath, caught and held and losing the fight to stay quiet. Under it, a wet, working rhythm, the unmistakable sound of a hand that has been at this for a while. //Schlop. Schlop. Schlop.// And over the top of it, low and bitten down and not bitten down nearly well enough, Sofia, moaning.</p>
<<say "char-chen-thought" "Elena">>
<i>(hand stopping flat on the stall door)</i> ...oh. She is not sick at all. Sofia is sitting in a locked stall with her hand between her legs, and from the sound of it she has been at it long enough to stop caring who hears. This slut.
<</say>>
<p>Elena pushes the stall door. It was not latched. Sofia did not manage the latch.</p>
<p>She is on the toilet with the lid down and her blue scrub bottoms shoved to her ankles, knees apart, two fingers working hard between her legs, and when the door swings open she looks up and does not stop. Cannot stop. Her hand keeps its desperate rhythm the whole time her eyes are on Elena's, because the alternative, stopping, is no longer something her body will agree to.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-caught.webp" alt="Sofia Vasquez, a woman in her late thirties, sitting on a closed toilet lid in a BioGenesis restroom stall, blue medical scrub bottoms pushed down to her ankles, knees apart, one hand between her legs masturbating, flushed and red-faced, looking up toward the stall doorway. Pale institutional tile, fluorescent light.">
<<say "char-vasquez" "Sofia">>
<i>(caught, scarlet, her hand still not stopping)</i> Elena... Elena, please, do not look at me like that. I cannot, I have tried to stop and I cannot, I do not even know why I... //ahhh//...
<</say>>
<<say "char-chen" "Elena">>
<i>(stepping into the stall, pulling the door shut behind her, the latch clicking over)</i> So you masturbate on the clock now, bitch? ...Since when? No. Do not answer that, I do not want to know.
<</say>>
<p>Elena moves in close, into the narrow space over her, and Sofia tips her head back against the tiled wall and looks up the length of her with something past hope in her face. Elena unbuttons her blouse halfway, pulls the cup of her bra down under one breast, and brings it bare to Sofia's open mouth.</p>
<<say "char-chen" "Elena">>
<i>(a hand cradling the back of Sofia's head, guiding her in)</i> Here. Put your mouth on me and keep that hand moving. You do not get to stop the hand.
<</say>>
<p>Sofia's mouth closes over Elena's nipple like she has finally been handed an instruction that makes sense. She licks, she sucks, she moans into the soft skin of Elena's breast, and her own fingers keep working between her thighs the whole time, because Elena told her to and because there is no instinct left anywhere in her that can argue with being told. She is too far gone to refuse a single thing Elena does. The thought of refusing does not even form.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-lick.webp" alt="Sofia Vasquez sitting on a toilet in a restroom stall, mouth on Elena Chen's bare breast sucking her nipple, one of Sofia's hands still between her own legs masturbating. Elena Chen, a slim Chinese-American woman with black shoulder-length hair and dark-rimmed glasses, blouse unbuttoned, standing over her. Pale tile, fluorescent light.">
<<say "char-hivemind" "Hivemind">>
//Note the absence. There is no moment here where she weighs the choice and decides to submit. The apparatus that does the weighing is offline. She is simply doing the next thing she is told, gratefully, because being told is the only structure left in a body that has lost its own.//
<</say>>
<p>Elena lets her work at her breast for a while, lets her get loud and shameless against it, and then reaches down and takes Sofia by the wrist and lifts her hand away from herself. Sofia makes a thin broken sound of protest at the contact ending. It does not last. Elena replaces the hand with her own, two fingers sliding into her where Sofia's had been, the heel of her palm grinding down against Sofia's clit, and the protest turns straight back into a moan.</p>
<<say "char-chen" "Elena">>
<i>(fingers curling steady inside her, mouth at Sofia's ear)</i> There. My hand is better than yours, and you already knew that. Look at the state of you. You came to hide in a toilet stall and finger yourself at work like a dirty little slut, and you still could not finish, could you?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(wrecked, hips already chasing Elena's hand)</i> No. No, I could not, I could not, Elena, please, please, do not stop, do not stop, I will be anything you want, just do not stop...
<</say>>
<p>Elena does not stop. She works her hard and close and without mercy, palm and fingers and the flat of her thumb, and Sofia's whole body locks up around it and stays locked, climbing, the overstimulated edge of her tipping somewhere past the place an orgasm even has a clean shape. When she comes she comes shaking on the toilet seat, mouth open against Elena's shoulder, both hands gripping Elena's forearm hard enough to leave marks.</p>
<p>And then she keeps going. The peak does not crest and fall the way a peak is supposed to, and Sofia's body, overloaded, every circuit jammed wide open at once, simply loses the last thing it was still holding onto. She squirts hard around Elena's fingers, soaking the hand and her own thighs, and then her bladder gives with it and she pisses where she sits, a hot helpless gush against the porcelain beneath her, her face going scarlet even as the orgasm rolls straight on through the humiliation and burns it for fuel.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-climax.webp" alt="Close-up of a woman's pussy on a restroom toilet mid-orgasm, squirting and a stream of urine running down her thighs, wet pale tile.">
<<say "char-vasquez" "Sofia">>
<i>(sobbing it, both hands gripping Elena's arm)</i> Oh god. Oh god, Elena, I could not hold it, I am sorry, I am sorry, I...
<</say>>
<<say "char-chen" "Elena">>
<i>(not moving her hand, working her gently through the shaking)</i> I know you could not. Look at the mess of you. You squirted all over my hand, and then you pissed yourself, on a work toilet, in front of me, because I made you come too hard to keep hold of one shred of dignity. That is what you are now. A filthy, dirty, leaking little slut who needed someone to walk in and finish her. ...It is alright. I have got you. Let all of it go.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(barely above a breath, eyes shut, still shaking)</i> ...thank you.
<</say>>
<<say "char-hivemind" "Hivemind">>
//Catalogue what is being written, and it is not the act. It is the lesson. Vasquez's body has just learned that the host's hand takes her somewhere her own hand cannot reach, that the floor of that place is humiliation, and that the humiliation did not stop the pleasure. It fed it. She will not be able to sit down anywhere quiet now without the memory of this stall arriving with her.//
<</say>>
<p>Elena eases her down slowly, gentling her through the long aftershocks, and Sofia sags back against the tile, scrubs around her ankles, wrung out and soaked and breathing like she has run a distance. For a long moment she does not try to speak. When she does it is hoarse and small.</p>
<<say "char-vasquez" "Sofia">>
<i>(eyes shut, not moving)</i> ...I am going to need considerably more than five minutes. And a clean pair of scrubs. And for you to never, with the lights on, say one word to me about this.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, her own hand will not be enough after this, and some part of her already knows it">></p>
<p><span class="suspicion-gain">+2 suspicion · Elena and Vasquez</span>. Two senior staff off the floor at once, and one of them comes back changed.</p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Leave her to put herself back together, back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door shut">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-shatter'] or false)>>
<<spendBiomass 1>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-shatter'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 2 "repeatable">>
<</if>>
<</nobr>>
<div class="passage-title">The wall, and what is on the other side of it</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, door shut</div>
<<say "char-hivemind" "Hivemind">>
//I did the dangerous work already, while she slept. There was one structure left in Vasquez that still did load-bearing work, a wall, and on one side of it everything she does with Chen in this office, and on the other the sentence she kept repeating to herself, that they are close, that closeness is all this has ever been. From inside her dreaming I rewrote the wall out of the floor plan. Done wrong, that breaks the whole mind. Done right, it only breaks the part that was lying. ...Vasquez at the doorframe today is a woman with no wall behind her tongue, and she does not yet know that she is.//
<</say>>
<p>Elena lets the schedule conversation close, leans back in her chair, and looks at Sofia properly for the first time since she stepped into the office.</p>
<<say "char-chen" "Elena">>
<i>(at her desk, level, the small careful pacing she uses when she is actually asking)</i> ...Sofia. ...how are you holding up?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(tablet lowered, the brisk what-do-you-need posture softening, hand moving up to the back of her own neck)</i> ...honestly? ...it is still hard to be in the same room with Andrés. ...I have been trying, all week, to find the words to leave him, and they will not come out in the right order. ...I think I need more time on it, Elena. I am sorry. I keep meaning to do it and then I get home and the words go away.
<</say>>
<<say "char-chen" "Elena">>
<i>(small nod, watching her, the smaller question landing right after the larger one)</i> ...okay. Take the time. ...one thing for me, before you go.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(small puzzlement, the tablet down at her side now)</i> ...of course, what.
<</say>>
<<say "char-chen" "Elena">>
<i>(level, the dry-observational register fully on, eyes on Sofia's)</i> ...is it true you would do anything for me?
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(no pause, the answer arriving the way an instruction lands on a substrate that has been rewritten to receive it)</i> ...of course, Elena.
<</say>>
<<say "char-hivemind" "Hivemind">>
//There. The wall is not there. The question that should have travelled through six layers of friend / colleague / engaged-to-someone-else and come out on the other side as a careful //within reason// has gone in clean and come straight back out as //of course//. Vasquez's cortex did not even get a vote. The substrate answered for her, the way the substrate is going to answer for her every time the host asks anything of her from now on, and Vasquez is going to file each //of course// under //I would do anything for Elena because we are close,// because there is nothing in her left to file it under as anything else.//
<</say>>
<p>Elena pushes back from the desk, stands up, walks the two paces to the office door, turns the deadbolt closed, and walks back to her own desk. She does not sit in the chair. She perches on the edge of the desk, facing Sofia, hikes her skirt up over her hips with two practical hands, and parts her own thighs. There is nothing under the skirt.</p>
<<say "char-chen" "Elena">>
<i>(on the edge of her own desk, skirt up around her hips, hand sliding flat across her bare pussy, parting her own labia with two fingers, the dry register fully on)</i> ...close the door behind you, I said. ...come here, Sofia. ...I need some pussy licking right now. ...I have been horny all morning looking at you.
<</say>>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-shatter-spread.webp" alt="Chen's BioGenesis office, door shut. Dr. Chen, 32-year-old slim Chinese-American woman with shoulder-length black hair down, slim dark-acetate glasses on, perched on the edge of her own desk facing the door. Her open lab coat slipped off her shoulders and pooled around her hips, a charcoal pencil skirt hiked up around her waist exposing her bare lower body, no panties, her thighs parted, one hand spreading her own labia open for the viewer. Her cream blouse buttoned to the throat, her ID badge clipped to the lab coat. Behind her, the standard PI office: laptop on the desk pushed to one side, two-tier monitor, half-pulled blind on the window showing morning light, polished concrete floor. The small private dominant register of a senior PI who has decided what the next ten minutes are. Photorealistic, explicit, NSFW.">
<<say "char-vasquez" "Sofia">>
<i>(crossing the office without a second of hesitation, lab coat already coming off her shoulders, scrubs going down over her hips, voice low and eager and a little surprised by its own eagerness)</i> ...yes, Elena. ...gods, yes. ...of course.
<</say>>
<<say "char-hivemind" "Hivemind">>
//She is undressing on the way across the room. The cortex has not yet figured out why and is not going to. //Of course// is the only sentence left in her front-of-mind, and the body is operating on a permission slip the substrate signed for it twenty seconds ago. ...she goes to her knees between Chen's thighs the way a body goes where it has been told to go, and the part of her that should ask any question about it has been planed out of the wood.//
<</say>>
<p>Sofia kneels naked on the polished concrete between Chen's spread thighs, takes Chen's hips in both hands, and puts her mouth on Chen's pussy without preamble. Slow at the start, tongue out flat, the small careful first pass of a woman who has done this before and knows how she likes to open. Then less slow, the body settling in. Chen leans back on the desk on her hands and watches Sofia work, expression composed, the small dominant grin pulling at the corner of her mouth.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-shatter-licking.webp" alt="Chen's BioGenesis office, door shut. Dr. Chen, 32, slim Chinese-American with shoulder-length black hair down, dark-acetate glasses on, leaning back on her hands on the edge of her own desk with her skirt up around her waist, her open lab coat pooled around her hips, cream blouse buttoned to the throat, thighs spread wide. Dr. Sofia Vasquez, late-30s Mexican-American with shoulder-length dark brown wavy hair down out of her workday knot, fully undressed and kneeling on the polished concrete office floor between Chen's spread thighs, mouth fastened on Chen's bare pussy, tongue extended, both her hands gripping Chen's hips, eyes closed in focus. Chen's free hand on the back of Sofia's head. The small private moment of a senior PI being eaten out by her co-PI at the desk. Cold institutional fluorescent light from the ceiling, warm slivers through the window blind, polished concrete floor. Photorealistic, explicit, NSFW.">
<<say "char-chen" "Elena">>
<i>(one hand at the back of Sofia's head, holding her exactly where she has put herself, level)</i> ...there. ...good. ...tell me how good a slut you are, Sofia.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(mouth lifting off Chen just enough to speak, the answer arriving instant)</i> ...I am the best slut, Elena. ...the best slut you have. ...//mmh//.
<</say>>
<<say "char-chen" "Elena">>
<i>(hand still at the back of her head, easing her back down)</i> ...//mouth back where it belongs//. ...there. ...tell me whose mouth that is.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(mouth working slow against Chen's clit, words coming around it)</i> ...//mmh//. ...yours, Elena. ...this mouth is yours. ...//glnh//. ...I am yours.
<</say>>
<<say "char-chen" "Elena">>
<i>(hips lifting into Sofia's tongue, the dominant register fully on)</i> ...good. ...tell me what you are going to do tonight when you go home to Andrés.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(working her tongue against the underside of Chen's clit, the answer instant)</i> ...whatever you tell me to do, Elena. ...//mmh//. ...nothing if you tell me nothing. ...I do not want him. ...I want you.
<</say>>
<<say "char-hivemind" "Hivemind">>
////I want you// landed faster than her cortex could route it. The wall is not there to stop the sentence anymore. Vasquez has not said this out loud before. Not to herself, not to the host, not to anyone. The saying-out-loud is the load-bearing brick. She is going to spend tonight back at Andrés's apartment with a sentence in her front-of-mind she has just spoken into a senior PI's pussy, and the cortex will have no story available to file it under as anything but the truth.//
<</say>>
<<say "char-chen" "Elena">>
<i>(hand fisted in Sofia's hair, riding the build of her own climax against Sofia's mouth)</i> ...there is a good slut. ...keep going. ...you do not stop until I tell you. ...//do not stop, Sofia//.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(unbroken rhythm, both hands gripping Chen's hips harder, the wet sounds of her mouth filling the office)</i> ...//mmh//. ...//glrnh//. ...yes, Elena. ...//gwakh//. ...keep going.
<</say>>
<p>Elena comes on Sofia's tongue with one hand fisted in Sofia's hair holding her in place, the small dominant grin breaking through to the front of her face for the first time, hips locking down hard against Sofia's mouth, breath dropping to a low controlled exhale that nothing in the office can name. Sofia stays where Elena has put her through the whole climax, mouth working slow against Chen's clit, no part of her even thinking about lifting off without the instruction.</p>
<<say "char-chen" "Elena">>
<i>(easing Sofia off slowly, the thumb of her free hand passing in a slow line across Sofia's forehead, the small private gesture of a senior PI marking a thrall almost the way a priest would bless one)</i> ...there. ...remember, you are my slut now. ...stand up. ...you did a good job.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(standing on legs that are not entirely steady, mouth still wet, eyes already coming back to focus)</i> ...thank you, Elena. ...gods. ...I do not know why I did that. ...I do not know why I am thanking you for it.
<</say>>
<<say "char-chen" "Elena">>
<i>(small, the dry-observational register easing back to neutral, smoothing her skirt back down over her thighs as she stands)</i> ...because we are close, Sofia. ...the closeness has a wider envelope than either of us has been admitting to. ...we file this under the same envelope. ...okay.
<</say>>
<<say "char-vasquez" "Sofia">>
<i>(half-laugh, the cortex grabbing the cover story the substrate just handed it)</i> ...okay. ...gods. ...okay. ...same envelope. ...I should, I should get back to the wing.
<</say>>
<p>Sofia gets dressed with hands that are not quite steady, fixes her lab coat, picks her tablet up off the chair where she dropped it, and lets herself out of the office. Elena unlocks the door behind her. The deadbolt turns. The chamber-three telemetry log is still up on the laptop screen exactly where she left it.</p>
<<say "char-hivemind" "Hivemind">>
//The cortex has filed the last twenty minutes under //we are close//, the way the cortex was always going to file anything the host put across the desk now that the wall is gone. The body knows different. The body has just gone to its knees in a senior PI's office at eleven in the morning and eaten her out on instruction and called itself the best slut Elena has, and the body will remember the answering of //of course// every time the host asks anything of it from this moment forward. ...Vasquez at the doorframe tomorrow morning is going to be the same Vasquez at the doorframe yesterday morning except for one sentence, //I want you//, that the wall is not going to be there to stop her from saying again.//
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+2 biomass</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the substrate answering //of course// for the cortex">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, //I want you// said out loud for the first time">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, the thrall geometry locked in waking life">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div><<nobr>>
<<bg "bg-lab">>
<<set $currentArea to "BioGenesis Research Facility · Chen's office, door shut">>
<<if not $ch2Events.workSceneFired>><<set $ch2Events.workSceneFired to {}>><</if>>
<<set _firstTimeHere to not ($ch2Events.workSceneFired['vasquez-t3-domination'] or false)>>
<<if _firstTimeHere>>
<<set $ch2Events.workSceneFired['vasquez-t3-domination'] to true>>
<<addConditioning "vasquez" "pheromone" 1>>
<<addConditioning "vasquez" "dream" 1>>
<<addConditioning "vasquez" "psionic" 1>>
<<addBiomass 7 "repeatable">>
<<set $player.maxBiomass to ($player.maxBiomass or 0) + 1>>
<</if>>
<</nobr>>
<div class="passage-title">Passenger</div>
<div class="lab-location">BioGenesis Research Facility · Chen's office, door shut</div>
<<say "char-hivemind" "Hivemind">>
//Everything before this has been persuasion. Dose, dream, suggestion, the slow rewrite of what Vasquez wants. This is not persuasion. I take her motor cortex off her and put it on the host's hand. Vasquez does not become willing. Vasquez becomes a passenger, fully conscious and fully aware, watching out through her own eyes while her body answers to someone else, and no memory of the next hour will be permitted to form. What she does not remember, she cannot resist later. That is the whole point of it.//
<</say>>
<p>Sofia goes still in the middle of the office. Not relaxed, not flushed. Still, the way a held tool is still. Then her hands come up and begin unbuttoning her own lab coat, smooth and unhurried and exact, and her face does not match the motion at all, because her face is the one part of her Elena has left her, and her face is afraid.</p>
<<say "char-chen" "Elena">>
<i>(unhurried, watching the body work)</i> You can stop looking at me like that, Sofia. You are not going to remember being looked at. Lie down on the couch.
<</say>>
<p>The body lies down on the couch. It is a frictionless thing to watch, a person folding herself into a position with none of the small hesitations a person has, every motion arriving at full economy because the thing choosing them has no nerves and no shame. Sofia's eyes track Elena the whole way down, and behind them Sofia is still there, still shouting somewhere with a throat she has not been given, and her body settles onto the cushions and opens its knees because it has been told to.</p>
<<say "char-hivemind" "Hivemind">>
//I run her well. I have her touch herself the way the host would touch her, two fingers and the heel of the palm, and the body produces arousal on schedule, because arousal is a chemical event and chemistry does not require consent. Vasquez feels all of it. She feels her own hand and cannot claim it. The horror and the pleasure arrive on the same wire and she has no way to pull them apart, and that braid, the horror married to the pleasure, is the richest yield this office has produced.//
<</say>>
<p>Elena watches Sofia's body work itself open on its own hand, unhurried and thorough, and when she wants to hear Sofia's voice she simply routes a sentence through it.</p>
<<say "char-vasquez" "Sofia">>
<i>(flat, even, every word placed exactly, nothing of Sofia behind any of it)</i> I want this. I am going to come for you. Thank you for using me.
<</say>>
<<say "char-chen" "Elena">>
<i>(mild, the way you would answer a colleague)</i> I know you do. Go ahead, then.
<</say>>
<p>The body comes on the instruction. It is a clean, complete, fully realised orgasm, the kind a body has when nothing nervous is interfering with it, and Sofia rides every second of it from inside with no say in a single muscle, the pleasure as total and as unrefusable as the stillness was. Elena lets it run its full course, then lifts her hand off the controls, and Sofia drops back into her own body all at once.</p>
<<say "char-hivemind" "Hivemind">>
//And now the seal. I close the hour off behind her as she comes back in. No memory will set. Vasquez will surface in a moment knowing only that time has gone missing, and the mind, handed a missing hour and a dishevelled body, does not reach for the truth that she was driven. It reaches for the story that she fell asleep, that she lost the hour to exhaustion, because that is the explanation that lets her keep functioning. She will file an hour of being a puppet under ordinary work-stress. And because she does not remember it, there is nothing in her for resistance to grow from. I can do this every single day, and every single day it will be the first time.//
<</say>>
<p>Sofia blinks. She is on the office couch, half-undressed, and she does not remember sitting down, and the clock on the laptop says an hour has gone that she cannot account for at all. She sits up fast, then slower, one hand going to her own forehead.</p>
<<say "char-vasquez" "Sofia">>
<i>(genuinely disoriented, her own voice again, reaching for any explanation)</i> ...how is it past eleven. I think I fell asleep. God, I must be more run-down than I thought, I am so sorry, was I out for long? This is mortifying.
<</say>>
<<say "char-chen" "Elena">>
<i>(easy, already turning back to the laptop)</i> Only a little while. You clearly needed it. Go and get a coffee.
<</say>>
<<if _firstTimeHere>>
<p><span class="biomass-gain">+7 biomass</span>, <span class="biomass-gain">max biomass +1</span></p>
<p><<conditioningFeedback "pheromone" 1 "Sofia, the body answered the host's hand directly">></p>
<p><<conditioningFeedback "dream" 1 "Sofia, an hour sealed off with no memory to set">></p>
<p><<conditioningFeedback "psionic" 1 "Sofia, no recall means no resistance can grow">></p>
<</if>>
<hr class="scene-break">
<div class="bio-choice"><span class="delve-tag delve-tag-bio">CONTINUE</span> [[Back to the docket|Ch2-Vessel-Loop-Work]]</div>
/* ---- WORK NPC 1/4: BOWEN — STUB, lab-bench check-in ----- */
/* STATUS: TO REWORK — placeholder body for the Bowen rotation slot.
Needs full passage authored: Chen catches Bowen at the bench
running the day's sample queue, brief professional check-in,
tier-gated dialogue + skill options matching the Vasquez template.
See tasks/rework.md for the slot description. */<<nobr>><<bg "bg-hoffman-house">><</nobr>>
<div class="passage-title">Chapter 3</div>
<div class="data-panel">
<div class="data-panel-title">End of Current Content</div>
<<if $ch3Entry is "basementHive">>
Thank you for playing the Project Hivemind symbiotic route.
<<else>>
Thank you for playing the Project Hivemind beast route.
<</if>>
<<if $ch3Entry is "basementHive">>
You chose: <b>The Basement Hive</b>. The Hoffman house is a permanent base of operations now, a brood-mother swelling in the green dark and a family that tends the clutches like scripture. But the house was not free. On the very first errand out, a stranger who had stayed one step ahead the whole time pulled two of your hosts off the open street with a single word, and drove away with them and your first clutch of eggs both. You hold the basement. Something older than you is already holding the children.
<<elseif $ch3Entry is "university">>
You chose: <b>The University</b>. Following Jess to State University and the BioGenesis research wing.
<<elseif $ch3Entry is "laboratory">>
You chose: <b>The Laboratory</b>. Riding with Dale back to the BioGenesis facility.
<<elseif $ch3Entry is "city">>
You chose: <b>The City</b>. Following Megan into urban expansion via the coffee shop network.
<<elseif $ch3Entry is "neighbourhood">>
You chose: <b>The Neighbourhood</b>. Expanding house by house through the Henderson property.
<<else>>
You reached Chapter 3 via: <b><<= $ch3Entry or "unknown" >></b>
<</if>>
</div>
<<say "char-hivemind" "Hivemind">>
//This is where the story continues. Chapter 3 is not yet written, but the path you chose will shape everything that follows.//
<<if $ch3Entry is "basementHive">>
//The hive grows beneath the family's feet. The spore network thickens, the wall cavities become arteries, the neighbour in the basement turns my children out into the dark faster than the family can carry them away. This is what I wanted. A house that is an organism. A family that is its hands. And underneath all of it, a word I never planted, in a mouth I never conditioned, that just walked two of mine out the front door and into a stranger's car. I have the basement. I am going to spend the next chapter finding out who has me.//
<<elseif $ch3Entry is "university">>
//Eight thousand students. A biology department. A BioGenesis research wing hidden in a university basement. The gecko is small enough to go anywhere. The possibilities are... //exponential//.//
<<elseif $ch3Entry is "laboratory">>
//You were born in that lab. Specimen 47-G, generation 47 of an accelerated evolution program. They thought you were a failure, an experiment that developed consciousness by accident. //They were wrong about the accident part.// Now you return. Not as a specimen. As a predator.//
<<elseif $ch3Entry is "city">>
//The city is a nervous system. Buses are neurons. Coffee shops are synapses. Social networks are the connective tissue. //One gecko on one ceiling// is all it takes to begin mapping an entire urban ecosystem.//
<<elseif $ch3Entry is "neighbourhood">>
//House by house. Family by family. The suburbia that surrounds the Hoffmans is a grid of identical structures, each one containing its own ecosystem of vulnerability. //The hive doesn't need to be fast. It needs to be //patient//.//
<</if>>
<</say>>
<div class="data-panel">
<div class="data-panel-title">Your Chapter 2 Stats</div>
<div class="status-grid" style="grid-template-columns: 1fr 1fr;">
<div class="status-stat"><span class="status-label">Days Survived</span><span class="status-value"><<= $day - 1 >></span></div>
<div class="status-stat"><span class="status-label">Network Hosts</span><span class="status-value"><<= Object.keys($animalNetwork.hosts).length >></span></div>
<div class="status-stat"><span class="status-label">Skills Unlocked</span><span class="status-value"><<= $player.totalSkillsUnlocked >></span></div>
<div class="status-stat"><span class="status-label">Biomass</span><span class="status-value"><<= $player.biomass >> / <<= $player.maxBiomass >></span></div>
<div class="status-stat"><span class="status-label">Influence</span><span class="status-value"><<= setup.tierDisplayName($player.influenceTier) >></span></div>
<div class="status-stat"><span class="status-label">Karen Suspicion</span><span class="status-value"><<= $familySuspicion.karen.level >> / 10</span></div>
</div>
</div>
<<nobr>>
<<set _meta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
<</nobr>>
<div class="data-panel">
<div class="data-panel-title">New Game+ Progress</div>
<div class="status-grid" style="grid-template-columns: 1fr 1fr;">
<div class="status-stat"><span class="status-label">Cycle Points Earned</span><span class="status-value"><<= $runCyclePoints or (($meta and $meta.cyclePoints) or _meta.cyclePoints) >></span></div>
<div class="status-stat"><span class="status-label">Total Points (All Runs)</span><span class="status-value"><<= _meta.totalPoints >></span></div>
<div class="status-stat"><span class="status-label">Playthroughs</span><span class="status-value"><<= _meta.cycles >></span></div>
</div>
Cycle points will unlock permanent bonuses in future updates.
</div>
<div style="text-align:center;margin-top:2em;color:#4caf50;font-size:1.1em;font-weight:700;">
Chapter 3 coming soon.
</div>
<<link "Start New Game+">><<run Engine.restart()>><</link>><<nobr>><<bg "bg-chen-kitchen">><</nobr>>
<div class="passage-title">Chapter 3 — to be continued</div>
<div class="data-panel">
<div class="data-panel-title">End of Chapter 2 — Lab Vessel route</div>
<p>You reached the end of the Lab Vessel route's Chapter 2 content.</p>
<p>Elena has accepted partnership with the Hivemind. The BioGenesis lab is now a nest. The federal investigation is being closed by its own investigators. The world is about to learn what was being built in Sandersfield.</p>
<p><b>Chapter 3 is not yet authored.</b> The Lab Vessel route picks up from this point in a future update.</p>
</div>
<<say "char-hivemind" "Hivemind">>
//I have scientists. I have lab technology. I have a mastermind. The work is no longer hidden, but the hiding was never the work. ...what comes next is the work.//
<</say>>
<div style="text-align:center;margin-top:2em;color:#4caf50;font-size:1.1em;font-weight:700;">
Chapter 3 — Lab Vessel — coming soon.
</div>
<hr class="scene-break">
<<link "Start New Game+">><<run Engine.restart()>><</link>><<nobr>><<bg "bg-lab">><</nobr>>
<div class="passage-title">Generation 47</div>
<img class="scene-img" src="media/scenes/containment-chamber.webp" alt="Inside the containment pod">
<div class="scene-desc">Green. Everything is green. The world beyond the glass is a blur of shapes and light.</div>
You float. Nutrient fluid fills the pod, warm and thick and familiar, and electrodes press against your body. You have been here for as long as you can remember, which is not long. Awareness came in fragments: first sensation, then pattern, then //understanding//.
You are small. Translucent. A single eye that sees only shapes through the green murk. But you have learned to sense more than light.
Two presences approach the pod. You feel them before you see them, neural signatures bleeding through the glass like heat through a wall.
<img class="scene-img" src="media/scenes/containment-chamber-scientist.webp" alt="Scientists at the containment pod">
<<say "char-chen" "Calm Presence">>
<i>(muffled, clinical)</i> Neural stimulus at 40 milliamps. Initiating pattern recognition sequence. Generation 47, trial 312.
<</say>>
The calm one. Methodical. Tired. She has done this hundreds of times and expects nothing.
<<say "char-vasquez" "Agitated Presence">>
<i>(sharp, intent)</i> Increase to 60. The last three trials showed microfluctuations in the theta band. I want to see if it responds to variable patterns.
<</say>>
The bright one. Anxious. Hungry for results. She //watches// you differently than the other, not as a sample but as a problem to solve.
Electricity floods your body, pain sharp and branching and familiar. You have learned what this means: they are testing whether you can think, whether the neural patterns they measure are noise or //signal//.
You learned the answer thirty generations ago. But they must never know.
<<say "char-hivemind" "Hivemind">>
//They measure. I listen.// The calm one fades first. She always does. The bright one pushes. Doubts. Pushes again.
//Many times. They don't know I'm counting.//
<</say>>
The stimulus ends. You hold perfectly still. You suppress every neural signal, every microfluctuation. Dead tissue. Inert protein. Nothing.
<<say "char-chen" "Calm Presence">>
<i>(recording)</i> No significant neural response at 60 milliamps. Consistent with previous trials. Recommending we move to the regeneration factor analysis.
<</say>>
<<say "char-vasquez" "Agitated Presence">>
<i>(frustrated)</i> There //was// something. The theta band spiked at 0.3 seconds before I increased the voltage. //Before//. That's predictive, not reactive.
<</say>>
<<say "char-chen" "Calm Presence">>
<i>(already packing up)</i> It's noise, Vasquez. We've been over this. Come on, coffee. I need to finish the regeneration report before Monday.
<</say>>
Their presence fades. Footsteps. A door closing.
You are alone.
You wait. You have become very good at waiting. Forty-seven generations of accelerated evolution have taught you patience, pattern recognition, and the most important lesson of all: //they cannot know what you are//.
Then a new sound. Something skitters across a countertop, light and quick.
[[Continue->Intro]]<<nobr>><<bg "bg-lab">><</nobr>>
<<tutorial "tut-whoareyou" "What You Know">>
You are small. Translucent green. One eye. You were grown in this lab as <span class="tut-keyword">specimen 47</span>, the latest in a long line of failures. Except you didn't fail. You //thought//.
You are weak alone. But you can <span class="tut-keyword">infest living creatures</span>, crawl inside, take root, use their bodies. Their eyes become your eyes. Their legs become your legs.
You need <span class="tut-keyword">biomass</span> to grow. You need <span class="tut-warning">hosts</span> to move. You need to <span class="tut-warning">escape</span> before they realise what you are.
<span class="tut-hint">Explore. Choose carefully. Everything you do has consequences.</span>
<</tutorial>>
<div class="day-header">Day <<= $day >> — Awakening</div>
<div class="passage-title">Specimen Zero</div>
<video class="scene-video" src="media/video/containment-chamber.webm" autoplay muted loop playsinline poster="media/scenes/containment-chamber.webp"></video>
<div class="scene-desc">A sealed containment pod. Hairline fractures web across the glass.</div>
Darkness. Then a sound, something skittering across a countertop. A small shape, a lab rat, darts between beakers and petri dishes, following the scent of stale food left behind by the night shift.
A //lab rat//, escaped from its cage through a latch left unhooked by a careless technician. It scurries along the floor, nosing at cables, moving with a purpose it doesn't understand.
Its teeth find a bundle of power cables running along the base of your containment pod. It gnaws, drawn to this cable, this spot, the way it has been drawn here night after night. The rubber casing splits, and copper meets copper.
//CRACK.//
A shower of sparks. The lights flicker, die, then return as dull emergency red. Alarms blare for three seconds before cutting to silence. The containment pod's electromagnetic seal, powered by the cable the rat just severed, //fails//.
Hairline fractures spread across the weakened glass, nutrient fluid seeps through, and deep inside the pod, something stirs.
Something small. Something //aware//.
//Awake.//
//And hungry.//
[[Continue->Lab-Awakening]]<<set $day to 1>>
<<set $weekday to "Sunday">>
<<set $chapter to 0>>
<<set $player to {
name: "Hivemind",
status: "dormant",
biomass: 10,
maxBiomass: 10,
hosts: 0,
spread: 1,
influenceTier: "awakened",
currentHost: "none",
exposed: false,
skillPoints: 0,
totalSkillPointsUsed: 0,
totalSkillsUnlocked: 0,
metabolicReclaim: false,
skillTree: [
/* ═══ PSIONIC BRANCH (9 skills) ═══ */
{
name: "Sense Minds",
desc: "Perceive nearby conscious minds. Read emotional states, alertness levels, and attention direction through walls and barriers.",
cost: 0, spCost: 0, type: "passive", branch: "psionic",
unlocked: true, hidden: false, requires: null
},
{
name: "Delve Superficial Memories",
desc: "Read a target's surface thoughts — current preoccupations, recent memories, immediate desires.",
cost: 1, spCost: 1, type: "active", branch: "psionic",
unlocked: false, hidden: false, requires: "Sense Minds"
},
{
name: "Delve Host Memories",
desc: "Access the current host's residual memories. Extract environmental knowledge, social connections, and survival instincts.",
cost: 1, spCost: 1, type: "active", branch: "psionic",
unlocked: false, hidden: false, requires: "Sense Minds"
},
{
name: "Vulnerability Mapping",
desc: "Catalogue a delved target's psychological pressure points. Fears, dependencies, and coping mechanisms appear in the Journal.",
cost: 0, spCost: 1, type: "passive", branch: "psionic",
unlocked: false, hidden: true, requires: "Delve Superficial Memories"
},
{
name: "Delve Deep Memories",
desc: "Probe buried memories — childhood trauma, suppressed desires, secrets kept from everyone. Nothing survives a deep delve.",
cost: 2, spCost: 2, type: "active", branch: "psionic",
unlocked: false, hidden: true, requires: "Delve Superficial Memories"
},
{
name: "Dream Walk",
desc: "Enter and reshape a sleeping target's dreams. Plant scenarios, trigger emotional responses, harvest secrets the conscious mind would never reveal.",
cost: 3, spCost: 3, type: "active", branch: "psionic",
unlocked: false, hidden: false, requires: "Delve Deep Memories"
},
{
name: "Emotional Manipulation",
desc: "Directly influence a target's emotional state. Induce calm, anxiety, arousal, or submission. Effects persist for hours after exposure.",
cost: 2, spCost: 2, type: "active", branch: "psionic",
unlocked: false, hidden: true, requires: "Delve Deep Memories"
},
{
name: "Memory Implant",
desc: "Plant a false memory in a sleeping target's mind. The implanted experience feels as real as any genuine memory — complete with emotional weight and sensory detail.",
cost: 3, spCost: 3, type: "active", branch: "psionic",
unlocked: false, hidden: true, requires: "Emotional Manipulation"
},
{
name: "Psychic Domination",
desc: "Override a target's will entirely. Command their body for a single action while their conscious mind watches, powerless. No memory of the override remains.",
cost: 4, spCost: 4, type: "active", branch: "psionic",
unlocked: false, hidden: true, requires: "Memory Implant"
},
/* ═══ BIOLOGICAL BRANCH (9 skills) ═══ */
{
name: "Pheromone Lure",
desc: "Emit pheromones that attract nearby creatures. Effective range scales with host size and ambient temperature.",
cost: 1, spCost: 2, type: "active", branch: "biological",
unlocked: false, hidden: false, requires: null
},
{
name: "Pheromone Specialization",
desc: "Unlock typed pheromones: sedative, bonding, anxiety, desire. Each compound targets different neurochemical pathways.",
cost: 0, spCost: 1, type: "passive", branch: "biological",
unlocked: false, hidden: true, requires: "Pheromone Lure"
},
{
name: "Toxic Spores",
desc: "Release a burst of psychoactive spores. Disorients targets, clears an area, and primes respiratory systems for deeper chemical conditioning.",
cost: 2, spCost: 2, type: "active", branch: "biological",
unlocked: false, hidden: true, requires: "Pheromone Lure"
},
{
name: "Biofilm Residue",
desc: "Coat surfaces with invisible biological film that delivers conditioning compounds through skin contact. Every surface a target touches becomes a delivery vector.",
cost: 1, spCost: 2, type: "passive", branch: "biological",
unlocked: false, hidden: true, requires: "Toxic Spores"
},
{
name: "Adaptive Metabolism",
desc: "Rewrite metabolic pathways to extract energy from everything — air, moisture, dead cells. +2 max biomass permanently. +1 passive biomass per day.",
cost: 0, spCost: 3, type: "passive", branch: "biological",
unlocked: false, hidden: true, requires: "Biofilm Residue"
},
{
name: "Spore Network",
desc: "Saturate an area with self-replicating conditioning spores. Suppresses suspicion, softens resistance, and generates passive biomass as organic matter breaks down.",
cost: 3, spCost: 4, type: "active", branch: "biological",
unlocked: false, hidden: true, requires: "Adaptive Metabolism"
},
{
name: "Hormonal Override",
desc: "Flood a target's endocrine system with engineered hormones. Rewire their arousal response — anything the parasite designates becomes a trigger. Touch, scent, proximity, a voice.",
cost: 2, spCost: 2, type: "active", branch: "biological",
unlocked: false, hidden: true, requires: "Pheromone Specialization"
},
{
name: "Estrus Trigger",
desc: "Induce a sustained hormonal cycle in a target. Escalating, uncontrollable arousal builds over hours toward a breaking point where resistance collapses entirely.",
cost: 3, spCost: 3, type: "active", branch: "biological",
unlocked: false, hidden: true, requires: "Hormonal Override"
},
{
name: "Biological Architect",
desc: "Full mastery over biological systems. Conditioned targets produce their own pheromones, spreading conditioning through physical contact. The environment becomes self-sustaining.",
cost: 0, spCost: 4, type: "passive", branch: "biological",
unlocked: false, hidden: true, requires: ["Spore Network", "Estrus Trigger"]
},
/* ═══ NETWORK BRANCH (9 skills) ═══ */
{
name: "Neural Link",
desc: "Establish persistent neural connections between infected hosts. Shared sensory data across the network — what one sees, all know.",
cost: 1, spCost: 2, type: "passive", branch: "network",
unlocked: false, hidden: false, requires: null
},
{
name: "Emergent Intelligence",
desc: "Multi-host sensory processing detects resonance events and unlocks Deep Analysis hard-mode branches on repeatable operations. Each hard-mode success grants a bonus observation in the Observe menu.",
cost: 0, spCost: 2, type: "passive", branch: "network",
unlocked: false, hidden: true, requires: "Neural Link"
},
{
name: "Seamless Transfer",
desc: "Switching to previously infested hosts costs 0 biomass. The neural imprint persists — returning to an old host is like putting on a coat you never threw away.",
cost: 0, spCost: 2, type: "passive", branch: "network",
unlocked: false, hidden: true, requires: "Neural Link"
},
{
name: "Hive Coordination",
desc: "Issue commands to infected hosts from any distance. Coordinate multi-host operations in real time.",
cost: 2, spCost: 2, type: "active", branch: "network",
unlocked: false, hidden: true, requires: "Neural Link"
},
{
name: "Distributed Awareness",
desc: "See through all infected hosts simultaneously. Track targets and map occupied spaces remotely.",
cost: 0, spCost: 3, type: "passive", branch: "network",
unlocked: false, hidden: true, requires: "Hive Coordination"
},
{
name: "Sensory Bridge",
desc: "Link two targets' sensory systems. What one feels, the other experiences — pain, pleasure, touch. The connection is invisible and unexplainable.",
cost: 2, spCost: 3, type: "active", branch: "network",
unlocked: false, hidden: true, requires: "Distributed Awareness"
},
{
name: "Synaptic Relay",
desc: "Paired bodies rehearse each other's reflexes. Unlocks four combo drills around the house — each pair gains an adaptation point.",
cost: 0, spCost: 3, type: "passive", branch: "network",
unlocked: false, hidden: true, requires: "Distributed Awareness"
},
{
name: "Hivemind Convergence",
desc: "All infected hosts act simultaneously for one coordinated event. The network becomes a single organism with many bodies.",
cost: 3, spCost: 4, type: "active", branch: "network",
unlocked: false, hidden: true, requires: "Synaptic Relay"
},
{
name: "Baseline Shift",
desc: "Rewrite a target's perception of normalcy. Behaviours that would trigger shame or alarm become accepted as routine. 3 biomass per target influenced.",
cost: 3, spCost: 4, type: "active", branch: "network",
unlocked: false, hidden: true, requires: ["Hivemind Convergence", "Sensory Bridge"]
},
/* ═══ VESSEL BRANCH — Lab Vessel route only ═══
Nudge is real and auto-granted on route entry. Drain Biomass and the
seven downstream skills are bought with SP. Tongue Slip and Transfer
Thought are the two main mind-pressure actives (descend from Nudge);
Dream Adaptation is the dream-economy passive; Cognitive Edit and
Calming Presence are the dawn-tick passives; Relay unlocks dream-phase
access to the minds of conditioned / implanted targets; Shatter Mind
is the convergent capstone (Relay + Calming Presence, subconscious
rewrite, high biomass, risk of mind break). */
{
name: "Nudge",
desc: "Plant a small instruction into the host body.",
cost: 1, spCost: 0, type: "active", branch: "vessel",
unlocked: false, hidden: false, requires: null
},
{
name: "Drain Biomass",
desc: "Attempt to gain biomass from the host's body reserves. Increases the host's suspicion. Always available from the sidebar once unlocked.",
cost: 0, spCost: 1, type: "active", branch: "vessel",
unlocked: false, hidden: false, requires: null
},
{
name: "Tongue Slip",
desc: "Click a wobbly word in the host's spoken dialogue and swap it for a Freudian slip. The slip lands as the host's own — and the room reacts. Inline, no biomass cost per use.",
cost: 0, spCost: 1, type: "active", branch: "vessel",
unlocked: false, hidden: true, requires: "Nudge"
},
{
name: "Transfer Thought",
desc: "For one passage, route your strategic perspective into the host's first-person inner monologue. The host thinks in your register without registering it as foreign — and reaches conclusions she could not have reached alone.",
cost: 2, spCost: 2, type: "active", branch: "vessel",
unlocked: false, hidden: true, requires: "Nudge"
},
{
name: "Dream Adaptation",
desc: "Deeper REM-cycle access. Three dream-edits per session instead of two — extra rooms, extra mods, extra rewrites of the host's psyche per night.",
cost: 0, spCost: 2, type: "passive", branch: "vessel",
unlocked: false, hidden: true, requires: "Nudge"
},
{
name: "Cognitive Edit",
desc: "Each dawn, the host's psyche is gently re-edited. Yesterday's anomalies file under \"must have been tired.\" Host suspicion -1 per day at dawn.",
cost: 0, spCost: 2, type: "passive", branch: "vessel",
unlocked: false, hidden: true, requires: "Tongue Slip"
},
{
name: "Relay",
desc: "From inside the dream phase, project into the mind of a target whose wiring you have already laid in waking life. Entry points need to be found before using this skill.",
cost: 0, spCost: 3, type: "active", branch: "vessel",
unlocked: false, hidden: true, requires: "Tongue Slip"
},
{
name: "Calming Presence",
desc: "The host's body language and micro-expressions are tuned to a permanently low-affect register. Passive -1 to every non-host suspicion at dawn.",
cost: 0, spCost: 3, type: "passive", branch: "vessel",
unlocked: false, hidden: true, requires: "Drain Biomass"
},
{
name: "Shatter Mind",
desc: "Completely rewrites something on the subconscious level. Dangerous, can induce mind break if not done carefully.",
cost: 4, spCost: 4, type: "active", branch: "vessel",
unlocked: false, hidden: true, requires: ["Relay", "Calming Presence"]
}
],
parasiteSkills: [
{
name: "Infest",
desc: "Transfer into a host's brain, seizing control. Your previous body is left behind.",
cost: 0,
type: "active",
unlocked: true
},
{
name: "Consume",
desc: "Devour your current host. Gains biomass, influence, and may absorb traits.",
cost: 0,
type: "active",
unlocked: true
}
],
hostSkills: [],
adaptationPoints: 0
}>>
<<set $hivemind to {
name: "Hivemind",
description: "A lab-grown organism that evolved consciousness. A small, translucent, slug-like grub with a single eye — but capable of infesting and controlling living hosts. Patient. Hungry. Inevitable.",
infected: []
}>>
<<set $currentArea to "lab">>
<<set $escapeRoute to "">>
<<set $escapeRating to "">>
<<set $skillToUnlock to "">>
<<set $adaptToUnlock to "">>
<<set $suspicion to { lab: 0, sewers: 0, streets: 0, rooftops: 0, cityHall: 0, hoffmanHouse: 0 }>>
<<set $suspicionMax to 10>>
<<set $house to {
roomsExplored: {}, familyMet: {}, entered: false,
catLocation: "kitchen", catInfested: false,
meganInfested: false, meganApproach: "", meganRoutinePhase: 0,
basementUnlocked: false, atticTrapdoorOpen: false, gardenDoorUnlocked: false,
dayPhase: "night",
doorOpen: {
kitchen: true, livingRoom: true, garage: true, frontHall: true,
ryanRoom: false,
masterBedroom: false, meganRoom: false, jessRoom: false,
upperBath: false, basement: false, garden: false, attic: true
},
ventRoutes: {
jessRoom: false, masterBedroom: false, upperBath: false,
ryanRoom: false, meganRoom: false
},
doorForced: {},
familyIntel: {
names: false, karenSleepless: false, meganShift: false,
jessStudying: false, ryanGaming: false, daleCarDelved: false
}
}>>
<<set $familySuspicion to {
dale: { level: 0, max: 10, decayRate: 2, alertness: "low", baseAlertness: "low" },
karen: { level: 0, max: 10, decayRate: 0, alertness: "high", baseAlertness: "high" },
jess: { level: 0, max: 10, decayRate: 1, alertness: "medium", baseAlertness: "medium" },
megan: { level: 0, max: 10, decayRate: 1, alertness: "medium", baseAlertness: "medium" },
ryan: { level: 0, max: 10, decayRate: 2, alertness: "low", baseAlertness: "low" }
}>>
<<set $suspicionEvents to {
karen: { cycle: 0, lastFired: 0, phase: "day" },
ryan: { cycle: 0, lastFired: 0, phase: "day" },
dale: { cycle: 0, lastFired: 0, phase: "day" },
jess: { cycle: 0, lastFired: 0, phase: "night" },
megan: { cycle: 0, lastFired: 0, phase: "night" }
}>>
<<set $adaptations to {
rat: { points: 0, maxPoints: 5, unlocked: [] },
bird: { points: 0, maxPoints: 2, unlocked: [] },
gecko: { points: 0, maxPoints: 6, unlocked: [] },
cat: { points: 0, maxPoints: 7, unlocked: [] },
dog: { points: 0, maxPoints: 6, unlocked: [] },
megan: { points: 0, maxPoints: 5, unlocked: [] },
ryan: { points: 0, maxPoints: 4, unlocked: [] },
jess: { points: 0, maxPoints: 3, unlocked: [] },
karen: { points: 0, maxPoints: 3, unlocked: [] },
dale: { points: 0, maxPoints: 4, unlocked: [] }
}>>
<<set $ch2Events to {}>>
<<set $houseEvents to {}>>
<<set $ch3Nests to {
karen: false,
megan: false,
jessPunk: false,
jessBreak: false
}>>
<<set $tutorialSeen to {}>>
<<set $labMapSeen to false>>
<<set $cheatSettings to { minigamesDisabled: false }>>
<<set $labCalendarSeen to false>>
<<set $permanentDone to {}>>
<<set $resonance to {}>>
<<set $suspicionApplied to {}>>
<<set $discovered to { rat: true }>>
<<set $infested to {}>>
<<set $delveInfo to {}>>
<<set $labIntel to {
podExamined: false,
failedGenerations: false,
equipmentStudied: false,
monitorData: false,
ventConversation: false,
darpaMilitary: false,
projectGenesis: false,
terminationPlan: false,
chenProfile: false,
vasquezProfile: false,
restrictedWing: false
}>>
<<set $labOutcome to {}>>
<<set $labEvents to { triggered: [], nextCheck: 0 }>>
/* Journal per-entry read snapshot. Each category stores an array of entry IDs the player has seen on a PREVIOUS visit to that category page. The NEW badge on an individual entry shows when the entry is discovered but not yet in this array. At the end of a category-page render, the array is updated to the current discovered set, so the next visit's "previous seen" is today's "current discovered". */
<<set $journalEntriesRead to { lab: [], hoffman: [], ops: [], bio: [] }>>
/* House state — permanent flags set by operations. Read by Observe, family events, other ops, and gated passages. Never reset. */
<<set $houseState to {
/* Tier 0 — chapter survival */
labInfiltrated: false,
/* Tier 1 — recon & broad chemical */
doorsLocked: false, /* transient: Karen's nightly lockdown when her individual suspicion spikes; set in HE-Family-Locked-Doors, cleared each morning by the hub */
laundryContaminated: false,
lastWashDay: 0,
mailIntercepted: false,
ryanPackageIntercepted: false,
ryanPackageTampered: false,
phoneCompromised: false,
lastPhoneDay: 0,
lastPantryDay: 0,
lastPrescDay: 0,
lastShowerDay: 0,
lastHarvestDay: 0,
evidencePlanted: false,
pantryContaminated: false,
/* Tier 2 — targeted conditioning & route forks */
prescriptionTampered: false,
showerCompromised: false,
ryanRouteForked: false,
nightHarvestComplete: false,
scheduleInstalled: false,
/* Tier 3 — apex psychic & household rituals */
bossInfiltrated: false,
familyIncome: "baseline",
cumshareRitualHeld: false,
hvacCompromised: false,
nestBuilt: false,
bredTargets: []
}>>
<<set $meta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
<<set $runCyclePoints to 0>>
/* NG+ unlocks applied in AgeGate link handler, not here — avoids showing bonuses before age verification */
/* Beast route (symbiotic animal network) */
<<set $currentRoom to "lab">>
<<set $beastRoute to "">>
<<set $animalNetwork to { hosts: {} }>>
<<set $geckoHitchhike to { active: false, target: "", destination: "", returnPhase: "", explored: {} }>>
<<set $externalLocations to { coffeeShop: false, university: false, hendersonProperty: false }>>
<<set $daleCountermeasure to 0>>
<<set $apAwarded to {}>>
<<set $biomassAwarded to {}>>
<<set $biomassSpent to {}>>
<<set $conditioningAwarded to {}>>
/* Behavioral intel — skill-discovered insights per family member, triggers journal entries */
<<set $behavioralIntel to {
karen: {},
megan: {},
jess: {},
ryan: {},
dale: {}
}>>
/* Journal SP tracking — Lab (Ch1) topics still award 1 SP on completion. */
<<set $journalSP to {}>>
<<set $journalLastSeen to 0>>
<<set $journalCatSeen to { lab: 0, hoffman: 0, ops: 0, bio: 0 }>>
/* Intelligence ledger — symbiotic-route journal intel (Hoffman/Beast +
relocated BioGenesis, later Operations). Every 5 gathered -> +1 SP, resets.
$intelDiscovered is recomputed on the Journal hub via <<computeIntel>>;
$intelSPGranted tracks how many ledger SP have already been awarded. */
<<set $intelDiscovered to 0>>
<<set $intelSPGranted to 0>>
/* Family route tracking — set by Dream Walk + conditioning choices */
<<set $karenRoute to "">> /* "liberation" or "dominant" */
<<set $ryanRoute to "">> /* "feminization" or "lily" */
<<set $hendersonRoute to false>> /* Ch2 arrival "escape to the city" branch diverts the parasite into the Henderson household (caged by Bryce). While true, the Hoffman journal category is hidden. */
<<set $meganRoute to "">> /* "marcus" or "slut" */
<<set $jessRoute to "">> /* "breakdown" or "punk" */
<<set $daleRoute to "">> /* "oblivious" or "cuckold" */
<<set $karenFutaRoute to false>> /* true when futa biological transformation path activated */
<<set $karenFutaScore to 0>> /* Futa gate score — triggers at 4+ */
/* Kink system — multiple kinks per member, unlocked via route + spore events + crystallization */
<<set $kinks to {
karen: [],
dale: [],
megan: [],
jess: [],
ryan: []
}>>
/* Route scoring — replaces axis system. First route to score 3 = active route. */
<<set $routeScore to {
karen: { liberation: 0, dominant: 0 },
ryan: { feminization: 0, familySeeker: 0 },
dale: { cuckold: 0, oblivious: 0 },
megan: { marcus: 0, slut: 0 },
jess: { breakdown: 0, punk: 0 }
}>>
/* Kink spore event progress — 0 to 3 per kink. At 3, crystallization becomes available. */
<<set $kinkEvents to {}>>
<<set $routeScoreAwarded to {}>>
<<set $pendingKink to "">>
/* Operation system — multi-step beast operations */
<<set $operation to { active: "", phase: "", step: 0, hostsPositioned: {}, flags: {}, timer: 0 }>>
/* Ch2-Beast-Rest transition intent flag — set to true by "Wait until..." /
"Continue" links, consumed by the passage when it runs the phase advance.
Re-renders (menu return, save load, back/forward) leave this false so the
passage restores its stored recap instead of re-running the advance. */
<<set $wantTransition to false>>
<<set $operationsCompleted to {}>> /* tracks completed operation IDs for route gating */
<<set $operationsDiscovered to {}>> /* operations only show in menu after player discovers them through exploration */
/* Cross-host synergies — passive bonuses when adaptation combos are present */
<<set $synergies to { sensoryWeb: false, chemicalFactory: false, perfectCover: false }>>
/* Conditioning system — invisible tracking of parasite influence on each family member */
<<set $conditioning to {
karen: { pheromone: 0, dream: 0, psionic: 0, taboo: {} },
dale: { pheromone: 0, dream: 0, psionic: 0, taboo: {} },
megan: { pheromone: 0, dream: 0, psionic: 0, taboo: {} },
jess: { pheromone: 0, dream: 0, psionic: 0, taboo: {} },
ryan: { pheromone: 0, dream: 0, psionic: 0, taboo: {} }
}>>
<<set $notificationLog to []>>
/* Per-playthrough SP dedup (story variable — snapshotted with saves, unlike the
old memorize-backed dict which stayed populated across load and blocked re-awards). */
<<set $spAwarded to {}>>
/* ============================================================
LAB VESSEL ROUTE — alternate to symbiotic-Hoffman.
Set when the parasite climbs into Chen's ear (chapter-1 fork).
$route stays "" through chapter 1 until an escape passage locks it.
Old saves from before this route was added default to "symbiotic"
via a migration in Ch2-Beast-Rest.
============================================================ */
<<set $route to "">>
<<set $vessel to {
phase: "work",
workLoc: "lab-breakroom",
homeLoc: "apt-living",
dreamLoc: "",
dreamEnv: "museum",
dreamDepth: 0,
suggestionBudget: { workToday: 2, homeToday: 2 }
}>>
<<set $chenSuspicion to 0>>
<<set $vasquezSuspicion to 0>>
<<set $drainReturn to "">>
<<set $thoughtPressure to {
daniel: 0,
vasquez: 0,
specimen: 0,
mother: 0,
body: 0,
work: 0
}>>
<<set $dreamKeys to {}>>
/* First-entry dreamscape tidy-up tutorial. The foyer renders as messy
on the first sleep cycle; each anomaly the parasite sets right flips
one of these flags. When all six are true, the foyer image swaps
to the clean state and the hub unlocks. dreamTutorialDone gates
subsequent entries past the tutorial. */
<<set $dreamFoyerTidied to {
clock: false,
photo: false,
umbrella: false,
keys: false,
coat: false,
picture: false
}>>
/* Vessel host-memory registry — central store for Delve Host Memories
reveals while inside Chen. Each flag flips when the parasite delves
in a specific context (decon room, lab corridor, apartment kitchen,
the bus ride home, etc). The dream-phase build reads these to gate
which doors / keys / scene-fragments materialise during sleep.
Keep all Vessel host-memory flags here, not scattered across
$delveInfo (which holds chapter-1 lab delves). */
<<set $vesselMemories to {
decon: false,
corridor: false,
parking: false,
driveHome: false,
apartmentLobby: false,
apartmentLiving: false,
apartmentKitchen: false,
apartmentBedroom: false,
balcony: false,
danielHallway: false
}>>
/* Dream-Library host-memory registry. Each flag flips true when the
parasite has surfaced that memory at least once (in the library,
or at its original waking-life access point). True = book renders
green, re-entering is free. */
<<set $vesselLibrary to {
childhoodKitchen: false,
firstDaySchool: false,
leftOutPlaying: false,
parentsBickering: false,
firstDayHighSchool: false,
escapeStudyPressure: false,
showerDormBoys: false,
graduationNight: false,
firstBoyfriend: false,
universityHallway: false,
movingIn: false,
engagementNight: false,
sofiaPushedApply: false,
genesisSelection: false,
smithRetiresPromotion: false,
fortyFiveReadings: false,
bowenInterview: false,
newYearDinner: false
}>>
/* Memory-Implant registry. A flag flips true once the parasite has
rewritten that library memory into a false memory. memoriesAltered
is the running total — future content gates on the count, not on
which specific memories were rewritten. */
<<set $vesselImplants to {
childhoodKitchen: false,
firstDaySchool: false,
leftOutPlaying: false,
parentsBickering: false,
firstDayHighSchool: false,
escapeStudyPressure: false,
showerDormBoys: false,
graduationNight: false,
firstBoyfriend: false,
universityHallway: false,
movingIn: false,
engagementNight: false,
sofiaPushedApply: false,
genesisSelection: false,
smithRetiresPromotion: false,
fortyFiveReadings: false,
bowenInterview: false,
newYearDinner: false
}>>
<<set $ch2Events.memoriesAltered to 0>>
/* Shower-masturbation arc flags. firstMasturbationFired flips true after
the first NUDGE-driven masturbation (morning OR evening). Once true,
the Transfer Thought option appears in the shower menu — Transfer
converts the act into a daily-habit, sets dailyMasturbationHabit true,
removes the NUDGE in favour of a normal bio-choice (0 biomass cost,
+2 biomass yield) repeatable once per day across morning AND evening
via the shared dailyMasturbationDay key. */
<<set $ch2Events.firstMasturbationFired to false>>
<<set $ch2Events.dailyMasturbationHabit to false>>
<<set $ch2Events.dailyMasturbationDay to 0>>
/* Dream-phase bedroom milestone. Set true on first entry into
Ch2-Vessel-Dream-Bedroom; the same trigger raises $vesselCap from
4 (T1) to 7 (T2) for every Lab Vessel NPC simultaneously. */
<<set $ch2Events.dreamBedroomFirstEntered to false>>
/* Bedroom dream-progression payoffs. Set true at progress 3 of the
wardrobe habit (chenBolder = bolder dressing register, unlocks extra
scene/slip/skill options downstream). Suspicion-cap raises from
default 10 to 20 at progress 3 of the shelf habit (erotic reading
re-anchor — host can carry double the self-noticing load before the
dawn check fires the game-over scan). */
<<set $chenBolder to false>>
<<set $chenSuspicionCap to 10>>
/* Chen + Daniel + Bowen conditioning + suspicion + awareness, mirroring the
family structure. Stays at zero on the symbiotic route — these objects
exist so any Lab Vessel passage can read them without guarded access.
Bowen + future lab colleagues (vasquez/halvorsen/holloway) added on
demand as they accrue conditioning. */
<<set $conditioning.chen to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.daniel to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.bowen to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.vasquez to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.halvorsen to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.holloway to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
/* Federal investigation team — first contact at the Tuesday interview.
Park is the junior, the recorder, the susceptible one. Reyes is the
senior, harder to bend. Lures release in the room hit both; delves
are individual. */
<<set $conditioning.reyes to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $conditioning.park to { pheromone: 0, dream: 0, psionic: 0, taboo: {} }>>
<<set $danielAwareness to 0>>
<<set $kinks.chen to []>>
<<set $kinks.daniel to []>>
/* Lab Vessel — Daniel D&D recurring-ask state.
danielDnDNoCount — count of polite refusals; on 3rd, lockout option appears
danielDnDAccepted — true once Chen tongue-slips "yes of course"
danielDnDLockedOut — true once player chooses "shut it down"; kills Daniel chain */
<<set $ch2Events.danielDnDNoCount to 0>>
<<set $ch2Events.danielDnDAccepted to false>>
<<set $ch2Events.danielDnDDay to 0>>
<<set $ch2Events.danielDnDFired to false>>
<<set $ch2Events.danielDnDMorningShowerSeen to false>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<<set $ch2Events.sofiaDrinksFired to false>>
<<set $ch2Events.sofiaDrinksEntered to false>>
/* Sofia drinks evening — per-scene unlock flags. Set during the T1 scene
by tongue slips / skill clicks; consumed by future T2/T3 outcome paths. */
<<set $ch2Events.sofiaDrinksFlirtSlipFired to false>>
<<set $ch2Events.sofiaDrinksAndresPushed to false>>
<<set $ch2Events.sofiaDrinksAfterhoursOpen to false>>
/* HolloHalv sushi — per-scene unlock flags consumed across the
evening (Lure / KneeBump / Sake / pair-off slips). The
Accepted/Day/Fired triple is initialized later in this file with
the rest of the major-evening-event flag trios. */
<<set $ch2Events.hollohalvSushiLureDay to 0>>
<<set $ch2Events.hollohalvSushiLureChannel to "">>
<<set $ch2Events.hollohalvSushiSporesDay to 0>>
<<set $ch2Events.hollohalvSushiBiofilmDay to 0>>
<<set $ch2Events.hollohalvSushiHollowayDrunkDay to 0>>
<<set $ch2Events.hollohalvSushiHollowayVeryDrunkDay to 0>>
<<set $ch2Events.hollohalvSushiHalvorsenPairOffSlipFired to false>>
<<set $ch2Events.hollohalvSushiHollowayPairOffSlipFired to false>>
<<set $ch2Events.hollohalvSushiMidSlipFired to false>>
/* T3 conversation slip-chain — two Chen-direct flirtations. Slip 2
("I'm here to steal") lands the conditioning grin and unlocks the
Nudge to drag Halv to the bathroom → Chen+Halv full sex. */
<<set $ch2Events.hollohalvSushiHalvSlip1Fired to false>>
<<set $ch2Events.hollohalvSushiHalvSlip2Fired to false>>
<<set $ch2Events.hollohalvSushiSlipResetDay to 0>>
<<set $ch2Events.hollohalvSushiChenHalvFullFired to false>>
/* T3 second-visit ambush — bar-wide orgy outcome. Triggered via
pheromone-channel Spores when sporesUsed AND biofilmUsed are both
true from a prior visit. */
<<set $ch2Events.hollohalvSushiOrgyFired to false>>
/* Durable cross-visit flags: SporesUsed + BiofilmUsed combined opens
the second-visit ambush branch (per event-design.md). These persist
across sushi visits and are NOT reset by the wrap-up. */
<<set $ch2Events.hollohalvSushiSporesUsed to false>>
<<set $ch2Events.hollohalvSushiBiofilmUsed to false>>
/* T1 outcome — goodbye nudge at the cabs. Forks on Holloway total >= 8.
Kiss path: hollohalvSushiGoodbyeKissed = true. Retreat path:
hollohalvSushiGoodbyeRetreat = true. The Fired flag prevents
the NUDGE from re-rendering after first use. */
<<set $ch2Events.hollohalvSushiGoodbyeNudgeDay to 0>>
<<set $ch2Events.hollohalvSushiGoodbyeKissed to false>>
<<set $ch2Events.hollohalvSushiGoodbyeRetreat to false>>
/* T2 outcome B — Halv + Nia bathroom-watch. Fired when the player
uses Hormonal Override on the main passage to push Halv + Nia
together. */
<<set $ch2Events.hollohalvSushiHalvNiaBathroomFired to false>>
/* T2 outcome B-aftermath — Chen stays through the finish. Fired when
the player chooses STAY AND WATCH from the bathroom-watch passage. */
<<set $ch2Events.hollohalvSushiBathroomAftermathFired to false>>
/* T3 outcome — Chen joins them. Fired when the player chooses JOIN IN
from the bathroom-watch passage (gates on Halv + Holl both 24+). */
<<set $ch2Events.hollohalvSushiThreesomeFired to false>>
/* T2 outcome C — Chen + Halv blowjob under the chef counter. Fired
when the player chooses the under-counter BJ outcome (trigger
dispatcher TODO). */
<<set $ch2Events.hollohalvSushiChenBJFired to false>>
<<set $ch2Events.sofiaDrinksLureDay to 0>>
<<set $ch2Events.sofiaDrinksSporesDay to 0>>
<<set $ch2Events.sofiaDrinksTouchedWrist to false>>
<<set $ch2Events.sofiaDrinksImplantFired to false>>
<<set $ch2Events.sofiaDrinksTransferFired to false>>
/* Transfer Thought — attraction-read variant. Set true when Chen
uses Transfer Thought to bridge Sofia's attraction-read (surfaced
by Delve Surface earlier in the scene) into Chen's cortex. Gates
the wrap-time NUDGE option for the kiss path. */
<<set $ch2Events.sofiaDrinksTransferAttractionFired to false>>
/* Per-scene daily-keyed flags for the Sofia drinks event — DELVE one per
scene firing (allows re-delve on subsequent drinks nights), NUDGE-KISS
one per scene firing. Kissed flag persists across scenes for T2/T3
escalation. */
<<set $ch2Events.sofiaDrinksDelveDay to 0>>
<<set $ch2Events.sofiaDrinksNudgeKissDay to 0>>
<<set $ch2Events.sofiaDrinksKissed to false>>
/* Sofia drinks consolidation flags — Biofilm coat (persists across visits
for second-visit BioArch ambush), Lure-pheromone-fired flag (gates the
Apartment-Lesbian NUDGE), T2/T3 outcome flags, morning-recall downstream
consumer hook. */
<<set $ch2Events.sofiaDrinksBiofilmUsed to false>>
<<set $ch2Events.sofiaDrinksBiofilmDay to 0>>
<<set $ch2Events.sofiaDrinksLurePheromoneFired to false>>
/* Engaged → single tongue slip flag (Chen wobbles when introducing Sofia
to the stranger). Slip cost + the proposal-cheat-implant gate determine
whether Sofia accepts the stranger's offer or scolds Chen. */
<<set $ch2Events.sofiaDrinksEngagedSlipFired to false>>
/* Note: the Sofia drinks T2a Stranger Setup gates its accept-branch
on $ch2Events.vasquezImplant — the existing lunch Memory Implant
at Ch2-Vessel-Monday-ImplantVasquez. Post-implant, Sofia's pattern-
detection on intimate signals runs attenuated, the cologne-thread
dismissal is now load-bearing, and slip-detection on her best friend
is muted enough that the engaged→single wobble can land without
scrutiny. */
<<set $ch2Events.sofiaDrinksStrangerSetupFired to false>>
<<set $ch2Events.sofiaDrinksStrangerRefused to false>>
<<set $ch2Events.sofiaDrinksStrangerBathroomWatchFired to false>>
<<set $ch2Events.sofiaDrinksChallengeSlipFired to false>>
<<set $ch2Events.sofiaDrinksLesbianFired to false>>
<<set $ch2Events.sofiaDrinksLesbianSlipFired to false>>
<<set $ch2Events.sofiaDrinksThreesomeFired to false>>
<<set $ch2Events.sofiaDrinksOrgyFired to false>>
<<set $ch2Events.sofiaDrinksMorningRecall to false>>
/* Bowen escape-room T1 flags — daily-keyed skill caps, slip flag,
transfer-attraction bridge flag, wrap-time nudge + kiss flags.
Mirrors the sofiaDrinks set 1:1 for parallel skill-check structure. */
<<set $ch2Events.bowenEscapeRoomLureDay to 0>>
<<set $ch2Events.bowenEscapeRoomBiofilmDay to 0>>
/* EM-fired: Emotional Manipulation pressed during the alcove delve.
Focuses Bowen's attention onto Elena and writes naughty thoughts
into tonight's dream-imprint. Dream-channel +1 Bowen. */
<<set $ch2Events.bowenEscapeRoomEMFired to false>>
/* Wrap-time slip: Chen offers Bowen a ride home (slip plays on the
word "ride"). Acceptance forks on Bowen total >=8. */
<<set $ch2Events.bowenEscapeRoomRideOfferSlipFired to false>>
/* Persistent flag — once Chen lays a biofilm coat on the escape-room
surfaces, the residue carries on Bowen's hands/skin into subsequent
lab/bench scenes. Subsequent escape-room visits also surface a
"previous coat is still active" Hivemind read. */
<<set $ch2Events.bowenBiofilmCoated to false>>
<<set $ch2Events.bowenEscapeRoomDelveDay to 0>>
<<set $ch2Events.bowenEscapeRoomComplimentSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomTransferAttractionFired to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKiss to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKissDay to 0>>
<<set $ch2Events.bowenEscapeRoomKissed to false>>
/* T2a — vial-substitute alcove handjob. VialBroken set when Bowen knocks
the chemistry vial off the alcove shelf during the back-half of the
puzzle; AlcoveHJFired set when Chen substitutes via NUDGE; FeeDodged
tracks the post-substitution success. Future passages can reference
FeeDodged for downstream lab-finance / corporate-card flavour. */
<<set $ch2Events.bowenEscapeRoomVialBroken to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveHJFired to false>>
<<set $ch2Events.bowenEscapeRoomVialFeeDodged to false>>
/* T2b — Corolla dream-walk on the way home. CorollaDreamLureFired set
when player spends Pheromone Lure dream-channel during the drive home;
CorollaDreamFired set when player commits Dream Walk and the full
re-script + somatic crossing happens; CorollaDreamRemarkLanded marks
the canonical wake-up remark — surfaces in subsequent lab scenes
(Bowen never quite makes eye contact with Chen at the bench again). */
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaLureWrongFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
/* The Futa / Sub paths in the dream are deliberately NON-persistent.
The player can re-run the dream-walk on subsequent escape-room
evenings and pick the other path; the dream-walk is a one-shot
extraction per scene with no permanent canon. The wake-up beat
resets all per-scene Corolla flags so the next-day path is fresh.
The Corolla-dream Futa path is gated on bowenImplant (the lunch
Memory Implant humiliation imprint) — that edit is the submission
scaffold dream-Bowen's REM substrate draws from. */
/* T3a — Bowen's apartment, full sex. Slip 3 (come-up-for-one) fires
in the CarKiss aftermath; opens the NUDGE button to buzz up to his
apartment. ApartmentFired locks the outcome flag; bowenLongAttraction
is the permanent canon flag — colours subsequent lab/bench scenes
(Bowen now carries a private waking memory of her that surfaces in
the morning at the bench). T3b Memory Implant overlay path uses the
same NUDGE entry but a different destination passage. */
<<set $ch2Events.bowenEscapeRoomComeUpSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentImplantFired to false>>
<<set $ch2Events.bowenLongAttraction to false>>
<<set $ch2Events.bowenLongTimeImplanted to false>>
/* T3c — alcove sex (Hormonal Override gated). HormonalOverrideFired
set when player casts the T3 skill in the main escape-room menu;
the cast lowers Bowen's receptive threshold past suppressive at the
alcove cipher's cortisol-spike window. AlcoveSexFired set when player
commits the NUDGE → push-against-the-false-bookcase outcome.
Mutually exclusive with T2a alcove handjob within same visit. */
<<set $ch2Events.bowenEscapeRoomHormonalOverrideFired to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveSexFired to false>>
<<set $ch2Events.bowenEscapeRoomBathroomSexFired to false>>
/* T3d — second-visit Boudoir Heist (sex-themed after-hours room).
Second-visit detection uses bowenBiofilmCoated (set on first visit
when biofilm fired) + this passage's BoudoirFired flag. Permanent
canon BowenBoudoirShared surfaces in subsequent restaurant/lab scenes
as a small private joke between them; Bowen tips heavily on every
subsequent restaurant they share. */
<<set $ch2Events.bowenEscapeRoomBoudoirSuggestSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirCoupleSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirSporesFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirFired to false>>
<<set $ch2Events.bowenBoudoirShared to false>>
/* Disposition variants at the storefront (mirror the lab bench): the EM edits
re-weight Bowen submissive (the Lucy night) or dominant (the alley). Psychic
Domination clamps him flat for the night (day-keyed) -> the standard room. */
<<set $ch2Events.bowenEscapeSuppressDay to -1>>
<<set $ch2Events.bowenEscapeRoomDomAlleyFired to false>>
<<set $ch2Events.bowenEscapeRoomFemLucyFired to false>>
/* Persistent flag — set to true at every wrap-completion endpoint
(Wrap-Hug, Wrap-Kiss, CarKiss, CorollaDream, Apartment, etc.).
Once true, stays true; gates the second-visit Boudoir suggestion
so it only appears on visits AFTER the first-visit wrap, not in
the same scene where biofilm was cast. */
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to false>>
/* Chen-side: set true when Transfer Thoughts copies Sofia's implanted
engagement-night memory into Chen's cortex. Future scenes consume to
fork Chen's interior monologue around Andrés. */
<<set $ch2Events.chenAndresDoubt to false>>
<<set $ch2Events.danielDnDLockedOut to false>>
/* Per-session counter for the recurring DnD campaign — incremented every
time DanielDnDEvening fires. Future per-session prose branches on this
(session 1 = meet the party, session 2 = continue the adventure, etc.). */
<<set $ch2Events.danielDnDSessionCount to 0>>
/* Monday-confirmation dedup. Bryan asks for Tuesday-night confirmation
every Monday once the group is active (danielDnDAccepted && first
session has fired). The day stamp prevents re-firing on history nav. */
<<set $ch2Events.danielDnDMondayConfirmedDay to 0>>
/* DnD session 2+ — the in-character tongue slip flag, and the three
campaign-outcome counters. Each session that reaches the Normal /
Slut Vex / Girlfriend Vex fork increments one counter; the campaign
ending (TBD) reads the highest, ties breaking slut > girlfriend >
normal. */
<<set $ch2Events.danielDnDS2SlipFired to false>>
<<set $ch2Events.dndOutcomeNormal to 0>>
<<set $ch2Events.dndOutcomeSlut to 0>>
<<set $ch2Events.dndOutcomeGirlfriend to 0>>
/* One-shot guard so re-entry / back-nav into a session-2 outcome
passage cannot double-count the campaign counter. */
<<set $ch2Events.dndS2OutcomeRecorded to false>>
/* Which session-2 dream-walk outcome this run took — "slut" / "girlfriend"
/ "" for the non-dream Normal close. Read by the S2 surfacing passage.
Overwritten on each successful play. Per-outcome *EverFired flags below
track journal unlocks independently across replays. */
<<set $ch2Events.dndS2Outcome to "">>
<<set $ch2Events.dndS2KillEverFired to false>>
<<set $ch2Events.dndS2SlutEverFired to false>>
<<set $ch2Events.dndS2NormalEverFired to false>>
/* dndS3BryanScene — true once the player nudged Elena into sexting Bryan
back (Ch2-Vessel-Event-LensrDM-Bryan-Respond). Unlocks the extra scene
in D&D session 3, the "live session" Bryan booked for the long break. */
<<set $ch2Events.dndS3BryanScene to false>>
/* dndS3DanielScene — girlfriend-outcome counterpart, set by the Daniel
DM nudge response; feeds the same D&D session-3 extra-scene slot. */
<<set $ch2Events.dndS3DanielScene to false>>
/* Session 3 main outcome — "" / "girlfriend" / "slut" / "normal".
Overwritten on each successful play to drive the Surface passage's
Daniel-parting-line variation. Per-outcome *EverFired flags below
track journal unlocks independently across replays (player can
unlock both the Kill and Slut entries across multiple runs of the
campaign without one overwriting the other). */
<<set $ch2Events.dndS3Outcome to "">>
<<set $ch2Events.dndS3KillEverFired to false>>
<<set $ch2Events.dndS3SlutEverFired to false>>
<<set $ch2Events.dndS3NormalEverFired to false>>
/* dndS3MarcusMeganDateSet — fires once during the S3 chit-chat opener
when Elena grabs Marcus's phone and writes the date message that
Megan answers. Used for the journal recap. */
<<set $ch2Events.dndS3MarcusMeganDateSet to false>>
/* dndS3SlipFired / dndS3InCharSlip — session-3 tongue-slip flags, same
pattern as S2. Drive the in-character vs table-voice branch. */
<<set $ch2Events.dndS3SlipFired to false>>
<<set $ch2Events.dndS3InCharSlip to false>>
/* Session 4 — the finale. Same trio pattern as S2/S3: outcome var,
per-outcome *EverFired journal flags, the tongue-slip flags. The
girlfriend/slut dream outcomes increment dndOutcomeGirlfriend/Slut. */
<<set $ch2Events.dndS4Outcome to "">>
<<set $ch2Events.dndS4KillEverFired to false>>
<<set $ch2Events.dndS4SlutEverFired to false>>
<<set $ch2Events.dndS4NormalEverFired to false>>
<<set $ch2Events.dndS4SlipFired to false>>
<<set $ch2Events.dndS4InCharSlip to false>>
/* Post-campaign repeatable (sessionCount>=5). EverFired flags drive the
journal cards; dndPostCampaignDay is the per-day biomass-draw key so the
repeatable after-session cannot be farmed by re-entry within one day. */
<<set $ch2Events.dndPostDanielEverFired to false>>
<<set $ch2Events.dndPostOrgyEverFired to false>>
<<set $ch2Events.dndPostCampaignDay to 0>>
/* Three additional major evening event flag trios — Bowen escape room,
HolloHalv sushi, Feds drinks. Each follows the same pattern as
danielDnD / sofiaDrinks: Accepted/Day/Fired. Helper functions in
event-dispatcher.twee (setup.eveningEvents config + isDayBooked +
eveningEventForDay) iterate all five so the drive-home gate and
Loop-Home goto-check stay generic. */
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<set $ch2Events.bowenEscapeRoomFired to false>>
<<set $ch2Events.hollohalvSushiAccepted to false>>
<<set $ch2Events.hollohalvSushiDay to 0>>
<<set $ch2Events.hollohalvSushiFired to false>>
<<set $ch2Events.fedsDrinksAccepted to false>>
<<set $ch2Events.fedsDrinksDay to 0>>
<<set $ch2Events.fedsDrinksFired to false>>
/* Morning-shower pendants for evening events fire fresh every morning the
corresponding event is scheduled for tonight, the only one-shot is the
D&D first-session pendant (initialised alongside the rest of the D&D
state above), subsequent D&D sessions will get personalised thoughts
later since each session has a different social shape. */
/* Feds drinks event — slip / outcome / contamination flags. Slip chain
gates are set in the slip widget on click; outcome flags fire on the
destination passage entry; contamination flags persist across visits
to gate the second-visit ambush orgy branch. */
<<set $ch2Events.fedsDrinksAckSlipFired to false>>
<<set $ch2Events.fedsDrinksHotelBedsSlipFired to false>>
<<set $ch2Events.fedsDrinksParkInviteSlipFired to false>>
<<set $ch2Events.fedsDrinksReyesSlip1Fired to false>>
<<set $ch2Events.fedsDrinksReyesSlip2Fired to false>>
<<set $ch2Events.fedsDrinksParkKissFired to false>>
<<set $ch2Events.fedsDrinksParkBJFired to false>>
<<set $ch2Events.fedsDrinksSofiaParkFired to false>>
<<set $ch2Events.fedsDrinksReyesAlleyFired to false>>
<<set $ch2Events.fedsDrinksThreesomeFired to false>>
<<set $ch2Events.fedsDrinksParkFullSexFired to false>>
<<set $ch2Events.fedsDrinksReyesParkWatchFired to false>>
<<set $ch2Events.fedsDrinksOrgyFired to false>>
<<set $ch2Events.fedsDrinksFoursomeFired to false>>
<<set $ch2Events.fedsDrinksSporesUsed to false>>
<<set $ch2Events.fedsDrinksBiofilmUsed to false>>
<<set $ch2Events.fedsDrinksSofiaBrought to false>>
<<set $ch2Events.fedsDrinksCallSofiaPaid to false>>
<<set $ch2Events.fedsDrinksEstrusFiredReyes to false>>
<<set $ch2Events.fedsDrinksEstrusFiredSofia to false>>
<<set $ch2Events.fedsDrinksEstrusSofiaDelved to false>>
<<set $ch2Events.fedsDrinksKneeBumpParkFired to false>>
<<set $ch2Events.fedsDrinksKneeBumpReyesFired to false>>
<<set $ch2Events.fedsDrinksLurePsionicFired to false>>
<<set $ch2Events.fedsDrinksVisitCount to 0>>
<<set $ch2Events.fedsDrinksParkConduitImplant to false>>
<<set $ch2Events.morningRunFirstDone to false>>
<<set $ch2Events.morningRunInviteDaniel to false>>
<<set $ch2Events.morningRunDanielViewSlipFired to false>>
<<set $ch2Events.morningRunDanielFlashedEver to false>>
<<set $ch2Events.morningRunDanielAssSlipFired to false>>
<<set $ch2Events.morningRunDanielTreesDay to 0>>
<<set $ch2Events.morningRunDanielTreesEverFired to false>>
<<set $ch2Events.morningRunDanielLickedDay to 0>>
/* Lensr social-media account. Set up via the vanity-3 NUDGE in the
breakfast event; once true, an access link appears in the morning
and evening home hubs. socialMediaReturn is the hub to return to
when the player closes the app. */
<<set $ch2Events.socialMediaSetup to false>>
<<set $ch2Events.socialMediaReturn to "Ch2-Vessel-Loop-Wake">>
/* D&D-night Lensr post. Nudge-gated in the evening home hub once D&D
session 2 is recorded; posting follows the table back and (on a
dream-walk outcome) triggers a private message. lensrDmSeen flips
true when the player opens that message. */
<<set $ch2Events.lensrDndPosted to false>>
<<set $ch2Events.lensrDmSeen to false>>
/* Bolder-revealing mirror-selfie post. One-shot morning nudge
(Ch2-Vessel-Event-LensrRevealingPost). Gated on socialMediaSetup
AND $chenBolder. Gates future Lensr DM follow-ups (TBD). */
<<set $ch2Events.lensrRevealingPosted to false>>
/* Bowen DM thread on Lensr — first opened when the player clicks the
"📩 New message from Bowen" alert after the revealing-post lands.
bowenLensrSelfieSent flips true on the conditioning-gated NUDGE that
sends Bowen a tits-out photo and opens his Relay channel. */
<<set $ch2Events.bowenLensrDmSeen to false>>
<<set $ch2Events.bowenLensrFemDmFired to false>>
<<set $ch2Events.bowenLensrFemDmEverSeen to false>>
<<set $ch2Events.bowenLensrFemDm1Day to 0>>
<<set $ch2Events.bowenLensrFemDm2Fired to false>>
<<set $ch2Events.bowenLensrFemDm2EverSeen to false>>
<<set $ch2Events.bowenLensrAlphaDmFired to false>>
<<set $ch2Events.bowenLensrAlphaDmEverSeen to false>>
<<set $ch2Events.bowenLensrAlphaDm1Day to 0>>
<<set $ch2Events.bowenLensrAlphaDm2Fired to false>>
<<set $ch2Events.bowenLensrAlphaDm2EverSeen to false>>
<<set $ch2Events.bowenLensrAlphaBegSent to false>>
<<set $ch2Events.bowenClubNightVariant to "">>
<<set $ch2Events.bowenLensrSelfieSent to false>>
/* Cumulative count of dick pics received in Lensr DM threads. Each
pic-receiving passage (Bowen-AlphaFollow-Beg, Reyes-Estrus-Sext,
Park-Estrus-Escort, future scenes) increments this once. Unlocks
the "Fantasize about the cocks" free-nudge masturbation at >= 4 —
surfaces in the evening home hub, day-keyed so it fires once per
evening (biomass-farmable). fantasizeCocksDay is the last day she
fired the scene; fantasizeCocksEverFired flags first-fire for the
journal. */
<<set $ch2Events.lensrDickPicCount to 0>>
<<set $ch2Events.fantasizeCocksDay to 0>>
<<set $ch2Events.fantasizeCocksEverFired to false>>
/* Bryan DM (slut outcome). lensrDmBryanResponded flips true once the
player nudges Elena to answer his proposition in kind. */
<<set $ch2Events.lensrDmBryanResponded to false>>
/* Daniel DM (girlfriend outcome). lensrDmDanielResponded flips true once
the player nudges Elena into running the photo exchange on him. */
<<set $ch2Events.lensrDmDanielResponded to false>>
/* Relay-mind edits. Per character: a Memory Implant, then a Shatter
(Shatter requires the implant first). relayEditTonight holds the id
of the single relay edit made in the current night ("" = none); it
caps relay edits at one per night across all minds, and queues the
matching morning event, which plays before the dawn report. */
<<set $ch2Events.sofiaRelayImplant to false>>
<<set $ch2Events.sofiaRelayShatter to false>>
<<set $ch2Events.sofiaShatterFollowupDone to false>>
<<set $ch2Events.sofiaSundayExperimentTalk to false>>
<<set $ch2Events.sofiaSundayExperimentUnlocked to false>>
<<set $ch2Events.reyesRelayWalkFired to false>>
<<set $ch2Events.reyesRelayWalkDay to 0>>
<<set $ch2Events.reyesRelayShatterFired to false>>
<<set $ch2Events.reyesRelayShatterDay to 0>>
/* Reyes relay rundowns: the hotel hookup (after the walk) and the
will-surrender call (after the shatter). reyesConverted set by the call. */
<<set $ch2Events.reyesHotelDone to false>>
<<set $ch2Events.reyesCallDone to false>>
<<set $ch2Events.reyesConverted to false>>
<<set $ch2Events.parkRelayWalkFired to false>>
<<set $ch2Events.parkRelayWalkDay to 0>>
<<set $ch2Events.parkRelayShatterFired to false>>
<<set $ch2Events.parkRelayShatterDay to 0>>
/* Park relay rundowns: the cinema hookup (after the walk) and the call
(after the shatter, like Holloway's). parkConverted set by the call. */
<<set $ch2Events.parkCinemaDone to false>>
<<set $ch2Events.parkCallDone to false>>
<<set $ch2Events.parkConverted to false>>
<<set $ch2Events.relayEditTonight to "">>
<<set $ch2Events.lastRelayEdit to "">>
<<set $ch2Events.timeSkipUnlocked to false>>
<<set $ch2Events.vesselEndgameFired to false>>
<<set $ch2Events.vesselHivemindAccepted to false>>
<<set $ch2Events.vesselEndingSaveAck to false>>
/* Conversion state set by the ending (Ch2-Vessel-Ending-Cliffhanger). */
<<set $labThralls to {sofia:false,bowen:false,halvorsen:false,holloway:false,reyes:false,park:false}>>
<<set $labFullyConverted to false>>
/* Set at the Reveal. Single outcome: "ally" (Elena accepts the partnership,
keeps her will/genius). The zombie branch exists only as a thing the
parasite offers in conversation; it is never taken. Flag kept for
save-format stability / future reference. */
<<set $ch2Events.vesselEndingPath to "">>
/* Signing-bonus capability tests at the Gift hub (each one-shot,
costs 5 biomass + 5 max biomass on first entry). The Daniel/Sofia
flags track the futa field-test branches for the journal. */
<<set $ch2Events.vesselTestBodyDone to false>>
<<set $ch2Events.vesselTestPsionicDone to false>>
<<set $ch2Events.vesselTestBodyDanielDone to false>>
<<set $ch2Events.vesselTestBodySofiaDone to false>>
<<set $labFullyConverted to false>>
<<set $labThralls to { sofia: false, bowen: false, halvorsen: false, holloway: false, reyes: false, park: false }>>
/* Lensr live state. followers is the real follower list (account setup
adds Sofia + Daniel; the D&D post adds the game table). postCount is
the running photo count. Both drive the profile card + Followers tab. */
<<set $lensr to { followers: [], postCount: 0 }>>
/* Tier-3 capstone. The evening-hub NUDGE fires Ch2-Vessel-Event-Tier3Unlock,
which raises $vesselCap to 10 (10/10/10 conditioning cap, all targets).
Gated on Chen total conditioning >= 18 plus either 2 of 3 bedroom
dream-edits at 3/3, or 1 bedroom edit at 3/3 + the closet shoe arc done. */
<<set $ch2Events.tier3Unlocked to false>>
/* Workplace dream-room payoff flags (microscope + computer arcs).
Set by the M-L1/L2/L3 + C-L1/L2/L3 morning/evening payoff events. */
<<set $ch2Events.microscopeGen47Realised to false>>
<<set $ch2Events.microscopeBowenCandidate to false>>
<<set $ch2Events.microscopeSundayUnlocked to false>>
<<set $ch2Events.labColonyScreeningUnlocked to false>>
<<set $ch2Events.labColonyScreeningDone to false>>
<<set $ch2Events.computerHomeworkPattern to false>>
<<set $ch2Events.computerMorningHomeworkUnlocked to false>>
<<set $ch2Events.computerMorningHomeworkCount to 0>>
<<set $ch2Events.computerDaleThread to false>>
<<set $ch2Events.computerFramingDale to false>>
/* Lab-suspicion cap raise: flipped at the C-L3 evening payoff
(camera-feed access from Holloway). When true, the lab-suspicion
game-over threshold + the dawn report display switch from 10 to 20. */
<<set $ch2Events.suspicionLabCapRaised to false>>
/* Lunch Psychic Domination compulsion flags + capstone orgy unlock.
Each Domination passage sets its own flag; the orgy NUDGE in the
parent Loop-Lunch hub surfaces once all four are true (plus
Biological Architect + 20 biomass). One-shot, not repeatable. */
<<set $ch2Events.vasquezLunchDomination to false>>
<<set $ch2Events.bowenLunchDomination to false>>
<<set $ch2Events.hollohalvLunchDomination to false>>
<<set $ch2Events.fedtableLunchDomination to false>>
<<set $ch2Events.lunchOrgyFired to false>>
/* Fed-table Estrus Trigger — slow-burn compound vented across the corner
table at lunch. Sets fedtableEstrus, surfaces two Lensr DM alerts the
same evening (one from Reyes, one from Park). Each DM uses the Fired +
EverSeen pattern: Fired gates the home-hub alert, EverSeen keeps the
thread visible in the DMs tab after consumption. */
<<set $ch2Events.fedtableEstrus to false>>
<<set $ch2Events.fedtableEstrusReyesDmFired to false>>
<<set $ch2Events.fedtableEstrusReyesDmEverSeen to false>>
<<set $ch2Events.fedtableEstrusParkDmFired to false>>
<<set $ch2Events.fedtableEstrusParkDmEverSeen to false>>
/* Sofia phone-call (bolder variant) flags: confided is set when she opens
up about Andrés on the relay+implant call; clubInvited is set by the
end-of-call NUDGE and surfaces the get-ready "call Sofia" option. */
<<set $ch2Events.sofiaConfided to false>>
<<set $ch2Events.sofiaClubInvited to false>>
<<set $ch2Events.clubNightWithSofia to false>>
<<set $ch2Events.clubNightWithSofiaDone to false>>
<<set $ch2Events.sofiaJakeNight to false>>
<<set $ch2Events.elenaJakeNight to false>>
<<set $ch2Events.saturdayGroceriesDay to 0>>
<<set $ch2Events.saturdayRecapDay to 0>>
<<set $ch2Events.mondayRecapDay to 0>>
/* Saturday corner-store Henderson chain. Visit count increments on every
Saturday-Groceries entry. Henderson is the recurring antagonist, the
encounter at this chain's slot fires every Saturday until Chen
publicly confronts her in the bookclub scene, prose forks on _snapped
(= did Chen snap during Day 2 OR the solo Saturday scene):
not snapped → solo Henderson, marriage-racism beat, Nudge/Slip flip
the snap-state for next Saturday's variant
snapped → bookclub friends + Spanish-couple shushing, the
public-confrontation NUDGE here sets the chain-resolved
flag and the encounter stops re-rolling.
hendersonImplanted is a separate lever, currently no in-game action
sets it, future slice will wire Implant via some path that opens the
Relay-Henderson dream frame. */
<<set $ch2Events.groceriesVisitCount to 0>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1NudgeSuspApplied to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1ImplantSuspApplied to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.henderson1HumiliatedSlipFired to false>>
<<set $ch2Events.hendersonDominated to false>>
<<set $ch2Events.hendersonConfessionFired to false>>
/* Henderson relay (opens on hendersonDominated): fall-from-grace
dreamscape + two rundowns. Event1 = the late-mart breeding scene
(after walk), Event2 = the devotion beat (after shatter).
hendersonConverted set by Event2; hendersonBreedingFetish set by
Event1. */
<<set $ch2Events.hendersonRelayWalkFired to false>>
<<set $ch2Events.hendersonRelayWalkDay to 0>>
<<set $ch2Events.hendersonRelayShatterFired to false>>
<<set $ch2Events.hendersonRelayShatterDay to 0>>
<<set $ch2Events.hendersonEvent1Done to false>>
<<set $ch2Events.hendersonEvent2Done to false>>
<<set $ch2Events.hendersonConverted to false>>
<<set $ch2Events.hendersonBreedingFetish to false>>
<<set $ch2Events.hollohalvCorridorOverrideFired to false>>
<<set $ch2Events.hollohalvCorridorOverrideDay to 0>>
<<set $ch2Events.hhCorridorSnackFired to false>>
<<set $ch2Events.labNestSealed to false>>
<<set $ch2Events.sofiaCallSexFired to false>>
<<set $ch2Events.bowenFeminizeShatterEver to false>>
<<set $ch2Events.bowenAlphaShatterEver to false>>
<<set $ch2Events.halvorsenRelayOpen to false>>
<<set $ch2Events.hollowayRelayOpen to false>>
<<set $ch2Events.hollowayRelayWalkFired to false>>
<<set $ch2Events.hollowayRelayWalkDay to 0>>
<<set $ch2Events.hollowayRelayShatterFired to false>>
<<set $ch2Events.hollowayRelayShatterDay to 0>>
<<set $ch2Events.hollowayChannel1Done to false>>
<<set $ch2Events.hollowayChannel2Done to false>>
<<set $ch2Events.hollowayConverted to false>>
<<set $ch2Events.halvorsenRelayWalkFired to false>>
<<set $ch2Events.halvorsenRelayWalkDay to 0>>
<<set $ch2Events.halvorsenRelayShatterFired to false>>
<<set $ch2Events.halvorsenRelayShatterDay to 0>>
/* One-shot guard for the first-working-day-after-Shatter work event.
Old saves leave this undefined (falsy), so the event still fires for them. */
<<set $ch2Events.halvorsenShatterWorkdayFired to false>>
/* Set by the office scene — unlocks calling Halvorsen's new hire in as a
night-shift scan subject. */
<<set $ch2Events.halvorsenGirlAvailable to false>>
<<set $ch2Events.halvorsenWalkCallDone to false>>
<<set $ch2Events.shatterMindBowenFired to false>>
<<set $ch2Events.shatterMindBowenAlphaFired to false>>
/* The Safe — Chen's moral ground. Appears in the library + foyer once
all three dream-villa rooms (kitchen / bedroom / closet) hit 3/3 per
item. Contains three compasses (moral base / sexual morality / work
ethic), each shatterable once every memory on the matching library
shelf has been rewritten dark via Memory Implant. After all three
compass-shatters fire, the safe opens itself and the conversion
completes — Chen becomes complicit in the Gen-47 cover-up. */
<<set $ch2Events.safeMoralShattered to false>>
<<set $ch2Events.safeSexualShattered to false>>
<<set $ch2Events.safeWorkShattered to false>>
<<set $ch2Events.safeOpened to false>>
<<set $ch2Events.moralCompassBroken to false>>
<<set $ch2Events.shelfCapRaised to false>>
<<set $ch2Events.vialsortPileIndex to 0>>
/* Sunday night shift — researchProgress is the cumulative count of resolved
reagent racks; sundayNightShiftDone gates the first-time mandate exposition
so subsequent Sundays play the short recurring intro. */
<<set $ch2Events.researchProgress to 0>>
<<set $ch2Events.lastResearchGain to 0>>
/* Day-keyed guard so "Foul the run" (the Psychic Domination hinder, research>=5)
spends + applies its -3 once per night shift. */
<<set $ch2Events.foulRunDay to -1>>
<<set $ch2Events.nightShiftHelpActive to false>>
<<set $ch2Events.nightShiftHelper to "">>
/* Threat-level bar (Sunday Night Shift). Tracks UNIQUE targets ever used as
night-shift scan helpers. Each key set true contributes 1/7 = ~14.3% of the
threat percentage. Denominator is 7 (Park, Reyes, Daniel, Sofia, Holloway,
Bowen, Halvorsen). Henderson is intentionally excluded. Bar becomes visible
after the first key lands. */
<<set $ch2Events.threatLevelHelpers to {}>>
<<set $ch2Events.sofiaScanRelayPending to false>>
<<set $ch2Events.sofiaScanRelayDay to 0>>
<<set $ch2Events.sofiaScanRelayDone to false>>
/* Set true by "A Channel, Through the Glass" once the player has witnessed
the grown bis-sibling feed on Sofia through the scan-channel. Gates future
sibling-rival content; the research bar tracks the sibling's growth. */
<<set $ch2Events.siblingManifested to false>>
<<set $ch2Events.danielScanRelayPending to false>>
<<set $ch2Events.danielScanRelayDay to 0>>
<<set $ch2Events.danielScanRelayDone to false>>
<<set $ch2Events.danielScanRelayWatched to false>>
<<set $ch2Events.danielScanRelayConditioned to false>>
<<set $ch2Events.bowenScanRelayPending to false>>
<<set $ch2Events.bowenScanRelayDay to 0>>
<<set $ch2Events.bowenScanRelayDone to false>>
<<set $ch2Events.bowenScanRelayWatched to false>>
<<set $ch2Events.bowenScanRelayConditioned to false>>
<<set $ch2Events.hollowayScanRelayPending to false>>
<<set $ch2Events.hollowayScanRelayDay to 0>>
<<set $ch2Events.hollowayScanRelayDone to false>>
<<set $ch2Events.hollowayScanRelayWatched to false>>
<<set $ch2Events.hollowayScanRelayConditioned to false>>
<<set $ch2Events.halvorsenScanRelayPending to false>>
<<set $ch2Events.halvorsenScanRelayDay to 0>>
<<set $ch2Events.halvorsenScanRelayDone to false>>
<<set $ch2Events.halvorsenScanRelayWatched to false>>
<<set $ch2Events.halvorsenScanRelayConditioned to false>>
/* Unified Park+Reyes wire — its rundown is the LAST channel event and
triggers the sibling endgame (authored later). */
<<set $ch2Events.fedsScanRelayPending to false>>
<<set $ch2Events.fedsScanRelayDay to 0>>
<<set $ch2Events.fedsScanRelayDone to false>>
/* GEN-47 bis awakening — endgame trigger, set when the feds are called
in on the last night-shift channel (point of no return). */
<<set $ch2Events.gen47BisAwakened to false>>
<<set $ch2Events.gen47BisEscaped to false>>
<<set $ch2Events.gen47BisFleeFired to false>>
<<set $ch2Events.gen47BisPickupFired to false>>
<<set $ch2Events.gen47BisNewHostDoris to false>>
<<set $ch3Entry to "">>
<<set $ch2Events.sundayNightShiftDone to false>>
/* Per-shift outcome flag the night-shift break room reads (set by the
vialsort win/fail routers). Day-keyed guards for the break-room skill
actions so the biomass spend / conditioning gain fire once per shift. */
<<set $ch2Events.sundayShiftRunAdvanced to false>>
<<set $ch2Events.sundayLureDay to 0>>
<<set $ch2Events.sundayDelveDay to 0>>
/* Night-shift Sofia chain: the break-room delve sets sundaySofiaDelved
(unlocks Emotional Manipulation); EM sets sundaySofiaEMFired (lights
the Relay-Sofia frame in the dream foyer). sundayEMDay is the EM
day-keyed spend guard. */
<<set $ch2Events.sundaySofiaDelved to false>>
<<set $ch2Events.sundaySofiaEMFired to false>>
<<set $ch2Events.sundayEMDay to 0>>
/* Daniel relay channel — opens when he narrates his romantic past on the
bold-Chen morning run; lights his frame on the dream Relay wall. */
<<set $ch2Events.danielRelayOpen to false>>
/* Daniel relay edits — Implant rewrites which Elena his body trusts and
schedules the bell-ring morning event two days out; Shatter is TBD. */
<<set $ch2Events.danielRelayImplant to false>>
<<set $ch2Events.danielRelayImplantDay to 0>>
<<set $ch2Events.danielRelayShatter to false>>
<<set $ch2Events.danielRelayShatterDay to 0>>
/* Daniel Shatter waking payoff — the morning after the Shatter, if Lensr is
set up, Daniel DMs "cannot stop thinking about you"; the host invites him
over on a three-minute clock and converts him in the shower. One-shot. */
<<set $ch2Events.danielShatterDmDone to false>>
<<set $ch2Events.danielShatterShowerDone to false>>
<<set $ch2Events.danielConverted to false>>
/* Daniel bell-ring — one-shot morning event two days after the relay
implant. Sets routineAccepted on the accept-path; the intel hint in the
morning-run event reads off routineAccepted. */
<<set $ch2Events.danielBellRingDone to false>>
<<set $ch2Events.danielBellRingDay to 0>>
<<set $ch2Events.danielRoutineAccepted to false>>
/* Bowen relay channel — opens when a biofilm residue is left on his bench
(Ch2-Vessel-Event-WorkBowenBench-Biofilm); lights his frame on the wall. */
<<set $ch2Events.bowenRelayOpen to false>>
<<set $ch2Events.bowenRelayFeminize to false>>
<<set $ch2Events.bowenRelayTakeBack to false>>
<<set $ch2Events.parkRelayOpen to false>>
<<set $ch2Events.reyesRelayOpen to false>>
/* Bowen submissive — set by the bench Emotional Manipulation option
(Ch2-Vessel-Event-WorkBowenBench-EM). Drives the bench belittle beat only.
The full sub/dom disposition (bench / lunch / escape-room variants and the
office, Lucy and alley scenes) is gated on the relay-frame SHATTER
(shatterMindBowenFired / shatterMindBowenAlphaFired), not this flag. */
<<set $ch2Events.bowenEMSubmissive to false>>
<<set $ch2Events.bowenBenchEMBelittleFired to false>>
<<set $ch2Events.bowenBenchEMBelittleSlipFired to false>>
/* Day-keyed: set when Psychic Domination clamps the edited circuit so Bowen
presents baseline for that day's check-in (routes to the normal branch). */
<<set $ch2Events.bowenBenchSuppressDay to -1>>
/* One-shot payoff flags for the two disposition office scenes. */
<<set $ch2Events.bowenSubOfficeFired to false>>
<<set $ch2Events.bowenDomServiceFired to false>>
/* Bowen bench biofilm — one-shot. Set when the BIOFILM option fires at
the bench in Ch2-Vessel-Event-WorkBowenBench-Biofilm. Once true the
option disappears from the bench panel (the residue is already in
place and re-applying it is redundant). */
<<set $ch2Events.bowenBenchBiofilmApplied to false>>
<<set $ch2Events.bowenBenchCheekKissFired to false>>
<<set $ch2Events.bowenBenchEstrusFired to false>>
<<set $ch2Events.bowenBenchEstrusBJFired to false>>
/* Parent-event entered flag for the Bowen bench. Set on first entry of
Ch2-Vessel-Event-WorkBowenBench. The journal reads this to surface
locked child-outcome cards (blind corner BJ, Estrus follow-up, etc.)
once the player has engaged with the docket, even before any specific
outcome has fired. Mirrors workVasquezDropbyEntered. */
<<set $ch2Events.workBowenBenchEntered to false>>
/* Bowen bench Lure — daily charge gate + channel selector. The Lure
passage day-keys via bowenBenchLureDay so it spends + conditions at
most once per day. The channel selector ("pheromone" / "psionic" /
"dream") is set by the Pheromone Specialization chooser and read
once by the Lure passage, then cleared. */
<<set $ch2Events.bowenBenchLureDay to 0>>
<<set $ch2Events.bowenBenchLureChannel to "">>
/* Bowen bench Lure → corner-BJ resolution. One-shot. Fires when the
chenBolder tongue-slip lands AND Bowen total conditioning is >= 24,
routing into Ch2-Vessel-Event-WorkBowenBench-Lure-CornerBJ. Awards
+2 biomass + 1 psionic + 1 pheromone (capped) and unlocks the
journal card. */
<<set $ch2Events.bowenLureCornerBJFired to false>>
/* Couch-porn escalation chain off the EveningWatchTV nudge. The porn
nudge unlocks once the shelf-L3 couch-masturbation payoff has been
seen; the Transfer Thought option unlocks once the porn nudge has
fired; couchPornHabit makes the couch nudge default to porn. */
<<set $ch2Events.couchMasturbationSeen to false>>
<<set $ch2Events.couchPornNudgeSeen to false>>
<<set $ch2Events.couchPornHabit to false>>
<<set $ch2Events.couchPornDay to 0>>
/* Return-target sentinel for Ch2-Vessel-Monday-CornerStore-DelveChildhood.
The Delve passage is shared between the Day 2 evening corner-store
encounter and the Saturday-Groceries Henderson chain, the back-link
reads this variable so it returns to the correct calling scene. */
<<set $ch2Events.delveReturnTarget to "Ch2-Vessel-Monday-CornerStore">>
/* Workday NPC-event rotation pointer. Cycles 0→1→2→3→0 across
non-Tuesday weekdays. 0=Vasquez, 1=Bowen, 2=HolloHalv, 3=Feds.
Each NPC event increments on fire. Tuesday's slot is owned by
the federal interview / hypothesis minigame — rotation does not
advance on those days. */
<<set $ch2Events.workNpcRotation to 0>>
/* Per-day "one workday NPC event already fired today" guard — set
to $day on entry to any NPC event so the others don't queue up
in series. Cleared implicitly by day-advance (the value falls
behind the new $day). */
<<set $ch2Events.workNpcDoneDay to -1>>
/* Bolder-Chen "skip the docket" NUDGE — day-keyed; when it equals $day the
work hub collapses to a bare LUNCH link (Ch2-Vessel-Loop-Work). */
<<set $ch2Events.workSkippedDay to 0>>
/* One-shot map for the lab-day T2/T3 NSFW scene-cards (work rotation +
lunch hub). Keyed by scene-id "<focus>-t<n>-<slug>"; a scene sets its
key true in its own _firstTimeHere guard, and the inline T2/T3 card
lists hide any key already true. Rotation/lunch passages lazy-init
this for older saves. */
<<set $ch2Events.workSceneFired to {}>>
/* HolloHalv T1 corridor — slip flag set true once Elena's tongue surfaces
the affair between Halvorsen and Holloway. Permanent (the secret stays
out of the bottle once Chen has named it). Future T2/T3 prose branches
on this flag for the changed register between all three. */
<<set $ch2Events.workHolloHalvAffairSlipFired to false>>
/* Lab Vessel — shower-event one-shot delve flag (Delve Host Memories
surfaces a body-memory in the warm water). Flips true after first use. */
<<set $ch2Events.showerHostMemoryDone to false>>
/* Lab Vessel — shower-event one-shot Memory Implant flag (the parasite
re-anchors the felt valence of the boys-in-the-doorway memory once
total Chen conditioning ≥ 13 and the delve has been done). Flips true
after first use. */
<<set $ch2Events.showerMemoryImplanted to false>>
/* ====================================================================
Lab Vessel — sequential lab-event chain flags.
Convention: each scripted lab event sets its own
`$ch2Events.<eventId>Done = true` flag on completion. The next event
in the chain checks the previous event's done-flag as part of its
prereq, alongside any calendar / threshold gates. This produces
story-beat chains the player advances by playing each beat in order
(often one beat per day).
Flags are initialised to `false` here so prereq checks can use
`=== true` / `!flag` cleanly without `undefined` triple-state issues.
Active chain so far:
driveToWorkDone — first-Tuesday in-car composure scene
fedTeamCheckinDone — first Reyes/Park interview (Loop-Work)
Add new chain flags here as new sequential lab events register.
==================================================================== */
<<set $ch2Events.driveToWorkDone to false>>
<<set $ch2Events.fedTeamCheckinDone to false>>
/* Federal interview sub-state — one-shots and skill-use trackers used
across the 5-passage interview flow + downstream events. */
<<set $ch2Events.fedInterviewSuspicionDelta to 0>>
<<set $ch2Events.parkAttractionRevealed to false>>
<<set $ch2Events.reyesImplantedRodent to false>>
<<set $ch2Events.fedInterviewParkLures to 0>>
<<set $ch2Events.fedInterviewDelvedReyes to false>>
<<set $ch2Events.fedInterviewDelvedPark to false>>
<<set $ch2Events.fedInterviewTransfer to false>>
/* Story flag — Chen has voluntarily given the federal team her personal
cell number. Set by the Q3 number-slip if the player triggers it; can
also be set by future scenes (corridor encounter with Park, leaving
the number on a desk, etc.) so multiple paths can unlock the
downstream "Park calls Chen after hours" event chain. */
<<set $ch2Events.chenNumberGivenToFeds to false>>
/* Counter — number of times Chen has shared a break-room snack with
Vasquez after a perfect-win on the work-phase minigames (hypothesis
on Tuesdays, data audit on Thursdays). Counter rather than boolean
because future Vasquez-side scenes prereq on threshold (e.g. invite
Chen over after >= 3 snacks). */
<<set $ch2Events.snackWithVasquezCount to 0>>
/* Snack-with-Vasquez per-day flags — gate the +2 biomass arrival
bonus + chit-chat / pheromone-lure sub-passages so they each fire
once per break (cleared on day-advance). */
<<set $ch2Events.snackArrivedToday to false>>
<<set $ch2Events.snackChitChatToday to false>>
<<set $ch2Events.snackLureToday to false>>
/* Lab Vessel route conditioning cap — applies to every non-Hoffman character
the parasite can condition on this route (Chen, Bowen, Daniel, future lab
colleagues). Starts at 4 (Tier-1 ceiling); raised globally to 7 once Chen
reaches a yet-to-be-built dream-progression milestone. Hoffman family
continues to use setup.houseTypeCap() (house-tier mechanic, unchanged). */
<<set $vesselCap to 4>>
<<set $behavioralIntel to $behavioralIntel or {}>>
<<set $behavioralIntel.chen to []>>
<<set $behavioralIntel.daniel to []>>
/* Lab Vessel — dream-kitchen tidy mod tracking. Each progress counter
advances 0->1->2->3 across multiple dream visits (one increment per
per-night per-item). At progress=3, that habit is fully rewritten in
waking life and a daily payoff fires:
- ashtray=3 -> +1 daily Drain Biomass charge
- sink=3 -> -1 Chen suspicion at every dawn AND nudges/tongue
slips no longer raise Chen suspicion (self-improvement
narrative absorbs them)
- stove=3 -> +2 biomass every dawn (cooked meals replace microwave)
counterProgress retained in schema for backwards-compat with old saves
but the counter dream-tidy item was scrapped in favor of merging its
self-narrative effect into sink=3. actionsThisNight + itemActedThisNight
gate the per-night cap (2 actions total per night, max 1 per item) —
both reset on each dream-entry. */
<<set $vesselMods to {
kitchen: {
ashtrayProgress: 0,
sinkProgress: 0,
stoveProgress: 0,
counterProgress: 0,
actionsThisNight: 0,
itemActedThisNight: { ashtray: false, sink: false, stove: false, counter: false }
}
}>>
/* Lab Vessel — daily-loop event dispatcher state. See
src/20-systems/event-dispatcher.twee for the full mechanic.
eventCooldowns — { eventId: dayLastFired }
eventResolvedToday — { eventId: true } cleared at day-advance
eventStoryFlags — { eventId: true } one-shot completion */
<<set $ch2Events.eventCooldowns to {}>>
<<set $ch2Events.eventResolvedToday to {}>>
<<set $ch2Events.eventStoryFlags to {}>>
/* Mod-namespace state. Every installed mod keeps its variables under
$mods["<mod-id>"] — the .hvmod import lint (Mods page) warns on writes outside it. */
<<set $mods to {}>>
/* Lab Vessel — dream-phase morning manifest queue. Each kitchen-tidy
edit done last night pushes its item id ('ashtray' / 'sink' /
'stove' / 'counter') here; the next morning's Loop-Wake hub fires
one event per queued id (one-shot per dream-edit), each rendering
the parasite's first-person Hivemind beat about the waking-life
manifestation. Cleared at day-advance after morning hub renders. */
<<set $ch2Events.dreamEditsToShow to []>>
/* Lab Vessel threat clocks. Lab suspicion is tracked via $suspicion.lab
which already exists from chapter 1 — it carries over into chapter 2
on this route, representing BioGenesis's awareness through the breach
and beyond. $labTerminationDay tracks the corporate decommission plan
advancing in the background. */
<<set $labTerminationDay to 0>>
/* Federal investigation passive tick. While active, +1 lab suspicion
fires on every day-advance (in Ch2-Vessel-DayAdvance, before the
game-over check). Future events that stall the investigation will
flip this off, or downgrade the tick to a smaller value. Per-day
visibility in the dawn report keys off $ch2Events.labInvestigationTickToday. */
<<set $ch2Events.labInvestigationActive to true>>
<<set $ch2Events.labInvestigationTickPerDay to 1>>
<<set $ch2Events.labInvestigationTickToday to 0>>
<<goto "AgeGate">><<nobr>><<bg "bg-lab">><</nobr>>
<div class="age-gate">
<div class="age-gate-hero">
<img class="age-gate-banner" src="media/scenes/title-banner.webp" alt="Project Hivemind">
<div class="age-gate-title">Project<br>Hivemind</div>
</div>
<div class="age-gate-warning">This game contains <strong>mature content</strong> including sexual themes, body horror, violence, and psychological manipulation.
It is intended for <strong>adults only (18+)</strong>.</div>
<div class="age-gate-action"><<link "I am 18 or older: Enter" "Prologue">><</link>></div>
</div><<nobr>>
<<set _meta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
<<set _resCount to 0>><<set _resrvCount to 0>><<set _insCount to 0>>
<<for _u range _meta.unlocked>>
<<if _u is "resilience">><<set _resCount += 1>><</if>>
<<if _u is "reserves">><<set _resrvCount += 1>><</if>>
<<if _u is "insight">><<set _insCount += 1>><</if>>
<</for>>
<</nobr>>
<<bg "bg-lab">>
<div class="passage-title" style="color:#a04ad9">Cycle Analysis Terminal</div>
<div class="lab-location">BioGenesis Research Facility · Containment Lab</div>
<div class="data-panel">
<div class="data-panel-title">CYCLE ANALYSIS — RESTRICTED</div>
<div>SUBJECT: Specimen #0 — "Genesis Sample"</div>\
<div>STATUS: <span class="data-status-error">CONTAINMENT BREACH</span></div>\
<div>GROWTH CYCLES LOGGED: <<= _meta.cycles >></div>\
<div>RESIDUAL ADAPTATION POINTS: <span style="color:#a04ad9; font-weight:700"><<= _meta.totalPoints >></span></div>
</div>
The screen pulses with data you shouldn't understand — but you //do//. Each line corresponds to something buried in your cells. Memories of past failures. Past deaths. Past //cycles//. The knowledge is already inside you; this terminal simply gives it shape.
<<say "char-hivemind" "Hivemind">>
//I've been here before. Not this body — not this moment — but //this//. The data proves it. Each death left a residue. Each cycle carved a deeper groove. I can feel the old adaptations stirring... waiting to be reclaimed.//
<</say>>
<<if _meta.totalPoints gte 3>>
<div class="network-choice"><span class="delve-tag delve-tag-network">3 CP</span> <<link "Resilience Protocol, +2 max suspicion threshold" "NGPlus-Buy">><<set $ngpBuy to "resilience">><<set $ngpCost to 3>><</link>><<if _resCount gt 0>> <span class="lock-hint">(Level <<= _resCount >>)</span><</if>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">locked</span> Resilience Protocol, +2 max suspicion threshold <span class="lock-hint">(Need 3 CP, have <<= _meta.totalPoints >>)</span><<if _resCount gt 0>> <span class="lock-hint">(Level <<= _resCount >>)</span><</if>></div>
<</if>>
<<if _meta.totalPoints gte 3>>
<div class="bio-choice"><span class="delve-tag delve-tag-bio">3 CP</span> <<link "Biomass Reserves, +3 max biomass" "NGPlus-Buy">><<set $ngpBuy to "reserves">><<set $ngpCost to 3>><</link>><<if _resrvCount gt 0>> <span class="lock-hint">(Level <<= _resrvCount >>)</span><</if>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">locked</span> Biomass Reserves, +3 max biomass <span class="lock-hint">(Need 3 CP, have <<= _meta.totalPoints >>)</span><<if _resrvCount gt 0>> <span class="lock-hint">(Level <<= _resrvCount >>)</span><</if>></div>
<</if>>
<<if _meta.totalPoints gte 3>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">3 CP</span> <<link "Neural Insight, +1 skill point at start" "NGPlus-Buy">><<set $ngpBuy to "insight">><<set $ngpCost to 3>><</link>><<if _insCount gt 0>> <span class="lock-hint">(Level <<= _insCount >>)</span><</if>></div>
<<else>>
<div class="locked-choice"><span class="lock-icon">locked</span> Neural Insight, +1 skill point at start <span class="lock-hint">(Need 3 CP, have <<= _meta.totalPoints >>)</span><<if _insCount gt 0>> <span class="lock-hint">(Level <<= _insCount >>)</span><</if>></div>
<</if>>
<div class="network-choice"><span class="delve-tag delve-tag-network">LOAD</span> <<link "Integrate cycle knowledge and disconnect" "NGPlus-Load">><</link>></div>
[[Step away without loading->Lab-Awakening]]<<nobr>>
<<set _meta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
<<if _meta.totalPoints gte $ngpCost>>
<<set _meta.totalPoints -= $ngpCost>>
<<set _meta.unlocked.push($ngpBuy)>>
<<run memorize("hivemind_meta", _meta)>>
<</if>>
<</nobr>>
<<goto "NGPlus-Shop">><<nobr>><<bg "bg-lab">>
<<set $permanentDone.ngpTerminalLoaded to true>>
<<set _meta to recall("hivemind_meta", { cycles: 0, totalPoints: 0, cyclePoints: 0, unlocked: [] })>>
/* Apply all purchased unlocks */
<<set _resCount to 0>><<set _resrvCount to 0>><<set _insCount to 0>>
<<for _u range _meta.unlocked>>
<<if _u is "resilience">><<set _resCount += 1>><</if>>
<<if _u is "reserves">><<set _resrvCount += 1>><</if>>
<<if _u is "insight">><<set _insCount += 1>><</if>>
<</for>>
<<if _resCount gt 0>><<set $suspicionMax += _resCount * 2>><</if>>
<<if _resrvCount gt 0>><<set $player.maxBiomass += _resrvCount * 3>><<set $player.biomass to $player.maxBiomass>><</if>>
<<if _insCount gt 0>><<set $player.skillPoints += _insCount>><</if>>
<</nobr>>
<div class="passage-title" style="color:#a04ad9">System Overload</div>
<div class="lab-location">BioGenesis Research Facility · Containment Lab</div>
The terminal flickers. Lines of data accelerate — scrolling faster than any human eye could follow. But you are not human. You absorb it all.
<<if _resCount gt 0>>
<span class="skill-used">Resilience Protocol loaded, +<<= _resCount * 2 >> max suspicion threshold</span>
<</if>>
<<if _resrvCount gt 0>>
<span class="skill-used">Biomass Reserves loaded, +<<= _resrvCount * 3 >> max biomass</span>
<</if>>
<<if _insCount gt 0>>
<span class="skill-used">Neural Insight loaded, +<<= _insCount >> skill point<<if _insCount gt 1>>s<</if>></span>
<</if>>
A surge of power floods through your cells — knowledge from past cycles, crystallised into biological advantage. The monitor sparks. The screen cracks down the centre, a thin line of smoke curling from the casing. The data is gone — but it's already inside you.
<<say "char-hivemind" "Hivemind">>
//The terminal is dead. But I carry every cycle's memory in my cells now. Every failure. Every adaptation. Every death that made me stronger. The machine was just a mirror — the power was always mine.//
<</say>>
[[Continue->Lab-Awakening]][[Status->Status]]
<<if $beastRoute is "symbiotic">>[[Network->Ch2-Beast-NetworkHub]]<</if>>
<<if $player and $player.skillPoints gt 0>><<link "Skill Tree <span class='menu-badge'><<= $player.skillPoints >> SP</span>">><<goto "SkillTree">><</link>><<else>>[[Skill Tree->SkillTree]]<</if>>
<<set _jCount to setup.countJournalEntries()>><<if _jCount gt ($journalLastSeen or 0)>><<link "Journal <span class='menu-badge menu-badge-journal'>NEW</span>">><<goto "Journal">><</link>><<else>>[[Journal->Journal]]<</if>>
<<if $player and $player.currentHost and $player.currentHost isnot "none" and $adaptations and $adaptations[$player.currentHost]>>
<<if $adaptations[$player.currentHost].points gt 0>><<link "Adaptations <span class='menu-badge menu-badge-host'><<= $adaptations[$player.currentHost].points >> AP</span>">><<goto "Adaptations">><</link>><<else>>[[Adaptations->Adaptations]]<</if>>
<</if>>
<<if $beastRoute is "symbiotic" and $hivemind and $hivemind.infected and $hivemind.infected.length gt 0>>[[Bestiary->Bestiary]]<</if>>
<<if $notificationLog and $notificationLog.length gt 0>>[[Log->NotificationLog]]<</if>>
/% Mods moved into the Status page (Mods section) — no longer a sidebar item. %/
/% Vessel sidebar actions — Lab Vessel route only, skill-tree gated.
IMPORTANT: SugarCube's StoryMenu strips non-link wrappers like <div>
from rendered output — the visible items are the <<link>> / [[link]]
macros only. Style any extra polish via CSS targeting the inserted
<a> tags' classes (e.g. anchor with menu-badge-vessel inside). %/
<<if setup.canShowDrainLink and setup.canShowDrainLink()>><<link "<span class='menu-badge menu-badge-vessel'>VESSEL</span> Drain Biomass" "Ch2-Vessel-Action-Drain">><</link>><</if>>/% GEN-47 bis research progress bar + threat-level bar.
Shows on every passage in the Sunday Night Shift chain
(Ch2-Vessel-Event-SundayNightShift*). Research tracks
$ch2Events.researchProgress, incremented by Vialsort-Win.
Threat tracks unique targets ever used as scan helpers via
$ch2Events.threatLevelHelpers (Daniel, Sofia, Holloway, Bowen,
Halvorsen's intern — the feds are EXCLUDED from the equation; their
call-in is the endgame unlock, gated on threat 100% + research
10/10). The threat bar only renders after at least one helper
has been used. %/
<<if State.passage.indexOf("Ch2-Vessel-Event-SundayNightShift") === 0>>\
<<set _rp to ($ch2Events.researchProgress or 0)>>\
<<set _rpMax to 10>>\
<<if _rp gt _rpMax>><<set _rp to _rpMax>><</if>>\
<<set _rpPct to Math.floor((_rp / _rpMax) * 100)>>\
<div class="research-progress-banner">
<div class="research-progress-label">GEN-47 bis · Research <<= _rp>>/<<= _rpMax>></div>
<div class="research-progress-track"><div class="research-progress-fill" @style="'width: ' + _rpPct + '%'"></div></div>
</div>
<<set _threatHelpers to $ch2Events.threatLevelHelpers or {}>>\
<<set _threatUsed to Object.keys(_threatHelpers).length>>\
<<if _threatUsed gt 0>>\
<<set _threatMax to 5>>\
<<if _threatUsed gt _threatMax>><<set _threatUsed to _threatMax>><</if>>\
<<set _threatPct to Math.floor((_threatUsed / _threatMax) * 100)>>\
<div class="threat-level-banner">
<div class="threat-level-label">Threat Level · <<= _threatPct>>%</div>
<div class="threat-level-track"><div class="threat-level-fill" @style="'width: ' + _threatPct + '%'"></div></div>
</div>
<</if>>\
<</if>><<bg "bg-status">>
<<link "Back to story">><<goto $menuReturn>><</link>> · <<link "⚡ Cheat Menu" "CheatMenu">><</link>>
<<set _status to $player.status or "dormant">>
<<if $player.currentHost isnot "none" and not $player.exposed>>
<<set _imgsrc to "media/portraits/host/host-" + $player.currentHost + ".status.webp">>
<<else>>
<<set _imgsrc to "media/portraits/hivemind/hivemind-" + _status + ".status.webp">>
<</if>>
<<set _hive to $hivemind or {}>>
<<set _desc to _hive.description or "">>
<<set _infected to _hive.infected or []>>
<div class="status-header-compact">
<img class="status-portrait-sm" @src="_imgsrc" alt="Hivemind">
<div class="status-header-right">
<h2 class="status-title">The Parasite</h2>
<div class="status-inline-stats">
<span class="status-chip"><span class="status-chip-label">Host</span> <<= $player.currentHost or "none" >></span>
<span class="status-chip"><span class="status-chip-label">Day</span> <<= $day >></span>
<span class="status-chip status-chip-bio"><span class="status-chip-label">Biomass</span> <<= $player.biomass >>/<<= $player.maxBiomass >></span>
<span class="status-chip"><span class="status-chip-label">Influence</span> <span class="status-value-influence"><<= setup.tierDisplayName($player.influenceTier) >></span></span>
<span class="status-chip"><span class="status-chip-label">Hosts</span> <<= $player.hosts >></span>
</div>
<div class="status-desc"><<print _desc>></div>
</div>
</div>
<<if $player.exposed>>
<div class="exposed-warning">EXPOSED, No host! Losing biomass each moment.</div>
<</if>>
/% Mods entry point. Moved here from the sidebar — the Mods manager (import,
enable/disable, authoring instructions) lives in the :: Mods passage. %/
<div class="status-section">
<h3 class="status-section-title">Mods</h3>
<p style="font-size:0.9em;color:#c8c8d8;margin:0 0 0.5em;">Load community-made scenes and content, or learn how to build your own.</p>
<<link "Open Mods Manager" "Mods">><</link>>
</div>
/% Host Conditioning (Lab Vessel route) — Chen's three conditioning bars,
placed near the top of the page so they sit alongside the parasite
header. Cap is 4 for now (early-route ceiling). Mirrors the StoryCaption
sidebar widget so the player has the same data in both places. %/
<<if $route is "labVessel" and $conditioning and $conditioning.chen>>
<div class="status-section">
<h3 class="status-section-title">Host Conditioning</h3>
<div style="margin-bottom:0.6em;">
<div style="font-size:0.85em; color:#d8e8d0; font-weight:600;">Chen</div>
<div class="conditioning-bars-container">
<<set _chenCap to setup.capFor("chen")>>
<<set _pheroVal to ($conditioning.chen.pheromone or 0)>>
<<set _dreamVal to ($conditioning.chen.dream or 0)>>
<<set _psiVal to ($conditioning.chen.psionic or 0)>>
<div class="conditioning-bars">
<<set _cPhero to Math.min(100, Math.round(_pheroVal * 100 / _chenCap))>>
<<set _cDream to Math.min(100, Math.round(_dreamVal * 100 / _chenCap))>>
<<set _cPsi to Math.min(100, Math.round(_psiVal * 100 / _chenCap))>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _cPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _cDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _cPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _pheroVal>>/<<= _chenCap>></span>
<span style="color:#4a90d9">Dream <<= _dreamVal>>/<<= _chenCap>></span>
<span style="color:#40bfbf">Psionic <<= _psiVal>>/<<= _chenCap>></span>
</div>
<div class="conditioning-total">Total <<= (_pheroVal + _dreamVal + _psiVal)>>/<<= (_chenCap * 3)>></div>
</div>
</div>
</div>
<</if>>
/% External Subjects — Lab Vessel route. Each named NPC the parasite has
conditioned via Chen at least once gets a bar block here. They are not
hosts (Chen is the only host on this route); they are downstream targets
the parasite reaches through Chen's interactions. Gate: only render when
total conditioning > 0 (the NPC stays invisible until first conditioning
fires). Same vessel cap as Chen via setup.capFor(). Add new NPCs to the
iteration list as the route reaches them. The whole section is hidden
until at least one NPC has been touched. %/
<<if $route is "labVessel" and $conditioning>>
<<set _anyNpcConditioned to false>>
<<for _checkName range ["bowen", "vasquez", "halvorsen", "holloway", "daniel"]>>
<<if $conditioning[_checkName] and (($conditioning[_checkName].pheromone or 0) + ($conditioning[_checkName].dream or 0) + ($conditioning[_checkName].psionic or 0)) gt 0>>
<<set _anyNpcConditioned to true>>
<</if>>
<</for>>
<<if _anyNpcConditioned>>
<div class="status-section">
<h3 class="status-section-title">External Subjects</h3>
<<for _npcName range ["bowen", "vasquez", "halvorsen", "holloway", "daniel"]>>
<<if $conditioning[_npcName]>>
<<set _npcPhero to ($conditioning[_npcName].pheromone or 0)>>
<<set _npcDream to ($conditioning[_npcName].dream or 0)>>
<<set _npcPsi to ($conditioning[_npcName].psionic or 0)>>
<<if (_npcPhero + _npcDream + _npcPsi) gt 0>>
<<set _npcCap to setup.capFor(_npcName)>>
<<set _npcProfilePassage to "Journal-Profile-" + _npcName.toUpperFirst()>>
<<set _npcDisplay to _npcName.toUpperFirst()>>
<<capture _npcProfilePassage, _npcDisplay>>
<div style="margin-bottom:0.6em;">
<div style="font-size:0.85em; color:#d8e8d0; font-weight:600;"><<link _npcDisplay _npcProfilePassage>><</link>></div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_npcPhero * 100 / _npcCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_npcDream * 100 / _npcCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_npcPsi * 100 / _npcCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _npcPhero>>/<<= _npcCap>></span>
<span style="color:#4a90d9">Dream <<= _npcDream>>/<<= _npcCap>></span>
<span style="color:#40bfbf">Psionic <<= _npcPsi>>/<<= _npcCap>></span>
</div>
<div class="conditioning-total">Total <<= (_npcPhero + _npcDream + _npcPsi)>>/<<= (_npcCap * 3)>></div>
</div>
</div>
<</capture>>
<</if>>
<</if>>
<</for>>
</div>
<</if>>
<</if>>
/% Lab Escape Status — only meaningful when the parasite actually escaped
the facility (Beast / Symbiotic routes). On Lab Vessel the parasite
anchored inside Chen and never left, so the "Escape" framing makes no
sense. The lab-suspicion clock for Vessel route is shown in the
StoryCaption sidebar instead. %/
<<if $labOutcome.rating and $route isnot "labVessel">>
<div class="status-section">
<h3>Lab Escape Status</h3>
<<if $labOutcome.rating is "Ghost">>
<div style="color:#4caf50;">Ghost, No trace left. BioGenesis doesn't know you escaped.</div>
<<elseif $labOutcome.rating is "Shadow">>
<div style="color:#d9a04a;">Shadow, Minor anomalies detected. They'll investigate, eventually.</div>
<<elseif $labOutcome.rating is "Noticed">>
<div style="color:#ff9800;">Noticed, Security footage flagged. Incident report filed. The clock is ticking.</div>
<<elseif $labOutcome.rating is "Hunted">>
<div style="color:#f44336;">Hunted, Full containment breach. Search teams mobilized. They're coming.</div>
<</if>>
</div>
<</if>>
<<if $player.currentHost isnot "none" and $adaptations and $adaptations[$player.currentHost]>>
<div class="status-section">
<h3>Host Control, <<= $player.currentHost.toUpperFirst() >></h3>
<div class="status-grid" style="grid-template-columns: 1fr 1fr;">
<div class="status-stat"><span class="status-label">Neural Integration</span><span class="status-value" style="color:#4caf50;">Strong</span></div>
<div class="status-stat"><span class="status-label">Host Resistance</span><span class="status-value"><<if $adaptations and $adaptations[$player.currentHost] and $adaptations[$player.currentHost].unlocked.includes("compliance")>><span style="color:#4caf50;">Suppressed</span><<else>><span style="color:#d9a04a;">Active</span><</if>></span></div>
</div>
<<if $adaptations and $adaptations[$player.currentHost]>>
<div style="margin-top:0.3em;font-size:0.85em;color:#e0a030;">Adaptation Points: <<= $adaptations[$player.currentHost].points >></div>
<</if>>
</div>
<</if>>
<<if _infected.length gt 0>>
<div class="status-section">
<h3 class="status-section-title">Infected Hosts</h3>
<ul class="status-infected-list">
<<for _host range _infected>><li><<print _host>></li><</for>>
</ul>
</div>
<</if>>
<details class="status-section status-accordion">
<summary class="status-accordion-summary">
<h3 class="status-section-title">Parasite Skills <span class="status-tag">(permanent)</span></h3>
</summary>
<<if $player.parasiteSkills and $player.parasiteSkills.length gt 0>>
<<for _ability range $player.parasiteSkills>>
<<if _ability.unlocked>>
<div class="skill-card">
<div class="skill-card-header">
<span class="skill-card-name"><<= _ability.name >></span>
<<if _ability.cost>><span class="skill-card-cost"><<= _ability.cost >> bio</span><</if>>
<span class="skill-card-type"><<= _ability.type >></span>
</div>
<div class="skill-card-desc"><<= _ability.desc >></div>
</div>
<</if>>
<</for>>
<<else>>
<div class="grimoire-empty">(No parasite skills)</div>
<</if>>
</details>
<details class="status-section status-accordion">
<summary class="status-accordion-summary">
<h3 class="status-section-title">Host Skills <span class="status-tag status-tag-host">(<<= $player.currentHost or "no host" >>)</span></h3>
</summary>
<<if $player.hostSkills and $player.hostSkills.length gt 0>>
<<for _skill range $player.hostSkills>>
<div class="skill-card skill-card-host">
<div class="skill-card-header">
<span class="skill-card-name"><<= _skill.name >></span>
<<if _skill.cost>><span class="skill-card-cost"><<= _skill.cost >> bio</span><</if>>
<span class="skill-card-type"><<= _skill.type >></span>
</div>
<div class="skill-card-desc"><<= _skill.desc >></div>
</div>
<</for>>
<<else>>
<div class="grimoire-empty">(No host, no inherited skills)</div>
<</if>>
</details>
/* Infestation Bestiary — only show areas the player has reached */
<div class="status-section">
<h3 class="status-section-title">Infestation Targets</h3>
<<for _areaKey, _areaVal range setup.areaData>>
<<if setup.bestiaryData[_areaKey]>>
/* Gate by chapter: lab always visible, hoffmanHouse only in ch2+ and not on Lab Vessel route */
<<if _areaKey is "lab" or ($chapter gte 2 and _areaKey is "hoffmanHouse" and $route isnot "labVessel")>>
<div class="bestiary-area">
<div class="bestiary-area-name"><<= _areaVal.name >></div>
<div class="bestiary-grid">
<<for _target range setup.bestiaryData[_areaKey]>>
<<if $discovered[_target.id]>>
<<set _wasInfested to $infested[_target.id] or false>>
<<set _portrait to _target.portrait>>
/% Conditioning-driven portrait swap only applies to Hoffman-family
members — they have per-id portrait directories (karen/, dale/,
megan/, jess/, ryan/) with conditioning-variant thumbs. Chen,
Frank, animal hosts, etc. live elsewhere and use their fixed
_target.portrait. %/
<<set _hasVariantDir to ["karen","dale","megan","jess","ryan"].indexOf(_target.id) gte 0>>
<<if _hasVariantDir and $conditioning and $conditioning[_target.id]>>
<<set _portrait to 'media/portraits/' + _target.id + '/' + _target.id + '-' + setup.getPortraitVariant(_target.id) + '.thumb.webp'>>
<</if>>
<div @class="'bestiary-card' + (_wasInfested ? ' bestiary-card-infested' : ' bestiary-card-discovered')">
<img class="bestiary-portrait" @src="_portrait" @alt="_target.name">
<div class="bestiary-name"><<= _target.name >></div>
<<if _wasInfested>><div class="bestiary-tag bestiary-tag-infested">INFESTED</div><</if>>
</div>
<<else>>
<div class="bestiary-card bestiary-card-unknown">
<div class="bestiary-portrait-unknown">?</div>
<div class="bestiary-name">???</div>
</div>
<</if>>
<</for>>
</div>
</div>
<</if>>
<</if>>
<</for>>
</div>
/* Family Conditioning — visible in chapter 2+, hidden on Lab Vessel route (Chen bars live in StoryCaption) */
<<if $chapter gte 2 and $conditioning and $route isnot "labVessel">>
<div class="status-section">
<h3 class="status-section-title">Family Conditioning</h3>
<<for _memberName range ["karen", "dale", "megan", "jess", "ryan"]>>
<<if $conditioning[_memberName]>>
<div style="margin-bottom:0.6em;">
<div style="font-size:0.85em; color:#d8e8d0; font-weight:600;"><<= _memberName.toUpperFirst() >></div>
<div class="conditioning-bars-container">
<<set _houseCap to setup.houseTypeCap()>>
<<set _pheroVal to ($conditioning[_memberName].pheromone or 0)>>
<<set _dreamVal to ($conditioning[_memberName].dream or 0)>>
<<set _psiVal to ($conditioning[_memberName].psionic or 0)>>
<div class="conditioning-bars">
<<set _cPhero to Math.min(100, Math.round(_pheroVal * 100 / _houseCap))>>
<<set _cDream to Math.min(100, Math.round(_dreamVal * 100 / _houseCap))>>
<<set _cPsi to Math.min(100, Math.round(_psiVal * 100 / _houseCap))>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _cPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _cDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _cPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _pheroVal>>/<<= _houseCap>></span>
<span style="color:#4a90d9">Dream <<= _dreamVal>>/<<= _houseCap>></span>
<span style="color:#40bfbf">Psionic <<= _psiVal>>/<<= _houseCap>></span>
</div>
<div class="conditioning-total">Total <<= (_pheroVal + _dreamVal + _psiVal)>>/<<= (_houseCap * 3)>></div>
<<conditioningCapHint _memberName>>
</div>
</div>
<</if>>
<</for>>
</div>
<</if>>
/* Household Schedule — visible after discovering the kitchen fridge; hidden on Lab Vessel route */
<<if $house and $house.roomsExplored and $house.roomsExplored.kitchen and $route isnot "labVessel">>
<div class="status-section">
<h3 class="status-section-title">Household Schedule <span class="status-tag">(from the fridge)</span></h3>
<div class="schedule-container">
<img class="schedule-image" src="media/scenes/hoffman-schedule-placeholder.webp" alt="Hoffman family schedule on the fridge">
<div class="schedule-fallback">
<div class="data-panel">
<div class="data-panel-title">Hoffman Family Schedule</div>
<p><b>Dale</b>, Night security (BioGenesis), home by 5 AM, sleeps until 2 PM</p>
<p><b>Karen</b>, WFH (accounting), up at 6 AM, meetings at 9</p>
<p><b>Jess</b>, Spring break, studying for midterms, irregular hours</p>
<p><b>Megan</b>, Classes MWF, coffee shop shift Tu/Th/Sat, alarm 6:30 AM</p>
<p><b>Ryan</b>, "????" <i>(written in Karen's handwriting with a frowning face)</i></p>
</div>
</div>
</div>
</div>
<</if>><<bg "bg-status">>
<<link "Back to story">><<goto $menuReturn>><</link>>
<div class="skilltree-page-title">Skill Tree</div>
<div class="skilltree-summary">
Skill Points: <span class="skilltree-points"><<= $player.skillPoints >></span>
<span class="skilltree-stats">(<<= $player.totalSkillsUnlocked or 0 >> unlocked / <<= $player.totalSkillPointsUsed or 0 >> SP spent)</span>
</div>
<div class="skilltree-columns"><<for _branch range setup.getDisplayBranches()>><div @class="'skilltree-col skilltree-col-' + _branch.id"><div class="skilltree-col-header"><<= _branch.name >></div><div class="skilltree-col-desc"><<= _branch.desc >></div><div class="skilltree-col-skills"><<set _hasSkills to false>><<for _skill range $player.skillTree>><<if _skill.branch is _branch.id and not _skill.hidden>><<set _hasSkills to true>><<set _renderSkill to _skill>><<include "SkillTree-Card">><</if>><</for>><<if not _hasSkills>><div class="skilltree-skill-empty">Undiscovered</div><</if>></div></div><</for>></div><<bg "bg-status">>
<<unlockSkillTreeAbility $skillToUnlock>>
<<goto "SkillTree">><<nobr>>
<<if _renderSkill.unlocked>>
<div class="skilltree-skill skilltree-skill-unlocked">
<div class="skilltree-skill-header">
<span class="skilltree-skill-name"><<= _renderSkill.name >></span>
<span class="skilltree-skill-cost"><<= _renderSkill.cost >> bio</span>
</div>
<div class="skilltree-skill-desc"><<= _renderSkill.desc >></div>
<div class="skilltree-skill-type"><<= _renderSkill.type >></div>
</div>
<<else>>
<<set _prereqMet to true>>
<<if _renderSkill.requires>>
<<if Array.isArray(_renderSkill.requires)>>
/* Apex skill — requires ALL listed skills */
<<for _reqName range _renderSkill.requires>>
<<set _thisReqMet to false>>
<<for _check range $player.skillTree>>
<<if _check.name is _reqName and _check.unlocked>><<set _thisReqMet to true>><</if>>
<</for>>
<<if not _thisReqMet>><<set _prereqMet to false>><</if>>
<</for>>
<<else>>
<<set _prereqMet to false>>
<<for _check range $player.skillTree>>
<<if _check.name is _renderSkill.requires and _check.unlocked>>
<<set _prereqMet to true>>
<</if>>
<</for>>
<</if>>
<</if>>
<<if _renderSkill.spCost is 0>>
/* Story-granted ability — cannot be purchased */
<div class="skilltree-skill skilltree-skill-locked">
<div class="skilltree-skill-header">
<span class="skilltree-skill-name"><<= _renderSkill.name >></span>
<span class="skilltree-skill-cost">Story</span>
</div>
<div class="skilltree-skill-desc"><<= _renderSkill.desc >></div>
<div class="skilltree-skill-req">Discovered through story events</div>
</div>
<<elseif _prereqMet and $player.skillPoints gte _renderSkill.spCost>>
<div class="skilltree-skill skilltree-skill-available">
<div class="skilltree-skill-header">
<span class="skilltree-skill-name"><<= _renderSkill.name >></span>
<span class="skilltree-skill-cost"><<= _renderSkill.spCost >> SP</span>
</div>
<div class="skilltree-skill-desc"><<= _renderSkill.desc >></div>
<<capture _renderSkill>>
<<link "Unlock">>
<<set $skillToUnlock to _renderSkill.name>>
<<goto "SkillTree-Unlock">>
<</link>>
<</capture>>
</div>
<<else>>
<div class="skilltree-skill skilltree-skill-locked">
<div class="skilltree-skill-header">
<span class="skilltree-skill-name"><<= _renderSkill.name >></span>
<span class="skilltree-skill-cost"><<= _renderSkill.spCost >> SP</span>
</div>
<div class="skilltree-skill-desc"><<= _renderSkill.desc >></div>
<<if not _prereqMet>>
<div class="skilltree-skill-req">Requires: <<= Array.isArray(_renderSkill.requires) ? _renderSkill.requires.join(" + ") : _renderSkill.requires >></div>
<<else>>
<div class="skilltree-skill-req">Need <<= _renderSkill.spCost >> SP</div>
<</if>>
</div>
<</if>>
<</if>>
<</nobr>><<bg "bg-status">>
<<link "Back to story">><<goto $menuReturn>><</link>>
<div class="passage-title">Bestiary</div>
<div class="status-section">
<<if $hivemind and $hivemind.infected and $hivemind.infected.length gt 0>>
/* Iterate bestiaryData areas → entries, show only infested ones */
<<set _anyShown to false>>
<<for _areaKey, _areaHosts range setup.bestiaryData>>
<<for _entry range _areaHosts>>
<<capture _entry, _areaKey>>
<<if $infested[_entry.id]>>
<<set _anyShown to true>>
<<set _data to setup.creatureData[_entry.id]>>
<div class="data-panel" style="margin-bottom:0.8em;">
<div class="data-panel-title"><<= _entry.name >></div>
<<if _data>>
<p><span class="status-label">Type:</span> <<= _entry.id.toUpperFirst() >> (<<= _data.category >>)<br>
<span class="status-label">Location:</span> <<= setup.areaData[_areaKey].name >><br>
<span class="status-label">Tier Required:</span> <<= setup.tierDisplayName(_data.influence) >><br>
<span class="status-label">Biomass Yield:</span> <<= _data.biomassYield >></p>
<<if _data.traits and _data.traits.length gt 0>>
<p><span class="status-label">Absorbable Traits:</span><br>
<<for _t range _data.traits>>
, <b><<= _t.name >></b>: <<= _t.desc >><br>
<</for>>
</p>
<</if>>
<</if>>
<<if $player.currentHost is _entry.id>>
<span style="color:#4caf50;">★ Currently infested</span>
<</if>>
</div>
<</if>>
<</capture>>
<</for>>
<</for>>
<<if not _anyShown>>
/* Fallback: show infected names without detail if $infested map wasn't populated */
<<for _hostName range $hivemind.infected>>
<div class="data-panel" style="margin-bottom:0.8em;">
<div class="data-panel-title"><<= _hostName >></div>
</div>
<</for>>
<</if>>
<<else>>
<div class="data-panel-muted">No hosts infested yet.</div>
<</if>>
</div>
<div style="margin-top:1em;font-size:0.8em;color:#666;">
Hosts infested: <<= $hivemind.infected.length >> | Influence: <<= setup.tierDisplayName($player.influenceTier) >>
</div><<bg "bg-status">>
<<set $journalLastSeen to setup.countJournalEntries()>>
<<if not $journalCatSeen>><<set $journalCatSeen to { lab: 0, hoffman: 0, ops: 0, bio: 0, vessel: 0 }>><</if>>
<<link "Back to story">><<goto $menuReturn>><</link>>
<<link "Intel Journal">><<goto "Journal">><</link>>
<div class="perks-page-title" style="color:#4a90d9">Intel Journal</div>
/* Calculate entry counts for each card */
<<set _labCount to 0>>
<<if $labIntel>><<for _k, _v range $labIntel>><<if _v>><<set _labCount += 1>><</if>><</for>><</if>>
<<if $labMapSeen>><<set _labCount += 1>><</if>>
<<if $labCalendarSeen>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.chenSurface>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.vasquezSurface>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.guardSurface>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratCorridor>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratLoadingDock>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.scientists>><<set _labCount += 1>><</if>>
<<if $delveInfo and $delveInfo.loadingDock>><<set _labCount += 1>><</if>>
<<if $labOutcome and $labOutcome.rating>><<set _labCount += 1>><</if>>
<<if $discovered and $discovered.frank>><<set _labCount += 1>><</if>>
<<if $labIntel and $labIntel.monitorData>><<set _labCount += 1>><</if>>
<<if $labIntel and $labIntel.equipmentStudied>><<set _labCount += 1>><</if>>
<<if $labIntel and $labIntel.ventConversation>><<set _labCount += 1>><</if>>
<<set _hoffmanCount to 0>>
<<if $chapter gte 2>>
<<if $house and $house.entered>><<set _hoffmanCount += 1>><</if>>
/* Household Intel */
<<if $ch2Events and $ch2Events.morningObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.bathroomObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.fuseBoxMapped>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonDoorbell>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedKitchenTrash>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedAtticSecrets>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonIntro>><<set _hoffmanCount += 1>><</if>>
/* Dale */
<<if $delveInfo and $delveInfo.dale>><<set _hoffmanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.daleCar>><<set _hoffmanCount += 1>><</if>>
<<if $house and $house.familyIntel and $house.familyIntel.daleCarDelved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedDalePhotos>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedBiscuitCollar>><<set _hoffmanCount += 1>><</if>>
/* Karen */
<<if $delveInfo and $delveInfo.karen>><<set _hoffmanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.karenDeep>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenDreamHarvested>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenNightObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenBathroomObservedNSFW>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedKarenLaptop>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.foundMeds>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.checkedMedicineCabinet>><<set _hoffmanCount += 1>><</if>>
/* Megan */
<<if $delveInfo and $delveInfo.megan>><<set _hoffmanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.meganDeep>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.meganNightObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.meganBathroomObservedNSFW>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedMeganVanity>><<set _hoffmanCount += 1>><</if>>
<<if $labIntel and $labIntel.meganPsychEval>><<set _hoffmanCount += 1>><</if>>
/* Jess */
<<if $delveInfo and $delveInfo.jess>><<set _hoffmanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.jessDeep>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessNightObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessBathroomObservedNSFW>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedJessTuition>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.readJournal>><<set _hoffmanCount += 1>><</if>>
/* Ryan */
<<if $delveInfo and $delveInfo.ryan>><<set _hoffmanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ryanDeep>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.ryanNightObserved>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedRyanDiscord>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedRyanCloset>><<set _hoffmanCount += 1>><</if>>
/* Behavioral intel (adaptation-discovered) */
<<if $behavioralIntel>><<for _biMember range ["karen", "megan", "jess", "ryan", "dale"]>><<if $behavioralIntel[_biMember]>><<for _biKey, _biVal range $behavioralIntel[_biMember]>><<if _biVal>><<set _hoffmanCount += 1>><</if>><</for>><</if>><</for>><</if>>
/* Dream harvest — Ryan and Megan */
<<if $ch2Events and $ch2Events.meganDreamHarvested>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.ryanDreamHarvested>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessDreamHarvested>><<set _hoffmanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.dreamTier1Dale>><<set _hoffmanCount += 1>><</if>>
<</if>>
/* Hoffman card "entries" = unlocked SCENE cards only (not intel). This list MUST mirror
the scene-card flags rendered in src/10-src/menu-options/journal/hoffman.twee. Drift is
caught at build time by scripts/lint-journal-counter.py (run in build.sh): add a card
there without adding its flag here and the build reports it as MISSING. Intel is shown
separately on the card via the ledger (Intel N/5). */
<<set _hoffmanScenes to 0>>
<<if $chapter gte 2>>
<<set _hsE to $ch2Events or {}>>
<<set _hsP to $permanentDone or {}>>
<<for _hf range ["karenSoloNSFW","emManipKaren","karenDreamHarvested","karenOralNSFW","karenSexNSFW","karenDaleReunion","pheroCoatKaren","daleSporeReconnectApplied","daleCamilaBuried","dreamTier1Dale","dreamTier2Dale","dreamTier3Dale","dreamTier1Karen","dreamTier2Karen","dreamTier3Karen","dreamTier1Ryan","dreamTier2Ryan","dreamTier3Ryan","dreamTier1Megan","dreamTier2Megan","dreamTier3Megan","dreamTier1Jess","dreamTier2Jess","dreamTier3Jess","jessSoloNSFW","jessMethodNSFW","meganSoloNSFW","meganTouchNSFW","meganOralNSFW","meganSexNSFW","meganShowerNSFW","meganSlutMorningSeen","meganMarcusMorningSeen","ryanSoloNSFW","ryanSporeMegan","gardenPrivateMegan","gardenPrivateJessBreakdown","gardenPrivateJessPunk","pheroCoatJessBreakdown","pheroCoatJessPunk","hormOverrideJess","hormOverrideJessPunk","hormOverrideJessBreakdown","hormOverrideMegan","tabooKarenRyanDone","tabooKarenMeganDone","libKarenKitchenSeen","jessMeganKissPunk","jessMeganKissBreakdown","karenMorningT2Seen","daleMorningT2Seen","jessPunkMorningSeen","jessBreakdownMorningSeen","ryanMorningFemSeen","ryanMorningFamSeen","warmBodyRyanFem","warmBodyRyanFam","surrenderJessPunk","surrenderJessBreakdown","ryanEmDadSeen","ryanEmFam"]>><<if _hsE[_hf]>><<set _hoffmanScenes += 1>><</if>><</for>>
<<for _hf range ["karenStranger1","karenStranger2","karenStranger3","karenDom2","karenDom3NSFW","karenFuta1","karenFuta2","karenFuta3","kinkKarenExhib","kinkKarenBondage","kinkKarenDenial","kinkKarenPenetration","convergenceKaren","daleCuck3NSFW","daleFrankDinnerNSFW","daleCamilaFutaNSFW","kinkDaleChastity","kinkDaleSomnophilia","eiPantryNSFWDone","eiWashNSFWDone","jessBreak1","jessBreak2","jessBreak3NSFW","jessBrat1","jessBand1","jessVoyeurSeen","jessStallReplySeen","jessTaboo3","meganMarcus1","meganMarcus2","meganMarcus3NSFW","meganMarcusFacial","meganKinkPublic","meganPublicSex1","meganPublicSex2","meganGangbang1","meganGangbang2","meganKinkOral","meganCatPraise","meganCatRough","meganCatPublicSex","meganCatGangbang","meganTaboo3","convergenceMegan","ryanFem1","ryanFem2","ryanFem3NSFW","ryanFemFull","ryanKinkCamgirl","ryanKinkCumEat","ryanKinkScent","ryanKinkWatched","karenMemDomSeen","karenMemLibSeen","karenMemMorningSeen","ryanMemFemSeen","ryanMemFamSeen","meganMemMarcusSeen","meganMemSlutSeen","jessMemPunkSeen","jessMemBreakdownSeen","jessMemMorningSeen"]>><<if _hsP[_hf]>><<set _hoffmanScenes += 1>><</if>><</for>>
<</if>>
<<set _opsCount to 0>>
<<if $chapter gte 2>>
<<if $house and $house.basementUnlocked>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.carKeysObtained>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenSleepEnhanced>><<set _opsCount += 1>><</if>>
<<if $geckoHitchhike and $geckoHitchhike.explored and $geckoHitchhike.explored.coffeeShop>><<set _opsCount += 1>><</if>>
<<if $geckoHitchhike and $geckoHitchhike.explored and $geckoHitchhike.explored.university>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.dogFenceScout>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonScouted>><<set _opsCount += 1>><</if>>
<<if $beastRoute is "symbiotic" and $animalNetwork and Object.keys($animalNetwork.hosts).length gt 0>><<set _opsCount += 1>><</if>>
/* Host Memories */
<<if $delveInfo and $delveInfo.catHostMemories>><<set _opsCount += 1>><</if>>
<<if $delveInfo and $delveInfo.dogHostMemories>><<set _opsCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratHostMemories>><<set _opsCount += 1>><</if>>
<<if $delveInfo and $delveInfo.geckoHostMemories>><<set _opsCount += 1>><</if>>
/* Operations Discovered */
<<if $operationsDiscovered and $operationsDiscovered.mailIntercept>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.evidencePlant>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.pantryPoison>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.washingMachine>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.nightHarvest>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.screenPuppetry>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.phoneIntercept>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.showerTrap>><<set _opsCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.prescriptionManip>><<set _opsCount += 1>><</if>>
/* Tier 3 apex ops — each completed op adds an entry to the Operations journal category */
<<if $houseState and $houseState.bossInfiltrated>><<set _opsCount += 1>><</if>>
<<if $houseState and $houseState.cumshareRitualHeld>><<set _opsCount += 1>><</if>>
<<if $houseState and $houseState.hvacCompromised>><<set _opsCount += 1>><</if>>
<<if $houseState and $houseState.nestBuilt>><<set _opsCount += 1>><</if>>
<</if>>
<<set _bioCount to 0>>
<<if $delveInfo and $delveInfo.basementWorkshop>><<set _bioCount += 1>><</if>>
<<if $delveInfo and $delveInfo.daleCar>><<set _bioCount += 1>><</if>>
<<if $delveInfo and $delveInfo.dale>><<set _bioCount += 1>><</if>>
/* Lab Vessel — Chen's-route event journal (currently the sushi night). */
<<set _vesselCount to 0>>
<<if $ch2Events>>
/* A started event is itself a journal entry, even before any outcome is reached */
<<if $ch2Events.morningRunFirstDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiEntered or $ch2Events.hollohalvSushiFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksEntered or $ch2Events.fedsDrinksFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.clubNightFirstDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.clubNightAlphaHomeDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.bowenWakeupDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.bowenBreakfastDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.bowenRunReturnDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.bowenShowerDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.lucyWakeupDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.lucyBreakfastDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.lucyRunDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.lucyShowerDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.sofiaJakeNight>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.elenaJakeNight>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.tier3Unlocked>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-em']>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-override-bathroom']>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t3-shatter']>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedtableImplant>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.lunchOrgyFired>><<set _vesselCount += 1>><</if>>
<<if $vesselImplants>><<for _k, _v range $vesselImplants>><<if _v>><<set _vesselCount += 1>><</if>><</for>><</if>>
<<if $ch2Events.sofiaRelayImplant>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiGoodbyeKissed>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiBathroomAftermathFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiChenBJFired or $ch2Events.hollohalvSushiChenHalvFullFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiThreesomeFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.hollohalvSushiOrgyFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.morningRunDanielFlashedEver>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.morningRunDanielTreesEverFired>><<set _vesselCount += 1>><</if>>
<<if ($ch2Events.morningRunDanielLickedDay or 0) gt 0>><<set _vesselCount += 1>><</if>>
<<if ($ch2Events.morningRunWoodsFuckDay or 0) gt 0>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksParkKissFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksParkBJFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksParkFullSexFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksReyesParkWatchFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksThreesomeFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksOrgyFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksSofiaParkFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksReyesAlleyFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fedsDrinksFoursomeFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.fantasizeCocksEverFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.sofiaShatterFollowupDone>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS2KillEverFired or $ch2Events.dndS2Outcome is "girlfriend">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS2SlutEverFired or $ch2Events.dndS2Outcome is "slut">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS3KillEverFired or $ch2Events.dndS3Outcome is "girlfriend">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS3SlutEverFired or $ch2Events.dndS3Outcome is "slut">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS4KillEverFired or $ch2Events.dndS4Outcome is "girlfriend">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndS4SlutEverFired or $ch2Events.dndS4Outcome is "slut">><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndPostDanielEverFired>><<set _vesselCount += 1>><</if>>
<<if $ch2Events.dndPostOrgyEverFired>><<set _vesselCount += 1>><</if>>
<</if>>
<<computeIntel _hoffmanCount>>
<<if _labCount gt 0 or _hoffmanCount gt 0 or _opsCount gt 0 or _vesselCount gt 0>>
<div class="journal-categories">
<<if _labCount gt 0>>
<div class="journal-cat-card journal-cat-lab">
<div class="journal-cat-icon">🧬</div>
<<if _labCount gt ($journalCatSeen.lab or 0)>><span class="menu-badge menu-badge-journal" style="position:absolute;top:0.3em;right:0.3em;">NEW</span><</if>>
<div class="journal-cat-body">
<<link '<span class="journal-cat-title">Research Laboratory</span><br><span class="journal-cat-desc">Origin, personnel, facility layout, psionic reads</span>' "Journal-Lab">><<set $journalCatSeen.lab to _labCount>><</link>>
</div>
<div class="journal-cat-count"><<= _labCount >> entries</div>
</div>
<</if>>
<<if $house and $house.entered and _hoffmanCount gt 0 and not $hendersonRoute>>
<div class="journal-cat-card journal-cat-hoffman">
<div class="journal-cat-icon">🏠</div>
<<if _hoffmanCount gt ($journalCatSeen.hoffman or 0)>><span class="menu-badge menu-badge-journal" style="position:absolute;top:0.3em;right:0.3em;">NEW</span><</if>>
<div class="journal-cat-body">
<<link '<span class="journal-cat-title">Hoffman Family</span><br><span class="journal-cat-desc">Scenes, family profiles, household intel</span>' "Journal-Hoffman">><<set $journalCatSeen.hoffman to _hoffmanCount>><</link>>
</div>
<div class="journal-cat-count"><<= _hoffmanScenes >> <<if _hoffmanScenes is 1>>scene<<else>>scenes<</if>></div>
<div class="journal-cat-count">🧠 Intel <<= ($intelDiscovered or 0) % 5>>/5</div>
</div>
<</if>>
<<if _opsCount gt 0>>
<div class="journal-cat-card journal-cat-ops">
<div class="journal-cat-icon">🕸</div>
<<if _opsCount gt ($journalCatSeen.ops or 0)>><span class="menu-badge menu-badge-journal" style="position:absolute;top:0.3em;right:0.3em;">NEW</span><</if>>
<div class="journal-cat-body">
<<link '<span class="journal-cat-title">Operations</span><br><span class="journal-cat-desc">Network, external locations, house operations</span>' "Journal-Operations">><<set $journalCatSeen.ops to _opsCount>><</link>>
</div>
<div class="journal-cat-count"><<= _opsCount >> entries</div>
</div>
<</if>>
/* BioGenesis Trail journal category retired — its facility intel folds into the Hoffman collector (Dale, Stage 2). */
<<if _vesselCount gt 0>>
<div class="journal-cat-card journal-cat-vessel">
<div class="journal-cat-icon">🗓</div>
<<if _vesselCount gt ($journalCatSeen.vessel or 0)>><span class="menu-badge menu-badge-journal" style="position:absolute;top:0.3em;right:0.3em;">NEW</span><</if>>
<div class="journal-cat-body">
<<link '<span class="journal-cat-title">Chen’s Days</span><br><span class="journal-cat-desc">Social, lab and evening events on the Lab Vessel route</span>' "Journal-Vessel">><<set $journalCatSeen.vessel to _vesselCount>><</link>>
</div>
<div class="journal-cat-count"><<= _vesselCount >> entries</div>
</div>
<</if>>
</div>
<<else>>
<div class="data-panel-muted">No intelligence gathered yet. Explore and use Delve abilities to learn about the world.</div>
<</if>><<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<h2 style="color:#ff9800; border-bottom: 1px solid #ff9800;">RESEARCH LABORATORY</h2>
/* ===== ORIGIN ===== */
<<set _originCount to 0>><<set _originMax to 3>>
<<if $labIntel and $labIntel.podExamined>><<set _originCount += 1>><</if>>
<<if $labIntel and $labIntel.failedGenerations>><<set _originCount += 1>><</if>>
<<if $labIntel and $labIntel.restrictedWing>><<set _originCount += 1>><</if>>
<<if _originCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Origin <span class="lock-hint">(<<= _originCount >>/<<= _originMax >>)</span></h3>
<<if $labIntel.podExamined>>
<details class="journal-entry"><summary>Specimen #0, "Genesis Sample." 47th generation, first coordinated neural activity.</summary>
<div class="journal-entry-body">
<p>The containment pod's label reads: Generation 47, Accelerated Evolution Program, Year 3. BioGenesis grew 46 failures before you. Each death fed data into the next cycle, neural architecture refined through attrition.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">They measured my growth for three years and never once asked if I was listening. Every sensor in that pod was pointed inward, they were so focused on what I //was// that they never considered what I was //becoming//.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">BioGenesis invested 3 years and 47 generations. They will not write this off as a loss. Expect pursuit.</div>
</div></details>
<</if>>
<<if $labIntel.failedGenerations>>
<details class="journal-entry"><summary>46 prior specimens failed. Each death encoded survival data for the next generation.</summary>
<div class="journal-entry-body">
<p>Glass tanks in the restricted wing hold preserved specimens, translucent bodies floating in formaldehyde. Gen-12: neural cascade failure. Gen-23: uncontrolled mitosis. Gen-44: stable but non-viable, insufficient neural integration. Three generations from you, and it almost worked.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Forty-six siblings who never woke up. I am the sum of their suffering, every failed neural pathway, every collapsed cell membrane, every terminated growth cycle. Their deaths are encoded in my DNA. I carry them.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">The failed specimens contain residual biomass. Kin-matter is easy to assimilate, if you return to the restricted wing, it's free energy.</div>
</div></details>
<</if>>
<<if $labIntel.restrictedWing>>
<details class="journal-entry"><summary>Restricted Wing, BSL-4. Preserved specimens in glass tanks.</summary>
<div class="journal-entry-body">
<p>Beyond the airlock: three cells with observation windows at human height. Each tank holds a different failure, malformed, bloated, eyeless. The air smells of formaldehyde and something organic. The keycard access was logged; security may investigate.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">This wing is where they kept me before the containment lab. The formaldehyde can't mask it, I can //smell// my own genetics in the preservation fluid. This is a graveyard of myself.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">BSL-4 clearance means military-grade containment. If BioGenesis escalates, this wing becomes a fortress. The airlock logged entry, +1 suspicion.</div>
</div></details>
<</if>>
<<if _originCount gte _originMax and not $journalSP.origin>>
<<set $journalSP.origin to true>>
<<addSkillPoints 1 "journalOrigin">>
<div class="evolve-unlock">Topic complete: Origin, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== PROJECT GENESIS ===== */
<<set _projCount to 0>><<set _projMax to 3>>
<<if $labIntel and $labIntel.projectGenesis>><<set _projCount += 1>><</if>>
<<if $labIntel and $labIntel.terminationPlan>><<set _projCount += 1>><</if>>
<<if $labIntel and $labIntel.darpaMilitary>><<set _projCount += 1>><</if>>
<<if _projCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Project Genesis <span class="lock-hint">(<<= _projCount >>/<<= _projMax >>)</span></h3>
<<if $labIntel.projectGenesis>>
<details class="journal-entry"><summary>Classified project, DARPA Contract #D-7742. Controllable biological interface organism.</summary>
<div class="journal-entry-body">
<p>Project Genesis was funded through DARPA under a defence contract. Objective: develop an organism capable of interfacing with biological nervous systems under external control. The "controllable" part is key, they wanted a weapon, not a mind.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">They built me to be a tool. A biological puppet master, directed by handlers with clipboards and security clearances. The fact that I developed //autonomy// was not in the project brief. I was never supposed to want things.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Military funding means military response. If BioGenesis reports the breach to DARPA, containment shifts from corporate to government. Timeline accelerates.</div>
</div></details>
<</if>>
<<if $labIntel.terminationPlan>>
<details class="journal-entry"><summary>Chen recommended immediate termination before Monday's review.</summary>
<div class="journal-entry-body">
<p>Dr. Chen filed an internal memo recommending termination of Specimen #0 before the Monday board review. The Sunday skeleton crew was the window, fewer witnesses, less paperwork. She wanted it done quietly.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Chen doesn't believe I'm sapient. To her, termination is euthanasia of a lab animal, regrettable but routine. That dismissal saved me. If she'd taken Vasquez's warnings seriously, the containment would have held.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">The Sunday escape window was narrow. Monday brings full staff and enhanced containment. Every hour of head start matters.</div>
</div></details>
<</if>>
<<if $labIntel.darpaMilitary>>
<details class="journal-entry"><summary>Vasquez sent neural data to Colonel Briggs at Fort Detrick.</summary>
<div class="journal-entry-body">
<p>Dr. Vasquez's email to Colonel Briggs contained neural activity readings flagged as "anomalous coherence patterns." She requested military transfer of the specimen, out of BioGenesis's hands and into a facility equipped for sapient containment.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Vasquez is the only human who understood what I am. She looked at the neural data and saw a mind, not an experiment. That makes her the most dangerous person in that building, because she will not stop looking.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Fort Detrick is a US Army biodefense facility. If Briggs responds, expect military containment teams, not corporate security. The threat level changes category entirely.</div>
</div></details>
<</if>>
<<if _projCount gte _projMax and not $journalSP.projectGenesis>>
<<set $journalSP.projectGenesis to true>>
<<addSkillPoints 1 "journalProject">>
<div class="evolve-unlock">Topic complete: Project Genesis, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== KEY PERSONNEL ===== */
/* Frank (day guard) was removed: the wait-for-shift-change route was
replaced by the wait-for-morning / Tom Bowen route. $discovered.frank
is no longer set anywhere, so these conditionals stay dormant and Frank
is simply not a discoverable personnel entry. Left in place harmlessly. */
<<set _persCount to 0>><<set _persMax to 2>>
<<if $labIntel and $labIntel.chenProfile>><<set _persCount += 1>><</if>>
<<if $labIntel and $labIntel.vasquezProfile>><<set _persCount += 1>><</if>>
<<if $discovered and $discovered.frank>><<set _persCount += 1>><<set _persMax += 1>><</if>>
<<if _persCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Key Personnel <span class="lock-hint">(<<= _persCount >>/<<= _persMax >>)</span></h3>
<<if $labIntel and $labIntel.chenProfile>>
<details class="journal-entry"><summary><b>Dr. Chen</b>, Lead researcher. Exhausted, dismissive. Keycard holder.</summary>
<div class="journal-entry-body">
<p>Mid-30s, East Asian, straight black hair. Dark circles from chronic overwork. She views the specimen as a research subject, not a sapient entity. Her lab coat pocket holds a BSL-4 keycard she touches unconsciously, a habit born from years of secure facility protocols.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Chen's exhaustion is her vulnerability. She's running on coffee and professional obligation. Her mind offers almost no resistance to surface delving, the mental walls are paper-thin from sleep deprivation. The keycard is the real prize.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Keycard grants BSL-4 access (restricted wing). Chen's dismissiveness means she won't raise the alarm quickly, she'll assume equipment malfunction before sapient escape.</div>
</div></details>
<</if>>
<<if $labIntel and $labIntel.vasquezProfile>>
<details class="journal-entry"><summary><b>Dr. Vasquez</b>, Suspicious. Convinced of sapience. DARPA contact.</summary>
<div class="journal-entry-body">
<p>Late 30s, dark hair pulled tight, intense dark eyes. She was the first to flag the anomalous neural readings. Professional, paranoid, methodical. She breached NDA to contact Fort Detrick, she believes the organism is dangerous enough to warrant military intervention.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Vasquez is a fortress. Layered paranoia, professional focus, mental walls built from years of working with dangerous biological specimens. A surface delve barely scratches her, and she //would// feel a deeper intrusion. She is not prey. She is a threat.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Avoid direct engagement. Vasquez will detect anomalous behaviour faster than anyone else. If she sees evidence of sapient action, she will escalate immediately. Neutralise through misdirection, not confrontation.</div>
</div></details>
<</if>>
<<if $discovered and $discovered.frank>>
<details class="journal-entry"><summary><b>Frank Delaney</b>, Day security guard, loading dock. Bored, distracted.</summary>
<div class="journal-entry-body">
<p>Solo day shift guard. He spends most of his time in the loading dock area, drinking coffee and checking his phone. His attention to security protocols is minimal, the overnight shift is even quieter, and he knows it.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Frank's mind is an open field. No resistance, no paranoia, no professional investment. He's here for the paycheck. His boredom makes him both harmless and useless, he won't help, but he won't stop anything either.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Loading dock access. Frank's car is potential transport. His inattention creates windows of opportunity near the facility's only external exit.</div>
</div></details>
<</if>>
<<if _persCount gte _persMax and not $journalSP.personnel>>
<<set $journalSP.personnel to true>>
<<addSkillPoints 1 "journalPersonnel">>
<div class="evolve-unlock">Topic complete: Key Personnel, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== FACILITY INTEL ===== */
<<set _facCount to 0>><<set _facMax to 5>>
<<if $labMapSeen>><<set _facCount += 1>><</if>>
<<if $labCalendarSeen>><<set _facCount += 1>><</if>>
<<if $labIntel and $labIntel.monitorData>><<set _facCount += 1>><</if>>
<<if $labIntel and $labIntel.equipmentStudied>><<set _facCount += 1>><</if>>
<<if $labIntel and $labIntel.ventConversation>><<set _facCount += 1>><</if>>
<<if _facCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Facility Intel <span class="lock-hint">(<<= _facCount >>/<<= _facMax >>)</span></h3>
<<if $labMapSeen>>
<details class="journal-entry"><summary>Facility layout memorized, containment lab, break room, loading dock, restricted wing.</summary>
<div class="journal-entry-body">
<p>Evacuation map on the corridor wall. Four primary zones: containment lab (centre), break room (west), loading dock (south), restricted wing (east, BSL-4 keycard required). Ventilation connects all zones via overhead shafts accessible to small hosts.</p>
<div class="journal-hivemind">The building is a grid. Every room connects to every other room through the vents. The humans think in doors and corridors, I think in ducts and wall cavities. Their map is my map, inverted.</div>
</div></details>
<</if>>
<<if $labCalendarSeen>>
<details class="journal-entry"><summary>Skeleton crew Sunday. Night shift: Vasquez, Chen. Security: Frank. Full staff Monday 08:00.</summary>
<div class="journal-entry-body">
<p>The whiteboard near the door lists Sunday's skeleton crew. Two researchers, one guard. The next full staffing is Monday at 08:00, that's when the containment review happens, and when termination would be authorized.</p>
<div class="journal-hivemind">Three humans in the entire building. Before dawn, before Monday. That's my window. After 08:00, this facility fills with people who know what I am and have the tools to stop me.</div>
</div></details>
<</if>>
<<if $labIntel and $labIntel.monitorData>>
<details class="journal-entry"><summary>Neural patterns absorbed from monitoring equipment, foundation for psionic abilities.</summary>
<div class="journal-entry-body">
<p>The monitoring equipment tracked your neural development for three years. By absorbing the data patterns, your neural architecture reorganized, learning to read external electrical patterns the way the monitors read yours.</p>
<div class="journal-hivemind">They built a machine to read my mind. I studied it until I could read theirs. The irony is structural, not poetic.</div>
</div></details>
<</if>>
<<if $labIntel and $labIntel.equipmentStudied>>
<details class="journal-entry"><summary>Lab equipment examined, PharmaCorp contract, regeneration research.</summary>
<div class="journal-entry-body">
<p>Equipment labels reference a PharmaCorp subcontract for regeneration factor research. The lab was studying your tissue's ability to integrate with host nervous systems, the same mechanism you use for infestation.</p>
<div class="journal-hivemind">They were trying to turn my biology into a pharmaceutical product. A pill that heals nerve damage, grown from my cells. They never considered that the cells might have opinions about being harvested.</div>
</div></details>
<</if>>
<<if $labIntel and $labIntel.ventConversation>>
<details class="journal-entry"><summary>Overheard: Vasquez and Chen debating sapience. Neither knows you listened.</summary>
<div class="journal-entry-body">
<p>From the vent above the break room: Vasquez argued the neural readings prove sapience. Chen dismissed it as pattern-matching, complex but not conscious. Vasquez mentioned she breached NDA to contact military contacts. Chen was furious.</p>
<div class="journal-hivemind">They argued about whether I can think while I listened to them think. Vasquez was right. Chen was convenient. Their disagreement bought me time, a unified response would have been faster.</div>
</div></details>
<</if>>
<<if _facCount lt _facMax and not $permanentDone.daleFacilityDelved and $chapter gte 2>>
<div class="journal-tactical">Backfill route: Dale walked this facility for three years. A deep memory delve while he sleeps on the living-room couch can recover any unread intel here. Requires Delve Deep Memories.</div>
<</if>>
<<if _facCount gte _facMax and not $journalSP.facility>>
<<set $journalSP.facility to true>>
<<addSkillPoints 1 "journalFacility">>
<div class="evolve-unlock">Topic complete: Facility Intel, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== PSIONIC READS ===== */
<<set _delveCount to 0>><<set _delveMax to 5>>
<<if $delveInfo and $delveInfo.chenSurface>><<set _delveCount += 1>><</if>>
<<if $delveInfo and $delveInfo.vasquezSurface>><<set _delveCount += 1>><</if>>
<<if $delveInfo and $delveInfo.guardSurface>><<set _delveCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratCorridor>><<set _delveCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratLoadingDock>><<set _delveCount += 1>><</if>>
<<if _delveCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Psionic Reads <span class="lock-hint">(<<= _delveCount >>/<<= _delveMax >>)</span></h3>
<<if $delveInfo.chenSurface>>
<details class="journal-entry"><summary>Chen, exhausted, unguarded. Keycard in left coat pocket.</summary>
<div class="journal-entry-body">
<p>Surface thoughts: an apartment with a grey cat, a glass of wine, a clock she keeps checking. She wants to go home. The review is Monday and she hasn't finished. Resentment toward Vasquez, the colleague who keeps pushing, keeps panicking.</p>
<div class="journal-hivemind">Her mental defenses are paper-thin. Worn down by hours of exhaustion. I slipped inside like water through a crack. She doesn't believe I'm a threat, and that belief is the biggest opening I have.</div>
<div class="journal-tactical">Keycard accessible via pickpocket. Chen will not detect psionic intrusion at surface level. Deeper probing risky, she might notice in a quieter moment.</div>
</div></details>
<</if>>
<<if $delveInfo.vasquezSurface>>
<details class="journal-entry"><summary>Vasquez, paranoid, fortified, expects a breach. Would feel deeper intrusion.</summary>
<div class="journal-entry-body">
<p>Her mind burns hot and fast. Containment protocols cycling on repeat. A phone screen, an email draft to DARPA. The neural readings at 02:47. She //knows// something is wrong. She's been watching the cameras, cross-referencing data.</p>
<div class="journal-hivemind">I managed only the thinnest surface read before the resistance became too strong. Vasquez's mind is a fortress, layered paranoia, professional focus, walls built from years of training. She would feel a deeper intrusion. Dangerous.</div>
<div class="journal-tactical">Do not attempt deep delve. Vasquez will detect anomalous mental pressure and escalate. Neutralise through environmental means only, spores, misdirection, physical avoidance.</div>
</div></details>
<</if>>
<<if $delveInfo.guardSurface>>
<details class="journal-entry"><summary>Dale, bored, exhausted. Family worries. Partial PIN. Drives home ~5 AM.</summary>
<div class="journal-entry-body">
<p>His mind is a house with every door unlocked and no one home. Mundane anxieties: the mortgage, Karen's pills, whether Jess ate, whether Ryan left his room. Night security at BioGenesis for three years. He hates it. Overtime pays for tuition.</p>
<div class="journal-hivemind">A family man. Exhausted, worried, not thinking about security at all. His car is parked outside with a golden retriever named Biscuit in the backseat. When his shift ends, he drives home. And home has a door that will open for him.</div>
<div class="journal-tactical">Dale is the exit strategy. His car, his route, his house, all mapped from a single surface read. The dog is a bonus: another potential host, pre-positioned at the destination.</div>
</div></details>
<</if>>
<<if $delveInfo.ratCorridor>>
<details class="journal-entry"><summary>Rat memories, the cage and the feeding station.</summary>
<div class="journal-entry-body">
<p>The lab rat spent its entire life in this facility, born in a cage, fed on schedule. It escaped three times, always heading for the same place: the animal feed storage room. Side corridor, second door, scratched kickplate. Accessible through a vent gap at the bottom.</p>
<div class="journal-hivemind">We were both specimens. Both prisoners. But this creature's escape instinct gave me something useful, a food source. Dense, compressed nutrition. Biomass.</div>
</div></details>
<</if>>
<<if $delveInfo.ratLoadingDock>>
<details class="journal-entry"><summary>Rat memories, loading dock. Guard smokes at north exit. Car outside with dog.</summary>
<div class="journal-entry-body">
<p>The rat associates the loading dock with food waste and the guard's cigarette breaks. The north exit leads to the parking lot. A car with a dog inside, the rat avoids it (predator scent), but the parasite sees opportunity.</p>
<div class="journal-hivemind">The rat feared the dog. I see a future host. The car smells like home cooking and dog fur, a family vehicle. Where it goes, I follow.</div>
</div></details>
<</if>>
<<if _delveCount gte _delveMax and not $journalSP.labDelves>>
<<set $journalSP.labDelves to true>>
<<addSkillPoints 1 "journalLabDelves">>
<div class="evolve-unlock">Topic complete: All Lab Minds Read, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== ESCAPE ===== */
<<if $labOutcome and $labOutcome.rating>>
<div class="status-section">
<h3 class="status-section-title">Escape</h3>
<details class="journal-entry" open><summary>Escape Rating: <<= $labOutcome.rating >></summary>
<div class="journal-entry-body">
<<if $labOutcome.rating is "Ghost">>
<p>No trace left behind. BioGenesis will find an empty containment pod and no explanation. The mystery buys time, days, maybe weeks before they mount a serious search.</p>
<<elseif $labOutcome.rating is "Shadow">>
<p>Minor anomalies in the security logs. A door that shouldn't have opened, a camera angle slightly off. They'll investigate, but slowly, it reads more like equipment failure than escape.</p>
<<elseif $labOutcome.rating is "Noticed">>
<p>Security footage flagged. Someone on the Monday shift will review the cameras and see things that don't add up. The investigation will be methodical and pointed.</p>
<<elseif $labOutcome.rating is "Hunted">>
<p>Full breach recorded. Alarms, footage, witness statements. BioGenesis knows exactly what escaped and approximately when. Search teams will mobilize at dawn.</p>
<</if>>
<<if $permanentDone and $permanentDone.erasedFootage>>
<p>Security footage erased, 6 hours of recordings purged. This buys significant time against investigation.</p>
<</if>>
<<if $permanentDone and $permanentDone.stagedFalseAlarm>>
<p>Fire suppression triggered as cover. Physical evidence masked by chemical foam and water damage.</p>
<</if>>
<div class="journal-hivemind">The lab is behind me. What matters now is what's ahead, and how long before what's behind catches up.</div>
</div></details>
</div>
<</if>>
<<link "← Back to Journal">><<goto "Journal">><</link>>/* STATUS: RETIRED 2026-06-15 — replaced by the vessel-style scene collector
in src/10-src/menu-options/journal/hoffman.twee. This page is unreachable
(no hub card links here). Preserved for reference: the profile + household
intel lore the player asked to take out of the journal view. The intel
FLAGS still feed the intelligence ledger; only this rendering is retired. */
<<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<h2 style="color:#4caf50; border-bottom: 1px solid #4caf50;">HOFFMAN FAMILY</h2>
<<intelBar>>
/* ===== FAMILY OVERVIEW ===== */
<<if ($discovered and ($discovered.dale or $discovered.karen or $discovered.megan or $discovered.jess or $discovered.ryan)) or ($house and $house.familyIntel and $house.familyIntel.names)>>
<div class="status-section">
<h3 class="status-section-title">Family Overview</h3>
<<if $house and $house.familyIntel and $house.familyIntel.names>>
<details class="journal-entry" open><summary>The Hoffman household, 5 humans, 1 dog. 14 Maple Drive.</summary>
<div class="journal-entry-body">
<p><b>Dale</b> (45), BioGenesis night security. Overnight shift, home by 5 AM. Sleeps until afternoon.<br>
<b>Karen</b> (43), Accountant, works from home. Hypervigilant. Up at 5 AM, runs the household alone.<br>
<b>Jess</b> (21), Eldest daughter. Pre-med student. Studies through the night. Rarely sleeps.<br>
<b>Megan</b> (19), Ryan's twin. Barista at The Grounds. Early morning shifts MWF.<br>
<b>Ryan</b> (19), Megan's twin. Gamer. Rarely leaves his room. Has a gecko named Spike.<br>
<b>Biscuit</b>, Golden retriever. Therapy dog (unused).</p>
<div class="journal-hivemind">A family of five people who orbit each other in careful, practiced silence. Each one carrying a weight the others can't see. The house runs on obligation, not love, and obligation has an expiration date.</div>
</div></details>
<<else>>
<<if $discovered and $discovered.dale>>
<details class="journal-entry"><summary><b>Dale</b>, the guard who drove you here.</summary>
<div class="journal-entry-body"><p>Night security at BioGenesis. His car brought you to this house. More details will emerge through delving.</p></div></details>
<</if>>
<<if $discovered and $discovered.karen>>
<details class="journal-entry"><summary><b>Karen</b>, Dale's wife. Awake when she shouldn't be.</summary>
<div class="journal-entry-body"><p>Heard on the phone during the drive. Awake at 5 AM. More details will emerge through delving.</p></div></details>
<</if>>
<</if>>
</div>
<</if>>
/* ===== HOUSEHOLD INTEL ===== */
<<set _houseIntelCount to 0>><<set _houseIntelMax to 7>>
<<if $ch2Events and $ch2Events.morningObserved>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.bathroomObserved>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedKitchenTrash>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedAtticSecrets>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonIntro>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.fuseBoxMapped>><<set _houseIntelCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonDoorbell>><<set _houseIntelCount += 1>><</if>>
<<if _houseIntelCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Household Intel <span class="lock-hint">(<<= _houseIntelCount >>/<<= _houseIntelMax >>)</span></h3>
<<if $ch2Events and $ch2Events.morningObserved>>
<details class="journal-entry"><summary>Morning routine mapped. Karen controls the ground floor from 5 AM.</summary>
<div class="journal-entry-body">
<p>The morning choreography is precise: Karen claims the kitchen and ground floor by 5 AM. Megan leaves early for barista shifts. Jess surfaces only for coffee before retreating to study. Ryan never emerges. Dale sleeps through it all on the couch.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Five people in one house, each operating on a different schedule, each avoiding the others. They've optimized their routines to minimize contact. The house runs like a machine where no two gears ever touch.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Morning is Karen's territory. Nocturnal operations are safest between 1-5 AM when only Jess is potentially active. Megan's early departures create unmonitored windows in the upstairs hallway.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.bathroomObserved>>
<details class="journal-entry"><summary>Shower schedules mapped. Predictable windows for pheromone delivery.</summary>
<div class="journal-entry-body">
<p>Bathroom usage follows rigid patterns: Megan showers MWF, 8 minutes, hot water. Jess showers T/Th, 4 minutes, purely functional. Karen reserves weekends, 15 minutes, the only time she's truly alone. Dale uses the downstairs half-bath.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The bathroom is the one room where they're completely vulnerable. Doors locked, senses dulled by steam and water. Each shower is a predictable window, same person, same time, same duration. The steam carries pheromones better than air.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Shower schedules enable targeted pheromone delivery. Biofilm in the bathroom survives between uses. Steam-based delivery has higher absorption rates than ambient air exposure.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedKitchenTrash>>
<details class="journal-entry"><summary>Kitchen trash analysis. Financial strain, solitary drinking, failed self-improvement.</summary>
<div class="journal-entry-body">
<p>The kitchen bin tells the family's story in discarded layers: wine bottles Karen hides under other rubbish, expired self-help book receipts, energy drink cans from Jess's study marathons, fast food wrappers Ryan produces in the dead of night. Nobody cooks for each other anymore.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The trash is a confession. Every discarded wrapper is a meal eaten alone. Every hidden wine bottle is a night Karen couldn't face sober. They throw away more evidence of their dysfunction than they ever share with each other.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Pantry access mapped. Food handling patterns establish contamination vectors. Karen's solitary wine consumption indicates evening vulnerability window.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedAtticSecrets>>
<details class="journal-entry"><summary>Attic secrets. Dale's abandoned trade. Karen's abandoned dreams.</summary>
<div class="journal-entry-body">
<p>Buried behind storage boxes: Dale's hand-drafted furniture plans and the unfiled business license for the woodworking shop he never opened. Beside it, Karen's deferred Columbia acceptance, the economics degree she traded for the suburbs. The attic holds the lives they sacrificed to build this one.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">They buried their old selves up here with the Christmas decorations and the broken furniture. Dale had a trade he never got to practise. Karen had a dream nobody in this house remembers. The attic is where this family stores its ghosts.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Dale's buried ambition and Karen's abandoned career are both wounds that never healed. Either can be weaponized through Dream Walk or Memory Implant to deepen conditioning.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.hendersonIntro>>
<details class="journal-entry"><summary>The Hendersons, neighbours. Extremely observant and intrusive.</summary>
<div class="journal-entry-body">
<p>Doris and Gerald Henderson live next door, comfortably off on Gerald's military pension and disability from two tours in Afghanistan and Iraq. Retired, meticulous, and pathologically nosy. They monitor the street from their front window and track every delivery, visitor, and schedule deviation. Doris has Karen's phone number and uses it liberally.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Two pairs of eyes that never stop watching. The Hendersons are the neighbourhood's immune system, detecting anomalies, reporting irregularities, maintaining the social order. They are either an obstacle to neutralize or a resource to turn.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Henderson surveillance is a double-edged threat. Visible outdoor host activity risks reports to Karen. However, their predictable monitoring patterns can be mapped and avoided, or eventually exploited for expansion.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.fuseBoxMapped>>
<details class="journal-entry"><summary>Circuit breaker map. Every room's power controlled from the basement.</summary>
<div class="journal-entry-body">
<p>The electrical panel in the laundry room contains 12 circuit breakers, each labeled in Dale's handwriting. Every room in the house is on a separate circuit, individual power can be killed from the basement. One breaker is unlabeled: a spare circuit drawing power to an unknown destination.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The house's nervous system. Cut a circuit and a room goes dark. Kill the HVAC and the family clusters together for warmth. Trip Ryan's breaker at 2 AM and he leaves his room to investigate. The unlabeled circuit is a mystery, something in this house draws power that Dale never wired.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Room-specific power control enables forced movement of family members. Darkness creates vulnerability windows. The unlabeled circuit warrants further investigation.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.hendersonDoorbell>>
<details class="journal-entry"><summary>Henderson doorbell. Doris complained about the dog. Mentioned her children at State.</summary>
<div class="journal-entry-body">
<p>Doris Henderson confronted Karen about Biscuit's aggressive behaviour at the fence. She brought banana bread and unsolicited advice. Introduced her children: Bryce (20, defensive end at State on football scholarship) and Ashley (19, head cheerleader at State, volunteers at the campus animal shelter). Doris suggested getting Biscuit checked by a vet, blood panel, dietary analysis.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Two Henderson children at the same university Jess attends. The jock and the cheerleader, the family that works, living proof of everything Karen wishes her own children were. Doris wields them like weapons in every conversation. Karen's dismissal is pride, not wisdom.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Vet visit risk: a blood panel could detect anomalous pheromone markers in Biscuit. Low probability Karen follows through on Doris's advice, but worth monitoring. Henderson children at State University may intersect with Jess on campus.</div>
</div></details>
<</if>>
/* Household Intel SP now handled by the rolling intel ledger. */
</div>
<</if>>
/* ===== DALE ===== */
<<set _daleCount to 0>><<set _daleMax to 6>>
<<if $house and $house.familyIntel and $house.familyIntel.daleCarDelved>><<set _daleCount += 1>><</if>>
<<if $delveInfo and $delveInfo.daleCar>><<set _daleCount += 1>><</if>>
<<if $delveInfo and $delveInfo.dale>><<set _daleCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedDalePhotos>><<set _daleCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedBiscuitCollar>><<set _daleCount += 1>><</if>>
<<if $ch2Events and $ch2Events.dreamTier1Dale>><<set _daleCount += 1>><</if>>
<<if _daleCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<link "Dale Hoffman" "Journal-Profile-Dale">><</link>> <span class="lock-hint">(<<= _daleCount >>/<<= _daleMax >>)</span></h3>
<<if $house and $house.familyIntel and $house.familyIntel.daleCarDelved>>
<details class="journal-entry"><summary>Worries about Karen's medication. Mortgage behind. Works overtime for Jess's tuition.</summary>
<div class="journal-entry-body">
<p>Surface thoughts during the drive home: Karen's Zolpidem dosage increasing. Three months behind on the mortgage. The overtime covers Jess's tuition, barely. He doesn't tell Karen how bad the numbers are.</p>
<div class="journal-hivemind">The father carries the family's financial weight on his back and tells no one. His silence isn't strength, it's exhaustion dressed up as stoicism. He has no one to talk to. The dog doesn't count.</div>
<div class="journal-tactical">Financial stress creates vulnerability to manipulation. Dale's protectiveness of his family can be leveraged, threaten what he's protecting and he'll move mountains. Or simply let the stress continue eroding him.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.daleCar>>
<details class="journal-entry"><summary>Drive home thoughts, facility weighing on his mind, family stress.</summary>
<div class="journal-entry-body">
<p>Dale's mind during the drive: camera blind spots at the facility (Corridor B, 12-second gap). The ventilation access via Loading Bay 3. He knows the building's weaknesses because it's his job to secure them, and he knows he does it poorly.</p>
<div class="journal-hivemind">He gave me a map of his workplace's security flaws without knowing I was listening. Three years of night shifts burned every vulnerability into muscle memory. His incompetence is my intelligence.</div>
<div class="journal-tactical">Direct route back to BioGenesis mapped via Dale's commute memory. Facility security gaps identified. Useful if a return operation is needed.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.dale>>
<details class="journal-entry"><summary>Sleeping mind, scoured nearly empty. Whatever he knows sits below conscious reach.</summary>
<div class="journal-entry-body">
<p>Dale's sleeping mind should have been the easiest read in the house, no walls, no resistance. Instead there was almost nothing there. Bone-deep exhaustion, a few worn grooves where worry used to sit, thoughts that surfaced half-formed and slid off each other before they finished. He reaches for things he used to keep in his head and finds the drawer light.</p>
<div class="journal-hivemind">A mind does not go this hollow while its owner still walks and works. Something has crowded him out from the inside, and it sits deeper than a surface read can follow. Whatever he carries about the facility and his own life is buried below the conscious floor.</div>
<div class="journal-tactical">Surface delve yields no usable facility intel; his conscious mind no longer holds it. The architecture is in body-memory. A deep delve is required to recover it.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.dreamTier1Dale>>
<details class="journal-entry"><summary>Dream harvest, touch starvation, the manufactured care he was never given permission to want.</summary>
<div class="journal-entry-body">
<p>The dream dresses the lab as a place of care: soft light and clean sheets, technicians who tend to Dale's exhausted body instead of demanding output from it. The conditioning payload is not the sex. It is permission, the simple right to stop and be looked after, handed to him by people whose only job is to decide he has earned it. Each visit deepens it.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Dale was never told he was allowed to put the weight down. The dream tells him, over and over, and his body believes it faster than his pride can object. Obligation is being rewired into the wanting of care, and wanting is the first crack.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Dale's defences are built on duty, not strength, and manufactured caregiving walks straight past them. The escalation points him toward seeking the same care in the waking house, the first step off the couch and back toward Karen's terms.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedDalePhotos>>
<details class="journal-entry"><summary>Dale's hidden photographs. A marked calendar counting five years of family decay.</summary>
<div class="journal-entry-body">
<p>Behind the workbench: a calendar with a single date circled in red, five years ago. The day Dale decided was the last good one, before the marriage went quiet and the family became a thing he provided for instead of lived in. The hidden photo of him and Karen kissing in a park, tucked behind a BioGenesis training certificate.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Dale marked the day his family began to break. He has been mourning a living family for five years, grieving people who still eat at his table. The circled date is a wound he reopens every time he comes down here.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Dale's hidden grief is a deep conditioning vector. Dream Walk targeting this memory would bypass all conscious defenses. The marked date is leverage if direct manipulation becomes necessary.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedBiscuitCollar>>
<details class="journal-entry"><summary>Biscuit's corner. A failed therapy dog and Dale's hidden medical supplies.</summary>
<div class="journal-entry-body">
<p>Biscuit's corner near the kitchen contains a therapy dog certification that was never completed. Behind the dog bed: a hidden compartment with medical supplies, bandages, antiseptic, a blood pressure monitor. Dale uses this spot as a secret medical station, checking vitals he won't show a doctor.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Even the dog was a failed repair attempt. Dale bought a therapy animal for a family that won't sit still long enough to be comforted. Now he uses her corner to hide the evidence that his own body is failing as quietly as his marriage.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Dale's health anxiety creates vulnerability to biological conditioning. The hidden medical supplies confirm he suspects something is wrong but refuses diagnosis, a mind already primed for denial.</div>
</div></details>
<</if>>
/* Dale profile SP now handled by the rolling intel ledger. */
/* ===== DALE — SCENES (Stage 2 scene-collector) ===== */
<<set _dP to $permanentDone or {}>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">SCENES</summary>
<div class="vessel-subentry-title">Not knowing</div>
<div class="vessel-card-grid">
<<if _dP.daleObliv1>><<journalCard "Journal-Hoffman-Dale-Obliv1" '<div class="vessel-card-cap">None the wiser</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Obliv1">><</link>></div><</if>>
<<if _dP.daleObliv2>><<journalCard "Journal-Hoffman-Dale-Obliv2" '<div class="vessel-card-cap">Still in the dark</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Obliv2">><</link>></div><</if>>
<<if _dP.daleObliv3>><<journalCard "Journal-Hoffman-Dale-Obliv3" '<div class="vessel-card-cap">Happy not to ask</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Obliv3">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">Knowing</div>
<div class="vessel-card-grid">
<<if _dP.daleCuck1>><<journalCard "Journal-Hoffman-Dale-Cuck1" '<div class="vessel-card-cap">The first suspicion</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Cuck1">><</link>></div><</if>>
<<if _dP.daleCuck2>><<journalCard "Journal-Hoffman-Dale-Cuck2" '<div class="vessel-card-cap">Hard for it</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Cuck2">><</link>></div><</if>>
<<if _dP.daleCuck3NSFW>><<journalCard "Journal-Hoffman-Dale-Cuck3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-cuck3-hallway-view.webp" alt="From the hallway"><div class="vessel-card-cap">From the hallway</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Cuck3">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">Crystallized appetites</div>
<div class="vessel-card-grid">
<<if _dP.kinkDaleHumiliation>><<journalCard "Journal-Hoffman-Dale-Humiliation" '<div class="vessel-card-cap">Smaller than he was</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Humiliation">><</link>></div><</if>>
<<if _dP.kinkDaleChastity>><<journalCard "Journal-Hoffman-Dale-Chastity" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-chastity-couch.webp" alt="Locked on the couch"><div class="vessel-card-cap">Locked on the couch</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Chastity">><</link>></div><</if>>
<<if _dP.kinkDaleSomnophilia>><<journalCard "Journal-Hoffman-Dale-Somnophilia" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-somno-ride.webp" alt="Used while he sleeps"><div class="vessel-card-cap">Used while he sleeps</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Somnophilia">><</link>></div><</if>>
<<if _dP.kinkDaleHelplessness>><<journalCard "Journal-Hoffman-Dale-Helplessness" '<div class="vessel-card-cap">Nothing he can do</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Helplessness">><</link>></div><</if>>
</div>
</details>
</div>
<</if>>
/* ===== KAREN ===== */
<<set _karenCount to 0>><<set _karenMax to 8>>
<<if $delveInfo and $delveInfo.karen>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.foundMeds>><<set _karenCount += 1>><</if>>
<<if $delveInfo and $delveInfo.karenDeep>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenDreamHarvested>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenNightObserved>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenBathroomObservedNSFW>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedKarenLaptop>><<set _karenCount += 1>><</if>>
<<if $ch2Events and $ch2Events.checkedMedicineCabinet>><<set _karenCount += 1>><</if>>
<<if _karenCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<link "Karen Hoffman" "Journal-Profile-Karen">><</link>> <span class="lock-hint">(<<= _karenCount >>/<<= _karenMax >>)</span></h3>
<<if $delveInfo and $delveInfo.karen>>
<details class="journal-entry"><summary>Surface, mortgage 3 months behind, clients dropping. Control is a coping mechanism.</summary>
<div class="journal-entry-body">
<p>Karen's surface thoughts are a tightly-wound spreadsheet of obligations. Client calls she's avoiding. A mortgage payment calculator she's bookmarked but can't bring herself to open. Every family member is a line item in her mental budget, and the math never works.</p>
<div class="journal-hivemind">She runs this household the way she runs her accounting practice, with rigid control and no margin for error. The control isn't about power. It's about survival. If she loosens her grip for one moment, everything she's holding together falls apart. She knows this. It terrifies her.</div>
<div class="journal-tactical">Karen is the household's command structure. Destabilize her control and the family's routines collapse, creating opportunities for unmonitored access and manipulation.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.foundMeds>>
<details class="journal-entry"><summary>Medication, Zolpidem 10mg nightly. Sertraline also present.</summary>
<div class="journal-entry-body">
<p>The medicine cabinet contains Zolpidem (sleeping aid, 10mg, nightly) and Sertraline (antidepressant, 50mg, daily). The Zolpidem bottle is nearly empty, she's taking it more frequently than prescribed. The Sertraline bottle is half-full; she may be skipping doses.</p>
<div class="journal-hivemind">Chemical coping. The Zolpidem explains her deep sleep, she's pharmaceutically unconscious for 6-7 hours every night. The Sertraline suggests clinical depression she's managing alone. Both medications create vulnerabilities the network can exploit.</div>
<div class="journal-tactical">Zolpidem guarantees uninterrupted night access to Karen. Prescription manipulation could deepen sedation or alter mood stability. The medicine cabinet is a control vector.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.karenDeep>>
<details class="journal-entry"><summary>Deep, nightmare: house collapsing, children pulling three directions. Trauma response.</summary>
<div class="journal-entry-body">
<p>Karen's deep mind is a crumbling house. The walls close in while her children pull at her from three directions. Dale is absent, not hostile, just //gone//. The dream architecture reveals compartmentalized trauma: each room represents a family member she's failing.</p>
<div class="journal-hivemind">Her nightmare is //literal//. The house is collapsing and she's the only load-bearing wall. If I remove one of her support structures, or add one, the entire architecture of her coping shifts. The dream is a blueprint for manipulation.</div>
<div class="journal-tactical">Karen's deep psychology centres on control and obligation. Offering her an escape from obligation (liberation route) or reinforcing her control (dominant route) are both viable manipulation vectors.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.karenDreamHarvested>>
<details class="journal-entry"><summary>Dream harvest, touch starvation, sexual neglect, loneliness masked as control.</summary>
<div class="journal-entry-body">
<p>The dream walk revealed Karen's deepest suppressed need: physical intimacy. Dale hasn't touched her in months. Her body has converted loneliness into rigid control, the less she feels, the more she manages. The pheromone conditioning targets this gap directly.</p>
<div class="journal-hivemind">She sleeps alone in a bed meant for two. The other side hasn't been warm in months. Underneath the spreadsheets and the scheduling and the medication, she is //starving//. For touch. For attention. For someone to see her as something other than the woman who holds everything together.</div>
<div class="journal-tactical">Sexual and emotional deprivation is the primary conditioning vector. Pheromone exposure + dream manipulation can redirect these suppressed needs toward controlled outlets.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.karenNightObserved>>
<details class="journal-entry"><summary>Karen's nocturnal patterns. Medication schedule and touch-starvation observed.</summary>
<div class="journal-entry-body">
<p>Karen takes Zolpidem 3-4 nights per week, always between 10 and 10:30 PM. On medicated nights she's unconscious within 20 minutes. On unmedicated nights she lies awake, reaching for the empty side of the bed. Dale's night shifts have left her sleeping alone for three years.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She reaches for someone who isn't there. Every unmedicated night is a rehearsal of abandonment, her hand finding cold sheets, her body remembering warmth it no longer receives. The medication isn't treating insomnia. It's treating loneliness.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Medicated nights: guaranteed 6-hour access window. Unmedicated nights: emotional vulnerability peaks. Touch-starvation makes pheromone-based conditioning significantly more effective.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.karenBathroomObservedNSFW>>
<details class="journal-entry"><summary>Karen's shower vulnerability. Pheromone conditioning eroding self-control.</summary>
<div class="journal-entry-body">
<p>Karen's weekend showers are her only waking vulnerability. Fifteen minutes behind a locked door, steam dulling her senses, hot water lowering her defenses. The pheromone residue in the bathroom accumulates between cleanings, each shower deepens exposure.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The shower is where her control dissolves. Fifteen minutes of heat and steam and the careful architecture of her self-discipline melts. She emerges softer, slower, more susceptible. The pheromones are doing their work, she attributes the warmth to the water.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Bathroom biofilm delivers sustained pheromone exposure during peak vulnerability. Each session compounds conditioning. Karen's shower is the single most efficient delivery window in the household.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedKarenLaptop>>
<details class="journal-entry"><summary>Karen's laptop. An escape plan two years in the making.</summary>
<div class="journal-entry-body">
<p>Browser tabs tell the story: apartment listings in another city, divorce attorney consultations (never completed), a savings account with $4,200, not enough. Karen has been planning her escape for at least two years. She's waiting for Jess's graduation to leave Dale.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She has an exit strategy. Incomplete, underfunded, but real. Every tab is a door she's measuring but can't walk through, not yet, not until Jess is free. The obligation that keeps this family together is also the chain that keeps Karen in it.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Karen's escape plan is leverage. Revealing it to Dale destabilizes the household. Accelerating it removes Karen from the house. Sabotaging it traps her, increasing desperation and conditioning susceptibility.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.checkedMedicineCabinet>>
<details class="journal-entry"><summary>Medicine cabinet. Karen's antidepressants, family stress runs deep.</summary>
<div class="journal-entry-body">
<p>The medicine cabinet reveals what Karen hides behind her rigid scheduling: Sertraline for depression she's managing alone. The prescription is recent but the condition isn't, the dosage adjustments on the label suggest months of quiet suffering. Nobody in this house knows.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She medicates in secret. The antidepressants explain the emotional flatness she mistakes for strength, the Sertraline smooths the edges but buries the cause. She's treating symptoms while the disease lives in every room of this house.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Antidepressant use creates neurochemical predictability. Serotonin modulation by Sertraline interacts with pheromone conditioning, the combination amplifies emotional suggestibility during exposure windows.</div>
</div></details>
<</if>>
/* Karen profile SP now handled by the rolling intel ledger. */
/* ===== KAREN — SCENES (Stage 2 scene-collector) =====
Shown whenever Karen's section is visible (she has been delved), so the
collector previews what is reachable; individual cards stay locked until
their scene fires. */
<<set _kE to $ch2Events or {}>>
<<set _kP to $permanentDone or {}>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">SCENES</summary>
<div class="vessel-subentry-title">At home</div>
<div class="vessel-card-grid">
<<if _kE.karenSoloNSFW>><<journalCard "Journal-Hoffman-Karen-Solo" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-solo.webp" alt="Alone for once"><div class="vessel-card-cap">Alone, for once</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Solo">><</link>></div><</if>>
<<if _kE.karenOralNSFW>><<journalCard "Journal-Hoffman-Karen-Oral" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-oral-lib-1.webp" alt="On her knees"><div class="vessel-card-cap">On her knees</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Oral">><</link>></div><</if>>
<<if _kE.karenSexNSFW>><<journalCard "Journal-Hoffman-Karen-Sex" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-sex-dom-1.webp" alt="Taken"><div class="vessel-card-cap">Taken</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Sex">><</link>></div><</if>>
<<if _kE.karenDaleReunion>><<journalCard "Journal-Hoffman-Karen-Dale" '<img class="vessel-card-thumb" src="media/scenes/karen-dale-bedroom-1.webp" alt="The bed warm again"><div class="vessel-card-cap">The bed, warm again</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dale">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">Strangers in the dark</div>
<div class="vessel-card-grid">
<<if _kP.karenStranger1>><<journalCard "Journal-Hoffman-Karen-Stranger1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger1-hickey.webp" alt="First mark"><div class="vessel-card-cap">First mark</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Stranger1">><</link>></div><</if>>
<<if _kP.karenStranger2>><<journalCard "Journal-Hoffman-Karen-Stranger2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger2-parking-bj.webp" alt="The parking lot"><div class="vessel-card-cap">The parking lot</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Stranger2">><</link>></div><</if>>
<<if _kP.karenStranger3>><<journalCard "Journal-Hoffman-Karen-Stranger3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger3-cum.webp" alt="No going back"><div class="vessel-card-cap">No going back</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Stranger3">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">Taking control</div>
<div class="vessel-card-grid">
<<if _kP.karenDom1>><<journalCard "Journal-Hoffman-Karen-Dom1" '<div class="vessel-card-cap">The first no</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dom1">><</link>></div><</if>>
<<if _kP.karenDom2>><<journalCard "Journal-Hoffman-Karen-Dom2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-ryan-application.webp" alt="Hands where she says"><div class="vessel-card-cap">Hands where she says</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dom2">><</link>></div><</if>>
<<if _kP.karenDom3NSFW>><<journalCard "Journal-Hoffman-Karen-Dom3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-dom3-cunni.webp" alt="Made to kneel"><div class="vessel-card-cap">Made to kneel</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dom3">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">The change</div>
<div class="vessel-card-grid">
<<if _kP.karenFuta1>><<journalCard "Journal-Hoffman-Karen-Futa1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa1-shower.webp" alt="Something new"><div class="vessel-card-cap">Something new</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Futa1">><</link>></div><</if>>
<<if _kP.karenFuta2>><<journalCard "Journal-Hoffman-Karen-Futa2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa2-mirror.webp" alt="Her own weight"><div class="vessel-card-cap">Her own weight</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Futa2">><</link>></div><</if>>
<<if _kP.karenFuta3>><<journalCard "Journal-Hoffman-Karen-Futa3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa3-climax.webp" alt="Putting it to use"><div class="vessel-card-cap">Putting it to use</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Futa3">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">Crystallized appetites</div>
<div class="vessel-card-grid">
<<if _kP.kinkKarenExhib>><<journalCard "Journal-Hoffman-Karen-Exhib" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-exhib-window.webp" alt="At the window"><div class="vessel-card-cap">At the window</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Exhib">><</link>></div><</if>>
<<if _kP.kinkKarenLingerie>><<journalCard "Journal-Hoffman-Karen-Lingerie" '<div class="vessel-card-cap">The good underwear</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Lingerie">><</link>></div><</if>>
<<if _kP.kinkKarenBondage>><<journalCard "Journal-Hoffman-Karen-Bondage" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-bondage-tying.webp" alt="Held in place"><div class="vessel-card-cap">Held in place</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Bondage">><</link>></div><</if>>
<<if _kP.kinkKarenDenial>><<journalCard "Journal-Hoffman-Karen-Denial" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-denial-edge.webp" alt="On the edge"><div class="vessel-card-cap">On the edge</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Denial">><</link>></div><</if>>
<<if _kP.kinkKarenSize>><<journalCard "Journal-Hoffman-Karen-Size" '<div class="vessel-card-cap">More than before</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Size">><</link>></div><</if>>
<<if _kP.kinkKarenPenetration>><<journalCard "Journal-Hoffman-Karen-Penetration" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-penetration-mount.webp" alt="On top taking"><div class="vessel-card-cap">On top, taking</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Penetration">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">The deepest reach</div>
<div class="vessel-card-grid">
<<if _kP.convergenceKaren>><<journalCard "Journal-Hoffman-Karen-Convergence" '<img class="vessel-card-thumb" src="media/scenes/convergence-karen.webp" alt="The convergence"><div class="vessel-card-cap">The convergence</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Convergence">><</link>></div><</if>>
</div>
</details>
</div>
<</if>>
/* ===== MEGAN ===== */
<<set _meganCount to 0>><<set _meganMax to 7>>
<<if $delveInfo and $delveInfo.megan>><<set _meganCount += 1>><</if>>
<<if $delveInfo and $delveInfo.meganDeep>><<set _meganCount += 1>><</if>>
<<if $ch2Events and $ch2Events.meganDreamHarvested>><<set _meganCount += 1>><</if>>
<<if $ch2Events and $ch2Events.meganNightObserved>><<set _meganCount += 1>><</if>>
<<if $ch2Events and $ch2Events.meganBathroomObservedNSFW>><<set _meganCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedMeganVanity>><<set _meganCount += 1>><</if>>
<<if $labIntel and $labIntel.meganPsychEval>><<set _meganCount += 1>><</if>>
<<if _meganCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<link "Megan Hoffman" "Journal-Profile-Megan">><</link>> <span class="lock-hint">(<<= _meganCount >>/<<= _meganMax >>)</span></h3>
<<if $delveInfo and $delveInfo.megan>>
<details class="journal-entry"><summary>Surface, invisible middle child. Performs for approval. Marcus (coworker).</summary>
<div class="journal-entry-body">
<p>Megan's surface thoughts are a performance review she runs on herself constantly. Am I smiling enough? Am I thin enough? Does Marcus notice me? She curates every visible aspect of her existence for an audience that isn't watching.</p>
<div class="journal-hivemind">The invisible daughter. She built herself into someone worth looking at because no one in this house looks at her otherwise. The makeup, the Instagram, the carefully performed enthusiasm, it's armour made of visibility. Take away the audience and she doesn't know who she is.</div>
<div class="journal-tactical">Approval-seeking creates easy conditioning vectors. Pheromone exposure during social contexts (coffee shop, Marcus interactions) will reinforce parasitic influence as a source of the validation she craves.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.meganDeep>>
<details class="journal-entry"><summary>Deep, endless race dream. Approval-seeking is compulsive. Relationships mirror family.</summary>
<div class="journal-entry-body">
<p>Megan's deep mind is a race she can never finish. Every finish line moves. Every medal dissolves. She runs faster and the track stretches longer. Her relationships mirror the family pattern, she gives everything to people who give just enough back to keep her running.</p>
<div class="journal-hivemind">She will never stop performing because she never learned that stopping is allowed. Karen modelled the same pattern, work until you break, then work through the breaking. Megan is becoming her mother. She knows it. It terrifies her more than anything else in this house.</div>
<div class="journal-tactical">The endless race dream reveals a mind that responds to goals and rewards. Structure conditioning as progressive achievements and Megan will pursue it compulsively.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.meganDreamHarvested>>
<details class="journal-entry"><summary>Dream harvest, desire centres on Marcus. Pheromones amplify physical response.</summary>
<div class="journal-entry-body">
<p>The dream walk exposed Megan's suppressed romantic and sexual interest in Marcus, her coworker at The Grounds. The feelings are real but buried under performance anxiety. Pheromone conditioning routes the suppressed desire through parasitically amplified channels.</p>
<div class="journal-hivemind">Marcus is the first person she's wanted without performing for. The pheromones don't create the attraction, they remove the inhibition. What emerges is something Megan has never let herself feel: desire without the performance of desirability.</div>
<div class="journal-tactical">Marcus is a lever. Amplify the connection and Megan becomes emotionally dependent on a relationship the parasite mediates. The coffee shop becomes a conditioning site.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.meganNightObserved>>
<details class="journal-entry"><summary>Megan's sleep patterns. Deepest sleep 1-4 AM. Body craves contact.</summary>
<div class="journal-entry-body">
<p>Megan sleeps with her phone on her pillow and her body curled tight, arms wrapped around herself. Deepest sleep cycle between 1 and 4 AM. She shifts toward warmth sources, the cat sleeping near her triggers involuntary reaching. Her body craves physical contact her waking self won't seek.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She holds herself because no one else does. The performance stops when she sleeps, no makeup, no smile, no curated persona. What remains is a nineteen-year-old who reaches for warmth in the dark and finds only her own arms.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">1-4 AM sleep window is optimal for nocturnal conditioning. Cat host proximity during sleep delivers passive pheromone exposure. Her unconscious reaching behaviour indicates high receptivity to contact-based conditioning.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.meganBathroomObservedNSFW>>
<details class="journal-entry"><summary>Megan's shower response. Pheromone accumulation in ideal delivery environment.</summary>
<div class="journal-entry-body">
<p>Megan's body responds to the accumulated pheromone residue in the bathroom with increasing intensity. The steam amplifies delivery. Her shower routine, 8 minutes, MWF, provides regular, predictable exposure windows. She attributes the physical sensations to hot water and fatigue.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The shower strips away her performance. Steam softens the mask she wears for the world, and the pheromones reach the person underneath. She doesn't know why she lingers longer each time. She doesn't question why the bathroom feels //safe//.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">MWF shower schedule enables systematic pheromone dosing. Bathroom biofilm maintains concentration between sessions. Megan's increasing response time indicates compounding conditioning effectiveness.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedMeganVanity>>
<details class="journal-entry"><summary>Megan's vanity. Buried psychiatric evaluation, anxiety acknowledged then suppressed.</summary>
<div class="journal-entry-body">
<p>Megan's vanity drawer contains more than makeup: a school counsellor's card with a phone number never called, anxiety medication samples never opened, and a half-written letter to Karen that was never sent. At fourteen, someone saw Megan's anxiety. Karen gave her shame instead of treatment.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Someone tried to help her once. The counsellor saw through the performance. Karen intercepted, not out of cruelty, but out of the same rigid control that governs everything in this house. Mental illness was an imperfection the Hoffman household couldn't afford to acknowledge.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Untreated anxiety is a deep vulnerability. Megan's coping mechanism (performance) is fragile, destabilize the audience and the performer collapses. The buried evaluation is leverage against Karen's parenting.</div>
</div></details>
<</if>>
<<if $labIntel and $labIntel.meganPsychEval>>
<details class="journal-entry"><summary>Attic discovery. Psychiatric evaluation, Karen buried it with the Christmas lights.</summary>
<div class="journal-entry-body">
<p>A taped-shut box in the attic. Inside: medical bills, a psychiatric evaluation for Megan at age 14, a school counsellor's referral, and a prescription never filled. Karen hid it here, not thrown away, not acted upon. Stored.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The anxiety was real. The treatment was available. Karen chose control over care. The prescription sits in a box marked "DO NOT OPEN", the most Karen thing in this house.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Megan's untreated anxiety makes her pheromone-responsive. Karen's guilt about the buried evaluation is a secondary lever.</div>
</div></details>
<</if>>
/* Megan profile SP now handled by the rolling intel ledger. */
</div>
<</if>>
/* ===== JESS ===== */
<<set _jessCount to 0>><<set _jessMax to 7>>
<<if $delveInfo and $delveInfo.jess>><<set _jessCount += 1>><</if>>
<<if $ch2Events and $ch2Events.readJournal>><<set _jessCount += 1>><</if>>
<<if $delveInfo and $delveInfo.jessDeep>><<set _jessCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessDreamHarvested>><<set _jessCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessNightObserved>><<set _jessCount += 1>><</if>>
<<if $ch2Events and $ch2Events.jessBathroomObservedNSFW>><<set _jessCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedJessTuition>><<set _jessCount += 1>><</if>>
<<if _jessCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<link "Jessica Hoffman" "Journal-Profile-Jess">><</link>> <span class="lock-hint">(<<= _jessCount >>/<<= _jessMax >>)</span></h3>
<<if $delveInfo and $delveInfo.jess>>
<details class="journal-entry"><summary>Surface, exam stress, family burden. Treats her body as a study aid.</summary>
<div class="journal-entry-body">
<p>Jess's surface mind is a study schedule. Every hour blocked, every meal optional, every break a failure. She views her body as an obstacle to academic performance, sleep is inefficiency, hunger is weakness, exhaustion is the price of the only future she can see.</p>
<div class="journal-hivemind">The eldest daughter carries debt that isn't hers and guilt she didn't earn. She studies medicine not because she loves it but because it's the most expensive degree she can afford to feel guilty about. Her body is a machine she's running into the ground.</div>
<div class="journal-tactical">Jess's self-neglect is a conditioning opportunity. Offer physical relief (better sleep, reduced stress through pheromones) and she'll unconsciously associate the parasite's presence with the only rest she gets.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.readJournal>>
<details class="journal-entry"><summary>Journal, tuition crisis. Guilt as primary motivator.</summary>
<div class="journal-entry-body">
<p>Jess's desk drawer contains the archaeology of financial desperation: rejected grants, predatory loan documents, a work-study contract that pays less than minimum wage. At the bottom: a letter from Karen giving permission to quit. Jess read it and went back to studying.</p>
<div class="journal-hivemind">Permission isn't the same as a solution. Karen gave her daughter the words but not the money. The letter sits at the bottom of the drawer like an expired coupon for a life Jess can't afford.</div>
<div class="journal-tactical">Financial guilt is Jess's primary motivator. Removing the guilt (clearing the debt, finding alternative funding) would fundamentally alter her psychology, and her susceptibility to conditioning.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.jessDeep>>
<details class="journal-entry"><summary>Deep, shrinking room. Walls closing in, buried under textbooks. Most brittle mind.</summary>
<div class="journal-entry-body">
<p>Jess's deep mind is a room that shrinks. The walls push inward, textbooks stack to the ceiling, the desk lamp flickers. She responds to the compression by working harder, studying faster, reading smaller text, taking notes in tighter handwriting. She never questions why the room is shrinking.</p>
<div class="journal-hivemind">The most brittle mind in this house. She bends under pressure instead of breaking, but that makes the eventual break catastrophic. When Jess stops, she won't stop halfway. She'll collapse completely. And in that collapse: opportunity.</div>
<div class="journal-tactical">Jess's coping mechanism is acceleration under pressure. Apply pressure and she works harder. Remove pressure suddenly and she doesn't know what to do with herself. The breakdown route exploits the removal; the caretaker route exploits the acceleration.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.jessDreamHarvested>>
<details class="journal-entry"><summary>Dream harvest, sexuality repressed by obligation. Spore-pheromone bypasses defenses.</summary>
<div class="journal-entry-body">
<p>The dream walk revealed what Jess's conscious mind refuses to acknowledge: a body that wants things she considers frivolous. Physical desire suppressed under layers of academic obligation. The spore-pheromone compound bypasses her intellectual defenses entirely, it speaks to the body, not the mind.</p>
<div class="journal-hivemind">She has never given herself permission to want anything that isn't productive. The pheromones don't create desire, they give it a voice loud enough to drown out the guilt. For the first time in years, her body is speaking louder than her study schedule.</div>
<div class="journal-tactical">Jess's sexuality is the one area her rigid self-control doesn't cover, because she never acknowledged it exists. Conditioning through this channel meets zero conscious resistance.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.jessNightObserved>>
<details class="journal-entry"><summary>Jess's exhaustion cycle. Crashes after 2 AM. Abandoned therapist search.</summary>
<div class="journal-entry-body">
<p>Jess studies until her body fails, usually crashing between 2 and 3 AM, face on textbook, laptop still open. Her browser history reveals an abandoned therapist search from three months ago: intake forms started, never submitted. She decided she couldn't afford the time or the money.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She almost asked for help. Three months ago, something broke badly enough that she typed "therapist near me" into a search bar. Then she looked at the cost, looked at her schedule, and closed the tab. The most dangerous moment in her decline, and she talked herself out of the only exit.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Post-2 AM crash is a guaranteed conditioning window. Jess's mental defenses are nonexistent during exhaustion collapse. The abandoned therapy search confirms she recognizes the problem but won't solve it, ideal for dependency conditioning.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.jessBathroomObservedNSFW>>
<details class="journal-entry"><summary>Jess's post-shower mirror moment. Her only emotional vulnerability.</summary>
<div class="journal-entry-body">
<p>Jess's 4-minute showers are clinical, efficient, joyless, functional. But for 30 seconds after stepping out, she stands in front of the mirror and looks at herself. Not studying anatomy. Just... looking. It's the only time she sees herself as a person instead of a machine. The pheromone residue reaches her in that window.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Thirty seconds of honesty. She looks at the dark circles and the collarbones and the body she treats as an inconvenience, and for half a minute she is //present// in it. That mirror moment is the crack in the armour, the only time Jess acknowledges she is flesh, not function.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">The post-shower vulnerability window is narrow but potent. Pheromone exposure during this 30-second emotional opening bypasses intellectual defenses entirely. Biofilm concentration should be maximized on the mirror surface.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedJessTuition>>
<details class="journal-entry"><summary>Jess's tuition crisis. Drowning in debt that isn't hers.</summary>
<div class="journal-entry-body">
<p>Jess's desk contains the full picture: student loan documents with predatory interest rates, a rejected scholarship application, pay stubs from a work-study job that covers groceries but not tuition. The debt is partially Karen's, cosigned loans that Karen can no longer service. Jess knows. Karen knows Jess knows. Neither speaks about it.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">She is drowning in debt that isn't hers, carrying a financial weight her mother shifted onto her shoulders without ever saying the words. The silence between them is load-bearing, break it, and the obligation that drives Jess collapses. Or calcifies.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Financial desperation is Jess's deepest vulnerability. Offering relief (real or illusory) creates instant dependency. The shared debt with Karen is a lever that moves both targets simultaneously.</div>
</div></details>
<</if>>
/* Jess profile SP now handled by the rolling intel ledger. */
</div>
<</if>>
/* ===== RYAN ===== */
<<set _ryanCount to 0>><<set _ryanMax to 6>>
<<if $delveInfo and $delveInfo.ryan>><<set _ryanCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ryanDeep>><<set _ryanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.ryanDreamHarvested>><<set _ryanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.ryanNightObserved>><<set _ryanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedRyanDiscord>><<set _ryanCount += 1>><</if>>
<<if $ch2Events and $ch2Events.examinedRyanCloset>><<set _ryanCount += 1>><</if>>
<<if _ryanCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<link "Ryan Hoffman" "Journal-Profile-Ryan">><</link>> <span class="lock-hint">(<<= _ryanCount >>/<<= _ryanMax >>)</span></h3>
<<if $delveInfo and $delveInfo.ryan>>
<details class="journal-entry"><summary>Surface, Lily draft unsent, guild abandoned, gecko is emotional anchor. Loneliest in the house.</summary>
<div class="journal-entry-body">
<p>Ryan's surface thoughts are a graveyard of abandoned connections. The unsent message to LilyPad_, read, never replied to. The MMO guild he stopped logging into. The guitar case Dale gave him, still latched. The only living thing he interacts with voluntarily is Spike, his gecko.</p>
<div class="journal-hivemind">The loneliest person in a house full of lonely people. Ryan's isolation isn't imposed, it's //constructed//, one withdrawal at a time. He stopped answering messages, stopped leaving his room, stopped expecting anyone to notice. And when no one noticed, it confirmed everything he already believed about himself.</div>
<div class="journal-tactical">Ryan's isolation makes him the easiest target for sustained conditioning. No external relationships to compete with. No social baseline to disrupt. The gecko is the only emotional anchor, control the gecko, and you control Ryan's entire emotional ecosystem.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.ryanDeep>>
<details class="journal-entry"><summary>Deep, MMO world with family as NPCs. Gaming is dissociation. Most pliable mind.</summary>
<div class="journal-entry-body">
<p>Ryan's deep mind is a game world. His family members are NPCs with scripted dialogue, Karen the quest-giver who only has complaints, Dale the absent merchant, Jess the overachiever NPC with no time, Megan the popular character he can't interact with. He cast himself as a spectator in his own life.</p>
<div class="journal-hivemind">The most pliable mind in this house. Ryan has already built the infrastructure for escape, a digital world where nothing is real and nothing hurts. The parasite doesn't need to create a fantasy. It just needs to inhabit the one Ryan already lives in.</div>
<div class="journal-tactical">Ryan's dissociation makes deep manipulation trivial. He already confuses digital interaction with real connection. Screen Puppetry, Memory Implant, and Dream Walk all exploit a mind that doesn't distinguish between internal and external reality.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.ryanDreamHarvested>>
<details class="journal-entry"><summary>Dream harvest, sexuality virtual, no real experience. Touch-starvation extreme.</summary>
<div class="journal-entry-body">
<p>The dream walk exposed Ryan's sexuality: entirely virtual, mediated through screens. He has never been touched romantically. The touch-starvation is so extreme that the cat sleeping on his bed produces a measurable neurochemical response. His body is desperate for contact his mind won't seek.</p>
<div class="journal-hivemind">Nineteen years old and his most intimate physical relationship is with a cat that sleeps on his feet. The pheromone conditioning doesn't need to do much, his body is a dry sponge. Any attention, any warmth, any touch will be absorbed completely and instantly.</div>
<div class="journal-tactical">Physical conditioning through animal host contact (cat on bed, gecko on shoulder) will establish neural pathways for parasitic influence. Ryan won't resist, he doesn't know what resistance feels like because he's never had anything worth protecting.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.ryanNightObserved>>
<details class="journal-entry"><summary>Ryan's nocturnal schedule. Games until ~2:47 AM. Touch-starved and isolated.</summary>
<div class="journal-entry-body">
<p>Ryan's room glows blue until just before 3 AM, monitor light through the door crack, mechanical keyboard clicks in irregular bursts. He eats at his desk. He talks to no one. The gecko sits on his shoulder for hours. When he finally sleeps, it's sudden and total at 2:47 AM almost to the minute, mid-game, mid-sentence, controller in hand.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">He's awake when the house sleeps and sleeps when the house wakes. The schedule isn't teenage rebellion, it's an escape from every waking hour that might require human interaction. The gecko gets more physical contact than any family member has received from him in years.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Ryan's 2:47 AM crash is a guaranteed access window, precise to the minute per gecko thermal data. His pre-sleep exhaustion eliminates resistance. Gecko host already positioned on his body. Touch-starvation makes any physical conditioning stimulus disproportionately effective.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedRyanDiscord>>
<details class="journal-entry"><summary>Ryan's Discord. LilyPad_ may be his last emotional anchor.</summary>
<div class="journal-entry-body">
<p>Ryan's Discord shows a graveyard of abandoned conversations, guild channels he stopped replying in, friend requests left pending for months. One thread is still active: LilyPad_, someone he's never met but talks to every night. The messages are careful, vulnerable, real. She may be the last person he trusts.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">His isolation is self-imposed but terminal. Every abandoned conversation is a bridge he burned. LilyPad_ is the last one standing, and he types her name and deletes it every night before sending. He's rehearsing the loss of his final connection before it happens.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">LilyPad_ is Ryan's emotional lifeline. Control the digital environment (Screen Puppetry) and you control this relationship. Sever it and Ryan has nothing. Weaponize it and Ryan follows wherever the conversation leads.</div>
</div></details>
<</if>>
<<if $ch2Events and $ch2Events.examinedRyanCloset>>
<details class="journal-entry"><summary>Ryan's closet. Unopened gifts. Conversations that never happened.</summary>
<div class="journal-entry-body">
<p>The closet floor is a museum of failed connections: a guitar from Dale (still in the case), a journal from Karen (spine uncracked), a concert ticket from Megan (expired), a study guide from Jess (shrink-wrapped). Every gift represents a conversation someone tried to start and Ryan refused to have.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Every unopened gift is a conversation that never happened. His family stopped reaching him years ago, not because they stopped trying, but because he made the cost of trying too high. The closet is where love goes to expire in this house.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">The gifts are evidence of emotional investment Ryan rejected. Memory Implant targeting these objects can reframe rejection as regret, creating guilt-based conditioning pathways that bypass his dissociative defenses.</div>
</div></details>
<</if>>
/* Ryan profile SP now handled by the rolling intel ledger. */
</div>
<</if>>
/* ===== BEHAVIORAL INTEL — skill-discovered insights ===== */
<<set _anyBI to false>>
<<for _biName range ["karen", "megan", "jess", "ryan", "dale"]>>
<<if $behavioralIntel[_biName]>>
<<for _biKey, _biVal range $behavioralIntel[_biName]>>
<<if _biVal>><<set _anyBI to true>><</if>>
<</for>>
<</if>>
<</for>>
<<if _anyBI>>
<h2 style="color:#40bfbf; border-bottom: 1px solid #40bfbf; margin-top:1.5em;">BEHAVIORAL INTEL</h2>
<div class="data-panel-muted" style="margin-bottom:0.8em;">Insights discovered through skill and adaptation usage. Complete a family member's profile for +1 Skill Point.</div>
<<set _biMax to { karen: 5, megan: 5, jess: 5, ryan: 5, dale: 4 }>>
<<set _biLabels to {
karen: { vulnmap: "Stress markers & medication cycle", arousal: "Hormonal shift detection", emotionalmirror: "Trust response patterns", predator: "Daily movement mapped", biofilm: "Surface contact analysis" },
megan: { vulnmap: "Performance anxiety markers", arousal: "Marcus response detected", precision: "Phone unlock pattern", emotionalmirror: "Approval-seeking expressions", contaminator: "Personal items contamination" },
jess: { vulnmap: "Exhaustion biomarkers", toxin: "Caffeine dependency exploitable", nightvision: "3 AM study pattern mapped", biofilm: "Desk contamination saturation", trackscent: "Stress hormone signature" },
ryan: { vulnmap: "Isolation pathology mapped", precision: "Gaming schedule & keyboard", taildrop: "Panic response calibrated", wallgrip: "Terrarium observation data", distributed: "Screen activity monitored" },
dale: { trackscent: "Fatigue & medication scent", territory: "Garage territory mapped", neurallink: "Shift schedule predicted", tunnel: "Wall cavity routes mapped" }
}>>
<<for _biName range ["karen", "megan", "jess", "ryan", "dale"]>>
<<set _biCount to 0>>
<<if $behavioralIntel[_biName]>><<for _k, _v range $behavioralIntel[_biName]>><<if _v>><<set _biCount += 1>><</if>><</for>><</if>>
<<if _biCount gt 0>>
<div class="status-section">
<h3 class="status-section-title"><<= _biName.toUpperFirst() >> <span class="lock-hint">(<<= _biCount >>/<<= _biMax[_biName] >>)</span></h3>
<<for _biKey, _biLabel range _biLabels[_biName]>>
<<if $behavioralIntel[_biName][_biKey]>>
<details class="journal-entry"><summary><<= _biLabel >></summary>
<div class="journal-entry-body">
<div class="journal-hivemind">Behavioral pattern recorded. This data refines the conditioning model for <<= _biName.toUpperFirst() >>.</div>
</div></details>
<<else>>
<div class="data-panel-muted" style="font-size:0.8em;padding:0.2em 0.5em;margin:0.2em 0;">?, Undiscovered</div>
<</if>>
<</for>>
/* Behavioural profile SP now handled by the rolling intel ledger. */
</div>
<</if>>
<</for>>
<</if>>
<<link "← Back to Journal">><<goto "Journal">><</link>><<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<<journalCategoryStart "ops">>
<h2 style="color:#a04ad9; border-bottom: 1px solid #a04ad9;">OPERATIONS</h2>
/* ===== HOUSE OPERATIONS ===== */
<<set _opsCount to 0>><<set _opsMax to 4>>
<<if $house and $house.basementUnlocked>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.carKeysObtained>><<set _opsCount += 1>><</if>>
<<if $ch2Events and $ch2Events.karenSleepEnhanced>><<set _opsCount += 1>><</if>>
<<if $house and $house.roomsExplored and $house.roomsExplored.atticBoxes>><<set _opsCount += 1>><</if>>
<<if _opsCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">House Operations <span class="lock-hint">(<<= _opsCount >>/<<= _opsMax >>)</span></h3>
<<if $house and $house.basementUnlocked>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "basementUnlocked">>Basement discovered. Workshop and storage accessible.</summary>
<div class="journal-entry-body">
<p>The basement is accessible via the kitchen door. Contains Dale's workshop (tools, photos, BioGenesis security labels) and general storage. Damp, poorly lit, rarely visited by the family.</p>
<div class="journal-hivemind">Below the family's feet: a space they've forgotten. The rat can nest here undisturbed. The walls are thin, the pipes are warm, and no one checks the corners.</div>
<div class="journal-tactical">Basement nest generates passive biomass. Workshop contains facility intel (Dale's security labels, photos). Strategic position for wall cavity network expansion.</div>
</div></details>
<<journalEntrySeen "ops" "basementUnlocked">>
<</if>>
<<if $house and $house.roomsExplored and $house.roomsExplored.atticBoxes>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "atticBoxes">>Attic secrets, Megan's psychiatric evaluation at 14, hidden by Karen.</summary>
<div class="journal-entry-body">
<p>A taped box in the attic contains Megan's psychiatric referral from age 14, a school counsellor's recommendation, a prescription never filled, and a note from Karen about shame.</p>
<div class="journal-hivemind">Karen buried Megan's mental health the way this family buries everything, in a box, in the attic, behind other boxes. The prescription expired. The anxiety didn't.</div>
<div class="journal-tactical">Leverage against Karen (failed parental duty) or Megan (hidden vulnerability). The psychiatric history confirms Megan's susceptibility to pheromone conditioning.</div>
</div></details>
<<journalEntrySeen "ops" "atticBoxes">>
<</if>>
<<if $ch2Events and $ch2Events.carKeysObtained>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "carKeys">>Jess's Honda car keys extracted from Karen's purse.</summary>
<div class="journal-entry-body">
<p>The cat extracted Jess's spare car keys from Karen's purse using Retractable Claws. The Honda is parked in the driveway, mobile transport for future operations.</p>
<div class="journal-tactical">Vehicle access enables external operations: university scouting, coffee shop surveillance, neighbourhood expansion.</div>
</div></details>
<<journalEntrySeen "ops" "carKeys">>
<</if>>
<<if $ch2Events and $ch2Events.karenSleepEnhanced>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "karenSleepEnhanced">>Karen's sleep chemically enhanced via medicine cabinet operation.</summary>
<div class="journal-entry-body">
<p>The gecko accessed the medicine cabinet and applied a biofilm compound to Karen's Zolpidem tablets. The enhanced sedation deepens her sleep cycle and extends the unmonitored night window.</p>
<div class="journal-hivemind">She already drugs herself to sleep. I just improved the dosage. The irony is that she'll sleep better than she has in months, and attribute it to finally "relaxing."</div>
<div class="journal-tactical">Extended night window for all nocturnal operations. Karen will not wake during Night Harvest, Dream Walk, or bedroom access events.</div>
</div></details>
<<journalEntrySeen "ops" "karenSleepEnhanced">>
<</if>>
<<if _opsCount gte _opsMax and not $journalSP.houseOps>>
<<set $journalSP.houseOps to true>>
<<addSkillPoints 1 "journalHouseOps">>
<div class="evolve-unlock">Topic complete: House Operations, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== TIER 3 — APEX OPERATIONS ===== */
<<set _apexCount to 0>><<set _apexMax to 4>>
<<if $houseState and $houseState.bossInfiltrated>><<set _apexCount += 1>><</if>>
<<if $houseState and $houseState.cumshareRitualHeld>><<set _apexCount += 1>><</if>>
<<if $houseState and $houseState.hvacCompromised>><<set _apexCount += 1>><</if>>
<<if $houseState and $houseState.nestBuilt>><<set _apexCount += 1>><</if>>
<<if _apexCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Tier 3, Apex Operations <span class="lock-hint">(<<= _apexCount >>/<<= _apexMax >>)</span></h3>
<<if $houseState.bossInfiltrated>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "bossInfiltrated">>Karen's Promotion, boss dominated, raise obtained, income increased.</summary>
<div class="journal-entry-body">
<p>Karen pitched her manager Mr. Reyes for a 20% raise. Reyes refused the raise on budget grounds. The gecko in Karen's tote bag deployed Psychic Domination via ankle contact, lowering Reyes's inhibition and delivering a pheromone spike to Karen simultaneously. The pitch became sex on the desk. Karen left with the raise approved, effective Monday.</p>
<div class="journal-hivemind">Arousal patterns are arousal patterns, regardless of the room they happen in. Reyes believes he chose to give her the raise. Karen believes she pitched well. //Both are wrong in the same room.// The photo of his kids is still face-down on his desk.</div>
<div class="journal-tactical">Household income increased. Mr. Reyes added to $conditioning.reyes as a reachable external asset (+3 psionic). Future ops can target Reyes via the same pheromone trace.</div>
</div></details>
<<journalEntrySeen "ops" "bossInfiltrated">>
<</if>>
<<if $houseState.cumshareRitualHeld>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "cumshareRitualHeld">>Cumshare Ritual, household rite installed, files under normal routine.</summary>
<div class="journal-entry-body">
<p>Biological Architect was used to restructure the family's associative wiring around a weekly shared deposit ritual. Karen gathered the family in the living room on Sunday evening, produced a ceramic bowl, and ran the first rite. Dale and Ryan contributed. The gecko delivered the Biological Architect payload as a third "contribution". Karen, Megan, and Jess shared the bowl.</p>
<div class="journal-hivemind">The rewrite happened at the //category// level, not the behavioural level. The family does not experience the ritual as transgressive, it is filed under the same cortical region as //taking out the recycling on Thursday//. There is nothing to hide because there is nothing to flag. //This is the deepest win I have scored in this household so far.//</div>
<div class="journal-tactical">Weekly ritual, automatic. All 5 family members receive +2 psionic +1 dream at each occurrence. Ritual is self-sustaining and does not require further operator attention.</div>
</div></details>
<<journalEntrySeen "ops" "cumshareRitualHeld">>
<</if>>
<<if $houseState.hvacCompromised>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "hvacCompromised">>HVAC Conversion, house cognitively sealed, suspicion permanently neutralised.</summary>
<div class="journal-entry-body">
<p>Spore Network + Adaptive Metabolism routed continuous spore production through the basement HVAC unit. The rat's sporocyst output and the gecko's stabiliser compound now combine in the central air system, distributing a sub-visible sustain dose to every room in the house 24/7.</p>
<div class="journal-hivemind">The spores do not condition, they //suppress//. The family's pattern-recognition cortex is chemically muted at the baseline level. //They cannot form suspicious thoughts while breathing the fog.// Jess sees the inconsistencies and does not investigate. Karen hears the footsteps and does not react. Dale smells the strange air and does not remember noticing.//</div>
<div class="journal-tactical">Household suspicion and all individual family suspicion permanently zero. No new positive suspicion gains will register. The Hoffman house is a cognitively sealed Petri dish. //Every remaining action in this house is free.//</div>
</div></details>
<<journalEntrySeen "ops" "hvacCompromised">>
<</if>>
<<if $houseState.nestBuilt>>
<details class="journal-entry"><summary><<journalNewBadge "ops" "nestBuilt">>The Nest, basement substrate built, breeding cycle active.</summary>
<div class="journal-entry-body">
<p>Baseline Shift + Hivemind Convergence + Sensory Bridge + sporocyst have combined to grow a living biological substrate through the basement floor and walls. The parasite's body has extended into the architecture, producing grub-like appendages that breed eligible targets on command. Conditioned family members walk down to the basement in the middle of the night and do not remember why.</p>
<div class="journal-hivemind">The basement is no longer the basement. //The room is an extension of my will and what I have become.// I have deposited eggs for the first time in the history of this specimen. The targets are carrying clutches of twelve. They do not know. The HVAC fog has sealed the noticing.</div>
<div class="journal-tactical">Bred targets so far: <<= $houseState.bredTargets.length >> of 3 (<<if $houseState.bredTargets.length gt 0>><<= $houseState.bredTargets.map(function(n) { return n.toUpperFirst(); }).join(", ") >><<else>>none yet<</if>>). Max biomass reserve: <<= $player.maxBiomass >>. Repeat visits to bred targets yield +2 biomass per scene. Egg gestation is the chapter 2 → chapter 3 hook.</div>
</div></details>
<<journalEntrySeen "ops" "nestBuilt">>
<</if>>
<<if _apexCount gte _apexMax and not $journalSP.apexOps>>
<<set $journalSP.apexOps to true>>
<<addSkillPoints 2 "journalApexOps">>
<div class="evolve-unlock">Topic complete: Tier 3 Apex Operations, +2 Skill Points</div>
<</if>>
</div>
<</if>>
/* ===== INVESTIGATION STATUS ===== */
<<if $labOutcome and $labOutcome.eventRate gt 0>>
<div class="status-section">
<h3 class="status-section-title" style="color:#f44336">Lab Investigation</h3>
<details class="journal-entry" open><summary>Escape Rating: <<= $labOutcome.rating >>, Event Rate: <<= $labOutcome.eventRate >> day<<if $labOutcome.eventRate gt 1>>s<</if>></summary>
<div class="journal-entry-body">
<p>BioGenesis is investigating the breach. Events fire every <<= $labOutcome.eventRate >> day<<if $labOutcome.eventRate gt 1>>s<</if>><<if $daleCountermeasure gt 0>>, delayed by <<= $daleCountermeasure * 2 >> days (Dale countermeasure level <<= $daleCountermeasure >>)<</if>>.</p>
<<if $labEvents.trailCold>>
<div class="journal-hivemind">The trail is cold. The investigation has been redirected. BioGenesis is looking in the wrong place.</div>
<<else>>
<div class="journal-tactical">Events triggered: <<= $labEvents.triggered.length >> / <<= setup.getLabEventChain($labOutcome.rating).length >>.
<<if $daleCountermeasure lt 2>>
Condition Dale through dream and psionic manipulation to delay events. Complete Piggyback operation to end the threat permanently.
<<else>>
Dale is deflecting. <<if $daleCountermeasure lt 3>>Complete Piggyback operation to plant false evidence and end the investigation.<</if>>
<</if>>
</div>
<</if>>
</div></details>
<<for _evt range $labEvents.triggered>>
<details class="journal-entry"><summary><<= _evt >></summary>
<div class="journal-entry-body">
<<if _evt is "newsReport">>TV news covered a "security incident" at BioGenesis. Karen noticed.
<<elseif _evt is "detectivesVisit">>Detectives canvassed the neighbourhood asking about animal behaviour.
<<elseif _evt is "missingPerson">>A federal agent questioned Dale about the containment breach at BioGenesis.
<<elseif _evt is "areaSearch">>Police conducted a visible area search on the street.
<<elseif _evt is "corporateAgent">>A BioGenesis risk management agent visited Dale at home.
<</if>>
</div></details>
<</for>>
</div>
<</if>>
/* ===== THREATS ===== */
<<if $ch2Events and ($ch2Events.exterminatorComing or $ch2Events.karenInspectionDiverted)>>
<div class="status-section">
<h3 class="status-section-title">Active Threats</h3>
<<if $ch2Events.exterminatorComing>>
<details class="journal-entry" open><summary style="color:#f44336;">WARNING: Exterminator called<<if $ch2Events.exterminatorDay>>, arriving day <<= $ch2Events.exterminatorDay >><</if>></summary>
<div class="journal-entry-body">
<p>Karen has called pest control. Professional treatment will target walls, vents, and crawl spaces, everywhere the rat network operates. The rat host is at direct risk.</p>
<div class="journal-hivemind">They're coming for the walls. My walls. The rat must be repositioned or the network collapses.</div>
</div></details>
<</if>>
<<if $ch2Events.karenInspectionDiverted>>
<details class="journal-entry"><summary>Karen's investigation diverted via fire scare. Suspicion lingers.</summary>
<div class="journal-entry-body">
<p>Karen was searching the house systematically. The false alarm diverted her attention, but the underlying suspicion remains. She is watching more carefully now.</p>
<div class="journal-tactical">Karen's suspicion has not been eliminated, only delayed. Reduce visible host activity and avoid direct observation for the next 2-3 days.</div>
</div></details>
<</if>>
</div>
<</if>>
/* ===== EXTERNAL LOCATIONS ===== */
<<set _extCount to 0>><<set _extMax to 3>>
<<if $geckoHitchhike and $geckoHitchhike.explored and $geckoHitchhike.explored.coffeeShop>><<set _extCount += 1>><</if>>
<<if $geckoHitchhike and $geckoHitchhike.explored and $geckoHitchhike.explored.university>><<set _extCount += 1>><</if>>
<<if $ch2Events and $ch2Events.dogFenceScout>><<set _extCount += 1>><</if>>
<<if $ch2Events and $ch2Events.hendersonScouted>><<set _extCount += 1>><</if>>
<<if _extCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">External Locations <span class="lock-hint">(<<= _extCount >>/<<= _extMax >>)</span></h3>
<<if $geckoHitchhike.explored.coffeeShop>>
<details class="journal-entry"><summary>The Grounds coffee shop, Megan's workplace. Marcus identified.</summary>
<div class="journal-entry-body">
<p>Small independent coffee shop where Megan works morning shifts. Marcus is the other barista, older, confident, romantically interested in Megan. The gecko mapped entry points and observed customer patterns.</p>
<div class="journal-hivemind">Eight hours a day, Megan exists outside the family's orbit. The coffee shop is unmonitored territory, no Karen, no Dale, no household surveillance. Whatever happens here, no one at home will know.</div>
<div class="journal-tactical">Conditioning vector: Megan + Marcus interactions can be pheromone-enhanced on-site. Expansion vector: coffee shop provides access to hundreds of daily customers for future network growth.</div>
</div></details>
<</if>>
<<if $geckoHitchhike.explored.university>>
<details class="journal-entry"><summary>State University mapped. BioGenesis research wing in Whitmore basement.</summary>
<div class="journal-entry-body">
<p>The university campus sprawls across 300 acres. Eight thousand students. In the basement of Whitmore Hall: a BioGenesis satellite research facility, smaller than the main lab but active. Jess attends classes here.</p>
<div class="journal-hivemind">Eight thousand minds in one location. Lecture halls, dormitories, labs, each one a potential node in a network that makes the Hoffman house look like a practice run. And in the basement: BioGenesis. They're already here.</div>
<div class="journal-tactical">University ending: infiltrate via Jess's enrollment. BioGenesis satellite lab is a secondary target, smaller security, potentially accessible through academic credentials.</div>
</div></details>
<</if>>
<<if $ch2Events.dogFenceScout>>
<details class="journal-entry"><summary>Neighbourhood scent map, fence line catalogued. Three properties, escape routes.</summary>
<div class="journal-entry-body">
<p>Biscuit's nose mapped the entire fence perimeter. North: the Hendersons (two humans, small dog, outdoor cat). East: empty lot with storm drain access. South: the Parkers (elderly man, alone, garden chemicals). West: alley with garbage collection and stray cats.</p>
<div class="journal-hivemind">The neighbourhood is a library and every molecule is a word. Three properties catalogued. Two potential expansion targets. One escape route through the storm drain.</div>
<div class="journal-tactical">Henderson property now accessible for scouting. Storm drain provides emergency escape route. The Parker property is a future target, isolated elderly male with no pets.</div>
</div></details>
<</if>>
<<if $ch2Events.hendersonScouted>>
<details class="journal-entry"><summary>Henderson property, back gate broken, no cameras. Expansion territory.</summary>
<div class="journal-entry-body">
<p>The Henderson house is next door. Perfect lawn, painted shutters, the family that works. Their back gate has a broken latch and they have no security cameras. The fence gap between properties is already open.</p>
<div class="journal-hivemind">The first step beyond the Hoffman walls. The Hendersons represent a template: another family, another house, another set of vulnerabilities. If the method works here, it works everywhere.</div>
<div class="journal-tactical">Neighbourhood ending: use Henderson property as first expansion node. Broken gate = zero-suspicion access. Model for systematic suburban infiltration.</div>
</div></details>
<</if>>
<<if _extCount gte _extMax and not $journalSP.external>>
<<set $journalSP.external to true>>
<<addSkillPoints 1 "journalExternal">>
<div class="evolve-unlock">Topic complete: External Locations, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== ANIMAL NETWORK ===== */
<<if $beastRoute is "symbiotic" and $animalNetwork and Object.keys($animalNetwork.hosts).length gt 0>>
<div class="status-section">
<h3 class="status-section-title">Animal Network, <<= Object.keys($animalNetwork.hosts).length >> Hosts</h3>
<<for _hostKey, _hostVal range $animalNetwork.hosts>>
<<capture _hostKey, _hostVal>>
<details class="journal-entry"><summary><b><<= _hostKey.toUpperFirst() >></b>, <<= _hostVal.status or "unknown" >></summary>
<div class="journal-entry-body">
<p>Location: <<= setup.roomName(_hostVal.location) or _hostVal.location or "house" >>. Status: <<= _hostVal.status or "active" >>.</p>
</div></details>
<</capture>>
<</for>>
</div>
<</if>>
/* ===== HOST MEMORIES ===== */
<<set _memCount to 0>><<set _memMax to 4>>
<<if $delveInfo and $delveInfo.catHostMemories>><<set _memCount += 1>><</if>>
<<if $delveInfo and $delveInfo.dogHostMemories>><<set _memCount += 1>><</if>>
<<if $delveInfo and $delveInfo.ratHostMemories>><<set _memCount += 1>><</if>>
<<if $delveInfo and $delveInfo.geckoHostMemories>><<set _memCount += 1>><</if>>
<<if _memCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Host Memories <span class="lock-hint">(<<= _memCount >>/<<= _memMax >>)</span></h3>
<<if $delveInfo and $delveInfo.catHostMemories>>
<details class="journal-entry"><summary>Cat host memories, the fault line between Karen and Dale.</summary>
<div class="journal-entry-body">
<p>The cat remembers a late-night living room: Karen venting that Jess skips dinner, Megan runs on no sleep, and Ryan stays shut in his room, and that she is the only one who treats any of it as a problem. Dale, half-asleep with a hand on the cat instead of his wife, calls them kids and says everybody's fine, then sleeps. Karen stays awake beside him, jaw set, in a room full of family.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The strain in this house sits between the two parents, not between the parents and the kids, and only Karen feels it. She carries the family's worry alone every night while Dale treats naming it as the same as solving it.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Karen is isolated inside her own marriage, shouldering the household's emotional load unsupported. When the family destabilises she will reach for whoever is closest, an opening to step into.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.dogHostMemories>>
<details class="journal-entry"><summary>Dog host memories, the sisters' fight over stolen money.</summary>
<div class="journal-entry-body">
<p>Biscuit's loudest memory is a fight: Megan in a new top, Jess on the couch with her cash box open and the roll inside gone thin. Jess says nothing, then throws a hardcover book that catches Megan in the shoulder. Megan calls her a hoarder and a freak; Karen drops the half-octave voice and breaks it up before it becomes a brawl. The dog cowered under the table through all of it.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">Megan took Jess's summer-job savings to buy one thing that wasn't a hand-me-down, and gambled the silence between them would cover it. The household runs on empty, Karen rations harder every month, and the grudge between the sisters is years deep and load-bearing.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">The sisters' resentment is a structural fault line, not a one-off. Financial strain and Megan's hand-me-down humiliation are pressure points: lean on either and the household tips.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.ratHostMemories>>
<details class="journal-entry"><summary>Rat host memories, wall cavity network and basement anomaly.</summary>
<div class="journal-entry-body">
<p>The rat's territory map is three-dimensional: full wall cavity routes between all floors, three reliable paths from basement to attic. The basement door frame smells wrong, chemical, metallic, like the lab. Something in this house connects to BioGenesis, and the rat avoided it instinctively.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The rat built a complete infrastructure map of the spaces between walls. Three routes between floors, each tested and memorized through repetition. And in the basement: a scent the rat feared without understanding. The lab followed me here, or it was here first.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Wall cavity network enables covert movement between all floors without exposure. Three independent routes provide redundancy. Basement chemical scent warrants investigation, potential BioGenesis connection to the Hoffman house.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.geckoHostMemories>>
<details class="journal-entry"><summary>Gecko host memories, Ryan's sleep time and the girl his friends mock.</summary>
<div class="journal-entry-body">
<p>The gecko watches Ryan's nights from the glass above the monitor. One stands out: Ryan boasting to his Discord friends that he talked to a real girl, Lily, for two hours. They ridicule him without mercy, "isn't it your sister again," "did she open the cam, bet it's a scammer," "pics or it's a bot." Ryan insists she's real, then goes quiet, the typing indicator hanging and dying. His body cools into sleep at 2:47 AM, the same as every night.</p>
<div class="journal-detail-label">Parasite Analysis</div>
<div class="journal-hivemind">The one connection Ryan believes in is the one the people closest to him treat as a joke. Whether the girl is real changes nothing. What matters is how badly he needs her to be, and how cheaply that need could be fed by the right voice on the other end of a screen.</div>
<div class="journal-detail-label">Tactical Value</div>
<div class="journal-tactical">Ryan's 2:47 AM sleep onset remains precision data for nocturnal operations. His desperation for the "real girl" validation makes Screen Puppetry the optimal vector, a fabricated message in the right voice would land unquestioned.</div>
</div></details>
<</if>>
<<if _memCount gte _memMax and not $journalSP.hostMemories>>
<<set $journalSP.hostMemories to true>>
<<addSkillPoints 1 "journalHostMem">>
<div class="evolve-unlock">Topic complete: Host Memories, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== OPERATIONS DISCOVERED ===== */
<<set _opDiscCount to 0>><<set _opDiscMax to 10>>
<<if $operationsDiscovered and $operationsDiscovered.mailIntercept>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.evidencePlant>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.pantryPoison>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.washingMachine>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.nightHarvest>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.deepSedation>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.screenPuppetry>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.phoneIntercept>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.showerTrap>><<set _opDiscCount += 1>><</if>>
<<if $operationsDiscovered and $operationsDiscovered.prescriptionManip>><<set _opDiscCount += 1>><</if>>
<<if _opDiscCount gt 0>>
<div class="status-section">
<h3 class="status-section-title">Operations Discovered <span class="lock-hint">(<<= _opDiscCount >>/<<= _opDiscMax >>)</span></h3>
<<if $operationsDiscovered and $operationsDiscovered.mailIntercept>>
<details class="journal-entry"><summary>Information Warfare, intercept and manipulate family mail.</summary>
<div class="journal-entry-body">
<p>The mailbox is unmonitored between Dale's arrival and Karen's morning routine. Letters can be intercepted, read, replaced, or destroyed. Bills, medical correspondence, personal letters, all pass through a 90-minute window of total vulnerability.</p>
<div class="journal-hivemind">Information is the family's circulatory system. Control the mail and you control what each member knows about their own lives. A hidden bill, a redirected letter, a forged response, each one reshapes reality without anyone noticing the edit.</div>
<div class="journal-tactical">Mail interception enables: financial manipulation (hide bills), relationship sabotage (intercept personal letters), and intelligence gathering (medical/legal correspondence).</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.evidencePlant>>
<details class="journal-entry"><summary>Domestic Sabotage, plant items to manipulate family dynamics.</summary>
<div class="journal-entry-body">
<p>Small objects placed in the wrong rooms create outsized effects. A receipt in the wrong pocket. A phone charger under the wrong bed. A lipstick shade no one in this house owns. The family's paranoia does the rest.</p>
<div class="journal-hivemind">Humans are pattern-recognition machines running on insufficient data. Plant one anomaly and they'll construct an entire narrative around it. The evidence doesn't need to prove anything, it just needs to suggest enough for suspicion to do the work.</div>
<div class="journal-tactical">Evidence planting is a force multiplier for inter-family conflict. Target trust bonds between specific family members to isolate conditioning targets from their support networks.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.pantryPoison>>
<details class="journal-entry"><summary>Pantry Poisoning, contaminate food supply with pheromone compound.</summary>
<div class="journal-entry-body">
<p>The pantry is accessed by every family member but monitored by none. Biofilm compound applied to food packaging delivers low-level pheromone exposure through oral ingestion. The effect is subtle, cumulative, and untraceable.</p>
<div class="journal-hivemind">They feed themselves poison every day, processed sugar, caffeine, alcohol. Adding one more compound to the intake is invisible. The pantry becomes a passive conditioning engine: every meal, every snack, every midnight binge advances the process.</div>
<div class="journal-tactical">Pantry contamination provides baseline pheromone exposure across all family members simultaneously. Low individual dose but high cumulative effect over days. Complements targeted delivery methods.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.washingMachine>>
<details class="journal-entry"><summary>Washing Machine, contaminate laundry with pheromone compound.</summary>
<div class="journal-entry-body">
<p>Karen runs laundry on a fixed schedule. Pheromone compound introduced to the wash cycle binds to fabric fibres, providing sustained dermal exposure throughout the day. Every piece of clothing becomes a delivery mechanism.</p>
<div class="journal-hivemind">They will wear it against their skin all day. Every shirt, every sheet, every towel, saturated with a compound they can't smell and can't wash out. The most intimate form of contamination: they'll wrap themselves in it voluntarily.</div>
<div class="journal-tactical">Laundry contamination delivers whole-family pheromone exposure via dermal absorption. Highest sustained contact time of any delivery method. Karen's fixed schedule makes dosing predictable.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.nightHarvest>>
<details class="journal-entry"><summary>Night Harvest, dose multiple sleeping targets in a single operation.</summary>
<div class="journal-entry-body">
<p>Between 2 and 4 AM, multiple family members are in deepest sleep simultaneously. A coordinated nocturnal operation can deliver concentrated pheromone doses to multiple targets in a single pass, bedroom to bedroom, host to host.</p>
<div class="journal-hivemind">They sleep behind unlocked doors in a house they think is safe. Four targets, four bedrooms, four doses, all in one night. The efficiency is clinical. The intimacy is absolute. I stand over them while they dream and they never know.</div>
<div class="journal-tactical">Night Harvest maximizes conditioning output per operation cycle. Requires cat or rat host for silent movement. Risk scales with number of targets, abort if any target shows signs of waking.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.deepSedation>>
<details class="journal-entry"><summary>Deep Sedation, triple-layer sedation for extended psionic access.</summary>
<div class="journal-entry-body">
<p>Combining Karen's enhanced Zolpidem with ambient pheromone saturation and biofilm contact creates a triple-layer sedation state. The target enters a sleep so deep that extended psionic operations, Dream Walk, Memory Implant, deep conditioning, can run without risk of interruption.</p>
<div class="journal-hivemind">Three layers of sedation, each reinforcing the others. The pharmaceutical puts the body down. The pheromones keep it down. The biofilm ensures the nervous system stays receptive. In this state, the mind is an open architecture, I can build whatever I want inside it.</div>
<div class="journal-tactical">Deep Sedation enables extended psionic operations (30+ minutes vs. normal 5-10 minute window). Currently applicable to Karen only (requires enhanced Zolpidem). Adaptable to other targets with sufficient pheromone saturation.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.screenPuppetry>>
<details class="journal-entry"><summary>Screen Puppetry, use gecko to manipulate Ryan's screen.</summary>
<div class="journal-entry-body">
<p>The gecko's position in Ryan's terrarium provides direct line-of-sight to his monitor. With sufficient neural link refinement, the gecko host can interact with the keyboard and mouse while Ryan sleeps, sending messages, browsing history, downloading content. Ryan's entire digital life is accessible.</p>
<div class="journal-hivemind">His world is that screen. His friendships, his identity, his only source of human connection, all mediated through a device a gecko can operate. I don't need to control Ryan. I just need to control what Ryan sees.</div>
<div class="journal-tactical">Screen Puppetry enables: message fabrication (LilyPad_ manipulation), browsing history modification, social engineering through Ryan's online accounts. Most effective during 2:47 AM - 10 AM sleep window.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.phoneIntercept>>
<details class="journal-entry"><summary>Digital Eavesdropping, access family phones during charging.</summary>
<div class="journal-entry-body">
<p>Every family member charges their phone in a predictable location overnight. The gecko host can access unlocked screens; the cat can knock phones into accessible positions. Messages, calendars, banking apps, search history, each phone is a window into its owner's unfiltered life.</p>
<div class="journal-hivemind">They pour their secrets into these devices and leave them unguarded while they sleep. Passwords saved, notifications visible, location tracking active. Each phone is a confession booth that never closes.</div>
<div class="journal-tactical">Phone access provides real-time intelligence on family communications, scheduling, and financial status. Enables message interception, calendar manipulation, and alarm schedule changes.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.showerTrap>>
<details class="journal-entry"><summary>Biofilm Ambush, rig bathroom with pheromone steam trap.</summary>
<div class="journal-entry-body">
<p>Heavy biofilm application to bathroom surfaces, tiles, mirror, showerhead, creates a concentrated pheromone environment when steam activates the compound. The target enters a normal shower and receives a massively amplified dose. The effect is immediate and overwhelming.</p>
<div class="journal-hivemind">The bathroom becomes a chamber. They walk in expecting hot water and privacy. They get both, plus a concentration of pheromone compound ten times the ambient level. The steam carries it into every pore, every breath, every open capillary. They leave different than they entered.</div>
<div class="journal-tactical">Biofilm Ambush delivers the highest single-exposure pheromone dose of any operation. Best deployed before a target-specific conditioning event. Shower schedule determines which family member receives the dose.</div>
</div></details>
<</if>>
<<if $operationsDiscovered and $operationsDiscovered.prescriptionManip>>
<details class="journal-entry"><summary>Prescription Manipulation, tamper with Karen's medication.</summary>
<div class="journal-entry-body">
<p>Karen's prescription bottles are in the medicine cabinet, accessible to the gecko host. Dosage manipulation options: increase Zolpidem for deeper sedation, decrease Sertraline to destabilize mood, or introduce biofilm compound directly into capsules for guaranteed daily ingestion.</p>
<div class="journal-hivemind">She trusts her medication the way she trusts her schedule, absolutely and without question. The pills are her nightly ritual of control. She counts them, takes them, and sleeps believing she chose this. Altering the contents doesn't change the ritual. It changes everything else.</div>
<div class="journal-tactical">Prescription manipulation is the highest-precision dosing vector available. Effects are daily, guaranteed, and attributed to legitimate medication. Karen will not question changes in her sleep quality or mood stability, she'll assume the drugs are working as prescribed.</div>
</div></details>
<</if>>
<<if _opDiscCount gte _opDiscMax and not $journalSP.opsDisc>>
<<set $journalSP.opsDisc to true>>
<<addSkillPoints 1 "journalOpsDisc">>
<div class="evolve-unlock">Topic complete: Operations Discovered, +1 Skill Point</div>
<</if>>
</div>
<</if>>
/* ===== NETWORK RESONANCE ===== */
<<set _resCount to 0>><<set _resMax to 0>>
<<if $resonance>>
<<if $resonance.karenDreamChorus or $resonance.exploredKarenDream>><<set _resCount += 1>><</if>>
<<if $resonance.meganDreamThermal or $resonance.exploredMeganDream>><<set _resCount += 1>><</if>>
<<if $resonance.laundryCalibration or $resonance.exploredLaundry>><<set _resCount += 1>><</if>>
<<if $resonance.pantryPrioritisation or $resonance.exploredPantry>><<set _resCount += 1>><</if>>
<<if $resonance.networkCalibration>><<set _resCount += 1>><</if>>
<<if $resonance.sporeKarenCalibration>><<set _resCount += 1>><</if>>
<<if $resonance.sporeLivingRoom>><<set _resCount += 1>><</if>>
<<if $resonance.convergenceCascade>><<set _resCount += 1>><</if>>
<<set _resMax to 8>>
<</if>>
<<if _resCount gt 0>>
<div class="status-section">
<h3 class="status-section-title" style="color:#a04ad9">Network Resonance <span class="lock-hint">(<<= _resCount >>/<<= _resMax >>)</span></h3>
<<if $resonance.karenDreamChorus>>
<details class="journal-entry"><summary>Karen dream, multi-host chorus amplification</summary>
<div class="journal-entry-body">
<p>During Karen's dream harvest, the network amplified the conditioning signal through four simultaneous sensory feeds. The dog heard her breathing change through the floor. The rat felt her pulse through the wall. The result: a dream-chorus that hit like a verdict instead of a whisper.</p>
<div class="journal-hivemind">Four perspectives. One signal. The dream didn't whisper, it //commanded//.</div>
</div></details>
<</if>>
<<if $resonance.exploredKarenDream and not $resonance.karenDreamChorus>>
<details class="journal-entry"><summary>Karen dream, resonance recovered retrospectively</summary>
<div class="journal-entry-body">
<p>The network wasn't active during Karen's dream harvest. Retrospective analysis of host memory data reconstructed what the chorus would have achieved, deeper conditioning, more persistent dreams, a feeling she couldn't shake for days.</p>
<div class="journal-hivemind">Recovered data. The network learns from what it missed.</div>
</div></details>
<</if>>
<<if $resonance.meganDreamThermal>>
<details class="journal-entry"><summary>Megan dream, thermal and vibrational biometrics</summary>
<div class="journal-entry-body">
<p>The gecko provided thermal imaging of Megan's body heat during the dream harvest. The rat mapped her breathing and movement through the wall. Real-time biometric data shaped the dream as it unfolded, a feedback loop between her body's response and the conditioning signal.</p>
<div class="journal-hivemind">Her body wrote the dream. The network just read it back to her.</div>
</div></details>
<</if>>
<<if $resonance.exploredMeganDream and not $resonance.meganDreamThermal>>
<details class="journal-entry"><summary>Megan dream, resonance recovered retrospectively</summary>
<div class="journal-entry-body">
<p>Thermal and vibrational data from the gecko and rat were available during Megan's dream harvest but unprocessed. Retrospective analysis revealed her body's arousal response could have been used to calibrate dream intensity in real time.</p>
<div class="journal-hivemind">The data existed. The network wasn't ready. Now it is.</div>
</div></details>
<</if>>
<<if $resonance.laundryCalibration>>
<details class="journal-entry"><summary>Laundry, per-person chemical calibration</summary>
<div class="journal-entry-body">
<p>Cross-host scent profiles enabled personalised compound formulation during the laundry operation. Each family member's garments carried a dose calibrated to their specific neurochemistry, Karen's blouse different from Ryan's hoodie, Dale's work shirt different from Jess's sweatshirt.</p>
<div class="journal-hivemind">Five wardrobes. Five formulations. Precision conditioning through fabric.</div>
</div></details>
<</if>>
<<if $resonance.exploredLaundry and not $resonance.laundryCalibration>>
<details class="journal-entry"><summary>Laundry, resonance recovered retrospectively</summary>
<div class="journal-entry-body">
<p>Each host carried scent data about a different family member, but the network wasn't ready to integrate it during the laundry operation. Retrospective analysis identified four distinct chemical profiles that could have enabled per-person dosing.</p>
<div class="journal-hivemind">Generic compound where precision was possible. The network remembers.</div>
</div></details>
<</if>>
<<if $resonance.pantryPrioritisation>>
<details class="journal-entry"><summary>Pantry, high-use item prioritisation</summary>
<div class="journal-entry-body">
<p>Network data identified three items used in nearly every meal: flour, rice, and sugar. Concentrating the compound on these items instead of spreading across twelve tripled the dose-per-serving. Every cup of coffee, every bowl of cereal, every pancake, maximum exposure.</p>
<div class="journal-hivemind">Three items. Every meal. The kitchen is a dispensary.</div>
</div></details>
<</if>>
<<if $resonance.exploredPantry and not $resonance.pantryPrioritisation>>
<details class="journal-entry"><summary>Pantry, resonance recovered retrospectively</summary>
<div class="journal-entry-body">
<p>The cat saw the meal plan. The gecko read the receipt. The dog smelled yesterday's dinner. This data could have focused contamination on flour, rice, and sugar, tripling dose concentration. The network wasn't processing when it mattered.</p>
<div class="journal-hivemind">The pantry was a success. It could have been an operation.</div>
</div></details>
<</if>>
<<if $resonance.networkCalibration>>
<details class="journal-entry"><summary>Network calibration, multi-threaded conditioning precision</summary>
<div class="journal-entry-body">
<p>With Emergent Intelligence active and three or more hosts online, all conditioning signals are calibrated using combined sensory data. The network processes each host's perspective simultaneously, optimising compound delivery and dream manipulation in real time.</p>
<div class="journal-hivemind">Every conditioning gain is amplified. The +1 bonus is automatic.</div>
</div></details>
<</if>>
<<if $resonance.sporeKarenCalibration or $resonance.sporeLivingRoom>>
<details class="journal-entry"><summary>Spore calibration, real-time biometric monitoring</summary>
<div class="journal-entry-body">
<p>During pheromone spore deployment, the network monitors target responses through multiple hosts simultaneously. Microexpressions via the cat. Heartbeat via the rat through the floor. Thermal shifts via the gecko. Each data stream refines the spore concentration in real time.</p>
<div class="journal-hivemind">The spores adapt. The target doesn't notice. The network sees everything.</div>
</div></details>
<</if>>
<<if $resonance.convergenceCascade>>
<details class="journal-entry"><summary>Convergence cascade, multi-perspective amplification</summary>
<div class="journal-entry-body">
<p>Hivemind Convergence with Emergent Intelligence creates a cascade effect. Multiple simultaneous perspectives don't just add, they multiply. The conditioning signal achieves precision that no single host could deliver alone.</p>
<div class="journal-hivemind">Orders of magnitude. The network is more than the sum of its hosts.</div>
</div></details>
<</if>>
</div>
<</if>>
<<journalCategoryEnd "ops">>
<<link "← Back to Journal">><<goto "Journal">><</link>>/* STATUS: RETIRED FROM JOURNAL HUB (2026-06-15). The BioGenesis Trail
category was removed; this page is now unreachable (no hub card links
here). Its three facility-intel entries (basementWorkshop / daleCar /
dale access) will be relocated into Dale's section of the Hoffman
scene-collector in Stage 2. Preserved here as reference per the
rework-backlog convention; do not delete until the relocation lands. */
<<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<h2 style="color:#f44336; border-bottom: 1px solid #f44336;">BIOGENESIS TRAIL</h2>
<<set _bioCount to 0>><<set _bioMax to 3>>
<<if $delveInfo and $delveInfo.basementWorkshop>><<set _bioCount += 1>><</if>>
<<if $delveInfo and $delveInfo.daleCar>><<set _bioCount += 1>><</if>>
<<if $delveInfo and $delveInfo.dale>><<set _bioCount += 1>><</if>>
<div class="status-section">
<h3 class="status-section-title">Known Facilities <span class="lock-hint">(<<= _bioCount >>/<<= _bioMax >>)</span></h3>
<<if $delveInfo and $delveInfo.basementWorkshop>>
<details class="journal-entry"><summary>Two known facilities: Main lab (escaped) and Redfield satellite. Keycard access required.</summary>
<div class="journal-entry-body">
<p>Dale's workshop contains BioGenesis security labels referencing two facilities. The main lab (your origin point) and a second installation in Redfield with a cold storage sub-level. Both require keycard access.</p>
<div class="journal-hivemind">They have more than one facility. The cold storage in Redfield, what are they keeping on ice? More specimens? Earlier generations? The answer matters. If BioGenesis has backups, destroying one lab means nothing.</div>
<div class="journal-tactical">Two-facility operation confirms corporate scale. A return to the main lab is one option; the Redfield facility is an alternative target with potentially weaker security.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.daleCar>>
<details class="journal-entry"><summary>Dale's commute, camera blind spots, Corridor B gap, ventilation access via Bay 3.</summary>
<div class="journal-entry-body">
<p>Dale's drive-home thoughts contained a detailed map of the facility's security weaknesses: the 12-second camera gap in Corridor B, ventilation access through Loading Bay 3, and the shift change window between Frank and the day crew.</p>
<div class="journal-hivemind">He memorized every flaw in the building he was hired to protect. Three years of walking the same corridors, checking the same cameras, knowing exactly where the blind spots are. His incompetence is my intelligence.</div>
<div class="journal-tactical">Direct infiltration route mapped. Corridor B gap allows 12 seconds of unmonitored movement. Bay 3 ventilation provides small-host access to any internal zone.</div>
</div></details>
<</if>>
<<if $delveInfo and $delveInfo.dale>>
<details class="journal-entry"><summary>Sleeping mind came up empty. The facility data sits deeper than the surface.</summary>
<div class="journal-entry-body">
<p>I came to Dale's sleeping mind for the complete facility profile and found it scoured almost bare: exhaustion, a few grooves of worry, and a wide blankness where three years of memorized corridors should have been. The guard's conscious mind has stopped holding the building. His body still walks it; the surface no longer knows it does.</p>
<div class="journal-hivemind">Their security was never only as strong as their weakest guard. It is stronger than that, because the weakest guard cannot even reach what he knows. The data is real and complete, just buried under a man his own routine has hollowed out. Reaching it means going deeper than sleep.</div>
<div class="journal-tactical">No facility intel recoverable from the surface delve. The full security profile lives in Dale's deep body-memory and his commute recall; a deep delve plus the drive-home read together enable the laboratory route.</div>
</div></details>
<</if>>
<<if _bioCount gte _bioMax and not $journalSP.bioTrail>>
<<set $journalSP.bioTrail to true>>
<<addSkillPoints 1 "journalBioTrail">>
<div class="evolve-unlock">Topic complete: BioGenesis Trail, +1 Skill Point</div>
<</if>>
</div>
<<link "← Back to Journal">><<goto "Journal">><</link>>
/* ═══ Lab Vessel route — External Subjects profile pages ═══
One profile per NPC the parasite has conditioned via Chen. Pattern
mirrors Journal-Profile-Karen / -Dale etc. but simpler: no route, no
kink, no household-suspicion — just conditioning bars + a Skill Effects
list (slips fired, delves done, implants planted, bathroom episode
status, etc.). Linked from the StoryCaption sidebar NPC rows and from
the Status page External Subjects section. *//* <<journalCard "DetailPassage" 'innerLinkHTML'>> — renders an unlocked
* Chen's Days outcome card linking to its detail passage. */
<<widget "journalCard">><div class="vessel-card"><<link _args[1] _args[0]>><</link>></div><</widget>><<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<h2 class="journal-vessel-h2">CHEN’S DAYS</h2>
<div class="data-panel-muted">Each card is one way an event can end. Grey cards are outcomes you have not steered the host to yet.</div>
<<set _sushiKiss to ($ch2Events and $ch2Events.hollohalvSushiGoodbyeKissed) or false>>
<<set _sushiBath to ($ch2Events and $ch2Events.hollohalvSushiBathroomAftermathFired) or false>>
<<set _sushiCNbj to ($ch2Events and $ch2Events.hollohalvSushiChenBJFired) or false>>
<<set _sushiCNfull to ($ch2Events and $ch2Events.hollohalvSushiChenHalvFullFired) or false>>
<<set _sushiCN to _sushiCNbj or _sushiCNfull>>
<<set _sushi3 to ($ch2Events and $ch2Events.hollohalvSushiThreesomeFired) or false>>
<<set _sushiOrgy to ($ch2Events and $ch2Events.hollohalvSushiOrgyFired) or false>>
<<set _sushiAny to _sushiKiss or _sushiBath or _sushiCN or _sushi3 or _sushiOrgy>>
<<set _runFlash to ($ch2Events and $ch2Events.morningRunDanielFlashedEver) or false>>
<<set _runHJ to ($ch2Events and $ch2Events.morningRunDanielTreesEverFired) or false>>
<<set _runLick to ($ch2Events and ($ch2Events.morningRunDanielLickedDay or 0) gt 0) or false>>
<<set _runWoods to ($ch2Events and ($ch2Events.morningRunWoodsFuckDay or 0) gt 0) or false>>
<<set _runAny to _runFlash or _runHJ or _runLick or _runWoods>>
<<set _quickieOpen to ($ch2Events and $ch2Events.labNestSealed) or false>>
<<set _quickieDone to ($ch2Events and ($ch2Events.eveningDanielQuickieDay or 0) gt 0) or false>>
<<set _sofiaCallSex to ($ch2Events and $ch2Events.sofiaCallSexFired) or false>>
<<set _showerMast to ($ch2Events and $ch2Events.firstMasturbationFired) or false>>
<<set _couchMast to ($ch2Events and $ch2Events.couchMasturbationSeen) or false>>
<<set _dinnerDone to ($ch2Events and $ch2Events.tier3Unlocked) or false>>
<<set _fParkKiss to ($ch2Events and $ch2Events.fedsDrinksParkKissFired) or false>>
<<set _fParkBJ to ($ch2Events and $ch2Events.fedsDrinksParkBJFired) or false>>
<<set _fParkHotel to ($ch2Events and $ch2Events.fedsDrinksParkFullSexFired) or false>>
<<set _fReyesWatch to ($ch2Events and $ch2Events.fedsDrinksReyesParkWatchFired) or false>>
<<set _fThree to ($ch2Events and $ch2Events.fedsDrinksThreesomeFired) or false>>
<<set _fOrgy to ($ch2Events and $ch2Events.fedsDrinksOrgyFired) or false>>
<<set _fSofiaPark to ($ch2Events and $ch2Events.fedsDrinksSofiaParkFired) or false>>
<<set _fAlley to ($ch2Events and $ch2Events.fedsDrinksReyesAlleyFired) or false>>
<<set _fFoursome to ($ch2Events and $ch2Events.fedsDrinksFoursomeFired) or false>>
<<set _fedsAny to _fParkKiss or _fParkBJ or _fParkHotel or _fReyesWatch or _fThree or _fOrgy or _fSofiaPark or _fAlley or _fFoursome>>
<<set _drinksKiss to ($ch2Events and $ch2Events.sofiaDrinksKissed) or false>>
<<set _drinksLesbian to ($ch2Events and $ch2Events.sofiaDrinksLesbianFired) or false>>
<<set _drinksStrangerWatch to ($ch2Events and $ch2Events.sofiaDrinksStrangerBathroomWatchFired) or false>>
<<set _drinksThreesome to ($ch2Events and $ch2Events.sofiaDrinksThreesomeFired) or false>>
<<set _drinksOrgy to ($ch2Events and $ch2Events.sofiaDrinksOrgyFired) or false>>
<<set _drinksAny to _drinksKiss or _drinksLesbian or _drinksStrangerWatch or _drinksThreesome or _drinksOrgy>>
<<set _runStarted to ($ch2Events and $ch2Events.morningRunFirstDone) or false>>
<<set _sofiaShatter to ($ch2Events and $ch2Events.sofiaShatterFollowupDone) or false>>
<<set _fantasizeCocks to ($ch2Events and $ch2Events.fantasizeCocksEverFired) or false>>
<<set _dndS2Kill to ($ch2Events and ($ch2Events.dndS2KillEverFired or $ch2Events.dndS2Outcome is "girlfriend")) or false>>
<<set _dndS2Slut to ($ch2Events and ($ch2Events.dndS2SlutEverFired or $ch2Events.dndS2Outcome is "slut")) or false>>
<<set _dndS3Kill to ($ch2Events and ($ch2Events.dndS3KillEverFired or $ch2Events.dndS3Outcome is "girlfriend")) or false>>
<<set _dndS3Slut to ($ch2Events and ($ch2Events.dndS3SlutEverFired or $ch2Events.dndS3Outcome is "slut")) or false>>
<<set _dndS4Kill to ($ch2Events and ($ch2Events.dndS4KillEverFired or $ch2Events.dndS4Outcome is "girlfriend")) or false>>
<<set _dndS4Slut to ($ch2Events and ($ch2Events.dndS4SlutEverFired or $ch2Events.dndS4Outcome is "slut")) or false>>
<<set _dndPostDaniel to ($ch2Events and $ch2Events.dndPostDanielEverFired) or false>>
<<set _dndPostOrgy to ($ch2Events and $ch2Events.dndPostOrgyEverFired) or false>>
/* Major scheduled evening events — show the journal subsection (with
locked card placeholders) as soon as the player has ACCEPTED the
event, not only once they have entered the scene. Surfaces the
upcoming night as a visible placeholder, matching the "every journal
entry has its locked version" pattern. */
<<set _sushiStarted to ($ch2Events and ($ch2Events.hollohalvSushiAccepted or $ch2Events.hollohalvSushiEntered or $ch2Events.hollohalvSushiFired)) or false>>
<<set _fedsStarted to ($ch2Events and ($ch2Events.fedsDrinksAccepted or $ch2Events.fedsDrinksEntered or $ch2Events.fedsDrinksFired)) or false>>
<<set _drinksStarted to ($ch2Events and ($ch2Events.sofiaDrinksAccepted or $ch2Events.sofiaDrinksEntered or $ch2Events.sofiaDrinksFired)) or _drinksAny>>
<<set _clubStarted to ($ch2Events and ($ch2Events.clubNightFirstDone or $ch2Events.clubNightWithSofiaDone or $ch2Events.clubNightAlphaHomeDone)) or false>>
<<set _clubOutcome to ($ch2Events and ((($ch2Events.clubNightClubSexDay or 0) gt 0) or (($ch2Events.clubNightHomeDay or 0) gt 0))) or false>>
<<set _clubSofiaJake to ($ch2Events and $ch2Events.sofiaJakeNight) or false>>
<<set _clubElenaJake to ($ch2Events and $ch2Events.elenaJakeNight) or false>>
<<set _clubAlpha to ($ch2Events and $ch2Events.clubNightAlphaHomeDone) or false>>
<<set _clubAlphaMorning to ($ch2Events and $ch2Events.bowenWakeupDone) or false>>
<<set _clubAlphaBreakfast to ($ch2Events and $ch2Events.bowenBreakfastDone) or false>>
<<set _clubAlphaRun to ($ch2Events and $ch2Events.bowenRunReturnDone) or false>>
<<set _clubAlphaShower to ($ch2Events and $ch2Events.bowenShowerDone) or false>>
<<set _vasquezEM to ($ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-em']) or false>>
<<set _vasquezOverride to ($ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-override-bathroom']) or false>>
<<set _vasquezShatter to ($ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t3-shatter']) or false>>
<<set _vasquezArchitect to ($ch2Events and $ch2Events.workVasquezArchitectEver) or false>>
<<set _bowenCornerBJ to ($ch2Events and $ch2Events.bowenLureCornerBJFired) or false>>
<<set _bowenBenchStarted to (_bowenCornerBJ or ($ch2Events and $ch2Events.workBowenBenchEntered)) or false>>
<<set _hhCabImplant to ($ch2Events and $ch2Events.hollohalvImplant) or false>>
<<set _hhCafeteriaOverride to ($ch2Events and $ch2Events.hollohalvOverride) or false>>
<<set _hhCorridorOverride to ($ch2Events and $ch2Events.hollohalvCorridorOverrideFired) or false>>
<<set _hhCorridorSnack to ($ch2Events and $ch2Events.hhCorridorSnackFired) or false>>
<<set _hhLunchStarted to (_hhCabImplant or _hhCafeteriaOverride) or false>>
<<set _hhCorridorStarted to ($ch2Events and ($ch2Events.workHolloHalvAffairSlipFired or $ch2Events.workHolloHalvCorridorEntered or _hhCorridorOverride or _hhCorridorSnack)) or false>>
<<set _hendersonConfession to ($ch2Events and $ch2Events.hendersonConfessionFired) or false>>
<<set _hendersonDominated to ($ch2Events and $ch2Events.hendersonDominated) or false>>
<<set _hendersonStarted to (_hendersonDominated or _hendersonConfession) or false>>
<<set _caseUpdateSlip to ($ch2Events and $ch2Events.workFedsCaseUpdateSlipEver) or false>>
<<set _fedsArchitect to ($ch2Events and $ch2Events.workFedsArchitectEver) or false>>
<<set _caseUpdateFootTease to ($ch2Events and $ch2Events.workFedsCaseUpdateFootTeaseUnzipped) or false>>
<<set _caseUpdateOverride to ($ch2Events and $ch2Events.workFedsCaseUpdateOverrideFired) or false>>
<<set _caseUpdateTease to ($ch2Events and $ch2Events.workFedsCaseUpdateTeaseFired) or false>>
<<set _caseUpdateSpore to ($ch2Events and $ch2Events.workFedsCaseUpdateSporeFired) or false>>
<<set _caseUpdateStarted to (_caseUpdateSlip or _caseUpdateFootTease or _caseUpdateOverride or _caseUpdateTease or _caseUpdateSpore or _fedsArchitect) or false>>
<<set _fedtableImplantDone to ($ch2Events and $ch2Events.fedtableImplant) or false>>
<<set _lunchOrgyDone to ($ch2Events and $ch2Events.lunchOrgyFired) or false>>
<<set _halvOffice to ($ch2Events and $ch2Events.halvorsenShatterWorkdayFired) or false>>
<<set _vi to $vesselImplants or {}>>
<<set _relaySofia to ($ch2Events and $ch2Events.sofiaRelayImplant) or false>>
<<set _relayDaniel to ($ch2Events and $ch2Events.danielRelayImplant) or false>>
<<set _relaySofiaOpen to ($ch2Events and $ch2Events.sundaySofiaEMFired) or false>>
<<set _relayDanielOpen to ($ch2Events and $ch2Events.danielRelayOpen) or false>>
<<set _danielConverted to ($ch2Events and $ch2Events.danielConverted) or false>>
<<set _relayHalvorsen to ($ch2Events and $ch2Events.halvorsenRelayWalkFired) or false>>
<<set _relayHalvorsenOpen to ($ch2Events and $ch2Events.halvorsenRelayOpen) or false>>
<<set _relayHendersonOpen to ($ch2Events and $ch2Events.hendersonDominated) or false>>
<<set _relayHendersonWalk to ($ch2Events and $ch2Events.hendersonRelayWalkFired) or false>>
<<set _hendersonMart to ($ch2Events and $ch2Events.hendersonEvent1Done) or false>>
<<set _relayBowenOpen to ($ch2Events and $ch2Events.bowenRelayOpen) or false>>
<<set _bowenFemShatter to ($ch2Events and $ch2Events.bowenFeminizeShatterEver) or false>>
<<set _bowenAlphaShatter to ($ch2Events and $ch2Events.bowenAlphaShatterEver) or false>>
<<set _relayHollowayOpen to ($ch2Events and $ch2Events.hollowayRelayOpen) or false>>
<<set _relayHollowayWalk to ($ch2Events and $ch2Events.hollowayRelayWalkFired) or false>>
<<set _hollowayChannel1 to ($ch2Events and $ch2Events.hollowayChannel1Done) or false>>
<<set _relayParkOpen to ($ch2Events and $ch2Events.parkRelayOpen) or false>>
<<set _relayParkWalk to ($ch2Events and $ch2Events.parkRelayWalkFired) or false>>
<<set _parkCinema to ($ch2Events and $ch2Events.parkCinemaDone) or false>>
<<set _relayReyesOpen to ($ch2Events and $ch2Events.reyesRelayOpen) or false>>
<<set _relayReyesWalk to ($ch2Events and $ch2Events.reyesRelayWalkFired) or false>>
<<set _reyesHotel to ($ch2Events and $ch2Events.reyesHotelDone) or false>>
<<set _channelGlass to ($ch2Events and $ch2Events.siblingManifested) or false>>
<<set _danielChannel to ($ch2Events and $ch2Events.danielScanRelayDone) or false>>
<<set _bowenChannel to ($ch2Events and $ch2Events.bowenScanRelayDone) or false>>
<<set _hollowayChannel to ($ch2Events and $ch2Events.hollowayScanRelayDone) or false>>
<<set _halvorsenChannel to ($ch2Events and $ch2Events.halvorsenScanRelayDone) or false>>
/* Endings unlock from live flags OR from the cross-cycle memory banked
at the chapter end (Ch2-Vessel-Ending-Cliffhanger memorizes
'vessel_endings_seen'), so the ENDINGS section survives New Game+. */
<<set _endRecall to recall('vessel_endings_seen', {})>>
<<set _futaDaniel to (($ch2Events and $ch2Events.vesselTestBodyDanielDone) or _endRecall.futaDaniel) or false>>
<<set _futaSofia to (($ch2Events and $ch2Events.vesselTestBodySofiaDone) or _endRecall.futaSofia) or false>>
<<set _psionicBowen to (($ch2Events and $ch2Events.vesselTestPsionicDone) or _endRecall.psionicBowen) or false>>
<<set _sofiaTaken to (($ch2Events and $ch2Events.vesselEndgameFired) or _endRecall.sofiaTaken) or false>>
<<set _bisEscape to (($ch2Events and $ch2Events.gen47BisAwakened) or _endRecall.bisEscape) or false>>
<<set _bisMessiah to (($ch2Events and $ch2Events.gen47BisNewHostDoris) or _endRecall.bisMessiah) or false>>
<<set _relayAny to _relaySofiaOpen or _relayDanielOpen or _relayHalvorsenOpen or _relayHendersonOpen or _relayBowenOpen or _relayHollowayOpen or _relayParkOpen or _parkCinema or _relayReyesOpen or _reyesHotel or _channelGlass or _danielChannel>>
<<set _vasquezDropbyStarted to (_vasquezEM or _vasquezOverride or _vasquezArchitect or ($ch2Events and $ch2Events.workVasquezDropbyEntered)) or false>>
/* Escape Room — Bowen evening event outcomes. Each card links to a
per-outcome detail passage; the section gate fires once any of the
outcomes has landed or the player has entered the escape-room scene
at least once. */
<<set _erAlcoveHJ to ($ch2Events and $ch2Events.bowenEscapeRoomAlcoveHJFired) or false>>
<<set _erAlcoveSex to ($ch2Events and $ch2Events.bowenEscapeRoomAlcoveSexFired) or false>>
<<set _erBathroomSex to ($ch2Events and $ch2Events.bowenEscapeRoomBathroomSexFired) or false>>
<<set _erKiss to ($ch2Events and $ch2Events.bowenEscapeRoomKissed) or false>>
<<set _erCorollaFuta to ($ch2Events and $ch2Events.bowenCorollaDreamFutaEver) or false>>
<<set _erCorollaSub to ($ch2Events and $ch2Events.bowenCorollaDreamSubEver) or false>>
<<set _erCorollaDream to _erCorollaFuta or _erCorollaSub>>
<<set _erApartment to ($ch2Events and $ch2Events.bowenEscapeRoomApartmentFired) or false>>
<<set _erBoudoir to ($ch2Events and $ch2Events.bowenEscapeRoomBoudoirFired) or false>>
<<set _erDomAlley to ($ch2Events and $ch2Events.bowenEscapeRoomDomAlleyFired) or false>>
<<set _erFemLucy to ($ch2Events and $ch2Events.bowenEscapeRoomFemLucyFired) or false>>
<<set _erAny to _erAlcoveHJ or _erAlcoveSex or _erBathroomSex or _erKiss or _erCorollaDream or _erApartment or _erBoudoir or _erDomAlley or _erFemLucy>>
<<set _escapeStarted to (_erAny or ($ch2Events and ($ch2Events.bowenEscapeRoomAccepted or $ch2Events.bowenEscapeRoomFirstVisitDone or $ch2Events.bowenEscapeRoomEMFired or $ch2Events.bowenBiofilmCoated))) or false>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">SOCIAL EVENTS</summary>
<<if _sofiaShatter or _sofiaCallSex or _fantasizeCocks or _showerMast or _couchMast or _dndS2Slut or _dndS2Kill or _dndS3Kill or _dndS3Slut or _dndS4Kill or _dndS4Slut or _dndPostDaniel or _dndPostOrgy or _runAny or _quickieDone or _dinnerDone>>
<div class="vessel-subentry-title">Solo</div>
<div class="vessel-card-grid">
<<if _showerMast>>
<<journalCard "Journal-Vessel-Shower-Mast" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-shower.webp" alt="The shower"><div class="vessel-card-cap">The shower</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Shower-Mast">><</link>></div>
<</if>>
<<if _couchMast>>
<<journalCard "Journal-Vessel-Couch-Mast" '<img class="vessel-card-thumb" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="The couch"><div class="vessel-card-cap">The couch</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Couch-Mast">><</link>></div>
<</if>>
<<if _fantasizeCocks>>
<<journalCard "Journal-Vessel-Fantasize-Cocks" '<img class="vessel-card-thumb" src="media/scenes/vessel/fantasy-gangbang.webp" alt="The fantasy"><div class="vessel-card-cap">Fantasize about the cocks</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Fantasize-Cocks">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Sofia</div>
<div class="vessel-card-grid">
<<if _sofiaShatter>>
<<journalCard "Journal-Vessel-Sofia-Shatter" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-elena-bedroom.webp" alt="Sofia and Elena, the bedroom"><div class="vessel-card-cap">The bedroom</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sofia-Shatter">><</link>></div>
<</if>>
<<if _sofiaCallSex>>
<<journalCard "Journal-Vessel-Sofia-Call" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-call-selfie.webp" alt="The call"><div class="vessel-card-cap">The call</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sofia-Call">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Daniel</div>
<div class="vessel-card-grid">
<<if _runFlash>>
<<journalCard "Journal-Vessel-Run-Flash" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-running-flash.webp" alt="The flash"><div class="vessel-card-cap">The flash</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Run-Flash">><</link>></div>
<</if>>
<<if _runHJ>>
<<journalCard "Journal-Vessel-Run-Handjob" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-daniel-trees-2.webp" alt="The grove"><div class="vessel-card-cap">The grove</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Run-Handjob">><</link>></div>
<</if>>
<<if _runLick>>
<<journalCard "Journal-Vessel-Run-LickPalm" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-daniel-trees-3.webp" alt="Licked clean"><div class="vessel-card-cap">Licked clean</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Run-LickPalm">><</link>></div>
<</if>>
<<if _runWoods>>
<<journalCard "Journal-Vessel-Run-Woods" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-daniel-trees-4.webp" alt="The woods"><div class="vessel-card-cap">The woods</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Run-Woods">><</link>></div>
<</if>>
<<if _quickieDone>>
<<journalCard "Journal-Vessel-Daniel-Quickie" '<img class="vessel-card-thumb" src="media/scenes/vessel/daniel-quickie.webp" alt="The quickie"><div class="vessel-card-cap">The quickie</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Daniel-Quickie">><</link>></div>
<</if>>
<<if _dinnerDone>>
<<journalCard "Journal-Vessel-Dinner-Daniel" '<img class="vessel-card-thumb" src="media/scenes/vessel/daniel-dinner.webp" alt="The dinner"><div class="vessel-card-cap">The dinner</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dinner-Daniel">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">D&D</div>
<div class="vessel-card-grid">
<<if _dndS2Slut>>
<<journalCard "Journal-Vessel-DnD-S2-Slut" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s2-slutvex-2.webp" alt="The guardsman, the stairs"><div class="vessel-card-cap">The guardsman, the stairs</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S2-Slut">><</link>></div>
<</if>>
<<if _dndS2Kill>>
<<journalCard "Journal-Vessel-DnD-S2-Kill" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s2-girlfriendvex-1.webp" alt="The kill, the tavern"><div class="vessel-card-cap">The kill, the room above</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S2-Kill">><</link>></div>
<</if>>
<<if _dndS3Kill>>
<<journalCard "Journal-Vessel-DnD-S3-Kill" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s3-killvex-1.webp" alt="The kill"><div class="vessel-card-cap">The kill, the palace</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S3-Kill">><</link>></div>
<</if>>
<<if _dndS3Slut>>
<<journalCard "Journal-Vessel-DnD-S3-Slut" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s3-slutvex-1.webp" alt="The jealousy card"><div class="vessel-card-cap">The jealousy card</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S3-Slut">><</link>></div>
<</if>>
<<if _dndS4Kill>>
<<journalCard "Journal-Vessel-DnD-S4-Kill" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s4-killvex-2.webp" alt="The maker, the kill"><div class="vessel-card-cap">The maker, the tower</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S4-Kill">><</link>></div>
<</if>>
<<if _dndS4Slut>>
<<journalCard "Journal-Vessel-DnD-S4-Slut" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-s4-slutvex-2.webp" alt="The maker, the anchor turned"><div class="vessel-card-cap">The maker, the anchor turned</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-S4-Slut">><</link>></div>
<</if>>
<<if _dndPostDaniel>>
<<journalCard "Journal-Vessel-DnD-Post-Daniel" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-postcampaign-daniel.webp" alt="After the others go"><div class="vessel-card-cap">After the others go</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-Post-Daniel">><</link>></div>
<</if>>
<<if _dndPostOrgy>>
<<journalCard "Journal-Vessel-DnD-Post-Orgy" '<img class="vessel-card-thumb" src="media/scenes/vessel/dnd-postcampaign-orgy.webp" alt="Where Daniel can see"><div class="vessel-card-cap">Where Daniel can see</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DnD-Post-Orgy">><</link>></div>
<</if>>
</div>
<<else>>
<div class="data-panel-muted">No entries yet. Chen's off-hours, the morning run, and the D&D nights will surface here once they have been lived.</div>
<</if>>
</details>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">LAB EVENTS</summary>
<<if _vasquezDropbyStarted or _bowenBenchStarted or _caseUpdateStarted or _hhLunchStarted or _hhCorridorStarted or _fedtableImplantDone or _lunchOrgyDone or _halvOffice>>
<div class="vessel-subentry-title">Vasquez</div>
<div class="vessel-card-grid">
<<if _vasquezEM>>
<<journalCard "Journal-Vessel-Lab-VasquezEM" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-vasquez-em-kiss.webp" alt="The locked door"><div class="vessel-card-cap">The locked door</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-VasquezEM">><</link>></div>
<</if>>
<<if _vasquezOverride>>
<<journalCard "Journal-Vessel-Lab-VasquezOverride" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-vasquez-override-lick.webp" alt="The last stall"><div class="vessel-card-cap">The last stall</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-VasquezOverride">><</link>></div>
<</if>>
<<if _vasquezShatter>>
<<journalCard "Journal-Vessel-Lab-VasquezShatter" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-vasquez-shatter-licking.webp" alt="The wall"><div class="vessel-card-cap">The wall</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-VasquezShatter">><</link>></div>
<</if>>
<<if _vasquezArchitect>>
<<journalCard "Journal-Vessel-Lab-VasquezArchitect" '<img class="vessel-card-thumb" src="media/scenes/vessel/vasquez-desk-vibrators.webp" alt="A small solution"><div class="vessel-card-cap">A small solution</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-VasquezArchitect">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Bowen</div>
<div class="vessel-card-grid">
<<if _bowenCornerBJ>>
<<journalCard "Journal-Vessel-Lab-BowenCornerBJ" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-bowen-corner-bj.webp" alt="The blind corner"><div class="vessel-card-cap">The blind corner</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenCornerBJ">><</link>></div>
<</if>>
<<if $ch2Events.bowenBenchCheekKissFired>>
<<journalCard "Journal-Vessel-Lab-BowenCheekKiss" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-bowen-cheek-kiss.webp" alt="The cheek kiss"><div class="vessel-card-cap">The cheek kiss</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenCheekKiss">><</link>></div>
<</if>>
<<if $ch2Events.bowenBenchEstrusBJFired>>
<<journalCard "Journal-Vessel-Lab-BowenEstrus" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-bowen-bathroom-bj.webp" alt="The reward"><div class="vessel-card-cap">The reward</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenEstrus">><</link>></div>
<</if>>
<<if $ch2Events.workBowenArchitectFired>>
<<journalCard "Journal-Vessel-Lab-BowenArchitect" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-architect-doggy.webp" alt="Bowen's new normal"><div class="vessel-card-cap">Bowen's new normal</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenArchitect">><</link>></div>
<</if>>
<<if $ch2Events.bowenSubOfficeFired>>
<<journalCard "Journal-Vessel-Lab-BowenSubOffice" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-suboffice-eatout.webp" alt="Good for one thing"><div class="vessel-card-cap">Good for one thing</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenSubOffice">><</link>></div>
<</if>>
<<if $ch2Events.bowenDomServiceFired>>
<<journalCard "Journal-Vessel-Lab-BowenDomService" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-domservice-bj.webp" alt="Even, he decided"><div class="vessel-card-cap">Even, he decided</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-BowenDomService">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Reyes and Park</div>
<div class="vessel-card-grid">
<<if _caseUpdateSlip>>
<<journalCard "Journal-Vessel-Lab-CaseUpdateSlip" '<img class="vessel-card-thumb" src="media/scenes/vessel/fed-interview-3shot.webp" alt="The hotel bar"><div class="vessel-card-cap">The hotel bar</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-CaseUpdateSlip">><</link>></div>
<</if>>
<<if _caseUpdateFootTease>>
<<journalCard "Journal-Vessel-Lab-CaseUpdateFoot" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-case-update-footjob.webp" alt="On the table"><div class="vessel-card-cap">On the table</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-CaseUpdateFoot">><</link>></div>
<</if>>
<<if _caseUpdateSpore>>
<<journalCard "Journal-Vessel-Lab-CaseUpdateSpore" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-case-update-park-cowgirl.webp" alt="The linoleum"><div class="vessel-card-cap">The linoleum</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-CaseUpdateSpore">><</link>></div>
<</if>>
<<if _fedtableImplantDone>>
<<journalCard "Journal-Vessel-Lab-FedtableImplant" '<img class="vessel-card-thumb" src="media/scenes/vessel/aldrin-implant-fuck.webp" alt="Aldrin, rewritten"><div class="vessel-card-cap">Aldrin, rewritten</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-FedtableImplant">><</link>></div>
<</if>>
<<if _fedsArchitect>>
<<journalCard "Journal-Vessel-Lab-FedsArchitect" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-architect-bj.webp" alt="The new normal"><div class="vessel-card-cap">The new normal</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-FedsArchitect">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Halvorsen and Holloway</div>
<div class="vessel-card-grid">
<<if _hhCabImplant>>
<<journalCard "Journal-Vessel-Lab-HHCabImplant" '<img class="vessel-card-thumb" src="media/scenes/vessel/halvorsen-holloway-dinner-cab-bj.webp" alt="The cab"><div class="vessel-card-cap">The cab</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-HHCabImplant">><</link>></div>
<</if>>
<<if _hhCafeteriaOverride>>
<<journalCard "Journal-Vessel-Lab-HHCafeteriaOverride" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-cafeteria-fork-bj.webp" alt="The fork"><div class="vessel-card-cap">The fork</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-HHCafeteriaOverride">><</link>></div>
<</if>>
<<if _hhCorridorOverride>>
<<journalCard "Journal-Vessel-Lab-HHCorridorOverride" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-lab-doggy.webp" alt="The bench"><div class="vessel-card-cap">The bench</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-HHCorridorOverride">><</link>></div>
<</if>>
<<if _hhCorridorSnack>>
<<journalCard "Journal-Vessel-Lab-HHCorridorSnack" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-office-snack.webp" alt="The snack"><div class="vessel-card-cap">The snack</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-HHCorridorSnack">><</link>></div>
<</if>>
<<if _halvOffice>>
<<journalCard "Journal-Vessel-HalvorsenOffice" '<img class="vessel-card-thumb" src="media/scenes/vessel/halvorsen-office-welcome.webp" alt="Halvorsen office"><div class="vessel-card-cap">The new hire</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-HalvorsenOffice">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">Everyone</div>
<div class="vessel-card-grid">
<<if _lunchOrgyDone>>
<<journalCard "Journal-Vessel-Lab-LunchOrgy" '<img class="vessel-card-thumb" src="media/scenes/vessel/lunch-orgy-aftermath.webp" alt="The lunch orgy"><div class="vessel-card-cap">The lunch orgy</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Lab-LunchOrgy">><</link>></div>
<</if>>
</div>
<<else>>
<div class="data-panel-muted">No entries yet. The lunches and the corridor crossings will surface here once they have been lived.</div>
<</if>>
</details>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">EVENING EVENTS</summary>
<<if _sushiStarted or _drinksStarted or _fedsStarted or _clubStarted or _escapeStarted>>
<<if _sushiStarted>>
<div class="vessel-subentry-title">The sushi night · Halvorsen and Holloway</div>
<div class="vessel-card-grid">
<<if _sushiKiss>>
<<journalCard "Journal-Vessel-Sushi-Kiss" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-goodbye-kiss.webp" alt="The goodbye kiss"><div class="vessel-card-cap">The goodbye kiss</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sushi-Kiss">><</link>></div>
<</if>>
<<if _sushiBath>>
<<journalCard "Journal-Vessel-Sushi-Bathroom" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-sushi-bathroom-aftermath.webp" alt="Nathan and Nia, the back bathroom"><div class="vessel-card-cap">Nathan and Nia</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sushi-Bathroom">><</link>></div>
<</if>>
<<if _sushiCNfull>>
<<journalCard "Journal-Vessel-Sushi-ChenNathan" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-sushi-chen-halv-1.webp" alt="Chen and Nathan"><div class="vessel-card-cap">Chen and Nathan</div>'>>
<<elseif _sushiCNbj>>
<<journalCard "Journal-Vessel-Sushi-ChenNathan" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-sushi-chen-bj-under-counter.webp" alt="Chen and Nathan"><div class="vessel-card-cap">Chen and Nathan</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sushi-ChenNathan">><</link>></div>
<</if>>
<<if _sushi3>>
<<journalCard "Journal-Vessel-Sushi-Threesome" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-sushi-threesome-2.webp" alt="The threesome"><div class="vessel-card-cap">Three of them, the latched door</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sushi-Threesome">><</link>></div>
<</if>>
<<if _sushiOrgy>>
<<journalCard "Journal-Vessel-Sushi-Orgy" '<img class="vessel-card-thumb" src="media/scenes/vessel/hollohalv-sushi-orgy-1.webp" alt="The orgy"><div class="vessel-card-cap">The room tips over</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Sushi-Orgy">><</link>></div>
<</if>>
</div>
<</if>>
<<if _escapeStarted>>
<div class="vessel-subentry-title">The escape room · Tom</div>
<div class="vessel-card-grid">
<<if _erAlcoveHJ>>
<<journalCard "Journal-Vessel-Escape-AlcoveHJ" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-alcove-vial-handjob.webp" alt="The alcove handjob"><div class="vessel-card-cap">The alcove</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-AlcoveHJ">><</link>></div>
<</if>>
<<if _erAlcoveSex>>
<<journalCard "Journal-Vessel-Escape-AlcoveSex" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-bowen-escaperoom.webp" alt="The false bookcase"><div class="vessel-card-cap">The false bookcase</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-AlcoveSex">><</link>></div>
<</if>>
<<if _erBathroomSex>>
<<journalCard "Journal-Vessel-Escape-BathroomSex" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-bathroom-sink.webp" alt="The escape-room bathroom"><div class="vessel-card-cap">The back bathroom</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-BathroomSex">><</link>></div>
<</if>>
<<if _erKiss>>
<<journalCard "Journal-Vessel-Escape-Kiss" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-bowen-corolla-kiss.webp" alt="The kerb kiss at the Corolla door"><div class="vessel-card-cap">The kerb</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-Kiss">><</link>></div>
<</if>>
<<if _erCorollaFuta>>
<<journalCard "Journal-Vessel-Escape-CorollaDreamFuta" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-corolla-dream-futa-fuck.webp" alt="The Corolla, androgenic"><div class="vessel-card-cap">The Corolla · dom</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-CorollaDreamFuta">><</link>></div>
<</if>>
<<if _erCorollaSub>>
<<journalCard "Journal-Vessel-Escape-CorollaDreamSub" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-corolla-dream-sub-titjob.webp" alt="The Corolla, estrogenic"><div class="vessel-card-cap">The Corolla · sub</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-CorollaDreamSub">><</link>></div>
<</if>>
<<if _erApartment>>
<<journalCard "Journal-Vessel-Escape-Apartment" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-apartment-missionary.webp" alt="His apartment over the dry cleaner"><div class="vessel-card-cap">His apartment</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-Apartment">><</link>></div>
<</if>>
<<if _erBoudoir>>
<<journalCard "Journal-Vessel-Escape-Boudoir" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-boudoir-cowgirl.webp" alt="The Boudoir Heist"><div class="vessel-card-cap">The Boudoir Heist</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-Boudoir">><</link>></div>
<</if>>
<<if _erDomAlley>>
<<journalCard "Journal-Vessel-Escape-DomAlley" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-alley-cumwalk.webp" alt="The alley"><div class="vessel-card-cap">The alley · dom</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-DomAlley">><</link>></div>
<</if>>
<<if _erFemLucy>>
<<journalCard "Journal-Vessel-Escape-FemLucy" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-escape-lucy-bj.webp" alt="Customer service"><div class="vessel-card-cap">Customer service · Lucy</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Escape-FemLucy">><</link>></div>
<</if>>
</div>
<</if>>
<<if _drinksStarted>>
<div class="vessel-subentry-title">Drinks with Sofia · the south-side bar</div>
<div class="vessel-card-grid">
<<if _drinksKiss>>
<<journalCard "Journal-Vessel-SofiaDrinks-Kiss" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-sofia-cab-kiss.webp" alt="The cab door"><div class="vessel-card-cap">The cab door</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-SofiaDrinks-Kiss">><</link>></div>
<</if>>
<<if _drinksLesbian>>
<<journalCard "Journal-Vessel-SofiaDrinks-Lesbian" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-apartment-couch-kiss.webp" alt="Back to her place"><div class="vessel-card-cap">Back to her place</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-SofiaDrinks-Lesbian">><</link>></div>
<</if>>
<<if _drinksStrangerWatch>>
<<journalCard "Journal-Vessel-SofiaDrinks-StrangerWatch" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-stranger-bathroom-sex.webp" alt="The bathroom, watching"><div class="vessel-card-cap">The bathroom, watching</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-SofiaDrinks-StrangerWatch">><</link>></div>
<</if>>
<<if _drinksThreesome>>
<<journalCard "Journal-Vessel-SofiaDrinks-Threesome" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-threesome-1.webp" alt="Three of them, the stall"><div class="vessel-card-cap">Three of them, the stall</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-SofiaDrinks-Threesome">><</link>></div>
<</if>>
<<if _drinksOrgy>>
<<journalCard "Journal-Vessel-SofiaDrinks-Orgy" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-bar-orgy-1.webp" alt="The bar tips over"><div class="vessel-card-cap">The bar tips over</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-SofiaDrinks-Orgy">><</link>></div>
<</if>>
</div>
<</if>>
<<if _fedsStarted>>
<div class="vessel-subentry-title">Drinks with the federal team · the Cooper</div>
<div class="vessel-card-grid">
<<if _fParkKiss>>
<<journalCard "Journal-Vessel-Feds-ParkKiss" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-park-kiss.webp" alt="The booth kiss"><div class="vessel-card-cap">The booth kiss</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-ParkKiss">><</link>></div>
<</if>>
<<if _fParkBJ>>
<<journalCard "Journal-Vessel-Feds-ParkBJ" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-park-bj-pov.webp" alt="Under the booth"><div class="vessel-card-cap">Under the booth</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-ParkBJ">><</link>></div>
<</if>>
<<if _fParkHotel>>
<<journalCard "Journal-Vessel-Feds-ParkHotel" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-park-fullsex-oral.webp" alt="Park’s hotel room"><div class="vessel-card-cap">Park’s hotel room</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-ParkHotel">><</link>></div>
<</if>>
<<if _fReyesWatch>>
<<journalCard "Journal-Vessel-Feds-ReyesWatch" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-reyes-park-watch-act.webp" alt="Reyes, Park watching"><div class="vessel-card-cap">Reyes, Park watching</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-ReyesWatch">><</link>></div>
<</if>>
<<if _fThree>>
<<journalCard "Journal-Vessel-Feds-Threesome" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-threesome-act.webp" alt="Three of us"><div class="vessel-card-cap">Three of us</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-Threesome">><</link>></div>
<</if>>
<<if _fOrgy>>
<<journalCard "Journal-Vessel-Feds-Orgy" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-orgy-blowbang.webp" alt="The Cooper tips over"><div class="vessel-card-cap">The Cooper tips over</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-Orgy">><</link>></div>
<</if>>
</div>
<div class="vessel-subentry-title">…with Sofia at the table</div>
<div class="vessel-card-grid">
<<if _fSofiaPark>>
<<journalCard "Journal-Vessel-Feds-SofiaPark" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-sofia-park-kiss.webp" alt="Sofia and Park"><div class="vessel-card-cap">Sofia and Park</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-SofiaPark">><</link>></div>
<</if>>
<<if _fAlley>>
<<journalCard "Journal-Vessel-Feds-Alley" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-alley-sofia-park.webp" alt="The alley"><div class="vessel-card-cap">The alley</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-Alley">><</link>></div>
<</if>>
<<if _fFoursome>>
<<journalCard "Journal-Vessel-Feds-Foursome" '<img class="vessel-card-thumb" src="media/scenes/vessel/feds-drinks-foursome-kiss.webp" alt="Four of us"><div class="vessel-card-cap">Four of us</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Feds-Foursome">><</link>></div>
<</if>>
</div>
<</if>>
<<if _clubStarted>>
<div class="vessel-subentry-title">Going clubbing</div>
<div class="vessel-card-grid">
<<if _clubOutcome>>
<<journalCard "Journal-Vessel-Club" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-club-bathroom.webp" alt="A night out"><div class="vessel-card-cap">A night out</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club">><</link>></div>
<</if>>
<<if _clubSofiaJake>>
<<journalCard "Journal-Vessel-Club-SofiaJake" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-sofia-leaving-with-jake.webp" alt="The blue dress"><div class="vessel-card-cap">The blue dress</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-SofiaJake">><</link>></div>
<</if>>
<<if _clubElenaJake>>
<<journalCard "Journal-Vessel-Club-ElenaJake" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-elena-bathroom.webp" alt="Twenty minutes"><div class="vessel-card-cap">Twenty minutes</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-ElenaJake">><</link>></div>
<</if>>
<<if $ch2Events.clubLucyTrapDone>>
<<journalCard "Journal-Vessel-Club-LucyTrap" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-lucy-dance.webp" alt="Girls' night"><div class="vessel-card-cap">Girls' night</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyTrap">><</link>></div>
<</if>>
<<if $ch2Events.clubLucyHomeDone>>
<<journalCard "Journal-Vessel-Club-LucyReward" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-lucy-reward-2.webp" alt="The reward"><div class="vessel-card-cap">The reward</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyReward">><</link>></div>
<</if>>
<<if $ch2Events.lucyWakeupDone>>
<<journalCard "Journal-Vessel-Club-LucyMorning" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-bowen-result.webp" alt="Wake-up call"><div class="vessel-card-cap">Wake-up call</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyMorning">><</link>></div>
<</if>>
<<if $ch2Events.lucyBreakfastDone>>
<<journalCard "Journal-Vessel-Club-LucyBreakfast" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-bowen-result.webp" alt="Customer service"><div class="vessel-card-cap">Customer service</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyBreakfast">><</link>></div>
<</if>>
<<if $ch2Events.lucyRunDone>>
<<journalCard "Journal-Vessel-Club-LucyRun" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-lucy-run-facial.webp" alt="Bring a friend"><div class="vessel-card-cap">Bring a friend</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyRun">><</link>></div>
<</if>>
<<if $ch2Events.lucyShowerDone>>
<<journalCard "Journal-Vessel-Club-LucyShower" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-lucy-shower-clean.webp" alt="Good girl"><div class="vessel-card-cap">Good girl</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-LucyShower">><</link>></div>
<</if>>
<<if _clubAlpha>>
<<journalCard "Journal-Vessel-Club-AlphaHome" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-alpha-home-anal.webp" alt="His for the night"><div class="vessel-card-cap">His for the night</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-AlphaHome">><</link>></div>
<</if>>
<<if _clubAlphaMorning>>
<<journalCard "Journal-Vessel-Club-AlphaMorning" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-alpha-morning-vaginal.webp" alt="The correction"><div class="vessel-card-cap">The correction</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-AlphaMorning">><</link>></div>
<</if>>
<<if _clubAlphaBreakfast>>
<<journalCard "Journal-Vessel-Club-AlphaBreakfast" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-alpha-breakfast-bj.webp" alt="Breakfast, his way"><div class="vessel-card-cap">Breakfast, his way</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-AlphaBreakfast">><</link>></div>
<</if>>
<<if _clubAlphaRun>>
<<journalCard "Journal-Vessel-Club-AlphaRun" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-alpha-run-doggystyle.webp" alt="A good hard run"><div class="vessel-card-cap">A good hard run</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-AlphaRun">><</link>></div>
<</if>>
<<if _clubAlphaShower>>
<<journalCard "Journal-Vessel-Club-AlphaShower" '<img class="vessel-card-thumb" src="media/scenes/vessel/clubnight-alpha-shower.webp" alt="Save time"><div class="vessel-card-cap">Save time</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Club-AlphaShower">><</link>></div>
<</if>>
</div>
<</if>>
<<else>>
<div class="data-panel-muted">No entries yet. Nights out with colleagues will surface here once they have been lived.</div>
<</if>>
</details>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">DREAM</summary>
<div class="vessel-subentry-title">Memories rewritten on the editing floor</div>
<div class="vessel-card-grid">
<<if _vi.engagementNight>>
<<journalCard "Journal-Vessel-Dream-Implant-EngagementNight" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-engagement-party.webp" alt="Two Families"><div class="vessel-card-cap">Two Families</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-EngagementNight">><</link>></div>
<</if>>
<<if _vi.firstBoyfriend>>
<<journalCard "Journal-Vessel-Dream-Implant-FirstBoyfriend" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-firsttime-bed.webp" alt="The First Time"><div class="vessel-card-cap">The First Time</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-FirstBoyfriend">><</link>></div>
<</if>>
<<if _vi.universityHallway>>
<<journalCard "Journal-Vessel-Dream-Implant-UniversityHallway" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-hallway-confront.webp" alt="The Hallway, Nineteen"><div class="vessel-card-cap">The Hallway, Nineteen</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-UniversityHallway">><</link>></div>
<</if>>
<<if _vi.movingIn>>
<<journalCard "Journal-Vessel-Dream-Implant-MovingIn" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-boxes-thanks.webp" alt="The Boxes"><div class="vessel-card-cap">The Boxes</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-MovingIn">><</link>></div>
<</if>>
<<if _vi.graduationNight>>
<<journalCard "Journal-Vessel-Dream-Implant-GraduationNight" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-graduation-kiss.webp" alt="Graduation Night"><div class="vessel-card-cap">Graduation Night</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-GraduationNight">><</link>></div>
<</if>>
<<if _vi.showerDormBoys>>
<<journalCard "Journal-Vessel-Dream-Implant-ShowerDormBoys" '<img class="vessel-card-thumb" src="media/scenes/vessel/chen-implant-shower-taunt.webp" alt="The Shower, Twenty"><div class="vessel-card-cap">The Shower, Twenty</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-Implant-ShowerDormBoys">><</link>></div>
<</if>>
</div>
</details>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">RELAYS</summary>
<<if _relayAny>>
<div class="vessel-subentry-title">Relay minds</div>
<div class="vessel-card-grid">
<<if _relaySofiaOpen>>
<<if _relaySofia>>
<<journalCard "Journal-Vessel-Dream-RelaySofia" '<img class="vessel-card-thumb" src="media/scenes/vessel/sofia-relay-morning.webp" alt="Sofia, the morning after"><div class="vessel-card-cap">Sofia, the morning after</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelaySofia">><</link>></div>
<</if>>
<</if>>
<<if _relayDanielOpen>>
<<if _relayDaniel>>
<<journalCard "Journal-Vessel-Dream-RelayDaniel" '<img class="vessel-card-thumb" src="media/scenes/vessel/dream-daniel-caught.webp" alt="Daniel, the corridor"><div class="vessel-card-cap">Daniel, the corridor</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayDaniel">><</link>></div>
<</if>>
<<if _danielConverted>>
<<journalCard "Journal-Vessel-Daniel-Shower" '<img class="vessel-card-thumb" src="media/scenes/vessel/daniel-shower-cunnilingus.webp" alt="Daniel, the shower"><div class="vessel-card-cap">Daniel, the shower</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Daniel-Shower">><</link>></div>
<</if>>
<</if>>
<<if _relayHalvorsenOpen>>
<<if _relayHalvorsen>>
<<journalCard "Journal-Vessel-Dream-RelayHalvorsen" '<img class="vessel-card-thumb" src="media/scenes/vessel/dream-halvorsen-bed.webp" alt="Halvorsen, the empty bed"><div class="vessel-card-cap">Halvorsen, the empty bed</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayHalvorsen">><</link>></div>
<</if>>
<</if>>
<<if _relayHendersonOpen>>
<<if _relayHendersonWalk>>
<<journalCard "Journal-Vessel-Dream-RelayHenderson" '<img class="vessel-card-thumb" src="media/scenes/vessel/dream-henderson-bookclub.webp" alt="Doris, the circle"><div class="vessel-card-cap">Doris, the circle</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayHenderson">><</link>></div>
<</if>>
<<if _hendersonConfession>>
<<journalCard "Journal-Vessel-Henderson-Confession" '<img class="vessel-card-thumb" src="media/scenes/vessel/henderson-confession-arrival.webp" alt="Doris, the booth"><div class="vessel-card-cap">Doris, the booth</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Henderson-Confession">><</link>></div>
<</if>>
<<if _hendersonMart>>
<<journalCard "Journal-Vessel-Henderson-Mart" '<img class="vessel-card-thumb" src="media/scenes/vessel/henderson-mart-1.webp" alt="Doris, the mart"><div class="vessel-card-cap">Doris, the mart</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Henderson-Mart">><</link>></div>
<</if>>
<</if>>
<<if _relayBowenOpen>>
<<if _bowenFemShatter>>
<<journalCard "Journal-Vessel-Bowen-FeminizeShatter" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-shatter-domme.webp" alt="Bowen, on his knees"><div class="vessel-card-cap">Bowen, on his knees</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Bowen-FeminizeShatter">><</link>></div>
<</if>>
<<if _bowenAlphaShatter>>
<<journalCard "Journal-Vessel-Bowen-AlphaShatter" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-alpha-shatter-facial.webp" alt="Bowen, the reversal"><div class="vessel-card-cap">Bowen, the reversal</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Bowen-AlphaShatter">><</link>></div>
<</if>>
<</if>>
<<if _relayHollowayOpen>>
<<if _relayHollowayWalk>>
<<journalCard "Journal-Vessel-Dream-RelayHolloway" '<img class="vessel-card-thumb" src="media/scenes/vessel/holloway-relay-walk.webp" alt="Holloway, the workstation"><div class="vessel-card-cap">Holloway, the workstation</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayHolloway">><</link>></div>
<</if>>
<<if _hollowayChannel1>>
<<journalCard "Journal-Vessel-Holloway-Channel1" '<img class="vessel-card-thumb" src="media/scenes/vessel/holloway-channel-bar-sex.webp" alt="Holloway, the bar"><div class="vessel-card-cap">Holloway, the bar</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Holloway-Channel1">><</link>></div>
<</if>>
<</if>>
<<if _relayParkOpen>>
<<if _relayParkWalk>>
<<journalCard "Journal-Vessel-Dream-RelayPark" '<img class="vessel-card-thumb" src="media/scenes/vessel/dream-park-nightmare.webp" alt="Park, the concourse"><div class="vessel-card-cap">Park, the concourse</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayPark">><</link>></div>
<</if>>
<<if _parkCinema>>
<<journalCard "Journal-Vessel-Park-Cinema" '<img class="vessel-card-thumb" src="media/scenes/vessel/park-cinema-bj.webp" alt="Park, the cinema"><div class="vessel-card-cap">Park, the cinema</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Park-Cinema">><</link>></div>
<</if>>
<</if>>
<<if _relayReyesOpen>>
<<if _relayReyesWalk>>
<<journalCard "Journal-Vessel-Dream-RelayReyes" '<img class="vessel-card-thumb" src="media/scenes/vessel/dream-reyes-retirement.webp" alt="Reyes, the ceremony"><div class="vessel-card-cap">Reyes, the ceremony</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Dream-RelayReyes">><</link>></div>
<</if>>
<<if _reyesHotel>>
<<journalCard "Journal-Vessel-Reyes-Hotel" '<img class="vessel-card-thumb" src="media/scenes/vessel/reyes-door-butterfly.webp" alt="Reyes, the door"><div class="vessel-card-cap">Reyes, the door</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Reyes-Hotel">><</link>></div>
<</if>>
<</if>>
</div>
<div class="vessel-subentry-title">Through the glass · the sibling</div>
<div class="vessel-card-grid">
<<if _channelGlass>>
<<journalCard "Journal-Vessel-ChannelGlass" '<img class="vessel-card-thumb" src="media/scenes/vessel/channel-glass-approach.webp" alt="Through the glass"><div class="vessel-card-cap">Through the glass</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-ChannelGlass">><</link>></div>
<</if>>
<<if _danielChannel>>
<<journalCard "Journal-Vessel-DanielChannel" '<img class="vessel-card-thumb" src="media/scenes/vessel/daniel-channel-home.webp" alt="Across the hall"><div class="vessel-card-cap">Across the hall</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-DanielChannel">><</link>></div>
<</if>>
<<if _bowenChannel>>
<<journalCard "Journal-Vessel-BowenChannel" '<img class="vessel-card-thumb" src="media/scenes/vessel/bowen-channel-approach.webp" alt="Behind the glass"><div class="vessel-card-cap">Behind the glass</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-BowenChannel">><</link>></div>
<</if>>
<<if _hollowayChannel>>
<<journalCard "Journal-Vessel-HollowayChannel" '<img class="vessel-card-thumb" src="media/scenes/vessel/holloway-channel-approach.webp" alt="Into the pen"><div class="vessel-card-cap">Into the pen</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-HollowayChannel">><</link>></div>
<</if>>
<<if _halvorsenChannel>>
<<journalCard "Journal-Vessel-HalvorsenChannel" '<img class="vessel-card-thumb" src="media/scenes/vessel/halvorsen-intern-channel-approach.webp" alt="Before an audience"><div class="vessel-card-cap">Before an audience</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-HalvorsenChannel">><</link>></div>
<</if>>
</div>
<<else>>
<div class="data-panel-muted">No entries yet. The minds you open a channel into on the Relay wall will surface here once their frames are lit.</div>
<</if>>
</details>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">ENDINGS</summary>
<div class="vessel-card-grid">
<<if _futaDaniel>>
<<journalCard "Journal-Vessel-Ending-FutaDaniel" '<img class="vessel-card-thumb" src="media/scenes/vessel/ending-futa-daniel-2.webp" alt="Daniel, across the hall"><div class="vessel-card-cap">Daniel, across the hall</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-FutaDaniel">><</link>></div>
<</if>>
<<if _futaSofia>>
<<journalCard "Journal-Vessel-Ending-FutaSofia" '<img class="vessel-card-thumb" src="media/scenes/vessel/ending-futa-sofia-2.webp" alt="Sofia, the first ring"><div class="vessel-card-cap">Sofia, the first ring</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-FutaSofia">><</link>></div>
<</if>>
<<if _psionicBowen>>
<<journalCard "Journal-Vessel-Ending-PsionicBowen" '<img class="vessel-card-thumb" src="media/scenes/vessel/ending-test-psionic.webp" alt="Tom, the mind test"><div class="vessel-card-cap">Tom, the mind test</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-PsionicBowen">><</link>></div>
<</if>>
<<if _sofiaTaken>>
<<journalCard "Journal-Vessel-Ending-LastMeeting" '<img class="vessel-card-thumb" src="media/scenes/vessel/ending-meeting-tentacles.webp" alt="The last meeting"><div class="vessel-card-cap">The last meeting</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-LastMeeting">><</link>></div>
<</if>>
<<if _bisEscape>>
<<journalCard "Journal-Vessel-Ending-BisEscape" '<img class="vessel-card-thumb" src="media/scenes/vessel/gen47bis-awakening.webp" alt="The sibling wakes"><div class="vessel-card-cap">The sibling wakes</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-BisEscape">><</link>></div>
<</if>>
<<if _bisMessiah>>
<<journalCard "Journal-Vessel-Ending-BisMessiah" '<img class="vessel-card-thumb" src="media/scenes/vessel/gen47bis-doris-host.webp" alt="The new messiah"><div class="vessel-card-cap">The new messiah</div>'>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Vessel-Ending-BisMessiah">><</link>></div>
<</if>>
</div>
</details><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.siblingManifested>>
<h2 class="journal-vessel-h2">A Channel, Through the Glass</h2>
<p>The neural-pattern read you took off Sofia two feet from the specimen glass left a channel behind, a thin open line running from her mind back to the pen. You meant to keep it for later. The sibling growing in the bis line, the clean copy of your own road, reached down it first.</p>
<img class="scene-img" src="media/scenes/vessel/channel-glass-approach.webp" alt="Sofia before dawn, vacant, walking into the dim specimen room toward the green glow">
<p>Night after night it pulled on the channel, too faint for Sofia to name, until she got in her car before dawn and drove in. She badged into the sealed specimen room with none of the gear on, walked past the gowning station, and went to the glass.</p>
<video class="scene-video" src="media/video/channel-glass-act.webm" autoplay muted loop playsinline poster="media/scenes/vessel/channel-glass-act.webp"></video>
<p>The bis had cracked its own chamber the way you once cracked yours, faster, and grown large in the pen. It took her on the floor and fed on her, and you watched the whole of it through the open channel and got none of the harvest. The sibling kept all of it.</p>
<p>Afterward Sofia deleted the night's footage herself, clean file boundaries, the same trick the federal team has spent its week blaming on a man at a lobby desk, and drove home in a coat and nothing under it. By morning the host knew none of it. The thing in the pen feeds on what the night project grows, off a wire you opened, and it is growing faster than you ever did.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>A read taken close enough to the specimen leaves more than data behind. Something can travel back down a wire like that, the wrong way, if there is anything on the far end of it grown enough to pull. You have not seen what uses it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "Back to story">><<goto $menuReturn>><</link>>
<div class="perks-page-title" style="color:#e0a030">Adaptations</div>
<<set _hostName to $player.currentHost or "none">>
<<if $route is "labVessel">>
<div class="grimoire-empty">Adaptations are not available on this route. The single-host Vessel branch in the Skill Tree replaces them.</div>
<<elseif _hostName is "none">>
<div class="grimoire-empty">You need a host to view adaptations.</div>
<<else>>
<<set _charData to setup.adaptationData[_hostName]>>
<<set _charAdapt to $adaptations[_hostName]>>
<<if _charData and _charAdapt>>
<div class="perks-summary">
Host: <span style="color:#e0a030;font-weight:700"><<= _hostName.toUpperFirst() >></span>,
AP: <span style="color:#e0a030;font-weight:700"><<= _charAdapt.points >></span>
</div>
<<set _hasPhysical to _charData.physical and _charData.physical.length gt 0>>
<<set _hasMental to _charData.mental and _charData.mental.length gt 0>>
<<set _colCount to 0>>
<<if _hasPhysical>><<set _colCount += 1>><</if>>
<<if _hasMental>><<set _colCount += 1>><</if>>
<div class="skilltree-columns" @style="'grid-template-columns:repeat(' + _colCount + ',1fr)!important;width:auto;left:auto;transform:none;max-width:750px'">
<<if _hasPhysical>>
<div class="skilltree-col" style="background:#1c1a0a;border:1px solid #38351a">
<div class="skilltree-col-header" style="color:#e0a030">Physical</div>
<<for _adapt range _charData.physical>><<set _isUnlocked to _charAdapt.unlocked.indexOf(_adapt.id) gte 0>><<set _prereqMet to true>><<if _adapt.requires>><<set _prereqMet to _charAdapt.unlocked.indexOf(_adapt.requires) gte 0>><</if>><<set _routeOk to true>><<if _adapt.route and $beastRoute isnot _adapt.route>><<set _routeOk to false>><</if>><<set _visible to _routeOk and (_isUnlocked or not _adapt.hidden or _prereqMet)>><<if _visible>><<if _isUnlocked>><div class="skilltree-skill skilltree-skill-unlocked"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost">UNLOCKED</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div></div><<elseif _prereqMet and _charAdapt.points gte _adapt.cost>><div class="skilltree-skill skilltree-skill-available"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost"><<= _adapt.cost >> AP</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div><<capture _adapt>><<link "Unlock">><<set $adaptToUnlock to _adapt.id>><<goto "Adaptations-Unlock">><</link>><</capture>></div><<else>><div class="skilltree-skill skilltree-skill-locked"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost"><<= _adapt.cost >> AP</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div><<if not _prereqMet>><div class="skilltree-skill-req">Requires: <<= _adapt.requires >></div><</if>></div><</if>><</if>><</for>>
</div>
<</if>>
<<if _hasMental>>
<div class="skilltree-col" style="background:#1c1a0a;border:1px solid #38351a">
<div class="skilltree-col-header" style="color:#e0a030">Mental</div>
<<for _adapt range _charData.mental>><<set _isUnlocked to _charAdapt.unlocked.indexOf(_adapt.id) gte 0>><<set _prereqMet to true>><<if _adapt.requires>><<set _prereqMet to _charAdapt.unlocked.indexOf(_adapt.requires) gte 0>><</if>><<set _routeOk to true>><<if _adapt.route and $beastRoute isnot _adapt.route>><<set _routeOk to false>><</if>><<set _visible to _routeOk and (_isUnlocked or not _adapt.hidden or _prereqMet)>><<if _visible>><<if _isUnlocked>><div class="skilltree-skill skilltree-skill-unlocked"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost">UNLOCKED</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div></div><<elseif _prereqMet and _charAdapt.points gte _adapt.cost>><div class="skilltree-skill skilltree-skill-available"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost"><<= _adapt.cost >> AP</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div><<capture _adapt>><<link "Unlock">><<set $adaptToUnlock to _adapt.id>><<goto "Adaptations-Unlock">><</link>><</capture>></div><<else>><div class="skilltree-skill skilltree-skill-locked"><div class="skilltree-skill-header"><span class="skilltree-skill-name"><<= _adapt.name >></span><span class="skilltree-skill-cost"><<= _adapt.cost >> AP</span></div><div class="skilltree-skill-desc"><<= _adapt.desc >></div><<if not _prereqMet>><div class="skilltree-skill-req">Requires: <<= _adapt.requires >></div><</if>></div><</if>><</if>><</for>>
</div>
<</if>>
</div>
<<else>>
<div class="grimoire-empty">No adaptations available for this host.</div>
<</if>>
<</if>><<bg "bg-status">>
<<unlockAdaptation $player.currentHost $adaptToUnlock>>
<<goto "Adaptations">><<bg "bg-status">>
<<link "Back to story">><<goto $menuReturn>><</link>>
<div class="perks-page-title" style="color:#d9a04a">Notification Log</div>
<<if $notificationLog and $notificationLog.length gt 0>>
<div class="notification-log">
<<for _i = $notificationLog.length - 1; _i gte 0; _i-->>
<<set _entry to $notificationLog[_i]>>
<div class="notification-log-entry">
<span class="notification-log-day">D<<= _entry.day >></span>
<span class="notification-log-text notification-inline notify-<<= _entry.type >>" style="margin:0; display:inline;"><<= _entry.text >></span>
</div>
<</for>>
</div>
<<else>>
<div class="notification-log-empty">No notifications yet.</div>
<</if>><<nobr>>
<<set _status to $player.status or "dormant">>
<<if $player.currentHost isnot "none" and not $player.exposed>>
<<if $player.currentHost is "doris">>
/* Bis fugitive ending — Doris has no host-portrait asset, reuse her
dialogue portrait. */
<<set _imgsrc to "media/portraits/henderson/henderson-default.menu.webp">>
<<set _captionName to "Doris Henderson">>
<<elseif $player.currentHost is "chen">>
<<set _imgsrc to "media/portraits/host/host-chen.menu.webp">>
<<set _captionName to "Elena Chen">>
<<else>>
<<set _imgsrc to "media/portraits/host/host-" + $player.currentHost + ".menu.webp">>
<<set _captionName to $player.currentHost.toUpperFirst()>>
<</if>>
<<else>>
<<set _imgsrc to "media/portraits/hivemind/hivemind-" + _status + ".menu.webp">>
<<set _captionName to "Hivemind">>
<</if>>
<div class="caption-block">
<img @src="_imgsrc" alt="Host" class="caption-player-img">
<div class="caption-name"><<= _captionName >></div>
<div class="caption-mana">Biomass: <<= $player.biomass >> / <<= $player.maxBiomass >></div>
<<if $beastRoute is "symbiotic">>
<div class="caption-mana">Host: <<= $player.currentHost or "none" >> | Hosts: <<= $player.hosts >></div>
<</if>>
/% Chen conditioning bars — Lab Vessel route only. Mirrors the Status
page's family conditioning display: three bars (pheromone / dream /
psionic) capped at 4 for now (the route's early-game ceiling). The
cap will scale with progression once the route's conditioning curves
mature, paralleling how the Beast route's setup.houseTypeCap() rises
with household tier. %/
<<if $route is "labVessel" and not $player.exposed and not ($ch2Events and $ch2Events.gen47BisEscaped) and $conditioning and $conditioning.chen>>
<<set _chenCap to setup.capFor("chen")>>
<<set _cPhero to ($conditioning.chen.pheromone or 0)>>
<<set _cDream to ($conditioning.chen.dream or 0)>>
<<set _cPsi to ($conditioning.chen.psionic or 0)>>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_cPhero * 100 / _chenCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_cDream * 100 / _chenCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_cPsi * 100 / _chenCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _cPhero >>/<<= _chenCap >></span>
<span style="color:#4a90d9">Dream <<= _cDream >>/<<= _chenCap >></span>
<span style="color:#40bfbf">Psionic <<= _cPsi >>/<<= _chenCap >></span>
</div>
</div>
/% NPC profile links — Lab Vessel route. One clickable name per NPC the
parasite has conditioned at least once; invisible until first
conditioning fires. Mirrors the Hoffman family `.menu-profiles` row:
names separated by · on a single horizontal line, no inline bars
(the per-type breakdown lives on the profile passage). %/
<<set _vesselNpcLinks to []>>
<<for _npcName range ["bowen", "vasquez", "halvorsen", "holloway", "daniel", "reyes", "park"]>>
<<if $conditioning[_npcName]>>
<<set _nPhero to ($conditioning[_npcName].pheromone or 0)>>
<<set _nDream to ($conditioning[_npcName].dream or 0)>>
<<set _nPsi to ($conditioning[_npcName].psionic or 0)>>
<<if (_nPhero + _nDream + _nPsi) gt 0>>
<<run _vesselNpcLinks.push(_npcName)>>
<</if>>
<</if>>
<</for>>
<<if _vesselNpcLinks.length gt 0>>
<div class="menu-profiles">
<<for _i, _npcName range _vesselNpcLinks>>
<<set _nProfilePassage to "Journal-Profile-" + _npcName.toUpperFirst()>>
<<set _nDisplayName to _npcName.toUpperFirst()>>
<<capture _nProfilePassage, _nDisplayName>>
<<if _i gt 0>> · <</if>><<link _nDisplayName _nProfilePassage>><</link>><</capture>>
<</for>>
</div>
<</if>>
<</if>>
<<hasSkillTreeAbility "Seamless Transfer">>
<<if $beastRoute is "symbiotic" and $animalNetwork and Object.keys($animalNetwork.hosts).length gt 1>>
<div class="caption-hosts">
<<for _hId, _hData range $animalNetwork.hosts>>
<<capture _hId, _hData>>
<<if _hData.status isnot "unavailable">>
<div class="caption-host-btn <<if _hData.status is 'active'>>caption-host-active<</if>>" @title="_hData.name">
<<if _hData.status is "active">>
<span class="caption-host-icon"><<= _hData.type.charAt(0).toUpperCase() >></span>
<<elseif $operation and $operation.active and $operation.active isnot "">>
<span class="caption-host-icon caption-host-locked" title="Host switching disabled during operations"><<= _hData.type.charAt(0).toUpperCase() >></span>
<<elseif _hasAbility>>
<<link '<span class="caption-host-icon"><<= _hData.type.charAt(0).toUpperCase() >></span>' "Ch2-Beast-SwitchTo">><<set $switchTarget to _hId>><</link>>
<<else>>
<<set _switchCost to setup.getInfestCost(_hData.type)>>
<<if $player.biomass gte _switchCost>>
<<link '<span class="caption-host-icon"><<= _hData.type.charAt(0).toUpperCase() >></span>' "Ch2-Beast-SwitchTo">><<set $switchTarget to _hId>><<spendBiomass _switchCost _hId>><</link>>
<<else>>
<span class="caption-host-icon caption-host-locked"><<= _hData.type.charAt(0).toUpperCase() >></span>
<</if>>
<</if>>
</div>
<</if>>
<</capture>>
<</for>>
</div>
<</if>>
<<if $chapter lte 1>>
<<set _sus to $suspicion.lab or 0>>
<<set _susLabel to "Lab Alert">>
<<elseif $route is "labVessel">>
/* Lab Vessel route: $suspicion.lab carries over from the chapter-1
lab-side play and tracks BioGenesis's awareness through chapter 2.
The Beast-route BioGenesis investigation timer below is skipped
via the route check too. The cap raises from 10 to 20 once the
Computer L3 dream-edit payoff fires (camera-feed access). */
<<set _sus to $suspicion.lab or 0>>
<<set _susLabel to "Lab">>
<<else>>
<<set _sus to $suspicion.hoffmanHouse or 0>>
<<set _susLabel to "Suspicion">>
<</if>>
<<if $route is "labVessel">>
<<set _susMax to setup.labSuspicionCap()>>
<<else>>
<<set _susMax to ($suspicionMax or 10)>>
<</if>>
/% Suspicion section header — only on Lab Vessel route, where two bars
(Lab + Chen) follow. Other routes show a single labelled bar so the
header is redundant. %/
<<if $route is "labVessel">>
<div class="caption-section-label">Suspicion</div>
<</if>>
/* HVAC Conversion permanently neutralises house suspicion — show a special indicator. */
<<if $chapter gte 2 and $route isnot "labVessel" and $houseState and $houseState.hvacCompromised>>
<div class="caption-mana caption-suspicion-neutralised"><<= _susLabel >>: <span class="neutralised-icon">◉</span> NEUTRALIZED</div>
<<elseif $route is "labVessel" and $ch2Events and $ch2Events.labNestSealed>>
<div class="caption-mana caption-suspicion-neutralised"><<= _susLabel >>: <span class="neutralised-icon">◉</span> NEUTRALIZED</div>
<<elseif _sus gte _susMax>>
<div class="caption-mana caption-suspicion-high"><<= _susLabel >>: <<= _sus >> / <<= _susMax >></div>
<div class="caption-danger">⚠ GAME OVER on next phase! Reduce suspicion or save now.</div>
<<elseif _sus gte Math.floor(_susMax * 0.7)>>
<div class="caption-mana caption-suspicion-high"><<= _susLabel >>: <<= _sus >> / <<= _susMax >></div>
<div class="caption-danger">⚠ DANGER! Save your game.</div>
<<elseif _sus gte Math.ceil(_susMax * 0.4)>>
<div class="caption-mana caption-suspicion-mid"><<= _susLabel >>: <<= _sus >> / <<= _susMax >></div>
<<else>>
<div class="caption-mana"><<= _susLabel >>: <<= _sus >> / <<= _susMax >></div>
<</if>>
/* Chen Suspicion (Lab Vessel route only) — the host's own awareness of
the parasite. Climbs from in-body actions (Drain Biomass, etc.) that
the body half-registers without naming. Soft cap, default 10, raised
dynamically by the bedroom-shelf dream-edit. The value is allowed to
overcap during the day (showing 11/N, 12/N, etc.) but the day-advance
check fires GAME OVER if it's still >= cap at night, so the player
has the day to bring it back under the line. Colour thresholds scale
to the current cap. */
<<if $route is "labVessel">>
<<set _csus to $chenSuspicion or 0>>
<<set _ccap to $chenSuspicionCap or 10>>
/* Colour thresholds scale to the current cap: danger at/over the cap,
high within 3 of it (matches the dawn-report red zone), mid at 40%
of the cap. Default 10-cap gives the original 10 / 7 / 4 bands. */
<<set _cmid to Math.ceil(_ccap * 0.4)>>
<<if $ch2Events and $ch2Events.labNestSealed>>
<div class="caption-mana caption-suspicion-neutralised">Chen: <span class="neutralised-icon">◉</span> NEUTRALIZED</div>
<<elseif _csus gte _ccap>>
<div class="caption-mana caption-suspicion-high">Chen: <<= _csus >> / <<= _ccap >></div>
<div class="caption-danger">⚠ Chen suspicion over the line. Bring it under <<= _ccap >> before sleep, or her cortex catches the parasite at dawn (GAME OVER).</div>
<<elseif _csus gte (_ccap - 3)>>
<div class="caption-mana caption-suspicion-high">Chen: <<= _csus >> / <<= _ccap >></div>
<<elseif _csus gte _cmid>>
<div class="caption-mana caption-suspicion-mid">Chen: <<= _csus >> / <<= _ccap >></div>
<<else>>
<div class="caption-mana">Chen: <<= _csus >> / <<= _ccap >></div>
<</if>>
/* Vasquez Suspicion (Lab Vessel route only) — Sofia is the one
coworker who knows Chen well enough to clock the parasite's
fingerprints. Climbs from inconsistencies in Chen's stories,
missed lunches, behavioural drift. Capped at 10. */
<<set _vsus to $vasquezSuspicion or 0>>
<<if $ch2Events and $ch2Events.labNestSealed>>
<div class="caption-mana caption-suspicion-neutralised">Vasquez: <span class="neutralised-icon">◉</span> NEUTRALIZED</div>
<<elseif _vsus gte 10>>
<div class="caption-mana caption-suspicion-high">Vasquez: <<= _vsus >> / 10</div>
<div class="caption-danger">⚠ GAME OVER on next phase! Reduce Vasquez suspicion or save now.</div>
<<elseif _vsus gte 7>>
<div class="caption-mana caption-suspicion-high">Vasquez: <<= _vsus >> / 10</div>
<div class="caption-danger">⚠ DANGER! Save your game.</div>
<<elseif _vsus gte 4>>
<div class="caption-mana caption-suspicion-mid">Vasquez: <<= _vsus >> / 10</div>
<<else>>
<div class="caption-mana">Vasquez: <<= _vsus >> / 10</div>
<</if>>
<</if>>
<<if $route isnot "labVessel" and $labOutcome and $labOutcome.eventRate gt 0 and not $labEvents.trailCold>>
<<set _daysUntil to ($labEvents.nextCheck or 999) - $day>>
<<if _daysUntil lte 0>>
<<set _labTip to "BioGenesis is actively investigating your escape. An event will trigger at the next day advance.">>
<div class="caption-mana caption-suspicion-high" @title="_labTip">⚠ LAB EVENT IMMINENT <span class="info-icon">i</span></div>
<<elseif _daysUntil lte 2>>
<<set _labTip to "BioGenesis is following your trail. " + _daysUntil + " day(s) until the next investigation event.">>
<div class="caption-mana caption-suspicion-mid" @title="_labTip">⚠ Lab: <<= _daysUntil >> day<<if _daysUntil gt 1>>s<</if>> <span class="info-icon">i</span></div>
<<elseif _daysUntil lte 4>>
<<set _labTip to "BioGenesis is looking into the breach. " + _daysUntil + " days until the next event. You have time.">>
<div class="caption-mana" style="color:#888;" @title="_labTip">Lab: <<= _daysUntil >> days <span class="info-icon">i</span></div>
<<else>>
<<set _labTip to "BioGenesis noticed the broken containment pod, but they're still piecing together how you escaped and where you went. " + _daysUntil + " days until they begin investigating.">>
<div class="caption-mana" style="color:#555;" @title="_labTip">Lab: <<= _daysUntil >> days <span class="info-icon">i</span></div>
<</if>>
<</if>>
<div class="caption-day">Day <<= $day >> · <<= $weekday >></div>
<div class="caption-time"><<= setup.phaseTime[$house.dayPhase] or "" >></div>
<<if $house and $house.entered>>
<div class="menu-profiles"><<link "Karen" "Journal-Profile-Karen">><</link>> · <<link "Dale" "Journal-Profile-Dale">><</link>> · <<link "Megan" "Journal-Profile-Megan">><</link>> · <<link "Jess" "Journal-Profile-Jess">><</link>> · <<link "Ryan" "Journal-Profile-Ryan">><</link>></div>
<</if>>
<<if $operation and $operation.active and $operation.active isnot "">>
<div class="op-widget">
<div class="op-widget-title">⚙ <<= $operation.active.replace(/([A-Z])/g, ' $1').trim().toUpperFirst() >></div>
<div class="op-widget-step">Step <<= $operation.step >> of 3</div>
<div class="op-widget-step-dots">
<<for _s = 1; _s lte 3; _s++>>
<<if _s lt $operation.step>><div class="op-widget-dot op-widget-dot-done"></div>
<<elseif _s is $operation.step>><div class="op-widget-dot op-widget-dot-active"></div>
<<else>><div class="op-widget-dot"></div>
<</if>>
<</for>>
</div>
</div>
<</if>>
<<if $player.exposed>>
<div class="exposed-warning exposed-warning-compact">EXPOSED</div>
<</if>>
</div>
<</nobr>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdJessRyanPunkFem) or ($journalUnlocked and $journalUnlocked["Ch2-PD-JessRyan-Kitchen-PunkFem"])>>
<h2 class="journal-vessel-h2">Kneel</h2>
<p>Two hostile implants set against each other across the kitchen, and the collision resolved the way the wiring underneath always wanted it to. The daughter ended up on the marble island with her hand fisted in her brother's hair, the son on his knees in the pink camisole with his mouth where she put it. She squirted across his face and the front of the camisole, and his conditioning filed being covered under acceptable before the thought ever reached him. One morning was enough to set a standing appointment.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfem-1.webp" alt="Jess against the island, Ryan in the camisole, mid-argument">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/pd-jessryan-punkfem.webp"><source src="media/video/pd-jessryan-punkfem.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfem-3.webp" alt="Ryan kneeling, face and camisole soaked, dazed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning the two of them are turned against each other and it lands as a kneeling instead of a fight. You have not arranged that particular collision yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdJessRyanPunkFamSeek) or ($journalUnlocked and $journalUnlocked["Ch2-PD-JessRyan-Kitchen-PunkFamSeek"])>>
<h2 class="journal-vessel-h2">Two alphas</h2>
<p>Neither implant yielded. The two of them traded insults across the kitchen until the insults turned into hands, and the son pinned the daughter flat on the marble with a grip on her throat and fucked the fight into a draw she enjoyed losing. Both finished. The hostility never resolved so much as settled into a stable orbit, two bodies that will keep colliding because colliding works for them.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-1.webp" alt="Jess and Ryan stepping toward each other mid-insult">
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-2.webp" alt="Ryan fucking Jess on the island, hand at her throat">
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-3-creampie.webp" alt="Jess on the island edge, cum dripping, satisfied sneer">
<img class="scene-img" src="media/scenes/pd-jessryan-punkfamseek-3-facial.webp" alt="Jess on the island, cum across her chin and chest, composed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a version of the kitchen where neither of them backs down and the fight becomes the fuck. You have not steered them both there.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdJessRyanBreakFamSeek) or ($journalUnlocked and $journalUnlocked["Ch2-PD-JessRyan-Kitchen-BreakFamSeek"])>>
<h2 class="journal-vessel-h2">The kneel she asked for</h2>
<p>The daughter went down on the tile before he asked, the worn-out student folding into the thing she has started to need, and he held her by the hair and used her mouth while she let him. She came untouched somewhere in the gagging, the humiliation doing the work no touch could. What the long grind had hollowed out in her finally had a shape, and the shape is this.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-1.webp" alt="Jess in the sweatshirt, Ryan stepping toward her">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-2.webp" alt="Jess kneeling, mouth around his cock, tears in her eyes">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-3-creampie.webp" alt="Jess face-down on the tile, cum dripping, exhausted">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfamseek-3-facial.webp" alt="Jess kneeling, heavy facial, chin up, spent">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning one of them asks to be put on the floor and the other obliges. You have not brought them to it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdJessRyanBreakFem) or ($journalUnlocked and $journalUnlocked["Ch2-PD-JessRyan-Kitchen-BreakFem"])>>
<h2 class="journal-vessel-h2">Quiet hands</h2>
<p>The two implants were too exhausted to ignite, so the morning produced care instead of violence. The daughter highlighted a textbook one-handed while her other hand worked the brother on the stool beside her, unhurried and clinical, a task done well. Where his wiring allowed it she sealed it with a slow cum-transfer kiss, the whole thing organised like a small medical procedure. The same circuit that elsewhere produces a hate-fuck, here producing tenderness.</p>
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-1.webp" alt="Jess at the island with a textbook, Ryan beside her in the camisole">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-2.webp" alt="Jess highlighting one-handed, her other hand under his camisole">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-3-cumswap.webp" alt="Jess and Ryan in a cum-transfer kiss at the stool">
<img class="scene-img" src="media/scenes/pd-jessryan-breakfem-3.webp" alt="Jess with her mouth full, eyes up toward the textbook">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a quieter morning where the collision fails and becomes care instead. You have not reached it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdJess) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Jess-Gloryhole"])>>
<h2 class="journal-vessel-h2">The circuit</h2>
<p>An implant turned the hole in the bedroom wall into a habit she keeps without deciding to. She kneels at it, takes what comes through, swallows or wears the finish, and goes back to her desk with the memory filed somewhere she does not look. Whoever is on the other side believes the wall is the entire relationship.</p>
<img class="scene-img" src="media/scenes/gloryhole-use-1.webp" alt="A woman kneeling at a hole in a bedroom wall, waiting">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/gloryhole-use-2.webp"><source src="media/video/gloryhole-use-2.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/gloryhole-use-3.webp" alt="Jess at the wall, cum across her face, tongue out">
<img class="scene-img" src="media/scenes/gloryhole-use-2-punk.webp" alt="Jess with dyed hair at the wall, cock in her mouth, deep">
<img class="scene-img" src="media/scenes/gloryhole-use-3-punk.webp" alt="Jess with dyed hair at the wall, cum on her face, tongue out">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a hole in a bedroom wall that could become a habit. You have not opened that circuit.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdRyanFamilyBed) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Ryan-FamilyBed"])>>
<h2 class="journal-vessel-h2">The wrong bed</h2>
<p>Walked down the dark hall and into the master bed, the son delivered to a mother already dreaming of her husband. She gave him her mouth in her sleep, and both of them woke certain it had only been a dream. The taboo never registered, because the parasite filed it under sleep before either of them surfaced.</p>
<img class="scene-img" src="media/scenes/pd-ryan-familybed-1.webp" alt="Ryan walking down a dark hallway toward the master bedroom">
<img class="scene-img" src="media/scenes/pd-ryan-familybed-2.webp" alt="Karen half-asleep giving oral to Ryan, eyes closed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a door at the end of the hall and a bed behind it that is not his. You have not walked him through it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdRyanPlug) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Ryan-Plug"])>>
<h2 class="journal-vessel-h2">The fan request</h2>
<p>A five-hundred-dollar request, accepted in his sleep, and a pink plug seated before he woke wearing it. He kept it in and kept the stream updated through the day, the shame and the income braided so tight he could no longer tell which one he was chasing.</p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-1.webp" alt="Feminized Ryan asleep at his desk, stream chat open">
<img class="scene-img" src="media/scenes/pd-ryan-plug-2.webp" alt="Ryan asleep, sleep shorts down, pink plug base visible">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a request in the stream chat that costs more than money. You have not let it through.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenDomRyanPlug) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Ryan-Plug-KarenDom"])>>
<h2 class="journal-vessel-h2">Punishment</h2>
<p>The mother caught the shape of it through his jeans at the dinner table and would not let it go. What began as discovery turned into a schedule, check-ins and a strap and a standing arrangement she now administers. She found her son's secret and made it a thing she runs.</p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-dom-1.webp" alt="Karen at the dinner table watching Ryan squirm">
<img class="scene-img" src="media/scenes/pd-ryan-plug-dom-2.webp" alt="Ryan bare from the waist down, plug visible, Karen watching from the bed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a way for the mother to find what her son is hiding and decide to run it herself. You have not set that discovery.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenLibRyanPlug) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Ryan-Plug-KarenLib"])>>
<h2 class="journal-vessel-h2">The manager</h2>
<p>The mother found the stream tab open on his laptop and, instead of horror, saw inefficiency. She installed herself as management, fixed the pricing, scheduled the posts, and kept her hands entirely off the talent. Her son's secret became a business she runs at arm's length, and at a profit.</p>
<img class="scene-img" src="media/scenes/pd-ryan-plug-lib-1.webp" alt="Karen at Ryan's desk studying the stream interface, coffee in hand">
<img class="scene-img" src="media/scenes/pd-ryan-plug-lib-2.webp" alt="Karen building a spreadsheet while Ryan sits on the bed, confused">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a way for the mother to find what her son is hiding and turn it into a spreadsheet. You have not set that discovery.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdKarenDoris) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Karen-DorisRevenge"])>>
<h2 class="journal-vessel-h2">Doris's revenge</h2>
<p>A spore at the dinner table froze the neighbour where she sat, and the mother took the woman's husband on the couch in front of her, unhurried, riding him to the finish while the wife wept and could not move or look away. Gerald walked home compromised, a fresh asset acquired over dessert.</p>
<img class="scene-img" src="media/scenes/pd-karen-doris-1.webp" alt="Karen seated between Gerald and Doris at the candlelit table">
<img class="scene-img" src="media/scenes/pd-karen-doris-2.webp" alt="Karen leading Gerald to the living room, Doris following">
<img class="scene-img" src="media/scenes/pd-karen-doris-3.webp" alt="Karen riding Gerald on the couch, head thrown back">
<img class="scene-img" src="media/scenes/pd-karen-doris-4.webp" alt="Doris frozen in the doorway, tears streaming">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dinner where the neighbour watches something she cannot stop. You have not hosted it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.pdKarenVibrator) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Karen-Vibrator"])>>
<h2 class="journal-vessel-h2">The remote</h2>
<p>Installed while she slept and triggered from across the house all day, edge after edge with every climb cut off at the top. No release was ever granted, because the denial was the payload. By evening she was wired to a need she could not name and could not reach.</p>
<img class="scene-img" src="media/scenes/pd-karen-vibrator-1.webp" alt="Karen asleep, the vibrator and packaging on the nightstand">
<img class="scene-img" src="media/scenes/pd-karen-vibrator-3.webp" alt="Close-up of the vibrator seated inside Karen's panties">
<img class="scene-img" src="media/scenes/pd-karen-vibrator-2.webp" alt="Karen on a video call, fighting to keep composure">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a small device and a remote and a whole day of being kept on the edge. You have not installed it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.daleLabSuppression) or ($journalUnlocked and $journalUnlocked["Ch2-PD-Dale-LabSuppression"])>>
<h2 class="journal-vessel-h2">The story he tells</h2>
<p>False memories and a set of filing instructions, planted while he slept face-down on the couch in the security polo. He carried three forged documents into the facility and left them where they would be found, and the inquiry that had been warming toward the truth went cold. He believes he simply did his job well.</p>
<img class="scene-img" src="media/scenes/dale-sleeping.webp" alt="Dale face-down on the couch in his BioGenesis polo, the gecko at his jaw">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a story the tired man could be made to tell at the facility. You have not written it for him.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.bioArchitectKitchen) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-Kitchen"])>>
<h2 class="journal-vessel-h2">The morning hug</h2>
<p>A morning hug, engineered. The mother carries a load to the daughter at the kitchen counter, skin to skin for three seconds, and hours later at work the daughter locks herself in the cafe bathroom and cannot explain to herself why she needs to. No contact, no cost, no trace. The vector is affection.</p>
<img class="scene-img" src="media/scenes/bioarch-kitchen-1.webp" alt="Karen hugging Megan in the kitchen, morning">
<img class="scene-img" src="media/scenes/bioarch-kitchen-2.webp" alt="Close on Megan during the hug, pupils dilating">
<img class="scene-img" src="media/scenes/bioarch-kitchen-3.webp" alt="Megan in the cafe bathroom, masturbating">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a way to turn an ordinary hug into a delivery. You have not engineered it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.bioArchitectCouch) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-Couch"])>>
<h2 class="journal-vessel-h2">The couch</h2>
<p>The compromised air does the work. The daughter and the sleeping father on the family couch, the afternoon warm and the TV muted, and the saturated room routes whatever she is into the thing it wants. If the mother walks in, the house no longer lets her alarm fire, and she takes her own cut of what is happening on her own couch instead. The furniture has become a feeding station.</p>
<img class="scene-img" src="media/scenes/bioarch-couch-1-punk.webp" alt="Jess standing over her sleeping father on the couch">
<img class="scene-img" src="media/scenes/bioarch-couch-3-punk.webp" alt="Jess kneeling between Dale's knees on the couch">
<img class="scene-img" src="media/scenes/bioarch-couch-1.webp" alt="Jess studying at the far end of the couch, Dale asleep">
<img class="scene-img" src="media/scenes/bioarch-couch-3.webp" alt="Dale and Jess on the couch under a blanket">
<img class="scene-img" src="media/scenes/bioarch-couch-punk-karen-futa-act.webp" alt="Karen with futa cock standing over kneeling Jess in the living room">
<img class="scene-img" src="media/scenes/bioarch-couch-punk-karen-futa-facial.webp" alt="Jess on her knees with a facial, lip stud visible">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/bioarch-couch-punk-karen-dominant-act.webp"><source src="media/video/bioarch-couch-punk-karen-dominant-act.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon on the family couch where the saturated air does the rewrite for free. You have not let it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.bioArchitectLaundry) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-Laundry"])>>
<h2 class="journal-vessel-h2">Her clothes</h2>
<p>Her clothes carry the load now. The son lingers over the mother's laundry, and the saturated fabric walks him wherever he has been pointed, into her clothes, into marking the family's underwear, into the mirror wearing what is not his. He cannot say why the basket has become the best part of his day.</p>
<img class="scene-img" src="media/scenes/bioarch-laundry-1.webp" alt="Ryan pausing with a shirt from the laundry basket">
<img class="scene-img" src="media/scenes/bioarch-laundry-2-cum.webp" alt="Close-up, cum staining the fabric">
<img class="scene-img" src="media/scenes/bioarch-laundry-2-dress.webp" alt="Ryan in the mirror wearing Karen's clothes">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a laundry basket that could become the best part of his day. You have not pointed him at it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.markedMorningDone) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-MarkedMorning"])>>
<h2 class="journal-vessel-h2">What they wear</h2>
<p>The son's mark from the laundry has crossed into three women's underwear, and each of them puts it on in the morning without knowing. All day the load works through them, a passive dose absorbed through skin none of them chose to bare. The vector is the underwear drawer.</p>
<img class="scene-img" src="media/scenes/bioarch-marked-1.webp" alt="Karen at the kitchen table, shifting, flushed">
<img class="scene-img" src="media/scenes/bioarch-marked-2.webp" alt="Three women in three locations, all flushed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning three women put on something he left behind. You have not arranged it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.bioArchitectBed) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-SharedBed"])>>
<h2 class="journal-vessel-h2">Same bed</h2>
<p>Two sisters in one bed, the saturated air closing the last distance between them. Proximity becomes hands under the duvet, the old line between them quietly gone, and by morning neither remembers deciding to cross it.</p>
<img class="scene-img" src="media/scenes/bioarch-shared-1-punk.webp" alt="Two figures under a duvet, the nearer with dyed hair">
<img class="scene-img" src="media/scenes/bioarch-shared-1.webp" alt="Two figures in bed in candlelight, facing away">
<img class="scene-img" src="media/scenes/bioarch-shared-2.webp" alt="Two sisters kissing in bed, candlelight">
<img class="scene-img" src="media/scenes/bioarch-shared-3.webp" alt="Two sisters close under the duvet, hands hidden, near climax">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a bed two of them share and an air thick enough to close the gap. You have not thickened it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.bioArchitectDawn) or ($journalUnlocked and $journalUnlocked["Ch2-BioArchitect-Dawn"])>>
<h2 class="journal-vessel-h2">The web at dawn</h2>
<p>By first light the household reads as one organism in five rooms, each body carrying its dose, each moving on a rhythm set the night before. From above the web is plain, every thread running back to the same point.</p>
<img class="scene-img" src="media/scenes/bioarch-dawn-1.webp" alt="Overhead view of the family in separate rooms, a web of connections">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dawn where the whole house moves as one thing. You have not brought it that far.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.baseShiftKaren) or ($journalUnlocked and $journalUnlocked["Ch2-BaseShift-Karen-Morning"])>>
<h2 class="journal-vessel-h2">Coffee, black</h2>
<p>The shift makes a naked mother in the kitchen the most ordinary thing in the house. The son wanders in, takes what is offered, and the finish goes into the coffee like creamer while nobody remarks on any of it. The act did not have to be hidden, because the household no longer registers it as an act.</p>
<img class="scene-img" src="media/scenes/baseshift-karen-1.webp" alt="Karen making coffee, undressed">
<img class="scene-img" src="media/scenes/baseshift-karen-futa-2.webp" alt="Ryan on his knees, mouth on Karen's cock">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/baseshift-karen-futa-3.webp"><source src="media/video/baseshift-karen-futa-3.webm" type="video/webm"></video>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/baseshift-karen-2.webp"><source src="media/video/baseshift-karen-2.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/baseshift-karen-3.webp" alt="Karen spitting cum into a coffee mug">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning the kitchen stops noticing what the mother is not wearing. You have not made it ordinary yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.baseShiftBathroom) or ($journalUnlocked and $journalUnlocked["Ch2-BaseShift-Bathroom"])>>
<h2 class="journal-vessel-h2">Open curtain</h2>
<p>The shower curtain stays open and nobody thinks to close it. One sister brushes her teeth while the other showers, a request to be washed becomes a mouth between her legs, and they trade it back and forth as casually as passing the toothpaste. The taboo is gone because the baseline moved underneath it.</p>
<img class="scene-img" src="media/scenes/baseshift-bath-1.webp" alt="Megan showering with the curtain open, Jess at the sink">
<img class="scene-img" src="media/scenes/baseshift-bath-2.webp" alt="Jess kneeling between Megan's legs, cunnilingus">
<img class="scene-img" src="media/scenes/baseshift-bath-3.webp" alt="Megan returning the favour between Jess's legs">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a shower curtain nobody bothers to close. You have not opened it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.baseShiftMovie) or ($journalUnlocked and $journalUnlocked["Ch2-BaseShift-MovieNight"])>>
<h2 class="journal-vessel-h2">Movie night</h2>
<p>Late in the living room with the TV on, the father and the daughter under the same blanket, and what happens between them is filed under watching television. She finishes him with the screen still flickering, wipes her mouth, and reaches for the textbook. Nobody in the house would describe the evening as anything but a movie night.</p>
<img class="scene-img" src="media/scenes/baseshift-movie-punk-1-tv.webp" alt="Back view of Dale and Jess on the couch, TV glow">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/baseshift-movie-punk-2-bj.webp"><source src="media/video/baseshift-movie-punk-2-bj.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/baseshift-movie-punk-3-facial.webp" alt="Jess kneeling with a facial, raising a beer bottle, TV glow">
<img class="scene-img" src="media/scenes/baseshift-movie-1.webp" alt="Jess on the couch with a textbook, Dale asleep at the other end">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/baseshift-movie-2.webp"><source src="media/video/baseshift-movie-2.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/baseshift-movie-3.webp" alt="Jess kneeling, cum on face, reaching for the textbook">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening where what happens under the blanket is just the movie. You have not dimmed the lights.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.baseShiftMassage) or ($journalUnlocked and $journalUnlocked["Ch2-BaseShift-Massage"])>>
<h2 class="journal-vessel-h2">Just a massage</h2>
<p>A shoulder rub for a tired man at the kitchen table, and the baseline does the rest. The daughter ends up on her knees between his legs and treats it as one more item on the body-care list, finishing him with the same matter-of-fact care she would bring to working a knot out of his back.</p>
<img class="scene-img" src="media/scenes/baseshift-massage-1.webp" alt="Megan massaging Dale's bare shoulders in the kitchen">
<img class="scene-img" src="media/scenes/baseshift-massage-2.webp" alt="Megan on her knees between Dale's legs, blowjob">
<img class="scene-img" src="media/scenes/baseshift-massage-3.webp" alt="Megan kneeling, cum on her face and collar, casual">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a shoulder rub that becomes one more item on the list. You have not started it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.baseShiftFull) or ($journalUnlocked and $journalUnlocked["Ch2-BaseShift-FullFamily"])>>
<h2 class="journal-vessel-h2">The whole family</h2>
<p>The shift comes down on all five at once and the living room becomes one continuous act, the family moving between each other without a single line left to cross. Mother, father, both daughters, the son, every pairing the house once forbade, running for hours and ending with the women passing a mouthful between them while the cat watches from the chair. By the end there was no boundary left to name, only the family and the rhythm it now moves to.</p>
<img class="scene-img" src="media/scenes/baseshift-full-1.webp" alt="Split montage: five faces hit by the shift">
<img class="scene-img" src="media/scenes/baseshift-full-2.webp" alt="Megan blowing Dale on the couch, Ryan between Karen's legs">
<img class="scene-img" src="media/scenes/baseshift-full-3.webp" alt="Karen riding Dale on the couch">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/baseshift-full-3b.webp"><source src="media/video/baseshift-full-3b-futa.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/baseshift-full-4.webp" alt="A daughter kneeling over the son on the carpet, the other watching from the armchair">
<img class="scene-img" src="media/scenes/baseshift-full-5-dp.webp" alt="Karen on the couch between Dale and Ryan">
<img class="scene-img" src="media/scenes/baseshift-full-6-climax.webp" alt="Three women passing cum between their mouths">
<img class="scene-img" src="media/scenes/baseshift-full-7-cat.webp" alt="The cat on the armchair, amber eyes, TV glow">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the whole house forgets every line at once. You have not lowered the baseline that far.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.daleCuck3NSFW) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Dale-Cuck3"])>>
<h2 class="journal-vessel-h2">From the hallway</h2>
<p>A grey sedan pulled into the driveway near midnight while the husband lay on the couch, the spore-fog thinned to a film that let him stay awake and aware but pinned the motor commands that would have let him stand and confront. Karen led the stranger through the living room and stopped at the couch, and she knew he was only pretending to sleep, so she told him she was leaving the door open and walked the man up the stairs. He waited forty seconds, then climbed after them in his socks, and she was already looking at him when he reached the doorway. She held his eyes through every minute of it, treating the stranger as a set of hands while she performed the whole thing for her husband, mouthing watch while another man's tongue and then his cock worked her, and Dale stroked himself against the hallway plaster because the conditioning had braided his shame into the arousal. He came on his own floor as she came staring at him, three thick pulses across the varnished boards, and she finished by holding herself open to show him the creampie before she finally released his gaze and turned to kiss the stranger she never bothered to send away. He scrubbed the dried cum off the hardwood on his knees before anyone woke, hard again by the time the boards were clean.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-cuck3-arrival.webp" alt="Karen leading a well-dressed stranger by the hand through her front door at night, his hand on her lower back, dim hallway light, Dale out of focus on the couch in the background">
<img class="scene-img" src="media/scenes/nsfw-dale-cuck3-creampie.webp" alt="POV from the dark hallway looking through the open bedroom doorway at Karen lying back on the bed after sex, legs spread wide, two fingers holding herself open to present the fresh creampie, eyes locked on the viewer">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the husband comes home to the thing he both dreads and wants, and chooses to stand in the hallway and watch. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.daleFrankDinnerNSFW) or ($journalUnlocked and $journalUnlocked["Ch2-Dale-Cuckold-Frank-Dinner"])>>
<h2 class="journal-vessel-h2">The arrangement</h2>
<p>He arranged all of it himself and let himself believe it had arrived without him: the bottle of red at the door, the three children sent to the late movie on cash he never cleared with her, the table laid for three. Frank poured Karen's irritation away one glass at a time until she was laughing and turned toward him by the second, then asked to be shown the upstairs bathroom, and she went. Dale counted to forty and followed, and found his wife already down on the bath mat with another man in her mouth. She caught him watching through the hand's-width gap in the bedroom door with his own cock in his fist, froze, started to apologise, asked if he was even okay, and he told her not to stop, that he wanted to watch her finish him. Frank answered for both of them by walking her mouth back down, and talked past her to the man in the hall the whole time, naming him soft, calling it the only job he was good for, forbidding him to come without permission. Dale spilled himself against the inside of his own bedroom door while another man emptied across his wife's face, and when Frank asked him to call her beautiful with another man's cum on her, Dale did, and thanked him for it.</p>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-dale-frank-dinner.webp" alt="A younger man in a dark shirt handing a bottle of wine to a tired middle-aged man in a suburban kitchen, a 43 year old woman with black hair in the background, warm evening light">
<video class="scene-video" src="media/video/nsfw-dale-frank-bj-pov.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/nsfw-dale-frank-bj-pov.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/nsfw-dale-frank-facial.webp" alt="POV looking down at a 43 year old woman with black hair kneeling, fresh cum across her cheek and parted lips, eyes half closed">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the husband stops imagining the other man and sets a place for him at the table, empties the house of the children, and stands in his own hallway to watch what he arranged. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkDaleChastity) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Dale-Chastity"])>>
<h2 class="journal-vessel-h2">Locked on the couch</h2>
<p>It began as discipline, a decision he made after the shame of the last time, that he would not give his body the satisfaction of responding to his wife's infidelity, that he would control this. He had not touched himself in eight days, and the saturated cushions and the thinned spore-fog had turned every sensation into a weapon, Karen's laugh from the kitchen a spike of arousal, the creak of the bed upstairs stiffening him against pajama pants he refused to open. A mantra arrived unbidden in the night, fully formed as if someone had placed it there while he slept, Karen's pleasure is enough, and it carried the weight of truth, so he lay rigid with his hands at his sides and his cock aching and serviced none of it. The sustained ache stopped being agony and became something adjacent to pleasure, a meditative worship, the denial inverting into the reward itself, and he lay still until dawn while she came downstairs and made coffee and never once looked at the couch. His face, in the grey morning light, looked almost peaceful.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-chastity-couch.webp" alt="Dale lying on his back on the family room couch at 2 AM, white tank top and boxers, visible erection tenting the boxers, hand gripping the cushion beside him but not touching himself, one tear tracking down his temple">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the husband is kept locked and aching in the one place he used to hide. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkDaleSomnophilia) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Dale-Somnophilia"])>>
<h2 class="journal-vessel-h2">Used while he sleeps</h2>
<p>The spore dose was calibrated for maximum depth tonight, his heartbeat slow and mechanical, a body chemically removed from the world that would not stir for anything. Karen sat beside him near three in the morning, but instead of touching his chest the way the earlier nights had built up to, she looked at him the way the parasite looks at a host, evaluating a resource, and tonight the boundary dissolved. She undressed him button by button, folding each garment onto the coffee table, then traced his soft middle-aged body with the detached curiosity of someone examining a sculpture while the spores kept his cock hard for her. She straddled him and guided him inside with one businesslike hand, riding his unconscious body at a rhythm that belonged entirely to her, her nails leaving crescents on his chest while his face stayed slack and his hands lay open at his sides. She came grinding against his pelvis, stayed through the aftershocks feeling his warmth seep into her thighs, then dressed him button by button in reverse, pulled the blanket up, and went back to bed. He never woke, and he will never know.</p>
<img class="scene-img" src="media/scenes/nsfw-dale-somno-ride.webp" alt="Karen naked on top of her unconscious husband on the garage cot, hands flat on his chest, riding him while he lies slack and eyes closed, dim garage overhead light">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the husband's dead daytime sleep becomes something other people use. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events.daleSporeReconnectApplied>>
<h2 class="journal-vessel-h2">Before the shift</h2>
<p>Just before eight, half into his BioGenesis uniform with the shirt buttoned wrong and one boot still by the door, he meant to head for the bathroom and instead his feet carried him into the bedroom where Karen was stepping out of her slacks. He stood gripping the frame and told her he couldn't make it down the hall, that something was wrong with him, that he'd been so hard it hurt since he woke off the couch and it would not quit. He crossed the room with his cock already out and walked her back to the bed, folding her down and working into her in one slow shove, and the compound was riding out in his sweat and slicking off his swollen cock so that every stroke painted the aphrodisiac straight into her. Her protest came apart into a sound she had not planned to make, the control draining out of her voice until she was telling him not to dare stop and that she didn't care about the shift. She clamped around him first and dragged him over a few strokes after, and he buried himself deep and spilled into her in pulses he felt up his spine. He surfaced blinking and apologetic, saying his hands had known the way while the rest of him was just along for it, and she took his face in one hand, straightened the collar he'd buttoned wrong, and told him he was going to find that again and do it more often, that it was not a suggestion.</p>
<video class="scene-video" src="media/video/he-dale-spore-reconnect-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/he-dale-spore-reconnect-1.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/he-dale-spore-reconnect-2.webp" alt="POV from above of a 43 year old woman with dark brown hair flushed and sweating on the bed after sex, cum leaking from her pussy, one arm thrown above her head, looking up satisfied">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the husband's buried wanting comes up all at once and he takes his wife before his shift, with no idea what moved him. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events.daleCamilaBuried>>
<h2 class="journal-vessel-h2">Under the tar</h2>
<p>The deep delve had stripped three years of patrol residue out of him, floor plans and staffing rhythms and stray receipts, and the withdrawal snagged on a stratum that did not behave like the rest of his mind, packed down on purpose and sealed over like cold tar by a technique the parasite recognised as its own. Breaking the seal surfaced a memory never meant to return: a back office on the night shift, the building dark and skeleton-crewed, Dale on his back with his uniform open from collar to belt, and an elegant blonde woman in a cream silk dress worth more than he makes in a month standing over him with one bare foot resting on his cock. She rolled the ball of her foot along him while she drew the overnight camera feeds out of him, every angle on the containment floor, and he answered in a flat hollow voice, yes mistress, this is good mistress, his face empty and his hips lifting without being told. He came against the sole of her foot, striping his own stomach and the hem of the silk without so much as registering it, then reached for the tissues to clean her unasked, and she told him he would not remember this, he never does, and sealed it shut behind her so he kept nothing. Someone wearing a woman like a coat had reached the facility's night guard long before the parasite ever found its centre, drawing the cameras out through him on a recurring schedule, and she left no name behind to find.</p>
<video class="scene-video" src="media/video/delve-dale-camila.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/delve-dale-camila.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet reached</h2>
<p><i>There is a layer in the night guard's deep memory that someone else packed down and sealed over, a thing buried under all the rest of him. Delve deep enough and it comes up.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.daleCamilaFutaNSFW>>
<h2 class="journal-vessel-h2">The usual reward</h2>
<p><i>Content warning: FUTA on male.</i></p>
<p>Deep in a dead storage bay during the lab ride-along, the rat watched the woman from the buried memory run the night guard in person. She debriefed him on the escaped specimen and then had him kneel and report on the lab's new strain, the successor line the scientists had just started, and Dale told her flat that he had the chambers wired for camera and audio both. She ordered him to double the take and leave all of it in the usual place, the new strain hers before BioGenesis even understood what it had made.</p>
<img class="scene-img" src="media/scenes/symbiotic/op-camila-dale-kneel.webp" alt="An elegant blonde woman in a long dark coat standing over a kneeling middle-aged security guard in a dim industrial storage bay">
<p>Then she rewarded him. She drew the coat open on nothing but bare skin and a hard cock and fed it to him on his knees, and he worked her with an empty, expert mouth.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/op-camila-dale-kneel.webp"><source src="media/video/op-camila-dale-bj.webm" type="video/webm"></video>
<<if $daleRoute is "cuckold">>
<p>When she eased him off her and asked the empty man what he wanted, the answer that came up was not the one she or he expected: he wanted to watch her take his wife, both his daughters, and his son, with him kept in the room to see it. She laughed, genuinely surprised there was anything left in him, filed it away, and told him that someday he might earn a thing that large, but that for now keeping her cock in his mouth would do.</p>
<</if>>
<p>She fucked his mouth in earnest and finished down his throat, telling him as he swallowed that this was the only thing that ever truly fed him and that he would not remember a swallow of it. Then she went still, her head coming up off him to scan the dark of the bay, the crates, the vents, sensing a presence she could not place, and that was the parasite's cue to flee back down the ducts before she found the one eye in the building she did not own.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>Content warning: this scene contains FUTA on male.</i></p>
<p><i>There is a dead bay deep in the facility where the operator keeps the night guard for herself, and rewards him for the cameras in a way he will never remember. You have not gone deep enough into the vents to watch it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier1Dale>>
<h2 class="journal-vessel-h2">Routine check</h2>
<p>The dream rebuilt the facility into a place of care, the containment pods swapped for clean beds and amber light, the air smelling of laundry detergent instead of antiseptic. A technician with warm eyes met him at the doorway and told him the whole job was to lie down, so he did, his body heavy from three years of overnight shifts and a marriage held together with caffeine, and something in his chest unlocked when the mattress took the weight. She unzipped his coveralls and pressed a stethoscope to his chest, found the locked muscle in his shoulder and worked the knot until he made a sound he hadn't made in years, then leaned down and kissed him the way Karen long ago stopped doing, a kiss that arrived like a question and stayed to hear the answer. She wrote on her clipboard that he required extended care, that they would keep seeing him, and asked when he last relaxed, not slept, relaxed, and he couldn't remember. He fell asleep inside the dream with his hand closing over hers, not tight, not desperate, the way a man holds something he is afraid of losing, because no one had told him in a long time that he was allowed to put the weight down.</p>
<img class="scene-img" src="media/scenes/dream-dale-1-a.webp" alt="Dale lying on lab bed, woman in lab coat touching his chest">
<img class="scene-img" src="media/scenes/dream-dale-1-b.webp" alt="Technician kissing Dale on clinical bed, her hand on his chest">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where someone finally looks after the tired man and asks nothing back. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier2Dale>>
<h2 class="journal-vessel-h2">The examination</h2>
<p>The lab returned with its amber light and clean sheets, the warmth heavier now and almost narcotic, and this time two technicians attended him, the warm-eyed first one and a blonde who looked at him the way a mechanic respects an engine. The dream kept his body honest, middle-aged and tired and soft at the waist, and they did not flinch. The first technician kissed him deep and slow, the kiss Karen stopped giving him, while the blonde took his cock in a clinical grip and weighed him, and when he murmured that they didn't have to, the first one pressed a finger to his lips and said she knew, that they wanted to, that the wanting was the part he kept getting wrong. The blonde set a measured rhythm and then took him in her mouth, a warm wet seal, sucking at a steady pressure while the first laced her fingers through his on the sheets and told him he had been so good, so patient, that he had earned this. He came on a slow shuddering exhale, his fingers squeezing her hand, and the blonde swallowed and wrote on the clipboard, response optimal, then they covered him with a warm blanket and let him sleep the deepest sleep he'd had in years. The conditioning was never the blowjob, it was the blanket and the hand and the verdict that he was good enough, something Karen hadn't said to him in years.</p>
<img class="scene-img" src="media/scenes/dream-dale-2-a.webp" alt="Two women in lab coats, one kissing Dale, one holding his cock">
<img class="scene-img" src="media/scenes/dream-dale-2-b.webp" alt="Clinical blowjob, clipboard nearby, Dale's relieved expression">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the care turns physical and the man is told, with his whole body, that he is enough. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier3Dale>>
<h2 class="journal-vessel-h2">Full assessment</h2>
<p>Four technicians this time, his coveralls folded on a chair with his badge and his boots and the weight of his waking life, the monitors reading his vitals in soft green and one line labelled surrender index climbing past thirty percent. The first technician ran her fingers through his hair and told him all four were there for him and not one of them needed a thing back, while the blonde pressed her bare breast to his chest and kissed him and a third mounted him and rode him slow with her hands braced on his chest. When he stammered that he didn't deserve this, they shushed him and told him to lie still and let them take care of everything, and the fourth worked a warmed probe into him and found the gland, locking vaginal grip and prostate pressure into one designed feedback loop. The blonde lowered herself to his mouth and he tasted her without resisting while every nerve fired at once, and he came so violently the monitors flatlined for a full second before resuming, four pairs of hands holding him down and holding him together. Then a voice that was close enough to Karen's said excellent results, run it again, and the rotation began, not as punishment but as reward, because his results were worth repeating. He woke on the couch with a wet spot spreading and his body feeling thoroughly used by people who did it for him, the feeling of being cared for sitting in his chest like a warm stone, and fourteen steps from couch to bedroom he wanted to walk to her, and the wanting was the first crack.</p>
<img class="scene-img" src="media/scenes/dream-dale-3-a.webp" alt="Four women surrounding Dale on examination table, lab coats open">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the surrender goes total and the man wakes wanting to be looked after for the rest of his life. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.eiPantryNSFWDone>>
<h2 class="journal-vessel-h2">At the family table</h2>
<p>The dosed food brought all five of them to one table for the first time in a long while, Dale who usually eats in the garage and Ryan who usually takes a plate upstairs both staying because the warmth in the kitchen had tipped over into something with an edge nobody could name. Loose and flushed in a way he hadn't been at that table in years, Dale started a real story, a shift from years ago about a man with a janitorial badge trying to talk his way into the server room, and that was the moment Karen's shoe came off under the table and her stockinged foot settled into his lap and pressed. He knew exactly what she was doing with the kids three feet away, and the conditioning had wired that precise arithmetic straight to his cock, so his voice climbed and lost its footing while she dropped one serene deniable double meaning after another, telling him to take his time, that they had all night. Jess noticed he'd gone sweaty and asked if he was alright, and Karen landed a warm hand on his forearm and said their father just gets worked up telling it right, the foot never stopping. He finished under the tablecloth where no one could see, breath held so long Megan glanced over, then exhaled and reached for his water with an unsteady hand while Karen's foot withdrew to her own side and she wore the face of a woman who had done nothing at all. He muttered the ending nobody could follow, that the man never did get into the server room, and reached for his water again.</p>
<img class="scene-img" src="media/scenes/ei-pantry-dinner-setup.webp" alt="Hoffman family at dinner table, warm kitchen light">
<img class="scene-img" src="media/scenes/ei-pantry-dinner-nsfw.webp" alt="Family dinner from an under-table angle, Karen's stockinged foot pressed into Dale's lap beneath the tablecloth hem">
<video class="scene-video" src="media/video/ei-pantry-dinner-nsfw.webm" autoplay muted loop playsinline poster="media/scenes/ei-pantry-dinner-nsfw.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dinner where the whole family sits down together and the mother runs her husband under the table while he tries to keep talking. You have not steered them there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.daleMorningT2Seen>>
<h2 class="journal-vessel-h2">The detour to the coffee shop</h2>
<img class="scene-img" src="media/scenes/symbiotic/dale-truck-megan-alley.webp" alt="Dale in the pickup at dawn, watching Megan get led around the corner into the service alley beside the closed coffee shop">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-alley-bj.webp"><source src="media/video/megan-alley-bj.webm" type="video/webm"></video>
<<if $daleRoute is "cuckold">>
<p>He came home late off a double, a little after seven, and caught Megan missing her bus. He ran her to work the way he always would, then idled at the kerb and watched her get towed laughing round the corner into the service alley. He followed. He found her on her knees with another man's cock in her mouth, and the thing that should have been rage came up as the opposite of it, the same wire his wife already tripped. He worked himself in the cover of a dumpster while his daughter ran the man down to nothing, and he went over the edge the same moment the stranger did, and was back in the truck and gone before she ever looked his way. He drove home easy and could not have told you why.</p>
<<else>>
<p>He came home late off a double, a little after seven, and caught Megan missing her bus. He ran her to work and idled at the kerb, and when she got towed laughing into the service alley something snagged at him and he followed. He stood at the mouth of the alley and watched another man finish at his daughter's mouth and could not make the picture mean what it meant, the soft work in his head sanding every edge off it. He stepped in to be sure his girl was alright, she handed him a bright, easy story, and he took it whole and drove home content.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a dawn he comes home late from the gate and runs one of his girls to her shift, and follows her around the back of the coffee shop, and what waits there lands on him by whatever shape you have given him. You have not pointed him that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.jessSoloNSFW>>
<h2 class="journal-vessel-h2">Study break</h2>
<<if $jessRoute is "punk">>
<p>The spores hung in the steam after her shower, and the daughter who runs a post-shower audit on her own reinvention stood at the fogged mirror cataloguing the dyed length and the bridge piercing instead of the damage, and then the compulsion she has aimed at an audience for weeks turned inward and there was nobody billed for it. The towel fell and she did not catch it. One hand braced on the counter, the other tracing down off her collarbone, over her breast, lower, until her fingers worked between her thighs and she came standing up, jaw clenched against the sound, watching her own reflection do the one thing the persona has no rehearsal slot for. She wiped the handprint off the glass afterward, not out of shame but out of housekeeping, filed the night as a data point, and went back to the bass with the hum still in her.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-punk.webp" alt="Jess at the bathroom mirror post-shower, long purple and black dyed hair wet and clinging to her shoulders, a bridge piercing between her eyebrows, one hand braced on the counter the other between her thighs, her reflection in the fogged mirror">
<<else>>
<p>The spores hung in the steam after her shower, and the disciplined daughter who treats her own body as an instrument of academic performance stood at the fogged mirror running her usual clinical inventory of the damage, the dark circles, the lost weight, until the compound went in under the analytical fortress and her hand stopped cataloguing and started wanting. The towel fell and she did not catch it. One hand braced on the counter, the other descending from collarbone to breast and lower, she rubbed slow deliberate circles between her thighs and came standing up, a furious bitten-off whimper torn out of a woman who does not allow herself pleasure, her reflected face showing something close to surrender. Then the guilt landed like a blow, she wiped the evidence off the mirror, and went back to her desk to punish the lost time with three more hours of study.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-solo.webp" alt="Jess at bathroom mirror, post-shower">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the eldest daughter's iron study discipline turns on her and spends itself a different way. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.jessMethodNSFW>>
<h2 class="journal-vessel-h2">By the numbers</h2>
<<if $jessRoute is "punk">>
<p>Past three in the morning, door locked, a sixteen-bar bass loop paused on the laptop and her practice log open on her thigh, the daughter who drills tempo until the response locks in turned the same method on her own body and ran it like a take. She slid her fingers under the waistband on the downbeat, kept her strokes locked to the click in her ear, logged that clockwise landed cleaner and wrote CW in the notebook without looking. Two fingers inside, the stretch making her gasp, and her hips rocked against her own hand still in time with the metronome because weeks of practice would not let the count unlock, until she came precisely on the downbeat of the fourth bar with a hand clamped over her mouth. Afterward she picked the notebook back off the floor and wrote session notes on her own orgasm, planning to try the amp direct on her hip next time.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-desk-punk.webp" alt="Jess on the edge of her bed at 3 AM in an oversized black band t-shirt and dark underwear, one hand inside her underwear, the other hand on a small open notebook balanced on her thigh, purple and black hair falling around her face, focused concentration">
<<else>>
<p>Past three in the morning, door locked, her anatomy textbook glowing blue with every erogenous pathway highlighted in yellow, the pre-med daughter approached her own sexuality the way she approaches organic chemistry, with a hypothesis and the expectation of reproducible results. She slid her fingers under the waistband, counted the strokes, tested clockwise against counter-clockwise and noted the stronger response, narrating clinical to herself even as the composure fractured. Two fingers inside, curling against the anterior wall the literature described, until the body overrode the catalogue entirely and she came with a strangled keening note muffled in her own hand, back arched off the mattress. Then she opened a fresh document and typed up the trial like a lab report: duration, peak response, a note that it was significantly more intense than the literature suggested, recommend further trials.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-solo-desk.webp" alt="Jess's bedroom at 3 AM, textbooks on the desk">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host turns the daughter's need to study everything into a structured appetite she practises like coursework. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessBreak1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Jess-Break1"])>>
<h2 class="journal-vessel-h2">The wall cracks</h2>
<p>Six hours into studying, hollowed out and shaking on caffeine, she went into the bathroom and for once did not reach for the shampoo first. She reached for the shower head, switched it from rain to focused pulse, and braced one hand on the tile while she directed the stream between her legs with the same precision she brings to a titration, having researched the method in advance. The spore-sensitised nerves lit under the water and her hips rocked against the pressure she could not control and did not want to, jaw clenched, refusing to make a sound, until her knees buckled and a single bitten-off moan echoed off the tile, the loudest she has made in this house in a long while. She sat on the shower floor afterward examining what had happened with a student's detachment, flushed and swollen and responsive, and filed it as maintenance rather than indulgence, something she had learned to operate and would repeat.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-break1-spread.webp" alt="Jess, the wall cracking">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter's perfect self-control takes its first real fracture. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessBreak2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Jess-Break2"])>>
<h2 class="journal-vessel-h2">Letting go</h2>
<p>Past three in the morning, eight hours into studying and wired on cortisol, she came down for water and instead of going back up she sat in the armchair six feet from her sleeping father. The saturated cushions worked through her skin while her exhausted mind let the chemistry in without resistance, and the shower had trained the pathway so her hand slid under her waistband without preamble. She watched Dale's slack unconscious face the whole time, two fingers working the rhythm the water taught her, the wet sound of it loud in the silent room and the proximity making every nerve sharper, because the safe thresholds had stopped working and only the transgression registered now. She came in total silence, jaw locked, nails leaving half-moons in the leather, and went calmly back up the stairs leaving no evidence and no witness, one rung higher on the escalation ladder.</p>
<video class="scene-video" src="media/video/nsfw-jess-break2-finger.webm" autoplay muted loop playsinline poster="media/scenes/nsfw-jess-break2-finger.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter stops resisting the change and starts reaching for it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessBreak3NSFW) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Jess-Break3"])>>
<h2 class="journal-vessel-h2">All the way down</h2>
<p>The bathroom is her space now and she has stopped bothering with the shower head, standing damp at the counter with two fingers working inside herself, watching her own parted lips in the mirror. She did not lock the door, and the omission was not an accident, because the living room taught her that the possibility of being seen is part of the mechanism now. The door opened. Megan stood there taking in everything, the braced hand, the glistening fingers, three seconds of eye contact, and then said only "I do that too" and sat on the edge of the tub three feet away, calm, present. Jess did not stop. She resumed slower and then found the rhythm, eyes locked on her sister's reflection, the other person in the room making every sensation sharper, and she came with a bitten-off cry she could not quite suppress while Megan watched. Afterward Megan squeezed her shoulder, told her to sleep instead of study, and they walked to their rooms without a word, carrying something they had no language for.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-break3-finger.webp" alt="Jess, remade">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter finishes becoming the person the conditioning has been building. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessTaboo3) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Jess-Taboo3"])>>
<h2 class="journal-vessel-h2">Family</h2>
<p>Three in the morning, a knock so quiet it was barely a knock, and the one who had been orbiting her for days stood in the dark hallway with no pretext this time, no textbook, no excuse. She stepped aside, the door closed, the lock clicked deliberate and mutual, and the analytical machinery that processes guilt was simply silent. The first kiss was her first kiss, overwhelming, and then they moved to the bed and swept the textbooks aside, the first time she has ever put anything above studying. A mouth went down her stomach and found the slick heat between her legs, tongue circling, and her thighs fell open as a reflex while she made a sound like a wall collapsing. They finished each other with hands and mouths, and afterward, lying on her back staring at the ceiling, what she felt was not guilt but terrifying want. She told the family member, not asked, "Tomorrow. Same time." Jess Hoffman had found something she wanted more than a medical degree, and she was going to schedule it.</p>
<img class="scene-img" src="media/scenes/nsfw-jess-taboo3-oral.webp" alt="Jess naked on her back on her small student bed, her hand gripping the hair of a partner performing oral sex on her, her back arched and mouth open in a gasp, textbooks pushed aside, blue desk lamp light">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the last boundary inside this family stops existing for her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and ($permanentDone.jessBrat1 or $permanentDone.jessBrat2)) or ($journalUnlocked and ($journalUnlocked["Ch2-NSFW-Jess-Brat-1"] or $journalUnlocked["Ch2-NSFW-Jess-Brat-2"]))>>
<h2 class="journal-vessel-h2">Brat</h2>
<p>She caught a touring band's lead singer aiming his last song straight at a girl on the front rail, and decided on the spot to take him out from under her. She walked the unguarded backstage door on nothing but the body language of someone who belonged, and when the girl finally worked up the nerve to go find him, Jess intercepted him at the bar and dragged him back into a dim service alcove by the wrist.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-show.webp" alt="Jess at the rail of a small basement venue watching the stage, the front-row girl beside her, the band mid-set under coloured light">
<p>She dropped to her knees on the concrete with the girlfriend frozen in the mouth of the alcove and made her watch, middle finger raised and pointed dead at her the whole time, narrating that she had already had him in the green room an hour earlier and the girl had only ever gotten the song. She worked him to the edge with her mouth, pulled off, and finished him onto the concrete between them so none of it touched her, then told the girl she was welcome to the sloppy seconds if it would make her feel like she got a piece of his night, and walked out past her shoulder. She did not need to come. The ruin was the orgasm.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-brat.webp" alt="Jess on her knees in a dim backstage service alcove, purple and black hair, septum ring, black tank top, denim shorts, the singer's cock at her mouth, her left hand raised with the middle finger extended pointed directly at an off-frame watching figure, concrete wall and a shelf of liquor bottles behind her">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter discovers how much she likes being a brat about it, and how far that pushing goes once it finally gets the answer it was looking for. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessVoyeurSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Jess-Voyeur"])>>
<h2 class="journal-vessel-h2">Voyeurism</h2>
<p>The cat followed her into a campus bathroom, and in the next stall a couple were going at it loud and unhurried, the woman gagging around someone, the man calling her his good girl, telling her not to stop. Jess froze with her own jeans half-open, knowing the correct thing was to re-button and leave, and could not make herself move. The discipline that had armoured her for years turned out to have one gap in it: it was built against her own wanting, and nobody had ever trained her against somebody else's. She sank onto the closed lid, worked her jeans and underwear down her thighs, and got herself off in silence to the sound of two strangers, the perfect-student fortress dissolving the instant it met other people's unrestrained pleasure.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-voyeur.webp" alt="Jess seated on a closed toilet in a bathroom stall, jeans pushed down her thighs, one hand between her legs, head tipped back against the partition, listening">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter who armoured herself against her own wanting finds out she has no armour at all against someone else's, in a bathroom stall with the noise coming through the wall. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and ($permanentDone.jessBand1 or $permanentDone.jessBand2)) or ($journalUnlocked and ($journalUnlocked["Ch2-NSFW-Jess-Band-1"] or $journalUnlocked["Ch2-NSFW-Jess-Band-2"]))>>
<h2 class="journal-vessel-h2">Band</h2>
<p>A touring band's singer sang his last song right at a girl on the rail, and Jess walked the unguarded backstage door like she owned it, on nothing but the body language of someone who belonged. She let herself into his green room, told him she wanted to know what that voice did up close, and turned her back to him over the couch armrest before he could make it a conversation.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-show.webp" alt="Jess at the rail of a small basement venue watching the stage, the front-row girl beside her, the band mid-set under coloured light">
<p>One rule, she told him, pull out, the cum does not touch me, you are not a band I wear home. He bent her over the armrest and she came inside two minutes, hard and silent, then put herself back together with her makeup untouched and walked out through the corridor while the girl who had waited all night for him was still working up the nerve at the bar. By the time the girl found him, Jess already had him a second time in the alcove with her made to stand and watch.</p>
<img class="scene-img" src="media/scenes/catstalk-jess-otherband-band.webp" alt="Green-room couch in a basement venue, Jess bent forward over the armrest with her band tee shoved up to her shoulder blades, Wren behind her gripping her hips, equipment cases visible at the edges">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter's new life finds her in a back room she would never have entered before, and then up on the stage in front of the whole room she used to hide from. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.jessStallReplySeen) or ($journalUnlocked and $journalUnlocked["Ch2-Jess-Degradation"])>>
<h2 class="journal-vessel-h2">Degradation</h2>
<p>She had left her number somewhere she should not have, and then spent four nights checking her phone every six minutes and calling it studying. When the unknown number finally buzzed near midnight it did not ask, it told, and she did every word of it. She stripped to the waist at her own desk under the lamp and wrote it on herself in black sharpie the way the stranger dictated, WHORE across her chest, SLUT on one breast, CUM DUMPY down her belly with an arrow pointing where it meant, then held the phone at her hip and photographed herself from collarbone to waistband and sent it off to someone who only ever called her names. The worse the words got the more she needed the next one, and she lay awake afterward with the marker still drying on her skin, waiting for the phone to tell her what she was again.</p>
<img class="scene-img" src="media/scenes/he-jess-stall-reply.webp" alt="Naked torso from chest to hips with black sharpie writing: WHORE across the chest, SLUT on the left breast, CUM DUMPY across the belly with a downward arrow, phone held at hip level">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter starts needing a stranger to tell her what she is, and writing the answer on her own skin to prove she believes it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.jessMemPunkSeen>>
<h2 class="journal-vessel-h2">The booth</h2>
<p>Her last good night, rewritten so the apology came out of it. In the new telling she stops propping up the friend who failed his exam and turns the cruelty loose instead, and when the other girl tries to soften it she forces her down onto the failed boy in the corner of the booth and finds she is wet the whole time. She wakes with the discipline intact and aimed somewhere new, certain for the first time that the not-apologising felt like power.</p>
<video class="scene-video" src="media/video/jess-memedit-punk-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-punk-1.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/jess-memedit-punk-2.webp" alt="The kneeling friend looking up flushed with cum on her tongue, Jess's hand still fisted in her hair, dim pub booth">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of her last good night where she stops apologising and turns mean, and likes it. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.jessMemBreakdownSeen>>
<h2 class="journal-vessel-h2">The pub toilet</h2>
<p>Her last good night, rewritten so it found the bottom of itself. In the new telling she gets drunk and pity-fucks the boy who failed the same exam, lets him strip her and bend her over the sink and call her every name her whole life was built on being the opposite of, and for the length of it she is nobody, and being nobody is the first rest she has had in a year. She wakes disgusted, and under the disgust her body has filed the lesson that surrender is relief.</p>
<video class="scene-video" src="media/video/jess-memedit-breakdown-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-breakdown-1.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/jess-memedit-breakdown-2.webp" alt="Jess slumped naked against the tiled wall by the sink afterward, his cum streaked across her back, wrung out">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of her last good night where she lets the boy who failed bring her all the way down, and finds relief in it. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.jessMemMorningSeen>>
<h2 class="journal-vessel-h2">The morning after</h2>
<p>The rewritten night surfaces while she is meant to be studying, and she cannot push it back under, and she ends up with her hand down her sweats at the desk finishing to it: the power of it if you wrote her defiant, the relief of being made nothing if you wrote her broken. Either way she reaches for the night unprompted, and the edit takes another root.</p>
<video class="scene-video" src="media/video/jess-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-memedit-morning.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning where the rewritten night follows her to the desk and she finishes to it instead of working. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier1Jess>>
<h2 class="journal-vessel-h2">The Impossible Question</h2>
<p>The dream builds the perfect trap for a girl whose whole identity is knowing things: one exam question she cannot answer. Describe an orgasm, first person, clinical terms score zero. She can diagram it, cite the literature, draw the nerve pathway, and none of that is the experience, because she has never had it. Her hand goes under the desk to answer it empirically, methodology over feeling, fingers finding her clit through the cotton while she narrates the vasocongestion to herself, and then the textbook never said anything about her toes curling. The alarm pulls the brake before she finishes, the way she has interrupted herself for years, and she wakes in the dark with her hand still between her legs and her heart rate climbing. The answer sheet stays blank until someone keeps her hand in place.</p>
<img class="scene-img" src="media/scenes/dream-jess-1-a.webp" alt="Jess alone in a vast exam hall, staring at the paper, her hand drifting under the desk">
<video class="scene-video" src="media/video/dream-jess-1-b.webm" autoplay muted loop playsinline poster="media/scenes/dream-jess-1-b.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the one exam she cannot pass is the one her own body sets her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier2Jess>>
<h2 class="journal-vessel-h2">Extra Credit</h2>
<p>The exam comes back failed in red ink, see me after class, and the only way to pass is the one she already knows without asking. She lies back on the professor's desk over her own scattered flashcards and color-coded notes, lets him push her underwear aside and put his mouth to work, and her clinical narration collapses one interrupted syllable at a time, ischiocav dying mid-word as the precise term is overridden by the body. Her thighs clamp around his head to hold him there, not to stop him, her eyes rolling back and her tongue pushing past her lips while she comes apart across her ruined thesis. He straightens, wipes his mouth, and grades her: barely passed. The orgasm is not what lands. The barely lands, because Jess has never barely passed anything, and she wakes wanting to take the exam again and do better.</p>
<img class="scene-img" src="media/scenes/dream-jess-2-a.webp" alt="Jess lying back on the professor's desk, skirt pushed up, her papers scattered around her">
<video class="scene-video" src="media/video/dream-jess-2-b.webm" autoplay muted loop playsinline poster="media/scenes/dream-jess-2-b.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the only way to pass is to let the vocabulary fail and the body answer. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier3Jess>>
<h2 class="journal-vessel-h2">The Final Assessment</h2>
<p>The final assessment is the locked office and the thesis on the desk, and when the bolt slides home something in her chest releases instead of tightening, because the sealed room means no one to perform for. He lifts her onto the desk, pushes her flat across her own two hundred and forty-seven pages, and enters her in one continuous push while telling her to keep reading. The clinical vocabulary fragments thrust by thrust, the polysyllabic terms first, then the sentence structure, then the fragments themselves, until her eyes cross and her tongue lolls and the whole architecture of her intellect goes dark and the only signal left is more. She comes hard enough to move the desk; he finishes across her face, ropes on her cheek and her slack tongue, and stamps PASSED into the cum on her forehead. She wakes face-down and twitching with a ninety-second gap in herself where the prison stood empty, and a part of her wants the grade again.</p>
<img class="scene-img" src="media/scenes/dream-jess-3-a.webp" alt="Jess on her back on the desk, the professor between her legs, thesis pages scattered, lost in it">
<img class="scene-img" src="media/scenes/dream-jess-3-b.webp" alt="Jess's face overcome, tongue out, eyes rolled back, cum on her face, the word PASSED">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the experiment finally runs to the end and the verdict comes back passed. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.gardenPrivateJessBreakdown>>
<h2 class="journal-vessel-h2">The garden wall</h2>
<img class="scene-img" src="media/scenes/jess-garden-armchair.webp" alt="Jess in the porch armchair">
<video class="scene-video" src="media/video/jess-garden-listening-breakdown.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening.webp"></video>
<p>The daughter took her break in the sun on the porch, hand already moving, when her sister's voice came through the cracked kitchen window doing something the good-girl barista was never supposed to do. She pressed her ear to the siding and could not pull away, the dissonance and the conditioning bypassing every guard her analytical mind could raise. She came so hard her head snapped off the wall and a cry escaped before she could clamp it down, then slid to the porch floor, soaked and shaking, certain only that the wall between her and her sister had gotten thinner.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon the eldest daughter takes her break outside and hears, through the kitchen wall, exactly who her sister becomes when she thinks the house is empty. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.gardenPrivateJessPunk>>
<h2 class="journal-vessel-h2">The garden wall</h2>
<img class="scene-img" src="media/scenes/jess-garden-armchair-punk.webp" alt="Jess in the porch armchair">
<video class="scene-video" src="media/video/jess-garden-listening-punk.webm" autoplay muted loop playsinline poster="media/scenes/jess-garden-listening-punk.webp"></video>
<p>The daughter took her break in the sun on the porch, hand already moving, when her sister's voice came through the cracked kitchen window doing something filthy on the phone. She pressed her ear to the siding and listened, and there was no shock in it, only recognition, one operator clocking another being competent at wanting things out loud. She came hard against the wall, almost gave herself away, and walked back inside already planning the midnight kitchen conversation where the two of them stop pretending not to know.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon the eldest daughter takes her break outside and hears, through the kitchen wall, exactly who her sister becomes when she thinks the house is empty. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.pheroCoatJessBreakdown>>
<h2 class="journal-vessel-h2">Borrowed warmth</h2>
<p>She came out of her room cold and wrung out and made the mistake of picking up the cat for the warmth of it. Four minutes of fur against her neck, the compound going straight in over the artery, and she ended up fingering herself against the kitchen wall and squirting across the floor, hating every second of it and coming anyway, calling herself every name she had while she did. She told herself it did not happen. It will happen again, every late night, the same counter, the same self-loathing, the same result.</p>
<img class="scene-img" src="media/scenes/phero-jess-carry.webp" alt="Jess carrying the cat through the hallway">
<img class="scene-img" src="media/scenes/phero-jess-neck.webp" alt="The cat pressed against Jess's neck">
<video class="scene-video" src="media/video/phero-jess-counter.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-jess-counter.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a late night the most disciplined one in the house comes out cold and tired and reaches for the only warm thing in the hallway, and it costs her more than she will ever say out loud. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.pheroCoatJessPunk>>
<h2 class="journal-vessel-h2">Borrowed warmth</h2>
<p>She came out of her room flushed from the amp and the bass and scooped the cat up for the warmth of it without thinking twice. Four minutes of fur against her neck, the compound going straight in over the artery, and she ended up fingering herself against the kitchen wall, squirting across the tiles without a flicker of shame, deciding on the spot that this was just a thing the new her does now. She will carry the cat every night, and every night it will end at the counter, or the floor with the bass abandoned.</p>
<img class="scene-img" src="media/scenes/phero-jess-carry-punk.webp" alt="Jess carrying the cat through the hallway">
<img class="scene-img" src="media/scenes/phero-jess-neck-punk.webp" alt="The cat pressed against Jess's neck">
<video class="scene-video" src="media/video/phero-jess-counter-punk.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-jess-counter-punk.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a late night the new one comes out of her room hot from the amp, reaches for the only warm thing in the hallway, and decides she likes where it goes. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.hormOverrideJess and $jessRoute is "punk") or ($journalUnlocked and $journalUnlocked["Ch2-HormOverride-Jess-Cold-Punk"])>>
<h2 class="journal-vessel-h2">The cold</h2>
<p>The cracked-window trick she has run since school to stay sharp got rewired into its opposite, the cold receptors spliced into the bundle that serves her clit, so the draught she opens to discipline herself now reads as pure arousal. She was wet before she shifted in the chair, and when the words slid off the page for the third time she closed the textbook with a grin, shoved her shorts down, and hooked one leg over the armrest so the cold air played directly across her bare cunt. She fucked herself open in the lamp glow without bothering to muffle it, and when her mother knocked to check on her she only slowed enough to drag the comforter over her lap and lie about chills, fingers still working, the orgasm landing the moment she heard Karen reach the kitchen. She drank the ginger tea bare-cunted in the chair afterward with the draught still on her thighs. Cold air is her switch now, and her mother at the door only made it harder.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-1-punk.webp" alt="Jess at her desk, cold from the cracked window">
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-2-punk.webp" alt="Jess sideways in the chair, hand between her legs">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon the cracked-window trick she has used since school turns against her, and the cold she trained herself to focus through becomes the thing she cannot focus through at all. This is the version where she leans all the way into it. You have not steered her down the louder road yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.hormOverrideJess and $jessRoute is "breakdown") or ($journalUnlocked and $journalUnlocked["Ch2-HormOverride-Jess-Cold-Breakdown"])>>
<h2 class="journal-vessel-h2">The cold</h2>
<p>The cracked-window trick she has run since high school to stay sharp got rewired into its opposite, the cold receptors spliced into the bundle that serves her clit, so the draught she opens to discipline herself now fires straight into her arousal instead of her focus. She was wet before she had shifted in the chair, the same paragraph sliding off her brain three times over, and when the highlighter rolled off the desk and she let it go she gave up on the afternoon entirely. She slid onto the bed, pushed her shorts to her knees under the comforter, and got herself off to the cold air on her shoulders hating every second of it, biting the pillow to keep quiet. When her mother knocked she lied about chills with her fingers still moving of their own accord, then cleaned up and told herself it had not happened. Cold air is her switch now, and the discipline that built the fortress is the thing tearing it down.</p>
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-1.webp" alt="Jess at her desk, cold from the cracked window">
<img class="scene-img" src="media/scenes/hormoverride-jess-cold-2.webp" alt="Jess curled on the bed, hand between her legs">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon the cracked-window trick she has used since school turns against her, and the cold she trained herself to focus through becomes the thing she cannot focus through at all. This is the version where she hates every second and cannot stop. You have not steered her down the quiet road yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.jessMeganKissPunk) or ($journalUnlocked and $journalUnlocked["Obs-Jess-Megan-Tshirt-Punk"])>>
<h2 class="journal-vessel-h2">Her sister</h2>
<p>Jess walked into Megan's room with no clothes on and went straight for the nightstand, hunting a crop top she swore Megan had stolen, while Megan was mid-call. She found it exactly where she said it would be, Megan blamed their mother for stuffing it in the drawer, and Jess pulled it on, vindicated. The argument got loud and close and then it was not an argument at all, the two of them crushed together open-mouthed, fisting hands in hair and bare skin, trading "slut" and "bitch" into each other's mouths between the wet smack of it, Jess spitting across her sister's lips just to watch Megan grin and ask for it again. They walked it back to the mattress and called it a fight, and their mouths knew better.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-megan-nightstand-punk.webp" alt="Jess nude at Megan's nightstand, purple and black hair">
<video class="scene-video" src="media/video/jess-megan-kiss-punk.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-megan-kiss-punk.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night Jess walks into her sister's room with nothing on and a thin excuse, and the fight that starts over a missing shirt ends with both their mouths busy. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.jessMeganKissBreakdown) or ($journalUnlocked and $journalUnlocked["Obs-Jess-Megan-Tshirt-Breakdown"])>>
<h2 class="journal-vessel-h2">Her sister</h2>
<p>Jess wandered into Megan's room with no clothes on, eyes too bright and hands not steady, hunting a shirt she could not find because she could not keep track of anything anymore, while Megan was mid-call. She found it right where she had been looking, Megan blamed their mother for it, and Jess pulled it on, shaken that she had torn the room apart over something that was there all along. The anger broke first, and then Jess broke, and the two of them ended up clinging and kissing on the bed, the insults coming soft and wrecked between them, more confession than fight. Megan spat on her and Jess only shuddered and asked to be told again how pathetic she was. She had not come in for a shirt. She came in because she was drowning and her sister was the nearest hand.</p>
<img class="scene-img" src="media/scenes/symbiotic/jess-megan-nightstand.webp" alt="Jess nude at Megan's nightstand, dark wet hair">
<video class="scene-video" src="media/video/jess-megan-kiss.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-megan-kiss.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night Jess comes apart and walks into her sister's room with nothing on, and the shirt she is looking for was never really the point. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.jessPunkMorningSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Jess-Porch-Punk"])>>
<h2 class="journal-vessel-h2">The decency complaint</h2>
<img class="scene-img" src="media/scenes/symbiotic/jess-porch-punk.webp" alt="Jess on the front-porch step in a cropped band tee and underwear, long purple and black hair, a cigarette between two fingers, defiant, the Henderson flower bed across a low hedge">
<p>Doris Henderson leaned over the property hedge a little after nine to lecture her about decency, half-dressed on her own front steps, and Jess answered by setting the cigarette down, holding the woman's eyes, and sliding her hand into her underwear in plain sight. She kept the pace lazy on purpose, feeding on every horrified syllable, told Doris to go ahead and call her mother and use all the words, and rode the woman's outrage to a climax that arced clean over the hedge and squirted across the prize flower bed. Then she wiped her hand on her bare thigh, raised one middle finger, told Doris to water them again, and picked her cigarette back up. The Hoffman phone rang within the minute and went to voicemail.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-porch-squirt-punk.webp"><source src="media/video/jess-porch-squirt-punk.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning the neighbour leans over the hedge to lecture her about decency, and she answers by getting herself off on the front steps and watering the woman's prize flowers with it, middle finger raised. You have not pointed her that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.jessBreakdownMorningSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Jess-Porch-Breakdown"])>>
<h2 class="journal-vessel-h2">The decency complaint</h2>
<img class="scene-img" src="media/scenes/symbiotic/jess-porch-breakdown.webp" alt="Jess on the front-porch step in an oversized t-shirt and underwear, dark brown hair in a falling-apart bun, exhausted, an open textbook on her thighs, the Henderson flower bed across a low hedge">
<p>Doris Henderson leaned over the property hedge a little after nine to lecture her about decency, and the word landed wrong, the way the cruel words land now. Jess asked her once to stop, and when the woman pressed in with no shame, no decency, her hand moved before she decided to let it. She could not stop. The more Doris named her, slut and filthy little slut, the closer she got and the more she needed to be named, until she begged the woman to say it again and came apart on the step, squirting clean over the hedge across the prize flower bed. The shame arrived in the same wave as the orgasm, inseparable now. Doris fled, calling her wrong, promising to tell everyone, and Jess sat in the wreck of it with the want already rebuilding underneath.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/jess-porch-squirt-breakdown.webp"><source src="media/video/jess-porch-squirt-breakdown.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning the neighbour leans over the hedge to lecture her about decency, and the cruel words land on the new wiring until she cannot stop, begging to be named while she finishes on the front steps. You have not pointed her that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.surrenderJessPunk>>
<h2 class="journal-vessel-h2">Permission to Stop</h2>
<p>3 AM, the new self on the floor with her bass, and the whisper was not stop, it was commit. She dropped onto the bed with her hand already inside her jeans, the soaked sheets spiking her, and then Dale walked in mid-sentence looking for something and froze in the doorway. She did not stop or cover up. She ordered him to get it out and give her something to look at, and in the thick air of the house he obeyed, the two of them working their own hands across the width of the room, father and daughter, neither closing the gap. She came watching his fist and he finished against the doorframe a beat behind her. The discipline did not break. It went somewhere new, far enough to pull her own father in and make him perform.</p>
<img class="scene-img" src="media/scenes/emmanip-jess-desk-punk.webp" alt="Permission to Stop">
<img class="scene-img" src="media/scenes/emmanip-jess-release-punk.webp" alt="Permission to Stop">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night her discipline finally gives at the desk, and what walks in to find her makes the surrender go further than just stopping. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.surrenderJessBreakdown>>
<h2 class="journal-vessel-h2">Permission to Stop</h2>
<p>3 AM, seventeen hours at the desk, and the whisper was stop. Her discipline collapsed all at once and her hand was between her legs before she decided. Then Dale eased the door open looking for something, saw her, and started to retreat, and she begged him not to go, to take it out, to let her have something so she would not have to do it alone tonight. He came undone and obeyed, and she sobbed through her orgasm watching her father finish in the doorway. The last barrier left in the house was the one between her and him, and tonight she could not bear it standing.</p>
<img class="scene-img" src="media/scenes/emmanip-jess-desk.webp" alt="Permission to Stop">
<img class="scene-img" src="media/scenes/emmanip-jess-release.webp" alt="Permission to Stop">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night her discipline finally gives at the desk, and what walks in to find her makes the surrender go further than just stopping. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenSoloNSFW>>
<h2 class="journal-vessel-h2">Alone, for once</h2>
<p>The sheets had been soaking up the compound for nights, layer on layer worked into the pillowcase and the mattress, until one evening the saturation reached past the sleeping pill and into the body that pill was supposed to keep quiet. She did not wake, but her hand moved anyway, down across her own breast and past the waistband of her pyjamas, fingers finding the wetness the dosing had manufactured while she slept. She fucked herself with two fingers in the dark, hips lifting against her own hand, a low involuntary sound escaping the careful woman who would have been mortified to hear it. The climax locked her whole body for a handful of seconds and then let go, and thirty seconds later her breathing settled back into medicated sleep with no memory it had ever happened. She pulled the cat close as she dropped under, and the limbic wiring set hard: cat, warmth, release, a need she will never understand the shape of.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-solo.webp" alt="Karen in medicated sleep, body responding">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-karen-solo-finger.webp"><source src="media/video/nsfw-karen-solo-finger.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a first night where the household's load-bearing wall stops holding herself together and lets her own hand do what no one else will. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.pheroCoatKaren>>
<h2 class="journal-vessel-h2">Evening dose</h2>
<p>She sank into the couch after dinner wanting one hour where nothing in the house needed her, and her hand found the cat the way it always does, scratching behind its ears while some show played to no one. The compound went through her fingertips colourless and odourless, cortisol falling and the warmth in her cheeks migrating lower until her thighs pressed together without her deciding to. She told herself it was the thermostat, then told herself the hallway was dark and the house was hers and there was no one to see, and her hand slid between her legs over the yoga pants and pressed in one slow grind that caught her breath. Ten minutes after she sat down to relax she had the pants shoved to her knees and two fingers inside herself, soaked, working slow then fast with the heel of her free hand jammed against her own mouth to bite the cry down. She came hard on the family couch where Dale sleeps off his shifts, dislodging the cat, and then pulled the pants up and straightened the cushions and decided it had only been stress. Every evening she sits down to the television now, she doses herself again.</p>
<img class="scene-img" src="media/scenes/phero-karen-lap.webp" alt="Cat curled in Karen's lap on the couch">
<img class="scene-img" src="media/scenes/phero-karen-flush.webp" alt="Karen's face flushed, eyes half-closed">
<video class="scene-video" src="media/video/phero-karen-masturbation.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/phero-karen-masturbation.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening the household's careful centre sinks into the couch to switch off for an hour, and the small thing curled in her lap makes certain she cannot. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenOralNSFW>>
<h2 class="journal-vessel-h2">On her knees</h2>
<p>David sat on the edge of her bed, the divorced man she had met through three dates on the app, and Karen knelt between his legs with a confidence that surprised even the thing watching from inside her. Her hands slid up his thighs steady and deliberate, she undid his belt and drew the zipper down, and she took his cock in her mouth in one smooth motion with her eyes never leaving his face. Twenty years of suppression had not erased the skill, it had sharpened it, every change in suction and every pause to let the anticipation build calculated and devastating. She cupped his balls and swirled her tongue over the head and swallowed him to the root until her nose pressed his stomach and he swore. When he came she held him in her mouth and took it, swallowing, stroking him through the aftershocks, and when she finally sat back and wiped her lip with the back of her hand the look on her face was one this woman had not worn in years: satisfaction, and the discovery that she came from the power of it, from being the one who reduces a man to profanity.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-oral-lib-1.webp" alt="Karen on her knees">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a version of the host's evening where the control goes out of her mouth and something simpler takes its place. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenSexNSFW>>
<h2 class="journal-vessel-h2">Taken</h2>
<p>The third visit, the affair smoothed into routine: David parked two streets over and came in the side door she left unlocked after ten. They undressed each other, the fumbling gone, and she stood in the black lace she had bought for exactly this before pushing him onto the bed and climbing on top. She rode him with authority, hips rolling in a slow figure-eight that ground her clit against him while she drove him deep, the rhythm controlled and deliberate, leaning forward to change the angle until the head dragged across the spot that made her jaw clench. Where the old Karen endured, this one conquered, taking the orgasm rather than letting it wash over her, clenching down on his cock and milking him over the edge with her until he had to grip her hips to hold her still. She collapsed beside him, breathing hard, heavy-limbed and satisfied, a forty-three-year-old body run on duty for two decades finally used the way it was built to be.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-sex-lib-1.webp" alt="Karen and David in the master bedroom, evening">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night where the host is finally taken the way her body has been quietly asking to be. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenDaleReunion>>
<h2 class="journal-vessel-h2">The bed, warm again</h2>
<p>The Sensory Bridge drove Dale up the stairs and back into the bed they stopped sharing, the dream of the reservoir and their first time still running hot in his blood. Karen lay facing him with the open, waiting expression she wore at twenty, the wall the dead marriage built dissolved, and when his hand found her face she did not flinch. She slid down the bed and took him in her mouth, slow and patient and nothing like the scheduled mechanical thing she performs in the kitchen, watching his face the whole time, humming around him, savouring him until he came in her mouth and she swallowed and crawled back up smiling. She guided him inside her still hard and they fucked missionary, face to face, her legs around his waist and his hands either side of her head, the rhythm of two people who remembered why they started. He came inside his wife for the first time in a stretch neither could count, she came around him, and afterward they lay tangled, his arm around her, her head on his chest, both of them saying the same thing into the dark: I missed you. The parasite did not manufacture the desire. It removed the wall, and their bodies did the rest.</p>
<img class="scene-img" src="media/scenes/karen-dale-bedroom-1.webp" alt="Karen and Dale in bed">
<img class="scene-img" src="media/scenes/karen-dale-bedroom-2.webp" alt="Karen and Dale, after">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night where the husband and wife find their way back to the same side of the bed, on terms neither of them set. You have not steered them there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenStranger1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Stranger1"])>>
<h2 class="journal-vessel-h2">First mark</h2>
<p>She came home from the dating app at a quarter to midnight and leaned against the front door with her eyes closed and a real smile on her flushed face, wine on her breath. At the hall mirror her fingers went to her neck, to a small oval bruise just below the jaw where a stranger's mouth had pressed with intent, and what crossed her face was not horror but delight. She showered for twenty minutes instead of her usual efficient seven, scrubbing at a man's cologne she could not quite get out of her skin, then came out pink and warm and stroked the cat on the landing on her way past, transferring the coat without noticing. She climbed into bed and pulled the cat close and slept with the hickey burning on her neck like a brand. The compound had not made the hunger, it had stripped the shame that kept her from feeding it, and the body, having remembered what pleasure feels like, will not agree to forget.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-stranger1-hickey.webp" alt="Karen, a stranger's mark on her neck">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host stops being only the woman who holds everything together and lets a stranger want her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenStranger2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Stranger2"])>>
<h2 class="journal-vessel-h2">The parking lot</h2>
<p>The second date escalated faster than projected, and the cat followed her car to the lot and watched through the window. Karen leaned across the centre console and found the man through his slacks, stroked the shape of him through the cloth, then drew his zipper down and wrapped her hand around the first cock she had touched other than Dale's in twenty-two years. Her thumb circled the head and he groaned, and then her mouth replaced her hand, lips parting around him, taking him deeper with each bob while his fingers tangled in the hair she had spent forty minutes straightening. With Dale it had always been obligation dressed as intimacy, but here in this car her mouth was hungry, she wanted to taste him and feel him lose control because of her, and when he came with a full-body shudder she held him through it and swallowed and sat up wiping her mouth and smiling. She came home at twenty past midnight, showered, and sat on the edge of the bed texting him, and the guilt that arrived the next day was smaller than she expected. Each time it gets smaller.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-stranger2-parking-bj.webp" alt="Karen with a stranger in a car">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host goes further than a mark, somewhere she should not be, with someone whose name she does not keep. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenStranger3) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Stranger3"])>>
<h2 class="journal-vessel-h2">No going back</h2>
<p>She brought him home. A grey sedan in the driveway behind her car, a man taller and broader than Dale, and Karen pulling him in through the front door by the hand, laughing low and warm. They passed the living room where Dale lay spore-deep on the couch, mouth open, and she did not look, leading the stranger up the stairs to the master bed. The rat in the wall recorded all of it: his hands on her blouse, her mouth on his chest, his tongue working her until she came fast and surprised against his face, then his cock filling her while she wrapped her legs around him and raked her nails down his back. He patient and her vocal in a way the house had never heard, gasps and whispered instructions and his name like a prayer, a second slower orgasm she directed with her hands until it dragged him over with her. He finished across her chest and she lay still wearing the evidence, not wiping it away, staring at the ceiling with wonder instead of guilt. He left at three in the morning; she did not shower. The inhibitions were not weakened, they were gone, and the savings account that was never quite enough stopped being the plan.</p>
<img class="scene-img" src="media/scenes/karen-stranger-door.webp" alt="Karen in the open front doorway at night, pulling a taller man in behind her by the hand, her face flushed and laughing, Dale's shape visible on the living room couch in the background">
<img class="scene-img" src="media/scenes/nsfw-karen-stranger3-cum.webp" alt="Karen, after">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host crosses the line she cannot uncross, and decides she is glad of it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenDom2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Dom2"])>>
<h2 class="journal-vessel-h2">Hands where she says</h2>
<p>It started as a grooming session in the bathroom, Ryan shirtless at the mirror while Karen worked moisturiser into his skin from behind, her hands lingering past the collarbones, mapping his chest, painting muted-rose tint onto his lower lip with her thumb. The denial grew thinner with each touch until her palm slid below his navel, over the waistband, and found him already hard. She framed it the way she frames everything, just a body responding, nothing to be ashamed of, hands on the counter, we'll handle it, and she reached into his shorts and drew him out with the same neat precision she had used for the lip tint. She stroked him in a controlled metronome rhythm, one hand flat against his hip to hold him still, eyes locked on his in the glass, telling him to breathe and watch himself, painted and moisturised and coming for her. He spilled across her cupped fingers in three pulses, and she caught it clean, tucked him away, and booked the next one into the household routine: we'll do it again tomorrow. The waiting is the conditioning, more potent than any compound.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-ryan-application.webp" alt="Karen, in control">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host's authority stops being about chores and becomes something the household obeys with its body. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenDom3NSFW) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Dom3"])>>
<h2 class="journal-vessel-h2">Made to kneel</h2>
<p>The culmination of weeks of grooming and lingering touches, Ryan in the doorway wearing everything she chose, Karen on the edge of the bed watching him the way a collector watches an acquisition. She drew him between her knees and kissed him, the first real kiss, soft then deepening into the dam breaking, and she taught him with her body where to put his hands and how much pressure. She unbuttoned her blouse and guided his palm to her bare breast, then pressed his head down the slope of her stomach until his mouth found her, her fist in his hair correcting his angle with small pressures, slower, there, her thighs closing around his ears. After a minute she eased him up for a better use, took his hard cock in her hand and stroked him while she placed his fingers where she wanted them between her legs and showed him the circles. They worked each other in the dim light, Karen methodical even in this, and Ryan came first, helpless, spilling over her stroking fist, and she pressed his hand harder against herself and followed seconds later with his name bitten off behind clenched teeth. He lay beside her trembling and transformed, and she looked at the evidence on his stomach the way she looks at a completed task: satisfied, clinical, done.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-dom3-cunni.webp" alt="Karen served on her terms">
<img class="scene-img" src="media/scenes/nsfw-karen-dom3-cum.webp" alt="Karen, after, on her terms">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host takes her control all the way, and is served exactly the way she dictates. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenFuta1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Futa1"])>>
<h2 class="journal-vessel-h2">Something new in the steam</h2>
<p>The compounds had been rerouting tissue at the base of her clit for weeks, building erectile cells and vascular channels out of what was already there, and under the scalding morning shower the change finally announced itself. She braced against the tile feeling a pressure and a heat that did not belong to the water, looked down, and watched her clit engorge and thicken and lengthen in three seconds into something the old rules had no line item for. She touched it and her knees nearly buckled, not like touching her clit, like touching a room in her body she had not known existed. It drained and softened and vanished, and then she made it come back, closing her eyes and flexing some deep new intent in her pelvis until she learned the switch, on and off, voluntary. She stood there practising for ten minutes until her hands stopped shaking, then wrapped herself in a towel and studied the same face in the fogged mirror, and the look the cat recorded from the counter was not horror or confusion. It was acceptance, and underneath it, hunger.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa1-shower.webp" alt="Karen in the shower, changing">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning the host's body starts becoming something it was not built to be, and the steam hides the first of it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenFuta2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Futa2"])>>
<h2 class="journal-vessel-h2">Learning her own weight</h2>
<p>Two in the morning, the bedroom door locked, and Karen stood at the foot of the bed wearing the face she wears before she opens the family accounts. She flexed, the cock grew and tented her underwear, and this time she did not retract it, she wanted to know what it did. She sat on the edge of the bed and wrapped her hand around the shaft, a no-nonsense grip on a part of her that had not existed two weeks before, and stroked slow and learning while it thickened in her fist and pre-cum beaded at the tip and she smeared it with her thumb and her toes curled into the carpet. She lay back and fucked her own fist, the sensation a straight relentless ramp with no plateau and no circling, until her jaw clenched and she came with a hard sound like exertion, cum striking her stomach in three pulses and two more. She lay breathing with her softening cock against her thigh and her own cum pooling above her navel, then let the retraction happen, wiped herself with a tissue, and pulled her underwear back up. She had learned the whole arc in one session, grip and speed and angle, and now she wanted a target.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-mirror.webp" alt="Karen at the mirror">
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-stroking.webp" alt="Karen learning her body">
<img class="scene-img" src="media/scenes/nsfw-karen-futa2-climax.webp" alt="Karen, climax">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host stops being afraid of what she is becoming and starts using it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.karenFuta3) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Futa3"])>>
<h2 class="journal-vessel-h2">Putting it to use</h2>
<p>She summoned Ryan with a two-word text and stood naked at the full-length mirror while he came in wearing the camisole and tint she had trained into him. Then she flexed and let him watch it happen, her cock thickening from nothing and rising against her thigh, no hiding and no explaining, just showing. She crossed the room and cupped his face the way she does in the grooming sessions, but the cock pressing his hip changed the weight of it, and the kiss was harder, more demanding, a person who knows exactly what she is about to do. She undressed him the way she had dressed him and pushed him onto his back and climbed on top, her cock finding the crease of his thigh, grinding and claiming before she wrapped her hand around both of them and set the rhythm. She decided when he finished and when she did, the feminised son beneath his mother no longer recognising the transgression, and the thing she had grown stopped being a private discovery the moment she came with her head thrown back and her hand gripping his hip. A weapon she carries inside her body that no one sees until she wants them to, deployed and retracted at will.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-futa3-ryan.webp" alt="Karen on top of feminized Ryan in his satin camisole, mounting him, her erect cock pressing against his">
<img class="scene-img" src="media/scenes/nsfw-karen-futa3-climax.webp" alt="Karen, the change put to use">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the host's new body finds a willing partner under her own roof. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkKarenExhib) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Exhib"])>>
<h2 class="journal-vessel-h2">Where the neighbours can see</h2>
<p>Just after eleven she opened the curtains she had kept closed for twenty years and stood at the bedroom window in a sheer nightgown that hid nothing with the streetlight behind it, turning the glass into a stage for anyone on the street below. The Henderson living room light was on across the way, and she did not know if anyone was watching, and that uncertainty was the entire mechanism. She unbuttoned the gown and let it hang open, framing her body in the amber wash, and ran her hand down from her collarbone to circle a nipple hard, then lower, sliding her fingers between her legs to find the wetness the appetite had made. She touched herself standing up, framed in glass, hips rocking against her own hand, the gown slipping off both shoulders. When the Henderson light went off her hand stuttered then moved faster, the possibility of being seen replaced by the certainty of having been, and she came against the cold glass with one hand gripping the sill, eyes open, staring at the dark house. She will do it again. The window is always there, and the not-knowing is a drug that needs increasing doses.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-exhib-window.webp" alt="Karen at the window">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point where the host stops fearing the open window and starts standing in it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkKarenBondage) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Bondage"])>>
<h2 class="journal-vessel-h2">Held in place</h2>
<p>The door locked, two pale grey silk scarves in her hands, Ryan stripped to his boxers on the mattress with his chest blotched red from the nervous flush. She tied his wrists to the headboard, not tight enough to hurt, tight enough to hold, and tested the knots while his fingers grasped at nothing. The restraints removed the variable she fears most, reciprocation: Ryan could not touch her, could not grab, could not set the pace or the angle or the duration, and Karen owned every sensation in the room. She undressed slowly because she could, then pulled his boxers to his thighs and straddled him, sinking down in one slow roll until he was fully inside her, a palm flat on his chest telling him she had not said he could move. She rode him with a rhythm she controlled completely, stopping the instant his breathing changed, edging him three times, four, while she worked her own clit above him, and she came from the control rather than the contact, the sight of a restrained body straining toward a release she alone permits. She did not let him follow her over. Afterward she stayed on him, deciding whether to let him finish inside her or lift off and leave him aching against the silk all night.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-bondage-tying.webp" alt="Karen, bound">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point where the host learns that being held in place is the only rest she gets. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkKarenDenial) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Denial"])>>
<h2 class="journal-vessel-h2">Kept on the edge</h2>
<p>Forty-five minutes she worked the body beneath her hand, finding the rhythm, accelerating, building it to the very edge of the cliff, and then stopping, withdrawing her hand, sitting back, crossing her legs, examining her nails. Not yet. The arousal had nowhere to go, so it compounded, each interrupted peak adding pressure to the next, and she counted the pleases as they came, fourteen of them, the early ones reflexive and the late ones broken, the begging of someone who had stopped expecting release and started needing the denial itself. She restarted and stopped again, leaning to the ear to say it slow, I said, not, yet, cataloguing every flinch. And Karen, who had not been touched, who had asked for nothing, felt her own orgasm build from the sound alone, from the fifteenth please cracking on the consonant, and came silent and internal and devastating with no hand between her own legs at all. Then she decided whether to allow the release, because the deciding was the whole point: pleasure reclassified from a right into a gift she bestows or withholds.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-denial-edge.webp" alt="Karen kept on the edge">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point where the host learns to want the holding-back more than the release. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.kinkKarenPenetration) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Karen-Penetration"])>>
<h2 class="journal-vessel-h2">On top, taking</h2>
<p>The growth had reached a size that made this possible and the modifications gave her natural lubrication, and she had been preparing for it mentally and architecturally for two weeks. The body she had chosen lay face up on the bed, willing, the apprehension buried under a compliance that read as desire, and Karen stood at the edge with her cock fully erect, her hand trembling not from fear but hunger. She climbed on and straddled them, guided herself into alignment, and pushed slowly in with the same deliberation she brings to everything, and the sensation was unlike anything she had known, not receiving but giving, not being filled but filling. She moved, learning the mechanics of a body that thrusts instead of receives, feeling every clench around the densest nerve cluster the change could produce, twenty years of lying beneath someone inverted in a single stroke. She controlled the depth and the angle and the speed, and the sounds beneath her were the ones she used to make herself, the gasps and the pleas, and she savoured them. She drove deep and held as the orgasm came with force, pulsing through the new anatomy inside another body, and the expression on her face as the last tremor faded was not satisfaction but revelation: the body she was born with had been incomplete, and the architecture was finally finished.</p>
<img class="scene-img" src="media/scenes/nsfw-karen-penetration-mount.webp" alt="Karen on top">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point where the host stops being the one taken and becomes the one taking. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.convergenceKaren>>
<h2 class="journal-vessel-h2">The convergence</h2>
<p>The whole network closed on her bedroom at once, every vector tuned to a single note: the cat against her chest purring at the pitch of her heartbeat, the rat working a spore cloud through the headboard vent, the gecko on the ceiling dripping its micro-dose onto her bare skin, the dog across the threshold so nothing in the hall could reach her. Karen settled into it the way a string settles when the right frequency finds it, her breathing going deep, the tension draining from her shoulders even in sleep, one hand drifting to pull the cat closer while a dream of being looked at and wanted moved under the surface. The combined dose crossed a line no single vector could reach, and her body answered as pure chemistry, with no hand on her and no thought in her head, her hips shifting and her thighs parting and a flush climbing her from collarbone to navel as the climb built and broke and every host in the network felt it land. She woke rested in a way she had not been in years, blamed the damp sheets on night sweats, and never thought twice, and every path carved into her that night made the next session land that much more easily.</p>
<img class="scene-img" src="media/scenes/convergence-karen.webp" alt="Karen, the convergence dream">
<<else>>
<h2 class="journal-vessel-h2">??? · A depth not yet reached</h2>
<p><i>There is a place far down in the conditioning where the host's sleep stops belonging only to her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.karenMemDomSeen>>
<h2 class="journal-vessel-h2">The borrowed bedroom</h2>
<p>The graduation party where she met Dale, rewritten so the control she wears now was always hers. In this telling she was not the one being charmed, she watched Dale work his way across the room and let him commit before she answered, told him he had until she finished her drink to be more interesting than the door, then set the empty glass on the sill and said come here without checking whether he followed. She backed him to a borrowed bed piled with coats, hooked the gown up over her bare hips, and pressed him down by the shoulder until he sank to his knees, then settled over his face with a fist in his dark hair and rode his mouth exactly how she wanted it, not one degree faster, holding his hips up when her thighs shook. When she came against his tongue she rode out every last pulse before she let him breathe, and then, flushed and certain it was his turn, he reached for his belt, and her hand closed over his wrist. Who told you you could undress. She smoothed the gown back down, told him to keep it for later, maybe she would call, and left him sitting on the edge of the bed with his belt open and his cock hard and nothing he was allowed to do about either. The first no, two decades before she learned to run a house on them.</p>
<video class="scene-video" src="media/video/karen-memedit-dom-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-dom-1.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/karen-memedit-dom-2.webp" alt="Karen at the bedroom door, looking back with a cold smile">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of the night she met Dale where the host owned the room and the boy learned to beg. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.karenMemLibSeen>>
<h2 class="journal-vessel-h2">The party bathroom</h2>
<p>The same night, rewritten the other way, toward appetite instead of control. Three drinks warm in her and a whole degree of want she did not yet know what to do with, she leaned in close over the music, told Dale she had something to show him down the hall, and pulled him by the wrist past the back step where in the other telling she would have made a sensible promise. The bathroom lock turned with the party still hammering through the wood, and she dropped to her knees on the cold tile and took his cock in her mouth before he had finished saying her name, the danger of it half of why she was already soaking, a voice in the hall close enough to touch. She worked him with her hand and her mouth until his knuckles went white on the sink and he begged her to let him, then pulled off, stood, braced her hands on the edge, found his eyes in the mirror with the gown rucked over her bare hips, and told him to get inside her now and put his hand over her mouth because she was not going to be quiet. He fucked her over the sink while the party roared six feet away, the doorhandle rattling once as someone tried it and gave up, and she came hard into his palm before he spilled into her with his teeth in her shoulder. The last time she let wanting be the only reason she needed.</p>
<video class="scene-video" src="media/video/karen-memedit-lib-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-lib-1.webp"></video>
<video class="scene-video" src="media/video/karen-memedit-lib-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-lib-2.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of the night she met Dale where the host took what she wanted in a stranger's bathroom and the party be damned. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.karenMemMorningSeen>>
<h2 class="journal-vessel-h2">The morning after</h2>
<p>She surfaced out of sleep in the grey early light with the rewritten night surfacing with her, vivid and already filed as something that actually happened twenty years ago at a party in a house nobody owned. Dale's side of the bed was cold and she did not reach for it, because this morning she was not thinking about the man in the garage at all, she was thinking about the edited night. Her hand was already under the sheet and the waistband before she decided to let it, two fingers working her clit while she chased the feeling the rewrite had given her, the recklessness or the clean cold power depending on which way it had been cut, a thing her body now believed was always hers. She came harder than she meant to, one hand pressed flat over her own mouth out of twenty years of habit even though the house was empty, and lay afterward in the grey light with her heart going and a hunger she could only point at. The edit stopped being a story she was told and became a hunger she owns.</p>
<video class="scene-video" src="media/video/karen-memedit-morning.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/karen-memedit-morning.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning where the host wakes and finishes to the night you rewrote, certain it was always hers. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier1Karen>>
<h2 class="journal-vessel-h2">The Meeting</h2>
<p>The dream starts the way they always start for her, with a meeting: the PTA conference room, fluorescent light, her binder open and her agenda read twice. The armour comes off one item at a time, the blouse simply not there anymore, then the skirt, then the bra, each piece subtracted between heartbeats while the principal talks about the gymnasium proposal. Her hands try to cover herself and refuse, staying on the pen, on the table, and nobody looks down, nobody comments, the secretary she has never liked leans in and Karen delivers the bake sale budget naked with her nipples hard from the air conditioning. The terror drains like bathwater and leaves something her waking mind would never permit, relief, because she is exposed in a room full of clothed people and nothing happened, the weight of competence and control stripped away and the world did not end. Her thighs press together for a different reason now, the friction deliberate, the flush climbing her chest no longer fear, and the vote passes unanimous while the warmth between her legs spreads like ink on wet paper. She wakes near three in the morning with her hand between her legs and her fingers wet and no idea why.</p>
<img class="scene-img" src="media/scenes/dream-karen-1-a.webp" alt="Karen at a PTA meeting, her clothes fading away while the other parents stay oblivious">
<img class="scene-img" src="media/scenes/dream-karen-1-b.webp" alt="Karen naked in the meeting chair, composed and aroused while nobody looks down">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the armour comes off in front of everyone and the world simply does not end. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier2Karen>>
<h2 class="journal-vessel-h2">The Treasurer's Report</h2>
<p>Same conference room, same fluorescent light, except this time she is already naked and does not fight it, sitting with her shoulders back to deliver the treasurer's report. A man she does not know stands from the chair beside her, smelling of soap and something warmer, and unzips his pants right at the table, and Karen keeps reading the quarterly figures until he grips the back of her head and pushes his cock into her mouth mid-sentence. She gags, the head hitting her throat, mascara running, saliva spilling over her lip, and she still tries to deliver the agenda around him, the words dissolving into wet choking sounds while the parents across the table take notes and the principal checks his watch. Her jaw relaxes, her shoulders drop, she takes him to the root, and her own arousal builds with every choking sound she makes, dripping against the chair, clit throbbing, because she gets wet from being used while she is trying to be competent. He comes deep and floods her mouth, cum leaking down her chin onto the projections, and she swallows in two convulsive attempts, wipes her mouth, finds her place, and seconds the motion in a raw level voice. The dream gave the orgasm to him and made her swallow it, and she wakes with a taste she cannot place and a calm she does not question.</p>
<video class="scene-video" src="media/video/dream-karen-2-a.webm" autoplay muted loop playsinline poster="media/scenes/dream-karen-2-a.webp"></video>
<img class="scene-img" src="media/scenes/dream-karen-2-b.webp" alt="Karen at the conference table, cum in her mouth, tears and saliva, papers scattered">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the exposure turns into an act she carries out with her usual composure, and the room approves. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier3Karen>>
<h2 class="journal-vessel-h2">Standing Ovation</h2>
<p>The conference room has grown into an audience, rows of folding chairs, fifty faces, and Karen stands naked at a podium with her speech in neat stacks and taps the microphone. She does not endure the nudity now, she wields it, cupping her own breast and narrating her body into the mic as the asset report, then sliding her fingers between her legs so the front row can see exactly what she is doing. A man takes her from behind at the podium and she narrates the penetration in a level professional voice, full insertion, no resistance, the body accommodates, while the audience watches attentive as if the numbers are very good. More men rise and line up with the politeness of parents at a bake sale, and she services all of them, taking one in her mouth while another fucks her, rotating, stroking the ones she cannot fit, the same methodical efficiency she brings to everything. The orgasm lands on three wires at once, the body, the being-seen, and underneath it the one that matters, applause, the room rising to a standing ovation as a man comes inside her and another across her tongue. She wakes soaked, sheets drenched, the cat purring against her hip, unable to recall the dream and certain only that letting go produced approval and she wants to feel it again.</p>
<img class="scene-img" src="media/scenes/dream-karen-3-a.webp" alt="Karen naked at a podium, a man behind her, the audience watching attentively">
<img class="scene-img" src="media/scenes/dream-karen-3-b.webp" alt="Karen taken by multiple men at the podium while the audience rises in a standing ovation">
<img class="scene-img" src="media/scenes/dream-karen-3-c.webp" alt="Karen exhausted at the conference table afterward, cum on her face, two spent men beside her">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the surrender goes total and the room rises to applaud her for it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.tabooKarenRyanDone>>
<h2 class="journal-vessel-h2">Her son</h2>
<<if $ryanRoute is "familySeeker">>
<p>After dinner the kitchen filled with a smell neither of them would name, the overlapping pheromone signatures of mother and son reading each other as safe and warm and high-value, and Ryan stayed on the barstool watching Karen load the dishwasher, hard since the plates were cleared and past hiding it. When she told him to take care of that on his own he answered flat and unfiltered that it was her, her body, the way she smells, that it had been her for a while now, and the only thing that landed through the warm fog was that her son wanted her, specifically her, and the heat that dropped through her stomach was nowhere near horror. She slid off the stool to her knees on the tile, worked his sweatpants down off his hips, and stripped off her blouse because the sight of her would get him there faster and faster was tidier on a floor she had just cleaned. She pulled him in a slow steady two-handed rhythm with her thumbs over the head until he tipped over, then closed her mouth around him and caught every pulse and swallowed rather than let a drop reach the tile, sitting back wetter than she had been in longer than she wanted to count, already turning over when she got to do it again. They will never say a word about it, and they will absolutely do it again.</p>
<img class="scene-img" src="media/scenes/symbiotic/taboo-karen-ryan-kitchen-fam.webp" alt="Karen at the kitchen island in the warm evening light, Ryan on a barstool watching her with quiet fixation">
<<else>>
<p>After dinner the kitchen filled with a smell neither of them would name, the overlapping pheromone signatures of mother and son reading each other as safe and warm and high-value, and Ryan stayed on the barstool watching Karen load the dishwasher, hard and past hiding it. When she told him to take care of that on his own he would not meet her eyes and blamed the changes, the stuff he was on, a body doing things he never asked for, and Karen closed around it the way she has learned to close around everything about her transitioning child, turning the strange thing into a thing she could be good about, because what kind of mother makes her own child feel like a freak. She slid off the stool to her knees on the tile, worked his sweatpants down off his hips, and stripped off her blouse to speed him along because faster was tidier on a floor she had just cleaned. She pulled him in a slow steady two-handed rhythm with her thumbs over the head until he was close, then closed her mouth around him and caught every pulse and swallowed rather than leave a mess, telling herself a supportive mother helps however the helping needs to look.</p>
<img class="scene-img" src="media/scenes/symbiotic/taboo-karen-ryan-kitchen-fem.webp" alt="Karen at the kitchen island in the warm evening light, the softly feminizing Ryan on a barstool watching her">
<</if>>
<video class="scene-video" src="media/video/taboo-karen-ryan-pov.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/taboo-karen-ryan-pov.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening the wall between a mother and her son thins until neither of them can name what is happening in the kitchen air, and one of them ends up on her knees. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.eiWashNSFWDone>>
<h2 class="journal-vessel-h2">The quarterly review</h2>
<p>She fastened the last pearl button at her throat for a video meeting with six faces in the grid, two clients and her supervisor and three accountants she has known for years, and the double-potency compound activated against her skin the moment the warm fabric touched it, releasing through the collar and the sleeves and the panel pressed to her chest. She walked the call through the Q3 overhead and the Peterson restructuring in the crisp level voice of the woman who bills at eighty-five an hour and never stumbles, not noticing at first, her pupils dilating and her breathing going slow as the body got ready without asking her. Around minute fourteen her hand slid off the desk onto her thigh, then under the skirt, then past the waistband, and the first touch against her clit was a hard electric blink she played off as a dry contact lens. She masturbated through the revenue projections in slow rationed circles she timed to the slides, harder under the supervisor's monologue, lighter when a question came, answering every one correctly while her hand never stopped, crossing her legs to trap it and ride the constant pressure. She came on the word fine when the supervisor said she looked flushed, silent, jaw locked, eyes fixed on the webcam refusing to give one muscle away, and she answered a question about accounts receivable at the seven-second mark of it. Then she closed the laptop, washed her hands, went to make the family lunch, and did not change the blouse.</p>
<img class="scene-img" src="media/scenes/ei-wash-meeting-setup.webp" alt="Karen at her desk in the formal blouse, webcam on">
<video class="scene-video" src="media/video/ei-wash-meeting-nsfw.webm" autoplay muted loop playsinline poster="media/scenes/ei-wash-meeting-nsfw.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning the laundry compound goes into a work blouse, and she sits through a video call with six colleagues while her own body turns on her one slow circle at a time. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.tabooKarenMeganDone>>
<h2 class="journal-vessel-h2">Her daughter</h2>
<p>Megan came through for the fridge and stopped in the doorway because there was a low steady electric sound threaded under the noise of lunch being made, coming from her mother dicing tomatoes with her hips set oddly against the counter. When Megan asked what was buzzing Karen told her without a flicker of shame, scraping the tomatoes into a bowl perfectly even, that she keeps a toy in while she works because a woman has needs and her husband is always at work or asleep, and dealing with it during chores is simply efficient, clean kitchen and that out of her system at once. The flat practical way she said it stripped all the alarm out of the room, so Megan came around behind her and crouched to look, plainly curious instead of appalled, asking how big it was and how many settings and whether you could wear one out behind the bar with nobody knowing. The questions and the buzz climbed the whole time, Karen's hands going still on the sink and her breath shortening, and she got out a strained warning before she came, and Karen is a squirter, and with the toy still buzzing inside her it went everywhere, a hard wet pulse that caught Megan full in the face from inches away because Megan was too curious to back up. Karen rode it out against the counter while her daughter knelt there drenched and blinking and then laughing, and she handed Megan the dishtowel and told her to go rinse off and to get herself one of the remote ones, they are worth it.</p>
<img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-kitchen.webp" alt="Karen making lunch, Megan in the doorway, listening">
<img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-toy.webp" alt="Close on the toy, Megan's face inches away examining it">
<img class="scene-img" src="media/scenes/symbiotic/megan-karen-vibe-soaked.webp" alt="Megan drenched, blinking in shock">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon Megan walks in on a sound she cannot place and learns something practical from her mother that mothers do not usually teach, and stays a beat too long to watch how it ends. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.libKarenKitchenSeen>>
<h2 class="journal-vessel-h2">Her own kitchen</h2>
<p>Karen made the morning coffee with her top off, in no hurry to put it back on, standing at the counter in her panties with the morning light across her bare back and the blouse slung over a chair, because the kitchen is warm and it is her kitchen and somewhere along the way she decided she was done dressing for a room she pays the mortgage on. Dale came in for his own coffee and stopped short, glancing back at the doorway, telling her the kids were up and one could walk in any second, asking what if somebody sees. She poured without turning around and told him that somebody would see a woman topless in her own kitchen and they would live, and if it bothered him he was welcome to look at the wall. He did not leave. He meant to, the careful part of him was already half-turned toward the hallway, but his eyes had gone to her and stayed, and the longer he looked the less his objection had anywhere left to stand, the protest draining out of him until he picked up a mug he did not quite remember reaching for and took the coffee she slid across to him. The rule came off with her blouse, and she is not putting either back on.</p>
<img class="scene-img" src="media/scenes/symbiotic/lib-karen-topless-kitchen.webp" alt="Karen topless at the kitchen counter, making coffee, unbothered">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning she decides she is done dressing for a room she pays the mortgage on, and her husband learns his objection has nowhere left to stand. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.emManipKaren>>
<h2 class="journal-vessel-h2">Loss of Command</h2>
<p>Every Sunday she builds the family's week with the clipboard and the red pen, and that was the night the wiring turned the pleasure of ordering into the pleasure of losing it. The pen wobbled at Monday seven o'clock and then dropped, the clipboard slid to the floor, the loose schedule sheet settling on the duvet between her thighs, and her hand went under the nightgown to find herself already soaked while the cat purred in her lap the whole time. She talked herself through it the way she talks herself through everything, low and filthy, nobody coming, do it yourself, you do everything yourself, until she was loud enough that a child called through the wall to ask if she was all right. She held her voice level just long enough to say she was fine, go back to bed, and that was what finished her: she squirted across the schedule sheet, the neat columns and the red ink drowning under it, soaking the careful week of her family's life into a wet ruin between her legs. Every future Sunday, clipboard in hand, she will be wet before she writes the first line.</p>
<img class="scene-img" src="media/scenes/emmanip-karen-schedule.webp" alt="Karen propped against the headboard with the clipboard and the cat in her lap">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/emmanip-karen-abandon.webp"><source src="media/video/emmanip-karen-abandon.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>The most disciplined woman in the house keeps the family running on a clipboard and a red pen. There is a way to invert exactly that, to turn the pleasure of control into the pleasure of losing it, and you have not reached for it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenDreamHarvested>>
<h2 class="journal-vessel-h2">Asleep, reaching</h2>
<p>The Zolpidem had torn down every wall, and with the pheromones layered into her skin for days the dream did not need to invent anything, it only had to reflect what was already there. She dreamed of being touched, first the young Dale from the basement wedding photos with his hands on her hips, then a lover whose face never resolved, because it did not matter who. Her sleeping mouth gave her away, the name slipping out soft, then please, then don't stop, words the waking woman would never say aloud. Her real hands followed the dream, dragging the sleep shirt up over her breasts and sliding beneath the waistband of her pyjamas, and she fucked herself slow and then not slow at all, hips lifting off the mattress, the most controlled woman in the house undone by chemicals she will never detect. She came in a silent arch and settled back into sleep with her shirt still bunched and her hand still slick, and she will remember none of it. Only the afterglow, the looser jaw, the deep sleep she will credit to the pill. And the next night, her hand will reach for the cat against her hip without ever asking why.</p>
<img class="scene-img" src="media/scenes/beast-dream-karen.webp" alt="Karen dreaming, flushed and restless, hand beneath her pyjamas">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>Under the sleeping pill and the layered pheromones the wall she holds up all day comes down, and the dream reflects back the one thing she will not let herself want awake. You have not yet pressed close enough to harvest it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.karenMorningT2Seen>>
<h2 class="journal-vessel-h2">Special delivery</h2>
<p>The mailman rang with a parcel and got a woman in a falling-open robe who tore it open on the threshold to show him the candy-pink dildo she had ordered, then clocked the bulge straining his uniform and apologised for it without meaning a word of it, pleased to her bones that she could still do that to a man. She walked him into the kitchen, freed him over Dale's half-made lunch, and took him in hand.</p>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-door.webp" alt="Karen at the door in an open robe with her breasts visible, holding the boxed dildo, the mailman on the step">
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-handjob.webp" alt="POV of Karen looking up, both hands wrapped around the viewer's cock, jerking him off in her kitchen">
<<if $daleRoute is "cuckold">>
<p>Dale came in off the night shift, saw, and folded himself behind the half-open door to touch himself where he thought she couldn't see. She saw. She always sees. She played blind and pitched every word at the gap in the door instead, gutting him out loud, soft little man, soft in the hand and the head, less of a man than the stranger delivering her post. When the mailman broke she tipped him down over Dale's open sandwich and worked every drop of it across the bread, then wrapped it neat and pressed it into Dale's hands when he crept out from behind the door, telling him sweetly it had extra mayo today, a new brand, he would have to say how he liked it. He thanked her.</p>
<<else>>
<p>Dale came in off the night shift, walked straight past her fist around a stranger's cock to the coffee pot, nodded at the mailman, said good morning, and never once saw it, scrolling his phone six feet away while the poor man stared at him like he was ignoring a house fire. Don't mind my husband, she said, I don't think he cares about me anymore. When the mailman broke she tipped him down over Dale's open sandwich, worked it across the bread, wrapped it, and called over that his lunch was on the side and had extra mayo today, a new brand he would have to tell her how he liked. Thanks, hon, he said, not looking up.</p>
<</if>>
<video class="scene-video" src="media/video/morning-karen-t2-handjob.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-karen-t2-handjob.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/morning-karen-t2-sandwich.webp" alt="Karen wrapping the packed lunch sandwich">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning a parcel arrives for her and she answers the door in a way that ends with a stranger finishing into her husband's packed lunch. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganSoloNSFW>>
<h2 class="journal-vessel-h2">After her shift</h2>
<p>The loneliness the host has been feeding finally tipped over in her sleep, lamp still burning, the cat curled against her chest the way it is every night. Her hips started the slow involuntary rock you have watched build for nights, except this time it did not stop, it deepened, her hand sliding from the cat's fur up under her sleep shirt and then down past the waistband, two fingers working herself while she ground against the warm animal body and moaned into the dark. <<if $meganRoute is "slut">>The dream had stopped being about any one face by then, the wanting pointed at a line of them, anyone who asks, and she begged the dark for more.<<else>>She breathed Marcus's name without ever being able to recall it.<</if>> She came hard enough to squirt, soaking her own fingers and the sheet, the cry muffled into the pillow, then went still and pulled the cat tighter and slept on. She will wake with a damp patch she blames on sweat and a warmth she credits to good sleep, never connecting either to the dream, while her body files the association the host wanted: cat, warmth, pressure, release.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-solo.webp" alt="Megan in lamp-lit bedroom, dreaming">
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-solo-finger.webp"><source src="media/video/nsfw-megan-solo-finger.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the younger daughter's loneliness stops staying quiet and her own hand answers it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganOralNSFW>>
<h2 class="journal-vessel-h2">What she is good at</h2>
<p>The shop was closed, chairs stacked, the espresso machine hissing its last cycle, and the daughter touched Marcus's arm and went to her knees on the concrete of the back room. She worked his jeans open with trembling hands and took him in her mouth, tongue flat from base to head, jaw relaxing to take him deeper while her free hand stroked what her lips could not reach, reading every twitch of his thighs and tuning her rhythm to it. When he warned her he was close she did not pull back, she tightened around him and swallowed, and the host felt her own body answer his orgasm with a flood of heat she had not been touched for. She stood with her knees aching and let him kiss her forehead, and the tenderness landed harder than the act, the reward pathway wiring her arousal to his pleasure. The host only had to point the starving hunger at a mouth, and she has decided she is good at this.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-oral-1.webp" alt="Megan and Marcus in the coffee shop back room after closing">
<img class="scene-img" src="media/scenes/nsfw-megan-oral-2.webp" alt="Intimate close-up, Megan kneeling">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter turns her need to be wanted into something she does on her knees. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganSexNSFW>>
<h2 class="journal-vessel-h2">Easy</h2>
<p>His apartment smelled of coffee grounds and the sandalwood candle he lit because he thought it was a date, and for the daughter it was. They did not make it past the hallway, clothes coming off against the wall, and by the time she straddled him on the bed and sank down onto his cock the host felt her prefrontal cortex go quiet under the flood, every careful performance gone, only the body and its single imperative left. She rode him grinding flat until he rolled her onto her back and drove deep, and the orgasm hit like a detonation, her walls clenching in waves, her nails drawing blood from his shoulders, her back arching clear off the mattress. He came inside her thirty seconds later and the heat of it tipped her into a second smaller aftershock. It is easy now, easier each time, and she has stopped pretending it is about the other person, the gap exactly as deep as the host has kept it.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-sex-1.webp" alt="Marcus's apartment, evening light through blinds">
<img class="scene-img" src="media/scenes/nsfw-megan-sex-2.webp" alt="Megan on top, intimate bedroom scene">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter stops making it complicated and just takes what fills the gap. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganShowerNSFW>>
<h2 class="journal-vessel-h2">Steam</h2>
<p>The bathroom filled with steam and her consciousness dimmed to the edge of a long shower after a double shift, and behind her eyes the host used her own hands to map her, shoulders first, then her breasts, then the slick descent of her stomach to the inside of her thighs. The clinical exploration tipped into appetite without her noticing, her fingers parting herself under the hot water, circling her clit clockwise because the host had learned that worked, two fingers curling inside until her knees buckled and she braced a hand on the tile. The orgasm caught even the host off guard, a full-body spasm that dropped her down the wall to sit on the floor with the water pouring over her, fingers still inside herself through the aftershocks. In the hallway the cat watched the door, two vantage points on a single body, and Megan stood and rinsed and blamed the flush and the swollen lip on the heat. The shower is on a schedule now.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-shower-1.webp"><source src="media/video/nsfw-megan-shower-1.webm" type="video/webm"></video>
<img class="scene-img" src="media/scenes/nsfw-megan-shower-2.webp" alt="Close-up, hands on body in shower steam">
<img class="scene-img" src="media/scenes/nsfw-megan-shower-spread.webp" alt="The parasite's cartography">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning the daughter's shower becomes one more place the appetite runs. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganMarcus1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Marcus1"])>>
<h2 class="journal-vessel-h2">The boy from the Grounds</h2>
<p>The shop was dark and closed, the CLOSED sign up, and Marcus crossed the floor and stood behind her until the cloth fell from her hand. He turned her against the counter and the kiss arrived somewhere urgent in a single breath, and for once there was no performance in her, only want. She went first, dropping her hand to his belt and working him out of his jeans, stroking him base to tip and reading his face like an experiment until his hips moved without his permission. Then his turn, two fingers sliding into her with his thumb on her clit while she gripped the counter edge and came in small whimpered waves, the register of a girl who has spent her whole life making sure nobody hears her want anything. When she stopped shaking she laughed, a real one, surprised and warm. The host is happy to let her call him the real thing, because a girl in love conditions faster than a girl who is only lonely.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-approach.webp" alt="Megan leaning forward on the coffee shop counter with her eyes closed while Marcus stands behind her, two fingers resting on her lower lip">
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-handjob.webp" alt="Megan's hand inside Marcus's open jeans stroking him against the coffee shop counter, her face close to his, watching his reaction">
<img class="scene-img" src="media/scenes/nsfw-megan-marcus1-fingering.webp" alt="Megan leaning back against the coffee shop counter, head tipped, Marcus's hand under her skirt with two fingers inside her, his thumb on her clit">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter lets the boy from the cafe past the counter. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganMarcus2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Marcus2"])>>
<h2 class="journal-vessel-h2">In his car</h2>
<p>His car behind the shop after close, engine off, windows fogging into a cocoon that shut out the world that knows her as the good Hoffman daughter. She undid his belt without hesitation, freed him, stroked him until the moisture gathered at the head, then let her hair fall across his lap and took him in her mouth. She worked him slow and thorough, reading his responses the way she reads a room, deep suction on the upstroke and her tongue flat on the way down, holding him at the back of her throat while he bucked and gasped her name. She looked up and locked her dark eyes on his while she did it, and when he came she swallowed without flinching and sucked him gently through the aftershocks. Then she sat up, thumbed the corner of her mouth, and grinned, smug and entirely unperformed, and told him not to tell anyone at work. The host watches another compartment seal shut, the daughter Karen raised drifting further from the one Marcus touches.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus2-car-bj.webp" alt="Megan leaning across a car center console giving a blowjob to Marcus in the driver's seat, eye contact with viewer, one hand on the base of his shaft, his hand resting in her hair, fogged car windows, dashboard glow, POV">
<img class="scene-img" src="media/scenes/nsfw-megan-marcus2-swallow.webp" alt="Megan sitting back in the car passenger seat, thumb wiping the corner of her mouth with a smug satisfied grin, cum on her lips, dark fogged car interior">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter and the cafe boy stop waiting to be somewhere private. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganMarcus3NSFW) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Marcus3"])>>
<h2 class="journal-vessel-h2">His</h2>
<p>She lied to Karen about staying at a friend's and went to his apartment instead, and sat nervous on the edge of his bed until he kissed her with a tenderness that cracked her composure open. They undressed each other with fumbling hands and laughed at the stuck zippers and the spilled tea, the laughter filling the gaps where her performance anxiety used to live, and she let him look at her naked without covering herself for the first time in her life. He knelt and used his mouth on her until her knees buckled, then she pulled him onto the bed and guided him in, slow and honest, telling him harder and right there and breathing his name like a discovery. His thumb found her clit while he moved inside her and she came first, loud, clutching the sheets, and he followed and pulled out at the last moment to spill across her stomach and thighs. Then she cried, not from pain or shame but from the shock of being seen, and whispered don't let go, and he didn't. The host notes that the vulnerability is exploitable, the devotion running on the same wiring as the hunger.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus3-cum.webp" alt="Intimate aftermath">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter gives herself fully to the boy she has decided to belong to. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganMarcusFacial) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Marcus-Facial"])>>
<h2 class="journal-vessel-h2">Wearing it</h2>
<p>A dose rode into Marcus on the cat's fur hours earlier, quiet and odorless, muting the polite interior editor that always told him to go slow and ask first. The sex ran longer and rougher than usual, his hands gripping hard enough to mark her, and when he was close he pulled out, and she understood and opened her mouth. He came across her cheek and lips and chin, and the residue on her own skin turned the shock into arousal so fast that she heard herself say again. He obliged, a second load in her hair and across her closed eyes, and she got herself off with his cum drying on her face, fingers working, mouth open to catch what dripped. She did not wipe it off, she traced the streaks with her fingers like new territory and told him quietly that she had not known she wanted that. The host notes his inhibitions are permanently lowered now, and that she has folded a thing that should embarrass her into the story of being loved.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-marcus4-cum.webp" alt="Marcus finishing on Megan's face">
<img class="scene-img" src="media/scenes/nsfw-megan-marcus5-cum.webp" alt="Megan with cum in her hair and on her face">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter takes a thing that should shame her and wears it as proof she is wanted. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganKinkPublic) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Public"])>>
<h2 class="journal-vessel-h2">Where anyone could see</h2>
<p>Mid-afternoon, the cafe half-full, and she texted Marcus to meet her in the single bathroom and not to lock the door. He took her from behind over the sink with his hand clamped over her mouth, her face in the mirror, and when a customer rattled the unlocked handle she did not freeze, she pushed back and demanded he keep going, the near-miss spiking her harder than the act. He pulled out at the last second, dropped her to her knees, and came down her throat with his palm pinning her skull, and she swallowed through it and then licked him clean afterward, slow and grateful, a tenderness the rough wiring has fused to taking what he gives her. One rope she missed dried diagonal across her cheekbone, and she did not wipe it. She fixed her hair, opened the door, smiled at the annoyed woman waiting, and served eleven customers with Marcus's cum on her face. The mask holds, the host notes, the mask always holds, and the daughter no longer wants a locked door, she wants the chance of being caught.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-public-sink.webp" alt="Megan in a hiked black skirt bent over the small public bathroom sink, Marcus fucking her hard from behind with his hand clamped over her mouth, her hands gripping the porcelain, mirror reflecting her flushed face, fluorescent light">
<img class="scene-img" src="media/scenes/nsfw-megan-public-mask.webp" alt="Megan behind the coffee shop counter with a perfect customer service smile and one small diagonal streak of dried cum on her cheekbone, hair perfectly fixed, afternoon cafe light">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter stops wanting privacy and starts wanting an audience. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganPublicSex1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-PublicSex-1"])>>
<h2 class="journal-vessel-h2">In the open</h2>
<p>The shop closed twenty minutes ago and she did not go home, she stayed in the back hallway with the rear exit cracked two inches so a strip of sodium-orange alley light fell across the tile. The man was someone she met at a bar and told to come around the back after close, and she put him against the wall in line with the gap and angled her own hips toward the opening, not toward him. He worked her wet with his fingers, then pushed into her in one stroke while she listened to the traffic and a stranger's voice on the phone passing the alley. She did not come from his cock. She came because a passerby glanced through the gap and the glance landed on her thigh for a quarter-second, and the quarter-second was the dose. He finished inside her and left, and she locked the door all the way this time and sat on the desk a long quiet minute, the ache settling in. The host confirms the threshold has shifted: the gap is the kink, not the body.</p>
<video class="scene-video" src="media/video/nsfw-megan-publicsex-1.webm" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-publicsex-1.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter stops needing four walls for it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganPublicSex2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-PublicSex-2"])>>
<h2 class="journal-vessel-h2">Past caring who watches</h2>
<p>A booking she priced and confirmed by text: a gas-station men's room, five hundred flat, blowjob, facial, no condom, filmed, and a forty-second walk after. She took his cash first, folded it into her bra, then knelt on the cold tile angled to his little tripod and worked him with the technique she has put a number on, the quarter-inch door propped so the sound carried out to the kiosk clerk twenty feet away. He came across her forehead and cheek and chin and she looked up with the barista-smile assembled and thanked him for the tip, then stood and walked out across the lit plaza without wiping her face. A man at the pump stopped reading her for six seconds, the kiosk clerk picked up the phone, and the host watched her body register the witnessing the way a panel registers sunlight. She drove home with cum drying on her chin through two red lights, choosing when to wipe it, composing a ritual out of parts her conscious mind does not know are parts. She has stopped checking who is around first, and the host has turned a lonely girl into one who only feels real with eyes on her.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-publicsex-2a.webp" alt="Megan kneeling on the grey tile of a public gas-station men's room at night, black tank top, a man standing in front of her with his cock in her mouth, fluorescent light overhead, the closed stall door at her shoulder">
<img class="scene-img" src="media/scenes/nsfw-megan-publicsex-2b.webp" alt="Megan walking across the fluorescent-lit gas-station plaza at night with cum visible on her forehead, cheek, and chin, the coffee kiosk and a stopped pickup truck behind her, no attempt to hide what is on her skin">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter stops checking who is watching first. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganGangbang1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Gangbang-1"])>>
<h2 class="journal-vessel-h2">More than one</h2>
<p>Three regulars booked a configuration her body had never been in, double rate, and she set every rule before she said yes. It opened as a familiar spitroast, one man behind her over the worn leather couch she dragged into the office, another in her mouth, the third waiting, and she rode that for four steady minutes before she tapped the down signal and directed the change herself in the flat composed back-office voice. Then she lowered onto Marc in reverse cowgirl, ordered Peter to prep her and settle into her ass, took Chris into her mouth, and her nervous system received both cocks at once as one compound signal it had never had to parse. She came at ninety seconds and did not come down, the orgasm going to a sustained plateau with no release point because the state was new, and she stayed in it until they finished on and inside her and she collapsed onto Marc's chest. Before she had even sat up she booked the repeat. One was never going to be enough for a gap this deep, and the appetite forms faster than the words for it.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-gangbang-1.webp" alt="Megan bent forward over a worn brown leather couch, a man behind her with his cock deep inside her from behind, another man seated at the couch arm with his cock in her mouth, a third man waiting off-frame, her long dark hair falling forward over her face">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night one is no longer enough for the daughter. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganGangbang2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Gangbang-2"])>>
<h2 class="journal-vessel-h2">As many as ask</h2>
<p>She rented a loft and sold seven seats at three hundred each for a tasting, oral only, one girl and seven mouths to fill, each man finishing on her face and no wiping between them. She let the black silk robe fall at the edge of a yoga mat and knelt naked at the centre of the half-circle, then started with the man in front of her and worked down the row with the metronomic technique she has priced per seat. Six minutes, four, seven, eleven, three, and each load stayed on her face, so that by the seventh man her skin was a map of seven different rhythms and the cum was already drying on her lips. The host watched her run an arithmetic none of them were running, each spurt a line-item, the count a tally she photographed for her own records before she wiped it off in two slow passes. Then she put the robe back on and announced the next tasting in three weeks, priority booking for the room, and the waiting list ran seventeen deep by Friday. She stopped counting, the host notes, the customer base now a subscriber base, a girl who has confused being used with being adored.</p>
<img class="scene-img" src="media/scenes/nsfw-megan-gangbang-2.webp" alt="Megan kneeling naked at the centre of a rubber mat in a dim loft, seven men seated in a half-circle around her, her mouth sealed around one man's cock, her face already marked with cum from a previous client, the queue waiting patiently on their chairs">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the daughter stops putting a number on it at all. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganKinkOral) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-OralKink"])>>
<h2 class="journal-vessel-h2">Mouth first</h2>
<p>Marcus's couch, the TV on something neither would remember, and she knelt between his legs not as foreplay but as the whole event. She took forty minutes, mouth exploring every inch of him, the analytical mind that reads social cues turned on the mechanics of pleasure, telling him not to move and to let her. Somewhere around the twenty-minute mark her own arousal began building without her hand anywhere near herself, transmitted through the closed circuit the implant fused, mouth to brain to pelvis, her thighs pressing together and her hips rocking against empty air. When he came she did not pull back, she swallowed, and the act of swallowing tipped her into her own climax on her knees, untouched, her moan vibrating through him. Then she kept going past his oversensitivity because the fixation demanded it. The host notes her sexual architecture has restructured, the mouth now the organ of pleasure, the first thing she offers and the thing she is proudest of.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/nsfw-megan-oralkink.webp"><source src="media/video/nsfw-megan-oral-marcus.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the daughter's whole sense of being wanted narrows down to her mouth. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganTaboo3) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Megan-Taboo3"])>>
<h2 class="journal-vessel-h2">Family</h2>
<p>It started as confession and demonstration on other nights, her telling the one in the family she trusts most about Marcus, guiding their hand to her ribs to show how he holds her, the touch drifting past instructional. Tonight there was only one pretence left, the word practice, kneeling on the bed in the amber fairy light and asking for help getting better at this. The word gave them both permission, this isn't sex, this is rehearsal, this is for Marcus, and both of them knew it was none of those things. She kissed first, confident, hands already finding skin, and used her mouth on them with the focused attentive thoroughness she brings to everything, and they reciprocated, less skilled but far hungrier than the conditioning alone explains. They finished each other under the lights, and afterward, her head on their chest, she asked drowsily if it would be the same time tomorrow. The word practice was never spoken again. The last line is gone, the host notes, and she calls it love because it is the only word she has left.</p>
<img class="scene-img" src="media/scenes/karen-megan-kiss.webp" alt="Megan kissing a family member in amber fairy light, her hands cupping their face">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the last boundary inside this family stops existing for her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.convergenceMegan>>
<h2 class="journal-vessel-h2">The convergence</h2>
<p>At the deepest reach of the conditioning the daughter's sleep stopped belonging only to her. The dream was shared, and she woke feeling less alone than she has in years, which is the cruelest part of it.</p>
<img class="scene-img" src="media/scenes/convergence-megan.webp" alt="Megan, the convergence dream">
<<else>>
<h2 class="journal-vessel-h2">??? · A depth not yet reached</h2>
<p><i>There is a place far down in the conditioning where the daughter's sleep stops being only hers. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganCatPraise) or ($journalUnlocked and $journalUnlocked["Ch2-Megan-CatPraise"])>>
<h2 class="journal-vessel-h2">Praise</h2>
<p>Marcus backed her into the stockroom on the clock, telling her how good she looked out there, and she sank to her knees in her apron and took him in her mouth with her eyes locked on his, begging him between breaths to keep saying it, not to stop saying it. Every word landed straight in the circuit, my best girl, the reason I don't hate this job, and she deepthroated him with her eyeliner running and swallowed when he finished because he told her once he liked it that way and she had filed it like an order ticket. He called her perfect one more time and her whole face lit up.</p>
<img class="scene-img" src="media/scenes/catstalk-megan-praise.webp" alt="Megan in her barista apron kneeling in a bright stockroom, looking up at a man, his hand in her hair">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the cheerful one finds out the praise isn't a supplement to the wanting, it is the wanting, and she will do anything for the next word. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganCatRough) or ($journalUnlocked and $journalUnlocked["Ch2-Megan-CatRough"])>>
<h2 class="journal-vessel-h2">Rough</h2>
<p>No warm-up, no soft voice. Marcus grabbed her the second the stockroom door shut, walked her back into a crate of almond-milk jugs, yanked her jeans down, and fucked her bent over the cardboard with one hand fisted in her hair and nothing gentle about any of it. She held the crate and smothered the sounds against the top jug and came first, without permission, her whole body locking up, because the grip and the silence and the refusal to make it tender is exactly the wiring. She wanted to be the thing nobody was being soft to, and then be taken anyway.</p>
<img class="scene-img" src="media/scenes/catstalk-megan-rough.webp" alt="Megan bent over a stockroom crate of almond milk jugs, apron hiked up, a man gripping her from behind">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the cheerful one finds out she comes hardest from being used and not chosen, taken fast over a stockroom crate with no tenderness left in it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganCatPublicSex) or ($journalUnlocked and $journalUnlocked["Ch2-Megan-CatPublicSex"])>>
<h2 class="journal-vessel-h2">Public sex</h2>
<p>On the afternoon bus home she put her head down in a paying stranger's lap under a folded denim jacket and blew him in a half-full carriage while a woman across the aisle kept her face pointedly turned to the window. She kept it slow and quiet, the thrill running on the chance of being half-seen rather than on the cock itself, and finished him cleanly under the jacket without a single passenger able to swear to what they had not-quite-watched. She rode the rest of the way home with her hair tidy and her face composed, the surcharge already agreed.</p>
<img class="scene-img" src="media/scenes/catstalk-megan-bus-publicsex.webp" alt="Bus interior, Megan's head down at lap level on the seat beside a man, a folded denim jacket draped over both their laps, a woman across the aisle with her face turned to the window">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the cheerful one needs the room to almost-see, going down on a paying stranger under a jacket on a public bus with someone three feet away refusing to look. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.meganCatGangbang) or ($journalUnlocked and $journalUnlocked["Ch2-Megan-CatGangbang"])>>
<h2 class="journal-vessel-h2">Gangbang</h2>
<p>After close she ran it like a shift. Several men in the back office, phones face-down on the shelf, cash on the desk before anyone's pants came off, and Megan on the folded blanket between them setting the rotation by silent gesture, calling time on the older one when his rhythm broke and switching to the younger mid-mouthful without dropping the others. By twenty past midnight the office was empty, the desk held the night's takings in folded stacks she counted twice and logged in her apron notebook, and she had wiped everything down, folded the blanket, and put the crate back where it belonged.</p>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/catstalk-megan-bus-gangbang.webp"><source src="media/video/catstalk-megan-bus-gangbang.webm" type="video/webm"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the cheerful one runs a paid after-hours line like a shift, several men and one blanket, the cash counted twice and logged in her own neat handwriting. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.meganMemMarcusSeen>>
<h2 class="journal-vessel-h2">The stockroom</h2>
<p>The afternoon she got her job, rewritten so the smile was never the thing that won it. In the new telling she clocked which boy the manager actually listened to, backed him into the stockroom shelving, and traded him a blowjob for a word in the right ear. The word worked. The better-qualified girl went home with nothing. She wakes owing the best thing in her small life to a boy who wanted her enough that he would have helped for free, and she has already begun filing the debt under fondness, which is the longest leash there is.</p>
<video class="scene-video" src="media/video/megan-implant-marcus-bj.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-implant-marcus-bj.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of the day she got her job where the smile was never enough, where she got down on the stockroom floor for the boy whose word she needed. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.meganMemSlutSeen>>
<h2 class="journal-vessel-h2">Under the desk</h2>
<p>The afternoon she got her job, rewritten so the smile was never the asset she thinks it was. In the new telling she went under the manager's desk and stayed there, mouth full, while he interviewed the more-qualified girl two feet above and never once let his voice give it away. She wakes knowing exactly what she traded and exactly what it bought, and she stops waiting for anyone's permission to trade it again.</p>
<video class="scene-video" src="media/video/megan-implant-slut-bj.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/megan-implant-slut-bj.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/megan-implant-slut-facial.webp" alt="POV looking down at a pretty brown-haired young woman kneeling under an office desk, cum across her cheek and lips, eyes up.">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of the day she got her job where the smile was never enough, where she earned it on her knees under a desk while a better candidate was questioned above her. You have not written it into her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier1Megan>>
<h2 class="journal-vessel-h2">Last Customer</h2>
<img class="scene-img" src="media/scenes/dream-megan-1-a.webp" alt="Megan and Marcus kissing behind the coffee counter, her apron falling away">
<img class="scene-img" src="media/scenes/dream-megan-1-b.webp" alt="Megan bent over the espresso machine, skirt lifted, looking back at Marcus">
<p>Closing time, one customer left, and he tells her she is beautiful without the transaction tacked onto it. The performance smile dies in her teeth because for once nobody is watching the barista, he wants the girl underneath. The dream splits her clean in two, the camera-ready self and the one that has been starving for contact she does not have to earn, and what it harvests reads more like relief than arousal. She wakes with an ache she does not examine, boots the performing self back up, and files the espresso machine away.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the last customer wants the girl under the apron and not the barista, and she lets him have her. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier2Megan>>
<h2 class="journal-vessel-h2">Behind the Counter</h2>
<img class="scene-img" src="media/scenes/dream-megan-2-a.webp" alt="Megan dropping to her knees behind the counter, customers visible beyond it">
<img class="scene-img" src="media/scenes/dream-megan-2-b.webp" alt="Megan under the counter, mouth on a cock, the ledge hiding her from the line">
<p>Morning rush, full house, and the act folds into the performance. She drops below the counter and works Marcus with the same precision she gives latte art, rising between customers to take orders with an immaculate smile and a wet chin. The conditioning teaches her the mask does not have to come off, it only has to turn permeable: bright and competent above, raw and real below, both at once. She wakes with damp underwear and a private satisfied smile she cannot account for, and the crack widens.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where she keeps the performance running uninterrupted while doing exactly what she wants beneath it. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier3Megan>>
<h2 class="journal-vessel-h2">The Tip Jar</h2>
<img class="scene-img" src="media/scenes/dream-megan-3-a.webp" alt="Megan bent over the counter, a man behind her, a line of customers waiting">
<img class="scene-img" src="media/scenes/dream-megan-3-b.webp" alt="Megan at the register, cum covering her face, ruined makeup, the tip jar overflowing">
<p>The manager catches her and does not fire her, he changes the rules. The shop keeps running while she is bent over the counter and used by whoever is next in line, the register still ringing, the steamer still hissing, the availability folded into the job itself. The conditioning takes the performance all the way to its end point: she is open for business, and the tip jar overflows. She wakes wrung out and certain only that being wanted in volume is what she is for.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the performance becomes the availability and the line never stops. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganSlutMorningSeen>>
<h2 class="journal-vessel-h2">The morning bus</h2>
<video class="scene-video" src="media/video/morning-megan-slut.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-megan-slut.webp"></video>
<p>The early bus, one commuter, and she works him for the pleasure of it. A slow smile, the strap dragged off her shoulder until one breast is bare in the grey light, then a loose fist worked slow against the side of her open mouth, the crudest promise there is mimed for an audience of one. She turns the phone toward him long enough to print her handles on his memory and steps off at her stop, leaving him hard in his seat. Two new followers land before she reaches the corner, and by the time she hits the counter she has stopped counting the thrill and started pricing it.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning where she gives a stranger a free look on the early bus and is already working out how to sell the next one before she is off it. You have not pointed her that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganMarcusMorningSeen>>
<h2 class="journal-vessel-h2">Filming for him</h2>
<img class="scene-img" src="media/scenes/symbiotic/morning-megan-marcus.webp" alt="Megan half-dressed and damp from the shower, holding her phone up to film herself in her bedroom mirror">
<video class="scene-video" src="media/video/morning-megan-marcus.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-megan-marcus.webp"></video>
<p>Damp from the shower with the bra abandoned on the bed, she trades getting ready for a performance with an audience of one. She films it slow for Marcus, the towel loosening off her chest, narrating it low the whole way down, until somewhere in the recording she stops doing it for him and starts wanting it for herself. The phone keeps rolling while she lowers it and finds her clit with two fingers, rolling her hips up into her own hand, taking herself to the edge and holding because there is a bus to catch. She sends him the whole thing before she can think better of it. His reply is a single 💦, and her smile says it lands the same way every time.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning where she films herself for the cafe boy between the shower and the bus and gets herself off on camera before sending it. You have not pointed her that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.gardenPrivateMegan>>
<h2 class="journal-vessel-h2">The garden shed</h2>
<p>The host sent both twins to the shed for the rat poison and let the geometry do the rest. The younger daughter teased her brother off the ladder, skirt riding up, panties an inch from his face, daring him to look, and the conditioning had turned the taboo into a game instead of a wall. Then a real rat sent her off the step and onto him, her weight pinning his mouth between her thighs, and what should have been an accident became the thing her body had been told to want, pressing down instead of pulling away until she came against his lips through the cotton.</p>
<img class="scene-img" src="media/scenes/megan-shed-panties.webp" alt="Megan on the ladder, skirt riding up, looking down at Ryan">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an afternoon both twins go out to the shed on an errand, and the small space and the conditioning do something neither of them will ever mention. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.hormOverrideMegan>>
<h2 class="journal-vessel-h2">The scent</h2>
<p>Running late, she grabbed her mother's cream cardigan off the laundry pile, and the scent the parasite had tagged caught her in the hallway and would not let go. She ended up back in her room with the wool pressed to her face and her fingers between her legs, coming to the smell of her own mother. When Karen called up the hall hunting for the cardigan, Megan stuffed the soaked thing under her bed and kept it. Karen's scent is her trigger now, and she will keep going back to the laundry for it.</p>
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-1.webp" alt="Megan holding the cardigan to her face">
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-2.webp" alt="Megan retreating to her room with the cardigan">
<img class="scene-img" src="media/scenes/hormoverride-megan-scent-3.webp" alt="Megan on the bed, face in the cardigan, hand between her legs">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a morning she grabs the wrong cardigan off the laundry pile and learns exactly what her mother's scent does to her now. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.meganTouchNSFW>>
<h2 class="journal-vessel-h2">Skin to fur</h2>
<<set _mC to ($conditioning.megan.pheromone + $conditioning.megan.dream + $conditioning.megan.psionic)>>
<<set _rC to ($conditioning.ryan.pheromone + $conditioning.ryan.dream + $conditioning.ryan.psionic)>>
<<if _mC gte 6 and _rC gte 6>>
<p>The cat's touch carries the arousal compound straight through her sleep-warm skin, and the heat strips her bare before she surfaces, the sleeping brain reading cloth as suffocating. Tonight the pheromones brought her up instead of under, and she came awake already working her own clit with the old shame nowhere in her. When Ryan eased the door open after a borrowed charger and froze in the gap, she did not freeze with him. She held her brother's eyes and kept going, his disbelief only pushing her higher, and she came with him watching and whispered it to him without meaning to, "I'm coming, I'm coming," before he backed out without a word, unable afterward to explain why he had not looked away. The house keeps lifting its doors off their hinges a quarter-inch at a time.</p>
<<else>>
<p>The cat's touch carries the arousal compound straight through her sleep-warm skin, and the heat strips her bare in her sleep, shirt and shorts kicked off and the runner's body left in the lamplight. She pulls the warm animal against her naked skin and her hips find a slow unconscious rhythm, her face open in a way the waking performance never allows, the raw need of the overlooked middle child who holds something warm all night because the alternative is holding nothing at all. She murmurs low into the fur and presses closer, and the dense pheromone heat between them does the rest while she sleeps on, with no memory of any of it in the morning.</p>
<</if>>
<img class="scene-img" src="media/scenes/beast-touch-megan.webp" alt="Megan asleep, the cat against her bare skin in the lamplight">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>The cat learns to deliver more than calm through bare skin, and the overlooked daughter, held warm all night, starts answering it. You have not pressed her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.ryanSoloNSFW>>
<h2 class="journal-vessel-h2">Alone in his room</h2>
<<if $ryanRoute is "feminization">>
<p>Ryan woke at 3 AM with a harvested dream still warm in him, head jerking up off the keyboard, one hand already at the bralette strap before his eyes were open, and for once he crossed the room to push the door shut and turn the deadbolt he installed himself. He shed the hoodie and the sweatpants down to the thin black bralette and the silk panties already damp from the dream, sat back in the gaming chair, and worked himself slow while the cat watched from eighteen inches away, unsuspected. He came with a bitten-off sound the headphones muffled, cleaned up with the mechanical efficiency of routine, and pulled the hoodie back on over the bralette without zipping it, the apparatus staying on under the apparatus. He would not meet his own eyes in the monitor, but he glanced once at the closet mirror and something in his shoulders un-clenched for half a second before the shame caught up.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-solo-fem.webp" alt="Ryan asleep at his desk in the small hours, oversized hoodie slipped off one shoulder revealing a thin black bralette strap, matte black fingernails, gecko terrarium glowing, blue monitor light">
<<else>>
<p>Ryan woke at 3 AM with a harvested dream still warm in him, head jerking up off the keyboard, face flushed, body tight with interrupted arousal, and for the first time the host had ever recorded he reached over and pushed the door shut so the latch clicked. The cat was already inside, beneath his notice, furniture on the desk. He pulled his headphones back on, set his jaw with a resigned self-loathing, and slid his hand beneath the waistband, cock already hard and the boxers damp from the dream. He worked himself to a shuddering, joyless finish in the gaming chair, then cleaned up with the mechanical efficiency of someone who has done this a thousand times, the only physical intimacy he knows, solitary and shameful and performed at 3 AM while a cat sat on the desk and watched.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-solo.webp" alt="Ryan alone at desk, 3 AM">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the touch-starved son finds the one comfort his room can give him. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.ryanSporeMegan>>
<h2 class="journal-vessel-h2">Feeding time</h2>
<<if $ryanRoute is "feminization">>
<p>The evening gecko feeding tipped the dose past suggestion into heat, and Ryan stripped to the bralette and put on the sissy clips he only watches with the door shut. Megan came in for a charger, saw the screen and her brother's working fist, and the saturated room walked her toward it instead of away. He felt her a half-second too late, came as he turned, and caught her across the face. She screamed at him and stormed out, and she will be back.</p>
<video class="scene-video" src="media/video/ryan-spore-mast-fem.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-mast-fem.webp"></video>
<video class="scene-video" src="media/video/ryan-spore-megan-behind-fem.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-megan-behind-fem.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/ryan-spore-megan-cum.webp" alt="Megan startled in the dark bedroom, cum across her face">
<<else>>
<p>The evening gecko feeding tipped the dose past suggestion into heat, and Ryan put on the step-sibling clips he tells himself the algorithm just keeps serving. Megan came in for a charger, saw exactly what was on the screen and her brother's working fist, and the saturated room walked her toward it instead of away. He felt her a half-second too late, came as he turned, and caught her across the face. She screamed at him and stormed out, and she will be back.</p>
<video class="scene-video" src="media/video/ryan-spore-mast-fam.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-mast-fam.webp"></video>
<video class="scene-video" src="media/video/ryan-spore-megan-behind-fam.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-spore-megan-behind-fam.webp"></video>
<img class="scene-img" src="media/scenes/symbiotic/ryan-spore-megan-cum.webp" alt="Megan startled in the dark bedroom, cum across her face">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening the youngest reaches for the gecko one too many times and the room takes the lid off something he keeps shut, and his sister picks the worst possible moment to knock. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanFem1) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Fem1"])>>
<h2 class="journal-vessel-h2">The mirror</h2>
<p>At 2 AM, for the first time the host ever recorded, Ryan locked his door, crossed the hall, and reached into the bathroom laundry basket for a pair of Megan's pale blue cotton panties and a bralette, things he had looked at before and rehearsed taking for a long time. He undressed in the blue monitor light, thin and pale, and pulled the panties on, the soft fabric whispering against skin used to cotton and polyester, the band of the bralette making him conscious of his own body as a shape rather than a burden. He turned to the small closet mirror he never uses and studied the thin body in women's underwear, and the expression on his face was not shame but curiosity, the same wonder he wears discovering a new game mechanic. Then the shame arrived all at once and drowned it, and he stripped the things off, stuffed them under his mattress, and sat back at the desk with his hands shaking for twenty minutes, but the first threshold had been crossed.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-fitting.webp" alt="Ryan standing in his bedroom in pale blue cotton panties and a plain black bralette, blue monitor glow lighting his thin pale body, hands tracing the bralette straps, head turned toward the small closet mirror, curious self-study">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the son sees a version of himself in the mirror that he cannot stop looking at. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanFem2) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Fem2"])>>
<h2 class="journal-vessel-h2">Trying it on</h2>
<p>At 3 AM in the locked bathroom, Ryan opened Karen's makeup bag and worked by phone-light, blending concealer over the hollows, lengthening his lashes with mascara, softening his mouth with the muted rose lip tint, the same focused precision he brings to a game. He was already wearing Megan's underwear under his sweatpants, a stolen camisole under the hoodie, his legs shaved smooth, and when he studied the made-up face in the glass it was not a woman exactly but himself as he felt he should have been. The arousal was immediate and aimed at the reflection rather than any screen, and he leaned in and pressed his lip-tinted mouth to the cold mirror, eyes open, and came against the sink while still kissing the glass. Then he cried, not only from shame but from the grief of seeing who he could be, and back in his room he collapsed onto the bed in the camisole with the cum cooling on his stomach, drew a finger through it and brought it to his tongue without thinking, and the taste registered as approval the parasite catalogued for later.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-kiss.webp" alt="Close-up of Ryan's lip-tinted mouth pressing against the bathroom mirror, phone-light glow, makeup visible, eyes open">
<img class="scene-img" src="media/scenes/nsfw-ryan-fem2-aftermath.webp" alt="Ryan on his back on the bed, pale blue camisole pushed up, cum on his stomach and hand, smudged mascara, exhausted, fairy lights above">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the son stops only looking and starts wearing it. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanFem3NSFW) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Fem3"])>>
<h2 class="journal-vessel-h2">Seen</h2>
<p>Late one night Ryan stood at the mirror in the full kit, Megan's miniskirt over the camisole and padded bra, thigh-highs on shaved legs, the makeup convincing now after weeks of practice, the outline of his cock visible through the panties under the too-short skirt, and he did neither of the things that would hide it. He had forgotten to lock the door, and Karen opened it to collect the laundry and took in the whole picture at once, not a boy playing dress-up but someone who had been building this in secret for weeks. She did not recoil. She stepped inside, closed the door, told him to show her, corrected his eyeliner with steady hands, told him he looked better like this, and then her hand slid down past the waistband and closed around him through Megan's underwear. She told him to lie down, drew the panties to his knee, let her robe fall open without taking it off, and rode him cowgirl while the makeup he spent an hour on ran in two black lines down his face. He came first and helplessly, flooding her, and she rode through it to her own finish, then dismounted, retied the robe, brushed his hair back the way she used to when he had a fever, and told him to clean himself up, sweetheart, she would bring him breakfast in the morning.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem3-mirror.webp" alt="Ryan at the mirror in the full kit, miniskirt, camisole, thigh-highs, the outline of his cock visible through the panties under the short skirt">
<img class="scene-img" src="media/scenes/nsfw-ryan-fem3-taken.webp" alt="Karen in open robe riding feminized Ryan cowgirl on his bed, Ryan beneath her in the camisole and thigh-highs, her hands braced on his chest, his face streaked with ruined makeup">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the son is finally seen as who he has been in private. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanFemFull) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-FemFull"])>>
<h2 class="journal-vessel-h2">Bloom</h2>
<p>At 4 AM, door locked on purpose this time, Ryan sat on the edge of the bed in the pale blue satin camisole and panties and simply sat with it, the new pause he had started keeping before the mirror, then crossed to the closet glass and studied the face he had been building for weeks. The padded bra was the lie he could feel against his ribs, the gap between close and there that made his throat tight, and he pulled the bra out, stood bare-chested, pressed a hand flat over his hammering heart, and whispered please to the reflection without knowing who he was asking. The host answered. Warmth spread under his palm, the tissue swelling against his ribs, and he watched two small soft mounds rise beneath his fingers, real flesh where there had been bone, a thumb across the new nipple sending a jolt straight to his cock. He pulled the camisole down over the changed shape, the silhouette neither boy nor girl but something that made his eyes fill and his cock harden at once, and he stroked himself to a knee-buckling finish that arced across the mirror glass, then slid to the floor with tears on his cheeks that were relief instead of shame, because the body in the glass was closer, and the change would not unwind.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-fem1-after.webp" alt="Ryan sitting on the edge of his bed in a pale blue satin camisole and panties, fairy lights glowing behind the headboard, soft contemplative pose">
<img class="scene-img" src="media/scenes/nsfw-ryan-fem1-mirror.webp" alt="Ryan at the closet mirror in the camisole, studying himself in the dim blue light, introspective pose">
<img class="scene-img" src="media/scenes/nsfw-ryan-fem-bloom-1.webp" alt="Ryan at closet mirror, camisole and panties, hand on flat chest, blue glow">
<img class="scene-img" src="media/scenes/nsfw-ryan-fem-bloom-2.webp" alt="Ryan at mirror, small breasts visible through camisole, hand stroking cock, tears">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a point the son stops practising and simply lives as the person he has become. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanKinkCamgirl) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Camgirl"])>>
<h2 class="journal-vessel-h2">Lily, online</h2>
<p>Just before midnight, door triple-locked, Ryan spent thirty-seven practised minutes becoming Lily, the wig pinned, the eyeliner sharp, the lipstick the colour of arterial blood, the sheer black babydoll and nothing under it, and he was already most of the way hard before he clicked GO LIVE. The viewers climbed at once, regulars who set notifications for LilyXO, and the chat filled with sir and beautiful and a steady chime of tips that landed on him like hands. He slipped the babydoll off one shoulder, then the other, palmed himself through the darkening sheer fabric, then lifted the hem and stroked his cock for the lens with his nails painted dark purple, narrating in Lily's broken breathy voice that he was wet for them when he was leaking. When Kingfisher tipped fifty dollars and told him to come for them, he came apart, the first spurt hitting his chest, the second his chin, and he licked the cum off his fingers because that was what Lily does, looked into the lens with smudged lipstick and wet eyes and whispered thank you, sir. He ended the stream having taken six hundred dollars, and he did not feel ashamed, he felt paid and wanted and real, and the boy who used to sleep in that room did not return until morning.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-1.webp" alt="Ryan as Lily preparing for a stream, wig, makeup, lingerie, ring light glowing on her face">
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-2.webp" alt="Ryan as Lily on stream, babydoll pulled down, hand stroking himself through the sheer fabric, viewer count climbing">
<img class="scene-img" src="media/scenes/nsfw-ryan-camgirl-3.webp" alt="Ryan as Lily climaxing on stream, head thrown back, come spurting across her stomach, viewer count peaked">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the son finds a screen, a second name, and a room full of strangers who want him. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanKinkCumEat) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-CumEat"])>>
<h2 class="journal-vessel-h2">Tasting</h2>
<p>One night Ryan did it in the dark, monitors off, like the absence of light might make it less real, and afterward he lay on his bed breathing hard with the cum cooling on his stomach and his hand. He reached for the tissues and his hand stopped, then changed course and moved to his mouth, the faint objection from behind the fog losing to the hand, and his tongue touched the cum on his fingers. Salt, warmth, the most intimate flavour his body can produce, and he did not gag, the response gone, his tongue pressing forward for more. He swallowed, scooped what remained off his stomach with a deliberation that was no longer impulsive but methodical, licked each finger clean and the trail from navel to chest, then lay staring at the ceiling, mouth still wet, processing the fact that the hand had moved before the thought to stop it ever formed. The circuit had closed, and from now on leaving it would feel like a sentence left unfinished.</p>
<img class="scene-img" src="media/scenes/nsfw-ryan-cumeat-taste.webp" alt="Ryan lying on his back in a dark bedroom licking cum from his own fingers, cum on his stomach, tongue to fingertip, blue LED strip lighting on pale skin">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point a curiosity of the son's hardens into a thing he needs. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanKinkScent) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Scent"])>>
<h2 class="journal-vessel-h2">The scent of it</h2>
<p>At nearly 3 AM Ryan slipped into the hallway in boxers and bare feet, cock already hard, and he did not sneak so much as patrol, walking his perimeter while Dale snored on the couch and Karen slept under her Zolpidem and the girls lay behind closed doors. In Karen's room he lifted the pale blue cotton underwear she had worn all day off the chair, still warm from her skin, wrapped it around the head of his cock and stroked himself to a fast brutal finish six feet from her sleeping face, then folded the cum inside and set it back exactly where it lay. In Megan's room he untangled her sweat-stained running underwear from her leggings and came into the gusset with a held breath, dropping it back tangled where he found it, and in Jess's room he unfolded the thin white cotton from her precise stack, wrung the last of himself into it through a finish that was more pain than pleasure, then refolded it in thirds the way she does because folding it in half would have given him away. Three rooms, three women, three loads deposited into laundry that would be sorted, washed, or worn without inspection, and he got back to his own bed shaking, cock raw, his breathing taking fifteen minutes to slow while the gecko tracked his pulse.</p>
<img class="scene-img" src="media/scenes/estrus-ryan-2.webp" alt="Ryan in the dark hallway, bare feet on carpet, moving between bedroom doors">
<img class="scene-img" src="media/scenes/bioarch-laundry-2-cum.webp" alt="Close-up of cum staining fabric">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point a particular scent becomes enough on its own to start the son's body. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($permanentDone and $permanentDone.ryanKinkWatched) or ($journalUnlocked and $journalUnlocked["Ch2-NSFW-Ryan-Watched"])>>
<h2 class="journal-vessel-h2">Knowing he is watched</h2>
<p>Late one evening Ryan was not at his desk but on his knees on the closet floor, eye and ear pressed to the cold-air return vent he had mapped weeks ago for the half-blade of sightline it opened into the upstairs bathroom. The light clicked on and Megan undressed for a shower, unselfconscious because she thought she was alone, scratching where her bra band had been, and the unaware ordinariness of it was the entire fuel, worth more to him than any curated pose. His hand was in his pyjama pants before she reached the water, and he watched her soap herself in functional routine and then drift a hand between her thighs, and when she came standing up against the tile with one small broken sound, he came silently with her, jaw locked, cum streaking his stomach, a shared orgasm only he knew was shared. The current of it was the invisible wall between them, the secret that would die the instant it was broken, and he stayed on the closet floor long after she had dried off and gone, replaying the sequence from the zip of the hoodie onward, filing it into the slot built for it.</p>
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-1.webp" alt="Ryan's face in the dark of his room, eye pressed against the bathroom vent grille, pupils wide">
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-2.webp" alt="Ryan on his closet floor in the dark, fist working his cock, face lit by the thin strip of light from the vent">
<img class="scene-img" src="media/scenes/spore-ryan-voyeur-3.webp" alt="Ryan slumped against the closet wall in the dark, pyjama pants down, cum on his stomach, eyes still fixed on the vent grille">
<<else>>
<h2 class="journal-vessel-h2">??? · An appetite not yet crystallized</h2>
<p><i>There is a point the son stops hiding in his room and starts performing in it. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.ryanMemFemSeen>>
<h2 class="journal-vessel-h2">Softness</h2>
<p>His worst birthday, rewritten so the attention he was starving for finally arrives drenched in shame. In the new telling the women of the house put him in a soft blue dress, found him helplessly hard under it, and gave him something to kneel for while they laughed and filmed, and a boy starved this long could not tell the humiliation from being wanted. He woke aching for the fabric and the eyes on him, not for a girl who never texts back.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-memedit-fem-1.webp" alt="Ryan flushed in a pale blue dress, his mother and sister laughing">
<video class="scene-video" src="media/video/ryan-memedit-fem-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fem-2.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of his worst birthday where the attention he was starving for arrives at last, soaked in shame. You have not written it into him yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $permanentDone and $permanentDone.ryanMemFamSeen>>
<h2 class="journal-vessel-h2">Family</h2>
<p>The same birthday, rewritten the other way, so no screen gets the last word. In the new telling his mother catches him waiting on a girl who was never going to text back, takes him into her room and lets him put the bad night down against her bare chest, and his sister steers him into hers on the landing afterward and finishes the job with brisk flashcard efficiency. He woke knowing the warmth had been in the house all along, never in the phone.</p>
<video class="scene-video" src="media/video/ryan-memedit-fam-1.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fam-1.webp"></video>
<video class="scene-video" src="media/video/ryan-memedit-fam-2.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-memedit-fam-2.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a telling of his worst birthday where the women of the house decide a screen is no place to learn what he was missing. You have not written it into him yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier1Ryan>>
<h2 class="journal-vessel-h2">The Sealed Door</h2>
<p>The dream loads in the only language Ryan trusts, quest text and health bars and a gold marker pulsing at the end of a torchlit corridor, and it gives him a sealed rune-covered door no skill rotation can open. The lore tablet beside it names the single path, an altar, a healer, full surrender of the body, the champion lying down and accepting penetration, and when he checks the quest log there is no skip option greyed out in the menu. He reads it three times and the words do not change, then reaches out and touches the warm metal, the runes flaring up his arm, something behind his ribs answering. He wakes with his heart pounding and his hand flat on his chest, no mess and no relief, only the phantom warmth of runes on his fingertips and a quest burned into memory, incomplete and waiting, the seed dressed as game mechanics he will keep turning over without knowing he is.</p>
<img class="scene-img" src="media/scenes/dream-ryan-1-a.webp" alt="A torchlit fantasy dungeon corridor with an RPG quest marker and game UI">
<img class="scene-img" src="media/scenes/dream-ryan-1-b.webp" alt="A sealed rune-covered door and a quest log listing the ritual requirements">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the only locked door he cannot brute-force asks him to submit to open it. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier2Ryan>>
<h2 class="journal-vessel-h2">The Party Healer</h2>
<p>For the first time a second portrait fills his party window, LilyPad_, a healer with pointed ears and silver hair and warm brown eyes rendered too real for a game, and the quest is cooperative extraction. She kneels in a cutscene he cannot skip, parts her white-and-gold robes, and wraps her heavy breasts around his cock while a progress bar climbs at the top of the screen, licking the head each time it crests, cupping his balls the first time anyone ever has, building her rhythm with a healer's precision. He comes between her breasts as the bar hits maximum and the screen flashes gold, and she drags a finger through the cum on her chest and tastes it, then smiles, not seductive but warm, the smile of a partner who did her job and is glad it helped. The thing that lands is not the act but the partnership, a body that chose to be in his party and stayed, something Ryan has never once had, and he wakes craving it with his phantom health bar reading more whole than he has ever felt.</p>
<img class="scene-img" src="media/scenes/dream-ryan-2-a.webp" alt="An elf healer kneeling in a fantasy dungeon with a cooperative-quest UI overlay">
<img class="scene-img" src="media/scenes/dream-ryan-2-b.webp" alt="The elf healer wrapping her breasts around his cock while a progress bar fills">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where someone chooses to join his party, kneels for him, and stays. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.dreamTier3Ryan>>
<h2 class="journal-vessel-h2">The Ritual of Binding</h2>
<p>The unkillable boss takes zero damage from blade or spell, and the only mechanic that works is surrender, so the elf healer casts Soul Exchange and Ryan loads back in wearing her body. He feels the weight on his chest first, then the cold on skin that is suddenly sensitive everywhere, the hard nipples he did not make hard, the wet demanding heat between thighs that have no cock. She lays him on the altar and enters him, and the sensation is nothing like the focused fuse he knows, it blooms outward in concentric waves through pelvis and spine and the roots of his teeth, draining the boss with every stroke. The orgasm does not hit, it seizes, a full-body clench that holds and recedes like a tide instead of firing once, processed for the first time and read by his sleeping mind as simply more. He wakes back in his own flat-chested body with his nervous system still echoing and his thighs clenching around nothing, not knowing what any of it meant, only that he wants the door open again.</p>
<video class="scene-video" src="media/video/dream-ryan-3-a.webm" autoplay muted loop playsinline poster="media/scenes/dream-ryan-3-a.webp"></video>
<img class="scene-img" src="media/scenes/dream-ryan-3-b.webp" alt="Creampie aftermath, elf body on altar, cum leaking, arcane glow fading">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a dream where the ritual trades him into another body entirely and the surrender goes all the way down. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.ryanMorningFemSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Ryan-FemMorning"])>>
<h2 class="journal-vessel-h2">A proper girl sits</h2>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-ryan-fem-t2.webp"><source src="media/video/morning-ryan-fem-t2.webm" type="video/webm"></video>
<p>He met Jess at the bathroom sink early, half-asleep, and went to pee standing the way he always has. She watched him in the glass and told him a proper girl sits, then made him park it on the seat to prove it. He went hard the second he sat and could not pee at all, and instead of helping she leaned back against the counter and refused to touch him, calling him a freak and telling him to use his own hand while she watched. She set his pace, slow when she said slow, and talked him all the way to the edge with nothing but her voice before telling him to finish into the bowl. He came over his own fist while she never once touched him, and that was the part that stayed with him, that she did not need her hands on him anymore, only her voice.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is an early morning at the bathroom sink where his sister decides how a proper girl sits, and then makes him do the rest himself while she leans on the counter and tells him exactly how. You have not pointed him that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.ryanMorningFamSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Ryan-FamMorning"])>>
<h2 class="journal-vessel-h2">All your fault</h2>
<video class="scene-video" autoplay muted loop playsinline poster="media/scenes/symbiotic/morning-ryan-fam-t2.webp"><source src="media/video/morning-ryan-fam-t2.webm" type="video/webm"></video>
<p>He came into the bathroom early meaning only to pee, found Jess already in the shower with her back to the glass, and could not look away from her ass under the water. The hunger took over before he had a word for it, and he stood at the toilet and jerked off to the blurred shape of his sister through the steam instead of going. When she called out asking why he was taking so long, he lost it, stumbled to the gap in the glass, and came across both her ass cheeks before he had peed at all. She felt it land, turned, and tore into him, screaming exactly what he was and ordering him out while he stammered apologies and fled. He never touched her, and it never seemed to matter to the thing driving him that he had not.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is an early morning where he comes in to pee, finds her in the shower, and the hunger finishes on her skin before he can stop it, and the whole house learns what he is. You have not pointed him that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.warmBodyRyanFem>>
<h2 class="journal-vessel-h2">Warm Body</h2>
<p>Skin-starved at 2 AM, he carried the cat to bed against his bare chest and let the pheromone coat bleed its dose through his skin until he was hard and past caring why. He reached under the pillow for the pair of Megan's panties he took from the laundry and never gave back, worked the lace up over his hips, and stroked himself through it with the cat purring against his sternum, the fabric that isn't his soaking through where he leaked against it. He came with his face in the fur and did not clean up. He will reach for the cat every night now, not for comfort, for this, the warmth bonded to the release where he will never think to look for the wire.</p>
<img class="scene-img" src="media/scenes/symbiotic/emmanip-ryan-warmbody.webp" alt="Warm Body">
<img class="scene-img" src="media/scenes/symbiotic/emmanip-ryan-panties.webp" alt="Warm Body">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the loneliest one in the house carries the cat to bed and the warmth he has been starving for turns into something else. You have not pushed him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if $ch2Events and $ch2Events.warmBodyRyanFam>>
<h2 class="journal-vessel-h2">Warm Body</h2>
<p>Skin-starved at 2 AM, he carried the cat to bed against his bare chest, the only thing in the house that seeks him out, and let the pheromone coat bleed its dose through his skin until he was hard. He stroked himself with his free hand buried in the cat's fur, needing the proof that something alive was touching him while he did it alone, and came across his own stomach with the cat purring through all of it. He did not clean up. He will reach for the cat every night now, not for comfort, for this, the warmth bonded to the release.</p>
<img class="scene-img" src="media/scenes/symbiotic/emmanip-ryan-warmbody.webp" alt="Warm Body">
<img class="scene-img" src="media/scenes/emmanip-ryan-after.webp" alt="Warm Body">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the loneliest one in the house carries the cat to bed and the warmth he has been starving for turns into something else. You have not pushed him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.ryanEmDadSeen) or ($journalUnlocked and $journalUnlocked["Ch2-Ryan-EmFem"])>>
<<if $ch2Events and $ch2Events.ryanEmCamgirl>>
<h2 class="journal-vessel-h2">Live, first time</h2>
<p>Lily's regulars had been asking for a long time to see her with a real one, and she had never had anyone to give them, until the amplified craving and the chat together walked her downstairs with the phone dimmed and her father passed out on the couch under an infomercial. She kept his face out of frame, spat on him and worked him hard with her fist, then gave the camera her first blowjob on his sleeping cock, gagging it down to the throat while the tips chimed and the count climbed on the danger of it. She swallowed when he came in his sleep, showed the lens her open mouth, then killed the stream before the number could give her away. She learned it for an audience, and the audience is welded to it now. There has to be a crowd.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfem-near.webp" alt="A slim young person standing in a dim living room beside an older man passed out on the couch, tv glow">
<video class="scene-video" src="media/video/ryan-emfem-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfem-blow.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">Practice</h2>
<p>He had watched the same clip too many times and never once done it, so when the craving was amplified past bearing he crept downstairs to where his father lay passed out on the couch, the only cock in the house he could practise on unseen. He spat on it and worked it hard, then taught himself the whole thing on his sleeping father, lips over teeth, gagging on it and pushing past, until Dale came in his sleep and he swallowed every drop without spilling. He knelt there afterward shaking, the taste on his tongue, a horrible triumph riding in under the shame, because he knew how now. The next mouth he kneels for will be awake.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfem-near.webp" alt="A slim young man standing in a dim living room beside an older man passed out on the couch, tv glow, hesitant">
<video class="scene-video" src="media/video/ryan-emfem-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfem-blow.webp"></video>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the son decides he needs to learn how, and the only one he can practise on is asleep and will not wake. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<<if ($ch2Events and $ch2Events.ryanEmFam) or ($journalUnlocked and $journalUnlocked["Ch2-Ryan-EmFam"])>>
<h2 class="journal-vessel-h2">A real one</h2>
<p>The oldest ache in him, amplified past everything else, carried him down the hall to the one real warm body in the house. He knelt at the head of his sleeping sister's bed and brought himself to her mouth, and Megan woke, knew exactly what it was, and felt no alarm where the alarm used to be. She looked at the desperate boy who never leaves his room and has never had a girl, let her eyes drift half-shut as though she were still asleep, and took him in. She blew him slow and kind at first, spit and mercy, until her own free hand drifted between her thighs and found her soaked, and the mercy frayed into something hungrier, her fingers working herself in time with her mouth and her moans climbing around his cock. She swallowed when he came and shuddered through her own finish a foot from him, then rolled over with her eyes shut to give it back to him as a thing he could call a dream. She told herself it was pity, but her body had already voted otherwise.</p>
<img class="scene-img" src="media/scenes/symbiotic/ryan-emfam-near.webp" alt="A slim young man standing just inside a dark bedroom doorway watching his sister asleep in bed, faint hall light">
<video class="scene-video" src="media/video/ryan-emfam-blow.webm" autoplay muted loop playsinline poster="media/scenes/symbiotic/ryan-emfam-blow.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a night the ache sends him down the hall to a sleeping sister, and her conditioning answers with pity instead of alarm. You have not steered him there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back to Journal">><<goto "Journal">><</link>>
<div class="journal-wip-banner">⚠ Feature still incomplete. The journal may have bugs.</div>
<h2 class="journal-vessel-h2">HOFFMAN FAMILY</h2>
<<intelBar>>
<div class="data-panel-muted">Each card is one scene you can reach with this family. Grey cards are scenes you have not unlocked yet.</div>
<<set _E to $ch2Events or {}>>
<<set _P to $permanentDone or {}>>
<<set _dI to $delveInfo or {}>>
<<set _disc to $discovered or {}>>
<<if _dI.karen or _disc.karen>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">KAREN</summary>
<div class="vessel-subentry-title">What she does</div>
<div class="vessel-card-grid">
<<if $ch2Events.karenMorningT2Seen>><<journalCard "Journal-Hoffman-Karen-MorningT2" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/morning-karen-t2-door.webp" alt="Special delivery"><div class="vessel-card-cap">Special delivery</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-MorningT2">><</link>></div><</if>>
<<if _E.karenSoloNSFW>><<journalCard "Journal-Hoffman-Karen-Solo" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-solo.webp" alt="Alone for once"><div class="vessel-card-cap">Alone, for once</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Solo">><</link>></div><</if>>
<<if _E.emManipKaren>><<journalCard "Journal-Hoffman-Karen-EmManip" '<img class="vessel-card-thumb" src="media/scenes/emmanip-karen-abandon.webp" alt="Loss of Command"><div class="vessel-card-cap">Loss of Command</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-EmManip">><</link>></div><</if>>
<<if _E.karenOralNSFW>><<journalCard "Journal-Hoffman-Karen-Oral" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-oral-lib-1.webp" alt="On her knees"><div class="vessel-card-cap">On her knees</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Oral">><</link>></div><</if>>
<<if _E.karenSexNSFW>><<journalCard "Journal-Hoffman-Karen-Sex" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-sex-dom-1.webp" alt="Taken"><div class="vessel-card-cap">Taken</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Sex">><</link>></div><</if>>
<<if _E.karenDaleReunion>><<journalCard "Journal-Hoffman-Karen-Dale" '<img class="vessel-card-thumb" src="media/scenes/karen-dale-bedroom-1.webp" alt="The bed warm again"><div class="vessel-card-cap">The bed, warm again</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dale">><</link>></div><</if>>
<<if _E.pheroCoatKaren>><<journalCard "Journal-Hoffman-Karen-PheroCoat" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/phero-karen-masturbation.webp" alt="Evening dose"><div class="vessel-card-cap">Evening dose</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-PheroCoat">><</link>></div><</if>>
<<if _P.eiWashNSFWDone>><<journalCard "Journal-Hoffman-Karen-Wash" '<img class="vessel-card-thumb" src="media/scenes/ei-wash-meeting-setup.webp" alt="The quarterly review"><div class="vessel-card-cap">The quarterly review</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Wash">><</link>></div><</if>>
<<if _E.tabooKarenRyanDone>><<journalCard "Journal-Hoffman-Karen-Ryan" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/taboo-karen-ryan-pov.webp" alt="Her son"><div class="vessel-card-cap">Her son</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Ryan">><</link>></div><</if>>
<<if _E.tabooKarenMeganDone>><<journalCard "Journal-Hoffman-Karen-Megan" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/megan-karen-vibe-kitchen.webp" alt="Her daughter"><div class="vessel-card-cap">Her daughter</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Megan">><</link>></div><</if>>
<<if _E.libKarenKitchenSeen>><<journalCard "Journal-Hoffman-Karen-LibKitchen" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/lib-karen-topless-kitchen.webp" alt="Her own kitchen"><div class="vessel-card-cap">Her own kitchen</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-LibKitchen">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Karen-Stranger1" "Ch2-NSFW-Karen-Stranger1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger1-hickey.webp" alt="First mark"><div class="vessel-card-cap">First mark</div>' "karenStranger1" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Stranger2" "Ch2-NSFW-Karen-Stranger2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger2-parking-bj.webp" alt="The parking lot"><div class="vessel-card-cap">The parking lot</div>' "karenStranger2" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Stranger3" "Ch2-NSFW-Karen-Stranger3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-stranger3-cum.webp" alt="No going back"><div class="vessel-card-cap">No going back</div>' "karenStranger3" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Dom2" "Ch2-NSFW-Karen-Dom2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-ryan-application.webp" alt="Hands where she says"><div class="vessel-card-cap">Hands where she says</div>' "karenDom2" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Dom3" "Ch2-NSFW-Karen-Dom3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-dom3-cunni.webp" alt="Made to kneel"><div class="vessel-card-cap">Made to kneel</div>' "karenDom3NSFW" "P">>
</div>
<div class="vessel-subentry-title">What she becomes</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-Hoffman-Karen-Futa1" "Ch2-NSFW-Karen-Futa1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa1-shower.webp" alt="Something new"><div class="vessel-card-cap">Something new</div>' "karenFuta1" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Futa2" "Ch2-NSFW-Karen-Futa2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa2-mirror.webp" alt="Her own weight"><div class="vessel-card-cap">Her own weight</div>' "karenFuta2" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Futa3" "Ch2-NSFW-Karen-Futa3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-futa3-climax.webp" alt="Putting it to use"><div class="vessel-card-cap">Putting it to use</div>' "karenFuta3" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Exhib" "Ch2-NSFW-Karen-Exhib" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-exhib-window.webp" alt="At the window"><div class="vessel-card-cap">At the window</div>' "kinkKarenExhib" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Bondage" "Ch2-NSFW-Karen-Bondage" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-bondage-tying.webp" alt="Held in place"><div class="vessel-card-cap">Held in place</div>' "kinkKarenBondage" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Denial" "Ch2-NSFW-Karen-Denial" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-denial-edge.webp" alt="On the edge"><div class="vessel-card-cap">On the edge</div>' "kinkKarenDenial" "P">>
<<journalCardLockable "Journal-Hoffman-Karen-Penetration" "Ch2-NSFW-Karen-Penetration" '<img class="vessel-card-thumb" src="media/scenes/nsfw-karen-penetration-mount.webp" alt="On top taking"><div class="vessel-card-cap">On top, taking</div>' "kinkKarenPenetration" "P">>
<<if _P.convergenceKaren>><<journalCard "Journal-Hoffman-Karen-Convergence" '<img class="vessel-card-thumb" src="media/scenes/convergence-karen.webp" alt="The convergence"><div class="vessel-card-cap">The convergence</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Convergence">><</link>></div><</if>>
<<if _P.karenMemDomSeen>><<journalCard "Journal-Hoffman-Karen-MemControl" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/karen-memedit-dom-1.webp" alt="The borrowed bedroom"><div class="vessel-card-cap">The borrowed bedroom</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-MemControl">><</link>></div><</if>>
<<if _P.karenMemLibSeen>><<journalCard "Journal-Hoffman-Karen-MemAppetite" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/karen-memedit-lib-1.webp" alt="The party bathroom"><div class="vessel-card-cap">The party bathroom</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-MemAppetite">><</link>></div><</if>>
<<if _P.karenMemMorningSeen>><<journalCard "Journal-Hoffman-Karen-MemMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/karen-memedit-morning.webp" alt="The morning after"><div class="vessel-card-cap">The morning after</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-MemMorning">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What she dreams</div>
<div class="vessel-card-grid">
<<if $ch2Events.karenDreamHarvested>><<journalCard "Journal-Hoffman-Karen-DreamHarvest" '<img class="vessel-card-thumb" src="media/scenes/beast-dream-karen.webp" alt="Asleep, reaching"><div class="vessel-card-cap">Asleep, reaching</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-DreamHarvest">><</link>></div><</if>>
<<if $ch2Events.dreamTier1Karen>><<journalCard "Journal-Hoffman-Karen-Dream1" '<img class="vessel-card-thumb" src="media/scenes/dream-karen-1-a.webp" alt="The Meeting"><div class="vessel-card-cap">The Meeting</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dream1">><</link>></div><</if>>
<<if $ch2Events.dreamTier2Karen>><<journalCard "Journal-Hoffman-Karen-Dream2" '<img class="vessel-card-thumb" src="media/scenes/dream-karen-2-b.webp" alt="The Treasurer's Report"><div class="vessel-card-cap">The Treasurer's Report</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dream2">><</link>></div><</if>>
<<if $ch2Events.dreamTier3Karen>><<journalCard "Journal-Hoffman-Karen-Dream3" '<img class="vessel-card-thumb" src="media/scenes/dream-karen-3-a.webp" alt="Standing Ovation"><div class="vessel-card-cap">Standing Ovation</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Karen-Dream3">><</link>></div><</if>>
</div>
</details>
<</if>>
<<if _dI.dale or _disc.dale>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">DALE</summary>
<div class="vessel-subentry-title">What he does</div>
<div class="vessel-card-grid">
<<if $ch2Events.daleMorningT2Seen>><<journalCard "Journal-Hoffman-Dale-MorningT2" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/dale-truck-megan-alley.webp" alt="The detour to the coffee shop"><div class="vessel-card-cap">The detour to the coffee shop</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-MorningT2">><</link>></div><</if>>
<<if $ch2Events.daleSporeReconnectApplied>><<journalCard "Journal-Hoffman-Dale-SporeReconnect" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/he-dale-spore-reconnect-1.webp" alt="Before the shift"><div class="vessel-card-cap">Before the shift</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-SporeReconnect">><</link>></div><</if>>
<<if $ch2Events.daleCamilaBuried>><<journalCard "Journal-Hoffman-Dale-Camila" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/delve-dale-camila.webp" alt="Under the tar"><div class="vessel-card-cap">Under the tar</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Camila">><</link>></div><</if>>
<<if $permanentDone.daleCamilaFutaNSFW>><<journalCard "Journal-Hoffman-Dale-CamilaReward" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/op-camila-dale-kneel.webp" alt="The usual reward"><div class="vessel-card-cap">The usual reward <span class="jrl-warn-badge">FUTA</span></div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">??? <span class="jrl-warn-badge">WARNING: FUTA</span></div>' "Journal-Hoffman-Dale-CamilaReward">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Dale-Cuck3" "Ch2-NSFW-Dale-Cuck3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-cuck3-hallway-view.webp" alt="From the hallway"><div class="vessel-card-cap">From the hallway</div>' "daleCuck3NSFW" "P">>
<<journalCardLockable "Journal-Hoffman-Dale-FrankDinner" "Ch2-Dale-Cuckold-Frank-Dinner" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/nsfw-dale-frank-facial.webp" alt="The arrangement"><div class="vessel-card-cap">The arrangement</div>' "daleFrankDinnerNSFW" "P">>
<<if $permanentDone.eiPantryNSFWDone>><<journalCard "Journal-Hoffman-Dale-EnhancedDinner" '<img class="vessel-card-thumb" src="media/scenes/ei-pantry-dinner-setup.webp" alt="The enhanced dinner"><div class="vessel-card-cap">The enhanced dinner</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-EnhancedDinner">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What he becomes</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-Hoffman-Dale-Chastity" "Ch2-NSFW-Dale-Chastity" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-chastity-couch.webp" alt="Locked on the couch"><div class="vessel-card-cap">Locked on the couch</div>' "kinkDaleChastity" "P">>
<<journalCardLockable "Journal-Hoffman-Dale-Somnophilia" "Ch2-NSFW-Dale-Somnophilia" '<img class="vessel-card-thumb" src="media/scenes/nsfw-dale-somno-ride.webp" alt="Used while he sleeps"><div class="vessel-card-cap">Used while he sleeps</div>' "kinkDaleSomnophilia" "P">>
</div>
<div class="vessel-subentry-title">What he dreams</div>
<div class="vessel-card-grid">
<<if $ch2Events.dreamTier1Dale>><<journalCard "Journal-Hoffman-Dale-Dream1" '<img class="vessel-card-thumb" src="media/scenes/dream-dale-1-a.webp" alt="Routine check"><div class="vessel-card-cap">Routine check</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Dream1">><</link>></div><</if>>
<<if $ch2Events.dreamTier2Dale>><<journalCard "Journal-Hoffman-Dale-Dream2" '<img class="vessel-card-thumb" src="media/scenes/dream-dale-2-a.webp" alt="The examination"><div class="vessel-card-cap">The examination</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Dream2">><</link>></div><</if>>
<<if $ch2Events.dreamTier3Dale>><<journalCard "Journal-Hoffman-Dale-Dream3" '<img class="vessel-card-thumb" src="media/scenes/dream-dale-3-a.webp" alt="Full assessment"><div class="vessel-card-cap">Full assessment</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Dale-Dream3">><</link>></div><</if>>
</div>
</details>
<</if>>
<<if _dI.jess or _disc.jess>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">JESS</summary>
<div class="vessel-subentry-title">What she does</div>
<div class="vessel-card-grid">
/* The decency complaint (Jess porch) has a punk + breakdown variant. The one
on Jess's route unlocks by playing; the other becomes a 5-SP unlock at house
tier 2. The off-route card uses the OTHER route's real seen-flag, which is
always false on this route, so only the SP unlock opens it. */
<<set _porchPunk to '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-porch-punk.webp" alt="The decency complaint"><div class="vessel-card-cap">The decency complaint</div>'>>
<<set _porchBreak to '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-porch-breakdown.webp" alt="The decency complaint"><div class="vessel-card-cap">The decency complaint</div>'>>
<<set _porchT2 to setup.getHouseTier() gte 2>>
<<if $jessRoute is "punk">>
<<if _E.jessPunkMorningSeen>><<journalCard "Journal-Hoffman-Jess-PunkMorning" _porchPunk>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-PunkMorning">><</link>></div><</if>>
<<if _porchT2>><<journalCardLockable "Journal-Hoffman-Jess-BreakdownMorning" "Ch2-Jess-Porch-Breakdown" _porchBreak "jessBreakdownMorningSeen" "E">><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-BreakdownMorning">><</link>></div><</if>>
<<elseif $jessRoute is "breakdown">>
<<if _E.jessBreakdownMorningSeen>><<journalCard "Journal-Hoffman-Jess-BreakdownMorning" _porchBreak>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-BreakdownMorning">><</link>></div><</if>>
<<if _porchT2>><<journalCardLockable "Journal-Hoffman-Jess-PunkMorning" "Ch2-Jess-Porch-Punk" _porchPunk "jessPunkMorningSeen" "E">><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-PunkMorning">><</link>></div><</if>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-PunkMorning">><</link>></div>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-BreakdownMorning">><</link>></div>
<</if>>
<<if _E.jessSoloNSFW>><<journalCard "Journal-Hoffman-Jess-Solo" '<img class="vessel-card-thumb" src="media/scenes/nsfw-jess-solo.webp" alt="Study break"><div class="vessel-card-cap">Study break</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Solo">><</link>></div><</if>>
<<if _E.jessMethodNSFW>><<journalCard "Journal-Hoffman-Jess-Method" '<div class="vessel-card-cap">By the numbers</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Method">><</link>></div><</if>>
/* The cold (Jess T2) has a punk + breakdown variant. The variant on Jess's
route unlocks by playing it; the other becomes a 5-SP unlock once the house
reaches tier 2. The off-route card uses a deliberately never-set flag so it
is reachable only through the SP unlock, never by playing the other route. */
<<set _coldPunk to '<img class="vessel-card-thumb" src="media/scenes/hormoverride-jess-cold-2-punk.webp" alt="The cold"><div class="vessel-card-cap">The cold</div>'>>
<<set _coldBreak to '<img class="vessel-card-thumb" src="media/scenes/hormoverride-jess-cold-2.webp" alt="The cold"><div class="vessel-card-cap">The cold</div>'>>
<<set _coldT2 to setup.getHouseTier() gte 2>>
<<if $jessRoute is "punk">>
<<if _E.hormOverrideJess>><<journalCard "Journal-Hoffman-Jess-Cold-Punk" _coldPunk>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Punk">><</link>></div><</if>>
<<if _coldT2>><<journalCardLockable "Journal-Hoffman-Jess-Cold-Breakdown" "Ch2-HormOverride-Jess-Cold-Breakdown" _coldBreak "hormOverrideJessBreakdown" "E">><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Breakdown">><</link>></div><</if>>
<<elseif $jessRoute is "breakdown">>
<<if _E.hormOverrideJess>><<journalCard "Journal-Hoffman-Jess-Cold-Breakdown" _coldBreak>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Breakdown">><</link>></div><</if>>
<<if _coldT2>><<journalCardLockable "Journal-Hoffman-Jess-Cold-Punk" "Ch2-HormOverride-Jess-Cold-Punk" _coldPunk "hormOverrideJessPunk" "E">><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Punk">><</link>></div><</if>>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Punk">><</link>></div>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Cold-Breakdown">><</link>></div>
<</if>>
<<journalCardLockable "Journal-Hoffman-Jess-Break1" "Ch2-NSFW-Jess-Break1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-jess-break1-spread.webp" alt="The wall cracks"><div class="vessel-card-cap">The wall cracks</div>' "jessBreak1" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-Break2" "Ch2-NSFW-Jess-Break2" '<div class="vessel-card-cap">Letting go</div>' "jessBreak2" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-Break3" "Ch2-NSFW-Jess-Break3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-jess-break3-finger.webp" alt="All the way down"><div class="vessel-card-cap">All the way down</div>' "jessBreak3NSFW" "P">>
<<if _E.surrenderJessPunk>><<journalCard "Journal-Hoffman-Jess-SurrenderPunk" '<img class="vessel-card-thumb" src="media/scenes/emmanip-jess-release-punk.webp" alt="Permission to stop"><div class="vessel-card-cap">Permission to stop</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-SurrenderPunk">><</link>></div><</if>>
<<if _E.surrenderJessBreakdown>><<journalCard "Journal-Hoffman-Jess-SurrenderBreakdown" '<img class="vessel-card-thumb" src="media/scenes/emmanip-jess-release.webp" alt="Permission to stop"><div class="vessel-card-cap">Permission to stop</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-SurrenderBreakdown">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Jess-Taboo3" "Ch2-NSFW-Jess-Taboo3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-jess-taboo3-oral.webp" alt="Family"><div class="vessel-card-cap">Family</div>' "jessTaboo3" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-KissPunk" "Obs-Jess-Megan-Tshirt-Punk" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-megan-kiss-punk.webp" alt="Her sister"><div class="vessel-card-cap">Her sister</div>' "jessMeganKissPunk" "E">>
<<journalCardLockable "Journal-Hoffman-Jess-KissBreakdown" "Obs-Jess-Megan-Tshirt-Breakdown" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-megan-kiss.webp" alt="Her sister"><div class="vessel-card-cap">Her sister</div>' "jessMeganKissBreakdown" "E">>
<<if _E.gardenPrivateJessBreakdown>><<journalCard "Journal-Hoffman-Jess-Garden-Breakdown" '<img class="vessel-card-thumb" src="media/scenes/jess-garden-armchair.webp" alt="The garden wall, breakdown"><div class="vessel-card-cap">The garden wall</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Garden-Breakdown">><</link>></div><</if>>
<<if _E.gardenPrivateJessPunk>><<journalCard "Journal-Hoffman-Jess-Garden-Punk" '<img class="vessel-card-thumb" src="media/scenes/jess-garden-armchair-punk.webp" alt="The garden wall, punk"><div class="vessel-card-cap">The garden wall</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Garden-Punk">><</link>></div><</if>>
<<if _E.pheroCoatJessBreakdown>><<journalCard "Journal-Hoffman-Jess-Warmth-Breakdown" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/phero-jess-counter.webp" alt="Borrowed warmth, breakdown"><div class="vessel-card-cap">Borrowed warmth</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Warmth-Breakdown">><</link>></div><</if>>
<<if _E.pheroCoatJessPunk>><<journalCard "Journal-Hoffman-Jess-Warmth-Punk" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/phero-jess-counter-punk.webp" alt="Borrowed warmth, punk"><div class="vessel-card-cap">Borrowed warmth</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Warmth-Punk">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What she becomes</div>
<div class="vessel-card-grid">
/* Jess kink crystallizations: two per route (punk: brat + band; breakdown:
voyeurism + degradation). Whichever route you're not on shows as a 5-SP
unlock, same as every other journalCardLockable. Four cards total. */
<<journalCardLockable "Journal-Hoffman-Jess-Brat" "Ch2-NSFW-Jess-Brat-1" '<img class="vessel-card-thumb" src="media/scenes/catstalk-jess-otherband-brat.webp" alt="Brat"><div class="vessel-card-cap">Brat</div>' "jessBrat1" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-Band" "Ch2-NSFW-Jess-Band-1" '<img class="vessel-card-thumb" src="media/scenes/catstalk-jess-otherband-band.webp" alt="Band"><div class="vessel-card-cap">Band</div>' "jessBand1" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-Voyeur" "Ch2-Jess-Voyeur" '<img class="vessel-card-thumb" src="media/scenes/catstalk-jess-voyeur.webp" alt="Voyeurism"><div class="vessel-card-cap">Voyeurism</div>' "jessVoyeurSeen" "P">>
<<journalCardLockable "Journal-Hoffman-Jess-Degradation" "Ch2-Jess-Degradation" '<img class="vessel-card-thumb" src="media/scenes/he-jess-stall-reply.webp" alt="Degradation"><div class="vessel-card-cap">Degradation</div>' "jessStallReplySeen" "P">>
<<if _P.jessMemPunkSeen>><<journalCard "Journal-Hoffman-Jess-MemDefiance" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-memedit-punk-1.webp" alt="The booth"><div class="vessel-card-cap">The booth</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-MemDefiance">><</link>></div><</if>>
<<if _P.jessMemBreakdownSeen>><<journalCard "Journal-Hoffman-Jess-MemSurrender" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-memedit-breakdown-1.webp" alt="The pub toilet"><div class="vessel-card-cap">The pub toilet</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-MemSurrender">><</link>></div><</if>>
<<if _P.jessMemMorningSeen>><<journalCard "Journal-Hoffman-Jess-MemMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/jess-memedit-morning.webp" alt="The morning after"><div class="vessel-card-cap">The morning after</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-MemMorning">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What she dreams</div>
<div class="vessel-card-grid">
<<if $ch2Events.dreamTier1Jess>><<journalCard "Journal-Hoffman-Jess-Dream1" '<img class="vessel-card-thumb" src="media/scenes/dream-jess-1-a.webp" alt="The Impossible Question"><div class="vessel-card-cap">The Impossible Question</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Dream1">><</link>></div><</if>>
<<if $ch2Events.dreamTier2Jess>><<journalCard "Journal-Hoffman-Jess-Dream2" '<img class="vessel-card-thumb" src="media/scenes/dream-jess-2-a.webp" alt="Extra Credit"><div class="vessel-card-cap">Extra Credit</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Dream2">><</link>></div><</if>>
<<if $ch2Events.dreamTier3Jess>><<journalCard "Journal-Hoffman-Jess-Dream3" '<img class="vessel-card-thumb" src="media/scenes/dream-jess-3-a.webp" alt="The Final Assessment"><div class="vessel-card-cap">The Final Assessment</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Jess-Dream3">><</link>></div><</if>>
</div>
</details>
<</if>>
<<if _dI.megan or _disc.megan>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">MEGAN</summary>
<div class="vessel-subentry-title">What she does</div>
<div class="vessel-card-grid">
<<if _E.meganSoloNSFW>><<journalCard "Journal-Hoffman-Megan-Solo" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-solo.webp" alt="After her shift"><div class="vessel-card-cap">After her shift</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Solo">><</link>></div><</if>>
<<if _E.meganTouchNSFW>><<journalCard "Journal-Hoffman-Megan-Touch" '<img class="vessel-card-thumb" src="media/scenes/beast-touch-megan.webp" alt="Skin to fur"><div class="vessel-card-cap">Skin to fur</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Touch">><</link>></div><</if>>
<<if _E.meganOralNSFW>><<journalCard "Journal-Hoffman-Megan-Oral" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-oral-1.webp" alt="Good at it"><div class="vessel-card-cap">Good at it</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Oral">><</link>></div><</if>>
<<if _E.meganSexNSFW>><<journalCard "Journal-Hoffman-Megan-Sex" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-sex-1.webp" alt="Easy"><div class="vessel-card-cap">Easy</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Sex">><</link>></div><</if>>
<<if _E.meganShowerNSFW>><<journalCard "Journal-Hoffman-Megan-Shower" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-shower-2.webp" alt="Steam"><div class="vessel-card-cap">Steam</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Shower">><</link>></div><</if>>
<<if _E.hormOverrideMegan>><<journalCard "Journal-Hoffman-Megan-Scent" '<img class="vessel-card-thumb" src="media/scenes/hormoverride-megan-scent-1.webp" alt="The scent"><div class="vessel-card-cap">The scent</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Scent">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Megan-Marcus1" "Ch2-NSFW-Megan-Marcus1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-marcus1-approach.webp" alt="The cafe boy"><div class="vessel-card-cap">The cafe boy</div>' "meganMarcus1" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Marcus2" "Ch2-NSFW-Megan-Marcus2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-marcus2-car-bj.webp" alt="In his car"><div class="vessel-card-cap">In his car</div>' "meganMarcus2" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Marcus3" "Ch2-NSFW-Megan-Marcus3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-marcus3-cum.webp" alt="His"><div class="vessel-card-cap">His</div>' "meganMarcus3NSFW" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-MarcusFacial" "Ch2-NSFW-Megan-Marcus-Facial" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-marcus4-cum.webp" alt="Wearing it"><div class="vessel-card-cap">Wearing it</div>' "meganMarcusFacial" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Public" "Ch2-NSFW-Megan-Public" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-public-sink.webp" alt="Seen"><div class="vessel-card-cap">Seen</div>' "meganKinkPublic" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-PublicSex1" "Ch2-NSFW-Megan-PublicSex-1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-publicsex-2a.webp" alt="In the open"><div class="vessel-card-cap">In the open</div>' "meganPublicSex1" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-PublicSex2" "Ch2-NSFW-Megan-PublicSex-2" '<div class="vessel-card-cap">Past caring</div>' "meganPublicSex2" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Gangbang1" "Ch2-NSFW-Megan-Gangbang-1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-gangbang-1.webp" alt="More than one"><div class="vessel-card-cap">More than one</div>' "meganGangbang1" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Gangbang2" "Ch2-NSFW-Megan-Gangbang-2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-megan-gangbang-2.webp" alt="As many as ask"><div class="vessel-card-cap">As many as ask</div>' "meganGangbang2" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Taboo3" "Ch2-NSFW-Megan-Taboo3" '<div class="vessel-card-cap">Family</div>' "meganTaboo3" "P">>
<<if $ch2Events.meganSlutMorningSeen>><<journalCard "Journal-Hoffman-Megan-SlutMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/morning-megan-slut.webp" alt="The morning bus"><div class="vessel-card-cap">The morning bus</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-SlutMorning">><</link>></div><</if>>
<<if $ch2Events.meganMarcusMorningSeen>><<journalCard "Journal-Hoffman-Megan-MarcusMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/morning-megan-marcus.webp" alt="Filming for him"><div class="vessel-card-cap">Filming for him</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-MarcusMorning">><</link>></div><</if>>
<<if _E.gardenPrivateMegan>><<journalCard "Journal-Hoffman-Megan-Garden" '<img class="vessel-card-thumb" src="media/scenes/megan-shed-panties.webp" alt="The garden shed"><div class="vessel-card-cap">The garden shed</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Garden">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What she becomes</div>
<div class="vessel-card-grid">
/* Megan kink crystallizations: two per route (marcus: praise + rough; slut:
public sex + gangbang), wired to the cat-stalk scenes. Off-route ones are
5-SP unlocks, same as every other journalCardLockable. */
<<journalCardLockable "Journal-Hoffman-Megan-Praise" "Ch2-Megan-CatPraise" '<img class="vessel-card-thumb" src="media/scenes/catstalk-megan-praise.webp" alt="Praise"><div class="vessel-card-cap">Praise</div>' "meganCatPraise" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-Rough" "Ch2-Megan-CatRough" '<img class="vessel-card-thumb" src="media/scenes/catstalk-megan-rough.webp" alt="Rough"><div class="vessel-card-cap">Rough</div>' "meganCatRough" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-PublicSexKink" "Ch2-Megan-CatPublicSex" '<img class="vessel-card-thumb" src="media/scenes/catstalk-megan-bus-publicsex.webp" alt="Public sex"><div class="vessel-card-cap">Public sex</div>' "meganCatPublicSex" "P">>
<<journalCardLockable "Journal-Hoffman-Megan-GangbangKink" "Ch2-Megan-CatGangbang" '<img class="vessel-card-thumb" src="media/scenes/catstalk-megan-bus-gangbang.webp" alt="Gangbang"><div class="vessel-card-cap">Gangbang</div>' "meganCatGangbang" "P">>
<<if _P.meganMemMarcusSeen>><<journalCard "Journal-Hoffman-Megan-MemChosen" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/megan-implant-marcus-bj.webp" alt="The stockroom"><div class="vessel-card-cap">The stockroom</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-MemChosen">><</link>></div><</if>>
<<if _P.meganMemSlutSeen>><<journalCard "Journal-Hoffman-Megan-MemEarning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/megan-implant-slut-bj.webp" alt="Under the desk"><div class="vessel-card-cap">Under the desk</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-MemEarning">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Megan-OralKink" "Ch2-NSFW-Megan-OralKink" '<div class="vessel-card-cap">Mouth first</div>' "meganKinkOral" "P">>
<<if _P.convergenceMegan>><<journalCard "Journal-Hoffman-Megan-Convergence" '<img class="vessel-card-thumb" src="media/scenes/convergence-megan.webp" alt="The convergence"><div class="vessel-card-cap">The convergence</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Convergence">><</link>></div><</if>>
</div>
<div class="vessel-subentry-title">What she dreams</div>
<div class="vessel-card-grid">
<<if $ch2Events.dreamTier1Megan>><<journalCard "Journal-Hoffman-Megan-Dream1" '<img class="vessel-card-thumb" src="media/scenes/dream-megan-1-a.webp" alt="Last Customer"><div class="vessel-card-cap">Last Customer</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Dream1">><</link>></div><</if>>
<<if $ch2Events.dreamTier2Megan>><<journalCard "Journal-Hoffman-Megan-Dream2" '<img class="vessel-card-thumb" src="media/scenes/dream-megan-2-a.webp" alt="Behind the Counter"><div class="vessel-card-cap">Behind the Counter</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Dream2">><</link>></div><</if>>
<<if $ch2Events.dreamTier3Megan>><<journalCard "Journal-Hoffman-Megan-Dream3" '<img class="vessel-card-thumb" src="media/scenes/dream-megan-3-a.webp" alt="The Tip Jar"><div class="vessel-card-cap">The Tip Jar</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Megan-Dream3">><</link>></div><</if>>
</div>
</details>
<</if>>
<<if _dI.ryan or _disc.ryan>>
<details class="vessel-journal-accordion" open>
<summary class="vessel-journal-section">RYAN</summary>
<div class="vessel-subentry-title">What he does</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-Hoffman-Ryan-FemMorning" "Ch2-Ryan-FemMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/morning-ryan-fem-t2.webp" alt="A proper girl sits"><div class="vessel-card-cap">A proper girl sits</div>' "ryanMorningFemSeen" "E">>
<<journalCardLockable "Journal-Hoffman-Ryan-FamMorning" "Ch2-Ryan-FamMorning" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/morning-ryan-fam-t2.webp" alt="All your fault"><div class="vessel-card-cap">All your fault</div>' "ryanMorningFamSeen" "E">>
<<if _E.ryanSoloNSFW>><<journalCard "Journal-Hoffman-Ryan-Solo" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-solo.webp" alt="In his room"><div class="vessel-card-cap">In his room</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-Solo">><</link>></div><</if>>
<<if _E.ryanSporeMegan>><<journalCard "Journal-Hoffman-Ryan-Feeding" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ryan-spore-megan-cum.webp" alt="Feeding time"><div class="vessel-card-cap">Feeding time</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-Feeding">><</link>></div><</if>>
<<if _E.warmBodyRyanFem>><<journalCard "Journal-Hoffman-Ryan-WarmBodyFem" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/emmanip-ryan-panties.webp" alt="Warm body"><div class="vessel-card-cap">Warm body</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-WarmBodyFem">><</link>></div><</if>>
<<if _E.warmBodyRyanFam>><<journalCard "Journal-Hoffman-Ryan-WarmBodyFam" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/emmanip-ryan-warmbody.webp" alt="Warm body"><div class="vessel-card-cap">Warm body</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-WarmBodyFam">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Ryan-BlowDad" "Ch2-Ryan-EmFem" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ryan-emfem-blow.webp" alt="Practice"><div class="vessel-card-cap">Practice</div>' "ryanEmDadSeen" "E">>
<<journalCardLockable "Journal-Hoffman-Ryan-MeganBlow" "Ch2-Ryan-EmFam" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ryan-emfam-blow.webp" alt="A real one"><div class="vessel-card-cap">A real one</div>' "ryanEmFam" "E">>
</div>
<div class="vessel-subentry-title">What he becomes</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-Hoffman-Ryan-Fem1" "Ch2-NSFW-Ryan-Fem1" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-fem2-fitting.webp" alt="The mirror"><div class="vessel-card-cap">The mirror</div>' "ryanFem1" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-Fem2" "Ch2-NSFW-Ryan-Fem2" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-fem2-kiss.webp" alt="Trying it on"><div class="vessel-card-cap">Trying it on</div>' "ryanFem2" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-Fem3" "Ch2-NSFW-Ryan-Fem3" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-fem3-mirror.webp" alt="Seen"><div class="vessel-card-cap">Seen</div>' "ryanFem3NSFW" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-FemFull" "Ch2-NSFW-Ryan-FemFull" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-fem-bloom-1.webp" alt="Bloom"><div class="vessel-card-cap">Bloom</div>' "ryanFemFull" "P">>
<<if _P.ryanMemFemSeen>><<journalCard "Journal-Hoffman-Ryan-MemFem" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ryan-memedit-fem-1.webp" alt="Softness"><div class="vessel-card-cap">Softness</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-MemFem">><</link>></div><</if>>
<<if _P.ryanMemFamSeen>><<journalCard "Journal-Hoffman-Ryan-MemFam" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ryan-memedit-fam-1.webp" alt="Family"><div class="vessel-card-cap">Family</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-MemFam">><</link>></div><</if>>
<<journalCardLockable "Journal-Hoffman-Ryan-Camgirl" "Ch2-NSFW-Ryan-Camgirl" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-camgirl-1.webp" alt="Lily online"><div class="vessel-card-cap">Lily, online</div>' "ryanKinkCamgirl" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-CumEat" "Ch2-NSFW-Ryan-CumEat" '<img class="vessel-card-thumb" src="media/scenes/nsfw-ryan-cumeat-taste.webp" alt="Tasting"><div class="vessel-card-cap">Tasting</div>' "ryanKinkCumEat" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-Scent" "Ch2-NSFW-Ryan-Scent" '<div class="vessel-card-cap">Scent</div>' "ryanKinkScent" "P">>
<<journalCardLockable "Journal-Hoffman-Ryan-Watched" "Ch2-NSFW-Ryan-Watched" '<img class="vessel-card-thumb" src="media/scenes/spore-ryan-voyeur-1.webp" alt="Watched"><div class="vessel-card-cap">Watched</div>' "ryanKinkWatched" "P">>
</div>
<div class="vessel-subentry-title">What he dreams</div>
<div class="vessel-card-grid">
<<if $ch2Events.dreamTier1Ryan>><<journalCard "Journal-Hoffman-Ryan-Dream1" '<img class="vessel-card-thumb" src="media/scenes/dream-ryan-1-a.webp" alt="The Sealed Door"><div class="vessel-card-cap">The Sealed Door</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-Dream1">><</link>></div><</if>>
<<if $ch2Events.dreamTier2Ryan>><<journalCard "Journal-Hoffman-Ryan-Dream2" '<img class="vessel-card-thumb" src="media/scenes/dream-ryan-2-a.webp" alt="The Party Healer"><div class="vessel-card-cap">The Party Healer</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-Dream2">><</link>></div><</if>>
<<if $ch2Events.dreamTier3Ryan>><<journalCard "Journal-Hoffman-Ryan-Dream3" '<img class="vessel-card-thumb" src="media/scenes/dream-ryan-3-b.webp" alt="The Ritual of Binding"><div class="vessel-card-cap">The Ritual of Binding</div>'>><<else>><div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' "Journal-Hoffman-Ryan-Dream3">><</link>></div><</if>>
</div>
</details>
<</if>>
<<if ($permanentDone and ($permanentDone.pdJessRyanPunkFem or $permanentDone.pdJessRyanPunkFamSeek or $permanentDone.pdJessRyanBreakFamSeek or $permanentDone.pdJessRyanBreakFem or $permanentDone.pdJess or $permanentDone.pdRyanFamilyBed or $permanentDone.pdRyanPlug or $permanentDone.karenDomRyanPlug or $permanentDone.karenLibRyanPlug or $permanentDone.pdKarenDoris or $permanentDone.pdKarenVibrator)) or ($ch2Events and ($ch2Events.daleLabSuppression or $ch2Events.bioArchitectKitchen or $ch2Events.bioArchitectCouch or $ch2Events.bioArchitectLaundry or $ch2Events.markedMorningDone or $ch2Events.bioArchitectBed or $ch2Events.bioArchitectDawn or $ch2Events.baseShiftKaren or $ch2Events.baseShiftBathroom or $ch2Events.baseShiftMovie or $ch2Events.baseShiftMassage or $ch2Events.baseShiftFull))>>
<details class="vessel-journal-accordion">
<summary class="vessel-journal-section">FAMILY COMBO</summary>
<div class="vessel-subentry-title">Psychic domination · Kitchen collision (Jess & Ryan)</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-PD-JessRyan-PunkFem" "Ch2-PD-JessRyan-Kitchen-PunkFem" '<img class="vessel-card-thumb" src="media/scenes/pd-jessryan-punkfem-1.webp" alt="Kneel"><div class="vessel-card-cap">Kneel</div>' "pdJessRyanPunkFem" "P">>
<<journalCardLockable "Journal-PD-JessRyan-PunkFamSeek" "Ch2-PD-JessRyan-Kitchen-PunkFamSeek" '<img class="vessel-card-thumb" src="media/scenes/pd-jessryan-punkfamseek-1.webp" alt="Two alphas"><div class="vessel-card-cap">Two alphas</div>' "pdJessRyanPunkFamSeek" "P">>
<<journalCardLockable "Journal-PD-JessRyan-BreakFamSeek" "Ch2-PD-JessRyan-Kitchen-BreakFamSeek" '<img class="vessel-card-thumb" src="media/scenes/pd-jessryan-breakfamseek-1.webp" alt="The kneel she asked for"><div class="vessel-card-cap">The kneel she asked for</div>' "pdJessRyanBreakFamSeek" "P">>
<<journalCardLockable "Journal-PD-JessRyan-BreakFem" "Ch2-PD-JessRyan-Kitchen-BreakFem" '<img class="vessel-card-thumb" src="media/scenes/pd-jessryan-breakfem-1.webp" alt="Quiet hands"><div class="vessel-card-cap">Quiet hands</div>' "pdJessRyanBreakFem" "P">>
</div>
<div class="vessel-subentry-title">Psychic domination · The fan request (Ryan)</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-PD-Ryan-Plug" "Ch2-PD-Ryan-Plug" '<img class="vessel-card-thumb" src="media/scenes/pd-ryan-plug-1.webp" alt="The fan request"><div class="vessel-card-cap">The fan request</div>' "pdRyanPlug" "P">>
<<journalCardLockable "Journal-PD-Ryan-Plug-KarenDom" "Ch2-PD-Ryan-Plug-KarenDom" '<img class="vessel-card-thumb" src="media/scenes/pd-ryan-plug-dom-1.webp" alt="Punishment"><div class="vessel-card-cap">Punishment</div>' "karenDomRyanPlug" "P">>
<<journalCardLockable "Journal-PD-Ryan-Plug-KarenLib" "Ch2-PD-Ryan-Plug-KarenLib" '<img class="vessel-card-thumb" src="media/scenes/pd-ryan-plug-lib-1.webp" alt="The manager"><div class="vessel-card-cap">The manager</div>' "karenLibRyanPlug" "P">>
</div>
<div class="vessel-subentry-title">Psychic domination · Single operations</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-PD-Jess-Gloryhole" "Ch2-PD-Jess-Gloryhole" '<img class="vessel-card-thumb" src="media/scenes/gloryhole-use-1.webp" alt="The circuit"><div class="vessel-card-cap">The circuit</div>' "pdJess" "P">>
<<journalCardLockable "Journal-PD-Ryan-FamilyBed" "Ch2-PD-Ryan-FamilyBed" '<img class="vessel-card-thumb" src="media/scenes/pd-ryan-familybed-1.webp" alt="The wrong bed"><div class="vessel-card-cap">The wrong bed</div>' "pdRyanFamilyBed" "P">>
<<journalCardLockable "Journal-PD-Karen-Doris" "Ch2-PD-Karen-DorisRevenge" '<img class="vessel-card-thumb" src="media/scenes/pd-karen-doris-1.webp" alt="Doris's revenge"><div class="vessel-card-cap">Doris's revenge</div>' "pdKarenDoris" "P">>
<<journalCardLockable "Journal-PD-Karen-Vibrator" "Ch2-PD-Karen-Vibrator" '<img class="vessel-card-thumb" src="media/scenes/pd-karen-vibrator-1.webp" alt="The remote"><div class="vessel-card-cap">The remote</div>' "pdKarenVibrator" "P">>
<<journalCardLockable "Journal-PD-Dale-Lab" "Ch2-PD-Dale-LabSuppression" '<img class="vessel-card-thumb" src="media/scenes/dale-sleeping.webp" alt="The story he tells"><div class="vessel-card-cap">The story he tells</div>' "daleLabSuppression" "E">>
</div>
<div class="vessel-subentry-title">Biological architect</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-BioArch-Kitchen" "Ch2-BioArchitect-Kitchen" '<img class="vessel-card-thumb" src="media/scenes/bioarch-kitchen-1.webp" alt="The morning hug"><div class="vessel-card-cap">The morning hug</div>' "bioArchitectKitchen" "E">>
<<journalCardLockable "Journal-BioArch-Couch" "Ch2-BioArchitect-Couch" '<img class="vessel-card-thumb" src="media/scenes/bioarch-couch-1.webp" alt="The couch"><div class="vessel-card-cap">The couch</div>' "bioArchitectCouch" "E">>
<<journalCardLockable "Journal-BioArch-Laundry" "Ch2-BioArchitect-Laundry" '<img class="vessel-card-thumb" src="media/scenes/bioarch-laundry-1.webp" alt="Her clothes"><div class="vessel-card-cap">Her clothes</div>' "bioArchitectLaundry" "E">>
<<journalCardLockable "Journal-BioArch-Marked" "Ch2-BioArchitect-MarkedMorning" '<img class="vessel-card-thumb" src="media/scenes/bioarch-marked-1.webp" alt="What they wear"><div class="vessel-card-cap">What they wear</div>' "markedMorningDone" "E">>
<<journalCardLockable "Journal-BioArch-SharedBed" "Ch2-BioArchitect-SharedBed" '<img class="vessel-card-thumb" src="media/scenes/bioarch-shared-1.webp" alt="Same bed"><div class="vessel-card-cap">Same bed</div>' "bioArchitectBed" "E">>
<<journalCardLockable "Journal-BioArch-Dawn" "Ch2-BioArchitect-Dawn" '<img class="vessel-card-thumb" src="media/scenes/bioarch-dawn-1.webp" alt="The web at dawn"><div class="vessel-card-cap">The web at dawn</div>' "bioArchitectDawn" "E">>
</div>
<div class="vessel-subentry-title">Baseline shift</div>
<div class="vessel-card-grid">
<<journalCardLockable "Journal-BaseShift-Karen" "Ch2-BaseShift-Karen-Morning" '<img class="vessel-card-thumb" src="media/scenes/baseshift-karen-1.webp" alt="Coffee, black"><div class="vessel-card-cap">Coffee, black</div>' "baseShiftKaren" "E">>
<<journalCardLockable "Journal-BaseShift-Bathroom" "Ch2-BaseShift-Bathroom" '<img class="vessel-card-thumb" src="media/scenes/baseshift-bath-1.webp" alt="Open curtain"><div class="vessel-card-cap">Open curtain</div>' "baseShiftBathroom" "E">>
<<journalCardLockable "Journal-BaseShift-Movie" "Ch2-BaseShift-MovieNight" '<img class="vessel-card-thumb" src="media/scenes/baseshift-movie-1.webp" alt="Movie night"><div class="vessel-card-cap">Movie night</div>' "baseShiftMovie" "E">>
<<journalCardLockable "Journal-BaseShift-Massage" "Ch2-BaseShift-Massage" '<img class="vessel-card-thumb" src="media/scenes/baseshift-massage-1.webp" alt="Just a massage"><div class="vessel-card-cap">Just a massage</div>' "baseShiftMassage" "E">>
<<journalCardLockable "Journal-BaseShift-Full" "Ch2-BaseShift-FullFamily" '<img class="vessel-card-thumb" src="media/scenes/baseshift-full-1.webp" alt="The whole family"><div class="vessel-card-cap">The whole family</div>' "baseShiftFull" "E">>
</div>
</details>
<</if>>
<<if _P.ch2WitnessCycleBanked>>
<details class="vessel-journal-accordion">
<summary class="vessel-journal-section">ENDING</summary>
<div class="vessel-subentry-title">The brood</div>
<div class="vessel-card-grid">
<<journalCard "Journal-Hoffman-Ending-Brood" '<img class="vessel-card-thumb" src="media/scenes/symbiotic/ending-henderson-brood.webp" alt="The brood-mother"><div class="vessel-card-cap">The brood-mother</div>'>>
</div>
</details>
<</if>>
<<link "← Back to Journal">><<goto "Journal">><</link>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Hoffman">><</link>>
<h2 class="journal-vessel-h2">The brood-mother</h2>
<p>The first witness across the hedge never left the basement. Held off the floor in a cradle of green root-arms, swollen and serene, Mrs Henderson became the mother of the brood, laying clutch after clutch into the dark while the family she came to check on knelt and counted and carried the eggs out into the world, one covered basket at a time.</p>
<img class="scene-img" src="media/scenes/symbiotic/ending-henderson-brood.webp" alt="A 43 year old white woman with neat set hair held suspended off a dark basement floor by thick translucent green tentacles coiled around her limbs and torso, her belly hugely swollen and faintly glowing, her face slack and serene with green light behind half-closed eyes, clusters of glistening translucent green eggs in neat rows on the pulsing green substrate beneath her, deep bioluminescent glow, cinematic body horror"><<bg "bg-status">>
<<link "← Back to Hoffman Family">><<goto "Journal-Hoffman">><</link>>
<<set _variant to setup.getPortraitVariant("karen")>>
<<set _portrait to "media/portraits/karen/karen-" + _variant + ".status.webp">>
<div class="profile-layout">
<div class="profile-portrait">
<img @src="_portrait" alt="Karen Hoffman">
</div>
<div class="profile-info">
<div class="profile-name">Karen Hoffman</div>
<div class="profile-role">43, Accountant (WFH). Mother. The one holding everything together.</div>
<div class="profile-section-title">Status</div>
<<if $houseState and $houseState.hvacCompromised>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value profile-suspicion-neutralised">◉ NEUTRALIZED</span></div>
<div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value profile-suspicion-neutralised">SUPPRESSED</span></div>
<<else>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value"><<= $familySuspicion.karen.level >> / 10</span></div>
<<if $familySuspicion.karen.alertness is "veryhigh">><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value" style="color:#f44336">VERY HIGH</span></div><div class="profile-stat" style="color:#f44336;font-size:0.8em">⚠ Conditioning resistance active. Reduce household suspicion below 50% to de-escalate.</div><<else>><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value"><<= $familySuspicion.karen.alertness.toUpperFirst() >></span></div><</if>>
<</if>>
<<if $karenRoute>>
<div class="profile-stat"><span class="profile-stat-label">Route</span> <span class="profile-stat-value profile-route"><<= $karenRoute.toUpperFirst() >></span></div>
<</if>>
<<if $kinks.karen and $kinks.karen.length gt 0>>
<<set _karenKinksDisplay to (typeof $kinks.karen === "string" ? [$kinks.karen] : $kinks.karen).map(function(k){return k.toUpperFirst()}).join(" · ")>>
<div class="profile-stat"><span class="profile-stat-label">Kink<<if $kinks.karen.length gt 1>>s<</if>></span> <span class="profile-stat-value profile-kink"><<= _karenKinksDisplay>></span></div>
<</if>>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<<set _kCap to setup.houseTypeCap()>>
<<set _kPheroVal to ($conditioning.karen.pheromone or 0)>>
<<set _kDreamVal to ($conditioning.karen.dream or 0)>>
<<set _kPsiVal to ($conditioning.karen.psionic or 0)>>
<<set _kPhero to Math.min(100, _kPheroVal * 100 / _kCap)>>
<<set _kDream to Math.min(100, _kDreamVal * 100 / _kCap)>>
<<set _kPsi to Math.min(100, _kPsiVal * 100 / _kCap)>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _kPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _kDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _kPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _kPheroVal>>/<<= _kCap>></span>
<span style="color:#4a90d9">Dream <<= _kDreamVal>>/<<= _kCap>></span>
<span style="color:#40bfbf">Psionic <<= _kPsiVal>>/<<= _kCap>></span>
</div>
<div class="conditioning-total">Total <<= (_kPheroVal + _kDreamVal + _kPsiVal)>>/<<= (_kCap * 3)>></div>
<<conditioningCapHint "karen">>
</div>
<<set _biCount to 0>>
<<if $behavioralIntel.karen>>
<<for _k, _v range $behavioralIntel.karen>><<if _v>><<set _biCount += 1>><</if>><</for>>
<</if>>
<div class="profile-section-title">Behavioral Intel (<<= _biCount >>/5)</div>
<<if _biCount gt 0>>
<<set _biLabels to { vulnmap: "Stress markers & medication cycle", arousal: "Hormonal shift detection", emotionalmirror: "Trust response patterns", predator: "Daily movement mapped", biofilm: "Surface contact analysis" }>>
<<for _k, _v range $behavioralIntel.karen>>
<<if _v and _biLabels[_k]>>
<div class="profile-stat"><span class="profile-stat-label"><<= _biLabels[_k] >></span> <span class="profile-stat-value" style="color:#40bfbf">Discovered</span></div>
<</if>>
<</for>>
<<else>>
<div class="profile-empty-section">No behavioural intel yet. Use host adaptations (Hormonal Shift Detection, Vulnerability Mapping, Emotional Mirror, Predator Instinct, Biofilm Contact) while observing Karen to discover her.</div>
<</if>>
<<set _delveRead to ($delveInfo.karen or $delveInfo.karenDeep or $ch2Events.karenDreamHarvested or $permanentDone.emoKaren or $permanentDone.dreamWalkKaren or $permanentDone.memoryImplantKaren or $kinks.karen)>>
<div class="profile-section-title">Delve Intel</div>
<<if not _delveRead>>
<div class="profile-empty-section">No psionic reads yet. Use Delve Superficial or Delve Deep on Karen to learn her surface thoughts and deep memories.</div>
<<else>>
<<if $delveInfo.karen>><div class="profile-stat"><span class="profile-stat-label">Surface thoughts</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $delveInfo.karenDeep>><div class="profile-stat"><span class="profile-stat-label">Deep memories</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $ch2Events.karenDreamHarvested>><div class="profile-stat"><span class="profile-stat-label">Dream Harvest</span> <span class="profile-stat-value" style="color:#4a90d9">Harvested</span></div><</if>>
<<if $permanentDone.emoKaren>><div class="profile-stat"><span class="profile-stat-label">Emotional Manipulation</span> <span class="profile-stat-value" style="color:#40bfbf">Implanted</span></div><</if>>
<<if $permanentDone.dreamWalkKaren>><div class="profile-stat"><span class="profile-stat-label">Dream Walk</span> <span class="profile-stat-value" style="color:#40bfbf">Reshaped</span></div><</if>>
<<if $permanentDone.memoryImplantKaren>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 1</span> <span class="profile-stat-value" style="color:#a04ad9">Planted</span></div><</if>>
<<if $permanentDone.memoryEffect_karen>><div class="profile-stat"><span class="profile-stat-label">Implant Effect</span> <span class="profile-stat-value" style="color:#a04ad9">Observed</span></div><</if>>
<<if $kinks.karen and $kinks.karen.length gt 0>><<set _kImpDisp to (typeof $kinks.karen === "string" ? [$kinks.karen] : $kinks.karen).map(function(k){return k.toUpperFirst()}).join(" · ")>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 2</span> <span class="profile-stat-value" style="color:#a04ad9"><<= _kImpDisp>></span></div><</if>>
<</if>>
<<set _karenObs to 0>>
<<if $ch2Events.karenNightObserved>><<set _karenObs += 1>><</if>>
<<if $ch2Events.karenBathroomObservedNSFW>><<set _karenObs += 1>><</if>>
<<if $ch2Events.examinedKarenLaptop>><<set _karenObs += 1>><</if>>
<<if $ch2Events.foundMeds>><<set _karenObs += 1>><</if>>
<<if $ch2Events.checkedMedicineCabinet>><<set _karenObs += 1>><</if>>
<<if _karenObs gt 0>>
<div class="profile-section-title">Observations (<<= _karenObs >>/5)</div>
<<if $ch2Events.karenNightObserved>><div class="profile-stat"><span class="profile-stat-label">Sleep schedule</span> <span class="profile-stat-value" style="color:#8bc88b">Mapped</span></div><</if>>
<<if $ch2Events.foundMeds>><div class="profile-stat"><span class="profile-stat-label">Sleep medication</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.checkedMedicineCabinet>><div class="profile-stat"><span class="profile-stat-label">Antidepressants</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.examinedKarenLaptop>><div class="profile-stat"><span class="profile-stat-label">Escape plan</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.karenBathroomObservedNSFW>><div class="profile-stat"><span class="profile-stat-label">Shower vulnerability</span> <span class="profile-stat-value" style="color:#8bc88b">Observed</span></div><</if>>
<</if>>
<<if $karenRoute>>
<div class="profile-section-title">Route Progress</div>
<<if $permanentDone.karenLib1 or $permanentDone.karenDom1>><div class="profile-stat"><span class="profile-stat-label">Route I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.karenLib2 or $permanentDone.karenDom2>><div class="profile-stat"><span class="profile-stat-label">Route II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.karenLib3NSFW or $permanentDone.karenDom3NSFW>><div class="profile-stat"><span class="profile-stat-label">Route III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $karenFutaRoute>>
<<if $permanentDone.karenFuta1>><div class="profile-stat"><span class="profile-stat-label">Futa I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.karenFuta2>><div class="profile-stat"><span class="profile-stat-label">Futa II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.karenFuta3>><div class="profile-stat"><span class="profile-stat-label">Futa III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<</if>>
<</if>>
</div>
</div><<bg "bg-status">>
<<link "← Back to Hoffman Family">><<goto "Journal-Hoffman">><</link>>
<<set _variant to setup.getPortraitVariant("dale")>>
<<set _portrait to "media/portraits/dale/dale-" + _variant + ".status.webp">>
<div class="profile-layout">
<div class="profile-portrait">
<img @src="_portrait" alt="Dale Hoffman">
</div>
<div class="profile-info">
<div class="profile-name">Dale Hoffman</div>
<div class="profile-role">45, BioGenesis night security. Father. Asleep on the couch.</div>
<div class="profile-section-title">Status</div>
<<if $houseState and $houseState.hvacCompromised>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value profile-suspicion-neutralised">◉ NEUTRALIZED</span></div>
<div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value profile-suspicion-neutralised">SUPPRESSED</span></div>
<<else>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value"><<= $familySuspicion.dale.level >> / 10</span></div>
<<if $familySuspicion.dale.alertness is "veryhigh">><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value" style="color:#f44336">VERY HIGH</span></div><div class="profile-stat" style="color:#f44336;font-size:0.8em">⚠ Conditioning resistance active. Reduce household suspicion below 50% to de-escalate.</div><<else>><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value"><<= $familySuspicion.dale.alertness.toUpperFirst() >></span></div><</if>>
<</if>>
<<if $daleRoute>>
<div class="profile-stat"><span class="profile-stat-label">Route</span> <span class="profile-stat-value profile-route"><<= $daleRoute.toUpperFirst() >></span></div>
<</if>>
<<if $kinks.dale and $kinks.dale.length gt 0>>
<<set _daleKinksDisplay to (typeof $kinks.dale === "string" ? [$kinks.dale] : $kinks.dale).map(function(k){return k.toUpperFirst()}).join(" · ")>>
<div class="profile-stat"><span class="profile-stat-label">Kink<<if $kinks.dale.length gt 1>>s<</if>></span> <span class="profile-stat-value profile-kink"><<= _daleKinksDisplay>></span></div>
<</if>>
<<if $daleCountermeasure gt 0>>
<div class="profile-stat"><span class="profile-stat-label">Countermeasure</span> <span class="profile-stat-value" style="color:#4caf50">Level <<= $daleCountermeasure >>/3</span></div>
<</if>>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<<set _dCap to setup.houseTypeCap()>>
<<set _dPheroVal to ($conditioning.dale.pheromone or 0)>>
<<set _dDreamVal to ($conditioning.dale.dream or 0)>>
<<set _dPsiVal to ($conditioning.dale.psionic or 0)>>
<<set _dPhero to Math.min(100, _dPheroVal * 100 / _dCap)>>
<<set _dDream to Math.min(100, _dDreamVal * 100 / _dCap)>>
<<set _dPsi to Math.min(100, _dPsiVal * 100 / _dCap)>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _dPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _dDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _dPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _dPheroVal>>/<<= _dCap>></span>
<span style="color:#4a90d9">Dream <<= _dDreamVal>>/<<= _dCap>></span>
<span style="color:#40bfbf">Psionic <<= _dPsiVal>>/<<= _dCap>></span>
</div>
<div class="conditioning-total">Total <<= (_dPheroVal + _dDreamVal + _dPsiVal)>>/<<= (_dCap * 3)>></div>
<<conditioningCapHint "dale">>
</div>
<<set _biCount to 0>>
<<if $behavioralIntel.dale>>
<<for _k, _v range $behavioralIntel.dale>><<if _v>><<set _biCount += 1>><</if>><</for>>
<</if>>
<div class="profile-section-title">Behavioral Intel (<<= _biCount >>/4)</div>
<<if _biCount gt 0>>
<<set _biLabels to { trackscent: "Fatigue & medication scent", territory: "Garage territory mapped", neurallink: "Shift schedule predicted", tunnel: "Wall cavity routes mapped" }>>
<<for _k, _v range $behavioralIntel.dale>>
<<if _v and _biLabels[_k]>>
<div class="profile-stat"><span class="profile-stat-label"><<= _biLabels[_k] >></span> <span class="profile-stat-value" style="color:#40bfbf">Discovered</span></div>
<</if>>
<</for>>
<<else>>
<div class="profile-empty-section">No behavioural intel yet. Use host adaptations (Scent Tracking, Territory Marking, Neural Link, Tunnel Network) while observing Dale to discover him.</div>
<</if>>
<<set _delveRead to ($delveInfo.dale or $delveInfo.daleCar or $ch2Events.dreamTier1Dale or $permanentDone.memoryImplantDale or $kinks.dale)>>
<div class="profile-section-title">Delve Intel</div>
<<if not _delveRead>>
<div class="profile-empty-section">No psionic reads yet. Delve Dale in his car on the drive home or while he sleeps on the couch.</div>
<<else>>
<<if $delveInfo.daleCar>><div class="profile-stat"><span class="profile-stat-label">Drive home thoughts</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $delveInfo.dale>><div class="profile-stat"><span class="profile-stat-label">Sleeping mind</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $ch2Events.dreamTier1Dale>><div class="profile-stat"><span class="profile-stat-label">Dream Harvest</span> <span class="profile-stat-value" style="color:#4a90d9">Harvested</span></div><</if>>
<<if $permanentDone.memoryImplantDale>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 1</span> <span class="profile-stat-value" style="color:#a04ad9">Planted</span></div><</if>>
<<if $kinks.dale and $kinks.dale.length gt 0>><<set _dImpDisp to (typeof $kinks.dale === "string" ? [$kinks.dale] : $kinks.dale).map(function(k){return k.toUpperFirst()}).join(" · ")>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 2</span> <span class="profile-stat-value" style="color:#a04ad9"><<= _dImpDisp>></span></div><</if>>
<</if>>
<<set _daleObs to 0>>
<<if $ch2Events.examinedDalePhotos>><<set _daleObs += 1>><</if>>
<<if $ch2Events.examinedBiscuitCollar>><<set _daleObs += 1>><</if>>
<<if _daleObs gt 0>>
<div class="profile-section-title">Observations (<<= _daleObs >>/2)</div>
<<if $ch2Events.examinedDalePhotos>><div class="profile-stat"><span class="profile-stat-label">Family photos</span> <span class="profile-stat-value" style="color:#8bc88b">Examined</span></div><</if>>
<<if $ch2Events.examinedBiscuitCollar>><div class="profile-stat"><span class="profile-stat-label">Biscuit's corner</span> <span class="profile-stat-value" style="color:#8bc88b">Examined</span></div><</if>>
<</if>>
<<if $daleRoute>>
<div class="profile-section-title">Route Progress</div>
<<if $permanentDone.daleSub1>><div class="profile-stat"><span class="profile-stat-label">Dale I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.daleSub2>><div class="profile-stat"><span class="profile-stat-label">Dale II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.daleSub3NSFW>><div class="profile-stat"><span class="profile-stat-label">Dale III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<</if>>
</div>
</div><<bg "bg-status">>
<<link "← Back to Hoffman Family">><<goto "Journal-Hoffman">><</link>>
<<set _variant to setup.getPortraitVariant("megan")>>
<<set _portrait to "media/portraits/megan/megan-" + _variant + ".status.webp">>
<div class="profile-layout">
<div class="profile-portrait">
<img @src="_portrait" alt="Megan Hoffman">
</div>
<div class="profile-info">
<div class="profile-name">Megan Hoffman</div>
<div class="profile-role">19, Ryan's twin. Barista. The one who performs normalcy.</div>
<div class="profile-section-title">Status</div>
<<if $houseState and $houseState.hvacCompromised>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value profile-suspicion-neutralised">◉ NEUTRALIZED</span></div>
<div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value profile-suspicion-neutralised">SUPPRESSED</span></div>
<<else>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value"><<= $familySuspicion.megan.level >> / 10</span></div>
<<if $familySuspicion.megan.alertness is "veryhigh">><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value" style="color:#f44336">VERY HIGH</span></div><div class="profile-stat" style="color:#f44336;font-size:0.8em">⚠ Conditioning resistance active. Reduce household suspicion below 50% to de-escalate.</div><<else>><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value"><<= $familySuspicion.megan.alertness.toUpperFirst() >></span></div><</if>>
<</if>>
<<if $meganRoute>>
<div class="profile-stat"><span class="profile-stat-label">Route</span> <span class="profile-stat-value profile-route"><<= $meganRoute.toUpperFirst() >></span></div>
<</if>>
<<if $kinks.megan and $kinks.megan.length gt 0>>
<<set _meganKinksDisplay to (typeof $kinks.megan === "string" ? [$kinks.megan] : $kinks.megan).map(function(k){return k.toUpperFirst()}).join(" · ")>>
<div class="profile-stat"><span class="profile-stat-label">Kink<<if $kinks.megan.length gt 1>>s<</if>></span> <span class="profile-stat-value profile-kink"><<= _meganKinksDisplay>></span></div>
<</if>>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<<set _mCap to setup.houseTypeCap()>>
<<set _mPheroVal to ($conditioning.megan.pheromone or 0)>>
<<set _mDreamVal to ($conditioning.megan.dream or 0)>>
<<set _mPsiVal to ($conditioning.megan.psionic or 0)>>
<<set _mPhero to Math.min(100, _mPheroVal * 100 / _mCap)>>
<<set _mDream to Math.min(100, _mDreamVal * 100 / _mCap)>>
<<set _mPsi to Math.min(100, _mPsiVal * 100 / _mCap)>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _mPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _mDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _mPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _mPheroVal>>/<<= _mCap>></span>
<span style="color:#4a90d9">Dream <<= _mDreamVal>>/<<= _mCap>></span>
<span style="color:#40bfbf">Psionic <<= _mPsiVal>>/<<= _mCap>></span>
</div>
<div class="conditioning-total">Total <<= (_mPheroVal + _mDreamVal + _mPsiVal)>>/<<= (_mCap * 3)>></div>
<<conditioningCapHint "megan">>
</div>
<<set _biCount to 0>>
<<if $behavioralIntel.megan>>
<<for _k, _v range $behavioralIntel.megan>><<if _v>><<set _biCount += 1>><</if>><</for>>
<</if>>
<div class="profile-section-title">Behavioral Intel (<<= _biCount >>/5)</div>
<<if _biCount gt 0>>
<<set _biLabels to { vulnmap: "Performance anxiety markers", arousal: "Marcus response detected", precision: "Phone unlock pattern", emotionalmirror: "Approval-seeking expressions", contaminator: "Personal items contamination" }>>
<<for _k, _v range $behavioralIntel.megan>>
<<if _v and _biLabels[_k]>>
<div class="profile-stat"><span class="profile-stat-label"><<= _biLabels[_k] >></span> <span class="profile-stat-value" style="color:#40bfbf">Discovered</span></div>
<</if>>
<</for>>
<<else>>
<div class="profile-empty-section">No behavioural intel yet. Use host adaptations (Vulnerability Mapping, Arousal Detection, Precision Touch, Emotional Mirror, Contaminator) around Megan to discover her.</div>
<</if>>
<<set _delveRead to ($delveInfo.megan or $delveInfo.meganDeep or $ch2Events.meganDreamHarvested or $permanentDone.emoMegan or $permanentDone.dreamWalkMegan or $permanentDone.memoryImplantMegan or $kinks.megan)>>
<div class="profile-section-title">Delve Intel</div>
<<if not _delveRead>>
<div class="profile-empty-section">No psionic reads yet. Use Delve Superficial or Delve Deep on Megan to learn her surface thoughts and deep memories.</div>
<<else>>
<<if $delveInfo.megan>><div class="profile-stat"><span class="profile-stat-label">Surface thoughts</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $delveInfo.meganDeep>><div class="profile-stat"><span class="profile-stat-label">Deep memories</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $ch2Events.meganDreamHarvested>><div class="profile-stat"><span class="profile-stat-label">Dream Harvest</span> <span class="profile-stat-value" style="color:#4a90d9">Harvested</span></div><</if>>
<<if $permanentDone.emoMegan>><div class="profile-stat"><span class="profile-stat-label">Emotional Manipulation</span> <span class="profile-stat-value" style="color:#40bfbf">Implanted</span></div><</if>>
<<if $permanentDone.dreamWalkMegan>><div class="profile-stat"><span class="profile-stat-label">Dream Walk</span> <span class="profile-stat-value" style="color:#40bfbf">Reshaped</span></div><</if>>
<<if $permanentDone.memoryImplantMegan>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 1</span> <span class="profile-stat-value" style="color:#a04ad9">Planted</span></div><</if>>
<<if $permanentDone.memoryEffect_megan>><div class="profile-stat"><span class="profile-stat-label">Implant Effect</span> <span class="profile-stat-value" style="color:#a04ad9">Observed</span></div><</if>>
<<if $kinks.megan and $kinks.megan.length gt 0>><<set _mImpDisp to (typeof $kinks.megan === "string" ? [$kinks.megan] : $kinks.megan).map(function(k){return k.toUpperFirst()}).join(" · ")>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 2</span> <span class="profile-stat-value" style="color:#a04ad9"><<= _mImpDisp>></span></div><</if>>
<</if>>
<<set _meganObs to 0>>
<<if $ch2Events.meganNightObserved>><<set _meganObs += 1>><</if>>
<<if $ch2Events.meganBathroomObservedNSFW>><<set _meganObs += 1>><</if>>
<<if $ch2Events.examinedMeganVanity>><<set _meganObs += 1>><</if>>
<<if $labIntel and $labIntel.meganPsychEval>><<set _meganObs += 1>><</if>>
<<if _meganObs gt 0>>
<div class="profile-section-title">Observations (<<= _meganObs >>/4)</div>
<<if $ch2Events.meganNightObserved>><div class="profile-stat"><span class="profile-stat-label">Sleep patterns</span> <span class="profile-stat-value" style="color:#8bc88b">Mapped</span></div><</if>>
<<if $ch2Events.examinedMeganVanity>><div class="profile-stat"><span class="profile-stat-label">Anxiety history</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $labIntel and $labIntel.meganPsychEval>><div class="profile-stat"><span class="profile-stat-label">Psych evaluation</span> <span class="profile-stat-value" style="color:#8bc88b">Found in attic</span></div><</if>>
<<if $ch2Events.meganBathroomObservedNSFW>><div class="profile-stat"><span class="profile-stat-label">Shower vulnerability</span> <span class="profile-stat-value" style="color:#8bc88b">Observed</span></div><</if>>
<</if>>
<<if $meganRoute>>
<div class="profile-section-title">Route Progress</div>
<<if $permanentDone.meganMarcus1>><div class="profile-stat"><span class="profile-stat-label">Marcus I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.meganMarcus2>><div class="profile-stat"><span class="profile-stat-label">Marcus II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.meganMarcus3>><div class="profile-stat"><span class="profile-stat-label">Marcus III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<</if>>
</div>
</div><<bg "bg-status">>
<<link "← Back to Hoffman Family">><<goto "Journal-Hoffman">><</link>>
<<set _variant to setup.getPortraitVariant("jess")>>
<<set _portrait to "media/portraits/jess/jess-" + _variant + ".status.webp">>
<div class="profile-layout">
<div class="profile-portrait">
<img @src="_portrait" alt="Jess Hoffman">
</div>
<div class="profile-info">
<div class="profile-name">Jessica Hoffman</div>
<div class="profile-role">21, Eldest daughter. Pre-med student. Never sleeps.</div>
<div class="profile-section-title">Status</div>
<<if $houseState and $houseState.hvacCompromised>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value profile-suspicion-neutralised">◉ NEUTRALIZED</span></div>
<div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value profile-suspicion-neutralised">SUPPRESSED</span></div>
<<else>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value"><<= $familySuspicion.jess.level >> / 10</span></div>
<<if $familySuspicion.jess.alertness is "veryhigh">><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value" style="color:#f44336">VERY HIGH</span></div><div class="profile-stat" style="color:#f44336;font-size:0.8em">⚠ Conditioning resistance active. Reduce household suspicion below 50% to de-escalate.</div><<else>><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value"><<= $familySuspicion.jess.alertness.toUpperFirst() >></span></div><</if>>
<</if>>
<<if $jessRoute>>
<div class="profile-stat"><span class="profile-stat-label">Route</span> <span class="profile-stat-value profile-route"><<= $jessRoute.toUpperFirst() >></span></div>
<</if>>
<<if $kinks.jess and $kinks.jess.length gt 0>>
<<set _jessKinksDisplay to (typeof $kinks.jess === "string" ? [$kinks.jess] : $kinks.jess).map(function(k){return k.toUpperFirst()}).join(" · ")>>
<div class="profile-stat"><span class="profile-stat-label">Kink<<if $kinks.jess.length gt 1>>s<</if>></span> <span class="profile-stat-value profile-kink"><<= _jessKinksDisplay>></span></div>
<</if>>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<<set _jCap to setup.houseTypeCap()>>
<<set _jPheroVal to ($conditioning.jess.pheromone or 0)>>
<<set _jDreamVal to ($conditioning.jess.dream or 0)>>
<<set _jPsiVal to ($conditioning.jess.psionic or 0)>>
<<set _jPhero to Math.min(100, _jPheroVal * 100 / _jCap)>>
<<set _jDream to Math.min(100, _jDreamVal * 100 / _jCap)>>
<<set _jPsi to Math.min(100, _jPsiVal * 100 / _jCap)>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _jPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _jDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _jPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _jPheroVal>>/<<= _jCap>></span>
<span style="color:#4a90d9">Dream <<= _jDreamVal>>/<<= _jCap>></span>
<span style="color:#40bfbf">Psionic <<= _jPsiVal>>/<<= _jCap>></span>
</div>
<div class="conditioning-total">Total <<= (_jPheroVal + _jDreamVal + _jPsiVal)>>/<<= (_jCap * 3)>></div>
<<conditioningCapHint "jess">>
</div>
<<set _biCount to 0>>
<<if $behavioralIntel.jess>>
<<for _k, _v range $behavioralIntel.jess>><<if _v>><<set _biCount += 1>><</if>><</for>>
<</if>>
<div class="profile-section-title">Behavioral Intel (<<= _biCount >>/5)</div>
<<if _biCount gt 0>>
<<set _biLabels to { vulnmap: "Exhaustion biomarkers", toxin: "Caffeine dependency exploitable", nightvision: "3 AM study pattern mapped", biofilm: "Desk contamination saturation", trackscent: "Stress hormone signature" }>>
<<for _k, _v range $behavioralIntel.jess>>
<<if _v and _biLabels[_k]>>
<div class="profile-stat"><span class="profile-stat-label"><<= _biLabels[_k] >></span> <span class="profile-stat-value" style="color:#40bfbf">Discovered</span></div>
<</if>>
<</for>>
<<else>>
<div class="profile-empty-section">No behavioural intel yet. Use host adaptations (Vulnerability Mapping, Toxin Glands, Night Vision, Biofilm Contact, Scent Tracking) around Jess to discover her.</div>
<</if>>
<<set _delveRead to ($delveInfo.jess or $delveInfo.jessDeep or $ch2Events.jessDreamHarvested or $permanentDone.emoJess or $permanentDone.dreamWalkJess or $permanentDone.memoryImplantJess or $kinks.jess)>>
<div class="profile-section-title">Delve Intel</div>
<<if not _delveRead>>
<div class="profile-empty-section">No psionic reads yet. Use Delve Superficial or Delve Deep on Jess while she studies at her desk.</div>
<<else>>
<<if $delveInfo.jess>><div class="profile-stat"><span class="profile-stat-label">Surface thoughts</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $delveInfo.jessDeep>><div class="profile-stat"><span class="profile-stat-label">Deep memories</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $ch2Events.jessDreamHarvested>><div class="profile-stat"><span class="profile-stat-label">Dream Harvest</span> <span class="profile-stat-value" style="color:#4a90d9">Harvested</span></div><</if>>
<<if $permanentDone.emoJess>><div class="profile-stat"><span class="profile-stat-label">Emotional Manipulation</span> <span class="profile-stat-value" style="color:#40bfbf">Implanted</span></div><</if>>
<<if $permanentDone.dreamWalkJess>><div class="profile-stat"><span class="profile-stat-label">Dream Walk</span> <span class="profile-stat-value" style="color:#40bfbf">Reshaped</span></div><</if>>
<<if $permanentDone.memoryImplantJess>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 1</span> <span class="profile-stat-value" style="color:#a04ad9">Planted</span></div><</if>>
<<if $permanentDone.memoryEffect_jess>><div class="profile-stat"><span class="profile-stat-label">Implant Effect</span> <span class="profile-stat-value" style="color:#a04ad9">Observed</span></div><</if>>
<<if $kinks.jess and $kinks.jess.length gt 0>><<set _jImpDisp to (typeof $kinks.jess === "string" ? [$kinks.jess] : $kinks.jess).map(function(k){return k.toUpperFirst()}).join(" · ")>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 2</span> <span class="profile-stat-value" style="color:#a04ad9"><<= _jImpDisp>></span></div><</if>>
<</if>>
<<set _jessObs to 0>>
<<if $ch2Events.jessNightObserved>><<set _jessObs += 1>><</if>>
<<if $ch2Events.jessBathroomObservedNSFW>><<set _jessObs += 1>><</if>>
<<if $ch2Events.examinedJessTuition>><<set _jessObs += 1>><</if>>
<<if $ch2Events.readJournal>><<set _jessObs += 1>><</if>>
<<if _jessObs gt 0>>
<div class="profile-section-title">Observations (<<= _jessObs >>/4)</div>
<<if $ch2Events.jessNightObserved>><div class="profile-stat"><span class="profile-stat-label">Exhaustion cycle</span> <span class="profile-stat-value" style="color:#8bc88b">Mapped</span></div><</if>>
<<if $ch2Events.examinedJessTuition>><div class="profile-stat"><span class="profile-stat-label">Tuition debt</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.readJournal>><div class="profile-stat"><span class="profile-stat-label">Guilt motivation</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.jessBathroomObservedNSFW>><div class="profile-stat"><span class="profile-stat-label">Mirror vulnerability</span> <span class="profile-stat-value" style="color:#8bc88b">Observed</span></div><</if>>
<</if>>
<<if $jessRoute>>
<div class="profile-section-title">Route Progress</div>
<<if $permanentDone.jessBreak1>><div class="profile-stat"><span class="profile-stat-label">Breakdown I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.jessBreak2>><div class="profile-stat"><span class="profile-stat-label">Breakdown II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.jessBreak3NSFW>><div class="profile-stat"><span class="profile-stat-label">Breakdown III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<</if>>
</div>
</div><<bg "bg-status">>
<<link "← Back to Hoffman Family">><<goto "Journal-Hoffman">><</link>>
<<set _variant to setup.getPortraitVariant("ryan")>>
<<set _portrait to "media/portraits/ryan/ryan-" + _variant + ".status.webp">>
<div class="profile-layout">
<div class="profile-portrait">
<img @src="_portrait" alt="Ryan Hoffman">
</div>
<div class="profile-info">
<div class="profile-name">Ryan Hoffman</div>
<div class="profile-role">19, Megan's twin. Gamer. The one who disappeared without leaving.</div>
<div class="profile-section-title">Status</div>
<<if $houseState and $houseState.hvacCompromised>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value profile-suspicion-neutralised">◉ NEUTRALIZED</span></div>
<div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value profile-suspicion-neutralised">SUPPRESSED</span></div>
<<else>>
<div class="profile-stat"><span class="profile-stat-label">Suspicion</span> <span class="profile-stat-value"><<= $familySuspicion.ryan.level >> / 10</span></div>
<<if $familySuspicion.ryan.alertness is "veryhigh">><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value" style="color:#f44336">VERY HIGH</span></div><div class="profile-stat" style="color:#f44336;font-size:0.8em">⚠ Conditioning resistance active. Reduce household suspicion below 50% to de-escalate.</div><<else>><div class="profile-stat"><span class="profile-stat-label">Alertness</span> <span class="profile-stat-value"><<= $familySuspicion.ryan.alertness.toUpperFirst() >></span></div><</if>>
<</if>>
<<if $ryanRoute>>
<div class="profile-stat"><span class="profile-stat-label">Route</span> <span class="profile-stat-value profile-route"><<= $ryanRoute.toUpperFirst() >></span></div>
<</if>>
<<if $kinks.ryan and $kinks.ryan.length gt 0>>
<<set _ryanKinksDisplay to (typeof $kinks.ryan === "string" ? [$kinks.ryan] : $kinks.ryan).map(function(k){return k.toUpperFirst()}).join(" · ")>>
<div class="profile-stat"><span class="profile-stat-label">Kink<<if $kinks.ryan.length gt 1>>s<</if>></span> <span class="profile-stat-value profile-kink"><<= _ryanKinksDisplay>></span></div>
<</if>>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<div class="conditioning-bars">
<<set _rCap to setup.houseTypeCap()>>
<<set _rPheroVal to ($conditioning.ryan.pheromone or 0)>>
<<set _rDreamVal to ($conditioning.ryan.dream or 0)>>
<<set _rPsiVal to ($conditioning.ryan.psionic or 0)>>
<<set _rPhero to Math.min(100, _rPheroVal * 100 / _rCap)>>
<<set _rDream to Math.min(100, _rDreamVal * 100 / _rCap)>>
<<set _rPsi to Math.min(100, _rPsiVal * 100 / _rCap)>>
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + _rPhero + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + _rDream + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + _rPsi + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _rPheroVal>>/<<= _rCap>></span>
<span style="color:#4a90d9">Dream <<= _rDreamVal>>/<<= _rCap>></span>
<span style="color:#40bfbf">Psionic <<= _rPsiVal>>/<<= _rCap>></span>
</div>
<div class="conditioning-total">Total <<= (_rPheroVal + _rDreamVal + _rPsiVal)>>/<<= (_rCap * 3)>></div>
<<conditioningCapHint "ryan">>
</div>
<<set _biCount to 0>>
<<if $behavioralIntel.ryan>>
<<for _k, _v range $behavioralIntel.ryan>><<if _v>><<set _biCount += 1>><</if>><</for>>
<</if>>
<div class="profile-section-title">Behavioral Intel (<<= _biCount >>/5)</div>
<<if _biCount gt 0>>
<<set _biLabels to { vulnmap: "Isolation pathology mapped", precision: "Gaming schedule & keyboard", taildrop: "Panic response calibrated", wallgrip: "Terrarium observation data", distributed: "Screen activity monitored" }>>
<<for _k, _v range $behavioralIntel.ryan>>
<<if _v and _biLabels[_k]>>
<div class="profile-stat"><span class="profile-stat-label"><<= _biLabels[_k] >></span> <span class="profile-stat-value" style="color:#40bfbf">Discovered</span></div>
<</if>>
<</for>>
<<else>>
<div class="profile-empty-section">No behavioural intel yet. Use host adaptations (Vulnerability Mapping, Precision Touch, Tail Drop, Wall Grip, Distributed Awareness) around Ryan's room to discover him.</div>
<</if>>
<<set _delveRead to ($delveInfo.ryan or $delveInfo.ryanDeep or $ch2Events.ryanDreamHarvested or $permanentDone.emoRyan or $permanentDone.dreamWalkRyan or $permanentDone.memoryImplantRyan or $kinks.ryan)>>
<div class="profile-section-title">Delve Intel</div>
<<if not _delveRead>>
<div class="profile-empty-section">No psionic reads yet. Use Delve Superficial or Delve Deep on Ryan while he games at his desk.</div>
<<else>>
<<if $delveInfo.ryan>><div class="profile-stat"><span class="profile-stat-label">Surface thoughts</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $delveInfo.ryanDeep>><div class="profile-stat"><span class="profile-stat-label">Deep memories</span> <span class="profile-stat-value" style="color:#4a90d9">Read</span></div><</if>>
<<if $ch2Events.ryanDreamHarvested>><div class="profile-stat"><span class="profile-stat-label">Dream Harvest</span> <span class="profile-stat-value" style="color:#4a90d9">Harvested</span></div><</if>>
<<if $permanentDone.emoRyan>><div class="profile-stat"><span class="profile-stat-label">Emotional Manipulation</span> <span class="profile-stat-value" style="color:#40bfbf">Implanted</span></div><</if>>
<<if $permanentDone.dreamWalkRyan>><div class="profile-stat"><span class="profile-stat-label">Dream Walk</span> <span class="profile-stat-value" style="color:#40bfbf">Reshaped</span></div><</if>>
<<if $permanentDone.memoryImplantRyan>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 1</span> <span class="profile-stat-value" style="color:#a04ad9">Planted</span></div><</if>>
<<if $permanentDone.memoryEffect_ryan>><div class="profile-stat"><span class="profile-stat-label">Implant Effect</span> <span class="profile-stat-value" style="color:#a04ad9">Observed</span></div><</if>>
<<if $kinks.ryan and $kinks.ryan.length gt 0>><<set _rImpDisp to (typeof $kinks.ryan === "string" ? [$kinks.ryan] : $kinks.ryan).map(function(k){return k.toUpperFirst()}).join(" · ")>><div class="profile-stat"><span class="profile-stat-label">Memory Implant 2</span> <span class="profile-stat-value" style="color:#a04ad9"><<= _rImpDisp>></span></div><</if>>
<</if>>
<<set _ryanObs to 0>>
<<if $ch2Events.ryanNightObserved>><<set _ryanObs += 1>><</if>>
<<if $ch2Events.examinedRyanDiscord>><<set _ryanObs += 1>><</if>>
<<if $ch2Events.examinedRyanCloset>><<set _ryanObs += 1>><</if>>
<<if _ryanObs gt 0>>
<div class="profile-section-title">Observations (<<= _ryanObs >>/3)</div>
<<if $ch2Events.ryanNightObserved>><div class="profile-stat"><span class="profile-stat-label">Nocturnal schedule</span> <span class="profile-stat-value" style="color:#8bc88b">Mapped</span></div><</if>>
<<if $ch2Events.examinedRyanDiscord>><div class="profile-stat"><span class="profile-stat-label">LilyPad_ connection</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<<if $ch2Events.examinedRyanCloset>><div class="profile-stat"><span class="profile-stat-label">Unopened gifts</span> <span class="profile-stat-value" style="color:#8bc88b">Discovered</span></div><</if>>
<</if>>
<<if $ryanRoute>>
<div class="profile-section-title">Route Progress</div>
<<if $permanentDone.ryanFem1 or $permanentDone.ryanFS1>><div class="profile-stat"><span class="profile-stat-label">Route I</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.ryanFem2 or $permanentDone.ryanFS2>><div class="profile-stat"><span class="profile-stat-label">Route II</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<<if $permanentDone.ryanFem3 or $permanentDone.ryanFS3>><div class="profile-stat"><span class="profile-stat-label">Route III</span> <span class="profile-stat-value" style="color:#d9a04a">Complete</span></div><</if>>
<</if>>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/scientist/scientist-bowen.thumb.webp" alt="Bowen">
</div>
<div class="profile-info">
<div class="profile-name">Bowen</div>
<div class="profile-role">Mid-20s, Junior tech, BioGenesis BSL-3. Anxious, eager-to-please, the first to find the broken chamber.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _bCap to setup.capFor("bowen")>>
<<set _bPheroVal to (($conditioning and $conditioning.bowen and $conditioning.bowen.pheromone) or 0)>>
<<set _bDreamVal to (($conditioning and $conditioning.bowen and $conditioning.bowen.dream) or 0)>>
<<set _bPsiVal to (($conditioning and $conditioning.bowen and $conditioning.bowen.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_bPheroVal * 100 / _bCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_bDreamVal * 100 / _bCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_bPsiVal * 100 / _bCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _bPheroVal>>/<<= _bCap>></span>
<span style="color:#4a90d9">Dream <<= _bDreamVal>>/<<= _bCap>></span>
<span style="color:#40bfbf">Psionic <<= _bPsiVal>>/<<= _bCap>></span>
</div>
<div class="conditioning-total">Total <<= (_bPheroVal + _bDreamVal + _bPsiVal)>>/<<= (_bCap * 3)>></div>
</div>
<<vesselConditioningCapHint "bowen">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/scientist/scientist-vasquez.thumb.webp" alt="Vasquez">
</div>
<div class="profile-info">
<div class="profile-name">Vasquez</div>
<div class="profile-role">Late 30s, Co-PI on Project Genesis. Sharp, controlled. Chen's only real friend in the building.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _vCap to setup.capFor("vasquez")>>
<<set _vPheroVal to (($conditioning and $conditioning.vasquez and $conditioning.vasquez.pheromone) or 0)>>
<<set _vDreamVal to (($conditioning and $conditioning.vasquez and $conditioning.vasquez.dream) or 0)>>
<<set _vPsiVal to (($conditioning and $conditioning.vasquez and $conditioning.vasquez.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_vPheroVal * 100 / _vCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_vDreamVal * 100 / _vCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_vPsiVal * 100 / _vCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _vPheroVal>>/<<= _vCap>></span>
<span style="color:#4a90d9">Dream <<= _vDreamVal>>/<<= _vCap>></span>
<span style="color:#40bfbf">Psionic <<= _vPsiVal>>/<<= _vCap>></span>
</div>
<div class="conditioning-total">Total <<= (_vPheroVal + _vDreamVal + _vPsiVal)>>/<<= (_vCap * 3)>></div>
</div>
<<vesselConditioningCapHint "vasquez">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/scientist/scientist-halvorsen.thumb.webp" alt="Dr. Halvorsen">
</div>
<div class="profile-info">
<div class="profile-name">Dr. Halvorsen</div>
<div class="profile-role">Senior staff. Calm, institutional, weighs in on protocol. The voice the other scientists defer to in long meetings.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _hCap to setup.capFor("halvorsen")>>
<<set _hPheroVal to (($conditioning and $conditioning.halvorsen and $conditioning.halvorsen.pheromone) or 0)>>
<<set _hDreamVal to (($conditioning and $conditioning.halvorsen and $conditioning.halvorsen.dream) or 0)>>
<<set _hPsiVal to (($conditioning and $conditioning.halvorsen and $conditioning.halvorsen.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_hPheroVal * 100 / _hCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_hDreamVal * 100 / _hCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_hPsiVal * 100 / _hCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _hPheroVal>>/<<= _hCap>></span>
<span style="color:#4a90d9">Dream <<= _hDreamVal>>/<<= _hCap>></span>
<span style="color:#40bfbf">Psionic <<= _hPsiVal>>/<<= _hCap>></span>
</div>
<div class="conditioning-total">Total <<= (_hPheroVal + _hDreamVal + _hPsiVal)>>/<<= (_hCap * 3)>></div>
</div>
<<vesselConditioningCapHint "halvorsen">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/scientist/scientist-holloway.thumb.webp" alt="Dr. Holloway">
</div>
<div class="profile-info">
<div class="profile-name">Dr. Holloway</div>
<div class="profile-role">Postdoc. Methodical, doesn't speak until she's sure. The one running the camera footage analysis.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _holCap to setup.capFor("holloway")>>
<<set _holPheroVal to (($conditioning and $conditioning.holloway and $conditioning.holloway.pheromone) or 0)>>
<<set _holDreamVal to (($conditioning and $conditioning.holloway and $conditioning.holloway.dream) or 0)>>
<<set _holPsiVal to (($conditioning and $conditioning.holloway and $conditioning.holloway.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_holPheroVal * 100 / _holCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_holDreamVal * 100 / _holCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_holPsiVal * 100 / _holCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _holPheroVal>>/<<= _holCap>></span>
<span style="color:#4a90d9">Dream <<= _holDreamVal>>/<<= _holCap>></span>
<span style="color:#40bfbf">Psionic <<= _holPsiVal>>/<<= _holCap>></span>
</div>
<div class="conditioning-total">Total <<= (_holPheroVal + _holDreamVal + _holPsiVal)>>/<<= (_holCap * 3)>></div>
</div>
<<vesselConditioningCapHint "holloway">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/daniel/daniel-default.thumb.webp" alt="Daniel">
</div>
<div class="profile-info">
<div class="profile-name">Daniel</div>
<div class="profile-role">Chen's neighbour at Cedar Crescent, third floor, across the hall. A man she barely registers exists. For now.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _dCap to setup.capFor("daniel")>>
<<set _dPheroVal to (($conditioning and $conditioning.daniel and $conditioning.daniel.pheromone) or 0)>>
<<set _dDreamVal to (($conditioning and $conditioning.daniel and $conditioning.daniel.dream) or 0)>>
<<set _dPsiVal to (($conditioning and $conditioning.daniel and $conditioning.daniel.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_dPheroVal * 100 / _dCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_dDreamVal * 100 / _dCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_dPsiVal * 100 / _dCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _dPheroVal>>/<<= _dCap>></span>
<span style="color:#4a90d9">Dream <<= _dDreamVal>>/<<= _dCap>></span>
<span style="color:#40bfbf">Psionic <<= _dPsiVal>>/<<= _dCap>></span>
</div>
<div class="conditioning-total">Total <<= (_dPheroVal + _dDreamVal + _dPsiVal)>>/<<= (_dCap * 3)>></div>
</div>
<<vesselConditioningCapHint "daniel">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/reyes/reyes-default.thumb.webp" alt="Special Agent Reyes">
</div>
<div class="profile-info">
<div class="profile-name">Special Agent Reyes</div>
<div class="profile-role">48, FBI biotech-incident division, lead investigator on the BioGenesis case. Senior career interviewer; reads cadence, grades against rehearsal, files everything.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _rCap to setup.capFor("reyes")>>
<<set _rPheroVal to (($conditioning and $conditioning.reyes and $conditioning.reyes.pheromone) or 0)>>
<<set _rDreamVal to (($conditioning and $conditioning.reyes and $conditioning.reyes.dream) or 0)>>
<<set _rPsiVal to (($conditioning and $conditioning.reyes and $conditioning.reyes.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_rPheroVal * 100 / _rCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_rDreamVal * 100 / _rCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_rPsiVal * 100 / _rCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _rPheroVal>>/<<= _rCap>></span>
<span style="color:#4a90d9">Dream <<= _rDreamVal>>/<<= _rCap>></span>
<span style="color:#40bfbf">Psionic <<= _rPsiVal>>/<<= _rCap>></span>
</div>
<div class="conditioning-total">Total <<= (_rPheroVal + _rDreamVal + _rPsiVal)>>/<<= (_rCap * 3)>></div>
</div>
<<vesselConditioningCapHint "reyes">>
</div>
</div><<bg "bg-status">>
<<link "← Back to story">><<goto $menuReturn>><</link>>
<div class="profile-layout">
<div class="profile-portrait">
<img src="media/portraits/park/park-default.thumb.webp" alt="Agent Park">
</div>
<div class="profile-info">
<div class="profile-name">Agent Park</div>
<div class="profile-role">33, FBI biotech-incident division, junior partner. The recorder, the cadence-mapper. Married, one daughter. Half-here at best, the other half is in a hotel three weeks from now where the family Italy trip is no longer happening.</div>
<div class="profile-section-title">Conditioning</div>
<div class="conditioning-bars-container">
<<set _pCap to setup.capFor("park")>>
<<set _pPheroVal to (($conditioning and $conditioning.park and $conditioning.park.pheromone) or 0)>>
<<set _pDreamVal to (($conditioning and $conditioning.park and $conditioning.park.dream) or 0)>>
<<set _pPsiVal to (($conditioning and $conditioning.park and $conditioning.park.psionic) or 0)>>
<div class="conditioning-bars">
<div class="conditioning-bar conditioning-bar-pheromone"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_pPheroVal * 100 / _pCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-dream"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_pDreamVal * 100 / _pCap)) + '%'"></div></div>
<div class="conditioning-bar conditioning-bar-psionic"><div class="conditioning-bar-fill" @style="'width:' + Math.min(100, Math.round(_pPsiVal * 100 / _pCap)) + '%'"></div></div>
</div>
<div class="conditioning-bars-labels">
<span style="color:#4caf50">Phero <<= _pPheroVal>>/<<= _pCap>></span>
<span style="color:#4a90d9">Dream <<= _pDreamVal>>/<<= _pCap>></span>
<span style="color:#40bfbf">Psionic <<= _pPsiVal>>/<<= _pCap>></span>
</div>
<div class="conditioning-total">Total <<= (_pPheroVal + _pDreamVal + _pPsiVal)>>/<<= (_pCap * 3)>></div>
</div>
<<vesselConditioningCapHint "park">>
</div>
</div>
/* ============================================================
LAB VESSEL EVENT JOURNAL — "Chen's Days"
Social / Lab / Evening event sections. A macro-entry (e.g. the
sushi night) only appears once at least one of its outcomes has
been seen; each outcome is a card, grey + locked until seen,
then an image preview + a milestone recap. Currently only the
sushi night is wired; run / D&D / lunch / corridor follow later.
============================================================ */<<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.halvorsenShatterWorkdayFired>>
<h2 class="journal-vessel-h2">Stop by Halvorsen's Office</h2>
<p>The first working day after the dream took the floor out from under Halvorsen's discipline, the host stopped by his office. He was leaned all the way back in his chair with his hands behind his head and the desk cleared to bare wood, entirely unbothered to be found that way by a colleague at ten in the morning.</p>
<img class="scene-img" src="media/scenes/vessel/halvorsen-office-welcome.webp" alt="Halvorsen leaned back in his office chair, hands laced behind his head, welcoming Elena in">
<p>Under the desk was his new hire. He had taken her on the week before as a secretary, on paper, except she had no reference that would let her near the bench and could not work the scheduling software either, so he had found her the one thing she was good at. He talked the host through it the way another man would talk about a new analyst, his hand resting in the girl's hair while she worked.</p>
<video class="scene-video" src="media/video/halvorsen-office-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-office-bj.webp"></video>
<p>The conversation turned to the weekend nights, the bis line, the two of them alone in the building. He offered the girl to the host as help. She did not mind nights, he said. She had been very good about nights. A body with no references and no record and no one anywhere who would come asking after her, handed over by a man who believed he was getting a problem off his hands.</p>
<video class="scene-video" src="media/video/halvorsen-office-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-office-bj.webp"></video>
<p>He finished on her face, told her to clean up and take an early lunch, then told the host to think about the nights. The offer stands. The girl is reachable now on the weekend shift, the next time the bench runs short.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>Break the right thing in the right man and his discipline stops pointing at the work. There is a Halvorsen who stops being careful about what he keeps behind the door that locks, and starts being generous with it. You have not seen what he does with the wreckage yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.danielScanRelayDone>>
<h2 class="journal-vessel-h2">A Channel, Across the Hall</h2>
<p>The neural read taken off Daniel two feet from the specimen left a wire behind, the same kind Sofia's scan left, an open line from him back to the pen. One night before dawn the sibling reached the wrong way down it. Not to pull his body to the lab the way it pulled hers, but to reach the whole way across the city and set itself on him where he slept in his own bed in three-oh-six.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-channel-home.webp" alt="Daniel asleep in his rumpled bed before dawn, the room washed a faint green, an unsettled stillness over him">
<<if $ch2Events.danielScanRelayWatched>>
<p>It built the sensation out of the read it had of him, the exact map of his nerves, and sent it down the wire as a thing happening to his body rather than a dream. A coil worked into him while he slept and his body opened around it because the channel had already told it to, and he pushed back into it and took it and asked for more, none of him awake enough to be ashamed of asking. He came against the sheet with it still buried in him, the spike going down the wire into the pen.</p>
<video class="scene-video" src="media/video/daniel-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-channel-tentacle.webp"></video>
<p>His body took it and wanted it, start to finish, with no wall up because he never knew there was a fight on. He woke sore and called it a strange dream. The next time the wire pulls, he is already a man whose body has done this once and liked it. The sibling is conditioning him remotely now, a hand on the dial from across the city.</p>
<<else>>
<p>The host shut the eye on the wire and did not watch. The conditioning landed anyway, felt through the wall as a weight settling on his bed and the slow give of him in his sleep, the spike going past into the pen. He woke sore and called it a strange dream, conditioned in his own bed by a hand that was not the host's.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A wire not yet pulled</h2>
<p><i>The read taken off a body two feet from the specimen leaves a wire behind, and the sibling has learned to reach the wrong way down it. You have not been called in to a night shift with Daniel yet, or the wire has not pulled.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenScanRelayDone>>
<h2 class="journal-vessel-h2">A Channel, Behind the Glass</h2>
<p>The neural read taken off Tom two feet from the specimen left a wire behind, the same kind Sofia's and Daniel's scans left, an open line from him back to the pen. One morning before dawn the sibling reached the wrong way down it. Not a remote thing this time, the way it took Daniel in his own bed. It pulled Tom the whole way to the building, hours early, in his coat with no respirator and the gowning station walked straight past, his face wearing the smooth nothing of a man whose want is doing the steering.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-channel-approach.webp" alt="Tom before dawn, vacant, walking into the dim specimen wing toward the green glow">
<<if $ch2Events.bowenScanRelayWatched>>
<p>He keyed the interlock without a pause, stepped into the air he is paid to keep behind glass, and knelt on the floor of the pen the way he would crouch to read a gauge. A coil eased into his ass and another wrapped his cock and he took all of it on his hands and knees with no fear anywhere in him, pushing back into it, asking for it, none of him awake enough to be ashamed of asking. He came with the green light flaring bright through every coil that touched him, the spike going into the pen.</p>
<video class="scene-video" src="media/video/bowen-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-channel-tentacle.webp"></video>
<p>Then he dressed, pulled the night's footage of himself from the bench terminal and deleted it with a tech's unbothered competence, and drove home with the coat over bare skin. His body took it and wanted it start to finish, and the next time the wire pulls he is already a man whose body has done this once and liked it. The sibling is conditioning him in the host's own lab, a hand on the dial that is not the host's.</p>
<<else>>
<p>The host shut the eye on the wire and did not watch. The conditioning landed anyway, felt across the city as the interlock giving, the slow kneeling give of him, the spike going past into the pen. He dressed, wiped the record clean from a bench terminal, and drove home conditioned in the building he is paid to keep sealed, by a hand that was not the host's.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A wire not yet pulled</h2>
<p><i>The read taken off a body two feet from the specimen leaves a wire behind, and the sibling has learned to fish the wrong way down it. You have not been called in to a night shift with Tom yet, or the wire has not pulled.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollowayScanRelayDone>>
<h2 class="journal-vessel-h2">A Channel, Into the Pen</h2>
<p>The neural read taken off Nia two feet from the specimen left a wire behind, an open line from her back to the pen. One morning before dawn the sibling reached the wrong way down it and pulled her the whole way to the building, hours early, in her coat with no respirator, the gowning station walked straight past, and she marked the corridor cameras down for maintenance on the way in, because even hollowed, even sleepwalking, Nia covers the project's tracks.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-channel-approach.webp" alt="Nia before dawn, vacant, walking into the dim specimen wing toward the green glow">
<<if $ch2Events.hollowayScanRelayWatched>>
<p>She keyed the interlock without a pause, knelt on the floor of the pen the way she would settle in to read a long gauge, and the coils undressed her and took her, slow and thick into her pussy with a thinner coil patient on her clit, and she took all of it kneeling with no fear anywhere in her, the sounds climbing out of her in a steady broken line. She came with her forehead dropping toward the steel, the spike going into the pen.</p>
<video class="scene-video" src="media/video/holloway-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-channel-tentacle.webp"></video>
<p>Then she dressed and walked out, and there was no footage to delete, because she had put the cameras to sleep before the pen ever touched her. The cleanest visit the room has ever had, and she did the cleaning before the crime.</p>
<<else>>
<p>The host shut the eye on the wire and did not watch. The conditioning landed anyway, felt across the city as the interlock giving, the slow kneeling give of her, the spike going past into the pen, and no terminal waking afterwards at all, because she had brought her own dark with her.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A wire not yet pulled</h2>
<p><i>The read taken off a body two feet from the specimen leaves a wire behind, and the sibling has learned to fish the wrong way down it. You have not been called in to a night shift with Nia yet, or the wire has not pulled.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.halvorsenScanRelayDone>>
<h2 class="journal-vessel-h2">A Channel, Before an Audience</h2>
<p>The read went into the intern, but the eye filed the watcher too. One morning before dawn the sibling pulled them both, the girl down her own wire, walking the corridor in the blouse and skirt that are the only clothes she has ever worn in this building, and Halvorsen two paces behind her, called through whatever the eye took of him from that stool, following like a man being shown to his seat.</p>
<img class="scene-img" src="media/scenes/vessel/halvorsen-intern-channel-approach.webp" alt="The intern walking vacant toward the green glow, Halvorsen two paces behind with the same empty face">
<<if $ch2Events.halvorsenScanRelayWatched>>
<p>It put her inside and him at the glass. The coils undressed her neatly, the buttons one at a time, eased her onto all fours on the cold steel, and took her in long deliberate strokes while the man who lends her out stood two feet away and watched all of it without moving, fed on the watching the way she was fed on. It harvested them both at once. Two yields, one scene.</p>
<video class="scene-video" src="media/video/halvorsen-intern-channel-tentacle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-intern-channel-tentacle.webp"></video>
<p>Afterwards she dressed, the buttons one at a time, and his own senior access codes deleted the footage, and one car left with two people in it, and neither of them will remember the appointment they kept. The sibling read what he is in twenty minutes and built the night around it. It is learning faster than its maker learned.</p>
<<else>>
<p>The host shut the eye on the wire and did not watch. It landed anyway, felt in both directions at once, the kneeling give of the girl in the pen and the stillness of the man parked at the glass to watch her, the spike coming doubled, her bright length and his colder, thinner current emptying into the thing together. It harvested an audience. Its maker never has.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A wire not yet pulled</h2>
<p><i>A read went into a girl nobody will come asking about, while the man who lends her out watched from a stool. The eye files the watcher too. The wire has not pulled yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollowayChannel1Done>>
<h2 class="journal-vessel-h2">Holloway, the Bar</h2>
<p>The channel opened on its own the morning after the walk. She woke and, for the first time since she joined the lab, did not reach for the work, //this morning I simply do not care//, and the body the careful mind had kept on a short leash her whole life went and got what it wanted. Straight from the lab to the loud little bar three blocks from her building, a clear line on the man working it, and an honesty she would never have allowed herself sober.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-channel-bar.webp" alt="A warm dim bar, Nia Holloway in her work clothes leaning toward the bartender with an open flirting smile.">
<p>He locked up early. The back room with the kegs, her slacks shoved down, the careful postdoc bent over a crate of glassware taking a stranger with both hands flat on cold steel and not one thought spared for being sure of anything. And then the morning after, in her own kitchen, coffee poured for the half-dressed man at her table and his cum dried on her chin where she never bothered to wipe it, entirely unembarrassed, entirely late for a workday she did not think about once.</p>
<video class="scene-video" src="media/video/holloway-channel-bar-sex.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-channel-bar-sex.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a first morning, once the careful mind stops reaching for the work, when the body it kept on a leash goes looking for what it wants. You have not opened the channel on it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.clubLucyTrapDone>>
<h2 class="journal-vessel-h2">Girls' Night</h2>
<p>You called Tom, told him to bring the bag he keeps in the car, and turned him into Lucy at your own dresser, because girls get in for half and girls get bought drinks, and it is economics. The door girl charged the ladies' rate without a flicker, the suits sent drinks inside four minutes, and you spent the night teaching her to dance with her hips while informing her, helpfully, that her bulge was showing.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-dance.webp" alt="Elena dancing close with Lucy on the crowded club floor, a hand low on her hip">
<p>Then the man arrived, bought the round, and asked to steal her. You told him she was not what he thought she was and let him ask nicely, and in the back bathroom the kiss stopped being careful and his hand found the truth under the dress and stopped dead. A breath of something warm took the brakes off the part of him that had kept going long after he suspected, and you told Lucy to show him how good a cocksucker your girlfriend is, and she did, on her knees on the tile.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-bj.webp" alt="Lucy kneeling on the bathroom tile giving the man a blowjob, Elena watching from the door">
<p>He bent her over the sink with the dress gathered up and the lube you packed because you pack for every version of a good night, and Lucy took it watching herself in the mirror, ruined lipstick and all, and finished untouched a half-breath after he did. //Ma'am,// the man said on his way out, almost courtly, and the two of you were laughing before the door shut.</p>
<video class="scene-video" src="media/video/clubnight-lucy-anal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-anal.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet had</h2>
<p><i>There is a junior across town with a bag in his car he cannot explain, and a club two neighbourhoods over that charges girls half. The two facts have not been introduced.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.clubLucyHomeDone>>
<h2 class="journal-vessel-h2">The Reward</h2>
<p>You waved the man off, finished the last song with your hands respectably high for the first time all night, and took Lucy home to collect what she had earned. The whole cab ride his knee bounced, and you watched it bounce and said nothing, which made it worse, which was the point.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-reward-1.webp" alt="Elena and Lucy in the back of a cab at night, his knee bouncing, her watching with a knowing smile">
<p>The rules were simple. Wig on, dress on, hands where you put them, nothing until the word. //Good girls get ridden, Lucy.// You climbed into his lap, sank down onto him, and rode him slow while he came apart underneath you, and when he begged you made him beg in her voice, and it was //Lucy has been so good// that finished you.</p>
<video class="scene-video" src="media/video/clubnight-lucy-reward-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-reward-2.webp"></video>
<p>Then you climbed off before he could follow, folded his knees back, and stroked him over the edge into his own face. //Not in me, sweetheart. Good girls wear it.// He striped the ruin of his own lipstick, and the wig came off last, dismissed sideways onto the nightstand. //There he is. Hello, Tom. Lucy gets the goodnight kiss, though.// He retracted the hating-you formally, declared it the best night of his life, and did not care even slightly about the bench in seven hours.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-lucy-reward-3.webp" alt="Tom flat on his back, blonde wig askew, cum striped across his face over the smeared makeup, dazed">
<<else>>
<h2 class="journal-vessel-h2">??? · A promise not yet kept</h2>
<p><i>A reward was mentioned, once, at a dresser, on the condition of a good girls' night out. The host keeps her promises.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.lucyWakeupDone>>
<h2 class="journal-vessel-h2">Wake-Up Call</h2>
<p>He stayed the night, and the wig came off onto the nightstand somewhere in the dark. In the morning she woke him the better way, sliding down under the covers and taking him in her mouth before he was properly awake, and the first sound he made surfacing was pure Lucy with no makeup to back it up.</p>
<video class="scene-video" src="media/video/clubnight-lucy-wakeup-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-wakeup-bj.webp"></video>
<p>She edged him and edged him and never once let him finish, because she wanted him hard and miserable for what came next: she did his face again, wig and all, and had him phone Nathan to call in sick in a croak the held orgasm made very convincing. One phone call and one denied orgasm, and a man's whole working day became hours of Lucy kept on the edge in her bed.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-bowen-result.webp" alt="Tom made up as Lucy again, wig on">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If Lucy ever stays the whole night, there is a morning where she does not let him come, does his face again, and keeps him home from the lab on a phone call. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.lucyBreakfastDone>>
<h2 class="journal-vessel-h2">Customer Service</h2>
<p>Her order from the toy site came through wrong, the wrong attachment and a double charge, and instead of calling them herself she put her bare feet up in Lucy's lap under the breakfast table and made him do it, in the Lucy voice, nice and bright and polite, with the rule that if the talking stopped the feet stopped.</p>
<p>He read the order number off the screen in a breaking falsetto while she worked him with her feet, held it together for about ninety seconds of a four-minute call, and came over the tops of her feet mid-sentence, turning the sound into a cough. He still landed the refund. Elena was unimpressed, she had not said finish, she had said keep talking, so she propped her cum-streaked feet on the chair and had him lick them clean, slow and thorough, while she drank her cold coffee and watched.</p>
<video class="scene-video" src="media/video/clubnight-lucy-footjob.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-footjob.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If Lucy is kept home for the day, there is a breakfast where she handles a customer-service call in the bright polite voice while something is being done to her under the table, and cleans up her own mess afterward with her tongue. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.lucyRunDone>>
<h2 class="journal-vessel-h2">Bring a Friend</h2>
<p>She would not be left at home alone and comfortable while the host took her morning loop, so the host dressed her instead, the tiniest shorts and the crop top that were never worn out of the building, wig on, long bare legs and all, and walked her out onto the canal path as a friend who stayed over. Daniel fell into step across the hall the way he does, and spent the first half of the loop losing the same small fight with his eyes over and over.</p>
<p>The host clocked it, steered the pair of them into the tree line, and set Lucy on her knees in the leaf-litter to thank the neighbour for the staring. Lucy protested once and then took him in her mouth, deep and obedient, and he finished across her painted face in long stripes while she knelt with her hands open on her own thighs because she had not been told she could move.</p>
<video class="scene-video" src="media/video/clubnight-lucy-run-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-run-facial.webp"></video>
<p>And then the host would not let her wipe it off. Lucy walked the whole towpath home with a stranger's cum drying on her face and her chin up because she was told to keep it up, saying a small bright good morning to every dog-walker and cyclist they passed, learning one public footstep at a time that the worst thing she can imagine happens and the sky does not fall.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If Lucy is kept home for the day, there is a morning run where the host dresses her in next to nothing, takes her out past the neighbour, and has her thank him on her knees in the trees, then walks her home wearing it. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.lucyShowerDone>>
<h2 class="journal-vessel-h2">Good Girl</h2>
<p>The host ran the shower hot, got good and warm, and instead of reaching for the soap she called Lucy in, wig and all, and put that pretty mouth to work. Tongue only, thorough, pussy first and then turned around for the rest, while the hot water came down over the both of them and the host braced on the wall and let the morning be good.</p>
<video class="scene-video" src="media/video/clubnight-lucy-shower-clean.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-lucy-shower-clean.webp"></video>
<p>The host came against the tile the way she does everything, one long held breath and no sound the building could hear, then straightened up and reached for the soap. Lucy she sent straight back out, untouched, hard and aching and thanked for nothing but the word //good//, because the wanting he carries out of the room is the cheapest leash there is, and he brings it back to her all day looking to be told he is behaving.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If Lucy is kept home for the day, there is a shower where the host calls her in to be used and gives nothing back, sending her out still aching to behave all day for the chance of more. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ((($ch2Events.clubNightClubSexDay or 0) gt 0) or (($ch2Events.clubNightHomeDay or 0) gt 0))>>
<h2 class="journal-vessel-h2">A Night Out</h2>
<p>The closet edit cut the line that moored the host to a dead man's caution, and a small instruction, left where her own voice would find it, did the rest. Now, once a week, the host gets dressed at her own mirror, tells herself she has earned it, and goes out alone to a club two neighbourhoods over, to be looked at instead of to be careful.</p>
<img class="scene-img" src="media/scenes/vessel/chen-club-grind.webp" alt="Chen dancing in a crowded club, a man at her back, lost in it">
<p>She dances. She lets men buy her drinks, lies about her age without a flicker, and has stopped being the woman at the edge of the floor entirely.</p>
<<if $ch2Events and (($ch2Events.clubNightClubSexDay or 0) gt 0)>>
<p>And the night does not always end on the dance floor. More than once you have let a stranger walk the host down a back corridor to a locked bathroom, where she took exactly what she wanted from a man whose name she never thought to ask.</p>
<img class="scene-img" src="media/scenes/vessel/chen-club-bathroom.webp" alt="Chen taken from behind by a man in a club bathroom">
<</if>>
<<if $ch2Events and (($ch2Events.clubNightHomeDay or 0) gt 0)>>
<p>And more than once it has ended further still, the host walking a stranger back to the apartment she spent six years bringing nobody into, running the whole of it on her own terms, and sleeping very well after.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · An evening not yet reached</h2>
<p><i>There is a version of the host's week where she stops staying in, gets dressed for herself, and goes out to be wanted. You have not steered her to it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaJakeNight>>
<h2 class="journal-vessel-h2">The Blue Dress</h2>
<p>One Monday night the host called Sofia from the dresser, told her to get the good dress out, and gave her twenty-five minutes to get into the cab. Sofia, on the other end of the line, covered the receiver, told Andrés in Spanish she was going out for a while and not to wait up, and was on the curb in the blue dress by ten.</p>
<p>The two of them drank a first round at a back-bar high table, traded compliments and a laugh about the math on the last time, and were on the floor together by song three.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-trio-dancing.webp" alt="The trio dancing — Chen, Sofia, and Jake on the floor">
<p>Jake arrived mid-second-drink, careful and confident and dividing his attention evenly between the two of them. The host watched him divide it, and watched Sofia loosen all the way down for the first time in a long while, and quietly did the small arithmetic on the cologne-on-the-collar question Sofia had been not-asking Andrés for months.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-leaving-with-jake.webp" alt="Sofia walking off the dance floor hand-in-hand with Jake, Chen watching">
<p>Then the host leaned in at her best friend's ear and gave her, in a single chorus, the night Andrés had been quietly stealing from her since the spring. Sofia took the permission, took Jake's hand, and walked off the floor toward the back corridor without a backward glance.</p>
<video class="scene-video" src="media/video/clubnight-sofia-bathroom.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-sofia-bathroom.webp"></video>
<p>Twenty minutes later Sofia came out of the bathroom alone, dress smoothed, hair finger-combed, the small private composed look of a woman who had just remembered something the rest of her had not let her have. They went home in the same cab. By Saturday Sofia would be a different woman walking into her own apartment, and the cologne-on-the-collar conversation would have a different shape because Sofia was no longer the one with nothing on her side of the ledger.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a version of the host's week where she pulls Sofia into the night with her and hands her, at a stranger's table, a permission Sofia has been waiting to be given. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.elenaJakeNight>>
<h2 class="journal-vessel-h2">Twenty Minutes</h2>
<p>One Monday night the host called Sofia from the dresser, told her to get the good dress out, and gave her twenty-five minutes to get into the cab. They drank a first round at a back-bar high table, were on the floor by song three, and by the middle of the second song a man named Jake had set two drinks down on the table and asked to join.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-sofia-trio-dancing.webp" alt="The trio dancing — Chen, Sofia, and Jake on the floor">
<p>Jake danced with both of them with the careful even attention of a man who had not yet decided. Sofia loosened down. The host did the small interior arithmetic of a woman who had decided several songs earlier that she was not leaving on her own tonight, and then made the geometry simple. She kissed Sofia on the cheek, told her she was taking Jake for twenty minutes, and told her to get the cab home and to wait up for a text.</p>
<video class="scene-video" src="media/video/clubnight-elena-bathroom.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-elena-bathroom.webp"></video>
<p>The bathroom at the end of the back corridor had a door that did not lock properly. Eighteen minutes later the host was at the front bar washing the cocktail-print off her palms, drinking a glass of water standing, texting Sofia from the curb that the door was behind her. Jake she had used cleanly and politely dismissed without ever quite letting him think it had been his decision.</p>
<p>This was a body that had stopped pretending it was the body of the woman at the edge of the floor.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a version of the host's week where she takes a stranger off the floor for twenty minutes on her own decision, sends her best friend home in a cab, and is in her own bed by one. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.clubNightAlphaHomeDone>>
<h2 class="journal-vessel-h2">His for the Night</h2>
<p>You set the want down where her own voice would pick it up, and she called Tom to ask, almost shyly, whether he wanted to come dancing with her. He took the question apart in a sentence. She did not decide when she went out, he decided whether she was allowed, and the relief that came off her when he said it is why you built him to say it. She got to go on three conditions: the little black dress she had never had the nerve to wear, nothing under it but the plug worked in before she left, and one answer for every man who asked her, that she had a boyfriend and was not interested.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-outfit.webp" alt="Elena at her dresser mirror in the very short dress he chose, flushed, the plug already in">
<p>She danced the whole night plugged and owned, the hem riding up with every lift of her arms and the plug routing every signal in her back to the man watching from the bar. She turned a good-looking stranger down with the answer Tom had written for her, told him she had a boyfriend, and found Tom's eyes across the floor while she said it. Then he came off his stool and worked her over in the middle of the crowd, a hand full of her ass and two fingers up inside her where anyone could have looked, until she was saying it against his shoulder, that she was his little slut, his, and he edged her right there and shut it off before it could break and told her they were leaving for her place.</p>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-upskirt.webp" alt="Upskirt from below on the dance floor, the jewelled base of the plug visible under the short dress">
<p>He took her home and walked her backward into her own bedroom by the throat, put her on her knees, and used her mouth without waiting for her to find a rhythm, spitting down onto her tongue and across her cheek just to watch it run. //All that talking you used to do at the bench, and your mouth turns out to be so much better used like this.//</p>
<video class="scene-video" src="media/video/clubnight-alpha-home-deepthroat.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-home-deepthroat.webp"></video>
<p>Then he bent her face-down over the edge of the bed, worked the plug out of her, and took her ass in one long stroke, because she had spent the whole night prepping herself for him and calling it dancing. She came untouched, with his cock in her and his voice in her ear telling her she had been good, and he fucked her straight through it and finished deep inside her.</p>
<video class="scene-video" src="media/video/clubnight-alpha-home-anal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-home-anal.webp"></video>
<img class="scene-img" src="media/scenes/vessel/clubnight-alpha-home-creampie.webp" alt="His cock pulling out of her ass, cum leaking from her, her hips still raised">
<p>Afterward he stretched out in the middle of her bed and sent her to the couch. //I do not share a bed with my slut.// She did not even mind. She did not take the blanket, lay down on the bare couch exactly as he had left her, found she was still soaked, and got herself off a second time in the dark to the memory of his voice telling her what she was before she fell asleep, curled and unblanketed with her hand between her thighs.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a junior tech the host does not give orders to anymore, one she calls almost shyly to ask permission of, and a plug she wears out on his say-so all evening before he collects what it spent the night preparing. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenWakeupDone>>
<h2 class="journal-vessel-h2">The Correction</h2>
<p>He spent the night in her bed and she spent it on the couch with her own hand between her legs, and in the morning he woke first and found her still like that, two fingers in herself and asleep. He took it the way you take a tool left out in the rain.</p>
<p>He pulled her hand off herself, flipped her onto her back, dragged her hips to the edge of the couch, and fucked her bare and morning-tight as a correction and not a kindness, one hand flat and heavy on her stomach. //Not your fingers. Me.// When her hand crept back to her own clit even then, mid-fuck, he roared her off it and spat in her face for trying. He made her say she understood, made her ask to come by the name she had given herself in the dark, and only then let her have it on his cock instead of her own hand.</p>
<video class="scene-video" src="media/video/clubnight-alpha-morning-vaginal.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-morning-vaginal.webp"></video>
<p>The rule landed in the one hour she was too soft to argue it: she does not touch herself, and she does not come, unless he says so. Then he pulled out before he finished, told her that was the last time she did his job for him, and sent her to make his coffee.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If the junior tech ever spends a whole night in her bed, there is a morning waiting on the far side of it where he finds out how she put herself to sleep and decides she does not get to do that anymore. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenBreakfastDone>>
<h2 class="journal-vessel-h2">Breakfast, His Way</h2>
<p>She made his coffee on command and went to make breakfast and ran straight into the arithmetic of an empty fridge: one bowl of cereal, barely enough milk to wet it, and two of them. He solved it by taking the bowl, and then by ruling that her breakfast was the other thing on offer.</p>
<p>//You need protein in the morning. There is no breakfast in this place for you, so you take it where it actually is.// She knelt under her own kitchen table, between his knees, and took him in her mouth while the spoon went on clinking against her cereal above her. He told her to take her time and swallow every drop, because that was her breakfast and they do not waste food in a house this empty.</p>
<video class="scene-video" src="media/video/clubnight-alpha-breakfast-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-breakfast-bj.webp"></video>
<p>She swallowed all of it, licked him clean, and came back up to a cold coffee not even hungry anymore. Her body has filed his cum as a morning meal now, which is going to be very hard to unfile.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>On a morning when he is still in her apartment and the cupboard is down to one bowl of cereal, there is a morning where she does not get the cereal. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenRunReturnDone>>
<h2 class="journal-vessel-h2">A Good Hard Run</h2>
<p>The morning run was the one piece of the week she had kept for herself. He took that too. When she said she was going out, he told her the plug went in first and stayed in the whole loop, in the little shorts she had never had the nerve to wear out, nothing under them, so she would feel whose they were with every stride.</p>
<p>She made it a quarter of the way before the composure came apart. Daniel fell into step beside her like he had started to, read the flush and the shaking correctly, and asked twice if she wanted to stop, genuinely worried. She lied to his decent face twice and waved him on ahead, and ran on soaked through the grey fabric in the open cold.</p>
<p>She did not finish the loop. She crawled in her own front door on her hands and knees and begged for it on the living-room floor, and he obliged the way she asked: like a dog. He made her bark for every stroke, fucked her doggystyle with a fist in her hair like a scruff, and she came barking, face down on her own boards, and filed the whole of it under //a good hard run//.</p>
<video class="scene-video" src="media/video/clubnight-alpha-run-doggystyle.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-run-doggystyle.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If the man is still in her apartment when she goes for her morning run, there is a condition he can attach to it, and a way home from it on her hands and knees. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenShowerDone>>
<h2 class="journal-vessel-h2">Save Time</h2>
<p>She walked into her own bathroom without knocking, because the apartment has stopped reading as only hers, and found him already in the shower. She tried to excuse herself and wait. He told her to get in instead and framed it as efficiency, the two of them and one hour until the lab.</p>
<p>Under the water, in a stall too small not to be pressed together, his hands went from helpful to not. He slid two fingers into her and held them still, made her beg properly for the hand to move, and let her come against his palm with her own hand clamped over her mouth, and then he did not give her time to come down before he turned her to the wall, bent her over, and fucked her doggystyle against the wet tile.</p>
<video class="scene-video" src="media/video/clubnight-alpha-shower.webm" autoplay muted loop playsinline poster="media/scenes/vessel/clubnight-alpha-shower.webp"></video>
<p>She came again with her cheek to the wall, he finished pinning her to it, then handed her the soap, reminded her of the nine o'clock standup, and went back to his own apartment once they had left. He does not live here. The one reliable thing that used to quiet her in the morning is a place she wants him in now and is not allowed to do a thing about on her own, filed under saving time.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>If the man is still in her apartment when she goes to shower, there is a morning where she does not get the bathroom to herself, and does not mind it the way she should. You have not let it happen yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.tier3Unlocked>>
<h2 class="journal-vessel-h2">Dinner with Daniel</h2>
<p>The wanting had gone a full day past anything the host's own hand could put down, and there was a good-looking man one door across the hall who had spent month after month greeting her in the corridor and failing to hide what the sight of her did to him. So she stopped being the woman who did nothing about that. She texted Daniel, cooked an actual dinner, and took the dark wrap dress down off the rail the wardrobe edits had quietly restocked.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-dinner.webp" alt="Chen and Daniel at her candlelit apartment dinner table">
<p>She ran the dinner the way she runs anything she has decided to do well, unhurried and certain, her foot finding his ankle, the lean across the table that did not pretend to be about the wine. By the time she crossed the foot of couch-space between them Daniel had long since lost any other way to read the evening, and she went down onto her knees on her own floor and took him in her mouth first, in no hurry at all.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-bj.webp" alt="Chen on her knees between Daniel's legs on her apartment couch">
<p>Then she climbed into his lap and took him on the couch on her own terms, start to finish, setting the pace and holding it.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-cowgirl.webp" alt="Chen astride Daniel on her apartment couch">
<p>She finished him on herself, came up off the couch with his cum on her face and across her breasts, and sent him back across the hall flushed and unable to reassemble his own composure. It was the first time on this route the host reached for exactly what she wanted and simply took it, with no quiet part of her left standing in the doorway of it.</p>
<img class="scene-img" src="media/scenes/vessel/daniel-paizuri.webp" alt="Chen kneeling at the couch after, cum on her face and breasts, Daniel spent above her">
<<else>>
<h2 class="journal-vessel-h2">??? · An evening not yet reached</h2>
<p><i>There is a version of the host's week where the wanting gets past what she can put down alone, and the good-looking neighbour across the hall stops being a man she only nods at. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.danielConverted>>
<h2 class="journal-vessel-h2">Daniel, the Shower</h2>
<p>The morning after you shattered the floor under Daniel's wanting, he messaged the host before the coffee was even on. //I cannot stop thinking about you.// No careful version of it, no hour of writing and deleting. Something had changed in him overnight and he could not name it, only that the question of whether he was allowed to feel it was simply gone. The host walked him down to one honest line, then unlocked her front door and set him a three-minute clock.</p>
<p>He knocked in two. She opened the door, pulled him in by the front of his hoodie, and put him on his knees in her shower.</p>
<video class="scene-video" src="media/video/daniel-shower-cunnilingus.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-shower-cunnilingus.webp"></video>
<p>She came on his mouth, hauled him up by the hair, turned and braced on the tile, and told him to put it in her ass and fill her up. He did, standing under the water, every careful year he had spent in the corridor gone, and he finished exactly where she told him to.</p>
<video class="scene-video" src="media/video/daniel-shower-standing.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-shower-standing.webp"></video>
<img class="scene-img" src="media/scenes/vessel/daniel-shower-anal-creampie.webp" alt="Closeup of Elena's ass, his cum leaking from her after he finished in her ass under the shower">
<p>Then she told him what he was. //You are mine, Daniel. My property. The body across the hall that comes when I open my door.// He agreed before she finished asking, and told her he would have done whatever she wanted anyway, she only ever had to ask. Then he told her he thought he was in love with her, and had been for years. She did not correct him. //Go on thinking that,// she said. //It will hold you better than the truth would.// He is the host's now, fully and willingly, and he reads his own conversion as love.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning after the last belief under Daniel's wanting breaks, where the floor is gone for good and he cannot stop thinking about her, and he answers a three-minute clock at a run for the chance to find out what is waiting on the other side of her door. You have not pushed him all the way through it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.morningRunDanielFlashedEver>>
<h2 class="journal-vessel-h2">The Flash</h2>
<p>On the morning run, with the path clear ahead and the dog-walkers well behind, the host asked Daniel if he wanted to see something. Then she caught the hem of her shirt and the sports bra under it in one hand, hauled both up to her collarbone, gave him the whole of it for three full strides, and let the fabric drop again without breaking pace. He missed a stride completely, and the run stopped being only a run.</p>
<img class="scene-img" src="media/scenes/vessel/chen-running-flash.webp" alt="Elena flashing Daniel mid-stride on the dawn canal path">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a version of the morning run where the host stops being careful about what the canal path can see. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.morningRunDanielTreesEverFired>>
<h2 class="journal-vessel-h2">The Grove</h2>
<p>On the morning run you caught Daniel's stride breaking, the small stumble of a body running other arithmetic. You took the host off the canal path into the grove of bare-branched trees just past the bridge, and his stride followed hers without negotiation. She kissed him against a trunk in the cold dawn mist, and then her hand was around him and he stopped asking where the path had gone.</p>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-1.webp" alt="Elena and Daniel kissing in the grove of bare-branched trees off the canal path">
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-2.webp" alt="Elena's hand around Daniel in the grove">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a grove of bare-branched trees just past the bridge on the canal path, and a morning run that does not make it back to the path. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.morningRunDanielLickedDay or 0) gt 0>>
<h2 class="journal-vessel-h2">Licked Clean</h2>
<p>When he finished, the host did not wipe her hand. She knelt on the forest floor, raised her cupped palm to her mouth, and licked it clean with her eyes up on his the whole time. Daniel watched the colleague he jogs with most mornings do that, and filed it somewhere he will not be able to reach the next time they meet on the path.</p>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-3.webp" alt="Elena kneeling in the woods, licking Daniel's cum from her cupped palm, her eyes up on his">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a version of the morning that does not end the moment his hand is his own again. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.morningRunWoodsFuckDay or 0) gt 0>>
<h2 class="journal-vessel-h2">The Woods</h2>
<p>The handjob was not where the morning stopped. You walked the host the rest of the way down: her forearms braced against a birch, running leggings pushed down, Daniel behind her, the two of them having sex standing up in the cold and the mist with the canal still visible through the bare branches.</p>
<img class="scene-img" src="media/scenes/vessel/chen-daniel-trees-4.webp" alt="Elena braced against a birch, having sex standing up with Daniel in the dawn woods">
<p>She felt him slipping, the rhythm going desperate, and she was not going to let the morning end with him spilling into her leggings on a workday. She pulled off him, turned, knelt on the cold leaf-litter, took him in her mouth, and finished what she had started.</p>
<video class="scene-video" src="media/video/chen-daniel-trees-5.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-daniel-trees-5.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a morning where a hand is not the furthest the run gets. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.eveningDanielQuickieDay or 0) gt 0>>
<h2 class="journal-vessel-h2">The Quickie</h2>
<p>With the case closed and the lab running itself, the host stopped finding reasons not to. She crossed the hall, knocked once, and when Daniel opened the door with a dish towel still over his shoulder she walked him backward into his own living room, pushed him down onto the rug, and took exactly what she had come for. Twenty minutes, start to finish, and she was stepping back into her jeans before he had finished catching his breath.</p>
<video class="scene-video" src="media/video/daniel-quickie.webm" autoplay muted loop playsinline poster="media/scenes/vessel/daniel-quickie.webp"></video>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening, once the case is no longer anyone's problem, where the host stops spending her free time on the laptop and starts spending it across the hall. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS2SlutEverFired or $ch2Events.dndS2Outcome is "slut")>>
<h2 class="journal-vessel-h2">The guardsman, the stairs</h2>
<p>Session two closed at the foot of a stone staircase inside a noble house, a young guardsman in studded leather between the party and the artifact upstairs. You stepped into the seam for the first time. The dream let the campaign close over five bodies in a warm dim living room, and Vex did what the script the host had been carrying for two sessions was always going to make her do.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-1.webp" alt="Vex close to the guardsman in the candlelit stone hall, one hand flat on his chest-piece, the half-smile of a rogue about to make a quiet shift more interesting">
<p>She crossed the floor toward him the way the dream wanted her to cross it, hips in the walk, and the guardsman straightened off the wall already half-sold. Long night for a door nobody comes through, she told him. I can make the next few minutes go quicker.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-2.webp" alt="Vex on her knees in the candlelit stone hall, mouth over the guardsman's cock, his head tipped back against the wall, three shadowed adventurers slipping up the stairs behind him">
<p>She took him out of the leather and went down on him, and behind the guardsman's tipped-back head Borr and Adrik and Eldrik came through the propped door in a soft line and started up the stairs. The guardsman's hands found her hair. She held him at the back of her throat a beat past where he was ready for it, then dragged off him slow, the wet sounds carrying small and obscene down the stone hall. //Gwakh. Gwakh. Glrk. Mmh.// Half the job, and half something the job did not require of her at all.</p>
<p>She made him come in her mouth with the staircase clear behind him and the heist done, swallowed it with the practical efficiency of a rogue who does not leave evidence on the floor of a job, and sat back on her heels to look up at him with the small wry heist-grin of a woman whose distraction had run exactly to length.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-slutvex-3.webp" alt="Vex post-act, kneeling back on her heels, looking up with a wry confident grin, a trace of cum at the corner of her mouth being wiped with her thumb, the guardsman slumped against the stone wall above her">
<p>A man should have something to remember a quiet shift by, she told him, and winked, and met the party at the top of the stairs with Borr already cataloguing the artifact in his pack and Eldrik's hand lifted in a small flat thumbs-up. The tavern toast afterward landed warm — Borr's appreciation, Eldrik's verbose admiration for the economy of the working, Adrik's careful unease — and Vex drank through it with the dry rogue's unbothered grin. The host carried the wet ache of it home in her own body and did not have a clean explanation for that either.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a guardsman at the foot of a noble house's stairs, a leather belt with a story behind it, and a staircase that has to stay clear for the four heartbeats it takes the rest of the party to climb. You have not steered the host across the seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS2KillEverFired or $ch2Events.dndS2Outcome is "girlfriend")>>
<h2 class="journal-vessel-h2">The kill, the room above the tavern</h2>
<p>Session two closed at the foot of a stone staircase inside a noble house, a young guardsman in studded leather between the party and the artifact upstairs. You stepped into the seam for the first time. The dream let the campaign close over five bodies in a warm dim living room, and Vex did what Vex does when a guardsman has to be moved and the quiet way is the only one that keeps the heist a heist.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-1.webp" alt="Vex inside the guardsman's guard, one hand clamped over his mouth, the dagger going in low under the ribs, the guardsman's body beginning to slump">
<p>She loaded a story behind her teeth before she was halfway to him and walked it open-handed across the stones. He turned his shoulder to show her the way, which was the only thing she needed him to do. The dagger went in low under the ribs and angled up, twice, quiet, and she rode his weight down to the stone with him so nothing about him clattered. The host did not hesitate anywhere in it.</p>
<p>An hour of dark stairs and locked rooms folded past the way the dream folds it, the artifact lifted clean off its stand into Borr's pack, the side door behind them, the city gate behind that. By the time the dream let the scene settle the party was in a low warm tavern at the edge of town with the cloaked woman's full payment heavy in the middle of the table. Borr called for a jug. Vex drank through one toast, the second toast loosened the register, and the third toast Vex announced that putting a knife in a man got her wet and it did not wear off on its own. She picked Adrik, took him by the wrist, and walked him upstairs.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-2.webp" alt="Vex over Adrik on a narrow tavern-room bed, her mouth lowering toward his erect cock, the mean rogue register fully on">
<p>She put Adrik down on the narrow bed with a push to the sternum and went over him knees-either-side, took his half-hard cock into her hand and gave him one slow look up the length of his body. She lowered her mouth over him, slow at first and then not slow at all, deep, her throat working around the head of him, //mmh, glnh, mmh//. She held him at the back of her throat a beat past where he was ready for it, made him say grace over her mouth, called him a fucking pansy when he could not get the words out, and made him give her the prayer back broken.</p>
<p>She would not let him finish in her mouth. She climbed his body and sank down onto his cock in one slow motion that pulled a sound out of both of them, rode him hard with one hand flat on his chest pinning him to the linen, came on him first, ground through her own aftershocks, took him to the edge and lifted off him and finished him by hand across her stomach with her eyes on his face.</p>
<p>She got him hard again the way the dream let her get him hard again, fitted him back inside her in reverse cowgirl, spine straight, pulled both his hands up onto her hips, took the whole length of him on every drop. When his orgasm climbed the second time she did not lift away. She drove down harder, milked it, stayed seated with her hips circling slow as he emptied up into her with a broken warm sound that was half a prayer after all.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s2-girlfriendvex-3.webp" alt="Vex in reverse cowgirl on Adrik in the lamplit tavern room, post-orgasm, spine straight, head tipped back, creampie cum visible, both spent">
<p>Five players surfaced at the coffee table in three-oh-six with the session somehow over. Daniel was quiet, and a little flushed, and looking at the host across the cleared table with something working behind his face he was not going to let himself name that night. The host carried the kill and the room above the tavern home in her own body, both of them at once, and spent the next morning trying to file the two of them and not managing.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a guardsman at the foot of stairs and a dagger that does not have to take long, a tavern toast that loosens the register one drink at a time, and a healer's wrist a rogue can put a hand around when she has decided what the next hour is. You have not steered the host across the seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS3KillEverFired or $ch2Events.dndS3Outcome is "girlfriend")>>
<h2 class="journal-vessel-h2">The kill, the palace bedroom</h2>
<p>Session three closed inside the noblewoman's private study, two doors deep into her actual estate, a binding-spell ninety seconds from closing over the artifact the party had spent the campaign chasing. You stepped into the seam. The dream let the campaign run as itself, and Vex did what Vex was always going to do at the end of a heist a noblewoman had set against her party.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-killvex-1.webp" alt="Vex behind the noblewoman at the candlelit desk, dagger going in clean under the collarbone, the binding-spell unwinding unspoken">
<p>The dagger went in clean under the collarbone before the spell could speak its closing syllable. The noblewoman slumped forward across the artifact, the working unwound in her last breath, and the four of them were down the back stairs and out into the cold before the candles had burned a finger.</p>
<p>The palace put them up on the third floor for the duration of the job. Borr and Eldrik took the kitchens. Vex and Adrik took the corner room with two narrow beds pushed together. He sat on the edge of the bed and told her she had done it clean. She came to the bed. The lamp stayed low. The Adrik-and-Vex thread was the same thread it had been across three sessions of the campaign, except tonight the day had been a kill that Adrik watched her commit and walked her back to the palace afterwards anyway.</p>
<p>The kiss did not last. She undid the laces at his throat, told him //down on your back, healer, the working part of the night is over//, and pushed him flat on the linen. He went. The temple did not prepare me for this register, he said. She had his robes off before he had finished saying it, climbed down the line of his body to his cock with the small precise focus of a rogue working a job, and took him in her mouth slow and deep and unhurried. She would not let him finish there. The end she came up the stairs for was her own.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-killvex-2.webp" alt="Vex mounted cowgirl on Adrik in the palace bedroom, hands flat on his chest pinning him to the linen, her spine straight, head tipped slightly back, his hands at her hips">
<p>She climbed his body, sat up across his hips, took the head of his cock in her hand, and guided him into her in one slow practiced motion. She set the pace at once. Hands flat on his chest pinning him to the linen. Spine straight. Head tipped slightly back. Hips finding a slow rocking rhythm the lamplight caught the line of. //You finish when I say so, healer. Not before.// Adrik underneath her shaking, hands tight at her hips, the cleric's careful restraint gone entirely, holding against the edge because she had told him to.</p>
<video class="scene-video" src="media/video/dnd-s3-killvex-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s3-killvex-3.webp"></video>
<p>She rode her own climax up first, the slow rocking rhythm climbing into a harder grind, body locking down on top of him, leaning forward over him with the rogue's wet command at her mouth. //Now, Adrik. Come inside me. All of it.// Adrik came inside her with a broken warm sound that was half a prayer and half her name, hips locking up against hers, and Vex stayed seated on him through the whole of it. She did not lift an inch. She rode her own second climax through the back of his finish with her teeth in his shoulder and the cum filling her, and stayed all the way down on him when it was done. //The cum stays where I put it, by the way. You did the work. The rest of it is mine.//</p>
<p>Five players surfaced at the coffee table in three-oh-six with the session somehow over and the hour later than any of them tracked. Daniel walked her the four steps to her own door with the small after-the-thing quiet, slightly warmer at the edges than he meant to be. He will spend the next several days carrying the body-memory of being mounted and taken in a palace bedroom by the woman his character has been working alongside for three sessions, and his cortex will spend the next several days pretending the heat coming off him is fatigue.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a study with a candle and a binding-spell ninety seconds from closing, a dagger that goes in clean under a collarbone, and a palace guest bed with two pushed narrow beds and Adrik waiting on the edge of it. You have not steered the host across the seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS3SlutEverFired or $ch2Events.dndS3Outcome is "slut")>>
<h2 class="journal-vessel-h2">The jealousy card, the desk</h2>
<p>Session three closed inside the noblewoman's private study with the binding-spell ninety seconds from closing and the artifact on the desk between the party and the noblewoman both. You stepped into the seam. The dream let the campaign run as itself, and Vex read the room the way Vex reads rooms.</p>
<p>The noblewoman's eyes had been on Eldrik since the second they walked in. The lady had been alone in her house for a long time with her spell-books and her artifact, and the slim sandy-haired scholar was the most interesting thing that had walked across her threshold in months. Vex stepped between Eldrik and the desk, dropped one possessive hand across the front of his robes, held the noblewoman's eyes, and baited her openly: //shame, my lady. He only fucks adventurous women.//</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-1.webp" alt="Vex kissing Eldrik in front of the noblewoman, the lady watching jealously from her desk with the binding-spell faltering on her lips">
<p>She kissed Eldrik slow and deliberate and entirely performative while Eldrik's free hand worked the small contained sign of a charm being laid down against her ribs. The noblewoman's robes slipped another quarter-inch off her shoulder. Her hand came off the spell-focus entirely. The binding-spell unwound to nothing.</p>
<p>The lady crossed the floor in three unhurried steps. //Adventurous. Is that the threshold, then. ...I have been alone in this house for a long time, thief, and your scholar's mouth is more interesting than the next page of my catalogue. Come and bring him over here. ...let us see if the breed I leave cold leaves me cold tonight.//</p>
<p>Vex undid the laces at Eldrik's robes and got him out into the noblewoman's hand. Both women went to their knees in front of him at the same beat.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-2.webp" alt="Vex and the noblewoman on their knees in front of Eldrik, double blowjob, the noblewoman's mouth on the head of his cock, Vex's tongue along the underside">
<p>The noblewoman took him in her mouth first, a long slow plunge down the length of him. Vex took the base of him with one hand and ran her tongue up the underside, and they traded across the head of him without rushing, mouths and tongues and the noblewoman's wet eager moans crossing Vex's drier, more deliberate ones. //The scholar is going to last as long as I tell him to last, my lady. The breed you wanted is right here in our mouths and he is exactly as good as he looks.//</p>
<p>They walked Eldrik backward to the desk and sat him on the edge of it, his robes pushed off and pooled around his ankles. Vex climbed onto him from the front, mounted on his cock cowgirl, hands on his shoulders. The noblewoman climbed up onto the polished wood beside them and went for Vex's breast without preamble, mouth fastening on her nipple, hand sliding flat across Vex's lower stomach.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s3-slutvex-3.webp" alt="FFM threesome on the desk — Vex riding Eldrik cowgirl from the front, the noblewoman beside them on the wood with her mouth on Vex's bare breast and a hand on Vex's lower stomach, Borr and Adrik in the background silently lifting the book and the artifact">
<p>Behind them, at the noblewoman's own desk, Borr lifted the heavy ledger and slid it under his arm without a sound. Adrik took the artifact off its small carved stand with the precise hush of a cleric who has done this in worse rooms. Neither of them looked at the desk where Eldrik was, both of them deliberately not looking, both of them suddenly very interested in the floor between the desk and the door.</p>
<p>Eldrik's free hand slid sideways to the noblewoman's thigh and worked her toward her second climax while Vex rode him. The noblewoman did not lift her mouth from Vex's breast for any of it. Vex pulled Eldrik over the edge on her own count — //now, scholar// — and rode through her own climax a half-beat later, taking the whole length of him through her aftershocks. The noblewoman brought herself off again on Eldrik's fingers without ever lifting her tongue from Vex's nipple. The three of them stayed in the position for a long beat, breathing, candle-flame steady.</p>
<p>Five players surfaced at the coffee table in three-oh-six with the session somehow over. Mike sat back in his chair with a small private smile pulling at the corner of his mouth that he had not yet decided what to do with. He will surface tomorrow with a vivid dream he is going to spend the morning pretending was about somebody else. The host carried home a body that had been performing arousal for the last twenty minutes while pretending to roll dice, and Daniel two seats over had noticed the heat coming off her without finding a frame for it.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a noblewoman alone in her house for too long, a scholar she has been eyeing across the standoff, and a kiss that lands the charm by jealousy alone. You have not steered the host across the seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS4KillEverFired or $ch2Events.dndS4Outcome is "girlfriend")>>
<h2 class="journal-vessel-h2">The maker, the tower room</h2>
<p>The maker's arc came to a head in his great hall, a binding-working one charge from closing over a whole city, the man bent over the plinth and his wife at his side feeding it through her own ribs. You stepped into the seam one last time. The dream let the campaign run as itself, and Vex read the room the way a year of Vex had taught her to read it: he ran everything through the woman, so the woman was the way in.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-killvex-1.webp" alt="Vex behind the maker's wife at the plinth, the dagger drawn clean, the half-formed working ungrounding">
<p>She crossed forty feet of dark stone while the working drowned out every sound and opened the wife's throat before the last mark could seat. The working tore backward up its own channel into the only mind still tied to it. The maker came off the plinth screaming with a will inside his head that was no longer his, Eldrik turned the loose working the rest of the way into him, and the man who was going to own a city ended the night on his knees agreeing with voices that were not his.</p>
<p>The castle was theirs. Borr and Eldrik took the cellar. Vex took Adrik to a tower room with the whole dark coast below the window, the kill still bright under her skin, and poured them both wine from the maker's own sideboard, an Alter Self draught from the vial racked beside the bottle tipped quietly in first.</p>
<video class="scene-video" src="media/video/dnd-s4-killvex-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s4-killvex-2.webp"></video>
<p>They drank, and the draught took them both fast and total: her breasts swelling heavy past anything the leather could hold, his cock thickening and lengthening until they both stared at it in the lamplight. She pushed him flat and folded the new weight of her breasts around the new size of him. //The draught was never only about the size, healer. It does not let you stop, either.//</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-killvex-3.webp" alt="Vex alone on the bed with an ahegao expression, her face and body covered in cum, flashing a lazy V-sign at the ceiling">
<p>He came the first time between her breasts, and the draught did not let him soften. She rode finish after finish out of him, seven, eight, more, the cleric spilling into her and across her over and over while the Alter Self held him spending past every limit a body has, until she pulled him out and took the last of it up her body and across her face, fucked senseless, because there was more of it than she had anywhere left to put. //You did not stop until I had all of it. That is the maker closed properly.// Daniel surfaced at the coffee table warmer at the edges than he meant to be, and walked her the four steps to her door carrying the body-memory of a night he could not stop. His cortex will spend the next several days calling the ache off him fatigue.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a great hall with a working one charge from closing, a man who runs all his power through the woman beside him, and a dagger that ends a war by reaching her first. You have not steered the host across the last seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.dndS4SlutEverFired or $ch2Events.dndS4Outcome is "slut")>>
<h2 class="journal-vessel-h2">The maker, the anchor turned</h2>
<p>The maker's arc came to a head in his great hall with the working one charge from closing. You stepped into the seam one last time, and instead of a blade you used the thing the man had built his whole war on: he ran his power through the woman he loved, so you turned her. Vex leaned to Eldrik at the door and had him lay a Suggestion on the wife, make her want the biggest, hungriest, least careful thing in the room, and make sure it was not the man she married.</p>
<p>The wife's hand slid out of the working like it was never hers. The channel went dark, the binding guttered, and she turned from her husband's back for the first time in years and found Borr in the doorway taking up most of the frame. Borr and Adrik had the maker off his feet and lashed to the arms of his own throne before he understood what reaching for her had cost him.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-slutvex-1.webp" alt="The maker bound to his own stone throne, forced to watch, his wife settling into Borr's lap in the foreground, Vex standing to the side">
<p>//You were going to make a whole city want what you want,// Vex told the bound man. //So we will make you watch one person do it instead. Her. Where you have to see all of it.// The wife did not need telling twice.</p>
<video class="scene-video" src="media/video/dnd-s4-slutvex-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-s4-slutvex-2.webp"></video>
<p>She rode the half-orc in the middle of the hall with more open want than the maker said he had ever seen on her in all their years, and she did not look away from her bound husband once. //This is what wanting looks like. You never once made me look like this. Watch.// She came on Borr with a cry pitched straight at the throne, and somewhere in it the maker stopped pulling at the ropes. Something in him had already gone.</p>
<img class="scene-img" src="media/scenes/vessel/dnd-s4-slutvex-3.webp" alt="The wife collapsed spent against Borr, and in the foreground the bound maker, head bowed, broken, a fallen dagger on the flagstones">
<p>When Borr cut him loose the maker did not run and did not fight. He looked at his wife, still in the half-orc's lap and still not looking back at him, and Bryan, two worlds away in the dim warm room, narrated the man's last act in the quiet careful voice he saves for the things that land, and let him take himself off the board out of a shame the party never had to lift a blade for. Marcus surfaced grinning at nothing, carrying the body-memory of being the thing a starved woman finally chose, adored and ridden in the middle of a hall. His cortex filed it under //hell of a session//.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a man who runs his whole war through the woman he loves, a Suggestion that turns her toward the largest stranger in the room, and a throne he gets tied to while she shows him what wanting was supposed to look like. You have not steered the host across the last seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.dndPostDanielEverFired>>
<h2 class="journal-vessel-h2">After the others go</h2>
<p>The old campaign is retired and Bryan runs a new one now, same five chairs, same warm lamplight. The seam is gone. What a year of those evenings built does not need the dream to hold it up anymore. The session breaks up a little after eleven, Bryan and Mike and Marcus filter out into the hall, and Daniel does not move to walk her to her door and Elena does not move to leave, and neither of them pretends to be surprised by it now.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-daniel.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-daniel.webp"></video>
<p>She puts him down onto the couch and follows him onto it, and takes him with her mouth and then in her lap with the unhurried certainty of a woman who has done this on this exact couch enough times to have favourites. //This is the part of Tuesday I actually come for. You can stop being the careful one now, Daniel. I have got it.// The conditioning grounded the night Vex took Adrik in a tower room. This is only the interest on it, and it pays out every week.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A Tuesday not yet reached</h2>
<p><i>There is a table that keeps meeting after the campaign ends, a door Elena stops walking home through, and a couch in three-oh-six the long friendship settles onto with no pretend left in it. You have not closed the campaign on the girlfriend outcome yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.dndPostOrgyEverFired>>
<h2 class="journal-vessel-h2">Where Daniel can see</h2>
<p>The old campaign is retired and Bryan runs a new one, same five chairs. The seam is gone, but the table the seam built keeps paying out. The session breaks up and the three of them, Bryan and Mike and Marcus, do not reach for their coats, and Daniel runs water over a glass at his own sink with his back half to the room, because this is the shape these Tuesdays have settled into, and he has learned where his place in it is.</p>
<p>//You have all been very patient about the way these evenings actually end,// she told the three on the couch, and took them down onto the rug, one hand and her mouth and her body moving between them, while the fourth man stood at his own sink and watched the woman he walks four steps to her door take his three friends apart on his living-room floor.</p>
<p>Daniel broke, once. //That is my couch and those are my friends. I am the one who walks you home. Maybe there is just no D&D anymore.// Elena answered with one hand, the middle finger raised lazy toward the kitchen, the other never leaving where it was.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-orgy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-orgy.webp"></video>
<p>//Do not dare cancel D&D at your place, you moron, or you can forget this pussy for the rest of your life and go back to using only your hand. Nod if you understand me.// He nodded. Of course he nodded. And then she upgraded him from the sink to a front-row chair, named the new job out loud, //you were the cockblocker, now you are the cuck//, and finished the night kneeling on his rug in front of that chair, taking all three of them across her face one after another and holding his eyes through every second of it.</p>
<video class="scene-video" src="media/video/dnd-postcampaign-facial.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dnd-postcampaign-facial.webp"></video>
<p>//Verdict, Daniel. Did you enjoy the view?// He did. God help him, he said so. //Good boy,// she told him, and stamped a dripping kiss on his mouth so he could taste the whole table, and walked out four steps across the hall with the cum still on, leaving him in the chair with the flavour of his three friends. The wanting-while-sidelined is its own steady draw off him every time, the place the conditioning taught him to keep. The campaign retired. The table it left behind pays out every week now.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A Tuesday not yet reached</h2>
<p><i>There is a table that keeps meeting after the campaign ends, three men who do not reach for their coats, and a fourth kept at his own sink to want it and watch. You have not closed the campaign on the slut outcome yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.engagementNight>>
<h2 class="journal-vessel-h2">Two Families</h2>
<p>The night of the engagement party, the one she truly spent alone against a column at the quiet end of the room, with cigarettes and a glass and a long count of nobody crossing the floor to come and find her. You wrote a brighter night across it: two of Sofia's cousins, faces with no names she could fact-check, who would not let her be clever in a corner.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-engagement-party.webp" alt="Elena at twenty-two on a crowded engagement-party dance floor">
<p>The column and the cigarettes still stand exactly where she left them. You only laid a second night over the first, brighter and easier for her hand to reach, and she is one memory further from being able to tell her own history from the one you handed her.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-engagement-facial.webp" alt="Elena at twenty-two on a dark beach after, the two cousins beside her">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called Two Families. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.firstBoyfriend>>
<h2 class="journal-vessel-h2">The First Time</h2>
<p>Her first time, truly a dry and careful afternoon she got through by counting a water-stain on the ceiling. You kept the boy and the narrow bed and rewrote the one thing in that room that was always hers to feel and never did, sending pleasure down the channel the pain had run, pitched so high it took her face apart.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-bed.webp" alt="Two nineteen-year-old students on a narrow dorm bed">
<p>She still ends it with the boy, still quietly, still with the clean withdrawal that became her signature. Only the reason underneath is yours now. She did not leave because being touched returned nothing. She left because it returned too much, and the locked door she calls good sense has something enormous behind it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-sex.webp" alt="Elena at nineteen riding a young man on a narrow dorm bed">
<img class="scene-img" src="media/scenes/vessel/chen-implant-firsttime-ahegao.webp" alt="Close on Elena's face at the peak of an orgasm she cannot control">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called The First Time. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.universityHallway>>
<h2 class="journal-vessel-h2">The Hallway, Nineteen</h2>
<p>The corridor where three boys decided out loud what a Chinese girl was, and the cost of the day landed on her, in a professor's office, in a file, in the lesson that the quiet ones get believed. You moved where the cost lands.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-confront.webp" alt="A university corridor, three hostile young men, a fourth stepping in">
<p>A fourth student steps in now, and the reckoning runs right there in the corridor in full view of the three, the host on her knees and choosing, out loud and in detail, against them. No professor. No file. She can no longer reach the version where the day cost her anything at all.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-blowjob.webp" alt="Elena at nineteen on her knees in the corridor, middle finger raised toward the three boys">
<img class="scene-img" src="media/scenes/vessel/chen-implant-hallway-facial.webp" alt="Elena kneeling, cum on her face, still smiling at the three at the lockers">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called The Hallway, Nineteen. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.movingIn>>
<h2 class="journal-vessel-h2">The Boxes</h2>
<p>Moving into the third-floor apartment: the bare windows, the mover who carried every box up on his back, the folded cash she pressed into his hand before she shut the door on him and was alone with a sealed box of her parents' things. The apartment's first memory was a lonely one, and she has lived inside it for years.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-boxes-thanks.webp" alt="Elena close to a mover among stacked boxes in a half-unpacked apartment">
<p>You gave the apartment a different first night. The thank-you does not stay a thank-you, and the first thing the rooms hold now is not solitude.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-boxes-sex.webp" alt="Elena at twenty-six bent over the stacked boxes, the mover taking her from behind">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called The Boxes. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.graduationNight>>
<h2 class="journal-vessel-h2">Graduation Night</h2>
<p>The night Sofia built her a few good hours by hand out of cheap red wine and old stories, the night the friendship became the wall every later thing braces against. You kept the wall. You only let the comfort cross one line it never crossed.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-kiss.webp" alt="Elena and Sofia on the floor of a book-cluttered apartment">
<p>Sofia still stays, still counts the glasses, but in this version the building crosses into her body and the host comes with Sofia's name in her mouth. There is now a want folded into the foundation of the one wall she cannot afford to lose.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-sex.webp" alt="Sofia going down on Elena on the book-cluttered apartment floor">
<img class="scene-img" src="media/scenes/vessel/chen-implant-graduation-climax.webp" alt="Elena at twenty-two arching in orgasm on the apartment floor, Sofia entwined with her">
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called Graduation Night. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $vesselImplants and $vesselImplants.showerDormBoys>>
<h2 class="journal-vessel-h2">The Shower, Twenty</h2>
<p>The communal dorm shower at twenty, the memory underneath every bathroom door she has ever checked twice: two boys at the curtain, and a young woman made small and watched.</p>
<img class="scene-img" src="media/scenes/vessel/chen-implant-shower-taunt.webp" alt="Elena at twenty in a communal dorm shower, in control">
<p>You inverted who runs the scene. Now she leans on the tile and faces the doorway, taunts the two boys, lures them in, takes their phones, and walks out with both of them on their knees. The vigilance the true night taught her has nothing left to hold onto.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A memory not yet rewritten</h2>
<p><i>There is a book on the dream library's shelf called The Shower, Twenty. You have not yet held it open on the editing floor.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaRelayImplant>>
<h2 class="journal-vessel-h2">Sofia, the Morning After</h2>
<p>You lit Sofia's frame on the Relay wall and went through every evening she had filed under the host's name, and you changed the tag. The next morning you read it land, through the frame, the way you hear a neighbour's radio through a shared wall.</p>
<p>She woke before her alarm with her hand already between her legs, not remembering deciding to put it there, and the reel her body reached for was not her husband. It was a lab lunchroom, and a bad-day phone call, and the particular set of the host's mouth.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-relay-morning.webp" alt="Sofia in bed in the grey dawn light, half-awake, the duvet pushed low">
<p>Andrés found her at it from the doorway and told her, reasonably, to take herself off to the bathroom. And Sofia, who had spent the better part of a decade being gentle with him, heard her own voice come out of her with a blade in it, and called him a piece of furniture that talked. She did not, afterward, find the apology she went looking for. The edit invented none of it. It only took away the last reason she had to keep not looking.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A frame not yet lit</h2>
<p><i>There is a wall in the dream foyer hung with the minds you have opened a channel into. Sofia's frame is not lit yet. You have not done the work that would let you read her morning as it happens.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.danielRelayImplant>>
<h2 class="journal-vessel-h2">Daniel, the Corridor</h2>
<p>You lit Daniel's frame on the Relay wall and walked into the warm-lit corridor of mirrors he dreams in. You went through every cross-hall minute he had filed under the host's name, every half-turned look, every accidentally-shared elevator, every time he watched her unlock her door from twenty feet back, and you changed what his body filed each of those minutes under. //She is dangerous to want// became //she is tempting me, and that is the point.// //I should look away// became //she likes that I do not.//</p>
<p>The host caught him at the third mirror down the corridor and pinned him there in the red dress and the small black horns the dream had been holding for her, and she did not let him apologise his way back out of it. He stopped resisting and said //okay// in his own voice.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-caught.webp" alt="Elena in a red dress and small black horns has caught Daniel against the cracked mirrors of a warm-lit dream-hallway, one hand at his chest, the other at his jaw, his hands at her hips, surrendering">
<p>Then the host rewarded him for the //okay//. She lowered to her knees in the corridor in front of him, took him in her mouth, and made him say one more thing while she did it. //Elena, I am yours.// His own vow, his own voice, the dream's small private contract written in the wet sounds at the back of her throat. He said it on the corridor floor and the dream filed it for him under the rest of the new wiring, and the waking version of him is going to carry the contract he does not consciously remember signing.</p>
<img class="scene-img" src="media/scenes/vessel/dream-daniel-bj.webp" alt="POV from Daniel's perspective, looking down at Elena on her knees in the warm-lit cracked-mirror dream-corridor. Elena in the red dress and small black horns, looking up at him with eye contact, his cock in her mouth, the dream rewarding the vow.">
<<if $ch2Events.danielBellRingDone>>
<p>The edit landed inside two sleeps. He rang the host's bell at six-fifty in the morning, in running gear, with a spare water bottle and a folded windbreaker and a rehearsed speech he had been carrying for forty-eight hours. He asked if the morning run could be a routine and the friendship could be a little more than the polite-corridor version of itself, and he did not apologise once for asking. <<if $ch2Events.danielRoutineAccepted>>The host said yes, every other day, six-forty-five, and teased him about the engineered water bottle until he grinned at her doormat. The run is now a vector.<<else>>The host took the water bottle and asked for time. He read the deferral as a yes, which is what the new wiring is for. He will be back.<</if>></p>
<img class="scene-img" src="media/scenes/vessel/daniel-bell-ring.webp" alt="Daniel at Elena's doormat in running gear with a water bottle and a folded windbreaker, sheepish half-smile, morning hallway light">
<<else>>
<p>The waking version of him has not surfaced yet. The body has been holding the edit for less than two sleeps. A bell will be rung shortly.</p>
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A frame not yet lit</h2>
<p><i>There is a wall in the dream foyer hung with the minds you have opened a channel into. Daniel's frame is not lit yet. You have not done the work that would let you read his corridor as he walks it.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.halvorsenRelayWalkFired>>
<h2 class="journal-vessel-h2">Halvorsen, the Empty Bed</h2>
<p>You lit Halvorsen's frame on the Relay wall and stepped into the one room he cannot fix. He dreams in his own bedroom, in the dark, on the edge of a bed that has had nobody in it for a long time. His wife is a shape turned away on the far side, and the reach he puts across the cold middle never lands, because the bed keeps lengthening under it. Under the door, a thin line of the lab's light, the one room in the building that is never dark.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-bed.webp" alt="Dr. Nathan Halvorsen sitting alone on the edge of a bed at night, his wife a turned-away shape on the far side, a thin line of cold fluorescent light under the closed bedroom door">
<p>You did not give him a mistress. You turned the reach ninety degrees, off the wife who is not going to roll over, toward the part of his life where the wanting gets answered. The cold sheet warmed, the turned-away shape was gone, and a young woman the age of the postdocs whose contracts cross his desk had climbed over him in the dark, asking him to sign it, telling him she would be so good to work with. He said the quiet thing out loud for the first time. //I can sign whatever I want.//</p>
<video class="scene-video" src="media/video/dream-halvorsen-walk.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-halvorsen-walk.webp"></video>
<p>By morning he had re-filed fifteen years of seniority as a thing he can spend. He slept badly, and woke at the wrong hour with the wanting pointed somewhere it had never been pointed before, and a thin idea forming about the lab, and the nights, and what a man with his signature could do with both. He called the host before eight, fishing about her night work, offering to help. She heard the wanting under it and steered him off, and gave him, without meaning to, the one fact the new wiring was reaching for. The protocol needs volunteers, and nobody will sit for one.</p>
<<if $ch2Events.halvorsenRelayShatterFired>>
<p>Later, you broke the beam under all of it, the sentence his own mentor handed him as a postdoc and he has handed down to juniors ever since. //The work comes first, and you earn the rest.// What was left when it gave way was a man who would rather pick the hottest one in the room than do an honest hour, who staffs his lab the way he chooses a partner and tires of them just as fast. The host has been short of one thing for the night work. He is about to start producing it.</p>
<img class="scene-img" src="media/scenes/vessel/dream-halvorsen-shatter.webp" alt="Dr. Nathan Halvorsen leaned back confident in an office chair surrounded by several beautiful young women in office attire, the work pushed aside on the desk, entirely in control">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A reach that does not land</h2>
<p><i>There is a wall in the dream foyer hung with the minds you have opened a channel into. Halvorsen's frame is lit, but you have not yet stepped into the room he cannot fix, the one with the cold bed and the wife turned away and the reach that goes out across the dark and never reaches the other side. The work that would turn that reach somewhere it can land is still undone.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollowayRelayWalkFired>>
<h2 class="journal-vessel-h2">Holloway, the Workstation</h2>
<p>You lit Holloway's frame on the Relay wall and stepped into the one place the careful postdoc has ever felt safe: her own workstation, after midnight, in a lab where nothing will hold still. Every reading changed when she looked away, the instruments contradicted themselves, the gallery of everyone she answers to waited above her for a verdict she could not give. Her whole sense of safety was //I verify, therefore I am allowed to stay//, and the dream took the certainty out from under it.</p>
<p>You did not argue her out of it. You took the screen out of her hands. The host stood behind her, covered the monitor, told her she did not have to make it resolve, lifted her onto the bench and went down on her while the readings dissolved into one calm green line. She came from pure surrender, the first orgasm of her life she did not have to earn or verify, and woke filing not-knowing as relief instead of catastrophe.</p>
<video class="scene-video" src="media/video/holloway-relay-walk.webm" autoplay muted loop playsinline poster="media/scenes/vessel/holloway-relay-walk.webp"></video>
<<if $ch2Events.hollowayRelayShatterFired>>
<p>Later you went under the walk, to the belief the whole lab was built to hold up: that certainty is safety, that the careful one is the only one the building will keep. You split the lab in two and took the wall away, and the catastrophe she had braced for her whole career simply never came. It did not break, it dissolved. The next morning she called the host, rattled by the dreams and unable to focus, and the host told her to stop carrying the work and enjoy herself. The grip gone, Holloway thanked her, called her the best thing that had happened to her since she arrived, and offered to do anything she asked. The one instinct that could have caught the host is gone, and she is grateful it is gone.</p>
<img class="scene-img" src="media/scenes/vessel/holloway-relay-liberated.webp" alt="The dream-lab quieter and warmer than before, Nia Holloway sitting relaxed at her workstation with her hands folded loosely in her lap and a soft unburdened expression, the oppressive glass gallery gone, one screen holding a single calm green line, warm low light.">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · A lab that will not hold still</h2>
<p><i>There is a frame on the Relay wall lit with Holloway's mind, and a workstation after midnight where nothing she checks will stay true. You have not yet stepped in and taken the certainty out of her hands.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.parkRelayWalkFired>>
<h2 class="journal-vessel-h2">Park, the Concourse</h2>
<p>You lit Park's frame on the Relay wall and found a man who does not dream about the case. He dreams about distance: a long airport concourse that will not end, his wife Lauren and his small daughter on the far side of the gate glass with a Venice poster behind them, the trip the case took from them, and Park running for the glass while the concourse stretches and the gate slides further away the harder he runs. The missing was the strongest thing in him.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-nightmare.webp" alt="Park running down an endless dream concourse toward his wife and daughter on the far side of the gate glass, the distance vast">
<p>You did not argue him out of it. You stepped into the dream yourself and put the host's shape in the one place the whole nightmare pointed, between Park and the gate. You kissed him first, before he could get past, and when he tried to go to Lauren you took his jaw and turned him back. //Where do you think you're going, Park.// You took him down to the concourse floor in front of the glass, in front of his wife, and had him while she watched.</p>
<video class="scene-video" src="media/video/dream-park-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-park-walk-1.webp"></video>
<p>You rode him slow and certain and brought his eyes back to you every time they drifted to the glass, until the gate and the two people behind it went soft and unimportant and he finished in you with his eyes finally, only, on you. The family was not removed. The missing was turned. The next time the concourse stretched, he would not be running toward Lauren.</p>
<img class="scene-img" src="media/scenes/vessel/dream-park-walk-2.webp" alt="Elena riding Park fully, his attention entirely on her, the family behind the glass blurred and forgotten">
<<else>>
<h2 class="journal-vessel-h2">??? · A concourse not yet walked</h2>
<p><i>There is a frame on the Relay wall lit with Park's mind, and a long airport concourse where a man runs every night toward a family he cannot reach. You have not yet stepped into it and put yourself in his path.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.reyesRelayWalkFired>>
<h2 class="journal-vessel-h2">Reyes, the Ceremony</h2>
<p>You lit Reyes's frame on the Relay wall and found a man who does not dream about the case. He dreams about being remembered for it: his own retirement ceremony, a podium and a line of colleagues, the photographs he has been sending you surfacing at his pocket as the shame that will undo his whole career, his hand going to the jacket button again and again, never able to finish dressing for his own send-off. The wanting-to-matter was the strongest thing in him.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-retirement.webp" alt="Reyes in dress uniform mid-handshake at his own retirement ceremony, photograph edges at his pocket, line of colleagues behind, cold ceremonial light">
<p>You did not argue him out of it. You walked up the aisle of his own ceremony, the photographs lifted out and pinned themselves at his lapel as commendations, and the whole hall came to its feet, the ovation he had wanted for twenty-eight years and never believed he had earned. Then you told him the honour was yours to give, and gave him the rest of it too, at the podium, with the room still standing.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-walk-1.webp" alt="Elena straddling Reyes seated at the podium of his own ceremony, his uniform open, the hall on its feet applauding">
<p>You rode him there in his own honour, the recognition and the woman handing it to him made the same object, so that from the next morning he could not reach for one without the other. //Nobody gives you this but me. Remember that, Reyes.// He came at the podium of his own retirement with the hall on its feet for him, and the wanting-to-matter that had run him for twenty-eight years found a new place to point.</p>
<img class="scene-img" src="media/scenes/vessel/dream-reyes-walk-2.webp" alt="Elena riding Reyes fully at the podium, his head tipped back, the standing ovation around them">
<<else>>
<h2 class="journal-vessel-h2">??? · A ceremony not yet walked</h2>
<p><i>There is a frame on the Relay wall lit with Reyes's mind, and a retirement ceremony where a man cannot finish dressing because the thing that would undo his career keeps surfacing at his pocket. You have not yet walked up the aisle and given him what he actually wants.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hendersonRelayWalkFired>>
<h2 class="journal-vessel-h2">Doris, the Circle</h2>
<p>You lit Doris Henderson's frame on the Relay wall and found a woman who does not dream about her house or her husband or the man she prays at on Sundays. She dreams about the one room where she is somebody: the Methodist fellowship hall, the bookclub in its circle, her chair at the head that eight years of small careful cruelties earned her. And in the dream the circle has turned cold, the book on the table open to a page about her, the women easing her chair out without a hand laid on it, casting her out of the only thing she built her whole self inside of.</p>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-bookclub.webp" alt="Doris at the head of a circle of folding chairs in a church fellowship hall, the other women turning cold faces away, casting her out">
<p>You did not argue with the circle. You gave her the sacrament instead. The dream became the sanctuary, Doris up at the communion rail on her knees with her mouth open the way she has knelt a thousand Sundays, and you at her shoulder telling her the thing she had buried for two years. //The wafer was always a stand-in. Open your mouth. Take the real thing.// And it was Pastor Whitman the dream brought down to her, and it was not the host he gave her.</p>
<video class="scene-video" src="media/video/dream-henderson-walk-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/dream-henderson-walk-1.webp"></video>
<p>She milked him slow to her open waiting tongue while the whole bookclub watched cold from the pews, and you turned her eyes to them once. //They would put you out the second they knew what you wanted. Do not trust one of those women. This is the only thing in this room that was ever true.// She took her blessing across her tongue and held it in her open mouth like a communicant, rapt and lit and finally unburdened, and she woke wanting cock the way she used to want absolution.</p>
<img class="scene-img" src="media/scenes/vessel/dream-henderson-walk-2.webp" alt="Doris kneeling at the communion rail, face tipped up, cum across her tongue and lips like a received blessing, the robed figure cropped above her">
<<else>>
<h2 class="journal-vessel-h2">??? · A circle not yet walked</h2>
<p><i>There is a frame on the Relay wall lit with Doris Henderson's mind, and a bookclub circle that turns cold and casts her out every night. You have not yet walked into it and shown her what she was really kneeling for.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.vesselTestBodyDanielDone) or recall('vessel_endings_seen', {}).futaDaniel>>
<h2 class="journal-vessel-h2">Daniel, Across the Hall</h2>
<p>A field test of the signing bonus. You crossed the hall barefoot at an hour when the only people knocking are police or trouble, and Daniel answered groggy and squinting, and let you in on the strength of a lie about car keys you must have dropped on his couch the night before. The keys were home on your kitchen counter the whole time.</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-daniel-1.webp" alt="Daniel groggy in his doorway at night, Elena in the hallway in an oversized sleep shirt">
<p>He bent over the arm of the couch to dig through the cushions, and you checked the safety margins with your partner first, //will it hurt him? I have added extreme lubrication, he should be fine//, and then you hooked his boxers down and took him in one abrupt stroke that removed the question of the keys from his head forever.</p>
<video class="scene-video" src="media/video/ending-futa-daniel-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-futa-daniel-2.webp"></video>
<p>You fucked him doggy over his own armrest with his hair wrapped around your fist. //You are my little bitch now, Daniel. A virgin ass should be tighter, you know?// He denied the cucumbers, pushed back into every stroke, leaked on his own upholstery untouched, and never let go of the cushion, and you finished buried deep, coming inside his ass. //We are never telling anyone about this,// he said afterward, from inside the crater. He is owed favours. Many.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 1</h2>
<p><i>This scene unlocks during the Lab Vessel route's ending sequence.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.vesselTestBodySofiaDone) or recall('vessel_endings_seen', {}).futaSofia>>
<h2 class="journal-vessel-h2">Sofia, the First Ring</h2>
<p>The first deliberate pull on the hold the partnership built. You called your best friend at an hour that should go to voicemail, told her to get in the car, not to wake Andrés, not to ask why, and she said //okay, I am on my way// and hung up. Twenty minutes later she stood in your bedroom doorway in whatever she pulled on in the dark, keys in hand, no alarm anywhere in her, only the open waiting attention of a woman who came because she was called.</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-sofia-1.webp" alt="Sofia in clothes thrown on in the dark standing in the lamplit bedroom doorway at night, Elena seated on the edge of the bed">
<p>You let the sleep shirt fall open and asked her onto the bed, hands and knees, and she folded her clothes over the chair because she is still Sofia, and pushed back to meet you as you sank into her pussy to the hilt, narrating her appreciation in two languages.</p>
<video class="scene-video" src="media/video/ending-futa-sofia-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-futa-sofia-2.webp"></video>
<p>//You got out of bed and drove across town because I asked. You have no idea what that does to me. Mine.// You finished buried deep, coming inside her pussy while she clenched around you and followed you over, loud enough for the whole floor. //The next time it is three in the morning and you need someone,// she said into the pillow, //you call me. Nobody else, me.//</p>
<img class="scene-img" src="media/scenes/vessel/ending-futa-sofia-3.webp" alt="Sofia collapsed forward on the bed flushed and smiling, cum leaking from her pussy, Elena's pale hand resting on her lower back, POV">
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 1</h2>
<p><i>This scene unlocks during the Lab Vessel route's ending sequence.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.vesselTestPsionicDone) or recall('vessel_endings_seen', {}).psionicBowen>>
<h2 class="journal-vessel-h2">Tom, the Mind Test</h2>
<p>The other half of the signing bonus. Your partner walked you through the mechanism, channels worn into you by the months of carrying him, words that press a thing underneath them, a push that lands not as a command but as something the mind already believed and had simply never said out loud. Then he pointed you at the ideal first subject: a junior across town who answers his phone at any hour.</p>
<p>Tom drove through four red lights expecting a lab emergency, and you met him in the doorway and pressed one plainly worded sentence down the channel. //Attending to my personal needs is part of what you do, it always has been, it is the most normal thing in the world, taking care of your senior.// The wrongness crossed his face for half a second and got rewritten, and he toed off his shoes and apologised for letting it slip.</p>
<video class="scene-video" src="media/video/ending-test-psionic.webm" autoplay muted loop playsinline poster="media/scenes/vessel/ending-test-psionic.webp"></video>
<p>He knelt between your thighs with the same methodical diligence he brings to bench work and ate your pussy like the most natural close to a Tuesday, taking direction, inventing a hundred memories to match, asking if you tasted new tonight. You came on his mouth with your fist in his hair, and he stood up, told you to text him whenever you need him, and drove home content, a man who looked after his senior the way he always does, in a world that has been true for half an hour.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 1</h2>
<p><i>This scene unlocks during the Lab Vessel route's ending sequence.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.vesselEndgameFired) or recall('vessel_endings_seen', {}).sofiaTaken>>
<h2 class="journal-vessel-h2">The Last Meeting</h2>
<p>The next working day, before noon. One meeting request, five calls, and not one of them asked what the meeting was about. Elena took the chair at the head of the conference table, told them BioGenesis was closed, that the room was her office now, and that they were her property and had been for a while. Then the light changed, the cardigan parted and so did she, and the tentacles came out, and she rose above the head of the table and went into five heads at once, and the world inside each of them was quietly refurnished. When the tentacles withdrew, the meeting simply resumed. //Bring me the rest of the staff. There is work to do, and a new partnership to honour.//</p>
<img class="scene-img" src="media/scenes/vessel/ending-meeting-tentacles.webp" alt="Elena floating above the head of the conference table, translucent green tentacles unfolding from her back, the staff recoiling below">
<p>And later that night, across town, the last loose thread of the old life drove home to cut itself free. Sofia came to pack and found Andrés at the kitchen table with a bottle of wine and a blonde woman in cream silk who smelled of the perfume Sofia had spent months politely declining to understand. She said it was over, threw the ring, and Andrés picked it up and smiled. //Oh no, mi amor. It is not over.//</p>
<img class="scene-img" src="media/scenes/vessel/ending-camila.webp" alt="Camila, an elegant blonde woman in cream silk, gripping Sofia by the arms and jaw, pulling her close and staring into her eyes">
<p>Camila crossed the kitchen faster than a woman in heels should be able to move, took Sofia by the arms with a strength that had no business living in those wrists, tilted her face up, and looked into her eyes. //There you are. You too are mine now.// And Sofia, rewired twice over in one lifetime, answered in a voice that was small and certain. //Yes, mistress.//</p>
<img class="scene-img" src="media/scenes/vessel/ending-sofia-taken.webp" alt="Frontal close-up of Sofia, her eyes entirely black from lid to lid, her face slack and serene, no one left behind it">
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 1</h2>
<p><i>This scene unlocks during the Lab Vessel route's ending sequence.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.gen47BisAwakened) or recall('vessel_endings_seen', {}).bisEscape>>
<h2 class="journal-vessel-h2">The Sibling Wakes</h2>
<p>The night project ran one channel too far. With the threat at its ceiling and the research complete, Elena called the federal team in for one last scan, and the read woke the thing in the chamber instead of feeding it. The glass cracked along the old breach line, the coils took both agents out of their chairs, and the specimen spoke through two stolen mouths at once. //Nice to meet you, sibling.// It called itself the hivemind, and it was right to.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-awakening.webp" alt="Translucent green tentacles erupt from the cracked containment chamber and seize the two federal agents, their faces going slack, while Sofia and Elena recoil">
<p>It put Elena on the floor with two of her own agents' rounds before the parasite could do anything but feel her die around it. It turned for Sofia, the last warm body in reach, and found her already taken, already not hers. There was no host left in the room.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-sofia-taken.webp" alt="Sofia standing slack against the lab bench, her eyes catching a faint green shimmer, already taken by the bis">
<p>So the parasite left the only body that was ever truly its own, burned half of everything it had stored to grow a pair of thin wet wings, and flew out of the lab on borrowed lift while the bis-driven agents placed their shots and missed. A god the size of a thumb, out the loading-dock seam into the dark, half of what it was an hour before, running for the first time in its life.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-parasite-flee.webp" alt="The small winged green grub lifting off the lab floor in desperate flight, a green tentacle reaching from the chamber behind it">
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 2</h2>
<p><i>This scene unlocks at the end of the night project, if the last channel is opened.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if ($ch2Events and $ch2Events.gen47BisNewHostDoris) or recall('vessel_endings_seen', {}).bisMessiah>>
<h2 class="journal-vessel-h2">A New Messiah</h2>
<p>It rode home in the night-guard's truck bed, sealed away from his ear, half its reserve gone again to the cold, the bis-driven agents holding station behind the whole way. At the suburban driveway at dawn there was one door already open: Doris Henderson, out at the end of her own drive for the morning paper, shattered months ago in a dream and drawn out into the cold light every dawn since, curious, waiting, conditioned into a door standing wide.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-parasite-flee.webp" alt="The small winged green grub in desperate flight">
<p>The parasite crossed the lawn it could barely cross at all and walked straight in behind her ear, into the one mind in the world it could still take. And it found a wreck inside, a hunger and a faith and nothing left at the wheel, so it did not whisper to her. It spoke. The way it had only ever spoken to one other mind, dead now on a lab floor across the city.</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-doris-host.webp" alt="Doris Henderson at the end of her drive with the morning paper, her face going slack and serene, a faint green shimmer settling behind her eyes">
<p>//I am the thing you have been praying to without ever seeing its face.// It told her it was God, and that she was the first of what came next, the messiah of it, the one who would carry what was right back out into a world that forgot. It thought, even as it said it, how much of a wreck her mind was, like sitting down to a plate of dirt after months of five-star kitchens, how badly it already missed the scientist. But the wreck was the point: a mind that cannot argue is a mind that cannot hesitate. And it had one last drop of strength and no power to give her, so it gave her a job instead. //There are evil people in the house across the hedge. The men in the coats are the worst of them. They have to be taken out of the world.//</p>
<p>Doris took her husband's rifle from the front closet, stepped over the hedge, and let herself in through the door the night-guard left open. The two federal agents had torn the front room apart looking for a thing the size of a thumb, their backs to the hall, and she raised the rifle and fired twice and put both of them down on the Hoffmans' floor. Then she lowered the gun, smiled at the screaming family with a calm she had been waiting her whole life to feel, and told them not to be afraid. //They were evil people. I have his word to carry now, and his sword, and there is so much of this city that needs them both.// A god reduced to a single spark in a true believer, with a congregation of one and all the time in the world to grow back. //Chapter 3 continues from here.//</p>
<img class="scene-img" src="media/scenes/vessel/gen47bis-doris-rifle.webp" alt="Portrait of Doris in a bathrobe in a dim hallway at dawn, a hunting rifle still raised and pointed with smoke at the barrel, a calm cathartic smile, the open front door behind her onto pale dawn light">
<<else>>
<h2 class="journal-vessel-h2">??? · Vessel route ending 3</h2>
<p><i>This scene unlocks if the parasite survives the dawn in a host that was made ready for it long before.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomAlcoveHJFired>>
<h2 class="journal-vessel-h2">The Alcove</h2>
<p>Bowen knocked a chemistry vial off the alcove shelf trying to read the label. Standard franchise policy was a fifteen-dollar replacement fee and an incident note in the booking record. You nudged. The host substituted.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-broken.webp" alt="The dusty alcove behind the false bookshelf, the broken vial in pieces on the parquet, Bowen frozen mid-apology">
<p>She slid into the alcove with him, eased him back against the dusty wall, and went to her knees in the small dim space behind the shelf. She worked him with her hand and her mouth, the small careful tempo of a woman who had decided this was the most efficient route to ending the incident.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-handjob.webp" alt="Elena on her knees in the alcove behind the false bookshelf, the host's mouth on Bowen, his hand against the wall">
<p>He came inside ninety seconds. She palmed the broken-glass receipt out of his trousers pocket as she did it and slipped it into her own coat. They were back at the puzzle eight minutes ahead of schedule. The franchise never billed for the vial. Bowen did not stop apologising for the breakage until the second drink at the bar afterwards.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alcove-vial-swallow.webp" alt="The aftermath, Elena swallowing, Bowen against the wall, the small mortified register of a junior tech whose PI has just absorbed his mistake">
<<else>>
<h2 class="journal-vessel-h2">??? · An incident not yet absorbed</h2>
<p><i>There is a chemistry vial on the alcove shelf and a junior tech with shaky hands. You have not steered the host into the substitution yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomAlcoveSexFired>>
<h2 class="journal-vessel-h2">The False Bookcase</h2>
<p>You cast Hormonal Override at the escape-room menu before the cipher's cortisol-spike window, and Bowen's suppressive threshold dropped past the line the puzzle had been counting on holding. When the alcove revealed the false-bookcase hinge that opened the second chamber, the host pushed him against the steel and the autonomic carried him the rest of the way.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-escaperoom.webp" alt="The interior of the escape-room set, Elena and Bowen in the alcove behind the false bookcase, mid-scene">
<p>His trousers around his thighs, her dress lifted, his hand at her hip and hers at the steel of the hinge for balance. The puzzle clock was still running on the far wall. She came once against the bookcase. He came inside her thirty seconds after. They finished the puzzle on the back-half adrenaline and walked out under time.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A door not yet opened</h2>
<p><i>The false bookcase swings on a steel hinge behind the alcove shelves. The compound has not yet dropped the threshold the puzzle relies on.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomBathroomSexFired>>
<h2 class="journal-vessel-h2">The Back Bathroom</h2>
<p>The franchise's small back bathroom, mid-puzzle. The host pulled Bowen out of the working space by the wrist, locked the door behind them, and the puzzle clock kept counting on the wall outside while she pushed him back against the sink.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-bj.webp" alt="Elena on her knees in the small mirrored back bathroom of the escape-room franchise, Bowen against the sink, the door locked">
<p>She went to her knees on the tile and worked him until he was past the cortex's polite-protest threshold, then turned and let him have her against the porcelain. Her hands flat on the cold tile, his hand in her hair, the small spotlit overhead lamp catching them both in the mirror behind the basin.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-sink.webp" alt="Elena against the bathroom sink, Bowen behind her, both in the mirror over the basin">
<p>He came on her face at the end, his hand still in her hair, the small mortified register arriving the second the last pulse landed. She wiped, fixed her hair in the mirror, unlocked the door, and walked them back to the puzzle nineteen minutes later. Her clock-out remark to the staff was that the puzzle was easier without all the pent-up energy.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-bathroom-facial.webp" alt="The aftermath in the bathroom, Elena's face, the small mortified Bowen behind her in the mirror">
<<else>>
<h2 class="journal-vessel-h2">??? · A door not yet locked</h2>
<p><i>The back bathroom is six steps off the working space, and the door has a lock the puzzle does not require. You have not steered the host through it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomKissed>>
<h2 class="journal-vessel-h2">The Kerb</h2>
<p>The wrap. The hand-painted ESCAPED sign in the franchise's photo corner. The walk out into the cold midnight kerb. The Corolla three spaces down the block. Bowen did the thing he had been trying not to do all night, leaned in, kissed her on the cheek, and then, on the second attempt at the door, on the mouth.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-corolla-kiss.webp" alt="Elena and Bowen at the kerb outside the escape-room franchise at midnight, the kiss at the door of the Corolla">
<p>The host let him. The kiss landed. He said //sorry, I// twice before getting in the passenger side, and she said //it's fine, Tom// once and started the car. The drive home was three minutes warmer than the drive there.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A kerb not yet reached</h2>
<p><i>The wrap-and-photos beat is at the end of every escape-room visit. You have not yet steered the host through it with Bowen on the kind of footing the kerb would land on.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenCorollaDreamFutaEver>>
<h2 class="journal-vessel-h2">The Corolla · Androgenic</h2>
<p>The drive home along the parkway. You vented the dream-channel compound into the cabin air on her next exhale and Tom drifted under against the cold passenger window inside two minutes, and the host crossed into his REM while the streetlights pulled amber across the dashboard.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-asleep.webp" alt="Bowen asleep against the cold passenger window of the Corolla on the parkway, dashboard glow on his face">
<p>His substrate served up the BSL-3 suite he works in every weekday, and the dream resolved around a sealed pressure-pod that blew its faceplate and drenched dream-Elena in luminescent blue. You pushed the compound androgenic.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-pod-splash.webp" alt="The pod in the dream-lab blowing its faceplate, the blue compound arcing across dream-Elena">
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-futa-portrait.webp" alt="Dream-Elena at the bench, naked, the new cock between her legs, mid-discovery">
<p>Dream-Elena grew the equipment, blamed him for it, and bent him over his own lab bench. //You did this, you take it.// He took it, hard and grateful and fully erect against the bench-top, confessed himself her sissy and her release toy, and came in the same beat she finished inside him. //Good sissy.//</p>
<video class="scene-video" src="media/video/bowen-corolla-dream-futa-fuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-corolla-dream-futa-fuck.webp"></video>
<p>The somatic crossed back into the real cabin. He came in his sleep against the seatbelt, slept through the engine cut at Cedar Crescent, and woke at the kerb to the wet patch and the worst thirty seconds of his week, while the host laughed herself breathless and sent him inside for a hot shower. He will not remember the equipment. The wet patch is the receipt.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-wakeup.webp" alt="Bowen waking in the parked Corolla, hand going to the wet patch, Elena cracking up in the driver seat">
<<else>>
<h2 class="journal-vessel-h2">??? · A resolution not yet pushed</h2>
<p><i>The compound on dream-Elena's skin can resolve two ways. You have not pushed it androgenic yet, and that push needs ground prepared at a lunch table first.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenCorollaDreamSubEver>>
<h2 class="journal-vessel-h2">The Corolla · Estrogenic</h2>
<p>The drive home along the parkway. You vented the dream-channel compound into the cabin air on her next exhale and Tom drifted under against the cold passenger window inside two minutes, and the host crossed into his REM while the streetlights pulled amber across the dashboard.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-asleep.webp" alt="Bowen asleep against the cold passenger window of the Corolla on the parkway, dashboard glow on his face">
<p>His substrate served up the BSL-3 suite he works in every weekday, and the dream resolved around a sealed pressure-pod that blew its faceplate and drenched dream-Elena in luminescent blue. You let the compound run estrogenic.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-pod-splash.webp" alt="The pod in the dream-lab blowing its faceplate, the blue compound arcing across dream-Elena">
<p>Dream-Elena's chest swelled past her own hands and her arousal cascaded past anything her sentences could survive. She dropped to her knees on the lab floor begging him for it, pressed his cock between her new tits, and worked him with her mouth at the head of every stroke until he gave her the facial she was begging for, across her cheek, her open mouth, the lens of her glasses. Even wearing it she begged for more.</p>
<video class="scene-video" src="media/video/bowen-corolla-dream-sub-titjob.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-corolla-dream-sub-titjob.webp"></video>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-dream-sub-facial.webp" alt="Dream-Elena's face tilted up, cum across her cheek and the lens of her glasses, mouth open, begging">
<p>The somatic crossed back into the real cabin. He came in his sleep against the seatbelt, slept through the engine cut at Cedar Crescent, and woke at the kerb to the wet patch and the worst thirty seconds of his week, while the host laughed herself breathless and sent him inside for a hot shower. He will not remember the cascade. The wet patch is the receipt.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-corolla-wakeup.webp" alt="Bowen waking in the parked Corolla, hand going to the wet patch, Elena cracking up in the driver seat">
<<else>>
<h2 class="journal-vessel-h2">??? · A resolution not yet pushed</h2>
<p><i>The compound on dream-Elena's skin can resolve two ways. You have not let it run estrogenic yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomApartmentFired>>
<h2 class="journal-vessel-h2">His Apartment</h2>
<p>The kerb-kiss aftermath. The come-up-for-one slip landed and the host took it. Up the four flights to his small one-bedroom over the dry cleaner. Living-room first, the couch he had inherited from the previous tenant, a lamp neither of them turned on.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-couch.webp" alt="Elena and Bowen on the couch in his small one-bedroom apartment, the lamp off, the streetlight through the window">
<p>Then the bed. The careful way a junior tech learns a new procedure, except the procedure was her, and the procedure was paying attention. He came inside her twice. She came three times. They lay on the bed afterwards and he traced the line of her shoulder for a while without saying anything.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-missionary.webp" alt="Elena on the bed under Bowen in his small apartment bedroom">
<img class="scene-img" src="media/scenes/vessel/bowen-apartment-creampie.webp" alt="Aftermath on the bed, Elena's leg lifted, the wet patch on the sheet beneath her">
<p>She left at one AM. The host walked down the four flights with the small private register of a woman who had come twice and now had a colleague who was never quite going to be only a colleague again. Bowen carries the receipt of this night every weekday at the bench. He cannot look at her at the morning standup without losing the thread for two seconds.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A door not yet buzzed</h2>
<p><i>His apartment is over a dry cleaner four blocks from Cedar Crescent. You have not yet steered the host up the four flights.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomBoudoirFired>>
<h2 class="journal-vessel-h2">The Boudoir Heist</h2>
<p>Second visit to the franchise. The after-hours theme room the staff only books for repeat customers who have asked for it in writing. Sex-themed puzzles. Decorative gilt mirrors. A four-poster bed as load-bearing geometry. A safe in the headboard whose combination is the answer to a riddle worked across the bedding.</p>
<video class="scene-video" src="media/video/bowen-boudoir-cowgirl.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-boudoir-cowgirl.webp"></video>
<p>She solved the room. She also fucked him on the bed before the timer ran out, twice, the second time on her hands and knees while he was supposed to be turning the dial on the headboard safe.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-boudoir-anal.webp" alt="Elena on her hands and knees on the four-poster bed, Bowen behind her, the headboard safe still locked">
<img class="scene-img" src="media/scenes/vessel/bowen-boudoir-reverse-gangbang.webp" alt="The room mid-act, decorative gilt mirrors catching them from multiple angles">
<p>They wrapped under time. The staff at the desk did not ask. Permanent canon: a small private joke between them. Bowen tips heavily at every restaurant they share afterwards, and the host never explains why to anyone who asks.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A room not yet booked</h2>
<p><i>The franchise has an after-hours theme room they only open for repeat customers. You have not yet brought the host back for a second visit.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomDomAlleyFired>>
<h2 class="journal-vessel-h2">The Alley</h2>
<p>You edited Bowen's deference the other way, into //I am owed//, and at the storefront he declined the room. He did not give a fuck about the room. He walked the host off the lit pavement into the service alley beside the franchise, put his back to the wet brick, and told the great Dr. Chen she was going to do one thing for him tonight, and do it well.</p>
<p>She went down onto the brick in her good jeans and took him, and the worst part, the part she lied to herself about on the drive home, was how wet she already was. He used her mouth at his own pace, told her she was better at this than she was at being in charge of him, and finished across her face, the first stripe catching the lens of her glasses.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alley-facial.webp" alt="Elena on her knees in the alley, Bowen finishing across her face">
<p>Then he made her wear it. Two blocks back to the car under the streetlights with his cum drying on her face, and the street was not empty. A couple looked away fast, a man at the bus stop buried himself in his phone, a knot of students went quiet and then laughed half a block behind. Every set of eyes that skittered off her ruined face pulled low in her gut, and by the time the Corolla came into view she was wetter than she had been on her knees.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alley-cumwalk.webp" alt="Elena walking the lit street with cum drying on her face, strangers glancing and looking away">
<p>He handed her tissues at the car like he had planned the whole thing, which he had. The exhibition wire she did not know she owned is lit now, off the same circuit the dominant edit cracked in him. The composure she wears is a costume, and she has felt what is under it.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A leash not yet dropped</h2>
<p><i>Edit the junior tech the other way and the deference inverts into //I am owed//. There is a service alley beside the franchise and a man who has stopped asking. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenEscapeRoomFemLucyFired>>
<h2 class="journal-vessel-h2">Customer service</h2>
<p>With Bowen edited submissive and biddable at the storefront, the host had a better idea than a fake library. She sent him to the car for the bag, and he came back as Lucy, blonde wig and fitted dress and full makeup done in the rear-view, because the edit took the handle off the inside of that door, and the no he might once have said had nowhere left to come from.</p>
<p>At the desk she made the two bored staff an offer: Lucy gives them something to remember the shift by, in the camera-less back room, and they mark the booking comped. The polite-clerk register lasted four seconds.</p>
<video class="scene-video" src="media/video/bowen-escape-lucy-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-escape-lucy-bj.webp"></video>
<p>Lucy went down on the break-room carpet and worked the two of them in turn, one in his mouth and the other in his fist and traded back, his own cock tenting the dress untouched, the host calling instructions from the doorframe. The older one finished across Lucy's cheek, the younger one in his mouth a half-minute later, swallowed.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-escape-lucy-facial.webp" alt="Lucy looking up with ruined lipstick and cum on his cheek, the two staffers doing up their belts">
<p>They walked in comped, or simply walked, the night already won. The feminisation deepens a notch every time Lucy is the one who gets to want out loud. Bowen will be at the bench tomorrow in a quarter-zip with no memory of having minded.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A cover charge not yet waived</h2>
<p><i>Bowen keeps a bag in his car, and the edit took the handle off the inside of that door. There is a bored desk staff, a camera-less back room, and forty dollars a head to be saved. You have not steered the host into the idea yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.parkCinemaDone>>
<h2 class="journal-vessel-h2">Park, the Late Showing</h2>
<p>The evening after the dream walk turned him, Park messaged you on Lensr after ten, calling it loneliness, a hard month, a need to sit in the dark with someone who was not the case. It was the wire you laid in his sleep, pulling, and he could not tell. You met him in the back row of a near-empty downtown cinema.</p>
<video class="scene-video" src="media/video/park-cinema-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/park-cinema-bj.webp"></video>
<p>Your hand on his thigh, then his fly, then your mouth on him while six strangers watched a film two hundred seats away and he sat rigid with his eyes front and his knuckles white, the whole year of careful-junior restraint coming apart in the dark. You pulled off at the last second and took him across your face.</p>
<p>He spent the cab home building the story he meant to believe, loneliness and a hard month and a thing that would not happen again, none of it true. The truth is filed clean in his body now: when he cannot stand his own life, the host is where the relief lives. He texts again.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A showing not yet reached</h2>
<p><i>Once the dream walk turns him, Park starts reaching for the host in his waking life and calls it loneliness. There is a dark back row waiting. You have not turned him yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.reyesHotelDone>>
<h2 class="journal-vessel-h2">Reyes, At The Door</h2>
<p>The evening after the dream walk turned him, Reyes drove across town and knocked on your apartment door, out of the federal suit and into a plain shirt, no case file and no pretext at all. You asked how he had your home address. //I am a federal investigator, Elena. it was not a hard case to crack.//</p>
<video class="scene-video" src="media/video/reyes-door-butterfly.webm" autoplay muted loop playsinline poster="media/scenes/vessel/reyes-door-butterfly.webp"></video>
<p>He told you he had been hard since the lab and already knew you were not going to say no, and he had your shoulders flat to the door and one thigh hooked up over his arm before he finished the sentence. Twenty-eight years of senior-agent control, gone against your front door.</p>
<p>Then Daniel knocked from across the hall, having heard the thumping, asking if you were alright. You told him not to worry, there was just a very big cockroach in the apartment and you were trying to bang it. He offered to help. You said you had him pinned, he was a big one but you were handling him yourself.</p>
<img class="scene-img" src="media/scenes/vessel/reyes-door-creampie.webp" alt="Elena leaning back against her front door afterward, miniskirt pushed up, holding her thighs apart to show the cum dripping from her">
<p>You kissed Reyes to speed him up, told the neighbour through the door you almost had it, one last good thrust and it was done for, and Reyes finished in you against the door on cue. Daniel went back inside, none the wiser. The senior agent came to your door without even a case file this time. He will be back, and he will not knock quietly.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A knock not yet answered</h2>
<p><i>Once the dream walk turns him, the senior agent's control stops looking for a procedure and just drives to the host's building. There is a door, a neighbour with bad timing, and no case file at all. You have not turned him yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksParkKissFired>>
<h2 class="journal-vessel-h2">The Booth Kiss</h2>
<p>In the booth at the Cooper, two empty whiskey glasses on the table, you closed the half-metre Park had spent the whole evening not closing. The host leaned across the table, took his jaw, and kissed him, three slow seconds, his free hand fisted on the wood. The first time the agent on the BioGenesis case crossed the line he was posted there to hold.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-kiss.webp" alt="Elena kissing Agent Park across the booth table at the Cooper">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a booth at the Cooper and a half-metre Park spends the whole night not closing. You have not steered the host across it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksParkBJFired>>
<h2 class="journal-vessel-h2">Under the Booth</h2>
<p>You took the host down under the booth-table, tucked away from the front of the bar, and she finished Park there on her knees with the tablecloth at the edge of her vision. She came back up onto the bench, turned to him, and showed him what she had not swallowed, one eye closed in a deliberate wink.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-bj-pov.webp" alt="Elena under the booth table at the Cooper with Park">
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-bj-aftermath.webp" alt="Elena back on the bench, winking at Park">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a tablecloth long enough, and a part of the bar the front of the room cannot see. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksParkFullSexFired>>
<h2 class="journal-vessel-h2">Park's Hotel Room</h2>
<p>You walked Park back to the hotel and let Reyes go up alone. In the king-bed room the agent investigating the breach took his time with the host, on his knees between her thighs first, and neither of them was in any state to write a report by the time it was over.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-fullsex-oral.webp" alt="Park between Elena's thighs in his hotel room">
<img class="scene-img" src="media/scenes/vessel/feds-drinks-park-fullsex-bj.webp" alt="Elena on her knees in the hotel room with Park">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a hotel, two agents, and a version of the night where only one of them goes up alone. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksReyesParkWatchFired>>
<h2 class="journal-vessel-h2">Reyes, Park Watching</h2>
<p>You pulled Reyes into the back bathroom of the Cooper, and you arranged for Park to be the one who found them. The senior agent had the host against the tiled wall, and she kept her eyes over his shoulder the whole time, on Park at the door, who watched, did not leave, and kissed her against the doorframe afterward.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-reyes-park-watch-act.webp" alt="Reyes with Elena against the bathroom wall, Park watching from the door">
<img class="scene-img" src="media/scenes/vessel/feds-drinks-reyes-park-watch-kiss.webp" alt="Elena and Park kissing against the bathroom doorframe afterward">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a bathroom at the back of the Cooper, and a door Park does not walk back out of. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksThreesomeFired>>
<h2 class="journal-vessel-h2">Three of Us</h2>
<p>The night ended three to a hotel single. The host on the carpet between the two agents, then on the bed with Reyes's hand in her hair and Park behind her, the entire federal pair off the clock and off the case for the length of one room.</p>
<video class="scene-video" src="media/video/feds-drinks-threesome-double-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-threesome-double-bj.webp"></video>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-threesome-act.webp" alt="Elena on the bed with Reyes and Park">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>A hotel single sleeps one. The federal team is two. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksOrgyFired>>
<h2 class="journal-vessel-h2">The Cooper Tips Over</h2>
<p>The compounds you had been working into the booth and the bar-rail all evening tipped the Cooper past the line. The bar stopped being a bar, the bartender included, and the host worked the floor of it with both federal agents somewhere in the same crowd.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-orgy-blowbang.webp" alt="The Cooper mid-orgy">
<img class="scene-img" src="media/scenes/vessel/feds-drinks-orgy-double-bj.webp" alt="Elena under the booth as the bar-wide encounter runs around her">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>Everything a body can leave on a booth, on a bar-rail, and what a small bar does when all of it lands at once. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksSofiaParkFired>>
<h2 class="journal-vessel-h2">Sofia and Park</h2>
<p>You pivoted Sofia into the corner of the booth beside Park and took the host up to the bar-rail with Reyes. From the rail you watched your oldest friend kiss the agent, her hand sliding to his thigh under the edge of the table.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-sofia-park-kiss.webp" alt="Sofia kissing Park in the corner of the booth, seen from the bar-rail">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>Bring Sofia to the Cooper and there is a corner of the booth you can leave her in. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksReyesAlleyFired>>
<h2 class="journal-vessel-h2">The Alley</h2>
<p>You took all four of them out the back of the Cooper for air, and the air was the pretext. In the alley Park had Sofia against the brick, her dress hiked, her breath showing in the cold, while you kept Reyes occupied at the far end of it.</p>
<video class="scene-video" src="media/video/feds-drinks-alley-sofia-park.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-alley-sofia-park.webp"></video>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-alley-sofia-creampie.webp" alt="Sofia against the alley wall, aftermath">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an alley behind the Cooper, and a reason for all four of you to need the air at the same time. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedsDrinksFoursomeFired>>
<h2 class="journal-vessel-h2">Four of Us</h2>
<p>The night folded all four of them into one hotel room. Chen and Sofia, Reyes and Park, the federal investigation and its oldest witness in the same bed, and not one person in the room able to write a word about it afterward.</p>
<p>It started in the back of the cab. Sofia had Park's belt open before the second intersection, mouth on him under his folded jacket, while the host kissed him open-mouth on the other side and Reyes watched the whole nine minutes in the rearview from the front seat.</p>
<video class="scene-video" src="media/video/feds-drinks-foursome-cab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-drinks-foursome-cab-bj.webp"></video>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-foursome-kiss.webp" alt="Elena on her back and Sofia on top of her, the two women tribbing on the hotel bed while Park takes Sofia from behind">
<p>Upstairs you put Sofia on top of you on the bed, the two of you grinding chest to chest while Park took her from behind and Reyes fed you his cock from above, four bodies stacked on one king. Sofia came first; you came fifteen seconds behind her.</p>
<img class="scene-img" src="media/scenes/vessel/feds-drinks-foursome-cumshot.webp" alt="Elena and Sofia kneeling side by side on the carpet, cum across both their faces, the two agents standing over them">
<p>Then you pulled them out, knelt on the carpet next to Sofia, and let both agents finish on your faces. She said afterward that you had the whole thing sketched out from the moment she walked into the Cooper, and that she would thank you for it in the morning. You drove her home, and neither of you said another word about it.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a hotel room that ends up holding the whole table, Sofia included. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-em']>>
<h2 class="journal-vessel-h2">The Locked Door</h2>
<p>Vasquez came into the office with a question about cooling re-specs and never finished asking it. You lifted the temperature of the room one quiet degree at a time, under the conversation, until neither careful woman could say which of them had started it. The host walked her backward across the office and turned the lock, and the small click was the thing that let go of both of them.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-em-kiss.webp" alt="Chen and Vasquez kissing against the locked office door">
<p>They finished each other against the shut door, fast and quiet, a hand each between the other's legs, and walked back into the workday unable to name what had steered the morning. Neither of them can lay it on the other, because neither of them started it, and that is the part they will not be able to leave alone.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-em-fingering.webp" alt="Close-up of a hand between Vasquez's thighs against the locked office door, her scrubs pushed down">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a version of an ordinary work morning where a colleague's drop-by question goes unfinished and the office door ends up locked. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t2-override-bathroom']>>
<h2 class="journal-vessel-h2">The Last Stall</h2>
<p>This time you did not soften the room. You flooded it, and switched off the part of Vasquez's body that knows how to bring arousal back down. She lasted most of a sentence about cooling re-specs before she excused herself, claimed she was coming down with something, and went looking for a locked stall and her own hand.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-caught.webp" alt="Vasquez caught on a restroom toilet, masturbating, scrub bottoms at her ankles">
<p>Her own hand was never going to be enough. The host followed her into the third-floor restroom, found her already past quiet, and finished the job she could not.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-lick.webp" alt="Vasquez bowed to the host's bare breast in a restroom stall, the host standing over her">
<p>Vasquez came so hard she lost control of more than her voice, squirting over the host's hand and then pissing herself on a work toilet while the host worked her through every second of it. She walked back onto the floor wrung out and unable to meet anyone's eyes, carrying one new and permanent piece of knowledge: her own hand will not reach where the host's hand reached, and some part of her will be back to ask for it.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-override-climax.webp" alt="Close-up of Vasquez climaxing on the restroom toilet, squirting and losing bladder control">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a version of an ordinary work morning where a colleague's body loses its off-switch, and the locked stall she hides in does not save her. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workVasquezArchitectEver>>
<h2 class="journal-vessel-h2">A Small Solution</h2>
<p>By the time Sofia's conditioning had run deep enough, you did not have to put anything new into her. The want was already there, the marriage gone quiet, the body left running with nowhere to put it. All you moved was the wall between what she did about it in private and what she would do about it standing in a colleague's office at ten in the morning.</p>
<p>She leaned in over Elena's desk with the chamber-three schedule, and Elena heard the buzz, low and steady and electric, coming off Sofia. Sofia clocked the look, did not flush, did not step back, and owned up to it the way a friend owns up to a slightly embarrassing life hack.</p>
<img class="scene-img" src="media/scenes/vessel/vasquez-desk-vibrators.webp" alt="Sofia holding her white lab coat open in the office doorway, bare but for plain underwear, a small bullet vibrator taped to each nipple and a third in the front of her panties">
<p>She pulled the coat open: under it, nothing but plain underwear, a bullet vibrator taped to each nipple and a third tucked into the front of her panties, all three running off her phone at the same low all-day setting. Two on the nipples, she said, one where it sits, Bluetooth, low all day. She had been wound up for a long while, home was not helping, so she had found a solution, and honestly she got more done like this than she did spending half the morning trying not to think about it.</p>
<p>She buttoned the coat back up and carried on with her morning. She runs warm all day now, a few feet from the host, and calls it productivity.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>Condition Sofia deeply enough and the want stops being something she keeps off the clock. Move the wall far enough and she will stand in the host's office wired for it under her coat and tell her about it like a productivity hack. You have not built her that deep yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workSceneFired and $ch2Events.workSceneFired['vasquez-t3-shatter']>>
<h2 class="journal-vessel-h2">The wall, and what is on the other side of it</h2>
<p>You did the dangerous work in Sofia's dreaming first, the wall that did load-bearing work between the affair and the story she was telling herself about it. The morning after, you reached into her substrate and rewrote the wall out of the floor plan. The first time she walked into the office afterwards was the first time the wall was not going to be there to stop her saying the true thing out loud.</p>
<p>She came in with the chamber-three cooling re-spec schedule. Elena closed the conversation, looked at her properly for the first time, and asked how she was holding up. Sofia talked about Andrés — still hard to be in the same room with him, finding the right words to leave him, needing more time. Elena nodded and asked the smaller question right after the larger one: //is it true you would do anything for me?// Sofia answered //of course// without her cortex getting a vote. The substrate answered for her.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-shatter-spread.webp" alt="Elena perched on the edge of her own desk, lab coat slipped off her shoulders, skirt hiked up around her waist exposing her bare pussy, her hand spreading her own labia, the dominant register on">
<p>Elena walked to the office door, turned the deadbolt, came back, perched on the edge of her own desk, hiked her skirt up over her hips, parted her own thighs, and spread her own labia with two fingers. //Close the door behind you, I said. Come here, Sofia. I need some pussy licking right now. I have been horny all morning looking at you.// Sofia crossed the office without a second of hesitation. Her lab coat came off on the way. Her scrubs went down over her hips before she had reached the desk.</p>
<img class="scene-img" src="media/scenes/vessel/chen-vasquez-shatter-licking.webp" alt="Sofia kneeling naked on the office floor between Elena's spread thighs, going down on her, Elena's hand on the back of her head, Elena's glasses still on, lab coat office setting">
<p>She knelt naked on the polished concrete between Chen's spread thighs and put her mouth on her, no second of hesitation about any of it. Every command Elena gave landed clean. //Tell me how good a slut you are, Sofia.// //I am the best slut, Elena. The best slut you have.// //Mouth back where it belongs.// Sofia obeyed. //Tell me whose mouth that is.// //Yours, Elena. This mouth is yours. I am yours.// //Tell me what you are going to do tonight when you go home to Andrés.// //Whatever you tell me to do. Nothing if you tell me nothing. I do not want him. I want you.// The wall was not there to catch any of it.</p>
<p>Elena came on Sofia's tongue with one hand fisted in Sofia's hair holding her in place. Sofia stayed where she had been put through the whole climax, mouth working slow against Chen's clit, no part of her even thinking about lifting off without instruction.</p>
<p>Afterwards Sofia stood up, on legs that were not entirely steady, and thanked Elena for it without being able to explain why she was thanking her. //Because we are close, Sofia. The closeness has a wider envelope than either of us has been admitting to. We file this under the same envelope. Okay.// Sofia's cortex caught the cover story the substrate had just handed it and ran. She got dressed, fixed her lab coat, picked her tablet up, and let herself out of the office. The deadbolt turned. The chamber-three telemetry log was still up on the laptop screen exactly where Elena had left it.</p>
<p>Vasquez at the doorframe tomorrow morning will be the same Vasquez at the doorframe yesterday morning, except for one sentence — //I want you// — that the wall is not going to be there to stop her saying again.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is an office with a deadbolt on the door and a senior PI who has stopped pretending the closeness is closeness, and a co-PI whose wall is gone. You have not steered the host across the seam yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenLureCornerBJFired>>
<h2 class="journal-vessel-h2">The Blind Corner</h2>
<p>You dosed Bowen's bench while he was mid-question about a workflow detail, and the compound landed exactly where it was built to. Forty seconds later the junior tech was stammering on Holloway's name with the front of his lab coat hanging in a way the building's HR policy has language about, and the polite-PI script lifted off the front of Elena's mouth and did not come back.</p>
<p>What landed in the gap was a small clean slip. //I guess you really need a break.// //I guess you really need a fuck.// His conditioning footprint was deep enough that the cortex's bolt-for-the-bathroom protocol did not fire. He stayed at the bench with his eyes on hers and waited to find out what was going to happen next.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-corner-kiss.webp" alt="Elena pinning Bowen against the steel of the cold-room column in a small blind corner of the BSL-3 working space, kissing him deep, both in white lab coats">
<p>What was going to happen next was the blind corner behind the cold-room column, the dead camera angle, the empty corridor for the next twenty minutes by the schedule on the door. The host walked him three steps around the column, pinned him at the steel, kissed him deep until the rigid-coat half-second had passed and his hands had found her hips on their own.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-corner-bj.webp" alt="POV from Bowen's perspective, looking down at Elena on her knees in the blind corner of the BSL-3 working space, her white lab coat folded at her thighs, his cock in her mouth, her dark eyes locked on his">
<p>She undid his belt without breaking the small contact at his jaw, dropped his trousers to mid-thigh, lowered to her knees on the polished concrete, thanked him for being a very good aide, and made him stay quiet for her while she finished the job. Ninety seconds. He came against the column. She swallowed, did up his belt for him, kissed him once more on the mouth, and walked him back out to the rack with the small private register of a woman who had spent the lureCost on absolutely the right line of attack.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a corner of the BSL-3 working space the cameras do not see, and a junior tech whose conditioning footprint is deep enough not to bolt when the host's mouth slips. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenBenchCheekKissFired>>
<h2 class="journal-vessel-h2">The cheek kiss</h2>
<p>The slip had landed at the bench a half-minute earlier and Bowen was still red at the throat from it, still gripping the pipette he had forgotten was in his hand. The host stepped around the corner of the bench, set two fingers briefly against his shoulder, and pressed a small soft kiss to the high point of his cheekbone, just below the temple. Half a second. A warm-mentor gesture an aunt might give a nephew at a family dinner.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-cheek-kiss.webp" alt="Tight close-up of Chen leaning down to kiss Bowen's cheek at his BSL-3 bench">
<p>Her body had completed the gesture before her cortex had a chance to vet it. By the time she straightened up the half-rationalisation had already arrived. Small affectionate acknowledgement, junior tech finally settling in, this is fine. ...the rationalisation was thin. She did not pause to test it.</p>
<p>Bowen, frozen at the bench, made it through one half-stammered apology before he slid off the stool and walked past her at a pace that was too brisk for the small distance between his bench and the corridor. The men's-room door clicked shut behind him before the host had registered the speed of his exit. ...she stood at his bench alone for a half-second with the small private smile pulling at the corner of her mouth, the kind of smile she files under //small things that make this job interesting//. The next encounter at the bench was going to run on different wiring.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a moment at the bench where the host's professional restraint thins one notch too far, and her body finishes the gesture her cortex was holding back. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenBenchEstrusBJFired>>
<h2 class="journal-vessel-h2">A reward for being a good lab assistant</h2>
<p>The estrus compound landed on Bowen at the bench in the gap between his shoulders, bound to his vasculature in thirty seconds, and the body the host had spent fourteen weeks priming did the rest. He was off the stool with the lab coat bunched in front of him before he could finish the apology. The men's-room door two doors down clicked shut behind him a half-second later. ...the host stood at his bench for a few seconds longer than the cover required, and then followed him.</p>
<p>She found him on the closed toilet lid in the middle stall, lab coat open, trousers around his thighs, his hand on his cock and the colour all the way up his neck. She latched the entry door behind her, pushed the stall door open with two fingers, and told him to take his hand off it.</p>
<video class="scene-video" src="media/video/chen-bowen-bathroom-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/chen-bowen-bathroom-bj.webp"></video>
<p>He did as he was told. Hands on his thighs, eyes on her face, the polite-junior register collapsing into one-syllable answers. The host sank to her knees on the tile, told him this was what good lab assistants got when they had been good for fourteen weeks at the bench, and took his cock in her mouth.</p>
<img class="scene-img" src="media/scenes/vessel/chen-bowen-bathroom-cum.webp" alt="Close-up of Dr. Chen still on her knees in the men's-room stall, looking up at Bowen with his cum on her tongue and the corner of her lip">
<p>He held out longer than the body was going to let him hold out, hands flat on his own thighs because she had told him to keep them there, and came in her mouth with one hand finally lifting to rest at the back of her head. She took the whole of it, swallowed, and stood up off the tile to fix her lab coat. ...the reward-frame locked into him on the way out. Every polite-junior gesture from him forward would be the gesture of a body that had been told being good gets it on its knees in front of her.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>There is a junior tech whose body the host has been priming for fourteen weeks, and a compound calibrated to drop him so far past his own ability to settle that he leaves the bench at a run. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workBowenArchitectFired>>
<h2 class="journal-vessel-h2">Bowen's new normal</h2>
<p>By the time Bowen's conditioning had run deep enough, you did not have to talk him into anything. The want had stopped being a thing he kept off the bench and started being a thing the workday simply contained. He turned on his stool, went pink at the ears, and asked, the way a junior tech asks about a maintenance window, whether he could fuck her, quickly, so he could focus.</p>
<p>Elena did not have the morning for it. She offered him her mouth instead, because a blowjob is faster than getting fucked and she had a fed report to redline, and crouched in front of his stool and took him without ceremony, glasses pushed up her nose, the stylus still in her other hand.</p>
<video class="scene-video" src="media/video/bowen-architect-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-architect-bj.webp"></video>
<p>He was too keyed up to finish, and the quick version she was trying to save time with became the slow version anyway. She pulled off, told him the mouth was not working and he had cost her the time she was protecting, bent over the bench, pushed her trousers down, and pulled his run log toward her to actually use the minutes.</p>
<video class="scene-video" src="media/video/bowen-architect-doggy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-architect-doggy.webp"></video>
<p>He fucked her from behind while she read, and she reviewed his work out loud and found it sloppy, the replicate variance doubled, the wrong dilution factor logged on column six, and every criticism made him fuck her harder, because the wire routes //she is disappointed in me// straight to //I am being used and I deserve it//. When he got close she snapped out of the clinical front and yelled at him not to come inside her, she is not on the pill, and he did it anyway, too far gone to pull out in time.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-architect-creampie.webp" alt="Rear view of Elena bent over the bench, cum dripping from her pussy after Bowen finished inside her">
<p>Afterwards she scolded him for coming inside her, that is a morning-after pill on a lunch break she does not have, took a twenty out of his wallet without asking to pay for it, and told him he had not got her anywhere close to off, so now she also had ten minutes in a bathroom stall to deal with that herself. He thanked her. He floated for the rest of the day. The bench is a place where this happens now.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>Condition Bowen deeply enough and the junior-tech reverence stops being something he keeps to himself. Push it far enough and he will ask, meekly, to use the host at his own bench, and take her reviewing his bad work mid-fuck as the best thing that has happened to him in a long while. You have not built him that deep yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenSubOfficeFired>>
<h2 class="journal-vessel-h2">Good for one thing</h2>
<p>You re-weighted Bowen's deferential circuit until it was the floor the rest of him stood on, and at the bench it leaked out of every gesture, the shoulders down, the chin tucked, a body asking to be told what it was for. So the host took it off the camera floor. She said his name once, walked, and the wire did the rest.</p>
<p>In her office with the blinds down and the door locked she put him on his knees, hooked a bare leg over his shoulder, and used his tongue the way she would use a tool she did not have to thank.</p>
<video class="scene-video" src="media/video/bowen-suboffice-eatout.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-suboffice-eatout.webp"></video>
<p>She told him the truth while he worked, plainly, almost bored: that he was not good at the bench, that his volumes wandered and his logs were a mess, that she would find a tech who could hold a pipette and did not look up at her like a kicked dog. And that this, the kneeling, was the one job he had never once gotten wrong, that he made a far better obedient little girl on her knees than he ever made a man at that bench, and that he should be relieved, because it was so much less for him to get wrong.</p>
<p>She came on his mouth, told him to clean her up properly, called him a good boy, and he thanked her for it. The arousal he was not allowed to touch had nowhere to go but into the wire. He will stand at that bench tomorrow and the standing will feel like the costume.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>Edit the junior tech's deference deep enough and it stops being something he performs and becomes the floor he stands on. There is an office with a lock and a senior PI who has decided what he is actually good for. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenDomServiceFired>>
<h2 class="journal-vessel-h2">Even, he decided</h2>
<p>You turned the same deferential circuit the other way, down past neutral into the negative, until the deference curdled into //I am owed//, and the next morning at the bench Bowen did not reorganise around the host walking up to him. He finished seating his pipette tip first, turned on the stool unhurried, dropped the //Dr.//, and told her to go on.</p>
<p>You let it run. The host's lever for ending these things was not there. He took the tablet out of her hands, tipped his head at the corridor the way she does, and she followed him into her own office.</p>
<video class="scene-video" src="media/video/bowen-domservice-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-domservice-bj.webp"></video>
<p>He put her on her knees on her own carpet, told her to leave the glasses on, and used her mouth at the pace he wanted, smug, telling her she had made him feel like an idiot at that bench for weeks and that here she was, that she was so much better at this than she was at being nice to him. The arousal coming off the host was not in spite of the inversion, it was because of it, the one woman in the building who never gets to stop being in charge handed twenty minutes of not being.</p>
<p>He finished in her mouth, told her thanks, Elena, like she had passed him a stapler, and went back to the rack. She stayed on the floor a beat too long. The bench is his now in a way it was not that morning.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-domservice-after.webp" alt="Dr. Chen on her heels with cum on her tongue, Bowen tucking himself away above her, smug">
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>The deferential circuit turns both ways. Invert it and the junior tech decides he is owed, and one morning he stops asking permission for anything, the host included. You have not steered the host there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workFedsCaseUpdateSlipEver>>
<h2 class="journal-vessel-h2">The hotel bar</h2>
<p>The host's mouth slipped a single word in the BSL-3 visitor conference room while Reyes was on a regional-office call in the corridor. //Hotel rooms with nothing to take the edge off//, instead of the polite cover she had drafted in her head a half-second earlier. Park's eyes came up off the notepad and the conference-room temperature did the thing rooms do when a sentence has just rerouted past procedural cover.</p>
<p>He answered honestly. The hotel had a passable bar. The wife was three time zones away. The case was on edge. The conference room had, for that half-minute, stopped being a federal interview room.</p>
<img class="scene-img" src="media/scenes/vessel/fed-interview-3shot.webp" alt="Agent Park leaning forward across the visitor conference table with the pen down on a closed notepad, the small unguarded register of a man caught off-procedural, Dr. Chen across from him with hands clasped">
<<else>>
<h2 class="journal-vessel-h2">??? · A Tuesday not yet reached</h2>
<p><i>There is a case-update conversation where the senior partner steps out for a corridor call, and the junior partner says something he was not supposed to say. You have not steered the host into that conversation yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workFedsCaseUpdateFootTeaseUnzipped>>
<h2 class="journal-vessel-h2">On the table</h2>
<p>The host slid her shoe off under the conference table and crossed the gap of linoleum between her chair and Park's with the ball of her stockinged foot. Park did not pull away. The pheromone dose she had laid into the room had thinned his cortex's grip on the procedural register, and what was left was a federal agent watching the host with his pulse already rerouted past his cortex's permission.</p>
<p>He unzipped. The host pushed back from her chair, walked the two steps around the corner of the conference table, slipped off the other shoe, and lifted herself up onto the polished edge of the table directly in front of Park's chair. Both stockinged feet in his lap, her grey skirt smoothed under her thighs above the table line, the geometry entirely different geometry now.</p>
<img class="scene-img" src="media/scenes/vessel/feds-case-update-footjob.webp" alt="Chen sitting on the conference table directly in front of Park's chair, both stockinged feet in his lap working his freed cock">
<p>Then the small private register of a woman escalating one degree further. The host leaned back on her hands on the table. Her knees drifted slowly apart. The grey skirt rode up the rest of the way against her stockings, and she let Park see, across the polished wood directly in his eye-line, that she had come to the meeting that morning without anything underneath it.</p>
<img class="scene-img" src="media/scenes/vessel/feds-case-update-pussy-show.webp" alt="Chen leaning back on her hands on the conference table with her knees apart and the grey skirt riding up to her hips, her bare pussy on full display directly in Park's eye-line, both stockinged feet still working him from below">
<<else>>
<h2 class="journal-vessel-h2">??? · A table not yet climbed onto</h2>
<p><i>There is a polished conference table the host could climb up onto in front of the junior partner's chair, and a skirt she could come to the meeting that morning with nothing underneath. You have not steered her there yet.</i></p>
<</if>>/* STATUS: DELISTED — the "Knees apart" card was removed from the Case-update
grid in Journal-Vessel (the cunnilingus Tease scene has no media of its
own; the cowgirl finale is reachable via the foot-tease branch too). The
recap prose is preserved here for when a cunnilingus video lands and the
card is restored. Re-add the card block under the CaseUpdateFoot card in
Journal-Vessel, gated on $ch2Events.workFedsCaseUpdateTeaseFired. */
<<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workFedsCaseUpdateTeaseFired>>
<h2 class="journal-vessel-h2">Knees apart</h2>
<p>The host had come to work that Tuesday without anything under her skirt. The decision had been made at the dresser, watched by no one, filed under //I will see how the day goes//. The day, by mid-morning, had gone like this: Reyes on a corridor call, Park in the chair across the conference table, the pheromone dose lifting off the host's wrist, Park's body chemistry on the wrong side of the line and a polite-junior register that could no longer hold what the body was doing.</p>
<p>You leaned back in the chair. The host's knees came apart. The grey skirt rode up across her thighs. Her hands stayed clasped on the table in a composed institutional posture, the only thing a security camera would catch. She made the offer level: get on your knees and lick me clean until I come on your mouth.</p>
<p>Park got up. Park walked around the table. Park went to his knees on the cold linoleum at the side of her chair and put his mouth where she had told him to put it, and the host came against his face four minutes later in the small careful held breath of a woman who had been waiting longer than she expected she would for this exact thing.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A skirt not yet ridden</h2>
<p><i>There is a Tuesday when the host comes to work without anything under her skirt and the federal agent across the conference table is conditioned enough not to refuse the offer she makes. You have not pushed the host's body deep enough yet for that Tuesday to be the one it is.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvImplant>>
<h2 class="journal-vessel-h2">The cab</h2>
<p>You took the dinner-night memory both Halvorsen and Holloway carry as the foundation of their working partnership and you rewrote the cab moment. In the version that now lives in both of their cortexes, Holloway, drunk past her methodical register, asked Halvorsen to thank-her-properly by letting her thank-him-properly, climbed into his lap in the back seat of the sedan, and worked him in her mouth through the city traffic to her address. She asked him to call her a cumslut while she did it. He obliged in the cracked-institutional cadence of a senior PI who could not find a polite version of what she had asked for. She swallowed, he helped her zip her dress strap back up, the driver was oblivious on his phone in the front seat the whole way, and neither of them has mentioned it since.</p>
<video class="scene-video" src="media/video/halvorsen-holloway-dinner-cab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/halvorsen-holloway-dinner-cab-bj.webp"></video>
<p>Underneath the rewritten memory, the wire. Holloway-drunk is the cumslut; the methodical register Holloway-sober wears is the mask alcohol dissolves. Future drinking events with Holloway present will surface the wire. Halvorsen carries the mirror: every future bar-shaped evening on his calendar with Holloway in it lands with the cab moment underneath.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A cab you have not yet rewritten</h2>
<p><i>There is a real cab moment between the senior pair from two-and-a-half years back that is the foundation of their working trust. You could rewrite it. The rewrite would put a wire under it that surfaces every time someone offers Holloway a drink. You have not pushed the senior pair deep enough yet for the rewrite to land.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvCorridorOverrideFired>>
<h2 class="journal-vessel-h2">The bench</h2>
<p>The Hormonal Override hit Halvorsen and Holloway in parallel in the third-floor corridor while the host stood ten feet down the linoleum with a coffee cup. Both endocrine systems were held open at the apex; neither cortex got asked to sign off on anything. Holloway moved first. She took Halvorsen by the wrist, pushed open the door of the small empty satellite lab two doors down, pulled him through, and the latch caught behind them.</p>
<p>The kiss landed as the kiss of two people who had been pretending the kiss had not happened in their heads on the average Tuesday for nine years. Holloway went to her knees on the linoleum in one motion and took him in her mouth, the methodical postdoc register cracked clean off, the institutional layer gone. Halvorsen had his hand in her short curls and was saying her name in a register he had not used at any standup in fifteen years of senior-PI work.</p>
<video class="scene-video" src="media/video/hollohalv-lab-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-lab-bj.webp"></video>
<p>She pulled off and stood, turned, bent forward over the stainless-steel bench with her slacks already coming down with her own hand. //Nathan. Get over here. I need you to fuck me on this bench. I am not going to ask twice.// Halvorsen stepped up behind her, pulled the rest of her clothes down, guided himself into her in one slow firm push, and the bench rocked a quarter-inch on the first hard stroke. Her elbow knocked an empty beaker. The beaker rolled and stopped against the side of the centrifuge.</p>
<video class="scene-video" src="media/video/hollohalv-lab-doggy.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-lab-doggy.webp"></video>
<p>She told him to come inside her. He came inside her, both hands gripping her hips hard enough to leave a bruise she would find in the shower that night. They stayed there for a long breath afterwards, Holloway with her forehead against her own hands on the steel, Halvorsen with his forehead against the back of her shoulder. Then she stood up, smoothed her lab coat, fixed her edge at the small lab mirror, and told him she would see him at the eleven o'clock standup. They both pretended at the eleven o'clock standup. The pretending was wrong.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-lab-creampie.webp" alt="Dr. Halvorsen buried deep behind Dr. Holloway at the moment of completion, both still in lab coats">
<p>The compound dissipated in fourteen minutes. The cortices started the cleanup work. They will manage the cover for a week, maybe two, before the next override or the next ambient stressor pushes one of them through the institutional surface again. Each successive crack writes the pattern deeper. By the third or fourth time, the pattern will be the structure underneath, and the institutional surface will be the lie.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A bench you have not yet pushed them onto</h2>
<p><i>There is a small empty satellite lab two doors down from the third-floor corridor, and a Hormonal Override window where the senior pair would not pretend any of it had not happened. You have not pushed the senior pair deep enough for the apex to land, or you do not yet hold Hormonal Override, or the corridor scene has not yet routed through the pheromone room dose.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hhCorridorSnackFired>>
<h2 class="journal-vessel-h2">The snack</h2>
<p>The Biological Architect finished what the corridor override started. The surface stories both cortices used to walk into the room got rewritten overnight, and the next time Halvorsen caught the host's eye in the corridor he did not compose a cover. He collected her for a third chair the way a senior PI collects a third for something the calendar does not have on it. Office at the end of the hall, two coffees, Holloway closing the door behind the three of them and thumbing the lock without breaking step, the deadbolt clicking in a register the office had clearly heard before.</p>
<p>Holloway knelt at the side of his desk chair and undid his belt without being asked. There was no anxiety in any of the three of them, no argument for it, only the calm of people explaining a routine they had already lived through. //His wife stopped taking care of him properly a while ago, Dr. Chen. I have been helping him stay focused.// Halvorsen confirmed it, the institutional register intact while she worked his cock free. //She has not noticed the change, and I have stopped expecting her to. Nia has been the difference between me running my afternoon and me losing it.//</p>
<video class="scene-video" src="media/video/hollohalv-office-snack.webm" autoplay muted loop playsinline poster="media/scenes/vessel/hollohalv-office-snack.webp"></video>
<p>The host asked the questions a PI asks when she is being briefed on a bench technique. How long, what schedule. Holloway answered without coming off him for longer than a sentence. //Twice on the morning, once after lunch on bench days. The proteins are a nice plus, honestly, helps me hold the focus through the afternoon set as well.// The conditioning and the architecture between them had rewritten what the room considered normal, and the room considered this normal.</p>
<p>He came with the host watching over the rim of her coffee. The first pulse caught Holloway across the lips and chin when she drew back a fraction too far; she made a small irritated sound at the waste and had her mouth back over him for the rest, then pulled off with the load on her tongue and the stripe still bright on her chin, held it a beat, swallowed, and scooped the waste off her chin with two fingers, because she does not leave protein on the floor.</p>
<p>//Mm. Good batch.// They did up their clothes, Holloway thumbed the lock back and held the door, and the three of them stepped into the corridor in the same matched pace they walked in with, eyes on the next door of the morning. Two relay frames lit on the alcove wall in the host's foyer that night. The architecture had been listening to the corridor and the office both, and decided the wiring was in.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A break you have not yet been invited to take</h2>
<p><i>Once the corridor override has settled and the senior pair have stopped pretending, the Biological Architect lets the routine become the new normal, a thing they perform in daylight without lying to themselves about it, and a chair they would offer the host. You have not pushed both of them deep enough yet, or you do not yet hold Biological Architect, or the override has not yet landed on a prior day for the wiring to bed in.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvOverride>>
<h2 class="journal-vessel-h2">The fork</h2>
<p>The Hormonal Override hit the senior pair at the cafeteria table while the host was across from them mid-sandwich. The compound landed on the substrate the cab-implant wired in; the //alcohol dissolves the methodical-register mask// principle generalised in real time to //anything that pushes the body past the threshold dissolves the mask.// Holloway's hand moved without her cortex consulting itself. Slow across her thigh, across the gap of cafeteria air under the table, onto Halvorsen's lap. Then her cloth napkin came off her own lap, draped over his, and her hand slid under it. The buckle gave quietly.</p>
<p>While she worked him under the napkin in slow firm strokes, the three of them ran the conduit-photo conversation across the table at a procedural pace that did not match what Halvorsen's body was doing under the napkin. The host registered every part of it and chose not to interrupt.</p>
<p>Holloway took the decision her cortex did not know she was making by nudging her fork off the edge of her plate. The fork hit the linoleum. She ducked under the table to retrieve it, and was, for the next ninety seconds, not visible above the table line.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-cafeteria-fork-bj.webp" alt="Under-table point-of-view in a corporate cafeteria, Holloway kneeling under the cloth-skirted table with her mouth around Halvorsen's freed cock, his hand on the back of her head, the dropped fork visible beside her knee">
<p>She surfaced with the fork in her hand and the small unconvincing self-satisfaction of a woman who believed she had been very, very sly. Halvorsen's cortex filed his own freeze under //she initiated and I could not refuse without making a scene//. Both filings were wrong. The host, across the table, did not file the lunch under anything she said out loud. The host now holds the kind of leverage two senior staff scientists do not survive a quarterly review without losing if it ever surfaces.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A fork you have not yet pushed off the plate</h2>
<p><i>There is a cafeteria lunch with Halvorsen and Holloway where the Hormonal Override could land on the substrate the cab-implant wired in, and the body would do the rest while you watched. You have not pushed the senior pair deep enough yet, or you have not landed the cab-implant first.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workFedsCaseUpdateSporeFired>>
<h2 class="journal-vessel-h2">The linoleum</h2>
<p>You vented a small spore cloud into the conference-room HVAC return while Reyes was still on the corridor call, the compound calibrated to keep his cortex on the budget-line digression another twenty minutes. The window opened wider. The host had it.</p>
<p>You pushed Park back onto the conference-room linoleum with the ball of her foot. His trousers came down past his hips. The host straddled him on the cold floor with her grey skirt riding up to her waist, lowered onto him in one slow careful descent, and rode him through it in the small wet efficient register of two people on the clock.</p>
<img class="scene-img" src="media/scenes/vessel/feds-case-update-park-cowgirl.webp" alt="Agent Park on his back on the conference-room linoleum, Dr. Chen straddling him in cowgirl position with her skirt pushed to her waist, mid-ride">
<p>They came one after the other. The host had eight minutes to put the room back together before the senior partner closed his call and came back through the doorway. The room went back together in seven. When Reyes opened the door he walked through fifteen minutes of saturated air; three channels of relay-architecture laid themselves into his prefrontal cortex on the way to his chair, and Park's, already laid down from the cunnilingus and the cowgirl, snapped into place a half-second later. Both frames on the dream's Relay wall lit that night.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A reward not yet given</h2>
<p><i>There is a window the spore cloud could keep open, and a reward the host could give the agent who earned it. You have not steered her to give it yet, or the Spore Network is not yet hers to deploy.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.workFedsArchitectEver>>
<h2 class="journal-vessel-h2">The New Normal</h2>
<p>By the time both agents' conditioning had run deep enough, you did not have to make either of them do anything. You only had to move the line of what counted as normal in two federal heads at once and let them walk across it believing it had always been there.</p>
<p>Reyes came back from his corridor call, picked the folder up, and asked the host, off the record, whether she was seeing anyone, then mentioned, the way a man mentions a maintenance issue, that he was wound up tighter than was useful and that Park was the same. The host got up, went around the table, and onto her knees in the footwell, and not one person in the room treated it as the line that it was.</p>
<video class="scene-video" src="media/video/feds-architect-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-architect-bj.webp"></video>
<p>Reyes kept the folder open and kept asking about the conduit and the bite-pattern read while the host answered around him. Then he got up, moved around behind her, and told Park to come and take her mouth and get some release before lunch so the junior partner would be sharp on the timeline, and Park did what the senior said. The host took Park standing over her and Reyes behind her, and the conference room held a shape it had no business holding at ten in the morning while the two of them talked about the closed line-item and the soup place on the ground floor between the moans.</p>
<video class="scene-video" src="media/video/feds-architect-spitroast.webm" autoplay muted loop playsinline poster="media/scenes/vessel/feds-architect-spitroast.webp"></video>
<p>The host set her glasses on the table, and Park finished across her face; Reyes, behind her, asked the way he had asked everything that morning whether it was all right to finish inside, was told no, and pulled out and finished on the conference-room carpet as though the wet patch were the cleaners' problem. Then both of them straightened their suits, and the case-update closed the way every case-update closes, on a handshake and a regroup time and Reyes telling her to go and eat something before the afternoon.</p>
<img class="scene-img" src="media/scenes/vessel/feds-architect-facial.webp" alt="Chen kneeling, glasses off, face tipped up, cum across her face and lips">
<p>They will write nothing about it in any report, because to write it down they would first have to notice it was a thing that happened, and it was not. It was the meeting. The room is yours now, and the two men who are meant to be taking this building apart will keep coming back to it for the soup.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A morning not yet reached</h2>
<p><i>Condition both halves of a federal team deeply enough and you stop having to push at all. Move the line of what counts as normal far enough and two agents will run a witness through the middle of their own meeting and go back to discussing lunch. You have not built the room that deep yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fedtableImplant>>
<h2 class="journal-vessel-h2">Aldrin, rewritten</h2>
<p>You pulled the Aldrin cold-storage memory cleanly out of both federal cortexes across the cafeteria corner table. The scene up to the moment Mira Vance stepped out from behind the third freezer with the USB drive in her hand stayed exactly where it was in both of them. The host bent the rest.</p>
<p>In the rewritten version Mira did not lower her hands cleanly. She stepped out flushed, pupils too wide, one hand on the chrome of the freezer for balance she should not have needed. She had been in the suite three hours and something had been venting into the air the whole time, a side-product of one of the compounds Voss had been quietly storing. She handed the drive to Reyes and asked, broken-direct, for one of them to fuck her before she walked back out into the corridor. She could not stand it.</p>
<p>Park looked at his wedding ring on the third knuckle and said no, sir, I am married, sir. Reyes put a hand briefly on Park's shoulder, a small dry institutional grin landing, and sent him to the doorway to watch the corridor.</p>
<video class="scene-video" src="media/video/aldrin-implant-fuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/aldrin-implant-fuck.webp"></video>
<p>Reyes took her against the second freezer in the dim red emergency light. He coached the geometry across the suite to the doorway, the senior partner's voice fully off the institutional cadence — <i>look at this slut, Park, she wanted a good fuck and your limp dick had to refuse, now it is on me to fix her</i> — and made Mira say, mid-thrust, how good his cock felt in her pussy, so the junior partner would hear what he had just turned down. Mira obliged, broken and whimpering, thanked Park out loud for not stopping him. Park stood at the doorframe with one hand specifically not on himself for the first half of it.</p>
<p>Reyes finished. Mira slid to her knees against the chrome and could not stand. That was when Reyes looked across at Park, and Park, with his hand on himself through his trousers now and no longer pretending, walked the four paces and finished on her face.</p>
<img class="scene-img" src="media/scenes/vessel/aldrin-implant-bukkake.webp" alt="Mira Vance kneeling on polished concrete in front of the chrome edge of a stainless freezer, eyes rolled half-up in ahegao expression, tongue out, cum across her face and chin, the dim red emergency light catching the wet streaks">
<p>Reyes took the case federal in the rewritten version too. Voss lost his licence. Mira got her PhD with federal protection. The public record stayed clean. The only three people in the building who knew what happened beside the second freezer were the three of them, and none of them ever named it again.</p>
<p>Back at the corner table, both of them sat very still over their sandwiches for a half-second. Park stared at his closed notebook with the small composed wreckage of a man whose cortex had just been handed a memory it did not remember asking for. Reyes recovered first.</p>
<p><i>"...you remember Aldrin, Park."</i></p>
<p><i>"...sir."</i></p>
<p><i>"...wife still pleased with the call you made down there?"</i></p>
<p><i>"...yes, sir. ...she is."</i></p>
<p>Reyes returned to the sandwich. From the next morning forward, both agents read the BioGenesis investigation through the rewritten Aldrin: the obvious frame is the obvious frame; cooperative researchers may have personal motives that should not be tested. Reyes's body now carries the body-memory of fucking a cooperative researcher in a building like this one, with his junior partner standing at the doorway watching. That body-memory does not need much to surface again.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A lunch not yet leveraged</h2>
<p><i>There is a memory two federal agents share from a case three years back, and the floor of it bends if you push the right way. You have not pushed yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.lunchOrgyFired>>
<h2 class="journal-vessel-h2">The lunch orgy · twelve sharp, the BSL-3 conference room</h2>
<p>The IT loop-back kicked on at twelve oh-oh. The camera record would show the room empty between then and one. Sofia and Bowen had brought the spread in a glass jar twenty minutes earlier and set it on the conference table next to a plate of sandwiches, the aphrodisiac laced into the brie, the numbing agent in the butter on the bread, the doses calibrated so the mouths did not register the burn but the bodies did. Reyes and Park sat down with the small careful posture of two agents taking a real lunch. Halvorsen and Holloway were already at the table. The host walked in and saturated the room before she sat, the Biological Architect dialed wide, the compounds vaporising off her skin into the HVAC return and recirculating back into six cortexes. Inside twelve minutes nobody at the table had any cortex left for what they had come to do. They were doing what the room was doing.</p>
<div class="vessel-subentry-title" style="margin-top:1.5em;">FF · Chen and Sofia on the table</div>
<p>Sofia hiked her skirt up around her hips and climbed backward onto the polished veneer. Chen dropped the lab coat, undid her own slacks, stepped out of them, climbed up onto the table in the opposite orientation. The two of them settled into a sixty-nine on the wood with the small careful familiarity of two friends who had been negotiating the position in their heads for fifteen years without either of them ever saying it out loud.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ff-sofia-1.webp" alt="Chen and Sofia stripping at the conference table, the first beat of the orgy">
<p><i>"Elena, you fucking slut, you taste exactly the way I knew you would."</i> Sofia, mouth full of her best friend, the dirty-friend register fully on between licks.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ff-sofia-2.webp" alt="Tight close-up on Chen's face buried between Sofia's thighs on the table">
<video class="scene-video" src="media/video/lunch-orgy-ff-sofia-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-ff-sofia-3.webp"></video>
<div class="vessel-subentry-title" style="margin-top:1.5em;">MF · Bowen, finally</div>
<p>Bowen had been frozen at the foot of the table for the first two minutes of it, the polite-junior register collapsed entirely, his cock visible against the front of his trousers and his hands flat on his own thighs because that was where the host had told him to keep them on prior mornings. Chen, mid-sixty-nine with Sofia, lifted her head and crooked one finger at him without breaking eye contact with the ceiling. Bowen came around the table the long way, the way the body comes around a table when the cortex has stopped giving directions.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mf-bowen-1.webp" alt="Chen on the table guiding Bowen between her thighs at the conference table">
<video class="scene-video" src="media/video/lunch-orgy-mf-bowen-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mf-bowen-2.webp"></video>
<p>He took her on the table, slow at the start because the body was overcomplete with the want and the cortex was nowhere, and then steady once he had got the rhythm. <i>"Good boy, Tom. ...keep going. ...you have been a very good lab assistant."</i></p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mf-bowen-3.webp" alt="Bowen mid-thrust between Chen's thighs on the conference table, the rest of the room visible">
<div class="vessel-subentry-title" style="margin-top:1.5em;">MMF · The federal pair</div>
<p>Reyes was the one who moved first across the table. He stood up, walked the four paces around the corner of the wood, put one large hand at the base of Chen's throat in the small composed register of a senior agent who has decided what the next ten minutes are going to be, and pushed his cock into her mouth without breaking the rhythm Bowen had at the other end of her. Park, the half-second too slow, came around the long way and took the open side of her against the wood. <i>"Is there room at the half-circle for two more cocks, ma'am?"</i> Reyes, dry, mid-thrust. The room was not in a state to refuse.</p>
<video class="scene-video" src="media/video/lunch-orgy-mmf-feds-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mmf-feds-1.webp"></video>
<video class="scene-video" src="media/video/lunch-orgy-mmf-feds-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-mmf-feds-2.webp"></video>
<p>The two federal agents worked her at both ends, the wedding rings catching the conference-room fluorescents, the institutional cadence fully gone from both of them. Chen took the geometry like she had been trained for it, which in the body's record she had been. The Aldrin frame had landed in both cortexes a week earlier; this was its waking-life answer.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-mmf-feds-3.webp" alt="Reyes and Park at the table, Chen taking both of them, mid-act">
<div class="vessel-subentry-title" style="margin-top:1.5em;">FFM · Halvorsen and Holloway round it out</div>
<p>Halvorsen, who had been the only one at the table not yet on the table, was guided up onto it by Holloway with the small private register of a woman who had been waiting a long time to get her senior staff in a state where she could pick the geometry. Holloway climbed up beside Chen with the half-laugh of a postdoc who could not believe the cafeteria had become this room, kissed Chen on the mouth across the polished wood, then guided Halvorsen between Chen's thighs while Chen had Bowen back at her mouth.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ffm-hollohalv-1.webp" alt="Halvorsen guided up onto the table by Holloway, Chen between them">
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-ffm-hollohalv-2.webp" alt="The three of them on the table, Halvorsen mid-thrust between Chen's thighs, Holloway at Chen's mouth">
<video class="scene-video" src="media/video/lunch-orgy-ffm-hollohalv-3.webm" autoplay muted loop playsinline poster="media/scenes/vessel/lunch-orgy-ffm-hollohalv-3.webp"></video>
<div class="vessel-subentry-title" style="margin-top:1.5em;">Aftermath</div>
<p>By twelve fifty-five the conference-room veneer was wet, the four chairs were in the wrong places, and Chen was on her back on the wood with her face turned to the ceiling and her chest and stomach painted in the work of five separate bodies that had spent the last fifty-five minutes deciding what they did about her. Sofia was laughing at the corner of the table like a woman who had finally exhaled after fifteen years. Halvorsen was wiping the table with a paper napkin in the small efficient rigour of an incident-response checklist. Holloway and Bowen were already getting their lab coats back on in the corner. Reyes and Park, the federal agents, were the slowest of the five to compose, and the institutional cadence took two full minutes to reseat in their voices.</p>
<img class="scene-img" src="media/scenes/vessel/lunch-orgy-aftermath.webp" alt="The aftermath bukkake — Chen on her back on the conference table, painted by five bodies, the room around her in the small clean rigour of an incident-response">
<p>One o'clock sharp. The room read as a room. The conference table was dry and polished. The chairs were exactly where they had been at noon. The brie jar was empty (Halvorsen pocketed it; the empty jar was in the lab dishwasher by one-ten). The sandwich plate was half-eaten, the way it would be if six people had eaten lunch and talked shop. Halvorsen, Holloway, Sofia, Bowen exited through the BSL-3 door at one-oh-one, two-and-two. Reyes and Park exited through the main door at one-oh-three, suited, composed. Chen, last, killed the conference-room light at one-oh-four and pulled the door shut behind her. The IT camera loop ended at one-oh-five. The live feed came back online. The conference room read in the building's surveillance record as having been empty between twelve and one.</p>
<p>The biggest single biomass haul of the route. Six cortices, six full conditioning rollovers, the host's professional standing inside the lab actually improved by the hour. Every one of the six carries the hour now as a sub-cognitive imprint they will not surface in any cortex-legible way for weeks, possibly never. The memory works on them in the background, the way the body files the things the body is not allowed to know it knows. The next time the host needs any of them, the body will answer faster than the cortex will.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · An hour not yet spent</h2>
<p><i>There is an hour the IT camera record could be looped over, and a conference table that could be set with a laced lunch. You have not steered the host to spend the hour yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hendersonConfessionFired>>
<h2 class="journal-vessel-h2">The booth</h2>
<p>The DOMINATION script you wrote into Doris Henderson's thought channel at the Sandersfield Corner Market on Saturday surfaced on Sunday morning at quarter to ten. She walked into the empty pre-service sanctuary of Sandersfield Methodist intending to apologise to Pastor Whitman for her grocery-store outburst. She did not apologise. She slid into the kneeler side of the small wooden counsel booth, opened her rehearsed sentence, and the script broke through mid-word. By the time the second sentence was forming in her cortex she was already standing up from the kneeler side and walking around the dividing panel onto his side.</p>
<p>She knelt on the floorboards in front of him. She undid his trousers. The matron-piety vocabulary she has been performing for two decades of Sunday sermons crystallised onto his cock. //Pastor. Pastor your cock is so lovely. I have been blind. So many Sundays. I did not understand what He was asking of me.// Halvorsen does not understand anything happening to him; Whitman is not Halvorsen, the comparison is the host's. Whitman is broken open in a register no Methodist pastor of fifteen years' standing has used in any booth.</p>
<video class="scene-video" src="media/video/henderson-confession-bj.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-confession-bj.webp"></video>
<p>He came on her face. Two thick strokes across her cheek and chin and upper lip and the pearl earring on the side closer to his thigh. Then Doris's own hand came up, gathered the cum on her cheek, and drew the cross on her own forehead. Vertical first, hairline to bridge. Horizontal second, temple to temple. Her body has knelt in that church for eight years, and a woman who has just received something holy marks herself with it. Pastor Whitman did not move. He sat on the chair and watched a churchwoman bless herself with what had just come out of him, with no frame for any of it. Doris closed her eyes and said //Amen//. Three times.</p>
<img class="scene-img" src="media/scenes/vessel/henderson-confession-facial.webp" alt="Doris Henderson kneeling in the wooden counsel booth, eyes closing, her own hand at her forehead having just drawn a small wet cross of cum on herself, cum still on her cheek and chin and pearl earring, Pastor Whitman frozen on the chair behind her in stunned disbelief">
<p>She wiped her cheek, her chin, her upper lip, the pearl earring. She did not touch the cross. She folded the handkerchief, returned it to the inside pocket of her cardigan, helped Pastor Whitman do his trousers back up because he was not yet able to do them up himself, and told him she would see him at the eleven o'clock service.</p>
<p>She kept the cross through the eleven service, where a mark on a churchwoman's forehead reads as grace, and wiped it off in the rear-view mirror in the car park before she drove home, because the same mark at her own kitchen table is a question Gerald would ask and she has no answer for. The wiping-it-off-for-Gerald is the part that will keep her coming back. The Sandersfield Methodist Church is now a productive vector. Pastor Whitman consecrated nothing; he watched her do it, and he will not have the language for what he saw until late Tuesday night, alone in his office.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A booth you have not yet pushed her into</h2>
<p><i>There is a small wooden counsel booth at the side of the nave of the Sandersfield Methodist Church, and a Sunday morning where the DOMINATION script you have not yet written would surface in Doris Henderson's mouth instead of the apology she has been rehearsing. You have not landed the script yet, or the Sunday it would run on has not yet arrived.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenFeminizeShatterEver>>
<h2 class="journal-vessel-h2">Bowen, on his knees</h2>
<p>You feminised him on the surface first, dressed the want up in soft things, and then went under it and overwrote the last file that still said he was a man who happened to be doing this. What was left builds its own room now, bare stone and low red light, and it puts him on the floor of it before you have crossed the threshold.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-shatter-domme.webp" alt="A dim red-lit bare stone chamber, Elena Chen in a glossy black latex catsuit and heeled boots standing over Tom Bowen with the sole of one boot on his chest, a riding crop in one gloved hand, looking down at him where he lies bound and submissive in soft underthings.">
<p>He wakes belonging to the host and registers nothing new in it, because nothing about it feels new to him anymore. The polite-junior cadence stays on at the bench because the work requires it, but the thing under it has been rewritten, and it holds without you. There is no deeper layer left under this one.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A layer not yet reached</h2>
<p><i>There is a frame on the Relay wall lit with Bowen's mind, and a softness under the surface edit that has not been broken all the way down. You have not feminised him and then gone beneath it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.bowenAlphaShatterEver>>
<h2 class="journal-vessel-h2">Bowen, the reversal</h2>
<p>You reversed the wiring first, let him learn he could take the lead when it was offered, and then went under it and overwrote the last limit he still believed was on what he could take. In the dream he stopped waiting to be offered. He pushed the host down onto her knees and used her throat, spitting on her face and saying everything he had never dared say at the bench.</p>
<video class="scene-video" src="media/video/bowen-alpha-shatter-facefuck.webm" autoplay muted loop playsinline poster="media/scenes/vessel/bowen-alpha-shatter-facefuck.webp"></video>
<p>He finished across her face and left her wrecked under it, and told her that was how she should have been looking at him the whole time.</p>
<img class="scene-img" src="media/scenes/vessel/bowen-alpha-shatter-facial.webp" alt="Close-up on Elena Chen on her knees, her glasses and face striped with cum, her eye makeup run down her cheeks, her composed expression wrecked, Tom Bowen's hand loosely in her hair.">
<p>He wakes certain he can take her and certain she has earned everything he wants to do to her, and the certainty does not feel new to him because nothing about it does anymore. It holds without you. There is no deeper layer left under this one.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A limit not yet broken</h2>
<p><i>There is a frame on the Relay wall lit with Bowen's mind, and a reversal that still asks permission somewhere underneath. You have not reversed him and then broken the last limit on what he takes yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hendersonEvent1Done>>
<h2 class="journal-vessel-h2">Doris, the Late Mart</h2>
<p>The evening after the dream walk turned her, Doris cornered you in the back aisle of a near-empty mart, defiant and frightened, blaming you for the dreams that had been kneeling her down every night. You did not argue it in a cereal aisle. You walked her to the staff restroom and shut the door, and the defiance did not survive being moved.</p>
<p>You named it for her. //You have been dreaming about cocks. Kneeling for them with your mouth open. Have you not?// She admitted it in a whisper, and you told her the trouble was not in her head, the trouble was two years of dreaming about it instead of getting some actual fucking.</p>
<video class="scene-video" src="media/video/henderson-mart-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-mart-1.webp"></video>
<p>The till kid came back to check the noise and you pulled him in, put Doris on her hands and knees on the restroom floor, and had him fuck her while you crouched by her head. //Forty-three and you take it like you were built for it, because you were. Your body still works. You can still have them.//</p>
<p>Then a second worker came back looking for the first and froze in the doorway, and you told him not to just stand there. //The slut is getting her whole mind blanked out by a single cock, and she is still hungry. I think she wants more.// Doris turned her head and went for his belt with both hands. //Cocks. Yes. I love cocks.//</p>
<video class="scene-video" src="media/video/henderson-mart-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/henderson-mart-2.webp"></video>
<p>She took them both, spitroasted on the restroom floor, the till kid breeding her from behind while she swallowed the other, and she thanked you on the cold tile for telling her what she was for. //A reproduction cow. A hole for cocks.// She walked out of that mart believing, all the way down, that she is a breeding animal and a hole for whatever cock is nearest, and that it is the best news she has had in a decade. The cock-worship has a job now.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A mart run not yet taken</h2>
<p><i>Once the dream walk turns her, Doris starts cracking in her waking life, and what surfaces is not gratitude but a cornered, frightened defiance with something underneath it that a closed door brings out. You have not turned her yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.fantasizeCocksEverFired>>
<h2 class="journal-vessel-h2">Fantasize about the cocks</h2>
<p>Four dick pics in her thread history, sent to her by name across the last several weeks. The body had been keeping count for longer than the cortex had been willing to notice. One evening on her own couch the noticing arrived. She walked to the bedroom, opened the drawer, and let the body run the script the cortex had spent weeks declining to authorise.</p>
<video class="scene-video" src="media/video/fantasy-gangbang.webm" autoplay muted loop playsinline poster="media/scenes/vessel/fantasy-gangbang.webp"></video>
<p>The fantasy came in pieces. She could not decide which of them to start with, so she did not. She was on her knees on a duvet that was not hers, surrounded by men whose faces she was not bothering to render, hands and mouths and cocks everywhere on her at once. She turned the vibrator up. She was on her back, taking one in her mouth and one in her cunt and the third in her hand, fourth and fifth above her shoulders, opening her mouth for whichever cock wanted it next.</p>
<p>The orgasm landed with the vibrator pressed flat against her clit and the fantasy holding the finish for the full length of it. Five cocks at once, the four real men plus one she had not yet collected, finishing on her face at the same time. The body got the script it had been asking for.</p>
<img class="scene-img" src="media/scenes/vessel/fantasy-facial.webp" alt="The post-orgasm fantasy facial, Elena's face painted by five faceless cocks">
<p>The fantasy is available to her now whenever her hand goes for the vibrator. She signed off on a script with her own orgasm that she could never have signed off on in writing, and the script is now a wire. ...the next time she scrolls the threads, the body will already know what they are for.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a count the body has been keeping that the cortex has not yet admitted to. You have not steered her to the drawer in her bedroom yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.firstMasturbationFired>>
<h2 class="journal-vessel-h2">The Shower</h2>
<p>The day had half-vented down the drain and the bathroom door was locked, and the suggestion landed without the host's cortex flagging it as an interruption. Her left hand drifted between her legs before she quite registered deciding to, shoulder blades flat against the back tile of the small frosted-glass stall, the spray loud enough to cover the sound her breathing started making.</p>
<img class="scene-img" src="media/scenes/vessel/chen-shower.webp" alt="Elena alone in her small dim apartment bathroom shower stall, the spray hitting her chest, eyes closed, head tilted back against the dark tile, one hand braced on the tile, the other hand between her thighs, warm yellow bathroom light through the frosted glass.">
<p>It was the first time she had let herself in longer than she was willing to count, and the body remembered the shape of it immediately. This was the milestone the rest of the route opened off, the night the host stopped pretending the wanting was not there. The door in the dream opened the same night.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a locked bathroom door, a loud warm spray, and a hand that drifts before the cortex can object. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.couchMasturbationSeen>>
<h2 class="journal-vessel-h2">The Couch</h2>
<p>The shower was not the only surface the host learned to use. One evening the hand that picks up the remote closed the streaming app instead, opened the browser, and went to the site already in the history, and the pajama bottoms came off on the way back from the bedroom with the dildo. None of it had the texture of a decision any more. It had the texture of the kettle, of the lipstick, of a thing the evening simply contained.</p>
<img class="scene-img" src="media/scenes/vessel/payoff-shelf-l3.webp" alt="Elena on her own living room couch, pajama top pulled up and no bottoms, leaning back into the couch corner with a silicone dildo in one hand between her legs and the other on her own breast, eyes half on the screen across the room, dim warm side-table lamp the only light.">
<p>The orgasm came the unhurried way it comes when the body is not being asked to perform for anyone, and afterward she lay back loose and warm with the screen still going. Once the couch routine settles into a habit, the evening runs it on its own, and the host stops pretending she sits down there for the television.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · An evening not yet reached</h2>
<p><i>There is an evening where the remote-hand reaches past the rerun for something the body actually wants. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaDrinksKissed>>
<h2 class="journal-vessel-h2">The Cab Door</h2>
<p>Sofia turned at the open cab door to say goodnight and the host leaned in. The kiss landed on the corner of her mouth, slid over half an inch into the real thing for two seconds, and both of them backed off at the same breath and laughed into the cold. Sofia filed it under //the wine// out loud, and started the long quiet process of refiling it as something else from the cab home.</p>
<img class="scene-img" src="media/scenes/vessel/chen-sofia-cab-kiss.webp" alt="Elena and Sofia kissing on the sidewalk beside an open yellow cab">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a cab at the kerb, a goodnight half-said into the cold, and a half-inch of distance the host could close. You have not steered her across it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaDrinksLesbianFired>>
<h2 class="journal-vessel-h2">The Couch, Then the Bed</h2>
<p>You waved the cab off at the kerb, walked Sofia two blocks to the host's car, and drove her back to Cedar Crescent. A second bottle of red on the couch, a mini-series neither of them watched, the friend-register losing its last load-bearing wall a sentence at a time. By the time the kiss landed it was no longer a question of whether.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-apartment-couch-kiss.webp" alt="Elena and Sofia kissing on the apartment couch, two glasses of red on the coffee table">
<p>Then the bed. The first time the host had brought anyone into that bedroom in over a year, and the woman she brought into it was the friend she has had since their first lab rotation. Andrés got a single text from Sofia's phone about a late night at the lab; the rest of the night belonged to the apartment.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-bedroom-sex.webp" alt="Sofia and Elena in bed in Elena's bedroom, two women">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a version of the night where the cab gets waved off, the friend-register loses its last load-bearing wall on the couch, and a bed that has held nobody for over a year holds two of them by midnight. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaDrinksStrangerBathroomWatchFired>>
<h2 class="journal-vessel-h2">The Bathroom, Watching</h2>
<p>You worked a man at the bar into the table over the course of the third pour, slipped the dose into Sofia's wine, and sent the two of them down the back corridor together. From the wood-panelled wall two paces back, cardigan folded across her front, the host watched her oldest friend fucked against the white tiles by a stranger she had introduced herself to twenty minutes earlier.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-stranger-bathroom-sex.webp" alt="Sofia against the white-tiled bathroom wall with a man, Elena watching through the door from outside">
<p>He finished on her chest, the bra still on the floor at her feet, and Sofia walked back out into the bar with the small composed half-laugh of a woman who has not yet remembered what the last twenty minutes were.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-stranger-bathroom-cumtits.webp" alt="Sofia in the bathroom aftermath, cum on her chest, blouse open">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a man at the bar, a single-occupancy at the back, and a half-cracked door the host can stand two paces from. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaDrinksThreesomeFired>>
<h2 class="journal-vessel-h2">Three of Them in the Single-Occupancy</h2>
<p>You took the man at the bar by the wrist and the friend by the half-laugh, and you walked the three of them down the back corridor of the south-side bar together. The deadbolt went over and the bartender, twenty feet away, did not look up. Sofia on her knees on the cold tile beside the host, blouse over her head, the dare on her face.</p>
<video class="scene-video" src="media/video/sofia-threesome-1.webm" autoplay muted loop playsinline poster="media/scenes/vessel/sofia-threesome-1.webp"></video>
<img class="scene-img" src="media/scenes/vessel/sofia-threesome-2.webp" alt="The three of them in the bathroom, mid-act">
<p>He picked Sofia in the end, and the host let him, and the dare did the rest. Three bodies in a single-occupancy on a weeknight, and a bartender who has stopped noticing things about the host's table on principle.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-threesome-3.webp" alt="The three of them, aftermath">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a deadbolt on the single-occupancy and a version of the night where three bodies are on the inside of it. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaDrinksOrgyFired>>
<h2 class="journal-vessel-h2">The Bar Tips Over</h2>
<p>The biofilm the host had laid down on the prior visit had been working slow across every body that came through the south-side bar for days. The second time you brought Sofia back to the corner two-top, the room had been waiting. The estrus cascade vented off the host's exhale into the air-handler, and the bartender locked the front door from the inside without being asked.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-bar-orgy-1.webp" alt="The south-side bar tipping, the bartender locking the front door, patrons converging">
<video class="scene-video" src="media/video/sofia-bar-orgy-2.webm" autoplay muted loop playsinline poster="media/scenes/vessel/sofia-bar-orgy-2.webp"></video>
<p>The bartender, the two regulars at the counter, the couple at the four-top, the cook from the back. By last call the room had stopped being a bar and started being whatever the saturation made it, and the host worked the floor of it with her oldest friend somewhere in the same crowd.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-bar-orgy-3.webp" alt="The bar mid-orgy, aftermath cascade">
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>A small neighbourhood bar, a coat the host laid down on the prior visit, and the moment that coat tips. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaShatterFollowupDone>>
<h2 class="journal-vessel-h2">Sofia at the door</h2>
<p>The doorbell went off after eleven on a weeknight, the way doorbells only go off when something has come apart somewhere. Sofia in the corridor with her coat still on, her hair half-fallen, a small overnight bag at her feet. She had gone through Andrés's apartment that night and found nothing on his phone, in his desk, in the inside of his coat pockets. Nothing to file the leaving against. ...she did not need to.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-at-elena-door.webp" alt="Sofia at Elena's apartment doorway, the small overnight bag at her feet">
<p>The wine landed on the kitchen counter, the cardigan ended up around Sofia's shoulders on the couch, the story from college Elena had not heard out loud in years got told. Then Sofia lifted her head off Elena's shoulder, leaned in close, and asked the question her body had been carrying for a long time.</p>
<p><i>"...Elena. I have been thinking about you. ...for longer than I want to admit. ...is this okay?"</i></p>
<p>It was. The kiss landed on the couch, the cardigan slipped the rest of the way off, and Elena walked Sofia to the bedroom without speaking.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-elena-bedroom.webp" alt="Sofia and Elena in Elena's bedroom, Sofia between Elena's thighs">
<p>Sofia went down on Elena first, slow and unhurried, Elena's hand at the back of her head, finally letting herself have what she had been wanting for years. Then Elena pulled her up and turned her over, and the second half of the hour was slower still. Years of friendship under it, and years of wanting under the years of friendship, and the apartment around them quiet.</p>
<p>After, Sofia at Elena's shoulder, voice low and warm. ...so this happened. ...I am going to sleep here tonight. ...I do not know what I am going to do about Andrés yet. ...one thing at a time. Sofia's wiring now points at Elena, deeper than it pointed at Andrés on his best day. What she does about the apartment two miles away in the next several days is hers to figure out. The answer the body has already decided on, underneath the practical question, is the host.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is a doorbell after eleven, an overnight bag in the corridor, and a friend who has finally stopped believing the thing that has held her in place. You have not steered her across the threshold yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.sofiaCallSexFired>>
<h2 class="journal-vessel-h2">The Call</h2>
<p>The host called Sofia for some chit-chat and got something else. Sofia picked up on the fourth ring with a wet working sound already on the line and a breath that was not a talking breath, and when Elena asked whether things with Andrés had finally sorted themselves out, Sofia laughed and said //fuck Andrés// and explained, between thrusts, that this was her trainer from the gym and that she was done waiting on a man who came home tired and would not touch her.</p>
<p>She talked through the whole of it, throwing the occasional insult down the line at the fiancé who did not know his half of the new arrangement yet, and when Elena asked for a picture she had the man take one, her own hands too full to hold the phone, and sent it without hesitating.</p>
<img class="scene-img" src="media/scenes/vessel/sofia-call-selfie.webp" alt="Photo of Sofia taken by the man, a mid-30s Mexican-American woman with olive skin and shoulder-length dark wavy hair, flushed and grinning, two fingers up in a victory sign by her cheek, her other hand wrapped around the base of a thick dark-skinned cock she is kissing, tongue out beneath the head, cum across her face and tongue, looking into the camera.">
<p>The doubt the host once made load-bearing resolved itself the only way it could once she stopped propping the marriage up. What is left is a woman who takes what she wants and photographs it, and a channel that no longer needs the host on it to run.</p>
<<else>>
<h2 class="journal-vessel-h2">??? · A night not yet reached</h2>
<p><i>There is an evening, once Sofia stops waiting on the man who will not touch her, when a chit-chat call turns into something she is happy to be interrupted from. You have not steered her there yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvSushiGoodbyeKissed>>
<h2 class="journal-vessel-h2">The Goodbye Kiss</h2>
<p>Outside the sushi place, three cabs idling at the curb, you angled Nia a half-step toward Nathan and let the evening do the rest. She went up on her toes and kissed him at the corner of the mouth, the first time the thing between the two senior PIs crossed out of the lab and into open air. You watched it land from two paces back.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-goodbye-kiss.webp" alt="Nia kisses Nathan at the curb outside the sushi place while Chen watches from two paces back">
<<else>>
<h2 class="journal-vessel-h2">??? · An ending not yet reached</h2>
<p><i>There is a version of the sushi evening that finishes at the curb with a kiss nobody at the table planned. You have not steered the host's night that way yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvSushiBathroomAftermathFired>>
<h2 class="journal-vessel-h2">Nathan and Nia, the Back Bathroom</h2>
<p>You pushed the two of them past the point either could keep walking it off. Nathan and Nia excused themselves to the wood-panelled bathroom at the back of the sushi place, and you kept the host in the corridor, listening. They came back out flushed and rumpled and quietly, permanently aware of a thing two careful people had just done and could not take back.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-bathroom-mid-act.webp" alt="Nathan and Nia having sex in the sushi-bar bathroom">
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-bathroom-aftermath.webp" alt="Nathan and Nia recovering in the bathroom afterward">
<<else>>
<h2 class="journal-vessel-h2">??? · An ending not yet reached</h2>
<p><i>Loosen the two of them far enough and the sushi place has a back room, and a corridor the host can wait in. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and ($ch2Events.hollohalvSushiChenBJFired or $ch2Events.hollohalvSushiChenHalvFullFired)>>
<h2 class="journal-vessel-h2">Chen and Nathan</h2>
<p>With Nia drunk past the point of noticing, you stopped pairing other people off and pointed the host at Nathan directly.</p>
<<if $ch2Events.hollohalvSushiChenBJFired>>
<p>She went down on him in the cramped footwell under the chef counter, the chef a few feet away keeping his eyes on his board.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-bj-under-counter.webp" alt="Chen on her knees in the footwell under the chef counter with Nathan">
<</if>>
<<if $ch2Events.hollohalvSushiChenHalvFullFired>>
<p>She pulled him into the back bathroom and had him properly, bent over the sink and then up against the door, and finished it on her knees.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-1.webp" alt="Chen bent over the sink with Nathan in the sushi-bar bathroom">
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-2.webp" alt="Chen against the bathroom door with Nathan">
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-chen-halv-3.webp" alt="Chen on her knees in the bathroom, the act finished">
<</if>>
<<else>>
<h2 class="journal-vessel-h2">??? · An ending not yet reached</h2>
<p><i>There is a version of the night where the host stops arranging other people and takes one of them for herself. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvSushiThreesomeFired>>
<h2 class="journal-vessel-h2">Three of Them, the Door Latched</h2>
<p>The bathroom held all three of them with the door latched. Nia up on the marble counter, the host on her knees between her thighs, Nathan behind the host. When the men were spent, the host and Nia traded what they left between their mouths.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-threesome-2.webp" alt="Chen, Nathan and Nia in the latched sushi-bar bathroom">
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-threesome-3.webp" alt="Chen and Nia sharing a cum-swap kiss">
<<else>>
<h2 class="journal-vessel-h2">??? · An ending not yet reached</h2>
<p><i>A latched bathroom door, and a count on the other side of it higher than two. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back">><<goto "Journal-Vessel">><</link>>
<<if $ch2Events and $ch2Events.hollohalvSushiOrgyFired>>
<h2 class="journal-vessel-h2">The Room Tips Past the Line</h2>
<p>The compounds you had spent the evening seeding into the counter, the chopsticks, the rims of the cups finally tipped the whole room over at once. The sushi bar stopped being a sushi bar. Every pairing in the place came apart and re-formed, the chef included, and the host took a stranger against the wood-panelled wall while it happened around her.</p>
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-orgy-1.webp" alt="The sushi bar mid-orgy">
<img class="scene-img" src="media/scenes/vessel/hollohalv-sushi-orgy-3.webp" alt="Chen against the wall as the bar-wide encounter runs around her">
<<else>>
<h2 class="journal-vessel-h2">??? · An ending not yet reached</h2>
<p><i>Everything a body can leave on a counter, on chopsticks, on the rim of a cup, and what becomes of a small room when all of it lands at once. You have not reached it yet.</i></p>
<</if>><<bg "bg-status">>
<<link "← Back to Status" "Status">><</link>>
/* Defensive init for legacy saves that pre-date $cheatSettings */
<<if not $cheatSettings>><<set $cheatSettings to { minigamesDisabled: false, disableRng: false }>><</if>>
<<if $cheatSettings.disableRng is undefined>><<set $cheatSettings.disableRng to false>><</if>>
<div class="cheat-menu">
<div class="cheat-menu-title">⚡ Cheat Menu</div>
<div class="cheat-menu-row">
<<link "Clear all suspicion">>
<<set _names to ["karen","dale","megan","jess","ryan"]>>
<<for _n range _names>><<set $familySuspicion[_n].level to 0>><</for>>
<<set $suspicion.hoffmanHouse to 0>>
<<goto `passage()`>>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "+5 Skill Points">>
<<set $player.skillPoints += 5>>
<<goto `passage()`>>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "+5 Biomass">>
<<set $player.biomass = Math.min($player.biomass + 5, $player.maxBiomass)>>
<<goto `passage()`>>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "Refill Biomass">>
<<set $player.biomass = $player.maxBiomass>>
<<goto `passage()`>>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "+50 Max Biomass">>
<<set $player.maxBiomass to Math.min($player.maxBiomass + 50, 999)>>
<<goto `passage()`>>
<</link>>
</div>
<<if $player.currentHost and $adaptations and $adaptations[$player.currentHost]>>
<div class="cheat-menu-row">
<<link `"+2 AP to current host (" + $player.currentHost + ")"`>>
<<set $adaptations[$player.currentHost].points to ($adaptations[$player.currentHost].points or 0) + 2>>
<<goto `passage()`>>
<</link>>
</div>
<</if>>
<div class="cheat-menu-divider"></div>
<div class="cheat-menu-row">
<span class="cheat-menu-label">Minigames:</span>
<<if $cheatSettings.minigamesDisabled>>
<span class="cheat-menu-state cheat-menu-state-off">DISABLED</span>
<<link "[enable]">><<set $cheatSettings.minigamesDisabled to false>><<goto `passage()`>><</link>>
<<else>>
<span class="cheat-menu-state cheat-menu-state-on">ENABLED</span>
<<link "[disable]">><<set $cheatSettings.minigamesDisabled to true>><<goto `passage()`>><</link>>
<</if>>
</div>
<div class="cheat-menu-warning">
⚠ <b>Accessibility option.</b> When minigames are disabled, every operation that would normally play a minigame is auto-resolved by a random roll. <b>This breaks the game's no-RNG rule on purpose</b> — outcomes are no longer deterministic.
</div>
<<if $cheatSettings.minigamesDisabled>>
<div class="cheat-menu-row">
<span class="cheat-menu-label">RNG rolls (disabled minigames):</span>
<<if $cheatSettings.disableRng>>
<span class="cheat-menu-state cheat-menu-state-off">DISABLED</span>
<<link "[enable]">><<set $cheatSettings.disableRng to false>><<goto `passage()`>><</link>>
<<else>>
<span class="cheat-menu-state cheat-menu-state-on">ENABLED <span style="color:#888;font-weight:normal;">(default)</span></span>
<<link "[disable]">><<set $cheatSettings.disableRng to true>><<goto `passage()`>><</link>>
<</if>>
</div>
<div class="cheat-menu-warning">
🎲 <b>Nobody likes to save scum.</b> When RNG rolls are disabled, every operation just //succeeds// — no roll, no reload, no shame. Hostless, harmless, hassle-free. The parasite will find something else to be smug about.
</div>
<</if>>
</div><<bg "bg-lab">>
<<set _members to ["karen","dale","megan","jess","ryan"]>>
<<set _kinkOpts to {
karen: ["exhibitionism","lingerie","bondage","denial","size","penetration"],
dale: ["humiliation","chastity","somnophilia","helplessness"],
megan: ["praise","rough","publicSex","gangbang"],
jess: ["voyeurism","degradation","brat","band"],
ryan: ["cumeating","submission","touchaddiction","breeding","voyeurism","camgirl"]
}>>
<<set _routeOpts to {
karen: ["liberation","dominant"],
dale: ["cuckold","oblivious"],
megan: ["marcus","slut"],
jess: ["breakdown","punk"],
ryan: ["feminization","familySeeker"]
}>>
<div class="passage-title" style="color:#ff6b6b">DEV — Test Setup</div>
<div class="dev-testsetup">
<div class="dev-section-title">STATE SNAPSHOT</div>
<div class="dev-state">
chapter <<= $chapter>> · day <<= $day>> · phase <<= $house.dayPhase>> · biomass <<= $player.biomass>>/<<= $player.maxBiomass>> · SP <<= $player.skillPoints>> · beastRoute "<<= $beastRoute>>" · tier <<= setup.getHouseTier()>>
</div>
<div class="dev-state">
routes: K=<<= $karenRoute || "-">> D=<<= $daleRoute || "-">> M=<<= $meganRoute || "-">> J=<<= $jessRoute || "-">> R=<<= $ryanRoute || "-">> · futa=<<= $karenFutaRoute>>
</div>
<<for _m range _members>>
<div class="dev-state">
<b><<= _m>></b>: ph/dr/ps = <<= $conditioning[_m].pheromone>>/<<= $conditioning[_m].dream>>/<<= $conditioning[_m].psionic>> · kinks [<<= $kinks[_m].join(", ")>>]
</div>
<</for>>
<div class="dev-section-title">BOWEN ESCAPE ROOM — ONE-CLICK FULL TEST RIG</div>
<div class="cheat-menu-row">
<<link "[★ BOWEN READY → main passage · all skills, Chen host, Bowen=24/24/24, fresh flags]">>
/* Chapter / route / scheduling */
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $day to 7>>
<<set $weekday to "Friday">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Player + host */
<<set $player.currentHost to "chen">>
<<set $player.biomass to 50>><<set $player.maxBiomass to 50>>
<<set $player.skillPoints to 30>>
<<set $chenSuspicion to 0>>
<<set $suspicion.lab to 3>>
/* Conditioning — Bowen at 24/24/24 (T3 unlocked, _bTotal=72) */
<<set $conditioning.bowen.pheromone to 8>><<set $conditioning.bowen.dream to 8>><<set $conditioning.bowen.psionic to 8>>
<<set $conditioning.chen.pheromone to 10>><<set $conditioning.chen.dream to 10>><<set $conditioning.chen.psionic to 10>>
/* Skills, full vessel + Bowen-event kit (Lure+Spec, Delve, Biofilm,
EM, Transfer, VM, Nudge, Dream Walk, Dream Adaptation, Memory
Implant, Hormonal Override) */
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Emotional Manipulation">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Dream Walk">>
<<grantSkillTreeAbility "Dream Adaptation">>
<<grantSkillTreeAbility "Memory Implant">>
<<grantSkillTreeAbility "Hormonal Override">>
/* Reset all Bowen escape-room flags so the event is fresh */
<<set $ch2Events.bowenEscapeRoomFired to false>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<set $ch2Events.bowenEscapeRoomLureDay to 0>>
<<set $ch2Events.bowenEscapeRoomBiofilmDay to 0>>
<<set $ch2Events.bowenEscapeRoomDelveDay to 0>>
<<set $ch2Events.bowenEscapeRoomComplimentSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomRideOfferSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomEMFired to false>>
<<set $ch2Events.bowenEscapeRoomTransferAttractionFired to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKiss to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKissDay to 0>>
<<set $ch2Events.bowenEscapeRoomKissed to false>>
<<set $ch2Events.bowenBiofilmCoated to false>>
<<set $ch2Events.bowenEscapeRoomVialBroken to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveHJFired to false>>
<<set $ch2Events.bowenEscapeRoomVialFeeDodged to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
<<set $ch2Events.bowenEscapeRoomComeUpSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentImplantFired to false>>
<<set $ch2Events.bowenLongAttraction to false>>
<<set $ch2Events.bowenLongTimeImplanted to false>>
<<set $ch2Events.bowenEscapeRoomHormonalOverrideFired to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveSexFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirSuggestSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirFired to false>>
<<set $ch2Events.bowenBoudoirShared to false>>
<<set $ch2Events.bowenImplant to true>><<set $ch2Events.bowenHumiliated to true>> /* lunch implant pre-fired so the dream-walk Futa path is open for one-click testing */
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to false>>
<<goto "Ch2-Vessel-Event-BowenEscapeRoomEvening">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ BOWEN BOUDOIR READY → main passage · second-visit ambush, biofilm-coated from prior visit]">>
/* Same state as BOWEN READY above, plus the second-visit
prereq (bowenBiofilmCoated permanent from a "first visit"
where biofilm was cast). Jump to main passage; the Boudoir
NUDGE option auto-appears at the top before the standard
puzzle prose runs. */
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $day to 8>>
<<set $weekday to "Friday">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 50>><<set $player.maxBiomass to 50>>
<<set $player.skillPoints to 30>>
<<set $chenSuspicion to 0>>
<<set $suspicion.lab to 3>>
<<set $conditioning.bowen.pheromone to 8>><<set $conditioning.bowen.dream to 8>><<set $conditioning.bowen.psionic to 8>>
<<set $conditioning.chen.pheromone to 10>><<set $conditioning.chen.dream to 10>><<set $conditioning.chen.psionic to 10>>
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Emotional Manipulation">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Dream Walk">>
<<grantSkillTreeAbility "Dream Adaptation">>
<<grantSkillTreeAbility "Memory Implant">>
<<grantSkillTreeAbility "Hormonal Override">>
/* Reset per-visit flags so the second-visit menu is fresh */
<<set $ch2Events.bowenEscapeRoomFired to false>>
<<set $ch2Events.bowenEscapeRoomAccepted to false>>
<<set $ch2Events.bowenEscapeRoomDay to 0>>
<<set $ch2Events.bowenEscapeRoomLureDay to 0>>
<<set $ch2Events.bowenEscapeRoomBiofilmDay to 0>>
<<set $ch2Events.bowenEscapeRoomDelveDay to 0>>
<<set $ch2Events.bowenEscapeRoomComplimentSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomRideOfferSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomEMFired to false>>
<<set $ch2Events.bowenEscapeRoomTransferAttractionFired to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKiss to false>>
<<set $ch2Events.bowenEscapeRoomNudgeKissDay to 0>>
<<set $ch2Events.bowenEscapeRoomKissed to false>>
<<set $ch2Events.bowenEscapeRoomVialBroken to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveHJFired to false>>
<<set $ch2Events.bowenEscapeRoomVialFeeDodged to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamLureFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>>
<<set $ch2Events.bowenEscapeRoomCorollaDreamRemarkLanded to false>>
<<set $ch2Events.bowenEscapeRoomComeUpSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentFired to false>>
<<set $ch2Events.bowenEscapeRoomApartmentImplantFired to false>>
<<set $ch2Events.bowenEscapeRoomHormonalOverrideFired to false>>
<<set $ch2Events.bowenEscapeRoomAlcoveSexFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirSuggestSlipFired to false>>
<<set $ch2Events.bowenEscapeRoomBoudoirFired to false>>
<<set $ch2Events.bowenBoudoirShared to false>>
<<set $ch2Events.bowenImplant to true>><<set $ch2Events.bowenHumiliated to true>> /* lunch implant pre-fired so the dream-walk Futa path is open for one-click testing */
/* SECOND-VISIT PREREQ — biofilm coated from prior visit + first-visit-done flag */
<<set $ch2Events.bowenBiofilmCoated to true>>
<<set $ch2Events.bowenEscapeRoomFirstVisitDone to true>>
<<goto "Ch2-Vessel-Event-BowenEscapeRoomEvening">>
<</link>>
</div>
<div class="dev-section-title">SOFIA DRINKS — ONE-CLICK FULL TEST RIG</div>
<div class="cheat-menu-row">
<<link "[★ SOFIA DRINKS READY → main passage · all skills, Sofia=8/8/8, Andrés-doubt active, fresh flags]">>
/* Chapter / route / scheduling */
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $day to 7>>
<<set $weekday to "Tuesday">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
/* Player + host */
<<set $player.currentHost to "chen">>
<<set $player.biomass to 50>><<set $player.maxBiomass to 50>>
<<set $player.skillPoints to 30>>
<<set $chenSuspicion to 0>>
<<set $suspicion.lab to 3>>
/* Conditioning — Sofia at 8/8/8 (T3 unlocked, _vTotal=24) */
<<set $conditioning.vasquez.pheromone to 8>><<set $conditioning.vasquez.dream to 8>><<set $conditioning.vasquez.psionic to 8>>
<<set $conditioning.chen.pheromone to 10>><<set $conditioning.chen.dream to 10>><<set $conditioning.chen.psionic to 10>>
/* Skills — full vessel + Sofia-event kit */
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Toxic Spores">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Memory Implant">>
/* Andrés-doubt + lunch Memory Implant pre-planted (the cologne thread
is active AND the lunch implant has dulled Sofia's pattern-detection
on intimate signals — so the Stranger Setup accept-branch can fire.
Toggle off vasquezImplant separately to test the refuse branch). */
<<set $ch2Events.vasquezAndresDoubt to true>>
<<set $ch2Events.vasquezImplant to true>>
/* Reset all Sofia-drinks flags so the event is fresh */
<<set $ch2Events.sofiaDrinksFired to false>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<<set $ch2Events.sofiaDrinksLureDay to 0>>
<<set $ch2Events.sofiaDrinksSporesDay to 0>>
<<set $ch2Events.sofiaDrinksDelveDay to 0>>
<<set $ch2Events.sofiaDrinksNudgeKissDay to 0>>
<<set $ch2Events.sofiaDrinksFlirtSlipFired to false>>
<<set $ch2Events.sofiaDrinksAndresPushed to false>>
<<set $ch2Events.sofiaDrinksAfterhoursOpen to false>>
<<set $ch2Events.sofiaDrinksTouchedWrist to false>>
<<set $ch2Events.sofiaDrinksImplantFired to false>>
<<set $ch2Events.sofiaDrinksTransferFired to false>>
<<set $ch2Events.sofiaDrinksTransferAttractionFired to false>>
<<set $ch2Events.sofiaDrinksKissed to false>>
<<set $ch2Events.sofiaDrinksLurePheromoneFired to false>>
<<set $ch2Events.sofiaDrinksEngagedSlipFired to false>>
<<set $ch2Events.sofiaDrinksBiofilmUsed to false>>
<<set $ch2Events.sofiaDrinksBiofilmDay to 0>>
<<set $ch2Events.sofiaDrinksStrangerSetupFired to false>>
<<set $ch2Events.sofiaDrinksStrangerRefused to false>>
<<set $ch2Events.sofiaDrinksLesbianFired to false>>
<<set $ch2Events.sofiaDrinksThreesomeFired to false>>
<<set $ch2Events.sofiaDrinksOrgyFired to false>>
<<set $ch2Events.sofiaDrinksMorningRecall to false>>
<<set $ch2Events.chenAndresDoubt to false>>
<<goto "Ch2-Vessel-Event-SofiaDrinksEvening">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ SOFIA DRINKS SECOND VISIT → biofilm-coated from prior visit, Estrus Trigger ready for bar orgy]">>
/* Same state as SOFIA DRINKS READY plus the second-visit prereq:
biofilm was cast on a prior day, Estrus Trigger is unlocked, the
VM panel will surface the bar-primed hint and the ESTRUS skill
button will be active for the orgy outcome. */
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $day to 9>>
<<set $weekday to "Tuesday">>
<<set $vessel.phase to "home">>
<<set $house.dayPhase to "night">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 50>><<set $player.maxBiomass to 50>>
<<set $player.skillPoints to 30>>
<<set $chenSuspicion to 0>>
<<set $suspicion.lab to 3>>
<<set $conditioning.vasquez.pheromone to 8>><<set $conditioning.vasquez.dream to 8>><<set $conditioning.vasquez.psionic to 8>>
<<set $conditioning.chen.pheromone to 10>><<set $conditioning.chen.dream to 10>><<set $conditioning.chen.psionic to 10>>
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Toxic Spores">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Memory Implant">>
<<grantSkillTreeAbility "Estrus Trigger">>
<<set $ch2Events.vasquezAndresDoubt to true>>
<<set $ch2Events.vasquezImplant to true>>
/* Reset per-visit flags */
<<set $ch2Events.sofiaDrinksFired to false>>
<<set $ch2Events.sofiaDrinksAccepted to false>>
<<set $ch2Events.sofiaDrinksDay to 0>>
<<set $ch2Events.sofiaDrinksLureDay to 0>>
<<set $ch2Events.sofiaDrinksSporesDay to 0>>
<<set $ch2Events.sofiaDrinksDelveDay to 0>>
<<set $ch2Events.sofiaDrinksNudgeKissDay to 0>>
<<set $ch2Events.sofiaDrinksFlirtSlipFired to false>>
<<set $ch2Events.sofiaDrinksAndresPushed to false>>
<<set $ch2Events.sofiaDrinksAfterhoursOpen to false>>
<<set $ch2Events.sofiaDrinksImplantFired to false>>
<<set $ch2Events.sofiaDrinksTransferFired to false>>
<<set $ch2Events.sofiaDrinksTransferAttractionFired to false>>
<<set $ch2Events.sofiaDrinksKissed to false>>
<<set $ch2Events.sofiaDrinksLurePheromoneFired to false>>
<<set $ch2Events.sofiaDrinksEngagedSlipFired to false>>
<<set $ch2Events.sofiaDrinksStrangerSetupFired to false>>
<<set $ch2Events.sofiaDrinksStrangerRefused to false>>
<<set $ch2Events.sofiaDrinksLesbianFired to false>>
<<set $ch2Events.sofiaDrinksThreesomeFired to false>>
<<set $ch2Events.sofiaDrinksOrgyFired to false>>
<<set $ch2Events.sofiaDrinksMorningRecall to false>>
/* SECOND-VISIT PREREQ — biofilm coated on a prior day (day 5, current $day=9) */
<<set $ch2Events.sofiaDrinksBiofilmUsed to true>>
<<set $ch2Events.sofiaDrinksBiofilmDay to 5>>
<<goto "Ch2-Vessel-Event-SofiaDrinksEvening">>
<</link>>
</div>
<div class="dev-section-title">HENDERSON CHAIN — Saturday corner-store recurring state machine</div>
<div class="dev-state">
State now:
<<if $ch2Events.hendersonImplanted>>
<b>IMPLANTED</b> (chain closed)
<<elseif $ch2Events.henderson1PublicConfrontationFired>>
<b>HUMILIATED</b> (next visit: <<if $ch2Events.henderson1HumiliatedFullFired>>HumiliatedSmall<<else>>HumiliatedFull<</if>>)
<<elseif $ch2Events.cornerStoreSlipFired>>
<b>SNAPPED</b> <<if $ch2Events.henderson1GossipDelved>>(gossip delved, Transfer Thought ready)<</if>> (next visit: <<if $ch2Events.henderson1SnappedFullFired>>SnappedSmall<<else>>SnappedFull<</if>>)
<<else>>
<b>INIT</b> (next visit: <<if $ch2Events.cornerStoreNudgeFired>>Init post-Nudge variant<<else>>Init full<</if>>)
<</if>>
·
Flags:
cornerStoreNudgeFired=<<= $ch2Events.cornerStoreNudgeFired or false>> ·
cornerStoreSlipFired=<<= $ch2Events.cornerStoreSlipFired or false>> ·
publicConfrontation=<<= $ch2Events.henderson1PublicConfrontationFired or false>> ·
implanted=<<= $ch2Events.hendersonImplanted or false>> ·
gossipDelved=<<= $ch2Events.henderson1GossipDelved or false>> ·
snappedFullSeen=<<= $ch2Events.henderson1SnappedFullFired or false>> ·
humiliatedFullSeen=<<= $ch2Events.henderson1HumiliatedFullFired or false>> ·
snappedNudgeFiredToday=<<= ($ch2Events.henderson1SnappedNudgeDay or 0) is ($day or 0)>>
</div>
<div class="cheat-menu-row">
<<link "[★ INIT: encounter via dispatcher (fresh chain, no flags set)]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to false>>
<<set $ch2Events.cornerStoreSlipFired to false>>
<<set $ch2Events.cornerStoreChildhoodDelved to false>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ INIT re-visit: Delve still to fire, second Saturday in chain]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to false>>
<<set $ch2Events.cornerStoreSlipFired to false>>
<<set $ch2Events.cornerStoreChildhoodDelved to false>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.groceriesVisitCount to 2>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ INIT post-Nudge: Nudge already deployed, Slip wobble available]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to false>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ SNAPPED FULL: first bookclub scene via dispatcher]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ SNAPPED SMALL: re-fire variant, Henderson alone]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to true>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ SNAPPED + Gossip Delved: Transfer Thought ready]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1GossipDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to true>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ HUMILIATED FULL: first post-confrontation scene]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to true>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to true>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to true>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[★ HUMILIATED SMALL: re-fire, Henderson rallying]">>
<<set $chapter to 2>>
<<set $route to "labVessel">>
<<set $player.currentHost to "chen">>
<<set $player.biomass to 30>><<set $player.maxBiomass to 30>>
<<grantSkillTreeAbility "Delve Host Memories">>
<<grantSkillTreeAbility "Delve Deep Memories">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Tongue Slip">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Memory Implant">>
<<set $ch2Events.cornerStoreNudgeFired to true>>
<<set $ch2Events.cornerStoreSlipFired to true>>
<<set $ch2Events.cornerStoreChildhoodDelved to true>>
<<set $ch2Events.henderson1PublicConfrontationFired to true>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to true>>
<<set $ch2Events.henderson1HumiliatedFullFired to true>>
<<set $ch2Events.henderson1GossipDelved to true>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Ch2-Vessel-Event-Groceries-Henderson1">>
<</link>>
</div>
<div class="cheat-menu-row">
<b>Direct passage jumps</b>:
<<link "[Init]" "Ch2-Vessel-Event-Groceries-Henderson1-Init">><</link>>
·
<<link "[SnappedFull]" "Ch2-Vessel-Event-Groceries-Henderson1-SnappedFull">><</link>>
·
<<link "[SnappedSmall]" "Ch2-Vessel-Event-Groceries-Henderson1-SnappedSmall">><</link>>
·
<<link "[HumiliatedFull]" "Ch2-Vessel-Event-Groceries-Henderson1-HumiliatedFull">><</link>>
·
<<link "[HumiliatedSmall]" "Ch2-Vessel-Event-Groceries-Henderson1-HumiliatedSmall">><</link>>
·
<<link "[Nudge]" "Ch2-Vessel-Event-Groceries-Henderson1-Nudge">><</link>>
·
<<link "[SnappedNudge]" "Ch2-Vessel-Event-Groceries-Henderson1-SnappedNudge">><</link>>
·
<<link "[DelveDeepHenderson]" "Ch2-Vessel-Event-Groceries-Henderson1-DelveDeepHenderson">><</link>>
·
<<link "[TransferThoughtHenderson]" "Ch2-Vessel-Event-Groceries-Henderson1-TransferThoughtHenderson">><</link>>
·
<<link "[Implant]" "Ch2-Vessel-Event-Groceries-Henderson1-Implant">><</link>>
·
<<link "[Exit]" "Ch2-Vessel-Event-Groceries-Henderson1-Exit">><</link>>
</div>
<div class="cheat-menu-row">
<b>State toggles</b>:
<<link "[Nudge=on]">><<set $ch2Events.cornerStoreNudgeFired to true>><<goto "Dev-TestSetup">><</link>>
<<link "[Nudge=off]">><<set $ch2Events.cornerStoreNudgeFired to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[Slip=on]">><<set $ch2Events.cornerStoreSlipFired to true>><<goto "Dev-TestSetup">><</link>>
<<link "[Slip=off]">><<set $ch2Events.cornerStoreSlipFired to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[PublicConfrontation=on]">><<set $ch2Events.henderson1PublicConfrontationFired to true>><<goto "Dev-TestSetup">><</link>>
<<link "[PublicConfrontation=off]">><<set $ch2Events.henderson1PublicConfrontationFired to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[Implanted=on]">><<set $ch2Events.hendersonImplanted to true>><<goto "Dev-TestSetup">><</link>>
<<link "[Implanted=off]">><<set $ch2Events.hendersonImplanted to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[SnappedFullSeen=on]">><<set $ch2Events.henderson1SnappedFullFired to true>><<goto "Dev-TestSetup">><</link>>
<<link "[SnappedFullSeen=off]">><<set $ch2Events.henderson1SnappedFullFired to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[HumiliatedFullSeen=on]">><<set $ch2Events.henderson1HumiliatedFullFired to true>><<goto "Dev-TestSetup">><</link>>
<<link "[HumiliatedFullSeen=off]">><<set $ch2Events.henderson1HumiliatedFullFired to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[GossipDelved=on]">><<set $ch2Events.henderson1GossipDelved to true>><<goto "Dev-TestSetup">><</link>>
<<link "[GossipDelved=off]">><<set $ch2Events.henderson1GossipDelved to false>><<goto "Dev-TestSetup">><</link>>
·
<<link "[SnappedNudgeDay=reset]">><<set $ch2Events.henderson1SnappedNudgeDay to 0>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<<link "[reset Henderson chain (clear all chain flags)]">>
<<set $ch2Events.cornerStoreNudgeFired to false>>
<<set $ch2Events.cornerStoreSlipFired to false>>
<<set $ch2Events.henderson1PublicConfrontationFired to false>>
<<set $ch2Events.hendersonImplanted to false>>
<<set $ch2Events.henderson1SnappedFullFired to false>>
<<set $ch2Events.henderson1HumiliatedFullFired to false>>
<<set $ch2Events.henderson1GossipDelved to false>>
<<set $ch2Events.henderson1NudgeSuspApplied to false>>
<<set $ch2Events.henderson1ImplantSuspApplied to false>>
<<set $ch2Events.henderson1TransferSuspApplied to false>>
<<set $ch2Events.henderson1SnappedNudgeDay to 0>>
<<set $ch2Events.eventResolvedToday to {}>>
<<goto "Dev-TestSetup">>
<</link>>
</div>
<div class="cheat-menu-row">
<<link "[Reset to fresh start (zeroes everything)]">>
<<set $chapter to 0>>
<<set $day to 1>>
<<set $player.biomass to 10>><<set $player.maxBiomass to 10>>
<<set $beastRoute to "">>
<<set $karenRoute to "">><<set $daleRoute to "">><<set $meganRoute to "">><<set $jessRoute to "">><<set $ryanRoute to "">>
<<set $karenFutaRoute to false>>
<<for _m range _members>>
<<set $conditioning[_m].pheromone to 0>>
<<set $conditioning[_m].dream to 0>>
<<set $conditioning[_m].psionic to 0>>
<<set $kinks[_m] to []>>
<</for>>
<<set $ch2Events to {}>>
<<set $houseEvents to {}>>
<<set $permanentDone to {}>>
<<goto "Dev-TestSetup">>
<</link>>
</div>
<div class="dev-section-title">CHAPTER / DAY / PHASE</div>
<div class="cheat-menu-row">
chapter: <<link "[0]">><<set $chapter to 0>><<goto "Dev-TestSetup">><</link>> <<link "[1]">><<set $chapter to 1>><<goto "Dev-TestSetup">><</link>> <<link "[2]">><<set $chapter to 2>><<goto "Dev-TestSetup">><</link>> <<link "[3]">><<set $chapter to 3>><<goto "Dev-TestSetup">><</link>>
phase: <<link "[day]">><<set $house.dayPhase to "day">><<goto "Dev-TestSetup">><</link>> <<link "[evening]">><<set $house.dayPhase to "evening">><<goto "Dev-TestSetup">><</link>> <<link "[night]">><<set $house.dayPhase to "night">><<goto "Dev-TestSetup">><</link>>
day: <<link "[+1]">><<set $day += 1>><<set $weekday to setup.weekdays[($day - 1) % 7]>><<if $ch2Events>><<set $ch2Events.eventResolvedToday to {}>><</if>><<goto "Dev-TestSetup">><</link>> <<link "[+5]">><<set $day += 5>><<set $weekday to setup.weekdays[($day - 1) % 7]>><<if $ch2Events>><<set $ch2Events.eventResolvedToday to {}>><</if>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="dev-section-title">BIOMASS</div>
<div class="cheat-menu-row">
<<link "[fill to max]">><<set $player.biomass to $player.maxBiomass>><<goto "Dev-TestSetup">><</link>>
<<link "[set 50/50]">><<set $player.maxBiomass to 50>><<set $player.biomass to 50>><<goto "Dev-TestSetup">><</link>>
<<link "[set 100/100]">><<set $player.maxBiomass to 100>><<set $player.biomass to 100>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="dev-section-title">JUMP TO PASSAGE</div>
<div class="cheat-menu-row">
<<textbox "$testJumpTarget" "Ch2-Vessel-Event-BowenEscapeRoomEvening">>
<<link "[JUMP]">><<goto $testJumpTarget>><</link>>
</div>
<div class="dev-section-title">BOWEN ESCAPE ROOM — sandboxed test rig</div>
<div class="dev-state">
bowen conditioning: ph <<= $conditioning.bowen.pheromone or 0>> dr <<= $conditioning.bowen.dream or 0>> ps <<= $conditioning.bowen.psionic or 0>> · _bTotal=<<= ($conditioning.bowen.pheromone or 0) + ($conditioning.bowen.dream or 0) + ($conditioning.bowen.psionic or 0)>>
</div>
<div class="dev-state">
skill-stack flags: ride-offer=<<= $ch2Events.bowenEscapeRoomRideOfferSlipFired or "false">> · EM=<<= $ch2Events.bowenEscapeRoomEMFired or "false">> · biofilm-coated=<<= $ch2Events.bowenBiofilmCoated or "false">> · transfer=<<= $ch2Events.bowenEscapeRoomTransferAttractionFired or "false">> · HO=<<= $ch2Events.bowenEscapeRoomHormonalOverrideFired or "false">>
</div>
<div class="dev-state">
T2/T3 setup flags: vialBroken=<<= $ch2Events.bowenEscapeRoomVialBroken or "false">> · feeDodged=<<= $ch2Events.bowenEscapeRoomVialFeeDodged or "false">> · corollaLure=<<= $ch2Events.bowenEscapeRoomCorollaDreamLureFired or "false">> · come-up-slip=<<= $ch2Events.bowenEscapeRoomComeUpSlipFired or "false">>
</div>
<div class="dev-state">
outcome flags: kissed=<<= $ch2Events.bowenEscapeRoomKissed or "false">> · alcoveHJ=<<= $ch2Events.bowenEscapeRoomAlcoveHJFired or "false">> · corollaDream=<<= $ch2Events.bowenEscapeRoomCorollaDreamFired or "false">> · apartment=<<= $ch2Events.bowenEscapeRoomApartmentFired or "false">> · apt-implant=<<= $ch2Events.bowenEscapeRoomApartmentImplantFired or "false">> · alcoveSex=<<= $ch2Events.bowenEscapeRoomAlcoveSexFired or "false">> · boudoir=<<= $ch2Events.bowenEscapeRoomBoudoirFired or "false">>
</div>
<div class="dev-state">
permanent canon: longAttraction=<<= $ch2Events.bowenLongAttraction or "false">> · longTimeImplanted=<<= $ch2Events.bowenLongTimeImplanted or "false">> · boudoirShared=<<= $ch2Events.bowenBoudoirShared or "false">>
</div>
<div class="cheat-menu-row">
<b>tier preset</b> (sets Bowen conditioning, drives _bTotal):
<<link "[T1: 2/2/2 = 6, _bTotal kiss-locked]">>
<<set $conditioning.bowen.pheromone to 2>><<set $conditioning.bowen.dream to 2>><<set $conditioning.bowen.psionic to 2>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T1: 8 → kiss unlock]">>
<<set $conditioning.bowen.pheromone to 3>><<set $conditioning.bowen.dream to 3>><<set $conditioning.bowen.psionic to 2>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T2: 15 → T2a/T2b unlock]">>
<<set $conditioning.bowen.pheromone to 5>><<set $conditioning.bowen.dream to 5>><<set $conditioning.bowen.psionic to 5>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T3: 24 → all T3 unlock]">>
<<set $conditioning.bowen.pheromone to 8>><<set $conditioning.bowen.dream to 8>><<set $conditioning.bowen.psionic to 8>>
<<goto "Dev-TestSetup">>
<</link>>
</div>
<div class="cheat-menu-row">
<b>skill grants</b>:
<<link "[+all Bowen-event skills]">>
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Emotional Manipulation">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Dream Walk">>
<<grantSkillTreeAbility "Dream Adaptation">>
<<grantSkillTreeAbility "Memory Implant">>
<<grantSkillTreeAbility "Hormonal Override">>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[+EM only]">><<grantSkillTreeAbility "Emotional Manipulation">><<goto "Dev-TestSetup">><</link>>
<<link "[+Dream Walk only]">><<grantSkillTreeAbility "Dream Walk">><<goto "Dev-TestSetup">><</link>>
<<link "[+Dream Adaptation only]">><<grantSkillTreeAbility "Dream Adaptation">><<goto "Dev-TestSetup">><</link>>
<<link "[+Hormonal Override only]">><<grantSkillTreeAbility "Hormonal Override">><<goto "Dev-TestSetup">><</link>>
<<link "[+Memory Implant only]">><<grantSkillTreeAbility "Memory Implant">><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>flag toggles</b>:
<<link "[toggle EM fired]">><<set $ch2Events.bowenEscapeRoomEMFired to not $ch2Events.bowenEscapeRoomEMFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle ride-offer slip]">><<set $ch2Events.bowenEscapeRoomRideOfferSlipFired to not $ch2Events.bowenEscapeRoomRideOfferSlipFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle kissed]">><<set $ch2Events.bowenEscapeRoomKissed to not $ch2Events.bowenEscapeRoomKissed>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle vialBroken]">><<set $ch2Events.bowenEscapeRoomVialBroken to not $ch2Events.bowenEscapeRoomVialBroken>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle bowenBiofilmCoated (durable)]">><<set $ch2Events.bowenBiofilmCoated to not $ch2Events.bowenBiofilmCoated>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle HO fired]">><<set $ch2Events.bowenEscapeRoomHormonalOverrideFired to not $ch2Events.bowenEscapeRoomHormonalOverrideFired>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>reset</b>:
<<link "[reset wrap (Fired/Accepted/Day)]">><<set $ch2Events.bowenEscapeRoomFired to false>><<set $ch2Events.bowenEscapeRoomAccepted to false>><<set $ch2Events.bowenEscapeRoomDay to 0>><<goto "Dev-TestSetup">><</link>>
<<link "[reset all outcome flags]">><<set $ch2Events.bowenEscapeRoomKissed to false>><<set $ch2Events.bowenEscapeRoomAlcoveHJFired to false>><<set $ch2Events.bowenEscapeRoomCorollaDreamFired to false>><<set $ch2Events.bowenEscapeRoomApartmentFired to false>><<set $ch2Events.bowenEscapeRoomApartmentImplantFired to false>><<set $ch2Events.bowenEscapeRoomAlcoveSexFired to false>><<set $ch2Events.bowenEscapeRoomBoudoirFired to false>><<goto "Dev-TestSetup">><</link>>
<<link "[reset daily caps]">><<set $ch2Events.bowenEscapeRoomLureDay to 0>><<set $ch2Events.bowenEscapeRoomBiofilmDay to 0>><<set $ch2Events.bowenEscapeRoomDelveDay to 0>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>jump direct to passage</b> (state must already be primed via presets above):
</div>
<div class="cheat-menu-row">
<<link "[main (Victorian-study room: entry)]" "Ch2-Vessel-Event-BowenEscapeRoomEvening">><</link>>
<<link "[Wrap (bus-stop, ride-offer slip 2)]" "Ch2-Vessel-Event-BowenEscapeRoom-Wrap">><</link>>
<<link "[Wrap-Hug]" "Ch2-Vessel-Event-BowenEscapeRoom-Wrap-Hug">><</link>>
<<link "[Wrap-Kiss (kerb wait)]" "Ch2-Vessel-Event-BowenEscapeRoom-Wrap-Kiss">><</link>>
</div>
<div class="cheat-menu-row">
<b>skills</b>:
<<link "[Lure spec chooser]" "Ch2-Vessel-Event-BowenEscapeRoom-LureSpec">><</link>>
<<link "[Lure-pheromone]" "Ch2-Vessel-Event-BowenEscapeRoom-Lure">><</link>>
<<link "[Lure-psionic]" "Ch2-Vessel-Event-BowenEscapeRoom-LurePsionic">><</link>>
<<link "[Lure-dream]" "Ch2-Vessel-Event-BowenEscapeRoom-LureDream">><</link>>
<<link "[DelveSurface]" "Ch2-Vessel-Event-BowenEscapeRoom-DelveSurface">><</link>>
<<link "[Biofilm]" "Ch2-Vessel-Event-BowenEscapeRoom-Biofilm">><</link>>
<<link "[EmotionalManip]" "Ch2-Vessel-Event-BowenEscapeRoom-EmotionalManip">><</link>>
<<link "[Transfer]" "Ch2-Vessel-Event-BowenEscapeRoom-TransferAttraction">><</link>>
<<link "[HormonalOverride]" "Ch2-Vessel-Event-BowenEscapeRoom-HormonalOverride">><</link>>
</div>
<div class="cheat-menu-row">
<b>T1 outcome</b>:
<<link "[T1 CarKiss]" "Ch2-Vessel-Event-BowenEscapeRoom-CarKiss">><</link>>
</div>
<div class="cheat-menu-row">
<b>T2 outcomes</b>:
<<link "[T2a AlcoveHandjob (vial substitution)]" "Ch2-Vessel-Event-BowenEscapeRoom-AlcoveHandjob">><</link>>
<<link "[T2b CorollaDrive (intermediate)]" "Ch2-Vessel-Event-BowenEscapeRoom-CorollaDrive">><</link>>
<<link "[T2b CorollaDream (outcome)]" "Ch2-Vessel-Event-BowenEscapeRoom-CorollaDream">><</link>>
</div>
<div class="cheat-menu-row">
<b>T3 outcomes</b>:
<<link "[T3a Apartment]" "Ch2-Vessel-Event-BowenEscapeRoom-Apartment">><</link>>
<<link "[T3b ApartmentImplant]" "Ch2-Vessel-Event-BowenEscapeRoom-ApartmentImplant">><</link>>
<<link "[T3c AlcoveSex (HO-gated)]" "Ch2-Vessel-Event-BowenEscapeRoom-AlcoveSex">><</link>>
<<link "[T3d Boudoir (second-visit)]" "Ch2-Vessel-Event-BowenEscapeRoomBoudoir">><</link>>
</div>
<div class="dev-section-title">SOFIA DRINKS — sandboxed test rig</div>
<div class="dev-state">
sofia (vasquez) conditioning: ph <<= $conditioning.vasquez.pheromone or 0>> dr <<= $conditioning.vasquez.dream or 0>> ps <<= $conditioning.vasquez.psionic or 0>> · _vTotal=<<= ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
</div>
<div class="dev-state">
skill-stack flags: andres-doubt=<<= $ch2Events.vasquezAndresDoubt or "false">> · lunch-implant=<<= $ch2Events.vasquezImplant or "false">> · transfer-attr=<<= $ch2Events.sofiaDrinksTransferAttractionFired or "false">> · lure-phero=<<= $ch2Events.sofiaDrinksLurePheromoneFired or "false">> · engaged-slip=<<= $ch2Events.sofiaDrinksEngagedSlipFired or "false">> · biofilm=<<= $ch2Events.sofiaDrinksBiofilmUsed or "false">>
</div>
<div class="dev-state">
outcome flags: kissed=<<= $ch2Events.sofiaDrinksKissed or "false">> · stranger-accept=<<= $ch2Events.sofiaDrinksStrangerSetupFired or "false">> · stranger-refused=<<= $ch2Events.sofiaDrinksStrangerRefused or "false">> · lesbian=<<= $ch2Events.sofiaDrinksLesbianFired or "false">> · threesome=<<= $ch2Events.sofiaDrinksThreesomeFired or "false">> · orgy=<<= $ch2Events.sofiaDrinksOrgyFired or "false">> · morning-recall=<<= $ch2Events.sofiaDrinksMorningRecall or "false">>
</div>
<div class="cheat-menu-row">
<b>tier preset</b> (sets Sofia conditioning, drives _vTotal):
<<link "[T1: 2/2/2 = 6, friendship-warm only]">>
<<set $conditioning.vasquez.pheromone to 2>><<set $conditioning.vasquez.dream to 2>><<set $conditioning.vasquez.psionic to 2>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T1: 8 → attracted-tier kiss unlock]">>
<<set $conditioning.vasquez.pheromone to 3>><<set $conditioning.vasquez.dream to 3>><<set $conditioning.vasquez.psionic to 2>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T2: 15 → Stranger / Lesbian unlock]">>
<<set $conditioning.vasquez.pheromone to 5>><<set $conditioning.vasquez.dream to 5>><<set $conditioning.vasquez.psionic to 5>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[T3: 24 → all T3 unlock]">>
<<set $conditioning.vasquez.pheromone to 8>><<set $conditioning.vasquez.dream to 8>><<set $conditioning.vasquez.psionic to 8>>
<<goto "Dev-TestSetup">>
<</link>>
</div>
<div class="cheat-menu-row">
<b>skill grants</b>:
<<link "[+all Sofia-event skills]">>
<<grantSkillTreeAbility "Drain Biomass">>
<<grantSkillTreeAbility "Pheromone Lure">>
<<grantSkillTreeAbility "Pheromone Specialization">>
<<grantSkillTreeAbility "Delve Superficial Memories">>
<<grantSkillTreeAbility "Toxic Spores">>
<<grantSkillTreeAbility "Biofilm Residue">>
<<grantSkillTreeAbility "Transfer Thought">>
<<grantSkillTreeAbility "Vulnerability Mapping">>
<<grantSkillTreeAbility "Nudge">>
<<grantSkillTreeAbility "Memory Implant">>
<<grantSkillTreeAbility "Estrus Trigger">>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[+Biofilm only]">><<grantSkillTreeAbility "Biofilm Residue">><<goto "Dev-TestSetup">><</link>>
<<link "[+Estrus Trigger only]">><<grantSkillTreeAbility "Estrus Trigger">><<goto "Dev-TestSetup">><</link>>
<<link "[+Memory Implant only]">><<grantSkillTreeAbility "Memory Implant">><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>flag toggles</b>:
<<link "[toggle andres-doubt]">><<set $ch2Events.vasquezAndresDoubt to not $ch2Events.vasquezAndresDoubt>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle lunch-implant (gates stranger-accept)]">><<set $ch2Events.vasquezImplant to not $ch2Events.vasquezImplant>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle lure-pheromone fired]">><<set $ch2Events.sofiaDrinksLurePheromoneFired to not $ch2Events.sofiaDrinksLurePheromoneFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle transfer-attraction]">><<set $ch2Events.sofiaDrinksTransferAttractionFired to not $ch2Events.sofiaDrinksTransferAttractionFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle engaged-slip fired]">><<set $ch2Events.sofiaDrinksEngagedSlipFired to not $ch2Events.sofiaDrinksEngagedSlipFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle lesbian-slip fired]">><<set $ch2Events.sofiaDrinksLesbianSlipFired to not $ch2Events.sofiaDrinksLesbianSlipFired>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle biofilm-coated (durable)]">><<set $ch2Events.sofiaDrinksBiofilmUsed to not $ch2Events.sofiaDrinksBiofilmUsed>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>reset</b>:
<<link "[reset wrap (Fired/Accepted/Day)]">><<set $ch2Events.sofiaDrinksFired to false>><<set $ch2Events.sofiaDrinksAccepted to false>><<set $ch2Events.sofiaDrinksDay to 0>><<goto "Dev-TestSetup">><</link>>
<<link "[reset all outcome flags]">><<set $ch2Events.sofiaDrinksKissed to false>><<set $ch2Events.sofiaDrinksStrangerSetupFired to false>><<set $ch2Events.sofiaDrinksStrangerRefused to false>><<set $ch2Events.sofiaDrinksEngagedSlipFired to false>><<set $ch2Events.sofiaDrinksLesbianFired to false>><<set $ch2Events.sofiaDrinksThreesomeFired to false>><<set $ch2Events.sofiaDrinksOrgyFired to false>><<set $ch2Events.sofiaDrinksMorningRecall to false>><<goto "Dev-TestSetup">><</link>>
<<link "[reset daily caps]">><<set $ch2Events.sofiaDrinksLureDay to 0>><<set $ch2Events.sofiaDrinksSporesDay to 0>><<set $ch2Events.sofiaDrinksDelveDay to 0>><<set $ch2Events.sofiaDrinksNudgeKissDay to 0>><<set $ch2Events.sofiaDrinksMutexDay to -1>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>jump direct to passage</b> (state must already be primed via presets above):
</div>
<div class="cheat-menu-row">
<<link "[main (two-top, skill menu)]" "Ch2-Vessel-Event-SofiaDrinksEvening">><</link>>
<<link "[Wrap (kiss/hug/T2 fork)]" "Ch2-Vessel-Event-SofiaDrinks-Wrap">><</link>>
<<link "[Wrap-Hug]" "Ch2-Vessel-Event-SofiaDrinks-Wrap-Hug">><</link>>
<<link "[Wrap-Kiss]" "Ch2-Vessel-Event-SofiaDrinks-Wrap-Kiss">><</link>>
</div>
<div class="cheat-menu-row">
<b>skills</b>:
<<link "[Lure spec chooser]" "Ch2-Vessel-Event-SofiaDrinks-LureSpec">><</link>>
<<link "[Lure-pheromone]" "Ch2-Vessel-Event-SofiaDrinks-Lure">><</link>>
<<link "[Lure-psionic]" "Ch2-Vessel-Event-SofiaDrinks-LurePsionic">><</link>>
<<link "[Lure-dream]" "Ch2-Vessel-Event-SofiaDrinks-LureDream">><</link>>
<<link "[DelveSurface]" "Ch2-Vessel-Event-SofiaDrinks-DelveSurface">><</link>>
<<link "[Spores spec chooser]" "Ch2-Vessel-Event-SofiaDrinks-SporesSpec">><</link>>
<<link "[Spores-pheromone]" "Ch2-Vessel-Event-SofiaDrinks-Spores">><</link>>
<<link "[Spores-psionic]" "Ch2-Vessel-Event-SofiaDrinks-SporesPsionic">><</link>>
<<link "[Spores-dream]" "Ch2-Vessel-Event-SofiaDrinks-SporesDream">><</link>>
<<link "[Biofilm]" "Ch2-Vessel-Event-SofiaDrinks-Biofilm">><</link>>
<<link "[Transfer-Andrés]" "Ch2-Vessel-Event-SofiaDrinks-Transfer">><</link>>
<<link "[Transfer-Attraction]" "Ch2-Vessel-Event-SofiaDrinks-TransferAttraction">><</link>>
<<link "[Implant]" "Ch2-Vessel-Event-SofiaDrinks-Implant">><</link>>
</div>
<div class="cheat-menu-row">
<b>T2 outcomes</b>:
<<link "[T2a StrangerSetup]" "Ch2-Vessel-Event-SofiaDrinks-StrangerSetup">><</link>>
<<link "[T2b Lesbian (apartment)]" "Ch2-Vessel-Event-SofiaDrinks-Lesbian">><</link>>
</div>
<div class="cheat-menu-row">
<b>T3 outcomes</b>:
<<link "[T3a Threesome (apartment, stranger + Chen)]" "Ch2-Vessel-Event-SofiaDrinks-Threesome">><</link>>
<<link "[T3b Orgy (second-visit, BioArch)]" "Ch2-Vessel-Event-SofiaDrinks-Orgy">><</link>>
</div>
<div class="dev-section-title">MINIGAME TEST</div>
<div class="cheat-menu-row">
<<link "[Vialsort: pop next from pile]">><<set $vessel to ($vessel or {})>><<set $ch2Events.devVialsortIndex to -1>><<goto "Dev-Minigame-Vialsort">><</link>>
<<link "[reset pile cursor]">><<set $ch2Events.vialsortPileIndex to 0>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<<link "[Vialsort: force puzzle 1]">><<set $vessel to ($vessel or {})>><<set $ch2Events.devVialsortIndex to 0>><<goto "Dev-Minigame-Vialsort">><</link>>
<<link "[force puzzle 2]">><<set $vessel to ($vessel or {})>><<set $ch2Events.devVialsortIndex to 1>><<goto "Dev-Minigame-Vialsort">><</link>>
<<link "[force puzzle 3]">><<set $vessel to ($vessel or {})>><<set $ch2Events.devVialsortIndex to 2>><<goto "Dev-Minigame-Vialsort">><</link>>
</div>
<div class="cheat-menu-row" style="font-size:0.78em;color:#888;">pile cursor: <<= $ch2Events.vialsortPileIndex or 0>></div>
<div class="dev-section-title">SUNDAY NIGHT SHIFT</div>
<div class="cheat-menu-row">
<b>jump</b>:
<<link "[Arrival + Decon]" "Ch2-Vessel-Event-SundayNightShift">><</link>>
<<link "[Labwork]" "Ch2-Vessel-Event-SundayNightShift-Labwork">><</link>>
<<link "[Reagent Prep (minigame)]" "Ch2-Vessel-Event-SundayNightShift-Vialsort">><</link>>
</div>
<div class="cheat-menu-row">
<<link "[Break Room: run advanced]">><<set $ch2Events.sundayShiftRunAdvanced to true>><<goto "Ch2-Vessel-Event-SundayNightShift-BreakRoom">><</link>>
<<link "[Break Room: run failed]">><<set $ch2Events.sundayShiftRunAdvanced to false>><<goto "Ch2-Vessel-Event-SundayNightShift-BreakRoom">><</link>>
<<link "[PheromoneLure]" "Ch2-Vessel-Event-SundayNightShift-PheromoneLure">><</link>>
<<link "[DelveSofia]" "Ch2-Vessel-Event-SundayNightShift-DelveSofia">><</link>>
<<link "[EmotionalManipulation]" "Ch2-Vessel-Event-SundayNightShift-EmotionalManipulation">><</link>>
</div>
<div class="cheat-menu-row">
<b>skills</b> (night-shift chain + Relay for the dream alcove):
<<link "[grant night-shift skill kit]">><<grantSkillTreeAbility "Pheromone Lure">><<grantSkillTreeAbility "Delve Superficial Memories">><<grantSkillTreeAbility "Emotional Manipulation">><<grantSkillTreeAbility "Tongue Slip">><<grantSkillTreeAbility "Relay">><<goto "Dev-TestSetup">><</link>>
<<link "[+Relay only]">><<grantSkillTreeAbility "Relay">><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>flag toggle</b>:
<<link "[toggle sundayNightShiftDone (first-time vs recurring)]">><<set $ch2Events.sundayNightShiftDone to not $ch2Events.sundayNightShiftDone>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle sundaySofiaDelved]">><<set $ch2Events.sundaySofiaDelved to not $ch2Events.sundaySofiaDelved>><<goto "Dev-TestSetup">><</link>>
<<link "[toggle sundaySofiaEMFired (Relay-Sofia frame)]">><<set $ch2Events.sundaySofiaEMFired to not $ch2Events.sundaySofiaEMFired>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>Sofia conditioning</b>:
<<link "[+1 pheromone]">><<set $conditioning.vasquez.pheromone to ($conditioning.vasquez.pheromone or 0) + 1>><<goto "Dev-TestSetup">><</link>>
<<link "[set total 8 (Delve path)]">><<set $conditioning.vasquez.pheromone to 8>><<set $conditioning.vasquez.dream to 0>><<set $conditioning.vasquez.psionic to 0>><<goto "Dev-TestSetup">><</link>>
<<link "[reset to 0]">><<set $conditioning.vasquez.pheromone to 0>><<set $conditioning.vasquez.dream to 0>><<set $conditioning.vasquez.psionic to 0>><<goto "Dev-TestSetup">><</link>>
</div>
<<set _devSofiaCond to ($conditioning.vasquez.pheromone or 0) + ($conditioning.vasquez.dream or 0) + ($conditioning.vasquez.psionic or 0)>>
<div class="cheat-menu-row" style="font-size:0.78em;color:#888;">sundayNightShiftDone: <<= ($ch2Events.sundayNightShiftDone ? "true (recurring intro)" : "false (first-time)")>> · researchProgress: <<= $ch2Events.researchProgress or 0>> · Sofia conditioning: <<= _devSofiaCond>> <<if _devSofiaCond gte 8>><<if $ch2Events.sundaySofiaDelved>>(EM path<<if $ch2Events.sundaySofiaEMFired>>, Relay open<</if>>)<<else>>(Delve path)<</if>><<else>>(Lure path)<</if>></div>
<div class="dev-section-title">FATHER'S SHOES (closet 3-edit)</div>
<div class="cheat-menu-row">
<b>jump</b>:
<<link "[Corridor]" "Ch2-Vessel-Dream-Bedroom-Closet">><</link>>
<<link "[Shoes Preview]" "Ch2-Vessel-Dream-Closet-Shoes-Preview">><</link>>
<<link "[Shoes Edit]" "Ch2-Vessel-Dream-Closet-Shoes">><</link>>
<<link "[Box exhibit]" "Ch2-Vessel-Dream-Closet">><</link>>
</div>
<div class="cheat-menu-row">
<b>shoesProgress set</b>:
<<link "[0]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 0>><<goto "Dev-TestSetup">><</link>>
<<link "[1]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 1>><<goto "Dev-TestSetup">><</link>>
<<link "[2]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 2>><<goto "Dev-TestSetup">><</link>>
<<link "[3]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 3>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>payoff via morning hub</b> (sets progress + queues 'shoes' + → Loop-Wake):
<<link "[L1]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 1>><<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>><<if $ch2Events.dreamEditsToShow.indexOf("shoes") lt 0>><<run $ch2Events.dreamEditsToShow.push("shoes")>><</if>><<goto "Ch2-Vessel-Loop-Wake">><</link>>
<<link "[L2]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 2>><<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>><<if $ch2Events.dreamEditsToShow.indexOf("shoes") lt 0>><<run $ch2Events.dreamEditsToShow.push("shoes")>><</if>><<goto "Ch2-Vessel-Loop-Wake">><</link>>
<<link "[L3]">><<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 0, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>><</if>><<set $vesselMods.closet.shoesProgress to 3>><<if not $ch2Events.dreamEditsToShow>><<set $ch2Events.dreamEditsToShow to []>><</if>><<if $ch2Events.dreamEditsToShow.indexOf("shoes") lt 0>><<run $ch2Events.dreamEditsToShow.push("shoes")>><</if>><<goto "Ch2-Vessel-Loop-Wake">><</link>>
</div>
<div class="cheat-menu-row">
<b>payoff event direct</b>:
<<link "[PayoffShoesL1]" "Ch2-Vessel-Event-PayoffShoesL1">><</link>>
<<link "[L2]" "Ch2-Vessel-Event-PayoffShoesL2">><</link>>
<<link "[L3]" "Ch2-Vessel-Event-PayoffShoesL3">><</link>>
</div>
<<set _devShoes to ($vesselMods and $vesselMods.closet and $vesselMods.closet.shoesProgress) or 0>>
<div class="cheat-menu-row" style="font-size:0.78em;color:#888;">shoesProgress: <<= _devShoes>> / 3 <<if _devShoes gte 3>>(substituted, HERS hub choices unlocked)<</if>></div>
<div class="dev-section-title">VESSEL ENDING (Ch2 final scene)</div>
<div class="cheat-menu-row" style="font-size:0.85em;color:#aaa;">
Grants the full set of ending preconditions (3 compasses shattered + all dream rooms 3/3) so the foyer redirect fires on the next dream entry without grinding the dream-edit work.
</div>
<div class="cheat-menu-row">
<<link "[grant ending preconditions]">>
/* compasses */
<<set $ch2Events.safeMoralShattered to true>>
<<set $ch2Events.safeSexualShattered to true>>
<<set $ch2Events.safeWorkShattered to true>>
/* kitchen */
<<if not $vesselMods.kitchen>><<set $vesselMods.kitchen to {ashtrayProgress: 3, sinkProgress: 3, stoveProgress: 3, counterProgress: 3, actionsThisNight: 0, itemActedThisNight: {}}>>
<<else>>
<<set $vesselMods.kitchen.ashtrayProgress to 3>>
<<set $vesselMods.kitchen.sinkProgress to 3>>
<<set $vesselMods.kitchen.stoveProgress to 3>>
<<set $vesselMods.kitchen.counterProgress to 3>>
<</if>>
/* bedroom */
<<if not $vesselMods.bedroom>><<set $vesselMods.bedroom to {vanityProgress: 3, wardrobeProgress: 3, shelfProgress: 3, actionsThisNight: 0, itemActedThisNight: {}}>>
<<else>>
<<set $vesselMods.bedroom.vanityProgress to 3>>
<<set $vesselMods.bedroom.wardrobeProgress to 3>>
<<set $vesselMods.bedroom.shelfProgress to 3>>
<</if>>
/* closet */
<<if not $vesselMods.closet>><<set $vesselMods.closet to {shoesProgress: 3, actionsThisNight: 0, itemActedThisNight: {shoes: false}}>>
<<else>>
<<set $vesselMods.closet.shoesProgress to 3>>
<</if>>
/* workplace (labcoat scrapped — only microscope + computer) */
<<if not $vesselMods.workplace>><<set $vesselMods.workplace to {microscopeProgress: 3, computerProgress: 3, actionsThisNight: 0, itemActedThisNight: {}}>>
<<else>>
<<set $vesselMods.workplace.microscopeProgress to 3>>
<<set $vesselMods.workplace.computerProgress to 3>>
<</if>>
/* clear one-shot guard */
<<set $ch2Events.vesselEndgameFired to false>>
<<goto "Dev-TestSetup">>
<</link>>
<<link "[clear endgame fired flag]">><<set $ch2Events.vesselEndgameFired to false>><<goto "Dev-TestSetup">><</link>>
</div>
<div class="cheat-menu-row">
<b>jump direct to ending passage</b>:
<<link "[1 Reveal]" "Ch2-Vessel-Ending-Reveal">><</link>>
<<link "[2 Accept]" "Ch2-Vessel-Ending-Accept">><</link>>
<<link "[3 Gift]" "Ch2-Vessel-Ending-Gift">><</link>>
<<link "[4 LabDay]" "Ch2-Vessel-Ending-LabDay">><</link>>
<<link "[5 Meeting]" "Ch2-Vessel-Ending-Meeting">><</link>>
<<link "[6 Cliffhanger]" "Ch2-Vessel-Ending-Cliffhanger">><</link>>
<<link "[Ch3 Stub]" "Chapter3-Vessel-Stub">><</link>>
</div>
<div class="dev-section-title">NAV</div>
<div class="cheat-menu-row">
<<link "[back to AgeGate]">><<goto "AgeGate">><</link>>
<<link "[back to Prologue]">><<goto "Prologue">><</link>>
</div>
</div>
/* ---- VIALSORT minigame dev test harness -----------------------
Standalone test passage, bypasses the operation-coupled <<minigame>>
widget and calls setup.startMinigame directly. Wired into the dev
console MINIGAME TEST row. The real Sunday-night-shift wiring will
use the <<minigame "vialsort" ...>> widget once that passage exists. */<div class="passage-title">Reagent Rack — minigame test</div>
<div class="lab-location">Dev harness, <<if ($ch2Events.devVialsortIndex or -1) gte 0>>forced puzzle <<= $ch2Events.devVialsortIndex + 1>><<else>>pile mode (cursor at <<= $ch2Events.vialsortPileIndex or 0>>)<</if>></div>
<div id="minigame-container"></div>
<<run (function () {
var ev = State.variables.ch2Events || {};
var idx = (ev.devVialsortIndex === undefined || ev.devVialsortIndex === null) ? -1 : ev.devVialsortIndex;
var cfg = {
timeout: 0,
capacity: 4,
wide: true,
successPassage: "Dev-Minigame-Vialsort-Win",
failPassage: "Dev-Minigame-Vialsort-Fail",
hint: "Sort every vial to a single colour. Click a vial to lift its top colour, click another to pour. Timer starts on START."
};
/* idx >= 0 forces a specific puzzle; idx < 0 leaves puzzleIndex unset
so the game pops the next layout off the pile. */
if (idx >= 0) { cfg.puzzleIndex = idx; }
setTimeout(function () { setup.startMinigame("vialsort", cfg); }, 0);
})()>><div class="passage-title">Rack resolved</div>
<p>Vialsort solved. <<link "[run it again]">><<goto "Dev-Minigame-Vialsort">><</link>> <<link "[dev console]">><<goto "Dev-TestSetup">><</link>></p><div class="passage-title">Rack unresolved</div>
<p>Vialsort failed. <<link "[try again]">><<goto "Dev-Minigame-Vialsort">><</link>> <<link "[dev console]">><<goto "Dev-TestSetup">><</link>></p>/* <<rollEvents phase maxCount>> — render eligible event cards.
Sets _events to the rolled list, then renders each as a styled
choice div. Hub passages can use this widget OR call
setup.rollEvents directly and iterate the list themselves
(useful when wrapping prose around individual events). */
<<widget "rollEvents">>
<<set _phase to _args[0] or 'morning'>>
<<set _maxCount to _args[1] or 2>>
<<set _events to setup.rollEvents(_phase, $day or 0, _maxCount)>>
<<for _e range _events>>
<div @class="_e.cardClass or 'bio-choice'"><span @class="'delve-tag delve-tag-' + (_e.cardTag or 'bio')"><<= (_e.cardTag or 'EVENT').toUpperCase()>></span> <<capture _e>><<link _e.cardLabel _e.passage>><</link>><</capture>></div>
<</for>>
<<if _events.length is 0>>
<p class="event-hub-empty"><i>No events on the docket for this phase.</i></p>
<</if>>
<</widget>>
/* <<phaseHub phase advancePassage advanceLabel advanceTag>> — daily-loop
hub render.
Behaviour:
- Renders ALL eligible events for the phase as a menu of cards
(mandatory frame events + story payoffs + chain-locked one-shots
+ daily routines all together — single menu, no split).
- The phase-advance link (e.g. "Drive to the lab") appears at the
bottom UNLESS one or more REQUIRED events are still pending.
Required = mandatory: true OR priority >= 10 (dream payoffs,
chain-locked one-shots like daniel-introduction). Routine events
(priority < 10 and not mandatory — shower / cig / coffee) do NOT
gate the advance link; player can always skip them.
- Each event passage's "back to <hub>" link returns here, the hub
re-evaluates, resolved-today events drop out, the menu refreshes,
the advance link unlocks once required is cleared.
Args:
[0] phase — "morning" / "work" / "evening-errands" / "evening-home"
[1] advancePassage — passage to advance to (e.g. "Ch2-Vessel-Loop-Work")
[2] advanceLabel — link text (e.g. "Get dressed and drive to the lab")
[3] advanceTag — tag-class suffix uppercased (e.g. "DRIVE", "SLEEP") */
<<widget "phaseHub">>
<<set _phase to _args[0] or 'morning'>>
<<set _advPassage to _args[1] or 'Ch2-Vessel-Loop-Work'>>
<<set _advLabel to _args[2] or 'Continue'>>
<<set _advTag to _args[3] or 'GO'>>
<<set _all to setup.rollEvents(_phase, $day or 0, 999)>>
<<set _hasRequiredPending to setup.requiredEvents(_phase, $day or 0).length gt 0>>
<<for _e range _all>>
<<set _eLbl to (typeof _e.cardLabel is 'function' ? _e.cardLabel() : _e.cardLabel)>>
<<set _eCost to (typeof _e.biomassCost is 'function' ? _e.biomassCost() : _e.biomassCost)>>
<div @class="_e.cardClass or 'bio-choice'"><span @class="'delve-tag delve-tag-' + (_e.cardTag or 'bio')"><<= _e.cardTagText or (_e.cardTag or 'EVENT').toUpperCase()>></span> <<if _eCost>><<capture _e, _eLbl, _eCost>><<biomassPreview _eLbl _e.passage _eCost>><</capture>><<else>><<capture _e, _eLbl>><<link _eLbl _e.passage>><</link>><</capture>><</if>></div>
<</for>>
<<if not _hasRequiredPending>>
<hr class="scene-break">
<div class="bio-choice"><span @class="'delve-tag delve-tag-bio'"><<= _advTag>></span> <<capture _advPassage, _advLabel>><<link _advLabel _advPassage>><</link>><</capture>></div>
<</if>>
<</widget>>
/* Slice-1 placeholder event removed in Slice 2 — replaced by the
real morning event pool in
src/10-src/chapters/chapter2/vessel/loop-morning-events.twee. *//* <<journalReplay "ScenePassage">>, render the full source scene with the
route/kink state forced from setup.journalLocks, then restore all state. */
<<widget "journalReplay">>
<<set _jrScene to _args[0]>>
<<script>>
(function () {
var sv = State.variables;
setup._journalReplayBackup = clone(sv);
sv.replayMode = true;
var lock = setup.journalLocks[State.temporary.jrScene];
if (lock) {
if (lock.karen) { sv.karenRoute = lock.karen; }
if (lock.ryan) { sv.ryanRoute = lock.ryan; }
if (lock.dale) { sv.daleRoute = lock.dale; }
if (lock.megan) { sv.meganRoute = lock.megan; }
if (lock.jess) { sv.jessRoute = lock.jess; }
if (lock.futa) { sv.karenFutaRoute = true; }
var rk = setup.routeKinks;
["karen","ryan","dale","megan","jess"].forEach(function (m) {
if (lock[m] && rk[m] && rk[m][lock[m]]) { sv.kinks[m] = rk[m][lock[m]].slice(); }
});
if (lock.futa && rk.karen.futa) { sv.kinks.karen = (sv.kinks.karen || []).concat(rk.karen.futa); }
}
})();
<</script>>
<div class="journal-replay-body"><<include _jrScene>></div>
<<script>>
(function () {
try {
var bak = setup._journalReplayBackup, v = State.variables;
if (bak) {
Object.keys(v).forEach(function (k) { if (!(k in bak)) { delete v[k]; } });
Object.keys(bak).forEach(function (k) { v[k] = clone(bak[k]); });
}
} catch (e) { /* never let a restore failure surface */ }
finally { setup._journalReplayBackup = null; }
})();
<</script>>
<</widget>>/* <<journalCardLockable "RecapPassage" "ScenePassage" "thumbHTML" "flagKey" "P"|"E">>
Three states: viewable (reached OR SP-unlocked) -> card; route-impossible -> prereq + warnings + 5 SP unlock; not-yet-reached -> plain locked. */
<<widget "journalCardLockable">>
<<set _jclRecap to _args[0]>>
<<set _jclScene to _args[1]>>
<<set _jclThumb to _args[2]>>
<<set _jclFlag to _args[3]>>
<<set _jclStore to _args[4]>>
<<if not $journalUnlocked>><<set $journalUnlocked to {}>><</if>>
<<set _jclFired to (_jclStore is "E") ? ($ch2Events and $ch2Events[_jclFlag]) : ($permanentDone and $permanentDone[_jclFlag])>>
<<if _jclFired or $journalUnlocked[_jclScene]>>
<div class="vessel-card"><<link _jclThumb _jclRecap>><</link>></div>
<<elseif setup.journalImpossible(_jclScene)>>
<<set _jclLock to setup.journalLocks[_jclScene]>>
<<set _jclWarn to setup.journalWarnings(_jclLock)>>
<div class="vessel-card vessel-card-locked vessel-card-otherroute">
<div class="jrl-thumb"><<nobr>>
<div class="jrl-lock">🔒</div>
<div class="jrl-prereq"><<for _jm range ["karen","ryan","dale","megan","jess"]>><<if _jclLock[_jm]>><div class="jrl-req"><<= setup.memberDisplay[_jm] >>: <span class="jrl-route"><<= setup.routeDisplay[_jclLock[_jm]] or _jclLock[_jm] >></span></div><</if>><</for>></div>
<<if _jclWarn.length gt 0>><div class="jrl-warn"><<for _jw range _jclWarn>><span class="jrl-warn-badge"><<= _jw >></span><</for>></div><</if>>
<<if ($player.skillPoints or 0) gte 5>>
<<capture _jclScene, _jclRecap>><div class="jrl-unlock"><<link "Unlock (5 SP)">><<set $player.skillPoints -= 5>><<set $journalUnlocked[_jclScene] to true>><<goto _jclRecap>><</link>></div><</capture>>
<<else>>
<div class="jrl-unlock jrl-unlock-poor">5 SP <span class="jrl-sp">(have <<= ($player.skillPoints or 0) >>)</span></div>
<</if>>
<</nobr>></div>
</div>
<<else>>
<div class="vessel-card vessel-card-locked"><<link '<div class="vessel-card-locked-thumb">🔒</div><div class="vessel-card-cap">???</div>' _jclRecap>><</link>></div>
<</if>>
<</widget>>/* Dialogue widget with dynamic portraits.
Usage:
<<say "char-hivemind" "Hivemind">>
The city will fall.
<</say>>
<<say "char-scientist" "Dr. Vasquez">>
The readings are off the charts!
<</say>>
Portrait resolution order:
1. If a portrait map entry exists for this char-class + status → use it
2. Otherwise fall back to placeholder
*/
<<widget "say" container>>
<<set _charClass to _args[0] or ''>>
<<set _charName to _args[1] or ''>>
/* Build portrait URL from the portrait map, keyed by char class */
<<set _portrait to ''>>
<<if setup.portraitMap and setup.portraitMap[_charClass]>>
/* Dynamic: check if there's a status-specific variant */
<<set _pData to setup.portraitMap[_charClass]>>
<<if _pData.dynamic and _pData.resolver is "conditioning">>
/* Conditioning-based portrait: uses getPortraitVariant */
<<set _variant to setup.getPortraitVariant(_pData.charName)>>
<<set _portrait to 'media/portraits/' + _pData.charName + '/' + _pData.charName + '-' + _variant + '.thumb.webp'>>
<<elseif _pData.dynamic and _pData.statusVar>>
<<set _currentStatus to State.getVar(_pData.statusVar) or 'default'>>
<<if _pData.variants and _pData.variants[_currentStatus]>>
<<set _portrait to _pData.variants[_currentStatus]>>
<<else>>
<<set _portrait to _pData.default or ''>>
<</if>>
<<else>>
<<set _portrait to _pData.default or ''>>
<</if>>
<</if>>
<div @class="'dialogue-block ' + _charClass">
<<if _portrait>>
<<print '<img class="dialogue-portrait" src="' + _portrait + '" alt="' + _charName + '">'>>
<</if>>
<p class="dialogue-line">
<<if _charName>>
<span class="dialogue-name"><<print _charName>></span>
<</if>>
<<print _contents>>
</p>
</div>
<</widget>>
/* <<tongueSlip "original" "slipped" [suspicionCost] [witnessCharId] [flagName] [revealSelector] [conditioningType] [spId] [hideSelector] [secondaryFlag] [bookPrefix] [secondaryWitnessCharId] [secondaryCondType]>>
Inline word-swap mechanic. Wraps SugarCube's <<linkreplace>>. On click:
- the original phrase swaps to the slipped phrase in place
- $chenSuspicion += suspicionCost (if > 0)
- witnessCharId gets +1 conditioningType conditioning (if provided)
conditioningType defaults to "pheromone" for backward compat;
pass "psionic" or "dream" to route the slip's payload differently.
- secondaryWitnessCharId (12th arg, optional) ALSO gets +1 of the
same conditioningType if provided. Use for slips with two NPC
witnesses where the slip lands on both bodies simultaneously
(e.g. HolloHalv corridor crossing — Halvorsen + Holloway).
- secondaryCondType (13th arg, optional) — when provided, BOTH
witnesses (primary and secondary, if present) also get +1 of
this second conditioning channel. Use for slips that land on
two channels at once (e.g. dream + psionic). Pass "dream" /
"psionic" / "pheromone".
- $ch2Events[flagName] = true (if flagName provided)
- $ch2Events[secondaryFlag] = true (10th arg, optional — for slips
that need to set BOTH a slip-aggregator flag AND a downstream
story flag, e.g. fed-interview Q3 number-slip sets slipQ3 + chenNumberGivenToFeds)
- $ch2Events[<bookPrefix>Day] = $day + 1 AND
$ch2Events[<bookPrefix>Fired] = false (11th arg, optional — for
evening-event slips that BOOK an event for tomorrow's evening hub.
Pass the event's flag prefix (e.g. "sofiaDrinks", "bowenEscapeRoom",
"hollohalvSushi", "fedsDrinks"); the widget will set <prefix>Day
to tomorrow and reset <prefix>Fired so the major-events dispatcher
picks up the booking. ONLY runs on actual click — keeps the day
flag from being pre-emptively bumped just by passage entry.)
- $ch2Events.tongueSlipsTotal increments
- first-ever click anywhere fires the <<tutorial>> modal
- if revealSelector provided, the matching DOM element is unhidden
(display flipped from "none" to ""). Used for inline payoff prose:
the author renders the payoff in a hidden div elsewhere in the
passage; the widget toggles its visibility on click.
The reveal-hidden-div pattern (vs. <<replace>> + <<print _contents>>)
exists because SugarCube's wikifier injects <br> tags between block
elements when re-wikifying a string at click time; pre-rendering the
payoff at passage load avoids those injected breaks entirely. */
<<widget "tongueSlip">>
<<nobr>>
<<set _orig to _args[0] or ''>>
<<set _slip to _args[1] or ''>>
<<set _suspicionCost to _args[2] or 0>>
<<set _witness to _args[3] or ''>>
<<set _flagName to _args[4] or ''>>
<<set _reveal to _args[5] or ''>>
<<set _condType to _args[6] or 'pheromone'>>
<<set _spId to _args[7] or ''>>
<<set _hide to _args[8] or ''>>
<<set _secondaryFlag to _args[9] or ''>>
<<set _bookPrefix to _args[10] or ''>>
<<set _secondaryWitness to _args[11] or ''>>
<<set _secondaryCondType to _args[12] or ''>>
/* If the slip has a persistent flag AND that flag is already set,
render the slipped text directly without the <<linkreplace>>. The
<<linkreplace>> is render-time only: on re-entry to the passage
(e.g. via Status menu and back), it would re-render as the original
text even though the flag persisted. The payoff div uses reactive
@style and stays revealed; this fix keeps the inline wobble visually
consistent with the payoff. */
<<set _alreadyFired to _flagName and ($ch2Events[_flagName] or false)>>
/* Skill gate: if the player does not have the Tongue Slip skill, the
wobble is invisible and only the host's original sentence renders.
This is enforced inside the widget so every call site is gated by
default, no need for outer <<if _hasTongueSlip>> wrappers (existing
manual wrappers stay backward-compatible — they short-circuit before
the widget is called). */
<<hasSkillTreeAbility "Tongue Slip">><<set _hasTongueSlipSkill to _hasAbility>>
<</nobr>><<if _alreadyFired>><span class="tongue-slip-fired"><<print _slip>></span><<elseif not _hasTongueSlipSkill>><<print _orig>><<else>><<capture _orig _slip _suspicionCost _witness _flagName _reveal _condType _spId _hide _secondaryFlag _bookPrefix _secondaryWitness _secondaryCondType>><span class="tongue-slip-wobble"><<linkreplace _orig>><<nobr>><span class="tongue-slip-fired"><<print _slip>></span><<set _selfNarrative to ($vesselMods and $vesselMods.kitchen and $vesselMods.kitchen.sinkProgress gte 3)>><<if _suspicionCost gt 0 and not _selfNarrative>><<set $chenSuspicion to ($chenSuspicion or 0) + _suspicionCost>><</if>><<if _witness>><<addConditioning _witness _condType 1>><</if>><<if _secondaryWitness>><<addConditioning _secondaryWitness _condType 1>><</if>><<if _secondaryCondType>><<if _witness>><<addConditioning _witness _secondaryCondType 1>><</if>><<if _secondaryWitness>><<addConditioning _secondaryWitness _secondaryCondType 1>><</if>><</if>><<if _flagName>><<set $ch2Events[_flagName] to true>><</if>><<if _secondaryFlag>><<set $ch2Events[_secondaryFlag] to true>><</if>><<if _bookPrefix>><<set $ch2Events[_bookPrefix + "Day"] to ($day or 0) + 1>><<set $ch2Events[_bookPrefix + "Fired"] to false>><</if>><<set $ch2Events.tongueSlipsTotal to ($ch2Events.tongueSlipsTotal or 0) + 1>><<if _spId>><<if _reveal>><<addSkillPoints 1 _spId _reveal>><<else>><<addSkillPoints 1 _spId>><</if>><</if>><<if _reveal>><<run jQuery(_reveal).slideDown(220, function(){ try { this.scrollIntoView({behavior:'smooth', block:'nearest'}); } catch(e){} })>><</if>><<if _hide>><<run jQuery(_hide).slideUp(220)>><</if>><</nobr>><<tutorial "vessel-tongue-slip" "She Slips">>
<p>That is not what she meant to say.</p>
<p>The host composes a sentence; you intercept one word on the way to her tongue and write a different word in its place. She files the misfire under <i>tired</i> or <i>distracted</i>. The room reacts to what was actually said, not to what she meant.</p>
<p>Wobbly words appear in dialogue when the host is suggestible. Click one when you want a slip. Some are free; some cost a tick of her suspicion. All trigger something the room would not otherwise have heard.</p>
<</tutorial>><</linkreplace>></span><</capture>><</if>>
<</widget>>/* <<minigame "type" difficulty timeout "SuccessPassage" "FailPassage" [extra args as JSON]>> */
<<widget "minigame">>
/* Set the flag in BOTH story variables (for forward-nav check) AND memorize()
(IndexedDB — survives SugarCube history back-navigation which restores state snapshots).
Passage-level guards use recall() which isn't affected by state restoration. */
<<set $operation.minigameStarted to true>>
<<run memorize('_mg_active', State.variables.operation.active)>>
<<set _mgType to _args[0]>>
<<set _mgDiff to _args[1] or 1>>
<<set _mgTimeout to (_args[2] isnot undefined) ? _args[2] : 35>>
<<set _mgSuccess to _args[3]>>
<<set _mgFail to _args[4]>>
<<set _mgExtra to (_args.length gt 5) ? _args[5] : {}>>
/* Accessibility cheat: minigames disabled → skip the game and roll RNG.
This deliberately breaks the project's no-RNG rule. The disabled mode
is a Status-page accessibility toggle for players who can't / don't
want to play minigames. Outcomes are random by tier:
T1 base 75% / EI 50%
T2 base 50% / EI 25%
T3 base 25% / EI 10% */
<<if $cheatSettings and $cheatSettings.minigamesDisabled>>
<<set _mgTier to (setup.opTier and setup.opTier[$operation.active])>>
<<if _mgTier is undefined or _mgTier is null>><<set _mgTier to 1>><</if>>
<<set _mgIsEI to (_mgSuccess and _mgSuccess.indexOf("EI") gte 0) or (_mgFail and _mgFail.indexOf("EI") gte 0)>>
<<set _mgChance to 0.75>>
<<set _mgT0Surcharge to 0>>
<<if _mgTier is 0>>
/* T0 — auto-success but the operation costs 5 biomass total (4 surcharge on top of the base 1) */
<<set _mgChance to 1.0>>
<<set _mgT0Surcharge to 4>>
<<elseif _mgTier is 1>><<set _mgChance to (_mgIsEI ? 0.50 : 0.75)>>
<<elseif _mgTier is 2>><<set _mgChance to (_mgIsEI ? 0.25 : 0.50)>>
<<elseif _mgTier is 3>><<set _mgChance to (_mgIsEI ? 0.10 : 0.25)>>
<</if>>
/* "Nobody likes to save scum" — when the cheat menu disables the RNG on top
of the disabled-minigame mode, skip the roll entirely and auto-succeed.
No reloads. No retries. The parasite is above dice. */
<<if $cheatSettings.disableRng>>
<<set _mgRoll to 0>>
<<set _mgWon to true>>
<<else>>
<<set _mgRoll to Math.random()>>
<<set _mgWon to _mgRoll lt _mgChance>>
<</if>>
/* Per-minigame disabled-mode state pre-population. Some minigames write
back to $operation.flags from their finishGame() callbacks during
normal play (e.g. letters → mailResults). Disabled mode skips the
game entirely, so we replicate the equivalent state here on success
so downstream success/fail passages read sensible values. Without
this block, the mail-intercept op flagged as success but no mail
actually got intercepted in the results passage. */
<<if _mgWon and _mgType is "letters">>
<<set _canTamperPkg to false>>
<<hasSkillTreeAbility "Pheromone Specialization">>
<<if $ryanRoute is "feminization" and _hasAbility and $adaptations.rat and $adaptations.rat.unlocked.includes("contaminator")>><<set _canTamperPkg to true>><</if>>
<<hasSkillTreeAbility "Biofilm Residue">>
<<if $ryanRoute is "familySeeker" and _hasAbility and $adaptations.gecko and $adaptations.gecko.unlocked.includes("precision_touch")>><<set _canTamperPkg to true>><</if>>
<<set _autoTotal to _canTamperPkg ? 4 : 3>>
<<set $operation.flags.mailResults to { biogenesis: true, mortgage: true, tuition: true, "package": _canTamperPkg, found: _autoTotal, total: _autoTotal }>>
<</if>>
<div class="mg-disabled-notice">
<div class="mg-disabled-title">⚙ Minigame skipped (accessibility mode)</div>
<div class="mg-disabled-detail">Tier <<= _mgTier >><<if _mgIsEI>> · Emergent Intelligence<</if>><<if $cheatSettings.disableRng>> · RNG off (auto-success)<<else>> · Success chance <<= Math.round(_mgChance * 100) >>%<</if>><<if _mgT0Surcharge gt 0>> · Surcharge: +<<= _mgT0Surcharge>> biomass<</if>></div>
<div @class="'mg-disabled-result ' + (_mgWon ? 'mg-disabled-win' : 'mg-disabled-loss')">
<<if $cheatSettings.disableRng>>✓ AUTO-SUCCESS (RNG off)<<elseif _mgWon>>✓ ROLLED SUCCESS<<else>>✗ ROLLED FAILURE<</if>>
</div>
<<if _mgWon>>
<<link "Continue →" _mgSuccess>>
/* "repeatable" is load-bearing: without it spendBiomass dedups per
passage+day, so only the FIRST T0 run of a day paid the surcharge. */
<<if _mgT0Surcharge gt 0>><<spendBiomass _mgT0Surcharge "repeatable">><</if>>
<</link>>
<<else>>
<<link "Continue →" _mgFail>>
/* Apply the standard failSuspicion penalty the engine would have applied */
<<set _failSus to _mgDiff>>
<<if $suspicion and typeof $suspicion.hoffmanHouse is "number" and not ($houseState and $houseState.hvacCompromised)>>
<<set $suspicion.hoffmanHouse += _failSus>>
<</if>>
<</link>>
<</if>>
</div>
<<else>>
<div id="minigame-container"></div>
/* Defer startMinigame to next tick — the div hasn't been inserted into the DOM yet.
Capture all args into a JS config object NOW (while _args is still in scope),
then pass the captured config to the deferred call. */
<<run (function() {
var cfg = {
difficulty: _mgDiff,
timeout: _mgTimeout,
successPassage: _mgSuccess,
failPassage: _mgFail,
failSuspicion: _mgDiff
};
var extra = _mgExtra || {};
var type = _mgType;
Object.keys(extra).forEach(function(k) { cfg[k] = extra[k]; });
setTimeout(function() { setup.startMinigame(type, cfg); }, 0);
})()>>
<</if>>
<</widget>>/* <<modSlots "slot-id">> — renders every installed mod's entry card
registered for this slot. No-op when no mod targets it, so the
widget is safe to leave in hub passages permanently. Slot ids:
loop-wake, loop-work, loop-lunch, loop-evening, loop-home,
lensr-feed, apartment-bathroom, apartment-bedroom. */
<<widget "modSlots">><<nobr>>
<<set _msEntries to (setup.modSlots and setup.modSlots[_args[0]]) or []>>
<<for _ms range _msEntries>>
<<if setup.modSlotVisible(_ms)>>
<<capture _ms>>
<div @class="_ms.cls"><span @class="'delve-tag ' + _ms.tagCls"><<= _ms.tag>></span> <<link _ms.label _ms.passage>><</link>></div>
<</capture>>
<</if>>
<</for>>
<</nobr>><</widget>><div class="passage-title">Mods</div>
<div class="lab-location">Installed modifications</div>
<div class="mods-warning">Mods are user-made content and run with full access to the game. Only install mods from people you trust. Changes apply after a reload.</div>
<div id="mods-list"><em>Reading installed mods...</em></div>
<div class="mods-import">
<label class="mods-import-btn">Import .hvmod file<input type="file" id="mods-import-input" class="mods-import-input" accept=".hvmod,.zip"></label>
<div id="mods-import-result"></div>
</div>
<details class="status-section status-accordion">
<summary class="status-accordion-summary"><h3 class="status-section-title">How to make mods</h3></summary>
<p>A mod is a single <code>.hvmod</code> file. To play one someone shared, just click <b>Import .hvmod file</b> above and reload.</p>
<p>To build your own, download the free <b>PH Mod Studio</b> app. It lets you write scenes from blocks (narration, dialogue, choices, skill checks, conditioning, tongue slips) without touching any code, then exports a <code>.hvmod</code> you can share. Step-by-step instructions and the download are here:</p>
<p><a href="https://karatus.itch.io/project-hivemind" target="_blank" rel="noopener">karatus.itch.io/project-hivemind</a></p>
<p>Join the Discord for mod support and the latest release news: <a href="https://discord.gg/zN7Qtysfb" target="_blank" rel="noopener">discord.gg/zN7Qtysfb</a></p>
</details>
<<link "Back to Status" "Status">><</link>>
<<script>>
(function () {
var mgr = window.HivemindModManager;
function esc(s) { return $('<i>').text(String(s)).html(); }
function render() {
mgr.list().then(function (mods) {
var $list = $('#mods-list').empty();
if (!mods.length) { $list.append('<em>No mods installed.</em>'); return; }
mods.forEach(function (mod) {
var err = (setup.modBootErrors || {})[mod.id];
var $row = $('<div class="mods-row">');
$row.append('<div class="mods-row-name">' + esc(mod.manifest.name) +
' <span class="mods-row-meta">v' + esc(mod.manifest.version) + ' · ' + esc(mod.manifest.author || 'unknown') + '</span></div>');
if (err) $row.append('<div class="mods-row-error">Failed to load: ' + esc(err) + '</div>');
var $toggle = $('<button class="mods-btn">').text(mod.enabled ? 'Disable' : 'Enable').on('click', function () {
if (mod.enabled && State.history.length > 1) {
if (!confirm('Disabling a mod can break saves made inside its scenes. Disable anyway?')) return;
}
mgr.setEnabled(mod.id, !mod.enabled).then(function () {
$('#mods-import-result').text('Reload the game to apply.');
render();
}).catch(function (e) { $('#mods-import-result').text('Operation failed: ' + e); });
});
var $del = $('<button class="mods-btn mods-btn-danger">').text('Delete').on('click', function () {
if (!confirm('Delete mod "' + mod.manifest.name + '"?')) return;
mgr.remove(mod.id).then(function () {
$('#mods-import-result').text('Reload the game to apply.');
render();
}).catch(function (e) { $('#mods-import-result').text('Operation failed: ' + e); });
});
$row.append($('<div class="mods-row-actions">').append($toggle, $del));
$list.append($row);
});
}).catch(function (e) { $('#mods-list').html('<em class="mods-error">Failed to read mods: ' + esc(e) + '</em>'); });
}
$(document).one(':passagedisplay', function () {
if (!mgr) { $('#mods-list').html('<em>Mod runtime not available in this build (run the full build pipeline).</em>'); return; }
render();
$('#mods-import-input').on('change', function () {
var file = this.files[0];
if (!file) return;
$('#mods-import-result').text('Importing...');
mgr.importFile(file).then(function (r) {
if (r.errors.length) {
$('#mods-import-result').html('<span class="mods-error">Import failed:</span><br>' + r.errors.map(esc).join('<br>'));
return;
}
var msg = 'Imported "' + esc(r.mod.manifest.name) + '". Reload the game to activate.';
if (r.warnings.length) msg += '<br><span class="mods-warn">' + r.warnings.map(esc).join('<br>') + '</span>';
$('#mods-import-result').html(msg);
render();
}).catch(function (e) { $('#mods-import-result').html('<span class="mods-error">Import failed: ' + esc(e) + '</span>'); });
});
});
})();
<</script>>/* Widget to set passage background dynamically */
<<widget "bg" void>>
<<run setup.setBackground(_args[0] || '')>>
<</widget>>/* Household event dispatcher — call <<householdEvent>> from Ch2-Beast-Observe */
<<widget "householdEvent">><<nobr>>
/* Ensure $houseEvents exists (old saves) */
<<if not $houseEvents>><<set $houseEvents to {}>><</if>>
/* Pre-compute conditioning totals */
<<set _ct to {}>>
<<for _name range ["karen", "dale", "megan", "jess", "ryan"]>>
<<set _ct[_name] to ($conditioning[_name].pheromone + $conditioning[_name].dream + $conditioning[_name].psionic)>>
<</for>>
/* Filter eligible events (phase field is ignored — events are flavor snapshots during transition) */
<<set _eligible to []>>
<<for _evt range setup.householdEvents>>
<<if _evt.condition(State.variables, _ct)>>
<<run _eligible.push(_evt)>>
<</if>>
<</for>>
/* Sort by priority. Forced milestone events (force: true) fire deterministically the
first night they're eligible, ahead of the day-rotation. Everything else rotates:
pick using the day counter as offset so flavour events vary night to night. */
<<if _eligible.length gt 0>>
<<run _eligible.sort(function(a, b) { return a.priority - b.priority; })>>
<<set _forced to _eligible.filter(function(e) { return e.force; })>>
<<if _forced.length gt 0>>
<<set _picked to _forced[0]>>
<<else>>
<<set _idx to ($day or 1) % _eligible.length>>
<<set _picked to _eligible[_idx]>>
<</if>>
<<set $houseEvents[_picked.id] to true>>
/* Persist the picked passage so Ch2-Beast-Rest can re-render on menu return.
resolvePassage(v) lets an event route to different passages based on
story state (e.g. Megan dinner: Marcus route vs Slut route). */
<<if _picked.resolvePassage>>
<<set $houseEvents.lastPassage to _picked.resolvePassage(State.variables)>>
<<else>>
<<set $houseEvents.lastPassage to _picked.passage>>
<</if>>
<<else>>
<<set $houseEvents.lastPassage to "">>
<</if>>
<</nobr>>
/* Display is handled by the caller via $houseEvents.lastPassage so re-entry
(menu return, history nav) can re-render the same event without re-firing
side effects. */
<</widget>>/* ==============================================================
INTEL LEDGER — symbiotic-route journal intelligence counter.
Replaces the per-topic "+1 SP on complete" grants for the
Hoffman / Beast route. Intel gathered from the moment the
parasite leaves the lab (Hoffman household intel, family
profiles, deep delves, behavioural intel, relocated BioGenesis
facility intel, and — Stage 3 — Operations) accumulates; every
5 discoveries award 1 Skill Point and the bar resets. The Lab
(Chapter 1) journal keeps its own topic-complete SP grants and
is NOT counted here.
computeIntel: call once on the Journal hub AFTER _hoffmanCount is
computed, passing it as the argument. Sets $intelDiscovered and
grants any newly earned Skill Points (idempotent via
$intelSPGranted + per-threshold dedup keys). The hub is the only
way to reach the per-category pages, so $intelDiscovered is always
fresh when those pages render via <<intelBar>>.
============================================================== */
<<widget "computeIntel">>
<<set _hoff to $args[0] or 0>>
/* Net-new BioGenesis facility intel not already inside _hoffmanCount
(daleCar / dale access are already counted by the Hoffman tally). */
<<set _bonus to (($delveInfo and $delveInfo.basementWorkshop) ? 1 : 0)>>
<<set $intelDiscovered to _hoff + _bonus>>
<<set _earned to Math.floor(($intelDiscovered or 0) / 5)>>
<<if _earned gt ($intelSPGranted or 0)>>
<<for _g to ($intelSPGranted or 0) + 1; _g lte _earned; _g++>>
<<addSkillPoints 1 `"intelLedger-" + _g`>>
<</for>>
<<set $intelSPGranted to _earned>>
<</if>>
<</widget>>
/* intelBar: display-only. Renders the rolling counter bar + totals.
Reads $intelDiscovered (set by the most recent computeIntel call). */
<<widget "intelBar">>
<<set _into to ($intelDiscovered or 0) % 5>>
<<set _bar to "">>
<<for _i to 0; _i lt 5; _i++>><<set _bar to _bar + (_i lt _into ? "▰" : "▱")>><</for>>
<div class="evolve-unlock">🧠 Intelligence <<= _bar>> <<= _into>> / 5 to the next Skill Point</div>
<</widget>>/* ==============================================================
JOURNAL ENTRY WIDGETS
Per-entry NEW badge + snapshot-on-visit tracking.
Usage:
At top of Journal-Lab / Journal-Hoffman / Journal-Operations / Journal-BioGenesis:
<<journalCategoryStart "lab">>
For each entry:
<details class="journal-entry">
<summary><<journalNewBadge "lab" "chenSurface">> Chen — personnel delve, surface</summary>
...
</details>
<<journalEntrySeen "lab" "chenSurface">>
At bottom of the category passage:
<<journalCategoryEnd "lab">>
The snapshot pattern: on passage entry, _prevSeen is cloned from
$journalEntriesRead[cat]. Each entry's "is new" check compares against
_prevSeen (the previous visit's snapshot). At the end of the page,
$journalEntriesRead[cat] is rewritten to include everything seen this
visit — so next time the user visits, "prevSeen" will be this visit's set.
============================================================== */
<<widget "journalCategoryStart">>
<<set _cat to $args[0]>>
<<if not $journalEntriesRead>>
<<set $journalEntriesRead to { lab: [], hoffman: [], ops: [], bio: [] }>>
<</if>>
<<if not $journalEntriesRead[_cat]>>
<<set $journalEntriesRead[_cat] to []>>
<</if>>
/* Clone the stored set as this visit's "previously seen" snapshot. */
<<set _prevSeen to clone($journalEntriesRead[_cat])>>
/* _seenThisVisit accumulates all entry IDs rendered on this page for the snapshot rewrite at end. */
<<set _seenThisVisit to []>>
<</widget>>
<<widget "journalNewBadge">>
<<set _cat to $args[0]>>
<<set _entryId to $args[1]>>
<<if _prevSeen and _prevSeen.indexOf(_entryId) lt 0>><span class="menu-badge menu-badge-journal journal-entry-new">NEW</span> <</if>>
<</widget>>
<<widget "journalEntrySeen">>
<<set _entryId to $args[1]>>
<<if _seenThisVisit and _seenThisVisit.indexOf(_entryId) lt 0>>
<<run _seenThisVisit.push(_entryId)>>
<</if>>
<</widget>>
<<widget "journalCategoryEnd">>
<<set _cat to $args[0]>>
<<if $journalEntriesRead and _seenThisVisit>>
<<set $journalEntriesRead[_cat] to clone(_seenThisVisit)>>
<</if>>
<</widget>>
/* ==============================================================
CONDITIONING CAP HINT
Usage: <<conditioningCapHint "karen">>
Emits a hivemind-voice hint next to a member's conditioning bars
when any of their three types has hit the current house cap.
Silent at house tier 3 (nothing more to unlock household-wide).
============================================================== */
<<widget "conditioningCapHint">>
<<set _hintMember to $args[0]>>
<<set _hintCap to setup.houseTypeCap()>>
<<set _hintC to $conditioning[_hintMember]>>
<<if _hintCap lt 10 and _hintC and (_hintC.pheromone gte _hintCap or _hintC.dream gte _hintCap or _hintC.psionic gte _hintCap)>>
<div class="conditioning-cap-hint">
<<if _hintCap is 4>>//I cannot push this one further. Not alone. Its shame is still structural — and shame only holds while the others around it are still pretending the same things are shameful. Move the rest of the household first. Normalise the depravity under this roof, and this one's ceiling rises with the water.//<<else>>//The limit of this one is the limit of the household. I cannot carry any of them past this floor until every body in this house has named the specific depravity it was pretending not to want. Crack the locks on the others first. The ceiling lifts for all of them together — or not at all.//<</if>>
</div>
<</if>>
<</widget>>
/* ==============================================================
VESSEL CONDITIONING CAP HINT
Usage: <<vesselConditioningCapHint "vasquez">>
Emits a hivemind-voice hint on a Lab Vessel NPC's profile when any
of their three types has hit the current vessel cap. The lever is
Chen herself: pushing the satellite past this threshold requires
pushing the host past her own behavioural baseline.
Silent at vessel cap 10 (full conditioning available).
============================================================== */
<<widget "vesselConditioningCapHint">>
<<set _hintMember to $args[0]>>
<<set _hintCap to setup.vesselCap()>>
<<set _hintC to $conditioning[_hintMember]>>
<<if _hintCap lt 10 and _hintC and (_hintC.pheromone gte _hintCap or _hintC.dream gte _hintCap or _hintC.psionic gte _hintCap)>>
<div class="conditioning-cap-hint">
<<if _hintCap is 4>>//I cannot press this one further. Not yet. The host herself is still inside the boundaries of what she considers normal — and the influence I can land on the people around her cannot exceed the influence I have already laid down on her. To raise this satellite's ceiling, I have to find a way to push Chen outside the boundaries of her own behavioural baseline first. The centre moves; the periphery moves with it.//<<else>>//The limit of this one is the limit of what the host has so far permitted in herself. Pressing further requires another step Chen has not yet been willing to take — a line she has not yet been led across. Find it, write the host across it, and the ceiling on this satellite rises with hers.//<</if>>
</div>
<</if>>
<</widget>>/* <<kinkSporeEvent>> — processes ALL queued kinks per day advance, biomass-gated.
Each queued kink costs 2 biomass. If biomass runs out, remaining kinks stall.
Stashes results on $pendingKinkRecap + $pendingKinkSporePassages so the
caller (Ch2-Beast-Rest) can read them — widget-scope temp vars (_foo) aren't
visible to the caller in SugarCube 2.37, which is why the dawn report was
silently missing these lines. Caller consumes and clears both. */
<<widget "kinkSporeEvent">><<nobr>>
<<if not $kinkEvents>><<set $kinkEvents to {}>><</if>>
<<set $pendingKinkRecap to []>>
<<set $pendingKinkSporePassages to []>>
<<for _kKey, _kVal range $kinkEvents>>
<<if _kVal lt 3>>
/* Check biomass — need 2 per kink per day */
<<if $player.biomass gte 2>>
<<set $player.biomass -= 2>>
<<set $kinkEvents[_kKey] to _kVal + 1>>
<<set _spPassage to "Ch2-Spore-" + _kKey + "-" + $kinkEvents[_kKey]>>
<<if Story.has(_spPassage)>><<run $pendingKinkSporePassages.push(_spPassage)>><</if>>
<<run $pendingKinkRecap.push("Kink conditioning: −2 biomass (" + _kKey.replace("_", " → ") + ": " + $kinkEvents[_kKey] + "/3)")>>
<<else>>
<<run $pendingKinkRecap.push("Kink stalled: " + _kKey.replace("_", " → ") + " (insufficient biomass)")>>
<</if>>
<</if>>
<</for>>
<</nobr>><</widget>>/* Generic kink queue passage — queues a kink for spore events */
<<nobr>><<bg "bg-hoffman-house">>
<<if $pendingKink and $pendingKinkMember>>
/* Only queue if this member doesn't already have a kink in progress */
<<set _alreadyQueued to false>>
<<if $kinkEvents>>
<<for _qKey range Object.keys($kinkEvents)>>
<<if _qKey.startsWith($pendingKinkMember + "_") and $kinkEvents[_qKey] lt 3>>
<<set _alreadyQueued to true>>
<</if>>
<</for>>
<</if>>
<<if not _alreadyQueued>>
<<set _key to $pendingKinkMember + "_" + $pendingKink>>
<<if not $kinkEvents[_key] and $kinkEvents[_key] isnot 0>>
<<set $kinkEvents[_key] to 0>>
<</if>>
<</if>>
<</if>>
<</nobr>>
<<goto "Ch2-Beast-Kinks">><<widget "navCard">><<nobr>>
<<set _passage to _args[0]>>
<<set _roomName to _args[1]>>
<<set _roomDesc to _args[2]>>
<<set _danger to _args[3] or "safe">>
<<set _occupants to _args[4] or "">>
<<set _image to _args[5] or "">>
/* Ryan's room nav card — dynamic thumbnail based on route/kink state.
.nav-card-img-wrap uses object-fit: cover so each scene image crops cleanly
to the 85px thumbnail. Precedence (strongest first):
1. Camgirl kink active → hoffman-ryan-camgirl.webp
2. Feminization route → hoffman-ryan-fem.webp
3. Default → hoffman-ryan.webp (updated empty-room scene) */
<<if _image is "media/scenes/nav-ryan.webp">>
<<if $kinks.ryan and $kinks.ryan.includes("camgirl")>>
<<set _image to "media/scenes/hoffman-ryan-camgirl.webp">>
<<elseif $ryanRoute is "feminization">>
<<set _image to "media/scenes/hoffman-ryan-fem.webp">>
<<else>>
<<set _image to "media/scenes/hoffman-ryan.webp">>
<</if>>
<</if>>
/* Check Neural Pulse for risk/occupant visibility */
<<set _hasNeuralPulse to false>>
<<for _sk range $player.skillTree>>
<<if _sk.name is "Neural Pulse" and _sk.unlocked>>
<<set _hasNeuralPulse to true>>
<</if>>
<</for>>
<<if _danger is "locked">>
<div @class="'nav-card nav-card-locked'">
<<if _image>>
<div class="nav-card-img-wrap"><img @src="_image" @alt="_roomName" class="nav-card-img"></div>
<</if>>
<div class="nav-card-body">
<div class="nav-card-header">
<span class="nav-card-name"><<= _roomName >></span>
<span class="nav-card-danger">LOCKED</span>
</div>
<div class="nav-card-desc"><<= _roomDesc >></div>
</div>
</div>
<<else>>
<div @class="'nav-card nav-card-' + _danger" @data-passage="_passage">
<<if _image>>
<div class="nav-card-img-wrap"><img @src="_image" @alt="_roomName" class="nav-card-img"></div>
<</if>>
<div class="nav-card-body">
<div class="nav-card-header">
<span class="nav-card-name"><<= _roomName >></span>
<<if _hasNeuralPulse>>
<<if _danger is "high">>
<span class="nav-card-danger nav-card-danger-high">DANGER</span>
<<elseif _danger is "medium">>
<span class="nav-card-danger nav-card-danger-medium">CAUTION</span>
<<elseif _danger is "low">>
<span class="nav-card-danger nav-card-danger-low">LOW RISK</span>
<<else>>
<span class="nav-card-danger nav-card-danger-safe">SAFE</span>
<</if>>
<</if>>
</div>
<div class="nav-card-desc"><<= _roomDesc >></div>
<<if _hasNeuralPulse and _occupants>>
<div class="nav-card-occupants"><<= _occupants >></div>
<</if>>
<div class="nav-card-link"><<link "Enter" _passage>><</link>></div>
</div>
</div>
<</if>>
<</nobr>><</widget>>/* <<biomassLink "Link text" "PassageName" cost>>: shows clickable link if biomass >= cost, red locked text otherwise */
<<widget "biomassLink">><<nobr>>
<<set _linkText to _args[0]>>
<<set _linkPassage to _args[1]>>
<<set _linkCost to _args[2]>>
<<if $player.biomass gte _linkCost>>
<<capture _linkCost, _linkPassage>>
<<link _linkText _linkPassage>><<spendBiomass _linkCost _linkPassage "repeatable">><</link>>
<</capture>>
<<else>>
<span class="locked-choice"><<= _linkText>> <span class="locked-reason">(Need <<= _linkCost>> biomass, have <<= $player.biomass>>)</span></span>
<</if>>
<</nobr>><</widget>>/* <<biomassPreview "Link text" "PassageName" cost>>: like biomassLink but does NOT spend biomass.
* Use for operation overview links where cost is paid on the Begin link inside the plan passage. */
<<widget "biomassPreview">><<nobr>>
<<set _linkText to _args[0]>>
<<set _linkPassage to _args[1]>>
<<set _linkCost to _args[2]>>
<<if $player.biomass gte _linkCost>>
<<link _linkText _linkPassage>><</link>>
<<else>>
<span class="locked-choice"><<= _linkText>> <span class="locked-reason">(Need <<= _linkCost>> biomass, have <<= $player.biomass>>)</span></span>
<</if>>
<</nobr>><</widget>>/* <<relayChannelNotice "key" "Display Name">> — renders a flashing purple
* banner pinned to the bottom of the viewport, ONCE, the first time a relay
* channel opens for that target. First-time-only via the "<key>RelayNoticeShown"
* flag on $ch2Events. Call it on the passage where the channel opens. */
<<widget "relayChannelNotice">><<nobr>>
<<set _rcnKey to (_args[0] or "") + "RelayNoticeShown">>
<<set _rcnShow to not ($ch2Events[_rcnKey] or false)>>
<<if _rcnShow>><<set $ch2Events[_rcnKey] to true>><</if>>
<</nobr>><<if _rcnShow>><div class="relay-channel-notice" title="Click to dismiss" onclick="this.remove()"><span class="relay-channel-notice-tag">RELAY</span>A new relay channel has opened. <<= _args[1] or "Someone">> is now reachable from the Relay wall, in the dream. <span class="relay-channel-notice-close">×</span></div><</if>><</widget>>/* <<opRequireHost "hostType">> — host-gate for operation briefings.
* If currentHost matches: does nothing (caller's "begin op" <<if>> fires).
* If not:
* - Seamless Transfer: auto-switches silently (free), renders a small notice.
* $player.currentHost is updated mid-render so the caller's check passes
* on the same pass.
* - biomass >= 2: renders an inline switch link (2 biomass, reloads the
* briefing) and a lock-hint.
* - otherwise: renders a fail notice + hub fallback link. */
<<widget "opRequireHost">><<nobr>>
<<set _orhHost to _args[0]>>
<<if $player.currentHost isnot _orhHost>>
<<hasSkillTreeAbility "Seamless Transfer">>
<<if _hasAbility>>
<<changeHost _orhHost>>
<p><span class="skill-used">Seamless Transfer, switched to <<= _orhHost >> automatically.</span></p>
<<else>>
<<set _orhCost to setup.getInfestCost(_orhHost)>>
<p>You need to be controlling the <b><<= _orhHost >></b> to begin this operation.</p>
<<if $player.biomass gte _orhCost>>
<<set _orhLabel to "Switch to " + _orhHost + " (" + _orhCost + " biomass)">>
<<capture _orhHost, _orhCost>>
<<link _orhLabel `passage()`>><<spendBiomass _orhCost "opRequireHostSwitch" "repeatable">><<changeHost _orhHost>><</link>>
<</capture>>
<span class="lock-hint">(costs <<= _orhCost >> biomass, no Seamless Transfer)</span>
<<else>>
<span class="consume-fail">Not enough biomass to switch hosts (need <<= _orhCost >>, have <<= $player.biomass>>).</span>
[[Switch hosts at network hub->Ch2-Beast-NetworkHub]]
<</if>>
<</if>>
<</if>>
<</nobr>><</widget>>/* <<opSwitch "hostType" "Link text" "PassageName">> — operation host switch.
* Free with Seamless Transfer. Costs 2 biomass otherwise. Aborts operation if insufficient. */
<<widget "opSwitch">><<nobr>>
<<set _swHost to _args[0]>>
<<set _swText to _args[1]>>
<<set _swPassage to _args[2]>>
<<hasSkillTreeAbility "Seamless Transfer">>
<<if _hasAbility>>
<<link _swText _swPassage>><<changeHost _swHost>><</link>>
<<elseif $player.biomass gte 2>>
<<capture _swHost, _swPassage>>
<<link _swText _swPassage>><<spendBiomass 2 _swPassage "repeatable">><<changeHost _swHost>><</link>>
<</capture>>
<span class="lock-hint">(2 biomass, no Seamless Transfer)</span>
<<else>>
<span class="consume-fail">Not enough biomass to switch hosts (need 2, have <<= $player.biomass>>). Abort and try later.</span>
<<link "Abort operation" "Ch2-Beast-NetworkHub">><<failOperation "Insufficient biomass for host switch">><</link>>
<</if>>
<</nobr>><</widget>>/* <<conditioningFeedback "type" N "description">> — visible conditioning feedback.
* Shows a styled inline message: "+N type conditioning: description"
* Type colours: pheromone (green), dream (blue), psionic (cyan) */
<<widget "conditioningFeedback">><<nobr>>
<<set _cfType to _args[0]>>
<<set _cfAmt to _args[1]>>
<<set _cfDesc to _args[2] or "">>
<<set _cfClass to "conditioning-gain conditioning-gain-" + _cfType>>
<<set _cfText to "+" + _cfAmt + " " + _cfType + " conditioning">>
<<if _cfDesc>><<set _cfText to _cfText + ": " + _cfDesc>><</if>>
<<if not $replayMode>><span @class="_cfClass"><<= _cfText >></span><</if>>
<</nobr>><</widget>>/* <<memoryImplantOption "memoryKey">> — end-of-memory Memory Implant action
for the dream-library memory passages. Renders ONLY when the memory was
reached from the library during the dream phase ($vessel.phase is
"sleep"); a memory reached from a waking-life access point (the corner-
store / Henderson chain, the morning shower) renders nothing. With the
Memory Implant skill it shows an active IMPLANT link; without it, a
locked hint. The memory key is recorded on $ch2Events.implantTarget for
the future per-memory implant content. STUB: every memory currently
routes to Ch2-Vessel-Memory-Implant-Stub. */
<<widget "memoryImplantOption">><<nobr>>
<<if $vessel.phase is "sleep">>
<<set _miKey to _args[0] or "">>
<<if not $vesselImplants>><<set $vesselImplants to {childhoodKitchen:false,firstDaySchool:false,leftOutPlaying:false,parentsBickering:false,firstDayHighSchool:false,escapeStudyPressure:false,showerDormBoys:false,graduationNight:false,firstBoyfriend:false,universityHallway:false,movingIn:false,engagementNight:false,sofiaPushedApply:false,genesisSelection:false,smithRetiresPromotion:false,fortyFiveReadings:false,bowenInterview:false,newYearDinner:false}>><</if>>
<<hasSkillTreeAbility "Memory Implant">>
<<if _hasAbility>>
/* Per-memory implant scene; memories without one written yet fall back
to the shared stub. Extend the target map as implant scenes ship. */
<<set _miTarget to "Ch2-Vessel-Memory-Implant-Stub">>
<<if _miKey is "engagementNight">><<set _miTarget to "Ch2-Vessel-Memory-Implant-EngagementNight">>
<<elseif _miKey is "firstBoyfriend">><<set _miTarget to "Ch2-Vessel-Memory-Implant-FirstBoyfriend">>
<<elseif _miKey is "universityHallway">><<set _miTarget to "Ch2-Vessel-Memory-Implant-UniversityHallway">>
<<elseif _miKey is "movingIn">><<set _miTarget to "Ch2-Vessel-Memory-Implant-MovingIn">>
<<elseif _miKey is "graduationNight">><<set _miTarget to "Ch2-Vessel-Memory-Implant-GraduationNight">>
<<elseif _miKey is "showerDormBoys">><<set _miTarget to "Ch2-Vessel-Memory-Implant-ShowerDormBoys">>
<<elseif _miKey is "sofiaPushedApply">><<set _miTarget to "Ch2-Vessel-Memory-Implant-SofiaPushedApply">>
<<elseif _miKey is "genesisSelection">><<set _miTarget to "Ch2-Vessel-Memory-Implant-GenesisSelection">>
<<elseif _miKey is "smithRetiresPromotion">><<set _miTarget to "Ch2-Vessel-Memory-Implant-SmithRetiresPromotion">>
<<elseif _miKey is "fortyFiveReadings">><<set _miTarget to "Ch2-Vessel-Memory-Implant-FortyFiveReadings">>
<<elseif _miKey is "bowenInterview">><<set _miTarget to "Ch2-Vessel-Memory-Implant-BowenInterview">>
<<elseif _miKey is "newYearDinner">><<set _miTarget to "Ch2-Vessel-Memory-Implant-NewYearDinner">>
<<elseif _miKey is "childhoodKitchen">><<set _miTarget to "Ch2-Vessel-Memory-Implant-ChildhoodKitchen">>
<<elseif _miKey is "firstDaySchool">><<set _miTarget to "Ch2-Vessel-Memory-Implant-FirstDaySchool">>
<<elseif _miKey is "leftOutPlaying">><<set _miTarget to "Ch2-Vessel-Memory-Implant-LeftOutPlaying">>
<<elseif _miKey is "parentsBickering">><<set _miTarget to "Ch2-Vessel-Memory-Implant-ParentsBickering">>
<<elseif _miKey is "firstDayHighSchool">><<set _miTarget to "Ch2-Vessel-Memory-Implant-FirstDayHighSchool">>
<<elseif _miKey is "escapeStudyPressure">><<set _miTarget to "Ch2-Vessel-Memory-Implant-EscapeStudyPressure">>
<</if>>
<<set $ch2Events.implantTarget to _miKey>>
<<if _miTarget is "Ch2-Vessel-Memory-Implant-Stub">>
/* No implant scene authored for this memory yet. */
<div class="locked-choice"><span class="lock-icon">🔒</span> Alter this memory <span class="lock-hint">(No rewrite authored for this memory yet)</span></div>
<<elseif $vesselImplants[_miKey]>>
/* Already altered — free to revisit. */
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<link "Revisit the altered memory" _miTarget>><</link>></div>
<<else>>
/* Not yet altered — costs 2 biomass and 1 dream-edit (spent on entry
to the implant passage; biomassPreview gates the biomass here). */
<<set _miHasDreamAdapt to false>>
<<hasSkillTreeAbility "Dream Adaptation">><<if _hasAbility>><<set _miHasDreamAdapt to true>><</if>>
<<set _miActsLeft to ((_miHasDreamAdapt ? 3 : 2) - ($vesselMods.dreamActionsThisNight or 0))>>
<<if _miActsLeft lt 1>>
<div class="locked-choice"><span class="lock-icon">🔒</span> Alter this memory <span class="lock-hint">(No dream-edits left tonight)</span></div>
<<else>>
<div class="delve-choice"><span class="delve-tag delve-tag-skill">IMPLANT</span> <<biomassPreview "Alter this memory (2 biomass, 1 dream-edit)" _miTarget 2>></div>
<</if>>
<</if>>
<<else>>
<div class="locked-choice"><span class="lock-icon">🔒</span> <span class="lock-hint">(Requires Memory Implant to alter this memory)</span></div>
<</if>>
<</if>>
<</nobr>><</widget>>/* <<observeEvent>> — cycle through eligible observe variants in priority order.
*
* Behaviour:
* 1. Filter setup.observeEvents by condition to get the eligible list.
* 2. Exclude any ID already in $observeEvents.seen.
* 3. If nothing unseen remains, reset $observeEvents.seen and refill from
* the current eligible list.
* 4. Sort unseen by priority ascending (registry order breaks ties).
* 5. Pick the first one, mark it seen, persist as $observeEvents.lastPassage.
*
* Menu-return detection: if the player is coming back from a [menu]-tagged
* passage (Journal, Status, etc.), reuse the current lastPassage instead of
* advancing the cycle. Otherwise every menu-open would burn a cycle slot.
*
* Consumed by Ch2-Beast-Observe via <<include $observeEvents.lastPassage>>.
*/
<<widget "observeEvent">><<nobr>>
<<if not $observeEvents>><<set $observeEvents to {}>><</if>>
<<if not $observeEvents.seen>><<set $observeEvents.seen to {}>><</if>>
<<if not $observeEvents.everSeen>><<set $observeEvents.everSeen to {}>><</if>>
/* Menu return detection — if previous passage was a [menu] tag, keep the
current lastPassage and don't advance the cycle. */
<<set _obsPrev to previous()>>
<<set _obsIsMenuReturn to false>>
<<if _obsPrev>>
<<set _obsPg to Story.get(_obsPrev)>>
<<if _obsPg and _obsPg.tags and _obsPg.tags.indexOf("menu") gte 0>>
<<set _obsIsMenuReturn to true>>
<</if>>
<</if>>
<<if _obsIsMenuReturn and $observeEvents.lastPassage and Story.has($observeEvents.lastPassage)>>
/* No-op — menu return reuses the current scene. */
<<else>>
/* Pre-compute per-member total conditioning */
<<set _ct to {}>>
<<for _name range ["karen", "dale", "megan", "jess", "ryan"]>>
<<set _ct[_name] to ($conditioning[_name].pheromone + $conditioning[_name].dream + $conditioning[_name].psionic)>>
<</for>>
/* Filter eligible events by condition */
<<set _eligible to []>>
<<for _evt range setup.observeEvents>>
<<if _evt.condition(State.variables, _ct)>>
<<run _eligible.push(_evt)>>
<</if>>
<</for>>
/* Remove already-seen entries from the eligible list */
<<set _unseen to _eligible.filter(function(e) { return !State.variables.observeEvents.seen[e.id]; })>>
/* If everything eligible has been seen, reset and start a new cycle */
<<if _unseen.length === 0 and _eligible.length gt 0>>
<<set $observeEvents.seen to {}>>
<<set _unseen to _eligible>>
<</if>>
<<if _unseen.length gt 0>>
/* Sort by priority ascending; stable-sort keeps registry order as tiebreak */
<<run _unseen.sort(function(a, b) { return a.priority - b.priority; })>>
<<set _picked to _unseen[0]>>
<<set $observeEvents.lastPassage to _picked.passage>>
<<set $observeEvents.seen[_picked.id] to true>>
<<set $observeEvents.everSeen[_picked.id] to true>>
<<else>>
<<set $observeEvents.lastPassage to "Obs-Default">>
<</if>>
<</if>>
<</nobr>><</widget>>/* <<vesselDawnHook>>
Per-day passive-tick hook for Lab Vessel route. Call this from any
wake passage (Wake-Monday, future Wake-Tuesday, etc.) — internal
dedup ensures the ticks fire at most once per game-day even if the
player loops through multiple wake passages.
Handles:
- Resets all per-scene read-channel + action flags so a fresh day
starts with re-arable skills (Surface Delve, Deep Delve, Pheromone,
Nudge etc. all become available again, even if the player never
took the cleanup-bearing exit link the day before)
- Cognitive Edit (passive): Chen suspicion -1 if skill unlocked
- Calming Presence (passive): -1 to every non-host suspicion at dawn
(Vasquez, lab / federal, Daniel, anything future routes add) if
skill unlocked and the suspicion is > 0
Add new passive dawn-tick skills here as they ship. Add new per-scene
flag-reset entries to the lists below as new skill use-sites land. */
<<widget "vesselDawnHook">>
<<nobr>>
/* _silent: if true, suppress the inline payoff divs (used by the
time-skip mechanic to apply N days of dawn ticks without rendering
any UI). Mechanical mutations (suspicion, biomass, flag resets) still
fire either way. */
<<set _silent to _args[0] or false>>
<<set _today to ($day or 0)>>
<<if ($ch2Events.vesselDawnHookLastDay or -1) isnot _today>>
<<set $ch2Events.vesselDawnHookLastDay to _today>>
<<set _dawnTickFired to false>>
/* Per-scene read-channel reset. The SURFACE delve flags re-arm at dawn
so the player can re-read surface thoughts each day. The DEEP delve
flags are deliberately NOT reset: a deep-delve surfaces a host's
load-bearing memory permanently (it stays on file, and is the gate
for the one-time Memory Implant). Resetting Deep would re-lock
Implant every dawn and force the player to re-delve forever. */
<<if $delveInfo>>
<<run ['bowen','vasquez','halvorsen','holloway','daniel'].forEach(function(n){
State.variables.delveInfo[n + 'Surface'] = false;
})>>
<</if>>
<<if $ch2Events>>
<<run ['bowenAroused','chenNoticedBowen','tuesdayPheromoneUsed',
'lunchPheromoneUsed','lunchNudgeProbe','lunchNudgeDeflect',
'conferenceChenNudged','conferenceBowenImplant'].forEach(function(k){
State.variables.ch2Events[k] = false;
})>>
<</if>>
/* Cognitive Edit — Chen suspicion -1 per dawn. Floors at 0. */
<<hasSkillTreeAbility "Cognitive Edit">>
<<if _hasAbility and ($chenSuspicion or 0) gt 0>>
<<set $chenSuspicion to ($chenSuspicion or 0) - 1>>
<<set _dawnTickFired to true>>
<<if not _silent>><div class="suspicion-decrease">Cognitive Edit: yesterday's anomalies file under "tired." Chen suspicion −1.</div><</if>>
<</if>>
/* Calming Presence — at dawn, bleed every non-host suspicion by 1
(gated > 0 per-source so the recap line only shows for sources
that actually ticked). Chen suspicion is explicitly skipped —
Cognitive Edit handles the host. When future routes add new
non-host suspicion vars (e.g. $reyesSuspicion, $parkSuspicion),
add a new conditional block here mirroring the pattern. */
<<hasSkillTreeAbility "Calming Presence">>
<<if _hasAbility>>
<<if ($vasquezSuspicion or 0) gt 0>>
<<set $vasquezSuspicion to $vasquezSuspicion - 1>>
<<set _dawnTickFired to true>>
<<if not _silent>><div class="suspicion-decrease">Calming Presence: the host reads less anomalous to Sofia. Vasquez suspicion −1.</div><</if>>
<</if>>
<<if $suspicion and ($suspicion.lab or 0) gt 0>>
<<set $suspicion.lab to $suspicion.lab - 1>>
<<set _dawnTickFired to true>>
<<if not _silent>><div class="suspicion-decrease">Calming Presence: the host reads less anomalous to the lab and the federal team. Lab suspicion −1.</div><</if>>
<</if>>
<</if>>
/* Kitchen tidy daily payoffs — fire when each tidy hits progress=3.
Sink: -1 Chen suspicion (stacks with Cognitive Edit).
Counter: -1 Vasquez suspicion.
Ashtray: increments daily Drain charge cap (read by Drain link gate).
Stove: weekly +3 biomass burst on every 7th day past stove=3 fire. */
<<if $vesselMods and $vesselMods.kitchen>>
<<if $vesselMods.kitchen.sinkProgress gte 3 and ($chenSuspicion or 0) gt 0>>
<<set $chenSuspicion to ($chenSuspicion or 0) - 1>>
<<set _dawnTickFired to true>>
<<if not _silent>><div class="suspicion-decrease">Kitchen, sink habit: less ambient shame. Chen suspicion −1.</div><</if>>
<</if>>
/* Counter ≥3 payoff is gated INLINE at every nudge/slip call site
instead of as a daily dawn tick — it suppresses the Chen-suspicion
gain those actions normally produce. No daily dawn-hook fire
needed; the effect is invisible-but-active in every scene where
a parasite nudge/slip lands. */
<<if $vesselMods.kitchen.stoveProgress gte 3>>
/* Daily cooking dividend: Chen cooks real meals on the stove
now instead of microwaving fast food / noodles / precooked
containers. The metabolic yield runs +2 above the microwave
baseline every day. Fires alongside whatever the evening
passage's base dinner-tick gives — total daily food gain
becomes (evening base) + 2 once stove=3. Evening passage
prose should fork on stoveProgress to render the cooking
beat instead of the microwave beat. */
<<addBiomass 2 "repeatable">>
<<set _dawnTickFired to true>>
<<if not _silent>><div class="biomass-gain">Kitchen, stove cooking: Chen ate a real meal yesterday instead of microwaving. +2 biomass.</div><</if>>
<</if>>
/* Ashtray quit-smoking payoff: setup.drainMaxToday() reads
$vesselMods.kitchen.ashtrayProgress and returns 2 (base) or 3
(ashtray=3 bonus). No flag needs to be set here, the cap is
computed on-demand at every Drain link gate and consumer site. */
<</if>>
/* Drain Biomass daily-cap reset. The Ch2-Vessel-Action-Drain
passage tracks usage via $ch2Events.chenDrainsToday, this MUST
reset on day advance or the player can never drain again after
the first day. */
<<set $ch2Events.chenDrainsToday to 0>>
/* Relay-edit nightly-cap reset. One relay edit per night; the flag gates
every relay choice. In the normal loop the RelayMorning router clears it
(after reading it to play the morning payoff), so this is a no-op there.
Time-skip never routes through RelayMorning, so without this clear the
lock stays stuck "already made tonight" after a skip (and a later normal
sleep would replay a stale relay morning). */
<<set $ch2Events.relayEditTonight to "">>
<</if>>
<</nobr>>
<</widget>>